15 Oct, 2019

1 commit


09 Jul, 2019

1 commit


24 May, 2019

34 commits

  • The current keep-alive check mechanism uses a static variable that is
    initialized to 0. When the function is first called, it may happen to
    catch the 8-bit keep-alive counter right when it overflows, hence
    returning BUSY.

    This patch will keep checking the counter for 10us, every 1us, but it
    will immediately return if the keep-alive counter changed.

    Signed-off-by: Laurentiu Palcu
    (cherry picked from commit a809d62f2060cf2e907257806bebf688ffc8c924)

    Laurentiu Palcu
     
  • The previous driver uses a hard coded value which generates the DSI
    PHY clock can fit HX8363 WVGA screen. But when switching to new WXGA
    screen which needs higher pixclock and higher DSI PHY clock, the
    hard coded parameters can't work.
    Change to follow kernel codes to find the best value of CM, CN, CO
    parameters for DSI PHY clock to meet pixclock requirement.

    Signed-off-by: Ye Li
    (cherry picked from commit d84ddab71eda66b22c702c7d358a53a22b9ac662)
    (cherry picked from commit 9fcb1cbae58042e75cd427c9c290a6830a9feff1)

    Ye Li
     
  • mx7ulp EVK B will use two mipi dsi panels, the new panel RM68200_WXGA
    supports WXGA resolution.

    Signed-off-by: Ye Li
    (cherry picked from commit 0d68c30cfa683764b889820c46b0935ee519c72d)
    (cherry picked from commit 5143bd49f3d41a8653ad892fea504ab249b49ca0)

    Ye Li
     
  • Update LCDIF driver for integrating with samsung mipi dsi controller on
    iMX8MM platform.

    The changes include:
    1. Fix build warning for ARM64 platform.
    2. Change max outstanding transactions req to 16 for better performance
    on system bus.
    3. Set ENABLE signal to active low for valid data transfer.

    Signed-off-by: Ye Li
    (cherry picked from commit 43ee03181bd4e26ea389882dcd5285398438390d)
    (cherry picked from commit 694351cb02474e195934f8a7068f225c094c0581)

    Ye Li
     
  • Add a mipi dsi panel driver for RM67191 panel which is attached to mipi dsi
    controller.

    Signed-off-by: Ye Li
    (cherry picked from commit 01e116ccd2e2705be3fb427da74cb19bab7ab4e0)
    (cherry picked from commit 074cbb1c8fe2841f152b861e434772807a2ec3bb)

    Ye Li
     
  • Add new mipi dsi driver sec_mipi_dsim to support the samsung mipi dsi used
    on iMX8MM and iMX7D platforms. This driver implements the interfaces required
    by mipi dsi bridge. Users can use mipi dsi bridge common APIs to access it.

    Signed-off-by: Ye Li
    (cherry picked from commit b08b17cde486a232b602b806862de56a26117c51)
    (cherry picked from commit 782400a71844b0f0cbe0a5312cea555e797e1ae8)

    Ye Li
     
  • Remove the functions for northwest driver and HX8363 driver, change
    to use mipi dsi bridge interfaces.
    The mipi_dsi_northwest driver setup and hx8363 init will move to
    board level codes.

    Signed-off-by: Ye Li
    (cherry picked from commit 0b8dc73e42ade9f44a3bbcf3662898772434988d)
    (cherry picked from commit 13b169618402876c3fffa786701c796c38bc0f6a)

    Ye Li
     
  • Update the HX8363 mipi panel to use new mipi dsi bridge interfaces
    to register a panel device and send command packets. So this panel
    driver can decouple with mipi_dsi_northwest driver.

    A new header file mipi_dsi_panel.h is added for all panel init
    functions declare.

    Signed-off-by: Ye Li
    (cherry picked from commit 1d355d37cce9a844011fbf27f7d4801068919ac4)
    (cherry picked from commit 1bd8d4f4a339ec3f9a77e49ffb6a4a945acd3e4c)

    Ye Li
     
  • Update the mipi_dsi_northwest driver to implement mipi dsi bridge interfaces
    and register it as a bridge controller. Users can call bridge common interfaces
    to access the northwest driver, don't need to call its private driver functions.

    We also add a kconfig entry for this driver, the name is changed to
    CONFIG_IMX_NORTHWEST_MIPI_DSI

    Signed-off-by: Ye Li
    (cherry picked from commit a668cdb1ef5bcef4a574640f5c06ff07520254df)
    (cherry picked from commit f7a9859569c3677f6f48dd4807da7d993b40a9bf)

    Ye Li
     
  • Add a mipi dsi bridge driver to abstract mipi dsi interfaces for
    mipi panel and display controller drivers.
    So for panel and display conntroller drivers, they can use same functions
    to access mipi dsi controller.

    Signed-off-by: Ye Li
    (cherry picked from commit 4bb9c1168a9b2796a1360d5e93420e4737fc3ba3)
    (cherry picked from commit 2880a49732e3ecfd048a324df18975b79aa7a8e2)

    Ye Li
     
  • The LCDIF provides video source for MIPI DSI host at DPI-2 interface.
    When the LCDIF Framebuffer driver is enabled, it uses the panel
    parameters setup by environments to create a panel device and register
    it to DSI host driver and then enable the DSI host.

    Signed-off-by: Ye Li
    (cherry picked from commit 85659ea5ee975fa2d5fa7215e17a01f7006c39bf)
    (cherry picked from commit 7ef1d78154fef4f799dbf7de0f3d9679911ffa39)
    (cherry picked from commit c08b971781fca4c6336bda71bae05c073e294e30)

    Ye Li
     
  • Add the mipi dsi panel driver for device HX8363 from kernel. The panel
    driver needs work with mipi_dsi_northwest driver.

    Signed-off-by: Ye Li
    (cherry picked from commit 0c6d0f4202bae7f61d38ecff1c9d255261f022f2)
    (cherry picked from commit d65bbb0585a906072f01a2d72169be0b13b1d9b8)
    (cherry picked from commit 86264cba4b623e8b5bf57049f3e424e1537b7cdd)

    Ye Li
     
  • Add the host driver base from kernel for MIPI DSI controller on i.MX7ULP.
    The controller provides a DPI-2 interface for LCDIF video stream, and a APB interface
    for packet transmission.

    The driver provides APIs to register a MIPI panel device and its driver. The panel
    driver can use the write packet function provided by the host driver to send control
    packets to panel device via APB interface.

    MIPI DSI has its PHY and dedicated PLL. The driver will setup them when enabling the DSI
    host.

    Signed-off-by: Ye Li
    (cherry picked from commit e02115dd1c5d36ec06eabcb5a0b8e09aaf0f29a0)
    (cherry picked from commit 1e984bba8cd961daa4c5bf994a6a90a72cc2f114)
    (cherry picked from commit a4f1e8b67658d4b828d792d5b28cbcf4e7600479)

    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)

    Ye Li
     
  • This patch adds enable/disable hooks support for ldb_di[0/1] clocks
    and enables/disables them when necessary.

    Signed-off-by: Liu Ying
    (cherry picked from commit 615d4c51679a6c2ee0ed4c5e3922eec76646eef1)
    (cherry picked from commit 152192507c3bbaba093783d7da32b88327705c63)
    (cherry picked from commit 036b71e1cd77ddb1827fd85eb7035fb7eccb7b12)
    (cherry picked from commit 1e926d675270d5cbac604632319849e897c32048)

    Liu Ying
     
  • The LDB is found in MX6 variants and MX53, so this patch makes the ldb_di clock
    relevant code be built only for them.

    Signed-off-by: Liu Ying
    (cherry picked from commit 3e40c7466ae7d1d6ca74011bfe69ae059d412a3b)
    (cherry picked from commit 0c47d4138fd2fe8aa864160e23428b2ef95f16ae)
    (cherry picked from commit a59c901317e70da111b426db1be77f289eccbcbc)
    (cherry picked from commit e83a985b7170446b753f96e71f45bfaa67b53b08)

    Liu Ying
     
  • 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)

    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)

    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)

    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)

    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)

    Peng Fan
     
  • The HDMI digital PLL, bus clock and core clock need to change to improve the
    firmware loading time. The clock are now set to 800 MHz for DPLL, 200 MHz for
    HDMI core, and 100 MHz for HDMI bus.

    Signed-off-by: Oliver Brown
    (cherry picked from commit 1d368140f32cce8fc35962b18da6332d383bb094)

    Oliver Brown
     
  • The HDMI digital PLL, bus clock and core clock need to change to match the
    settings used by the Linux driver. This allows the SECO to start and
    initialize the HDMI/DP firmware.

    Signed-off-by: Oliver Brown
    (cherry picked from commit d2713d11afc35bc2ce546f9bd065cc7477ee65cc)

    Oliver Brown
     
  • Add firmware athentication to the hdp and hdprx load functions.
    If hdp_authenticate_fw is set to yes, the hdp tx firmware is athenticated.
    If hdprx_authenticate_fw is set to yes, the hdp rx firmware is athenticated.

    Signed-off-by: Oliver Brown
    (cherry picked from commit 6c0246888012c50127b40f1ab6fa6d581f725f7a)

    Oliver Brown
     
  • Need to power down HDMI_PLL_0 after HDMI firmware is loaded, else
    resource is left ON when entering low power states thus impacting low
    power number.

    Signed-off-by: Ranjani Vaidyanathan
    (cherry picked from commit 93450bafc8dc7d9236c3f7520a2602e18c1d2ba3)

    Ranjani Vaidyanathan
     
  • Checks whether the HDMI FW is running before initialize the HDMI display.
    So that for cases like mfgtool and imx-boot image without HDMI FW, the
    u-boot won't be blocked.

    Signed-off-by: Ye Li
    (cherry picked from commit 273b45dd3cf8773462400857c8b48b70bcfe96bb)
    (cherry picked from commit 5527e5674c438cd7ef7735e2bdef37668d88676b)

    Ye Li
     
  • Add iMX8QM HDMI RX firmware loading.

    Signed-off-by: Sandor Yu
    (cherry picked from commit 969d93660e1b34765627ff9f6f8dcab08dcd1250)
    (cherry picked from commit 43bc31a2700f4078ffc5f55ff3fea0ed554f4506)

    Sandor Yu
     
  • Adding i.MX8 HDMI support to build configuration.

    Signed-off-by: Oliver Brown
    (cherry picked from commit 2edbbe51df0817876b943760a272640e3c9bff70)
    (cherry picked from commit 0857e58bc7eaea5da6cdde14cdd8f72293a83273)

    Oliver Brown
     
  • Adding HDMI support for splash screen.

    Signed-off-by: Oliver Brown
    (cherry picked from commit a95018c0d3b0ac8f0893b9408ae598324de4a530)
    (cherry picked from commit 485bccc47619fdaf967f893dd672ccc9d375a8af)

    Oliver Brown
     
  • Adding the HDP firmware loading to the build.

    Signed-off-by: Oliver Brown
    (cherry picked from commit d4702582552aa1921fce58329ae40c24481fba3a)

    Oliver Brown
     
  • This adds a command to load the HDP firmware and supporting libraries.

    Signed-off-by: Oliver Brown
    (cherry picked from commit 94c9c7022c5b6cffb74bb2e34336cffc2790d0d8)

    Oliver Brown
     
  • 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)

    Ye.Li
     
  • Adding new IMXDPUV1 (aka Seeris, Iris-lite) display control driver.

    Signed-off-by: Oliver Brown
    Signed-off-by: Ye Li
    (cherry picked from commit 43541cba14f851c6eebaa84becd42967f94a9cfd)
    (cherry picked from commit 02b99a8ce3ed8f7ab1798b946c10b614ae386924)

    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)

    Ye Li
     

29 Mar, 2019

1 commit

  • Currently, HDMI driver doesn't consider minimum and maximum allowed rate
    of pll3 (video PLL). It works most of the time, but not always.

    Consider monitor with resolution 1920x1200, which has pixel clock rate
    of 154 MHz. Current code would determine that pll3 rate has to be set to
    154 MHz. However, minimum supported rate is 192 MHz. In this case video
    output just won't work.

    The reason why the driver is written in the way it is, is that at the
    time HDMI PHY and clock configuration wasn't fully understood. But now
    we have needed knowledge, so the issue can be fixed.

    With this fix, clock configuration routine uses full range (1-16) for
    clock divider instead of limited one (1, 2, 4, 11). It also considers
    minimum and maximum allowed rate for pll3.

    Fixes: 56009451d843 ("sunxi: video: Add A64/H3/H5 HDMI driver")
    Signed-off-by: Jernej Skrabec
    Acked-by: Maxime Ripard

    Jernej Skrabec
     

15 Feb, 2019

3 commits