From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752083AbbHTFyk (ORCPT ); Thu, 20 Aug 2015 01:54:40 -0400 Received: from mail-pa0-f43.google.com ([209.85.220.43]:33732 "EHLO mail-pa0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751283AbbHTFyc convert rfc822-to-8bit (ORCPT ); Thu, 20 Aug 2015 01:54:32 -0400 References: <1439995728-18046-1-git-send-email-ykk@rock-chips.com> <55D557BD.8070004@codeaurora.org> Mime-Version: 1.0 (1.0) In-Reply-To: <55D557BD.8070004@codeaurora.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8BIT Message-Id: <58DB3289-29F0-4C2D-97F6-EB0555392DF2@gmail.com> Cc: Yakir Yang , Heiko Stuebner , Thierry Reding , Fabio Estevam , Inki Dae , "joe@perches.com" , Russell King , "seanpaul@google.com" , "dri-devel@lists.freedesktop.org" , Andrzej Hajda , Gustavo Padovan , "linux-samsung-soc@vger.kernel.org" , Vincent Palatin , "linux-rockchip@lists.infradead.org" , Kishon Vijay Abraham I , "devicetree@vger.kernel.org" , Pawel Moll , Ian Campbell , "dianders@google.com" , Rob Herring , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Kyungmin Park , "djkurtz@google.com" , Kumar Gala , "ajaynumb@gmail.com" , Andy Yan , jingoohan1@gmail.com X-Mailer: iPhone Mail (11D257) From: Jingoo Han Subject: Re: [PATCH v3 0/14] Add Analogix Core Display Port Driver Date: Thu, 20 Aug 2015 14:54:22 +0900 To: Archit Taneja Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2015. 8. 20., at PM 1:29, Archit Taneja 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. Best regards, Jingoo Han > Thanks, > Archit > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, > a Linux Foundation Collaborative Project From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jingoo Han Subject: Re: [PATCH v3 0/14] Add Analogix Core Display Port Driver Date: Thu, 20 Aug 2015 14:54:22 +0900 Message-ID: <58DB3289-29F0-4C2D-97F6-EB0555392DF2@gmail.com> References: <1439995728-18046-1-git-send-email-ykk@rock-chips.com> <55D557BD.8070004@codeaurora.org> Mime-Version: 1.0 (1.0) Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <55D557BD.8070004@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja Cc: "seanpaul@google.com" , "dri-devel@lists.freedesktop.org" , Andrzej Hajda , Yakir Yang , Gustavo Padovan , "linux-samsung-soc@vger.kernel.org" , Vincent Palatin , Kishon Vijay Abraham I , "linux-rockchip@lists.infradead.org" , Russell King , Thierry Reding , "devicetree@vger.kernel.org" , Pawel Moll , Ian Campbell , "dianders@google.com" , "ajaynumb@gmail.com" , Rob Herring , "linux-arm-kernel@lists.infradead.org" List-Id: devicetree@vger.kernel.org T24gMjAxNS4gOC4gMjAuLCBhdCBQTSAxOjI5LCBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVh dXJvcmEub3JnPiB3cm90ZToKPiAKPiBIaSwKPiAKPj4gT24gMDgvMTkvMjAxNSAwODoxOCBQTSwg WWFraXIgWWFuZyB3cm90ZToKPj4gCj4+IEhpIGFsbCwKPj4gICAgVGhlIFNhbXN1bmcgRXh5bm9z IGVEUCBjb250cm9sbGVyIGFuZCBSb2NrY2hpcCBSSzMyODggZURQIGNvbnRyb2xsZXIKPj4gc2hh cmUgdGhlIHNhbWUgSVAsIHNvIGEgbG90IG9mIHBhcnRzIGNhbiBiZSByZS11c2VkLiBJIHNwbGl0 IHRoZSBjb21tb24KPj4gY29kZSBpbnRvIGJyaWRnZSBkaXJlY3RvcnksIHRoZW4gcmszMjg4IGFu ZCBleHlub3Mgb25seSBuZWVkIHRvIGtlZXAKPj4gc29tZSBwbGF0Zm9ybSBjb2RlLiBDYXVzZSBJ IGNhbid0IGZpbmQgdGhlIGV4YWN0IElQIG5hbWUgb2YgZXh5bm9zIGRwCj4+IGNvbnRyb2xsZXIs IHNvIEkgZGVjaWRlIHRvIG5hbWUgZHAgY29yZSBkcml2ZXIgd2l0aCAiYW5hbG9naXgiIHdoaWNo IEkKPj4gZmluZCBpbiByazMyODggZURQIFRSTSA7KQo+PiAKPj4gQmV5b25kIHRoYXQsIHRoZXJl IGFyZSB0aHJlZSBsaWdodCByZWdpc3RlcnMgc2V0dGluZyBkaWZmZXJlbnRzIGJld3RlZW4KPj4g ZXh5bm9zIGFuZCByazMyODguCj4+IDEuIFJLMzI4OCBoYXZlIGZpdmUgc3BlY2lhbCBwbGwgcmVz aWd0ZXJzIHdoaWNoIG5vdCBpbmRpY2F0YSBpbiBleHlub3MKPj4gICAgZHAgY29udHJvbGxlci4K Pj4gMi4gVGhlIGFkZHJlc3Mgb2YgRFBfUEhZX1BEKGRwIHBoeSBwb3dlciBtYW5hZ2VyIHJlZ2lz dGVyKSBhcmUgZGlmZmVyZW50Cj4+ICAgIGJldHdlZW4gcmszMjg4IGFuZCBleHlub3MuCj4+IDMu IFJrMzI4OCBhbmQgZXh5bm9zIGhhdmUgZGlmZmVyZW50IHNldHRpbmcgd2l0aCBBVVhfSFdfUkVU UllfQ1RMKGRwIGRlYnVnCj4+ICAgIHJlZ2lzdGVyKS4KPj4gCj4+IEkgaGF2ZSB2ZXJpZmllZCB0 aGlzIHNlcmllcyBvbiB0d28ga2luZHMgb2Ygcm9ja2NoaXAgcGxhdGZvcm0gYm9hcmQsIG9uZQo+ PiBpcyByazMyODggc2RrIGJvYXJkIHdoaWNoIGNvbm5lY3Qgd2l0aCBhIDJLIGRpc3BsYXkgcG9y dCBtb25pdG9yLCB0aGUgb3RoZXIKPj4gaXMgZ29vZ2xlIGplcnJ5IGNocm9tZWJvb2sgd2hpY2gg Y29ubmVjdCB3aXRoIGEgZURQIHNjcmVlbiAiY25tLG4xMTZiZ2VlYTIiLAo+PiBib3RoIG9mIHRo ZW0gd29ya3MgcmlnaHRsbHkuCj4+IAo+PiBJIGhhdmVuJ3QgdmVyaWZpZWQgdGhlIGRwIGZ1bmN0 aW9uIG9uIHNhbXN1bmcgcGxhdGZvcm0sIGNhdXNlIEkgaGF2ZW4ndCBnb3QKPj4gZXh5bm9zIGJv YXJkcy4gSSBjYW4gb25seSBlbnN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gYnVpbGQgZXJyb3Igb24g c2Ftc3VuZwo+PiBwbGF0Zm9ybSwgd2lzaCBzb21lIHNhbXN1bmcgZ3V5cyBoZWxwIHRvIHRlc3Qu IDspCj4+IAo+PiBUaGFua3MsCj4+IC0gWWFraXIKPj4gCj4+IENoYW5nZXMgaW4gdjM6Cj4+IC0g VGFrZSBUaGllcnJ5IFJlZGluZyBzdWdnZXN0LCBtb3ZlIGV4eW5vcydzIHZpZGVvX3RpbWluZyBj b2RlCj4+ICAgdG8gYW5hbG9naXhfZHAtZXh5bm9zIHBsYXRmb3JtIGRyaXZlciwgYWRkIGdldF9t b2RlcyBtZXRob2QKPj4gICB0byBzdHJ1Y3QgYW5hbG9naXhfZHBfcGxhdF9kYXRhLgo+PiAtIFRh a2UgSGVpa28gc3VnZ2VzdCwgcmVuYW1lIHNvbWUgInNhbXN1bmcqIiBkdHMgcHJvcGVyeSB0byAi YW5hbG9naXgqIi4KPj4gLSBUYWtlIFRoaWVycnkgUmVkaW5nIHN1Z2dlc3QsIGR5bmFtaWMgcGFy c2UgdmlkZW8gdGltaW5nIGluZm8gZnJvbQo+PiAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGFu ZCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mby4KPj4gLSBUYWtlIFRoaWVycnkgUmVkaW5nIHN1Z2dl c3QsIGxpbmtfcmF0ZSBhbmQgbGFuZV9jb3VudCBzaG91bGRuJ3QgY29uZmlnIHRvCj4+ICAgdGhl IERUIHByb3BlcnR5IHZhbHVlIGRpcmVjdGx5LCBidXQgd2UgY2FuIHRha2UgdGhvc2UgYXMgaGFy ZHdhcmUgbGltaXRlLgo+PiAgIEZvciBleGFtcGxlLCBSSzMyODggb25seSBzdXBwb3J0IDQgcGh5 c2ljYWwgbGFuZXMgb2YgMi43LzEuNjIgR2Jwcy9sYW5lLAo+PiAgIHNvIERUIHByb3BlcnR5IHdv dWxkIGxpa2UgImxpbmstcmF0ZSA9IDB4MGEiICJsYW5lLWNvdW50ID0gNCIuCj4+IC0gVGFrZSBI ZWlrbyBzdWdnZXN0LCBhZGQgZGV2aWNldHJlZSBiaW5kaW5nIGRvY3VtZW50cy4KPj4gLSBUYWtl IFRoaWVycnkgUmVkaW5nIHN1Z2dlc3QsIHJlbW92ZSBzeW5jIHBvbCAmIGNvbG9yaW1ldHJ5IHBy b3Blcmllcwo+PiAgIGZyb20gdGhlIG5ldyBhbmFsb2dpeCBkcCBkcml2ZXIgZGV2aWNldHJlZSBi aW5kaW5nLgo+PiAtIFVwZGF0ZSB0aGUgZXhpc3QgZXh5bm9zIGR0c2kgZmlsZSB3aXRoIHRoZSBs YXRlc3QgRFAgRFQgcHJvcGVyaWVzLgo+PiAtIFRha2UgVGhpZXJyeSBSZWRpbmcgYW5kIEhlaWtv IHN1Z2dlc3QsIGxlYXZlICJzY2xrX2VkcF8yNG0iIHRvIHJvY2tjaGlwCj4+ICAgZHAgcGh5IGRy aXZlciB3aGljaCBuYW1lIHRvICIyNG0iLCBhbmQgbGVhdmUgInNjbGtfZWRwIiB0byBhbmFsb2dp eCBkcAo+PiAgIGNvcmUgZHJpdmVyIHdoaWNoIG5hbWUgdG8gImRwIiwgYW5kIGxlYXZlICJwY2xr X2VkcCIgdG8gcm9ja2NoaXAgZHAgcGxhdGZvcm0KPj4gICBkcml2ZXIgd2hpY2ggbmFtZSB0byAi cGNsayIuCj4+IC0gVGFrZSBIZWlrbyBzdWdnZXN0LCBhZGQgZGV2aWNldHJlZSBiaW5kaW5nIGRv Y3VtZW50Lgo+PiAtIFRha2UgSGVpa28gc3VnZ2VzdCwgcmVtb3ZlICJyb2NrY2hpcCxwYW5lbCIg RFQgcHJvcGVydHksIHRha2UgdXNlIG9mIHJlbW90ZQo+PiAgIHBvaW50IHRvIGdldCBwYW5lbCBu b2RlLgo+PiAtIEFkZCB0aGUgbmV3IGZ1bmN0aW9uIHBvaW50IGFuYWxvZ2l4X2RwX3BsYXRkYXRh LmdldF9tb2RlcyBpbml0Lgo+PiAtIFRha2UgSGVpa28gc3VnZ2VzdCwgYWRkIHJvY2tjaGlwIGRw IHBoeSBkcml2ZXIsCj4+ICAgY29sbGVjdCB0aGUgcGh5IGNsb2NrcyBhbmQgcG93ZXIgY29udHJv bC4KPj4gLSBBZGQgImFuYWxvZ2l4LG5lZWQtZm9yY2UtaHBkIiB0byBpbmRpY2F0ZSB3aGV0aGVy IGRyaXZlciBuZWVkIGZvY2UKPj4gICBocGQgd2hlbiBocGQgZGV0ZWN0IGZhaWxlZC4KPj4gLSBt b3ZlIGRwIGhwZCBkZXRlY3QgdG8gY29ubmVjdG9yIGRldGVjdCBmdW5jdGlvbi4KPj4gLSBBZGQg ZWRpZCBtb2RlcyBwYXJzZSBzdXBwb3J0Cj4+IAo+PiBDaGFuZ2VzIGluIHYyOgo+PiAtIFRha2Ug Sm9lIFByZWNoZXMgYWR2aXNlLCBpbXByb3ZlZCBjb21taXQgbWVzc2FnZSBtb3JlIHJlYWRhYmxl LCBhbmQKPj4gICBhdm9pZCB1c2luZyBzb21lIHVuY29tbW9uIHN0eWxlIGxpa2UgYmVsbG93Ogo+ PiAgIC0gIHJldHZhbCA9IGV4eW5vc19kcF9yZWFkX2J5dGVzX2Zyb21faTJjKC4uLgo+PiAgICAg ICAgICAgICAgICAuLi4pCj4+ICAgKyAgcmV0dmFsID0KPj4gICArICBleHlub3NfZHBfcmVhZF9i eXRlc19mcm9tX2kyYyguLi4uLi4pOwo+PiAtIFRha2UgSmluZ29vIEhhbiBzdWdnZXN0LCBqdXN0 IHJlbW92ZSBteSBuYW1lIGZyb20gYXV0aG9yIGxpc3QuCj4+IC0gVGFrZSBKaW5nb28gSGFuIHN1 Z2dlc3QsIHJlbW92ZSBuZXcgY29weXJpZ2h0Cj4+IC0gRml4IGNvbXBpbGVkIGZhaWxlZCBkdXQg dG8gYW5hbG9naXhfZHBfZGV2aWNlIG1pc3NwZWxsCj4+IC0gVGFrZSBIZWlrbyBzdWdnZXN0LCBn ZXQgcGFuZWwgbm9kZSB3aXRoIHJlbW90ZS1lbmRwb2ludCBtZXRob2QsCj4+ICAgYW5kIGNyZWF0 ZSBkZXZpY2V0cmVlIGJpbmRpbmcgZm9yIGRyaXZlci4KPj4gLSBSZW1vdmUgdGhlIGNsb2NrIGVu YWJsZS9kaXNiYWxlIHdpdGggInNjbGtfZWRwIiAmICJzY2xrX2VkcF8yNG0iLAo+PiAgIGxlYXZl IHRob3NlIGNsb2NrIHRvIHJvY2tjaGlwIGRwIHBoeSBkcml2ZXIuCj4+IC0gQWRkIEdOVSBsaWNl bnNlIHYyIGRlY2xhcmVkIGFuZCBzYW1zdW5nIGNvcHlyaWdodAo+PiAtIEZpeCBjb21waWxlIGZh aWxlZCBkdXQgdG8gcGh5X3BkX2FkZHIgdmFyaWFibGUgbWlzc3BlbGwgZXJyb3IKPj4gCj4+IFlh a2lyIFlhbmcgKDE0KToKPj4gICBkcm06IGV4eW5vcy9kcDogZml4IGNvZGUgc3R5bGUKPj4gICBk cm06IGV4eW5vcy9kcDogY29udmVydCB0byBkcm0gYnJpZGdlIG1vZGUKPj4gICBkcm06IGJyaWRn ZTogYW5hbG9naXhfZHA6IHNwbGl0IGV4eW5vcyBkcCBkcml2ZXIgdG8gYnJpZGdlIGRpcgo+PiAg IGRybTogYnJpZGdlL2FuYWxvZ2l4X2RwOiBkeW5hbWljIHBhcnNlIHN5bmNfcG9sICYgaW50ZXJs YWNlICYKPj4gICAgIGNvbG9yaW1ldHJ5Cj4+ICAgZHJtOiBicmlkZ2UvYW5hbG9naXhfZHA6IGZp eCBsaW5rX3JhdGUgJiBsYW5lX2NvdW50IGJ1Zwo+PiAgIERvY3VtZW50YXRpb246IGRybS9icmlk Z2U6IGFkZCBkb2N1bWVudCBmb3IgYW5hbG9naXhfZHAKPj4gICBkcm06IHJvY2tjaGlwL2RwOiBh ZGQgcm9ja2NoaXAgcGxhdGZvcm0gZHAgZHJpdmVyCj4+ICAgcGh5OiBBZGQgZHJpdmVyIGZvciBy b2NrY2hpcCBEaXNwbGF5IFBvcnQgUEhZCj4+ICAgZHJtOiBicmlkZ2UvYW5hbG9naXhfZHA6IGFk ZCBwbGF0Zm9ybSBkZXZpY2UgdHlwZSBzdXBwb3J0Cj4+ICAgZHJtOiBicmlkZ2U6IGFuYWxvZ2l4 X2RwOiBhZGQgc29tZSByazMyODggc3BlY2lhbCByZWdpc3RlcnMgc2V0dGluZwo+PiAgIGRybTog YnJpZGdlOiBhbmFsb2dpeF9kcDogdHJ5IGZvcmNlIGhwZCBhZnRlciBwbHVnIGluIGxvb2t1cCBm YWlsZWQKPj4gICBkcm06IGJyaWRnZS9hbmFsb2dpeF9kcDogZXhwYW5kIHRoZSBkZWxheSB0aW1l IGZvciBocGQgZGV0ZWN0Cj4+ICAgZHJtOiBicmlkZ2UvYW5hbG9naXhfZHA6IG1vdmUgaHBkIGRl dGVjdCB0byBjb25uZWN0b3IgZGV0ZWN0IGZ1bmN0aW9uCj4+ICAgZHJtOiBicmlkZ2UvYW5hbG9n aXhfZHA6IGFkZCBlZGlkIG1vZGVzIHBhcnNlIGluIGdldF9tb2RlcyBtZXRob2QKPj4gCj4+ICAu Li4vZGV2aWNldHJlZS9iaW5kaW5ncy9kcm0vYnJpZGdlL2FuYWxvZ2l4X2RwLnR4dCB8ICAgNzMg Kwo+PiAgLi4uL2RldmljZXRyZWUvYmluZGluZ3MvcGh5L3JvY2tjaGlwLWRwLXBoeS50eHQgICAg fCAgIDI2ICsKPj4gIC4uLi9iaW5kaW5ncy92aWRlby9hbmFsb2dpeF9kcC1yb2NrY2hpcC50eHQg ICAgICAgIHwgICA4MyArKwo+PiAgLi4uL2RldmljZXRyZWUvYmluZGluZ3MvdmlkZW8vZXh5bm9z X2RwLnR4dCAgICAgICAgfCAgIDUxICstCj4+ICBhcmNoL2FybS9ib290L2R0cy9leHlub3M1MjUw LWFybmRhbGUuZHRzICAgICAgICAgICB8ICAgMTAgKy0KPj4gIGFyY2gvYXJtL2Jvb3QvZHRzL2V4 eW5vczUyNTAtc21kazUyNTAuZHRzICAgICAgICAgIHwgICAxMCArLQo+PiAgYXJjaC9hcm0vYm9v dC9kdHMvZXh5bm9zNTI1MC1zbm93LmR0cyAgICAgICAgICAgICAgfCAgIDEyICstCj4+ICBhcmNo L2FybS9ib290L2R0cy9leHlub3M1MjUwLXNwcmluZy5kdHMgICAgICAgICAgICB8ICAgMTIgKy0K Pj4gIGFyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczU0MjAtcGVhY2gtcGl0LmR0cyAgICAgICAgIHwg ICAxMiArLQo+PiAgYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNTQyMC1zbWRrNTQyMC5kdHMgICAg ICAgICAgfCAgIDEwICstCj4+ICBhcmNoL2FybS9ib290L2R0cy9leHlub3M1ODAwLXBlYWNoLXBp LmR0cyAgICAgICAgICB8ICAgMTIgKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvS2NvbmZp ZyAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArCj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdl L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+PiAgZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeF9kcF9jb3JlLmMgICAgICAgICAgfCAxMzgyICsrKysrKysrKysrKysr KysrKysKPj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXhfZHBfY29yZS5oICAgICAg ICAgIHwgIDI4NiArKysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4X2RwX3Jl Zy5jICAgICAgICAgICB8IDEyOTQgKysrKysrKysrKysrKysrKysrCj4+ICAuLi4vZXh5bm9zX2Rw X3JlZy5oID0+IGJyaWRnZS9hbmFsb2dpeF9kcF9yZWcuaH0gICB8ICAyNzAgKystLQo+PiAgZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICst Cj4+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICB8 ICAgIDIgKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvYW5hbG9naXhfZHAtZXh5bm9zLmMg ICAgICAgIHwgIDM0NyArKysrKwo+PiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBf Y29yZS5jICAgICAgICAgICAgfCAxNDE2IC0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICBkcml2ZXJz L2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcF9jb3JlLmggICAgICAgICAgICB8ICAyODIgLS0tLQo+ PiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBfcmVnLmMgICAgICAgICAgICAgfCAx MjYzIC0tLS0tLS0tLS0tLS0tLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvS2NvbmZp ZyB8ICAgIDkgKwo+PiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL01ha2VmaWxlICAgICAgICAg ICAgICAgICAgfCAgICAxICsKPj4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9hbmFsb2dpeF9k cC1yb2NrY2hpcC5jICAgIHwgIDM5MCArKysrKysKPj4gIGRyaXZlcnMvcGh5L0tjb25maWcgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArCj4+ICBkcml2ZXJzL3BoeS9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+PiAgZHJpdmVycy9w aHkvcGh5LXJvY2tjaGlwLWRwLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMTg1ICsrKwo+PiAg aW5jbHVkZS9kcm0vYnJpZGdlL2FuYWxvZ2l4X2RwLmggfCAgIDQwICsKPj4gIDMwIGZpbGVzIGNo YW5nZWQsIDQzMjUgaW5zZXJ0aW9ucygrKSwgMzE3MiBkZWxldGlvbnMoLSkKPj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZHJtL2JyaWRnZS9h bmFsb2dpeF9kcC50eHQKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvcGh5L3JvY2tjaGlwLWRwLXBoeS50eHQKPj4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmlkZW8vYW5hbG9naXhfZHAt cm9ja2NoaXAudHh0Cj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hbmFsb2dpeF9kcF9jb3JlLmMKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2FuYWxvZ2l4X2RwX2NvcmUuaAo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXhfZHBfcmVnLmMKPiAKPiBNaW5vciBjb21tZW50OiBT aW5jZSB0aGVyZSBhcmUgYSBmZXcgZmlsZXMgcmVxdWlyZWQgZm9yIHRoZSBkcml2ZXIsCj4gY291 bGQgeW91IGNyZWF0ZSBhIHNlcGFyYXRlIGZvbGRlciB3aXRoaW4gZHJpdmVycy9ncHUvZHJtL2Jy aWRnZT8KCkkgYWdyZWUgb24gdGhpcyBvcGluaW9uLgpUaGFuayB5b3UuIAoKQmVzdCByZWdhcmRz LApKaW5nb28gSGFuCgo+IFRoYW5rcywKPiBBcmNoaXQKPiAKPiAtLSAKPiBRdWFsY29tbSBJbm5v dmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwKPiBh IExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: jingoohan1@gmail.com (Jingoo Han) Date: Thu, 20 Aug 2015 14:54:22 +0900 Subject: [PATCH v3 0/14] Add Analogix Core Display Port Driver In-Reply-To: <55D557BD.8070004@codeaurora.org> References: <1439995728-18046-1-git-send-email-ykk@rock-chips.com> <55D557BD.8070004@codeaurora.org> Message-ID: <58DB3289-29F0-4C2D-97F6-EB0555392DF2@gmail.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 2015. 8. 20., at PM 1:29, Archit Taneja 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. Best regards, Jingoo Han > Thanks, > Archit > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, > a Linux Foundation Collaborative Project