Add DT bindings documentmation for the HDP-TX PHY controller. The describes which could be found on NXP Layerscape ls1028a platform.
Signed-off-by: Wen He wen.he_1@nxp.com --- change in v2: - correction the node name.
.../devicetree/bindings/display/fsl,hdp.txt | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/fsl,hdp.txt
diff --git a/Documentation/devicetree/bindings/display/fsl,hdp.txt b/Documentation/devicetree/bindings/display/fsl,hdp.txt new file mode 100644 index 000000000000..53ca08337587 --- /dev/null +++ b/Documentation/devicetree/bindings/display/fsl,hdp.txt @@ -0,0 +1,56 @@ +NXP Layerscpae ls1028a HDP-TX PHY Controller +============================================ + +The following bindings describe the Cadence HDP TX PHY on ls1028a that +offer multi-protocol support of standars such as eDP and Displayport, +supports for 25-600MHz pixel clock and up to 4k2k at 60MHz resolution. +The HDP transmitter is a Cadence HDP TX controller IP with a companion +PHY IP. + +Required properties: + - compatible: Should be "fsl,ls1028a-dp" for ls1028a. + - reg: Physical base address and size of the block of registers used + by the processor. + - interrupts: HDP hotplug in/out detect interrupt number + - clocks: A list of phandle + clock-specifier pairs, one for each entry + in 'clock-names' + - clock-names: A list of clock names. It should contain: + - "clk_ipg": inter-Integrated circuit clock + - "clk_core": for the Main Display TX controller clock + - "clk_pxl": for the pixel clock feeding the output PLL of the processor + - "clk_pxl_mux": for the high PerfPLL bypass clock + - "clk_pxl_link": for the link rate pixel clock + - "clk_apb": for the APB interface clock + - "clk_vif": for the Video pixel clock + +Required sub-nodes: + - port: The HDP connection to an encoder output port. The connection + is modelled using the OF graph bindings specified in + Documentation/devicetree/bindings/graph.txt + + +Example: + +/ { + ... + + hdptx0: display@f200000 { + compatible = "fsl,ls1028a-dp"; + reg = <0x0 0xf1f0000 0x0 0xffff>, + <0x0 0xf200000 0x0 0xfffff>; + interrupts = <0 221 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&sysclk>, <&hdpclk>, <&dpclk>, + <&dpclk>, <&dpclk>, <&pclk>, <&dpclk>; + clock-names = "clk_ipg", "clk_core", "clk_pxl", + "clk_pxl_mux", "clk_pxl_link", "clk_apb", + "clk_vif"; + + port { + dp1_output: endpoint { + remote-endpoint = <&dp0_input>; + }; + }; + }; + + ... +};
This patch enables the HDP controller driver on the LS1028A.
Signed-off-by: Alison Wang aslion.wang@nxp.com Signed-off-by: Wen He wen.he_1@nxp.com --- .../arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi index aef5b06a98d5..19612ad9a4a1 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi @@ -91,6 +91,13 @@ clock-output-names= "pclk"; };
+ hdpclk: clock-hdpcore { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <162500000>; + clock-output-names= "hdpclk"; + }; + reboot { compatible ="syscon-reboot"; regmap = <&dcfg>; @@ -558,7 +565,25 @@
port { dp0_out: endpoint { + remote-endpoint = <&dp1_out>; + }; + }; + };
+ hdptx0: display@f200000 { + compatible = "fsl,ls1028a-dp"; + reg = <0x0 0xf1f0000 0x0 0xffff>, + <0x0 0xf200000 0x0 0xfffff>; + interrupts = <0 221 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&sysclk>, <&hdpclk>, <&dpclk>, + <&dpclk>, <&dpclk>, <&pclk>, <&dpclk>; + clock-names = "clk_ipg", "clk_core", "clk_pxl", + "clk_pxl_mux", "clk_pxl_link", "clk_apb", + "clk_vif"; + + port { + dp1_out: endpoint { + remote-endpoint = <&dp0_out>; }; }; };
This patch add HDP PHY Controller related nodes on the LS1028ARDB.
Signed-off-by: Alison Wang alison.wang@nxp.com Signed-off-by: Wen He wen.he_1@nxp.com --- arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts index 9fb911317ecd..a907eb2c000b 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts @@ -171,3 +171,15 @@ &sata { status = "okay"; }; + +&hdptx0 { + fsl,no_edid; + resolution = "3840x2160@60", + "1920x1080@60", + "1280x720@60", + "720x480@60"; + lane_mapping = <0x4e>; + edp_link_rate = <0x6>; + edp_num_lanes = <0x4>; + status = "okay"; +};
This patch add HDP PHY Controller related nodes on the LS1028AQDS.
Signed-off-by: Alison Wang alison.wang@nxp.com Signed-off-by: Wen He wen.he_1@nxp.com --- arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts index de6ef39f3118..a9af6e8a6517 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts @@ -173,3 +173,15 @@ &sata { status = "okay"; }; + +&hdptx0 { + fsl,no_edid; + resolution = "3840x2160@60", + "1920x1080@60", + "1280x720@60", + "720x480@60"; + lane_mapping = <0x4e>; + edp_link_rate = <0x6>; + edp_num_lanes = <0x4>; + status = "okay"; +};
On Fri, Jul 19, 2019 at 06:09:39PM +0800, Wen He wrote:
Add DT bindings documentmation for the HDP-TX PHY controller. The describes which could be found on NXP Layerscape ls1028a platform.
Not required, but please consider converting to DT schema (YAML) format.
Signed-off-by: Wen He wen.he_1@nxp.com
change in v2: - correction the node name.
.../devicetree/bindings/display/fsl,hdp.txt | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/fsl,hdp.txt
diff --git a/Documentation/devicetree/bindings/display/fsl,hdp.txt b/Documentation/devicetree/bindings/display/fsl,hdp.txt new file mode 100644 index 000000000000..53ca08337587 --- /dev/null +++ b/Documentation/devicetree/bindings/display/fsl,hdp.txt @@ -0,0 +1,56 @@ +NXP Layerscpae ls1028a HDP-TX PHY Controller
typo
+============================================
+The following bindings describe the Cadence HDP TX PHY on ls1028a that +offer multi-protocol support of standars such as eDP and Displayport,
s/offer/offers/
and another typo.
+supports for 25-600MHz pixel clock and up to 4k2k at 60MHz resolution. +The HDP transmitter is a Cadence HDP TX controller IP with a companion +PHY IP.
+Required properties:
- compatible: Should be "fsl,ls1028a-dp" for ls1028a.
- reg: Physical base address and size of the block of registers used
- by the processor.
The example shows 2 regions, what are they?
- interrupts: HDP hotplug in/out detect interrupt number
- clocks: A list of phandle + clock-specifier pairs, one for each entry
- in 'clock-names'
- clock-names: A list of clock names. It should contain:
- "clk_ipg": inter-Integrated circuit clock
- "clk_core": for the Main Display TX controller clock
- "clk_pxl": for the pixel clock feeding the output PLL of the processor
- "clk_pxl_mux": for the high PerfPLL bypass clock
- "clk_pxl_link": for the link rate pixel clock
- "clk_apb": for the APB interface clock
- "clk_vif": for the Video pixel clock
'clk_' is redundant.
+Required sub-nodes:
- port: The HDP connection to an encoder output port. The connection
- is modelled using the OF graph bindings specified in
- Documentation/devicetree/bindings/graph.txt
I'm still confused as to what this block does? The 'encoder output' is DisplayPort? If this is just a phy, then use the phy binding.
Normally, a DisplayPort encoder/bridge OF graph output would be connected to a DP connector node or a panel.
Rob
-----Original Message----- From: Rob Herring robh@kernel.org Sent: 2019年8月13日 7:30 To: Wen He wen.he_1@nxp.com Cc: linux-kernel@vger.kernel.org; dri-devel@lists.freedesktop.org; devicetree@vger.kernel.org; mark.rutland@arm.com; shawnguo@kernel.org; Leo Li leoyang.li@nxp.com Subject: [EXT] Re: [v2 1/4] dt-bindings: display: Add DT bindings for LS1028A HDP-TX PHY.
Caution: EXT Email
On Fri, Jul 19, 2019 at 06:09:39PM +0800, Wen He wrote:
Add DT bindings documentmation for the HDP-TX PHY controller. The describes which could be found on NXP Layerscape ls1028a platform.
Not required, but please consider converting to DT schema (YAML) format.
Understand,
Signed-off-by: Wen He wen.he_1@nxp.com
change in v2: - correction the node name.
.../devicetree/bindings/display/fsl,hdp.txt | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/fsl,hdp.txt
diff --git a/Documentation/devicetree/bindings/display/fsl,hdp.txt b/Documentation/devicetree/bindings/display/fsl,hdp.txt new file mode 100644 index 000000000000..53ca08337587 --- /dev/null +++ b/Documentation/devicetree/bindings/display/fsl,hdp.txt @@ -0,0 +1,56 @@ +NXP Layerscpae ls1028a HDP-TX PHY Controller
typo
+============================================
+The following bindings describe the Cadence HDP TX PHY on ls1028a +that offer multi-protocol support of standars such as eDP and +Displayport,
s/offer/offers/
and another typo.
+supports for 25-600MHz pixel clock and up to 4k2k at 60MHz resolution. +The HDP transmitter is a Cadence HDP TX controller IP with a +companion PHY IP.
+Required properties:
- compatible: Should be "fsl,ls1028a-dp" for ls1028a.
- reg: Physical base address and size of the block of registers
used
- by the processor.
The example shows 2 regions, what are they?
One is HDP transmitter controller address region, another is multimedia PLL address region. Sorry, here should be use the HDP transmitter controller region.
I've already send clock patches included the multimedia PLL implementation.
- interrupts: HDP hotplug in/out detect interrupt number
- clocks: A list of phandle + clock-specifier pairs, one for each
entry
- in 'clock-names'
- clock-names: A list of clock names. It should contain:
- "clk_ipg": inter-Integrated circuit clock
- "clk_core": for the Main Display TX controller clock
- "clk_pxl": for the pixel clock feeding the output PLL of the processor
- "clk_pxl_mux": for the high PerfPLL bypass clock
- "clk_pxl_link": for the link rate pixel clock
- "clk_apb": for the APB interface clock
- "clk_vif": for the Video pixel clock
'clk_' is redundant.
OK
+Required sub-nodes:
- port: The HDP connection to an encoder output port. The connection
- is modelled using the OF graph bindings specified in
- Documentation/devicetree/bindings/graph.txt
I'm still confused as to what this block does? The 'encoder output' is DisplayPort? If this is just a phy, then use the phy binding.
Normally, a DisplayPort encoder/bridge OF graph output would be connected to a DP connector node or a panel.
Yes, you are right, but For LS1028A, HDP(Cadence HD Display Transmitter) are included eDP/Display port controller and Display PHY controller. In other word, they are 1 IP block on LS1028A.
A full graphics connection relationship of the LS1028A:
DP500 --> eDP/DP controller ---> DPHY ---> DP/eDP interface.
Best Regards, Wen
Rob
dri-devel@lists.freedesktop.org