About replacement from SiI9022 to ADV7511

I made a custom board by referring to the evaluation board "MCIMX7SABER" equipped with NXP i.mx7d CPU.
I can't get the Sil9022, so I'm replacing it with the ADV7511.

I am using L4.19.35_1.1.0 for Linux BSP.

Please tell me how to change the device tree and menu config in the Kernel of L4.19.35_1.1.0.

The following parts have been changed in Kernel Config.

#
# Graphics support
#
# CONFIG_IMX_IPUV3_CORE is not set
CONFIG_DRM=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
CONFIG_DRM_VM=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_MALI_DISPLAY is not set

#
# ACP (Audio CoProcessor) Configuration
#

#
# AMD Library routines
#
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_VKMS is not set
CONFIG_DRM_VIVANTE=y
# CONFIG_DRM_EXYNOS is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_ARMADA is not set
# CONFIG_DRM_RCAR_DW_HDMI is not set
# CONFIG_DRM_RCAR_LVDS is not set
# CONFIG_DRM_OMAP is not set
# CONFIG_DRM_TILCDC is not set
# CONFIG_DRM_VIRTIO_GPU is not set
# CONFIG_DRM_FSL_DCU is not set
# CONFIG_DRM_STM is not set
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_LVDS_ENCODER is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_SEC_MIPI_DSIM is not set
# CONFIG_DRM_NXP_SEIKO_43WVFIG is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TI_TFP410 is not set
CONFIG_DRM_I2C_ADV7511=y
CONFIG_DRM_I2C_ADV7511_AUDIO=y
# CONFIG_DRM_I2C_ADV7533 is not set
CONFIG_DRM_I2C_ADV7511_CEC=y
# CONFIG_DRM_ITE_IT6263 is not set
# CONFIG_DRM_STI is not set
CONFIG_DRM_IMX=y
# CONFIG_DRM_IMX_PARALLEL_DISPLAY is not set
CONFIG_DRM_IMX_TVE=y
# CONFIG_DRM_IMX_LDB is not set
# CONFIG_DRM_IMX_HDMI is not set
# CONFIG_DRM_IMX_NWL_DSI is not set
# CONFIG_DRM_IMX_SEC_DSIM is not set
# CONFIG_DRM_IMX_HDP is not set
# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_MXSFB is not set
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_PL111 is not set
# CONFIG_DRM_TVE200 is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set

#
# Frame buffer hardware drivers
#
# CONFIG_FB_IMX is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
CONFIG_FB_MX3=y
# CONFIG_FB_BROADSHEET is not set
CONFIG_FB_MXS=y
# CONFIG_FB_SIMPLE is not set
CONFIG_FB_MXC=y
CONFIG_FB_MXC_DISP_FRAMEWORK=y
CONFIG_FB_MXC_SYNC_PANEL=y
CONFIG_FB_MXC_OVERLAY=y
CONFIG_FB_MXC_MIPI_DSI=y
CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y
CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y
CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
CONFIG_FB_MXC_TRULY_PANEL_TFT3P5079E=y
CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y
CONFIG_FB_MXC_RK_PANEL_RK055AHD042=y
CONFIG_FB_MXC_RK_PANEL_RK055IQH042=y
CONFIG_FB_MXC_LDB=y
CONFIG_FB_MXC_HDMI=y
CONFIG_FB_MXC_EDID=y
# CONFIG_FB_MXS_SII902X is not set
CONFIG_FB_MXC_DCIC=y
CONFIG_FB_MXC_ADV7535=y
CONFIG_HANNSTAR_CABC=y
CONFIG_FB_MXC_EINK_PANEL=y
CONFIG_FB_MXC_EINK_V2_PANEL=y
# CONFIG_FB_MXC_EINK_AUTO_UPDATE_MODE is not set
# CONFIG_FB_SSD1307 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_L4F00242T03=y
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
CONFIG_LCD_PLATFORM=y
# CONFIG_LCD_S6E63M0 is not set
# CONFIG_LCD_LD9040 is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_DA9052 is not set
# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
CONFIG_BACKLIGHT_GPIO=y
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

