GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / ata / imx-sata.yaml
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
7 title: Freescale i.MX AHCI SATA Controller
8
9 maintainers:
10   - Shawn Guo <shawn.guo@linaro.org>
11
12 description: |
13   The Freescale i.MX SATA controller mostly conforms to the AHCI interface
14   with some special extensions at integration level.
15
16 properties:
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
61 required:
62   - compatible
63   - reg
64   - interrupts
65   - clocks
66   - clock-names
67
68 additionalProperties: false
69
70 examples:
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     };