diff options
-rw-r--r-- | Documentation/devicetree/bindings/media/s5p-mfc.txt | 21 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/usb/exynos-usb.txt | 40 | ||||
-rw-r--r-- | arch/arm/boot/dts/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/cros5250-common.dtsi | 138 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4.dtsi | 8 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4210-origen.dts | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4210-smdkv310.dts | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-odroidx.dts | 97 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-origen.dts | 418 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos4412-smdk4412.dts | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-arndale.dts | 122 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-smdk5250.dts | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-snow.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250.dtsi | 42 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5440-ssdk5440.dts | 16 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5440.dtsi | 42 | ||||
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos4-dt.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 1 |
19 files changed, 968 insertions, 41 deletions
diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt index 67ec3d4ccc7f..bf0182d8da25 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.txt +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt | |||
@@ -21,3 +21,24 @@ Required properties: | |||
21 | 21 | ||
22 | - samsung,mfc-l : Base address of the second memory bank used by MFC | 22 | - samsung,mfc-l : Base address of the second memory bank used by MFC |
23 | for DMA contiguous memory allocation and its size. | 23 | for DMA contiguous memory allocation and its size. |
24 | |||
25 | Optional properties: | ||
26 | - samsung,power-domain : power-domain property defined with a phandle | ||
27 | to respective power domain. | ||
28 | |||
29 | Example: | ||
30 | SoC specific DT entry: | ||
31 | |||
32 | mfc: codec@13400000 { | ||
33 | compatible = "samsung,mfc-v5"; | ||
34 | reg = <0x13400000 0x10000>; | ||
35 | interrupts = <0 94 0>; | ||
36 | samsung,power-domain = <&pd_mfc>; | ||
37 | }; | ||
38 | |||
39 | Board specific DT entry: | ||
40 | |||
41 | codec@13400000 { | ||
42 | samsung,mfc-r = <0x43000000 0x800000>; | ||
43 | samsung,mfc-l = <0x51000000 0x800000>; | ||
44 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt new file mode 100644 index 000000000000..f66fcddba46f --- /dev/null +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt | |||
@@ -0,0 +1,40 @@ | |||
1 | Samsung Exynos SoC USB controller | ||
2 | |||
3 | The USB devices interface with USB controllers on Exynos SOCs. | ||
4 | The device node has following properties. | ||
5 | |||
6 | EHCI | ||
7 | Required properties: | ||
8 | - compatible: should be "samsung,exynos4210-ehci" for USB 2.0 | ||
9 | EHCI controller in host mode. | ||
10 | - reg: physical base address of the controller and length of memory mapped | ||
11 | region. | ||
12 | - interrupts: interrupt number to the cpu. | ||
13 | |||
14 | Optional properties: | ||
15 | - samsung,vbus-gpio: if present, specifies the GPIO that | ||
16 | needs to be pulled up for the bus to be powered. | ||
17 | |||
18 | Example: | ||
19 | |||
20 | usb@12110000 { | ||
21 | compatible = "samsung,exynos4210-ehci"; | ||
22 | reg = <0x12110000 0x100>; | ||
23 | interrupts = <0 71 0>; | ||
24 | samsung,vbus-gpio = <&gpx2 6 1 3 3>; | ||
25 | }; | ||
26 | |||
27 | OHCI | ||
28 | Required properties: | ||
29 | - compatible: should be "samsung,exynos4210-ohci" for USB 2.0 | ||
30 | OHCI companion controller in host mode. | ||
31 | - reg: physical base address of the controller and length of memory mapped | ||
32 | region. | ||
33 | - interrupts: interrupt number to the cpu. | ||
34 | |||
35 | Example: | ||
36 | usb@12120000 { | ||
37 | compatible = "samsung,exynos4210-ohci"; | ||
38 | reg = <0x12120000 0x100>; | ||
39 | interrupts = <0 71 0>; | ||
40 | }; | ||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9c6255884cbb..d3cd880d70b3 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -42,7 +42,10 @@ dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ | |||
42 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | 42 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ |
43 | exynos4210-smdkv310.dtb \ | 43 | exynos4210-smdkv310.dtb \ |
44 | exynos4210-trats.dtb \ | 44 | exynos4210-trats.dtb \ |
45 | exynos4412-odroidx.dtb \ | ||
45 | exynos4412-smdk4412.dtb \ | 46 | exynos4412-smdk4412.dtb \ |
47 | exynos4412-origen.dtb \ | ||
48 | exynos5250-arndale.dtb \ | ||
46 | exynos5250-smdk5250.dtb \ | 49 | exynos5250-smdk5250.dtb \ |
47 | exynos5250-snow.dtb \ | 50 | exynos5250-snow.dtb \ |
48 | exynos5440-ssdk5440.dtb | 51 | exynos5440-ssdk5440.dtb |
diff --git a/arch/arm/boot/dts/cros5250-common.dtsi b/arch/arm/boot/dts/cros5250-common.dtsi index 46c098017036..62eceb4f0d3f 100644 --- a/arch/arm/boot/dts/cros5250-common.dtsi +++ b/arch/arm/boot/dts/cros5250-common.dtsi | |||
@@ -24,6 +24,144 @@ | |||
24 | samsung,i2c-max-bus-freq = <378000>; | 24 | samsung,i2c-max-bus-freq = <378000>; |
25 | gpios = <&gpb3 0 2 3 0>, | 25 | gpios = <&gpb3 0 2 3 0>, |
26 | <&gpb3 1 2 3 0>; | 26 | <&gpb3 1 2 3 0>; |
27 | |||
28 | max77686@09 { | ||
29 | compatible = "maxim,max77686"; | ||
30 | reg = <0x09>; | ||
31 | |||
32 | voltage-regulators { | ||
33 | ldo1_reg: LDO1 { | ||
34 | regulator-name = "P1.0V_LDO_OUT1"; | ||
35 | regulator-min-microvolt = <1000000>; | ||
36 | regulator-max-microvolt = <1000000>; | ||
37 | regulator-always-on; | ||
38 | }; | ||
39 | |||
40 | ldo2_reg: LDO2 { | ||
41 | regulator-name = "P1.8V_LDO_OUT2"; | ||
42 | regulator-min-microvolt = <1800000>; | ||
43 | regulator-max-microvolt = <1800000>; | ||
44 | regulator-always-on; | ||
45 | }; | ||
46 | |||
47 | ldo3_reg: LDO3 { | ||
48 | regulator-name = "P1.8V_LDO_OUT3"; | ||
49 | regulator-min-microvolt = <1800000>; | ||
50 | regulator-max-microvolt = <1800000>; | ||
51 | regulator-always-on; | ||
52 | }; | ||
53 | |||
54 | ldo7_reg: LDO7 { | ||
55 | regulator-name = "P1.1V_LDO_OUT7"; | ||
56 | regulator-min-microvolt = <1100000>; | ||
57 | regulator-max-microvolt = <1100000>; | ||
58 | regulator-always-on; | ||
59 | }; | ||
60 | |||
61 | ldo8_reg: LDO8 { | ||
62 | regulator-name = "P1.0V_LDO_OUT8"; | ||
63 | regulator-min-microvolt = <1000000>; | ||
64 | regulator-max-microvolt = <1000000>; | ||
65 | regulator-always-on; | ||
66 | }; | ||
67 | |||
68 | ldo10_reg: LDO10 { | ||
69 | regulator-name = "P1.8V_LDO_OUT10"; | ||
70 | regulator-min-microvolt = <1800000>; | ||
71 | regulator-max-microvolt = <1800000>; | ||
72 | regulator-always-on; | ||
73 | }; | ||
74 | |||
75 | ldo12_reg: LDO12 { | ||
76 | regulator-name = "P3.0V_LDO_OUT12"; | ||
77 | regulator-min-microvolt = <3000000>; | ||
78 | regulator-max-microvolt = <3000000>; | ||
79 | regulator-always-on; | ||
80 | }; | ||
81 | |||
82 | ldo14_reg: LDO14 { | ||
83 | regulator-name = "P1.8V_LDO_OUT14"; | ||
84 | regulator-min-microvolt = <1800000>; | ||
85 | regulator-max-microvolt = <1800000>; | ||
86 | regulator-always-on; | ||
87 | }; | ||
88 | |||
89 | ldo15_reg: LDO15 { | ||
90 | regulator-name = "P1.0V_LDO_OUT15"; | ||
91 | regulator-min-microvolt = <1000000>; | ||
92 | regulator-max-microvolt = <1000000>; | ||
93 | regulator-always-on; | ||
94 | }; | ||
95 | |||
96 | ldo16_reg: LDO16 { | ||
97 | regulator-name = "P1.8V_LDO_OUT16"; | ||
98 | regulator-min-microvolt = <1800000>; | ||
99 | regulator-max-microvolt = <1800000>; | ||
100 | regulator-always-on; | ||
101 | }; | ||
102 | |||
103 | buck1_reg: BUCK1 { | ||
104 | regulator-name = "vdd_mif"; | ||
105 | regulator-min-microvolt = <950000>; | ||
106 | regulator-max-microvolt = <1300000>; | ||
107 | regulator-always-on; | ||
108 | regulator-boot-on; | ||
109 | }; | ||
110 | |||
111 | buck2_reg: BUCK2 { | ||
112 | regulator-name = "vdd_arm"; | ||
113 | regulator-min-microvolt = <850000>; | ||
114 | regulator-max-microvolt = <1350000>; | ||
115 | regulator-always-on; | ||
116 | regulator-boot-on; | ||
117 | }; | ||
118 | |||
119 | buck3_reg: BUCK3 { | ||
120 | regulator-name = "vdd_int"; | ||
121 | regulator-min-microvolt = <900000>; | ||
122 | regulator-max-microvolt = <1200000>; | ||
123 | regulator-always-on; | ||
124 | regulator-boot-on; | ||
125 | }; | ||
126 | |||
127 | buck4_reg: BUCK4 { | ||
128 | regulator-name = "vdd_g3d"; | ||
129 | regulator-min-microvolt = <850000>; | ||
130 | regulator-max-microvolt = <1300000>; | ||
131 | regulator-always-on; | ||
132 | regulator-boot-on; | ||
133 | }; | ||
134 | |||
135 | buck5_reg: BUCK5 { | ||
136 | regulator-name = "P1.8V_BUCK_OUT5"; | ||
137 | regulator-min-microvolt = <1800000>; | ||
138 | regulator-max-microvolt = <1800000>; | ||
139 | regulator-always-on; | ||
140 | regulator-boot-on; | ||
141 | }; | ||
142 | |||
143 | buck6_reg: BUCK6 { | ||
144 | regulator-name = "P1.35V_BUCK_OUT6"; | ||
145 | regulator-min-microvolt = <1350000>; | ||
146 | regulator-max-microvolt = <1350000>; | ||
147 | regulator-always-on; | ||
148 | }; | ||
149 | |||
150 | buck7_reg: BUCK7 { | ||
151 | regulator-name = "P2.0V_BUCK_OUT7"; | ||
152 | regulator-min-microvolt = <2000000>; | ||
153 | regulator-max-microvolt = <2000000>; | ||
154 | regulator-always-on; | ||
155 | }; | ||
156 | |||
157 | buck8_reg: BUCK8 { | ||
158 | regulator-name = "P2.85V_BUCK_OUT8"; | ||
159 | regulator-min-microvolt = <2850000>; | ||
160 | regulator-max-microvolt = <2850000>; | ||
161 | regulator-always-on; | ||
162 | }; | ||
163 | }; | ||
164 | }; | ||
27 | }; | 165 | }; |
28 | 166 | ||
29 | i2c@12C70000 { | 167 | i2c@12C70000 { |
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index e1347fceb5bc..6581bb2252e7 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi | |||
@@ -131,6 +131,14 @@ | |||
131 | status = "disabled"; | 131 | status = "disabled"; |
132 | }; | 132 | }; |
133 | 133 | ||
134 | mfc: codec@13400000 { | ||
135 | compatible = "samsung,mfc-v5"; | ||
136 | reg = <0x13400000 0x10000>; | ||
137 | interrupts = <0 94 0>; | ||
138 | samsung,power-domain = <&pd_mfc>; | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
134 | serial@13800000 { | 142 | serial@13800000 { |
135 | compatible = "samsung,exynos4210-uart"; | 143 | compatible = "samsung,exynos4210-uart"; |
136 | reg = <0x13800000 0x100>; | 144 | reg = <0x13800000 0x100>; |
diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts index f2710018e84e..052606b52ec7 100644 --- a/arch/arm/boot/dts/exynos4210-origen.dts +++ b/arch/arm/boot/dts/exynos4210-origen.dts | |||
@@ -57,6 +57,12 @@ | |||
57 | status = "okay"; | 57 | status = "okay"; |
58 | }; | 58 | }; |
59 | 59 | ||
60 | codec@13400000 { | ||
61 | samsung,mfc-r = <0x43000000 0x800000>; | ||
62 | samsung,mfc-l = <0x51000000 0x800000>; | ||
63 | status = "okay"; | ||
64 | }; | ||
65 | |||
60 | serial@13800000 { | 66 | serial@13800000 { |
61 | status = "okay"; | 67 | status = "okay"; |
62 | }; | 68 | }; |
diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts b/arch/arm/boot/dts/exynos4210-smdkv310.dts index f63490707f3a..2b1e03a4c0d0 100644 --- a/arch/arm/boot/dts/exynos4210-smdkv310.dts +++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts | |||
@@ -43,6 +43,12 @@ | |||
43 | status = "okay"; | 43 | status = "okay"; |
44 | }; | 44 | }; |
45 | 45 | ||
46 | codec@13400000 { | ||
47 | samsung,mfc-r = <0x43000000 0x800000>; | ||
48 | samsung,mfc-l = <0x51000000 0x800000>; | ||
49 | status = "okay"; | ||
50 | }; | ||
51 | |||
46 | serial@13800000 { | 52 | serial@13800000 { |
47 | status = "okay"; | 53 | status = "okay"; |
48 | }; | 54 | }; |
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts new file mode 100644 index 000000000000..0084d9548bbf --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts | |||
@@ -0,0 +1,97 @@ | |||
1 | /* | ||
2 | * Hardkernel's Exynos4412 based ODROID-X board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com> | ||
5 | * | ||
6 | * Device tree source file for Hardkernel's ODROID-X board which is based on | ||
7 | * 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.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Hardkernel ODROID-X board based on Exynos4412"; | ||
19 | compatible = "hardkernel,odroid-x", "samsung,exynos4412"; | ||
20 | |||
21 | memory { | ||
22 | reg = <0x40000000 0x40000000>; | ||
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 | led2 { | ||
34 | label = "led2:mmc0"; | ||
35 | gpios = <&gpc1 2 1>; | ||
36 | default-state = "on"; | ||
37 | linux,default-trigger = "mmc0"; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | mshc@12550000 { | ||
42 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | ||
43 | pinctrl-names = "default"; | ||
44 | status = "okay"; | ||
45 | |||
46 | num-slots = <1>; | ||
47 | supports-highspeed; | ||
48 | broken-cd; | ||
49 | fifo-depth = <0x80>; | ||
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 | |||
55 | slot@0 { | ||
56 | reg = <0>; | ||
57 | bus-width = <8>; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | regulator_p3v3 { | ||
62 | compatible = "regulator-fixed"; | ||
63 | regulator-name = "p3v3_en"; | ||
64 | regulator-min-microvolt = <3300000>; | ||
65 | regulator-max-microvolt = <3300000>; | ||
66 | gpio = <&gpa1 1 1>; | ||
67 | enable-active-high; | ||
68 | regulator-boot-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 | status = "okay"; | ||
80 | }; | ||
81 | |||
82 | serial@13800000 { | ||
83 | status = "okay"; | ||
84 | }; | ||
85 | |||
86 | serial@13810000 { | ||
87 | status = "okay"; | ||
88 | }; | ||
89 | |||
90 | serial@13820000 { | ||
91 | status = "okay"; | ||
92 | }; | ||
93 | |||
94 | serial@13830000 { | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts new file mode 100644 index 000000000000..31e14c4b9ac3 --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-origen.dts | |||
@@ -0,0 +1,418 @@ | |||
1 | /* | ||
2 | * Insignal's Exynos4412 based Origen board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Device tree source file for Insignal's Origen board which is based on | ||
8 | * Samsung's Exynos4412 SoC. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | /include/ "exynos4412.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "Insignal Origen evaluation board based on Exynos4412"; | ||
20 | compatible = "insignal,origen4412", "samsung,exynos4412"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x40000000 0x40000000>; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | bootargs ="console=ttySAC2,115200"; | ||
28 | }; | ||
29 | |||
30 | mmc_reg: voltage-regulator { | ||
31 | compatible = "regulator-fixed"; | ||
32 | regulator-name = "VMEM_VDD_2.8V"; | ||
33 | regulator-min-microvolt = <2800000>; | ||
34 | regulator-max-microvolt = <2800000>; | ||
35 | gpio = <&gpx1 1 0>; | ||
36 | enable-active-high; | ||
37 | }; | ||
38 | |||
39 | sdhci@12530000 { | ||
40 | bus-width = <4>; | ||
41 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; | ||
42 | pinctrl-names = "default"; | ||
43 | vmmc-supply = <&mmc_reg>; | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | |||
47 | mshc@12550000 { | ||
48 | pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; | ||
49 | pinctrl-names = "default"; | ||
50 | status = "okay"; | ||
51 | |||
52 | num-slots = <1>; | ||
53 | supports-highspeed; | ||
54 | broken-cd; | ||
55 | fifo-depth = <0x80>; | ||
56 | card-detect-delay = <200>; | ||
57 | samsung,dw-mshc-ciu-div = <3>; | ||
58 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
59 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
60 | |||
61 | slot@0 { | ||
62 | reg = <0>; | ||
63 | bus-width = <8>; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | codec@13400000 { | ||
68 | samsung,mfc-r = <0x43000000 0x800000>; | ||
69 | samsung,mfc-l = <0x51000000 0x800000>; | ||
70 | status = "okay"; | ||
71 | }; | ||
72 | |||
73 | serial@13800000 { | ||
74 | status = "okay"; | ||
75 | }; | ||
76 | |||
77 | serial@13810000 { | ||
78 | status = "okay"; | ||
79 | }; | ||
80 | |||
81 | serial@13820000 { | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | |||
85 | serial@13830000 { | ||
86 | status = "okay"; | ||
87 | }; | ||
88 | |||
89 | i2c@13860000 { | ||
90 | #address-cells = <1>; | ||
91 | #size-cells = <0>; | ||
92 | samsung,i2c-sda-delay = <100>; | ||
93 | samsung,i2c-max-bus-freq = <20000>; | ||
94 | pinctrl-0 = <&i2c0_bus>; | ||
95 | pinctrl-names = "default"; | ||
96 | status = "okay"; | ||
97 | |||
98 | s5m8767_pmic@66 { | ||
99 | compatible = "samsung,s5m8767-pmic"; | ||
100 | reg = <0x66>; | ||
101 | |||
102 | s5m8767,pmic-buck-default-dvs-idx = <3>; | ||
103 | |||
104 | s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 0>, | ||
105 | <&gpx2 4 0>, | ||
106 | <&gpx2 5 0>; | ||
107 | |||
108 | s5m8767,pmic-buck-ds-gpios = <&gpm3 5 0>, | ||
109 | <&gpm3 6 0>, | ||
110 | <&gpm3 7 0>; | ||
111 | |||
112 | s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>, | ||
113 | <1200000>, <1200000>, | ||
114 | <1200000>, <1200000>, | ||
115 | <1200000>, <1200000>; | ||
116 | |||
117 | s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, | ||
118 | <1100000>, <1100000>, | ||
119 | <1100000>, <1100000>, | ||
120 | <1100000>, <1100000>; | ||
121 | |||
122 | s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, | ||
123 | <1200000>, <1200000>, | ||
124 | <1200000>, <1200000>, | ||
125 | <1200000>, <1200000>; | ||
126 | |||
127 | regulators { | ||
128 | ldo1_reg: LDO1 { | ||
129 | regulator-name = "VDD_ALIVE"; | ||
130 | regulator-min-microvolt = <1100000>; | ||
131 | regulator-max-microvolt = <1100000>; | ||
132 | regulator-always-on; | ||
133 | regulator-boot-on; | ||
134 | op_mode = <1>; /* Normal Mode */ | ||
135 | }; | ||
136 | |||
137 | ldo2_reg: LDO2 { | ||
138 | regulator-name = "VDDQ_M12"; | ||
139 | regulator-min-microvolt = <1200000>; | ||
140 | regulator-max-microvolt = <1200000>; | ||
141 | regulator-always-on; | ||
142 | op_mode = <1>; /* Normal Mode */ | ||
143 | }; | ||
144 | |||
145 | ldo3_reg: LDO3 { | ||
146 | regulator-name = "VDDIOAP_18"; | ||
147 | regulator-min-microvolt = <1800000>; | ||
148 | regulator-max-microvolt = <1800000>; | ||
149 | regulator-always-on; | ||
150 | op_mode = <1>; /* Normal Mode */ | ||
151 | }; | ||
152 | |||
153 | ldo4_reg: LDO4 { | ||
154 | regulator-name = "VDDQ_PRE"; | ||
155 | regulator-min-microvolt = <1800000>; | ||
156 | regulator-max-microvolt = <1800000>; | ||
157 | regulator-always-on; | ||
158 | op_mode = <1>; /* Normal Mode */ | ||
159 | }; | ||
160 | |||
161 | ldo5_reg: LDO5 { | ||
162 | regulator-name = "VDD18_2M"; | ||
163 | regulator-min-microvolt = <1800000>; | ||
164 | regulator-max-microvolt = <1800000>; | ||
165 | regulator-always-on; | ||
166 | op_mode = <1>; /* Normal Mode */ | ||
167 | }; | ||
168 | |||
169 | ldo6_reg: LDO6 { | ||
170 | regulator-name = "VDD10_MPLL"; | ||
171 | regulator-min-microvolt = <1000000>; | ||
172 | regulator-max-microvolt = <1000000>; | ||
173 | regulator-always-on; | ||
174 | op_mode = <1>; /* Normal Mode */ | ||
175 | }; | ||
176 | |||
177 | ldo7_reg: LDO7 { | ||
178 | regulator-name = "VDD10_XPLL"; | ||
179 | regulator-min-microvolt = <1000000>; | ||
180 | regulator-max-microvolt = <1000000>; | ||
181 | regulator-always-on; | ||
182 | op_mode = <1>; /* Normal Mode */ | ||
183 | }; | ||
184 | |||
185 | ldo8_reg: LDO8 { | ||
186 | regulator-name = "VDD10_MIPI"; | ||
187 | regulator-min-microvolt = <1000000>; | ||
188 | regulator-max-microvolt = <1000000>; | ||
189 | regulator-always-on; | ||
190 | op_mode = <1>; /* Normal Mode */ | ||
191 | }; | ||
192 | |||
193 | ldo9_reg: LDO9 { | ||
194 | regulator-name = "VDD33_LCD"; | ||
195 | regulator-min-microvolt = <3300000>; | ||
196 | regulator-max-microvolt = <3300000>; | ||
197 | regulator-always-on; | ||
198 | op_mode = <1>; /* Normal Mode */ | ||
199 | }; | ||
200 | |||
201 | ldo10_reg: LDO10 { | ||
202 | regulator-name = "VDD18_MIPI"; | ||
203 | regulator-min-microvolt = <1800000>; | ||
204 | regulator-max-microvolt = <1800000>; | ||
205 | regulator-always-on; | ||
206 | op_mode = <1>; /* Normal Mode */ | ||
207 | }; | ||
208 | |||
209 | ldo11_reg: LDO11 { | ||
210 | regulator-name = "VDD18_ABB1"; | ||
211 | regulator-min-microvolt = <1800000>; | ||
212 | regulator-max-microvolt = <1800000>; | ||
213 | regulator-always-on; | ||
214 | op_mode = <1>; /* Normal Mode */ | ||
215 | }; | ||
216 | |||
217 | ldo12_reg: LDO12 { | ||
218 | regulator-name = "VDD33_UOTG"; | ||
219 | regulator-min-microvolt = <3300000>; | ||
220 | regulator-max-microvolt = <3300000>; | ||
221 | regulator-always-on; | ||
222 | op_mode = <1>; /* Normal Mode */ | ||
223 | }; | ||
224 | |||
225 | ldo13_reg: LDO13 { | ||
226 | regulator-name = "VDDIOPERI_18"; | ||
227 | regulator-min-microvolt = <1800000>; | ||
228 | regulator-max-microvolt = <1800000>; | ||
229 | regulator-always-on; | ||
230 | op_mode = <1>; /* Normal Mode */ | ||
231 | }; | ||
232 | |||
233 | ldo14_reg: LDO14 { | ||
234 | regulator-name = "VDD18_ABB02"; | ||
235 | regulator-min-microvolt = <1800000>; | ||
236 | regulator-max-microvolt = <1800000>; | ||
237 | regulator-always-on; | ||
238 | op_mode = <1>; /* Normal Mode */ | ||
239 | }; | ||
240 | |||
241 | ldo15_reg: LDO15 { | ||
242 | regulator-name = "VDD10_USH"; | ||
243 | regulator-min-microvolt = <1000000>; | ||
244 | regulator-max-microvolt = <1000000>; | ||
245 | regulator-always-on; | ||
246 | op_mode = <1>; /* Normal Mode */ | ||
247 | }; | ||
248 | |||
249 | ldo16_reg: LDO16 { | ||
250 | regulator-name = "VDD18_HSIC"; | ||
251 | regulator-min-microvolt = <1800000>; | ||
252 | regulator-max-microvolt = <1800000>; | ||
253 | regulator-always-on; | ||
254 | op_mode = <1>; /* Normal Mode */ | ||
255 | }; | ||
256 | |||
257 | ldo17_reg: LDO17 { | ||
258 | regulator-name = "VDDIOAP_MMC012_28"; | ||
259 | regulator-min-microvolt = <2800000>; | ||
260 | regulator-max-microvolt = <2800000>; | ||
261 | regulator-always-on; | ||
262 | op_mode = <1>; /* Normal Mode */ | ||
263 | }; | ||
264 | |||
265 | ldo18_reg: LDO18 { | ||
266 | regulator-name = "VDDIOPERI_28"; | ||
267 | regulator-min-microvolt = <2800000>; | ||
268 | regulator-max-microvolt = <2800000>; | ||
269 | regulator-always-on; | ||
270 | op_mode = <1>; /* Normal Mode */ | ||
271 | }; | ||
272 | |||
273 | ldo19_reg: LDO19 { | ||
274 | regulator-name = "DVDD25"; | ||
275 | regulator-min-microvolt = <2500000>; | ||
276 | regulator-max-microvolt = <2500000>; | ||
277 | regulator-always-on; | ||
278 | op_mode = <1>; /* Normal Mode */ | ||
279 | }; | ||
280 | |||
281 | ldo20_reg: LDO20 { | ||
282 | regulator-name = "VDD28_CAM"; | ||
283 | regulator-min-microvolt = <2800000>; | ||
284 | regulator-max-microvolt = <2800000>; | ||
285 | regulator-always-on; | ||
286 | op_mode = <1>; /* Normal Mode */ | ||
287 | }; | ||
288 | |||
289 | ldo21_reg: LDO21 { | ||
290 | regulator-name = "VDD28_AF"; | ||
291 | regulator-min-microvolt = <2800000>; | ||
292 | regulator-max-microvolt = <2800000>; | ||
293 | regulator-always-on; | ||
294 | op_mode = <1>; /* Normal Mode */ | ||
295 | }; | ||
296 | |||
297 | ldo22_reg: LDO22 { | ||
298 | regulator-name = "VDDA28_2M"; | ||
299 | regulator-min-microvolt = <2800000>; | ||
300 | regulator-max-microvolt = <2800000>; | ||
301 | regulator-always-on; | ||
302 | op_mode = <1>; /* Normal Mode */ | ||
303 | }; | ||
304 | |||
305 | ldo23_reg: LDO23 { | ||
306 | regulator-name = "VDD28_TF"; | ||
307 | regulator-min-microvolt = <2800000>; | ||
308 | regulator-max-microvolt = <2800000>; | ||
309 | regulator-always-on; | ||
310 | op_mode = <1>; /* Normal Mode */ | ||
311 | }; | ||
312 | |||
313 | ldo24_reg: LDO24 { | ||
314 | regulator-name = "VDD33_A31"; | ||
315 | regulator-min-microvolt = <3300000>; | ||
316 | regulator-max-microvolt = <3300000>; | ||
317 | regulator-always-on; | ||
318 | op_mode = <1>; /* Normal Mode */ | ||
319 | }; | ||
320 | |||
321 | ldo25_reg: LDO25 { | ||
322 | regulator-name = "VDD18_CAM"; | ||
323 | regulator-min-microvolt = <1800000>; | ||
324 | regulator-max-microvolt = <1800000>; | ||
325 | regulator-always-on; | ||
326 | op_mode = <1>; /* Normal Mode */ | ||
327 | }; | ||
328 | |||
329 | ldo26_reg: LDO26 { | ||
330 | regulator-name = "VDD18_A31"; | ||
331 | regulator-min-microvolt = <1800000>; | ||
332 | regulator-max-microvolt = <1800000>; | ||
333 | regulator-always-on; | ||
334 | op_mode = <1>; /* Normal Mode */ | ||
335 | }; | ||
336 | |||
337 | ldo27_reg: LDO27 { | ||
338 | regulator-name = "GPS_1V8"; | ||
339 | regulator-min-microvolt = <1800000>; | ||
340 | regulator-max-microvolt = <1800000>; | ||
341 | regulator-always-on; | ||
342 | op_mode = <1>; /* Normal Mode */ | ||
343 | }; | ||
344 | |||
345 | ldo28_reg: LDO28 { | ||
346 | regulator-name = "DVDD12"; | ||
347 | regulator-min-microvolt = <1200000>; | ||
348 | regulator-max-microvolt = <1200000>; | ||
349 | regulator-always-on; | ||
350 | op_mode = <1>; /* Normal Mode */ | ||
351 | }; | ||
352 | |||
353 | buck1_reg: BUCK1 { | ||
354 | regulator-name = "vdd_mif"; | ||
355 | regulator-min-microvolt = <950000>; | ||
356 | regulator-max-microvolt = <1100000>; | ||
357 | regulator-always-on; | ||
358 | regulator-boot-on; | ||
359 | op_mode = <1>; /* Normal Mode */ | ||
360 | }; | ||
361 | |||
362 | buck2_reg: BUCK2 { | ||
363 | regulator-name = "vdd_arm"; | ||
364 | regulator-min-microvolt = <925000>; | ||
365 | regulator-max-microvolt = <1300000>; | ||
366 | regulator-always-on; | ||
367 | regulator-boot-on; | ||
368 | op_mode = <1>; /* Normal Mode */ | ||
369 | }; | ||
370 | |||
371 | buck3_reg: BUCK3 { | ||
372 | regulator-name = "vdd_int"; | ||
373 | regulator-min-microvolt = <900000>; | ||
374 | regulator-max-microvolt = <1200000>; | ||
375 | regulator-always-on; | ||
376 | regulator-boot-on; | ||
377 | op_mode = <1>; /* Normal Mode */ | ||
378 | }; | ||
379 | |||
380 | buck4_reg: BUCK4 { | ||
381 | regulator-name = "vdd_g3d"; | ||
382 | regulator-min-microvolt = <750000>; | ||
383 | regulator-max-microvolt = <1500000>; | ||
384 | regulator-always-on; | ||
385 | regulator-boot-on; | ||
386 | op_mode = <1>; /* Normal Mode */ | ||
387 | }; | ||
388 | |||
389 | buck5_reg: BUCK5 { | ||
390 | regulator-name = "vdd_m12"; | ||
391 | regulator-min-microvolt = <750000>; | ||
392 | regulator-max-microvolt = <1500000>; | ||
393 | regulator-always-on; | ||
394 | regulator-boot-on; | ||
395 | op_mode = <1>; /* Normal Mode */ | ||
396 | }; | ||
397 | |||
398 | buck6_reg: BUCK6 { | ||
399 | regulator-name = "vdd12_5m"; | ||
400 | regulator-min-microvolt = <750000>; | ||
401 | regulator-max-microvolt = <1500000>; | ||
402 | regulator-always-on; | ||
403 | regulator-boot-on; | ||
404 | op_mode = <1>; /* Normal Mode */ | ||
405 | }; | ||
406 | |||
407 | buck9_reg: BUCK9 { | ||
408 | regulator-name = "vddf28_emmc"; | ||
409 | regulator-min-microvolt = <750000>; | ||
410 | regulator-max-microvolt = <3000000>; | ||
411 | regulator-always-on; | ||
412 | regulator-boot-on; | ||
413 | op_mode = <1>; /* Normal Mode */ | ||
414 | }; | ||
415 | }; | ||
416 | }; | ||
417 | }; | ||
418 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412-smdk4412.dts b/arch/arm/boot/dts/exynos4412-smdk4412.dts index f05bf575cc45..6ae42765b613 100644 --- a/arch/arm/boot/dts/exynos4412-smdk4412.dts +++ b/arch/arm/boot/dts/exynos4412-smdk4412.dts | |||
@@ -27,6 +27,19 @@ | |||
27 | bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc"; | 27 | bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc"; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | sdhci@12530000 { | ||
31 | bus-width = <4>; | ||
32 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; | ||
33 | pinctrl-names = "default"; | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | codec@13400000 { | ||
38 | samsung,mfc-r = <0x43000000 0x800000>; | ||
39 | samsung,mfc-l = <0x51000000 0x800000>; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | |||
30 | serial@13800000 { | 43 | serial@13800000 { |
31 | status = "okay"; | 44 | status = "okay"; |
32 | }; | 45 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts new file mode 100644 index 000000000000..63572f9db51d --- /dev/null +++ b/arch/arm/boot/dts/exynos5250-arndale.dts | |||
@@ -0,0 +1,122 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos5250 based Arndale board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "exynos5250.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Insignal Arndale evaluation board based on EXYNOS5250"; | ||
17 | compatible = "insignal,arndale", "samsung,exynos5250"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x40000000 0x80000000>; | ||
21 | }; | ||
22 | |||
23 | chosen { | ||
24 | bootargs = "console=ttySAC2,115200"; | ||
25 | }; | ||
26 | |||
27 | i2c@12C60000 { | ||
28 | status = "disabled"; | ||
29 | }; | ||
30 | |||
31 | i2c@12C70000 { | ||
32 | status = "disabled"; | ||
33 | }; | ||
34 | |||
35 | i2c@12C80000 { | ||
36 | status = "disabled"; | ||
37 | }; | ||
38 | |||
39 | i2c@12C90000 { | ||
40 | status = "disabled"; | ||
41 | }; | ||
42 | |||
43 | i2c@12CA0000 { | ||
44 | status = "disabled"; | ||
45 | }; | ||
46 | |||
47 | i2c@12CB0000 { | ||
48 | status = "disabled"; | ||
49 | }; | ||
50 | |||
51 | i2c@12CC0000 { | ||
52 | status = "disabled"; | ||
53 | }; | ||
54 | |||
55 | i2c@12CD0000 { | ||
56 | status = "disabled"; | ||
57 | }; | ||
58 | |||
59 | i2c@121D0000 { | ||
60 | status = "disabled"; | ||
61 | }; | ||
62 | |||
63 | dwmmc_0: dwmmc0@12200000 { | ||
64 | num-slots = <1>; | ||
65 | supports-highspeed; | ||
66 | broken-cd; | ||
67 | fifo-depth = <0x80>; | ||
68 | card-detect-delay = <200>; | ||
69 | samsung,dw-mshc-ciu-div = <3>; | ||
70 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
71 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
72 | |||
73 | slot@0 { | ||
74 | reg = <0>; | ||
75 | bus-width = <8>; | ||
76 | gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>, | ||
77 | <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>, | ||
78 | <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>, | ||
79 | <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>, | ||
80 | <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | dwmmc_1: dwmmc1@12210000 { | ||
85 | status = "disabled"; | ||
86 | }; | ||
87 | |||
88 | dwmmc_2: dwmmc2@12220000 { | ||
89 | num-slots = <1>; | ||
90 | supports-highspeed; | ||
91 | fifo-depth = <0x80>; | ||
92 | card-detect-delay = <200>; | ||
93 | samsung,dw-mshc-ciu-div = <3>; | ||
94 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
95 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
96 | |||
97 | slot@0 { | ||
98 | reg = <0>; | ||
99 | bus-width = <4>; | ||
100 | samsung,cd-pinmux-gpio = <&gpc3 2 2 3 3>; | ||
101 | gpios = <&gpc3 0 2 0 3>, <&gpc3 1 2 0 3>, | ||
102 | <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>, | ||
103 | <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | dwmmc_3: dwmmc3@12230000 { | ||
108 | status = "disabled"; | ||
109 | }; | ||
110 | |||
111 | spi_0: spi@12d20000 { | ||
112 | status = "disabled"; | ||
113 | }; | ||
114 | |||
115 | spi_1: spi@12d30000 { | ||
116 | status = "disabled"; | ||
117 | }; | ||
118 | |||
119 | spi_2: spi@12d40000 { | ||
120 | status = "disabled"; | ||
121 | }; | ||
122 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts index 1b8d4106d338..a8d7233866fa 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts | |||
@@ -231,4 +231,17 @@ | |||
231 | samsung,i2s-controller = <&i2s0>; | 231 | samsung,i2s-controller = <&i2s0>; |
232 | samsung,audio-codec = <&wm8994>; | 232 | samsung,audio-codec = <&wm8994>; |
233 | }; | 233 | }; |
234 | |||
235 | usb@12110000 { | ||
236 | samsung,vbus-gpio = <&gpx2 6 1 3 3>; | ||
237 | }; | ||
238 | |||
239 | dp-controller { | ||
240 | samsung,color-space = <0>; | ||
241 | samsung,dynamic-range = <0>; | ||
242 | samsung,ycbcr-coeff = <0>; | ||
243 | samsung,color-depth = <1>; | ||
244 | samsung,link-rate = <0x0a>; | ||
245 | samsung,lane-count = <4>; | ||
246 | }; | ||
234 | }; | 247 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index 17dd951c1cd2..47b6b847b4a5 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts | |||
@@ -40,4 +40,8 @@ | |||
40 | <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; | 40 | <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; |
41 | }; | 41 | }; |
42 | }; | 42 | }; |
43 | |||
44 | usb@12110000 { | ||
45 | samsung,vbus-gpio = <&gpx1 1 1 3 3>; | ||
46 | }; | ||
43 | }; | 47 | }; |
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index b1ac73e21c80..37a90dd6a4d2 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi | |||
@@ -46,6 +46,16 @@ | |||
46 | i2c8 = &i2c_8; | 46 | i2c8 = &i2c_8; |
47 | }; | 47 | }; |
48 | 48 | ||
49 | pd_gsc: gsc-power-domain@0x10044000 { | ||
50 | compatible = "samsung,exynos4210-pd"; | ||
51 | reg = <0x10044000 0x20>; | ||
52 | }; | ||
53 | |||
54 | pd_mfc: mfc-power-domain@0x10044040 { | ||
55 | compatible = "samsung,exynos4210-pd"; | ||
56 | reg = <0x10044040 0x20>; | ||
57 | }; | ||
58 | |||
49 | gic:interrupt-controller@10481000 { | 59 | gic:interrupt-controller@10481000 { |
50 | compatible = "arm,cortex-a9-gic"; | 60 | compatible = "arm,cortex-a9-gic"; |
51 | #interrupt-cells = <3>; | 61 | #interrupt-cells = <3>; |
@@ -79,6 +89,7 @@ | |||
79 | compatible = "samsung,mfc-v6"; | 89 | compatible = "samsung,mfc-v6"; |
80 | reg = <0x11000000 0x10000>; | 90 | reg = <0x11000000 0x10000>; |
81 | interrupts = <0 96 0>; | 91 | interrupts = <0 96 0>; |
92 | samsung,power-domain = <&pd_mfc>; | ||
82 | }; | 93 | }; |
83 | 94 | ||
84 | rtc { | 95 | rtc { |
@@ -301,6 +312,18 @@ | |||
301 | dma-names = "tx", "rx"; | 312 | dma-names = "tx", "rx"; |
302 | }; | 313 | }; |
303 | 314 | ||
315 | usb@12110000 { | ||
316 | compatible = "samsung,exynos4210-ehci"; | ||
317 | reg = <0x12110000 0x100>; | ||
318 | interrupts = <0 71 0>; | ||
319 | }; | ||
320 | |||
321 | usb@12120000 { | ||
322 | compatible = "samsung,exynos4210-ohci"; | ||
323 | reg = <0x12120000 0x100>; | ||
324 | interrupts = <0 71 0>; | ||
325 | }; | ||
326 | |||
304 | amba { | 327 | amba { |
305 | #address-cells = <1>; | 328 | #address-cells = <1>; |
306 | #size-cells = <1>; | 329 | #size-cells = <1>; |
@@ -592,28 +615,33 @@ | |||
592 | }; | 615 | }; |
593 | }; | 616 | }; |
594 | 617 | ||
618 | |||
595 | gsc_0: gsc@0x13e00000 { | 619 | gsc_0: gsc@0x13e00000 { |
596 | compatible = "samsung,exynos5-gsc"; | 620 | compatible = "samsung,exynos5-gsc"; |
597 | reg = <0x13e00000 0x1000>; | 621 | reg = <0x13e00000 0x1000>; |
598 | interrupts = <0 85 0>; | 622 | interrupts = <0 85 0>; |
623 | samsung,power-domain = <&pd_gsc>; | ||
599 | }; | 624 | }; |
600 | 625 | ||
601 | gsc_1: gsc@0x13e10000 { | 626 | gsc_1: gsc@0x13e10000 { |
602 | compatible = "samsung,exynos5-gsc"; | 627 | compatible = "samsung,exynos5-gsc"; |
603 | reg = <0x13e10000 0x1000>; | 628 | reg = <0x13e10000 0x1000>; |
604 | interrupts = <0 86 0>; | 629 | interrupts = <0 86 0>; |
630 | samsung,power-domain = <&pd_gsc>; | ||
605 | }; | 631 | }; |
606 | 632 | ||
607 | gsc_2: gsc@0x13e20000 { | 633 | gsc_2: gsc@0x13e20000 { |
608 | compatible = "samsung,exynos5-gsc"; | 634 | compatible = "samsung,exynos5-gsc"; |
609 | reg = <0x13e20000 0x1000>; | 635 | reg = <0x13e20000 0x1000>; |
610 | interrupts = <0 87 0>; | 636 | interrupts = <0 87 0>; |
637 | samsung,power-domain = <&pd_gsc>; | ||
611 | }; | 638 | }; |
612 | 639 | ||
613 | gsc_3: gsc@0x13e30000 { | 640 | gsc_3: gsc@0x13e30000 { |
614 | compatible = "samsung,exynos5-gsc"; | 641 | compatible = "samsung,exynos5-gsc"; |
615 | reg = <0x13e30000 0x1000>; | 642 | reg = <0x13e30000 0x1000>; |
616 | interrupts = <0 88 0>; | 643 | interrupts = <0 88 0>; |
644 | samsung,power-domain = <&pd_gsc>; | ||
617 | }; | 645 | }; |
618 | 646 | ||
619 | hdmi { | 647 | hdmi { |
@@ -627,4 +655,18 @@ | |||
627 | reg = <0x14450000 0x10000>; | 655 | reg = <0x14450000 0x10000>; |
628 | interrupts = <0 94 0>; | 656 | interrupts = <0 94 0>; |
629 | }; | 657 | }; |
658 | |||
659 | dp-controller { | ||
660 | compatible = "samsung,exynos5-dp"; | ||
661 | reg = <0x145b0000 0x1000>; | ||
662 | interrupts = <10 3>; | ||
663 | interrupt-parent = <&combiner>; | ||
664 | #address-cells = <1>; | ||
665 | #size-cells = <0>; | ||
666 | |||
667 | dptx-phy { | ||
668 | reg = <0x10040720>; | ||
669 | samsung,enable-mask = <1>; | ||
670 | }; | ||
671 | }; | ||
630 | }; | 672 | }; |
diff --git a/arch/arm/boot/dts/exynos5440-ssdk5440.dts b/arch/arm/boot/dts/exynos5440-ssdk5440.dts index 81e2c964a900..ee60c57823ab 100644 --- a/arch/arm/boot/dts/exynos5440-ssdk5440.dts +++ b/arch/arm/boot/dts/exynos5440-ssdk5440.dts | |||
@@ -27,20 +27,4 @@ | |||
27 | spi { | 27 | spi { |
28 | status = "disabled"; | 28 | status = "disabled"; |
29 | }; | 29 | }; |
30 | |||
31 | i2c@F0000 { | ||
32 | status = "disabled"; | ||
33 | }; | ||
34 | |||
35 | i2c@100000 { | ||
36 | status = "disabled"; | ||
37 | }; | ||
38 | |||
39 | watchdog { | ||
40 | status = "disabled"; | ||
41 | }; | ||
42 | |||
43 | rtc { | ||
44 | status = "disabled"; | ||
45 | }; | ||
46 | }; | 30 | }; |
diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi index 5f3562ad6746..5c5a69954d8b 100644 --- a/arch/arm/boot/dts/exynos5440.dtsi +++ b/arch/arm/boot/dts/exynos5440.dtsi | |||
@@ -24,43 +24,35 @@ | |||
24 | }; | 24 | }; |
25 | 25 | ||
26 | cpus { | 26 | cpus { |
27 | #address-cells = <1>; | ||
28 | #size-cells = <0>; | ||
29 | |||
27 | cpu@0 { | 30 | cpu@0 { |
28 | compatible = "arm,cortex-a15"; | 31 | compatible = "arm,cortex-a15"; |
29 | timer { | 32 | reg = <0>; |
30 | compatible = "arm,armv7-timer"; | ||
31 | interrupts = <1 13 0xf08>; | ||
32 | clock-frequency = <1000000>; | ||
33 | }; | ||
34 | }; | 33 | }; |
35 | cpu@1 { | 34 | cpu@1 { |
36 | compatible = "arm,cortex-a15"; | 35 | compatible = "arm,cortex-a15"; |
37 | timer { | 36 | reg = <1>; |
38 | compatible = "arm,armv7-timer"; | ||
39 | interrupts = <1 14 0xf08>; | ||
40 | clock-frequency = <1000000>; | ||
41 | }; | ||
42 | }; | 37 | }; |
43 | cpu@2 { | 38 | cpu@2 { |
44 | compatible = "arm,cortex-a15"; | 39 | compatible = "arm,cortex-a15"; |
45 | timer { | 40 | reg = <2>; |
46 | compatible = "arm,armv7-timer"; | ||
47 | interrupts = <1 14 0xf08>; | ||
48 | clock-frequency = <1000000>; | ||
49 | }; | ||
50 | }; | 41 | }; |
51 | cpu@3 { | 42 | cpu@3 { |
52 | compatible = "arm,cortex-a15"; | 43 | compatible = "arm,cortex-a15"; |
53 | timer { | 44 | reg = <3>; |
54 | compatible = "arm,armv7-timer"; | ||
55 | interrupts = <1 14 0xf08>; | ||
56 | clock-frequency = <1000000>; | ||
57 | }; | ||
58 | }; | 45 | }; |
59 | }; | 46 | }; |
60 | 47 | ||
61 | common { | 48 | timer { |
62 | compatible = "samsung,exynos5440"; | 49 | compatible = "arm,cortex-a15-timer", |
63 | 50 | "arm,armv7-timer"; | |
51 | interrupts = <1 13 0xf08>, | ||
52 | <1 14 0xf08>, | ||
53 | <1 11 0xf08>, | ||
54 | <1 10 0xf08>; | ||
55 | clock-frequency = <50000000>; | ||
64 | }; | 56 | }; |
65 | 57 | ||
66 | serial@B0000 { | 58 | serial@B0000 { |
@@ -110,7 +102,7 @@ | |||
110 | }; | 102 | }; |
111 | 103 | ||
112 | i2c@F0000 { | 104 | i2c@F0000 { |
113 | compatible = "samsung,s3c2440-i2c"; | 105 | compatible = "samsung,exynos5440-i2c"; |
114 | reg = <0xF0000 0x1000>; | 106 | reg = <0xF0000 0x1000>; |
115 | interrupts = <0 5 0>; | 107 | interrupts = <0 5 0>; |
116 | #address-cells = <1>; | 108 | #address-cells = <1>; |
@@ -118,7 +110,7 @@ | |||
118 | }; | 110 | }; |
119 | 111 | ||
120 | i2c@100000 { | 112 | i2c@100000 { |
121 | compatible = "samsung,s3c2440-i2c"; | 113 | compatible = "samsung,exynos5440-i2c"; |
122 | reg = <0x100000 0x1000>; | 114 | reg = <0x100000 0x1000>; |
123 | interrupts = <0 6 0>; | 115 | interrupts = <0 6 0>; |
124 | #address-cells = <1>; | 116 | #address-cells = <1>; |
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 2f45906d6ee5..bc15b9ee8174 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
@@ -61,6 +61,7 @@ config SOC_EXYNOS5250 | |||
61 | bool "SAMSUNG EXYNOS5250" | 61 | bool "SAMSUNG EXYNOS5250" |
62 | default y | 62 | default y |
63 | depends on ARCH_EXYNOS5 | 63 | depends on ARCH_EXYNOS5 |
64 | select PM_GENERIC_DOMAINS if PM | ||
64 | select S5P_PM if PM | 65 | select S5P_PM if PM |
65 | select S5P_SLEEP if PM | 66 | select S5P_SLEEP if PM |
66 | select S5P_DEV_MFC | 67 | select S5P_DEV_MFC |
@@ -410,6 +411,7 @@ config MACH_EXYNOS4_DT | |||
410 | select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD | 411 | select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD |
411 | select PINCTRL | 412 | select PINCTRL |
412 | select PINCTRL_EXYNOS | 413 | select PINCTRL_EXYNOS |
414 | select S5P_DEV_MFC | ||
413 | select USE_OF | 415 | select USE_OF |
414 | help | 416 | help |
415 | Machine support for Samsung Exynos4 machine with device tree enabled. | 417 | Machine support for Samsung Exynos4 machine with device tree enabled. |
diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c index 3358088c822a..fad268f8548c 100644 --- a/arch/arm/mach-exynos/mach-exynos4-dt.c +++ b/arch/arm/mach-exynos/mach-exynos4-dt.c | |||
@@ -12,13 +12,16 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/of_platform.h> | 14 | #include <linux/of_platform.h> |
15 | #include <linux/of_fdt.h> | ||
15 | #include <linux/serial_core.h> | 16 | #include <linux/serial_core.h> |
17 | #include <linux/memblock.h> | ||
16 | 18 | ||
17 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
18 | #include <mach/map.h> | 20 | #include <mach/map.h> |
19 | 21 | ||
20 | #include <plat/cpu.h> | 22 | #include <plat/cpu.h> |
21 | #include <plat/regs-serial.h> | 23 | #include <plat/regs-serial.h> |
24 | #include <plat/mfc.h> | ||
22 | 25 | ||
23 | #include "common.h" | 26 | #include "common.h" |
24 | 27 | ||
@@ -113,6 +116,7 @@ static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = { | |||
113 | "exynos-sysmmu.14", NULL), /* FIMC-LITE0(4x12) */ | 116 | "exynos-sysmmu.14", NULL), /* FIMC-LITE0(4x12) */ |
114 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x123C0000, | 117 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x123C0000, |
115 | "exynos-sysmmu.15", NULL), /* FIMC-LITE1(4x12) */ | 118 | "exynos-sysmmu.15", NULL), /* FIMC-LITE1(4x12) */ |
119 | OF_DEV_AUXDATA("samsung,mfc-v5", 0x13400000, "s5p-mfc", NULL), | ||
116 | {}, | 120 | {}, |
117 | }; | 121 | }; |
118 | 122 | ||
@@ -135,6 +139,18 @@ static char const *exynos4_dt_compat[] __initdata = { | |||
135 | NULL | 139 | NULL |
136 | }; | 140 | }; |
137 | 141 | ||
142 | static void __init exynos4_reserve(void) | ||
143 | { | ||
144 | #ifdef CONFIG_S5P_DEV_MFC | ||
145 | struct s5p_mfc_dt_meminfo mfc_mem; | ||
146 | |||
147 | /* Reserve memory for MFC only if it's available */ | ||
148 | mfc_mem.compatible = "samsung,mfc-v5"; | ||
149 | if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem)) | ||
150 | s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff, | ||
151 | mfc_mem.lsize); | ||
152 | #endif | ||
153 | } | ||
138 | DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") | 154 | DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") |
139 | /* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */ | 155 | /* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */ |
140 | .smp = smp_ops(exynos_smp_ops), | 156 | .smp = smp_ops(exynos_smp_ops), |
@@ -145,4 +161,5 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") | |||
145 | .init_time = exynos4_timer_init, | 161 | .init_time = exynos4_timer_init, |
146 | .dt_compat = exynos4_dt_compat, | 162 | .dt_compat = exynos4_dt_compat, |
147 | .restart = exynos4_restart, | 163 | .restart = exynos4_restart, |
164 | .reserve = exynos4_reserve, | ||
148 | MACHINE_END | 165 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index acaeb14db54b..8ef895745175 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
@@ -139,6 +139,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = { | |||
139 | "exynos-sysmmu.13", NULL), /* FIMC-LITE1 */ | 139 | "exynos-sysmmu.13", NULL), /* FIMC-LITE1 */ |
140 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x10A60000, | 140 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x10A60000, |
141 | "exynos-sysmmu.14", NULL), /* G2D */ | 141 | "exynos-sysmmu.14", NULL), /* G2D */ |
142 | OF_DEV_AUXDATA("samsung,exynos5-dp", 0x145B0000, "exynos-dp", NULL), | ||
142 | {}, | 143 | {}, |
143 | }; | 144 | }; |
144 | 145 | ||