cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a way to use the B-LCDAD-HDMI adapter (bridge chip ADV7533) instead of the default panel DSI on the STM32MP157a-ev1 board?

LOrci.1
Associate

Hi,

I tried to update the DTS to make use of the adapter but unfortunately without success. These are the change I made:

hdmi-out {
    compatible = "hdmi-connector";
    type = "a";
 
    port {
        hdmi_con: endpoint {
                remote-endpoint = <&adv7533_out>;
            };
        };
};
 
&dsi { 
 
    phy-dsi-supply = <&reg18>;
 
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";
 
    ports {
        #address-cells = <1>;
        #size-cells = <0>;
 
        port@0 {
            reg = <0>;
            dsi_in: endpoint {
                remote-endpoint = <&ltdc_ep0_out>;	
            };
        };
 
        port@1 {
            reg = <1>;
            dsi_out: endpoint {
                remote-endpoint = <&adv7533_in>;
            };
        };
    };
};
 
&i2c2 {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&i2c2_pins_a>;
    pinctrl-1 = <&i2c2_pins_sleep_a>;
    i2c-scl-rising-time-ns = <185>;
    i2c-scl-falling-time-ns = <20>;
    status = "okay";
    /delete-property/dmas;
    /delete-property/dma-names;
 
    hdmi-transmitter@3d {
        compatible = "adi,adv7533";
        reg = <0x3d>;  // (3d = 7A>>1)
        
        a2vdd-supply =  <&v1v8>;
        v3p3-supply = <&v3v3>;
        v1p2-supply =  <&v1v8>;
 
        avdd-supply = <&v1v8>;
        dvdd-supply = <&v1v8>;
        pvdd-supply = <&v1v8>;
        dvdd-3v-supply = <&v3v3>;
 
        adi,dsi-lanes = <2>;
        adi,disable-timing-generator = <1>;
 
        status = "okay";
 
        ports {
            #address-cells = <1>;
            #size-cells = <0>;
 
            port@0 {
                reg = <0>;
                adv7533_in: endpoint {
                    remote-endpoint = <&dsi_out>;
                };
            };
 
            port@1 {
                reg = <1>;
                adv7533_out: endpoint {
                    remote-endpoint = <&hdmi_con>;
                };
            };
        };
   };

thanks in advance for your help.

Luca.

22 REPLIES 22
AntonioST
ST Employee

I have just edited the script in my previous message.

The former script was dumping only the HS clock on the DSI output, not the pixel clock.

Sorry for the mistake.

Raggio
Associate III

Dear Antonio,

thank you very much for your reply and all the instructions. As soon as we can put our resource back on the HDMI video out feature we’ll give it a try and keep you updated (should be a week or two).

Best regards,

Davide

MBassi
Associate III

Dear Antonio,

Thank you for the detail descriptions of your procedure.

For the past few days I was testing your solution on our environment connecting the board to a DELL screen. While your patches works for OpenSTLinux 3.1.0 (kernel v5.10.61) as you've described above, when I imported the patches for OpenSTLinux 2.6.0 (kernel v4.19.94), we need to use this environment too for some applications, I don't get any images on my screen.

I tested with modetest -M stm and the monitor informations are read correctly by linux (I get the same output of kernel v5.10.61 patched) so I don't think it's a metter of patches, maybe there are others diffences beetween linux 4.19.94 and 5.10.61 concerning DSI to HDMI covertion using ADV7533 not covered by the patches, but I can't figure which ones. If you have some hints they will be of some help.

Regards

Marco