Post Go back to editing

Hi, I am using iMX8QXP SOC is connected ADv7535 via i2c bus. I am using iMX based Linux kernel 5.10.72 with ADV7535 linux driver enabled. I am not able to probe the driver, getting this error "i2c i2c-0: ADV7535 not found".Can you please help me

Category: Software
Product Number: ADV7535
Software Version: Linux kernel 5.10.72

Hi,

My custom board setup is like this. iMX8QXP SOC is connected ADv7535 via i2c bus.
I am using iMX based Linux kernel 5.10.72 with ADV7535 linux driver enabled.


kernel defconfig contents related to ADV7535:
CONFIG_MEDIA_SUPPORT=y
CONFIG_DRM=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_IMX=y
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
CONFIG_DRM_IMX_SEC_DSIM=y
CONFIG_DRM_BRIDGE=y
CONFIG_FB_MXC_ADV7535=y


My dts node related to adv7535:
pinctrl_i2c0_mipi_dsi0: mipi0_lpi2c0grp {
    fsl,pins = <
        IMX8QXP_MIPI_DSI0_I2C0_SCL_MIPI_DSI0_I2C0_SCL          0xc6000020
        IMX8QXP_MIPI_DSI0_I2C0_SDA_MIPI_DSI0_I2C0_SDA         0xc6000020
        IMX8QXP_MIPI_DSI0_GPIO0_00_LSIO_GPIO1_IO27             0x20000020
        IMX8QXP_MIPI_DSI0_GPIO0_01_LSIO_GPIO1_IO28             0x20000020
    >;
};

&i2c0 {
    #address-cells = <1>;
    #size-cells = <0>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c0_mipi_dsi0>;
    clock-frequency = <400000>;
    status = "okay";
    
    adv_bridge0: adv7535@72 {
        #address-cells = <1>;
        #size-cells = <0>;
        compatible = "adi,adv7535";
        reg = <0x72>;
        csi_id = <0>;
        adi,addr-cec = <0x3b>;
        adi,dsi-lanes = <4>;
        adi,dsi-channel = <1>;
        video-mode = <34>;    /* 1920x1080@30HZ */
        bpp = <24>;
        pd-gpios = <&lsio_gpio1 27 GPIO_ACTIVE_HIGH>;
        interrupt-parent = <&lsio_gpio1>;
        interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
        status = "okay";

        port {
            adv7535_0_in: endpoint {
                remote-endpoint = <&mipi_dsi_bridge0_out>;
            };
        };
    };
};

&mipi0_dphy {
    status = "okay";
};

&mipi0_dsi_host {
    status = "okay";

    ports {
        port@1 {
            reg = <1>;
            mipi_dsi_bridge0_out: endpoint {
                remote-endpoint = <&adv7535_0_in>;
            };
        };
    };
};

I am not able to probe the driver, getting this error "i2c i2c-0: ADV7535 not found".

root@imx8dxccu:~# dmesg | grep i2c
[    1.853342] i2c /dev entries driver
[    2.327908] imx-lpi2c 5a800000.i2c: can't get the TX DMA channel, error -19!
[    2.334994] imx-lpi2c 5a800000.i2c: error -ENODEV: dma setup error -19, use pio
[    5.681370] i2c i2c-0: ADV7535 not found
[    6.745181] i2c i2c-0: LPI2C adapter registered

But, i2c slave is detected using i2cdetect tool.
root@imx8dxccu:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x08-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: -- -- -- -- -- -- -- -- 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 UU 73 74 75 76 77
root@imx8dxccu:~#


Can you please help me here.

Parents Reply Children