diff options
Diffstat (limited to 'arch/arm/boot/dts/tegra30-cardhu.dtsi')
-rw-r--r-- | arch/arm/boot/dts/tegra30-cardhu.dtsi | 326 |
1 files changed, 326 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi new file mode 100644 index 00000000000..ba38527fcb7 --- /dev/null +++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi | |||
@@ -0,0 +1,326 @@ | |||
1 | /include/ "tegra30.dtsi" | ||
2 | |||
3 | /** | ||
4 | * This file contains common DT entry for all fab version of Cardhu. | ||
5 | * There is multiple fab version of Cardhu starting from A01 to A07. | ||
6 | * Cardhu fab version A01 and A03 are not supported. Cardhu fab version | ||
7 | * A02 will have different sets of GPIOs for fixed regulator compare to | ||
8 | * Cardhu fab version A04. The Cardhu fab version A05, A06, A07 are | ||
9 | * compatible with fab version A04. Based on Cardhu fab version, the | ||
10 | * related dts file need to be chosen like for Cardhu fab version A02, | ||
11 | * use tegra30-cardhu-a02.dts, Cardhu fab version A04 and later, use | ||
12 | * tegra30-cardhu-a04.dts. | ||
13 | * The identification of board is done in two ways, by looking the sticker | ||
14 | * on PCB and by reading board id eeprom. | ||
15 | * The stciker will have number like 600-81291-1000-002 C.3. In this 4th | ||
16 | * number is the fab version like here it is 002 and hence fab version A02. | ||
17 | * The (downstream internal) U-Boot of Cardhu display the board-id as | ||
18 | * follows: | ||
19 | * BoardID: 0C5B, SKU: 0A01, Fab: 02, Rev: 45.00 | ||
20 | * In this Fab version is 02 i.e. A02. | ||
21 | * The BoardID I2C eeprom is interfaced through i2c5 (pwr_i2c address 0x56). | ||
22 | * The location 0x8 of this eeprom contains the Fab version. It is 1 byte | ||
23 | * wide. | ||
24 | */ | ||
25 | |||
26 | / { | ||
27 | model = "NVIDIA Tegra30 Cardhu evaluation board"; | ||
28 | compatible = "nvidia,cardhu", "nvidia,tegra30"; | ||
29 | |||
30 | memory { | ||
31 | reg = <0x80000000 0x40000000>; | ||
32 | }; | ||
33 | |||
34 | pinmux { | ||
35 | pinctrl-names = "default"; | ||
36 | pinctrl-0 = <&state_default>; | ||
37 | |||
38 | state_default: pinmux { | ||
39 | sdmmc1_clk_pz0 { | ||
40 | nvidia,pins = "sdmmc1_clk_pz0"; | ||
41 | nvidia,function = "sdmmc1"; | ||
42 | nvidia,pull = <0>; | ||
43 | nvidia,tristate = <0>; | ||
44 | }; | ||
45 | sdmmc1_cmd_pz1 { | ||
46 | nvidia,pins = "sdmmc1_cmd_pz1", | ||
47 | "sdmmc1_dat0_py7", | ||
48 | "sdmmc1_dat1_py6", | ||
49 | "sdmmc1_dat2_py5", | ||
50 | "sdmmc1_dat3_py4"; | ||
51 | nvidia,function = "sdmmc1"; | ||
52 | nvidia,pull = <2>; | ||
53 | nvidia,tristate = <0>; | ||
54 | }; | ||
55 | sdmmc4_clk_pcc4 { | ||
56 | nvidia,pins = "sdmmc4_clk_pcc4", | ||
57 | "sdmmc4_rst_n_pcc3"; | ||
58 | nvidia,function = "sdmmc4"; | ||
59 | nvidia,pull = <0>; | ||
60 | nvidia,tristate = <0>; | ||
61 | }; | ||
62 | sdmmc4_dat0_paa0 { | ||
63 | nvidia,pins = "sdmmc4_dat0_paa0", | ||
64 | "sdmmc4_dat1_paa1", | ||
65 | "sdmmc4_dat2_paa2", | ||
66 | "sdmmc4_dat3_paa3", | ||
67 | "sdmmc4_dat4_paa4", | ||
68 | "sdmmc4_dat5_paa5", | ||
69 | "sdmmc4_dat6_paa6", | ||
70 | "sdmmc4_dat7_paa7"; | ||
71 | nvidia,function = "sdmmc4"; | ||
72 | nvidia,pull = <2>; | ||
73 | nvidia,tristate = <0>; | ||
74 | }; | ||
75 | dap2_fs_pa2 { | ||
76 | nvidia,pins = "dap2_fs_pa2", | ||
77 | "dap2_sclk_pa3", | ||
78 | "dap2_din_pa4", | ||
79 | "dap2_dout_pa5"; | ||
80 | nvidia,function = "i2s1"; | ||
81 | nvidia,pull = <0>; | ||
82 | nvidia,tristate = <0>; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | serial@70006000 { | ||
88 | status = "okay"; | ||
89 | clock-frequency = <408000000>; | ||
90 | }; | ||
91 | |||
92 | i2c@7000c000 { | ||
93 | status = "okay"; | ||
94 | clock-frequency = <100000>; | ||
95 | }; | ||
96 | |||
97 | i2c@7000c400 { | ||
98 | status = "okay"; | ||
99 | clock-frequency = <100000>; | ||
100 | }; | ||
101 | |||
102 | i2c@7000c500 { | ||
103 | status = "okay"; | ||
104 | clock-frequency = <100000>; | ||
105 | |||
106 | /* ALS and Proximity sensor */ | ||
107 | isl29028@44 { | ||
108 | compatible = "isil,isl29028"; | ||
109 | reg = <0x44>; | ||
110 | interrupt-parent = <&gpio>; | ||
111 | interrupts = <88 0x04>; /*gpio PL0 */ | ||
112 | }; | ||
113 | }; | ||
114 | |||
115 | i2c@7000c700 { | ||
116 | status = "okay"; | ||
117 | clock-frequency = <100000>; | ||
118 | }; | ||
119 | |||
120 | i2c@7000d000 { | ||
121 | status = "okay"; | ||
122 | clock-frequency = <100000>; | ||
123 | |||
124 | wm8903: wm8903@1a { | ||
125 | compatible = "wlf,wm8903"; | ||
126 | reg = <0x1a>; | ||
127 | interrupt-parent = <&gpio>; | ||
128 | interrupts = <179 0x04>; /* gpio PW3 */ | ||
129 | |||
130 | gpio-controller; | ||
131 | #gpio-cells = <2>; | ||
132 | |||
133 | micdet-cfg = <0>; | ||
134 | micdet-delay = <100>; | ||
135 | gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>; | ||
136 | }; | ||
137 | |||
138 | tps62361 { | ||
139 | compatible = "ti,tps62361"; | ||
140 | reg = <0x60>; | ||
141 | |||
142 | regulator-name = "tps62361-vout"; | ||
143 | regulator-min-microvolt = <500000>; | ||
144 | regulator-max-microvolt = <1500000>; | ||
145 | regulator-boot-on; | ||
146 | regulator-always-on; | ||
147 | ti,vsel0-state-high; | ||
148 | ti,vsel1-state-high; | ||
149 | }; | ||
150 | |||
151 | pmic: tps65911@2d { | ||
152 | compatible = "ti,tps65911"; | ||
153 | reg = <0x2d>; | ||
154 | |||
155 | interrupts = <0 86 0x4>; | ||
156 | #interrupt-cells = <2>; | ||
157 | interrupt-controller; | ||
158 | |||
159 | #gpio-cells = <2>; | ||
160 | gpio-controller; | ||
161 | |||
162 | vcc1-supply = <&vdd_ac_bat_reg>; | ||
163 | vcc2-supply = <&vdd_ac_bat_reg>; | ||
164 | vcc3-supply = <&vio_reg>; | ||
165 | vcc5-supply = <&vdd_ac_bat_reg>; | ||
166 | vcc6-supply = <&vdd2_reg>; | ||
167 | vcc7-supply = <&vdd_ac_bat_reg>; | ||
168 | vccio-supply = <&vdd_ac_bat_reg>; | ||
169 | |||
170 | regulators { | ||
171 | #address-cells = <1>; | ||
172 | #size-cells = <0>; | ||
173 | |||
174 | vdd1_reg: regulator@0 { | ||
175 | reg = <0>; | ||
176 | regulator-compatible = "vdd1"; | ||
177 | regulator-name = "vddio_ddr_1v2"; | ||
178 | regulator-min-microvolt = <1200000>; | ||
179 | regulator-max-microvolt = <1200000>; | ||
180 | regulator-always-on; | ||
181 | }; | ||
182 | |||
183 | vdd2_reg: regulator@1 { | ||
184 | reg = <1>; | ||
185 | regulator-compatible = "vdd2"; | ||
186 | regulator-name = "vdd_1v5_gen"; | ||
187 | regulator-min-microvolt = <1500000>; | ||
188 | regulator-max-microvolt = <1500000>; | ||
189 | regulator-always-on; | ||
190 | }; | ||
191 | |||
192 | vddctrl_reg: regulator@2 { | ||
193 | reg = <2>; | ||
194 | regulator-compatible = "vddctrl"; | ||
195 | regulator-name = "vdd_cpu,vdd_sys"; | ||
196 | regulator-min-microvolt = <1000000>; | ||
197 | regulator-max-microvolt = <1000000>; | ||
198 | regulator-always-on; | ||
199 | }; | ||
200 | |||
201 | vio_reg: regulator@3 { | ||
202 | reg = <3>; | ||
203 | regulator-compatible = "vio"; | ||
204 | regulator-name = "vdd_1v8_gen"; | ||
205 | regulator-min-microvolt = <1800000>; | ||
206 | regulator-max-microvolt = <1800000>; | ||
207 | regulator-always-on; | ||
208 | }; | ||
209 | |||
210 | ldo1_reg: regulator@4 { | ||
211 | reg = <4>; | ||
212 | regulator-compatible = "ldo1"; | ||
213 | regulator-name = "vdd_pexa,vdd_pexb"; | ||
214 | regulator-min-microvolt = <1050000>; | ||
215 | regulator-max-microvolt = <1050000>; | ||
216 | }; | ||
217 | |||
218 | ldo2_reg: regulator@5 { | ||
219 | reg = <5>; | ||
220 | regulator-compatible = "ldo2"; | ||
221 | regulator-name = "vdd_sata,avdd_plle"; | ||
222 | regulator-min-microvolt = <1050000>; | ||
223 | regulator-max-microvolt = <1050000>; | ||
224 | }; | ||
225 | |||
226 | /* LDO3 is not connected to anything */ | ||
227 | |||
228 | ldo4_reg: regulator@7 { | ||
229 | reg = <7>; | ||
230 | regulator-compatible = "ldo4"; | ||
231 | regulator-name = "vdd_rtc"; | ||
232 | regulator-min-microvolt = <1200000>; | ||
233 | regulator-max-microvolt = <1200000>; | ||
234 | regulator-always-on; | ||
235 | }; | ||
236 | |||
237 | ldo6_reg: regulator@9 { | ||
238 | reg = <9>; | ||
239 | regulator-compatible = "ldo6"; | ||
240 | regulator-name = "avdd_dsi_csi,pwrdet_mipi"; | ||
241 | regulator-min-microvolt = <1200000>; | ||
242 | regulator-max-microvolt = <1200000>; | ||
243 | }; | ||
244 | |||
245 | ldo7_reg: regulator@10 { | ||
246 | reg = <10>; | ||
247 | regulator-compatible = "ldo7"; | ||
248 | regulator-name = "vdd_pllm,x,u,a_p_c_s"; | ||
249 | regulator-min-microvolt = <1200000>; | ||
250 | regulator-max-microvolt = <1200000>; | ||
251 | regulator-always-on; | ||
252 | }; | ||
253 | |||
254 | ldo8_reg: regulator@11 { | ||
255 | reg = <11>; | ||
256 | regulator-compatible = "ldo8"; | ||
257 | regulator-name = "vdd_ddr_hs"; | ||
258 | regulator-min-microvolt = <1000000>; | ||
259 | regulator-max-microvolt = <1000000>; | ||
260 | regulator-always-on; | ||
261 | }; | ||
262 | }; | ||
263 | }; | ||
264 | }; | ||
265 | |||
266 | ahub { | ||
267 | i2s@70080400 { | ||
268 | status = "okay"; | ||
269 | }; | ||
270 | }; | ||
271 | |||
272 | pmc { | ||
273 | status = "okay"; | ||
274 | nvidia,invert-interrupt; | ||
275 | }; | ||
276 | |||
277 | sdhci@78000000 { | ||
278 | status = "okay"; | ||
279 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | ||
280 | wp-gpios = <&gpio 155 0>; /* gpio PT3 */ | ||
281 | power-gpios = <&gpio 31 0>; /* gpio PD7 */ | ||
282 | bus-width = <4>; | ||
283 | }; | ||
284 | |||
285 | sdhci@78000600 { | ||
286 | status = "okay"; | ||
287 | bus-width = <8>; | ||
288 | }; | ||
289 | |||
290 | regulators { | ||
291 | compatible = "simple-bus"; | ||
292 | #address-cells = <1>; | ||
293 | #size-cells = <0>; | ||
294 | |||
295 | vdd_ac_bat_reg: regulator@0 { | ||
296 | compatible = "regulator-fixed"; | ||
297 | reg = <0>; | ||
298 | regulator-name = "vdd_ac_bat"; | ||
299 | regulator-min-microvolt = <5000000>; | ||
300 | regulator-max-microvolt = <5000000>; | ||
301 | regulator-always-on; | ||
302 | }; | ||
303 | }; | ||
304 | |||
305 | sound { | ||
306 | compatible = "nvidia,tegra-audio-wm8903-cardhu", | ||
307 | "nvidia,tegra-audio-wm8903"; | ||
308 | nvidia,model = "NVIDIA Tegra Cardhu"; | ||
309 | |||
310 | nvidia,audio-routing = | ||
311 | "Headphone Jack", "HPOUTR", | ||
312 | "Headphone Jack", "HPOUTL", | ||
313 | "Int Spk", "ROP", | ||
314 | "Int Spk", "RON", | ||
315 | "Int Spk", "LOP", | ||
316 | "Int Spk", "LON", | ||
317 | "Mic Jack", "MICBIAS", | ||
318 | "IN1L", "Mic Jack"; | ||
319 | |||
320 | nvidia,i2s-controller = <&tegra_i2s1>; | ||
321 | nvidia,audio-codec = <&wm8903>; | ||
322 | |||
323 | nvidia,spkr-en-gpios = <&wm8903 2 0>; | ||
324 | nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ | ||
325 | }; | ||
326 | }; | ||