Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

From Kukjin Kim:
Samsung DT updates for v3.14
- Add support Octa Cores for exynos5420
: populate CPU node entries to 8 Cores
: extend mct to support 8 local interrupts
- Update dwmmc nodes for exynos5250 and exynos5420
: change status property of dwmmc nodes for exynos5250
: move dwmmc nodes from exynos5 to exynos5250 because
it's different between exynos5250 and exynos5420
: rename mmc nodes from dwmmc for exynos5 SoCs
: add dwmmc nodes for exynos5420
- Add G-Scaler nodes for exynos5420
- Add HS-i2c nodes in exynos5420
: High Speed I2C 7 channels (4 to 10)
- Update sysreg binding and node name in exynos4
- Update min voltage on exynos5250-arndale
- Move fifo-depth property from boards to exynos5250 SoC
: because the fifo-depth property is SoC specific

* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: Update Samsung sysreg binding document
ARM: dts: Fix sysreg node name in exynos4.dtsi
ARM: dts: Add hs-i2c nodes to exynos5420
ARM: dts: Update min voltage for vdd_arm on Arndale
ARM: dts: populate cpu node entries to 8 cpus for exynos5420
clocksource: mct: extend mct to support 8 local interrupts for Exynos5420
ARM: dts: Add device nodes for GScaler blocks for exynos5420
ARM: dts: Add dwmmc DT nodes for exynos5420 SOC
ARM: dts: rename mmc dts node for exynos5 series
ARM: dts: Move fifo-depth property from exynos5250 board dts
ARM: dts: change status property of dwmmc nodes for exynos5250
ARM: dts: Move dwmmc nodes from exynos5.dtsi to exynos5250.dtsi

Signed-off-by: Olof Johansson <olof@lixom.net>

