Message ID | 20200106014224.12791-1-linus.walleij@linaro.org |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
Series | [1/2,v2] dt-bindings: Create DT bindings for [PS]ATA controllers | expand |
On Mon, Jan 06, 2020 at 02:42:23AM +0100, Linus Walleij wrote: > I need to create subnodes for drives connected to PATA > or SATA host controllers, and this needs to be supported > generally, so create a common YAML binding for > "ide" or "sata" that will support subnodes with ports. > > This has been designed as a subset of > ata/pata-sata-common.yaml with the bare essentials and > should be possible to extend or superset to cover the > common bindings. > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: devicetree@vger.kernel.org > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > ChangeLog v1->v2: > - Use ide@ and sata@ as node names. > - Use ide-port@ and sata-port@ for the ports toward the > drives, rather than letting the subnodes be the drives > themselves. > --- > .../bindings/ata/pata-sata-common.yaml | 51 +++++++++++++++++++ > 1 file changed, 51 insertions(+) > create mode 100644 Documentation/devicetree/bindings/ata/pata-sata-common.yaml > > diff --git a/Documentation/devicetree/bindings/ata/pata-sata-common.yaml b/Documentation/devicetree/bindings/ata/pata-sata-common.yaml > new file mode 100644 > index 000000000000..f46f04446607 > --- /dev/null > +++ b/Documentation/devicetree/bindings/ata/pata-sata-common.yaml > @@ -0,0 +1,51 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/ata/pata-sata-common.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Common Properties for Parallel and Serial AT attachment controllers > + > +maintainers: > + - Linus Walleij <linus.walleij@linaro.org> > + > +description: | > + This document defines device tree properties common to most Parallel > + (PATA, also known as IDE) and Serial (SATA) AT attachment storage devices. > + It doesn't constitue a device tree binding specification by itself but is > + meant to be referenced by device tree bindings. > + > + The PATA/SATA controller device tree bindings are responsible for > + defining whether each property is required or optional. > + > +properties: > + $nodename: > + pattern: "^(ide|sata)(@.*)?$" > + description: > + Specifies the host controller node. PATA host controller nodes are named > + "ide" and SATA controller nodes are named "sata" > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^(ide|sata)-port@[0-1]$": This would allow ide@... to have sata-port@... as a child node. > + description: | > + DT nodes for ports connected on the PATA or SATA host. The master drive > + will have ID number 0 and the slave drive will have ID number 1. > + The PATA port nodes will be named "ide-port" and the SATA port nodes will > + be named "sata-port". > + type: object > + > + properties: > + reg: > + minimum: 0 > + maximum: 1 For SATA, we can have more than 2. Given both of the above, probably this should be split into 2 files. Rob
diff --git a/Documentation/devicetree/bindings/ata/pata-sata-common.yaml b/Documentation/devicetree/bindings/ata/pata-sata-common.yaml new file mode 100644 index 000000000000..f46f04446607 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/pata-sata-common.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/ata/pata-sata-common.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Common Properties for Parallel and Serial AT attachment controllers + +maintainers: + - Linus Walleij <linus.walleij@linaro.org> + +description: | + This document defines device tree properties common to most Parallel + (PATA, also known as IDE) and Serial (SATA) AT attachment storage devices. + It doesn't constitue a device tree binding specification by itself but is + meant to be referenced by device tree bindings. + + The PATA/SATA controller device tree bindings are responsible for + defining whether each property is required or optional. + +properties: + $nodename: + pattern: "^(ide|sata)(@.*)?$" + description: + Specifies the host controller node. PATA host controller nodes are named + "ide" and SATA controller nodes are named "sata" + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^(ide|sata)-port@[0-1]$": + description: | + DT nodes for ports connected on the PATA or SATA host. The master drive + will have ID number 0 and the slave drive will have ID number 1. + The PATA port nodes will be named "ide-port" and the SATA port nodes will + be named "sata-port". + type: object + + properties: + reg: + minimum: 0 + maximum: 1 + description: + The ID number of the drive port, 0 for the master port and 1 for the + slave port. + +...
I need to create subnodes for drives connected to PATA or SATA host controllers, and this needs to be supported generally, so create a common YAML binding for "ide" or "sata" that will support subnodes with ports. This has been designed as a subset of ata/pata-sata-common.yaml with the bare essentials and should be possible to extend or superset to cover the common bindings. Cc: Rob Herring <robh+dt@kernel.org> Cc: devicetree@vger.kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- ChangeLog v1->v2: - Use ide@ and sata@ as node names. - Use ide-port@ and sata-port@ for the ports toward the drives, rather than letting the subnodes be the drives themselves. --- .../bindings/ata/pata-sata-common.yaml | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Documentation/devicetree/bindings/ata/pata-sata-common.yaml