Skip to content

Commit ecf0aa5

Browse files
committed
Merge tag 'arm-multiplatform-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull ARMv4T/v5 multiplatform support from Arnd Bergmann: "This series has been 12 years in the making, it mostly finishes the work that was started with the founding of Linaro to clean up platform support in the kernel. The largest change here is a cleanup of the omap1 platform, which is the final ARM machine type to get converted to the common-clk subsystem. All the omap1 specific drivers are now made independent of the mach/*.h headers to allow the platform to be part of a generic ARMv4/v5 multiplatform kernel. The last bit that enables this support is still missing here while we wait for some last dependencies to make it into the mainline kernel through other subsystems. The s3c24xx, ixp4xx, iop32x, ep93xx and dove platforms were all almost at the point of allowing multiplatform kernels, this work gets completed here along with a few additional cleanup. At the same time, the s3c24xx and s3c64xx are now deprecated and expected to get removed in the future. The PXA and OMAP1 bits are in a separate branch because of dependencies. Once both branches are merged, only the three Intel StrongARM platforms (RiscPC, Footbridge/NetWinder and StrongARM1100) need separate kernels, and there are no plans to include these" * tag 'arm-multiplatform-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (61 commits) ARM: ixp4xx: Consolidate Kconfig fixing issue ARM: versatile: Add missing of_node_put in dcscb_init ARM: config: Refresh IXP4xx config after multiplatform ARM: omap1: add back omap_set_dma_priority() stub ARM: omap: fix missing declaration warnings ARM: omap: fix address space warnings from sparse ARM: spear: remove include/mach/ subdirectory ARM: davinci: remove include/mach/ subdirectory ARM: omap2: remove include/mach/ subdirectory integrator: remove empty ap_init_early() ARM: s3c: fix include path MAINTAINERS: omap1: Add Janusz as an additional maintainer ARM: omap1: htc_herald: fix typos in comments ARM: OMAP1: fix typos in comments ARM: OMAP1: clock: Remove noop code ARM: OMAP1: clock: Remove unused code ARM: OMAP1: clock: Fix UART rate reporting algorithm ARM: OMAP1: clock: Fix early UART rate issues ARM: OMAP1: Prepare for conversion of OMAP1 clocks to CCF ARM: omap1: fix build with no SoC selected ...
2 parents a0439cf + 1a23acc commit ecf0aa5

File tree

346 files changed

+3131
-4108
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

346 files changed

+3131
-4108
lines changed

MAINTAINERS

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,10 +1526,7 @@ F: Documentation/devicetree/bindings/mtd/mtd-physmap.yaml
15261526
F: arch/arm/boot/dts/arm-realview-*
15271527
F: arch/arm/boot/dts/integrator*
15281528
F: arch/arm/boot/dts/versatile*
1529-
F: arch/arm/mach-integrator/
1530-
F: arch/arm/mach-realview/
15311529
F: arch/arm/mach-versatile/
1532-
F: arch/arm/plat-versatile/
15331530
F: drivers/bus/arm-integrator-lm.c
15341531
F: drivers/clk/versatile/
15351532
F: drivers/i2c/busses/i2c-versatile.c
@@ -14510,6 +14507,7 @@ F: arch/arm/boot/dts/am335x-nano.dts
1451014507

1451114508
OMAP1 SUPPORT
1451214509
M: Aaro Koskinen <[email protected]>
14510+
M: Janusz Krzysztofik <[email protected]>
1451314511
M: Tony Lindgren <[email protected]>
1451414512
1451514513
S: Maintained

arch/arm/Kconfig

Lines changed: 6 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -347,72 +347,19 @@ config ARCH_MULTIPLATFORM
347347
select SPARSE_IRQ
348348
select USE_OF
349349

350-
config ARCH_EP93XX
351-
bool "EP93xx-based"
352-
select ARCH_SPARSEMEM_ENABLE
353-
select ARM_AMBA
354-
imply ARM_PATCH_PHYS_VIRT
355-
select ARM_VIC
356-
select AUTO_ZRELADDR
357-
select CLKSRC_MMIO
358-
select CPU_ARM920T
359-
select GPIOLIB
360-
select COMMON_CLK
361-
help
362-
This enables support for the Cirrus EP93xx series of CPUs.
363-
364350
config ARCH_FOOTBRIDGE
365351
bool "FootBridge"
352+
depends on CPU_LITTLE_ENDIAN
366353
select CPU_SA110
367354
select FOOTBRIDGE
368355
select NEED_MACH_MEMORY_H
369356
help
370357
Support for systems based on the DC21285 companion chip
371358
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
372359

373-
config ARCH_IOP32X
374-
bool "IOP32x-based"
375-
select CPU_XSCALE
376-
select GPIO_IOP
377-
select GPIOLIB
378-
select FORCE_PCI
379-
select PLAT_IOP
380-
help
381-
Support for Intel's 80219 and IOP32X (XScale) family of
382-
processors.
383-
384-
config ARCH_IXP4XX
385-
bool "IXP4xx-based"
386-
select ARCH_SUPPORTS_BIG_ENDIAN
387-
select ARM_PATCH_PHYS_VIRT
388-
select CPU_XSCALE
389-
select GPIO_IXP4XX
390-
select GPIOLIB
391-
select HAVE_PCI
392-
select IXP4XX_IRQ
393-
select IXP4XX_TIMER
394-
select SPARSE_IRQ
395-
select USB_EHCI_BIG_ENDIAN_DESC
396-
select USB_EHCI_BIG_ENDIAN_MMIO
397-
help
398-
Support for Intel's IXP4XX (XScale) family of processors.
399-
400-
config ARCH_DOVE
401-
bool "Marvell Dove"
402-
select CPU_PJ4
403-
select GPIOLIB
404-
select HAVE_PCI
405-
select MVEBU_MBUS
406-
select PINCTRL
407-
select PINCTRL_DOVE
408-
select PLAT_ORION_LEGACY
409-
select SPARSE_IRQ
410-
select PM_GENERIC_DOMAINS if PM
411-
help
412-
Support for the Marvell Dove SoC 88AP510
413-
414360
config ARCH_PXA
415361
bool "PXA2xx/PXA3xx-based"
362+
depends on CPU_LITTLE_ENDIAN
416363
select ARCH_MTD_XIP
417364
select ARM_CPU_SUSPEND if PM
418365
select AUTO_ZRELADDR
@@ -432,6 +379,7 @@ config ARCH_PXA
432379
config ARCH_RPC
433380
bool "RiscPC"
434381
depends on !CC_IS_CLANG && GCC_VERSION < 90100 && GCC_VERSION >= 60000
382+
depends on CPU_LITTLE_ENDIAN
435383
select ARCH_ACORN
436384
select ARCH_MAY_HAVE_PC_FDC
437385
select ARCH_SPARSEMEM_ENABLE
@@ -450,6 +398,7 @@ config ARCH_RPC
450398

451399
config ARCH_SA1100
452400
bool "SA1100-based"
401+
depends on CPU_LITTLE_ENDIAN
453402
select ARCH_MTD_XIP
454403
select ARCH_SPARSEMEM_ENABLE
455404
select CLKSRC_MMIO
@@ -466,33 +415,15 @@ config ARCH_SA1100
466415
help
467416
Support for StrongARM 11x0 based boards.
468417

