xref: /linux/Documentation/devicetree/bindings/ata/imx-sata.yaml (revision 8ca4fc323d2e4ab9dabbdd57633af40b0c7e6af9)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/ata/imx-sata.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Freescale i.MX AHCI SATA Controller
8
9maintainers:
10  - Shawn Guo <shawn.guo@linaro.org>
11
12description: |
13  The Freescale i.MX SATA controller mostly conforms to the AHCI interface
14  with some special extensions at integration level.
15
16properties:
17  compatible:
18    enum:
19      - fsl,imx53-ahci
20      - fsl,imx6q-ahci
21      - fsl,imx6qp-ahci
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  clocks:
30    items:
31      - description: sata clock
32      - description: sata reference clock
33      - description: ahb clock
34
35  clock-names:
36    items:
37      - const: sata
38      - const: sata_ref
39      - const: ahb
40
41  fsl,transmit-level-mV:
42    $ref: /schemas/types.yaml#/definitions/uint32
43    description: transmit voltage level, in millivolts.
44
45  fsl,transmit-boost-mdB:
46    $ref: /schemas/types.yaml#/definitions/uint32
47    description: transmit boost level, in milli-decibels.
48
49  fsl,transmit-atten-16ths:
50    $ref: /schemas/types.yaml#/definitions/uint32
51    description: transmit attenuation, in 16ths.
52
53  fsl,receive-eq-mdB:
54    $ref: /schemas/types.yaml#/definitions/uint32
55    description: receive equalisation, in milli-decibels.
56
57  fsl,no-spread-spectrum:
58    $ref: /schemas/types.yaml#/definitions/flag
59    description: if present, disable spread-spectrum clocking on the SATA link.
60
61required:
62  - compatible
63  - reg
64  - interrupts
65  - clocks
66  - clock-names
67
68additionalProperties: false
69
70examples:
71  - |
72    #include <dt-bindings/clock/imx6qdl-clock.h>
73    #include <dt-bindings/interrupt-controller/arm-gic.h>
74
75    sata@2200000 {
76        compatible = "fsl,imx6q-ahci";
77        reg = <0x02200000 0x4000>;
78        interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
79        clocks = <&clks IMX6QDL_CLK_SATA>,
80                 <&clks IMX6QDL_CLK_SATA_REF_100M>,
81                 <&clks IMX6QDL_CLK_AHB>;
82        clock-names = "sata", "sata_ref", "ahb";
83    };
84