Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml
26308 views
1
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/ata/nvidia,tegra-ahci.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Tegra AHCI SATA Controller
8
9
maintainers:
10
- Thierry Reding <thierry.reding@gmail.com>
11
- Jonathan Hunter <jonathanh@nvidia.com>
12
13
properties:
14
compatible:
15
enum:
16
- nvidia,tegra124-ahci
17
- nvidia,tegra132-ahci
18
- nvidia,tegra210-ahci
19
- nvidia,tegra186-ahci
20
21
reg:
22
minItems: 2
23
items:
24
- description: AHCI registers
25
- description: SATA configuration and IPFS registers
26
- description: SATA AUX registers
27
28
interrupts:
29
maxItems: 1
30
31
clock-names:
32
items:
33
- const: sata
34
- const: sata-oob
35
36
clocks:
37
maxItems: 2
38
39
reset-names:
40
minItems: 2
41
items:
42
- const: sata
43
- const: sata-cold
44
- const: sata-oob
45
46
resets:
47
minItems: 2
48
maxItems: 3
49
50
iommus:
51
maxItems: 1
52
53
interconnect-names:
54
items:
55
- const: dma-mem
56
- const: write
57
58
interconnects:
59
maxItems: 2
60
61
power-domains:
62
items:
63
- description: SAX power-domain
64
65
phy-names:
66
items:
67
- const: sata-0
68
69
phys:
70
maxItems: 1
71
72
hvdd-supply:
73
description: SATA HVDD regulator supply.
74
75
vddio-supply:
76
description: SATA VDDIO regulator supply.
77
78
avdd-supply:
79
description: SATA AVDD regulator supply.
80
81
target-5v-supply:
82
description: SATA 5V power regulator supply.
83
84
target-12v-supply:
85
description: SATA 12V power regulator supply.
86
87
required:
88
- compatible
89
- reg
90
- interrupts
91
- clock-names
92
- clocks
93
- reset-names
94
- resets
95
96
allOf:
97
- if:
98
properties:
99
compatible:
100
contains:
101
enum:
102
- nvidia,tegra124-ahci
103
- nvidia,tegra132-ahci
104
then:
105
properties:
106
reg:
107
maxItems: 2
108
reset-names:
109
minItems: 3
110
resets:
111
minItems: 3
112
required:
113
- phys
114
- phy-names
115
- hvdd-supply
116
- vddio-supply
117
- avdd-supply
118
119
- if:
120
properties:
121
compatible:
122
contains:
123
enum:
124
- nvidia,tegra210-ahci
125
then:
126
properties:
127
reg:
128
minItems: 3
129
reset-names:
130
minItems: 3
131
resets:
132
minItems: 3
133
134
- if:
135
properties:
136
compatible:
137
contains:
138
enum:
139
- nvidia,tegra186-ahci
140
then:
141
properties:
142
reg:
143
minItems: 3
144
reset-names:
145
maxItems: 2
146
resets:
147
maxItems: 2
148
required:
149
- iommus
150
- interconnect-names
151
- interconnects
152
- power-domains
153
154
additionalProperties: false
155
156
examples:
157
- |
158
#include <dt-bindings/clock/tegra210-car.h>
159
#include <dt-bindings/reset/tegra210-car.h>
160
#include <dt-bindings/interrupt-controller/arm-gic.h>
161
162
sata@70020000 {
163
compatible = "nvidia,tegra210-ahci";
164
reg = <0x70027000 0x00002000>, /* AHCI */
165
<0x70020000 0x00007000>, /* SATA */
166
<0x70001100 0x00010000>; /* SATA AUX */
167
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
168
clocks = <&tegra_car TEGRA210_CLK_SATA>,
169
<&tegra_car TEGRA210_CLK_SATA_OOB>;
170
clock-names = "sata", "sata-oob";
171
resets = <&tegra_car 124>,
172
<&tegra_car 129>,
173
<&tegra_car 123>;
174
reset-names = "sata", "sata-cold", "sata-oob";
175
};
176
177