Hi,
On Tue, Aug 01, 2023 at 06:10:25PM +0800, Keith Zhao wrote:
diff --git a/Documentation/devicetree/bindings/display/starfive/starfive,jh7110-dc8200.yaml b/Documentation/devicetree/bindings/display/starfive/starfive,jh7110-dc8200.yaml new file mode 100644 index 000000000..bebe2050c --- /dev/null +++ b/Documentation/devicetree/bindings/display/starfive/starfive,jh7110-dc8200.yaml @@ -0,0 +1,107 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/starfive/starfive,jh7110-dc8200.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: StarFive display controller
+description:
- The StarFive SoC uses the display controller based on Verisilicon IP
- to transfer the image data from a video memory
- buffer to an external LCD interface.
+maintainers:
- Keith Zhao keith.zhao@starfivetech.com
+properties:
- compatible:
- const: starfive,jh7110-dc8200
- reg:
- maxItems: 3
What these registers are used for must be documented.
- interrupts:
- items:
- description: The interrupt will be generated when DC finish one frame- clocks:
- items:
- description: Clock for display system noc bus.- description: Pixel clock for display channel 0.- description: Pixel clock for display channel 1.- description: Clock for axi interface of display controller.- description: Core clock for display controller.- description: Clock for ahb interface of display controller.- description: External HDMI pixel clock.- description: Parent clock for pixel clock- clock-names:
- items:
- const: vout_noc_disp- const: vout_pix0- const: vout_pix1- const: vout_axi- const: vout_core- const: vout_vout_ahb- const: hdmitx0_pixel- const: vout_dc8200
The clock-names should reflect what they are used for on the device, not what their name is in the system. So it should rather be something like "noc-bus", "channel0", "channel1", etc.
vout, or the soc model, shouldn't appear there.
- resets:
- items:
- description: Reset for axi interface of display controller.- description: Reset for ahb interface of display controller.- description: Core reset of display controller.- reset-names:
- items:
- const: vout_axi- const: vout_ahb- const: vout_core
Ditto.
Also, I'm a bit confused, how can a device be attached to both an AXI and AHB bus? That, plus the multiple registers spaces, make me think that this is multiple devices glued together in a single node, which isn't ok.
- port:
- $ref: /schemas/graph.yaml#/properties/port
- description:
A port node with endpoint definitions as defined inDocumentation/devicetree/bindings/media/video-interfaces.txt.+required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- resets
- reset-names
- port
+additionalProperties: false
+examples:
- |
- dc8200: lcd-controller@29400000 {
compatible = "starfive,jh7110-dc8200";reg = <0x29400000 0x100>, <0x29400800 0x2000>, <0x295b0000 0x90>;interrupts = <95>;clocks = <&syscrg 60>,<&voutcrg 7>,<&voutcrg 8>,<&voutcrg 4>,<&voutcrg 5>,<&voutcrg 6>,<&hdmitx0_pixelclk>,<&voutcrg 1>;clock-names = "vout_noc_disp", "vout_pix0", "vout_pix1","vout_axi", "vout_core", "vout_vout_ahb","hdmitx0_pixel","vout_dc8200";resets = <&voutcrg 0>, <&voutcrg 1>, <&voutcrg 2>;reset-names = "vout_axi", "vout_ahb", "vout_core";dc_out: port {#address-cells = <1>;#size-cells = <0>;dc_out_hdmi: endpoint@0 {reg = <0>;remote-endpoint = <&hdmi_in_dc>;};};- };
diff --git a/Documentation/devicetree/bindings/display/starfive/starfive,jh7110-inno-hdmi.yaml b/Documentation/devicetree/bindings/display/starfive/starfive,jh7110-inno-hdmi.yaml new file mode 100644 index 000000000..f6927acf6 --- /dev/null +++ b/Documentation/devicetree/bindings/display/starfive/starfive,jh7110-inno-hdmi.yaml @@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/starfive/starfive,jh7110-inno-hdmi.yam... +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Starfive JH7110 HDMI controller
+description:
- The StarFive JH7110 SoC uses the HDMI signal transmiter based on innosilicon IP
- to generate HDMI signal from its input and transmit the signal to the screen.
+maintainers:
- Keith Zhao keith.zhao@starfivetech.com
+properties:
- compatible:
- const: "starfive,jh7110-inno-hdmi"
- reg:
- minItems: 1
- interrupts:
- items:
- description: The HDMI hot plug detection interrupt.- clocks:
- items:
- description: System clock of HDMI module.- description: Mclk clock of HDMI audio.- description: Bclk clock of HDMI audio.- description: Pixel clock generated by HDMI module.- clock-names:
- items:
- const: sysclk- const: mclk- const: bclk- const: pclk- resets:
- items:
- description: Reset for HDMI module.- reset-names:
- items:
- const: hdmi_tx
If there's only one you don't need reset-names
Maxime