[PATCH] dt-bindings: ata: Add 'ata-generic' binding

Rob Herring posted 1 patch 3 years, 2 months ago
.../devicetree/bindings/ata/ata-generic.yaml  | 58 +++++++++++++++++++
1 file changed, 58 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/ata-generic.yaml
[PATCH] dt-bindings: ata: Add 'ata-generic' binding
Posted by Rob Herring 3 years, 2 months ago
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

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>;
+    };
+...
-- 
2.35.1
Re: [PATCH] dt-bindings: ata: Add 'ata-generic' binding
Posted by Rob Herring 3 years, 1 month ago
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!
Re: [PATCH] dt-bindings: ata: Add 'ata-generic' binding
Posted by Linus Walleij 3 years, 1 month ago
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
Re: [PATCH] dt-bindings: ata: Add 'ata-generic' binding
Posted by Damien Le Moal 3 years, 1 month ago
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>;
> +    };
> +...

-- 
Damien Le Moal
Western Digital Research