14 May, 2020

1 commit

  • Found below warning in API_AVI.c by using gcc 9.2 to build iMX8MQ EVK

    drivers/video/imx/hdmi/hdp/API_AVI.c: In function ‘cdn_api_set_avi’:
    drivers/video/imx/hdmi/hdp/API_AVI.c:184:8: warning: array subscript 16
    is outside array bounds of ‘unsigned int[4]’ [-Warray-bounds]
    184 | packet[16] = packet_pb12;
    | ~~~~~~^~~~
    drivers/video/imx/hdmi/hdp/API_AVI.c:74:15: note: while referencing ‘packet_buf’
    74 | unsigned int packet_buf[18 / sizeof(unsigned int)];
    | ^~~~~~~~~~
    drivers/video/imx/hdmi/hdp/API_AVI.c:185:8: warning: array subscript 17
    is outside array bounds of ‘unsigned int[4]’ [-Warray-bounds]
    185 | packet[17] = packet_pb13;
    | ~~~~~~^~~~
    drivers/video/imx/hdmi/hdp/API_AVI.c:74:15: note: while referencing ‘packet_buf’
    74 | unsigned int packet_buf[18 / sizeof(unsigned int)];
    | ^~~~~~~~~~

    There are two array overflow issues in the codes:
    1. The packet array size is not correct. The total buf needs 18 bytes,
    but the array size is only 4 words (16 bytes).
    2. When passing the packet array to cdn_api_infoframeset, the size should
    be words size, but it uses a wrong packet length which is calculated
    in bytes

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 287a4b7816a34e41f3ca7dd12b3e99aa46bed71e)

    Ye Li
     

13 May, 2020

1 commit

  • When HDMI FW is not loaded by ROM, for example uuu download, or without FW
    in boot image. The DCSS driver still disable HDMI and shut itself, this causes
    hang before booting kernel.

    Add a flag for indicating whether the display is enabled, and check it in
    device remove.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    (cherry picked from commit 702b236c2a0f519f8e1cea5514e3723693f7c9b5)

    Ye Li
     

12 May, 2020

1 commit


11 May, 2020

13 commits


27 Apr, 2020

