[PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema

Krzysztof Kozlowski krzk at kernel.org
Mon Jun 17 08:58:56 PDT 2024


On 17/06/2024 10:53, Shresth Prasad wrote:
> Convert txt bindings of Rockchip EMMC PHY to dtschema to allow
> for validation.
> 
> Signed-off-by: Shresth Prasad <shresthprasad7 at gmail.com>
> ---


...


> +
> +  reg:
> +    maxItems: 1
> +
> +  clock-names:
> +    const: emmcclk
> +
> +  clocks:
> +    maxItems: 1

Keep order from DTS coding style, so clocks then clock-names.

> +
> +  drive-impedance-ohm:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Specifies the drive impedance in Ohm.
> +    enum: [33, 40, 50, 66, 100]
> +    default: 50
> +
> +  rockchip,enable-strobe-pulldown:
> +    type: boolean
> +    description: |
> +      Enable internal pull-down for the strobe
> +      line.  If not set, pull-down is not used.
> +
> +  rockchip,output-tapdelay-select:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Specifies the phyctrl_otapdlysec register.
> +    default: 0x4
> +    maximum: 0xf
> +
> +  "#phy-cells":
> +    const: 0
> +
> +required:
> +  - compatible
> +  - reg
> +  - "#phy-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    grf: syscon at ff770000 {

Drop label... actually entire node looks not needed.

> +      compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";

Drop

> +      reg = <0xff770000 0x10000>;

Drop


> +      #address-cells = <1>;
> +      #size-cells = <1>;
> +
> +      emmcphy: phy at f780 {

Drop label

> +        compatible = "rockchip,rk3399-emmc-phy";
> +        reg = <0xf780 0x20>;
> +        clocks = <&sdhci>;
> +        clock-names = "emmcclk";
> +        drive-impedance-ohm = <50>;
> +        #phy-cells = <0>;
> +      };
> +    };
> diff --git a/Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt b/Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
> deleted file mode 100644
> index 57d28c0d5696..000000000000
> --- a/Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -Rockchip EMMC PHY
> ------------------------
> -
> -Required properties:
> - - compatible: rockchip,rk3399-emmc-phy
> - - #phy-cells: must be 0
> - - reg: PHY register address offset and length in "general
> -   register files"
> -
> -Optional properties:
> - - clock-names: Should contain "emmcclk".  Although this is listed as optional
> -		(because most boards can get basic functionality without having
> -		access to it), it is strongly suggested.
> -		See ../clock/clock-bindings.txt for details.
> - - clocks: Should have a phandle to the card clock exported by the SDHCI driver.
> - - drive-impedance-ohm: Specifies the drive impedance in Ohm.
> -                        Possible values are 33, 40, 50, 66 and 100.
> -                        If not set, the default value of 50 will be applied.
> - - rockchip,enable-strobe-pulldown: Enable internal pull-down for the strobe
> -                                    line.  If not set, pull-down is not used.
> - - rockchip,output-tapdelay-select: Specifies the phyctrl_otapdlysec register.
> -                                    If not set, the register defaults to 0x4.
> -                                    Maximum value 0xf.
> -
> -Example:
> -
> -
> -grf: syscon at ff770000 {
> -	compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
> -	#address-cells = <1>;
> -	#size-cells = <1>;
> -
> -...
> -
> -	emmcphy: phy at f780 {
> -		compatible = "rockchip,rk3399-emmc-phy";
> -		reg = <0xf780 0x20>;
> -		clocks = <&sdhci>;
> -		clock-names = "emmcclk";
> -		drive-impedance-ohm = <50>;
> -		#phy-cells = <0>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> index 79798c747476..6e1b1cdea680 100644
> --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> @@ -176,9 +176,12 @@ allOf:
>              Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt
>  
>        patternProperties:
> -        "phy@[0-9a-f]+$":
> -          description:
> -            Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
> +        "^phy@[0-9a-f]+$":
> +          type: object
> +

Drop blank line

> +          $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#
> +

Drop blank line

> +          unevaluatedProperties: false
>  
>    - if:
>        properties:

Nothing in example? Isn't the example for 3399?

We want only one complete example of such multi-children devices, so the
example can be moved and included in existing one here.


Best regards,
Krzysztof




More information about the Linux-rockchip mailing list