diff mbox series

dt-bindings: ata: Add 'ata-generic' binding

Message ID 20221011135849.2785834-1-robh@kernel.org
State New
Headers show
Series dt-bindings: ata: Add 'ata-generic' binding | expand

Commit Message

Rob Herring Oct. 11, 2022, 1:58 p.m. UTC
The 'ata-generic' binding has been around since 2008, but never
documented.

Cc: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Rob Herring <robh@kernel.org>
---
AFAICT, the ata-generic,use16bit property has no effect in Linux. The
32-bit transfers fallback to 16-bit if ATA_PFLAG_PIO32 flag is not set
which it doesn't appear to ever be set. Looking at the history, the
driver always used 16-bit mode.

Linus, Okay with being maintainer here?

---
 .../devicetree/bindings/ata/ata-generic.yaml  | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/ata/ata-generic.yaml

Comments

Damien Le Moal Oct. 17, 2022, 3:06 a.m. UTC | #1
On 10/11/22 22:58, Rob Herring wrote:
> The 'ata-generic' binding has been around since 2008, but never
> documented.
> 
> Cc: Alexander Shiyan <shc_work@mail.ru>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> AFAICT, the ata-generic,use16bit property has no effect in Linux. The
> 32-bit transfers fallback to 16-bit if ATA_PFLAG_PIO32 flag is not set
> which it doesn't appear to ever be set. Looking at the history, the
> driver always used 16-bit mode.
> 
> Linus, Okay with being maintainer here?

If Linus reply is positive, feel free to add:

Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>

I can take this one through the libata tree also if you prefer.

> 
> ---
>  .../devicetree/bindings/ata/ata-generic.yaml  | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/ata/ata-generic.yaml
> 
> diff --git a/Documentation/devicetree/bindings/ata/ata-generic.yaml b/Documentation/devicetree/bindings/ata/ata-generic.yaml
> new file mode 100644
> index 000000000000..0697927f3d7e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/ata-generic.yaml
> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/ata/ata-generic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic Parallel ATA Controller
> +
> +maintainers:
> +  - Linus Walleij <linus.walleij@linaro.org>
> +
> +description:
> +  Generic Parallel ATA controllers supporting PIO modes only.
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - arm,vexpress-cf
> +          - fsl,mpc8349emitx-pata
> +      - const: ata-generic
> +
> +  reg:
> +    items:
> +      - description: Command interface registers
> +      - description: Control interface registers
> +
> +  reg-shift:
> +    enum: [ 1, 2 ]
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  ata-generic,use16bit:
> +    type: boolean
> +    description: Use 16-bit accesses instead of 32-bit for data transfers
> +
> +  pio-mode:
> +    description: Maximum ATA PIO transfer mode
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maximum: 6
> +    default: 0
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    compact-flash@1a000 {
> +        compatible = "arm,vexpress-cf", "ata-generic";
> +        reg = <0x1a000 0x100>,
> +              <0x1a100 0xf00>;
> +        reg-shift = <2>;
> +    };
> +...
Linus Walleij Oct. 17, 2022, 10:37 a.m. UTC | #2
On Tue, Oct 11, 2022 at 4:00 PM Rob Herring <robh@kernel.org> wrote:

> The 'ata-generic' binding has been around since 2008, but never
> documented.
>
> Cc: Alexander Shiyan <shc_work@mail.ru>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> AFAICT, the ata-generic,use16bit property has no effect in Linux. The
> 32-bit transfers fallback to 16-bit if ATA_PFLAG_PIO32 flag is not set
> which it doesn't appear to ever be set. Looking at the history, the
> driver always used 16-bit mode.
>
> Linus, Okay with being maintainer here?

Yeah one more or less :)
But ATA was never my strong card. What about Sergey Semin?
He surely seems to be on top of ATA stuff. Or add us both.

Yours,
Linus Walleij
Rob Herring Oct. 21, 2022, 9:01 p.m. UTC | #3
On Tue, 11 Oct 2022 08:58:50 -0500, Rob Herring wrote:
> The 'ata-generic' binding has been around since 2008, but never
> documented.
> 
> Cc: Alexander Shiyan <shc_work@mail.ru>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> AFAICT, the ata-generic,use16bit property has no effect in Linux. The
> 32-bit transfers fallback to 16-bit if ATA_PFLAG_PIO32 flag is not set
> which it doesn't appear to ever be set. Looking at the history, the
> driver always used 16-bit mode.
> 
> Linus, Okay with being maintainer here?
> 
> ---
>  .../devicetree/bindings/ata/ata-generic.yaml  | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/ata/ata-generic.yaml
> 

Applied, thanks!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/ata/ata-generic.yaml b/Documentation/devicetree/bindings/ata/ata-generic.yaml
new file mode 100644
index 000000000000..0697927f3d7e
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/ata-generic.yaml
@@ -0,0 +1,58 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ata/ata-generic.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Generic Parallel ATA Controller
+
+maintainers:
+  - Linus Walleij <linus.walleij@linaro.org>
+
+description:
+  Generic Parallel ATA controllers supporting PIO modes only.
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - arm,vexpress-cf
+          - fsl,mpc8349emitx-pata
+      - const: ata-generic
+
+  reg:
+    items:
+      - description: Command interface registers
+      - description: Control interface registers
+
+  reg-shift:
+    enum: [ 1, 2 ]
+
+  interrupts:
+    maxItems: 1
+
+  ata-generic,use16bit:
+    type: boolean
+    description: Use 16-bit accesses instead of 32-bit for data transfers
+
+  pio-mode:
+    description: Maximum ATA PIO transfer mode
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 6
+    default: 0
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    compact-flash@1a000 {
+        compatible = "arm,vexpress-cf", "ata-generic";
+        reg = <0x1a000 0x100>,
+              <0x1a100 0xf00>;
+        reg-shift = <2>;
+    };
+...