7 commits

  • Port the HDMI lib frrom imx_v2019.04 u-boot, which is used for
    HDP TX/RX firmware loading and HDMI display

    Signed-off-by: Ye Li

    Ye Li
     
  • Add the fuse checking in drivers, when the module is disabled in fuse,
    the driver will not work.

    Changed drivers: BEE, GPMI, APBH-DMA, ESDHC, FEC, QSPI, ECSPI, I2C,
    USB-EHCI, GIS, LCDIF and EPDC.

    Signed-off-by: Ye Li
    (cherry picked from commit 1704e116f9b39aeb99201919a18bc2b1e19a980e)
    (cherry picked from commit 2d3b5df8530cd5ef883750378838dea7c40259af)
    (cherry picked from commit 6e8c9ae136bee8ec0121c1db4b935510caad09db)
    (cherry picked from commit 99b54a6965904a879afdb6883a519de726cb4e96)

    Ye Li
     
  • Add gis module, current gis is support vadc input.
    Add power down function to lcdif driver.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit a007b00dd8ef9f773dfdebef0b1deb0990281793)
    (cherry picked from commit a31dcdafb0963381e7213c59f79a340ef27ec2e2)
    (cherry picked from commit 02dfe2e4af5f51d39a51542fb0e81f93faf505bc)
    (cherry picked from commit a8e94954d8ccc44c41d77a5e356d6a99b3d45649)
    (cherry picked from commit 0864a17afbc93fed72273c7d7d3be0fc8681e794)
    (cherry picked from commit 20918f8e062111ca11bc9e3b82732145792c87c2)

    Ye.Li
     
  • Add pxp module.
    Support csc between YUV444 and RGB888 and scaling.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit 4c6e1f9ed1b2f5c98a34502b44b6414593fdd290)
    Signed-off-by: Peng Fan
    (cherry picked from commit 92295fafcdbaa3a3fe0a63ede15f896dfc9ce0b0)
    (cherry picked from commit 096a63e81a8c78b3f8bbc65a9d418aa032d62231)
    (cherry picked from commit b24cce0ad3ec9f386ca7aa231d8a2db33462f092)
    (cherry picked from commit 40c2e2c2160ac23f89a682c965ebea6488b8bffc)
    (cherry picked from commit 89bf4fac9052bf5d140a53670535285a8ca0a422)

    Ye.Li
     
  • Add csi module.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit 854ae26758ec8132ef749b98645dd2f43b84e5e2)
    Signed-off-by: Peng Fan
    (cherry picked from commit 5f133bd9420109951fd03bd5168801327e929c3b)
    (cherry picked from commit 16960e59fa3334162d2e2212ee4bc1e7f0c420a3)
    (cherry picked from commit bc0639ed8f5069f198067916caf088908492329d)
    (cherry picked from commit c7232ae1c27ef561d2235bb4db837ef9805f86d2)
    (cherry picked from commit 039bb76082a16b0e43e818a4d9df68ab4320ede5)
    (cherry picked from commit 4048b2cc1932a51f7f8c32ddf21bcf5ebd885a4f)

    Ye.Li
     
  • Add vadc module.
    Both PAL and NTSC mode can work.

    Signed-off-by: Sandor Yu
    Signed-off-by: Ye.Li
    (cherry picked from commit 03c31ae30c1e81c99f6824221e4801433445e04a)
    Signed-off-by: Peng Fan
    (cherry picked from commit b5d776ffc1519c16091736445b3217ffb7fcd7db)
    (cherry picked from commit 2377eb9fd299b76888f11faf76383b68e77bcc8a)
    (cherry picked from commit 808d447235bd0f9134c7d00fa480cd55b4e0426e)
    (cherry picked from commit 99977a1152981247a84252dba1d1cf55c0406b08)
    (cherry picked from commit ed0e7a8081c1a0447c0df72d36937a0a0c5c8a49)

    Ye.Li
     
  • Support EPDC.
    E-Ink feature is supported by i.MX6DL/SL/SLL/ULL and i.MX7D.

    This driver supports user defined logo file, if there is no logo file, it will
    draw a black border around a white screen.

    If need to enable EPDC, a waveform file is required to let all
    work.

    Since we need LCD_MONOCHROME mode for EPDC, we introduce LCD_MONOCHROME
    support.

    Please refer to Linux Reference Manual for how to flash WAVEFORM file.

    Signed-off-by: Peng Fan
    Signed-off-by: Robby Cai
    Signed-off-by: Nitin Garg
    Signed-off-by: Ye.Li
    (cherry picked from commit a7244f279cc3c3994bcd103f5e9a183b1075ae71)
    (cherry picked from commit 21bf1c38b7d75c31875fb02a972c458f25d9c33a)
    (cherry picked from commit 237742f73998b35dd896592e19f1e119e72baa71)

    Peng Fan
     

23 Apr, 2020

2 commits

  • Add a new interface "mxs_lcd_panel_setup" to setup fb parameters and
    specifies the LCDIF controller for multiple controllers of iMX6SX.
    Pass fb parameters via "videomode" env remains work if the new interface
    is not called before video initialization.

    Modify LCDIF clock interface "mxs_set_lcdclk" to support multiple
    LCDIF controllers on iMX6SX.

    Signed-off-by: Ye.Li
    Signed-off-by: Peng Fan
    (cherry picked from commit d7f49b9378547c3a57b96bcdb907fc44616beb3d)
    (cherry picked from commit e1343191b9de227c582847e7eeb5ce9238be0754)
    (cherry picked from commit 9632ebeccc34d663e21bd19f2fe62de51947296e)
    Signed-off-by: Ye Li
    (cherry picked from commit 948c5c95e87a47bb3a80c8e67b67fe70e1e4a569)
    (cherry picked from commit 4966b5b61a4034ed4b9ec0d4de3fe384edddbb3a)

    Ye.Li
     
  • There are some integer to pointer convert. To support 64 bits system,
    change the unsigned int to unsigned long.

    Signed-off-by: Ye Li
    (cherry picked from commit c3b5c2df452eac82a970ba304e94550be8e27335)
    (cherry picked from commit 8a2330424ce8dff9ba9e51ccf74fa600ea93aeb1)
    (cherry picked from commit a39800dd920f7196a960cb7fbe51edaf0d753b47)

    Ye Li
     