Set the device tree and Kernel configuration,
We have confirmed that RGB signals are output from the LCDIF.
However, when the ADV7511 is initialized, the following message is displayed.

[drm] Initialized vivante 1.0.0 20120216 for platform: Vivante GCCore on minor 0
[drm] Initialized vivante 1.0.0 20120216 on minor 0
adv7511 3-0039: 3-0039 supply avdd not found, using dummy regulator
adv7511 3-0039: Linked as a consumer to regulator.0
adv7511 3-0039: 3-0039 supply dvdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply pvdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply bgvdd not found, using dummy regulator
adv7511 3-0039: 3-0039 supply dvdd-3v not found, using dummy regulator

Also, when I checked with the i2cdetect command after startup,
The i2c-3 port looks like the device below.

root@asdhost:~# i2cdetect 3
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-3.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- 3c 3d 3e 3f
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

The PD/AD pin has been pulled up. (I2C address = 0x7A)

I also tried the i2c address with 0x3D, but I get a similar message.

[drm] Initialized vivante 1.0.0 20120216 for platform:Vivante GCCore on minor 0
[drm] Initialized vivante 1.0.0 20120216 on minor 0
adv7511 3-003d: 3-003d supply avdd not found, using dummy regulator
adv7511 3-003d: Linked as a consumer to regulator.0
adv7511 3-003d: 3-003d supply dvdd not found, using dummy regulator
adv7511 3-003d: 3-003d supply pvdd not found, using dummy regulator
adv7511 3-003d: 3-003d supply bgvdd not found, using dummy regulator
adv7511 3-003d: 3-003d supply dvdd-3v not found, using dummy regulator

Is there a problem with the software settings or hardware?

The device tree settings are as follows.

&i2c4 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c4>;
    status = "okay";

    adv7511: adv7511@3d {
        compatible = "adi,adv7511";
        reg = <0x3d>, <0x3f>;
        reg-names = "primary", "edid";

        adi,input-depth = <8>;
        adi,input-colorspace = "rgb";
        adi,input-clock = "1x";
        adi,clock-delay = <0>;

        #sound-dai-cells = <0>;

        ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                        reg = <0>;
                        adv7511_in: endpoint {
                                remote-endpoint = <&lcd_out>;
                        };
                };

                port@1 {
                        reg = <1>;
                };
        };
    };
};
&lcdif {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_lcdif>;
    display = <&display0>;
    status = "okay";

    display0: display@0 {
        // bits-per-pixel = <16>;
        // bus-width = <18>;
        bits-per-pixel = <24>;
        bus-width = <24>;

        display-timings {
            native-mode = <&timing0>;

            timing0: timing0 {
                clock-frequency = <25200000>;
                hactive = <640>;
                vactive = <480>;
                hback-porch = <134>;
                hsync-len = <10>;
                hfront-porch = <16>;
                vback-porch = <11>;
                vsync-len = <2>;
                vfront-porch = <32>;
                hsync-active = <0>;
                vsync-active = <0>;
                de-active = <1>;
                pixelclk-active = <0>;
            };
       };
   };
   port {

       lcd_out: endpoint {

           remote-endpoint = <&adv7511_in>;

       };

   };

};

Are there any missing parts in the device tree settings and Kernel Config settings?

It has been confirmed that the video set in the device tree is output from the LCD IF of i.MX7D.

Top Replies

