From: Hyun Kwon Date: Fri, 9 Mar 2018 18:50:11 +0000 (-0800) Subject: arm64: zynqmp: dt: Add new ZynqMP DP changes X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c08205f69b8f9345f0eb3e74d9c0207c0807056f;p=thirdparty%2Fu-boot.git arm64: zynqmp: dt: Add new ZynqMP DP changes This removes old dt contents from all dts files for ZynqMP DisplayPort and updates all with new bindings. Please note, some of these changes are only build-tested. Signed-off-by: Hyun Kwon Signed-off-by: Michal Simek --- diff --git a/arch/arm/dts/zynqmp-clk-ccf.dtsi b/arch/arm/dts/zynqmp-clk-ccf.dtsi index d1877d90ad9..27aff913aeb 100644 --- a/arch/arm/dts/zynqmp-clk-ccf.dtsi +++ b/arch/arm/dts/zynqmp-clk-ccf.dtsi @@ -256,18 +256,14 @@ clocks = <&clk 70>; }; -&xilinx_drm { - clocks = <&clk 16>; -}; - -&xlnx_dp { - clocks = <&dp_aclk>, <&clk 17>; +&zynqmp_dpsub { + clocks = <&dp_aclk>, <&clk 17>, <&clk 16>; }; &xlnx_dpdma { clocks = <&clk 20>; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { clocks = <&clk 17>; }; diff --git a/arch/arm/dts/zynqmp-clk.dtsi b/arch/arm/dts/zynqmp-clk.dtsi index 873799f54b3..5b4aaef829f 100644 --- a/arch/arm/dts/zynqmp-clk.dtsi +++ b/arch/arm/dts/zynqmp-clk.dtsi @@ -226,18 +226,14 @@ clocks = <&clk250>; }; -&xilinx_drm { - clocks = <&drm_clock>; -}; - -&xlnx_dp { - clocks = <&dp_aclk>, <&dp_aud_clk>; +&zynqmp_dpsub { + clocks = <&dp_aclk>, <&dp_aud_clk>, <&drm_clock>; }; &xlnx_dpdma { clocks = <&dpdma_clk>; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { clocks = <&dp_aud_clk>; }; diff --git a/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts b/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts index 142c0a4692a..fab0be6d43a 100644 --- a/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts +++ b/arch/arm/dts/zynqmp-zc1751-xm015-dc1.dts @@ -412,35 +412,26 @@ phys = <&lane2 PHY_TYPE_USB3 0 2 26000000>; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&lane1 PHY_TYPE_DP 0 0 27000000>, <&lane0 PHY_TYPE_DP 1 1 27000000>; }; -&xlnx_dp_sub { - status = "okay"; - xlnx,vid-clk-pl; -}; - -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_card0 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts b/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts index 1fcd6c682d3..a374f89b3d2 100644 --- a/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts +++ b/arch/arm/dts/zynqmp-zc1751-xm018-dc4.dts @@ -117,7 +117,7 @@ status = "okay"; }; -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zcu100-revC.dts b/arch/arm/dts/zynqmp-zcu100-revC.dts index 6d69fb5d7c8..33f78b522b0 100644 --- a/arch/arm/dts/zynqmp-zcu100-revC.dts +++ b/arch/arm/dts/zynqmp-zcu100-revC.dts @@ -695,34 +695,26 @@ status = "okay"; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&lane1 PHY_TYPE_DP 0 1 27000000>, <&lane0 PHY_TYPE_DP 1 1 27000000>; }; -&xlnx_dp_sub { - status = "okay"; -}; - -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_card0 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zcu102-revA.dts b/arch/arm/dts/zynqmp-zcu102-revA.dts index 259ab949d9f..dbaac91de06 100644 --- a/arch/arm/dts/zynqmp-zcu102-revA.dts +++ b/arch/arm/dts/zynqmp-zcu102-revA.dts @@ -938,34 +938,25 @@ drivers/hwmon/pmbus/Makefile:11:obj-$(CONFIG_SENSORS_MAX20751) += max20751.o status = "okay"; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0"; phys = <&lane1 PHY_TYPE_DP 0 3 27000000>; - xlnx,max-lanes = <1>; -}; - -&xlnx_dp_sub { - status = "okay"; }; -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_card0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zcu104-revA.dts b/arch/arm/dts/zynqmp-zcu104-revA.dts index 8932d424753..b949d41c097 100644 --- a/arch/arm/dts/zynqmp-zcu104-revA.dts +++ b/arch/arm/dts/zynqmp-zcu104-revA.dts @@ -483,33 +483,25 @@ status = "okay"; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&lane1 PHY_TYPE_DP 0 3 27000000>, <&lane0 PHY_TYPE_DP 1 3 27000000>; }; -&xlnx_dp_sub { - status = "okay"; -}; - -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_card0 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zcu104-revC.dts b/arch/arm/dts/zynqmp-zcu104-revC.dts index d43770c835b..07ab0c24d98 100644 --- a/arch/arm/dts/zynqmp-zcu104-revC.dts +++ b/arch/arm/dts/zynqmp-zcu104-revC.dts @@ -483,33 +483,25 @@ status = "okay"; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&lane1 PHY_TYPE_DP 0 3 27000000>, <&lane0 PHY_TYPE_DP 1 3 27000000>; }; -&xlnx_dp_sub { - status = "okay"; -}; - -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_card0 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zcu106-revA.dts b/arch/arm/dts/zynqmp-zcu106-revA.dts index eb51e0b5937..20f7fdddfbc 100644 --- a/arch/arm/dts/zynqmp-zcu106-revA.dts +++ b/arch/arm/dts/zynqmp-zcu106-revA.dts @@ -891,33 +891,25 @@ phys = <&lane2 PHY_TYPE_USB3 0 2 26000000>; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&lane1 PHY_TYPE_DP 0 3 27000000>, <&lane0 PHY_TYPE_DP 1 3 27000000>; }; -&xlnx_dp_sub { - status = "okay"; -}; - -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_card0 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp-zcu111-revA.dts b/arch/arm/dts/zynqmp-zcu111-revA.dts index 293bcacdafa..60fc6fd43c4 100644 --- a/arch/arm/dts/zynqmp-zcu111-revA.dts +++ b/arch/arm/dts/zynqmp-zcu111-revA.dts @@ -764,33 +764,25 @@ phys = <&lane2 PHY_TYPE_USB3 0 2 26000000>; }; -&xilinx_drm { - status = "okay"; -}; - -&xlnx_dp { +&zynqmp_dpsub { status = "okay"; phy-names = "dp-phy0", "dp-phy1"; phys = <&lane1 PHY_TYPE_DP 0 1 27000000>, <&lane0 PHY_TYPE_DP 1 1 27000000>; }; -&xlnx_dp_sub { - status = "okay"; -}; - -&xlnx_dp_snd_pcm0 { +&zynqmp_dp_snd_pcm0 { status = "okay"; }; -&xlnx_dp_snd_pcm1 { +&zynqmp_dp_snd_pcm1 { status = "okay"; }; -&xlnx_dp_snd_card { +&zynqmp_dp_snd_card0 { status = "okay"; }; -&xlnx_dp_snd_codec0 { +&zynqmp_dp_snd_codec0 { status = "okay"; }; diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi index 63467547f17..904b2d211aa 100644 --- a/arch/arm/dts/zynqmp.dtsi +++ b/arch/arm/dts/zynqmp.dtsi @@ -342,54 +342,6 @@ compatible = "xlnx,zynqmp-keccak-384"; }; - xlnx_dp_snd_card: dp_snd_card { - compatible = "xlnx,dp-snd-card"; - status = "disabled"; - xlnx,dp-snd-pcm = <&xlnx_dp_snd_pcm0>, <&xlnx_dp_snd_pcm1>; - xlnx,dp-snd-codec = <&xlnx_dp_snd_codec0>; - }; - - xlnx_dp_snd_codec0: dp_snd_codec0 { - compatible = "xlnx,dp-snd-codec"; - status = "disabled"; - clock-names = "aud_clk"; - }; - - xlnx_dp_snd_pcm0: dp_snd_pcm0 { - compatible = "xlnx,dp-snd-pcm"; - status = "disabled"; - dmas = <&xlnx_dpdma 4>; - dma-names = "tx"; - }; - - xlnx_dp_snd_pcm1: dp_snd_pcm1 { - compatible = "xlnx,dp-snd-pcm"; - status = "disabled"; - dmas = <&xlnx_dpdma 5>; - dma-names = "tx"; - }; - - xilinx_drm: xilinx_drm { - compatible = "xlnx,drm"; - status = "disabled"; - xlnx,encoder-slave = <&xlnx_dp>; - xlnx,connector-type = "DisplayPort"; - xlnx,dp-sub = <&xlnx_dp_sub>; - planes { - xlnx,pixel-format = "rgb565"; - plane0 { - dmas = <&xlnx_dpdma 3>; - dma-names = "dma0"; - }; - plane1 { - dmas = <&xlnx_dpdma 0>, - <&xlnx_dpdma 1>, - <&xlnx_dpdma 2>; - dma-names = "dma0", "dma1", "dma2"; - }; - }; - }; - amba_apu: amba_apu@0 { compatible = "simple-bus"; #address-cells = <2>; @@ -1152,39 +1104,6 @@ }; }; - xlnx_dp: dp@fd4a0000 { - compatible = "xlnx,v-dp"; - status = "disabled"; - reg = <0x0 0xfd4a0000 0x0 0x1000>; - interrupts = <0 119 4>; - interrupt-parent = <&gic>; - clock-names = "aclk", "aud_clk"; - power-domains = <&pd_dp>; - xlnx,dp-version = "v1.2"; - xlnx,max-lanes = <2>; - xlnx,max-link-rate = <540000>; - xlnx,max-bpc = <16>; - xlnx,enable-ycrcb; - xlnx,colormetry = "rgb"; - xlnx,bpc = <8>; - xlnx,audio-chan = <2>; - xlnx,dp-sub = <&xlnx_dp_sub>; - xlnx,max-pclock-frequency = <300000>; - }; - - xlnx_dp_sub: dp_sub@fd4aa000 { - compatible = "xlnx,dp-sub"; - status = "disabled"; - reg = <0x0 0xfd4aa000 0x0 0x1000>, - <0x0 0xfd4ab000 0x0 0x1000>, - <0x0 0xfd4ac000 0x0 0x1000>; - reg-names = "blend", "av_buf", "aud"; - xlnx,output-fmt = "rgb"; - xlnx,vid-fmt = "yuyv"; - xlnx,gfx-fmt = "rgb565"; - power-domains = <&pd_dp>; - }; - xlnx_dpdma: dma@fd4c0000 { compatible = "xlnx,dpdma"; status = "disabled"; @@ -1214,5 +1133,62 @@ compatible = "xlnx,audio1"; }; }; + + zynqmp_dpsub: zynqmp-display@fd4a0000 { + compatible = "xlnx,zynqmp-dpsub-1.7"; + status = "disabled"; + reg = <0x0 0xfd4a0000 0x0 0x1000>, + <0x0 0xfd4aa000 0x0 0x1000>, + <0x0 0xfd4ab000 0x0 0x1000>, + <0x0 0xfd4ac000 0x0 0x1000>; + reg-names = "dp", "blend", "av_buf", "aud"; + interrupts = <0 119 4>; + interrupt-parent = <&gic>; + + clock-names = "dp_apb_clk", "dp_aud_clk", + "dp_vtc_pixel_clk_in"; + + power-domains = <&pd_dp>; + + vid-layer { + dma-names = "vid0", "vid1", "vid2"; + dmas = <&xlnx_dpdma 0>, + <&xlnx_dpdma 1>, + <&xlnx_dpdma 2>; + }; + + gfx-layer { + dma-names = "gfx0"; + dmas = <&xlnx_dpdma 3>; + }; + + /* dummy node to indicate there's no child i2c device */ + i2c-bus { + }; + + zynqmp_dp_snd_codec0: zynqmp_dp_snd_codec0 { + compatible = "xlnx,dp-snd-codec"; + clock-names = "aud_clk"; + }; + + zynqmp_dp_snd_pcm0: zynqmp_dp_snd_pcm0 { + compatible = "xlnx,dp-snd-pcm"; + dmas = <&xlnx_dpdma 4>; + dma-names = "tx"; + }; + + zynqmp_dp_snd_pcm1: zynqmp_dp_snd_pcm1 { + compatible = "xlnx,dp-snd-pcm"; + dmas = <&xlnx_dpdma 5>; + dma-names = "tx"; + }; + + zynqmp_dp_snd_card0: zynqmp_dp_snd_card { + compatible = "xlnx,dp-snd-card"; + xlnx,dp-snd-pcm = <&zynqmp_dp_snd_pcm0>, + <&zynqmp_dp_snd_pcm1>; + xlnx,dp-snd-codec = <&zynqmp_dp_snd_codec0>; + }; + }; }; };