02 Apr, 2020

2 commits

  • The default resolution for rockchip display is 1920x1080
    which failed to work on 4K HDMI out displays on rk3399.

    So, mark the default resolution as 3480x2160 for rk3399
    HDMI out.

    This would work all the hdmi display resolutions till
    4K.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang
    Tested-by: Peter Robinson

    Jagan Teki
     
  • VOP display endpoint pipeline configuration differs
    between rk3288 vs rk3399.

    These VOP pipeline configuration depends on how the
    different display interfaces connected in sequence to
    IN and OUT ports like for,

    RK3288:

    vopb_out: port {
    #address-cells = ;
    #size-cells = ;
    vopb_out_edp: endpoint@0 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_hdmi: endpoint@1 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_lvds: endpoint@2 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_mipi: endpoint@3 {
    reg = ;
    remote-endpoint = ;
    };
    };

    RK3399:

    vopb_out: port {
    #address-cells = ;
    #size-cells = ;
    vopb_out_edp: endpoint@0 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_mipi: endpoint@1 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_hdmi: endpoint@2 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_mipi1: endpoint@3 {
    reg = ;
    remote-endpoint = ;
    };
    vopb_out_dp: endpoint@4 {
    reg = ;
    remote-endpoint = ;
    };
    };

    here, HDMI interface has endpoint 1 in rk3288 and 2 in rk3399.

    The rockchip vop driver often depends on this determined endpoint
    number and stored in vop_mode. So based on this vop_mode the bpp
    and pin polarity would configure on detected display interface.

    Since, the existing driver using rk3288 vop mode settings enabling
    the same will result wrong display interface configuration for rk3399.

    Add the patch for fixing these vop modes for rk3399.

    Signed-off-by: Jagan Teki
    Reviewed-by: Kever Yang
    Tested-by: Peter Robinson

    Jagan Teki
     

03 Mar, 2020

1 commit


11 Feb, 2020

2 commits


07 Feb, 2020

1 commit

  • This partially reverts changes by commit 2cc393f32fd9
    ("video: make BPP and ANSI configs optional") since it
    caused issues with other boards (missing LCD console
    output on pinebook, x86 platform or sandbox). Enable
    all disabled options again and opt out of not supported
    color depth in board defconfigs.

    Signed-off-by: Anatolij Gustschin
    Reported-by: Vagrant Cascadian

    Anatolij Gustschin
     

06 Feb, 2020

6 commits


05 Feb, 2020

2 commits

  • Add DM_FLAG_OS_PREPARE flag to ensure that the driver's
    remove() callback is invoked before booting the kernel.
    This is required to stop the LCDIF controller. This was
    the behaviour with old driver without DM_VIDEO support.
    Without stopping the LCDIF we sometimes observe incorrect
    Linux logo position.

    Fixes: ae0760584b38 ("imx: mx6ul_14x14_evk: convert to DM_VIDEO")
    Signed-off-by: Anatolij Gustschin
    Reported-by: Fabio Estevam
    Reviewed-by: Fabio Estevam

    Anatolij Gustschin
     
  • Fix:
    >>> CID 280902: Control flow issues (MISSING_BREAK)
    >>> The case for value "VIDEO_BPP32" is not terminated
    >>> by a 'break' statement.

    Also fix
    error: control reaches end of non-void function [-Werror=return-type]

    Reported-by: Tom Rini
    Signed-off-by: Anatolij Gustschin
    Reviewed-by: Simon Glass

    Anatolij Gustschin
     

30 Jan, 2020

1 commit

  • Few of the rockchip family SoC atleast rk3288,
    rk3399 are sharing some cru register bits so
    adding common code between these SoC families
    would require to include both cru include files
    that indeed resulting function declarations error.

    So, create a common cru include as cru.h then
    include the rk3399 arch cru include file and move
    the common cru register bit definitions into it.

    The rest of rockchip cru files will add it in future.

    Reviewed-by: Kever Yang
    Signed-off-by: Jagan Teki

    Jagan Teki