diff mbox series

dt-bindings: phy: Convert Broadcom SATA PHY to YAML

Message ID 20201122032926.2185026-1-f.fainelli@gmail.com
State Superseded, archived
Headers show
Series dt-bindings: phy: Convert Broadcom SATA PHY to YAML | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 148 lines checked

Commit Message

Florian Fainelli Nov. 22, 2020, 3:29 a.m. UTC
Update the Broadcom SATA PHY Device Tree binding to a YAML format.

Suggested-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
This is based on phy/next and it depends on the following commit:

https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/commit/?h=next&id=6d3b3f88423e4edc0fad5853c10558b42e1a91dd

it would make sense to have Vinod apply this change.

 .../bindings/phy/brcm,sata-phy.yaml           | 148 ++++++++++++++++++
 .../devicetree/bindings/phy/brcm-sata-phy.txt |  61 --------
 2 files changed, 148 insertions(+), 61 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
 delete mode 100644 Documentation/devicetree/bindings/phy/brcm-sata-phy.txt

Comments

Vinod Koul Nov. 30, 2020, 3:34 p.m. UTC | #1
Hi Florian,


On 21-11-20, 19:29, Florian Fainelli wrote:
> Update the Broadcom SATA PHY Device Tree binding to a YAML format.
> 
> Suggested-by: Vinod Koul <vkoul@kernel.org>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

I am getting these warns:

Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:19:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:20:12: [warning] wrong indentation: expected 12 but found 11 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:26:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:28:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:30:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:51:6: [warning] wrong indentation: expected 4 but found 5 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:71:11: [warning] wrong indentation: expected 9 but found 10 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:80:11: [warning] wrong indentation: expected 9 but found 10 (indentation)
Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml:88:11: [warning] wrong indentation: expected 9 but found 10 (indentation)

Documentation/devicetree/bindings/phy/brcm,sata-phy.example.dt.yaml: sata-phy@f0458100: '#phy-cells' is a required property
	From schema: /usr/local/lib/python3.8/site-packages/dtschema/schemas/phy/phy-provider.yaml

