aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2014-03-09 14:30:49 -0400
committerOlof Johansson <olof@lixom.net>2014-03-09 14:31:00 -0400
commit516561a5ea1e444f831efe97f7f5a6be7fa24b03 (patch)
tree66c041c5a654ca58c610fd499abbd1b3eeda23b8
parent20bb4685983732b669f4c827022cccfba16a2aed (diff)
parentd726ca2d3316743841063a98fb113ff22a236e63 (diff)
Merge tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
Samsung DT updates for v3.15 from Kukjin Kim: For exynos4412 - update vdd_arm voltage range for odroidx board For exynos5250 - add PMU sysreg node and update watchdog node - re-organize RTC status - add max77686 pmic node for smdk5250 For exynos5420 - add PMU sysreg, i2s, adma and watchdog nodes - re-organize RTC status - add fixed voltage regulators and regulator nodes for smdk5420 - add PMIC, GPIO based wake up key and vmmc-supply support for arndale-octa board * tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Add vmmc-supply to MMC on arndale-octa board ARM: dts: Add wake up key to arndale-octa board ARM: dts: Add PMIC support to arndale-octa board ARM: dts: Add fixed voltage regulators to smdk5420 ARM: dts: Add I2S nodes to exynos5420 ARM: dts: Add ADMA node to exynos5420 ARM: dts: Re-organize RTC status for exynos5250 ARM: dts: Re-organize RTC status for exynos5420 ARM: dts: Add regulator entries to smdk5420 ARM: dts: add max77686 pmic node for smdk5250 ARM: dts: update vdd_arm voltage range for exynos4412 based boards ARM: dts: update watchdog device nodes for exynos5250 and exynos5420 ARM: dts: Add pmu sysreg node to exynos5250 and exynos5420 Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/pmu.txt15
-rw-r--r--arch/arm/boot/dts/exynos4412-odroidx.dts2
-rw-r--r--arch/arm/boot/dts/exynos4412-origen.dts4
-rw-r--r--arch/arm/boot/dts/exynos5.dtsi7
-rw-r--r--arch/arm/boot/dts/exynos5250-arndale.dts4
-rw-r--r--arch/arm/boot/dts/exynos5250-smdk5250.dts146
-rw-r--r--arch/arm/boot/dts/exynos5250-snow.dts4
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi13
-rw-r--r--arch/arm/boot/dts/exynos5420-arndale-octa.dts298
-rw-r--r--arch/arm/boot/dts/exynos5420-smdk5420.dts253
-rw-r--r--arch/arm/boot/dts/exynos5420.dtsi70
11 files changed, 803 insertions, 13 deletions
diff --git a/Documentation/devicetree/bindings/arm/samsung/pmu.txt b/Documentation/devicetree/bindings/arm/samsung/pmu.txt
new file mode 100644
index 000000000000..f1f155255f28
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/samsung/pmu.txt
@@ -0,0 +1,15 @@
1SAMSUNG Exynos SoC series PMU Registers
2
3Properties:
4 - compatible : should contain two values. First value must be one from following list:
5 - "samsung,exynos5250-pmu" - for Exynos5250 SoC,
6 - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
7 second value must be always "syscon".
8
9 - reg : offset and length of the register set.
10
11Example :
12pmu_system_controller: system-controller@10040000 {
13 compatible = "samsung,exynos5250-pmu", "syscon";
14 reg = <0x10040000 0x5000>;
15};
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 9804fcb71f8c..12459b01cca3 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -251,7 +251,7 @@
251 buck2_reg: BUCK2 { 251 buck2_reg: BUCK2 {
252 regulator-name = "vdd_arm"; 252 regulator-name = "vdd_arm";
253 regulator-min-microvolt = <900000>; 253 regulator-min-microvolt = <900000>;
254 regulator-max-microvolt = <1300000>; 254 regulator-max-microvolt = <1350000>;
255 regulator-always-on; 255 regulator-always-on;
256 regulator-boot-on; 256 regulator-boot-on;
257 }; 257 };
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
index 6bc053924e9e..388f03579661 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -459,8 +459,8 @@
459 459
460 buck2_reg: BUCK2 { 460 buck2_reg: BUCK2 {
461 regulator-name = "vdd_arm"; 461 regulator-name = "vdd_arm";
462 regulator-min-microvolt = <925000>; 462 regulator-min-microvolt = <900000>;
463 regulator-max-microvolt = <1300000>; 463 regulator-max-microvolt = <1350000>;
464 regulator-always-on; 464 regulator-always-on;
465 regulator-boot-on; 465 regulator-boot-on;
466 op_mode = <1>; /* Normal Mode */ 466 op_mode = <1>; /* Normal Mode */
diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index 258dca441f36..79d0608d6dcc 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -81,13 +81,6 @@
81 status = "disabled"; 81 status = "disabled";
82 }; 82 };
83 83
84 watchdog {
85 compatible = "samsung,s3c2410-wdt";
86 reg = <0x101D0000 0x100>;
87 interrupts = <0 42 0>;
88 status = "disabled";
89 };
90
91 fimd@14400000 { 84 fimd@14400000 {
92 compatible = "samsung,exynos5250-fimd"; 85 compatible = "samsung,exynos5250-fimd";
93 interrupt-parent = <&combiner>; 86 interrupt-parent = <&combiner>;
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
index b42e658876e5..56c40783c3eb 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -25,6 +25,10 @@
25 bootargs = "console=ttySAC2,115200"; 25 bootargs = "console=ttySAC2,115200";
26 }; 26 };
27 27
28 rtc@101E0000 {
29 status = "okay";
30 };
31
28 codec@11000000 { 32 codec@11000000 {
29 samsung,mfc-r = <0x43000000 0x800000>; 33 samsung,mfc-r = <0x43000000 0x800000>;
30 samsung,mfc-l = <0x51000000 0x800000>; 34 samsung,mfc-l = <0x51000000 0x800000>;
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 3e69837c435c..f76946e97e6a 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -27,6 +27,10 @@
27 bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; 27 bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
28 }; 28 };
29 29
30 rtc@101E0000 {
31 status = "okay";
32 };
33
30 i2c@12C60000 { 34 i2c@12C60000 {
31 samsung,i2c-sda-delay = <100>; 35 samsung,i2c-sda-delay = <100>;
32 samsung,i2c-max-bus-freq = <20000>; 36 samsung,i2c-max-bus-freq = <20000>;
@@ -36,6 +40,148 @@
36 compatible = "samsung,s524ad0xd1"; 40 compatible = "samsung,s524ad0xd1";
37 reg = <0x50>; 41 reg = <0x50>;
38 }; 42 };
43
44 max77686@09 {
45 compatible = "maxim,max77686";
46 reg = <0x09>;
47
48 voltage-regulators {
49 ldo1_reg: LDO1 {
50 regulator-name = "P1.0V_LDO_OUT1";
51 regulator-min-microvolt = <1000000>;
52 regulator-max-microvolt = <1000000>;
53 regulator-always-on;
54 };
55
56 ldo2_reg: LDO2 {
57 regulator-name = "P1.2V_LDO_OUT2";
58 regulator-min-microvolt = <1200000>;
59 regulator-max-microvolt = <1200000>;
60 regulator-always-on;
61 };
62
63 ldo3_reg: LDO3 {
64 regulator-name = "P1.8V_LDO_OUT3";
65 regulator-min-microvolt = <1800000>;
66 regulator-max-microvolt = <1800000>;
67 regulator-always-on;
68 };
69
70 ldo4_reg: LDO4 {
71 regulator-name = "P2.8V_LDO_OUT4";
72 regulator-min-microvolt = <2800000>;
73 regulator-max-microvolt = <2800000>;
74 };
75
76 ldo5_reg: LDO5 {
77 regulator-name = "P1.8V_LDO_OUT5";
78 regulator-min-microvolt = <1800000>;
79 regulator-max-microvolt = <1800000>;
80 };
81
82 ldo6_reg: LDO6 {
83 regulator-name = "P1.1V_LDO_OUT6";
84 regulator-min-microvolt = <1100000>;
85 regulator-max-microvolt = <1100000>;
86 regulator-always-on;
87 };
88
89 ldo7_reg: LDO7 {
90 regulator-name = "P1.1V_LDO_OUT7";
91 regulator-min-microvolt = <1100000>;
92 regulator-max-microvolt = <1100000>;
93 regulator-always-on;
94 };
95
96 ldo8_reg: LDO8 {
97 regulator-name = "P1.0V_LDO_OUT8";
98 regulator-min-microvolt = <1000000>;
99 regulator-max-microvolt = <1000000>;
100 };
101
102 ldo10_reg: LDO10 {
103 regulator-name = "P1.8V_LDO_OUT10";
104 regulator-min-microvolt = <1800000>;
105 regulator-max-microvolt = <1800000>;
106 };
107
108 ldo11_reg: LDO11 {
109 regulator-name = "P1.8V_LDO_OUT11";
110 regulator-min-microvolt = <1800000>;
111 regulator-max-microvolt = <1800000>;
112 };
113
114 ldo12_reg: LDO12 {
115 regulator-name = "P3.0V_LDO_OUT12";
116 regulator-min-microvolt = <3000000>;
117 regulator-max-microvolt = <3000000>;
118 };
119
120 ldo13_reg: LDO13 {
121 regulator-name = "P1.8V_LDO_OUT13";
122 regulator-min-microvolt = <1800000>;
123 regulator-max-microvolt = <1800000>;
124 };
125
126 ldo14_reg: LDO14 {
127 regulator-name = "P1.8V_LDO_OUT14";
128 regulator-min-microvolt = <1800000>;
129 regulator-max-microvolt = <1800000>;
130 };
131
132 ldo15_reg: LDO15 {
133 regulator-name = "P1.0V_LDO_OUT15";
134 regulator-min-microvolt = <1000000>;
135 regulator-max-microvolt = <1000000>;
136 };
137
138 ldo16_reg: LDO16 {
139 regulator-name = "P1.8V_LDO_OUT16";
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <1800000>;
142 };
143
144 buck1_reg: BUCK1 {
145 regulator-name = "vdd_mif";
146 regulator-min-microvolt = <950000>;
147 regulator-max-microvolt = <1300000>;
148 regulator-always-on;
149 regulator-boot-on;
150 };
151
152 buck2_reg: BUCK2 {
153 regulator-name = "vdd_arm";
154 regulator-min-microvolt = <850000>;
155 regulator-max-microvolt = <1350000>;
156 regulator-always-on;
157 regulator-boot-on;
158 };
159
160 buck3_reg: BUCK3 {
161 regulator-name = "vdd_int";
162 regulator-min-microvolt = <900000>;
163 regulator-max-microvolt = <1200000>;
164 regulator-always-on;
165 regulator-boot-on;
166 };
167
168 buck4_reg: BUCK4 {
169 regulator-name = "vdd_g3d";
170 regulator-min-microvolt = <850000>;
171 regulator-max-microvolt = <1300000>;
172 regulator-always-on;
173 regulator-boot-on;
174 };
175
176 buck5_reg: BUCK5 {
177 regulator-name = "P1.8V_BUCK_OUT5";
178 regulator-min-microvolt = <1800000>;
179 regulator-max-microvolt = <1800000>;
180 regulator-always-on;
181 regulator-boot-on;
182 };
183 };
184 };
39 }; 185 };
40 186
41 vdd: fixed-regulator@0 { 187 vdd: fixed-regulator@0 {
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index 7e45eea2d78f..b13bf499f5e2 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -20,6 +20,10 @@
20 i2c104 = &i2c_104; 20 i2c104 = &i2c_104;
21 }; 21 };
22 22
23 rtc@101E0000 {
24 status = "okay";
25 };
26
23 pinctrl@11400000 { 27 pinctrl@11400000 {
24 sd3_clk: sd3-clk { 28 sd3_clk: sd3-clk {
25 samsung,pin-drv = <0>; 29 samsung,pin-drv = <0>;
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index b7dec41e32af..8f6300fb2315 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -167,9 +167,18 @@
167 interrupts = <0 47 0>; 167 interrupts = <0 47 0>;
168 }; 168 };
169 169
170 watchdog { 170 pmu_system_controller: system-controller@10040000 {
171 compatible = "samsung,exynos5250-pmu", "syscon";
172 reg = <0x10040000 0x5000>;
173 };
174
175 watchdog@101D0000 {
176 compatible = "samsung,exynos5250-wdt";
177 reg = <0x101D0000 0x100>;
178 interrupts = <0 42 0>;
171 clocks = <&clock 336>; 179 clocks = <&clock 336>;
172 clock-names = "watchdog"; 180 clock-names = "watchdog";
181 samsung,syscon-phandle = <&pmu_system_controller>;
173 }; 182 };
174 183
175 g2d@10850000 { 184 g2d@10850000 {
@@ -192,7 +201,7 @@
192 rtc@101E0000 { 201 rtc@101E0000 {
193 clocks = <&clock 337>; 202 clocks = <&clock 337>;
194 clock-names = "rtc"; 203 clock-names = "rtc";
195 status = "okay"; 204 status = "disabled";
196 }; 205 };
197 206
198 tmu@10060000 { 207 tmu@10060000 {
diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
index 7340745ff979..f509e8fc290f 100644
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
@@ -11,6 +11,8 @@
11 11
12/dts-v1/; 12/dts-v1/;
13#include "exynos5420.dtsi" 13#include "exynos5420.dtsi"
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/input/input.h>
14 16
15/ { 17/ {
16 model = "Insignal Arndale Octa evaluation board based on EXYNOS5420"; 18 model = "Insignal Arndale Octa evaluation board based on EXYNOS5420";
@@ -31,6 +33,10 @@
31 }; 33 };
32 }; 34 };
33 35
36 rtc@101E0000 {
37 status = "okay";
38 };
39
34 mmc@12200000 { 40 mmc@12200000 {
35 status = "okay"; 41 status = "okay";
36 broken-cd; 42 broken-cd;
@@ -41,6 +47,7 @@
41 samsung,dw-mshc-ddr-timing = <0 2>; 47 samsung,dw-mshc-ddr-timing = <0 2>;
42 pinctrl-names = "default"; 48 pinctrl-names = "default";
43 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 49 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
50 vmmc-supply = <&ldo10_reg>;
44 51
45 slot@0 { 52 slot@0 {
46 reg = <0>; 53 reg = <0>;
@@ -57,10 +64,301 @@
57 samsung,dw-mshc-ddr-timing = <1 2>; 64 samsung,dw-mshc-ddr-timing = <1 2>;
58 pinctrl-names = "default"; 65 pinctrl-names = "default";
59 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 66 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
67 vmmc-supply = <&ldo10_reg>;
60 68
61 slot@0 { 69 slot@0 {
62 reg = <0>; 70 reg = <0>;
63 bus-width = <4>; 71 bus-width = <4>;
64 }; 72 };
65 }; 73 };
74
75 hsi2c_4: i2c@12CA0000 {
76 status = "okay";
77
78 s2mps11_pmic@66 {
79 compatible = "samsung,s2mps11-pmic";
80 reg = <0x66>;
81 s2mps11,buck2-ramp-delay = <12>;
82 s2mps11,buck34-ramp-delay = <12>;
83 s2mps11,buck16-ramp-delay = <12>;
84 s2mps11,buck6-ramp-enable = <1>;
85 s2mps11,buck2-ramp-enable = <1>;
86 s2mps11,buck3-ramp-enable = <1>;
87 s2mps11,buck4-ramp-enable = <1>;
88
89 interrupt-parent = <&gpx3>;
90 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
91
92 s2mps11_osc: clocks {
93 #clock-cells = <1>;
94 clock-output-names = "s2mps11_ap",
95 "s2mps11_cp", "s2mps11_bt";
96 };
97
98 regulators {
99 ldo1_reg: LDO1 {
100 regulator-name = "PVDD_ALIVE_1V0";
101 regulator-min-microvolt = <1000000>;
102 regulator-max-microvolt = <1000000>;
103 regulator-always-on;
104 };
105
106 ldo2_reg: LDO2 {
107 regulator-name = "PVDD_APIO_1V8";
108 regulator-min-microvolt = <1800000>;
109 regulator-max-microvolt = <1800000>;
110 };
111
112 ldo3_reg: LDO3 {
113 regulator-name = "PVDD_APIO_MMCON_1V8";
114 regulator-min-microvolt = <1800000>;
115 regulator-max-microvolt = <1800000>;
116 };
117
118 ldo4_reg: LDO4 {
119 regulator-name = "PVDD_ADC_1V8";
120 regulator-min-microvolt = <1800000>;
121 regulator-max-microvolt = <1800000>;
122 };
123
124 ldo5_reg: LDO5 {
125 regulator-name = "PVDD_PLL_1V8";
126 regulator-min-microvolt = <1800000>;
127 regulator-max-microvolt = <1800000>;
128 regulator-always-on;
129 };
130
131 ldo6_reg: LDO6 {
132 regulator-name = "PVDD_ANAIP_1V0";
133 regulator-min-microvolt = <1000000>;
134 regulator-max-microvolt = <1000000>;
135 };
136
137 ldo7_reg: LDO7 {
138 regulator-name = "PVDD_ANAIP_1V8";
139 regulator-min-microvolt = <1800000>;
140 regulator-max-microvolt = <1800000>;
141 };
142
143 ldo8_reg: LDO8 {
144 regulator-name = "PVDD_ABB_1V8";
145 regulator-min-microvolt = <1800000>;
146 regulator-max-microvolt = <1800000>;
147 };
148
149 ldo9_reg: LDO9 {
150 regulator-name = "PVDD_USB_3V3";
151 regulator-min-microvolt = <3000000>;
152 regulator-max-microvolt = <3000000>;
153 };
154
155 ldo10_reg: LDO10 {
156 regulator-name = "PVDD_PRE_1V8";
157 regulator-min-microvolt = <1800000>;
158 regulator-max-microvolt = <1800000>;
159 regulator-always-on;
160 };
161
162 ldo11_reg: LDO11 {
163 regulator-name = "PVDD_USB_1V0";
164 regulator-min-microvolt = <1000000>;
165 regulator-max-microvolt = <1000000>;
166 regulator-always-on;
167 };
168
169 ldo12_reg: LDO12 {
170 regulator-name = "PVDD_HSIC_1V8";
171 regulator-min-microvolt = <1800000>;
172 regulator-max-microvolt = <1800000>;
173 };
174
175 ldo13_reg: LDO13 {
176 regulator-name = "PVDD_APIO_MMCOFF_2V8";
177 regulator-min-microvolt = <2800000>;
178 regulator-max-microvolt = <2800000>;
179 };
180
181 ldo15_reg: LDO15 {
182 regulator-name = "PVDD_PERI_2V8";
183 regulator-min-microvolt = <3300000>;
184 regulator-max-microvolt = <3300000>;
185 };
186
187 ldo16_reg: LDO16 {
188 regulator-name = "PVDD_PERI_3V3";
189 regulator-min-microvolt = <2200000>;
190 regulator-max-microvolt = <2200000>;
191 };
192
193 ldo18_reg: LDO18 {
194 regulator-name = "PVDD_EMMC_1V8";
195 regulator-min-microvolt = <1800000>;
196 regulator-max-microvolt = <1800000>;
197 };
198
199 ldo19_reg: LDO19 {
200 regulator-name = "PVDD_TFLASH_2V8";
201 regulator-min-microvolt = <2800000>;
202 regulator-max-microvolt = <2800000>;
203 };
204
205 ldo20_reg: LDO20 {
206 regulator-name = "PVDD_BTWIFI_1V8";
207 regulator-min-microvolt = <1800000>;
208 regulator-max-microvolt = <1800000>;
209 };
210
211 ldo21_reg: LDO21 {
212 regulator-name = "PVDD_CAM1IO_1V8";
213 regulator-min-microvolt = <1800000>;
214 regulator-max-microvolt = <1800000>;
215 };
216
217 ldo23_reg: LDO23 {
218 regulator-name = "PVDD_MIFS_1V1";
219 regulator-min-microvolt = <1200000>;
220 regulator-max-microvolt = <1200000>;
221 };
222
223 ldo24_reg: LDO24 {
224 regulator-name = "PVDD_CAM1_AVDD_2V8";
225 regulator-min-microvolt = <2800000>;
226 regulator-max-microvolt = <2800000>;
227 };
228
229 ldo26_reg: LDO26 {
230 regulator-name = "PVDD_CAM0_AF_2V8";
231 regulator-min-microvolt = <3000000>;
232 regulator-max-microvolt = <3000000>;
233 };
234
235 ldo27_reg: LDO27 {
236 regulator-name = "PVDD_G3DS_1V0";
237 regulator-min-microvolt = <1200000>;
238 regulator-max-microvolt = <1200000>;
239 };
240
241 ldo28_reg: LDO28 {
242 regulator-name = "PVDD_TSP_3V3";
243 regulator-min-microvolt = <3300000>;
244 regulator-max-microvolt = <3300000>;
245 };
246
247 ldo29_reg: LDO29 {
248 regulator-name = "PVDD_AUDIO_1V8";
249 regulator-min-microvolt = <1800000>;
250 regulator-max-microvolt = <1800000>;
251 };
252
253 ldo31_reg: LDO31 {
254 regulator-name = "PVDD_PERI_1V8";
255 regulator-min-microvolt = <1800000>;
256 regulator-max-microvolt = <1800000>;
257 };
258
259 ldo32_reg: LDO32 {
260 regulator-name = "PVDD_LCD_1V8";
261 regulator-min-microvolt = <1800000>;
262 regulator-max-microvolt = <1800000>;
263 };
264
265 ldo33_reg: LDO33 {
266 regulator-name = "PVDD_CAM0IO_1V8";
267 regulator-min-microvolt = <1800000>;
268 regulator-max-microvolt = <1800000>;
269 };
270
271 ldo35_reg: LDO35 {
272 regulator-name = "PVDD_CAM0_DVDD_1V2";
273 regulator-min-microvolt = <1200000>;
274 regulator-max-microvolt = <1200000>;
275 };
276
277 ldo38_reg: LDO38 {
278 regulator-name = "PVDD_CAM0_AVDD_2V8";
279 regulator-min-microvolt = <2800000>;
280 regulator-max-microvolt = <2800000>;
281 };
282
283 buck1_reg: BUCK1 {
284 regulator-name = "PVDD_MIF_1V1";
285 regulator-min-microvolt = <800000>;
286 regulator-max-microvolt = <1100000>;
287 regulator-always-on;
288 };
289
290 buck2_reg: BUCK2 {
291 regulator-name = "vdd_arm";
292 regulator-min-microvolt = <800000>;
293 regulator-max-microvolt = <1000000>;
294 regulator-always-on;
295 };
296
297 buck3_reg: BUCK3 {
298 regulator-name = "PVDD_INT_1V0";
299 regulator-min-microvolt = <800000>;
300 regulator-max-microvolt = <1000000>;
301 regulator-always-on;
302 };
303
304 buck4_reg: BUCK4 {
305 regulator-name = "PVDD_G3D_1V0";
306 regulator-min-microvolt = <800000>;
307 regulator-max-microvolt = <1000000>;
308 };
309
310 buck5_reg: BUCK5 {
311 regulator-name = "PVDD_LPDDR3_1V2";
312 regulator-min-microvolt = <800000>;
313 regulator-max-microvolt = <1200000>;
314 regulator-always-on;
315 };
316
317 buck6_reg: BUCK6 {
318 regulator-name = "PVDD_KFC_1V0";
319 regulator-min-microvolt = <800000>;
320 regulator-max-microvolt = <1000000>;
321 regulator-always-on;
322 };
323
324 buck7_reg: BUCK7 {
325 regulator-name = "VIN_LLDO_1V4";
326 regulator-min-microvolt = <800000>;
327 regulator-max-microvolt = <1400000>;
328 regulator-always-on;
329 };
330
331 buck8_reg: BUCK8 {
332 regulator-name = "VIN_MLDO_2V0";
333 regulator-min-microvolt = <800000>;
334 regulator-max-microvolt = <2000000>;
335 regulator-always-on;
336 };
337
338 buck9_reg: BUCK9 {
339 regulator-name = "VIN_HLDO_3V5";
340 regulator-min-microvolt = <3000000>;
341 regulator-max-microvolt = <3500000>;
342 regulator-always-on;
343 };
344
345 buck10_reg: BUCK10 {
346 regulator-name = "PVDD_EMMCF_2V8";
347 regulator-min-microvolt = <2800000>;
348 regulator-max-microvolt = <2800000>;
349 };
350 };
351 };
352 };
353
354 gpio_keys {
355 compatible = "gpio-keys";
356
357 wakeup {
358 label = "SW-TACT1";
359 gpios = <&gpx2 7 1>;
360 linux,code = <KEY_WAKEUP>;
361 gpio-key,wakeup;
362 };
363 };
66}; 364};
diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index fb5a1e25c632..ae1ee0470fca 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -31,6 +31,43 @@
31 }; 31 };
32 }; 32 };
33 33
34 regulators {
35 compatible = "simple-bus";
36 #address-cells = <1>;
37 #size-cells = <0>;
38
39 vdd: fixed-regulator@0 {
40 compatible = "regulator-fixed";
41 reg = <0>;
42 regulator-name = "vdd-supply";
43 regulator-min-microvolt = <1800000>;
44 regulator-max-microvolt = <1800000>;
45 regulator-always-on;
46 };
47
48 dbvdd: fixed-regulator@1 {
49 compatible = "regulator-fixed";
50 reg = <1>;
51 regulator-name = "dbvdd-supply";
52 regulator-min-microvolt = <3300000>;
53 regulator-max-microvolt = <3300000>;
54 regulator-always-on;
55 };
56
57 spkvdd: fixed-regulator@2 {
58 compatible = "regulator-fixed";
59 reg = <2>;
60 regulator-name = "spkvdd-supply";
61 regulator-min-microvolt = <5000000>;
62 regulator-max-microvolt = <5000000>;
63 regulator-always-on;
64 };
65 };
66
67 rtc@101E0000 {
68 status = "okay";
69 };
70
34 mmc@12200000 { 71 mmc@12200000 {
35 status = "okay"; 72 status = "okay";
36 broken-cd; 73 broken-cd;
@@ -120,4 +157,220 @@
120 reg = <0x50>; 157 reg = <0x50>;
121 }; 158 };
122 }; 159 };
160
161 hsi2c_4: i2c@12CA0000 {
162 status = "okay";
163
164 s2mps11_pmic@66 {
165 compatible = "samsung,s2mps11-pmic";
166 reg = <0x66>;
167 s2mps11,buck2-ramp-delay = <12>;
168 s2mps11,buck34-ramp-delay = <12>;
169 s2mps11,buck16-ramp-delay = <12>;
170 s2mps11,buck6-ramp-enable = <1>;
171 s2mps11,buck2-ramp-enable = <1>;
172 s2mps11,buck3-ramp-enable = <1>;
173 s2mps11,buck4-ramp-enable = <1>;
174
175 s2mps11_osc: clocks {
176 #clock-cells = <1>;
177 clock-output-names = "s2mps11_ap",
178 "s2mps11_cp", "s2mps11_bt";
179 };
180
181 regulators {
182 ldo1_reg: LDO1 {
183 regulator-name = "vdd_ldo1";
184 regulator-min-microvolt = <1000000>;
185 regulator-max-microvolt = <1000000>;
186 regulator-always-on;
187 };
188
189 ldo3_reg: LDO3 {
190 regulator-name = "vdd_ldo3";
191 regulator-min-microvolt = <1800000>;
192 regulator-max-microvolt = <1800000>;
193 regulator-always-on;
194 };
195
196 ldo5_reg: LDO5 {
197 regulator-name = "vdd_ldo5";
198 regulator-min-microvolt = <1800000>;
199 regulator-max-microvolt = <1800000>;
200 regulator-always-on;
201 };
202
203 ldo6_reg: LDO6 {
204 regulator-name = "vdd_ldo6";
205 regulator-min-microvolt = <1000000>;
206 regulator-max-microvolt = <1000000>;
207 regulator-always-on;
208 };
209
210 ldo7_reg: LDO7 {
211 regulator-name = "vdd_ldo7";
212 regulator-min-microvolt = <1800000>;
213 regulator-max-microvolt = <1800000>;
214 regulator-always-on;
215 };
216
217 ldo8_reg: LDO8 {
218 regulator-name = "vdd_ldo8";
219 regulator-min-microvolt = <1800000>;
220 regulator-max-microvolt = <1800000>;
221 regulator-always-on;
222 };
223
224 ldo9_reg: LDO9 {
225 regulator-name = "vdd_ldo9";
226 regulator-min-microvolt = <3000000>;
227 regulator-max-microvolt = <3000000>;
228 regulator-always-on;
229 };
230
231 ldo10_reg: LDO10 {
232 regulator-name = "vdd_ldo10";
233 regulator-min-microvolt = <1800000>;
234 regulator-max-microvolt = <1800000>;
235 regulator-always-on;
236 };
237
238 ldo11_reg: LDO11 {
239 regulator-name = "vdd_ldo11";
240 regulator-min-microvolt = <1000000>;
241 regulator-max-microvolt = <1000000>;
242 regulator-always-on;
243 };
244
245 ldo12_reg: LDO12 {
246 regulator-name = "vdd_ldo12";
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <1800000>;
249 regulator-always-on;
250 };
251
252 ldo13_reg: LDO13 {
253 regulator-name = "vdd_ldo13";
254 regulator-min-microvolt = <2800000>;
255 regulator-max-microvolt = <2800000>;
256 regulator-always-on;
257 };
258
259 ldo15_reg: LDO15 {
260 regulator-name = "vdd_ldo15";
261 regulator-min-microvolt = <3100000>;
262 regulator-max-microvolt = <3100000>;
263 regulator-always-on;
264 };
265
266 ldo16_reg: LDO16 {
267 regulator-name = "vdd_ldo16";
268 regulator-min-microvolt = <2200000>;
269 regulator-max-microvolt = <2200000>;
270 regulator-always-on;
271 };
272
273 ldo17_reg: LDO17 {
274 regulator-name = "tsp_avdd";
275 regulator-min-microvolt = <3300000>;
276 regulator-max-microvolt = <3300000>;
277 regulator-always-on;
278 };
279
280 ldo19_reg: LDO19 {
281 regulator-name = "vdd_sd";
282 regulator-min-microvolt = <2800000>;
283 regulator-max-microvolt = <2800000>;
284 regulator-always-on;
285 };
286
287 ldo24_reg: LDO24 {
288 regulator-name = "tsp_io";
289 regulator-min-microvolt = <2800000>;
290 regulator-max-microvolt = <2800000>;
291 regulator-always-on;
292 };
293
294 buck1_reg: BUCK1 {
295 regulator-name = "vdd_mif";
296 regulator-min-microvolt = <800000>;
297 regulator-max-microvolt = <1300000>;
298 regulator-always-on;
299 regulator-boot-on;
300 };
301
302 buck2_reg: BUCK2 {
303 regulator-name = "vdd_arm";
304 regulator-min-microvolt = <800000>;
305 regulator-max-microvolt = <1500000>;
306 regulator-always-on;
307 regulator-boot-on;
308 };
309
310 buck3_reg: BUCK3 {
311 regulator-name = "vdd_int";
312 regulator-min-microvolt = <800000>;
313 regulator-max-microvolt = <1400000>;
314 regulator-always-on;
315 regulator-boot-on;
316 };
317
318 buck4_reg: BUCK4 {
319 regulator-name = "vdd_g3d";
320 regulator-min-microvolt = <800000>;
321 regulator-max-microvolt = <1400000>;
322 regulator-always-on;
323 regulator-boot-on;
324 };
325
326 buck5_reg: BUCK5 {
327 regulator-name = "vdd_mem";
328 regulator-min-microvolt = <800000>;
329 regulator-max-microvolt = <1400000>;
330 regulator-always-on;
331 regulator-boot-on;
332 };
333
334 buck6_reg: BUCK6 {
335 regulator-name = "vdd_kfc";
336 regulator-min-microvolt = <800000>;
337 regulator-max-microvolt = <1500000>;
338 regulator-always-on;
339 regulator-boot-on;
340 };
341
342 buck7_reg: BUCK7 {
343 regulator-name = "vdd_1.0v_ldo";
344 regulator-min-microvolt = <800000>;
345 regulator-max-microvolt = <1500000>;
346 regulator-always-on;
347 regulator-boot-on;
348 };
349
350 buck8_reg: BUCK8 {
351 regulator-name = "vdd_1.8v_ldo";
352 regulator-min-microvolt = <800000>;
353 regulator-max-microvolt = <1500000>;
354 regulator-always-on;
355 regulator-boot-on;
356 };
357
358 buck9_reg: BUCK9 {
359 regulator-name = "vdd_2.8v_ldo";
360 regulator-min-microvolt = <3000000>;
361 regulator-max-microvolt = <3750000>;
362 regulator-always-on;
363 regulator-boot-on;
364 };
365
366 buck10_reg: BUCK10 {
367 regulator-name = "vdd_vmem";
368 regulator-min-microvolt = <2850000>;
369 regulator-max-microvolt = <2850000>;
370 regulator-always-on;
371 regulator-boot-on;
372 };
373 };
374 };
375 };
123}; 376};
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index 8db792b26f79..45e2e658b03b 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -271,7 +271,7 @@
271 rtc@101E0000 { 271 rtc@101E0000 {
272 clocks = <&clock 317>; 272 clocks = <&clock 317>;
273 clock-names = "rtc"; 273 clock-names = "rtc";
274 status = "okay"; 274 status = "disabled";
275 }; 275 };
276 276
277 amba { 277 amba {
@@ -281,6 +281,17 @@
281 interrupt-parent = <&gic>; 281 interrupt-parent = <&gic>;
282 ranges; 282 ranges;
283 283
284 adma: adma@03880000 {
285 compatible = "arm,pl330", "arm,primecell";
286 reg = <0x03880000 0x1000>;
287 interrupts = <0 110 0>;
288 clocks = <&clock_audss EXYNOS_ADMA>;
289 clock-names = "apb_pclk";
290 #dma-cells = <1>;
291 #dma-channels = <6>;
292 #dma-requests = <16>;
293 };
294
284 pdma0: pdma@121A0000 { 295 pdma0: pdma@121A0000 {
285 compatible = "arm,pl330", "arm,primecell"; 296 compatible = "arm,pl330", "arm,primecell";
286 reg = <0x121A0000 0x1000>; 297 reg = <0x121A0000 0x1000>;
@@ -326,6 +337,49 @@
326 }; 337 };
327 }; 338 };
328 339
340 i2s0: i2s@03830000 {
341 compatible = "samsung,exynos5420-i2s";
342 reg = <0x03830000 0x100>;
343 dmas = <&adma 0
344 &adma 2
345 &adma 1>;
346 dma-names = "tx", "rx", "tx-sec";
347 clocks = <&clock_audss EXYNOS_I2S_BUS>,
348 <&clock_audss EXYNOS_I2S_BUS>,
349 <&clock_audss EXYNOS_SCLK_I2S>;
350 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
351 samsung,idma-addr = <0x03000000>;
352 pinctrl-names = "default";
353 pinctrl-0 = <&i2s0_bus>;
354 status = "disabled";
355 };
356
357 i2s1: i2s@12D60000 {
358 compatible = "samsung,exynos5420-i2s";
359 reg = <0x12D60000 0x100>;
360 dmas = <&pdma1 12
361 &pdma1 11>;
362 dma-names = "tx", "rx";
363 clocks = <&clock 275>, <&clock 138>;
364 clock-names = "iis", "i2s_opclk0";
365 pinctrl-names = "default";
366 pinctrl-0 = <&i2s1_bus>;
367 status = "disabled";
368 };
369
370 i2s2: i2s@12D70000 {
371 compatible = "samsung,exynos5420-i2s";
372 reg = <0x12D70000 0x100>;
373 dmas = <&pdma0 12
374 &pdma0 11>;
375 dma-names = "tx", "rx";
376 clocks = <&clock 276>, <&clock 139>;
377 clock-names = "iis", "i2s_opclk0";
378 pinctrl-names = "default";
379 pinctrl-0 = <&i2s2_bus>;
380 status = "disabled";
381 };
382
329 spi_0: spi@12d20000 { 383 spi_0: spi@12d20000 {
330 compatible = "samsung,exynos4210-spi"; 384 compatible = "samsung,exynos4210-spi";
331 reg = <0x12d20000 0x100>; 385 reg = <0x12d20000 0x100>;
@@ -613,6 +667,11 @@
613 samsung,power-domain = <&gsc_pd>; 667 samsung,power-domain = <&gsc_pd>;
614 }; 668 };
615 669
670 pmu_system_controller: system-controller@10040000 {
671 compatible = "samsung,exynos5420-pmu", "syscon";
672 reg = <0x10040000 0x5000>;
673 };
674
616 tmu_cpu0: tmu@10060000 { 675 tmu_cpu0: tmu@10060000 {
617 compatible = "samsung,exynos5420-tmu"; 676 compatible = "samsung,exynos5420-tmu";
618 reg = <0x10060000 0x100>; 677 reg = <0x10060000 0x100>;
@@ -652,4 +711,13 @@
652 clocks = <&clock 319>, <&clock 318>; 711 clocks = <&clock 319>, <&clock 318>;
653 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 712 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
654 }; 713 };
714
715 watchdog@101D0000 {
716 compatible = "samsung,exynos5420-wdt";
717 reg = <0x101D0000 0x100>;
718 interrupts = <0 42 0>;
719 clocks = <&clock 316>;
720 clock-names = "watchdog";
721 samsung,syscon-phandle = <&pmu_system_controller>;
722 };
655}; 723};