The denoted in the description upper limit only concerns the Port Multipliers, but not the actual SATA ports. It's an external device attached to a SATA port in order to access more than one SATA-drive. So when it's attached to a SATA port it just extends the port capability while the number of actual SATA ports stays the same. For instance on AHCI controllers the number of actual ports is determined by the CAP.NP field and the PI (Ports Implemented) register. AFAICS in general the maximum number of SATA ports depends on the particular controller implementation. Generic AHCI controller can't have more than 32 ports (since CAP.NP is of 5 bits wide and PI register is 32-bits size), while DWC AHCI SATA controller can't be configured with more than 8 ports activated. So let's discard the SATA ports reg-property restrictions and just make sure that it consists of a single reg-item. Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
# 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
|
|
|
|
dma-coherent: true
|
|
|
|
patternProperties:
|
|
"^sata-port@[0-9a-e]$":
|
|
$ref: '#/$defs/sata-port'
|
|
description: |
|
|
DT nodes for ports connected on the SATA host. The SATA port
|
|
nodes will be named "sata-port".
|
|
|
|
additionalProperties: true
|
|
|
|
$defs:
|
|
sata-port:
|
|
type: object
|
|
|
|
properties:
|
|
reg:
|
|
minimum: 0
|
|
description:
|
|
The ID number of the SATA port. Aside with being directly used,
|
|
each port can have a Port Multiplier attached thus allowing to
|
|
access more than one drive by means of a single SATA port.
|
|
|
|
...
|