Re: [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema
From: Shresth Prasad <hidden>
Date: 2024-06-17 18:15:03
Also in:
linux-arm-kernel, linux-devicetree, linux-rockchip, lkml
On Mon, Jun 17, 2024 at 9:29 PM Krzysztof Kozlowski [off-list ref] wrote:
On 17/06/2024 10:53, Shresth Prasad wrote:quoted
Convert txt bindings of Rockchip EMMC PHY to dtschema to allow for validation. Signed-off-by: Shresth Prasad <redacted> ---...quoted
+ + reg: + maxItems: 1 + + clock-names: + const: emmcclk + + clocks: + maxItems: 1Keep order from DTS coding style, so clocks then clock-names.quoted
+ + 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@ff770000 {Drop label... actually entire node looks not needed.
From what I understand, this `phy` node should be a sub-node of a `grf` node which is why it is part of the example.
quoted
+ compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";Dropquoted
+ reg = <0xff770000 0x10000>;Drop
Removing `reg` causes the following warning: Warning (unit_address_vs_reg): /example-0/syscon@ff770000: node has a unit name, but no reg or ranges property Please let me know what the prefered solution would be here.
quoted
+ #address-cells = <1>; + #size-cells = <1>; + + emmcphy: phy@f780 {Drop labelquoted
+ 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@ff770000 { - compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; - #address-cells = <1>; - #size-cells = <1>; - -... - - emmcphy: phy@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 linequoted
+ $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml# +Drop blank line
The rest of the document also has these blank lines, which is why I've also kept them here. Are you sure I should remove them?
quoted
+ 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.
The example in this file is actually for `rockchip,rk3399-usb2phy` and not `rockchip,rk3399-emmc-phy` which is why I haven't touched it. Should I add to the example in `grf.yaml` ?
Best regards, Krzysztof
Please let me know if I've misunderstood anything or if there are any other changes I should make. Regards, Shresth -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy