[PATCH v3 0/14] Add Analogix Core Display Port Driver
Yakir Yang
ykk at rock-chips.com
Thu Aug 20 01:03:30 PDT 2015
Hi Jingoo,
On 08/20/2015 01:55 AM, Jingoo Han wrote:
> On 2015. 8. 20., at PM 3:23, Yakir Yang <ykk at rock-chips.com> wrote:
>> Hi Jingoo & Archit,
>>
>>
>>> On 08/20/2015 12:54 AM, Jingoo Han wrote:
>>>> On 2015. 8. 20., at PM 1:29, Archit Taneja <architt at codeaurora.org> wrote:
>>>> Hi,
>>>>
>>>>> On 08/19/2015 08:18 PM, Yakir Yang wrote:
>>>>>
>>>>> Hi all,
>>>>> The Samsung Exynos eDP controller and Rockchip RK3288 eDP controller
>>>>> share the same IP, so a lot of parts can be re-used. I split the common
>>>>> code into bridge directory, then rk3288 and exynos only need to keep
>>>>> some platform code. Cause I can't find the exact IP name of exynos dp
>>>>> controller, so I decide to name dp core driver with "analogix" which I
>>>>> find in rk3288 eDP TRM ;)
>>>>>
>>>>> Beyond that, there are three light registers setting differents bewteen
>>>>> exynos and rk3288.
>>>>> 1. RK3288 have five special pll resigters which not indicata in exynos
>>>>> dp controller.
>>>>> 2. The address of DP_PHY_PD(dp phy power manager register) are different
>>>>> between rk3288 and exynos.
>>>>> 3. Rk3288 and exynos have different setting with AUX_HW_RETRY_CTL(dp debug
>>>>> register).
>>>>>
>>>>> I have verified this series on two kinds of rockchip platform board, one
>>>>> is rk3288 sdk board which connect with a 2K display port monitor, the other
>>>>> is google jerry chromebook which connect with a eDP screen "cnm,n116bgeea2",
>>>>> both of them works rightlly.
>>>>>
>>>>> I haven't verified the dp function on samsung platform, cause I haven't got
>>>>> exynos boards. I can only ensure that there are no build error on samsung
>>>>> platform, wish some samsung guys help to test. ;)
>>>>>
>>>>> Thanks,
>>>>> - Yakir
>>>>>
>>>>> Changes in v3:
>>>>> - Take Thierry Reding suggest, move exynos's video_timing code
>>>>> to analogix_dp-exynos platform driver, add get_modes method
>>>>> to struct analogix_dp_plat_data.
>>>>> - Take Heiko suggest, rename some "samsung*" dts propery to "analogix*".
>>>>> - Take Thierry Reding suggest, dynamic parse video timing info from
>>>>> struct drm_display_mode and struct drm_display_info.
>>>>> - Take Thierry Reding suggest, link_rate and lane_count shouldn't config to
>>>>> the DT property value directly, but we can take those as hardware limite.
>>>>> For example, RK3288 only support 4 physical lanes of 2.7/1.62 Gbps/lane,
>>>>> so DT property would like "link-rate = 0x0a" "lane-count = 4".
>>>>> - Take Heiko suggest, add devicetree binding documents.
>>>>> - Take Thierry Reding suggest, remove sync pol & colorimetry properies
>>>>> from the new analogix dp driver devicetree binding.
>>>>> - Update the exist exynos dtsi file with the latest DP DT properies.
>>>>> - Take Thierry Reding and Heiko suggest, leave "sclk_edp_24m" to rockchip
>>>>> dp phy driver which name to "24m", and leave "sclk_edp" to analogix dp
>>>>> core driver which name to "dp", and leave "pclk_edp" to rockchip dp platform
>>>>> driver which name to "pclk".
>>>>> - Take Heiko suggest, add devicetree binding document.
>>>>> - Take Heiko suggest, remove "rockchip,panel" DT property, take use of remote
>>>>> point to get panel node.
>>>>> - Add the new function point analogix_dp_platdata.get_modes init.
>>>>> - Take Heiko suggest, add rockchip dp phy driver,
>>>>> collect the phy clocks and power control.
>>>>> - Add "analogix,need-force-hpd" to indicate whether driver need foce
>>>>> hpd when hpd detect failed.
>>>>> - move dp hpd detect to connector detect function.
>>>>> - Add edid modes parse support
>>>>>
>>>>> Changes in v2:
>>>>> - Take Joe Preches advise, improved commit message more readable, and
>>>>> avoid using some uncommon style like bellow:
>>>>> - retval = exynos_dp_read_bytes_from_i2c(...
>>>>> ...)
>>>>> + retval =
>>>>> + exynos_dp_read_bytes_from_i2c(......);
>>>>> - Take Jingoo Han suggest, just remove my name from author list.
>>>>> - Take Jingoo Han suggest, remove new copyright
>>>>> - Fix compiled failed dut to analogix_dp_device misspell
>>>>> - Take Heiko suggest, get panel node with remote-endpoint method,
>>>>> and create devicetree binding for driver.
>>>>> - Remove the clock enable/disbale with "sclk_edp" & "sclk_edp_24m",
>>>>> leave those clock to rockchip dp phy driver.
>>>>> - Add GNU license v2 declared and samsung copyright
>>>>> - Fix compile failed dut to phy_pd_addr variable misspell error
>>>>>
>>>>> Yakir Yang (14):
>>>>> drm: exynos/dp: fix code style
>>>>> drm: exynos/dp: convert to drm bridge mode
>>>>> drm: bridge: analogix_dp: split exynos dp driver to bridge dir
>>>>> drm: bridge/analogix_dp: dynamic parse sync_pol & interlace &
>>>>> colorimetry
>>>>> drm: bridge/analogix_dp: fix link_rate & lane_count bug
>>>>> Documentation: drm/bridge: add document for analogix_dp
>>>>> drm: rockchip/dp: add rockchip platform dp driver
>>>>> phy: Add driver for rockchip Display Port PHY
>>>>> drm: bridge/analogix_dp: add platform device type support
>>>>> drm: bridge: analogix_dp: add some rk3288 special registers setting
>>>>> drm: bridge: analogix_dp: try force hpd after plug in lookup failed
>>>>> drm: bridge/analogix_dp: expand the delay time for hpd detect
>>>>> drm: bridge/analogix_dp: move hpd detect to connector detect function
>>>>> drm: bridge/analogix_dp: add edid modes parse in get_modes method
>>>>>
>>>>> .../devicetree/bindings/drm/bridge/analogix_dp.txt | 73 +
>>>>> .../devicetree/bindings/phy/rockchip-dp-phy.txt | 26 +
>>>>> .../bindings/video/analogix_dp-rockchip.txt | 83 ++
>>>>> .../devicetree/bindings/video/exynos_dp.txt | 51 +-
>>>>> arch/arm/boot/dts/exynos5250-arndale.dts | 10 +-
>>>>> arch/arm/boot/dts/exynos5250-smdk5250.dts | 10 +-
>>>>> arch/arm/boot/dts/exynos5250-snow.dts | 12 +-
>>>>> arch/arm/boot/dts/exynos5250-spring.dts | 12 +-
>>>>> arch/arm/boot/dts/exynos5420-peach-pit.dts | 12 +-
>>>>> arch/arm/boot/dts/exynos5420-smdk5420.dts | 10 +-
>>>>> arch/arm/boot/dts/exynos5800-peach-pi.dts | 12 +-
>>>>> drivers/gpu/drm/bridge/Kconfig | 5 +
>>>>> drivers/gpu/drm/bridge/Makefile | 1 +
>>>>> drivers/gpu/drm/bridge/analogix_dp_core.c | 1382 +++++++++++++++++++
>>>>> drivers/gpu/drm/bridge/analogix_dp_core.h | 286 ++++
>>>>> drivers/gpu/drm/bridge/analogix_dp_reg.c | 1294 ++++++++++++++++++
>>>>> .../exynos_dp_reg.h => bridge/analogix_dp_reg.h} | 270 ++--
>>>>> drivers/gpu/drm/exynos/Kconfig | 5 +-
>>>>> drivers/gpu/drm/exynos/Makefile | 2 +-
>>>>> drivers/gpu/drm/exynos/analogix_dp-exynos.c | 347 +++++
>>>>> drivers/gpu/drm/exynos/exynos_dp_core.c | 1416 --------------------
>>>>> drivers/gpu/drm/exynos/exynos_dp_core.h | 282 ----
>>>>> drivers/gpu/drm/exynos/exynos_dp_reg.c | 1263 -----------------
>>>>> drivers/gpu/drm/rockchip/Kconfig | 9 +
>>>>> drivers/gpu/drm/rockchip/Makefile | 1 +
>>>>> drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 390 ++++++
>>>>> drivers/phy/Kconfig | 7 +
>>>>> drivers/phy/Makefile | 1 +
>>>>> drivers/phy/phy-rockchip-dp.c | 185 +++
>>>>> include/drm/bridge/analogix_dp.h | 40 +
>>>>> 30 files changed, 4325 insertions(+), 3172 deletions(-)
>>>>> create mode 100644 Documentation/devicetree/bindings/drm/bridge/analogix_dp.txt
>>>>> create mode 100644 Documentation/devicetree/bindings/phy/rockchip-dp-phy.txt
>>>>> create mode 100644 Documentation/devicetree/bindings/video/analogix_dp-rockchip.txt
>>>>> create mode 100644 drivers/gpu/drm/bridge/analogix_dp_core.c
>>>>> create mode 100644 drivers/gpu/drm/bridge/analogix_dp_core.h
>>>>> create mode 100644 drivers/gpu/drm/bridge/analogix_dp_reg.c
>>>> Minor comment: Since there are a few files required for the driver,
>>>> could you create a separate folder within drivers/gpu/drm/bridge?
>>> I agree on this opinion.
>>> Thank you.
>> Thanks for your comment ;)
>>
>> Yeah, bridge/ have been add four new files for this driver, it would be better to
>> collect into a separate folder.
>>
>> I'm wondering should I just name the folder with "analogix_dp/", or we can make
>> it more common (like "analogix/")? (personally I do like the last one)
> I prefer "analogix".
Okay :)
- Yakir
> Best regards,
> Jingoo Han
>
>> Thanks,
>> - Yakir
>>> Best regards,
>>> Jingoo Han
>>>
>>>> Thanks,
>>>> Archit
>>>>
>>>> --
>>>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>>>> a Linux Foundation Collaborative Project
>>
>
>
More information about the Linux-rockchip
mailing list