* [PATCH 0/3] drm/rockchip: lvds: add support Rockchip Soc LVDS @ 2017-08-09 10:00 Sandy Huang 2017-08-09 10:00 ` [PATCH 1/3] dt-bindings: display: Add Document for " Sandy Huang 2017-08-09 10:00 ` [PATCH 2/3] ARM: dts: Add LVDS info for rk3288 Sandy Huang 0 siblings, 2 replies; 5+ messages in thread From: Sandy Huang @ 2017-08-09 10:00 UTC (permalink / raw) To: Mark Yao, David Airlie, Rob Herring, Mark Rutland, Heiko Stuebner, Russell King Cc: devicetree, dri-devel, linux-kernel, linux-rockchip, linux-arm-kernel This patches add support Rockchip RK3288 LVDS support, based on patches from Mark yao[0] and Heiko Stuebner[1]. [0]: https://github.com/RockchipOpensourceCommunity/popmetal-kernel-3.14 [1]: http://lists.infradead.org/pipermail/linux-rockchip/2015-April/002830.html Changes: - Update rockchip_lvds_encoder_helper_funcs to atomic API - Add bridge function for RGB/LVDS convert to other output type - Fix some unreasonable define - Adapter to the latest rockchip DRM driver framework - Add pinctrl for RGB output type - Reseved some define for rockchip next Soc Sandy Huang (3): dt-bindings: display: Add Document for Rockchip Soc LVDS ARM: dts: Add LVDS info for rk3288 drm/rockchip: Add support for Rockchip Soc LVDS .../bindings/display/rockchip/rockchip-lvds.txt | 104 +++ arch/arm/boot/dts/rk3288.dtsi | 52 ++ drivers/gpu/drm/rockchip/Kconfig | 9 + drivers/gpu/drm/rockchip/Makefile | 1 + drivers/gpu/drm/rockchip/rockchip_lvds.c | 734 +++++++++++++++++++++ drivers/gpu/drm/rockchip/rockchip_lvds.h | 112 ++++ 6 files changed, 1012 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt create mode 100644 drivers/gpu/drm/rockchip/rockchip_lvds.c create mode 100644 drivers/gpu/drm/rockchip/rockchip_lvds.h -- 2.7.4 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] dt-bindings: display: Add Document for Rockchip Soc LVDS 2017-08-09 10:00 [PATCH 0/3] drm/rockchip: lvds: add support Rockchip Soc LVDS Sandy Huang @ 2017-08-09 10:00 ` Sandy Huang [not found] ` <1502272851-63997-1-git-send-email-hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org> 2017-08-09 10:00 ` [PATCH 2/3] ARM: dts: Add LVDS info for rk3288 Sandy Huang 1 sibling, 1 reply; 5+ messages in thread From: Sandy Huang @ 2017-08-09 10:00 UTC (permalink / raw) To: Mark Yao, David Airlie, Rob Herring, Mark Rutland, Heiko Stuebner Cc: Sandy Huang, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel This patch add Document for Rockchip Soc RK3288 LVDS, This based on the patches from Mark yao and Heiko Stuebner. Signed-off-by: Sandy Huang <hjc@rock-chips.com> Signed-off-by: Mark yao <mark.yao@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> --- .../bindings/display/rockchip/rockchip-lvds.txt | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt new file mode 100644 index 0000000..bf934ba --- /dev/null +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt @@ -0,0 +1,104 @@ +Rockchip RK3288 LVDS interface +================================ + +Required properties: +- compatible: matching the soc type, one of + - "rockchip,rk3288-lvds"; + +- reg: physical base address of the controller and length + of memory mapped region. +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. +- clock-names: must contain "pclk_lvds" + +- avdd1v0-supply: regulator phandle for 1.0V analog power +- avdd1v8-supply: regulator phandle for 1.8V analog power +- avdd3v3-supply: regulator phandle for 3.3V analog power + +- rockchip,grf: phandle to the general register files syscon + +Optional properties +- pinctrl-names: must contain a "lcdc" entry. +- pinctrl-0: pin control group to be used for this controller. + +Required nodes: + +The lvds has two video ports as described by + Documentation/devicetree/bindings/media/video-interfaces.txt. +Their connections are modeled using the OF graph bindings specified in + Documentation/devicetree/bindings/graph.txt. + +- video port 0 for the VOP inputs +- video port 1 for either a panel or subsequent encoder + +the lvds panel described by + Documentation/devicetree/bindings/display/panel/simple-panel.txt + +- rockchip,data-mapping: should be "vesa" or "jeida", + This describes how the color bits are laid out in the + serialized LVDS signal. +- rockchip,data-width : should be <18> or <24>; +- rockchip,output: should be "rgb", "lvds" or "duallvds", + This describes the output face. +- ports for remote LVDS output + +Example: + +lvds_panel: lvds-panel { + status = "okay"; + compatible = "simple-panel"; + enable-gpios = <&gpio7 21 GPIO_ACTIVE_HIGH>; + rockchip,data-mapping = "jeida"; + rockchip,data-width = <24>; + rockchip,output = "rgb"; + + ports { + panel_in_lvds: endpoint { + remote-endpoint = <&lvds_out_panel>; + }; + }; +}; + + +For Rockchip RK3288: + + lvds: lvds@ff96c000 { + compatible = "rockchip,rk3288-lvds"; + rockchip,grf = <&grf>; + reg = <0xff96c000 0x4000>; + clocks = <&cru PCLK_LVDS_PHY>; + clock-names = "pclk_lvds"; + pinctrl-names = "lcdc"; + pinctrl-0 = <&lcdc_ctl>; + avdd1v0-supply = <&vdd10_lcd>; + avdd1v8-supply = <&vcc18_lcd>; + avdd3v3-supply = <&vcca_33>; + rockchip,data-mapping = "jeida"; + rockchip,data-width = <24>; + rockchip,output = "rgb"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + lvds_in: port@0 { + reg = <0>; + + lvds_in_vopb: endpoint@0 { + reg = <0>; + remote-endpoint = <&vopb_out_lvds>; + }; + lvds_in_vopl: endpoint@1 { + reg = <1>; + remote-endpoint = <&vopl_out_lvds>; + }; + }; + + lvds_out: port@1 { + reg = <1>; + + lvds_out_panel: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + }; -- 2.7.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1502272851-63997-1-git-send-email-hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org>]
* Re: [PATCH 1/3] dt-bindings: display: Add Document for Rockchip Soc LVDS [not found] ` <1502272851-63997-1-git-send-email-hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org> @ 2017-08-11 15:38 ` Philipp Zabel 2017-08-14 4:04 ` Sandy Huang 0 siblings, 1 reply; 5+ messages in thread From: Philipp Zabel @ 2017-08-11 15:38 UTC (permalink / raw) To: Sandy Huang, Mark Yao, David Airlie, Rob Herring, Mark Rutland, Heiko Stuebner Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Wed, 2017-08-09 at 18:00 +0800, Sandy Huang wrote: > This patch add Document for Rockchip Soc RK3288 LVDS, > This based on the patches from Mark yao and Heiko Stuebner. > > > Signed-off-by: Sandy Huang <hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org> > > Signed-off-by: Mark yao <mark.yao-TNX95d0MmH7DzftRWevZcw@public.gmane.org> > > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> > --- > .../bindings/display/rockchip/rockchip-lvds.txt | 104 +++++++++++++++++++++ > 1 file changed, 104 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt > > diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt > new file mode 100644 > index 0000000..bf934ba > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt > @@ -0,0 +1,104 @@ > +Rockchip RK3288 LVDS interface > +================================ > + > +Required properties: > +- compatible: matching the soc type, one of > > + - "rockchip,rk3288-lvds"; > + > +- reg: physical base address of the controller and length > > + of memory mapped region. > +- clocks: must include clock specifiers corresponding to entries in the > > + clock-names property. > +- clock-names: must contain "pclk_lvds" > + > +- avdd1v0-supply: regulator phandle for 1.0V analog power > +- avdd1v8-supply: regulator phandle for 1.8V analog power > +- avdd3v3-supply: regulator phandle for 3.3V analog power > + > +- rockchip,grf: phandle to the general register files syscon > + > +Optional properties > +- pinctrl-names: must contain a "lcdc" entry. > +- pinctrl-0: pin control group to be used for this controller. > + > +Required nodes: > + > +The lvds has two video ports as described by > > + Documentation/devicetree/bindings/media/video-interfaces.txt. > +Their connections are modeled using the OF graph bindings specified in > > + Documentation/devicetree/bindings/graph.txt. > + > +- video port 0 for the VOP inputs > +- video port 1 for either a panel or subsequent encoder > + > +the lvds panel described by > > + Documentation/devicetree/bindings/display/panel/simple-panel.txt > + > +- rockchip,data-mapping: should be "vesa" or "jeida", > > + This describes how the color bits are laid out in the > > + serialized LVDS signal. > +- rockchip,data-width : should be <18> or <24>; This can already be described by the panel itself, via the bus_format property in the panel_desc for panel-simple, or via the existing panel device tree property "data-mapping" in panel-lvds, which can be set to "jeida-18", "jeida-24", or "vesa-24". The LVDS driver can then read the panel bus information from the panel's connector->display_info.bus_formats. So if these properties are necessary at all, they at least should be optional (overrides). regards Philipp -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] dt-bindings: display: Add Document for Rockchip Soc LVDS 2017-08-11 15:38 ` Philipp Zabel @ 2017-08-14 4:04 ` Sandy Huang 0 siblings, 0 replies; 5+ messages in thread From: Sandy Huang @ 2017-08-14 4:04 UTC (permalink / raw) To: Philipp Zabel, Mark Yao, David Airlie, Rob Herring, Mark Rutland, Heiko Stuebner Cc: devicetree, dri-devel, linux-kernel, linux-arm-kernel, linux-rockchip 在 2017/8/11 23:38, Philipp Zabel 写道: > On Wed, 2017-08-09 at 18:00 +0800, Sandy Huang wrote: >> This patch add Document for Rockchip Soc RK3288 LVDS, >> This based on the patches from Mark yao and Heiko Stuebner. >> >>> Signed-off-by: Sandy Huang <hjc@rock-chips.com> >>> Signed-off-by: Mark yao <mark.yao@rock-chips.com> >>> Signed-off-by: Heiko Stuebner <heiko@sntech.de> >> --- >> .../bindings/display/rockchip/rockchip-lvds.txt | 104 +++++++++++++++++++++ >> 1 file changed, 104 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt >> >> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt >> new file mode 100644 >> index 0000000..bf934ba >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt >> @@ -0,0 +1,104 @@ >> +Rockchip RK3288 LVDS interface >> +================================ >> + >> +Required properties: >> +- compatible: matching the soc type, one of >>> + - "rockchip,rk3288-lvds"; >> + >> +- reg: physical base address of the controller and length >>> + of memory mapped region. >> +- clocks: must include clock specifiers corresponding to entries in the >>> + clock-names property. >> +- clock-names: must contain "pclk_lvds" >> + >> +- avdd1v0-supply: regulator phandle for 1.0V analog power >> +- avdd1v8-supply: regulator phandle for 1.8V analog power >> +- avdd3v3-supply: regulator phandle for 3.3V analog power >> + >> +- rockchip,grf: phandle to the general register files syscon >> + >> +Optional properties >> +- pinctrl-names: must contain a "lcdc" entry. >> +- pinctrl-0: pin control group to be used for this controller. >> + >> +Required nodes: >> + >> +The lvds has two video ports as described by >>> + Documentation/devicetree/bindings/media/video-interfaces.txt. >> +Their connections are modeled using the OF graph bindings specified in >>> + Documentation/devicetree/bindings/graph.txt. >> + >> +- video port 0 for the VOP inputs >> +- video port 1 for either a panel or subsequent encoder >> + >> +the lvds panel described by >>> + Documentation/devicetree/bindings/display/panel/simple-panel.txt >> + >> +- rockchip,data-mapping: should be "vesa" or "jeida", >>> + This describes how the color bits are laid out in the >>> + serialized LVDS signal. >> +- rockchip,data-width : should be <18> or <24>; > > This can already be described by the panel itself, via the bus_format > property in the panel_desc for panel-simple, or via the existing panel > device tree property "data-mapping" in panel-lvds, which can be set to > "jeida-18", "jeida-24", or "vesa-24". > > The LVDS driver can then read the panel bus information from the > panel's connector->display_info.bus_formats. > Because the lvds maybe connected to panel or some cover chip just like rgb2cvbs etc. , in this case, we no need to enable panel, so we have to get this proterty at here. > So if these properties are necessary at all, they at least should be > optional (overrides). > ok, i will set data-mapping to option. > regards > Philipp > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip > _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/3] ARM: dts: Add LVDS info for rk3288 2017-08-09 10:00 [PATCH 0/3] drm/rockchip: lvds: add support Rockchip Soc LVDS Sandy Huang 2017-08-09 10:00 ` [PATCH 1/3] dt-bindings: display: Add Document for " Sandy Huang @ 2017-08-09 10:00 ` Sandy Huang 1 sibling, 0 replies; 5+ messages in thread From: Sandy Huang @ 2017-08-09 10:00 UTC (permalink / raw) To: Heiko Stuebner, Rob Herring, Mark Rutland, Russell King Cc: Sandy Huang, linux-arm-kernel, linux-rockchip, devicetree, linux-kernel add LVDS info in rk3288.dtsi for LVDS driver This based on the patches from Mark yao and Heiko Stuebner. Signed-off-by: Sandy Huang <hjc@rock-chips.com> Signed-off-by: Mark yao <mark.yao@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> --- arch/arm/boot/dts/rk3288.dtsi | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index 2484f11..c2e33b8 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi @@ -983,6 +983,11 @@ reg = <2>; remote-endpoint = <&mipi_in_vopb>; }; + + vopb_out_lvds: endpoint@3 { + reg = <3>; + remote-endpoint = <&lvds_in_vopb>; + }; }; }; @@ -1026,6 +1031,11 @@ reg = <2>; remote-endpoint = <&mipi_in_vopl>; }; + + vopl_out_lvds: endpoint@3 { + reg = <3>; + remote-endpoint = <&lvds_in_vopl>; + }; }; }; @@ -1099,6 +1109,39 @@ }; }; + lvds: lvds@ff96c000 { + compatible = "rockchip,rk3288-lvds"; + reg = <0xff96c000 0x4000>; + clocks = <&cru PCLK_LVDS_PHY>; + clock-names = "pclk_lvds"; + pinctrl-names = "lcdc"; + pinctrl-0 = <&lcdc_ctl>; + power-domains = <&power RK3288_PD_VIO>; + rockchip,grf = <&grf>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + lvds_in: port@0 { + reg = <0>; + + #address-cells = <1>; + #size-cells = <0>; + + lvds_in_vopb: endpoint@0 { + reg = <0>; + remote-endpoint = <&vopb_out_lvds>; + }; + lvds_in_vopl: endpoint@1 { + reg = <1>; + remote-endpoint = <&vopl_out_lvds>; + }; + }; + }; + }; + hdmi: hdmi@ff980000 { compatible = "rockchip,rk3288-dw-hdmi"; reg = <0xff980000 0x20000>; @@ -1823,5 +1866,14 @@ rockchip,pins = <RK_GPIO6 11 RK_FUNC_1 &pcfg_pull_none>; }; }; + + lcdc { + lcdc_ctl: lcdc-ctl { + rockchip,pins = <1 24 RK_FUNC_1 &pcfg_pull_none>, + <1 25 RK_FUNC_1 &pcfg_pull_none>, + <1 26 RK_FUNC_1 &pcfg_pull_none>, + <1 27 RK_FUNC_1 &pcfg_pull_none>; + }; + }; }; }; -- 2.7.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-08-14 4:04 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-09 10:00 [PATCH 0/3] drm/rockchip: lvds: add support Rockchip Soc LVDS Sandy Huang
2017-08-09 10:00 ` [PATCH 1/3] dt-bindings: display: Add Document for " Sandy Huang
[not found] ` <1502272851-63997-1-git-send-email-hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-08-11 15:38 ` Philipp Zabel
2017-08-14 4:04 ` Sandy Huang
2017-08-09 10:00 ` [PATCH 2/3] ARM: dts: Add LVDS info for rk3288 Sandy Huang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).