On Sat, Nov 08, 2025 at 02:04:38AM +0100, Michal Wilczynski wrote: > Add the dt-binding for the StarFive JH7110 Innosilicon HDMI controller > (DRM bridge). > > This device is the second child of the starfive,jh7110-hdmi-mfd node. It > consumes register access clocks (sys, mclk, bclk) from the voutcrg and > both the pixel clock (pclk) and the PHY from its hdmi_phy sibling. > > Signed-off-by: Michal Wilczynski <[email protected]> > --- > .../starfive,jh7110-inno-hdmi-controller.yaml | 123 > +++++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 124 insertions(+) > > diff --git > a/Documentation/devicetree/bindings/display/bridge/starfive,jh7110-inno-hdmi-controller.yaml > > b/Documentation/devicetree/bindings/display/bridge/starfive,jh7110-inno-hdmi-controller.yaml > new file mode 100644 > index > 0000000000000000000000000000000000000000..3707c9dbff9c9fdc0ed7db4720a6dd8eabeeb774 > --- /dev/null > +++ > b/Documentation/devicetree/bindings/display/bridge/starfive,jh7110-inno-hdmi-controller.yaml > @@ -0,0 +1,123 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: > http://devicetree.org/schemas/display/bridge/starfive,jh7110-inno-hdmi-controller.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: StarFive JH7110 Innosilicon HDMI Controller > + > +maintainers: > + - Michal Wilczynski <[email protected]> > + > +description: > + The controller portion of the StarFive JH7110 INNO HDMI IP. > + > +properties: > + compatible: > + const: starfive,jh7110-inno-hdmi-controller > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: System clock for register access > + - description: Module clock > + - description: Bus clock > + - description: Pixel clock from PHY > + > + clock-names: > + items: > + - const: sys > + - const: mclk > + - const: bclk > + - const: pclk > + > + resets: > + maxItems: 1 > + > + reset-names: > + const: hdmi_tx > + > + phys: > + maxItems: 1 > + > + phy-names: > + const: hdmi-phy > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + description: > + A graph node with one input port and one output port. > + > +required: > + - compatible > + - interrupts > + - clocks > + - clock-names > + - resets > + - reset-names > + - phys > + - phy-names > + - ports > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/starfive,jh7110-crg.h> > + #include <dt-bindings/reset/starfive,jh7110-crg.h> > + > + soc { > + #address-cells = <1>; > + #size-cells = <1>; > + > + hdmi_mfd: hdmi@29590000 { > + compatible = "starfive,jh7110-hdmi-mfd"; > + reg = <0x29590000 0x4000>; > + > + hdmi_phy: phy { > + compatible = "starfive,jh7110-inno-hdmi-phy"; > + clocks = <&xin24m>; > + clock-names = "refoclk"; > + #clock-cells = <0>; > + clock-output-names = "hdmi_pclk"; > + #phy-cells = <0>; > + }; > + > + hdmi_controller: controller {
If this stuff doesn't make sense to have an example of without the phy,
then just have an example in the parent and drop it from both child
bindings. Or just drop the parent node and phy, and let the binding
checking tools "invent" a fake phy for checking purposes.
> + compatible = "starfive,jh7110-inno-hdmi-controller";
> + interrupts = <99>;
> + clocks = <&voutcrg JH7110_VOUTCLK_HDMI_TX_SYS>,
> + <&voutcrg JH7110_VOUTCLK_HDMI_TX_MCLK>,
> + <&voutcrg JH7110_VOUTCLK_HDMI_TX_BCLK>,
> + <&hdmi_phy>;
> + clock-names = "sys", "mclk", "bclk", "pclk";
> + resets = <&voutcrg JH7110_VOUTRST_HDMI_TX_HDMI>;
> + reset-names = "hdmi_tx";
> + phys = <&hdmi_phy>;
> + phy-names = "hdmi-phy";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + hdmi_in: endpoint {
> + remote-endpoint = <&dpu_out_dpi0>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + hdmi_out: endpoint {
> + remote-endpoint = <&hdmi_con_in>;
> + };
> + };
> + };
> + };
> + };
> + };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index
> a75ba7a44ee84db6a75b91c1a0867a37db2ebcdb..66fab45bbee8c1a5f73d09bb470d28029b8c6139
> 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -24047,6 +24047,7 @@ F:
> drivers/net/ethernet/stmicro/stmmac/dwmac-starfive.c
> STARFIVE JH7110 DISPLAY SUBSYSTEM
> M: Michal Wilczynski <[email protected]>
> S: Maintained
> +F:
> Documentation/devicetree/bindings/display/bridge/starfive,jh7110-inno-hdmi-controller.yaml
> F: Documentation/devicetree/bindings/phy/starfive,jh7110-inno-hdmi-phy.yaml
> F:
> Documentation/devicetree/bindings/soc/starfive/starfive,jh7110-vout-subsystem.yaml
>
>
> --
> 2.34.1
>
signature.asc
Description: PGP signature
