diff options
author | Olof Johansson <olof@lixom.net> | 2014-07-19 18:06:48 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-07-19 18:06:48 -0400 |
commit | aaaa10b0961f1fca534dea100ace0fc2991a07dd (patch) | |
tree | 754fc858ed5e0a4de754c7564859b9afad0f0dd9 | |
parent | 223f93ed7e8942a250c1a7ea99ede72f5fd4cc70 (diff) | |
parent | ccaba4527156da1619a23bafcb944e8e029d0573 (diff) |
Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
Merge "Samsung DT updates for v3.17" from Kukjin Kim:
exynos3250: add i2s dt for audio interface
exynos4
- cleanup arm-pmu node because of 4 pmu on
exynos4412 but 2 pmu on other exynos4 SoCs
- add support sub-nodes to exynos usb host for exynos4
exynos4412-odroid-common
- fix T-FLASH hotplug detection
- disable 'always on' for BUCK8
- add support for GPIO based buttons
- add MAX98090 audio codec
exynos4412-odroidx2 and exynos4412-odroidu3
- refactor exynos4412-odroidx and exynos4412-odroid-common
for odroid-x2 and u2/u3
exynos4412-odroidx
- add support for USB phy, host and device
- enable common hardware blocks, secure firmware calls,
watchdog, g2d and fimc (mem2mem) multimedia accelerators
- add support for USB phy, host and device
- correct memory size
exynos5410
- fill in CPU clock-frequency property to avoid warning
exynos5420
- remove display pd because of instability
exynos5420-peach-pit and exynos5800-peach-pi
- sort nodes each other to check its differences easily
- enable audio support and add sound-card name property
- add mask-tpm-reset node
- add cros_ec including keyboard, i2c tunnel and tps65090
and battery under the i2c tunnel
* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: Add I2S dt node for exynos3250
ARM: dts: Add cros_ec to exynos5420-peach-pit and exynos5800-peach-pi
ARM: dts: clean up arm-pmu node for exynos4
ARM: dts: remove display power domain for exynos5420
ARM: dts: Add sound nodes for Odroid-X2/U3 boards
ARM: dts: fix T-FLASH hotplug detection for exynos4412-odroid-common
ARM: dts: add support for GPIO buttons for exynos4412-odroid
ARM: dts: disable 'always on' for BUCK8 regulator for exynos4412-odroid-common
ARM: dts: refactor Odroid DTS file and add support for Odroid X2 and U2/U3
ARM: dts: correct memory size for exynos4412-odroidx
ARM: dts: add support for USB phy, host and device for exynos4412-odroidx
ARM: dts: enable common hardware blocks for exynos4412-odroidx
ARM: dts: add port sub-nodes to exynos usb host modules for exynos4
ARM: dts: Add mask-tpm-reset node in exynos5800-peach-pi
ARM: dts: Add mask-tpm-reset node in exynos5420-peach-pit
ARM: dts: Add sound-card name for Snow/Peach-Pit/Peach-Pi
ARM: dts: Fill in CPU clock-frequency for exynos5410
ARM: dts: Sort nodes within Peach-pit/Peach-pi dts files
ARM: dts: Enable audio support for exynos5800-peach-pi
-rw-r--r-- | arch/arm/boot/dts/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos3250.dtsi | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4.dtsi | 30 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4210.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 371 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroidu3.dts | 61 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroidx.dts | 279 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroidx2.dts | 32 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4x12.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-snow.dts | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5410.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5420-peach-pit.dts | 392 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5420.dtsi | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5800-peach-pi.dts | 374 |
15 files changed, 1106 insertions, 475 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 922fa5c99b2c..81bd72af529e 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -66,7 +66,9 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | |||
66 | exynos4210-smdkv310.dtb \ | 66 | exynos4210-smdkv310.dtb \ |
67 | exynos4210-trats.dtb \ | 67 | exynos4210-trats.dtb \ |
68 | exynos4210-universal_c210.dtb \ | 68 | exynos4210-universal_c210.dtb \ |
69 | exynos4412-odroidu3.dtb \ | ||
69 | exynos4412-odroidx.dtb \ | 70 | exynos4412-odroidx.dtb \ |
71 | exynos4412-odroidx2.dtb \ | ||
70 | exynos4412-origen.dtb \ | 72 | exynos4412-origen.dtb \ |
71 | exynos4412-smdk4412.dtb \ | 73 | exynos4412-smdk4412.dtb \ |
72 | exynos4412-tiny4412.dtb \ | 74 | exynos4412-tiny4412.dtb \ |
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index 3e678fa335bf..77a06df6dc72 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi | |||
@@ -425,6 +425,19 @@ | |||
425 | status = "disabled"; | 425 | status = "disabled"; |
426 | }; | 426 | }; |
427 | 427 | ||
428 | i2s2: i2s@13970000 { | ||
429 | compatible = "samsung,s3c6410-i2s"; | ||
430 | reg = <0x13970000 0x100>; | ||
431 | interrupts = <0 126 0>; | ||
432 | clocks = <&cmu CLK_I2S>, <&cmu CLK_SCLK_I2S>; | ||
433 | clock-names = "iis", "i2s_opclk0"; | ||
434 | dmas = <&pdma0 14>, <&pdma0 13>; | ||
435 | dma-names = "tx", "rx"; | ||
436 | pinctrl-0 = <&i2s2_bus>; | ||
437 | pinctrl-names = "default"; | ||
438 | status = "disabled"; | ||
439 | }; | ||
440 | |||
428 | pwm: pwm@139D0000 { | 441 | pwm: pwm@139D0000 { |
429 | compatible = "samsung,exynos4210-pwm"; | 442 | compatible = "samsung,exynos4210-pwm"; |
430 | reg = <0x139D0000 0x1000>; | 443 | reg = <0x139D0000 0x1000>; |
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 17b22e9cc2aa..08ea6dc9a92f 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi | |||
@@ -123,6 +123,12 @@ | |||
123 | reg = <0x10440000 0x1000>; | 123 | reg = <0x10440000 0x1000>; |
124 | }; | 124 | }; |
125 | 125 | ||
126 | pmu { | ||
127 | compatible = "arm,cortex-a9-pmu"; | ||
128 | interrupt-parent = <&combiner>; | ||
129 | interrupts = <2 2>, <3 2>; | ||
130 | }; | ||
131 | |||
126 | sys_reg: syscon@10010000 { | 132 | sys_reg: syscon@10010000 { |
127 | compatible = "samsung,exynos4-sysreg", "syscon"; | 133 | compatible = "samsung,exynos4-sysreg", "syscon"; |
128 | reg = <0x10010000 0x400>; | 134 | reg = <0x10010000 0x400>; |
@@ -322,6 +328,23 @@ | |||
322 | clocks = <&clock CLK_USB_HOST>; | 328 | clocks = <&clock CLK_USB_HOST>; |
323 | clock-names = "usbhost"; | 329 | clock-names = "usbhost"; |
324 | status = "disabled"; | 330 | status = "disabled"; |
331 | #address-cells = <1>; | ||
332 | #size-cells = <0>; | ||
333 | port@0 { | ||
334 | reg = <0>; | ||
335 | phys = <&exynos_usbphy 1>; | ||
336 | status = "disabled"; | ||
337 | }; | ||
338 | port@1 { | ||
339 | reg = <1>; | ||
340 | phys = <&exynos_usbphy 2>; | ||
341 | status = "disabled"; | ||
342 | }; | ||
343 | port@2 { | ||
344 | reg = <2>; | ||
345 | phys = <&exynos_usbphy 3>; | ||
346 | status = "disabled"; | ||
347 | }; | ||
325 | }; | 348 | }; |
326 | 349 | ||
327 | ohci@12590000 { | 350 | ohci@12590000 { |
@@ -331,6 +354,13 @@ | |||
331 | clocks = <&clock CLK_USB_HOST>; | 354 | clocks = <&clock CLK_USB_HOST>; |
332 | clock-names = "usbhost"; | 355 | clock-names = "usbhost"; |
333 | status = "disabled"; | 356 | status = "disabled"; |
357 | #address-cells = <1>; | ||
358 | #size-cells = <0>; | ||
359 | port@0 { | ||
360 | reg = <0>; | ||
361 | phys = <&exynos_usbphy 1>; | ||
362 | status = "disabled"; | ||
363 | }; | ||
334 | }; | 364 | }; |
335 | 365 | ||
336 | i2s1: i2s@13960000 { | 366 | i2s1: i2s@13960000 { |
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index ee3001f38821..a4f28e8a6f87 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi | |||
@@ -93,12 +93,6 @@ | |||
93 | #clock-cells = <1>; | 93 | #clock-cells = <1>; |
94 | }; | 94 | }; |
95 | 95 | ||
96 | pmu { | ||
97 | compatible = "arm,cortex-a9-pmu"; | ||
98 | interrupt-parent = <&combiner>; | ||
99 | interrupts = <2 2>, <3 2>; | ||
100 | }; | ||
101 | |||
102 | pinctrl_0: pinctrl@11400000 { | 96 | pinctrl_0: pinctrl@11400000 { |
103 | compatible = "samsung,exynos4210-pinctrl"; | 97 | compatible = "samsung,exynos4210-pinctrl"; |
104 | reg = <0x11400000 0x1000>; | 98 | reg = <0x11400000 0x1000>; |
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi new file mode 100644 index 000000000000..6d6d23c83d30 --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi | |||
@@ -0,0 +1,371 @@ | |||
1 | /* | ||
2 | * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards | ||
3 | * device tree source | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #include <dt-bindings/input/input.h> | ||
11 | #include "exynos4412.dtsi" | ||
12 | |||
13 | / { | ||
14 | firmware@0204F000 { | ||
15 | compatible = "samsung,secure-firmware"; | ||
16 | reg = <0x0204F000 0x1000>; | ||
17 | }; | ||
18 | |||
19 | gpio_keys { | ||
20 | compatible = "gpio-keys"; | ||
21 | pinctrl-names = "default"; | ||
22 | pinctrl-0 = <&gpio_power_key>; | ||
23 | |||
24 | power_key { | ||
25 | interrupt-parent = <&gpx1>; | ||
26 | interrupts = <3 0>; | ||
27 | gpios = <&gpx1 3 1>; | ||
28 | linux,code = <KEY_POWER>; | ||
29 | label = "power key"; | ||
30 | debounce-interval = <10>; | ||
31 | gpio-key,wakeup; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | i2s0: i2s@03830000 { | ||
36 | pinctrl-0 = <&i2s0_bus>; | ||
37 | pinctrl-names = "default"; | ||
38 | status = "okay"; | ||
39 | clocks = <&clock_audss EXYNOS_I2S_BUS>, | ||
40 | <&clock_audss EXYNOS_DOUT_AUD_BUS>; | ||
41 | clock-names = "iis", "i2s_opclk0"; | ||
42 | }; | ||
43 | |||
44 | sound: sound { | ||
45 | compatible = "samsung,odroidx2-audio"; | ||
46 | samsung,i2s-controller = <&i2s0>; | ||
47 | samsung,audio-codec = <&max98090>; | ||
48 | }; | ||
49 | |||
50 | mmc@12550000 { | ||
51 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | ||
52 | pinctrl-names = "default"; | ||
53 | vmmc-supply = <&ldo20_reg &buck8_reg>; | ||
54 | status = "okay"; | ||
55 | |||
56 | num-slots = <1>; | ||
57 | supports-highspeed; | ||
58 | broken-cd; | ||
59 | card-detect-delay = <200>; | ||
60 | samsung,dw-mshc-ciu-div = <3>; | ||
61 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
62 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
63 | |||
64 | slot@0 { | ||
65 | reg = <0>; | ||
66 | bus-width = <8>; | ||
67 | }; | ||
68 | }; | ||
69 | |||
70 | watchdog@10060000 { | ||
71 | status = "okay"; | ||
72 | }; | ||
73 | |||
74 | rtc@10070000 { | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | g2d@10800000 { | ||
79 | status = "okay"; | ||
80 | }; | ||
81 | |||
82 | camera { | ||
83 | status = "okay"; | ||
84 | pinctrl-names = "default"; | ||
85 | pinctrl-0 = <>; | ||
86 | |||
87 | fimc_0: fimc@11800000 { | ||
88 | status = "okay"; | ||
89 | }; | ||
90 | |||
91 | fimc_1: fimc@11810000 { | ||
92 | status = "okay"; | ||
93 | }; | ||
94 | |||
95 | fimc_2: fimc@11820000 { | ||
96 | status = "okay"; | ||
97 | }; | ||
98 | |||
99 | fimc_3: fimc@11830000 { | ||
100 | status = "okay"; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | sdhci@12530000 { | ||
105 | bus-width = <4>; | ||
106 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
107 | pinctrl-names = "default"; | ||
108 | vmmc-supply = <&ldo4_reg &ldo21_reg>; | ||
109 | cd-gpios = <&gpk2 2 0>; | ||
110 | cd-inverted; | ||
111 | status = "okay"; | ||
112 | }; | ||
113 | |||
114 | serial@13800000 { | ||
115 | status = "okay"; | ||
116 | }; | ||
117 | |||
118 | serial@13810000 { | ||
119 | status = "okay"; | ||
120 | }; | ||
121 | |||
122 | fixed-rate-clocks { | ||
123 | xxti { | ||
124 | compatible = "samsung,clock-xxti"; | ||
125 | clock-frequency = <0>; | ||
126 | }; | ||
127 | |||
128 | xusbxti { | ||
129 | compatible = "samsung,clock-xusbxti"; | ||
130 | clock-frequency = <24000000>; | ||
131 | }; | ||
132 | }; | ||
133 | |||
134 | i2c@13860000 { | ||
135 | pinctrl-0 = <&i2c0_bus>; | ||
136 | pinctrl-names = "default"; | ||
137 | status = "okay"; | ||
138 | |||
139 | usb3503: usb3503@08 { | ||
140 | compatible = "smsc,usb3503"; | ||
141 | reg = <0x08>; | ||
142 | |||
143 | intn-gpios = <&gpx3 0 0>; | ||
144 | connect-gpios = <&gpx3 4 0>; | ||
145 | reset-gpios = <&gpx3 5 0>; | ||
146 | initial-mode = <1>; | ||
147 | }; | ||
148 | |||
149 | max77686: pmic@09 { | ||
150 | compatible = "maxim,max77686"; | ||
151 | reg = <0x09>; | ||
152 | #clock-cells = <1>; | ||
153 | |||
154 | voltage-regulators { | ||
155 | ldo1_reg: LDO1 { | ||
156 | regulator-name = "VDD_ALIVE_1.0V"; | ||
157 | regulator-min-microvolt = <1000000>; | ||
158 | regulator-max-microvolt = <1000000>; | ||
159 | regulator-always-on; | ||
160 | }; | ||
161 | |||
162 | ldo2_reg: LDO2 { | ||
163 | regulator-name = "VDDQ_M1_2_1.8V"; | ||
164 | regulator-min-microvolt = <1800000>; | ||
165 | regulator-max-microvolt = <1800000>; | ||
166 | regulator-always-on; | ||
167 | }; | ||
168 | |||
169 | ldo3_reg: LDO3 { | ||
170 | regulator-name = "VDDQ_EXT_1.8V"; | ||
171 | regulator-min-microvolt = <1800000>; | ||
172 | regulator-max-microvolt = <1800000>; | ||
173 | regulator-always-on; | ||
174 | }; | ||
175 | |||
176 | ldo4_reg: LDO4 { | ||
177 | regulator-name = "VDDQ_MMC2_2.8V"; | ||
178 | regulator-min-microvolt = <2800000>; | ||
179 | regulator-max-microvolt = <2800000>; | ||
180 | regulator-always-on; | ||
181 | regulator-boot-on; | ||
182 | }; | ||
183 | |||
184 | ldo5_reg: LDO5 { | ||
185 | regulator-name = "VDDQ_MMC1_3_1.8V"; | ||
186 | regulator-min-microvolt = <1800000>; | ||
187 | regulator-max-microvolt = <1800000>; | ||
188 | regulator-always-on; | ||
189 | regulator-boot-on; | ||
190 | }; | ||
191 | |||
192 | ldo6_reg: LDO6 { | ||
193 | regulator-name = "VDD10_MPLL_1.0V"; | ||
194 | regulator-min-microvolt = <1000000>; | ||
195 | regulator-max-microvolt = <1000000>; | ||
196 | regulator-always-on; | ||
197 | }; | ||
198 | |||
199 | ldo7_reg: LDO7 { | ||
200 | regulator-name = "VDD10_XPLL_1.0V"; | ||
201 | regulator-min-microvolt = <1000000>; | ||
202 | regulator-max-microvolt = <1000000>; | ||
203 | regulator-always-on; | ||
204 | }; | ||
205 | |||
206 | ldo11_reg: LDO11 { | ||
207 | regulator-name = "VDD18_ABB1_1.8V"; | ||
208 | regulator-min-microvolt = <1800000>; | ||
209 | regulator-max-microvolt = <1800000>; | ||
210 | regulator-always-on; | ||
211 | }; | ||
212 | |||
213 | ldo12_reg: LDO12 { | ||
214 | regulator-name = "VDD33_USB_3.3V"; | ||
215 | regulator-min-microvolt = <3300000>; | ||
216 | regulator-max-microvolt = <3300000>; | ||
217 | regulator-always-on; | ||
218 | regulator-boot-on; | ||
219 | }; | ||
220 | |||
221 | ldo13_reg: LDO13 { | ||
222 | regulator-name = "VDDQ_C2C_W_1.8V"; | ||
223 | regulator-min-microvolt = <1800000>; | ||
224 | regulator-max-microvolt = <1800000>; | ||
225 | regulator-always-on; | ||
226 | regulator-boot-on; | ||
227 | }; | ||
228 | |||
229 | ldo14_reg: LDO14 { | ||
230 | regulator-name = "VDD18_ABB0_2_1.8V"; | ||
231 | regulator-min-microvolt = <1800000>; | ||
232 | regulator-max-microvolt = <1800000>; | ||
233 | regulator-always-on; | ||
234 | regulator-boot-on; | ||
235 | }; | ||
236 | |||
237 | ldo15_reg: LDO15 { | ||
238 | regulator-name = "VDD10_HSIC_1.0V"; | ||
239 | regulator-min-microvolt = <1000000>; | ||
240 | regulator-max-microvolt = <1000000>; | ||
241 | regulator-always-on; | ||
242 | regulator-boot-on; | ||
243 | }; | ||
244 | |||
245 | ldo16_reg: LDO16 { | ||
246 | regulator-name = "VDD18_HSIC_1.8V"; | ||
247 | regulator-min-microvolt = <1800000>; | ||
248 | regulator-max-microvolt = <1800000>; | ||
249 | regulator-always-on; | ||
250 | regulator-boot-on; | ||
251 | }; | ||
252 | |||
253 | ldo20_reg: LDO20 { | ||
254 | regulator-name = "LDO20_1.8V"; | ||
255 | regulator-min-microvolt = <1800000>; | ||
256 | regulator-max-microvolt = <1800000>; | ||
257 | regulator-boot-on; | ||
258 | }; | ||
259 | |||
260 | ldo21_reg: LDO21 { | ||
261 | regulator-name = "LDO21_3.3V"; | ||
262 | regulator-min-microvolt = <3300000>; | ||
263 | regulator-max-microvolt = <3300000>; | ||
264 | regulator-always-on; | ||
265 | regulator-boot-on; | ||
266 | }; | ||
267 | |||
268 | ldo25_reg: LDO25 { | ||
269 | regulator-name = "VDDQ_LCD_1.8V"; | ||
270 | regulator-min-microvolt = <1800000>; | ||
271 | regulator-max-microvolt = <1800000>; | ||
272 | regulator-always-on; | ||
273 | regulator-boot-on; | ||
274 | }; | ||
275 | |||
276 | buck1_reg: BUCK1 { | ||
277 | regulator-name = "vdd_mif"; | ||
278 | regulator-min-microvolt = <1000000>; | ||
279 | regulator-max-microvolt = <1000000>; | ||
280 | regulator-always-on; | ||
281 | regulator-boot-on; | ||
282 | }; | ||
283 | |||
284 | buck2_reg: BUCK2 { | ||
285 | regulator-name = "vdd_arm"; | ||
286 | regulator-min-microvolt = <900000>; | ||
287 | regulator-max-microvolt = <1350000>; | ||
288 | regulator-always-on; | ||
289 | regulator-boot-on; | ||
290 | }; | ||
291 | |||
292 | buck3_reg: BUCK3 { | ||
293 | regulator-name = "vdd_int"; | ||
294 | regulator-min-microvolt = <1000000>; | ||
295 | regulator-max-microvolt = <1000000>; | ||
296 | regulator-always-on; | ||
297 | regulator-boot-on; | ||
298 | }; | ||
299 | |||
300 | buck4_reg: BUCK4 { | ||
301 | regulator-name = "vdd_g3d"; | ||
302 | regulator-min-microvolt = <900000>; | ||
303 | regulator-max-microvolt = <1100000>; | ||
304 | regulator-microvolt-offset = <50000>; | ||
305 | }; | ||
306 | |||
307 | buck5_reg: BUCK5 { | ||
308 | regulator-name = "VDDQ_CKEM1_2_1.2V"; | ||
309 | regulator-min-microvolt = <1200000>; | ||
310 | regulator-max-microvolt = <1200000>; | ||
311 | regulator-always-on; | ||
312 | regulator-boot-on; | ||
313 | }; | ||
314 | |||
315 | buck6_reg: BUCK6 { | ||
316 | regulator-name = "BUCK6_1.35V"; | ||
317 | regulator-min-microvolt = <1350000>; | ||
318 | regulator-max-microvolt = <1350000>; | ||
319 | regulator-always-on; | ||
320 | regulator-boot-on; | ||
321 | }; | ||
322 | |||
323 | buck7_reg: BUCK7 { | ||
324 | regulator-name = "BUCK7_2.0V"; | ||
325 | regulator-min-microvolt = <2000000>; | ||
326 | regulator-max-microvolt = <2000000>; | ||
327 | regulator-always-on; | ||
328 | }; | ||
329 | |||
330 | buck8_reg: BUCK8 { | ||
331 | regulator-name = "BUCK8_2.8V"; | ||
332 | regulator-min-microvolt = <2800000>; | ||
333 | regulator-max-microvolt = <2800000>; | ||
334 | }; | ||
335 | }; | ||
336 | }; | ||
337 | }; | ||
338 | |||
339 | i2c@13870000 { | ||
340 | pinctrl-names = "default"; | ||
341 | pinctrl-0 = <&i2c1_bus>; | ||
342 | status = "okay"; | ||
343 | max98090: max98090@10 { | ||
344 | compatible = "maxim,max98090"; | ||
345 | reg = <0x10>; | ||
346 | interrupt-parent = <&gpx0>; | ||
347 | interrupts = <0 0>; | ||
348 | }; | ||
349 | }; | ||
350 | |||
351 | exynos-usbphy@125B0000 { | ||
352 | status = "okay"; | ||
353 | }; | ||
354 | |||
355 | hsotg@12480000 { | ||
356 | status = "okay"; | ||
357 | vusb_d-supply = <&ldo15_reg>; | ||
358 | vusb_a-supply = <&ldo12_reg>; | ||
359 | }; | ||
360 | |||
361 | ehci: ehci@12580000 { | ||
362 | status = "okay"; | ||
363 | }; | ||
364 | }; | ||
365 | |||
366 | &pinctrl_1 { | ||
367 | gpio_power_key: power_key { | ||
368 | samsung,pins = "gpx1-3"; | ||
369 | samsung,pin-pud = <0>; | ||
370 | }; | ||
371 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts new file mode 100644 index 000000000000..c8a64be55d07 --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts | |||
@@ -0,0 +1,61 @@ | |||
1 | /* | ||
2 | * Hardkernel's Exynos4412 based ODROID-U3 board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Marek Szyprowski <m.szyprowski@samsung.com> | ||
5 | * | ||
6 | * Device tree source file for Hardkernel's ODROID-U3 board which is based | ||
7 | * on Samsung's Exynos4412 SoC. | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | #include "exynos4412-odroid-common.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Hardkernel ODROID-U3 board based on Exynos4412"; | ||
19 | compatible = "hardkernel,odroid-u3", "samsung,exynos4412", "samsung,exynos4"; | ||
20 | |||
21 | memory { | ||
22 | reg = <0x40000000 0x7FF00000>; | ||
23 | }; | ||
24 | |||
25 | leds { | ||
26 | compatible = "gpio-leds"; | ||
27 | led1 { | ||
28 | label = "led1:heart"; | ||
29 | gpios = <&gpc1 0 1>; | ||
30 | default-state = "on"; | ||
31 | linux,default-trigger = "heartbeat"; | ||
32 | }; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | &usb3503 { | ||
37 | clock-names = "refclk"; | ||
38 | clocks = <&pmu_system_controller 0>; | ||
39 | refclk-frequency = <24000000>; | ||
40 | }; | ||
41 | |||
42 | &ehci { | ||
43 | port@1 { | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | port@2 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | }; | ||
50 | |||
51 | &sound { | ||
52 | compatible = "samsung,odroidu3-audio"; | ||
53 | samsung,model = "Odroid-U3"; | ||
54 | samsung,audio-routing = | ||
55 | "Headphone Jack", "HPL", | ||
56 | "Headphone Jack", "HPR", | ||
57 | "Headphone Jack", "MICBIAS", | ||
58 | "IN1", "Headphone Jack", | ||
59 | "Speakers", "SPKL", | ||
60 | "Speakers", "SPKR"; | ||
61 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts index 31db28a4bb33..cb1cfe7239c4 100644 --- a/arch/arm/boot/dts/exynos4412-odroidx.dts +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts | |||
@@ -3,8 +3,8 @@ | |||
3 | * | 3 | * |
4 | * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com> | 4 | * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com> |
5 | * | 5 | * |
6 | * Device tree source file for Hardkernel's ODROID-X board which is based on | 6 | * Device tree source file for Hardkernel's ODROID-X board which is based |
7 | * Samsung's Exynos4412 SoC. | 7 | * on Samsung's Exynos4412 SoC. |
8 | * | 8 | * |
9 | * This program is free software; you can redistribute it and/or modify | 9 | * This program is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License version 2 as | 10 | * it under the terms of the GNU General Public License version 2 as |
@@ -12,14 +12,14 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | #include "exynos4412.dtsi" | 15 | #include "exynos4412-odroid-common.dtsi" |
16 | 16 | ||
17 | / { | 17 | / { |
18 | model = "Hardkernel ODROID-X board based on Exynos4412"; | 18 | model = "Hardkernel ODROID-X board based on Exynos4412"; |
19 | compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4"; | 19 | compatible = "hardkernel,odroid-x", "samsung,exynos4412", "samsung,exynos4"; |
20 | 20 | ||
21 | memory { | 21 | memory { |
22 | reg = <0x40000000 0x40000000>; | 22 | reg = <0x40000000 0x3FF00000>; |
23 | }; | 23 | }; |
24 | 24 | ||
25 | leds { | 25 | leds { |
@@ -38,23 +38,25 @@ | |||
38 | }; | 38 | }; |
39 | }; | 39 | }; |
40 | 40 | ||
41 | mmc@12550000 { | 41 | serial@13820000 { |
42 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | ||
43 | pinctrl-names = "default"; | ||
44 | vmmc-supply = <&ldo20_reg &buck8_reg>; | ||
45 | status = "okay"; | 42 | status = "okay"; |
43 | }; | ||
46 | 44 | ||
47 | num-slots = <1>; | 45 | serial@13830000 { |
48 | supports-highspeed; | 46 | status = "okay"; |
49 | broken-cd; | 47 | }; |
50 | card-detect-delay = <200>; | ||
51 | samsung,dw-mshc-ciu-div = <3>; | ||
52 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
53 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
54 | 48 | ||
55 | slot@0 { | 49 | gpio_keys { |
56 | reg = <0>; | 50 | pinctrl-0 = <&gpio_power_key &gpio_home_key>; |
57 | bus-width = <8>; | 51 | |
52 | home_key { | ||
53 | interrupt-parent = <&gpx2>; | ||
54 | interrupts = <2 0>; | ||
55 | gpios = <&gpx2 2 0>; | ||
56 | linux,code = <KEY_HOME>; | ||
57 | label = "home key"; | ||
58 | debounce-interval = <10>; | ||
59 | gpio-key,wakeup; | ||
58 | }; | 60 | }; |
59 | }; | 61 | }; |
60 | 62 | ||
@@ -65,242 +67,19 @@ | |||
65 | regulator-max-microvolt = <3300000>; | 67 | regulator-max-microvolt = <3300000>; |
66 | gpio = <&gpa1 1 1>; | 68 | gpio = <&gpa1 1 1>; |
67 | enable-active-high; | 69 | enable-active-high; |
68 | regulator-boot-on; | 70 | regulator-always-on; |
69 | }; | ||
70 | |||
71 | rtc@10070000 { | ||
72 | status = "okay"; | ||
73 | }; | ||
74 | |||
75 | sdhci@12530000 { | ||
76 | bus-width = <4>; | ||
77 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
78 | pinctrl-names = "default"; | ||
79 | vmmc-supply = <&ldo4_reg &ldo21_reg>; | ||
80 | status = "okay"; | ||
81 | }; | ||
82 | |||
83 | serial@13800000 { | ||
84 | status = "okay"; | ||
85 | }; | ||
86 | |||
87 | serial@13810000 { | ||
88 | status = "okay"; | ||
89 | }; | ||
90 | |||
91 | serial@13820000 { | ||
92 | status = "okay"; | ||
93 | }; | 71 | }; |
72 | }; | ||
94 | 73 | ||
95 | serial@13830000 { | 74 | &ehci { |
75 | port@1 { | ||
96 | status = "okay"; | 76 | status = "okay"; |
97 | }; | 77 | }; |
78 | }; | ||
98 | 79 | ||
99 | fixed-rate-clocks { | 80 | &pinctrl_1 { |
100 | xxti { | 81 | gpio_home_key: home_key { |
101 | compatible = "samsung,clock-xxti"; | 82 | samsung,pins = "gpx2-2"; |
102 | clock-frequency = <0>; | 83 | samsung,pin-pud = <0>; |
103 | }; | ||
104 | |||
105 | xusbxti { | ||
106 | compatible = "samsung,clock-xusbxti"; | ||
107 | clock-frequency = <24000000>; | ||
108 | }; | ||
109 | }; | ||
110 | |||
111 | i2c@13860000 { | ||
112 | pinctrl-0 = <&i2c0_bus>; | ||
113 | pinctrl-names = "default"; | ||
114 | status = "okay"; | ||
115 | |||
116 | max77686: pmic@09 { | ||
117 | compatible = "maxim,max77686"; | ||
118 | reg = <0x09>; | ||
119 | #clock-cells = <1>; | ||
120 | |||
121 | voltage-regulators { | ||
122 | ldo1_reg: LDO1 { | ||
123 | regulator-name = "VDD_ALIVE_1.0V"; | ||
124 | regulator-min-microvolt = <1000000>; | ||
125 | regulator-max-microvolt = <1000000>; | ||
126 | regulator-always-on; | ||
127 | }; | ||
128 | |||
129 | ldo2_reg: LDO2 { | ||
130 | regulator-name = "VDDQ_M1_2_1.8V"; | ||
131 | regulator-min-microvolt = <1800000>; | ||
132 | regulator-max-microvolt = <1800000>; | ||
133 | regulator-always-on; | ||
134 | }; | ||
135 | |||
136 | ldo3_reg: LDO3 { | ||
137 | regulator-name = "VDDQ_EXT_1.8V"; | ||
138 | regulator-min-microvolt = <1800000>; | ||
139 | regulator-max-microvolt = <1800000>; | ||
140 | regulator-always-on; | ||
141 | }; | ||
142 | |||
143 | ldo4_reg: LDO4 { | ||
144 | regulator-name = "VDDQ_MMC2_2.8V"; | ||
145 | regulator-min-microvolt = <2800000>; | ||
146 | regulator-max-microvolt = <2800000>; | ||
147 | regulator-always-on; | ||
148 | regulator-boot-on; | ||
149 | }; | ||
150 | |||
151 | ldo5_reg: LDO5 { | ||
152 | regulator-name = "VDDQ_MMC1_3_1.8V"; | ||
153 | regulator-min-microvolt = <1800000>; | ||
154 | regulator-max-microvolt = <1800000>; | ||
155 | regulator-always-on; | ||
156 | regulator-boot-on; | ||
157 | }; | ||
158 | |||
159 | ldo6_reg: LDO6 { | ||
160 | regulator-name = "VDD10_MPLL_1.0V"; | ||
161 | regulator-min-microvolt = <1000000>; | ||
162 | regulator-max-microvolt = <1000000>; | ||
163 | regulator-always-on; | ||
164 | }; | ||
165 | |||
166 | ldo7_reg: LDO7 { | ||
167 | regulator-name = "VDD10_XPLL_1.0V"; | ||
168 | regulator-min-microvolt = <1000000>; | ||
169 | regulator-max-microvolt = <1000000>; | ||
170 | regulator-always-on; | ||
171 | }; | ||
172 | |||
173 | ldo11_reg: LDO11 { | ||
174 | regulator-name = "VDD18_ABB1_1.8V"; | ||
175 | regulator-min-microvolt = <1800000>; | ||
176 | regulator-max-microvolt = <1800000>; | ||
177 | regulator-always-on; | ||
178 | }; | ||
179 | |||
180 | ldo12_reg: LDO12 { | ||
181 | regulator-name = "VDD33_USB_3.3V"; | ||
182 | regulator-min-microvolt = <3300000>; | ||
183 | regulator-max-microvolt = <3300000>; | ||
184 | regulator-always-on; | ||
185 | regulator-boot-on; | ||
186 | }; | ||
187 | |||
188 | ldo13_reg: LDO13 { | ||
189 | regulator-name = "VDDQ_C2C_W_1.8V"; | ||
190 | regulator-min-microvolt = <1800000>; | ||
191 | regulator-max-microvolt = <1800000>; | ||
192 | regulator-always-on; | ||
193 | regulator-boot-on; | ||
194 | }; | ||
195 | |||
196 | ldo14_reg: LDO14 { | ||
197 | regulator-name = "VDD18_ABB0_2_1.8V"; | ||
198 | regulator-min-microvolt = <1800000>; | ||
199 | regulator-max-microvolt = <1800000>; | ||
200 | regulator-always-on; | ||
201 | regulator-boot-on; | ||
202 | }; | ||
203 | |||
204 | ldo15_reg: LDO15 { | ||
205 | regulator-name = "VDD10_HSIC_1.0V"; | ||
206 | regulator-min-microvolt = <1000000>; | ||
207 | regulator-max-microvolt = <1000000>; | ||
208 | regulator-always-on; | ||
209 | regulator-boot-on; | ||
210 | }; | ||
211 | |||
212 | ldo16_reg: LDO16 { | ||
213 | regulator-name = "VDD18_HSIC_1.8V"; | ||
214 | regulator-min-microvolt = <1800000>; | ||
215 | regulator-max-microvolt = <1800000>; | ||
216 | regulator-always-on; | ||
217 | regulator-boot-on; | ||
218 | }; | ||
219 | |||
220 | ldo20_reg: LDO20 { | ||
221 | regulator-name = "LDO20_1.8V"; | ||
222 | regulator-min-microvolt = <1800000>; | ||
223 | regulator-max-microvolt = <1800000>; | ||
224 | regulator-boot-on; | ||
225 | }; | ||
226 | |||
227 | ldo21_reg: LDO21 { | ||
228 | regulator-name = "LDO21_3.3V"; | ||
229 | regulator-min-microvolt = <3300000>; | ||
230 | regulator-max-microvolt = <3300000>; | ||
231 | regulator-always-on; | ||
232 | regulator-boot-on; | ||
233 | }; | ||
234 | |||
235 | ldo25_reg: LDO25 { | ||
236 | regulator-name = "VDDQ_LCD_1.8V"; | ||
237 | regulator-min-microvolt = <1800000>; | ||
238 | regulator-max-microvolt = <1800000>; | ||
239 | regulator-always-on; | ||
240 | regulator-boot-on; | ||
241 | }; | ||
242 | |||
243 | buck1_reg: BUCK1 { | ||
244 | regulator-name = "vdd_mif"; | ||
245 | regulator-min-microvolt = <1000000>; | ||
246 | regulator-max-microvolt = <1000000>; | ||
247 | regulator-always-on; | ||
248 | regulator-boot-on; | ||
249 | }; | ||
250 | |||
251 | buck2_reg: BUCK2 { | ||
252 | regulator-name = "vdd_arm"; | ||
253 | regulator-min-microvolt = <900000>; | ||
254 | regulator-max-microvolt = <1350000>; | ||
255 | regulator-always-on; | ||
256 | regulator-boot-on; | ||
257 | }; | ||
258 | |||
259 | buck3_reg: BUCK3 { | ||
260 | regulator-name = "vdd_int"; | ||
261 | regulator-min-microvolt = <1000000>; | ||
262 | regulator-max-microvolt = <1000000>; | ||
263 | regulator-always-on; | ||
264 | regulator-boot-on; | ||
265 | }; | ||
266 | |||
267 | buck4_reg: BUCK4 { | ||
268 | regulator-name = "vdd_g3d"; | ||
269 | regulator-min-microvolt = <900000>; | ||
270 | regulator-max-microvolt = <1100000>; | ||
271 | regulator-microvolt-offset = <50000>; | ||
272 | }; | ||
273 | |||
274 | buck5_reg: BUCK5 { | ||
275 | regulator-name = "VDDQ_CKEM1_2_1.2V"; | ||
276 | regulator-min-microvolt = <1200000>; | ||
277 | regulator-max-microvolt = <1200000>; | ||
278 | regulator-always-on; | ||
279 | regulator-boot-on; | ||
280 | }; | ||
281 | |||
282 | buck6_reg: BUCK6 { | ||
283 | regulator-name = "BUCK6_1.35V"; | ||
284 | regulator-min-microvolt = <1350000>; | ||
285 | regulator-max-microvolt = <1350000>; | ||
286 | regulator-always-on; | ||
287 | regulator-boot-on; | ||
288 | }; | ||
289 | |||
290 | buck7_reg: BUCK7 { | ||
291 | regulator-name = "BUCK7_2.0V"; | ||
292 | regulator-min-microvolt = <2000000>; | ||
293 | regulator-max-microvolt = <2000000>; | ||
294 | regulator-always-on; | ||
295 | }; | ||
296 | |||
297 | buck8_reg: BUCK8 { | ||
298 | regulator-name = "BUCK8_2.8V"; | ||
299 | regulator-min-microvolt = <2800000>; | ||
300 | regulator-max-microvolt = <2800000>; | ||
301 | regulator-always-on; | ||
302 | }; | ||
303 | }; | ||
304 | }; | ||
305 | }; | 84 | }; |
306 | }; | 85 | }; |
diff --git a/arch/arm/boot/dts/exynos4412-odroidx2.dts b/arch/arm/boot/dts/exynos4412-odroidx2.dts new file mode 100644 index 000000000000..96b43f4497cc --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-odroidx2.dts | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * Hardkernel's Exynos4412 based ODROID-X2 board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com> | ||
5 | * | ||
6 | * Device tree source file for Hardkernel's ODROID-X2 board which is based | ||
7 | * on Samsung's Exynos4412 SoC. | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #include "exynos4412-odroidx.dts" | ||
15 | |||
16 | / { | ||
17 | model = "Hardkernel ODROID-X2 board based on Exynos4412"; | ||
18 | compatible = "hardkernel,odroid-x2", "samsung,exynos4412", "samsung,exynos4"; | ||
19 | |||
20 | memory { | ||
21 | reg = <0x40000000 0x7FF00000>; | ||
22 | }; | ||
23 | }; | ||
24 | |||
25 | &sound { | ||
26 | samsung,model = "Odroid-X2"; | ||
27 | samsung,audio-routing = | ||
28 | "Headphone Jack", "HPL", | ||
29 | "Headphone Jack", "HPR", | ||
30 | "IN1", "Mic Jack", | ||
31 | "Mic Jack", "MICBIAS"; | ||
32 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi index c42a3e196cd5..d8bc059e172f 100644 --- a/arch/arm/boot/dts/exynos4412.dtsi +++ b/arch/arm/boot/dts/exynos4412.dtsi | |||
@@ -26,6 +26,10 @@ | |||
26 | samsung,combiner-nr = <20>; | 26 | samsung,combiner-nr = <20>; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | pmu { | ||
30 | interrupts = <2 2>, <3 2>, <18 2>, <19 2>; | ||
31 | }; | ||
32 | |||
29 | gic: interrupt-controller@10490000 { | 33 | gic: interrupt-controller@10490000 { |
30 | cpu-offset = <0x4000>; | 34 | cpu-offset = <0x4000>; |
31 | }; | 35 | }; |
diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index c5a943df1cd7..95cdfb9e7d59 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi | |||
@@ -31,12 +31,6 @@ | |||
31 | mshc0 = &mshc_0; | 31 | mshc0 = &mshc_0; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | pmu { | ||
35 | compatible = "arm,cortex-a9-pmu"; | ||
36 | interrupt-parent = <&combiner>; | ||
37 | interrupts = <2 2>, <3 2>, <18 2>, <19 2>; | ||
38 | }; | ||
39 | |||
40 | sysram@02020000 { | 34 | sysram@02020000 { |
41 | compatible = "mmio-sram"; | 35 | compatible = "mmio-sram"; |
42 | reg = <0x02020000 0x40000>; | 36 | reg = <0x02020000 0x40000>; |
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index 7bd2df1364c2..c682c8831172 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts | |||
@@ -262,6 +262,7 @@ | |||
262 | sound { | 262 | sound { |
263 | compatible = "google,snow-audio-max98095"; | 263 | compatible = "google,snow-audio-max98095"; |
264 | 264 | ||
265 | samsung,model = "Snow-I2S-MAX98095"; | ||
265 | samsung,i2s-controller = <&i2s0>; | 266 | samsung,i2s-controller = <&i2s0>; |
266 | samsung,audio-codec = <&max98095>; | 267 | samsung,audio-codec = <&max98095>; |
267 | }; | 268 | }; |
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi index 3839c26f467f..9d0b8cc1409c 100644 --- a/arch/arm/boot/dts/exynos5410.dtsi +++ b/arch/arm/boot/dts/exynos5410.dtsi | |||
@@ -28,24 +28,28 @@ | |||
28 | device_type = "cpu"; | 28 | device_type = "cpu"; |
29 | compatible = "arm,cortex-a15"; | 29 | compatible = "arm,cortex-a15"; |
30 | reg = <0x0>; | 30 | reg = <0x0>; |
31 | clock-frequency = <1600000000>; | ||
31 | }; | 32 | }; |
32 | 33 | ||
33 | CPU1: cpu@1 { | 34 | CPU1: cpu@1 { |
34 | device_type = "cpu"; | 35 | device_type = "cpu"; |
35 | compatible = "arm,cortex-a15"; | 36 | compatible = "arm,cortex-a15"; |
36 | reg = <0x1>; | 37 | reg = <0x1>; |
38 | clock-frequency = <1600000000>; | ||
37 | }; | 39 | }; |
38 | 40 | ||
39 | CPU2: cpu@2 { | 41 | CPU2: cpu@2 { |
40 | device_type = "cpu"; | 42 | device_type = "cpu"; |
41 | compatible = "arm,cortex-a15"; | 43 | compatible = "arm,cortex-a15"; |
42 | reg = <0x2>; | 44 | reg = <0x2>; |
45 | clock-frequency = <1600000000>; | ||
43 | }; | 46 | }; |
44 | 47 | ||
45 | CPU3: cpu@3 { | 48 | CPU3: cpu@3 { |
46 | device_type = "cpu"; | 49 | device_type = "cpu"; |
47 | compatible = "arm,cortex-a15"; | 50 | compatible = "arm,cortex-a15"; |
48 | reg = <0x3>; | 51 | reg = <0x3>; |
52 | clock-frequency = <1600000000>; | ||
49 | }; | 53 | }; |
50 | }; | 54 | }; |
51 | 55 | ||
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 1c5b8f9f4a36..228a6b1e0aa1 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts | |||
@@ -25,8 +25,18 @@ | |||
25 | "google,pit", "google,peach","samsung,exynos5420", | 25 | "google,pit", "google,peach","samsung,exynos5420", |
26 | "samsung,exynos5"; | 26 | "samsung,exynos5"; |
27 | 27 | ||
28 | memory { | 28 | aliases { |
29 | reg = <0x20000000 0x80000000>; | 29 | /* Assign 20 so we don't get confused w/ builtin ones */ |
30 | i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; | ||
31 | }; | ||
32 | |||
33 | backlight { | ||
34 | compatible = "pwm-backlight"; | ||
35 | pwms = <&pwm 0 1000000 0>; | ||
36 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | ||
37 | default-brightness-level = <7>; | ||
38 | pinctrl-0 = <&pwm0_out>; | ||
39 | pinctrl-names = "default"; | ||
30 | }; | 40 | }; |
31 | 41 | ||
32 | fixed-rate-clocks { | 42 | fixed-rate-clocks { |
@@ -50,18 +60,14 @@ | |||
50 | }; | 60 | }; |
51 | }; | 61 | }; |
52 | 62 | ||
53 | backlight { | 63 | memory { |
54 | compatible = "pwm-backlight"; | 64 | reg = <0x20000000 0x80000000>; |
55 | pwms = <&pwm 0 1000000 0>; | ||
56 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | ||
57 | default-brightness-level = <7>; | ||
58 | pinctrl-0 = <&pwm0_out>; | ||
59 | pinctrl-names = "default"; | ||
60 | }; | 65 | }; |
61 | 66 | ||
62 | sound { | 67 | sound { |
63 | compatible = "google,snow-audio-max98090"; | 68 | compatible = "google,snow-audio-max98090"; |
64 | 69 | ||
70 | samsung,model = "Peach-Pit-I2S-MAX98090"; | ||
65 | samsung,i2s-controller = <&i2s0>; | 71 | samsung,i2s-controller = <&i2s0>; |
66 | samsung,audio-codec = <&max98090>; | 72 | samsung,audio-codec = <&max98090>; |
67 | }; | 73 | }; |
@@ -87,66 +93,92 @@ | |||
87 | pinctrl-0 = <&usb301_vbus_en>; | 93 | pinctrl-0 = <&usb301_vbus_en>; |
88 | enable-active-high; | 94 | enable-active-high; |
89 | }; | 95 | }; |
90 | }; | ||
91 | 96 | ||
92 | &pinctrl_0 { | 97 | vbat: fixed-regulator { |
93 | max98090_irq: max98090-irq { | 98 | compatible = "regulator-fixed"; |
94 | samsung,pins = "gpx0-2"; | 99 | regulator-name = "vbat-supply"; |
95 | samsung,pin-function = <0>; | 100 | regulator-boot-on; |
96 | samsung,pin-pud = <0>; | 101 | regulator-always-on; |
97 | samsung,pin-drv = <0>; | ||
98 | }; | 102 | }; |
103 | }; | ||
99 | 104 | ||
100 | tpm_irq: tpm-irq { | 105 | &dp { |
101 | samsung,pins = "gpx1-0"; | 106 | status = "okay"; |
102 | samsung,pin-function = <0>; | 107 | pinctrl-names = "default"; |
103 | samsung,pin-pud = <0>; | 108 | pinctrl-0 = <&dp_hpd_gpio>; |
104 | samsung,pin-drv = <0>; | 109 | samsung,color-space = <0>; |
105 | }; | 110 | samsung,dynamic-range = <0>; |
111 | samsung,ycbcr-coeff = <0>; | ||
112 | samsung,color-depth = <1>; | ||
113 | samsung,link-rate = <0x06>; | ||
114 | samsung,lane-count = <2>; | ||
115 | samsung,hpd-gpio = <&gpx2 6 0>; | ||
106 | 116 | ||
107 | power_key_irq: power-key-irq { | 117 | display-timings { |
108 | samsung,pins = "gpx1-2"; | 118 | native-mode = <&timing1>; |
109 | samsung,pin-function = <0>; | ||
110 | samsung,pin-pud = <0>; | ||
111 | samsung,pin-drv = <0>; | ||
112 | }; | ||
113 | 119 | ||
114 | hdmi_hpd_irq: hdmi-hpd-irq { | 120 | timing1: timing@1 { |
115 | samsung,pins = "gpx3-7"; | 121 | clock-frequency = <70589280>; |
116 | samsung,pin-function = <0>; | 122 | hactive = <1366>; |
117 | samsung,pin-pud = <1>; | 123 | vactive = <768>; |
118 | samsung,pin-drv = <0>; | 124 | hfront-porch = <40>; |
125 | hback-porch = <40>; | ||
126 | hsync-len = <32>; | ||
127 | vback-porch = <10>; | ||
128 | vfront-porch = <12>; | ||
129 | vsync-len = <6>; | ||
130 | }; | ||
119 | }; | 131 | }; |
132 | }; | ||
120 | 133 | ||
121 | dp_hpd_gpio: dp_hpd_gpio { | 134 | &fimd { |
122 | samsung,pins = "gpx2-6"; | 135 | status = "okay"; |
123 | samsung,pin-function = <0>; | 136 | samsung,invert-vclk; |
124 | samsung,pin-pud = <3>; | ||
125 | samsung,pin-drv = <0>; | ||
126 | }; | ||
127 | }; | 137 | }; |
128 | 138 | ||
129 | &pinctrl_3 { | 139 | &hdmi { |
130 | usb300_vbus_en: usb300-vbus-en { | 140 | status = "okay"; |
131 | samsung,pins = "gph0-0"; | 141 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; |
132 | samsung,pin-function = <1>; | 142 | pinctrl-names = "default"; |
133 | samsung,pin-pud = <0>; | 143 | pinctrl-0 = <&hdmi_hpd_irq>; |
134 | samsung,pin-drv = <0>; | 144 | ddc = <&i2c_2>; |
145 | }; | ||
146 | |||
147 | &hsi2c_7 { | ||
148 | status = "okay"; | ||
149 | |||
150 | max98090: codec@10 { | ||
151 | compatible = "maxim,max98090"; | ||
152 | reg = <0x10>; | ||
153 | interrupts = <2 0>; | ||
154 | interrupt-parent = <&gpx0>; | ||
155 | pinctrl-names = "default"; | ||
156 | pinctrl-0 = <&max98090_irq>; | ||
135 | }; | 157 | }; |
158 | }; | ||
136 | 159 | ||
137 | usb301_vbus_en: usb301-vbus-en { | 160 | &hsi2c_9 { |
138 | samsung,pins = "gph0-1"; | 161 | status = "okay"; |
139 | samsung,pin-function = <1>; | 162 | clock-frequency = <400000>; |
140 | samsung,pin-pud = <0>; | 163 | |
141 | samsung,pin-drv = <0>; | 164 | tpm@20 { |
165 | compatible = "infineon,slb9645tt"; | ||
166 | reg = <0x20>; | ||
167 | |||
168 | /* Unused irq; but still need to configure the pins */ | ||
169 | pinctrl-names = "default"; | ||
170 | pinctrl-0 = <&tpm_irq>; | ||
142 | }; | 171 | }; |
143 | }; | 172 | }; |
144 | 173 | ||
145 | &rtc { | 174 | &i2c_2 { |
146 | status = "okay"; | 175 | status = "okay"; |
176 | samsung,i2c-sda-delay = <100>; | ||
177 | samsung,i2c-max-bus-freq = <66000>; | ||
178 | samsung,i2c-slave-addr = <0x50>; | ||
147 | }; | 179 | }; |
148 | 180 | ||
149 | &uart_3 { | 181 | &i2s0 { |
150 | status = "okay"; | 182 | status = "okay"; |
151 | }; | 183 | }; |
152 | 184 | ||
@@ -189,46 +221,210 @@ | |||
189 | }; | 221 | }; |
190 | }; | 222 | }; |
191 | 223 | ||
192 | &hsi2c_7 { | ||
193 | status = "okay"; | ||
194 | 224 | ||
195 | max98090: codec@10 { | 225 | &pinctrl_0 { |
196 | compatible = "maxim,max98090"; | 226 | pinctrl-names = "default"; |
197 | reg = <0x10>; | 227 | pinctrl-0 = <&mask_tpm_reset>; |
198 | interrupts = <2 0>; | 228 | |
199 | interrupt-parent = <&gpx0>; | 229 | max98090_irq: max98090-irq { |
200 | pinctrl-names = "default"; | 230 | samsung,pins = "gpx0-2"; |
201 | pinctrl-0 = <&max98090_irq>; | 231 | samsung,pin-function = <0>; |
232 | samsung,pin-pud = <0>; | ||
233 | samsung,pin-drv = <0>; | ||
234 | }; | ||
235 | |||
236 | /* We need GPX0_6 to be low at sleep time; just keep it low always */ | ||
237 | mask_tpm_reset: mask-tpm-reset { | ||
238 | samsung,pins = "gpx0-6"; | ||
239 | samsung,pin-function = <1>; | ||
240 | samsung,pin-pud = <0>; | ||
241 | samsung,pin-drv = <0>; | ||
242 | samsung,pin-val = <0>; | ||
243 | }; | ||
244 | |||
245 | tpm_irq: tpm-irq { | ||
246 | samsung,pins = "gpx1-0"; | ||
247 | samsung,pin-function = <0>; | ||
248 | samsung,pin-pud = <0>; | ||
249 | samsung,pin-drv = <0>; | ||
250 | }; | ||
251 | |||
252 | power_key_irq: power-key-irq { | ||
253 | samsung,pins = "gpx1-2"; | ||
254 | samsung,pin-function = <0>; | ||
255 | samsung,pin-pud = <0>; | ||
256 | samsung,pin-drv = <0>; | ||
257 | }; | ||
258 | |||
259 | ec_irq: ec-irq { | ||
260 | samsung,pins = "gpx1-5"; | ||
261 | samsung,pin-function = <0>; | ||
262 | samsung,pin-pud = <0>; | ||
263 | samsung,pin-drv = <0>; | ||
264 | }; | ||
265 | |||
266 | tps65090_irq: tps65090-irq { | ||
267 | samsung,pins = "gpx2-5"; | ||
268 | samsung,pin-function = <0>; | ||
269 | samsung,pin-pud = <0>; | ||
270 | samsung,pin-drv = <0>; | ||
271 | }; | ||
272 | |||
273 | dp_hpd_gpio: dp_hpd_gpio { | ||
274 | samsung,pins = "gpx2-6"; | ||
275 | samsung,pin-function = <0>; | ||
276 | samsung,pin-pud = <3>; | ||
277 | samsung,pin-drv = <0>; | ||
278 | }; | ||
279 | |||
280 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
281 | samsung,pins = "gpx3-7"; | ||
282 | samsung,pin-function = <0>; | ||
283 | samsung,pin-pud = <1>; | ||
284 | samsung,pin-drv = <0>; | ||
202 | }; | 285 | }; |
203 | }; | 286 | }; |
204 | 287 | ||
205 | &hsi2c_9 { | 288 | &pinctrl_3 { |
206 | status = "okay"; | 289 | /* Drive SPI lines at x2 for better integrity */ |
207 | clock-frequency = <400000>; | 290 | spi2-bus { |
291 | samsung,pin-drv = <2>; | ||
292 | }; | ||
208 | 293 | ||
209 | tpm@20 { | 294 | /* Drive SPI chip select at x2 for better integrity */ |
210 | compatible = "infineon,slb9645tt"; | 295 | ec_spi_cs: ec-spi-cs { |
211 | reg = <0x20>; | 296 | samsung,pins = "gpb1-2"; |
297 | samsung,pin-function = <1>; | ||
298 | samsung,pin-pud = <0>; | ||
299 | samsung,pin-drv = <2>; | ||
300 | }; | ||
212 | 301 | ||
213 | /* Unused irq; but still need to configure the pins */ | 302 | usb300_vbus_en: usb300-vbus-en { |
214 | pinctrl-names = "default"; | 303 | samsung,pins = "gph0-0"; |
215 | pinctrl-0 = <&tpm_irq>; | 304 | samsung,pin-function = <1>; |
305 | samsung,pin-pud = <0>; | ||
306 | samsung,pin-drv = <0>; | ||
307 | }; | ||
308 | |||
309 | usb301_vbus_en: usb301-vbus-en { | ||
310 | samsung,pins = "gph0-1"; | ||
311 | samsung,pin-function = <1>; | ||
312 | samsung,pin-pud = <0>; | ||
313 | samsung,pin-drv = <0>; | ||
216 | }; | 314 | }; |
217 | }; | 315 | }; |
218 | 316 | ||
219 | &i2c_2 { | 317 | &rtc { |
220 | status = "okay"; | 318 | status = "okay"; |
221 | samsung,i2c-sda-delay = <100>; | ||
222 | samsung,i2c-max-bus-freq = <66000>; | ||
223 | samsung,i2c-slave-addr = <0x50>; | ||
224 | }; | 319 | }; |
225 | 320 | ||
226 | &hdmi { | 321 | &spi_2 { |
322 | status = "okay"; | ||
323 | num-cs = <1>; | ||
324 | samsung,spi-src-clk = <0>; | ||
325 | cs-gpios = <&gpb1 2 0>; | ||
326 | |||
327 | cros_ec: cros-ec@0 { | ||
328 | compatible = "google,cros-ec-spi"; | ||
329 | interrupt-parent = <&gpx1>; | ||
330 | interrupts = <5 0>; | ||
331 | pinctrl-names = "default"; | ||
332 | pinctrl-0 = <&ec_spi_cs &ec_irq>; | ||
333 | reg = <0>; | ||
334 | spi-max-frequency = <3125000>; | ||
335 | |||
336 | controller-data { | ||
337 | samsung,spi-feedback-delay = <1>; | ||
338 | }; | ||
339 | |||
340 | i2c-tunnel { | ||
341 | compatible = "google,cros-ec-i2c-tunnel"; | ||
342 | #address-cells = <1>; | ||
343 | #size-cells = <0>; | ||
344 | google,remote-bus = <0>; | ||
345 | |||
346 | battery: sbs-battery@b { | ||
347 | compatible = "sbs,sbs-battery"; | ||
348 | reg = <0xb>; | ||
349 | sbs,poll-retry-count = <1>; | ||
350 | sbs,i2c-retry-count = <2>; | ||
351 | }; | ||
352 | |||
353 | power-regulator@48 { | ||
354 | compatible = "ti,tps65090"; | ||
355 | reg = <0x48>; | ||
356 | |||
357 | /* | ||
358 | * Config irq to disable internal pulls | ||
359 | * even though we run in polling mode. | ||
360 | */ | ||
361 | pinctrl-names = "default"; | ||
362 | pinctrl-0 = <&tps65090_irq>; | ||
363 | |||
364 | vsys1-supply = <&vbat>; | ||
365 | vsys2-supply = <&vbat>; | ||
366 | vsys3-supply = <&vbat>; | ||
367 | infet1-supply = <&vbat>; | ||
368 | infet2-supply = <&vbat>; | ||
369 | infet3-supply = <&vbat>; | ||
370 | infet4-supply = <&vbat>; | ||
371 | infet5-supply = <&vbat>; | ||
372 | infet6-supply = <&vbat>; | ||
373 | infet7-supply = <&vbat>; | ||
374 | vsys-l1-supply = <&vbat>; | ||
375 | vsys-l2-supply = <&vbat>; | ||
376 | |||
377 | regulators { | ||
378 | tps65090_dcdc1: dcdc1 { | ||
379 | ti,enable-ext-control; | ||
380 | }; | ||
381 | tps65090_dcdc2: dcdc2 { | ||
382 | ti,enable-ext-control; | ||
383 | }; | ||
384 | tps65090_dcdc3: dcdc3 { | ||
385 | ti,enable-ext-control; | ||
386 | }; | ||
387 | tps65090_fet1: fet1 { | ||
388 | regulator-name = "vcd_led"; | ||
389 | }; | ||
390 | tps65090_fet2: fet2 { | ||
391 | regulator-name = "video_mid"; | ||
392 | regulator-always-on; | ||
393 | }; | ||
394 | tps65090_fet3: fet3 { | ||
395 | regulator-name = "wwan_r"; | ||
396 | regulator-always-on; | ||
397 | }; | ||
398 | tps65090_fet4: fet4 { | ||
399 | regulator-name = "sdcard"; | ||
400 | regulator-always-on; | ||
401 | }; | ||
402 | tps65090_fet5: fet5 { | ||
403 | regulator-name = "camout"; | ||
404 | }; | ||
405 | tps65090_fet6: fet6 { | ||
406 | regulator-name = "lcd_vdd"; | ||
407 | }; | ||
408 | tps65090_fet7: fet7 { | ||
409 | regulator-name = "video_mid_1a"; | ||
410 | regulator-always-on; | ||
411 | }; | ||
412 | tps65090_ldo1: ldo1 { | ||
413 | }; | ||
414 | tps65090_ldo2: ldo2 { | ||
415 | }; | ||
416 | }; | ||
417 | |||
418 | charger { | ||
419 | compatible = "ti,tps65090-charger"; | ||
420 | }; | ||
421 | }; | ||
422 | }; | ||
423 | }; | ||
424 | }; | ||
425 | |||
426 | &uart_3 { | ||
227 | status = "okay"; | 427 | status = "okay"; |
228 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
229 | pinctrl-names = "default"; | ||
230 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
231 | ddc = <&i2c_2>; | ||
232 | }; | 428 | }; |
233 | 429 | ||
234 | &usbdrd_phy0 { | 430 | &usbdrd_phy0 { |
@@ -248,40 +444,4 @@ | |||
248 | timeout-sec = <32>; | 444 | timeout-sec = <32>; |
249 | }; | 445 | }; |
250 | 446 | ||
251 | &i2s0 { | 447 | #include "cros-ec-keyboard.dtsi" |
252 | status = "okay"; | ||
253 | }; | ||
254 | |||
255 | &fimd { | ||
256 | status = "okay"; | ||
257 | samsung,invert-vclk; | ||
258 | }; | ||
259 | |||
260 | &dp { | ||
261 | status = "okay"; | ||
262 | pinctrl-names = "default"; | ||
263 | pinctrl-0 = <&dp_hpd_gpio>; | ||
264 | samsung,color-space = <0>; | ||
265 | samsung,dynamic-range = <0>; | ||
266 | samsung,ycbcr-coeff = <0>; | ||
267 | samsung,color-depth = <1>; | ||
268 | samsung,link-rate = <0x06>; | ||
269 | samsung,lane-count = <2>; | ||
270 | samsung,hpd-gpio = <&gpx2 6 0>; | ||
271 | |||
272 | display-timings { | ||
273 | native-mode = <&timing1>; | ||
274 | |||
275 | timing1: timing@1 { | ||
276 | clock-frequency = <70589280>; | ||
277 | hactive = <1366>; | ||
278 | vactive = <768>; | ||
279 | hfront-porch = <40>; | ||
280 | hback-porch = <40>; | ||
281 | hsync-len = <32>; | ||
282 | vback-porch = <10>; | ||
283 | vfront-porch = <12>; | ||
284 | vsync-len = <6>; | ||
285 | }; | ||
286 | }; | ||
287 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 15957227ffda..b69de2661011 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi | |||
@@ -265,11 +265,6 @@ | |||
265 | clock-names = "oscclk", "pclk0", "clk0"; | 265 | clock-names = "oscclk", "pclk0", "clk0"; |
266 | }; | 266 | }; |
267 | 267 | ||
268 | disp_pd: power-domain@100440C0 { | ||
269 | compatible = "samsung,exynos4210-pd"; | ||
270 | reg = <0x100440C0 0x20>; | ||
271 | }; | ||
272 | |||
273 | msc_pd: power-domain@10044120 { | 268 | msc_pd: power-domain@10044120 { |
274 | compatible = "samsung,exynos4210-pd"; | 269 | compatible = "samsung,exynos4210-pd"; |
275 | reg = <0x10044120 0x20>; | 270 | reg = <0x10044120 0x20>; |
@@ -521,7 +516,6 @@ | |||
521 | }; | 516 | }; |
522 | 517 | ||
523 | fimd: fimd@14400000 { | 518 | fimd: fimd@14400000 { |
524 | samsung,power-domain = <&disp_pd>; | ||
525 | clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>; | 519 | clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>; |
526 | clock-names = "sclk_fimd", "fimd"; | 520 | clock-names = "sclk_fimd", "fimd"; |
527 | }; | 521 | }; |
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index f3af2079a063..f3ee48bbe05f 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts | |||
@@ -23,8 +23,18 @@ | |||
23 | "google,pi", "google,peach", "samsung,exynos5800", | 23 | "google,pi", "google,peach", "samsung,exynos5800", |
24 | "samsung,exynos5"; | 24 | "samsung,exynos5"; |
25 | 25 | ||
26 | memory { | 26 | aliases { |
27 | reg = <0x20000000 0x80000000>; | 27 | /* Assign 20 so we don't get confused w/ builtin ones */ |
28 | i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; | ||
29 | }; | ||
30 | |||
31 | backlight { | ||
32 | compatible = "pwm-backlight"; | ||
33 | pwms = <&pwm 0 1000000 0>; | ||
34 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | ||
35 | default-brightness-level = <7>; | ||
36 | pinctrl-0 = <&pwm0_out>; | ||
37 | pinctrl-names = "default"; | ||
28 | }; | 38 | }; |
29 | 39 | ||
30 | fixed-rate-clocks { | 40 | fixed-rate-clocks { |
@@ -48,13 +58,16 @@ | |||
48 | }; | 58 | }; |
49 | }; | 59 | }; |
50 | 60 | ||
51 | backlight { | 61 | memory { |
52 | compatible = "pwm-backlight"; | 62 | reg = <0x20000000 0x80000000>; |
53 | pwms = <&pwm 0 1000000 0>; | 63 | }; |
54 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | 64 | |
55 | default-brightness-level = <7>; | 65 | sound { |
56 | pinctrl-0 = <&pwm0_out>; | 66 | compatible = "google,snow-audio-max98091"; |
57 | pinctrl-names = "default"; | 67 | |
68 | samsung,model = "Peach-Pi-I2S-MAX98091"; | ||
69 | samsung,i2s-controller = <&i2s0>; | ||
70 | samsung,audio-codec = <&max98091>; | ||
58 | }; | 71 | }; |
59 | 72 | ||
60 | usb300_vbus_reg: regulator-usb300 { | 73 | usb300_vbus_reg: regulator-usb300 { |
@@ -78,59 +91,92 @@ | |||
78 | pinctrl-0 = <&usb301_vbus_en>; | 91 | pinctrl-0 = <&usb301_vbus_en>; |
79 | enable-active-high; | 92 | enable-active-high; |
80 | }; | 93 | }; |
81 | }; | ||
82 | 94 | ||
83 | &pinctrl_0 { | 95 | vbat: fixed-regulator { |
84 | tpm_irq: tpm-irq { | 96 | compatible = "regulator-fixed"; |
85 | samsung,pins = "gpx1-0"; | 97 | regulator-name = "vbat-supply"; |
86 | samsung,pin-function = <0>; | 98 | regulator-boot-on; |
87 | samsung,pin-pud = <0>; | 99 | regulator-always-on; |
88 | samsung,pin-drv = <0>; | ||
89 | }; | 100 | }; |
101 | }; | ||
90 | 102 | ||
91 | power_key_irq: power-key-irq { | 103 | &dp { |
92 | samsung,pins = "gpx1-2"; | 104 | status = "okay"; |
93 | samsung,pin-function = <0>; | 105 | pinctrl-names = "default"; |
94 | samsung,pin-pud = <0>; | 106 | pinctrl-0 = <&dp_hpd_gpio>; |
95 | samsung,pin-drv = <0>; | 107 | samsung,color-space = <0>; |
96 | }; | 108 | samsung,dynamic-range = <0>; |
109 | samsung,ycbcr-coeff = <0>; | ||
110 | samsung,color-depth = <1>; | ||
111 | samsung,link-rate = <0x0a>; | ||
112 | samsung,lane-count = <2>; | ||
113 | samsung,hpd-gpio = <&gpx2 6 0>; | ||
97 | 114 | ||
98 | dp_hpd_gpio: dp_hpd_gpio { | 115 | display-timings { |
99 | samsung,pins = "gpx2-6"; | 116 | native-mode = <&timing1>; |
100 | samsung,pin-function = <0>; | ||
101 | samsung,pin-pud = <3>; | ||
102 | samsung,pin-drv = <0>; | ||
103 | }; | ||
104 | 117 | ||
105 | hdmi_hpd_irq: hdmi-hpd-irq { | 118 | timing1: timing@1 { |
106 | samsung,pins = "gpx3-7"; | 119 | clock-frequency = <150660000>; |
107 | samsung,pin-function = <0>; | 120 | hactive = <1920>; |
108 | samsung,pin-pud = <1>; | 121 | vactive = <1080>; |
109 | samsung,pin-drv = <0>; | 122 | hfront-porch = <60>; |
123 | hback-porch = <172>; | ||
124 | hsync-len = <80>; | ||
125 | vback-porch = <25>; | ||
126 | vfront-porch = <10>; | ||
127 | vsync-len = <10>; | ||
128 | }; | ||
110 | }; | 129 | }; |
111 | }; | 130 | }; |
112 | 131 | ||
113 | &pinctrl_3 { | 132 | &fimd { |
114 | usb300_vbus_en: usb300-vbus-en { | 133 | status = "okay"; |
115 | samsung,pins = "gph0-0"; | 134 | samsung,invert-vclk; |
116 | samsung,pin-function = <1>; | 135 | }; |
117 | samsung,pin-pud = <0>; | 136 | |
118 | samsung,pin-drv = <0>; | 137 | &hdmi { |
138 | status = "okay"; | ||
139 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
140 | pinctrl-names = "default"; | ||
141 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
142 | ddc = <&i2c_2>; | ||
143 | }; | ||
144 | |||
145 | &hsi2c_7 { | ||
146 | status = "okay"; | ||
147 | |||
148 | max98091: codec@10 { | ||
149 | compatible = "maxim,max98091"; | ||
150 | reg = <0x10>; | ||
151 | interrupts = <2 0>; | ||
152 | interrupt-parent = <&gpx0>; | ||
153 | pinctrl-names = "default"; | ||
154 | pinctrl-0 = <&max98091_irq>; | ||
119 | }; | 155 | }; |
156 | }; | ||
120 | 157 | ||
121 | usb301_vbus_en: usb301-vbus-en { | 158 | &hsi2c_9 { |
122 | samsung,pins = "gph0-1"; | 159 | status = "okay"; |
123 | samsung,pin-function = <1>; | 160 | clock-frequency = <400000>; |
124 | samsung,pin-pud = <0>; | 161 | |
125 | samsung,pin-drv = <0>; | 162 | tpm@20 { |
163 | compatible = "infineon,slb9645tt"; | ||
164 | reg = <0x20>; | ||
165 | |||
166 | /* Unused irq; but still need to configure the pins */ | ||
167 | pinctrl-names = "default"; | ||
168 | pinctrl-0 = <&tpm_irq>; | ||
126 | }; | 169 | }; |
127 | }; | 170 | }; |
128 | 171 | ||
129 | &rtc { | 172 | &i2c_2 { |
130 | status = "okay"; | 173 | status = "okay"; |
174 | samsung,i2c-sda-delay = <100>; | ||
175 | samsung,i2c-max-bus-freq = <66000>; | ||
176 | samsung,i2c-slave-addr = <0x50>; | ||
131 | }; | 177 | }; |
132 | 178 | ||
133 | &uart_3 { | 179 | &i2s0 { |
134 | status = "okay"; | 180 | status = "okay"; |
135 | }; | 181 | }; |
136 | 182 | ||
@@ -173,66 +219,210 @@ | |||
173 | }; | 219 | }; |
174 | }; | 220 | }; |
175 | 221 | ||
176 | &dp { | 222 | |
177 | status = "okay"; | 223 | &pinctrl_0 { |
178 | pinctrl-names = "default"; | 224 | pinctrl-names = "default"; |
179 | pinctrl-0 = <&dp_hpd_gpio>; | 225 | pinctrl-0 = <&mask_tpm_reset>; |
180 | samsung,color-space = <0>; | ||
181 | samsung,dynamic-range = <0>; | ||
182 | samsung,ycbcr-coeff = <0>; | ||
183 | samsung,color-depth = <1>; | ||
184 | samsung,link-rate = <0x0a>; | ||
185 | samsung,lane-count = <2>; | ||
186 | samsung,hpd-gpio = <&gpx2 6 0>; | ||
187 | 226 | ||
188 | display-timings { | 227 | max98091_irq: max98091-irq { |
189 | native-mode = <&timing1>; | 228 | samsung,pins = "gpx0-2"; |
229 | samsung,pin-function = <0>; | ||
230 | samsung,pin-pud = <0>; | ||
231 | samsung,pin-drv = <0>; | ||
232 | }; | ||
190 | 233 | ||
191 | timing1: timing@1 { | 234 | /* We need GPX0_6 to be low at sleep time; just keep it low always */ |
192 | clock-frequency = <150660000>; | 235 | mask_tpm_reset: mask-tpm-reset { |
193 | hactive = <1920>; | 236 | samsung,pins = "gpx0-6"; |
194 | vactive = <1080>; | 237 | samsung,pin-function = <1>; |
195 | hfront-porch = <60>; | 238 | samsung,pin-pud = <0>; |
196 | hback-porch = <172>; | 239 | samsung,pin-drv = <0>; |
197 | hsync-len = <80>; | 240 | samsung,pin-val = <0>; |
198 | vback-porch = <25>; | ||
199 | vfront-porch = <10>; | ||
200 | vsync-len = <10>; | ||
201 | }; | ||
202 | }; | 241 | }; |
203 | }; | ||
204 | 242 | ||
205 | &fimd { | 243 | tpm_irq: tpm-irq { |
206 | status = "okay"; | 244 | samsung,pins = "gpx1-0"; |
207 | samsung,invert-vclk; | 245 | samsung,pin-function = <0>; |
246 | samsung,pin-pud = <0>; | ||
247 | samsung,pin-drv = <0>; | ||
248 | }; | ||
249 | |||
250 | power_key_irq: power-key-irq { | ||
251 | samsung,pins = "gpx1-2"; | ||
252 | samsung,pin-function = <0>; | ||
253 | samsung,pin-pud = <0>; | ||
254 | samsung,pin-drv = <0>; | ||
255 | }; | ||
256 | |||
257 | ec_irq: ec-irq { | ||
258 | samsung,pins = "gpx1-5"; | ||
259 | samsung,pin-function = <0>; | ||
260 | samsung,pin-pud = <0>; | ||
261 | samsung,pin-drv = <0>; | ||
262 | }; | ||
263 | |||
264 | tps65090_irq: tps65090-irq { | ||
265 | samsung,pins = "gpx2-5"; | ||
266 | samsung,pin-function = <0>; | ||
267 | samsung,pin-pud = <0>; | ||
268 | samsung,pin-drv = <0>; | ||
269 | }; | ||
270 | |||
271 | dp_hpd_gpio: dp_hpd_gpio { | ||
272 | samsung,pins = "gpx2-6"; | ||
273 | samsung,pin-function = <0>; | ||
274 | samsung,pin-pud = <3>; | ||
275 | samsung,pin-drv = <0>; | ||
276 | }; | ||
277 | |||
278 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
279 | samsung,pins = "gpx3-7"; | ||
280 | samsung,pin-function = <0>; | ||
281 | samsung,pin-pud = <1>; | ||
282 | samsung,pin-drv = <0>; | ||
283 | }; | ||
208 | }; | 284 | }; |
209 | 285 | ||
210 | &hsi2c_9 { | 286 | &pinctrl_3 { |
211 | status = "okay"; | 287 | /* Drive SPI lines at x2 for better integrity */ |
212 | clock-frequency = <400000>; | 288 | spi2-bus { |
289 | samsung,pin-drv = <2>; | ||
290 | }; | ||
213 | 291 | ||
214 | tpm@20 { | 292 | /* Drive SPI chip select at x2 for better integrity */ |
215 | compatible = "infineon,slb9645tt"; | 293 | ec_spi_cs: ec-spi-cs { |
216 | reg = <0x20>; | 294 | samsung,pins = "gpb1-2"; |
217 | /* Unused irq; but still need to configure the pins */ | 295 | samsung,pin-function = <1>; |
218 | pinctrl-names = "default"; | 296 | samsung,pin-pud = <0>; |
219 | pinctrl-0 = <&tpm_irq>; | 297 | samsung,pin-drv = <2>; |
298 | }; | ||
299 | |||
300 | usb300_vbus_en: usb300-vbus-en { | ||
301 | samsung,pins = "gph0-0"; | ||
302 | samsung,pin-function = <1>; | ||
303 | samsung,pin-pud = <0>; | ||
304 | samsung,pin-drv = <0>; | ||
305 | }; | ||
306 | |||
307 | usb301_vbus_en: usb301-vbus-en { | ||
308 | samsung,pins = "gph0-1"; | ||
309 | samsung,pin-function = <1>; | ||
310 | samsung,pin-pud = <0>; | ||
311 | samsung,pin-drv = <0>; | ||
220 | }; | 312 | }; |
221 | }; | 313 | }; |
222 | 314 | ||
223 | &i2c_2 { | 315 | &rtc { |
224 | status = "okay"; | 316 | status = "okay"; |
225 | samsung,i2c-sda-delay = <100>; | ||
226 | samsung,i2c-max-bus-freq = <66000>; | ||
227 | samsung,i2c-slave-addr = <0x50>; | ||
228 | }; | 317 | }; |
229 | 318 | ||
230 | &hdmi { | 319 | &spi_2 { |
320 | status = "okay"; | ||
321 | num-cs = <1>; | ||
322 | samsung,spi-src-clk = <0>; | ||
323 | cs-gpios = <&gpb1 2 0>; | ||
324 | |||
325 | cros_ec: cros-ec@0 { | ||
326 | compatible = "google,cros-ec-spi"; | ||
327 | interrupt-parent = <&gpx1>; | ||
328 | interrupts = <5 0>; | ||
329 | pinctrl-names = "default"; | ||
330 | pinctrl-0 = <&ec_spi_cs &ec_irq>; | ||
331 | reg = <0>; | ||
332 | spi-max-frequency = <3125000>; | ||
333 | |||
334 | controller-data { | ||
335 | samsung,spi-feedback-delay = <1>; | ||
336 | }; | ||
337 | |||
338 | i2c-tunnel { | ||
339 | compatible = "google,cros-ec-i2c-tunnel"; | ||
340 | #address-cells = <1>; | ||
341 | #size-cells = <0>; | ||
342 | google,remote-bus = <0>; | ||
343 | |||
344 | battery: sbs-battery@b { | ||
345 | compatible = "sbs,sbs-battery"; | ||
346 | reg = <0xb>; | ||
347 | sbs,poll-retry-count = <1>; | ||
348 | sbs,i2c-retry-count = <2>; | ||
349 | }; | ||
350 | |||
351 | power-regulator@48 { | ||
352 | compatible = "ti,tps65090"; | ||
353 | reg = <0x48>; | ||
354 | |||
355 | /* | ||
356 | * Config irq to disable internal pulls | ||
357 | * even though we run in polling mode. | ||
358 | */ | ||
359 | pinctrl-names = "default"; | ||
360 | pinctrl-0 = <&tps65090_irq>; | ||
361 | |||
362 | vsys1-supply = <&vbat>; | ||
363 | vsys2-supply = <&vbat>; | ||
364 | vsys3-supply = <&vbat>; | ||
365 | infet1-supply = <&vbat>; | ||
366 | infet2-supply = <&vbat>; | ||
367 | infet3-supply = <&vbat>; | ||
368 | infet4-supply = <&vbat>; | ||
369 | infet5-supply = <&vbat>; | ||
370 | infet6-supply = <&vbat>; | ||
371 | infet7-supply = <&vbat>; | ||
372 | vsys-l1-supply = <&vbat>; | ||
373 | vsys-l2-supply = <&vbat>; | ||
374 | |||
375 | regulators { | ||
376 | tps65090_dcdc1: dcdc1 { | ||
377 | ti,enable-ext-control; | ||
378 | }; | ||
379 | tps65090_dcdc2: dcdc2 { | ||
380 | ti,enable-ext-control; | ||
381 | }; | ||
382 | tps65090_dcdc3: dcdc3 { | ||
383 | ti,enable-ext-control; | ||
384 | }; | ||
385 | tps65090_fet1: fet1 { | ||
386 | regulator-name = "vcd_led"; | ||
387 | }; | ||
388 | tps65090_fet2: fet2 { | ||
389 | regulator-name = "video_mid"; | ||
390 | regulator-always-on; | ||
391 | }; | ||
392 | tps65090_fet3: fet3 { | ||
393 | regulator-name = "wwan_r"; | ||
394 | regulator-always-on; | ||
395 | }; | ||
396 | tps65090_fet4: fet4 { | ||
397 | regulator-name = "sdcard"; | ||
398 | regulator-always-on; | ||
399 | }; | ||
400 | tps65090_fet5: fet5 { | ||
401 | regulator-name = "camout"; | ||
402 | }; | ||
403 | tps65090_fet6: fet6 { | ||
404 | regulator-name = "lcd_vdd"; | ||
405 | }; | ||
406 | tps65090_fet7: fet7 { | ||
407 | regulator-name = "video_mid_1a"; | ||
408 | regulator-always-on; | ||
409 | }; | ||
410 | tps65090_ldo1: ldo1 { | ||
411 | }; | ||
412 | tps65090_ldo2: ldo2 { | ||
413 | }; | ||
414 | }; | ||
415 | |||
416 | charger { | ||
417 | compatible = "ti,tps65090-charger"; | ||
418 | }; | ||
419 | }; | ||
420 | }; | ||
421 | }; | ||
422 | }; | ||
423 | |||
424 | &uart_3 { | ||
231 | status = "okay"; | 425 | status = "okay"; |
232 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
233 | pinctrl-names = "default"; | ||
234 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
235 | ddc = <&i2c_2>; | ||
236 | }; | 426 | }; |
237 | 427 | ||
238 | &usbdrd_phy0 { | 428 | &usbdrd_phy0 { |
@@ -251,3 +441,5 @@ | |||
251 | &watchdog { | 441 | &watchdog { |
252 | timeout-sec = <32>; | 442 | timeout-sec = <32>; |
253 | }; | 443 | }; |
444 | |||
445 | #include "cros-ec-keyboard.dtsi" | ||