[PATCH 04/15] ARM: remove ep93xx

Sascha Hauer s.hauer at pengutronix.de
Thu Apr 25 04:54:28 PDT 2024


None of the ep93xx boards supports PBL. PBL becomes mandatory, so remove
the boards and with it the now unused architecture.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/Kconfig                              |   7 -
 arch/arm/Makefile                             |   1 -
 arch/arm/boards/Makefile                      |   8 -
 arch/arm/boards/edb93xx/Makefile              |   4 -
 arch/arm/boards/edb93xx/early_udelay.h        |  15 -
 arch/arm/boards/edb93xx/edb93xx.c             | 121 ----
 arch/arm/boards/edb93xx/edb93xx.h             |  29 -
 arch/arm/boards/edb93xx/env/bin/boot          |  48 --
 .../boards/edb93xx/env/bin/flash_partition    |  22 -
 arch/arm/boards/edb93xx/env/bin/init          |  19 -
 arch/arm/boards/edb93xx/env/bin/set_nor_parts |   3 -
 arch/arm/boards/edb93xx/env/bin/update_kernel |  16 -
 arch/arm/boards/edb93xx/env/bin/update_rootfs |  16 -
 arch/arm/boards/edb93xx/env/config            |  16 -
 arch/arm/boards/edb93xx/flash_cfg.c           |  22 -
 arch/arm/boards/edb93xx/pll_cfg.c             |  41 --
 arch/arm/boards/edb93xx/pll_cfg.h             |  53 --
 arch/arm/boards/edb93xx/sdram_cfg.c           | 128 ----
 arch/arm/boards/edb93xx/sdram_cfg.h           | 125 ----
 arch/arm/configs/edb93xx_defconfig            |  32 -
 arch/arm/include/asm/barebox.lds.h            |   4 -
 arch/arm/include/asm/debug_ll.h               |   2 -
 arch/arm/include/asm/mach-types.h             |  96 ---
 arch/arm/mach-ep93xx/Kconfig                  | 411 ------------
 arch/arm/mach-ep93xx/Makefile                 |   5 -
 arch/arm/mach-ep93xx/clocksource.c            |  93 ---
 arch/arm/mach-ep93xx/gpio.c                   | 134 ----
 arch/arm/mach-ep93xx/header.c                 |  12 -
 arch/arm/mach-ep93xx/led.c                    |  57 --
 arch/arm/mach-ep93xx/led.h                    |  19 -
 arch/arm/mach-ep93xx/lowlevel_init.S          |  61 --
 include/mach/ep93xx/barebox.lds.h             |  10 -
 include/mach/ep93xx/ep93xx-regs.h             | 599 ------------------
 33 files changed, 2229 deletions(-)
 delete mode 100644 arch/arm/boards/edb93xx/Makefile
 delete mode 100644 arch/arm/boards/edb93xx/early_udelay.h
 delete mode 100644 arch/arm/boards/edb93xx/edb93xx.c
 delete mode 100644 arch/arm/boards/edb93xx/edb93xx.h
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/boot
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/flash_partition
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/init
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/set_nor_parts
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/update_kernel
 delete mode 100644 arch/arm/boards/edb93xx/env/bin/update_rootfs
 delete mode 100644 arch/arm/boards/edb93xx/env/config
 delete mode 100644 arch/arm/boards/edb93xx/flash_cfg.c
 delete mode 100644 arch/arm/boards/edb93xx/pll_cfg.c
 delete mode 100644 arch/arm/boards/edb93xx/pll_cfg.h
 delete mode 100644 arch/arm/boards/edb93xx/sdram_cfg.c
 delete mode 100644 arch/arm/boards/edb93xx/sdram_cfg.h
 delete mode 100644 arch/arm/configs/edb93xx_defconfig
 delete mode 100644 arch/arm/mach-ep93xx/Kconfig
 delete mode 100644 arch/arm/mach-ep93xx/Makefile
 delete mode 100644 arch/arm/mach-ep93xx/clocksource.c
 delete mode 100644 arch/arm/mach-ep93xx/gpio.c
 delete mode 100644 arch/arm/mach-ep93xx/header.c
 delete mode 100644 arch/arm/mach-ep93xx/led.c
 delete mode 100644 arch/arm/mach-ep93xx/led.h
 delete mode 100644 arch/arm/mach-ep93xx/lowlevel_init.S
 delete mode 100644 include/mach/ep93xx/barebox.lds.h
 delete mode 100644 include/mach/ep93xx/ep93xx-regs.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0b4333db6a..837c7eb9f4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -87,12 +87,6 @@ config ARCH_DIGIC
 	help
 	  Support for Canon's digital cameras that use the DIGIC4 chip.
 
-config ARCH_EP93XX
-	bool "Cirrus Logic EP93xx"
-	depends on 32BIT
-	select CPU_ARM920T
-	select GENERIC_GPIO
-
 config ARCH_MVEBU
 	bool "Marvell EBU platforms"
 	depends on 32BIT
@@ -292,7 +286,6 @@ source "arch/arm/mach-bcm283x/Kconfig"
 source "arch/arm/mach-clps711x/Kconfig"
 source "arch/arm/mach-davinci/Kconfig"
 source "arch/arm/mach-digic/Kconfig"
-source "arch/arm/mach-ep93xx/Kconfig"
 source "arch/arm/mach-imx/Kconfig"
 source "arch/arm/mach-layerscape/Kconfig"
 source "arch/arm/mach-mxs/Kconfig"
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 1c8ec48988..a08be94687 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -87,7 +87,6 @@ machine-$(CONFIG_ARCH_BCM283X)		+= bcm283x
 machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
 machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
 machine-$(CONFIG_ARCH_DIGIC)		+= digic
-machine-$(CONFIG_ARCH_EP93XX)		+= ep93xx
 machine-$(CONFIG_ARCH_IMX)		+= imx
 machine-$(CONFIG_ARCH_K3)		+= k3
 machine-$(CONFIG_ARCH_LAYERSCAPE)	+= layerscape
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile
index eb4e80d3e0..2e41865890 100644
--- a/arch/arm/boards/Makefile
+++ b/arch/arm/boards/Makefile
@@ -32,14 +32,6 @@ obj-$(CONFIG_MACH_DFI_FS700_M60)		+= dfi-fs700-m60/
 obj-$(CONFIG_MACH_DIGI_CCIMX6ULSBCPRO)		+= digi-ccimx6ulsom/
 obj-$(CONFIG_MACH_DUCKBILL)			+= duckbill/
 obj-$(CONFIG_MACH_DSS11)			+= dss11/
-obj-$(CONFIG_MACH_EDB93012)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9301)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9302A)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9302)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9307A)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9307)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9315A)			+= edb93xx/
-obj-$(CONFIG_MACH_EDB9315)			+= edb93xx/
 obj-$(CONFIG_MACH_EFIKA_MX_SMARTBOOK)		+= efika-mx-smartbook/
 obj-$(CONFIG_MACH_EMBEDSKY_E9)			+= embedsky-e9/
 obj-$(CONFIG_MACH_EMBEST_MARSBOARD)		+= embest-marsboard/
