]>
Commit | Line | Data |
---|---|---|
3528dd34 AK |
1 | /* |
2 | * Google Peach Pit Rev 6+ board device tree source | |
3 | * | |
4 | * Copyright (c) 2014 Google, Inc | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | ||
11 | /dts-v1/; | |
12 | #include <dt-bindings/input/input.h> | |
13 | #include <dt-bindings/gpio/gpio.h> | |
14 | #include "exynos5420.dtsi" | |
15 | ||
16 | / { | |
17 | model = "Google Peach Pit Rev 6+"; | |
18 | ||
19 | compatible = "google,pit-rev16", | |
20 | "google,pit-rev15", "google,pit-rev14", | |
21 | "google,pit-rev13", "google,pit-rev12", | |
22 | "google,pit-rev11", "google,pit-rev10", | |
23 | "google,pit-rev9", "google,pit-rev8", | |
24 | "google,pit-rev7", "google,pit-rev6", | |
25 | "google,pit", "google,peach","samsung,exynos5420", | |
26 | "samsung,exynos5"; | |
27 | ||
522c8ff5 TB |
28 | backlight { |
29 | compatible = "pwm-backlight"; | |
30 | pwms = <&pwm 0 1000000 0>; | |
31 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | |
32 | default-brightness-level = <7>; | |
33 | pinctrl-0 = <&pwm0_out>; | |
34 | pinctrl-names = "default"; | |
3528dd34 AK |
35 | }; |
36 | ||
37 | fixed-rate-clocks { | |
38 | oscclk { | |
39 | compatible = "samsung,exynos5420-oscclk"; | |
40 | clock-frequency = <24000000>; | |
41 | }; | |
42 | }; | |
43 | ||
44 | gpio-keys { | |
45 | compatible = "gpio-keys"; | |
46 | ||
47 | pinctrl-names = "default"; | |
48 | pinctrl-0 = <&power_key_irq>; | |
49 | ||
50 | power { | |
51 | label = "Power"; | |
52 | gpios = <&gpx1 2 GPIO_ACTIVE_LOW>; | |
53 | linux,code = <KEY_POWER>; | |
54 | gpio-key,wakeup; | |
55 | }; | |
56 | }; | |
57 | ||
522c8ff5 TB |
58 | memory { |
59 | reg = <0x20000000 0x80000000>; | |
3528dd34 | 60 | }; |
ead3993e TB |
61 | |
62 | sound { | |
63 | compatible = "google,snow-audio-max98090"; | |
64 | ||
a8d80b6b | 65 | samsung,model = "Peach-Pit-I2S-MAX98090"; |
ead3993e TB |
66 | samsung,i2s-controller = <&i2s0>; |
67 | samsung,audio-codec = <&max98090>; | |
68 | }; | |
14a35ada VG |
69 | |
70 | usb300_vbus_reg: regulator-usb300 { | |
71 | compatible = "regulator-fixed"; | |
72 | regulator-name = "P5.0V_USB3CON0"; | |
73 | regulator-min-microvolt = <5000000>; | |
74 | regulator-max-microvolt = <5000000>; | |
75 | gpio = <&gph0 0 0>; | |
76 | pinctrl-names = "default"; | |
77 | pinctrl-0 = <&usb300_vbus_en>; | |
78 | enable-active-high; | |
79 | }; | |
80 | ||
81 | usb301_vbus_reg: regulator-usb301 { | |
82 | compatible = "regulator-fixed"; | |
83 | regulator-name = "P5.0V_USB3CON1"; | |
84 | regulator-min-microvolt = <5000000>; | |
85 | regulator-max-microvolt = <5000000>; | |
86 | gpio = <&gph0 1 0>; | |
87 | pinctrl-names = "default"; | |
88 | pinctrl-0 = <&usb301_vbus_en>; | |
89 | enable-active-high; | |
90 | }; | |
3528dd34 AK |
91 | }; |
92 | ||
522c8ff5 TB |
93 | &dp { |
94 | status = "okay"; | |
95 | pinctrl-names = "default"; | |
96 | pinctrl-0 = <&dp_hpd_gpio>; | |
97 | samsung,color-space = <0>; | |
98 | samsung,dynamic-range = <0>; | |
99 | samsung,ycbcr-coeff = <0>; | |
100 | samsung,color-depth = <1>; | |
101 | samsung,link-rate = <0x06>; | |
102 | samsung,lane-count = <2>; | |
103 | samsung,hpd-gpio = <&gpx2 6 0>; | |
ead3993e | 104 | |
522c8ff5 TB |
105 | display-timings { |
106 | native-mode = <&timing1>; | |
3528dd34 | 107 | |
522c8ff5 TB |
108 | timing1: timing@1 { |
109 | clock-frequency = <70589280>; | |
110 | hactive = <1366>; | |
111 | vactive = <768>; | |
112 | hfront-porch = <40>; | |
113 | hback-porch = <40>; | |
114 | hsync-len = <32>; | |
115 | vback-porch = <10>; | |
116 | vfront-porch = <12>; | |
117 | vsync-len = <6>; | |
118 | }; | |
3528dd34 | 119 | }; |
522c8ff5 | 120 | }; |
6ac189fc | 121 | |
522c8ff5 TB |
122 | &fimd { |
123 | status = "okay"; | |
124 | samsung,invert-vclk; | |
125 | }; | |
94b62c38 | 126 | |
522c8ff5 TB |
127 | &hdmi { |
128 | status = "okay"; | |
129 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | |
130 | pinctrl-names = "default"; | |
131 | pinctrl-0 = <&hdmi_hpd_irq>; | |
132 | ddc = <&i2c_2>; | |
3528dd34 AK |
133 | }; |
134 | ||
522c8ff5 TB |
135 | &hsi2c_7 { |
136 | status = "okay"; | |
137 | ||
138 | max98090: codec@10 { | |
139 | compatible = "maxim,max98090"; | |
140 | reg = <0x10>; | |
141 | interrupts = <2 0>; | |
142 | interrupt-parent = <&gpx0>; | |
143 | pinctrl-names = "default"; | |
144 | pinctrl-0 = <&max98090_irq>; | |
14a35ada | 145 | }; |
522c8ff5 | 146 | }; |
14a35ada | 147 | |
522c8ff5 TB |
148 | &hsi2c_9 { |
149 | status = "okay"; | |
150 | clock-frequency = <400000>; | |
151 | ||
152 | tpm@20 { | |
153 | compatible = "infineon,slb9645tt"; | |
154 | reg = <0x20>; | |
155 | ||
156 | /* Unused irq; but still need to configure the pins */ | |
157 | pinctrl-names = "default"; | |
158 | pinctrl-0 = <&tpm_irq>; | |
14a35ada VG |
159 | }; |
160 | }; | |
161 | ||
522c8ff5 | 162 | &i2c_2 { |
3528dd34 | 163 | status = "okay"; |
522c8ff5 TB |
164 | samsung,i2c-sda-delay = <100>; |
165 | samsung,i2c-max-bus-freq = <66000>; | |
166 | samsung,i2c-slave-addr = <0x50>; | |
3528dd34 AK |
167 | }; |
168 | ||
522c8ff5 | 169 | &i2s0 { |
3528dd34 AK |
170 | status = "okay"; |
171 | }; | |
172 | ||
173 | &mmc_0 { | |
174 | status = "okay"; | |
175 | num-slots = <1>; | |
176 | broken-cd; | |
177 | caps2-mmc-hs200-1_8v; | |
178 | supports-highspeed; | |
179 | non-removable; | |
180 | card-detect-delay = <200>; | |
181 | clock-frequency = <400000000>; | |
182 | samsung,dw-mshc-ciu-div = <3>; | |
183 | samsung,dw-mshc-sdr-timing = <0 4>; | |
184 | samsung,dw-mshc-ddr-timing = <0 2>; | |
185 | pinctrl-names = "default"; | |
186 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; | |
187 | ||
188 | slot@0 { | |
189 | reg = <0>; | |
190 | bus-width = <8>; | |
191 | }; | |
192 | }; | |
193 | ||
194 | &mmc_2 { | |
195 | status = "okay"; | |
196 | num-slots = <1>; | |
197 | supports-highspeed; | |
198 | card-detect-delay = <200>; | |
199 | clock-frequency = <400000000>; | |
200 | samsung,dw-mshc-ciu-div = <3>; | |
201 | samsung,dw-mshc-sdr-timing = <2 3>; | |
202 | samsung,dw-mshc-ddr-timing = <1 2>; | |
203 | pinctrl-names = "default"; | |
204 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | |
205 | ||
206 | slot@0 { | |
207 | reg = <0>; | |
208 | bus-width = <4>; | |
209 | }; | |
210 | }; | |
211 | ||
ead3993e | 212 | |
522c8ff5 | 213 | &pinctrl_0 { |
ac5ce09e DA |
214 | pinctrl-names = "default"; |
215 | pinctrl-0 = <&mask_tpm_reset>; | |
216 | ||
522c8ff5 TB |
217 | max98090_irq: max98090-irq { |
218 | samsung,pins = "gpx0-2"; | |
219 | samsung,pin-function = <0>; | |
220 | samsung,pin-pud = <0>; | |
221 | samsung,pin-drv = <0>; | |
ead3993e | 222 | }; |
ead3993e | 223 | |
ac5ce09e DA |
224 | /* We need GPX0_6 to be low at sleep time; just keep it low always */ |
225 | mask_tpm_reset: mask-tpm-reset { | |
226 | samsung,pins = "gpx0-6"; | |
227 | samsung,pin-function = <1>; | |
228 | samsung,pin-pud = <0>; | |
229 | samsung,pin-drv = <0>; | |
230 | samsung,pin-val = <0>; | |
231 | }; | |
232 | ||
522c8ff5 TB |
233 | tpm_irq: tpm-irq { |
234 | samsung,pins = "gpx1-0"; | |
235 | samsung,pin-function = <0>; | |
236 | samsung,pin-pud = <0>; | |
237 | samsung,pin-drv = <0>; | |
238 | }; | |
3528dd34 | 239 | |
522c8ff5 TB |
240 | power_key_irq: power-key-irq { |
241 | samsung,pins = "gpx1-2"; | |
242 | samsung,pin-function = <0>; | |
243 | samsung,pin-pud = <0>; | |
244 | samsung,pin-drv = <0>; | |
245 | }; | |
3528dd34 | 246 | |
522c8ff5 TB |
247 | dp_hpd_gpio: dp_hpd_gpio { |
248 | samsung,pins = "gpx2-6"; | |
249 | samsung,pin-function = <0>; | |
250 | samsung,pin-pud = <3>; | |
251 | samsung,pin-drv = <0>; | |
252 | }; | |
253 | ||
254 | hdmi_hpd_irq: hdmi-hpd-irq { | |
255 | samsung,pins = "gpx3-7"; | |
256 | samsung,pin-function = <0>; | |
257 | samsung,pin-pud = <1>; | |
258 | samsung,pin-drv = <0>; | |
3528dd34 AK |
259 | }; |
260 | }; | |
261 | ||
522c8ff5 TB |
262 | &pinctrl_3 { |
263 | usb300_vbus_en: usb300-vbus-en { | |
264 | samsung,pins = "gph0-0"; | |
265 | samsung,pin-function = <1>; | |
266 | samsung,pin-pud = <0>; | |
267 | samsung,pin-drv = <0>; | |
268 | }; | |
269 | ||
270 | usb301_vbus_en: usb301-vbus-en { | |
271 | samsung,pins = "gph0-1"; | |
272 | samsung,pin-function = <1>; | |
273 | samsung,pin-pud = <0>; | |
274 | samsung,pin-drv = <0>; | |
275 | }; | |
276 | }; | |
277 | ||
278 | &rtc { | |
6ac189fc | 279 | status = "okay"; |
6ac189fc RS |
280 | }; |
281 | ||
522c8ff5 | 282 | &uart_3 { |
6ac189fc | 283 | status = "okay"; |
6ac189fc RS |
284 | }; |
285 | ||
0ce9f47a | 286 | &usbdrd_phy0 { |
14a35ada VG |
287 | vbus-supply = <&usb300_vbus_reg>; |
288 | }; | |
289 | ||
0ce9f47a | 290 | &usbdrd_phy1 { |
14a35ada VG |
291 | vbus-supply = <&usb301_vbus_reg>; |
292 | }; | |
293 | ||
3528dd34 AK |
294 | /* |
295 | * Use longest HW watchdog in SoC (32 seconds) since the hardware | |
296 | * watchdog provides no debugging information (compared to soft/hard | |
297 | * lockup detectors) and so should be last resort. | |
298 | */ | |
299 | &watchdog { | |
300 | timeout-sec = <32>; | |
301 | }; | |
ead3993e | 302 |