+280 -66
+6 -1
Documentation/devicetree/bindings/arm/samsung/sysreg.txt
··· 1 1 SAMSUNG S5P/Exynos SoC series System Registers (SYSREG) 2 2 3 3 Properties: 4 - - name : should be 'sysreg'; 5 4 - compatible : should contain "samsung,<chip name>-sysreg", "syscon"; 6 5 For Exynos4 SoC series it should be "samsung,exynos4-sysreg", "syscon"; 7 6 - reg : offset and length of the register set. 7 + 8 + Example: 9 + syscon@10010000 { 10 + compatible = "samsung,exynos4-sysreg", "syscon"; 11 + reg = <0x10010000 0x400>; 12 + };
+2
Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
··· 16 16 specific extensions. 17 17 - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250 18 18 specific extensions. 19 + - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420 20 + specific extensions. 19 21 20 22 * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface 21 23 unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
+4 -7
arch/arm/boot/dts/cros5250-common.dtsi
··· 241 241 }; 242 242 }; 243 243 244 - dwmmc0@12200000 { 244 + mmc@12200000 { 245 245 num-slots = <1>; 246 246 supports-highspeed; 247 247 broken-cd; 248 - fifo-depth = <0x80>; 249 248 card-detect-delay = <200>; 250 249 samsung,dw-mshc-ciu-div = <3>; 251 250 samsung,dw-mshc-sdr-timing = <2 3>; ··· 258 259 }; 259 260 }; 260 261 261 - dwmmc1@12210000 { 262 + mmc@12210000 { 262 263 status = "disabled"; 263 264 }; 264 265 265 - dwmmc2@12220000 { 266 + mmc@12220000 { 266 267 num-slots = <1>; 267 268 supports-highspeed; 268 - fifo-depth = <0x80>; 269 269 card-detect-delay = <200>; 270 270 samsung,dw-mshc-ciu-div = <3>; 271 271 samsung,dw-mshc-sdr-timing = <2 3>; ··· 279 281 }; 280 282 }; 281 283 282 - dwmmc3@12230000 { 284 + mmc@12230000 { 283 285 num-slots = <1>; 284 286 supports-highspeed; 285 287 broken-cd; 286 - fifo-depth = <0x80>; 287 288 card-detect-delay = <200>; 288 289 samsung,dw-mshc-ciu-div = <3>; 289 290 samsung,dw-mshc-sdr-timing = <2 3>;
+1 -1
arch/arm/boot/dts/exynos4.dtsi
··· 99 99 reg = <0x10440000 0x1000>; 100 100 }; 101 101 102 - sys_reg: sysreg { 102 + sys_reg: syscon@10010000 { 103 103 compatible = "samsung,exynos4-sysreg", "syscon"; 104 104 reg = <0x10010000 0x400>; 105 105 };
-21
arch/arm/boot/dts/exynos5.dtsi
··· 50 50 interrupts = <1 9 0xf04>; 51 51 }; 52 52 53 - dwmmc_0: dwmmc0@12200000 { 54 - compatible = "samsung,exynos5250-dw-mshc"; 55 - interrupts = <0 75 0>; 56 - #address-cells = <1>; 57 - #size-cells = <0>; 58 - }; 59 - 60 - dwmmc_1: dwmmc1@12210000 { 61 - compatible = "samsung,exynos5250-dw-mshc"; 62 - interrupts = <0 76 0>; 63 - #address-cells = <1>; 64 - #size-cells = <0>; 65 - }; 66 - 67 - dwmmc_2: dwmmc2@12220000 { 68 - compatible = "samsung,exynos5250-dw-mshc"; 69 - interrupts = <0 77 0>; 70 - #address-cells = <1>; 71 - #size-cells = <0>; 72 - }; 73 - 74 53 serial@12C00000 { 75 54 compatible = "samsung,exynos4210-uart"; 76 55 reg = <0x12C00000 0x100>;
+5 -13
arch/arm/boot/dts/exynos5250-arndale.dts
··· 266 266 267 267 buck2_reg: BUCK2 { 268 268 regulator-name = "vdd_arm"; 269 - regulator-min-microvolt = <925000>; 269 + regulator-min-microvolt = <912500>; 270 270 regulator-max-microvolt = <1300000>; 271 271 regulator-always-on; 272 272 regulator-boot-on; ··· 384 384 status = "disabled"; 385 385 }; 386 386 387 - dwmmc_0: dwmmc0@12200000 { 387 + mmc_0: mmc@12200000 { 388 + status = "okay"; 388 389 num-slots = <1>; 389 390 supports-highspeed; 390 391 broken-cd; 391 - fifo-depth = <0x80>; 392 392 card-detect-delay = <200>; 393 393 samsung,dw-mshc-ciu-div = <3>; 394 394 samsung,dw-mshc-sdr-timing = <2 3>; ··· 403 403 }; 404 404 }; 405 405 406 - dwmmc_1: dwmmc1@12210000 { 407 - status = "disabled"; 408 - }; 409 - 410 - dwmmc_2: dwmmc2@12220000 { 406 + mmc_2: mmc@12220000 { 407 + status = "okay"; 411 408 num-slots = <1>; 412 409 supports-highspeed; 413 - fifo-depth = <0x80>; 414 410 card-detect-delay = <200>; 415 411 samsung,dw-mshc-ciu-div = <3>; 416 412 samsung,dw-mshc-sdr-timing = <2 3>; ··· 420 424 bus-width = <4>; 421 425 disable-wp; 422 426 }; 423 - }; 424 - 425 - dwmmc_3: dwmmc3@12230000 { 426 - status = "disabled"; 427 427 }; 428 428 429 429 i2s0: i2s@03830000 {
+4 -12
arch/arm/boot/dts/exynos5250-smdk5250.dts
··· 140 140 }; 141 141 }; 142 142 143 - dwmmc0@12200000 { 143 + mmc@12200000 { 144 + status = "okay"; 144 145 num-slots = <1>; 145 146 supports-highspeed; 146 147 broken-cd; 147 - fifo-depth = <0x80>; 148 148 card-detect-delay = <200>; 149 149 samsung,dw-mshc-ciu-div = <3>; 150 150 samsung,dw-mshc-sdr-timing = <2 3>; ··· 158 158 }; 159 159 }; 160 160 161 - dwmmc1@12210000 { 162 - status = "disabled"; 163 - }; 164 - 165 - dwmmc2@12220000 { 161 + mmc@12220000 { 162 + status = "okay"; 166 163 num-slots = <1>; 167 164 supports-highspeed; 168 - fifo-depth = <0x80>; 169 165 card-detect-delay = <200>; 170 166 samsung,dw-mshc-ciu-div = <3>; 171 167 samsung,dw-mshc-sdr-timing = <2 3>; ··· 174 178 bus-width = <4>; 175 179 disable-wp; 176 180 }; 177 - }; 178 - 179 - dwmmc3@12230000 { 180 - status = "disabled"; 181 181 }; 182 182 183 183 spi_0: spi@12d20000 {
+1 -1
arch/arm/boot/dts/exynos5250-snow.dts
··· 175 175 * On Snow we've got SIP WiFi and so can keep drive strengths low to 176 176 * reduce EMI. 177 177 */ 178 - dwmmc3@12230000 { 178 + mmc@12230000 { 179 179 slot@0 { 180 180 pinctrl-names = "default"; 181 181 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
+28 -8
arch/arm/boot/dts/exynos5250.dtsi
··· 33 33 gsc1 = &gsc_1; 34 34 gsc2 = &gsc_2; 35 35 gsc3 = &gsc_3; 36 - mshc0 = &dwmmc_0; 37 - mshc1 = &dwmmc_1; 38 - mshc2 = &dwmmc_2; 39 - mshc3 = &dwmmc_3; 36 + mshc0 = &mmc_0; 37 + mshc1 = &mmc_1; 38 + mshc2 = &mmc_2; 39 + mshc3 = &mmc_3; 40 40 i2c0 = &i2c_0; 41 41 i2c1 = &i2c_1; 42 42 i2c2 = &i2c_2; ··· 392 392 pinctrl-0 = <&spi2_bus>; 393 393 }; 394 394 395 - dwmmc_0: dwmmc0@12200000 { 395 + mmc_0: mmc@12200000 { 396 + compatible = "samsung,exynos5250-dw-mshc"; 397 + interrupts = <0 75 0>; 398 + #address-cells = <1>; 399 + #size-cells = <0>; 396 400 reg = <0x12200000 0x1000>; 397 401 clocks = <&clock 280>, <&clock 139>; 398 402 clock-names = "biu", "ciu"; 403 + fifo-depth = <0x80>; 404 + status = "disabled"; 399 405 }; 400 406 401 - dwmmc_1: dwmmc1@12210000 { 407 + mmc_1: mmc@12210000 { 408 + compatible = "samsung,exynos5250-dw-mshc"; 409 + interrupts = <0 76 0>; 410 + #address-cells = <1>; 411 + #size-cells = <0>; 402 412 reg = <0x12210000 0x1000>; 403 413 clocks = <&clock 281>, <&clock 140>; 404 414 clock-names = "biu", "ciu"; 415 + fifo-depth = <0x80>; 416 + status = "disabled"; 405 417 }; 406 418 407 - dwmmc_2: dwmmc2@12220000 { 419 + mmc_2: mmc@12220000 { 420 + compatible = "samsung,exynos5250-dw-mshc"; 421 + interrupts = <0 77 0>; 422 + #address-cells = <1>; 423 + #size-cells = <0>; 408 424 reg = <0x12220000 0x1000>; 409 425 clocks = <&clock 282>, <&clock 141>; 410 426 clock-names = "biu", "ciu"; 427 + fifo-depth = <0x80>; 428 + status = "disabled"; 411 429 }; 412 430 413 - dwmmc_3: dwmmc3@12230000 { 431 + mmc_3: mmc@12230000 { 414 432 compatible = "samsung,exynos5250-dw-mshc"; 415 433 reg = <0x12230000 0x1000>; 416 434 interrupts = <0 78 0>; ··· 436 418 #size-cells = <0>; 437 419 clocks = <&clock 283>, <&clock 142>; 438 420 clock-names = "biu", "ciu"; 421 + fifo-depth = <0x80>; 422 + status = "disabled"; 439 423 }; 440 424 441 425 i2s0: i2s@03830000 {
+33
arch/arm/boot/dts/exynos5420-smdk5420.dts
··· 31 31 }; 32 32 }; 33 33 34 + mmc@12200000 { 35 + status = "okay"; 36 + broken-cd; 37 + supports-highspeed; 38 + card-detect-delay = <200>; 39 + samsung,dw-mshc-ciu-div = <3>; 40 + samsung,dw-mshc-sdr-timing = <0 4>; 41 + samsung,dw-mshc-ddr-timing = <0 2>; 42 + pinctrl-names = "default"; 43 + pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 44 + 45 + slot@0 { 46 + reg = <0>; 47 + bus-width = <8>; 48 + }; 49 + }; 50 + 51 + mmc@12220000 { 52 + status = "okay"; 53 + supports-highspeed; 54 + card-detect-delay = <200>; 55 + samsung,dw-mshc-ciu-div = <3>; 56 + samsung,dw-mshc-sdr-timing = <2 3>; 57 + samsung,dw-mshc-ddr-timing = <1 2>; 58 + pinctrl-names = "default"; 59 + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 60 + 61 + slot@0 { 62 + reg = <0>; 63 + bus-width = <4>; 64 + }; 65 + }; 66 + 34 67 dp-controller@145B0000 { 35 68 pinctrl-names = "default"; 36 69 pinctrl-0 = <&dp_hpd>;
+192 -2
arch/arm/boot/dts/exynos5420.dtsi
··· 22 22 compatible = "samsung,exynos5420"; 23 23 24 24 aliases { 25 + mshc0 = &mmc_0; 26 + mshc1 = &mmc_1; 27 + mshc2 = &mmc_2; 25 28 pinctrl0 = &pinctrl_0; 26 29 pinctrl1 = &pinctrl_1; 27 30 pinctrl2 = &pinctrl_2; ··· 34 31 i2c1 = &i2c_1; 35 32 i2c2 = &i2c_2; 36 33 i2c3 = &i2c_3; 34 + i2c4 = &hsi2c_4; 35 + i2c5 = &hsi2c_5; 36 + i2c6 = &hsi2c_6; 37 + i2c7 = &hsi2c_7; 38 + i2c8 = &hsi2c_8; 39 + i2c9 = &hsi2c_9; 40 + i2c10 = &hsi2c_10; 41 + gsc0 = &gsc_0; 42 + gsc1 = &gsc_1; 37 43 }; 38 44 39 45 cpus { ··· 76 64 reg = <0x3>; 77 65 clock-frequency = <1800000000>; 78 66 }; 67 + 68 + cpu4: cpu@100 { 69 + device_type = "cpu"; 70 + compatible = "arm,cortex-a7"; 71 + reg = <0x100>; 72 + clock-frequency = <1000000000>; 73 + }; 74 + 75 + cpu5: cpu@101 { 76 + device_type = "cpu"; 77 + compatible = "arm,cortex-a7"; 78 + reg = <0x101>; 79 + clock-frequency = <1000000000>; 80 + }; 81 + 82 + cpu6: cpu@102 { 83 + device_type = "cpu"; 84 + compatible = "arm,cortex-a7"; 85 + reg = <0x102>; 86 + clock-frequency = <1000000000>; 87 + }; 88 + 89 + cpu7: cpu@103 { 90 + device_type = "cpu"; 91 + compatible = "arm,cortex-a7"; 92 + reg = <0x103>; 93 + clock-frequency = <1000000000>; 94 + }; 79 95 }; 80 96 81 97 clock: clock-controller@10010000 { ··· 128 88 clock-names = "mfc"; 129 89 }; 130 90 91 + mmc_0: mmc@12200000 { 92 + compatible = "samsung,exynos5420-dw-mshc-smu"; 93 + interrupts = <0 75 0>; 94 + #address-cells = <1>; 95 + #size-cells = <0>; 96 + reg = <0x12200000 0x2000>; 97 + clocks = <&clock 351>, <&clock 132>; 98 + clock-names = "biu", "ciu"; 99 + fifo-depth = <0x40>; 100 + status = "disabled"; 101 + }; 102 + 103 + mmc_1: mmc@12210000 { 104 + compatible = "samsung,exynos5420-dw-mshc-smu"; 105 + interrupts = <0 76 0>; 106 + #address-cells = <1>; 107 + #size-cells = <0>; 108 + reg = <0x12210000 0x2000>; 109 + clocks = <&clock 352>, <&clock 133>; 110 + clock-names = "biu", "ciu"; 111 + fifo-depth = <0x40>; 112 + status = "disabled"; 113 + }; 114 + 115 + mmc_2: mmc@12220000 { 116 + compatible = "samsung,exynos5420-dw-mshc"; 117 + interrupts = <0 77 0>; 118 + #address-cells = <1>; 119 + #size-cells = <0>; 120 + reg = <0x12220000 0x1000>; 121 + clocks = <&clock 353>, <&clock 134>; 122 + clock-names = "biu", "ciu"; 123 + fifo-depth = <0x40>; 124 + status = "disabled"; 125 + }; 126 + 131 127 mct@101C0000 { 132 128 compatible = "samsung,exynos4210-mct"; 133 129 reg = <0x101C0000 0x800>; 134 130 interrupt-controller; 135 131 #interrups-cells = <1>; 136 132 interrupt-parent = <&mct_map>; 137 - interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>; 133 + interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, 134 + <8>, <9>, <10>, <11>; 138 135 clocks = <&clock 1>, <&clock 315>; 139 136 clock-names = "fin_pll", "mct"; 140 137 ··· 186 109 <4 &gic 0 120 0>, 187 110 <5 &gic 0 121 0>, 188 111 <6 &gic 0 122 0>, 189 - <7 &gic 0 123 0>; 112 + <7 &gic 0 123 0>, 113 + <8 &gic 0 128 0>, 114 + <9 &gic 0 129 0>, 115 + <10 &gic 0 130 0>, 116 + <11 &gic 0 131 0>; 190 117 }; 191 118 }; 192 119 ··· 373 292 status = "disabled"; 374 293 }; 375 294 295 + hsi2c_4: i2c@12CA0000 { 296 + compatible = "samsung,exynos5-hsi2c"; 297 + reg = <0x12CA0000 0x1000>; 298 + interrupts = <0 60 0>; 299 + #address-cells = <1>; 300 + #size-cells = <0>; 301 + pinctrl-names = "default"; 302 + pinctrl-0 = <&i2c4_hs_bus>; 303 + clocks = <&clock 265>; 304 + clock-names = "hsi2c"; 305 + status = "disabled"; 306 + }; 307 + 308 + hsi2c_5: i2c@12CB0000 { 309 + compatible = "samsung,exynos5-hsi2c"; 310 + reg = <0x12CB0000 0x1000>; 311 + interrupts = <0 61 0>; 312 + #address-cells = <1>; 313 + #size-cells = <0>; 314 + pinctrl-names = "default"; 315 + pinctrl-0 = <&i2c5_hs_bus>; 316 + clocks = <&clock 266>; 317 + clock-names = "hsi2c"; 318 + status = "disabled"; 319 + }; 320 + 321 + hsi2c_6: i2c@12CC0000 { 322 + compatible = "samsung,exynos5-hsi2c"; 323 + reg = <0x12CC0000 0x1000>; 324 + interrupts = <0 62 0>; 325 + #address-cells = <1>; 326 + #size-cells = <0>; 327 + pinctrl-names = "default"; 328 + pinctrl-0 = <&i2c6_hs_bus>; 329 + clocks = <&clock 267>; 330 + clock-names = "hsi2c"; 331 + status = "disabled"; 332 + }; 333 + 334 + hsi2c_7: i2c@12CD0000 { 335 + compatible = "samsung,exynos5-hsi2c"; 336 + reg = <0x12CD0000 0x1000>; 337 + interrupts = <0 63 0>; 338 + #address-cells = <1>; 339 + #size-cells = <0>; 340 + pinctrl-names = "default"; 341 + pinctrl-0 = <&i2c7_hs_bus>; 342 + clocks = <&clock 268>; 343 + clock-names = "hsi2c"; 344 + status = "disabled"; 345 + }; 346 + 347 + hsi2c_8: i2c@12E00000 { 348 + compatible = "samsung,exynos5-hsi2c"; 349 + reg = <0x12E00000 0x1000>; 350 + interrupts = <0 87 0>; 351 + #address-cells = <1>; 352 + #size-cells = <0>; 353 + pinctrl-names = "default"; 354 + pinctrl-0 = <&i2c8_hs_bus>; 355 + clocks = <&clock 281>; 356 + clock-names = "hsi2c"; 357 + status = "disabled"; 358 + }; 359 + 360 + hsi2c_9: i2c@12E10000 { 361 + compatible = "samsung,exynos5-hsi2c"; 362 + reg = <0x12E10000 0x1000>; 363 + interrupts = <0 88 0>; 364 + #address-cells = <1>; 365 + #size-cells = <0>; 366 + pinctrl-names = "default"; 367 + pinctrl-0 = <&i2c9_hs_bus>; 368 + clocks = <&clock 282>; 369 + clock-names = "hsi2c"; 370 + status = "disabled"; 371 + }; 372 + 373 + hsi2c_10: i2c@12E20000 { 374 + compatible = "samsung,exynos5-hsi2c"; 375 + reg = <0x12E20000 0x1000>; 376 + interrupts = <0 203 0>; 377 + #address-cells = <1>; 378 + #size-cells = <0>; 379 + pinctrl-names = "default"; 380 + pinctrl-0 = <&i2c10_hs_bus>; 381 + clocks = <&clock 283>; 382 + clock-names = "hsi2c"; 383 + status = "disabled"; 384 + }; 385 + 376 386 hdmi@14530000 { 377 387 compatible = "samsung,exynos4212-hdmi"; 378 388 reg = <0x14530000 0x70000>; ··· 481 309 interrupts = <0 94 0>; 482 310 clocks = <&clock 431>, <&clock 143>; 483 311 clock-names = "mixer", "sclk_hdmi"; 312 + }; 313 + 314 + gsc_0: video-scaler@13e00000 { 315 + compatible = "samsung,exynos5-gsc"; 316 + reg = <0x13e00000 0x1000>; 317 + interrupts = <0 85 0>; 318 + clocks = <&clock 465>; 319 + clock-names = "gscl"; 320 + samsung,power-domain = <&gsc_pd>; 321 + }; 322 + 323 + gsc_1: video-scaler@13e10000 { 324 + compatible = "samsung,exynos5-gsc"; 325 + reg = <0x13e10000 0x1000>; 326 + interrupts = <0 86 0>; 327 + clocks = <&clock 466>; 328 + clock-names = "gscl"; 329 + samsung,power-domain = <&gsc_pd>; 484 330 }; 485 331 };
+4
drivers/clocksource/exynos_mct.c
··· 71 71 MCT_L1_IRQ, 72 72 MCT_L2_IRQ, 73 73 MCT_L3_IRQ, 74 + MCT_L4_IRQ, 75 + MCT_L5_IRQ, 76 + MCT_L6_IRQ, 77 + MCT_L7_IRQ, 74 78 MCT_NR_IRQS, 75 79 }; 76 80