From mboxrd@z Thu Jan 1 00:00:00 1970 From: Caesar Wang Subject: Re: [PATCH v14.1 09/17] drm: rockchip: dp: add rockchip platform dp driver Date: Fri, 18 Mar 2016 14:45:29 +0800 Message-ID: <56EBA409.60707@gmail.com> References: <1455534485-1154-1-git-send-email-ykk@rock-chips.com> <1455534640-1877-1-git-send-email-ykk@rock-chips.com> <2523119.bAzQsAzOsc@diego> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <2523119.bAzQsAzOsc@diego> Sender: linux-samsung-soc-owner@vger.kernel.org To: =?UTF-8?Q?Heiko_St=c3=bcbner?= , Yakir Yang Cc: Krzysztof Kozlowski , Seung-Woo Kim , djkurtz@chromium.org, Andrzej Hajda , Gustavo Padovan , linux-samsung-soc@vger.kernel.org, Russell King , Joonyoung Shim , linux-rockchip@lists.infradead.org, Kishon Vijay Abraham I , javier@osg.samsung.com, Kukjin Kim , robherring2@gmail.com, Thierry Reding , devicetree@vger.kernel.org, Pawel Moll , Ian Campbell , Inki Dae , Rob Herring , Sean Paul , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Mark Yao , Jingoo Han , emil.l.velikov@gmail.c List-Id: devicetree@vger.kernel.org =E5=9C=A8 2016=E5=B9=B403=E6=9C=8818=E6=97=A5 05:51, Heiko St=C3=BCbner= =E5=86=99=E9=81=93: > Rockchip have three clocks for dp controller, we leave pclk_edp > to analogix_dp driver control, and keep the sclk_edp_24m and > sclk_edp in platform driver. > > Signed-off-by: Yakir Yang > Tested-by: Javier Martinez Canillas Tested-by: Caesar Wang As the cover-letter said, verified on=20 https://github.com/Caesar-github/rockchip/tree/veyron/next-stable-chrom= eos with linux-next for 20160317. > --- > Changes in v14.1: > - replace rockchip_drm_encoder_get_mux_id with the new > drm_of_encoder_active_endpoint_id > > Changes in v14: None > Changes in v13: > - Use .enable instead of preprare/commit in encoder_helper_funcs (Hei= ko) > - Fix the missing parameters with drm_encoder_init() helper function.= (Heiko) > > Changes in v12: None > Changes in v11: None > Changes in v10: > - Correct the ROCKCHIP_ANALOGIX_DP indentation in Kconfig to tabs her= e (Heiko) > > Changes in v9: None > Changes in v8: None > Changes in v7: None > Changes in v6: None > Changes in v5: > - Remove the empty line at the end of document, and correct the endpo= int > numbers in the example DT node, and remove the regulator iomux set= ting > in driver code while using the pinctl in devicetree instead. (Heik= o) > - Add device type declared, cause the previous "platform device type > support (v4 11/16)" already merge into (v5 02/14). > - Implement connector registration code. (Thierry) > > Changes in v4: > - Remove some deprecated DT properties in rockchip dp document. > > Changes in v3: > - 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". (Thierry & Heiko) > - Add devicetree binding document. (Heiko) > - Remove "rockchip,panel" DT property, take use of remote point to ge= t panel > node. (Heiko) > - Add the new function point dp_platdata->get_modes() init. > > Changes in v2: > - Get panel node with remote-endpoint method, and create devicetree b= inding > for driver. (Heiko) > - Remove the clock enable/disbale with "sclk_edp" & "sclk_edp_24m", > leave those clock to rockchip dp phy driver. > > drivers/gpu/drm/rockchip/Kconfig | 9 + > drivers/gpu/drm/rockchip/Makefile | 1 + > drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 384 +++++++++++++= +++++++++++ > include/drm/bridge/analogix_dp.h | 1 + > 4 files changed, 395 insertions(+) > create mode 100644 drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockc= hip/Kconfig > index 76b3362..d30bdc3 100644 > --- a/drivers/gpu/drm/rockchip/Kconfig > +++ b/drivers/gpu/drm/rockchip/Kconfig > @@ -16,6 +16,15 @@ config DRM_ROCKCHIP > 2D or 3D acceleration; acceleration is performed by other > IP found on the SoC. > =20 > +config ROCKCHIP_ANALOGIX_DP > + tristate "Rockchip specific extensions for Analogix DP driver" > + depends on DRM_ROCKCHIP > + select DRM_ANALOGIX_DP > + help > + This selects support for Rockchip SoC specific extensions > + for the Analogix Core DP driver. If you want to enable DP > + on RK3288 based SoC, you should selet this option. > + > config ROCKCHIP_DW_HDMI > tristate "Rockchip specific extensions for Synopsys DW HDMI= " > depends on DRM_ROCKCHIP > diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rock= chip/Makefile > index df8fbef..05d0713 100644 > --- a/drivers/gpu/drm/rockchip/Makefile > +++ b/drivers/gpu/drm/rockchip/Makefile > @@ -6,6 +6,7 @@ rockchipdrm-y :=3D rockchip_drm_drv.o rockchip_drm_fb= =2Eo \ > rockchip_drm_gem.o rockchip_drm_vop.o > rockchipdrm-$(CONFIG_DRM_FBDEV_EMULATION) +=3D rockchip_drm_fbdev.o > =20 > +obj-$(CONFIG_ROCKCHIP_ANALOGIX_DP) +=3D analogix_dp-rockchip.o > obj-$(CONFIG_ROCKCHIP_DW_HDMI) +=3D dw_hdmi-rockchip.o > obj-$(CONFIG_ROCKCHIP_DW_MIPI_DSI) +=3D dw-mipi-dsi.o > obj-$(CONFIG_ROCKCHIP_INNO_HDMI) +=3D inno_hdmi.o > diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/driver= s/gpu/drm/rockchip/analogix_dp-rockchip.c > new file mode 100644 > index 0000000..a1d94d8 > --- /dev/null > +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > @@ -0,0 +1,384 @@ > +/* > + * Rockchip SoC DP (Display Port) interface driver. > + * > + * Copyright (C) Fuzhou Rockchip Electronics Co., Ltd. > + * Author: Andy Yan > + * Yakir Yang > + * Jeff Chen > + * > + * This program is free software; you can redistribute it and/or mod= ify it > + * under the terms of the GNU General Public License as published by= the > + * Free Software Foundation; either version 2 of the License, or (at= your > + * option) any later version. > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > +#include > +#include > +#include > + > +#include