Thread (41 messages) 41 messages, 8 authors, 2025-02-11

Re: [PATCH 2/9] dt-bindings: ata: Convert fsl,pq-sata binding to YAML

From: J. Neuschäfer <hidden>
Date: 2025-01-31 12:23:13
Also in: dmaengine, linux-crypto, linux-devicetree, linux-ide, linux-pci, linux-spi, linux-watchdog, lkml

On Mon, Jan 27, 2025 at 08:22:55AM +0900, Damien Le Moal wrote:
On 1/27/25 03:58, J. Neuschäfer via B4 Relay wrote:
quoted
From: "J. Neuschäfer" <redacted>

Convert the Freescale PowerQUICC SATA controller binding from text form
to YAML. The list of compatible strings reflects current usage.

Signed-off-by: J. Neuschäfer <redacted>
---
 .../devicetree/bindings/ata/fsl,pq-sata.yaml       | 59 ++++++++++++++++++++++
[...]
quoted
+description: |
+  SATA nodes are defined to describe on-chip Serial ATA controllers.
+  Each SATA port should have its own node.
Very unclear. The SATA nodes define ports or controllers ? Normally, a single
controller can have multiple ports, so the distinction is important.
I'll change it to "Each SATA controller ...", see below.

quoted
+  cell-index:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 3, 4]
+    description: |
+      1 for controller @ 0x18000
+      2 for controller @ 0x19000
+      3 for controller @ 0x1a000
+      4 for controller @ 0x1b000
Are you sure these are different controllers ? Are they not different ports of
the same controller ? Given that the previous text description define this as
"controller index", I suspect these are the port offsets and you SATA nodes
define ports, and not controllers.
They have no shared registers, and each instance has the same register
set (at a different base address).

The MPC8315E reference manual (for example) documents them as:

	SATA 1 Controller—Block Base Address 0x1_8000
	SATA 2 Controller—Block Base Address 0x1_9000

(table A.24 Serial ATA (SATA) Controller)

Section 15.2 Command Operation implies that each SATA controller
supports a single port:

	The SATA controller maintains a queue consisting of up to 16
	commands. These commands can be distributed to a single attached
	device or, if the system contains a port multiplier, over each
	of the attached devices.

So, in conclusion, I'm fairly sure "controller" is the right description.


Best regards,
J. Neuschäfer
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help