diff options
Diffstat (limited to 'arch/arm')
85 files changed, 318 insertions, 315 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 87b63fde06d7..245058b3b0ef 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -175,13 +175,6 @@ config ARCH_HAS_ILOG2_U32 | |||
| 175 | config ARCH_HAS_ILOG2_U64 | 175 | config ARCH_HAS_ILOG2_U64 |
| 176 | bool | 176 | bool |
| 177 | 177 | ||
| 178 | config ARCH_HAS_CPUFREQ | ||
| 179 | bool | ||
| 180 | help | ||
| 181 | Internal node to signify that the ARCH has CPUFREQ support | ||
| 182 | and that the relevant menu configurations are displayed for | ||
| 183 | it. | ||
| 184 | |||
| 185 | config ARCH_HAS_BANDGAP | 178 | config ARCH_HAS_BANDGAP |
| 186 | bool | 179 | bool |
| 187 | 180 | ||
| @@ -318,7 +311,6 @@ config ARCH_MULTIPLATFORM | |||
| 318 | 311 | ||
| 319 | config ARCH_INTEGRATOR | 312 | config ARCH_INTEGRATOR |
| 320 | bool "ARM Ltd. Integrator family" | 313 | bool "ARM Ltd. Integrator family" |
| 321 | select ARCH_HAS_CPUFREQ | ||
| 322 | select ARM_AMBA | 314 | select ARM_AMBA |
| 323 | select ARM_PATCH_PHYS_VIRT | 315 | select ARM_PATCH_PHYS_VIRT |
| 324 | select AUTO_ZRELADDR | 316 | select AUTO_ZRELADDR |
| @@ -538,7 +530,6 @@ config ARCH_DOVE | |||
| 538 | 530 | ||
| 539 | config ARCH_KIRKWOOD | 531 | config ARCH_KIRKWOOD |
| 540 | bool "Marvell Kirkwood" | 532 | bool "Marvell Kirkwood" |
| 541 | select ARCH_HAS_CPUFREQ | ||
| 542 | select ARCH_REQUIRE_GPIOLIB | 533 | select ARCH_REQUIRE_GPIOLIB |
| 543 | select CPU_FEROCEON | 534 | select CPU_FEROCEON |
| 544 | select GENERIC_CLOCKEVENTS | 535 | select GENERIC_CLOCKEVENTS |
| @@ -637,7 +628,6 @@ config ARCH_LPC32XX | |||
| 637 | config ARCH_PXA | 628 | config ARCH_PXA |
| 638 | bool "PXA2xx/PXA3xx-based" | 629 | bool "PXA2xx/PXA3xx-based" |
| 639 | depends on MMU | 630 | depends on MMU |
| 640 | select ARCH_HAS_CPUFREQ | ||
| 641 | select ARCH_MTD_XIP | 631 | select ARCH_MTD_XIP |
| 642 | select ARCH_REQUIRE_GPIOLIB | 632 | select ARCH_REQUIRE_GPIOLIB |
| 643 | select ARM_CPU_SUSPEND if PM | 633 | select ARM_CPU_SUSPEND if PM |
| @@ -707,7 +697,6 @@ config ARCH_RPC | |||
| 707 | 697 | ||
| 708 | config ARCH_SA1100 | 698 | config ARCH_SA1100 |
| 709 | bool "SA1100-based" | 699 | bool "SA1100-based" |
| 710 | select ARCH_HAS_CPUFREQ | ||
| 711 | select ARCH_MTD_XIP | 700 | select ARCH_MTD_XIP |
| 712 | select ARCH_REQUIRE_GPIOLIB | 701 | select ARCH_REQUIRE_GPIOLIB |
| 713 | select ARCH_SPARSEMEM_ENABLE | 702 | select ARCH_SPARSEMEM_ENABLE |
| @@ -725,7 +714,6 @@ config ARCH_SA1100 | |||
| 725 | 714 | ||
| 726 | config ARCH_S3C24XX | 715 | config ARCH_S3C24XX |
| 727 | bool "Samsung S3C24XX SoCs" | 716 | bool "Samsung S3C24XX SoCs" |
| 728 | select ARCH_HAS_CPUFREQ | ||
| 729 | select ARCH_REQUIRE_GPIOLIB | 717 | select ARCH_REQUIRE_GPIOLIB |
| 730 | select ATAGS | 718 | select ATAGS |
| 731 | select CLKDEV_LOOKUP | 719 | select CLKDEV_LOOKUP |
| @@ -746,7 +734,6 @@ config ARCH_S3C24XX | |||
| 746 | 734 | ||
| 747 | config ARCH_S3C64XX | 735 | config ARCH_S3C64XX |
| 748 | bool "Samsung S3C64XX" | 736 | bool "Samsung S3C64XX" |
| 749 | select ARCH_HAS_CPUFREQ | ||
| 750 | select ARCH_REQUIRE_GPIOLIB | 737 | select ARCH_REQUIRE_GPIOLIB |
| 751 | select ARM_AMBA | 738 | select ARM_AMBA |
| 752 | select ARM_VIC | 739 | select ARM_VIC |
| @@ -809,7 +796,6 @@ config ARCH_S5PC100 | |||
| 809 | 796 | ||
| 810 | config ARCH_S5PV210 | 797 | config ARCH_S5PV210 |
| 811 | bool "Samsung S5PV210/S5PC110" | 798 | bool "Samsung S5PV210/S5PC110" |
| 812 | select ARCH_HAS_CPUFREQ | ||
| 813 | select ARCH_HAS_HOLES_MEMORYMODEL | 799 | select ARCH_HAS_HOLES_MEMORYMODEL |
| 814 | select ARCH_SPARSEMEM_ENABLE | 800 | select ARCH_SPARSEMEM_ENABLE |
| 815 | select ATAGS | 801 | select ATAGS |
| @@ -845,7 +831,6 @@ config ARCH_DAVINCI | |||
| 845 | config ARCH_OMAP1 | 831 | config ARCH_OMAP1 |
| 846 | bool "TI OMAP1" | 832 | bool "TI OMAP1" |
| 847 | depends on MMU | 833 | depends on MMU |
| 848 | select ARCH_HAS_CPUFREQ | ||
| 849 | select ARCH_HAS_HOLES_MEMORYMODEL | 834 | select ARCH_HAS_HOLES_MEMORYMODEL |
| 850 | select ARCH_OMAP | 835 | select ARCH_OMAP |
| 851 | select ARCH_REQUIRE_GPIOLIB | 836 | select ARCH_REQUIRE_GPIOLIB |
| @@ -1009,8 +994,6 @@ source "arch/arm/mach-rockchip/Kconfig" | |||
| 1009 | 994 | ||
| 1010 | source "arch/arm/mach-sa1100/Kconfig" | 995 | source "arch/arm/mach-sa1100/Kconfig" |
| 1011 | 996 | ||
| 1012 | source "arch/arm/plat-samsung/Kconfig" | ||
| 1013 | |||
| 1014 | source "arch/arm/mach-socfpga/Kconfig" | 997 | source "arch/arm/mach-socfpga/Kconfig" |
| 1015 | 998 | ||
| 1016 | source "arch/arm/mach-spear/Kconfig" | 999 | source "arch/arm/mach-spear/Kconfig" |
| @@ -1028,6 +1011,7 @@ source "arch/arm/mach-s5pc100/Kconfig" | |||
| 1028 | source "arch/arm/mach-s5pv210/Kconfig" | 1011 | source "arch/arm/mach-s5pv210/Kconfig" |
| 1029 | 1012 | ||
| 1030 | source "arch/arm/mach-exynos/Kconfig" | 1013 | source "arch/arm/mach-exynos/Kconfig" |
| 1014 | source "arch/arm/plat-samsung/Kconfig" | ||
| 1031 | 1015 | ||
| 1032 | source "arch/arm/mach-shmobile/Kconfig" | 1016 | source "arch/arm/mach-shmobile/Kconfig" |
| 1033 | 1017 | ||
| @@ -2109,9 +2093,7 @@ endmenu | |||
| 2109 | 2093 | ||
| 2110 | menu "CPU Power Management" | 2094 | menu "CPU Power Management" |
| 2111 | 2095 | ||
| 2112 | if ARCH_HAS_CPUFREQ | ||
| 2113 | source "drivers/cpufreq/Kconfig" | 2096 | source "drivers/cpufreq/Kconfig" |
| 2114 | endif | ||
| 2115 | 2097 | ||
| 2116 | source "drivers/cpuidle/Kconfig" | 2098 | source "drivers/cpuidle/Kconfig" |
| 2117 | 2099 | ||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 5986ff63b901..adb5ed9e269e 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
| @@ -357,7 +357,7 @@ dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \ | |||
| 357 | stih415-b2020.dtb \ | 357 | stih415-b2020.dtb \ |
| 358 | stih416-b2000.dtb \ | 358 | stih416-b2000.dtb \ |
| 359 | stih416-b2020.dtb \ | 359 | stih416-b2020.dtb \ |
| 360 | stih416-b2020-revE.dtb | 360 | stih416-b2020e.dtb |
| 361 | dtb-$(CONFIG_MACH_SUN4I) += \ | 361 | dtb-$(CONFIG_MACH_SUN4I) += \ |
| 362 | sun4i-a10-a1000.dtb \ | 362 | sun4i-a10-a1000.dtb \ |
| 363 | sun4i-a10-cubieboard.dtb \ | 363 | sun4i-a10-cubieboard.dtb \ |
diff --git a/arch/arm/boot/dts/armada-375-db.dts b/arch/arm/boot/dts/armada-375-db.dts index 772fec2d26ce..1e2919d43d78 100644 --- a/arch/arm/boot/dts/armada-375-db.dts +++ b/arch/arm/boot/dts/armada-375-db.dts | |||
| @@ -91,6 +91,8 @@ | |||
| 91 | marvell,nand-keep-config; | 91 | marvell,nand-keep-config; |
| 92 | marvell,nand-enable-arbiter; | 92 | marvell,nand-enable-arbiter; |
| 93 | nand-on-flash-bbt; | 93 | nand-on-flash-bbt; |
| 94 | nand-ecc-strength = <4>; | ||
| 95 | nand-ecc-step-size = <512>; | ||
| 94 | 96 | ||
| 95 | partition@0 { | 97 | partition@0 { |
| 96 | label = "U-Boot"; | 98 | label = "U-Boot"; |
diff --git a/arch/arm/boot/dts/armada-380.dtsi b/arch/arm/boot/dts/armada-380.dtsi index e69bc6759c39..4173a8ab34e7 100644 --- a/arch/arm/boot/dts/armada-380.dtsi +++ b/arch/arm/boot/dts/armada-380.dtsi | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | / { | 17 | / { |
| 18 | model = "Marvell Armada 380 family SoC"; | 18 | model = "Marvell Armada 380 family SoC"; |
| 19 | compatible = "marvell,armada380", "marvell,armada38x"; | 19 | compatible = "marvell,armada380"; |
| 20 | 20 | ||
| 21 | cpus { | 21 | cpus { |
| 22 | #address-cells = <1>; | 22 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/armada-385-db.dts b/arch/arm/boot/dts/armada-385-db.dts index ff9637dd8d0f..1af886f1e486 100644 --- a/arch/arm/boot/dts/armada-385-db.dts +++ b/arch/arm/boot/dts/armada-385-db.dts | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | / { | 17 | / { |
| 18 | model = "Marvell Armada 385 Development Board"; | 18 | model = "Marvell Armada 385 Development Board"; |
| 19 | compatible = "marvell,a385-db", "marvell,armada385", "marvell,armada38x"; | 19 | compatible = "marvell,a385-db", "marvell,armada385", "marvell,armada380"; |
| 20 | 20 | ||
| 21 | chosen { | 21 | chosen { |
| 22 | bootargs = "console=ttyS0,115200 earlyprintk"; | 22 | bootargs = "console=ttyS0,115200 earlyprintk"; |
| @@ -98,6 +98,8 @@ | |||
| 98 | marvell,nand-keep-config; | 98 | marvell,nand-keep-config; |
| 99 | marvell,nand-enable-arbiter; | 99 | marvell,nand-enable-arbiter; |
| 100 | nand-on-flash-bbt; | 100 | nand-on-flash-bbt; |
| 101 | nand-ecc-strength = <4>; | ||
| 102 | nand-ecc-step-size = <512>; | ||
| 101 | 103 | ||
| 102 | partition@0 { | 104 | partition@0 { |
| 103 | label = "U-Boot"; | 105 | label = "U-Boot"; |
diff --git a/arch/arm/boot/dts/armada-385-rd.dts b/arch/arm/boot/dts/armada-385-rd.dts index 40893255a3f0..aaca2861dc87 100644 --- a/arch/arm/boot/dts/armada-385-rd.dts +++ b/arch/arm/boot/dts/armada-385-rd.dts | |||
| @@ -17,7 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | / { | 18 | / { |
| 19 | model = "Marvell Armada 385 Reference Design"; | 19 | model = "Marvell Armada 385 Reference Design"; |
| 20 | compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada38x"; | 20 | compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380"; |
| 21 | 21 | ||
| 22 | chosen { | 22 | chosen { |
| 23 | bootargs = "console=ttyS0,115200 earlyprintk"; | 23 | bootargs = "console=ttyS0,115200 earlyprintk"; |
diff --git a/arch/arm/boot/dts/armada-385.dtsi b/arch/arm/boot/dts/armada-385.dtsi index f011009bf4cf..6283d7912f71 100644 --- a/arch/arm/boot/dts/armada-385.dtsi +++ b/arch/arm/boot/dts/armada-385.dtsi | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | / { | 17 | / { |
| 18 | model = "Marvell Armada 385 family SoC"; | 18 | model = "Marvell Armada 385 family SoC"; |
| 19 | compatible = "marvell,armada385", "marvell,armada38x"; | 19 | compatible = "marvell,armada385", "marvell,armada380"; |
| 20 | 20 | ||
| 21 | cpus { | 21 | cpus { |
| 22 | #address-cells = <1>; | 22 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi index 3de364e81b52..689fa1a46728 100644 --- a/arch/arm/boot/dts/armada-38x.dtsi +++ b/arch/arm/boot/dts/armada-38x.dtsi | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | 20 | ||
| 21 | / { | 21 | / { |
| 22 | model = "Marvell Armada 38x family SoC"; | 22 | model = "Marvell Armada 38x family SoC"; |
| 23 | compatible = "marvell,armada38x"; | 23 | compatible = "marvell,armada380"; |
| 24 | 24 | ||
| 25 | aliases { | 25 | aliases { |
| 26 | gpio0 = &gpio0; | 26 | gpio0 = &gpio0; |
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index e5c6a0492ca0..4e5a59ee1501 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | memory { | 26 | memory { |
| 27 | device_type = "memory"; | 27 | device_type = "memory"; |
| 28 | reg = <0 0x00000000 0 0xC0000000>; /* 3 GB */ | 28 | reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */ |
| 29 | }; | 29 | }; |
| 30 | 30 | ||
| 31 | soc { | 31 | soc { |
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi index b309c1c6e848..04927db1d6bf 100644 --- a/arch/arm/boot/dts/at91sam9261.dtsi +++ b/arch/arm/boot/dts/at91sam9261.dtsi | |||
| @@ -568,24 +568,17 @@ | |||
| 568 | #size-cells = <0>; | 568 | #size-cells = <0>; |
| 569 | #interrupt-cells = <1>; | 569 | #interrupt-cells = <1>; |
| 570 | 570 | ||
| 571 | slow_rc_osc: slow_rc_osc { | 571 | main_osc: main_osc { |
| 572 | compatible = "fixed-clock"; | 572 | compatible = "atmel,at91rm9200-clk-main-osc"; |
| 573 | #clock-cells = <0>; | 573 | #clock-cells = <0>; |
| 574 | clock-frequency = <32768>; | 574 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; |
| 575 | clock-accuracy = <50000000>; | 575 | clocks = <&main_xtal>; |
| 576 | }; | ||
| 577 | |||
| 578 | clk32k: slck { | ||
| 579 | compatible = "atmel,at91sam9260-clk-slow"; | ||
| 580 | #clock-cells = <0>; | ||
| 581 | clocks = <&slow_rc_osc &slow_xtal>; | ||
| 582 | }; | 576 | }; |
| 583 | 577 | ||
| 584 | main: mainck { | 578 | main: mainck { |
| 585 | compatible = "atmel,at91rm9200-clk-main"; | 579 | compatible = "atmel,at91rm9200-clk-main"; |
| 586 | #clock-cells = <0>; | 580 | #clock-cells = <0>; |
| 587 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; | 581 | clocks = <&main_osc>; |
| 588 | clocks = <&main_xtal>; | ||
| 589 | }; | 582 | }; |
| 590 | 583 | ||
| 591 | plla: pllack { | 584 | plla: pllack { |
| @@ -615,7 +608,7 @@ | |||
| 615 | compatible = "atmel,at91rm9200-clk-master"; | 608 | compatible = "atmel,at91rm9200-clk-master"; |
| 616 | #clock-cells = <0>; | 609 | #clock-cells = <0>; |
| 617 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; | 610 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; |
| 618 | clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; | 611 | clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; |
| 619 | atmel,clk-output-range = <0 94000000>; | 612 | atmel,clk-output-range = <0 94000000>; |
| 620 | atmel,clk-divisors = <1 2 4 0>; | 613 | atmel,clk-divisors = <1 2 4 0>; |
| 621 | }; | 614 | }; |
| @@ -632,7 +625,7 @@ | |||
| 632 | #address-cells = <1>; | 625 | #address-cells = <1>; |
| 633 | #size-cells = <0>; | 626 | #size-cells = <0>; |
| 634 | interrupt-parent = <&pmc>; | 627 | interrupt-parent = <&pmc>; |
| 635 | clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; | 628 | clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; |
| 636 | 629 | ||
| 637 | prog0: prog0 { | 630 | prog0: prog0 { |
| 638 | #clock-cells = <0>; | 631 | #clock-cells = <0>; |
diff --git a/arch/arm/boot/dts/at91sam9261ek.dts b/arch/arm/boot/dts/at91sam9261ek.dts index c6683ea8b743..aa35a7aec9a8 100644 --- a/arch/arm/boot/dts/at91sam9261ek.dts +++ b/arch/arm/boot/dts/at91sam9261ek.dts | |||
| @@ -20,6 +20,10 @@ | |||
| 20 | reg = <0x20000000 0x4000000>; | 20 | reg = <0x20000000 0x4000000>; |
| 21 | }; | 21 | }; |
| 22 | 22 | ||
| 23 | slow_xtal { | ||
| 24 | clock-frequency = <32768>; | ||
| 25 | }; | ||
| 26 | |||
| 23 | main_xtal { | 27 | main_xtal { |
| 24 | clock-frequency = <18432000>; | 28 | clock-frequency = <18432000>; |
| 25 | }; | 29 | }; |
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi index d1b82e6635d5..287795985e32 100644 --- a/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/arch/arm/boot/dts/at91sam9n12.dtsi | |||
| @@ -132,8 +132,8 @@ | |||
| 132 | <595000000 650000000 3 0>, | 132 | <595000000 650000000 3 0>, |
| 133 | <545000000 600000000 0 1>, | 133 | <545000000 600000000 0 1>, |
| 134 | <495000000 555000000 1 1>, | 134 | <495000000 555000000 1 1>, |
| 135 | <445000000 500000000 1 2>, | 135 | <445000000 500000000 2 1>, |
| 136 | <400000000 450000000 1 3>; | 136 | <400000000 450000000 3 1>; |
| 137 | }; | 137 | }; |
| 138 | 138 | ||
| 139 | plladiv: plladivck { | 139 | plladiv: plladivck { |
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index 1a57298636a5..d6133f497207 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
| @@ -140,8 +140,8 @@ | |||
| 140 | 595000000 650000000 3 0 | 140 | 595000000 650000000 3 0 |
| 141 | 545000000 600000000 0 1 | 141 | 545000000 600000000 0 1 |
| 142 | 495000000 555000000 1 1 | 142 | 495000000 555000000 1 1 |
| 143 | 445000000 500000000 1 2 | 143 | 445000000 500000000 2 1 |
| 144 | 400000000 450000000 1 3>; | 144 | 400000000 450000000 3 1>; |
| 145 | }; | 145 | }; |
| 146 | 146 | ||
| 147 | plladiv: plladivck { | 147 | plladiv: plladivck { |
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index b8ece4be41ca..fbaf426d2daa 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi | |||
| @@ -113,7 +113,7 @@ | |||
| 113 | compatible = "arm,cortex-a9-gic"; | 113 | compatible = "arm,cortex-a9-gic"; |
| 114 | #interrupt-cells = <3>; | 114 | #interrupt-cells = <3>; |
| 115 | interrupt-controller; | 115 | interrupt-controller; |
| 116 | reg = <0x10490000 0x1000>, <0x10480000 0x100>; | 116 | reg = <0x10490000 0x10000>, <0x10480000 0x10000>; |
| 117 | }; | 117 | }; |
| 118 | 118 | ||
| 119 | combiner: interrupt-controller@10440000 { | 119 | combiner: interrupt-controller@10440000 { |
diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index 6bc3243a80d3..181d77fa2fa6 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts | |||
| @@ -315,15 +315,15 @@ | |||
| 315 | &esdhc1 { | 315 | &esdhc1 { |
| 316 | pinctrl-names = "default"; | 316 | pinctrl-names = "default"; |
| 317 | pinctrl-0 = <&pinctrl_esdhc1>; | 317 | pinctrl-0 = <&pinctrl_esdhc1>; |
| 318 | fsl,cd-controller; | 318 | cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; |
| 319 | fsl,wp-controller; | 319 | wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; |
| 320 | status = "okay"; | 320 | status = "okay"; |
| 321 | }; | 321 | }; |
| 322 | 322 | ||
| 323 | &esdhc2 { | 323 | &esdhc2 { |
| 324 | pinctrl-names = "default"; | 324 | pinctrl-names = "default"; |
| 325 | pinctrl-0 = <&pinctrl_esdhc2>; | 325 | pinctrl-0 = <&pinctrl_esdhc2>; |
| 326 | cd-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; | 326 | cd-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; |
| 327 | wp-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; | 327 | wp-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; |
| 328 | status = "okay"; | 328 | status = "okay"; |
| 329 | }; | 329 | }; |
| @@ -468,8 +468,8 @@ | |||
| 468 | MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 | 468 | MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 |
| 469 | MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 | 469 | MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 |
| 470 | MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 | 470 | MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 |
| 471 | MX51_PAD_GPIO1_0__SD1_CD 0x20d5 | 471 | MX51_PAD_GPIO1_0__GPIO1_0 0x100 |
| 472 | MX51_PAD_GPIO1_1__SD1_WP 0x20d5 | 472 | MX51_PAD_GPIO1_1__GPIO1_1 0x100 |
| 473 | >; | 473 | >; |
| 474 | }; | 474 | }; |
| 475 | 475 | ||
diff --git a/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts b/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts index 75e66c9c6144..31cfb7f2b02e 100644 --- a/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts +++ b/arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts | |||
| @@ -107,7 +107,7 @@ | |||
| 107 | &esdhc1 { | 107 | &esdhc1 { |
| 108 | pinctrl-names = "default"; | 108 | pinctrl-names = "default"; |
| 109 | pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>; | 109 | pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>; |
| 110 | fsl,cd-controller; | 110 | cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; |
| 111 | status = "okay"; | 111 | status = "okay"; |
| 112 | }; | 112 | }; |
| 113 | 113 | ||
| @@ -206,7 +206,7 @@ | |||
| 206 | 206 | ||
| 207 | pinctrl_esdhc1_cd: esdhc1_cd { | 207 | pinctrl_esdhc1_cd: esdhc1_cd { |
| 208 | fsl,pins = < | 208 | fsl,pins = < |
| 209 | MX51_PAD_GPIO1_0__SD1_CD 0x20d5 | 209 | MX51_PAD_GPIO1_0__GPIO1_0 0xd5 |
| 210 | >; | 210 | >; |
| 211 | }; | 211 | }; |
| 212 | 212 | ||
diff --git a/arch/arm/boot/dts/imx53-m53evk.dts b/arch/arm/boot/dts/imx53-m53evk.dts index d5d146a8b149..c4956b0ffb35 100644 --- a/arch/arm/boot/dts/imx53-m53evk.dts +++ b/arch/arm/boot/dts/imx53-m53evk.dts | |||
| @@ -21,27 +21,25 @@ | |||
| 21 | <0xb0000000 0x20000000>; | 21 | <0xb0000000 0x20000000>; |
| 22 | }; | 22 | }; |
| 23 | 23 | ||
| 24 | soc { | 24 | display1: display@di1 { |
| 25 | display1: display@di1 { | 25 | compatible = "fsl,imx-parallel-display"; |
| 26 | compatible = "fsl,imx-parallel-display"; | 26 | interface-pix-fmt = "bgr666"; |
| 27 | interface-pix-fmt = "bgr666"; | 27 | pinctrl-names = "default"; |
| 28 | pinctrl-names = "default"; | 28 | pinctrl-0 = <&pinctrl_ipu_disp1>; |
| 29 | pinctrl-0 = <&pinctrl_ipu_disp1>; | 29 | |
| 30 | 30 | display-timings { | |
| 31 | display-timings { | 31 | 800x480p60 { |
| 32 | 800x480p60 { | 32 | native-mode; |
| 33 | native-mode; | 33 | clock-frequency = <31500000>; |
| 34 | clock-frequency = <31500000>; | 34 | hactive = <800>; |
| 35 | hactive = <800>; | 35 | vactive = <480>; |
| 36 | vactive = <480>; | 36 | hfront-porch = <40>; |
| 37 | hfront-porch = <40>; | 37 | hback-porch = <88>; |
| 38 | hback-porch = <88>; | 38 | hsync-len = <128>; |
| 39 | hsync-len = <128>; | 39 | vback-porch = <33>; |
| 40 | vback-porch = <33>; | 40 | vfront-porch = <9>; |
| 41 | vfront-porch = <9>; | 41 | vsync-len = <3>; |
| 42 | vsync-len = <3>; | 42 | vsync-active = <1>; |
| 43 | vsync-active = <1>; | ||
| 44 | }; | ||
| 45 | }; | 43 | }; |
| 46 | }; | 44 | }; |
| 47 | 45 | ||
diff --git a/arch/arm/boot/dts/imx6dl-hummingboard.dts b/arch/arm/boot/dts/imx6dl-hummingboard.dts index 5373a5f2782b..c8e51dd41b8f 100644 --- a/arch/arm/boot/dts/imx6dl-hummingboard.dts +++ b/arch/arm/boot/dts/imx6dl-hummingboard.dts | |||
| @@ -143,6 +143,14 @@ | |||
| 143 | fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; | 143 | fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; |
| 144 | }; | 144 | }; |
| 145 | 145 | ||
| 146 | pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id { | ||
| 147 | /* | ||
| 148 | * Similar to pinctrl_usbotg_2, but we want it | ||
| 149 | * pulled down for a fixed host connection. | ||
| 150 | */ | ||
| 151 | fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; | ||
| 152 | }; | ||
| 153 | |||
| 146 | pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { | 154 | pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { |
| 147 | fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; | 155 | fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; |
| 148 | }; | 156 | }; |
| @@ -178,6 +186,8 @@ | |||
| 178 | }; | 186 | }; |
| 179 | 187 | ||
| 180 | &usbotg { | 188 | &usbotg { |
| 189 | pinctrl-names = "default"; | ||
| 190 | pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>; | ||
| 181 | vbus-supply = <®_usbotg_vbus>; | 191 | vbus-supply = <®_usbotg_vbus>; |
| 182 | status = "okay"; | 192 | status = "okay"; |
| 183 | }; | 193 | }; |
diff --git a/arch/arm/boot/dts/imx6q-gw51xx.dts b/arch/arm/boot/dts/imx6q-gw51xx.dts index af4929aee075..0e1406e58eff 100644 --- a/arch/arm/boot/dts/imx6q-gw51xx.dts +++ b/arch/arm/boot/dts/imx6q-gw51xx.dts | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | /dts-v1/; | 12 | /dts-v1/; |
| 13 | #include "imx6q.dtsi" | 13 | #include "imx6q.dtsi" |
| 14 | #include "imx6qdl-gw54xx.dtsi" | 14 | #include "imx6qdl-gw51xx.dtsi" |
| 15 | 15 | ||
| 16 | / { | 16 | / { |
| 17 | model = "Gateworks Ventana i.MX6 Quad GW51XX"; | 17 | model = "Gateworks Ventana i.MX6 Quad GW51XX"; |
diff --git a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi index 25da82a03110..e8e781656b3f 100644 --- a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +++ b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | |||
| @@ -12,6 +12,19 @@ | |||
| 12 | pinctrl-0 = <&pinctrl_cubox_i_ir>; | 12 | pinctrl-0 = <&pinctrl_cubox_i_ir>; |
| 13 | }; | 13 | }; |
| 14 | 14 | ||
| 15 | pwmleds { | ||
| 16 | compatible = "pwm-leds"; | ||
| 17 | pinctrl-names = "default"; | ||
| 18 | pinctrl-0 = <&pinctrl_cubox_i_pwm1>; | ||
| 19 | |||
| 20 | front { | ||
| 21 | active-low; | ||
| 22 | label = "imx6:red:front"; | ||
| 23 | max-brightness = <248>; | ||
| 24 | pwms = <&pwm1 0 50000>; | ||
| 25 | }; | ||
| 26 | }; | ||
| 27 | |||
| 15 | regulators { | 28 | regulators { |
| 16 | compatible = "simple-bus"; | 29 | compatible = "simple-bus"; |
| 17 | 30 | ||
| @@ -109,6 +122,10 @@ | |||
| 109 | >; | 122 | >; |
| 110 | }; | 123 | }; |
| 111 | 124 | ||
| 125 | pinctrl_cubox_i_pwm1: cubox-i-pwm1-front-led { | ||
| 126 | fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b0>; | ||
| 127 | }; | ||
| 128 | |||
| 112 | pinctrl_cubox_i_spdif: cubox-i-spdif { | 129 | pinctrl_cubox_i_spdif: cubox-i-spdif { |
| 113 | fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; | 130 | fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; |
| 114 | }; | 131 | }; |
| @@ -117,6 +134,14 @@ | |||
| 117 | fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x4001b0b0>; | 134 | fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x4001b0b0>; |
| 118 | }; | 135 | }; |
| 119 | 136 | ||
| 137 | pinctrl_cubox_i_usbotg_id: cubox-i-usbotg-id { | ||
| 138 | /* | ||
| 139 | * The Cubox-i pulls this low, but as it's pointless | ||
| 140 | * leaving it as a pull-up, even if it is just 10uA. | ||
| 141 | */ | ||
| 142 | fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; | ||
| 143 | }; | ||
| 144 | |||
| 120 | pinctrl_cubox_i_usbotg_vbus: cubox-i-usbotg-vbus { | 145 | pinctrl_cubox_i_usbotg_vbus: cubox-i-usbotg-vbus { |
| 121 | fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x4001b0b0>; | 146 | fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x4001b0b0>; |
| 122 | }; | 147 | }; |
| @@ -153,6 +178,8 @@ | |||
| 153 | }; | 178 | }; |
| 154 | 179 | ||
| 155 | &usbotg { | 180 | &usbotg { |
| 181 | pinctrl-names = "default"; | ||
| 182 | pinctrl-0 = <&pinctrl_cubox_i_usbotg_id>; | ||
| 156 | vbus-supply = <®_usbotg_vbus>; | 183 | vbus-supply = <®_usbotg_vbus>; |
| 157 | status = "okay"; | 184 | status = "okay"; |
| 158 | }; | 185 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi index 31665adcbf39..0db15af41cb1 100644 --- a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi | |||
| @@ -161,7 +161,7 @@ | |||
| 161 | status = "okay"; | 161 | status = "okay"; |
| 162 | 162 | ||
| 163 | pmic: ltc3676@3c { | 163 | pmic: ltc3676@3c { |
| 164 | compatible = "ltc,ltc3676"; | 164 | compatible = "lltc,ltc3676"; |
| 165 | reg = <0x3c>; | 165 | reg = <0x3c>; |
| 166 | 166 | ||
| 167 | regulators { | 167 | regulators { |
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi index 367af3ec9435..744c8a2d81f6 100644 --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | |||
| @@ -220,7 +220,7 @@ | |||
| 220 | }; | 220 | }; |
| 221 | 221 | ||
| 222 | pmic: ltc3676@3c { | 222 | pmic: ltc3676@3c { |
| 223 | compatible = "ltc,ltc3676"; | 223 | compatible = "lltc,ltc3676"; |
| 224 | reg = <0x3c>; | 224 | reg = <0x3c>; |
| 225 | 225 | ||
| 226 | regulators { | 226 | regulators { |
| @@ -288,7 +288,7 @@ | |||
| 288 | codec: sgtl5000@0a { | 288 | codec: sgtl5000@0a { |
| 289 | compatible = "fsl,sgtl5000"; | 289 | compatible = "fsl,sgtl5000"; |
| 290 | reg = <0x0a>; | 290 | reg = <0x0a>; |
| 291 | clocks = <&clks 169>; | 291 | clocks = <&clks 201>; |
| 292 | VDDA-supply = <®_1p8v>; | 292 | VDDA-supply = <®_1p8v>; |
| 293 | VDDIO-supply = <®_3p3v>; | 293 | VDDIO-supply = <®_3p3v>; |
| 294 | }; | 294 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi index c91b5a6c769b..adf150c1be90 100644 --- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | |||
| @@ -234,7 +234,7 @@ | |||
| 234 | }; | 234 | }; |
| 235 | 235 | ||
| 236 | pmic: ltc3676@3c { | 236 | pmic: ltc3676@3c { |
| 237 | compatible = "ltc,ltc3676"; | 237 | compatible = "lltc,ltc3676"; |
| 238 | reg = <0x3c>; | 238 | reg = <0x3c>; |
| 239 | 239 | ||
| 240 | regulators { | 240 | regulators { |
diff --git a/arch/arm/boot/dts/imx6qdl-microsom.dtsi b/arch/arm/boot/dts/imx6qdl-microsom.dtsi index d729d0b15f25..79eac6849d4c 100644 --- a/arch/arm/boot/dts/imx6qdl-microsom.dtsi +++ b/arch/arm/boot/dts/imx6qdl-microsom.dtsi | |||
| @@ -10,14 +10,6 @@ | |||
| 10 | MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 | 10 | MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 |
| 11 | >; | 11 | >; |
| 12 | }; | 12 | }; |
| 13 | |||
| 14 | pinctrl_microsom_usbotg: microsom-usbotg { | ||
| 15 | /* | ||
| 16 | * Similar to pinctrl_usbotg_2, but we want it | ||
| 17 | * pulled down for a fixed host connection. | ||
| 18 | */ | ||
| 19 | fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; | ||
| 20 | }; | ||
| 21 | }; | 13 | }; |
| 22 | }; | 14 | }; |
| 23 | 15 | ||
| @@ -26,8 +18,3 @@ | |||
| 26 | pinctrl-0 = <&pinctrl_microsom_uart1>; | 18 | pinctrl-0 = <&pinctrl_microsom_uart1>; |
| 27 | status = "okay"; | 19 | status = "okay"; |
| 28 | }; | 20 | }; |
| 29 | |||
| 30 | &usbotg { | ||
| 31 | pinctrl-names = "default"; | ||
| 32 | pinctrl-0 = <&pinctrl_microsom_usbotg>; | ||
| 33 | }; | ||
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi index 2d4e5285f3f3..57d4abe03a94 100644 --- a/arch/arm/boot/dts/imx6sl.dtsi +++ b/arch/arm/boot/dts/imx6sl.dtsi | |||
| @@ -686,7 +686,7 @@ | |||
| 686 | compatible = "fsl,imx6sl-fec", "fsl,imx25-fec"; | 686 | compatible = "fsl,imx6sl-fec", "fsl,imx25-fec"; |
| 687 | reg = <0x02188000 0x4000>; | 687 | reg = <0x02188000 0x4000>; |
| 688 | interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>; | 688 | interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>; |
| 689 | clocks = <&clks IMX6SL_CLK_ENET_REF>, | 689 | clocks = <&clks IMX6SL_CLK_ENET>, |
| 690 | <&clks IMX6SL_CLK_ENET_REF>; | 690 | <&clks IMX6SL_CLK_ENET_REF>; |
| 691 | clock-names = "ipg", "ahb"; | 691 | clock-names = "ipg", "ahb"; |
| 692 | status = "disabled"; | 692 | status = "disabled"; |
diff --git a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts index c5a1fc75c7a3..b2d9834bf458 100644 --- a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts +++ b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts | |||
| @@ -105,7 +105,6 @@ | |||
| 105 | compatible = "ethernet-phy-id0141.0cb0", | 105 | compatible = "ethernet-phy-id0141.0cb0", |
| 106 | "ethernet-phy-ieee802.3-c22"; | 106 | "ethernet-phy-ieee802.3-c22"; |
| 107 | reg = <0>; | 107 | reg = <0>; |
| 108 | phy-connection-type = "rgmii-id"; | ||
| 109 | }; | 108 | }; |
| 110 | 109 | ||
| 111 | ethphy1: ethernet-phy@1 { | 110 | ethphy1: ethernet-phy@1 { |
| @@ -113,7 +112,6 @@ | |||
| 113 | compatible = "ethernet-phy-id0141.0cb0", | 112 | compatible = "ethernet-phy-id0141.0cb0", |
| 114 | "ethernet-phy-ieee802.3-c22"; | 113 | "ethernet-phy-ieee802.3-c22"; |
| 115 | reg = <1>; | 114 | reg = <1>; |
| 116 | phy-connection-type = "rgmii-id"; | ||
| 117 | }; | 115 | }; |
| 118 | }; | 116 | }; |
| 119 | 117 | ||
| @@ -121,6 +119,7 @@ | |||
| 121 | status = "okay"; | 119 | status = "okay"; |
| 122 | ethernet0-port@0 { | 120 | ethernet0-port@0 { |
| 123 | phy-handle = <ðphy0>; | 121 | phy-handle = <ðphy0>; |
| 122 | phy-connection-type = "rgmii-id"; | ||
| 124 | }; | 123 | }; |
| 125 | }; | 124 | }; |
| 126 | 125 | ||
| @@ -128,5 +127,6 @@ | |||
| 128 | status = "okay"; | 127 | status = "okay"; |
| 129 | ethernet1-port@0 { | 128 | ethernet1-port@0 { |
| 130 | phy-handle = <ðphy1>; | 129 | phy-handle = <ðphy1>; |
| 130 | phy-connection-type = "rgmii-id"; | ||
| 131 | }; | 131 | }; |
| 132 | }; | 132 | }; |
diff --git a/arch/arm/boot/dts/stih415.dtsi b/arch/arm/boot/dts/stih415.dtsi index d6f254f302fe..a0f6f75fe3b5 100644 --- a/arch/arm/boot/dts/stih415.dtsi +++ b/arch/arm/boot/dts/stih415.dtsi | |||
| @@ -169,8 +169,8 @@ | |||
| 169 | 169 | ||
| 170 | pinctrl-names = "default"; | 170 | pinctrl-names = "default"; |
| 171 | pinctrl-0 = <&pinctrl_mii0>; | 171 | pinctrl-0 = <&pinctrl_mii0>; |
| 172 | clock-names = "stmmaceth"; | 172 | clock-names = "stmmaceth", "sti-ethclk"; |
| 173 | clocks = <&clk_s_a1_ls CLK_GMAC0_PHY>; | 173 | clocks = <&clk_s_a1_ls CLK_ICN_IF_2>, <&clk_s_a1_ls CLK_GMAC0_PHY>; |
| 174 | }; | 174 | }; |
| 175 | 175 | ||
| 176 | ethernet1: dwmac@fef08000 { | 176 | ethernet1: dwmac@fef08000 { |
| @@ -192,8 +192,8 @@ | |||
| 192 | reset-names = "stmmaceth"; | 192 | reset-names = "stmmaceth"; |
| 193 | pinctrl-names = "default"; | 193 | pinctrl-names = "default"; |
| 194 | pinctrl-0 = <&pinctrl_mii1>; | 194 | pinctrl-0 = <&pinctrl_mii1>; |
| 195 | clock-names = "stmmaceth"; | 195 | clock-names = "stmmaceth", "sti-ethclk"; |
| 196 | clocks = <&clk_s_a0_ls CLK_ETH1_PHY>; | 196 | clocks = <&clk_s_a0_ls CLK_ICN_REG>, <&clk_s_a0_ls CLK_ETH1_PHY>; |
| 197 | }; | 197 | }; |
| 198 | 198 | ||
| 199 | rc: rc@fe518000 { | 199 | rc: rc@fe518000 { |
diff --git a/arch/arm/boot/dts/stih416-b2020-revE.dts b/arch/arm/boot/dts/stih416-b2020e.dts index ba0fa2caaf18..ba0fa2caaf18 100644 --- a/arch/arm/boot/dts/stih416-b2020-revE.dts +++ b/arch/arm/boot/dts/stih416-b2020e.dts | |||
diff --git a/arch/arm/boot/dts/stih416.dtsi b/arch/arm/boot/dts/stih416.dtsi index 06473c5d9ea9..84758d76d064 100644 --- a/arch/arm/boot/dts/stih416.dtsi +++ b/arch/arm/boot/dts/stih416.dtsi | |||
| @@ -175,8 +175,8 @@ | |||
| 175 | reset-names = "stmmaceth"; | 175 | reset-names = "stmmaceth"; |
| 176 | pinctrl-names = "default"; | 176 | pinctrl-names = "default"; |
| 177 | pinctrl-0 = <&pinctrl_mii0>; | 177 | pinctrl-0 = <&pinctrl_mii0>; |
| 178 | clock-names = "stmmaceth"; | 178 | clock-names = "stmmaceth", "sti-ethclk"; |
| 179 | clocks = <&clk_s_a1_ls CLK_GMAC0_PHY>; | 179 | clocks = <&clk_s_a1_ls CLK_ICN_IF_2>, <&clk_s_a1_ls CLK_GMAC0_PHY>; |
| 180 | }; | 180 | }; |
| 181 | 181 | ||
| 182 | ethernet1: dwmac@fef08000 { | 182 | ethernet1: dwmac@fef08000 { |
| @@ -197,8 +197,8 @@ | |||
| 197 | reset-names = "stmmaceth"; | 197 | reset-names = "stmmaceth"; |
| 198 | pinctrl-names = "default"; | 198 | pinctrl-names = "default"; |
| 199 | pinctrl-0 = <&pinctrl_mii1>; | 199 | pinctrl-0 = <&pinctrl_mii1>; |
| 200 | clock-names = "stmmaceth"; | 200 | clock-names = "stmmaceth", "sti-ethclk"; |
| 201 | clocks = <&clk_s_a0_ls CLK_ETH1_PHY>; | 201 | clocks = <&clk_s_a0_ls CLK_ICN_REG>, <&clk_s_a0_ls CLK_ETH1_PHY>; |
| 202 | }; | 202 | }; |
| 203 | 203 | ||
| 204 | rc: rc@fe518000 { | 204 | rc: rc@fe518000 { |
diff --git a/arch/arm/common/scoop.c b/arch/arm/common/scoop.c index 6ef146edd0cd..a20fa80776d3 100644 --- a/arch/arm/common/scoop.c +++ b/arch/arm/common/scoop.c | |||
| @@ -182,7 +182,6 @@ static int scoop_probe(struct platform_device *pdev) | |||
| 182 | struct scoop_config *inf; | 182 | struct scoop_config *inf; |
| 183 | struct resource *mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 183 | struct resource *mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
| 184 | int ret; | 184 | int ret; |
| 185 | int temp; | ||
| 186 | 185 | ||
| 187 | if (!mem) | 186 | if (!mem) |
| 188 | return -EINVAL; | 187 | return -EINVAL; |
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index ef8815327e5b..59b7e45142d8 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig | |||
| @@ -186,6 +186,7 @@ CONFIG_VIDEO_MX3=y | |||
| 186 | CONFIG_V4L_MEM2MEM_DRIVERS=y | 186 | CONFIG_V4L_MEM2MEM_DRIVERS=y |
| 187 | CONFIG_VIDEO_CODA=y | 187 | CONFIG_VIDEO_CODA=y |
| 188 | CONFIG_SOC_CAMERA_OV2640=y | 188 | CONFIG_SOC_CAMERA_OV2640=y |
| 189 | CONFIG_IMX_IPUV3_CORE=y | ||
| 189 | CONFIG_DRM=y | 190 | CONFIG_DRM=y |
| 190 | CONFIG_DRM_PANEL_SIMPLE=y | 191 | CONFIG_DRM_PANEL_SIMPLE=y |
| 191 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 192 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index e2d62048e198..be1a3455a9fe 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig | |||
| @@ -300,6 +300,7 @@ CONFIG_MMC=y | |||
| 300 | CONFIG_MMC_BLOCK_MINORS=16 | 300 | CONFIG_MMC_BLOCK_MINORS=16 |
| 301 | CONFIG_MMC_ARMMMCI=y | 301 | CONFIG_MMC_ARMMMCI=y |
| 302 | CONFIG_MMC_SDHCI=y | 302 | CONFIG_MMC_SDHCI=y |
| 303 | CONFIG_MMC_SDHCI_PLTFM=y | ||
| 303 | CONFIG_MMC_SDHCI_OF_ARASAN=y | 304 | CONFIG_MMC_SDHCI_OF_ARASAN=y |
| 304 | CONFIG_MMC_SDHCI_ESDHC_IMX=y | 305 | CONFIG_MMC_SDHCI_ESDHC_IMX=y |
| 305 | CONFIG_MMC_SDHCI_DOVE=y | 306 | CONFIG_MMC_SDHCI_DOVE=y |
| @@ -352,6 +353,7 @@ CONFIG_MFD_NVEC=y | |||
| 352 | CONFIG_KEYBOARD_NVEC=y | 353 | CONFIG_KEYBOARD_NVEC=y |
| 353 | CONFIG_SERIO_NVEC_PS2=y | 354 | CONFIG_SERIO_NVEC_PS2=y |
| 354 | CONFIG_NVEC_POWER=y | 355 | CONFIG_NVEC_POWER=y |
| 356 | CONFIG_QCOM_GSBI=y | ||
| 355 | CONFIG_COMMON_CLK_QCOM=y | 357 | CONFIG_COMMON_CLK_QCOM=y |
| 356 | CONFIG_MSM_GCC_8660=y | 358 | CONFIG_MSM_GCC_8660=y |
| 357 | CONFIG_MSM_MMCC_8960=y | 359 | CONFIG_MSM_MMCC_8960=y |
diff --git a/arch/arm/configs/mvebu_v7_defconfig b/arch/arm/configs/mvebu_v7_defconfig index e11170e37442..b0bfefa23902 100644 --- a/arch/arm/configs/mvebu_v7_defconfig +++ b/arch/arm/configs/mvebu_v7_defconfig | |||
| @@ -14,6 +14,7 @@ CONFIG_MACH_ARMADA_370=y | |||
| 14 | CONFIG_MACH_ARMADA_375=y | 14 | CONFIG_MACH_ARMADA_375=y |
| 15 | CONFIG_MACH_ARMADA_38X=y | 15 | CONFIG_MACH_ARMADA_38X=y |
| 16 | CONFIG_MACH_ARMADA_XP=y | 16 | CONFIG_MACH_ARMADA_XP=y |
| 17 | CONFIG_MACH_DOVE=y | ||
| 17 | CONFIG_NEON=y | 18 | CONFIG_NEON=y |
| 18 | # CONFIG_CACHE_L2X0 is not set | 19 | # CONFIG_CACHE_L2X0 is not set |
| 19 | # CONFIG_SWP_EMULATE is not set | 20 | # CONFIG_SWP_EMULATE is not set |
| @@ -52,6 +53,7 @@ CONFIG_INPUT_EVDEV=y | |||
| 52 | CONFIG_KEYBOARD_GPIO=y | 53 | CONFIG_KEYBOARD_GPIO=y |
| 53 | CONFIG_SERIAL_8250=y | 54 | CONFIG_SERIAL_8250=y |
| 54 | CONFIG_SERIAL_8250_CONSOLE=y | 55 | CONFIG_SERIAL_8250_CONSOLE=y |
| 56 | CONFIG_SERIAL_OF_PLATFORM=y | ||
| 55 | CONFIG_I2C=y | 57 | CONFIG_I2C=y |
| 56 | CONFIG_SPI=y | 58 | CONFIG_SPI=y |
| 57 | CONFIG_SPI_ORION=y | 59 | CONFIG_SPI_ORION=y |
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index 59066cf0271a..536a137863cb 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig | |||
| @@ -32,6 +32,7 @@ CONFIG_SOC_OMAP5=y | |||
| 32 | CONFIG_SOC_AM33XX=y | 32 | CONFIG_SOC_AM33XX=y |
| 33 | CONFIG_SOC_AM43XX=y | 33 | CONFIG_SOC_AM43XX=y |
| 34 | CONFIG_SOC_DRA7XX=y | 34 | CONFIG_SOC_DRA7XX=y |
| 35 | CONFIG_CACHE_L2X0=y | ||
| 35 | CONFIG_ARM_THUMBEE=y | 36 | CONFIG_ARM_THUMBEE=y |
| 36 | CONFIG_ARM_ERRATA_411920=y | 37 | CONFIG_ARM_ERRATA_411920=y |
| 37 | CONFIG_SMP=y | 38 | CONFIG_SMP=y |
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h index eb577f4f5f70..39eb16b0066f 100644 --- a/arch/arm/include/asm/ftrace.h +++ b/arch/arm/include/asm/ftrace.h | |||
| @@ -52,7 +52,7 @@ extern inline void *return_address(unsigned int level) | |||
| 52 | 52 | ||
| 53 | #endif | 53 | #endif |
| 54 | 54 | ||
| 55 | #define ftrace_return_addr(n) return_address(n) | 55 | #define ftrace_return_address(n) return_address(n) |
| 56 | 56 | ||
| 57 | #endif /* ifndef __ASSEMBLY__ */ | 57 | #endif /* ifndef __ASSEMBLY__ */ |
| 58 | 58 | ||
diff --git a/arch/arm/include/asm/mcpm.h b/arch/arm/include/asm/mcpm.h index d9702eb0b02b..94060adba174 100644 --- a/arch/arm/include/asm/mcpm.h +++ b/arch/arm/include/asm/mcpm.h | |||
| @@ -208,8 +208,6 @@ struct sync_struct { | |||
| 208 | struct mcpm_sync_struct clusters[MAX_NR_CLUSTERS]; | 208 | struct mcpm_sync_struct clusters[MAX_NR_CLUSTERS]; |
| 209 | }; | 209 | }; |
| 210 | 210 | ||
| 211 | extern unsigned long sync_phys; /* physical address of *mcpm_sync */ | ||
| 212 | |||
| 213 | void __mcpm_cpu_going_down(unsigned int cpu, unsigned int cluster); | 211 | void __mcpm_cpu_going_down(unsigned int cpu, unsigned int cluster); |
| 214 | void __mcpm_cpu_down(unsigned int cpu, unsigned int cluster); | 212 | void __mcpm_cpu_down(unsigned int cpu, unsigned int cluster); |
| 215 | void __mcpm_outbound_leave_critical(unsigned int cluster, int state); | 213 | void __mcpm_outbound_leave_critical(unsigned int cluster, int state); |
diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h index f989d7c22dc5..e4e4208a9130 100644 --- a/arch/arm/include/asm/thread_info.h +++ b/arch/arm/include/asm/thread_info.h | |||
| @@ -114,8 +114,14 @@ static inline struct thread_info *current_thread_info(void) | |||
| 114 | ((unsigned long)(task_thread_info(tsk)->cpu_context.pc)) | 114 | ((unsigned long)(task_thread_info(tsk)->cpu_context.pc)) |
| 115 | #define thread_saved_sp(tsk) \ | 115 | #define thread_saved_sp(tsk) \ |
| 116 | ((unsigned long)(task_thread_info(tsk)->cpu_context.sp)) | 116 | ((unsigned long)(task_thread_info(tsk)->cpu_context.sp)) |
| 117 | |||
| 118 | #ifndef CONFIG_THUMB2_KERNEL | ||
| 117 | #define thread_saved_fp(tsk) \ | 119 | #define thread_saved_fp(tsk) \ |
| 118 | ((unsigned long)(task_thread_info(tsk)->cpu_context.fp)) | 120 | ((unsigned long)(task_thread_info(tsk)->cpu_context.fp)) |
| 121 | #else | ||
| 122 | #define thread_saved_fp(tsk) \ | ||
| 123 | ((unsigned long)(task_thread_info(tsk)->cpu_context.r7)) | ||
| 124 | #endif | ||
| 119 | 125 | ||
| 120 | extern void crunch_task_disable(struct thread_info *); | 126 | extern void crunch_task_disable(struct thread_info *); |
| 121 | extern void crunch_task_copy(struct thread_info *, void *); | 127 | extern void crunch_task_copy(struct thread_info *, void *); |
diff --git a/arch/arm/kernel/perf_event_v7.c b/arch/arm/kernel/perf_event_v7.c index 2037f7205987..1d37568c547a 100644 --- a/arch/arm/kernel/perf_event_v7.c +++ b/arch/arm/kernel/perf_event_v7.c | |||
| @@ -1924,7 +1924,7 @@ static int krait_pmu_get_event_idx(struct pmu_hw_events *cpuc, | |||
| 1924 | struct perf_event *event) | 1924 | struct perf_event *event) |
| 1925 | { | 1925 | { |
| 1926 | int idx; | 1926 | int idx; |
| 1927 | int bit; | 1927 | int bit = -1; |
| 1928 | unsigned int prefix; | 1928 | unsigned int prefix; |
| 1929 | unsigned int region; | 1929 | unsigned int region; |
| 1930 | unsigned int code; | 1930 | unsigned int code; |
| @@ -1953,7 +1953,7 @@ static int krait_pmu_get_event_idx(struct pmu_hw_events *cpuc, | |||
| 1953 | } | 1953 | } |
| 1954 | 1954 | ||
| 1955 | idx = armv7pmu_get_event_idx(cpuc, event); | 1955 | idx = armv7pmu_get_event_idx(cpuc, event); |
| 1956 | if (idx < 0 && krait_event) | 1956 | if (idx < 0 && bit >= 0) |
| 1957 | clear_bit(bit, cpuc->used_mask); | 1957 | clear_bit(bit, cpuc->used_mask); |
| 1958 | 1958 | ||
| 1959 | return idx; | 1959 | return idx; |
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index 0dd3b79b15c3..0c27ed6f3f23 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c | |||
| @@ -908,7 +908,7 @@ enum ptrace_syscall_dir { | |||
| 908 | PTRACE_SYSCALL_EXIT, | 908 | PTRACE_SYSCALL_EXIT, |
| 909 | }; | 909 | }; |
| 910 | 910 | ||
| 911 | static int tracehook_report_syscall(struct pt_regs *regs, | 911 | static void tracehook_report_syscall(struct pt_regs *regs, |
| 912 | enum ptrace_syscall_dir dir) | 912 | enum ptrace_syscall_dir dir) |
| 913 | { | 913 | { |
| 914 | unsigned long ip; | 914 | unsigned long ip; |
| @@ -926,7 +926,6 @@ static int tracehook_report_syscall(struct pt_regs *regs, | |||
| 926 | current_thread_info()->syscall = -1; | 926 | current_thread_info()->syscall = -1; |
| 927 | 927 | ||
| 928 | regs->ARM_ip = ip; | 928 | regs->ARM_ip = ip; |
| 929 | return current_thread_info()->syscall; | ||
| 930 | } | 929 | } |
| 931 | 930 | ||
| 932 | asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno) | 931 | asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno) |
| @@ -938,7 +937,9 @@ asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno) | |||
| 938 | return -1; | 937 | return -1; |
| 939 | 938 | ||
| 940 | if (test_thread_flag(TIF_SYSCALL_TRACE)) | 939 | if (test_thread_flag(TIF_SYSCALL_TRACE)) |
| 941 | scno = tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER); | 940 | tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER); |
| 941 | |||
| 942 | scno = current_thread_info()->syscall; | ||
| 942 | 943 | ||
| 943 | if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) | 944 | if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) |
| 944 | trace_sys_enter(regs, scno); | 945 | trace_sys_enter(regs, scno); |
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index 9bc6db1c1348..41c839167e87 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig | |||
| @@ -1,10 +1,9 @@ | |||
| 1 | config ARCH_BCM | 1 | menuconfig ARCH_BCM |
| 2 | bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7 | 2 | bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7 |
| 3 | help | 3 | help |
| 4 | This enables support for Broadcom ARM based SoC chips | 4 | This enables support for Broadcom ARM based SoC chips |
| 5 | 5 | ||
| 6 | menu "Broadcom SoC Selection" | 6 | if ARCH_BCM |
| 7 | depends on ARCH_BCM | ||
| 8 | 7 | ||
| 9 | config ARCH_BCM_MOBILE | 8 | config ARCH_BCM_MOBILE |
| 10 | bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7 | 9 | bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7 |
| @@ -88,4 +87,4 @@ config ARCH_BCM_5301X | |||
| 88 | different SoC or with the older BCM47XX and BCM53XX based | 87 | different SoC or with the older BCM47XX and BCM53XX based |
| 89 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx | 88 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx |
| 90 | 89 | ||
| 91 | endmenu | 90 | endif |
diff --git a/arch/arm/mach-berlin/Kconfig b/arch/arm/mach-berlin/Kconfig index 101e0f356730..2631cfc5ab0d 100644 --- a/arch/arm/mach-berlin/Kconfig +++ b/arch/arm/mach-berlin/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_BERLIN | 1 | menuconfig ARCH_BERLIN |
| 2 | bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 | 2 | bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 |
| 3 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
| 4 | select ARM_GIC | 4 | select ARM_GIC |
| @@ -9,8 +9,6 @@ config ARCH_BERLIN | |||
| 9 | 9 | ||
| 10 | if ARCH_BERLIN | 10 | if ARCH_BERLIN |
| 11 | 11 | ||
| 12 | menu "Marvell Berlin SoC variants" | ||
| 13 | |||
| 14 | config MACH_BERLIN_BG2 | 12 | config MACH_BERLIN_BG2 |
| 15 | bool "Marvell Armada 1500 (BG2)" | 13 | bool "Marvell Armada 1500 (BG2)" |
| 16 | select CACHE_L2X0 | 14 | select CACHE_L2X0 |
| @@ -30,6 +28,4 @@ config MACH_BERLIN_BG2Q | |||
| 30 | select HAVE_ARM_TWD if SMP | 28 | select HAVE_ARM_TWD if SMP |
| 31 | select PINCTRL_BERLIN_BG2Q | 29 | select PINCTRL_BERLIN_BG2Q |
| 32 | 30 | ||
| 33 | endmenu | ||
| 34 | |||
| 35 | endif | 31 | endif |
diff --git a/arch/arm/mach-cns3xxx/Kconfig b/arch/arm/mach-cns3xxx/Kconfig index 66838f42037f..3c22a1990ecd 100644 --- a/arch/arm/mach-cns3xxx/Kconfig +++ b/arch/arm/mach-cns3xxx/Kconfig | |||
| @@ -1,12 +1,11 @@ | |||
| 1 | config ARCH_CNS3XXX | 1 | menuconfig ARCH_CNS3XXX |
| 2 | bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6 | 2 | bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6 |
| 3 | select ARM_GIC | 3 | select ARM_GIC |
| 4 | select PCI_DOMAINS if PCI | 4 | select PCI_DOMAINS if PCI |
| 5 | help | 5 | help |
| 6 | Support for Cavium Networks CNS3XXX platform. | 6 | Support for Cavium Networks CNS3XXX platform. |
| 7 | 7 | ||
| 8 | menu "CNS3XXX platform type" | 8 | if ARCH_CNS3XXX |
| 9 | depends on ARCH_CNS3XXX | ||
| 10 | 9 | ||
| 11 | config MACH_CNS3420VB | 10 | config MACH_CNS3420VB |
| 12 | bool "Support for CNS3420 Validation Board" | 11 | bool "Support for CNS3420 Validation Board" |
| @@ -17,4 +16,4 @@ config MACH_CNS3420VB | |||
| 17 | This is a platform with an on-board ARM11 MPCore and has support | 16 | This is a platform with an on-board ARM11 MPCore and has support |
| 18 | for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc. | 17 | for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc. |
| 19 | 18 | ||
| 20 | endmenu | 19 | endif |
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig index db18ef866593..584e8d4e2892 100644 --- a/arch/arm/mach-davinci/Kconfig +++ b/arch/arm/mach-davinci/Kconfig | |||
| @@ -39,7 +39,6 @@ config ARCH_DAVINCI_DA830 | |||
| 39 | config ARCH_DAVINCI_DA850 | 39 | config ARCH_DAVINCI_DA850 |
| 40 | bool "DA850/OMAP-L138/AM18x based system" | 40 | bool "DA850/OMAP-L138/AM18x based system" |
| 41 | select ARCH_DAVINCI_DA8XX | 41 | select ARCH_DAVINCI_DA8XX |
| 42 | select ARCH_HAS_CPUFREQ | ||
| 43 | select CP_INTC | 42 | select CP_INTC |
| 44 | 43 | ||
| 45 | config ARCH_DAVINCI_DA8XX | 44 | config ARCH_DAVINCI_DA8XX |
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index d58995c9a95a..8f9b66c4ac78 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
| @@ -7,10 +7,9 @@ | |||
| 7 | 7 | ||
| 8 | # Configuration options for the EXYNOS4 | 8 | # Configuration options for the EXYNOS4 |
| 9 | 9 | ||
| 10 | config ARCH_EXYNOS | 10 | menuconfig ARCH_EXYNOS |
| 11 | bool "Samsung EXYNOS" if ARCH_MULTI_V7 | 11 | bool "Samsung EXYNOS" if ARCH_MULTI_V7 |
| 12 | select ARCH_HAS_BANDGAP | 12 | select ARCH_HAS_BANDGAP |
| 13 | select ARCH_HAS_CPUFREQ | ||
| 14 | select ARCH_HAS_HOLES_MEMORYMODEL | 13 | select ARCH_HAS_HOLES_MEMORYMODEL |
| 15 | select ARCH_REQUIRE_GPIOLIB | 14 | select ARCH_REQUIRE_GPIOLIB |
| 16 | select ARM_AMBA | 15 | select ARM_AMBA |
| @@ -30,8 +29,6 @@ config ARCH_EXYNOS | |||
| 30 | 29 | ||
| 31 | if ARCH_EXYNOS | 30 | if ARCH_EXYNOS |
| 32 | 31 | ||
| 33 | menu "SAMSUNG EXYNOS SoCs Support" | ||
| 34 | |||
| 35 | config ARCH_EXYNOS3 | 32 | config ARCH_EXYNOS3 |
| 36 | bool "SAMSUNG EXYNOS3" | 33 | bool "SAMSUNG EXYNOS3" |
| 37 | select ARM_CPU_SUSPEND if PM | 34 | select ARM_CPU_SUSPEND if PM |
| @@ -118,8 +115,6 @@ config SOC_EXYNOS5800 | |||
| 118 | default y | 115 | default y |
| 119 | depends on SOC_EXYNOS5420 | 116 | depends on SOC_EXYNOS5420 |
| 120 | 117 | ||
| 121 | endmenu | ||
| 122 | |||
| 123 | config EXYNOS5420_MCPM | 118 | config EXYNOS5420_MCPM |
| 124 | bool "Exynos5420 Multi-Cluster PM support" | 119 | bool "Exynos5420 Multi-Cluster PM support" |
| 125 | depends on MCPM && SOC_EXYNOS5420 | 120 | depends on MCPM && SOC_EXYNOS5420 |
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index 16617bdb37a9..1ee91763fa7c 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h | |||
| @@ -118,6 +118,7 @@ extern void __iomem *sysram_ns_base_addr; | |||
| 118 | extern void __iomem *sysram_base_addr; | 118 | extern void __iomem *sysram_base_addr; |
| 119 | void exynos_init_io(void); | 119 | void exynos_init_io(void); |
| 120 | void exynos_restart(enum reboot_mode mode, const char *cmd); | 120 | void exynos_restart(enum reboot_mode mode, const char *cmd); |
| 121 | void exynos_sysram_init(void); | ||
| 121 | void exynos_cpuidle_init(void); | 122 | void exynos_cpuidle_init(void); |
| 122 | void exynos_cpufreq_init(void); | 123 | void exynos_cpufreq_init(void); |
| 123 | void exynos_init_late(void); | 124 | void exynos_init_late(void); |
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index 90aab4d75d08..f38cf7c110cc 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c | |||
| @@ -184,6 +184,28 @@ void __init exynos_cpufreq_init(void) | |||
| 184 | platform_device_register_simple("exynos-cpufreq", -1, NULL, 0); | 184 | platform_device_register_simple("exynos-cpufreq", -1, NULL, 0); |
| 185 | } | 185 | } |
| 186 | 186 | ||
| 187 | void __iomem *sysram_base_addr; | ||
| 188 | void __iomem *sysram_ns_base_addr; | ||
| 189 | |||
| 190 | void __init exynos_sysram_init(void) | ||
| 191 | { | ||
| 192 | struct device_node *node; | ||
| 193 | |||
| 194 | for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") { | ||
| 195 | if (!of_device_is_available(node)) | ||
| 196 | continue; | ||
| 197 | sysram_base_addr = of_iomap(node, 0); | ||
| 198 | break; | ||
| 199 | } | ||
| 200 | |||
| 201 | for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram-ns") { | ||
| 202 | if (!of_device_is_available(node)) | ||
| 203 | continue; | ||
| 204 | sysram_ns_base_addr = of_iomap(node, 0); | ||
| 205 | break; | ||
| 206 | } | ||
| 207 | } | ||
| 208 | |||
| 187 | void __init exynos_init_late(void) | 209 | void __init exynos_init_late(void) |
| 188 | { | 210 | { |
| 189 | if (of_machine_is_compatible("samsung,exynos5440")) | 211 | if (of_machine_is_compatible("samsung,exynos5440")) |
| @@ -198,7 +220,7 @@ static int __init exynos_fdt_map_chipid(unsigned long node, const char *uname, | |||
| 198 | int depth, void *data) | 220 | int depth, void *data) |
| 199 | { | 221 | { |
| 200 | struct map_desc iodesc; | 222 | struct map_desc iodesc; |
| 201 | __be32 *reg; | 223 | const __be32 *reg; |
| 202 | int len; | 224 | int len; |
| 203 | 225 | ||
| 204 | if (!of_flat_dt_is_compatible(node, "samsung,exynos4210-chipid") && | 226 | if (!of_flat_dt_is_compatible(node, "samsung,exynos4210-chipid") && |
| @@ -271,6 +293,13 @@ static void __init exynos_dt_machine_init(void) | |||
| 271 | } | 293 | } |
| 272 | } | 294 | } |
| 273 | 295 | ||
| 296 | /* | ||
| 297 | * This is called from smp_prepare_cpus if we've built for SMP, but | ||
| 298 | * we still need to set it up for PM and firmware ops if not. | ||
| 299 | */ | ||
| 300 | if (!IS_ENABLED(SMP)) | ||
| 301 | exynos_sysram_init(); | ||
| 302 | |||
| 274 | exynos_cpuidle_init(); | 303 | exynos_cpuidle_init(); |
| 275 | exynos_cpufreq_init(); | 304 | exynos_cpufreq_init(); |
| 276 | 305 | ||
diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c index 69fa48397394..8a134d019cb3 100644 --- a/arch/arm/mach-exynos/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c | |||
| @@ -46,13 +46,7 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious) | |||
| 46 | if (cpu == 1) | 46 | if (cpu == 1) |
| 47 | exynos_cpu_power_down(cpu); | 47 | exynos_cpu_power_down(cpu); |
| 48 | 48 | ||
| 49 | /* | 49 | wfi(); |
| 50 | * here's the WFI | ||
| 51 | */ | ||
| 52 | asm(".word 0xe320f003\n" | ||
| 53 | : | ||
| 54 | : | ||
| 55 | : "memory", "cc"); | ||
| 56 | 50 | ||
| 57 | if (pen_release == cpu_logical_map(cpu)) { | 51 | if (pen_release == cpu_logical_map(cpu)) { |
| 58 | /* | 52 | /* |
diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c index 0498d0b887ef..ace0ed617476 100644 --- a/arch/arm/mach-exynos/mcpm-exynos.c +++ b/arch/arm/mach-exynos/mcpm-exynos.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | 25 | ||
| 26 | #define EXYNOS5420_CPUS_PER_CLUSTER 4 | 26 | #define EXYNOS5420_CPUS_PER_CLUSTER 4 |
| 27 | #define EXYNOS5420_NR_CLUSTERS 2 | 27 | #define EXYNOS5420_NR_CLUSTERS 2 |
| 28 | #define MCPM_BOOT_ADDR_OFFSET 0x1c | ||
| 29 | 28 | ||
| 30 | /* | 29 | /* |
| 31 | * The common v7_exit_coherency_flush API could not be used because of the | 30 | * The common v7_exit_coherency_flush API could not be used because of the |
| @@ -343,11 +342,13 @@ static int __init exynos_mcpm_init(void) | |||
| 343 | pr_info("Exynos MCPM support installed\n"); | 342 | pr_info("Exynos MCPM support installed\n"); |
| 344 | 343 | ||
| 345 | /* | 344 | /* |
| 346 | * Future entries into the kernel can now go | 345 | * U-Boot SPL is hardcoded to jump to the start of ns_sram_base_addr |
| 347 | * through the cluster entry vectors. | 346 | * as part of secondary_cpu_start(). Let's redirect it to the |
| 347 | * mcpm_entry_point(). | ||
| 348 | */ | 348 | */ |
| 349 | __raw_writel(virt_to_phys(mcpm_entry_point), | 349 | __raw_writel(0xe59f0000, ns_sram_base_addr); /* ldr r0, [pc, #0] */ |
| 350 | ns_sram_base_addr + MCPM_BOOT_ADDR_OFFSET); | 350 | __raw_writel(0xe12fff10, ns_sram_base_addr + 4); /* bx r0 */ |
| 351 | __raw_writel(virt_to_phys(mcpm_entry_point), ns_sram_base_addr + 8); | ||
| 351 | 352 | ||
| 352 | iounmap(ns_sram_base_addr); | 353 | iounmap(ns_sram_base_addr); |
| 353 | 354 | ||
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c index ec02422e8499..1c8d31e39520 100644 --- a/arch/arm/mach-exynos/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c | |||
| @@ -32,28 +32,6 @@ | |||
| 32 | 32 | ||
| 33 | extern void exynos4_secondary_startup(void); | 33 | extern void exynos4_secondary_startup(void); |
| 34 | 34 | ||
| 35 | void __iomem *sysram_base_addr; | ||
| 36 | void __iomem *sysram_ns_base_addr; | ||
| 37 | |||
| 38 | static void __init exynos_smp_prepare_sysram(void) | ||
| 39 | { | ||
| 40 | struct device_node *node; | ||
| 41 | |||
| 42 | for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") { | ||
| 43 | if (!of_device_is_available(node)) | ||
| 44 | continue; | ||
| 45 | sysram_base_addr = of_iomap(node, 0); | ||
| 46 | break; | ||
| 47 | } | ||
| 48 | |||
| 49 | for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram-ns") { | ||
| 50 | if (!of_device_is_available(node)) | ||
| 51 | continue; | ||
| 52 | sysram_ns_base_addr = of_iomap(node, 0); | ||
| 53 | break; | ||
| 54 | } | ||
| 55 | } | ||
| 56 | |||
| 57 | static inline void __iomem *cpu_boot_reg_base(void) | 35 | static inline void __iomem *cpu_boot_reg_base(void) |
| 58 | { | 36 | { |
| 59 | if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) | 37 | if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) |
| @@ -234,11 +212,11 @@ static void __init exynos_smp_prepare_cpus(unsigned int max_cpus) | |||
| 234 | { | 212 | { |
| 235 | int i; | 213 | int i; |
| 236 | 214 | ||
| 215 | exynos_sysram_init(); | ||
| 216 | |||
| 237 | if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) | 217 | if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) |
| 238 | scu_enable(scu_base_addr()); | 218 | scu_enable(scu_base_addr()); |
| 239 | 219 | ||
| 240 | exynos_smp_prepare_sysram(); | ||
| 241 | |||
| 242 | /* | 220 | /* |
| 243 | * Write the address of secondary startup into the | 221 | * Write the address of secondary startup into the |
| 244 | * system-wide flags register. The boot monitor waits | 222 | * system-wide flags register. The boot monitor waits |
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c index 87c0d34c7fba..202ca73e49c4 100644 --- a/arch/arm/mach-exynos/pm.c +++ b/arch/arm/mach-exynos/pm.c | |||
| @@ -300,7 +300,7 @@ static int exynos_pm_suspend(void) | |||
| 300 | tmp = (S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0); | 300 | tmp = (S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0); |
| 301 | __raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION); | 301 | __raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION); |
| 302 | 302 | ||
| 303 | if (!soc_is_exynos5250()) | 303 | if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) |
| 304 | exynos_cpu_save_register(); | 304 | exynos_cpu_save_register(); |
| 305 | 305 | ||
| 306 | return 0; | 306 | return 0; |
| @@ -334,7 +334,7 @@ static void exynos_pm_resume(void) | |||
| 334 | if (exynos_pm_central_resume()) | 334 | if (exynos_pm_central_resume()) |
| 335 | goto early_wakeup; | 335 | goto early_wakeup; |
| 336 | 336 | ||
| 337 | if (!soc_is_exynos5250()) | 337 | if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) |
| 338 | exynos_cpu_restore_register(); | 338 | exynos_cpu_restore_register(); |
| 339 | 339 | ||
| 340 | /* For release retention */ | 340 | /* For release retention */ |
| @@ -353,7 +353,7 @@ static void exynos_pm_resume(void) | |||
| 353 | 353 | ||
| 354 | s3c_pm_do_restore_core(exynos_core_save, ARRAY_SIZE(exynos_core_save)); | 354 | s3c_pm_do_restore_core(exynos_core_save, ARRAY_SIZE(exynos_core_save)); |
| 355 | 355 | ||
| 356 | if (!soc_is_exynos5250()) | 356 | if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) |
| 357 | scu_enable(S5P_VA_SCU); | 357 | scu_enable(S5P_VA_SCU); |
| 358 | 358 | ||
| 359 | early_wakeup: | 359 | early_wakeup: |
| @@ -440,15 +440,18 @@ static int exynos_cpu_pm_notifier(struct notifier_block *self, | |||
| 440 | case CPU_PM_ENTER: | 440 | case CPU_PM_ENTER: |
| 441 | if (cpu == 0) { | 441 | if (cpu == 0) { |
| 442 | exynos_pm_central_suspend(); | 442 | exynos_pm_central_suspend(); |
| 443 | exynos_cpu_save_register(); | 443 | if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) |
| 444 | exynos_cpu_save_register(); | ||
| 444 | } | 445 | } |
| 445 | break; | 446 | break; |
| 446 | 447 | ||
| 447 | case CPU_PM_EXIT: | 448 | case CPU_PM_EXIT: |
| 448 | if (cpu == 0) { | 449 | if (cpu == 0) { |
| 449 | if (!soc_is_exynos5250()) | 450 | if (read_cpuid_part_number() == |
| 451 | ARM_CPU_PART_CORTEX_A9) { | ||
| 450 | scu_enable(S5P_VA_SCU); | 452 | scu_enable(S5P_VA_SCU); |
| 451 | exynos_cpu_restore_register(); | 453 | exynos_cpu_restore_register(); |
| 454 | } | ||
| 452 | exynos_pm_central_resume(); | 455 | exynos_pm_central_resume(); |
| 453 | } | 456 | } |
| 454 | break; | 457 | break; |
diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig index 830b76e70250..a5960e2ac090 100644 --- a/arch/arm/mach-highbank/Kconfig +++ b/arch/arm/mach-highbank/Kconfig | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | config ARCH_HIGHBANK | 1 | config ARCH_HIGHBANK |
| 2 | bool "Calxeda ECX-1000/2000 (Highbank/Midway)" if ARCH_MULTI_V7 | 2 | bool "Calxeda ECX-1000/2000 (Highbank/Midway)" if ARCH_MULTI_V7 |
| 3 | select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE | 3 | select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE |
| 4 | select ARCH_HAS_CPUFREQ | ||
| 5 | select ARCH_HAS_HOLES_MEMORYMODEL | 4 | select ARCH_HAS_HOLES_MEMORYMODEL |
| 6 | select ARCH_HAS_OPP | 5 | select ARCH_HAS_OPP |
| 7 | select ARCH_SUPPORTS_BIG_ENDIAN | 6 | select ARCH_SUPPORTS_BIG_ENDIAN |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 8d42eab76d53..4b5185748f74 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | config ARCH_MXC | 1 | menuconfig ARCH_MXC |
| 2 | bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 | 2 | bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 |
| 3 | select ARCH_HAS_CPUFREQ | ||
| 4 | select ARCH_HAS_OPP | 3 | select ARCH_HAS_OPP |
| 5 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
| 6 | select ARM_CPU_SUSPEND if PM | 5 | select ARM_CPU_SUSPEND if PM |
| @@ -13,8 +12,7 @@ config ARCH_MXC | |||
| 13 | help | 12 | help |
| 14 | Support for Freescale MXC/iMX-based family of processors | 13 | Support for Freescale MXC/iMX-based family of processors |
| 15 | 14 | ||
| 16 | menu "Freescale i.MX support" | 15 | if ARCH_MXC |
| 17 | depends on ARCH_MXC | ||
| 18 | 16 | ||
| 19 | config MXC_TZIC | 17 | config MXC_TZIC |
| 20 | bool | 18 | bool |
| @@ -99,7 +97,6 @@ config SOC_IMX25 | |||
| 99 | 97 | ||
| 100 | config SOC_IMX27 | 98 | config SOC_IMX27 |
| 101 | bool | 99 | bool |
| 102 | select ARCH_HAS_CPUFREQ | ||
| 103 | select ARCH_HAS_OPP | 100 | select ARCH_HAS_OPP |
| 104 | select CPU_ARM926T | 101 | select CPU_ARM926T |
| 105 | select IMX_HAVE_IOMUX_V1 | 102 | select IMX_HAVE_IOMUX_V1 |
| @@ -124,7 +121,6 @@ config SOC_IMX35 | |||
| 124 | 121 | ||
| 125 | config SOC_IMX5 | 122 | config SOC_IMX5 |
| 126 | bool | 123 | bool |
| 127 | select ARCH_HAS_CPUFREQ | ||
| 128 | select ARCH_HAS_OPP | 124 | select ARCH_HAS_OPP |
| 129 | select ARCH_MXC_IOMUX_V3 | 125 | select ARCH_MXC_IOMUX_V3 |
| 130 | select MXC_TZIC | 126 | select MXC_TZIC |
| @@ -738,9 +734,9 @@ config SOC_IMX6 | |||
| 738 | select HAVE_IMX_MMDC | 734 | select HAVE_IMX_MMDC |
| 739 | select HAVE_IMX_SRC | 735 | select HAVE_IMX_SRC |
| 740 | select MFD_SYSCON | 736 | select MFD_SYSCON |
| 741 | select PL310_ERRATA_588369 if CACHE_PL310 | 737 | select PL310_ERRATA_588369 if CACHE_L2X0 |
| 742 | select PL310_ERRATA_727915 if CACHE_PL310 | 738 | select PL310_ERRATA_727915 if CACHE_L2X0 |
| 743 | select PL310_ERRATA_769419 if CACHE_PL310 | 739 | select PL310_ERRATA_769419 if CACHE_L2X0 |
| 744 | 740 | ||
| 745 | config SOC_IMX6Q | 741 | config SOC_IMX6Q |
| 746 | bool "i.MX6 Quad/DualLite support" | 742 | bool "i.MX6 Quad/DualLite support" |
| @@ -775,9 +771,9 @@ config SOC_VF610 | |||
| 775 | select ARM_GIC | 771 | select ARM_GIC |
| 776 | select PINCTRL_VF610 | 772 | select PINCTRL_VF610 |
| 777 | select VF_PIT_TIMER | 773 | select VF_PIT_TIMER |
| 778 | select PL310_ERRATA_588369 if CACHE_PL310 | 774 | select PL310_ERRATA_588369 if CACHE_L2X0 |
| 779 | select PL310_ERRATA_727915 if CACHE_PL310 | 775 | select PL310_ERRATA_727915 if CACHE_L2X0 |
| 780 | select PL310_ERRATA_769419 if CACHE_PL310 | 776 | select PL310_ERRATA_769419 if CACHE_L2X0 |
| 781 | 777 | ||
| 782 | help | 778 | help |
| 783 | This enable support for Freescale Vybrid VF610 processor. | 779 | This enable support for Freescale Vybrid VF610 processor. |
| @@ -786,4 +782,4 @@ endif | |||
| 786 | 782 | ||
| 787 | source "arch/arm/mach-imx/devices/Kconfig" | 783 | source "arch/arm/mach-imx/devices/Kconfig" |
| 788 | 784 | ||
| 789 | endmenu | 785 | endif |
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c index 21cf06cebade..5408ca70c8d6 100644 --- a/arch/arm/mach-imx/clk-imx6sl.c +++ b/arch/arm/mach-imx/clk-imx6sl.c | |||
| @@ -312,6 +312,7 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) | |||
| 312 | clks[IMX6SL_CLK_ECSPI2] = imx_clk_gate2("ecspi2", "ecspi_root", base + 0x6c, 2); | 312 | clks[IMX6SL_CLK_ECSPI2] = imx_clk_gate2("ecspi2", "ecspi_root", base + 0x6c, 2); |
| 313 | clks[IMX6SL_CLK_ECSPI3] = imx_clk_gate2("ecspi3", "ecspi_root", base + 0x6c, 4); | 313 | clks[IMX6SL_CLK_ECSPI3] = imx_clk_gate2("ecspi3", "ecspi_root", base + 0x6c, 4); |
| 314 | clks[IMX6SL_CLK_ECSPI4] = imx_clk_gate2("ecspi4", "ecspi_root", base + 0x6c, 6); | 314 | clks[IMX6SL_CLK_ECSPI4] = imx_clk_gate2("ecspi4", "ecspi_root", base + 0x6c, 6); |
| 315 | clks[IMX6SL_CLK_ENET] = imx_clk_gate2("enet", "ipg", base + 0x6c, 10); | ||
| 315 | clks[IMX6SL_CLK_EPIT1] = imx_clk_gate2("epit1", "perclk", base + 0x6c, 12); | 316 | clks[IMX6SL_CLK_EPIT1] = imx_clk_gate2("epit1", "perclk", base + 0x6c, 12); |
| 316 | clks[IMX6SL_CLK_EPIT2] = imx_clk_gate2("epit2", "perclk", base + 0x6c, 14); | 317 | clks[IMX6SL_CLK_EPIT2] = imx_clk_gate2("epit2", "perclk", base + 0x6c, 14); |
| 317 | clks[IMX6SL_CLK_EXTERN_AUDIO] = imx_clk_gate2("extern_audio", "extern_audio_podf", base + 0x6c, 16); | 318 | clks[IMX6SL_CLK_EXTERN_AUDIO] = imx_clk_gate2("extern_audio", "extern_audio_podf", base + 0x6c, 16); |
diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig index ba43321001d8..64f8e2564a37 100644 --- a/arch/arm/mach-integrator/Kconfig +++ b/arch/arm/mach-integrator/Kconfig | |||
| @@ -28,7 +28,7 @@ config ARCH_CINTEGRATOR | |||
| 28 | bool | 28 | bool |
| 29 | 29 | ||
| 30 | config INTEGRATOR_IMPD1 | 30 | config INTEGRATOR_IMPD1 |
| 31 | tristate "Include support for Integrator/IM-PD1" | 31 | bool "Include support for Integrator/IM-PD1" |
| 32 | depends on ARCH_INTEGRATOR_AP | 32 | depends on ARCH_INTEGRATOR_AP |
| 33 | select ARCH_REQUIRE_GPIOLIB | 33 | select ARCH_REQUIRE_GPIOLIB |
| 34 | select ARM_VIC | 34 | select ARM_VIC |
diff --git a/arch/arm/mach-integrator/impd1.c b/arch/arm/mach-integrator/impd1.c index 0e870ea818c4..3ce880729cff 100644 --- a/arch/arm/mach-integrator/impd1.c +++ b/arch/arm/mach-integrator/impd1.c | |||
| @@ -308,7 +308,12 @@ static struct impd1_device impd1_devs[] = { | |||
| 308 | */ | 308 | */ |
| 309 | #define IMPD1_VALID_IRQS 0x00000bffU | 309 | #define IMPD1_VALID_IRQS 0x00000bffU |
| 310 | 310 | ||
| 311 | static int __init impd1_probe(struct lm_device *dev) | 311 | /* |
| 312 | * As this module is bool, it is OK to have this as __init_refok() - no | ||
| 313 | * probe calls will be done after the initial system bootup, as devices | ||
| 314 | * are discovered as part of the machine startup. | ||
| 315 | */ | ||
| 316 | static int __init_refok impd1_probe(struct lm_device *dev) | ||
| 312 | { | 317 | { |
| 313 | struct impd1_module *impd1; | 318 | struct impd1_module *impd1; |
| 314 | int irq_base; | 319 | int irq_base; |
| @@ -397,6 +402,11 @@ static void impd1_remove(struct lm_device *dev) | |||
| 397 | static struct lm_driver impd1_driver = { | 402 | static struct lm_driver impd1_driver = { |
| 398 | .drv = { | 403 | .drv = { |
| 399 | .name = "impd1", | 404 | .name = "impd1", |
| 405 | /* | ||
| 406 | * As we're dropping the probe() function, suppress driver | ||
| 407 | * binding from sysfs. | ||
| 408 | */ | ||
| 409 | .suppress_bind_attrs = true, | ||
| 400 | }, | 410 | }, |
| 401 | .probe = impd1_probe, | 411 | .probe = impd1_probe, |
| 402 | .remove = impd1_remove, | 412 | .remove = impd1_remove, |
diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index dd0cc677d596..660ca6feff40 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c | |||
| @@ -480,25 +480,18 @@ static const struct of_device_id ebi_match[] = { | |||
| 480 | static void __init ap_init_of(void) | 480 | static void __init ap_init_of(void) |
| 481 | { | 481 | { |
| 482 | unsigned long sc_dec; | 482 | unsigned long sc_dec; |
| 483 | struct device_node *root; | ||
| 484 | struct device_node *syscon; | 483 | struct device_node *syscon; |
| 485 | struct device_node *ebi; | 484 | struct device_node *ebi; |
| 486 | struct device *parent; | 485 | struct device *parent; |
| 487 | struct soc_device *soc_dev; | 486 | struct soc_device *soc_dev; |
| 488 | struct soc_device_attribute *soc_dev_attr; | 487 | struct soc_device_attribute *soc_dev_attr; |
| 489 | u32 ap_sc_id; | 488 | u32 ap_sc_id; |
| 490 | int err; | ||
| 491 | int i; | 489 | int i; |
| 492 | 490 | ||
| 493 | /* Here we create an SoC device for the root node */ | 491 | syscon = of_find_matching_node(NULL, ap_syscon_match); |
| 494 | root = of_find_node_by_path("/"); | ||
| 495 | if (!root) | ||
| 496 | return; | ||
| 497 | |||
| 498 | syscon = of_find_matching_node(root, ap_syscon_match); | ||
| 499 | if (!syscon) | 492 | if (!syscon) |
| 500 | return; | 493 | return; |
| 501 | ebi = of_find_matching_node(root, ebi_match); | 494 | ebi = of_find_matching_node(NULL, ebi_match); |
| 502 | if (!ebi) | 495 | if (!ebi) |
| 503 | return; | 496 | return; |
| 504 | 497 | ||
| @@ -509,19 +502,17 @@ static void __init ap_init_of(void) | |||
| 509 | if (!ebi_base) | 502 | if (!ebi_base) |
| 510 | return; | 503 | return; |
| 511 | 504 | ||
| 505 | of_platform_populate(NULL, of_default_bus_match_table, | ||
| 506 | ap_auxdata_lookup, NULL); | ||
| 507 | |||
| 512 | ap_sc_id = readl(ap_syscon_base); | 508 | ap_sc_id = readl(ap_syscon_base); |
| 513 | 509 | ||
| 514 | soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); | 510 | soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); |
| 515 | if (!soc_dev_attr) | 511 | if (!soc_dev_attr) |
| 516 | return; | 512 | return; |
| 517 | 513 | ||
| 518 | err = of_property_read_string(root, "compatible", | 514 | soc_dev_attr->soc_id = "XVC"; |
| 519 | &soc_dev_attr->soc_id); | 515 | soc_dev_attr->machine = "Integrator/AP"; |
| 520 | if (err) | ||
| 521 | return; | ||
| 522 | err = of_property_read_string(root, "model", &soc_dev_attr->machine); | ||
| 523 | if (err) | ||
| 524 | return; | ||
| 525 | soc_dev_attr->family = "Integrator"; | 516 | soc_dev_attr->family = "Integrator"; |
| 526 | soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%c", | 517 | soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%c", |
| 527 | 'A' + (ap_sc_id & 0x0f)); | 518 | 'A' + (ap_sc_id & 0x0f)); |
| @@ -536,9 +527,6 @@ static void __init ap_init_of(void) | |||
| 536 | parent = soc_device_to_device(soc_dev); | 527 | parent = soc_device_to_device(soc_dev); |
| 537 | integrator_init_sysfs(parent, ap_sc_id); | 528 | integrator_init_sysfs(parent, ap_sc_id); |
| 538 | 529 | ||
| 539 | of_platform_populate(root, of_default_bus_match_table, | ||
| 540 | ap_auxdata_lookup, parent); | ||
| 541 | |||
| 542 | sc_dec = readl(ap_syscon_base + INTEGRATOR_SC_DEC_OFFSET); | 530 | sc_dec = readl(ap_syscon_base + INTEGRATOR_SC_DEC_OFFSET); |
| 543 | for (i = 0; i < 4; i++) { | 531 | for (i = 0; i < 4; i++) { |
| 544 | struct lm_device *lmdev; | 532 | struct lm_device *lmdev; |
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index a938242b0c95..0e57f8f820a5 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
| @@ -279,20 +279,13 @@ static const struct of_device_id intcp_syscon_match[] = { | |||
| 279 | 279 | ||
| 280 | static void __init intcp_init_of(void) | 280 | static void __init intcp_init_of(void) |
| 281 | { | 281 | { |
| 282 | struct device_node *root; | ||
| 283 | struct device_node *cpcon; | 282 | struct device_node *cpcon; |
| 284 | struct device *parent; | 283 | struct device *parent; |
| 285 | struct soc_device *soc_dev; | 284 | struct soc_device *soc_dev; |
| 286 | struct soc_device_attribute *soc_dev_attr; | 285 | struct soc_device_attribute *soc_dev_attr; |
| 287 | u32 intcp_sc_id; | 286 | u32 intcp_sc_id; |
| 288 | int err; | ||
| 289 | 287 | ||
| 290 | /* Here we create an SoC device for the root node */ | 288 | cpcon = of_find_matching_node(NULL, intcp_syscon_match); |
| 291 | root = of_find_node_by_path("/"); | ||
| 292 | if (!root) | ||
| 293 | return; | ||
| 294 | |||
| 295 | cpcon = of_find_matching_node(root, intcp_syscon_match); | ||
| 296 | if (!cpcon) | 289 | if (!cpcon) |
| 297 | return; | 290 | return; |
| 298 | 291 | ||
| @@ -300,19 +293,17 @@ static void __init intcp_init_of(void) | |||
| 300 | if (!intcp_con_base) | 293 | if (!intcp_con_base) |
| 301 | return; | 294 | return; |
| 302 | 295 | ||
| 296 | of_platform_populate(NULL, of_default_bus_match_table, | ||
| 297 | intcp_auxdata_lookup, NULL); | ||
| 298 | |||
| 303 | intcp_sc_id = readl(intcp_con_base); | 299 | intcp_sc_id = readl(intcp_con_base); |
| 304 | 300 | ||
| 305 | soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); | 301 | soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); |
| 306 | if (!soc_dev_attr) | 302 | if (!soc_dev_attr) |
| 307 | return; | 303 | return; |
| 308 | 304 | ||
| 309 | err = of_property_read_string(root, "compatible", | 305 | soc_dev_attr->soc_id = "XCV"; |
| 310 | &soc_dev_attr->soc_id); | 306 | soc_dev_attr->machine = "Integrator/CP"; |
| 311 | if (err) | ||
| 312 | return; | ||
| 313 | err = of_property_read_string(root, "model", &soc_dev_attr->machine); | ||
| 314 | if (err) | ||
| 315 | return; | ||
| 316 | soc_dev_attr->family = "Integrator"; | 307 | soc_dev_attr->family = "Integrator"; |
| 317 | soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%c", | 308 | soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%c", |
| 318 | 'A' + (intcp_sc_id & 0x0f)); | 309 | 'A' + (intcp_sc_id & 0x0f)); |
| @@ -326,8 +317,6 @@ static void __init intcp_init_of(void) | |||
| 326 | 317 | ||
| 327 | parent = soc_device_to_device(soc_dev); | 318 | parent = soc_device_to_device(soc_dev); |
| 328 | integrator_init_sysfs(parent, intcp_sc_id); | 319 | integrator_init_sysfs(parent, intcp_sc_id); |
| 329 | of_platform_populate(root, of_default_bus_match_table, | ||
| 330 | intcp_auxdata_lookup, parent); | ||
| 331 | } | 320 | } |
| 332 | 321 | ||
| 333 | static const char * intcp_dt_board_compat[] = { | 322 | static const char * intcp_dt_board_compat[] = { |
diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig index f50bc936cb84..98a156afaa94 100644 --- a/arch/arm/mach-keystone/Kconfig +++ b/arch/arm/mach-keystone/Kconfig | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | config ARCH_KEYSTONE | 1 | config ARCH_KEYSTONE |
| 2 | bool "Texas Instruments Keystone Devices" | 2 | bool "Texas Instruments Keystone Devices" |
| 3 | depends on ARCH_MULTI_V7 | 3 | depends on ARCH_MULTI_V7 |
| 4 | depends on ARM_PATCH_PHYS_VIRT | ||
| 4 | select ARM_GIC | 5 | select ARM_GIC |
| 5 | select HAVE_ARM_ARCH_TIMER | 6 | select HAVE_ARM_ARCH_TIMER |
| 6 | select CLKSRC_MMIO | 7 | select CLKSRC_MMIO |
diff --git a/arch/arm/mach-moxart/Kconfig b/arch/arm/mach-moxart/Kconfig index 82a4ba8578a2..f49328c39bef 100644 --- a/arch/arm/mach-moxart/Kconfig +++ b/arch/arm/mach-moxart/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_MOXART | 1 | menuconfig ARCH_MOXART |
| 2 | bool "MOXA ART SoC" if ARCH_MULTI_V4 | 2 | bool "MOXA ART SoC" if ARCH_MULTI_V4 |
| 3 | select CPU_FA526 | 3 | select CPU_FA526 |
| 4 | select ARM_DMA_MEM_BUFFERABLE | 4 | select ARM_DMA_MEM_BUFFERABLE |
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 6090b9eb00c8..b9bc599a5fd0 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_MVEBU | 1 | menuconfig ARCH_MVEBU |
| 2 | bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5) | 2 | bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5) |
| 3 | select ARCH_SUPPORTS_BIG_ENDIAN | 3 | select ARCH_SUPPORTS_BIG_ENDIAN |
| 4 | select CLKSRC_MMIO | 4 | select CLKSRC_MMIO |
| @@ -10,15 +10,15 @@ config ARCH_MVEBU | |||
| 10 | select ZONE_DMA if ARM_LPAE | 10 | select ZONE_DMA if ARM_LPAE |
| 11 | select ARCH_REQUIRE_GPIOLIB | 11 | select ARCH_REQUIRE_GPIOLIB |
| 12 | select PCI_QUIRKS if PCI | 12 | select PCI_QUIRKS if PCI |
| 13 | select OF_ADDRESS_PCI | ||
| 13 | 14 | ||
| 14 | if ARCH_MVEBU | 15 | if ARCH_MVEBU |
| 15 | 16 | ||
| 16 | menu "Marvell EBU SoC variants" | ||
| 17 | |||
| 18 | config MACH_MVEBU_V7 | 17 | config MACH_MVEBU_V7 |
| 19 | bool | 18 | bool |
| 20 | select ARMADA_370_XP_TIMER | 19 | select ARMADA_370_XP_TIMER |
| 21 | select CACHE_L2X0 | 20 | select CACHE_L2X0 |
| 21 | select ARM_CPU_SUSPEND | ||
| 22 | 22 | ||
| 23 | config MACH_ARMADA_370 | 23 | config MACH_ARMADA_370 |
| 24 | bool "Marvell Armada 370 boards" if ARCH_MULTI_V7 | 24 | bool "Marvell Armada 370 boards" if ARCH_MULTI_V7 |
| @@ -84,7 +84,6 @@ config MACH_DOVE | |||
| 84 | 84 | ||
| 85 | config MACH_KIRKWOOD | 85 | config MACH_KIRKWOOD |
| 86 | bool "Marvell Kirkwood boards" if ARCH_MULTI_V5 | 86 | bool "Marvell Kirkwood boards" if ARCH_MULTI_V5 |
| 87 | select ARCH_HAS_CPUFREQ | ||
| 88 | select ARCH_REQUIRE_GPIOLIB | 87 | select ARCH_REQUIRE_GPIOLIB |
| 89 | select CPU_FEROCEON | 88 | select CPU_FEROCEON |
| 90 | select KIRKWOOD_CLK | 89 | select KIRKWOOD_CLK |
| @@ -97,6 +96,4 @@ config MACH_KIRKWOOD | |||
| 97 | Say 'Y' here if you want your kernel to support boards based | 96 | Say 'Y' here if you want your kernel to support boards based |
| 98 | on the Marvell Kirkwood device tree. | 97 | on the Marvell Kirkwood device tree. |
| 99 | 98 | ||
| 100 | endmenu | ||
| 101 | |||
| 102 | endif | 99 | endif |
diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig index 486d301f43fd..3c61096c8627 100644 --- a/arch/arm/mach-nomadik/Kconfig +++ b/arch/arm/mach-nomadik/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_NOMADIK | 1 | menuconfig ARCH_NOMADIK |
| 2 | bool "ST-Ericsson Nomadik" | 2 | bool "ST-Ericsson Nomadik" |
| 3 | depends on ARCH_MULTI_V5 | 3 | depends on ARCH_MULTI_V5 |
| 4 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
| @@ -15,7 +15,6 @@ config ARCH_NOMADIK | |||
| 15 | Support for the Nomadik platform by ST-Ericsson | 15 | Support for the Nomadik platform by ST-Ericsson |
| 16 | 16 | ||
| 17 | if ARCH_NOMADIK | 17 | if ARCH_NOMADIK |
| 18 | menu "Nomadik boards" | ||
| 19 | 18 | ||
| 20 | config MACH_NOMADIK_8815NHK | 19 | config MACH_NOMADIK_8815NHK |
| 21 | bool "ST 8815 Nomadik Hardware Kit (evaluation board)" | 20 | bool "ST 8815 Nomadik Hardware Kit (evaluation board)" |
| @@ -24,7 +23,6 @@ config MACH_NOMADIK_8815NHK | |||
| 24 | select I2C_ALGOBIT | 23 | select I2C_ALGOBIT |
| 25 | select I2C_NOMADIK | 24 | select I2C_NOMADIK |
| 26 | 25 | ||
| 27 | endmenu | ||
| 28 | endif | 26 | endif |
| 29 | 27 | ||
| 30 | config NOMADIK_8815 | 28 | config NOMADIK_8815 |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 0ba482638ebf..1c1ed737f7ab 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
| @@ -1,3 +1,6 @@ | |||
| 1 | menu "TI OMAP/AM/DM/DRA Family" | ||
| 2 | depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 | ||
| 3 | |||
| 1 | config ARCH_OMAP | 4 | config ARCH_OMAP |
| 2 | bool | 5 | bool |
| 3 | 6 | ||
| @@ -28,12 +31,11 @@ config ARCH_OMAP4 | |||
| 28 | select ARM_CPU_SUSPEND if PM | 31 | select ARM_CPU_SUSPEND if PM |
| 29 | select ARM_ERRATA_720789 | 32 | select ARM_ERRATA_720789 |
| 30 | select ARM_GIC | 33 | select ARM_GIC |
| 31 | select CACHE_L2X0 | ||
| 32 | select HAVE_ARM_SCU if SMP | 34 | select HAVE_ARM_SCU if SMP |
| 33 | select HAVE_ARM_TWD if SMP | 35 | select HAVE_ARM_TWD if SMP |
| 34 | select OMAP_INTERCONNECT | 36 | select OMAP_INTERCONNECT |
| 35 | select PL310_ERRATA_588369 | 37 | select PL310_ERRATA_588369 if CACHE_L2X0 |
| 36 | select PL310_ERRATA_727915 | 38 | select PL310_ERRATA_727915 if CACHE_L2X0 |
| 37 | select PM_OPP if PM | 39 | select PM_OPP if PM |
| 38 | select PM_RUNTIME if CPU_IDLE | 40 | select PM_RUNTIME if CPU_IDLE |
| 39 | select ARM_ERRATA_754322 | 41 | select ARM_ERRATA_754322 |
| @@ -80,7 +82,6 @@ config SOC_DRA7XX | |||
| 80 | config ARCH_OMAP2PLUS | 82 | config ARCH_OMAP2PLUS |
| 81 | bool | 83 | bool |
| 82 | select ARCH_HAS_BANDGAP | 84 | select ARCH_HAS_BANDGAP |
| 83 | select ARCH_HAS_CPUFREQ | ||
| 84 | select ARCH_HAS_HOLES_MEMORYMODEL | 85 | select ARCH_HAS_HOLES_MEMORYMODEL |
| 85 | select ARCH_OMAP | 86 | select ARCH_OMAP |
| 86 | select ARCH_REQUIRE_GPIOLIB | 87 | select ARCH_REQUIRE_GPIOLIB |
| @@ -343,3 +344,5 @@ config OMAP4_ERRATA_I688 | |||
| 343 | endmenu | 344 | endmenu |
| 344 | 345 | ||
| 345 | endif | 346 | endif |
| 347 | |||
| 348 | endmenu | ||
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index ff029737c8f0..a373d508799a 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
| @@ -91,7 +91,14 @@ extern void omap3_sync32k_timer_init(void); | |||
| 91 | extern void omap3_secure_sync32k_timer_init(void); | 91 | extern void omap3_secure_sync32k_timer_init(void); |
| 92 | extern void omap3_gptimer_timer_init(void); | 92 | extern void omap3_gptimer_timer_init(void); |
| 93 | extern void omap4_local_timer_init(void); | 93 | extern void omap4_local_timer_init(void); |
| 94 | #ifdef CONFIG_CACHE_L2X0 | ||
| 94 | int omap_l2_cache_init(void); | 95 | int omap_l2_cache_init(void); |
| 96 | #else | ||
| 97 | static inline int omap_l2_cache_init(void) | ||
| 98 | { | ||
| 99 | return 0; | ||
| 100 | } | ||
| 101 | #endif | ||
| 95 | extern void omap5_realtime_timer_init(void); | 102 | extern void omap5_realtime_timer_init(void); |
| 96 | 103 | ||
| 97 | void omap2420_init_early(void); | 104 | void omap2420_init_early(void); |
diff --git a/arch/arm/mach-prima2/Kconfig b/arch/arm/mach-prima2/Kconfig index e4e505f52ba0..042f693ef423 100644 --- a/arch/arm/mach-prima2/Kconfig +++ b/arch/arm/mach-prima2/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_SIRF | 1 | menuconfig ARCH_SIRF |
| 2 | bool "CSR SiRF" if ARCH_MULTI_V7 | 2 | bool "CSR SiRF" if ARCH_MULTI_V7 |
| 3 | select ARCH_HAS_RESET_CONTROLLER | 3 | select ARCH_HAS_RESET_CONTROLLER |
| 4 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
| @@ -11,7 +11,7 @@ config ARCH_SIRF | |||
| 11 | 11 | ||
| 12 | if ARCH_SIRF | 12 | if ARCH_SIRF |
| 13 | 13 | ||
| 14 | menu "CSR SiRF atlas6/primaII/Marco/Polo Specific Features" | 14 | comment "CSR SiRF atlas6/primaII/Marco/Polo Specific Features" |
| 15 | 15 | ||
| 16 | config ARCH_ATLAS6 | 16 | config ARCH_ATLAS6 |
| 17 | bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform" | 17 | bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform" |
| @@ -37,8 +37,6 @@ config ARCH_MARCO | |||
| 37 | help | 37 | help |
| 38 | Support for CSR SiRFSoC ARM Cortex A9 Platform | 38 | Support for CSR SiRFSoC ARM Cortex A9 Platform |
| 39 | 39 | ||
| 40 | endmenu | ||
| 41 | |||
| 42 | config SIRF_IRQ | 40 | config SIRF_IRQ |
| 43 | bool | 41 | bool |
| 44 | 42 | ||
diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig index fd2b99dceb89..ee5697ba05bc 100644 --- a/arch/arm/mach-qcom/Kconfig +++ b/arch/arm/mach-qcom/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_QCOM | 1 | menuconfig ARCH_QCOM |
| 2 | bool "Qualcomm Support" if ARCH_MULTI_V7 | 2 | bool "Qualcomm Support" if ARCH_MULTI_V7 |
| 3 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
| 4 | select ARM_GIC | 4 | select ARM_GIC |
| @@ -11,8 +11,6 @@ config ARCH_QCOM | |||
| 11 | 11 | ||
| 12 | if ARCH_QCOM | 12 | if ARCH_QCOM |
| 13 | 13 | ||
| 14 | menu "Qualcomm SoC Selection" | ||
| 15 | |||
| 16 | config ARCH_MSM8X60 | 14 | config ARCH_MSM8X60 |
| 17 | bool "Enable support for MSM8X60" | 15 | bool "Enable support for MSM8X60" |
| 18 | select CLKSRC_QCOM | 16 | select CLKSRC_QCOM |
| @@ -25,8 +23,6 @@ config ARCH_MSM8974 | |||
| 25 | bool "Enable support for MSM8974" | 23 | bool "Enable support for MSM8974" |
| 26 | select HAVE_ARM_ARCH_TIMER | 24 | select HAVE_ARM_ARCH_TIMER |
| 27 | 25 | ||
| 28 | endmenu | ||
| 29 | |||
| 30 | config QCOM_SCM | 26 | config QCOM_SCM |
| 31 | bool | 27 | bool |
| 32 | 28 | ||
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig index 04284de7aca5..ad5316ae524e 100644 --- a/arch/arm/mach-s3c24xx/Kconfig +++ b/arch/arm/mach-s3c24xx/Kconfig | |||
| @@ -117,7 +117,7 @@ config S3C24XX_SETUP_TS | |||
| 117 | Compile in platform device definition for Samsung TouchScreen. | 117 | Compile in platform device definition for Samsung TouchScreen. |
| 118 | 118 | ||
| 119 | config S3C24XX_DMA | 119 | config S3C24XX_DMA |
| 120 | bool "S3C2410 DMA support" | 120 | bool "S3C2410 DMA support (deprecated)" |
| 121 | select S3C_DMA | 121 | select S3C_DMA |
| 122 | help | 122 | help |
| 123 | S3C2410 DMA support. This is needed for drivers like sound which | 123 | S3C2410 DMA support. This is needed for drivers like sound which |
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig index 3136d86b0d6e..26ca2427e53d 100644 --- a/arch/arm/mach-s3c64xx/Kconfig +++ b/arch/arm/mach-s3c64xx/Kconfig | |||
| @@ -18,9 +18,9 @@ config CPU_S3C6410 | |||
| 18 | Enable S3C6410 CPU support | 18 | Enable S3C6410 CPU support |
| 19 | 19 | ||
| 20 | config S3C64XX_PL080 | 20 | config S3C64XX_PL080 |
| 21 | bool "S3C64XX DMA using generic PL08x driver" | 21 | def_bool DMADEVICES |
| 22 | select ARM_AMBA | ||
| 22 | select AMBA_PL08X | 23 | select AMBA_PL08X |
| 23 | select SAMSUNG_DMADEV | ||
| 24 | 24 | ||
| 25 | config S3C64XX_SETUP_SDHCI | 25 | config S3C64XX_SETUP_SDHCI |
| 26 | bool | 26 | bool |
diff --git a/arch/arm/mach-s5p64x0/Kconfig b/arch/arm/mach-s5p64x0/Kconfig index bb2111b3751e..26003e23796d 100644 --- a/arch/arm/mach-s5p64x0/Kconfig +++ b/arch/arm/mach-s5p64x0/Kconfig | |||
| @@ -9,16 +9,18 @@ if ARCH_S5P64X0 | |||
| 9 | 9 | ||
| 10 | config CPU_S5P6440 | 10 | config CPU_S5P6440 |
| 11 | bool | 11 | bool |
| 12 | select ARM_AMBA | ||
| 13 | select PL330_DMA if DMADEVICES | ||
| 12 | select S5P_SLEEP if PM | 14 | select S5P_SLEEP if PM |
| 13 | select SAMSUNG_DMADEV | ||
| 14 | select SAMSUNG_WAKEMASK if PM | 15 | select SAMSUNG_WAKEMASK if PM |
| 15 | help | 16 | help |
| 16 | Enable S5P6440 CPU support | 17 | Enable S5P6440 CPU support |
| 17 | 18 | ||
| 18 | config CPU_S5P6450 | 19 | config CPU_S5P6450 |
| 19 | bool | 20 | bool |
| 21 | select ARM_AMBA | ||
| 22 | select PL330_DMA if DMADEVICES | ||
| 20 | select S5P_SLEEP if PM | 23 | select S5P_SLEEP if PM |
| 21 | select SAMSUNG_DMADEV | ||
| 22 | select SAMSUNG_WAKEMASK if PM | 24 | select SAMSUNG_WAKEMASK if PM |
| 23 | help | 25 | help |
| 24 | Enable S5P6450 CPU support | 26 | Enable S5P6450 CPU support |
diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig index 15170be97a74..c5e3a969b063 100644 --- a/arch/arm/mach-s5pc100/Kconfig +++ b/arch/arm/mach-s5pc100/Kconfig | |||
| @@ -9,8 +9,9 @@ if ARCH_S5PC100 | |||
| 9 | 9 | ||
| 10 | config CPU_S5PC100 | 10 | config CPU_S5PC100 |
| 11 | bool | 11 | bool |
| 12 | select ARM_AMBA | ||
| 13 | select PL330_DMA if DMADEVICES | ||
| 12 | select S5P_EXT_INT | 14 | select S5P_EXT_INT |
| 13 | select SAMSUNG_DMADEV | ||
| 14 | help | 15 | help |
| 15 | Enable S5PC100 CPU support | 16 | Enable S5PC100 CPU support |
| 16 | 17 | ||
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index 8c3abe521757..f60f2862856d 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig | |||
| @@ -11,10 +11,11 @@ if ARCH_S5PV210 | |||
| 11 | 11 | ||
| 12 | config CPU_S5PV210 | 12 | config CPU_S5PV210 |
| 13 | bool | 13 | bool |
| 14 | select ARM_AMBA | ||
| 15 | select PL330_DMA if DMADEVICES | ||
| 14 | select S5P_EXT_INT | 16 | select S5P_EXT_INT |
| 15 | select S5P_PM if PM | 17 | select S5P_PM if PM |
| 16 | select S5P_SLEEP if PM | 18 | select S5P_SLEEP if PM |
| 17 | select SAMSUNG_DMADEV | ||
| 18 | help | 19 | help |
| 19 | Enable S5PV210 CPU support | 20 | Enable S5PV210 CPU support |
| 20 | 21 | ||
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index f9874ba60cc8..108939f8d053 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
| @@ -329,6 +329,11 @@ static struct mtd_partition collie_partitions[] = { | |||
| 329 | .name = "rootfs", | 329 | .name = "rootfs", |
| 330 | .offset = MTDPART_OFS_APPEND, | 330 | .offset = MTDPART_OFS_APPEND, |
| 331 | .size = 0x00e20000, | 331 | .size = 0x00e20000, |
| 332 | }, { | ||
| 333 | .name = "bootblock", | ||
| 334 | .offset = MTDPART_OFS_APPEND, | ||
| 335 | .size = 0x00020000, | ||
| 336 | .mask_flags = MTD_WRITEABLE | ||
| 332 | } | 337 | } |
| 333 | }; | 338 | }; |
| 334 | 339 | ||
| @@ -356,7 +361,7 @@ static void collie_flash_exit(void) | |||
| 356 | } | 361 | } |
| 357 | 362 | ||
| 358 | static struct flash_platform_data collie_flash_data = { | 363 | static struct flash_platform_data collie_flash_data = { |
| 359 | .map_name = "jedec_probe", | 364 | .map_name = "cfi_probe", |
| 360 | .init = collie_flash_init, | 365 | .init = collie_flash_init, |
| 361 | .set_vpp = collie_set_vpp, | 366 | .set_vpp = collie_set_vpp, |
| 362 | .exit = collie_flash_exit, | 367 | .exit = collie_flash_exit, |
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index dbd954e61aa7..798073057e51 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | config ARCH_SHMOBILE | 1 | config ARCH_SHMOBILE |
| 2 | bool | 2 | bool |
| 3 | 3 | ||
| 4 | config ARCH_SHMOBILE_MULTI | 4 | menuconfig ARCH_SHMOBILE_MULTI |
| 5 | bool "Renesas ARM SoCs" if ARCH_MULTI_V7 | 5 | bool "Renesas ARM SoCs" if ARCH_MULTI_V7 |
| 6 | depends on MMU | 6 | depends on MMU |
| 7 | select ARCH_SHMOBILE | 7 | select ARCH_SHMOBILE |
| @@ -15,7 +15,7 @@ config ARCH_SHMOBILE_MULTI | |||
| 15 | 15 | ||
| 16 | if ARCH_SHMOBILE_MULTI | 16 | if ARCH_SHMOBILE_MULTI |
| 17 | 17 | ||
| 18 | comment "Renesas ARM SoCs System Type" | 18 | #comment "Renesas ARM SoCs System Type" |
| 19 | 19 | ||
| 20 | config ARCH_EMEV2 | 20 | config ARCH_EMEV2 |
| 21 | bool "Emma Mobile EV2" | 21 | bool "Emma Mobile EV2" |
| @@ -85,7 +85,6 @@ config ARCH_R8A73A4 | |||
| 85 | select CPU_V7 | 85 | select CPU_V7 |
| 86 | select SH_CLK_CPG | 86 | select SH_CLK_CPG |
| 87 | select RENESAS_IRQC | 87 | select RENESAS_IRQC |
| 88 | select ARCH_HAS_CPUFREQ | ||
| 89 | select ARCH_HAS_OPP | 88 | select ARCH_HAS_OPP |
| 90 | select SYS_SUPPORTS_SH_CMT | 89 | select SYS_SUPPORTS_SH_CMT |
| 91 | select SYS_SUPPORTS_SH_TMU | 90 | select SYS_SUPPORTS_SH_TMU |
| @@ -264,7 +263,6 @@ config MACH_KOELSCH | |||
| 264 | config MACH_KZM9G | 263 | config MACH_KZM9G |
| 265 | bool "KZM-A9-GT board" | 264 | bool "KZM-A9-GT board" |
| 266 | depends on ARCH_SH73A0 | 265 | depends on ARCH_SH73A0 |
| 267 | select ARCH_HAS_CPUFREQ | ||
| 268 | select ARCH_HAS_OPP | 266 | select ARCH_HAS_OPP |
| 269 | select ARCH_REQUIRE_GPIOLIB | 267 | select ARCH_REQUIRE_GPIOLIB |
| 270 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | 268 | select REGULATOR_FIXED_VOLTAGE if REGULATOR |
diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig index 0786249b2832..90df2022276a 100644 --- a/arch/arm/mach-spear/Kconfig +++ b/arch/arm/mach-spear/Kconfig | |||
| @@ -14,7 +14,6 @@ if PLAT_SPEAR | |||
| 14 | config ARCH_SPEAR13XX | 14 | config ARCH_SPEAR13XX |
| 15 | bool "ST SPEAr13xx" | 15 | bool "ST SPEAr13xx" |
| 16 | depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE | 16 | depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE |
| 17 | select ARCH_HAS_CPUFREQ | ||
| 18 | select ARM_GIC | 17 | select ARM_GIC |
| 19 | select GPIO_SPEAR_SPICS | 18 | select GPIO_SPEAR_SPICS |
| 20 | select HAVE_ARM_SCU if SMP | 19 | select HAVE_ARM_SCU if SMP |
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig index abf9ee9bbc3f..878e9ec97d0f 100644 --- a/arch/arm/mach-sti/Kconfig +++ b/arch/arm/mach-sti/Kconfig | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | menuconfig ARCH_STI | 1 | menuconfig ARCH_STI |
| 2 | bool "STMicroelectronics Consumer Electronics SOCs with Device Trees" if ARCH_MULTI_V7 | 2 | bool "STMicroelectronics Consumer Electronics SOCs" if ARCH_MULTI_V7 |
| 3 | select ARM_GIC | 3 | select ARM_GIC |
| 4 | select ARM_GLOBAL_TIMER | 4 | select ARM_GLOBAL_TIMER |
| 5 | select PINCTRL | 5 | select PINCTRL |
| @@ -11,8 +11,8 @@ menuconfig ARCH_STI | |||
| 11 | select ARM_ERRATA_754322 | 11 | select ARM_ERRATA_754322 |
| 12 | select ARM_ERRATA_764369 if SMP | 12 | select ARM_ERRATA_764369 if SMP |
| 13 | select ARM_ERRATA_775420 | 13 | select ARM_ERRATA_775420 |
| 14 | select PL310_ERRATA_753970 if CACHE_PL310 | 14 | select PL310_ERRATA_753970 if CACHE_L2X0 |
| 15 | select PL310_ERRATA_769419 if CACHE_PL310 | 15 | select PL310_ERRATA_769419 if CACHE_L2X0 |
| 16 | help | 16 | help |
| 17 | Include support for STiH41x SOCs like STiH415/416 using the device tree | 17 | Include support for STiH41x SOCs like STiH415/416 using the device tree |
| 18 | for discovery | 18 | for discovery |
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index e16999e5b735..095399618ca5 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | config ARCH_TEGRA | 1 | menuconfig ARCH_TEGRA |
| 2 | bool "NVIDIA Tegra" if ARCH_MULTI_V7 | 2 | bool "NVIDIA Tegra" if ARCH_MULTI_V7 |
| 3 | select ARCH_HAS_CPUFREQ | ||
| 4 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
| 5 | select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS | 4 | select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS |
| 6 | select ARM_GIC | 5 | select ARM_GIC |
| @@ -16,8 +15,7 @@ config ARCH_TEGRA | |||
| 16 | help | 15 | help |
| 17 | This enables support for NVIDIA Tegra based systems. | 16 | This enables support for NVIDIA Tegra based systems. |
| 18 | 17 | ||
| 19 | menu "NVIDIA Tegra options" | 18 | if ARCH_TEGRA |
| 20 | depends on ARCH_TEGRA | ||
| 21 | 19 | ||
| 22 | config ARCH_TEGRA_2x_SOC | 20 | config ARCH_TEGRA_2x_SOC |
| 23 | bool "Enable support for Tegra20 family" | 21 | bool "Enable support for Tegra20 family" |
| @@ -69,4 +67,4 @@ config TEGRA_AHB | |||
| 69 | which controls AHB bus master arbitration and some | 67 | which controls AHB bus master arbitration and some |
| 70 | performance parameters(priority, prefech size). | 68 | performance parameters(priority, prefech size). |
| 71 | 69 | ||
| 72 | endmenu | 70 | endif |
diff --git a/arch/arm/mach-u300/Kconfig b/arch/arm/mach-u300/Kconfig index e3a96d7302e9..bc51a71394af 100644 --- a/arch/arm/mach-u300/Kconfig +++ b/arch/arm/mach-u300/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_U300 | 1 | menuconfig ARCH_U300 |
| 2 | bool "ST-Ericsson U300 Series" if ARCH_MULTI_V5 | 2 | bool "ST-Ericsson U300 Series" if ARCH_MULTI_V5 |
| 3 | depends on MMU | 3 | depends on MMU |
| 4 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
| @@ -16,8 +16,6 @@ config ARCH_U300 | |||
| 16 | 16 | ||
| 17 | if ARCH_U300 | 17 | if ARCH_U300 |
| 18 | 18 | ||
| 19 | menu "ST-Ericsson AB U300/U335 Platform" | ||
| 20 | |||
| 21 | config MACH_U300 | 19 | config MACH_U300 |
| 22 | depends on ARCH_U300 | 20 | depends on ARCH_U300 |
| 23 | bool "U300" | 21 | bool "U300" |
| @@ -43,6 +41,4 @@ config MACH_U300_SPIDUMMY | |||
| 43 | you don't need it. Selecting this will activate the | 41 | you don't need it. Selecting this will activate the |
| 44 | SPI framework and ARM PL022 support. | 42 | SPI framework and ARM PL022 support. |
| 45 | 43 | ||
| 46 | endmenu | ||
| 47 | |||
| 48 | endif | 44 | endif |
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig index b41a42da1505..699e8601dbf0 100644 --- a/arch/arm/mach-ux500/Kconfig +++ b/arch/arm/mach-ux500/Kconfig | |||
| @@ -1,9 +1,8 @@ | |||
| 1 | config ARCH_U8500 | 1 | menuconfig ARCH_U8500 |
| 2 | bool "ST-Ericsson U8500 Series" if ARCH_MULTI_V7 | 2 | bool "ST-Ericsson U8500 Series" if ARCH_MULTI_V7 |
| 3 | depends on MMU | 3 | depends on MMU |
| 4 | select AB8500_CORE | 4 | select AB8500_CORE |
| 5 | select ABX500_CORE | 5 | select ABX500_CORE |
| 6 | select ARCH_HAS_CPUFREQ | ||
| 7 | select ARCH_REQUIRE_GPIOLIB | 6 | select ARCH_REQUIRE_GPIOLIB |
| 8 | select ARM_AMBA | 7 | select ARM_AMBA |
| 9 | select ARM_ERRATA_754322 | 8 | select ARM_ERRATA_754322 |
| @@ -16,7 +15,7 @@ config ARCH_U8500 | |||
| 16 | select PINCTRL | 15 | select PINCTRL |
| 17 | select PINCTRL_ABX500 | 16 | select PINCTRL_ABX500 |
| 18 | select PINCTRL_NOMADIK | 17 | select PINCTRL_NOMADIK |
| 19 | select PL310_ERRATA_753970 if CACHE_PL310 | 18 | select PL310_ERRATA_753970 if CACHE_L2X0 |
| 20 | help | 19 | help |
| 21 | Support for ST-Ericsson's Ux500 architecture | 20 | Support for ST-Ericsson's Ux500 architecture |
| 22 | 21 | ||
| @@ -34,8 +33,6 @@ config UX500_SOC_DB8500 | |||
| 34 | select REGULATOR | 33 | select REGULATOR |
| 35 | select REGULATOR_DB8500_PRCMU | 34 | select REGULATOR_DB8500_PRCMU |
| 36 | 35 | ||
| 37 | menu "Ux500 target platform (boards)" | ||
| 38 | |||
| 39 | config MACH_MOP500 | 36 | config MACH_MOP500 |
| 40 | bool "U8500 Development platform, MOP500 versions" | 37 | bool "U8500 Development platform, MOP500 versions" |
| 41 | select I2C | 38 | select I2C |
| @@ -68,8 +65,6 @@ config UX500_AUTO_PLATFORM | |||
| 68 | a working kernel. If everything else is disabled, this | 65 | a working kernel. If everything else is disabled, this |
| 69 | automatically enables MACH_MOP500. | 66 | automatically enables MACH_MOP500. |
| 70 | 67 | ||
| 71 | endmenu | ||
| 72 | |||
| 73 | config UX500_DEBUG_UART | 68 | config UX500_DEBUG_UART |
| 74 | int "Ux500 UART to use for low-level debug" | 69 | int "Ux500 UART to use for low-level debug" |
| 75 | default 2 | 70 | default 2 |
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index 90249cfc37b3..d8b9330f896a 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | config ARCH_VEXPRESS | 1 | menuconfig ARCH_VEXPRESS |
| 2 | bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 | 2 | bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7 |
| 3 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
| 4 | select ARCH_SUPPORTS_BIG_ENDIAN | 4 | select ARCH_SUPPORTS_BIG_ENDIAN |
| @@ -37,14 +37,13 @@ config ARCH_VEXPRESS | |||
| 37 | platforms. The traditional (ATAGs) boot method is not usable on | 37 | platforms. The traditional (ATAGs) boot method is not usable on |
| 38 | these boards with this option. | 38 | these boards with this option. |
| 39 | 39 | ||
| 40 | menu "Versatile Express platform type" | 40 | if ARCH_VEXPRESS |
| 41 | depends on ARCH_VEXPRESS | ||
| 42 | 41 | ||
| 43 | config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA | 42 | config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA |
| 44 | bool "Enable A5 and A9 only errata work-arounds" | 43 | bool "Enable A5 and A9 only errata work-arounds" |
| 45 | default y | 44 | default y |
| 46 | select ARM_ERRATA_720789 | 45 | select ARM_ERRATA_720789 |
| 47 | select PL310_ERRATA_753970 if CACHE_PL310 | 46 | select PL310_ERRATA_753970 if CACHE_L2X0 |
| 48 | help | 47 | help |
| 49 | Provides common dependencies for Versatile Express platforms | 48 | Provides common dependencies for Versatile Express platforms |
| 50 | based on Cortex-A5 and Cortex-A9 processors. In order to | 49 | based on Cortex-A5 and Cortex-A9 processors. In order to |
| @@ -65,7 +64,6 @@ config ARCH_VEXPRESS_DCSCB | |||
| 65 | 64 | ||
| 66 | config ARCH_VEXPRESS_SPC | 65 | config ARCH_VEXPRESS_SPC |
| 67 | bool "Versatile Express Serial Power Controller (SPC)" | 66 | bool "Versatile Express Serial Power Controller (SPC)" |
| 68 | select ARCH_HAS_CPUFREQ | ||
| 69 | select ARCH_HAS_OPP | 67 | select ARCH_HAS_OPP |
| 70 | select PM_OPP | 68 | select PM_OPP |
| 71 | help | 69 | help |
| @@ -83,4 +81,4 @@ config ARCH_VEXPRESS_TC2_PM | |||
| 83 | Support for CPU and cluster power management on Versatile Express | 81 | Support for CPU and cluster power management on Versatile Express |
| 84 | with a TC2 (A15x2 A7x3) big.LITTLE core tile. | 82 | with a TC2 (A15x2 A7x3) big.LITTLE core tile. |
| 85 | 83 | ||
| 86 | endmenu | 84 | endif |
diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig index 08f56a41cb55..aaaa24fe4d71 100644 --- a/arch/arm/mach-vt8500/Kconfig +++ b/arch/arm/mach-vt8500/Kconfig | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | config ARCH_VT8500 | 1 | config ARCH_VT8500 |
| 2 | bool | 2 | bool |
| 3 | select ARCH_HAS_CPUFREQ | ||
| 4 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
| 5 | select CLKDEV_LOOKUP | 4 | select CLKDEV_LOOKUP |
| 6 | select VT8500_TIMER | 5 | select VT8500_TIMER |
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig index 573e0db1d0f0..0c164f81e72d 100644 --- a/arch/arm/mach-zynq/Kconfig +++ b/arch/arm/mach-zynq/Kconfig | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | config ARCH_ZYNQ | 1 | config ARCH_ZYNQ |
| 2 | bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 | 2 | bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 |
| 3 | select ARCH_HAS_CPUFREQ | ||
| 4 | select ARCH_HAS_OPP | 3 | select ARCH_HAS_OPP |
| 5 | select ARCH_SUPPORTS_BIG_ENDIAN | 4 | select ARCH_SUPPORTS_BIG_ENDIAN |
| 6 | select ARM_AMBA | 5 | select ARM_AMBA |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index eda0dd0ab97b..c348eaee7ee2 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
| @@ -889,9 +889,10 @@ config CACHE_L2X0 | |||
| 889 | help | 889 | help |
| 890 | This option enables the L2x0 PrimeCell. | 890 | This option enables the L2x0 PrimeCell. |
| 891 | 891 | ||
| 892 | if CACHE_L2X0 | ||
| 893 | |||
| 892 | config CACHE_PL310 | 894 | config CACHE_PL310 |
| 893 | bool | 895 | bool |
| 894 | depends on CACHE_L2X0 | ||
| 895 | default y if CPU_V7 && !(CPU_V6 || CPU_V6K) | 896 | default y if CPU_V7 && !(CPU_V6 || CPU_V6K) |
| 896 | help | 897 | help |
| 897 | This option enables optimisations for the PL310 cache | 898 | This option enables optimisations for the PL310 cache |
| @@ -899,7 +900,6 @@ config CACHE_PL310 | |||
| 899 | 900 | ||
| 900 | config PL310_ERRATA_588369 | 901 | config PL310_ERRATA_588369 |
| 901 | bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" | 902 | bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" |
| 902 | depends on CACHE_L2X0 | ||
| 903 | help | 903 | help |
| 904 | The PL310 L2 cache controller implements three types of Clean & | 904 | The PL310 L2 cache controller implements three types of Clean & |
| 905 | Invalidate maintenance operations: by Physical Address | 905 | Invalidate maintenance operations: by Physical Address |
| @@ -912,7 +912,6 @@ config PL310_ERRATA_588369 | |||
| 912 | 912 | ||
| 913 | config PL310_ERRATA_727915 | 913 | config PL310_ERRATA_727915 |
| 914 | bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" | 914 | bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" |
| 915 | depends on CACHE_L2X0 | ||
| 916 | help | 915 | help |
| 917 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance | 916 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance |
| 918 | operation (offset 0x7FC). This operation runs in background so that | 917 | operation (offset 0x7FC). This operation runs in background so that |
| @@ -923,7 +922,6 @@ config PL310_ERRATA_727915 | |||
| 923 | 922 | ||
| 924 | config PL310_ERRATA_753970 | 923 | config PL310_ERRATA_753970 |
| 925 | bool "PL310 errata: cache sync operation may be faulty" | 924 | bool "PL310 errata: cache sync operation may be faulty" |
| 926 | depends on CACHE_PL310 | ||
| 927 | help | 925 | help |
| 928 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. | 926 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. |
| 929 | 927 | ||
| @@ -938,7 +936,6 @@ config PL310_ERRATA_753970 | |||
| 938 | 936 | ||
| 939 | config PL310_ERRATA_769419 | 937 | config PL310_ERRATA_769419 |
| 940 | bool "PL310 errata: no automatic Store Buffer drain" | 938 | bool "PL310 errata: no automatic Store Buffer drain" |
| 941 | depends on CACHE_L2X0 | ||
| 942 | help | 939 | help |
| 943 | On revisions of the PL310 prior to r3p2, the Store Buffer does | 940 | On revisions of the PL310 prior to r3p2, the Store Buffer does |
| 944 | not automatically drain. This can cause normal, non-cacheable | 941 | not automatically drain. This can cause normal, non-cacheable |
| @@ -948,6 +945,8 @@ config PL310_ERRATA_769419 | |||
| 948 | on systems with an outer cache, the store buffer is drained | 945 | on systems with an outer cache, the store buffer is drained |
| 949 | explicitly. | 946 | explicitly. |
| 950 | 947 | ||
| 948 | endif | ||
| 949 | |||
| 951 | config CACHE_TAUROS2 | 950 | config CACHE_TAUROS2 |
| 952 | bool "Enable the Tauros2 L2 cache controller" | 951 | bool "Enable the Tauros2 L2 cache controller" |
| 953 | depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4) | 952 | depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4) |
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c index efc5cabf70e0..076172b69422 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c | |||
| @@ -1069,6 +1069,33 @@ static const struct l2c_init_data of_l2c310_data __initconst = { | |||
| 1069 | }; | 1069 | }; |
| 1070 | 1070 | ||
| 1071 | /* | 1071 | /* |
| 1072 | * This is a variant of the of_l2c310_data with .sync set to | ||
| 1073 | * NULL. Outer sync operations are not needed when the system is I/O | ||
| 1074 | * coherent, and potentially harmful in certain situations (PCIe/PL310 | ||
| 1075 | * deadlock on Armada 375/38x due to hardware I/O coherency). The | ||
| 1076 | * other operations are kept because they are infrequent (therefore do | ||
| 1077 | * not cause the deadlock in practice) and needed for secondary CPU | ||
| 1078 | * boot and other power management activities. | ||
| 1079 | */ | ||
| 1080 | static const struct l2c_init_data of_l2c310_coherent_data __initconst = { | ||
| 1081 | .type = "L2C-310 Coherent", | ||
| 1082 | .way_size_0 = SZ_8K, | ||
| 1083 | .num_lock = 8, | ||
| 1084 | .of_parse = l2c310_of_parse, | ||
| 1085 | .enable = l2c310_enable, | ||
| 1086 | .fixup = l2c310_fixup, | ||
| 1087 | .save = l2c310_save, | ||
| 1088 | .outer_cache = { | ||
| 1089 | .inv_range = l2c210_inv_range, | ||
| 1090 | .clean_range = l2c210_clean_range, | ||
| 1091 | .flush_range = l2c210_flush_range, | ||
| 1092 | .flush_all = l2c210_flush_all, | ||
| 1093 | .disable = l2c310_disable, | ||
| 1094 | .resume = l2c310_resume, | ||
| 1095 | }, | ||
| 1096 | }; | ||
| 1097 | |||
| 1098 | /* | ||
| 1072 | * Note that the end addresses passed to Linux primitives are | 1099 | * Note that the end addresses passed to Linux primitives are |
| 1073 | * noninclusive, while the hardware cache range operations use | 1100 | * noninclusive, while the hardware cache range operations use |
| 1074 | * inclusive start and end addresses. | 1101 | * inclusive start and end addresses. |
| @@ -1487,6 +1514,10 @@ int __init l2x0_of_init(u32 aux_val, u32 aux_mask) | |||
| 1487 | 1514 | ||
| 1488 | data = of_match_node(l2x0_ids, np)->data; | 1515 | data = of_match_node(l2x0_ids, np)->data; |
| 1489 | 1516 | ||
| 1517 | if (of_device_is_compatible(np, "arm,pl310-cache") && | ||
| 1518 | of_property_read_bool(np, "arm,io-coherent")) | ||
| 1519 | data = &of_l2c310_coherent_data; | ||
| 1520 | |||
| 1490 | old_aux = readl_relaxed(l2x0_base + L2X0_AUX_CTRL); | 1521 | old_aux = readl_relaxed(l2x0_base + L2X0_AUX_CTRL); |
| 1491 | if (old_aux != ((old_aux & aux_mask) | aux_val)) { | 1522 | if (old_aux != ((old_aux & aux_mask) | aux_val)) { |
| 1492 | pr_warn("L2C: platform modifies aux control register: 0x%08x -> 0x%08x\n", | 1523 | pr_warn("L2C: platform modifies aux control register: 0x%08x -> 0x%08x\n", |
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c index da1874f9f8cf..a014dfacd5ca 100644 --- a/arch/arm/mm/nommu.c +++ b/arch/arm/mm/nommu.c | |||
| @@ -300,6 +300,7 @@ void __init sanity_check_meminfo(void) | |||
| 300 | sanity_check_meminfo_mpu(); | 300 | sanity_check_meminfo_mpu(); |
| 301 | end = memblock_end_of_DRAM(); | 301 | end = memblock_end_of_DRAM(); |
| 302 | high_memory = __va(end - 1) + 1; | 302 | high_memory = __va(end - 1) + 1; |
| 303 | memblock_set_current_limit(end); | ||
| 303 | } | 304 | } |
| 304 | 305 | ||
| 305 | /* | 306 | /* |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index 97448c3acf38..ba0d58e1a2a2 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
| @@ -502,6 +502,7 @@ __\name\()_proc_info: | |||
| 502 | .long \cpu_val | 502 | .long \cpu_val |
| 503 | .long \cpu_mask | 503 | .long \cpu_mask |
| 504 | .long PMD_TYPE_SECT | \ | 504 | .long PMD_TYPE_SECT | \ |
| 505 | PMD_SECT_CACHEABLE | \ | ||
| 505 | PMD_BIT4 | \ | 506 | PMD_BIT4 | \ |
| 506 | PMD_SECT_AP_WRITE | \ | 507 | PMD_SECT_AP_WRITE | \ |
| 507 | PMD_SECT_AP_READ | 508 | PMD_SECT_AP_READ |
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 243dfcb2ca0e..301b892d97d9 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig | |||
| @@ -35,27 +35,15 @@ config SAMSUNG_PM | |||
| 35 | Base platform power management code for samsung code | 35 | Base platform power management code for samsung code |
| 36 | 36 | ||
| 37 | if PLAT_SAMSUNG | 37 | if PLAT_SAMSUNG |
| 38 | menu "Samsung Common options" | ||
| 38 | 39 | ||
| 39 | # boot configurations | 40 | # boot configurations |
| 40 | 41 | ||
| 41 | comment "Boot options" | 42 | comment "Boot options" |
| 42 | 43 | ||
| 43 | config S3C_BOOT_ERROR_RESET | ||
| 44 | bool "S3C Reboot on decompression error" | ||
| 45 | help | ||
| 46 | Say y here to use the watchdog to reset the system if the | ||
| 47 | kernel decompressor detects an error during decompression. | ||
| 48 | |||
| 49 | config S3C_BOOT_UART_FORCE_FIFO | ||
| 50 | bool "Force UART FIFO on during boot process" | ||
| 51 | default y | ||
| 52 | help | ||
| 53 | Say Y here to force the UART FIFOs on during the kernel | ||
| 54 | uncompressor | ||
| 55 | |||
| 56 | |||
| 57 | config S3C_LOWLEVEL_UART_PORT | 44 | config S3C_LOWLEVEL_UART_PORT |
| 58 | int "S3C UART to use for low-level messages" | 45 | int "S3C UART to use for low-level messages" |
| 46 | depends on ARCH_S3C64XX | ||
| 59 | default 0 | 47 | default 0 |
| 60 | help | 48 | help |
| 61 | Choice of which UART port to use for the low-level messages, | 49 | Choice of which UART port to use for the low-level messages, |
| @@ -407,17 +395,16 @@ config SAMSUNG_PM_GPIO | |||
| 407 | Include legacy GPIO power management code for platforms not using | 395 | Include legacy GPIO power management code for platforms not using |
| 408 | pinctrl-samsung driver. | 396 | pinctrl-samsung driver. |
| 409 | 397 | ||
| 410 | endif | ||
| 411 | |||
| 412 | config SAMSUNG_DMADEV | 398 | config SAMSUNG_DMADEV |
| 413 | bool | 399 | bool "Use legacy Samsung DMA abstraction" |
| 414 | select ARM_AMBA | 400 | depends on CPU_S5PV210 || CPU_S5PC100 || ARCH_S5P64X0 || ARCH_S3C64XX |
| 415 | select DMADEVICES | 401 | select DMADEVICES |
| 416 | select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ | 402 | default y |
| 417 | CPU_S5P6450 || CPU_S5P6440) | ||
| 418 | help | 403 | help |
| 419 | Use DMA device engine for PL330 DMAC. | 404 | Use DMA device engine for PL330 DMAC. |
| 420 | 405 | ||
| 406 | endif | ||
| 407 | |||
| 421 | config S5P_DEV_MFC | 408 | config S5P_DEV_MFC |
| 422 | bool | 409 | bool |
| 423 | help | 410 | help |
| @@ -503,4 +490,5 @@ config DEBUG_S3C_UART | |||
| 503 | default "2" if DEBUG_S3C_UART2 | 490 | default "2" if DEBUG_S3C_UART2 |
| 504 | default "3" if DEBUG_S3C_UART3 | 491 | default "3" if DEBUG_S3C_UART3 |
| 505 | 492 | ||
| 493 | endmenu | ||
| 506 | endif | 494 | endif |
