Message ID | 1612420939-15502-4-git-send-email-mkrishn@codeaurora.org |
---|---|
State | New |
Headers | show |
Series | [v10,1/4] dt-bindings: msm: disp: add yaml schemas for DPU bindings | expand |
Quoting Krishna Manikandan (2021-02-03 22:42:19) > Add bindings for Snapdragon DisplayPort controller driver. > > Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org> > Signed-off-by: Vara Reddy <varar@codeaurora.org> > Signed-off-by: Tanmay Shah <tanmay@codeaurora.org> > Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> > [...] > > Changes in v11: > - add ports required of both #address-cells and #size-cells > - add required operating-points-v2 > - add required #sound-dai-cells > - add required power-domains > - update maintainer list Where's that maintainer file update? > --- > .../bindings/display/msm/dp-controller.yaml | 157 +++++++++++++++++++++ > .../bindings/display/msm/dpu-sc7180.yaml | 10 ++ > 2 files changed, 167 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/msm/dp-controller.yaml > > diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml > new file mode 100644 > index 0000000..2b71c7a > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml > @@ -0,0 +1,157 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/msm/dp-controller.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MSM Display Port Controller > + > +maintainers: > + - Chandan Uddaraju <chandanu@codeaurora.org> This email is bouncing. Please remove Chandan. > + - Vara Reddy <varar@codeaurora.org> > + - Kuogee Hsieh <khsieh@codeaurora.org> > + > +description: | > + Device tree bindings for DisplayPort host controller for MSM targets > + that are compatible with VESA DisplayPort interface specification. > + > +properties: > + compatible: > + enum: > + - qcom,sc7180-dp > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: AHB clock to enable register access > + - description: Display Port AUX clock > + - description: Display Port Link clock > + - description: Link interface clock between DP and PHY > + - description: Display Port Pixel clock > + > + clock-names: > + items: > + - const: core_iface > + - const: core_aux > + - const: ctrl_link > + - const: ctrl_link_iface > + - const: stream_pixel > + > + phys: > + maxItems: 1 > + > + phy-names: > + items: > + - const: dp > + > + operating-points-v2: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > + "#sound-dai-cells": > + const: 0 > + > + ports: > + type: object > + description: | > + A ports node with endpoint definitions as defined in > + Documentation/devicetree/bindings/media/video-interfaces.txt. > + properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + port@0: > + type: object > + description: Input endpoint of the controller > + > + port@1: > + type: object > + description: Output endpoint of the controller > + > + required: > + - "#address-cells" > + - "#size-cells" > + > + additionalProperties: false > + > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - phys > + - phy-names > + - "#sound-dai-cells" > + - power-domains > + - ports > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/clock/qcom,dispcc-sc7180.h> > + #include <dt-bindings/power/qcom-aoss-qmp.h> > + #include <dt-bindings/power/qcom-rpmpd.h> > + > + mdss@ae00000 { mdss is not a standard node name. Maybe 'subsystem'? > + #address-cells = <2>; > + #size-cells = <2>; > + reg = <0xae00000 0x1000>, /* mdss */ > + <0xae90000 0x1400>; /* dp */ This second reg property shouldn't be here. > + reg-names = "mdss", "dp"; > + > + displayport-controller@ae90000 {
On 2021-02-05 11:02, Stephen Boyd wrote: > Quoting Krishna Manikandan (2021-02-03 22:42:19) >> Add bindings for Snapdragon DisplayPort controller driver. >> >> Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org> >> Signed-off-by: Vara Reddy <varar@codeaurora.org> >> Signed-off-by: Tanmay Shah <tanmay@codeaurora.org> >> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> >> > [...] >> >> Changes in v11: >> - add ports required of both #address-cells and #size-cells >> - add required operating-points-v2 >> - add required #sound-dai-cells >> - add required power-domains >> - update maintainer list > > Where's that maintainer file update? I had deleted Tanmay. Anyway, I will removed Chandan at next upload. > >> --- >> .../bindings/display/msm/dp-controller.yaml | 157 >> +++++++++++++++++++++ >> .../bindings/display/msm/dpu-sc7180.yaml | 10 ++ >> 2 files changed, 167 insertions(+) >> create mode 100644 >> Documentation/devicetree/bindings/display/msm/dp-controller.yaml >> >> diff --git >> a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml >> b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml >> new file mode 100644 >> index 0000000..2b71c7a >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml >> @@ -0,0 +1,157 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/display/msm/dp-controller.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: MSM Display Port Controller >> + >> +maintainers: >> + - Chandan Uddaraju <chandanu@codeaurora.org> > > This email is bouncing. Please remove Chandan. ok > >> + - Vara Reddy <varar@codeaurora.org> >> + - Kuogee Hsieh <khsieh@codeaurora.org> >> + >> +description: | >> + Device tree bindings for DisplayPort host controller for MSM >> targets >> + that are compatible with VESA DisplayPort interface specification. >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,sc7180-dp >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + clocks: >> + items: >> + - description: AHB clock to enable register access >> + - description: Display Port AUX clock >> + - description: Display Port Link clock >> + - description: Link interface clock between DP and PHY >> + - description: Display Port Pixel clock >> + >> + clock-names: >> + items: >> + - const: core_iface >> + - const: core_aux >> + - const: ctrl_link >> + - const: ctrl_link_iface >> + - const: stream_pixel >> + >> + phys: >> + maxItems: 1 >> + >> + phy-names: >> + items: >> + - const: dp >> + >> + operating-points-v2: >> + maxItems: 1 >> + >> + power-domains: >> + maxItems: 1 >> + >> + "#sound-dai-cells": >> + const: 0 >> + >> + ports: >> + type: object >> + description: | >> + A ports node with endpoint definitions as defined in >> + Documentation/devicetree/bindings/media/video-interfaces.txt. >> + properties: >> + "#address-cells": >> + const: 1 >> + >> + "#size-cells": >> + const: 0 >> + >> + port@0: >> + type: object >> + description: Input endpoint of the controller >> + >> + port@1: >> + type: object >> + description: Output endpoint of the controller >> + >> + required: >> + - "#address-cells" >> + - "#size-cells" >> + >> + additionalProperties: false >> + >> + >> +required: >> + - compatible >> + - reg >> + - interrupts >> + - clocks >> + - clock-names >> + - phys >> + - phy-names >> + - "#sound-dai-cells" >> + - power-domains >> + - ports >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/interrupt-controller/arm-gic.h> >> + #include <dt-bindings/clock/qcom,dispcc-sc7180.h> >> + #include <dt-bindings/power/qcom-aoss-qmp.h> >> + #include <dt-bindings/power/qcom-rpmpd.h> >> + >> + mdss@ae00000 { > > mdss is not a standard node name. Maybe 'subsystem'? Can you give me more details regrading this. I had double checked both ti/ti,am65x-dss.yaml and msm/dsi-phy.yaml and can not find any clue for this. Can I just followed msm/dsi-phy.yaml for this? > >> + #address-cells = <2>; >> + #size-cells = <2>; >> + reg = <0xae00000 0x1000>, /* mdss */ >> + <0xae90000 0x1400>; /* dp */ > > This second reg property shouldn't be here. ok > >> + reg-names = "mdss", "dp"; >> + >> + displayport-controller@ae90000 {
Quoting khsieh@codeaurora.org (2021-02-05 12:55:47) > On 2021-02-05 11:02, Stephen Boyd wrote: > > Quoting Krishna Manikandan (2021-02-03 22:42:19) > >> Add bindings for Snapdragon DisplayPort controller driver. > >> > >> Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org> > >> Signed-off-by: Vara Reddy <varar@codeaurora.org> > >> Signed-off-by: Tanmay Shah <tanmay@codeaurora.org> > >> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> Krishna is sending these patches, so there should be an SoB line here from Krishna. Please add it next time. > >> > > [...] > >> > >> Changes in v11: > >> - add ports required of both #address-cells and #size-cells > >> - add required operating-points-v2 > >> - add required #sound-dai-cells > >> - add required power-domains > >> - update maintainer list > > > > Where's that maintainer file update? > I had deleted Tanmay. > Anyway, I will removed Chandan at next upload. Ok. > > > >> --- > >> .../bindings/display/msm/dp-controller.yaml | 157 > >> +++++++++++++++++++++ > >> .../bindings/display/msm/dpu-sc7180.yaml | 10 ++ > >> 2 files changed, 167 insertions(+) > >> create mode 100644 > >> Documentation/devicetree/bindings/display/msm/dp-controller.yaml > >> > >> diff --git > >> a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml > >> b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml > >> new file mode 100644 > >> index 0000000..2b71c7a > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml > >> @@ -0,0 +1,157 @@ > >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) [...] > >> +required: > >> + - compatible > >> + - reg > >> + - interrupts > >> + - clocks > >> + - clock-names > >> + - phys > >> + - phy-names > >> + - "#sound-dai-cells" > >> + - power-domains > >> + - ports > >> + > >> +additionalProperties: false > >> + > >> +examples: > >> + - | > >> + #include <dt-bindings/interrupt-controller/arm-gic.h> > >> + #include <dt-bindings/clock/qcom,dispcc-sc7180.h> > >> + #include <dt-bindings/power/qcom-aoss-qmp.h> > >> + #include <dt-bindings/power/qcom-rpmpd.h> > >> + > >> + mdss@ae00000 { > > > > mdss is not a standard node name. Maybe 'subsystem'? > Can you give me more details regrading this. > I had double checked both ti/ti,am65x-dss.yaml and msm/dsi-phy.yaml and > can not find any clue for this. > Can I just followed msm/dsi-phy.yaml for this? Please look at section "2.2.2 Generic Names Recommendation" of the DT spec[1] to find a proper name. I don't see 'subsystem' there but that may be because it shouldn't really exist as a node. Instead we should have the child nodes sit directly under the SoC node. [1] https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf
diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml new file mode 100644 index 0000000..2b71c7a --- /dev/null +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml @@ -0,0 +1,157 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/msm/dp-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MSM Display Port Controller + +maintainers: + - Chandan Uddaraju <chandanu@codeaurora.org> + - Vara Reddy <varar@codeaurora.org> + - Kuogee Hsieh <khsieh@codeaurora.org> + +description: | + Device tree bindings for DisplayPort host controller for MSM targets + that are compatible with VESA DisplayPort interface specification. + +properties: + compatible: + enum: + - qcom,sc7180-dp + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + items: + - description: AHB clock to enable register access + - description: Display Port AUX clock + - description: Display Port Link clock + - description: Link interface clock between DP and PHY + - description: Display Port Pixel clock + + clock-names: + items: + - const: core_iface + - const: core_aux + - const: ctrl_link + - const: ctrl_link_iface + - const: stream_pixel + + phys: + maxItems: 1 + + phy-names: + items: + - const: dp + + operating-points-v2: + maxItems: 1 + + power-domains: + maxItems: 1 + + "#sound-dai-cells": + const: 0 + + ports: + type: object + description: | + A ports node with endpoint definitions as defined in + Documentation/devicetree/bindings/media/video-interfaces.txt. + properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + port@0: + type: object + description: Input endpoint of the controller + + port@1: + type: object + description: Output endpoint of the controller + + required: + - "#address-cells" + - "#size-cells" + + additionalProperties: false + + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - phys + - phy-names + - "#sound-dai-cells" + - power-domains + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/qcom,dispcc-sc7180.h> + #include <dt-bindings/power/qcom-aoss-qmp.h> + #include <dt-bindings/power/qcom-rpmpd.h> + + mdss@ae00000 { + #address-cells = <2>; + #size-cells = <2>; + reg = <0xae00000 0x1000>, /* mdss */ + <0xae90000 0x1400>; /* dp */ + reg-names = "mdss", "dp"; + + displayport-controller@ae90000 { + compatible = "qcom,sc7180-dp"; + reg = <0 0xae90000 0 0x1400>; + interrupt-parent = <&mdss>; + interrupts = <12>; + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&dispcc DISP_CC_MDSS_DP_AUX_CLK>, + <&dispcc DISP_CC_MDSS_DP_LINK_CLK>, + <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>, + <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>; + clock-names = "core_iface", "core_aux", + "ctrl_link", + "ctrl_link_iface", "stream_pixel"; + + phys = <&dp_phy>; + phy-names = "dp"; + + #sound-dai-cells = <0>; + + power-domains = <&rpmhpd SC7180_CX>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + endpoint { + remote-endpoint = <&dpu_intf0_out>; + }; + }; + + port@1 { + reg = <1>; + endpoint { + remote-endpoint = <&typec>; + }; + }; + }; + }; + }; +... diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml index 9e7c314..b7cf191 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml @@ -131,6 +131,9 @@ patternProperties: port@1: type: object description: DPU_INTF2 (DSI2) + port@2: + type: object + description: DPU_INTF0 (DP) required: - compatible @@ -206,6 +209,13 @@ examples: remote-endpoint = <&dsi0_in>; }; }; + + port@2 { + reg = <2>; + dpu_intf0_out: endpoint { + remote-endpoint = <&dp_in>; + }; + }; }; }; };