[PATCH v4 2/6] dt-bindings: ata: sata-brcm: Describe the NSP IDM registers

From: Florian Fainelli

Date: Thu Oct 29 2026 - 17:26:31 EST


Northstar Plus uses the SATA IDM block to enable the interface clock and
deassert the core reset before accessing the controller registers.

Allow an optional third register region named "idm" for the NSP
controller. Keep other compatibles limited to their existing two
register regions and allow older NSP descriptions without the IDM.

Signed-off-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
---
.../bindings/ata/brcm,sata-brcm.yaml | 57 ++++++++++++-------
1 file changed, 37 insertions(+), 20 deletions(-)

diff --git a/Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml b/Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
index fe7f091e744f..9a48f7e36fcd 100644
--- a/Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
+++ b/Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
@@ -13,9 +13,6 @@ description:
maintainers:
- Florian Fainelli <f.fainelli@xxxxxxxxx>

-allOf:
- - $ref: ahci-common.yaml#
-
properties:
compatible:
oneOf:
@@ -30,32 +27,19 @@ properties:
- const: brcm,bcm-nsp-ahci

reg:
- maxItems: 2
+ minItems: 2
+ maxItems: 3

reg-names:
+ minItems: 2
items:
- const: ahci
- const: top-ctrl
+ - const: idm

interrupts:
maxItems: 1

-if:
- properties:
- compatible:
- contains:
- enum:
- - brcm,bcm7216-ahci
- - brcm,bcm63138-ahci
-then:
- properties:
- resets:
- maxItems: 1
- reset-names:
- enum:
- - rescal
- - ahci
-
required:
- compatible
- reg
@@ -63,6 +47,39 @@ required:
- "#address-cells"
- "#size-cells"

+allOf:
+ - $ref: ahci-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: brcm,bcm-nsp-ahci
+ then:
+ properties:
+ reg:
+ description: AHCI, top control and optional IDM register regions
+ else:
+ properties:
+ reg:
+ maxItems: 2
+ reg-names:
+ maxItems: 2
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - brcm,bcm7216-ahci
+ - brcm,bcm63138-ahci
+ then:
+ properties:
+ resets:
+ maxItems: 1
+ reset-names:
+ enum:
+ - rescal
+ - ahci
+
unevaluatedProperties: false

examples:
--
2.53.0