aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-09-11 08:27:27 -0400
committerJason Cooper <jason@lakedaemon.net>2012-09-21 14:04:57 -0400
commitabcda1dc3e23366c8543b372e9bf4e9086d5cca1 (patch)
treebec3906ad52c5d9441b99944f758d3d7f5b1fb95
parent9b7b7d8b024d3e44412abbbb0206ab8f60c459ad (diff)
arm: plat-orion: introduce PLAT_ORION_LEGACY hidden config option
Until now, the PLAT_ORION configuration option was common to all the Marvell EBU SoCs, and selecting this option had the effect of enabling the MPP code, GPIO code, address decoding and PCIe code from plat-orion, as well as providing access to driver-specific header files from plat-orion/include. However, the Armada 370 and XP SoCs will not use the MPP and GPIO code (instead some proper pinctrl and gpio drivers are in preparation), and generally, we want to move away from plat-orion and instead have everything in mach-mvebu. That said, in the mean time, we want to leverage the driver-specific headers as well as the address decoding code, so we introduce PLAT_ORION_LEGACY. The older Marvell SoCs need to select PLAT_ORION_LEGACY, while the newer Marvell SoCs need to select PLAT_ORION. Of course, when PLAT_ORION_LEGACY is selected, it automatically selects PLAT_ORION. Then, with just PLAT_ORION, you have the address decoding code plus the driver-specific headers. If you add PLAT_ORION_LEGACY to this, you gain the old MPP, GPIO and PCIe code. Again, this is only a temporary solution until we make all Marvell EBU platforms converge into the mach-mvebu directory. This solution avoids duplicating the existing address decoding code into mach-mvebu. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r--arch/arm/Kconfig13
-rw-r--r--arch/arm/plat-orion/Makefile9
2 files changed, 13 insertions, 9 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2f88d8d9770..a4eab57bee2 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -567,6 +567,7 @@ config ARCH_MVEBU
567 select GENERIC_IRQ_CHIP 567 select GENERIC_IRQ_CHIP
568 select IRQ_DOMAIN 568 select IRQ_DOMAIN
569 select COMMON_CLK 569 select COMMON_CLK
570 select PLAT_ORION
570 help 571 help
571 Support for the Marvell SoC Family with device tree support 572 Support for the Marvell SoC Family with device tree support
572 573
@@ -577,7 +578,7 @@ config ARCH_DOVE
577 select ARCH_REQUIRE_GPIOLIB 578 select ARCH_REQUIRE_GPIOLIB
578 select GENERIC_CLOCKEVENTS 579 select GENERIC_CLOCKEVENTS
579 select NEED_MACH_IO_H 580 select NEED_MACH_IO_H
580 select PLAT_ORION 581 select PLAT_ORION_LEGACY
581 help 582 help
582 Support for the Marvell Dove SoC 88AP510 583 Support for the Marvell Dove SoC 88AP510
583 584
@@ -588,7 +589,7 @@ config ARCH_KIRKWOOD
588 select ARCH_REQUIRE_GPIOLIB 589 select ARCH_REQUIRE_GPIOLIB
589 select GENERIC_CLOCKEVENTS 590 select GENERIC_CLOCKEVENTS
590 select NEED_MACH_IO_H 591 select NEED_MACH_IO_H
591 select PLAT_ORION 592 select PLAT_ORION_LEGACY
592 help 593 help
593 Support for the following Marvell Kirkwood series SoCs: 594 Support for the following Marvell Kirkwood series SoCs:
594 88F6180, 88F6192 and 88F6281. 595 88F6180, 88F6192 and 88F6281.
@@ -615,7 +616,7 @@ config ARCH_MV78XX0
615 select ARCH_REQUIRE_GPIOLIB 616 select ARCH_REQUIRE_GPIOLIB
616 select GENERIC_CLOCKEVENTS 617 select GENERIC_CLOCKEVENTS
617 select NEED_MACH_IO_H 618 select NEED_MACH_IO_H
618 select PLAT_ORION 619 select PLAT_ORION_LEGACY
619 help 620 help
620 Support for the following Marvell MV78xx0 series SoCs: 621 Support for the following Marvell MV78xx0 series SoCs:
621 MV781x0, MV782x0. 622 MV781x0, MV782x0.
@@ -628,7 +629,7 @@ config ARCH_ORION5X
628 select ARCH_REQUIRE_GPIOLIB 629 select ARCH_REQUIRE_GPIOLIB
629 select GENERIC_CLOCKEVENTS 630 select GENERIC_CLOCKEVENTS
630 select NEED_MACH_IO_H 631 select NEED_MACH_IO_H
631 select PLAT_ORION 632 select PLAT_ORION_LEGACY
632 help 633 help
633 Support for the following Marvell Orion 5x series SoCs: 634 Support for the following Marvell Orion 5x series SoCs:
634 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), 635 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
@@ -1148,6 +1149,10 @@ config PLAT_ORION
1148 select IRQ_DOMAIN 1149 select IRQ_DOMAIN
1149 select COMMON_CLK 1150 select COMMON_CLK
1150 1151
1152config PLAT_ORION_LEGACY
1153 bool
1154 select PLAT_ORION
1155
1151config PLAT_PXA 1156config PLAT_PXA
1152 bool 1157 bool
1153 1158
diff --git a/arch/arm/plat-orion/Makefile b/arch/arm/plat-orion/Makefile
index c20ce0f5ce3..1251e5bd41c 100644
--- a/arch/arm/plat-orion/Makefile
+++ b/arch/arm/plat-orion/Makefile
@@ -2,9 +2,8 @@
2# Makefile for the linux kernel. 2# Makefile for the linux kernel.
3# 3#
4 4
5obj-y := irq.o pcie.o time.o common.o mpp.o addr-map.o 5obj-y += addr-map.o
6obj-m :=
7obj-n :=
8obj- :=
9 6
10obj-$(CONFIG_GENERIC_GPIO) += gpio.o 7orion-gpio-$(CONFIG_GENERIC_GPIO) += gpio.o
8obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o
9obj-$(CONFIG_PLAT_ORION_LEGACY) += $(orion-gpio-y)