> ---
> This is based on phy/next and it depends on the following commit:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy.git/commit/?h=next&id=6d3b3f88423e4edc0fad5853c10558b42e1a91dd
> 
> it would make sense to have Vinod apply this change.
> 
>  .../bindings/phy/brcm,sata-phy.yaml           | 148 ++++++++++++++++++
>  .../devicetree/bindings/phy/brcm-sata-phy.txt |  61 --------
>  2 files changed, 148 insertions(+), 61 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
>  delete mode 100644 Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
> 
> diff --git a/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml b/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
> new file mode 100644
> index 000000000000..979b7419dc69
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
> @@ -0,0 +1,148 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/phy/brcm,sata-phy.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: Broadcom SATA3 PHY
> +
> +maintainers:
> +  - Florian Fainelli <f.fainelli@gmail.com>
> +
> +properties:
> +  $nodename:
> +    pattern: "^sata[-|_]phy(@.*)?$"
> +
> +  compatible:
> +    oneOf:
> +      - items:
> +        - enum:
> +           - brcm,bcm7216-sata-phy
> +           - brcm,bcm7425-sata-phy
> +           - brcm,bcm7445-sata-phy
> +           - brcm,bcm63138-sata-phy
> +        - const: brcm,phy-sata3
> +      - items:
> +        - const: brcm,iproc-nsp-sata-phy
> +      - items:
> +        - const: brcm,iproc-ns2-sata-phy
> +      - items:
> +        - const: brcm,iproc-sr-sata-phy
> +
> +  reg:
> +    minItems: 1
> +    maxItems: 2
> +
> +  reg-names:
> +    minItems: 1
> +    maxItems: 2
> +    items:
> +      - const: phy
> +      - const: phy-ctrl
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +patternProperties:
> +  "^sata-phy@[0-9]+$":
> +     type: object
> +     description: |
> +       Each port's PHY should be represented as a sub-node.
> +
> +     properties:
> +       reg:
> +         description: The SATA PHY port number
> +         maxItems: 1
> +
> +       "#phy-cells":
> +         const: 0
> +
> +       "brcm,enable-ssc":
> +         $ref: /schemas/types.yaml#/definitions/flag
> +         description: |
> +           Use spread spectrum clocking (SSC) on this port
> +           This property is not applicable for "brcm,iproc-ns2-sata-phy",
> +           "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".
> +
> +       "brcm,rxaeq-mode":
> +          $ref: /schemas/types.yaml#/definitions/string
> +          description:
> +            String that indicates the desired RX equalizer mode.
> +          enum:
> +            - off
> +            - auto
> +            - manual
> +
> +       "brcm,rxaeq-value":
> +          $ref: /schemas/types.yaml#/definitions/uint32
> +          description: |
> +            When 'brcm,rxaeq-mode' is set to "manual", provides the RX
> +            equalizer value that should be used.
> +          minimum: 0
> +          maximum: 63
> +
> +       "brcm,tx-amplitude-millivolt":
> +          description: |
> +            Transmit amplitude voltage in millivolt.
> +          $ref: /schemas/types.yaml#/definitions/uint32
> +          enum: [400, 500, 600, 800]
> +
> +     required:
> +       - reg
> +       - "#phy-cells"
> +
> +     additionalProperties: false
> +
> +if:
> +  properties:
> +    compatible:
> +      items:
> +        const: brcm,iproc-ns2-sata-phy
> +then:
> +  properties:
> +    reg:
> +      maxItems: 2
> +    reg-names:
> +      items:
> +        - const: "phy"
> +        - const: "phy-ctrl"
> +else:
> +  properties:
> +    reg:
> +      maxItems: 1
> +    reg-names:
> +      maxItems: 1
> +      items:
> +        - const: "phy"
> +
> +required:
> +  - compatible
> +  - "#address-cells"
> +  - "#size-cells"
> +  - reg
> +  - reg-names
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    sata-phy@f0458100 {
> +        compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
> +        reg = <0xf0458100 0x1e00>;
> +        reg-names = "phy";
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        sata-phy@0 {
> +                reg = <0>;
> +                #phy-cells = <0>;
> +        };
> +
> +        sata-phy@1 {
> +                reg = <1>;
> +                #phy-cells = <0>;
> +        };
> +    };
> diff --git a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt b/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
> deleted file mode 100644
> index e5abbace93a3..000000000000
> --- a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
> +++ /dev/null
> @@ -1,61 +0,0 @@
> -* Broadcom SATA3 PHY
> -
> -Required properties:
> -- compatible: should be one or more of
> -     "brcm,bcm7216-sata-phy"
> -     "brcm,bcm7425-sata-phy"
> -     "brcm,bcm7445-sata-phy"
> -     "brcm,iproc-ns2-sata-phy"
> -     "brcm,iproc-nsp-sata-phy"
> -     "brcm,phy-sata3"
> -     "brcm,iproc-sr-sata-phy"
> -     "brcm,bcm63138-sata-phy"
> -- address-cells: should be 1
> -- size-cells: should be 0
> -- reg: register ranges for the PHY PCB interface
> -- reg-names: should be "phy" and "phy-ctrl"
> -     The "phy-ctrl" registers are only required for
> -     "brcm,iproc-ns2-sata-phy" and "brcm,iproc-sr-sata-phy".
> -
> -Sub-nodes:
> -  Each port's PHY should be represented as a sub-node.
> -
> -Sub-nodes required properties:
> -- reg: the PHY number
> -- phy-cells: generic PHY binding; must be 0
> -
> -Sub-nodes optional properties:
> -- brcm,enable-ssc: use spread spectrum clocking (SSC) on this port
> -     This property is not applicable for "brcm,iproc-ns2-sata-phy",
> -     "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".
> -
> -- brcm,rxaeq-mode: string that indicates the desired RX equalizer
> -  mode, possible values are:
> -	"off" (equivalent to not specifying the property)
> -	"auto"
> -	"manual" (brcm,rxaeq-value is used in that case)
> -
> -- brcm,rxaeq-value: when 'rxaeq-mode' is set to "manual", provides the RX
> -  equalizer value that should be used. Allowed range is 0..63.
> -
> -- brcm,tx-amplitude-millivolt: transmit amplitude voltage in millivolt.
> -  Possible values are 400, 500, 600 or 800 mV.
> -
> -Example
> -	sata-phy@f0458100 {
> -		compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
> -		reg = <0xf0458100 0x1e00>, <0xf045804c 0x10>;
> -		reg-names = "phy";
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		sata-phy@0 {
> -			reg = <0>;
> -			#phy-cells = <0>;
> -		};
> -
> -		sata-phy@1 {
> -			reg = <1>;
> -			#phy-cells = <0>;
> -		};
> -	};
> -- 
> 2.25.1
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml b/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
new file mode 100644
index 000000000000..979b7419dc69
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/brcm,sata-phy.yaml
@@ -0,0 +1,148 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/phy/brcm,sata-phy.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Broadcom SATA3 PHY
+
+maintainers:
+  - Florian Fainelli <f.fainelli@gmail.com>
+
+properties:
+  $nodename:
+    pattern: "^sata[-|_]phy(@.*)?$"
+
+  compatible:
+    oneOf:
+      - items:
+        - enum:
+           - brcm,bcm7216-sata-phy
+           - brcm,bcm7425-sata-phy
+           - brcm,bcm7445-sata-phy
+           - brcm,bcm63138-sata-phy
+        - const: brcm,phy-sata3
+      - items:
+        - const: brcm,iproc-nsp-sata-phy
+      - items:
+        - const: brcm,iproc-ns2-sata-phy
+      - items:
+        - const: brcm,iproc-sr-sata-phy
+
+  reg:
+    minItems: 1
+    maxItems: 2
+
+  reg-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      - const: phy
+      - const: phy-ctrl
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 0
+
+patternProperties:
+  "^sata-phy@[0-9]+$":
+     type: object
+     description: |
+       Each port's PHY should be represented as a sub-node.
+
+     properties:
+       reg:
+         description: The SATA PHY port number
+         maxItems: 1
+
+       "#phy-cells":
+         const: 0
+
+       "brcm,enable-ssc":
+         $ref: /schemas/types.yaml#/definitions/flag
+         description: |
+           Use spread spectrum clocking (SSC) on this port
+           This property is not applicable for "brcm,iproc-ns2-sata-phy",
+           "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".
+
+       "brcm,rxaeq-mode":
+          $ref: /schemas/types.yaml#/definitions/string
+          description:
+            String that indicates the desired RX equalizer mode.
+          enum:
+            - off
+            - auto
+            - manual
+
+       "brcm,rxaeq-value":
+          $ref: /schemas/types.yaml#/definitions/uint32
+          description: |
+            When 'brcm,rxaeq-mode' is set to "manual", provides the RX
+            equalizer value that should be used.
+          minimum: 0
+          maximum: 63
+
+       "brcm,tx-amplitude-millivolt":
+          description: |
+            Transmit amplitude voltage in millivolt.
+          $ref: /schemas/types.yaml#/definitions/uint32
+          enum: [400, 500, 600, 800]
+
+     required:
+       - reg
+       - "#phy-cells"
+
+     additionalProperties: false
+
+if:
+  properties:
+    compatible:
+      items:
+        const: brcm,iproc-ns2-sata-phy
+then:
+  properties:
+    reg:
+      maxItems: 2
+    reg-names:
+      items:
+        - const: "phy"
+        - const: "phy-ctrl"
+else:
+  properties:
+    reg:
+      maxItems: 1
+    reg-names:
+      maxItems: 1
+      items:
+        - const: "phy"
+
+required:
+  - compatible
+  - "#address-cells"
+  - "#size-cells"
+  - reg
+  - reg-names
+
+additionalProperties: false
+
+examples:
+  - |
+    sata-phy@f0458100 {
+        compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
+        reg = <0xf0458100 0x1e00>;
+        reg-names = "phy";
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        sata-phy@0 {
+                reg = <0>;
+                #phy-cells = <0>;
+        };
+
+        sata-phy@1 {
+                reg = <1>;
+                #phy-cells = <0>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt b/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
deleted file mode 100644
index e5abbace93a3..000000000000
--- a/Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
+++ /dev/null
@@ -1,61 +0,0 @@ 
-* Broadcom SATA3 PHY
-
-Required properties:
-- compatible: should be one or more of
-     "brcm,bcm7216-sata-phy"
-     "brcm,bcm7425-sata-phy"
-     "brcm,bcm7445-sata-phy"
-     "brcm,iproc-ns2-sata-phy"
-     "brcm,iproc-nsp-sata-phy"
-     "brcm,phy-sata3"
-     "brcm,iproc-sr-sata-phy"
-     "brcm,bcm63138-sata-phy"
-- address-cells: should be 1
-- size-cells: should be 0
-- reg: register ranges for the PHY PCB interface
-- reg-names: should be "phy" and "phy-ctrl"
-     The "phy-ctrl" registers are only required for
-     "brcm,iproc-ns2-sata-phy" and "brcm,iproc-sr-sata-phy".
-
-Sub-nodes:
-  Each port's PHY should be represented as a sub-node.
-
-Sub-nodes required properties:
-- reg: the PHY number
-- phy-cells: generic PHY binding; must be 0
-
-Sub-nodes optional properties:
-- brcm,enable-ssc: use spread spectrum clocking (SSC) on this port
-     This property is not applicable for "brcm,iproc-ns2-sata-phy",
-     "brcm,iproc-nsp-sata-phy" and "brcm,iproc-sr-sata-phy".
-
-- brcm,rxaeq-mode: string that indicates the desired RX equalizer
-  mode, possible values are:
-	"off" (equivalent to not specifying the property)
-	"auto"
-	"manual" (brcm,rxaeq-value is used in that case)
-
-- brcm,rxaeq-value: when 'rxaeq-mode' is set to "manual", provides the RX
-  equalizer value that should be used. Allowed range is 0..63.
-
-- brcm,tx-amplitude-millivolt: transmit amplitude voltage in millivolt.
-  Possible values are 400, 500, 600 or 800 mV.
-
-Example
-	sata-phy@f0458100 {
-		compatible = "brcm,bcm7445-sata-phy", "brcm,phy-sata3";
-		reg = <0xf0458100 0x1e00>, <0xf045804c 0x10>;
-		reg-names = "phy";
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		sata-phy@0 {
-			reg = <0>;
-			#phy-cells = <0>;
-		};
-
-		sata-phy@1 {
-			reg = <1>;
-			#phy-cells = <0>;
-		};
-	};