diff --git a/MAINTAINERS b/MAINTAINERS index 87e0c2ed36..383a4ffc3a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -78,6 +78,16 @@ S: Maintained T: git git://git.denx.de/u-boot-atmel.git F: arch/arm/mach-at91/ +ARM BROADCOM BCM283X +M: Stephen Warren +S: Maintained +F: arch/arm/mach-bcm283x/ +F: drivers/gpio/bcm2835_gpio.c +F: drivers/mmc/bcm2835_sdhci.c +F: drivers/serial/serial_bcm283x_mu.c +F: drivers/video/bcm2835.c +F: include/dm/platform_data/serial_bcm283x_mu.h + ARM FREESCALE IMX M: Stefano Babic S: Maintained diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig index f4c9502b3f..69f7a4663c 100644 --- a/arch/arm/mach-bcm283x/Kconfig +++ b/arch/arm/mach-bcm283x/Kconfig @@ -1,15 +1,31 @@ config BCM2835 bool "Broadcom BCM2835 SoC support" depends on ARCH_BCM283X + select CPU_ARM1176 config BCM2836 bool "Broadcom BCM2836 SoC support" depends on ARCH_BCM283X + select ARMV7_LPAE + select CPU_V7 config BCM2837 bool "Broadcom BCM2837 SoC support" depends on ARCH_BCM283X +config BCM2837_32B + bool "Broadcom BCM2837 SoC 32-bit support" + depends on ARCH_BCM283X + select BCM2837 + select ARMV7_LPAE + select CPU_V7 + +config BCM2837_64B + bool "Broadcom BCM2837 SoC 64-bit support" + depends on ARCH_BCM283X + select BCM2837 + select ARM64 + menu "Broadcom BCM283X family" depends on ARCH_BCM283X @@ -27,7 +43,6 @@ config TARGET_RPI This option creates a build targetting the ARM1176 ISA. select BCM2835 - select CPU_ARM1176 config TARGET_RPI_2 bool "Raspberry Pi 2" @@ -50,9 +65,7 @@ config TARGET_RPI_2 https://github.com/raspberrypi/firmware/issues/572". This option creates a build targetting the ARMv7/AArch32 ISA. - select ARMV7_LPAE select BCM2836 - select CPU_V7 config TARGET_RPI_3_32B bool "Raspberry Pi 3 32-bit build" @@ -68,9 +81,7 @@ config TARGET_RPI_3_32B about the HDMI/usbkbd console. This option creates a build targetting the ARMv7/AArch32 ISA. - select ARMV7_LPAE - select BCM2837 - select CPU_V7 + select BCM2837_32B config TARGET_RPI_3 bool "Raspberry Pi 3 64-bit build" @@ -98,16 +109,12 @@ config TARGET_RPI_3 https://github.com/raspberrypi/firmware/issues/579. This option creates a build targetting the ARMv8/AArch64 ISA. - select ARM64 - select BCM2837 + select BCM2837_64B endchoice config SYS_BOARD - default "rpi" if TARGET_RPI - default "rpi_2" if TARGET_RPI_2 - default "rpi_3_32b" if TARGET_RPI_3_32B - default "rpi_3" if TARGET_RPI_3 + default "rpi" config SYS_VENDOR default "raspberrypi" @@ -116,9 +123,6 @@ config SYS_SOC default "bcm283x" config SYS_CONFIG_NAME - default "rpi" if TARGET_RPI - default "rpi_2" if TARGET_RPI_2 - default "rpi_3_32b" if TARGET_RPI_3_32B - default "rpi_3" if TARGET_RPI_3 + default "rpi" endmenu diff --git a/arch/arm/mach-bcm283x/Makefile b/arch/arm/mach-bcm283x/Makefile index f0dadd0dbd..5cb1b2fe94 100644 --- a/arch/arm/mach-bcm283x/Makefile +++ b/arch/arm/mach-bcm283x/Makefile @@ -4,5 +4,5 @@ # SPDX-License-Identifier: GPL-2.0 # -obj-$(CONFIG_TARGET_RPI) += lowlevel_init.o +obj-$(CONFIG_BCM2835) += lowlevel_init.o obj-y += init.o reset.o mbox.o phys2bus.o diff --git a/board/raspberrypi/rpi/MAINTAINERS b/board/raspberrypi/rpi/MAINTAINERS index 6dcb7bd24e..98c3758a94 100644 --- a/board/raspberrypi/rpi/MAINTAINERS +++ b/board/raspberrypi/rpi/MAINTAINERS @@ -3,4 +3,4 @@ M: Stephen Warren S: Maintained F: board/raspberrypi/rpi/ F: include/configs/rpi.h -F: configs/rpi_defconfig +F: configs/rpi_*defconfig diff --git a/board/raspberrypi/rpi_2/MAINTAINERS b/board/raspberrypi/rpi_2/MAINTAINERS deleted file mode 100644 index 85a480c9d1..0000000000 --- a/board/raspberrypi/rpi_2/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -RPI_2 BOARD -M: Stephen Warren -S: Maintained -F: board/raspberrypi/rpi_2/ -F: include/configs/rpi_2.h -F: configs/rpi_2_defconfig diff --git a/board/raspberrypi/rpi_2/Makefile b/board/raspberrypi/rpi_2/Makefile deleted file mode 100644 index d82cd21f4c..0000000000 --- a/board/raspberrypi/rpi_2/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -# (C) Copyright 2012,2015 Stephen Warren -# -# SPDX-License-Identifier: GPL-2.0 -# - -obj-y := ../rpi/rpi.o diff --git a/board/raspberrypi/rpi_3/MAINTAINERS b/board/raspberrypi/rpi_3/MAINTAINERS deleted file mode 100644 index 26ecd99e16..0000000000 --- a/board/raspberrypi/rpi_3/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -RPI_3_BOARD -M: Stephen Warren -S: Maintained -F: board/raspberrypi/rpi_3/ -F: include/configs/rpi_3.h -F: configs/rpi_3_defconfig diff --git a/board/raspberrypi/rpi_3/Makefile b/board/raspberrypi/rpi_3/Makefile deleted file mode 100644 index 78e287487c..0000000000 --- a/board/raspberrypi/rpi_3/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -# (C) Copyright 2012-2016 Stephen Warren -# -# SPDX-License-Identifier: GPL-2.0 -# - -obj-y := ../rpi/rpi.o diff --git a/board/raspberrypi/rpi_3_32b/MAINTAINERS b/board/raspberrypi/rpi_3_32b/MAINTAINERS deleted file mode 100644 index bc9df87f03..0000000000 --- a/board/raspberrypi/rpi_3_32b/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -RPI_3_32B BOARD -M: Stephen Warren -S: Maintained -F: board/raspberrypi/rpi_3_32b/ -F: include/configs/rpi_3_32b.h -F: configs/rpi_3_32b_defconfig diff --git a/board/raspberrypi/rpi_3_32b/Makefile b/board/raspberrypi/rpi_3_32b/Makefile deleted file mode 100644 index 78e287487c..0000000000 --- a/board/raspberrypi/rpi_3_32b/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -# (C) Copyright 2012-2016 Stephen Warren -# -# SPDX-License-Identifier: GPL-2.0 -# - -obj-y := ../rpi/rpi.o diff --git a/include/configs/rpi-common.h b/include/configs/rpi-common.h deleted file mode 100644 index 645c361e26..0000000000 --- a/include/configs/rpi-common.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * (C) Copyright 2012-2016 Stephen Warren - * - * SPDX-License-Identifier: GPL-2.0 - */ - -#ifndef _RPI_COMMON_H_ -#define _RPI_COMMON_H_ - -#include -#include - -/* Architecture, CPU, etc.*/ -#define CONFIG_ARCH_CPU_INIT - -/* Use SoC timer for AArch32, but architected timer for AArch64 */ -#ifndef CONFIG_ARM64 -#define CONFIG_SYS_TIMER_RATE 1000000 -#define CONFIG_SYS_TIMER_COUNTER \ - (&((struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR)->clo) -#endif - -/* - * 2835 is a SKU in a series for which the 2708 is the first or primary SoC, - * so 2708 has historically been used rather than a dedicated 2835 ID. - * - * We don't define a machine type for bcm2709/bcm2836 since the RPi Foundation - * chose to use someone else's previously registered machine ID (3139, MX51_GGC) - * rather than obtaining a valid ID:-/ - * - * For the bcm2837, hopefully a machine type is not needed, since everything - * is DT. - */ -#ifdef CONFIG_BCM2835 -#define CONFIG_MACH_TYPE MACH_TYPE_BCM2708 -#endif - -/* Memory layout */ -#define CONFIG_NR_DRAM_BANKS 1 -#define CONFIG_SYS_SDRAM_BASE 0x00000000 -#define CONFIG_SYS_TEXT_BASE 0x00008000 -#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE -/* - * The board really has 256M. However, the VC (VideoCore co-processor) shares - * the RAM, and uses a configurable portion at the top. We tell U-Boot that a - * smaller amount of RAM is present in order to avoid stomping on the area - * the VC uses. - */ -#define CONFIG_SYS_SDRAM_SIZE SZ_128M -#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \ - CONFIG_SYS_SDRAM_SIZE - \ - GENERATED_GBL_DATA_SIZE) -#define CONFIG_SYS_MALLOC_LEN SZ_4M -#define CONFIG_SYS_MEMTEST_START 0x00100000 -#define CONFIG_SYS_MEMTEST_END 0x00200000 -#define CONFIG_LOADADDR 0x00200000 - -/* Flash */ -#define CONFIG_SYS_NO_FLASH - -/* Devices */ -/* GPIO */ -#define CONFIG_BCM2835_GPIO -/* LCD */ -#define CONFIG_LCD -#define CONFIG_LCD_DT_SIMPLEFB -#define LCD_BPP LCD_COLOR16 -/* - * Prevent allocation of RAM for FB; the real FB address is queried - * dynamically from the VideoCore co-processor, and comes from RAM - * not owned by the ARM CPU. - */ -#define CONFIG_FB_ADDR 0 -#define CONFIG_VIDEO_BCM2835 -#define CONFIG_SYS_WHITE_ON_BLACK -#define CONFIG_CONSOLE_SCROLL_LINES 10 - -/* SD/MMC configuration */ -#define CONFIG_GENERIC_MMC -#define CONFIG_MMC -#define CONFIG_SDHCI -#define CONFIG_MMC_SDHCI_IO_ACCESSORS -#define CONFIG_BCM2835_SDHCI - -#define CONFIG_CMD_USB -#ifdef CONFIG_CMD_USB -#define CONFIG_USB_DWC2 -#ifndef CONFIG_BCM2835 -#define CONFIG_USB_DWC2_REG_ADDR 0x3f980000 -#else -#define CONFIG_USB_DWC2_REG_ADDR 0x20980000 -#endif -#define CONFIG_USB_STORAGE -#define CONFIG_USB_HOST_ETHER -#define CONFIG_USB_ETHER_SMSC95XX -#define CONFIG_MISC_INIT_R -#define CONFIG_USB_KEYBOARD -#define CONFIG_SYS_USB_EVENT_POLL -#define CONFIG_SYS_STDIO_DEREGISTER -#endif - -/* Console UART */ -#ifdef CONFIG_BCM2837 -#define CONFIG_BCM283X_MU_SERIAL -#else -#define CONFIG_PL01X_SERIAL -#endif -#define CONFIG_CONS_INDEX 0 -#define CONFIG_BAUDRATE 115200 - -/* Console configuration */ -#define CONFIG_SYS_CBSIZE 1024 -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ - sizeof(CONFIG_SYS_PROMPT) + 16) - -/* Environment */ -#define CONFIG_ENV_SIZE SZ_16K -#define CONFIG_ENV_IS_IN_FAT -#define FAT_ENV_INTERFACE "mmc" -#define FAT_ENV_DEVICE_AND_PART "0:1" -#define FAT_ENV_FILE "uboot.env" -#define CONFIG_FAT_WRITE -#define CONFIG_ENV_VARS_UBOOT_CONFIG -#define CONFIG_SYS_LOAD_ADDR 0x1000000 -#define CONFIG_CONSOLE_MUX -#define CONFIG_SYS_CONSOLE_IS_IN_ENV -#define CONFIG_PREBOOT "usb start" - -/* Shell */ -#define CONFIG_SYS_MAXARGS 16 -#define CONFIG_COMMAND_HISTORY - -/* Commands */ -#define CONFIG_CMD_MMC -#define CONFIG_PARTITION_UUIDS -#define CONFIG_CMD_PART - -/* ATAGs support for bootm/bootz */ -#define CONFIG_SETUP_MEMORY_TAGS -#define CONFIG_CMDLINE_TAG -#define CONFIG_INITRD_TAG - -#include - -/* Environment */ -#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG -#define ENV_DEVICE_SETTINGS \ - "stdin=serial,usbkbd\0" \ - "stdout=serial,lcd\0" \ - "stderr=serial,lcd\0" - -/* - * Memory layout for where various images get loaded by boot scripts: - * - * I suspect address 0 is used as the SMP pen on the RPi2, so avoid this. - * - * fdt_addr_r simply shouldn't overlap anything else. However, the RPi's - * binary firmware loads a DT to address 0x100, so we choose this address to - * match it. This allows custom boot scripts to pass this DT on to Linux - * simply by not over-writing the data at this address. When using U-Boot, - * U-Boot (and scripts it executes) typicaly ignore the DT loaded by the FW - * and loads its own DT from disk (triggered by boot.scr or extlinux.conf). - * - * pxefile_addr_r can be pretty much anywhere that doesn't conflict with - * something else. Put it low in memory to avoid conflicts. - * - * kernel_addr_r must be within the first 128M of RAM in order for the - * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will - * decompress itself to 0x8000 after the start of RAM, kernel_addr_r - * should not overlap that area, or the kernel will have to copy itself - * somewhere else before decompression. Similarly, the address of any other - * data passed to the kernel shouldn't overlap the start of RAM. Pushing - * this up to 16M allows for a sizable kernel to be decompressed below the - * compressed load address. - * - * scriptaddr can be pretty much anywhere that doesn't conflict with something - * else. Choosing 32M allows for the compressed kernel to be up to 16M. - * - * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows - * for any boot script to be up to 1M, which is hopefully plenty. - */ -#define ENV_MEM_LAYOUT_SETTINGS \ - "fdt_high=ffffffff\0" \ - "initrd_high=ffffffff\0" \ - "fdt_addr_r=0x00000100\0" \ - "pxefile_addr_r=0x00100000\0" \ - "kernel_addr_r=0x01000000\0" \ - "scriptaddr=0x02000000\0" \ - "ramdisk_addr_r=0x02100000\0" \ - -#define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) \ - func(USB, usb, 0) \ - func(PXE, pxe, na) \ - func(DHCP, dhcp, na) -#include - -#define CONFIG_EXTRA_ENV_SETTINGS \ - ENV_DEVICE_SETTINGS \ - ENV_MEM_LAYOUT_SETTINGS \ - BOOTENV - -#define CONFIG_BOOTDELAY 2 - -#endif diff --git a/include/configs/rpi.h b/include/configs/rpi.h index 86422e390d..b83d622b97 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -1,5 +1,5 @@ /* - * (C) Copyright 2012,2015 Stephen Warren + * (C) Copyright 2012-2016 Stephen Warren * * SPDX-License-Identifier: GPL-2.0 */ @@ -7,8 +7,210 @@ #ifndef __CONFIG_H #define __CONFIG_H -#define CONFIG_SYS_CACHELINE_SIZE 32 +#include +#include -#include "rpi-common.h" +#if defined(CONFIG_TARGET_RPI_2) || defined(CONFIG_TARGET_RPI_3_32B) +#define CONFIG_SKIP_LOWLEVEL_INIT +#endif + +#ifdef CONFIG_BCM2835 +#define CONFIG_SYS_CACHELINE_SIZE 32 +#else +#define CONFIG_SYS_CACHELINE_SIZE 64 +#endif + +/* Architecture, CPU, etc.*/ +#define CONFIG_ARCH_CPU_INIT + +/* Use SoC timer for AArch32, but architected timer for AArch64 */ +#ifndef CONFIG_ARM64 +#define CONFIG_SYS_TIMER_RATE 1000000 +#define CONFIG_SYS_TIMER_COUNTER \ + (&((struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR)->clo) +#endif + +/* + * 2835 is a SKU in a series for which the 2708 is the first or primary SoC, + * so 2708 has historically been used rather than a dedicated 2835 ID. + * + * We don't define a machine type for bcm2709/bcm2836 since the RPi Foundation + * chose to use someone else's previously registered machine ID (3139, MX51_GGC) + * rather than obtaining a valid ID:-/ + * + * For the bcm2837, hopefully a machine type is not needed, since everything + * is DT. + */ +#ifdef CONFIG_BCM2835 +#define CONFIG_MACH_TYPE MACH_TYPE_BCM2708 +#endif + +/* Memory layout */ +#define CONFIG_NR_DRAM_BANKS 1 +#define CONFIG_SYS_SDRAM_BASE 0x00000000 +#define CONFIG_SYS_TEXT_BASE 0x00008000 +#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE +/* + * The board really has 256M. However, the VC (VideoCore co-processor) shares + * the RAM, and uses a configurable portion at the top. We tell U-Boot that a + * smaller amount of RAM is present in order to avoid stomping on the area + * the VC uses. + */ +#define CONFIG_SYS_SDRAM_SIZE SZ_128M +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \ + CONFIG_SYS_SDRAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_MALLOC_LEN SZ_4M +#define CONFIG_SYS_MEMTEST_START 0x00100000 +#define CONFIG_SYS_MEMTEST_END 0x00200000 +#define CONFIG_LOADADDR 0x00200000 + +/* Flash */ +#define CONFIG_SYS_NO_FLASH + +/* Devices */ +/* GPIO */ +#define CONFIG_BCM2835_GPIO +/* LCD */ +#define CONFIG_LCD +#define CONFIG_LCD_DT_SIMPLEFB +#define LCD_BPP LCD_COLOR16 +/* + * Prevent allocation of RAM for FB; the real FB address is queried + * dynamically from the VideoCore co-processor, and comes from RAM + * not owned by the ARM CPU. + */ +#define CONFIG_FB_ADDR 0 +#define CONFIG_VIDEO_BCM2835 +#define CONFIG_SYS_WHITE_ON_BLACK +#define CONFIG_CONSOLE_SCROLL_LINES 10 + +/* SD/MMC configuration */ +#define CONFIG_GENERIC_MMC +#define CONFIG_MMC +#define CONFIG_SDHCI +#define CONFIG_MMC_SDHCI_IO_ACCESSORS +#define CONFIG_BCM2835_SDHCI + +#define CONFIG_CMD_USB +#ifdef CONFIG_CMD_USB +#define CONFIG_USB_DWC2 +#ifndef CONFIG_BCM2835 +#define CONFIG_USB_DWC2_REG_ADDR 0x3f980000 +#else +#define CONFIG_USB_DWC2_REG_ADDR 0x20980000 +#endif +#define CONFIG_USB_STORAGE +#define CONFIG_USB_HOST_ETHER +#define CONFIG_USB_ETHER_SMSC95XX +#define CONFIG_MISC_INIT_R +#define CONFIG_USB_KEYBOARD +#define CONFIG_SYS_USB_EVENT_POLL +#define CONFIG_SYS_STDIO_DEREGISTER +#endif + +/* Console UART */ +#ifdef CONFIG_BCM2837 +#define CONFIG_BCM283X_MU_SERIAL +#else +#define CONFIG_PL01X_SERIAL +#endif +#define CONFIG_CONS_INDEX 0 +#define CONFIG_BAUDRATE 115200 + +/* Console configuration */ +#define CONFIG_SYS_CBSIZE 1024 +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ + sizeof(CONFIG_SYS_PROMPT) + 16) + +/* Environment */ +#define CONFIG_ENV_SIZE SZ_16K +#define CONFIG_ENV_IS_IN_FAT +#define FAT_ENV_INTERFACE "mmc" +#define FAT_ENV_DEVICE_AND_PART "0:1" +#define FAT_ENV_FILE "uboot.env" +#define CONFIG_FAT_WRITE +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_SYS_LOAD_ADDR 0x1000000 +#define CONFIG_CONSOLE_MUX +#define CONFIG_SYS_CONSOLE_IS_IN_ENV +#define CONFIG_PREBOOT "usb start" + +/* Shell */ +#define CONFIG_SYS_MAXARGS 16 +#define CONFIG_COMMAND_HISTORY + +/* Commands */ +#define CONFIG_CMD_MMC +#define CONFIG_PARTITION_UUIDS +#define CONFIG_CMD_PART + +/* ATAGs support for bootm/bootz */ +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_CMDLINE_TAG +#define CONFIG_INITRD_TAG + +#include + +/* Environment */ +#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG +#define ENV_DEVICE_SETTINGS \ + "stdin=serial,usbkbd\0" \ + "stdout=serial,lcd\0" \ + "stderr=serial,lcd\0" + +/* + * Memory layout for where various images get loaded by boot scripts: + * + * I suspect address 0 is used as the SMP pen on the RPi2, so avoid this. + * + * fdt_addr_r simply shouldn't overlap anything else. However, the RPi's + * binary firmware loads a DT to address 0x100, so we choose this address to + * match it. This allows custom boot scripts to pass this DT on to Linux + * simply by not over-writing the data at this address. When using U-Boot, + * U-Boot (and scripts it executes) typicaly ignore the DT loaded by the FW + * and loads its own DT from disk (triggered by boot.scr or extlinux.conf). + * + * pxefile_addr_r can be pretty much anywhere that doesn't conflict with + * something else. Put it low in memory to avoid conflicts. + * + * kernel_addr_r must be within the first 128M of RAM in order for the + * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will + * decompress itself to 0x8000 after the start of RAM, kernel_addr_r + * should not overlap that area, or the kernel will have to copy itself + * somewhere else before decompression. Similarly, the address of any other + * data passed to the kernel shouldn't overlap the start of RAM. Pushing + * this up to 16M allows for a sizable kernel to be decompressed below the + * compressed load address. + * + * scriptaddr can be pretty much anywhere that doesn't conflict with something + * else. Choosing 32M allows for the compressed kernel to be up to 16M. + * + * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows + * for any boot script to be up to 1M, which is hopefully plenty. + */ +#define ENV_MEM_LAYOUT_SETTINGS \ + "fdt_high=ffffffff\0" \ + "initrd_high=ffffffff\0" \ + "fdt_addr_r=0x00000100\0" \ + "pxefile_addr_r=0x00100000\0" \ + "kernel_addr_r=0x01000000\0" \ + "scriptaddr=0x02000000\0" \ + "ramdisk_addr_r=0x02100000\0" \ + +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 0) \ + func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na) +#include + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "dhcpuboot=usb start; dhcp u-boot.uimg; bootm\0" \ + ENV_DEVICE_SETTINGS \ + ENV_MEM_LAYOUT_SETTINGS \ + BOOTENV + +#define CONFIG_BOOTDELAY 2 #endif diff --git a/include/configs/rpi_2.h b/include/configs/rpi_2.h deleted file mode 100644 index 0917e86508..0000000000 --- a/include/configs/rpi_2.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * (C) Copyright 2012,2015 Stephen Warren - * - * SPDX-License-Identifier: GPL-2.0 - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -#define CONFIG_SKIP_LOWLEVEL_INIT -#define CONFIG_SYS_CACHELINE_SIZE 64 - -#include "rpi-common.h" - -#endif diff --git a/include/configs/rpi_3.h b/include/configs/rpi_3.h deleted file mode 100644 index 0dd9e7e40a..0000000000 --- a/include/configs/rpi_3.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * (C) Copyright 2012-2016 Stephen Warren - * - * SPDX-License-Identifier: GPL-2.0 - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -#define CONFIG_SYS_CACHELINE_SIZE 64 - -#include "rpi-common.h" - -#endif diff --git a/include/configs/rpi_3_32b.h b/include/configs/rpi_3_32b.h deleted file mode 100644 index c00379b9aa..0000000000 --- a/include/configs/rpi_3_32b.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * (C) Copyright 2012-2016 Stephen Warren - * - * SPDX-License-Identifier: GPL-2.0 - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -#define CONFIG_SKIP_LOWLEVEL_INIT -#define CONFIG_SYS_CACHELINE_SIZE 64 - -#include "rpi-common.h" - -#endif