Message ID | 20200112111751.21984-1-linus.walleij@linaro.org |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v4] dt-bindings: Create DT bindings for SATA controllers | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/dt-meta-schema | success |
On Sun, 12 Jan 2020 12:17:51 +0100, Linus Walleij wrote: > I need to create subnodes for drives connected to SATA > host controllers, and this needs to be supported > generally, so create a common YAML binding for > "sata" that will support subnodes with ports. > > This has been designed as a subset of > ata/ahci-platform.txt 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 > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > ChangeLog v3->v4: > - Drop any master/slave terminology: SATA has one drive > per port or up to 15 drives behind a multiplexer. > - Drop RFC notation, this feels pretty finished. > ChangeLog v2->v3: > - Split off into its own RFC patch > - Only support sata-port@ in this binding > - Opt to support devices 0..14 on the sata-port in > line with ahci-platforn.txt not modeling the port > multiplier in the device tree at all. > 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. > --- > .../devicetree/bindings/ata/sata-common.yaml | 50 +++++++++++++++++++ > 1 file changed, 50 insertions(+) > create mode 100644 Documentation/devicetree/bindings/ata/sata-common.yaml > Applied, thanks. Rob
diff --git a/Documentation/devicetree/bindings/ata/sata-common.yaml b/Documentation/devicetree/bindings/ata/sata-common.yaml new file mode 100644 index 000000000000..41f590629fbf --- /dev/null +++ b/Documentation/devicetree/bindings/ata/sata-common.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/ata/sata-common.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Common Properties for Serial AT attachment (SATA) controllers + +maintainers: + - Linus Walleij <linus.walleij@linaro.org> + +description: | + This document defines device tree properties common to most Serial + AT attachment (SATA) storage devices. It doesn't constitute a device tree + binding specification by itself but is meant to be referenced by device + tree bindings. + + The SATA controller-specific device tree bindings are responsible for + defining whether each property is required or optional. + +properties: + $nodename: + pattern: "^sata(@.*)?$" + description: + Specifies the host controller node. SATA host controller nodes are named + "sata" + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + +patternProperties: + "^sata-port@[0-1]$": + description: | + DT nodes for ports connected on the SATA host. The SATA port + nodes will be named "sata-port". + type: object + + properties: + reg: + minimum: 0 + maximum: 14 + description: + The ID number of the drive port SATA can potentially use a port + multiplier making it possible to connect up to 15 disks to a single + SATA port. + +...
I need to create subnodes for drives connected to SATA host controllers, and this needs to be supported generally, so create a common YAML binding for "sata" that will support subnodes with ports. This has been designed as a subset of ata/ahci-platform.txt 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 Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- ChangeLog v3->v4: - Drop any master/slave terminology: SATA has one drive per port or up to 15 drives behind a multiplexer. - Drop RFC notation, this feels pretty finished. ChangeLog v2->v3: - Split off into its own RFC patch - Only support sata-port@ in this binding - Opt to support devices 0..14 on the sata-port in line with ahci-platforn.txt not modeling the port multiplier in the device tree at all. 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. --- .../devicetree/bindings/ata/sata-common.yaml | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Documentation/devicetree/bindings/ata/sata-common.yaml