2024-06-12 16:37:17

by Shresth Prasad

[permalink] [raw]
Subject: [PATCH v2] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema

Convert txt bindings of Rockchip EMMC PHY to dtschema to allow
for validation.

Signed-off-by: Shresth Prasad <[email protected]>
---
Changes in v2:
- Fixed example
- Changed file referenced in grf.yaml

Tested against `rockchip/rk3399-firefly.dtb`, `rockchip/rk3399-orangepi.dtb`
and `rockchip/rk3399-pinebook-pro.dtb`.

.../bindings/phy/rockchip,emmc-phy.yaml | 79 +++++++++++++++++++
.../bindings/phy/rockchip-emmc-phy.txt | 43 ----------
.../devicetree/bindings/soc/rockchip/grf.yaml | 2 +-
3 files changed, 80 insertions(+), 44 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/rockchip,emmc-phy.yaml
delete mode 100644 Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt

diff --git a/Documentation/devicetree/bindings/phy/rockchip,emmc-phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,emmc-phy.yaml
new file mode 100644
index 000000000000..f42045389383
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/rockchip,emmc-phy.yaml
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/rockchip,emmc-phy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip EMMC PHY
+
+maintainers:
+ - Shresth Prasad <[email protected]>
+
+properties:
+ "#phy-cells":
+ const: 0
+
+ compatible:
+ const: rockchip,rk3399-emmc-phy
+
+ reg:
+ description:
+ PHY register address offset and length in "general register files"
+ maxItems: 1
+
+ clock-names:
+ description: |
+ Although this is not a required property (because most boards can get
+ basic functionality without having access to it), it is strongly
+ suggested.
+ const: emmcclk
+
+ clocks:
+ description:
+ Should have a phandle to the card clock exported by the SDHCI driver.
+ maxItems: 1
+
+ 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
+
+required:
+ - "#phy-cells"
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ grf: syscon@ff770000 {
+ compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
+ reg = <0x0 0xff770000 0x0 0x10000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ emmcphy: phy@f780 {
+ #phy-cells = <0>;
+ compatible = "rockchip,rk3399-emmc-phy";
+ reg = <0xf780 0x20>;
+ clocks = <&sdhci>;
+ clock-names = "emmcclk";
+ drive-impedance-ohm = <50>;
+ };
+ };
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..1f88416657cc 100644
--- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
+++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
@@ -178,7 +178,7 @@ allOf:
patternProperties:
"phy@[0-9a-f]+$":
description:
- Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
+ Documentation/devicetree/bindings/phy/rockchip,emmc-phy.yaml

- if:
properties:
--
2.45.2



2024-06-12 17:26:29

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema


On Wed, 12 Jun 2024 21:33:37 +0530, Shresth Prasad wrote:
> Convert txt bindings of Rockchip EMMC PHY to dtschema to allow
> for validation.
>
> Signed-off-by: Shresth Prasad <[email protected]>
> ---
> Changes in v2:
> - Fixed example
> - Changed file referenced in grf.yaml
>
> Tested against `rockchip/rk3399-firefly.dtb`, `rockchip/rk3399-orangepi.dtb`
> and `rockchip/rk3399-pinebook-pro.dtb`.
>
> .../bindings/phy/rockchip,emmc-phy.yaml | 79 +++++++++++++++++++
> .../bindings/phy/rockchip-emmc-phy.txt | 43 ----------
> .../devicetree/bindings/soc/rockchip/grf.yaml | 2 +-
> 3 files changed, 80 insertions(+), 44 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/phy/rockchip,emmc-phy.yaml
> delete mode 100644 Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
>

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/phy/rockchip,emmc-phy.example.dtb: syscon@ff770000: reg: [[0, 4285988864], [0, 65536]] is too long
from schema $id: http://devicetree.org/schemas/soc/rockchip/grf.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/phy/rockchip,emmc-phy.example.dtb: syscon@ff770000: reg: [[0, 4285988864], [0, 65536]] is too long
from schema $id: http://devicetree.org/schemas/mfd/syscon.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.