diff --git a/arch/arm/boards/edb93xx/Makefile b/arch/arm/boards/edb93xx/Makefile
deleted file mode 100644
index be969bde20..0000000000
--- a/arch/arm/boards/edb93xx/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-y += edb93xx.o
-lwl-y += flash_cfg.o pll_cfg.o sdram_cfg.o
diff --git a/arch/arm/boards/edb93xx/early_udelay.h b/arch/arm/boards/edb93xx/early_udelay.h
deleted file mode 100644
index b902c3bfb7..0000000000
--- a/arch/arm/boards/edb93xx/early_udelay.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-
-#include <common.h>
-
-/* delay execution before timers are initialized */
-static inline void early_udelay(uint32_t usecs)
-{
-	/* loop takes 4 cycles at 5.0ns (fastest case, running at 200MHz) */
-	register uint32_t loops = usecs * (1000 / 20);
-
-	__asm__ volatile ("1:\n"
-			"subs %0, %1, #1\n"
-			"bne 1b":"=r" (loops):"0" (loops));
-}
diff --git a/arch/arm/boards/edb93xx/edb93xx.c b/arch/arm/boards/edb93xx/edb93xx.c
deleted file mode 100644
index a3fb14822a..0000000000
--- a/arch/arm/boards/edb93xx/edb93xx.c
+++ /dev/null
@@ -1,121 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-
-#include <common.h>
-#include <driver.h>
-#include <environment.h>
-#include <fs.h>
-#include <init.h>
-#include <asm/armlinux.h>
-#include <io.h>
-#include <malloc.h>
-#include <asm/mach-types.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-#include <platform_data/eth-ep93xx.h>
-#include "edb93xx.h"
-
-#define DEVCFG_U1EN (1 << 18)
-
-static struct ep93xx_eth_platform_data ep93xx_eth_info = {
-        .xcv_type = PHY_INTERFACE_MODE_MII,
-        .phy_addr = 1,
-};
-
-static int ep93xx_mem_init(void)
-{
-	arm_add_mem_device("ram0", CONFIG_EP93XX_SDRAM_BANK0_BASE,
-				   CONFIG_EP93XX_SDRAM_BANK0_SIZE);
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 2)
-	arm_add_mem_device("ram1", CONFIG_EP93XX_SDRAM_BANK1_BASE,
-				   CONFIG_EP93XX_SDRAM_BANK1_SIZE);
-#endif
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 3)
-	arm_add_mem_device("ram2", CONFIG_EP93XX_SDRAM_BANK2_BASE,
-				   CONFIG_EP93XX_SDRAM_BANK2_SIZE);
-#endif
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS == 4)
-	arm_add_mem_device("ram3", CONFIG_EP93XX_SDRAM_BANK3_BASE,
-				   CONFIG_EP93XX_SDRAM_BANK3_SIZE);
-#endif
-
-	return 0;
-}
-mem_initcall(ep93xx_mem_init);
-
-static int ep93xx_devices_init(void)
-{
-	add_cfi_flash_device(DEVICE_ID_DYNAMIC, 0x60000000, EDB93XX_CFI_FLASH_SIZE, 0);
-
-	/*
-	 * Create partitions that should be
-	 * not touched by any regular user
-	 */
-	devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self0");
-	devfs_add_partition("nor0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0");
-
-	protect_file("/dev/env0", 1);
-
-	/*
-	 * Up to 32MiB NOR type flash, connected to
-	 * CS line 6, data width is 16 bit
-	 */
-	add_generic_device("ep93xx_eth", DEVICE_ID_DYNAMIC, NULL, 0, 0, IORESOURCE_MEM,
-			&ep93xx_eth_info);
-
-	armlinux_set_architecture(MACH_TYPE);
-
-	return 0;
-}
-
-device_initcall(ep93xx_devices_init);
-
-static int edb93xx_console_init(void)
-{
-	struct syscon_regs *syscon = (struct syscon_regs *)SYSCON_BASE;
-	char *shortname, *board;
-
-	/*
-	 * set UARTBAUD bit to drive UARTs with 14.7456MHz instead of
-	 * 14.7456/2 MHz
-	 */
-	uint32_t value = readl(&syscon->pwrcnt);
-	value |= SYSCON_PWRCNT_UART_BAUD;
-	writel(value, &syscon->pwrcnt);
-
-	/* Enable UART1 */
-	value = readl(&syscon->devicecfg);
-	value |= DEVCFG_U1EN;
-	writel(0xAA, &syscon->sysswlock);
-	writel(value, &syscon->devicecfg);
-
-	if (IS_ENABLED(CONFIG_MACH_EDB9301))
-		shortname = "EDB9301";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9302))
-		shortname = "EDB9302";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9302))
-		shortname = "EDB9302A";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9307))
-		shortname = "EDB9307";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9307A))
-		shortname = "EDB9307A";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9312))
-		shortname = "EDB9312";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9315))
-		shortname = "EDB9315";
-	else if (IS_ENABLED(CONFIG_MACH_EDB9315A))
-		shortname = "EDB9315A";
-	else
-		shortname = "unknown";
-
-	board = basprintf("Cirrus Logic %s", shortname);
-	barebox_set_model(board);
-	free(board);
-	barebox_set_hostname(shortname);
-
-	add_generic_device("pl010_serial", DEVICE_ID_DYNAMIC, NULL, UART1_BASE, 4096,
-			   IORESOURCE_MEM, NULL);
-
-	return 0;
-}
-
-console_initcall(edb93xx_console_init);
diff --git a/arch/arm/boards/edb93xx/edb93xx.h b/arch/arm/boards/edb93xx/edb93xx.h
deleted file mode 100644
index efbe87684e..0000000000
--- a/arch/arm/boards/edb93xx/edb93xx.h
+++ /dev/null
@@ -1,29 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-
-#if defined(CONFIG_MACH_EDB9301)
-#define MACH_TYPE MACH_TYPE_EDB9301
-#elif defined(CONFIG_MACH_EDB9302)
-#define MACH_TYPE MACH_TYPE_EDB9302
-#elif defined(CONFIG_MACH_EDB9302A)
-#define MACH_TYPE MACH_TYPE_EDB9302A
-#elif defined(CONFIG_MACH_EDB9307)
-#define MACH_TYPE MACH_TYPE_EDB9307
-#elif defined(CONFIG_MACH_EDB9307A)
-#define MACH_TYPE MACH_TYPE_EDB9307A
-#elif defined(CONFIG_MACH_EDB9312)
-#define MACH_TYPE MACH_TYPE_EDB9312
-#elif defined(CONFIG_MACH_EDB9315)
-#define MACH_TYPE MACH_TYPE_EDB9315
-#elif defined(CONFIG_MACH_EDB9315A)
-#define MACH_TYPE MACH_TYPE_EDB9315A
-#endif
-
-#if defined(CONFIG_MACH_EDB9301) || defined(CONFIG_MACH_EDB9302) || \
-	defined(CONFIG_MACH_EDB9302A)
-#define EDB93XX_CFI_FLASH_SIZE (16 * 1024 * 1024)
-#elif defined(CONFIG_MACH_EDB9307) || defined(CONFIG_MACH_EDB9307A) || \
-	defined(CONFIG_MACH_EDB9312) || defined(CONFIG_MACH_EDB9315) ||	\
-	defined(CONFIG_MACH_EDB9315A)
-#define EDB93XX_CFI_FLASH_SIZE (32 * 1024 * 1024)
-#endif
diff --git a/arch/arm/boards/edb93xx/env/bin/boot b/arch/arm/boards/edb93xx/env/bin/boot
deleted file mode 100644
index 143f3d018d..0000000000
--- a/arch/arm/boards/edb93xx/env/bin/boot
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-if [ x${rootfs_boot_media} = xflash ];
-then
-		rootfs_img=/dev/nor0.rootfs_${active_cfg}
-
-		if [ x${active_cfg} = x1 ];
-		then
-				rootfs_blkdev=/dev/mtdblock4
-				cfg_1_ro="ro"
-				cfg_2_ro=""
-		else
-				rootfs_blkdev=/dev/mtdblock6
-				cfg_1_ro=""
-				cfg_2_ro="ro"
-		fi
-
-		bootargs_rootfs="root=${rootfs_blkdev} rootfstype=squashfs ro"
-elif [ x${rootfs_boot_media} = xnet ];
-then
-		bootargs_rootfs="root=/dev/nfs nfsroot=${eth0.serverip}:/srv/nfs/${board},v3,nolock,tcp ip=${eth0.ipaddr}"
-else
-		echo "ERROR: \$rootfs_boot_media invalid: ${rootfs_boot_media}"
-		exit 1
-fi
-
-if [ x${kernel_boot_media} = xflash ];
-then
-		kernel_img=/dev/nor0.kernel_${active_cfg}
-elif [ x${kernel_boot_media} = xnet ];
-then
-		cd /
-		tftp ${board}/kernel.img || exit 1
-		kernel_img=/kernel.img
-else
-		echo "ERROR: \$kernel_boot_media invalid: ${kernel_boot_media}"
-		exit 1
-fi
-
-source /env/bin/set_nor_parts
-
-bootargs_mtd="mtdparts=physmap-flash.0:${nor_parts}"
-
-bootargs="${bootargs_common} ${bootargs_mtd} ${bootargs_rootfs}"
-
-bootm ${kernel_img}
\ No newline at end of file
diff --git a/arch/arm/boards/edb93xx/env/bin/flash_partition b/arch/arm/boards/edb93xx/env/bin/flash_partition
deleted file mode 100644
index ded40aa8a3..0000000000
--- a/arch/arm/boards/edb93xx/env/bin/flash_partition
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-if [ $# != 2 ];
-then
-				echo "Usage: $0 <image> <partition>"
-				exit 1
-fi
-
-image=$1
-partition=$2
-
-echo "Unlocking ${partition}"
-unprotect ${partition}
-
-echo "Erasing ${partition}"
-erase ${partition}
-
-echo "Flashing ${image} to ${partition}"
-cp ${image} ${partition}
-
-echo "Locking ${partition}"
-protect ${partition}
diff --git a/arch/arm/boards/edb93xx/env/bin/init b/arch/arm/boards/edb93xx/env/bin/init
deleted file mode 100644
index c6b5aed271..0000000000
--- a/arch/arm/boards/edb93xx/env/bin/init
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-PATH=/env/bin
-export PATH
-
-. /env/config
-
-# add partitions to barebox
-. /env/bin/set_nor_parts
-addpart /dev/nor0 ${nor_parts}
-
-echo
-echo -n "Hit any key to stop autoboot: "
-timeout -a $autoboot_timeout
-if [ $? != 0 ]; then
-	exit
-fi
-
-boot
\ No newline at end of file
diff --git a/arch/arm/boards/edb93xx/env/bin/set_nor_parts b/arch/arm/boards/edb93xx/env/bin/set_nor_parts
deleted file mode 100644
index 38321fa8cc..0000000000
--- a/arch/arm/boards/edb93xx/env/bin/set_nor_parts
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-nor_parts="256k(barebox)ro,128k(env_boot),128k(env_boot.bak),1664k(kernel_1)${cfg_1_ro},6144k(rootfs_1)${cfg_1_ro},1664k(kernel_2)${cfg_2_ro},6144k(rootfs_2)${cfg_2_ro},128k(cfg_app),128k(cfg_app.bak)"
\ No newline at end of file
diff --git a/arch/arm/boards/edb93xx/env/bin/update_kernel b/arch/arm/boards/edb93xx/env/bin/update_kernel
deleted file mode 100644
index 3e4b9b0b8e..0000000000
--- a/arch/arm/boards/edb93xx/env/bin/update_kernel
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-if [ $# != 1 ];
-then
-				echo "Usage: $0 <1/2>"
-				exit 1
-fi
-
-partition=/dev/nor0.kernel_$1
-
-cd /
-tftp ${board}/kernel.img || exit 1
-
-flash_partition kernel.img ${partition}
diff --git a/arch/arm/boards/edb93xx/env/bin/update_rootfs b/arch/arm/boards/edb93xx/env/bin/update_rootfs
deleted file mode 100644
index 52a3699fd0..0000000000
--- a/arch/arm/boards/edb93xx/env/bin/update_rootfs
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-if [ $# != 1 ];
-then
-				echo "Usage: $0 <1/2>"
-				exit 1
-fi
-
-partition=/dev/nor0.rootfs_$1
-
-cd /
-tftp ${board}/rootfs.img || exit 1
-
-flash_partition rootfs.img ${partition}
diff --git a/arch/arm/boards/edb93xx/env/config b/arch/arm/boards/edb93xx/env/config
deleted file mode 100644
index 3266272742..0000000000
--- a/arch/arm/boards/edb93xx/env/config
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-eth0.ipaddr=192.168.0.50
-eth0.netmask=255.255.0.0
-eth0.serverip=192.168.0.8
-#eth0.ethaddr=
-
-board=edb9301
-autoboot_timeout=3
-active_cfg=1
-bootargs_common="console=ttyAM0,115200"
-
-# valid media: flash/net
-kernel_boot_media=flash
-rootfs_boot_media=flash
-
diff --git a/arch/arm/boards/edb93xx/flash_cfg.c b/arch/arm/boards/edb93xx/flash_cfg.c
deleted file mode 100644
index 2c471c7721..0000000000
--- a/arch/arm/boards/edb93xx/flash_cfg.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-
-/* Flash setup for Cirrus edb93xx boards */
-
-#include <common.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-#include <io.h>
-
-#define SMC_BCR6_VALUE	(2 << SMC_BCR_IDCY_SHIFT | 5 << SMC_BCR_WST1_SHIFT | \
-				SMC_BCR_BLE | 2 << SMC_BCR_WST2_SHIFT | \
-				1 << SMC_BCR_MW_SHIFT)
-
-/* Called from assembly */
-void flash_cfg(void);
-
-void flash_cfg(void)
-{
-	struct smc_regs *smc = (struct smc_regs *)SMC_BASE;
-
-	writel(SMC_BCR6_VALUE, &smc->bcr6);
-}
diff --git a/arch/arm/boards/edb93xx/pll_cfg.c b/arch/arm/boards/edb93xx/pll_cfg.c
deleted file mode 100644
index 1a1c01aba2..0000000000
--- a/arch/arm/boards/edb93xx/pll_cfg.c
+++ /dev/null
@@ -1,41 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-// SPDX-FileCopyrightText: 2006 Dominic Rath <Dominic.Rath at gmx.de>
-
-/* PLL setup for Cirrus edb93xx boards */
-
-#include <common.h>
-#include <io.h>
-#include "pll_cfg.h"
-#include "early_udelay.h"
-
-/* Called from assembly */
-void pll_cfg(void);
-
-void pll_cfg(void)
-{
-	struct syscon_regs *syscon = (struct syscon_regs *)SYSCON_BASE;
-
-	/* setup PLL1 */
-	writel(CLKSET1_VAL, &syscon->clkset1);
-
-	/*
-	 * flush the pipeline
-	 * writing to CLKSET1 causes the EP93xx to enter standby for between
-	 * 8 ms to 16 ms, until PLL1 stabilizes
-	 */
-	asm("nop");
-	asm("nop");
-	asm("nop");
-	asm("nop");
-	asm("nop");
-
-	/* setup PLL2 */
-	writel(CLKSET2_VAL, &syscon->clkset2);
-
-	/*
-	 * the user's guide recommends to wait at least 1 ms for PLL2 to
-	 * stabilize
-	 */
-	early_udelay(1000);
-}
diff --git a/arch/arm/boards/edb93xx/pll_cfg.h b/arch/arm/boards/edb93xx/pll_cfg.h
deleted file mode 100644
index 662c92337a..0000000000
--- a/arch/arm/boards/edb93xx/pll_cfg.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-
-/* PLL register values for Cirrus edb93xx boards */
-
-#include <config.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-
-#if defined(CONFIG_MACH_EDB9301)
-/*
- * fclk_div: 2, nbyp1: 1, hclk_div: 5, pclk_div: 2
- * pll1_x1: 294912000.000000, pll1_x2ip: 36864000.000000,
- * pll1_x2: 331776000.000000, pll1_out: 331776000.000000
- */
-#define CLKSET1_VAL	(7 << SYSCON_CLKSET_PLL_X2IPD_SHIFT |      \
-			8 << SYSCON_CLKSET_PLL_X2FBD2_SHIFT |	   \
-			19 << SYSCON_CLKSET_PLL_X1FBD1_SHIFT |	   \
-			1 << SYSCON_CLKSET1_PCLK_DIV_SHIFT |	   \
-			3 << SYSCON_CLKSET1_HCLK_DIV_SHIFT |	   \
-			SYSCON_CLKSET1_NBYP1 |			   \
-			1 << SYSCON_CLKSET1_FCLK_DIV_SHIFT)
-#elif defined(CONFIG_MACH_EDB9302) || defined(CONFIG_MACH_EDB9302A) ||	\
-	defined(CONFIG_MACH_EDB9307) || defined(CONFIG_MACH_EDB9307A) || \
-	defined CONFIG_MACH_EDB9312 || defined(CONFIG_MACH_EDB9315) ||\
-	defined(CONFIG_MACH_EDB9315A)
-/*
- * fclk_div: 2, nbyp1: 1, hclk_div: 4, pclk_div: 2
- * pll1_x1: 3096576000.000000, pll1_x2ip: 129024000.000000,
- * pll1_x2: 3999744000.000000, pll1_out: 1999872000.000000
- */
-#define CLKSET1_VAL	(23 << SYSCON_CLKSET_PLL_X2IPD_SHIFT | \
-			30 << SYSCON_CLKSET_PLL_X2FBD2_SHIFT | \
-			20 << SYSCON_CLKSET_PLL_X1FBD1_SHIFT | \
-			1 << SYSCON_CLKSET1_PCLK_DIV_SHIFT |   \
-			2 << SYSCON_CLKSET1_HCLK_DIV_SHIFT |   \
-			SYSCON_CLKSET1_NBYP1 |		       \
-			1 << SYSCON_CLKSET1_FCLK_DIV_SHIFT)
-#else
-#error "Undefined board"
-#endif
-
-/*
- * usb_div: 4, nbyp2: 1, pll2_en: 1
- * pll2_x1: 368640000.000000, pll2_x2ip: 15360000.000000,
- * pll2_x2: 384000000.000000, pll2_out: 192000000.000000
- */
-#define CLKSET2_VAL	(23 << SYSCON_CLKSET_PLL_X2IPD_SHIFT | \
-			24 << SYSCON_CLKSET_PLL_X2FBD2_SHIFT | \
-			24 << SYSCON_CLKSET_PLL_X1FBD1_SHIFT | \
-			1 << SYSCON_CLKSET_PLL_PS_SHIFT |      \
-			SYSCON_CLKSET2_PLL2_EN |	       \
-			SYSCON_CLKSET2_NBYP2 |		       \
-			3 << SYSCON_CLKSET2_USB_DIV_SHIFT)
diff --git a/arch/arm/boards/edb93xx/sdram_cfg.c b/arch/arm/boards/edb93xx/sdram_cfg.c
deleted file mode 100644
index 3cee834910..0000000000
--- a/arch/arm/boards/edb93xx/sdram_cfg.c
+++ /dev/null
@@ -1,128 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-// SPDX-FileCopyrightText: 2006 Dominic Rath <Dominic.Rath at gmx.de>
-
-#include <common.h>
-#include <io.h>
-#include "sdram_cfg.h"
-#include "early_udelay.h"
-
-#define PROGRAM_MODE_REG(bank)		(*(volatile uint32_t *)		\
-		(SDRAM_BASE_ADDR | SDRAM_BANK_SEL_##bank | SDRAM_MODE_REG_VAL))
-
-#define PRECHARGE_BANK(bank)		(*(volatile uint32_t *)	\
-		(SDRAM_BASE_ADDR | SDRAM_BANK_SEL_##bank)) = 0
-
-static void precharge_all_banks(void);
-static void setup_refresh_timer(void);
-static void program_mode_registers(void);
-
-/* Called from assembly */
-void sdram_cfg(void);
-
-void sdram_cfg(void)
-{
-	struct sdram_regs *sdram = (struct sdram_regs *)SDRAM_BASE;
-	unsigned long pc = get_pc();
-
-	if (pc < CONFIG_EP93XX_SDRAM_BANK3_BASE + CONFIG_EP93XX_SDRAM_BANK3_SIZE)
-		return;
-
-	writel(SDRAM_DEVCFG_VAL, &sdram->SDRAM_DEVCFG_REG);
-
-	/* Issue continous NOP commands */
-	writel(GLCONFIG_INIT | GLCONFIG_MRS | GLCONFIG_CKE, &sdram->glconfig);
-
-	early_udelay(200);
-
-	precharge_all_banks();
-
-	setup_refresh_timer();
-
-	program_mode_registers();
-
-	/* Select normal operation mode */
-	writel(GLCONFIG_CKE, &sdram->glconfig);
-}
-
-static void precharge_all_banks(void)
-{
-	struct sdram_regs *sdram = (struct sdram_regs *)SDRAM_BASE;
-
-	/* Issue PRECHARGE ALL commands */
-	writel(GLCONFIG_INIT | GLCONFIG_CKE, &sdram->glconfig);
-
-	/*
-	 * Errata of most EP93xx revisions say that PRECHARGE ALL isn't always
-	 * issued.
-	 *
-	 *  Cirrus proposes a workaround which consists in performing a read from
-	 * each bank to force the precharge. This causes some boards to hang.
-	 * Writing to the SDRAM banks instead of reading has the same
-	 * side-effect (the SDRAM controller issues the necessary precharges),
-	 * but is known to work on all supported boards
-	 */
-
-	PRECHARGE_BANK(0);
-
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 2)
-	PRECHARGE_BANK(1);
-#endif
-
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 3)
-	PRECHARGE_BANK(2);
-#endif
-
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS == 4)
-	PRECHARGE_BANK(3);
-#endif
-}
-
-static void setup_refresh_timer(void)
-{
-	struct sdram_regs *sdram = (struct sdram_regs *)SDRAM_BASE;
-
-	/* Load refresh timer with 10 to issue refresh every 10 cycles */
-	writel(0x0a, &sdram->refrshtimr);
-
-	/*
-	 * Wait at least 80 clock cycles to provide 8 refresh cycles
-	 * to all SDRAMs
-	 */
-	early_udelay(1);
-
-	/*
-	 * Program refresh timer with normal value
-	 * We need 8192 refresh cycles every 64ms
-	 * at 15ns (HCLK >= 66MHz) per cycle:
-	 * 64ms / 8192 = 7.8125us
-	 * 7.8125us / 15ns = 520 (0x208)
-	 */
-	/*
-	 * TODO: redboot uses 0x1e0 for the slowest possible device
-	 * but i don't understand how this value is calculated
-	 */
-	writel(0x208, &sdram->refrshtimr);
-}
-
-static void program_mode_registers(void)
-{
-	struct sdram_regs *sdram = (struct sdram_regs *)SDRAM_BASE;
-
-	/* Select mode register update mode */
-	writel(GLCONFIG_MRS | GLCONFIG_CKE, &sdram->glconfig);
-
-	PROGRAM_MODE_REG(0);
-
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 2)
-	PROGRAM_MODE_REG(1);
-#endif
-
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS >= 3)
-	PROGRAM_MODE_REG(2);
-#endif
-
-#if (CONFIG_EP93XX_SDRAM_NUM_BANKS == 4)
-	PROGRAM_MODE_REG(3);
-#endif
-}
diff --git a/arch/arm/boards/edb93xx/sdram_cfg.h b/arch/arm/boards/edb93xx/sdram_cfg.h
deleted file mode 100644
index ddb9e442ed..0000000000
--- a/arch/arm/boards/edb93xx/sdram_cfg.h
+++ /dev/null
@@ -1,125 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-// SPDX-FileCopyrightText: 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
-// SPDX-FileCopyrightText: 2006 Dominic Rath <Dominic.Rath at gmx.de>
-
-#include <config.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-
-#define SDRAM_BASE_ADDR		CONFIG_EP93XX_SDRAM_BANK0_BASE
-
-#ifdef CONFIG_EP93XX_SDCE0_PHYS_OFFSET
-#define SDRAM_DEVCFG_REG	devcfg0
-#elif defined(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET)
-#define SDRAM_DEVCFG_REG	devcfg3
-#else
-#error "SDRAM bank configuration"
-#endif
-
-#if defined(CONFIG_MACH_EDB9301) || defined(CONFIG_MACH_EDB9302) ||\
-	defined(CONFIG_MACH_EDB9302A)
-/*
- * 1x Samsung K4S561632C-TC/L75 4M x 16bit x 4 banks SDRAM
- *
- * CLK cycle time min:
- *	@ CAS latency = 3: 7.5ns
- *	@ CAS latency = 2: 10ns
- * We're running at 66MHz (EDB9301) / 100Mhz (EDB9302(a)) external
- * bus speed (HCLK), with a cycle time of 15ns / 10ns, so it's safe
- * to use CAS latency = 2
- *
- * RAS-to-CAS delay min:
- *	20ns
- * At 15ns/10ns cycle time, we use RAS-to-CAS delay = 2
- *
- * SROMLL = 1: Swap BA[1:0] with A[13:12], making the SDRAM appear
- * as four blocks of 8MB size, instead of eight blocks of 4MB size:
- *
- * EDB9301/EDB9302:
- *
- * 0x00000000 - 0x007fffff
- * 0x01000000 - 0x017fffff
- * 0x04000000 - 0x047fffff
- * 0x05000000 - 0x057fffff
- *
- *
- * EDB9302a:
- *
- * 0xc0000000 - 0xc07fffff
- * 0xc1000000 - 0xc17fffff
- * 0xc4000000 - 0xc47fffff
- * 0xc5000000 - 0xc57fffff
- *
- * BANKCOUNT = 1: This is a device with four banks
- */
-
-#define SDRAM_DEVCFG_VAL (SDRAM_DEVCFG_BANKCOUNT |			\
-				SDRAM_DEVCFG_SROMLL |			\
-				SDRAM_DEVCFG_CASLAT_2 |			\
-				SDRAM_DEVCFG_RASTOCAS_2 |		\
-				SDRAM_DEVCFG_EXTBUSWIDTH)
-
-/*
- * 16 bit ext. bus
- *
- * A[22:09] is output as SYA[13:0]
- * CAS latency: 2
- * Burst type: sequential
- * Burst length: 8 (required for 16 bit ext. bus)
- * SYA[13:0] = 0x0023
- */
-#define SDRAM_MODE_REG_VAL	0x4600
-
-#define SDRAM_BANK_SEL_0	0x00000000 /* A[22:21] = b00 */
-#define SDRAM_BANK_SEL_1	0x00200000 /* A[22:21] = b01 */
-#define SDRAM_BANK_SEL_2	0x00400000 /* A[22:21] = b10 */
-#define SDRAM_BANK_SEL_3	0x00600000 /* A[22:21] = b11 */
-
-#elif defined(CONFIG_MACH_EDB9307) || defined(CONFIG_MACH_EDB9307A) ||\
-	defined CONFIG_MACH_EDB9312 || defined(CONFIG_MACH_EDB9315) ||\
-	defined(CONFIG_MACH_EDB9315A)
-/*
- * 2x Samsung K4S561632C-TC/L75 4M x 16bit x 4 banks SDRAM
- *
- * CLK cycle time min:
- *	@ CAS latency = 3: 7.5ns
- *	@ CAS latency = 2: 10ns
- * We're running at 100MHz (10ns cycle time) external bus speed (HCLK),
- * so it's safe to use CAS latency = 2
- *
- * RAS-to-CAS delay min:
- *	20ns
- * At 10ns cycle time, we use RAS-to-CAS delay = 2
- *
- * EDB9307, EDB9312, EDB9315:
- *
- * 0x00000000 - 0x01ffffff
- * 0x04000000 - 0x05ffffff
- *
- *
- * EDB9307a, EDB9315a:
- *
- * 0xc0000000 - 0xc1ffffff
- * 0xc4000000 - 0xc5ffffff
- */
-
-#define SDRAM_DEVCFG_VAL	(SDRAM_DEVCFG_BANKCOUNT |		\
-				SDRAM_DEVCFG_SROMLL |			\
-				SDRAM_DEVCFG_CASLAT_2 |			\
-				SDRAM_DEVCFG_RASTOCAS_2)
-
-/*
- * 32 bit ext. bus
- *
- * A[23:10] is output as SYA[13:0]
- * CAS latency: 2
- * Burst type: sequential
- * Burst length: 4
- * SYA[13:0] = 0x0022
- */
-#define SDRAM_MODE_REG_VAL	0x8800
-
-#define SDRAM_BANK_SEL_0	0x00000000 /* A[23:22] = b00 */
-#define SDRAM_BANK_SEL_1	0x00400000 /* A[23:22] = b01 */
-#define SDRAM_BANK_SEL_2	0x00800000 /* A[23:22] = b10 */
-#define SDRAM_BANK_SEL_3	0x00c00000 /* A[23:22] = b11 */
-#endif
diff --git a/arch/arm/configs/edb93xx_defconfig b/arch/arm/configs/edb93xx_defconfig
deleted file mode 100644
index 0632be1945..0000000000
--- a/arch/arm/configs/edb93xx_defconfig
+++ /dev/null
@@ -1,32 +0,0 @@
-CONFIG_ARCH_EP93XX=y
-CONFIG_AEABI=y
-CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/edb93xx/env"
-CONFIG_LONGHELP=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_GO=y
-CONFIG_CMD_RESET=y
-CONFIG_CMD_PARTITION=y
-CONFIG_CMD_EXPORT=y
-CONFIG_CMD_LOADENV=y
-CONFIG_CMD_PRINTENV=y
-CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_SLEEP=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_PING=y
-CONFIG_CMD_TFTP=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CRC=y
-CONFIG_CMD_FLASH=y
-CONFIG_CMD_GPIO=y
-CONFIG_NET=y
-CONFIG_DRIVER_NET_EP93XX=y
-# CONFIG_SPI is not set
-CONFIG_MTD=y
-CONFIG_DRIVER_CFI=y
-CONFIG_FS_TFTP=y
diff --git a/arch/arm/include/asm/barebox.lds.h b/arch/arm/include/asm/barebox.lds.h
index a5c74381d8..72aabe155b 100644
--- a/arch/arm/include/asm/barebox.lds.h
+++ b/arch/arm/include/asm/barebox.lds.h
@@ -1,9 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
-#if defined CONFIG_ARCH_EP93XX
-#include <mach/ep93xx/barebox.lds.h>
-#endif
-
 #ifdef CONFIG_CPU_32
 #define BAREBOX_OUTPUT_FORMAT	"elf32-littlearm", "elf32-littlearm", "elf32-littlearm"
 #define BAREBOX_OUTPUT_ARCH	"arm"
