diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-09-11 08:27:27 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2012-09-21 14:04:57 -0400 |
commit | abcda1dc3e23366c8543b372e9bf4e9086d5cca1 (patch) | |
tree | bec3906ad52c5d9441b99944f758d3d7f5b1fb95 /arch | |
parent | 9b7b7d8b024d3e44412abbbb0206ab8f60c459ad (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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/plat-orion/Makefile | 9 |
2 files changed, 13 insertions, 9 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2f88d8d97701..a4eab57bee2f 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 | ||
1152 | config PLAT_ORION_LEGACY | ||
1153 | bool | ||
1154 | select PLAT_ORION | ||
1155 | |||
1151 | config PLAT_PXA | 1156 | config PLAT_PXA |
1152 | bool | 1157 | bool |
1153 | 1158 | ||
diff --git a/arch/arm/plat-orion/Makefile b/arch/arm/plat-orion/Makefile index c20ce0f5ce33..1251e5bd41c5 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 | ||
5 | obj-y := irq.o pcie.o time.o common.o mpp.o addr-map.o | 5 | obj-y += addr-map.o |
6 | obj-m := | ||
7 | obj-n := | ||
8 | obj- := | ||
9 | 6 | ||
10 | obj-$(CONFIG_GENERIC_GPIO) += gpio.o | 7 | orion-gpio-$(CONFIG_GENERIC_GPIO) += gpio.o |
8 | obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o | ||
9 | obj-$(CONFIG_PLAT_ORION_LEGACY) += $(orion-gpio-y) | ||