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