diff --git a/arch/arm/include/asm/debug_ll.h b/arch/arm/include/asm/debug_ll.h
index ced81c1a8b..5fe1b0be91 100644
--- a/arch/arm/include/asm/debug_ll.h
+++ b/arch/arm/include/asm/debug_ll.h
@@ -54,8 +54,6 @@
 #include <mach/nomadik/debug_ll.h>
 #elif defined CONFIG_ARCH_MXS
 #include <mach/mxs/debug_ll.h>
-#elif defined CONFIG_ARCH_EP93XX
-#include <mach/ep93xx/debug_ll.h>
 #elif defined CONFIG_ARCH_DIGIC
 #include <mach/digic/debug_ll.h>
 #elif defined CONFIG_ARCH_CLPS711X
diff --git a/arch/arm/include/asm/mach-types.h b/arch/arm/include/asm/mach-types.h
index f16aeb88db..3b902aa021 100644
--- a/arch/arm/include/asm/mach-types.h
+++ b/arch/arm/include/asm/mach-types.h
@@ -137,42 +137,6 @@ extern unsigned int __machine_arch_type;
 # define machine_is_nomadik()	(0)
 #endif
 
-#ifdef CONFIG_MACH_EDB9312
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9312
-# endif
-# define machine_is_edb9312()	(machine_arch_type == MACH_TYPE_EDB9312)
-#else
-# define machine_is_edb9312()	(0)
-#endif
-
-#ifdef CONFIG_MACH_EDB9301
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9301
-# endif
-# define machine_is_edb9301()	(machine_arch_type == MACH_TYPE_EDB9301)
-#else
-# define machine_is_edb9301()	(0)
-#endif
-
-#ifdef CONFIG_MACH_EDB9315
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9315
-# endif
-# define machine_is_edb9315()	(machine_arch_type == MACH_TYPE_EDB9315)
-#else
-# define machine_is_edb9315()	(0)
-#endif
-
 #ifdef CONFIG_MACH_SCB9328
 # ifdef machine_arch_type
 #  undef machine_arch_type
