public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: ykk@rock-chips•com (Yakir Yang)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v3 0/14] Add Analogix Core Display Port Driver
Date: Thu, 20 Aug 2015 01:23:56 -0500	[thread overview]
Message-ID: <55D5727C.8000109@rock-chips.com> (raw)
In-Reply-To: <58DB3289-29F0-4C2D-97F6-EB0555392DF2@gmail.com>

Hi Jingoo & Archit,


On 08/20/2015 12:54 AM, Jingoo Han wrote:
> On 2015. 8. 20., at PM 1:29, Archit Taneja <architt@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)

Thanks,
- Yakir
> Best regards,
> Jingoo Han
>
>> Thanks,
>> Archit
>>
>> -- 
>> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>
>

  reply	other threads:[~2015-08-20  6:23 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-19 14:48 [PATCH v3 0/14] Add Analogix Core Display Port Driver Yakir Yang
2015-08-19 14:49 ` [PATCH v3 01/14] drm: exynos/dp: fix code style Yakir Yang
2015-08-19 14:49 ` [PATCH v3 02/14] drm: exynos/dp: convert to drm bridge mode Yakir Yang
2015-08-19 14:50 ` [PATCH v3 04/14] drm: bridge/analogix_dp: dynamic parse sync_pol & interlace & colorimetry Yakir Yang
2015-08-19 14:50 ` [PATCH v3 05/14] drm: bridge/analogix_dp: fix link_rate & lane_count bug Yakir Yang
2015-08-20  7:22   ` Jingoo Han
2015-08-20  8:04     ` Yakir Yang
2015-08-19 14:50 ` [PATCH v3 06/14] Documentation: drm/bridge: add document for analogix_dp Yakir Yang
2015-08-23 23:23   ` Rob Herring
2015-08-24  0:43     ` Krzysztof Kozlowski
     [not found]       ` <55DA8486.1000803@rock-chips.com>
2015-08-24  4:20         ` Krzysztof Kozlowski
2015-08-24 12:48           ` Yakir Yang
2015-08-24 13:03             ` Heiko Stuebner
2015-08-25  1:37               ` Yakir Yang
2015-08-24 23:49             ` Krzysztof Kozlowski
2015-08-25  1:33               ` Yakir Yang
2015-08-25  1:35                 ` Krzysztof Kozlowski
2015-08-24  7:40       ` Jingoo Han
2015-08-24 12:55         ` Yakir Yang
2015-08-24 12:57     ` Russell King - ARM Linux
2015-08-24 14:48       ` Rob Herring
2015-08-24 16:16         ` Heiko Stuebner
2015-08-25  1:21         ` Yakir Yang
2015-08-25  9:12         ` Thierry Reding
2015-08-25  9:29           ` Russell King - ARM Linux
2015-08-25 10:40             ` Thierry Reding
2015-08-25 10:52               ` Russell King - ARM Linux
     [not found]           ` <55DC383F.4000103@rock-chips.com>
2015-08-25 10:06             ` Thierry Reding
2015-08-25  9:15     ` Thierry Reding
2015-08-25 13:27       ` Rob Herring
     [not found]         ` <55DC7211.9080601@rock-chips.com>
2015-08-25 14:16           ` Thierry Reding
2015-08-25  9:58   ` Thierry Reding
     [not found]     ` <55DC75C8.209@rock-chips.com>
2015-08-25 14:21       ` Thierry Reding
2015-08-25 15:57         ` Russell King - ARM Linux
2015-08-19 14:50 ` [PATCH v3 07/14] drm: rockchip/dp: add rockchip platform dp driver Yakir Yang
2015-08-19 14:51 ` [PATCH v3 08/14] phy: Add driver for rockchip Display Port PHY Yakir Yang
2015-08-20  4:40   ` Kishon Vijay Abraham I
2015-08-19 14:51 ` [PATCH v3 09/14] drm: bridge/analogix_dp: add platform device type support Yakir Yang
2015-08-19 14:51 ` [PATCH v3 10/14] drm: bridge: analogix_dp: add some rk3288 special registers setting Yakir Yang
2015-08-19 14:51 ` [PATCH v3 11/14] drm: bridge: analogix_dp: try force hpd after plug in lookup failed Yakir Yang
2015-08-19 14:52 ` [PATCH v3 12/14] drm: bridge/analogix_dp: expand the delay time for hpd detect Yakir Yang
2015-08-20  6:11   ` Jingoo Han
2015-08-20  8:02     ` Yakir Yang
2015-08-19 14:52 ` [PATCH v3 13/14] drm: bridge/analogix_dp: move hpd detect to connector detect function Yakir Yang
2015-08-20  7:49   ` Jingoo Han
2015-08-20  8:18     ` Yakir Yang
2015-08-19 14:52 ` [PATCH v3 14/14] drm: bridge/analogix_dp: add edid modes parse in get_modes method Yakir Yang
2015-08-19 23:54 ` [PATCH v3 0/14] Add Analogix Core Display Port Driver Dave Airlie
2015-08-20  1:02   ` Yakir Yang
2015-08-20  4:29 ` Archit Taneja
2015-08-20  5:54   ` Jingoo Han
2015-08-20  6:23     ` Yakir Yang [this message]
2015-08-20  6:55       ` Jingoo Han
2015-08-20  8:03         ` Yakir Yang
2015-08-21  8:20 ` Jingoo Han
     [not found]   ` <55D6F6F8.70504@rock-chips.com>
     [not found]     ` <8384E112-E1F4-4CD3-85BF-A2A25989783F@gmail.com>
2015-08-21 13:16       ` Thierry Reding
2015-08-30 12:16         ` Romain Perier
2015-08-31  2:40           ` Yakir Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D5727C.8000109@rock-chips.com \
    --to=ykk@rock-chips$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox