From: Arnd Bergmann <arnd@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>, Hartley Sweeten <hsweeten@visionengravers.com>, Alexander Sverdlin <alexander.sverdlin@gmail.com>, Hubert Feurstein <hubert.feurstein@contec.at>, Lukasz Majewski <lukma@denx.de>, Krzysztof Kozlowski <krzk@kernel.org>, Alim Akhtar <alim.akhtar@samsung.com>, Linus Walleij <linus.walleij@linaro.org>, Imre Kaloz <kaloz@openwrt.org>, Krzysztof Halasa <khalasa@piap.pl>, Andrew Lunn <andrew@lunn.ch>, Gregory Clement <gregory.clement@bootlin.com>, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Simtec Linux Team <linux@simtec.co.uk>, Liviu Dudau <liviu.dudau@arm.com>, Sudeep Holla <sudeep.holla@arm.com>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Ard Biesheuvel <ardb@kernel.org>, Stephen Boyd <sboyd@kernel.org>, Geert Uytterhoeven <geert+renesas@glider.be>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 12/12] ARM: ixp4xx: enable multiplatform support Date: Tue, 5 Apr 2022 11:17:50 +0200 [thread overview] Message-ID: <20220405091750.3076973-13-arnd@kernel.org> (raw) In-Reply-To: <20220405091750.3076973-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> After all the work that Linus Walleij did on this platform, it can be part of a generic kernel build as well. Note that there are known bugs in little-endian mode on ixp4xx, and no other ARMv5 platform at this point supports big-endian mode, or is likely to in the future, so there is limited practical value in this, but it helps with build testing and ixp4xx little-endian support may get fixed in the future. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/Kconfig | 16 ------ arch/arm/mach-ixp4xx/Kconfig | 22 +++++--- arch/arm/mach-ixp4xx/Makefile.boot | 4 -- .../arm/mach-ixp4xx/include/mach/uncompress.h | 54 ------------------- 4 files changed, 15 insertions(+), 81 deletions(-) delete mode 100644 arch/arm/mach-ixp4xx/Makefile.boot delete mode 100644 arch/arm/mach-ixp4xx/include/mach/uncompress.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4d98de155e20..db9b9ed5d7c7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -357,22 +357,6 @@ config ARCH_FOOTBRIDGE Support for systems based on the DC21285 companion chip ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. -config ARCH_IXP4XX - bool "IXP4xx-based" - depends on CPU_BIG_ENDIAN - select ARM_PATCH_PHYS_VIRT - select CPU_XSCALE - select GPIO_IXP4XX - select GPIOLIB - select HAVE_PCI - select IXP4XX_IRQ - select IXP4XX_TIMER - select SPARSE_IRQ - select USB_EHCI_BIG_ENDIAN_DESC - select USB_EHCI_BIG_ENDIAN_MMIO - help - Support for Intel's IXP4XX (XScale) family of processors. - config ARCH_PXA bool "PXA2xx/PXA3xx-based" depends on CPU_LITTLE_ENDIAN diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig index f41ba3f42fc8..dc6ea3c2e3ed 100644 --- a/arch/arm/mach-ixp4xx/Kconfig +++ b/arch/arm/mach-ixp4xx/Kconfig @@ -1,9 +1,20 @@ # SPDX-License-Identifier: GPL-2.0-only -if ARCH_IXP4XX - -menu "Intel IXP4xx Implementation Options" +menuconfig ARCH_IXP4XX + bool "IXP4xx-based platforms" + depends on ARCH_MULTI_V5 + depends on CPU_BIG_ENDIAN + select CPU_XSCALE + select GPIO_IXP4XX + select GPIOLIB + select FORCE_PCI + select IXP4XX_IRQ + select IXP4XX_TIMER + select USB_EHCI_BIG_ENDIAN_DESC + select USB_EHCI_BIG_ENDIAN_MMIO + help + Support for Intel's IXP4XX (XScale) family of processors. -comment "IXP4xx Platforms" +if ARCH_IXP4XX config MACH_IXP4XX_OF bool @@ -12,11 +23,8 @@ config MACH_IXP4XX_OF select ARM_APPENDED_DTB # Old Redboot bootloaders deployed select I2C select I2C_IOP3XX - select PCI select USE_OF help Say 'Y' here to support Device Tree-based IXP4xx platforms. -endmenu - endif diff --git a/arch/arm/mach-ixp4xx/Makefile.boot b/arch/arm/mach-ixp4xx/Makefile.boot deleted file mode 100644 index 9b015bd1ef27..000000000000 --- a/arch/arm/mach-ixp4xx/Makefile.boot +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - zreladdr-y += 0x00008000 -params_phys-y := 0x00000100 - diff --git a/arch/arm/mach-ixp4xx/include/mach/uncompress.h b/arch/arm/mach-ixp4xx/include/mach/uncompress.h deleted file mode 100644 index 09e7663e6a55..000000000000 --- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h +++ /dev/null @@ -1,54 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -/* - * arch/arm/mach-ixp4xx/include/mach/uncompress.h - * - * Copyright (C) 2002 Intel Corporation. - * Copyright (C) 2003-2004 MontaVista Software, Inc. - */ - -#ifndef _ARCH_UNCOMPRESS_H_ -#define _ARCH_UNCOMPRESS_H_ - -#include <asm/mach-types.h> -#include <linux/serial_reg.h> - -#define IXP4XX_UART1_BASE_PHYS 0xc8000000 -#define IXP4XX_UART2_BASE_PHYS 0xc8001000 - -#define TX_DONE (UART_LSR_TEMT|UART_LSR_THRE) - -volatile u32* uart_base; - -static inline void putc(int c) -{ - /* Check THRE and TEMT bits before we transmit the character. - */ - while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE) - barrier(); - - *uart_base = c; -} - -static void flush(void) -{ -} - -static __inline__ void __arch_decomp_setup(unsigned long arch_id) -{ - /* - * Some boards are using UART2 as console - */ - if (machine_is_adi_coyote() || machine_is_gtwx5715() || - machine_is_gateway7001() || machine_is_wg302v2() || - machine_is_devixp() || machine_is_miccpt() || machine_is_mic256()) - uart_base = (volatile u32*) IXP4XX_UART2_BASE_PHYS; - else - uart_base = (volatile u32*) IXP4XX_UART1_BASE_PHYS; -} - -/* - * arch_id is a variable in decompress_kernel() - */ -#define arch_decomp_setup() __arch_decomp_setup(arch_id) - -#endif -- 2.29.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org> To: unlisted-recipients:; (no To-header on input) Cc: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>, Hartley Sweeten <hsweeten@visionengravers.com>, Alexander Sverdlin <alexander.sverdlin@gmail.com>, Hubert Feurstein <hubert.feurstein@contec.at>, Lukasz Majewski <lukma@denx.de>, Krzysztof Kozlowski <krzk@kernel.org>, Alim Akhtar <alim.akhtar@samsung.com>, Linus Walleij <linus.walleij@linaro.org>, Imre Kaloz <kaloz@openwrt.org>, Krzysztof Halasa <khalasa@piap.pl>, Andrew Lunn <andrew@lunn.ch>, Gregory Clement <gregory.clement@bootlin.com>, Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Simtec Linux Team <linux@simtec.co.uk>, Liviu Dudau <liviu.dudau@arm.com>, Sudeep Holla <sudeep.holla@arm.com>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Ard Biesheuvel <ardb@kernel.org>, Stephen Boyd <sboyd@kernel.org>, Geert Uytterhoeven <geert+renesas@glider.be>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 12/12] ARM: ixp4xx: enable multiplatform support Date: Tue, 5 Apr 2022 11:17:50 +0200 [thread overview] Message-ID: <20220405091750.3076973-13-arnd@kernel.org> (raw) In-Reply-To: <20220405091750.3076973-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> After all the work that Linus Walleij did on this platform, it can be part of a generic kernel build as well. Note that there are known bugs in little-endian mode on ixp4xx, and no other ARMv5 platform at this point supports big-endian mode, or is likely to in the future, so there is limited practical value in this, but it helps with build testing and ixp4xx little-endian support may get fixed in the future. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/Kconfig | 16 ------ arch/arm/mach-ixp4xx/Kconfig | 22 +++++--- arch/arm/mach-ixp4xx/Makefile.boot | 4 -- .../arm/mach-ixp4xx/include/mach/uncompress.h | 54 ------------------- 4 files changed, 15 insertions(+), 81 deletions(-) delete mode 100644 arch/arm/mach-ixp4xx/Makefile.boot delete mode 100644 arch/arm/mach-ixp4xx/include/mach/uncompress.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4d98de155e20..db9b9ed5d7c7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -357,22 +357,6 @@ config ARCH_FOOTBRIDGE Support for systems based on the DC21285 companion chip ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. -config ARCH_IXP4XX - bool "IXP4xx-based" - depends on CPU_BIG_ENDIAN - select ARM_PATCH_PHYS_VIRT - select CPU_XSCALE - select GPIO_IXP4XX - select GPIOLIB - select HAVE_PCI - select IXP4XX_IRQ - select IXP4XX_TIMER - select SPARSE_IRQ - select USB_EHCI_BIG_ENDIAN_DESC - select USB_EHCI_BIG_ENDIAN_MMIO - help - Support for Intel's IXP4XX (XScale) family of processors. - config ARCH_PXA bool "PXA2xx/PXA3xx-based" depends on CPU_LITTLE_ENDIAN diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig index f41ba3f42fc8..dc6ea3c2e3ed 100644 --- a/arch/arm/mach-ixp4xx/Kconfig +++ b/arch/arm/mach-ixp4xx/Kconfig @@ -1,9 +1,20 @@ # SPDX-License-Identifier: GPL-2.0-only -if ARCH_IXP4XX - -menu "Intel IXP4xx Implementation Options" +menuconfig ARCH_IXP4XX + bool "IXP4xx-based platforms" + depends on ARCH_MULTI_V5 + depends on CPU_BIG_ENDIAN + select CPU_XSCALE + select GPIO_IXP4XX + select GPIOLIB + select FORCE_PCI + select IXP4XX_IRQ + select IXP4XX_TIMER + select USB_EHCI_BIG_ENDIAN_DESC + select USB_EHCI_BIG_ENDIAN_MMIO + help + Support for Intel's IXP4XX (XScale) family of processors. -comment "IXP4xx Platforms" +if ARCH_IXP4XX config MACH_IXP4XX_OF bool @@ -12,11 +23,8 @@ config MACH_IXP4XX_OF select ARM_APPENDED_DTB # Old Redboot bootloaders deployed select I2C select I2C_IOP3XX - select PCI select USE_OF help Say 'Y' here to support Device Tree-based IXP4xx platforms. -endmenu - endif diff --git a/arch/arm/mach-ixp4xx/Makefile.boot b/arch/arm/mach-ixp4xx/Makefile.boot deleted file mode 100644 index 9b015bd1ef27..000000000000 --- a/arch/arm/mach-ixp4xx/Makefile.boot +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - zreladdr-y += 0x00008000 -params_phys-y := 0x00000100 - diff --git a/arch/arm/mach-ixp4xx/include/mach/uncompress.h b/arch/arm/mach-ixp4xx/include/mach/uncompress.h deleted file mode 100644 index 09e7663e6a55..000000000000 --- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h +++ /dev/null @@ -1,54 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -/* - * arch/arm/mach-ixp4xx/include/mach/uncompress.h - * - * Copyright (C) 2002 Intel Corporation. - * Copyright (C) 2003-2004 MontaVista Software, Inc. - */ - -#ifndef _ARCH_UNCOMPRESS_H_ -#define _ARCH_UNCOMPRESS_H_ - -#include <asm/mach-types.h> -#include <linux/serial_reg.h> - -#define IXP4XX_UART1_BASE_PHYS 0xc8000000 -#define IXP4XX_UART2_BASE_PHYS 0xc8001000 - -#define TX_DONE (UART_LSR_TEMT|UART_LSR_THRE) - -volatile u32* uart_base; - -static inline void putc(int c) -{ - /* Check THRE and TEMT bits before we transmit the character. - */ - while ((uart_base[UART_LSR] & TX_DONE) != TX_DONE) - barrier(); - - *uart_base = c; -} - -static void flush(void) -{ -} - -static __inline__ void __arch_decomp_setup(unsigned long arch_id) -{ - /* - * Some boards are using UART2 as console - */ - if (machine_is_adi_coyote() || machine_is_gtwx5715() || - machine_is_gateway7001() || machine_is_wg302v2() || - machine_is_devixp() || machine_is_miccpt() || machine_is_mic256()) - uart_base = (volatile u32*) IXP4XX_UART2_BASE_PHYS; - else - uart_base = (volatile u32*) IXP4XX_UART1_BASE_PHYS; -} - -/* - * arch_id is a variable in decompress_kernel() - */ -#define arch_decomp_setup() __arch_decomp_setup(arch_id) - -#endif -- 2.29.2
next prev parent reply other threads:[~2022-04-05 9:22 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-05 9:17 [PATCH 00/12] ARM: ARMv5 multiplatform conversions Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:17 ` [PATCH 01/12] ARM: versatile: move integrator/realview/vexpress to versatile Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 14:15 ` Sudeep Holla 2022-04-05 14:15 ` Sudeep Holla 2022-04-05 18:33 ` Arnd Bergmann 2022-04-05 18:33 ` Arnd Bergmann 2022-04-05 16:30 ` Linus Walleij 2022-04-05 16:30 ` Linus Walleij 2022-04-05 9:17 ` [PATCH 02/12] ARM: ep93xx: renumber interrupts Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:42 ` Lukasz Majewski 2022-04-05 9:42 ` Lukasz Majewski 2022-04-07 8:29 ` Alexander Sverdlin 2022-04-07 8:29 ` Alexander Sverdlin 2022-04-05 9:17 ` [PATCH 03/12] ARM: ep93xx: enable SPARSE_IRQ Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:42 ` Lukasz Majewski 2022-04-05 9:42 ` Lukasz Majewski 2022-04-07 8:30 ` Alexander Sverdlin 2022-04-07 8:30 ` Alexander Sverdlin 2022-04-05 9:17 ` [PATCH 04/12] ARM: ep93xx: make mach/ep93xx-regs.h local Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:43 ` Lukasz Majewski 2022-04-05 9:43 ` Lukasz Majewski 2022-04-07 8:31 ` Alexander Sverdlin 2022-04-07 8:31 ` Alexander Sverdlin 2022-04-05 9:17 ` [PATCH 05/12] ARM: ep93xx: multiplatform support Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:44 ` Lukasz Majewski 2022-04-05 9:44 ` Lukasz Majewski 2022-04-07 8:32 ` Alexander Sverdlin 2022-04-07 8:32 ` Alexander Sverdlin 2022-04-05 9:17 ` [PATCH 06/12] ARM: dove: " Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:17 ` [PATCH 07/12] ARM: s3c24xx: remove support for ISA drivers on BAST PC/104 Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-07 7:27 ` Krzysztof Kozlowski 2022-04-07 7:27 ` Krzysztof Kozlowski 2022-04-05 9:17 ` [PATCH 08/12] ARM: s3c24xx: convert to sparse-irq Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-07 7:29 ` Krzysztof Kozlowski 2022-04-07 7:29 ` Krzysztof Kozlowski 2022-04-05 9:17 ` [PATCH 09/12] ARM: s3c: enable s3c24xx multiplatform support Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-07 7:30 ` Krzysztof Kozlowski 2022-04-07 7:30 ` Krzysztof Kozlowski 2022-04-05 9:17 ` [PATCH 10/12] ARM: iop32x: enable " Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:17 ` [PATCH 11/12] ARM: rework endianess selection Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann 2022-04-05 9:17 ` Arnd Bergmann [this message] 2022-04-05 9:17 ` [PATCH 12/12] ARM: ixp4xx: enable multiplatform support Arnd Bergmann 2022-04-07 7:07 ` [PATCH 00/12] ARM: ARMv5 multiplatform conversions Krzysztof Kozlowski 2022-04-07 7:07 ` Krzysztof Kozlowski 2022-04-07 7:31 ` Arnd Bergmann 2022-04-07 7:31 ` Arnd Bergmann 2022-04-07 9:23 ` Alexander Sverdlin 2022-04-07 9:23 ` Alexander Sverdlin 2022-04-07 10:08 ` Arnd Bergmann 2022-04-07 10:08 ` Arnd Bergmann 2022-04-07 10:37 ` Alexander Sverdlin 2022-04-07 10:37 ` Alexander Sverdlin 2022-04-07 20:42 ` Linus Walleij 2022-04-07 20:42 ` Linus Walleij 2022-04-08 15:12 ` Arnd Bergmann 2022-04-08 15:12 ` Arnd Bergmann
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220405091750.3076973-13-arnd@kernel.org \ --to=arnd@kernel.org \ --cc=alexander.sverdlin@gmail.com \ --cc=alim.akhtar@samsung.com \ --cc=andrew@lunn.ch \ --cc=ardb@kernel.org \ --cc=arnd@arndb.de \ --cc=geert+renesas@glider.be \ --cc=gregory.clement@bootlin.com \ --cc=hsweeten@visionengravers.com \ --cc=hubert.feurstein@contec.at \ --cc=kaloz@openwrt.org \ --cc=khalasa@piap.pl \ --cc=krzk@kernel.org \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=linux@simtec.co.uk \ --cc=liviu.dudau@arm.com \ --cc=lorenzo.pieralisi@arm.com \ --cc=lukma@denx.de \ --cc=patches@opensource.cirrus.com \ --cc=sboyd@kernel.org \ --cc=sebastian.hesselbarth@gmail.com \ --cc=sudeep.holla@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.