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

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

Merge "Samsung DeviceTree updates and improvements for 4.5" from Krzysztof Kozlowski:

1. eMMC/SDIO minor fixes usage of bindings on Snow and Peach
Chromebooks.
2. Remove FIMD from Odroid XU3-family because on XU3 it cannot be used
yet and on XU3-Lite and XU4 it is not supported.
3. Remove deprecated since June 2013 samsung,exynos5-hdmi.
4. Add support for Pseudo Random Generator on Exynos4 (Trats2 for now).
This depends on new SSS clock.
5. Add rotator nodes for Exynos4 and Exynos5.
6. Switch DWC3_1 on Odroid XU3 and XU3-Lite to peripheral mode because
now it cannot be used as OTG.
7. Cleanup the G2D usage on Exynos4 and add it to a proper domain
in case of Exynos4210.
8. Put MDMA1 in proper domain on Exynos4210 as well.
9. Minor cleanups.

* tag 'samsung-dt-4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (21 commits)
ARM: dts: Unify G2D device node with other devices on exynos4
ARM: dts: Add power domain to G2D device on exynos4210
ARM: dts: MDMA1 device belongs to LCD0 power domain on exynos4210
ARM: dts: Remove unneeded GPIO include in exynos4412-odroidu3
ARM: dts: exynos4210-universal_c210: Disable DMA for UARTs
ARM: dts: Use peripheral mode for dwc3_1 on exynos5422-odroidxu3
ARM: dts: Add rotator node on exynos5420
ARM: dts: Add rotator node on exynos5250
ARM: dts: Fix power domain for sysmmu-rotator device on exynos4
ARM: dts: Add rotator nodes on exynos4
ARM: dts: Enable PRNG module on exynos4412-trats2
ARM: dts: Add PRNG module for exynos4
dt-bindings: remove deprecated compatible string from exynos-hdmi
ARM: dts: Remove fimd node from exynos5422-odroidxu3-common
ARM: dts: Mark eMMC as non-removable in exynos5250-snow-common
ARM: dts: Remove broken-cd from eMMC node in exynos5420-peach-pi
ARM: dts: Remove broken-cd from eMMC node in exynos5800-peach-pi
ARM: dts: Mark SDIO as non-removable in exynos5250-snow-common
ARM: dts: Mark SDIO as non-removable in exynos5420-peach-pit
ARM: dts: Mark SDIO as non-removable in exynos5800-peach-pi
...

