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@xxxxxxxxxx> > Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> 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@xxxxxxxxx> > + > +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 -- ~Vinod