* [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema
@ 2024-06-17 8:53 Shresth Prasad
2024-06-17 15:58 ` Krzysztof Kozlowski
0 siblings, 1 reply; 5+ messages in thread
From: Shresth Prasad @ 2024-06-17 8:53 UTC (permalink / raw)
To: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, sebastian.reichel,
andy.yan, s.hauer, jbx6244
Cc: linux-phy, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, javier.carrasco.cruz, skhan, Shresth Prasad
Convert txt bindings of Rockchip EMMC PHY to dtschema to allow
for validation.
Signed-off-by: Shresth Prasad <shresthprasad7@gmail.com>
---
Request for an Ack from the PHY maintainers, so that the DT maintainer Heiko
can merge it to grf.yaml in the order that he likes.
Changes in v4:
- change license to `GPL-2.0-only`
- change dt-binding file name
- remove descriptions
- move `#phy-cells` to the bottom
- add Heiko to maintainers
- fix `patternProperties` regex in grf.yaml
- change `description` to `$ref` in grf.yaml
Tested against `rockchip/rk3399-firefly.dtb`, `rockchip/rk3399-orangepi.dtb`
and `rockchip/rk3399-pinebook-pro.dtb`.
---
.../phy/rockchip,rk3399-emmc-phy.yaml | 72 +++++++++++++++++++
.../bindings/phy/rockchip-emmc-phy.txt | 43 -----------
.../devicetree/bindings/soc/rockchip/grf.yaml | 9 ++-
3 files changed, 78 insertions(+), 46 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3399-emmc-phy.yaml
delete mode 100644 Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
diff --git a/Documentation/devicetree/bindings/phy/rockchip,rk3399-emmc-phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,rk3399-emmc-phy.yaml
new file mode 100644
index 000000000000..e61ba2b0abcd
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/rockchip,rk3399-emmc-phy.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/rockchip,rk3399-emmc-phy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip EMMC PHY
+
+maintainers:
+ - Heiko Stuebner <heiko@sntech.de>
+ - Shresth Prasad <shresthprasad7@gmail.com>
+
+properties:
+ compatible:
+ const: rockchip,rk3399-emmc-phy
+
+ reg:
+ maxItems: 1
+
+ clock-names:
+ const: emmcclk
+
+ clocks:
+ 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
+
+ "#phy-cells":
+ const: 0
+
+required:
+ - compatible
+ - reg
+ - "#phy-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ grf: syscon@ff770000 {
+ compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
+ reg = <0xff770000 0x10000>;
+ #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/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
+
+ $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#
+
+ unevaluatedProperties: false
- if:
properties:
--
2.45.2
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema
2024-06-17 8:53 [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema Shresth Prasad
@ 2024-06-17 15:58 ` Krzysztof Kozlowski
2024-06-17 18:14 ` Shresth Prasad
0 siblings, 1 reply; 5+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-17 15:58 UTC (permalink / raw)
To: Shresth Prasad, vkoul, kishon, robh, krzk+dt, conor+dt, heiko,
sebastian.reichel, andy.yan, s.hauer, jbx6244
Cc: linux-phy, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, javier.carrasco.cruz, skhan
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@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@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@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@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 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
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema
2024-06-17 15:58 ` Krzysztof Kozlowski
@ 2024-06-17 18:14 ` Shresth Prasad
2024-06-18 6:20 ` Krzysztof Kozlowski
0 siblings, 1 reply; 5+ messages in thread
From: Shresth Prasad @ 2024-06-17 18:14 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, sebastian.reichel,
andy.yan, s.hauer, jbx6244, linux-phy, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel,
javier.carrasco.cruz, skhan
On Mon, Jun 17, 2024 at 9:29 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> 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@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@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.
>
> > + compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
>
> Drop
>
> > + 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.
>
>
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > +
> > + emmcphy: phy@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@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 line
>
> > + $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?
>
> > + 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
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema
2024-06-17 18:14 ` Shresth Prasad
@ 2024-06-18 6:20 ` Krzysztof Kozlowski
2024-06-18 6:58 ` Shresth Prasad
0 siblings, 1 reply; 5+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-18 6:20 UTC (permalink / raw)
To: Shresth Prasad
Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, sebastian.reichel,
andy.yan, s.hauer, jbx6244, linux-phy, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel,
javier.carrasco.cruz, skhan
On 17/06/2024 20:14, Shresth Prasad wrote:
>>> +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.
>
>>
>>> + compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
>>
>> Drop
>>
>>> + 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.
Obviously you need to drop entire node... You cannot just drop reg and
leave unit address.
>
>>
>>
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> +
>>> + emmcphy: phy@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@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 line
>>
>>> + $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?
Yes
>
>>
>>> + 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.
What? That's gref, not usb2phy.
This patch and your explanations are very confusing.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema
2024-06-18 6:20 ` Krzysztof Kozlowski
@ 2024-06-18 6:58 ` Shresth Prasad
0 siblings, 0 replies; 5+ messages in thread
From: Shresth Prasad @ 2024-06-18 6:58 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: vkoul, kishon, robh, krzk+dt, conor+dt, heiko, sebastian.reichel,
andy.yan, s.hauer, jbx6244, linux-phy, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel,
javier.carrasco.cruz, skhan
18 June 2024 11:50:41 am Krzysztof Kozlowski <krzk@kernel.org>:
> On 17/06/2024 20:14, Shresth Prasad wrote:
>
>>>> +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.
>>
>>>
>>>> + compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
>>>
>>> Drop
>>>
>>>> + 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.
>
> Obviously you need to drop entire node... You cannot just drop reg and
> leave unit address.
>
>>
>>>
>>>
>>>> + #address-cells = <1>;
>>>> + #size-cells = <1>;
>>>> +
>>>> + emmcphy: phy@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@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 line
>>>
>>>> + $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?
>
> Yes
>
>>
>>>
>>>> + 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.
>
> What? That's gref, not usb2phy.
>
> This patch and your explanations are very confusing.
>
>
>
> Best regards,
> Krzysztof
Sorry about this, I'm still quite new to doing this.
I ask that you be a bit more patient with me, I'm still trying to learn
how things work here...
Regards,
Shresth
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-06-18 6:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-17 8:53 [PATCH v4] dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema Shresth Prasad
2024-06-17 15:58 ` Krzysztof Kozlowski
2024-06-17 18:14 ` Shresth Prasad
2024-06-18 6:20 ` Krzysztof Kozlowski
2024-06-18 6:58 ` Shresth Prasad
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).