+85 -47
+3 -4
Documentation/devicetree/bindings/display/exynos/exynos_hdmi.txt
··· 2 2 3 3 Required properties: 4 4 - compatible: value should be one among the following: 5 - 1) "samsung,exynos5-hdmi" <DEPRECATED> 6 - 2) "samsung,exynos4210-hdmi" 7 - 3) "samsung,exynos4212-hdmi" 8 - 4) "samsung,exynos5420-hdmi" 5 + 1) "samsung,exynos4210-hdmi" 6 + 2) "samsung,exynos4212-hdmi" 7 + 3) "samsung,exynos5420-hdmi" 9 8 - reg: physical base address of the hdmi and length of memory mapped 10 9 region. 11 10 - interrupts: interrupt number to the cpu.
+17 -1
arch/arm/boot/dts/exynos4.dtsi
··· 727 727 iommus = <&sysmmu_jpeg>; 728 728 }; 729 729 730 + rotator: rotator@12810000 { 731 + compatible = "samsung,exynos4210-rotator"; 732 + reg = <0x12810000 0x64>; 733 + interrupts = <0 83 0>; 734 + clocks = <&clock CLK_ROTATOR>; 735 + clock-names = "rotator"; 736 + iommus = <&sysmmu_rotator>; 737 + }; 738 + 730 739 hdmi: hdmi@12D00000 { 731 740 compatible = "samsung,exynos4210-hdmi"; 732 741 reg = <0x12D00000 0x70000>; ··· 963 954 interrupts = <5 0>; 964 955 clock-names = "sysmmu", "master"; 965 956 clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>; 966 - power-domains = <&pd_lcd0>; 967 957 #iommu-cells = <0>; 968 958 }; 969 959 ··· 975 967 clocks = <&clock CLK_SMMU_FIMD0>, <&clock CLK_FIMD0>; 976 968 power-domains = <&pd_lcd0>; 977 969 #iommu-cells = <0>; 970 + }; 971 + 972 + prng: rng@10830400 { 973 + compatible = "samsung,exynos4-rng"; 974 + reg = <0x10830400 0x200>; 975 + clocks = <&clock CLK_SSS>; 976 + clock-names = "secss"; 977 + status = "disabled"; 978 978 }; 979 979 };
-4
arch/arm/boot/dts/exynos4210-origen.dts
··· 138 138 status = "okay"; 139 139 }; 140 140 141 - &g2d { 142 - status = "okay"; 143 - }; 144 - 145 141 &i2c_0 { 146 142 status = "okay"; 147 143 samsung,i2c-sda-delay = <100>;
-4
arch/arm/boot/dts/exynos4210-smdkv310.dts
··· 44 44 }; 45 45 }; 46 46 47 - &g2d { 48 - status = "okay"; 49 - }; 50 - 51 47 &i2c_0 { 52 48 #address-cells = <1>; 53 49 #size-cells = <0>;
+8
arch/arm/boot/dts/exynos4210-universal_c210.dts
··· 560 560 561 561 &serial_0 { 562 562 status = "okay"; 563 + /delete-property/dmas; 564 + /delete-property/dma-names; 563 565 }; 564 566 565 567 &serial_1 { 566 568 status = "okay"; 569 + /delete-property/dmas; 570 + /delete-property/dma-names; 567 571 }; 568 572 569 573 &serial_2 { 570 574 status = "okay"; 575 + /delete-property/dmas; 576 + /delete-property/dma-names; 571 577 }; 572 578 573 579 &serial_3 { 574 580 status = "okay"; 581 + /delete-property/dmas; 582 + /delete-property/dma-names; 575 583 };
+13 -1
arch/arm/boot/dts/exynos4210.dtsi
··· 185 185 interrupts = <0 89 0>; 186 186 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>; 187 187 clock-names = "sclk_fimg2d", "fimg2d"; 188 + power-domains = <&pd_lcd0>; 188 189 iommus = <&sysmmu_g2d>; 189 - status = "disabled"; 190 190 }; 191 191 192 192 camera { ··· 271 271 <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>; 272 272 }; 273 273 274 + &mdma1 { 275 + power-domains = <&pd_lcd0>; 276 + }; 277 + 274 278 &pmu_system_controller { 275 279 clock-names = "clkout0", "clkout1", "clkout2", "clkout3", 276 280 "clkout4", "clkout8", "clkout9"; ··· 282 278 <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>, 283 279 <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, <&clock CLK_XUSBXTI>; 284 280 #clock-cells = <1>; 281 + }; 282 + 283 + &rotator { 284 + power-domains = <&pd_lcd0>; 285 + }; 286 + 287 + &sysmmu_rotator { 288 + power-domains = <&pd_lcd0>; 285 289 };
-4
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
··· 177 177 assigned-clock-rates = <0>, <176000000>; 178 178 }; 179 179 180 - &g2d { 181 - status = "okay"; 182 - }; 183 - 184 180 &hdmi { 185 181 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; 186 182 pinctrl-names = "default";
-1
arch/arm/boot/dts/exynos4412-odroidu3.dts
··· 13 13 14 14 /dts-v1/; 15 15 #include "exynos4412-odroid-common.dtsi" 16 - #include <dt-bindings/gpio/gpio.h> 17 16 18 17 / { 19 18 model = "Hardkernel ODROID-U3 board based on Exynos4412";
-4
arch/arm/boot/dts/exynos4412-origen.dts
··· 89 89 status = "okay"; 90 90 }; 91 91 92 - &g2d { 93 - status = "okay"; 94 - }; 95 - 96 92 &i2c_0 { 97 93 #address-cells = <1>; 98 94 #size-cells = <0>;
-4
arch/arm/boot/dts/exynos4412-smdk4412.dts
··· 41 41 }; 42 42 }; 43 43 44 - &g2d { 45 - status = "okay"; 46 - }; 47 - 48 44 &keypad { 49 45 samsung,keypad-num-rows = <3>; 50 46 samsung,keypad-num-columns = <8>;
+4
arch/arm/boot/dts/exynos4412-trats2.dts
··· 1234 1234 status = "okay"; 1235 1235 }; 1236 1236 1237 + &prng { 1238 + status = "okay"; 1239 + }; 1240 + 1237 1241 &rtc { 1238 1242 status = "okay"; 1239 1243 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
+4 -1
arch/arm/boot/dts/exynos4x12.dtsi
··· 116 116 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>; 117 117 clock-names = "sclk_fimg2d", "fimg2d"; 118 118 iommus = <&sysmmu_g2d>; 119 - status = "disabled"; 120 119 }; 121 120 122 121 camera { ··· 336 337 337 338 &jpeg_codec { 338 339 compatible = "samsung,exynos4212-jpeg"; 340 + }; 341 + 342 + &rotator { 343 + compatible = "samsung,exynos4212-rotator"; 339 344 }; 340 345 341 346 &mixer {
+2 -4
arch/arm/boot/dts/exynos5250-snow-common.dtsi
··· 520 520 &mmc_0 { 521 521 status = "okay"; 522 522 num-slots = <1>; 523 - broken-cd; 524 - card-detect-delay = <200>; 523 + non-removable; 525 524 samsung,dw-mshc-ciu-div = <3>; 526 525 samsung,dw-mshc-sdr-timing = <2 3>; 527 526 samsung,dw-mshc-ddr-timing = <1 2>; ··· 551 552 &mmc_3 { 552 553 status = "okay"; 553 554 num-slots = <1>; 554 - broken-cd; 555 + non-removable; 555 556 cap-sdio-irq; 556 557 keep-power-in-suspend; 557 - card-detect-delay = <200>; 558 558 samsung,dw-mshc-ciu-div = <3>; 559 559 samsung,dw-mshc-sdr-timing = <2 3>; 560 560 samsung,dw-mshc-ddr-timing = <1 2>;
+9
arch/arm/boot/dts/exynos5250.dtsi
··· 269 269 iommu-names = "left", "right"; 270 270 }; 271 271 272 + rotator: rotator@11C00000 { 273 + compatible = "samsung,exynos5250-rotator"; 274 + reg = <0x11C00000 0x64>; 275 + interrupts = <0 84 0>; 276 + clocks = <&clock CLK_ROTATOR>; 277 + clock-names = "rotator"; 278 + iommus = <&sysmmu_rotator>; 279 + }; 280 + 272 281 tmu: tmu@10060000 { 273 282 compatible = "samsung,exynos5250-tmu"; 274 283 reg = <0x10060000 0x100>;
+1 -4
arch/arm/boot/dts/exynos5420-peach-pit.dts
··· 690 690 &mmc_0 { 691 691 status = "okay"; 692 692 num-slots = <1>; 693 - broken-cd; 694 693 mmc-hs200-1_8v; 695 694 cap-mmc-highspeed; 696 695 non-removable; 697 - card-detect-delay = <200>; 698 696 clock-frequency = <400000000>; 699 697 samsung,dw-mshc-ciu-div = <3>; 700 698 samsung,dw-mshc-sdr-timing = <0 4>; ··· 707 709 &mmc_1 { 708 710 status = "okay"; 709 711 num-slots = <1>; 710 - broken-cd; 712 + non-removable; 711 713 cap-sdio-irq; 712 714 keep-power-in-suspend; 713 - card-detect-delay = <200>; 714 715 clock-frequency = <400000000>; 715 716 samsung,dw-mshc-ciu-div = <1>; 716 717 samsung,dw-mshc-sdr-timing = <0 1>;
+19
arch/arm/boot/dts/exynos5420.dtsi
··· 717 717 iommus = <&sysmmu_tv>; 718 718 }; 719 719 720 + rotator: rotator@11C00000 { 721 + compatible = "samsung,exynos5250-rotator"; 722 + reg = <0x11C00000 0x64>; 723 + interrupts = <0 84 0>; 724 + clocks = <&clock CLK_ROTATOR>; 725 + clock-names = "rotator"; 726 + iommus = <&sysmmu_rotator>; 727 + }; 728 + 720 729 gsc_0: video-scaler@13e00000 { 721 730 compatible = "samsung,exynos5-gsc"; 722 731 reg = <0x13e00000 0x1000>; ··· 1065 1056 interrupts = <19 6>; 1066 1057 clock-names = "sysmmu", "master"; 1067 1058 clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>; 1059 + #iommu-cells = <0>; 1060 + }; 1061 + 1062 + sysmmu_rotator: sysmmu@0x11D40000 { 1063 + compatible = "samsung,exynos-sysmmu"; 1064 + reg = <0x11D40000 0x1000>; 1065 + interrupt-parent = <&combiner>; 1066 + interrupts = <4 0>; 1067 + clock-names = "sysmmu", "master"; 1068 + clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>; 1068 1069 #iommu-cells = <0>; 1069 1070 }; 1070 1071
-5
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
··· 67 67 <19200000>; 68 68 }; 69 69 70 - &fimd { 71 - status = "okay"; 72 - }; 73 - 74 - 75 70 &hdmi { 76 71 status = "okay"; 77 72 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+1 -1
arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts
··· 67 67 }; 68 68 69 69 &usbdrd_dwc3_1 { 70 - dr_mode = "otg"; 70 + dr_mode = "peripheral"; 71 71 };
+1 -1
arch/arm/boot/dts/exynos5422-odroidxu3.dts
··· 98 98 }; 99 99 100 100 &usbdrd_dwc3_1 { 101 - dr_mode = "otg"; 101 + dr_mode = "peripheral"; 102 102 };
+1 -4
arch/arm/boot/dts/exynos5800-peach-pi.dts
··· 652 652 &mmc_0 { 653 653 status = "okay"; 654 654 num-slots = <1>; 655 - broken-cd; 656 655 mmc-hs200-1_8v; 657 656 mmc-hs400-1_8v; 658 657 cap-mmc-highspeed; 659 658 non-removable; 660 - card-detect-delay = <200>; 661 659 clock-frequency = <800000000>; 662 660 samsung,dw-mshc-ciu-div = <3>; 663 661 samsung,dw-mshc-sdr-timing = <0 4>; ··· 670 672 &mmc_1 { 671 673 status = "okay"; 672 674 num-slots = <1>; 673 - broken-cd; 675 + non-removable; 674 676 cap-sdio-irq; 675 677 keep-power-in-suspend; 676 - card-detect-delay = <200>; 677 678 clock-frequency = <400000000>; 678 679 samsung,dw-mshc-ciu-div = <1>; 679 680 samsung,dw-mshc-sdr-timing = <0 1>;
+1
drivers/clk/samsung/clk-exynos4.c
··· 1024 1024 0, 0), 1025 1025 GATE(CLK_AC97, "ac97", "aclk100", GATE_IP_PERIL, 27, 1026 1026 0, 0), 1027 + GATE(CLK_SSS, "sss", "aclk133", GATE_IP_DMC, 4, 0, 0), 1027 1028 GATE(CLK_PPMUDMC0, "ppmudmc0", "aclk133", GATE_IP_DMC, 8, 0, 0), 1028 1029 GATE(CLK_PPMUDMC1, "ppmudmc1", "aclk133", GATE_IP_DMC, 9, 0, 0), 1029 1030 GATE(CLK_PPMUCPU, "ppmucpu", "aclk133", GATE_IP_DMC, 10, 0, 0),
+1
include/dt-bindings/clock/exynos4.h
··· 93 93 #define CLK_SCLK_FIMG2D 177 94 94 95 95 /* gate clocks */ 96 + #define CLK_SSS 255 96 97 #define CLK_FIMC0 256 97 98 #define CLK_FIMC1 257 98 99 #define CLK_FIMC2 258