Parents
  • 0
    •  Analog Employees 
    on Feb 3, 2021 8:16 AM

    Hi,

    As you correctly identified when PD/AD pin has been pulled up ADV use I2C address = 0x7A. Linux require the address to be specified without last R/W bit so (0x7A >> 1) 0x3D is the address. From DT and DMESG output it looks like that's ok.

    Next please confirm that the bus in DT is the one that ADV is physically on. Sometime linux can include an offset or change the order of enumeration. I see that in I2cdetect you query bus 3 and ADV7511 is there but in DT you specify &i2c4. If the driver is correctly probed you should see UU over 0x3D address when you query it with i2cdetect.

    Next can you post a snippet of the ADV7511 part of the schematic. I'm mainly interested to see the actual bus width (in lcdif DT node you specify  bus-width = <24> but on ADV adi,input-depth = <8>) and the type of bus (I mean with embedded sync signals or dedicated).

    The dummy regulator warnings from DMESG are normal because there are no regulators specified in DT.

    Regards,

    Bogdan

  • thank you for your answer.

    The I2C number in the device tree is 1 origin and i2cdetect is 0 origin.

    Currently, i2cdetect is executed with the following device tree settings.

    &i2c4 {
      clock-frequency = <100000>;
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_i2c4>;
      status = "okay";

      adv7511: adv7511@3d {
        compatible = "adi,adv7511";
        reg = <0x3d>, <0x3f>;
        reg-names = "primary", "edid";

        adi,input-depth = <8>;
        adi,input-colorspace = "rgb";
        adi,input-clock = "1x";
        adi,clock-delay = <0>;

        #sound-dai-cells = <0>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
              reg = <0>;
              adv7511_in: endpoint {
              remote-endpoint = <&lcd_out>;
              };
            };

            port@1 {
              reg = <1>;
            };
        };
      };
    };
    &lcdif {
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_lcdif>;
      display = <&display0>;
      status = "okay";

      display0: display@0 {
        // bits-per-pixel = <16>;
        // bus-width = <18>;
        bits-per-pixel = <24>;
        bus-width = <24>;

        display-timings {
          native-mode = <&timing0>;

          timing0: timing0 {
            clock-frequency = <25200000>;
            hactive = <640>;
            vactive = <480>;
            hback-porch = <134>;
            hsync-len = <10>;
            hfront-porch = <16>;
            vback-porch = <11>;
            vsync-len = <2>;
            vfront-porch = <32>;
            hsync-active = <0>;
            vsync-active = <0>;
            de-active = <1>;
            pixelclk-active = <0>;
          };
        };
      };
      port {

        lcd_out: endpoint {

          remote-endpoint = <&adv7511_in>;

        };

      };

    };

    The following is the case when the HDMI cable is connected.

    root@asdhost:~# i2cdetect 3
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-3.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- UU -- -- -- UU UU -- UU
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    The following is the case when the HDMI cable is not connected.

    root@asdhost:~# i2cdetect 3
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-3.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- UU -- -- -- UU UU 3e UU
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    It is now recognized as an I2C device.

    However, even with the HDMI cable connected, the monitor side is in a state of "no HDMI input".

    I will send you the circuit diagram of the LCD and HDMI parts.

    The video signal input to the ADV7511 is RGB 24bit.
    The resolution is VGA.
    Are there any conditions for the video signal to be input to the ADV7511?
    Also, I would like to check if HDMI output is possible. Is there a way to output a color pattern?

  • 0
    •  Analog Employees 
    on Mar 8, 2021 9:54 AM in reply to Semba

    Hi,

    I tested the exact timing parameters as yours : 65.00 1024 1064 1124 1344 768 775 785 806 -hsync -vsync -csync

    I also observed in 0xAF register that you have DVI mode output. For DVI VIC is not relevant.

    After a register dump all differences are in the following registers: 

    My setup:                          Yours:

    00: 12                                00: 14

    42: f0                                 42: 70

    94: c0                                94: 84
    95: 00                                95: 80
    96: 24                                96: e4

    On my side vIdeo output is working as expected.

    Please check with NXP why adv7511_power_on is not called by DRM driver. Please check again your video signals between I.MX and ADV.

  • Thank you for your answer.

    I was able to adjust the device tree and get it to input about interrupts by plugging and unplugging.

    However, since the DRM driver was not embedded, the video signal did not show up.

    I contacted NXP.
    They replied that I should use adv7511_fbdev.c, which has the same driver configuration as Sil9022.
    That's the answer.

    However, the following log asks the same question and concludes with the answer to use the DRM driver.

    https://ez.analog.com/linux-software-drivers/f/q-a/87917/is-fbdev-driver-available-for-adv7511

    Can you give me a sample on the device tree definition for using DRM driver on imx7d CPU?

  • +2
    •  Analog Employees 
    on Mar 10, 2021 11:44 AM in reply to Semba

    Hi,

    Please check this development board with ADV7511.

    You can find an DT example and the ADV7511_fbdev driver for the same board here.

    It is based on 6ULL but I think it is the same problem as NXP I.MX7D as not having a DRM driver.

  • Thank you for your answer.

    The fbdev driver for 6ULL was already suggested to me by NXP.

    When I set the device tree to the following settings, the HDMI clock was outputting 33.3MHz. All other signals were still LOW.

    &i2c4 {
      clock-frequency = <100000>;
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_i2c4>;
      status = "okay";

      adv7511: adv7511@3d {
        compatible = "adi,adv7511";
        reg = <0x3d>, <0x3f>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_adv7511>;
        interrupt-parent = <&gpio2>;
        interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
        adi,input-depth = <8>;
        adi,input-colorspace = "rgb";
        adi,input-clock = "1x";
        adi,input-style = <1>;
        adi,input-justification = "evenly";
        adi,clock-delay = <0>;
        adi,embedded-sync = <0>;
        status="okay";
        ports {
          #address-cells = <1>;
          #size-cells = <0>;
          port@0 {
            reg = <0>;
            adv7511_in: endpoint {
               remote-endpoint = <&display_out_rgb>;
            };
          };
          port@1 {
            reg = <1>;
            adv7511_out: endpoint {
              remote-endpoint = <&hdmi_connector_in>;
            };
          };
        };
      };
    };
    &lcdif {
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_lcdif>;
      display = <&display1>;
      status = "okay";
      display1: display {
        bits-per-pixel = <8>;
        bus-width = <24>;
        disp-dev = "lcd";
        display-timings {
          native-mode = <&timing0>;
          timing0: timing0 {
            clock-frequency = <33300000>;
            hactive = <800>;
            vactive = <480>;
            hfront-porch = <210>;
            hback-porch = <46>;
            vsync-len = <23>;
            vback-porch = <23>;
            vfront-porch = <22>;
            hsync-len = <46>;
            hsync-active = <1>;
            vsync-active = <1>;
            de-active = <1>;
            pixelclk-active = <1>;
          };
        };
        ports {
          #address-cells = <1>;
          #size-cells = <0>;
          port@0 {
            reg = <0>;
            display_out_rgb: endpoint {
              remote-endpoint = <&adv7511_in>;
            };
          };
        };
      };
    };

    The LCD monitor shows as out of range.

    In this case, the value of regmap is as follows.

    root@asdhost:~# cat /sys/kernel/debug/regmap/3-003d/registers
    00: 14
    01: 00
    02: 00
    03: 00
    04: 00
    05: 00
    06: 00
    07: 00
    08: 00
    09: 00
    0a: 01
    0b: 0e
    0c: bc
    0d: 18
    0e: 01
    0f: 13
    10: 25
    11: 37
    12: 00
    13: 00
    14: 00
    15: 00
    16: 38
    17: 00
    18: 46
    19: 62
    1a: 04
    1b: a8
    1c: 00
    1d: 00
    1e: 1c
    1f: 84
    20: 1c
    21: bf
    22: 04
    23: a8
    24: 1e
    25: 70
    26: 02
    27: 1e
    28: 00
    29: 00
    2a: 04
    2b: a8
    2c: 08
    2d: 12
    2e: 1b
    2f: ac
    30: 00
    31: 00
    32: 00
    33: 00
    34: 00
    35: 00
    36: 00
    37: 00
    38: 00
    39: 00
    3a: 00
    3b: 80
    3c: 00
    3d: 00
    3e: 00
    3f: 00
    40: 00
    41: 10
    42: 70
    43: 7e
    44: 00
    45: 70
    46: 00
    47: 00
    48: 10
    49: a8
    4a: 80
    4b: 00
    4c: 00
    4d: 00
    4e: 00
    4f: 00
    50: 00
    51: 00
    52: 02
    53: 0d
    54: 00
    55: 00
    56: 00
    57: 00
    58: 00
    59: 00
    5a: 00
    5b: 00
    5c: 00
    5d: 00
    5e: 00
    5f: 00
    60: 00
    61: 00
    62: 00
    63: 00
    64: 00
    65: 00
    66: 00
    67: 00
    68: 00
    69: 00
    6a: 00
    6b: 00
    6c: 00
    6d: 00
    6e: 00
    6f: 00
    70: 01
    71: 0a
    72: 00
    73: 00
    74: 00
    75: 00
    76: 00
    77: 00
    78: 00
    79: 00
    7a: 00
    7b: 00
    7c: 00
    7d: 00
    7e: 00
    7f: 00
    80: 00
    81: 00
    82: 00
    83: 00
    84: 00
    85: 00
    86: 00
    87: 00
    88: 00
    89: 00
    8a: 00
    8b: 00
    8c: 00
    8d: 00
    8e: 00
    8f: 00
    90: 00
    91: 00
    92: 00
    93: 00
    94: c0
    95: 00
    96: e0
    97: 00
    98: 0b
    99: 02
    9a: 00
    9b: 18
    9c: 5a
    9d: 60
    9e: 10
    9f: 00
    a0: 00
    a1: 00
    a2: 80
    a3: 80
    a4: 08
    a5: 04
    a6: 00
    a7: 00
    a8: 00
    a9: 00
    aa: 00
    ab: 40
    ac: 00
    ad: 00
    ae: 40
    af: 14
    b0: 00
    b1: 00
    b2: 00
    b3: 00
    b4: 00
    b5: 00
    b6: 00
    b7: 00
    b8: 00
    b9: 00
    ba: 60
    bb: 00
    bc: 00
    bd: 00
    be: 00
    bf: 00
    c0: 00
    c1: 00
    c2: 00
    c3: 00
    c4: 00
    c5: 00
    c6: 00
    c7: 00
    c8: 02
    c9: 03
    ca: 00
    cb: 00
    cc: 02
    cd: 00
    ce: 01
    cf: 04
    d0: 0c
    d1: ff
    d2: 80
    d3: 80
    d4: 80
    d5: 00
    d6: c0
    d7: 00
    d8: 00
    d9: 00
    da: 00
    db: 00
    dc: 00
    dd: 00
    de: 10
    df: 01
    e0: 80
    e1: 78
    e2: 01
    e3: 00
    e4: 60
    e5: 00
    e6: 00
    e7: 00
    e8: 00
    e9: 00
    ea: 00
    eb: 00
    ec: 00
    ed: 00
    ee: 00
    ef: 00
    f0: 00
    f1: 00
    f2: 00
    f3: 00
    f4: 00
    f5: 75
    f6: 11
    f7: 00
    f8: 00
    f9: 7c
    fa: 00
    fb: 00
    fc: 00
    fd: 00
    fe: 00
    ff: 00

    Is it wrong because the video signal input to the ADV7511 is out of range?
    Also, the clock from the CPU is being output directly to the HDMI side.

  • Today, I connected it to another LCD monitor using the device tree I sent you yesterday.
    I was able to see the HDMI screen with a resolution of 800x480.


    Is it possible that some LCD monitors do not work properly?
    Also, is there any way to make a monitor that doesn't show up show up?

    The following are the regmap values when HDMI is displayed.

    root@asdhost:/home/asdusr# cat /sys/kernel/debug/regmap/3-003d/registers
    00: 14
    01: 00
    02: 00
    03: 00
    04: 00
    05: 00
    06: 00
    07: 00
    08: 00
    09: 00
    0a: 01
    0b: 0e
    0c: bc
    0d: 18
    0e: 01
    0f: 13
    10: 25
    11: 37
    12: 00
    13: 00
    14: 00
    15: 00
    16: 38
    17: 00
    18: 46
    19: 62
    1a: 04
    1b: a8
    1c: 00
    1d: 00
    1e: 1c
    1f: 84
    20: 1c
    21: bf
    22: 04
    23: a8
    24: 1e
    25: 70
    26: 02
    27: 1e
    28: 00
    29: 00
    2a: 04
    2b: a8
    2c: 08
    2d: 12
    2e: 1b
    2f: ac
    30: 00
    31: 00
    32: 00
    33: 00
    34: 00
    35: 00
    36: 00
    37: 00
    38: 00
    39: 00
    3a: 00
    3b: 80
    3c: 00
    3d: 00
    3e: 00
    3f: 00
    40: 00
    41: 10
    42: 70
    43: 7e
    44: 00
    45: 70
    46: 00
    47: 00
    48: 10
    49: a8
    4a: 80
    4b: 00
    4c: 00
    4d: 00
    4e: 00
    4f: 00
    50: 00
    51: 00
    52: 02
    53: 0d
    54: 00
    55: 00
    56: 00
    57: 00
    58: 00
    59: 00
    5a: 00
    5b: 00
    5c: 00
    5d: 00
    5e: 00
    5f: 00
    60: 00
    61: 00
    62: 00
    63: 00
    64: 00
    65: 00
    66: 00
    67: 00
    68: 00
    69: 00
    6a: 00
    6b: 00
    6c: 00
    6d: 00
    6e: 00
    6f: 00
    70: 01
    71: 0a
    72: 00
    73: 00
    74: 00
    75: 00
    76: 00
    77: 00
    78: 00
    79: 00
    7a: 00
    7b: 00
    7c: 00
    7d: 00
    7e: 00
    7f: 00
    80: 00
    81: 00
    82: 00
    83: 00
    84: 00
    85: 00
    86: 00
    87: 00
    88: 00
    89: 00
    8a: 00
    8b: 00
    8c: 00
    8d: 00
    8e: 00
    8f: 00
    90: 00
    91: 00
    92: 00
    93: 00
    94: c0
    95: 00
    96: e0
    97: 00
    98: 0b
    99: 02
    9a: 00
    9b: 18
    9c: 5a
    9d: 60
    9e: 10
    9f: 00
    a0: 00
    a1: 00
    a2: 80
    a3: 80
    a4: 08
    a5: 04
    a6: 00
    a7: 00
    a8: 00
    a9: 00
    aa: 00
    ab: 40
    ac: 00
    ad: 00
    ae: 40
    af: 14
    b0: 00
    b1: 00
    b2: 00
    b3: 00
    b4: 00
    b5: 00
    b6: 00
    b7: 00
    b8: 00
    b9: 00
    ba: 60
    bb: 00
    bc: 00
    bd: 00
    be: 00
    bf: 00
    c0: 00
    c1: 00
    c2: 00
    c3: 00
    c4: 00
    c5: 00
    c6: 00
    c7: 00
    c8: 02
    c9: 03
    ca: 00
    cb: 00
    cc: 02
    cd: 00
    ce: 01
    cf: 04
    d0: 0c
    d1: ff
    d2: 80
    d3: 80
    d4: 80
    d5: 00
    d6: c0
    d7: 00
    d8: 00
    d9: 00
    da: 00
    db: 00
    dc: 00
    dd: 00
    de: 10
    df: 01
    e0: 80
    e1: 78
    e2: 01
    e3: 00
    e4: 60
    e5: 00
    e6: 00
    e7: 00
    e8: 00
    e9: 00
    ea: 00
    eb: 00
    ec: 00
    ed: 00
    ee: 00
    ef: 00
    f0: 00
    f1: 00
    f2: 00
    f3: 00
    f4: 00
    f5: 75
    f6: 11
    f7: 00
    f8: 00
    f9: 7c
    fa: 00
    fb: 00
    fc: 00
    fd: 00
    fe: 00
    ff: 00