@@ -185,30 +149,6 @@ extern unsigned int __machine_arch_type;
 # define machine_is_scb9328()	(0)
 #endif
 
-#ifdef CONFIG_MACH_EDB9302
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9302
-# endif
-# define machine_is_edb9302()	(machine_arch_type == MACH_TYPE_EDB9302)
-#else
-# define machine_is_edb9302()	(0)
-#endif
-
-#ifdef CONFIG_MACH_EDB9307
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9307
-# endif
-# define machine_is_edb9307()	(machine_arch_type == MACH_TYPE_EDB9307)
-#else
-# define machine_is_edb9307()	(0)
-#endif
-
 #ifdef CONFIG_MACH_AT91RM9200EK
 # ifdef machine_arch_type
 #  undef machine_arch_type
@@ -233,18 +173,6 @@ extern unsigned int __machine_arch_type;
 # define machine_is_pcm027()	(0)
 #endif
 
-#ifdef CONFIG_MACH_EDB9315A
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9315A
-# endif
-# define machine_is_edb9315a()	(machine_arch_type == MACH_TYPE_EDB9315A)
-#else
-# define machine_is_edb9315a()	(0)
-#endif
-
 #ifdef CONFIG_MACH_AT91SAM9261EK
 # ifdef machine_arch_type
 #  undef machine_arch_type
