[PATCH v8 01/12] dt-bindings: clk: zte: Add zx297520v3 top clock and reset controller

Krzysztof Kozlowski krzk at kernel.org
Mon Jul 27 23:27:57 PDT 2026


On Mon, Jul 27, 2026 at 09:24:16PM +0300, Stefan Dösinger wrote:
> +  interrupts:
> +    items:
> +      - description: IRQ reporting USB connection
> +      - description: IRQ reporting USB disconnection
> +      - description: IRQ reporting HSIC connection
> +      - description: IRQ reporting HSIC disconnection
> +
> +  interrupt-names:
> +    items:
> +      - const: usb-up
> +      - const: usb-down
> +      - const: hsic-up
> +      - const: hsic-down
> +
> +  resets:
> +    items:
> +      - description: USB phy reset
> +      - description: HSIC phy reset
> +
> +  reset-names:
> +    items:
> +      - const: usb
> +      - const: hsic

You do not need these two. It's one device and DT does not represent
internal device wirings because they are redundant (deducible from the
compatible).

> +
> +  "#clock-cells":
> +    const: 1
> +
> +  "#phy-cells":
> +    const: 1
> +
> +  "#reset-cells":
> +    const: 1
> +
> +  syscon-reboot:
> +    type: object
> +    $ref: /schemas/power/reset/syscon-reboot.yaml#
> +    description:
> +      Reboot method for the SoC.
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +  - interrupts
> +  - interrupt-names
> +  - resets
> +  - reset-names
> +  - syscon-reboot
> +  - "#clock-cells"
> +  - "#phy-cells"
> +  - "#reset-cells"
> +
> +unevaluatedProperties: false

This was different last time and previous code was correct.

> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/reset/zte,zx297520v3-reset.h>
> +    #include <dt-bindings/phy/zte,zx297520v3-topcrm.h>
> +    #include <dt-bindings/clock/zte,zx297520v3-clk.h>
> +
> +    topcrm: clock-controller at 13b000 {
> +        compatible = "zte,zx297520v3-topcrm", "syscon";
> +        reg = <0x0013b000 0x400>;
> +        clocks = <&osc26m>, <&osc32k>;
> +        clock-names = "osc26m", "osc32k";
> +        interrupts = <GIC_SPI 42 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 43 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 45 IRQ_TYPE_EDGE_RISING>,
> +                     <GIC_SPI 46 IRQ_TYPE_EDGE_RISING>;
> +        interrupt-names = "usb-up", "usb-down", "hsic-up", "hsic-down";
> +        resets = <&topcrm ZX297520V3_USB_PHY_RESET>,
> +                 <&topcrm ZX297520V3_HSIC_PHY_RESET>;
> +        reset-names = "usb", "hsic";
> +        #clock-cells = <1>;
> +        #phy-cells = <1>;
> +        #reset-cells = <1>;
> +
> +        syscon-reboot {
> +          compatible = "syscon-reboot";
> +          offset = <0x0>;
> +          mask = <0x1>;
> +          value = <0x1>;
> +        };

Best regards,
Krzysztof




More information about the linux-phy mailing list