469-
config ARCH_S3C24XX
470-
bool "Samsung S3C24XX SoCs"
471-
select ATAGS
472-
select CLKSRC_SAMSUNG_PWM
473-
select GPIO_SAMSUNG
474-
select GPIOLIB
475-
select NEED_MACH_IO_H
476-
select S3C2410_WATCHDOG
477-
select SAMSUNG_ATAGS
478-
select USE_OF
479-
select WATCHDOG
480-
help
481-
Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
482-
and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
483-
(<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
484-
Samsung SMDK2410 development board (and derivatives).
485-
486418
config ARCH_OMAP1
487419
bool "TI OMAP1"
488-
select ARCH_OMAP
420+
depends on CPU_LITTLE_ENDIAN
489421
select CLKSRC_MMIO
422+
select FORCE_PCI if PCCARD
490423
select GENERIC_IRQ_CHIP
491424
select GPIOLIB
492425
select HAVE_LEGACY_CLK
493426
select IRQ_DOMAIN
494-
select NEED_MACH_IO_H if PCCARD
495-
select NEED_MACH_MEMORY_H
496427
select SPARSE_IRQ
497428
help
498429
Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
@@ -561,7 +492,6 @@ config ARCH_VIRT
561492
select ARM_GIC_V3_ITS if PCI
562493
select ARM_PSCI
563494
select HAVE_ARM_ARCH_TIMER
564-
select ARCH_SUPPORTS_BIG_ENDIAN
565495

566496
config ARCH_AIROHA
567497
bool "Airoha SoC Support"
@@ -622,8 +552,6 @@ source "arch/arm/mach-hisi/Kconfig"
622552

623553
source "arch/arm/mach-imx/Kconfig"
624554

625-
source "arch/arm/mach-integrator/Kconfig"
626-
627555
source "arch/arm/mach-iop32x/Kconfig"
628556

629557
source "arch/arm/mach-ixp4xx/Kconfig"
@@ -656,8 +584,6 @@ source "arch/arm/mach-npcm/Kconfig"
656584

657585
source "arch/arm/mach-nspire/Kconfig"
658586

659-
source "arch/arm/plat-omap/Kconfig"
660-
661587
source "arch/arm/mach-omap1/Kconfig"
662588

663589
source "arch/arm/mach-omap2/Kconfig"
@@ -675,8 +601,6 @@ source "arch/arm/mach-rda/Kconfig"
675601

676602
source "arch/arm/mach-realtek/Kconfig"
677603

678-
source "arch/arm/mach-realview/Kconfig"
679-
680604
source "arch/arm/mach-rockchip/Kconfig"
681605

682606
source "arch/arm/mach-s3c/Kconfig"
@@ -705,8 +629,6 @@ source "arch/arm/mach-ux500/Kconfig"
705629

706630
source "arch/arm/mach-versatile/Kconfig"
707631

708-
source "arch/arm/mach-vexpress/Kconfig"
709-
710632
source "arch/arm/mach-vt8500/Kconfig"
711633

712634
source "arch/arm/mach-zynq/Kconfig"
@@ -739,9 +661,6 @@ config ARCH_MPS2
739661
config ARCH_ACORN
740662
bool
741663

742-
config PLAT_IOP
743-
bool
744-
745664
config PLAT_ORION
746665
bool
747666
select CLKSRC_MMIO

arch/arm/Kconfig.debug

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1859,9 +1859,9 @@ config DEBUG_UART_VIRT
18591859
default 0xfec00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
18601860
default 0xfec00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
18611861
default 0xfef36000 if DEBUG_HIGHBANK_UART
1862-
default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1863-
default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1864-
default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1862+
default 0xff0b0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1863+
default 0xff0b0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1864+
default 0xff0b9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
18651865
default 0xffd01000 if DEBUG_HIP01_UART
18661866
default DEBUG_UART_PHYS if !MMU
18671867
depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \

arch/arm/Makefile

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,13 @@ machine-$(CONFIG_ARCH_FOOTBRIDGE) += footbridge
179179
machine-$(CONFIG_ARCH_GEMINI) += gemini
180180
machine-$(CONFIG_ARCH_HIGHBANK) += highbank
181181
machine-$(CONFIG_ARCH_HISI) += hisi
182-
machine-$(CONFIG_ARCH_INTEGRATOR) += integrator
183182
machine-$(CONFIG_ARCH_IOP32X) += iop32x
184183
machine-$(CONFIG_ARCH_IXP4XX) += ixp4xx
185184
machine-$(CONFIG_ARCH_KEYSTONE) += keystone
186185
machine-$(CONFIG_ARCH_LPC18XX) += lpc18xx
187186
machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx
188187
machine-$(CONFIG_ARCH_MESON) += meson
189188
machine-$(CONFIG_ARCH_MMP) += mmp
190-
machine-$(CONFIG_ARCH_MPS2) += vexpress
191189
machine-$(CONFIG_ARCH_MOXART) += moxart
192190
machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0
193191
machine-$(CONFIG_ARCH_MVEBU) += mvebu
@@ -207,7 +205,6 @@ machine-$(CONFIG_ARCH_PXA) += pxa
207205
machine-$(CONFIG_ARCH_QCOM) += qcom
208206
machine-$(CONFIG_ARCH_RDA) += rda
209207
machine-$(CONFIG_ARCH_REALTEK) += realtek
210-
machine-$(CONFIG_ARCH_REALVIEW) += realview
211208
machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip
212209
machine-$(CONFIG_ARCH_RPC) += rpc
213210
machine-$(CONFIG_PLAT_SAMSUNG) += s3c
@@ -220,18 +217,15 @@ machine-$(CONFIG_ARCH_STM32) += stm32
220217
machine-$(CONFIG_ARCH_SUNXI) += sunxi
221218
machine-$(CONFIG_ARCH_TEGRA) += tegra
222219
machine-$(CONFIG_ARCH_U8500) += ux500
223-
machine-$(CONFIG_ARCH_VERSATILE) += versatile
224-
machine-$(CONFIG_ARCH_VEXPRESS) += vexpress
225220
machine-$(CONFIG_ARCH_VT8500) += vt8500
226221
machine-$(CONFIG_ARCH_ZYNQ) += zynq
222+
machine-$(CONFIG_PLAT_VERSATILE) += versatile
227223
machine-$(CONFIG_PLAT_SPEAR) += spear
228224

229225
# Platform directory name. This list is sorted alphanumerically
230226
# by CONFIG_* macro name.
231-
plat-$(CONFIG_ARCH_OMAP) += omap
232227
plat-$(CONFIG_PLAT_ORION) += orion
233228
plat-$(CONFIG_PLAT_PXA) += pxa
234-
plat-$(CONFIG_PLAT_VERSATILE) += versatile
235229

236230
# The byte offset of the kernel image in RAM from the start of RAM.
237231
TEXT_OFFSET := $(textofs-y)
Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,25 @@
11
/* SPDX-License-Identifier: GPL-2.0-or-later */
22
/*
3-
* arch/arm/mach-ep93xx/include/mach/uncompress.h
4-
*
53
* Copyright (C) 2006 Lennert Buytenhek <[email protected]>
64
*/
75

8-
#include <mach/ep93xx-regs.h>
96
#include <asm/mach-types.h>
107

11-
static unsigned char __raw_readb(unsigned int ptr)
12-
{
13-
return *((volatile unsigned char *)ptr);
14-
}
15-
16-
static unsigned int __raw_readl(unsigned int ptr)
8+
static inline unsigned int __raw_readl(unsigned int ptr)
179
{
1810
return *((volatile unsigned int *)ptr);
1911
}
2012

21-
static void __raw_writeb(unsigned char value, unsigned int ptr)
13+
static inline void __raw_writeb(unsigned char value, unsigned int ptr)
2214
{
2315
*((volatile unsigned char *)ptr) = value;
2416
}
2517

26-
static void __raw_writel(unsigned int value, unsigned int ptr)
18+
static inline void __raw_writel(unsigned int value, unsigned int ptr)
2719
{
2820
*((volatile unsigned int *)ptr) = value;
2921
}
3022

31-
#define PHYS_UART_DATA (CONFIG_DEBUG_UART_PHYS + 0x00)
32-
#define PHYS_UART_FLAG (CONFIG_DEBUG_UART_PHYS + 0x18)
33-
#define UART_FLAG_TXFF 0x20
34-
35-
static inline void putc(int c)
36-
{
37-
int i;
38-
39-
for (i = 0; i < 10000; i++) {
40-
/* Transmit fifo not full? */
41-
if (!(__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF))
42-
break;
43-
}
44-
45-
__raw_writeb(c, PHYS_UART_DATA);
46-
}
47-
48-
static inline void flush(void)
49-
{
50-
}
51-
52-
5323
/*
5424
* Some bootloaders don't turn off DMA from the ethernet MAC before
5525
* jumping to linux, which means that we might end up with bits of RX
@@ -59,7 +29,7 @@ static inline void flush(void)
5929
#define PHYS_ETH_SELF_CTL 0x80010020
6030
#define ETH_SELF_CTL_RESET 0x00000001
6131

62-
static void ethernet_reset(void)
32+
static inline void ep93xx_ethernet_reset(void)
6333
{
6434
unsigned int v;
6535

@@ -76,15 +46,41 @@ static void ethernet_reset(void)
7646
#define TS72XX_WDT_FEED_PHYS_BASE 0x23c00000
7747
#define TS72XX_WDT_FEED_VAL 0x05
7848

79-
static void __maybe_unused ts72xx_watchdog_disable(void)
49+
static inline void __maybe_unused ts72xx_watchdog_disable(void)
8050
{
8151
__raw_writeb(TS72XX_WDT_FEED_VAL, TS72XX_WDT_FEED_PHYS_BASE);
8252
__raw_writeb(0, TS72XX_WDT_CONTROL_PHYS_BASE);
8353
}
8454

85-
static void arch_decomp_setup(void)
55+
static inline void ep93xx_decomp_setup(void)
8656
{
8757
if (machine_is_ts72xx())
8858
ts72xx_watchdog_disable();
89-
ethernet_reset();
59+
60+
if (machine_is_adssphere() ||
61+
machine_is_edb9301() ||
62+
machine_is_edb9302() ||
63+
machine_is_edb9302a() ||
64+
machine_is_edb9302a() ||
65+
machine_is_edb9307() ||
66+
machine_is_edb9307a() ||
67+
machine_is_edb9307a() ||
68+
machine_is_edb9312() ||
69+
machine_is_edb9315() ||
70+
machine_is_edb9315a() ||
71+
machine_is_edb9315a() ||
72+
machine_is_gesbc9312() ||
73+
machine_is_micro9() ||
74+
machine_is_micro9l() ||
75+
machine_is_micro9m() ||
76+
machine_is_micro9s() ||
77+
machine_is_micro9m() ||
78+
machine_is_micro9l() ||
79+
machine_is_micro9s() ||
80+
machine_is_sim_one() ||
81+
machine_is_snapper_cl15() ||
82+
machine_is_ts72xx() ||
83+
machine_is_bk3() ||
84+
machine_is_vision_ep9307())
85+
ep93xx_ethernet_reset();
9086
}

arch/arm/boot/compressed/misc.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ unsigned int __machine_arch_type;
2323
#include <linux/types.h>
2424
#include <linux/linkage.h>
2525
#include "misc.h"
26+
#include "misc-ep93xx.h"
2627

2728
static void putstr(const char *ptr);
2829

@@ -143,6 +144,9 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
143144
free_mem_end_ptr = free_mem_ptr_end_p;
144145
__machine_arch_type = arch_id;
145146

147+
#ifdef CONFIG_ARCH_EP93XX
148+
ep93xx_decomp_setup();
149+
#endif
146150
arch_decomp_setup();
147151

148152
putstr("Uncompressing Linux...");

arch/arm/configs/dove_defconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ CONFIG_MODULES=y
88
CONFIG_MODULE_UNLOAD=y
99
# CONFIG_BLK_DEV_BSG is not set
1010
CONFIG_PARTITION_ADVANCED=y
11+
# CONFIG_ARCH_MULTI_V6 is not set
12+
CONFIG_ARCH_MULTI_V7=y
1113
CONFIG_ARCH_DOVE=y
1214
CONFIG_MACH_DOVE_DB=y
1315
CONFIG_MACH_CM_A510=y

0 commit comments

Comments
 (0)