Reply
  • Today, I connected it to another LCD monitor using the device tree I sent you yesterday.
    I was able to see the HDMI screen with a resolution of 800x480.


    Is it possible that some LCD monitors do not work properly?
    Also, is there any way to make a monitor that doesn't show up show up?

    The following are the regmap values when HDMI is displayed.

    root@asdhost:/home/asdusr# cat /sys/kernel/debug/regmap/3-003d/registers
    00: 14
    01: 00
    02: 00
    03: 00
    04: 00
    05: 00
    06: 00
    07: 00
    08: 00
    09: 00
    0a: 01
    0b: 0e
    0c: bc
    0d: 18
    0e: 01
    0f: 13
    10: 25
    11: 37
    12: 00
    13: 00
    14: 00
    15: 00
    16: 38
    17: 00
    18: 46
    19: 62
    1a: 04
    1b: a8
    1c: 00
    1d: 00
    1e: 1c
    1f: 84
    20: 1c
    21: bf
    22: 04
    23: a8
    24: 1e
    25: 70
    26: 02
    27: 1e
    28: 00
    29: 00
    2a: 04
    2b: a8
    2c: 08
    2d: 12
    2e: 1b
    2f: ac
    30: 00
    31: 00
    32: 00
    33: 00
    34: 00
    35: 00
    36: 00
    37: 00
    38: 00
    39: 00
    3a: 00
    3b: 80
    3c: 00
    3d: 00
    3e: 00
    3f: 00
    40: 00
    41: 10
    42: 70
    43: 7e
    44: 00
    45: 70
    46: 00
    47: 00
    48: 10
    49: a8
    4a: 80
    4b: 00
    4c: 00
    4d: 00
    4e: 00
    4f: 00
    50: 00
    51: 00
    52: 02
    53: 0d
    54: 00
    55: 00
    56: 00
    57: 00
    58: 00
    59: 00
    5a: 00
    5b: 00
    5c: 00
    5d: 00
    5e: 00
    5f: 00
    60: 00
    61: 00
    62: 00
    63: 00
    64: 00
    65: 00
    66: 00
    67: 00
    68: 00
    69: 00
    6a: 00
    6b: 00
    6c: 00
    6d: 00
    6e: 00
    6f: 00
    70: 01
    71: 0a
    72: 00
    73: 00
    74: 00
    75: 00
    76: 00
    77: 00
    78: 00
    79: 00
    7a: 00
    7b: 00
    7c: 00
    7d: 00
    7e: 00
    7f: 00
    80: 00
    81: 00
    82: 00
    83: 00
    84: 00
    85: 00
    86: 00
    87: 00
    88: 00
    89: 00
    8a: 00
    8b: 00
    8c: 00
    8d: 00
    8e: 00
    8f: 00
    90: 00
    91: 00
    92: 00
    93: 00
    94: c0
    95: 00
    96: e0
    97: 00
    98: 0b
    99: 02
    9a: 00
    9b: 18
    9c: 5a
    9d: 60
    9e: 10
    9f: 00
    a0: 00
    a1: 00
    a2: 80
    a3: 80
    a4: 08
    a5: 04
    a6: 00
    a7: 00
    a8: 00
    a9: 00
    aa: 00
    ab: 40
    ac: 00
    ad: 00
    ae: 40
    af: 14
    b0: 00
    b1: 00
    b2: 00
    b3: 00
    b4: 00
    b5: 00
    b6: 00
    b7: 00
    b8: 00
    b9: 00
    ba: 60
    bb: 00
    bc: 00
    bd: 00
    be: 00
    bf: 00
    c0: 00
    c1: 00
    c2: 00
    c3: 00
    c4: 00
    c5: 00
    c6: 00
    c7: 00
    c8: 02
    c9: 03
    ca: 00
    cb: 00
    cc: 02
    cd: 00
    ce: 01
    cf: 04
    d0: 0c
    d1: ff
    d2: 80
    d3: 80
    d4: 80
    d5: 00
    d6: c0
    d7: 00
    d8: 00
    d9: 00
    da: 00
    db: 00
    dc: 00
    dd: 00
    de: 10
    df: 01
    e0: 80
    e1: 78
    e2: 01
    e3: 00
    e4: 60
    e5: 00
    e6: 00
    e7: 00
    e8: 00
    e9: 00
    ea: 00
    eb: 00
    ec: 00
    ed: 00
    ee: 00
    ef: 00
    f0: 00
    f1: 00
    f2: 00
    f3: 00
    f4: 00
    f5: 75
    f6: 11
    f7: 00
    f8: 00
    f9: 7c
    fa: 00
    fb: 00
    fc: 00
    fd: 00
    fe: 00
    ff: 00

Children