Message ID | 606e22c2ef4d32d63937976860fb24f4cb39b720.1628399442.git.hns@goldelico.com |
---|---|
State | New |
Headers | show |
Series | MIPS: JZ4780 and CI20 HDMI | expand |
On Sun, Aug 08, 2021 at 07:10:39AM +0200, H. Nikolaus Schaller wrote: > From: Sam Ravnborg <sam@ravnborg.org> > > Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC. > Based on .txt binding from Zubair Lutfullah Kakakhel > > Signed-off-by: Sam Ravnborg <sam@ravnborg.org> > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> > Cc: Rob Herring <robh@kernel.org> > Cc: devicetree@vger.kernel.org > --- > .../bindings/display/ingenic-jz4780-hdmi.yaml | 82 +++++++++++++++++++ > 1 file changed, 82 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml > > diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml > new file mode 100644 > index 0000000000000..a545ff8704ebd > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml > @@ -0,0 +1,82 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/ingenic-jz4780-hdmi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Bindings for Ingenic JZ4780 HDMI Transmitter > + > +maintainers: > + - H. Nikolaus Schaller <hns@goldelico.com> > + > +description: | > + The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4 > + TX controller IP with accompanying PHY IP. > + > +allOf: > + - $ref: panel/panel-common.yaml# This isn't a panel... > + > +properties: > + compatible: > + items: > + - const: ingenic,jz4780-hdmi > + > + reg: > + maxItems: 1 > + description: the address & size of the LCD controller registers Drop. Don't need generic descriptions. Plus, this isn't an LCD controller. > + > + reg-io-width: > + const: 4 > + > + interrupts: > + maxItems: 1 > + description: Specifies the interrupt provided by parent Drop. Don't need generic descriptions. > + > + clocks: > + maxItems: 2 > + description: Clock specifiers for isrf and iahb clocks > + > + clock-names: > + items: > + - const: isfr > + - const: iahb > + > + ddc-i2c-bus: true This belongs in a connector or panel node. > + ports: true You have to define what each 'port' node is and reference the graph schema. Given you are using 'ports', I assume there is more than 1. The example says not, but you need to add an output port for a connector node. > + > +required: > + - compatible > + - clocks > + - clock-names > + - ports > + - reg-io-width > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/jz4780-cgu.h> > + > + hdmi: hdmi@10180000 { > + compatible = "ingenic,jz4780-hdmi"; > + reg = <0x10180000 0x8000>; > + reg-io-width = <4>; > + ddc-i2c-bus = <&i2c4>; > + interrupt-parent = <&intc>; > + interrupts = <3>; > + clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>; > + clock-names = "isfr", "iahb"; > + > + ports { > + hdmi_in: port { > + #address-cells = <1>; > + #size-cells = <0>; > + hdmi_in_lcd: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&jz4780_out_hdmi>; > + }; > + }; > + }; > + }; > + > +... > -- > 2.31.1 > >
diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml new file mode 100644 index 0000000000000..a545ff8704ebd --- /dev/null +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml @@ -0,0 +1,82 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/ingenic-jz4780-hdmi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Bindings for Ingenic JZ4780 HDMI Transmitter + +maintainers: + - H. Nikolaus Schaller <hns@goldelico.com> + +description: | + The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4 + TX controller IP with accompanying PHY IP. + +allOf: + - $ref: panel/panel-common.yaml# + +properties: + compatible: + items: + - const: ingenic,jz4780-hdmi + + reg: + maxItems: 1 + description: the address & size of the LCD controller registers + + reg-io-width: + const: 4 + + interrupts: + maxItems: 1 + description: Specifies the interrupt provided by parent + + clocks: + maxItems: 2 + description: Clock specifiers for isrf and iahb clocks + + clock-names: + items: + - const: isfr + - const: iahb + + ddc-i2c-bus: true + ports: true + +required: + - compatible + - clocks + - clock-names + - ports + - reg-io-width + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/jz4780-cgu.h> + + hdmi: hdmi@10180000 { + compatible = "ingenic,jz4780-hdmi"; + reg = <0x10180000 0x8000>; + reg-io-width = <4>; + ddc-i2c-bus = <&i2c4>; + interrupt-parent = <&intc>; + interrupts = <3>; + clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>; + clock-names = "isfr", "iahb"; + + ports { + hdmi_in: port { + #address-cells = <1>; + #size-cells = <0>; + hdmi_in_lcd: endpoint@0 { + reg = <0>; + remote-endpoint = <&jz4780_out_hdmi>; + }; + }; + }; + }; + +...