All of lore.kernel.org
 help / color / mirror / Atom feed
From: Serge Semin <Sergey.Semin@baikalelectronics.ru>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Hans de Goede <hdegoede@redhat.com>, Jens Axboe <axboe@kernel.dk>,
	Hannes Reinecke <hare@suse.de>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
	Serge Semin <fancer.lancer@gmail.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
	<linux-ide@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<devicetree@vger.kernel.org>, Rob Herring <robh@kernel.org>
Subject: [PATCH RESEND v6 03/23] dt-bindings: ata: ahci-platform: Clarify common AHCI props constraints
Date: Thu, 28 Jul 2022 14:18:44 +0300	[thread overview]
Message-ID: <20220728111905.12427-4-Sergey.Semin@baikalelectronics.ru> (raw)
In-Reply-To: <20220728111905.12427-1-Sergey.Semin@baikalelectronics.ru>

Indeed in accordance with what is implemented in the AHCI platform driver
and the way the AHCI DT nodes are defined in the DT files we can add the
next AHCI DT properties constraints: AHCI CSR ID is fixed to 'ahci', PHY
name is fixed to 'sata-phy', AHCI controller can't have more than 32 ports
by design, AHCI controller can have up to 32 IRQ lines.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Rob Herring <robh@kernel.org>

---

Changelog v2:
- This is a new patch created after rebasing v1 onto the 5.18-rc3 kernel.

Changelog v4:
- Fix spelling: 'imeplemtned' and 'paltform' in the patch log. (@Hannes)
- Add the interrupts property constraints. (@Rob)
- Add forgotten '---' patchlog-changelog separator. (@Sergei)
---
 .../devicetree/bindings/ata/ahci-common.yaml    | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/ata/ahci-common.yaml b/Documentation/devicetree/bindings/ata/ahci-common.yaml
index e89bda3b62cc..12a97b56226f 100644
--- a/Documentation/devicetree/bindings/ata/ahci-common.yaml
+++ b/Documentation/devicetree/bindings/ata/ahci-common.yaml
@@ -31,12 +31,16 @@ properties:
 
   reg-names:
     description: CSR space IDs
+    contains:
+      const: ahci
 
   interrupts:
     description:
       Generic AHCI state change interrupt. Can be implemented either as a
       single line attached to the controller or as a set of the signals
       indicating the particular port events.
+    minItems: 1
+    maxItems: 32
 
   ahci-supply:
     description: Power regulator for AHCI controller
@@ -52,14 +56,13 @@ properties:
     maxItems: 1
 
   phy-names:
-    maxItems: 1
+    const: sata-phy
 
   ports-implemented:
     $ref: '/schemas/types.yaml#/definitions/uint32'
     description:
       Mask that indicates which ports the HBA supports. Useful if PI is not
       programmed by the BIOS, which is true for some embedded SoC's.
-    maximum: 0x1f
 
 patternProperties:
   "^sata-port@[0-9a-f]+$":
@@ -80,8 +83,12 @@ $defs:
 
     properties:
       reg:
-        description: AHCI SATA port identifier
-        maxItems: 1
+        description:
+          AHCI SATA port identifier. By design AHCI controller can't have
+          more than 32 ports due to the CAP.NP fields and PI register size
+          constraints.
+        minimum: 0
+        maximum: 31
 
       phys:
         description: Individual AHCI SATA port PHY
@@ -89,7 +96,7 @@ $defs:
 
       phy-names:
         description: AHCI SATA port PHY ID
-        maxItems: 1
+        const: sata-phy
 
       target-supply:
         description: Power regulator for SATA port target device
-- 
2.35.1


  parent reply	other threads:[~2022-07-28 11:19 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-28 11:18 [PATCH RESEND v6 00/23] ata: ahci: Add DWC/Baikal-T1 AHCI SATA support Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 01/23] dt-bindings: ata: ahci-platform: Move dma-coherent to sata-common.yaml Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 02/23] dt-bindings: ata: ahci-platform: Detach common AHCI bindings Serge Semin
2022-07-28 11:18 ` Serge Semin [this message]
2022-07-28 11:18 ` [PATCH RESEND v6 04/23] dt-bindings: ata: sata: Extend number of SATA ports Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 05/23] dt-bindings: ata: sata-brcm: Apply common AHCI schema Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 06/23] ata: libahci_platform: Convert to using platform devm-ioremap methods Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 07/23] ata: libahci_platform: Convert to using devm bulk clocks API Serge Semin
2022-07-29 19:56   ` kernel test robot
2022-07-30  1:51   ` kernel test robot
2022-07-28 11:18 ` [PATCH RESEND v6 08/23] ata: libahci_platform: Sanity check the DT child nodes number Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 09/23] ata: libahci_platform: Parse ports-implemented property in resources getter Serge Semin
2022-07-28 11:18   ` Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 10/23] ata: libahci_platform: Introduce reset assertion/deassertion methods Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 11/23] dt-bindings: ata: ahci: Add platform capability properties Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 12/23] ata: libahci: Extend port-cmd flags set with port capabilities Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 13/23] ata: libahci: Discard redundant force_port_map parameter Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 14/23] ata: libahci: Don't read AHCI version twice in the save-config method Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 15/23] ata: ahci: Convert __ahci_port_base to accepting hpriv as arguments Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 16/23] ata: ahci: Introduce firmware-specific caps initialization Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 17/23] dt-bindings: ata: ahci: Add DWC AHCI SATA controller DT schema Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 18/23] ata: libahci_platform: Add function returning a clock-handle by id Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 19/23] ata: ahci: Add DWC AHCI SATA controller support Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 20/23] dt-bindings: ata: ahci: Add Baikal-T1 AHCI SATA controller DT schema Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 21/23] ata: ahci-dwc: Add platform-specific quirks support Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 22/23] ata: ahci-dwc: Add Baikal-T1 AHCI SATA interface support Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 23/23] MAINTAINERS: Add maintainers for DWC AHCI SATA driver Serge Semin
2022-07-29  4:18 ` [PATCH RESEND v6 00/23] ata: ahci: Add DWC/Baikal-T1 AHCI SATA support Damien Le Moal
2022-07-31 16:40   ` Serge Semin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220728111905.12427-4-Sergey.Semin@baikalelectronics.ru \
    --to=sergey.semin@baikalelectronics.ru \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=Pavel.Parkhomenko@baikalelectronics.ru \
    --cc=axboe@kernel.dk \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fancer.lancer@gmail.com \
    --cc=hare@suse.de \
    --cc=hdegoede@redhat.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.