Re: [PATCH RFC 1/4] dt-binding: phy: hisi-inno-usb2: convert to YAML

From: Krzysztof Kozlowski
Date: Sat Feb 17 2024 - 05:14:50 EST


On 16/02/2024 16:21, Yang Xiwen via B4 Relay wrote:
> From: Yang Xiwen <forbidden405@xxxxxxxxxxx>
>
> Also rename to hisilicon,inno-usb2-phy.yaml and add this name to
> compatible lists.

Please use subject prefixes matching the subsystem. You can get them for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching.

>
> Signed-off-by: Yang Xiwen <forbidden405@xxxxxxxxxxx>
> ---
> .../bindings/phy/hisilicon,inno-usb2-phy.yaml | 115 +++++++++++++++++++++
> .../devicetree/bindings/phy/phy-hisi-inno-usb2.txt | 71 -------------
> 2 files changed, 115 insertions(+), 71 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/phy/hisilicon,inno-usb2-phy.yaml b/Documentation/devicetree/bindings/phy/hisilicon,inno-usb2-phy.yaml
> new file mode 100644
> index 000000000000..73256eee10f9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/hisilicon,inno-usb2-phy.yaml
> @@ -0,0 +1,115 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/phy/hisilicon,inno-usb2-phy.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HiSilicon HiSTB SoCs INNO USB2 PHY device
> +
> +maintainers:
> + - Yang Xiwen <forbidden405@xxxxxxxxxxx>
> +
> +properties:
> + compatible:
> + minItems: 1

No, why? Compatibles must be fixed/constrained.

> + items:
> + - enum:
> + - hisilicon,hi3798cv200-usb2-phy
> + - hisilicon,hi3798mv100-usb2-phy

This wasn't here before. Not explained in commit msg.

> + - const: hisilicon,inno-usb2-phy
> +
> + reg:
> + maxItems: 1
> + description: |

Do not need '|' unless you need to preserve formatting.

> + Should be the address space for PHY configuration register in peripheral
> + controller, e.g. PERI_USB0 for USB 2.0 PHY01 on Hi3798CV200 SoC.
> + Or direct MMIO address space.
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> + clocks:
> + maxItems: 1
> + description: reference clock
> +
> + resets:
> + maxItems: 1
> +
> +patternProperties:
> + 'phy@[0-9a-f]+':
> + type: object
> + additionalProperties: false
> + description: individual ports provided by INNO PHY
> +
> + properties:
> + reg:
> + maxItems: 1
> +
> + '#phy-cells':
> + const: 0
> +
> + resets:
> + maxItems: 1
> +
> + required: [reg, '#phy-cells', resets]

One item per line. Look at other bindings or example-schema.

> +
> +required:
> + - compatible
> + - clocks
> + - reg
> + - '#address-cells'
> + - '#size-cells'
> + - resets
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/histb-clock.h>
> +
> + peripheral-controller@8a20000 {
> + compatible = "hisilicon,hi3798cv200-perictrl", "syscon", "simple-mfd";
> + reg = <0x8a20000 0x1000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x0 0x8a20000 0x1000>;

Drop the node, not related to this binding. If this binding is supposed
to be part of other device in case of MFD devices or some tightly
coupled ones, then could be included in the example there.

> +
> + usb2-phy@120 {
> + compatible = "hisilicon,hi3798cv200-usb2-phy";
> + reg = <0x120 0x4>;
> + clocks = <&crg HISTB_USB2_PHY1_REF_CLK>;
> + resets = <&crg 0xbc 4>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + phy@0 {
> + reg = <0>;
> + #phy-cells = <0>;
> + resets = <&crg 0xbc 8>;
> + };
> +
> + phy@1 {
> + reg = <1>;
> + #phy-cells = <0>;
> + resets = <&crg 0xbc 9>;
> + };
> + };
> +
> + usb2-phy@124 {
> + compatible = "hisilicon,hi3798cv200-usb2-phy";

You can keep only one example, because they are basically the same.


Best regards,
Krzysztof