diff options
author | Lucas Stach <dev@lynxeye.de> | 2019-11-09 15:28:33 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-11-11 09:15:55 +0100 |
commit | 70b00bda144d2bf0dfbf55cef62d70f9e5e4fb69 (patch) | |
tree | eddcdc4a1cc1f4462d27864a5f5b2f6d82ad9b1d | |
parent | cfffe9368ac4eeda52ed837f8adb41a54cc85e96 (diff) | |
download | barebox-70b00bda144d2bf0dfbf55cef62d70f9e5e4fb69.tar.gz barebox-70b00bda144d2bf0dfbf55cef62d70f9e5e4fb69.tar.xz |
ARM: zynq: switch to DT based probing
All the currently supported devices can now be probed
from the DT. Remove platform devices and switch to DT.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/boards/avnet-zedboard/board.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-zynq/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-zynq/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-zynq/devices.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-zynq/include/mach/devices.h | 20 | ||||
-rw-r--r-- | arch/arm/mach-zynq/zynq.c | 4 |
6 files changed, 4 insertions, 62 deletions
diff --git a/arch/arm/boards/avnet-zedboard/board.c b/arch/arm/boards/avnet-zedboard/board.c index 722bda302e..f53dde47c2 100644 --- a/arch/arm/boards/avnet-zedboard/board.c +++ b/arch/arm/boards/avnet-zedboard/board.c @@ -17,38 +17,14 @@ #include <environment.h> #include <generated/mach-types.h> #include <init.h> -#include <mach/devices.h> #include <mach/zynq7000-regs.h> #include <linux/sizes.h> -static int zedboard_mem_init(void) -{ - arm_add_mem_device("ram0", 0, SZ_512M); - - return 0; -} -mem_initcall(zedboard_mem_init); - -static struct macb_platform_data macb_pdata = { - .phy_interface = PHY_INTERFACE_MODE_RGMII, - .phy_addr = 0x0, -}; - -static int zedboard_device_init(void) -{ - zynq_add_eth0(&macb_pdata); - - return 0; -} -device_initcall(zedboard_device_init); static int zedboard_console_init(void) { - barebox_set_model("Avnet ZedBoard"); barebox_set_hostname("zedboard"); - zynq_add_uart1(); - return 0; } console_initcall(zedboard_console_init); diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig index d35bd41232..944f325bcc 100644 --- a/arch/arm/mach-zynq/Kconfig +++ b/arch/arm/mach-zynq/Kconfig @@ -16,8 +16,11 @@ config ARCH_ZYNQ7000 select CPU_V7 select CLKDEV_LOOKUP select COMMON_CLK + select COMMON_CLK_OF_PROVIDER select ARM_SMP_TWD select HAS_MACB + select OFTREE + select OFDEVICE endchoice diff --git a/arch/arm/mach-zynq/Makefile b/arch/arm/mach-zynq/Makefile index b401c77983..3252247d17 100644 --- a/arch/arm/mach-zynq/Makefile +++ b/arch/arm/mach-zynq/Makefile @@ -1 +1 @@ -obj-y += zynq.o devices.o +obj-y += zynq.o diff --git a/arch/arm/mach-zynq/devices.c b/arch/arm/mach-zynq/devices.c deleted file mode 100644 index 55e9433c51..0000000000 --- a/arch/arm/mach-zynq/devices.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <common.h> -#include <driver.h> -#include <mach/devices.h> - -struct device_d *zynq_add_uart(resource_size_t base, int id) -{ - return add_generic_device("cadence-uart", id, NULL, base, 0x1000, IORESOURCE_MEM, NULL); -} - -struct device_d *zynq_add_eth(resource_size_t base, int id, struct macb_platform_data *pdata) -{ - return add_generic_device("macb", id, NULL, base, 0x1000, IORESOURCE_MEM, pdata); -} diff --git a/arch/arm/mach-zynq/include/mach/devices.h b/arch/arm/mach-zynq/include/mach/devices.h deleted file mode 100644 index c9670b02f3..0000000000 --- a/arch/arm/mach-zynq/include/mach/devices.h +++ /dev/null @@ -1,20 +0,0 @@ -#include <mach/zynq7000-regs.h> -#include <platform_data/macb.h> - -struct device_d *zynq_add_uart(resource_size_t base, int id); -struct device_d *zynq_add_eth(resource_size_t base, int id, struct macb_platform_data *pdata); - -static inline struct device_d *zynq_add_uart0(void) -{ - return zynq_add_uart((resource_size_t)ZYNQ_UART0_BASE_ADDR, 0); -} - -static inline struct device_d *zynq_add_uart1(void) -{ - return zynq_add_uart((resource_size_t)ZYNQ_UART1_BASE_ADDR, 1); -} - -static inline struct device_d *zynq_add_eth0(struct macb_platform_data *pdata) -{ - return zynq_add_eth((resource_size_t)ZYNQ_GEM0_BASE_ADDR, 0, pdata); -} diff --git a/arch/arm/mach-zynq/zynq.c b/arch/arm/mach-zynq/zynq.c index ec22b16c91..ad06c624d9 100644 --- a/arch/arm/mach-zynq/zynq.c +++ b/arch/arm/mach-zynq/zynq.c @@ -48,10 +48,6 @@ static int zynq_init(void) writel(val, 0xf8f00000); dmb(); - add_generic_device("zynq-clock", 0, NULL, ZYNQ_SLCR_BASE + 0x100, - 0x4000, IORESOURCE_MEM, NULL); - add_generic_device("smp_twd", 0, NULL, CORTEXA9_SCU_TIMER_BASE_ADDR, - 0x4000, IORESOURCE_MEM, NULL); restart_handler_register_fn(zynq_restart_soc); return 0; |