@@ -269,30 +197,6 @@ extern unsigned int __machine_arch_type;
 # define machine_is_at91sam9260ek()	(0)
 #endif
 
-#ifdef CONFIG_MACH_EDB9302A
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9302A
-# endif
-# define machine_is_edb9302a()	(machine_arch_type == MACH_TYPE_EDB9302A)
-#else
-# define machine_is_edb9302a()	(0)
-#endif
-
-#ifdef CONFIG_MACH_EDB9307A
-# ifdef machine_arch_type
-#  undef machine_arch_type
-#  define machine_arch_type	__machine_arch_type
-# else
-#  define machine_arch_type	MACH_TYPE_EDB9307A
-# endif
-# define machine_is_edb9307a()	(machine_arch_type == MACH_TYPE_EDB9307A)
-#else
-# define machine_is_edb9307a()	(0)
-#endif
-
 #ifdef CONFIG_MACH_PM9261
 # ifdef machine_arch_type
 #  undef machine_arch_type
diff --git a/arch/arm/mach-ep93xx/Kconfig b/arch/arm/mach-ep93xx/Kconfig
deleted file mode 100644
index e39f1d8a9b..0000000000
--- a/arch/arm/mach-ep93xx/Kconfig
+++ /dev/null
@@ -1,411 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-if ARCH_EP93XX
-
-config EP93XX_SDCE0_PHYS_OFFSET
-	bool
-
-config EP93XX_SDCE3_SYNC_PHYS_OFFSET
-	bool
-
-comment "Cirrus EP93xx System-on-Chip"
-
-choice
-	prompt "Cirrus Logic EP93XX Processor"
-
-config ARCH_EP9301
-	bool "EP9301"
-
-config ARCH_EP9302
-	bool "EP9302"
-
-config ARCH_EP9307
-	depends on BROKEN
-	bool "EP9307"
-
-config ARCH_EP9312
-	depends on BROKEN
-	bool "EP9312"
-
-config ARCH_EP9315
-	depends on BROKEN
-	bool "EP9315"
-
-endchoice
-
-# ----------------------------------------------------------
-
-if ARCH_EP9301
-
-choice
-	prompt "EP9301 Board Type"
-
-config MACH_EDB9301
-	bool "Cirrus Logic EDB9301"
-	select EP93XX_SDCE3_SYNC_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9301 Evaluation board
-
-endchoice
-
-if MACH_EDB9301
-
-config ARCH_TEXT_BASE
-	hex
-	default 0x05700000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 4
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0x00000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0x01000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK2_BASE
-	hex
-	default 0x04000000
-
-config EP93XX_SDRAM_BANK2_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK3_BASE
-	hex
-	default 0x05000000
-
-config EP93XX_SDRAM_BANK3_SIZE
-	hex
-	default 0x00800000
-
-endif
-
-endif
-
-# ----------------------------------------------------------
-
-if ARCH_EP9302
-
-choice
-	prompt "EP9302 Board Type"
-
-config MACH_EDB9302
-	bool "Cirrus Logic EDB9302"
-	select EP93XX_SDCE3_SYNC_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9302 Evaluation board
-
-config MACH_EDB9302A
-	bool "Cirrus Logic EDB9302A"
-	select EP93XX_SDCE0_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9302A Evaluation board
-
-endchoice
-
-if MACH_EDB9302
-
-config ARCH_TEXT_BASE
-	hex
-	default 0x05700000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 4
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0x00000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0x01000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK2_BASE
-	hex
-	default 0x04000000
-
-config EP93XX_SDRAM_BANK2_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK3_BASE
-	hex
-	default 0x05000000
-
-config EP93XX_SDRAM_BANK3_SIZE
-	hex
-	default 0x00800000
-
-endif
-
-if MACH_EDB9302A
-
-config ARCH_TEXT_BASE
-	hex
-	default 0xc5700000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 4
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0xc0000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0xc1000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK2_BASE
-	hex
-	default 0xc4000000
-
-config EP93XX_SDRAM_BANK2_SIZE
-	hex
-	default 0x00800000
-
-config EP93XX_SDRAM_BANK3_BASE
-	hex
-	default 0xc5000000
-
-config EP93XX_SDRAM_BANK3_SIZE
-	hex
-	default 0x00800000
-
-endif
-
-endif
-
-# ----------------------------------------------------------
-
-if ARCH_EP9307
-
-choice
-	prompt "EP9307 Board Type"
-
-config MACH_EDB9307
-	bool "Cirrus Logic EDB9307"
-	select EP93XX_SDCE3_SYNC_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9307 Evaluation board
-
-config MACH_EDB9307A
-	bool "Cirrus Logic EDB9307A"
-	select EP93XX_SDCE0_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9307A Evaluation board
-
-endchoice
-
-if MACH_EDB9307
-
-config ARCH_TEXT_BASE
-	hex
-	default 0x01f00000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 2
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0x00000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x02000000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0x04000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x02000000
-
-endif
-
-if MACH_EDB9307A
-
-config ARCH_TEXT_BASE
-	hex
-	default 0xc1f00000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 2
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0xc0000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x02000000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0xc4000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x02000000
-
-endif
-
-endif
-
-# ----------------------------------------------------------
-
-if ARCH_EP9312
-
-choice
-	prompt "EP9312 Board Type"
-
-config MACH_EDB9312
-	bool "Cirrus Logic EDB9312"
-	select EP93XX_SDCE3_SYNC_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9312 Evaluation board
-
-endchoice
-
-if MACH_EDB9312
-
-config ARCH_TEXT_BASE
-	hex
-	default 0x01f00000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 2
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0x00000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x02000000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0x04000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x02000000
-
-endif
-
-endif
-
-# ----------------------------------------------------------
-
-if ARCH_EP9315
-
-choice
-	prompt "EP9315 Board Type"
-
-config MACH_EDB9315
-	bool "Cirrus Logic EDB9315"
-	select EP93XX_SDCE3_SYNC_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9315 Evaluation board
-
-config MACH_EDB9315A
-	bool "Cirrus Logic EDB9315A"
-	select EP93XX_SDCE0_PHYS_OFFSET
-	help
-	  Say y here if you are using Cirrus Logic's EDB9315A Evaluation board
-
-endchoice
-
-if MACH_EDB9315
-
-config ARCH_TEXT_BASE
-	hex
-	default 0x01f00000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 2
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0x00000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x02000000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0x04000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x02000000
-
-endif
-
-if MACH_EDB9315A
-
-config ARCH_TEXT_BASE
-	hex
-	default 0xc1f00000
-
-config EP93XX_SDRAM_NUM_BANKS
-	int
-	default 2
-
-config EP93XX_SDRAM_BANK0_BASE
-	hex
-	default 0xc0000000
-
-config EP93XX_SDRAM_BANK0_SIZE
-	hex
-	default 0x02000000
-
-config EP93XX_SDRAM_BANK1_BASE
-	hex
-	default 0xc4000000
-
-config EP93XX_SDRAM_BANK1_SIZE
-	hex
-	default 0x02000000
-
-endif
-
-endif
-
-endif
diff --git a/arch/arm/mach-ep93xx/Makefile b/arch/arm/mach-ep93xx/Makefile
deleted file mode 100644
index 80dbe7c42b..0000000000
--- a/arch/arm/mach-ep93xx/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-obj-y += clocksource.o gpio.o header.o
-
-lwl-y += lowlevel_init.o led.o
diff --git a/arch/arm/mach-ep93xx/clocksource.c b/arch/arm/mach-ep93xx/clocksource.c
deleted file mode 100644
index 53aae437b3..0000000000
--- a/arch/arm/mach-ep93xx/clocksource.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <init.h>
-#include <clock.h>
-#include <io.h>
-#include <restart.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-
-#define TIMER_CLKSEL		(1 << 3)
-#define TIMER_MODE		(1 << 6)
-#define TIMER_ENABLE		(1 << 7)
-
-#define TIMER_FREQ		508469
-
-static uint64_t ep93xx_clocksource_read(void)
-{
-	struct timer_regs *timer = (struct timer_regs *)TIMER_BASE;
-
-	return 0xffffffff - readl(&timer->timer3.value);
-}
-
-static struct clocksource cs = {
-	.read	= ep93xx_clocksource_read,
-	.mask	= CLOCKSOURCE_MASK(32),
-	.shift	= 10,
-	.priority = 80,
-};
-
-static int clocksource_init(void)
-{
-	struct timer_regs *timer = (struct timer_regs *)TIMER_BASE;
-
-	/* use timer 3 with 508KHz and free running */
-	writel(TIMER_CLKSEL,
-	       &timer->timer3.control);
-
-	/* load timer 3 with max value */
-	writel(0xffffffff, &timer->timer3.load);
-
-	/* enable timer 3 with 508KHz and periodic mode */
-	writel(TIMER_ENABLE | TIMER_MODE | TIMER_CLKSEL,
-	       &timer->timer3.control);
-
-	cs.mult = clocksource_hz2mult(TIMER_FREQ, cs.shift);
-
-	return init_clock(&cs);
-}
-
-core_initcall(clocksource_init);
-
-/* Reset the SoC */
-static void __noreturn ep92xx_restart_soc(struct restart_handler *rst)
-{
-	struct syscon_regs *syscon = (struct syscon_regs *)SYSCON_BASE;
-	uint32_t value;
-
-	/* Unlock DeviceCfg and set SWRST */
-	writel(0xAA, &syscon->sysswlock);
-	value = readl(&syscon->devicecfg);
-	value |= SYSCON_DEVICECFG_SWRST;
-	writel(value, &syscon->devicecfg);
-
-	/* Unlock DeviceCfg and clear SWRST */
-	writel(0xAA, &syscon->sysswlock);
-	value = readl(&syscon->devicecfg);
-	value &= ~SYSCON_DEVICECFG_SWRST;
-	writel(value, &syscon->devicecfg);
-
-	/* Dying... */
-	hang();
-}
-
-static int restart_register_feature(void)
-{
-	restart_handler_register_fn("soc", ep92xx_restart_soc);
-
-	return 0;
-}
-coredevice_initcall(restart_register_feature);
diff --git a/arch/arm/mach-ep93xx/gpio.c b/arch/arm/mach-ep93xx/gpio.c
deleted file mode 100644
index f30798fd4b..0000000000
--- a/arch/arm/mach-ep93xx/gpio.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2010 Matthias Kaehlcke <matthias at kaehlcke.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- *
- */
-
-#include <common.h>
-#include <errno.h>
-#include <init.h>
-#include <io.h>
-#include <gpio.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-
-#define EP93XX_GPIO_NUM_PORTS	8
-#define EP93XX_GPIO_NUM_GPIOS	(EP93XX_GPIO_NUM_PORTS * 8)
-
-struct gpio_port {
-	uint32_t *dr;
-	uint32_t *ddr;
-};
-
-struct gpio_port gpio_ports[EP93XX_GPIO_NUM_PORTS];
-
-static int ep93xx_gpio_init(void)
-{
-	struct gpio_regs *gpio_regs = (struct gpio_regs *)GPIO_BASE;
-
-	gpio_ports[0].dr = &gpio_regs->padr;
-	gpio_ports[0].ddr = &gpio_regs->paddr;
-	gpio_ports[1].dr = &gpio_regs->pbdr;
-	gpio_ports[1].ddr = &gpio_regs->pbddr;
-	gpio_ports[2].dr = &gpio_regs->pcdr;
-	gpio_ports[2].ddr = &gpio_regs->pcddr;
-	gpio_ports[3].dr = &gpio_regs->pddr;
-	gpio_ports[3].ddr = &gpio_regs->pdddr;
-	gpio_ports[4].dr = &gpio_regs->pedr;
-	gpio_ports[4].ddr = &gpio_regs->peddr;
-	gpio_ports[5].dr = &gpio_regs->pfdr;
-	gpio_ports[5].ddr = &gpio_regs->pfddr;
-	gpio_ports[6].dr = &gpio_regs->pgdr;
-	gpio_ports[6].ddr = &gpio_regs->pgddr;
-	gpio_ports[7].dr = &gpio_regs->phdr;
-	gpio_ports[7].ddr = &gpio_regs->phddr;
-
-	return 0;
-}
-
-postcore_initcall(ep93xx_gpio_init);
-
-static struct gpio_port *gpio_get_port(unsigned gpio)
-{
-	if (gpio >= EP93XX_GPIO_NUM_GPIOS)
-		return 0;
-
-	return &gpio_ports[gpio / 8];
-}
-
-void gpio_set_value(unsigned gpio, int value)
-{
-	struct gpio_port *port = gpio_get_port(gpio);
-	const int shift = gpio % 8;
-	u32 val;
-
-	if (!port)
-		return;
-
-	val = readl(port->dr);
-
-	if (value)
-		val |= 1 << shift;
-	else
-		val &= ~(1 << shift);
-
-	writel(val, port->dr);
-}
-
-int gpio_direction_input(unsigned gpio)
-{
-	struct gpio_port *port = gpio_get_port(gpio);
-	const int shift = gpio % 8;
-	u32 val;
-
-	if (!port)
-		return -EINVAL;
-
-	val = readl(port->ddr);
-	val &= ~(1 << shift);
-	writel(val, port->ddr);
-
-	return 0;
-}
-
-int gpio_direction_output(unsigned gpio, int value)
-{
-	struct gpio_port *port = gpio_get_port(gpio);
-	const int shift = gpio % 8;
-	u32 val;
-
-	if (!port)
-		return -EINVAL;
-
-	gpio_set_value(gpio, value);
-
-	val = readl(port->ddr);
-	val |= 1 << shift;
-	writel(val, port->ddr);
-
-	return 0;
-}
-
-int gpio_get_value(unsigned gpio)
-{
-	struct gpio_port *port = gpio_get_port(gpio);
-	const int shift = gpio % 8;
-	u32 val;
-
-	if (!port)
-		return -EINVAL;
-
-	val = readl(port->dr);
-
-	return val & (1 << shift) ? 1 : 0;
-}
-
diff --git a/arch/arm/mach-ep93xx/header.c b/arch/arm/mach-ep93xx/header.c
deleted file mode 100644
index 0d7e68c34b..0000000000
--- a/arch/arm/mach-ep93xx/header.c
+++ /dev/null
@@ -1,12 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-
-#include <common.h>
-#include <linux/compiler.h>
-#include <asm/barebox-arm-head.h>
-
-void go(void);
-
-void __naked __section(.flash_header_start) go(void)
-{
-        barebox_arm_head();
-}
diff --git a/arch/arm/mach-ep93xx/led.c b/arch/arm/mach-ep93xx/led.c
deleted file mode 100644
index b2909fc070..0000000000
--- a/arch/arm/mach-ep93xx/led.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-#include <common.h>
-#include <io.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-
-#include "led.h"
-
-#define GREEN_LED_POS		0x01
-#define RED_LED_POS		0x02
-
-inline void switch_LED_on(uint32_t bit_pos)
-{
-	register struct gpio_regs *gpio = (struct gpio_regs *)GPIO_BASE;
-
-	writel(readl(&gpio->pedr) | bit_pos, &gpio->pedr);
-}
-
-inline void switch_LED_off(uint32_t bit_pos)
-{
-	register struct gpio_regs *gpio = (struct gpio_regs *)GPIO_BASE;
-
-	writel(readl(&gpio->pedr) & ~bit_pos, &gpio->pedr);
-}
-
-void red_LED_on(void)
-{
-	switch_LED_on(RED_LED_POS);
-}
-
-void red_LED_off(void)
-{
-	switch_LED_off(RED_LED_POS);
-}
-
-void green_LED_on(void)
-{
-	switch_LED_on(GREEN_LED_POS);
-}
-
-void green_LED_off(void)
-{
-	switch_LED_off(GREEN_LED_POS);
-}
diff --git a/arch/arm/mach-ep93xx/led.h b/arch/arm/mach-ep93xx/led.h
deleted file mode 100644
index 7ac907effa..0000000000
--- a/arch/arm/mach-ep93xx/led.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (C) 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-extern void red_LED_on(void);
-extern void red_LED_off(void);
-extern void green_LED_on(void);
-extern void green_LED_off(void);
diff --git a/arch/arm/mach-ep93xx/lowlevel_init.S b/arch/arm/mach-ep93xx/lowlevel_init.S
deleted file mode 100644
index 5cc24a1cc0..0000000000
--- a/arch/arm/mach-ep93xx/lowlevel_init.S
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Low-level initialization for EP93xx
- *
- * Copyright (C) 2009 Matthias Kaehlcke <matthias at kaehlcke.net>
- *
- * Copyright (C) 2006 Dominic Rath <Dominic.Rath at gmx.de>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#include <linux/sizes.h>
-#include <mach/ep93xx/ep93xx-regs.h>
-#include <asm/barebox-arm-head.h>
-
-.globl barebox_arm_reset_vector
-barebox_arm_reset_vector:
-	bl arm_cpu_lowlevel_init
-
-	/* Turn on both LEDs */
-	bl red_LED_on
-	bl green_LED_on
-
-	/* Configure flash wait states before we switch to the PLL */
-	bl flash_cfg
-
-	/* Set up PLL */
-	bl pll_cfg
-
-	/* Turn off the Green LED and leave the Red LED on */
-	bl green_LED_off
-
-	/* Setup SDRAM */
-	bl sdram_cfg
-
-	/* Turn on Green LED, Turn off the Red LED */
-	bl green_LED_on
-	bl red_LED_off
-
-	/* switch to async mode */
-	mrc p15, 0, r0, c1, c0, 0
-	orr r0, r0, #0xc0000000
-	mcr p15, 0, r0, c1, c0, 0
-
-	/*
-	 * FIXME: This is suitable for the edb9301, the
-	 * only ep93xx board we have in our defconfigs.
-	 * Other boards need different values here.
-	 */
-	mov	r0, #0x05000000
-	mov	r1, #SZ_8M
-	mov	r2, #0
-	b	barebox_arm_entry
diff --git a/include/mach/ep93xx/barebox.lds.h b/include/mach/ep93xx/barebox.lds.h
deleted file mode 100644
index 4e497f5e2d..0000000000
--- a/include/mach/ep93xx/barebox.lds.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-/* the EP93xx expects to find the pattern 'CRUS' at 0x1000 */
-
-#define PRE_IMAGE				\
-	.pre_image : {				\
-		KEEP(*(.flash_header_start*))	\
-		. = 0x1000;			\
-		LONG(0x53555243) /* 'CRUS' */	\
-	}
diff --git a/include/mach/ep93xx/ep93xx-regs.h b/include/mach/ep93xx/ep93xx-regs.h
deleted file mode 100644
index f1d3076045..0000000000
--- a/include/mach/ep93xx/ep93xx-regs.h
+++ /dev/null
@@ -1,599 +0,0 @@
-/* -----------------------------------------------------------------------------
- * Cirrus Logic EP93xx register definitions.
- *
- * Copyright (C) 2009
- * Matthias Kaehlcke <matthias at kaehlcke.net>
- *
- * Copyright (C) 2006
- * Dominic Rath <Dominic.Rath at gmx.de>
- *
- * Copyright (C) 2004, 2005
- * Cory T. Tusar, Videon Central, Inc., <ctusar at videon-central.com>
- *
- * Based in large part on linux/include/asm-arm/arch-ep93xx/regmap.h, which is
- *
- * Copyright (C) 2004 Ray Lehtiniemi
- * Copyright (C) 2003 Cirrus Logic, Inc
- * Copyright (C) 1999 ARM Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef __ASSEMBLY__
-#include <linux/types.h>
-#endif
-
-#define EP93XX_AHB_BASE			0x80000000
-#define EP93XX_APB_BASE			0x80800000
-
-/* -----------------------------------------------------------------------------
- * 0x80000000 - 0x8000FFFF: DMA
- */
-#define DMA_OFFSET			0x000000
-#define DMA_BASE			(EP93XX_AHB_BASE | DMA_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct dma_channel {
-	uint32_t control;
-	uint32_t interrupt;
-	uint32_t ppalloc;
-	uint32_t status;
-	uint32_t reserved0;
-	uint32_t remain;
-	uint32_t reserved1[2];
-	uint32_t maxcnt0;
-	uint32_t base0;
-	uint32_t current0;
-	uint32_t reserved2;
-	uint32_t maxcnt1;
-	uint32_t base1;
-	uint32_t current1;
-	uint32_t reserved3;
-};
-
-struct dma_regs {
-	struct dma_channel m2p_channel_0;
-	struct dma_channel m2p_channel_1;
-	struct dma_channel m2p_channel_2;
-	struct dma_channel m2p_channel_3;
-	struct dma_channel m2m_channel_0;
-	struct dma_channel m2m_channel_1;
-	struct dma_channel reserved0[2];
-	struct dma_channel m2p_channel_5;
-	struct dma_channel m2p_channel_4;
-	struct dma_channel m2p_channel_7;
-	struct dma_channel m2p_channel_6;
-	struct dma_channel m2p_channel_9;
-	struct dma_channel m2p_channel_8;
-	uint32_t channel_arbitration;
-	uint32_t reserved[15];
-	uint32_t global_interrupt;
-};
-#endif
-
-/* -----------------------------------------------------------------------------
- * 0x80010000 - 0x8001FFFF: Ethernet MAC
- */
-#define MAC_OFFSET			0x010000
-#define MAC_BASE			(EP93XX_AHB_BASE | MAC_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct mac_queue {
-	uint32_t badd;
-	union { /* deal with half-word aligned registers */
-		uint32_t blen;
-		union {
-			uint16_t filler;
-			uint16_t curlen;
-		};
-	};
-	uint32_t curadd;
-};
-
-struct mac_regs {
-	uint32_t rxctl;
-	uint32_t txctl;
-	uint32_t testctl;
-	uint32_t reserved0;
-	uint32_t miicmd;
-	uint32_t miidata;
-	uint32_t miists;
-	uint32_t reserved1;
-	uint32_t selfctl;
-	uint32_t inten;
-	uint32_t intstsp;
-	uint32_t intstsc;
-	uint32_t reserved2[2];
-	uint32_t diagad;
-	uint32_t diagdata;
-	uint32_t gt;
-	uint32_t fct;
-	uint32_t fcf;
-	uint32_t afp;
-	union {
-		struct {
-			uint32_t indad;
-			uint32_t indad_upper;
-		};
-		uint32_t hashtbl;
-	};
-	uint32_t reserved3[2];
-	uint32_t giintsts;
-	uint32_t giintmsk;
-	uint32_t giintrosts;
-	uint32_t giintfrc;
-	uint32_t txcollcnt;
-	uint32_t rxmissnct;
-	uint32_t rxruntcnt;
-	uint32_t reserved4;
-	uint32_t bmctl;
-	uint32_t bmsts;
-	uint32_t rxbca;
-	uint32_t reserved5;
-	struct mac_queue rxdq;
-	uint32_t rxdqenq;
-	struct mac_queue rxstsq;
-	uint32_t rxstsqenq;
-	struct mac_queue txdq;
-	uint32_t txdqenq;
-	struct mac_queue txstsq;
-	uint32_t reserved6;
-	uint32_t rxbufthrshld;
-	uint32_t txbufthrshld;
-	uint32_t rxststhrshld;
-	uint32_t txststhrshld;
-	uint32_t rxdthrshld;
-	uint32_t txdthrshld;
-	uint32_t maxfrmlen;
-	uint32_t maxhdrlen;
-};
-#endif
-
-#define SELFCTL_RWP		(1 << 7)
-#define SELFCTL_GPO0		(1 << 5)
-#define SELFCTL_PUWE		(1 << 4)
-#define SELFCTL_PDWE		(1 << 3)
-#define SELFCTL_MIIL		(1 << 2)
-#define SELFCTL_RESET		(1 << 0)
-
-#define INTSTS_RWI		(1 << 30)
-#define INTSTS_RXMI		(1 << 29)
-#define INTSTS_RXBI		(1 << 28)
-#define INTSTS_RXSQI		(1 << 27)
-#define INTSTS_TXLEI		(1 << 26)
-#define INTSTS_ECIE		(1 << 25)
-#define INTSTS_TXUHI		(1 << 24)
-#define INTSTS_MOI		(1 << 18)
-#define INTSTS_TXCOI		(1 << 17)
-#define INTSTS_RXROI		(1 << 16)
-#define INTSTS_MIII		(1 << 12)
-#define INTSTS_PHYI		(1 << 11)
-#define INTSTS_TI		(1 << 10)
-#define INTSTS_AHBE		(1 << 8)
-#define INTSTS_OTHER		(1 << 4)
-#define INTSTS_TXSQ		(1 << 3)
-#define INTSTS_RXSQ		(1 << 2)
-
-#define BMCTL_MT		(1 << 13)
-#define BMCTL_TT		(1 << 12)
-#define BMCTL_UNH		(1 << 11)
-#define BMCTL_TXCHR		(1 << 10)
-#define BMCTL_TXDIS		(1 << 9)
-#define BMCTL_TXEN		(1 << 8)
-#define BMCTL_EH2		(1 << 6)
-#define BMCTL_EH1		(1 << 5)
-#define BMCTL_EEOB		(1 << 4)
-#define BMCTL_RXCHR		(1 << 2)
-#define BMCTL_RXDIS		(1 << 1)
-#define BMCTL_RXEN		(1 << 0)
-
-#define BMSTS_TXACT		(1 << 7)
-#define BMSTS_TP		(1 << 4)
-#define BMSTS_RXACT		(1 << 3)
-#define BMSTS_QID_MASK		0x07
-#define BMSTS_QID_RXDATA	0x00
-#define BMSTS_QID_TXDATA	0x01
-#define BMSTS_QID_RXSTS		0x02
-#define BMSTS_QID_TXSTS		0x03
-#define BMSTS_QID_RXDESC	0x04
-#define BMSTS_QID_TXDESC	0x05
-
-#define AFP_MASK		0x07
-#define AFP_IAPRIMARY		0x00
-#define AFP_IASECONDARY1	0x01
-#define AFP_IASECONDARY2	0x02
-#define AFP_IASECONDARY3	0x03
-#define AFP_TX			0x06
-#define AFP_HASH		0x07
-
-#define RXCTL_PAUSEA		(1 << 20)
-#define RXCTL_RXFCE1		(1 << 19)
-#define RXCTL_RXFCE0		(1 << 18)
-#define RXCTL_BCRC		(1 << 17)
-#define RXCTL_SRXON		(1 << 16)
-#define RXCTL_RCRCA		(1 << 13)
-#define RXCTL_RA		(1 << 12)
-#define RXCTL_PA		(1 << 11)
-#define RXCTL_BA		(1 << 10)
-#define RXCTL_MA		(1 << 9)
-#define RXCTL_IAHA		(1 << 8)
-#define RXCTL_IA3		(1 << 3)
-#define RXCTL_IA2		(1 << 2)
-#define RXCTL_IA1		(1 << 1)
-#define RXCTL_IA0		(1 << 0)
-
-#define TXCTL_DEFDIS		(1 << 7)
-#define TXCTL_MBE		(1 << 6)
-#define TXCTL_ICRC		(1 << 5)
-#define TXCTL_TPD		(1 << 4)
-#define TXCTL_OCOLL		(1 << 3)
-#define TXCTL_SP		(1 << 2)
-#define TXCTL_PB		(1 << 1)
-#define TXCTL_STXON		(1 << 0)
-
-#define MIICMD_REGAD_MASK	(0x001F)
-#define MIICMD_PHYAD_MASK	(0x03E0)
-#define MIICMD_OPCODE_MASK	(0xC000)
-#define MIICMD_PHYAD_8950	(0x0000)
-#define MIICMD_OPCODE_READ	(0x8000)
-#define MIICMD_OPCODE_WRITE	(0x4000)
-
-#define MIISTS_BUSY		(1 << 0)
-
-/* -----------------------------------------------------------------------------
- * 0x80020000 - 0x8002FFFF: USB OHCI
- */
-#define USB_OFFSET			0x020000
-#define USB_BASE			(EP93XX_AHB_BASE | USB_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80030000 - 0x8003FFFF: Raster engine
- */
-#if (defined(CONFIG_EP9307) || defined(CONFIG_EP9312) || defined(CONFIG_EP9315))
-#define RASTER_OFFSET			0x030000
-#define RASTER_BASE			(EP93XX_AHB_BASE | RASTER_OFFSET)
-#endif
-
-/* -----------------------------------------------------------------------------
- * 0x80040000 - 0x8004FFFF: Graphics accelerator
- */
-#if defined(CONFIG_EP9315)
-#define GFX_OFFSET			0x040000
-#define GFX_BASE			(EP93XX_AHB_BASE | GFX_OFFSET)
-#endif
-
-/* -----------------------------------------------------------------------------
- * 0x80050000 - 0x8005FFFF: Reserved
- */
-
-/* -----------------------------------------------------------------------------
- * 0x80060000 - 0x8006FFFF: SDRAM controller
- */
-#define SDRAM_OFFSET			0x060000
-#define SDRAM_BASE			(EP93XX_AHB_BASE | SDRAM_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct sdram_regs {
-	uint32_t reserved;
-	uint32_t glconfig;
-	uint32_t refrshtimr;
-	uint32_t bootsts;
-	uint32_t devcfg0;
-	uint32_t devcfg1;
-	uint32_t devcfg2;
-	uint32_t devcfg3;
-};
-#endif
-
-#define SDRAM_DEVCFG_EXTBUSWIDTH	(1 << 2)
-#define SDRAM_DEVCFG_BANKCOUNT		(1 << 3)
-#define SDRAM_DEVCFG_SROMLL		(1 << 5)
-#define SDRAM_DEVCFG_CASLAT_2		0x00010000
-#define SDRAM_DEVCFG_RASTOCAS_2		0x00200000
-
-#define GLCONFIG_INIT			(1 << 0)
-#define GLCONFIG_MRS			(1 << 1)
-#define GLCONFIG_SMEMBUSY		(1 << 5)
-#define GLCONFIG_LCR			(1 << 6)
-#define GLCONFIG_REARBEN		(1 << 7)
-#define GLCONFIG_CLKSHUTDOWN		(1 << 30)
-#define GLCONFIG_CKE			(1 << 31)
-
-/* -----------------------------------------------------------------------------
- * 0x80070000 - 0x8007FFFF: Reserved
- */
-
-/* -----------------------------------------------------------------------------
- * 0x80080000 - 0x8008FFFF: SRAM controller & PCMCIA
- */
-#define SMC_OFFSET			0x080000
-#define SMC_BASE			(EP93XX_AHB_BASE | SMC_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct smc_regs {
-	uint32_t bcr0;
-	uint32_t bcr1;
-	uint32_t bcr2;
-	uint32_t bcr3;
-	uint32_t reserved0[2];
-	uint32_t bcr6;
-	uint32_t bcr7;
-#if defined(CONFIG_EP9315)
-	uint32_t pcattribute;
-	uint32_t pccommon;
-	uint32_t pcio;
-	uint32_t reserved1[5];
-	uint32_t pcmciactrl;
-#endif
-};
-#endif
-
-#define SMC_BCR_IDCY_SHIFT	0
-#define SMC_BCR_WST1_SHIFT	5
-#define SMC_BCR_BLE		(1 << 10)
-#define SMC_BCR_WST2_SHIFT	11
-#define SMC_BCR_MW_SHIFT	28
-
-/* -----------------------------------------------------------------------------
- * 0x80090000 - 0x8009FFFF: Boot ROM
- */
-
-/* -----------------------------------------------------------------------------
- * 0x800A0000 - 0x800AFFFF: IDE interface
- */
-
-/* -----------------------------------------------------------------------------
- * 0x800B0000 - 0x800BFFFF: VIC1
- */
-
-/* -----------------------------------------------------------------------------
- * 0x800C0000 - 0x800CFFFF: VIC2
- */
-
-/* -----------------------------------------------------------------------------
- * 0x800D0000 - 0x800FFFFF: Reserved
- */
-
-/* -----------------------------------------------------------------------------
- * 0x80800000 - 0x8080FFFF: Reserved
- */
-
-/* -----------------------------------------------------------------------------
- * 0x80810000 - 0x8081FFFF: Timers
- */
-#define TIMER_OFFSET		0x010000
-#define TIMER_BASE		(EP93XX_APB_BASE | TIMER_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct timer {
-	uint32_t load;
-	uint32_t value;
-	uint32_t control;
-	uint32_t clear;
-};
-
-struct timer4 {
-	uint32_t value_low;
-	uint32_t value_high;
-};
-
-struct timer_regs {
-	struct timer timer1;
-	uint32_t reserved0[4];
-	struct timer timer2;
-	uint32_t reserved1[12];
-	struct timer4 timer4;
-	uint32_t reserved2[6];
-	struct timer timer3;
-};
-#endif
-
-/* -----------------------------------------------------------------------------
- * 0x80820000 - 0x8082FFFF: I2S
- */
-#define I2S_OFFSET		0x020000
-#define I2S_BASE		(EP93XX_APB_BASE | I2S_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80830000 - 0x8083FFFF: Security
- */
-#define SECURITY_OFFSET		0x030000
-#define SECURITY_BASE		(EP93XX_APB_BASE | SECURITY_OFFSET)
-
-#define EXTENSIONID		(SECURITY_BASE + 0x2714)
-
-/* -----------------------------------------------------------------------------
- * 0x80840000 - 0x8084FFFF: GPIO
- */
-#define GPIO_OFFSET		0x040000
-#define GPIO_BASE		(EP93XX_APB_BASE | GPIO_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct gpio_int {
-	uint32_t inttype1;
-	uint32_t inttype2;
-	uint32_t eoi;
-	uint32_t inten;
-	uint32_t intsts;
-	uint32_t rawintsts;
-	uint32_t db;
-};
-
-struct gpio_regs {
-	uint32_t padr;
-	uint32_t pbdr;
-	uint32_t pcdr;
-	uint32_t pddr;
-	uint32_t paddr;
-	uint32_t pbddr;
-	uint32_t pcddr;
-	uint32_t pdddr;
-	uint32_t pedr;
-	uint32_t peddr;
-	uint32_t reserved0[2];
-	uint32_t pfdr;
-	uint32_t pfddr;
-	uint32_t pgdr;
-	uint32_t pgddr;
-	uint32_t phdr;
-	uint32_t phddr;
-	uint32_t reserved1;
-	uint32_t finttype1;
-	uint32_t finttype2;
-	uint32_t reserved2;
-	struct gpio_int pfint;
-	uint32_t reserved3[10];
-	struct gpio_int paint;
-	struct gpio_int pbint;
-	uint32_t eedrive;
-};
-#endif
-
-/* -----------------------------------------------------------------------------
- * 0x80850000 - 0x8087FFFF: Reserved
- */
-
-/* -----------------------------------------------------------------------------
- * 0x80880000 - 0x8088FFFF: AAC
- */
-#define AAC_OFFSET		0x080000
-#define AAC_BASE		(EP93XX_APB_BASE | AAC_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80890000 - 0x8089FFFF: Reserved
- */
-
-/* -----------------------------------------------------------------------------
- * 0x808A0000 - 0x808AFFFF: SPI
- */
-#define SPI_OFFSET		0x0A0000
-#define SPI_BASE		(EP93XX_APB_BASE | SPI_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x808B0000 - 0x808BFFFF: IrDA
- */
-#define IRDA_OFFSET		0x0B0000
-#define IRDA_BASE		(EP93XX_APB_BASE | IRDA_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x808C0000 - 0x808CFFFF: UART1
- */
-#define UART1_OFFSET		0x0C0000
-#define UART1_BASE		(EP93XX_APB_BASE | UART1_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x808D0000 - 0x808DFFFF: UART2
- */
-#define UART2_OFFSET		0x0D0000
-#define UART2_BASE		(EP93XX_APB_BASE | UART2_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x808E0000 - 0x808EFFFF: UART3
- */
-#define UART3_OFFSET		0x0E0000
-#define UART3_BASE		(EP93XX_APB_BASE | UART3_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x808F0000 - 0x808FFFFF: Key Matrix
- */
-#define KEY_OFFSET		0x0F0000
-#define KEY_BASE		(EP93XX_APB_BASE | KEY_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80900000 - 0x8090FFFF: Touchscreen
- */
-#define TOUCH_OFFSET		0x900000
-#define TOUCH_BASE		(EP93XX_APB_BASE | TOUCH_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80910000 - 0x8091FFFF: Pulse Width Modulation
- */
-#define PWM_OFFSET		0x910000
-#define PWM_BASE		(EP93XX_APB_BASE | PWM_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80920000 - 0x8092FFFF: Real time clock
- */
-#define RTC_OFFSET		0x920000
-#define RTC_BASE		(EP93XX_APB_BASE | RTC_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80930000 - 0x8093FFFF: Syscon
- */
-#define SYSCON_OFFSET		0x930000
-#define SYSCON_BASE		(EP93XX_APB_BASE | SYSCON_OFFSET)
-
-#ifndef __ASSEMBLY__
-struct syscon_regs {
-	uint32_t pwrsts;
-	uint32_t pwrcnt;
-	uint32_t halt;
-	uint32_t stby;
-	uint32_t reserved0[2];
-	uint32_t teoi;
-	uint32_t stfclr;
-	uint32_t clkset1;
-	uint32_t clkset2;
-	uint32_t reserved1[6];
-	uint32_t scratch0;
-	uint32_t scratch1;
-	uint32_t reserved2[2];
-	uint32_t apbwait;
-	uint32_t bustmstrarb;
-	uint32_t bootmodeclr;
-	uint32_t reserved3[9];
-	uint32_t devicecfg;
-	uint32_t vidclkdiv;
-	uint32_t mirclkdiv;
-	uint32_t i2sclkdiv;
-	uint32_t keytchclkdiv;
-	uint32_t chipid;
-	uint32_t reserved4;
-	uint32_t syscfg;
-	uint32_t reserved5[8];
-	uint32_t sysswlock;
-};
-#else
-#define SYSCON_SCRATCH0		(SYSCON_BASE + 0x0040)
-#endif
-
-#define SYSCON_PWRCNT_UART_BAUD			(1 << 29)
-
-#define SYSCON_CLKSET_PLL_X2IPD_SHIFT		0
-#define SYSCON_CLKSET_PLL_X2FBD2_SHIFT		5
-#define SYSCON_CLKSET_PLL_X1FBD1_SHIFT		11
-#define SYSCON_CLKSET_PLL_PS_SHIFT		16
-#define SYSCON_CLKSET1_PCLK_DIV_SHIFT		18
-#define SYSCON_CLKSET1_HCLK_DIV_SHIFT		20
-#define SYSCON_CLKSET1_NBYP1			(1 << 23)
-#define SYSCON_CLKSET1_FCLK_DIV_SHIFT		25
-
-#define SYSCON_CLKSET2_PLL2_EN			(1 << 18)
-#define SYSCON_CLKSET2_NBYP2			(1 << 19)
-#define SYSCON_CLKSET2_USB_DIV_SHIFT		28
-
-#define SYSCON_CHIPID_REV_MASK			0xF0000000
-#define SYSCON_DEVICECFG_SWRST			(1 << 31)
-
-/* -----------------------------------------------------------------------------
- * 0x80930000 - 0x8093FFFF: Watchdog Timer
- */
-#define WATCHDOG_OFFSET		0x940000
-#define WATCHDOG_BASE		(EP93XX_APB_BASE | WATCHDOG_OFFSET)
-
-/* -----------------------------------------------------------------------------
- * 0x80950000 - 0x9000FFFF: Reserved
- */
-
-- 
2.39.2




More information about the barebox mailing list