RealView boardfile endgame
Subsystems (2)
cover RealView boardfile endgame
This patch set deletes the RealView board files and moves it over to a pure Device Tree boot, deleting ~3500 LoC.
Prerequisites:
- The MTD driver patch handling the flash memory write protection and VPP enable must go into the MTD subsystem.
http://marc.info/?l=linux-arm-kernel&m=145380689210787&w=2
- The CLCD device tree support patches (uncontroversial set) must go into the FBDEV subsystem.
http://marc.info/?l=linux-fbdev&m=145622172219039&w=2
- I must queue the device tree patches for the Evaluation Boards and Platform Baseboard and Platform Baseboard Explore before these patches.
However this is how it will look once the above is in place, and it will support everything the kernel already supports today.
Tested on the real hardware for PB1176JZF-S and PB11MPCore. Tested on QEMU for 1136, 1176, 11MPCore and Cortex-A9 EB, Platform Baseboard for Cortex-A8 and Platform Baseboard Explore for Cortex-A9 variants.
Linus Walleij (4):
ARM: realview: delete the RealView board files
ARM: realview: reduce the RealView Kconfig
ARM: realview: imply Device Tree config
ARM: realview: cut board options from defconfig
arch/arm/configs/realview_defconfig | 11 - arch/arm/mach-realview/Kconfig | 144 +-------- arch/arm/mach-realview/Makefile | 12 +- arch/arm/mach-realview/board-eb.h | 94 ------ arch/arm/mach-realview/board-pb1176.h | 81 ----- arch/arm/mach-realview/board-pb11mp.h | 96 ------ arch/arm/mach-realview/board-pba8.h | 71 ----- arch/arm/mach-realview/board-pbx.h | 106 ------- arch/arm/mach-realview/core.c | 404 ------------------------- arch/arm/mach-realview/core.h | 58 ---- arch/arm/mach-realview/hardware.h | 40 --- arch/arm/mach-realview/hotplug.h | 1 + arch/arm/mach-realview/irqs-eb.h | 114 ------- arch/arm/mach-realview/irqs-pb1176.h | 77 ----- arch/arm/mach-realview/irqs-pb11mp.h | 97 ------ arch/arm/mach-realview/irqs-pba8.h | 71 ----- arch/arm/mach-realview/irqs-pbx.h | 87 ------ arch/arm/mach-realview/platform.h | 247 ---------------- arch/arm/mach-realview/platsmp-dt.c | 3 +- arch/arm/mach-realview/platsmp.c | 86 ------ arch/arm/mach-realview/realview_eb.c | 492 ------------------------------- arch/arm/mach-realview/realview_pb1176.c | 395 ------------------------- arch/arm/mach-realview/realview_pb11mp.c | 385 ------------------------ arch/arm/mach-realview/realview_pba8.c | 307 ------------------- arch/arm/mach-realview/realview_pbx.c | 402 ------------------------- 25 files changed, 16 insertions(+), 3865 deletions(-) delete mode 100644 arch/arm/mach-realview/board-eb.h delete mode 100644 arch/arm/mach-realview/board-pb1176.h delete mode 100644 arch/arm/mach-realview/board-pb11mp.h delete mode 100644 arch/arm/mach-realview/board-pba8.h delete mode 100644 arch/arm/mach-realview/board-pbx.h delete mode 100644 arch/arm/mach-realview/core.c delete mode 100644 arch/arm/mach-realview/core.h delete mode 100644 arch/arm/mach-realview/hardware.h create mode 100644 arch/arm/mach-realview/hotplug.h delete mode 100644 arch/arm/mach-realview/irqs-eb.h delete mode 100644 arch/arm/mach-realview/irqs-pb1176.h delete mode 100644 arch/arm/mach-realview/irqs-pb11mp.h delete mode 100644 arch/arm/mach-realview/irqs-pba8.h delete mode 100644 arch/arm/mach-realview/irqs-pbx.h delete mode 100644 arch/arm/mach-realview/platform.h delete mode 100644 arch/arm/mach-realview/platsmp.c delete mode 100644 arch/arm/mach-realview/realview_eb.c delete mode 100644 arch/arm/mach-realview/realview_pb1176.c delete mode 100644 arch/arm/mach-realview/realview_pb11mp.c delete mode 100644 arch/arm/mach-realview/realview_pba8.c delete mode 100644 arch/arm/mach-realview/realview_pbx.c
Signature · 1 line
2.4.3
PATCH 2/4 ARM: realview: reduce the RealView Kconfig
We select all we need to the device tree boot and and do not really need all the sub-options to get this running smoothly. We will support the ARMv5, ARMv6, ARMv7 or ARMv6+ARMv7 build depending on what the user selects.
--- arch/arm/mach-realview/Kconfig | 127 +++-------------------------------------- 1 file changed, 8 insertions(+), 119 deletions(-)
arch/arm/mach-realview/Kconfig +8 -119
@@ -16,9 +16,13 @@ config REALVIEW_DT bool "Support RealView(R) Device Tree based boot" select ARM_GIC select CLK_SP810 - select HAVE_SMP + select CPU_ARM926T if ARCH_MULTI_V5 + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if SMP + select HAVE_PATA_PLATFORM + select HAVE_SMP if ARCH_MULTI_V6 + select HAVE_TCM select ICST - select MACH_REALVIEW_EB if ARCH_MULTI_V5 select MFD_SYSCON select POWER_RESET select POWER_RESET_VERSATILE
@@ -26,129 +30,14 @@ config REALVIEW_DT select SMP_ON_UP if SMP select SOC_REALVIEW select USE_OF + select ZONE_DMA help Include support for booting the ARM(R) RealView(R) evaluation boards using a device tree machine description. -config MACH_REALVIEW_EB - bool "Support RealView(R) Emulation Baseboard" - select ARM_GIC - select CPU_ARM926T if ARCH_MULTI_V5 - help - Include support for the ARM(R) RealView(R) Emulation Baseboard - platform. On an ARMv5 kernel, this will include support for - the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least - one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore - core tile options should be enabled. - -config REALVIEW_EB_ARM1136 - bool "Support ARM1136J(F)-S Tile" - depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 - select CPU_V6 - help - Enable support for the ARM1136 tile fitted to the - Realview(R) Emulation Baseboard platform. - -config REALVIEW_EB_ARM1176 - bool "Support ARM1176JZ(F)-S Tile" - depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 - help - Enable support for the ARM1176 tile fitted to the - Realview(R) Emulation Baseboard platform. - -config REALVIEW_EB_A9MP - bool "Support Multicore Cortex-A9 Tile" - depends on MACH_REALVIEW_EB && ARCH_MULTI_V7 - select HAVE_ARM_SCU if SMP - select HAVE_ARM_TWD if SMP - select HAVE_SMP - select MIGHT_HAVE_CACHE_L2X0 - help - Enable support for the Cortex-A9MPCore tile fitted to the - Realview(R) Emulation Baseboard platform. - -config REALVIEW_EB_ARM11MP - bool "Support ARM11MPCore Tile" - depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 - select HAVE_ARM_SCU if SMP - select HAVE_ARM_TWD if SMP - select HAVE_SMP - select MIGHT_HAVE_CACHE_L2X0 - help - Enable support for the ARM11MPCore tile fitted to the Realview(R) - Emulation Baseboard platform. - -config REALVIEW_EB_ARM11MP_REVB - bool "Support ARM11MPCore RevB Tile" - depends on REALVIEW_EB_ARM11MP && ARCH_MULTI_V6 - help - Enable support for the ARM11MPCore Revision B tile on the - Realview(R) Emulation Baseboard platform. Since there are device - address differences, a kernel built with this option enabled is - not compatible with other revisions of the ARM11MPCore tile. - -config MACH_REALVIEW_PB11MP - bool "Support RealView(R) Platform Baseboard for ARM11MPCore" - depends on ARCH_MULTI_V6 - select ARM_GIC - select HAVE_ARM_SCU if SMP - select HAVE_ARM_TWD if SMP - select HAVE_PATA_PLATFORM - select HAVE_SMP - select MIGHT_HAVE_CACHE_L2X0 - help - Include support for the ARM(R) RealView(R) Platform Baseboard for - the ARM11MPCore. This platform has an on-board ARM11MPCore and has - support for PCI-E and Compact Flash. - -# ARMv6 CPU without K extensions, but does have the new exclusive ops -config MACH_REALVIEW_PB1176 - bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" - depends on ARCH_MULTI_V6 - select ARM_GIC - select CPU_V6 - select HAVE_TCM - select MIGHT_HAVE_CACHE_L2X0 - help - Include support for the ARM(R) RealView(R) Platform Baseboard for - ARM1176JZF-S. - -config REALVIEW_PB1176_SECURE_FLASH - bool "Allow access to the secure flash memory block" - depends on MACH_REALVIEW_PB1176 - default n - help - Select this option if Linux will only run in secure mode on the - RealView PB1176 platform and access to the secure flash memory - block (64MB @ 0x3c000000) is required. - -config MACH_REALVIEW_PBA8 - bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" - depends on ARCH_MULTI_V7 - select ARM_GIC - select HAVE_PATA_PLATFORM - help - Include support for the ARM(R) RealView Platform Baseboard for - Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has - support for PCI-E and Compact Flash. - -config MACH_REALVIEW_PBX - bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9" - depends on ARCH_MULTI_V7 - select ARM_GIC - select HAVE_ARM_SCU if SMP - select HAVE_ARM_TWD if SMP - select HAVE_PATA_PLATFORM - select HAVE_SMP - select MIGHT_HAVE_CACHE_L2X0 - select ZONE_DMA - help - Include support for the ARM(R) RealView(R) Platform Baseboard - Explore. - config REALVIEW_HIGH_PHYS_OFFSET bool "High physical base address for the RealView platform" - depends on MMU && !MACH_REALVIEW_PB1176 + depends on MMU default y help RealView boards other than PB1176 have the RAM available at
Signature · 1 line
2.4.3
PATCH 3/4 ARM: realview: imply Device Tree config
In reply to Linus WalleijThis cuts the RealView DT Kconfig to be the same as CONFIG_ARCH_REALVIEW and rids one Kconfig option.
--- arch/arm/mach-realview/Kconfig | 23 ++++++++--------------- arch/arm/mach-realview/Makefile | 2 +- 2 files changed, 9 insertions(+), 16 deletions(-)
arch/arm/mach-realview/Kconfig +8 -15
@@ -1,22 +1,12 @@ menuconfig ARCH_REALVIEW bool "ARM Ltd. RealView family" if ARCH_MULTI_V5 || ARCH_MULTI_V6 || ARCH_MULTI_V7 select ARM_AMBA - select ARM_TIMER_SP804 - select COMMON_CLK_VERSATILE - select GPIO_PL061 if GPIOLIB - select ICST - select PLAT_VERSATILE - select PLAT_VERSATILE_SCHED_CLOCK - help - This enables support for ARM Ltd RealView boards. - -if ARCH_REALVIEW - -config REALVIEW_DT - bool "Support RealView(R) Device Tree based boot" select ARM_GIC + select ARM_TIMER_SP804 select CLK_SP810 + select COMMON_CLK_VERSATILE select CPU_ARM926T if ARCH_MULTI_V5 + select GPIO_PL061 if GPIOLIB select HAVE_ARM_SCU if SMP select HAVE_ARM_TWD if SMP select HAVE_PATA_PLATFORM
@@ -24,6 +14,8 @@ config REALVIEW_DT select HAVE_TCM select ICST select MFD_SYSCON + select PLAT_VERSATILE + select PLAT_VERSATILE_SCHED_CLOCK select POWER_RESET select POWER_RESET_VERSATILE select POWER_SUPPLY
@@ -32,8 +24,9 @@ config REALVIEW_DT select USE_OF select ZONE_DMA help - Include support for booting the ARM(R) RealView(R) evaluation - boards using a device tree machine description. + This enables support for ARM Ltd RealView boards. + +if ARCH_REALVIEW config REALVIEW_HIGH_PHYS_OFFSET bool "High physical base address for the RealView platform"
arch/arm/mach-realview/Makefile +1 -1
@@ -4,6 +4,6 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ -I$(srctree)/arch/arm/plat-versatile/include -obj-$(CONFIG_REALVIEW_DT) += realview-dt.o +obj-$(CONFIG_ARCH_REALVIEW) += realview-dt.o obj-$(CONFIG_SMP) += platsmp-dt.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
Signature · 1 line
2.4.3
PATCH 3/4 ARM: realview: imply Device Tree config
arch/arm/mach-realview/Kconfig config REALVIEW_DT · line 25
Quoted 3 lines · On Thursday 25 February 2016 14:15:10 Linus Walleij wrote:
arch/arm/mach-realview/Kconfig +0
-0@@ -32,8 +24,9 @@ config REALVIEW_DT select USE_OF select ZONE_DMA
The 'select USE_OF' can now be dropped, I guess this was left over from the multiplatform patches, but also fits in here.
arch/arm/mach-realview/Kconfig config REALVIEW_DT · line 32
Quoted 10 lines
arch/arm/mach-realview/Kconfig +3
-2help - Include support for booting the ARM(R) RealView(R) evaluation - boards using a device tree machine description. + This enables support for ARM Ltd RealView boards. + +if ARCH_REALVIEW config REALVIEW_HIGH_PHYS_OFFSET bool "High physical base address for the RealView platform"
REALVIEW_HIGH_PHYS_OFFSET can go away as well, as it is only used in 'realview_fixup', which in turn is called by the removed board files.
Arnd
PATCH 3/4 ARM: realview: imply Device Tree config
Quoted 15 lines · Arnd Bergmann
arch/arm/mach-realview/Kconfig config REALVIEW_DT · line 25
Quoted 3 lines · On Thursday 25 February 2016 14:15:10 Linus Walleij wrote:
arch/arm/mach-realview/Kconfig +0
-0@@ -32,8 +24,9 @@ config REALVIEW_DT select USE_OF select ZONE_DMAThe 'select
USE_OF' can now be dropped, I guess this was left over from the multiplatform patches, but also fits in here.Quoted 7 lines
arch/arm/mach-realview/Kconfig +3
-2help - Include support for booting the ARM(R) RealView(R) evaluation - boards using a device tree machine description. + This enables support for ARM Ltd RealView boards. + +if ARCH_REALVIEW
Quoted 7 lines
arch/arm/mach-realview/Kconfig config REALVIEW_DT · line 32
Quoted 3 lines
arch/arm/mach-realview/Kconfig +0
-0config REALVIEW_HIGH_PHYS_OFFSET bool "High physical base address for the RealView platform"
REALVIEW_HIGH_PHYS_OFFSETcan go away as well, as it is only used in 'realview_fixup', which in turn is called by the removed board files.
OK I updated the patch cutting these too.
Yours,
Linus Walleij
PATCH 4/4 ARM: realview: cut board options from defconfig
In reply to Linus WalleijThis kills off the now unused board configuration symbols for the different RealView boards from the RealView defconfig.
--- arch/arm/configs/realview_defconfig | 11 ----------- 1 file changed, 11 deletions(-)
arch/arm/configs/realview_defconfig +0 -11
@@ -11,17 +11,6 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_IOSCHED_CFQ is not set CONFIG_ARCH_MULTI_V6=y CONFIG_ARCH_REALVIEW=y -CONFIG_REALVIEW_DT=y -CONFIG_MACH_REALVIEW_EB=y -CONFIG_REALVIEW_EB_ARM1136=y -CONFIG_REALVIEW_EB_ARM1176=y -CONFIG_REALVIEW_EB_A9MP=y -CONFIG_REALVIEW_EB_ARM11MP=y -CONFIG_REALVIEW_EB_ARM11MP_REVB=y -CONFIG_MACH_REALVIEW_PB11MP=y -CONFIG_MACH_REALVIEW_PB1176=y -CONFIG_MACH_REALVIEW_PBA8=y -CONFIG_MACH_REALVIEW_PBX=y CONFIG_SMP=y CONFIG_AEABI=y CONFIG_ZBOOT_ROM_TEXT=0x0
Signature · 1 line
2.4.3
cover RealView boardfile endgame
In reply to Linus WalleijQuoted 16 lines · On Thursday 25 February 2016 14:15:07 Linus Walleij wrote:
This patch set deletes the RealView board files and moves it over to a pure Device Tree boot, deleting ~3500 LoC.
Prerequisites:
- The MTD driver patch handling the flash memory write protection and VPP enable must go into the MTD subsystem.
http://marc.info/?l=linux-arm-kernel&m=145380689210787&w=2- The CLCD device tree support patches (uncontroversial set) must go into the FBDEV subsystem.
http://marc.info/?l=linux-fbdev&m=145622172219039&w=2- I must queue the device tree patches for the Evaluation Boards and Platform Baseboard and Platform Baseboard Explore before these patches.
Quoted 9 lines
However this is how it will look once the above is in place, and it will support everything the kernel already supports today.
Tested on the real hardware for PB1176JZF-S and PB11MPCore. Tested on QEMU for 1136, 1176, 11MPCore and Cortex-A9 EB, Platform Baseboard for Cortex-A8 and Platform Baseboard Explore for Cortex-A9 variants.
Awesome!
This leaves the question whether we should do all the preparation in 4.6 and then only take these for 4.7, or do them all at once. I can see good reasons either way, but none of them particularly strong. What did you have in mind here?
Arnd
cover RealView boardfile endgame
Quoted 3 lines · Arnd Bergmann
Quoted 2 lines · On Thursday 25 February 2016 14:15:07 Linus Walleij wrote:
This patch set deletes the RealView board files and moves it over to a pure Device Tree boot, deleting ~3500 LoC.
(...)
Quoted 4 lines
This leaves the question whether we should do all the preparation in 4.6 and then only take these for 4.7, or do them all at once. I can see good reasons either way, but none of them particularly strong. What did you have in mind here?
If the dependencies in CLCD and MTD make it in we'll just merge the whole thing IMO.
If these drag out, we merge the device trees and wait with removing the board files until v4.7.
I will still have some remaining cleanup for Integrator, Versatile and also Versatile Express however, but that is for later.
Yours,
Linus Walleij
cover RealView boardfile endgame
Quoted 10 lines · On Thursday 25 February 2016 16:29:31 Linus Walleij wrote:
Quoted 3 lines · Arnd Bergmann
Quoted 2 lines · On Thursday 25 February 2016 14:15:07 Linus Walleij wrote:
This patch set deletes the RealView board files and moves it over to a pure Device Tree boot, deleting ~3500 LoC.
(...)
Quoted 4 lines
This leaves the question whether we should do all the preparation in 4.6 and then only take these for 4.7, or do them all at once. I can see good reasons either way, but none of them particularly strong. What did you have in mind here?
Quoted 10 lines
If the dependencies in CLCD and MTD make it in we'll just merge the whole thing IMO.
If these drag out, we merge the device trees and wait with removing the board files until v4.7.
I will still have some remaining cleanup for Integrator, Versatile and also Versatile Express however, but that is for later.
Ok, sounds good.
Arnd