summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Aring <aar@pengutronix.de>2016-06-09 17:57:26 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2016-06-10 14:32:28 +0200
commita3f2e855b40573cdd98f047744dd19ef62d31679 (patch)
tree850e542dbdaa8899d3db2235d2aff593c4aa19bd
parent897055310494a146f7d32fc89243d31eeac95d0d (diff)
downloadDistroKit-a3f2e855b40573cdd98f047744dd19ef62d31679.tar.gz
DistroKit-a3f2e855b40573cdd98f047744dd19ef62d31679.tar.xz
beaglebone: fixes and rpi2 support
Signed-off-by: Alexander Aring <aar@pengutronix.de>
-rw-r--r--configs/platform-beaglebone/barebox-defaultenv/init/bootsource6
-rw-r--r--configs/platform-beaglebone/barebox-rpi2.config.2016.05.0523
-rw-r--r--configs/platform-beaglebone/config/images/boot-vfat.config (renamed from configs/platform-beaglebone/config/images/boot-vfat-mlo-barebox.config)5
-rw-r--r--configs/platform-beaglebone/kernelconfig289
-rw-r--r--configs/platform-beaglebone/patches/barebox-2016.05.0/0001-rpi2-add-basic-boot-spec-devicetree-support.patch462
-rw-r--r--configs/platform-beaglebone/patches/barebox-2016.05.0/series4
-rw-r--r--configs/platform-beaglebone/platformconfig10
-rw-r--r--configs/platform-beaglebone/platforms/barebox-rpi2.in7
-rw-r--r--configs/platform-beaglebone/platforms/blspec-rpi2.in5
-rw-r--r--configs/platform-beaglebone/platforms/image-boot-vfat.in22
-rw-r--r--configs/platform-beaglebone/projectroot/loader/entries/rpi2.conf5
-rw-r--r--configs/platform-beaglebone/rpi-firmware/LICENCE.broadcom30
-rw-r--r--configs/platform-beaglebone/rpi-firmware/bootcode.binbin0 -> 17932 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/config.txt14
-rw-r--r--configs/platform-beaglebone/rpi-firmware/fixup.datbin0 -> 6483 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/fixup_cd.datbin0 -> 2503 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/fixup_db.datbin0 -> 9714 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/fixup_x.datbin0 -> 9716 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/start.elfbin0 -> 2745784 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/start_cd.elfbin0 -> 616664 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/start_db.elfbin0 -> 4938504 bytes
-rw-r--r--configs/platform-beaglebone/rpi-firmware/start_x.elfbin0 -> 3889992 bytes
-rw-r--r--configs/platform-beaglebone/rules/barebox-rpi2.make92
-rw-r--r--configs/platform-beaglebone/rules/blspec-rpi2.make38
-rw-r--r--configs/platform-beaglebone/rules/image-boot-vfat.make49
-rw-r--r--configs/platform-beaglebone/rules/post/genimage-fixup.make2
-rw-r--r--patches/genimage-5/0001-image-flash-actually-write-the-image-and-support-par.patch106
-rw-r--r--patches/genimage-5/series1
-rw-r--r--patches/linux-2.6.32/series.i5861
-rw-r--r--patches/linux-2.6.32/series.versatilepb1
-rw-r--r--patches/linux-2.6.32/version.diff17
-rw-r--r--patches/linux-2.6.37/series.i5861
-rw-r--r--patches/linux-2.6.37/series.versatilepb1
-rw-r--r--patches/linux-2.6.37/version.diff17
34 files changed, 1538 insertions, 170 deletions
diff --git a/configs/platform-beaglebone/barebox-defaultenv/init/bootsource b/configs/platform-beaglebone/barebox-defaultenv/init/bootsource
index 336c868..c17417e 100644
--- a/configs/platform-beaglebone/barebox-defaultenv/init/bootsource
+++ b/configs/platform-beaglebone/barebox-defaultenv/init/bootsource
@@ -5,7 +5,9 @@ if [ -n "$nv.boot.default" ]; then
fi
if [ $bootsource = mmc ]; then
- global.boot.default="mmc0 mmc1 net"
+ global.boot.default="mmc0 mmc1 disk0.1 net"
elif [ $bootsource = net ]; then
- global.boot.default="net mmc0 mmc1"
+ global.boot.default="net mmc0 mmc1 disk0.1"
+else
+ global.boot.default="disk0.1 mmc0 mmc1 net"
fi
diff --git a/configs/platform-beaglebone/barebox-rpi2.config.2016.05.0 b/configs/platform-beaglebone/barebox-rpi2.config.2016.05.0
new file mode 100644
index 0000000..b780f85
--- /dev/null
+++ b/configs/platform-beaglebone/barebox-rpi2.config.2016.05.0
@@ -0,0 +1,523 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Barebox/arm 2016.05.0 Configuration
+#
+CONFIG_ARM=y
+CONFIG_ARM_LINUX=y
+CONFIG_ARCH_BCM283X=y
+
+#
+# System Type
+#
+CONFIG_BUILTIN_DTB=y
+CONFIG_BUILTIN_DTB_NAME="bcm2836-rpi-2-b"
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCM2835 is not set
+CONFIG_ARCH_BCM2836=y
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_DIGIC is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_HIGHBANK is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_MXS is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_ARCH_S3C24xx is not set
+# CONFIG_ARCH_S5PCxx is not set
+# CONFIG_ARCH_S3C64xx is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_UEMD is not set
+# CONFIG_ARCH_ZYNQ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+
+#
+# processor features
+#
+# CONFIG_BOOT_ENDIANNESS_SWITCH is not set
+CONFIG_ARCH_TEXT_BASE=0x04000000
+CONFIG_MACH_RPI_COMMON=y
+CONFIG_MACH_RPI2=y
+CONFIG_BAREBOX_MAX_IMAGE_SIZE=0xffffffff
+CONFIG_AEABI=y
+# CONFIG_THUMB2_BAREBOX is not set
+# CONFIG_ARM_BOARD_APPEND_ATAG is not set
+
+#
+# ARM specific settings
+#
+CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
+CONFIG_ARM_EXCEPTIONS=y
+CONFIG_ARM_UNWIND=y
+# CONFIG_ARM_SEMIHOSTING is not set
+CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG"
+CONFIG_GREGORIAN_CALENDER=y
+CONFIG_HAS_KALLSYMS=y
+CONFIG_HAS_MODULES=y
+CONFIG_ENV_HANDLING=y
+CONFIG_HAS_CACHE=y
+CONFIG_HAS_DMA=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_BOOTM=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_WRITE=y
+CONFIG_FILETYPE=y
+CONFIG_BINFMT=y
+CONFIG_UIMAGE=y
+CONFIG_GLOBALVAR=y
+CONFIG_STDDEV=y
+CONFIG_MENUTREE=y
+
+#
+# General Settings
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_BANNER=y
+CONFIG_MEMINFO=y
+CONFIG_ENVIRONMENT_VARIABLES=y
+
+#
+# memory layout
+#
+CONFIG_HAVE_PBL_IMAGE=y
+CONFIG_HAVE_IMAGE_COMPRESSION=y
+# CONFIG_PBL_IMAGE is not set
+CONFIG_MMU=y
+CONFIG_MMU_EARLY=y
+CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
+CONFIG_TEXT_BASE=0x04000000
+CONFIG_BAREBOX_MAX_BARE_INIT_SIZE=0xffffffff
+CONFIG_STACK_SIZE=0x8000
+CONFIG_MALLOC_SIZE=0x400000
+# CONFIG_EXPERIMENTAL is not set
+# CONFIG_MALLOC_DLMALLOC is not set
+CONFIG_MALLOC_TLSF=y
+CONFIG_KALLSYMS=y
+# CONFIG_RELOCATABLE is not set
+# CONFIG_PANIC_HANG is not set
+CONFIG_PROMPT="R-Pi> "
+CONFIG_BAUDRATE=115200
+CONFIG_CBSIZE=1024
+CONFIG_SHELL_HUSH=y
+# CONFIG_SHELL_SIMPLE is not set
+# CONFIG_SHELL_NONE is not set
+CONFIG_GLOB=y
+CONFIG_GLOB_SORT=y
+CONFIG_PROMPT_HUSH_PS2="> "
+CONFIG_HUSH_FANCY_PROMPT=y
+CONFIG_CMDLINE_EDITING=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_MENU=y
+CONFIG_PASSWORD=y
+CONFIG_PASSWORD_DEFAULT=""
+CONFIG_PASSWD_SUM_MD5=y
+# CONFIG_PASSWD_SUM_SHA1 is not set
+# CONFIG_PASSWD_SUM_SHA256 is not set
+# CONFIG_PASSWD_SUM_SHA512 is not set
+# CONFIG_PASSWD_CRYPTO_PBKDF2 is not set
+CONFIG_DYNAMIC_CRC_TABLE=y
+CONFIG_ERRNO_MESSAGES=y
+CONFIG_TIMESTAMP=y
+CONFIG_BLSPEC=y
+# CONFIG_IMD is not set
+# CONFIG_KERNEL_INSTALL_TARGET is not set
+CONFIG_CONSOLE_FULL=y
+# CONFIG_CONSOLE_SIMPLE is not set
+# CONFIG_CONSOLE_NONE is not set
+CONFIG_CONSOLE_ACTIVATE_FIRST=y
+# CONFIG_CONSOLE_ACTIVATE_ALL is not set
+# CONFIG_CONSOLE_ACTIVATE_NONE is not set
+# CONFIG_CONSOLE_RATP is not set
+CONFIG_PARTITION=y
+CONFIG_PARTITION_DISK=y
+CONFIG_PARTITION_DISK_DOS=y
+# CONFIG_PARTITION_DISK_EFI is not set
+CONFIG_DEFAULT_ENVIRONMENT=y
+CONFIG_DEFAULT_COMPRESSION_NONE=y
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW_MENU=y
+# CONFIG_DEFAULT_ENVIRONMENT_GENERIC is not set
+CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/raspberry-pi/env ${PTXDIST_PLATFORMCONFIGDIR}/barebox-defaultenv"
+CONFIG_BAREBOXENV_TARGET=y
+# CONFIG_BAREBOXCRC32_TARGET is not set
+CONFIG_POLLER=y
+# CONFIG_RESET_SOURCE is not set
+
+#
+# Debugging
+#
+CONFIG_COMPILE_LOGLEVEL=6
+CONFIG_DEFAULT_LOGLEVEL=7
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_LL is not set
+# CONFIG_DEBUG_INITCALLS is not set
+CONFIG_HAS_DEBUG_LL=y
+CONFIG_COMMAND_SUPPORT=y
+# CONFIG_HAS_POWEROFF is not set
+CONFIG_COMPILE_HASH=y
+CONFIG_COMPILE_MEMORY=y
+
+#
+# Commands
+#
+
+#
+# Information
+#
+CONFIG_CMD_ARM_CPUINFO=y
+CONFIG_CMD_DEVINFO=y
+# CONFIG_CMD_DMESG is not set
+CONFIG_CMD_DRVINFO=y
+CONFIG_CMD_HELP=y
+CONFIG_LONGHELP=y
+CONFIG_CMD_IOMEM=y
+# CONFIG_CMD_IMD is not set
+CONFIG_CMD_MEMINFO=y
+# CONFIG_CMD_ARM_MMUINFO is not set
+# CONFIG_CMD_REGULATOR is not set
+CONFIG_CMD_VERSION=y
+# CONFIG_CMD_MMC_EXTCSD is not set
+
+#
+# Boot
+#
+CONFIG_FLEXIBLE_BOOTARGS=y
+CONFIG_CMD_BOOT=y
+CONFIG_CMD_BOOTM=y
+CONFIG_CMD_BOOTM_SHOW_TYPE=y
+CONFIG_CMD_BOOTM_VERBOSE=y
+CONFIG_CMD_BOOTM_INITRD=y
+CONFIG_CMD_BOOTM_OFTREE=y
+# CONFIG_CMD_BOOTM_OFTREE_UIMAGE is not set
+# CONFIG_CMD_BOOTM_AIMAGE is not set
+# CONFIG_CMD_BOOTM_FITIMAGE is not set
+CONFIG_CMD_BOOTU=y
+# CONFIG_CMD_BOOTZ is not set
+CONFIG_CMD_GO=y
+CONFIG_CMD_LOADB=y
+# CONFIG_CMD_LOADS is not set
+CONFIG_CMD_LOADY=y
+CONFIG_CMD_RESET=y
+CONFIG_CMD_UIMAGE=y
+
+#
+# Partition
+#
+CONFIG_CMD_PARTITION=y
+CONFIG_CMD_AUTOMOUNT=y
+CONFIG_CMD_MOUNT=y
+CONFIG_CMD_UMOUNT=y
+
+#
+# Environment
+#
+CONFIG_CMD_NV=y
+CONFIG_CMD_EXPORT=y
+CONFIG_CMD_DEFAULTENV=y
+CONFIG_CMD_GLOBAL=y
+# CONFIG_CMD_LOADENV is not set
+CONFIG_CMD_PRINTENV=y
+CONFIG_CMD_MAGICVAR=y
+CONFIG_CMD_MAGICVAR_HELP=y
+CONFIG_CMD_SAVEENV=y
+
+#
+# File
+#
+CONFIG_CMD_BASENAME=y
+CONFIG_CMD_CAT=y
+CONFIG_CMD_CD=y
+CONFIG_CMD_CP=y
+# CONFIG_CMD_CMP is not set
+CONFIG_CMD_DIGEST=y
+CONFIG_CMD_DIRNAME=y
+CONFIG_CMD_FILETYPE=y
+CONFIG_CMD_LN=y
+CONFIG_CMD_LS=y
+CONFIG_CMD_MD5SUM=y
+CONFIG_CMD_MKDIR=y
+CONFIG_CMD_PWD=y
+CONFIG_CMD_READLINK=y
+CONFIG_CMD_RM=y
+CONFIG_CMD_RMDIR=y
+# CONFIG_CMD_SHA1SUM is not set
+# CONFIG_CMD_SHA224SUM is not set
+# CONFIG_CMD_SHA256SUM is not set
+# CONFIG_CMD_SHA384SUM is not set
+# CONFIG_CMD_SHA512SUM is not set
+CONFIG_CMD_UNCOMPRESS=y
+
+#
+# Shell scripting
+#
+CONFIG_CMD_FALSE=y
+CONFIG_CMD_GETOPT=y
+CONFIG_CMD_LET=y
+CONFIG_CMD_MSLEEP=y
+# CONFIG_CMD_READF is not set
+CONFIG_CMD_SLEEP=y
+CONFIG_CMD_TEST=y
+CONFIG_CMD_TRUE=y
+
+#
+# Console and Framebuffer interaction
+#
+CONFIG_CMD_CLEAR=y
+CONFIG_CMD_ECHO=y
+CONFIG_CMD_ECHO_E=y
+CONFIG_CMD_EDIT=y
+CONFIG_CMD_LOGIN=y
+CONFIG_CMD_MENU=y
+CONFIG_CMD_MENU_MANAGEMENT=y
+CONFIG_CMD_MENUTREE=y
+CONFIG_CMD_PASSWD=y
+CONFIG_PASSWD_MODE_HIDE=y
+# CONFIG_PASSWD_MODE_STAR is not set
+# CONFIG_PASSWD_MODE_CLEAR is not set
+CONFIG_CMD_READLINE=y
+CONFIG_CMD_TIMEOUT=y
+
+#
+# Memory
+#
+CONFIG_CMD_CRC=y
+CONFIG_CMD_CRC_CMP=y
+CONFIG_CMD_MD=y
+CONFIG_CMD_MEMCMP=y
+CONFIG_CMD_MEMCPY=y
+CONFIG_CMD_MEMSET=y
+# CONFIG_CMD_MEMTEST is not set
+CONFIG_CMD_MM=y
+CONFIG_CMD_MW=y
+
+#
+# Hardware manipulation
+#
+CONFIG_CMD_CLK=y
+CONFIG_CMD_DETECT=y
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+# CONFIG_CMD_LED is not set
+# CONFIG_CMD_SPI is not set
+# CONFIG_CMD_LED_TRIGGER is not set
+
+#
+# Miscellaneous
+#
+# CONFIG_CMD_2048 is not set
+# CONFIG_CMD_BAREBOX_UPDATE is not set
+# CONFIG_CMD_FIRMWARELOAD is not set
+CONFIG_CMD_OF_DUMP=y
+CONFIG_CMD_OF_NODE=y
+CONFIG_CMD_OF_PROPERTY=y
+# CONFIG_CMD_OF_DISPLAY_TIMINGS is not set
+# CONFIG_CMD_OF_FIXUP_STATUS is not set
+CONFIG_CMD_OFTREE=y
+CONFIG_CMD_TIME=y
+# CONFIG_CMD_DHRYSTONE is not set
+# CONFIG_CMD_SPD_DECODE is not set
+# CONFIG_NET is not set
+
+#
+# Drivers
+#
+CONFIG_OFTREE=y
+CONFIG_OFTREE_MEM_GENERIC=y
+CONFIG_DTC=y
+CONFIG_OFDEVICE=y
+CONFIG_OF_GPIO=y
+# CONFIG_OF_BAREBOX_DRIVERS is not set
+CONFIG_ARM_AMBA=y
+
+#
+# serial drivers
+#
+# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
+CONFIG_SERIAL_AMBA_PL011=y
+# CONFIG_DRIVER_SERIAL_NS16550 is not set
+# CONFIG_DRIVER_SERIAL_CADENCE is not set
+
+#
+# SPI drivers
+#
+CONFIG_SPI=y
+# CONFIG_DRIVER_SPI_GPIO is not set
+# CONFIG_I2C is not set
+# CONFIG_MTD is not set
+CONFIG_DISK=y
+CONFIG_DISK_WRITE=y
+
+#
+# drive types
+#
+# CONFIG_DISK_ATA is not set
+# CONFIG_DISK_AHCI is not set
+
+#
+# interface types
+#
+# CONFIG_DISK_INTF_PLATFORM_IDE is not set
+# CONFIG_USB_HOST is not set
+# CONFIG_USB_GADGET is not set
+# CONFIG_USB_MUSB is not set
+# CONFIG_VIDEO is not set
+CONFIG_MCI=y
+
+#
+# --- Feature list ---
+#
+CONFIG_MCI_STARTUP=y
+CONFIG_MCI_INFO=y
+CONFIG_MCI_WRITE=y
+CONFIG_MCI_MMC_BOOT_PARTITIONS=y
+
+#
+# --- MCI host drivers ---
+#
+# CONFIG_MCI_DW is not set
+CONFIG_MCI_BCM283X=y
+# CONFIG_MCI_MMCI is not set
+# CONFIG_MCI_SPI is not set
+CONFIG_HAVE_CLK=y
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_COMMON_CLK=y
+CONFIG_CLOCKSOURCE_BCM283X=y
+CONFIG_CLOCKSOURCE_DUMMY_RATE=1000
+
+#
+# MFD
+#
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_MFD_SYSCON is not set
+
+#
+# Misc devices
+#
+# CONFIG_JTAG is not set
+# CONFIG_SRAM is not set
+CONFIG_LED=y
+CONFIG_LED_GPIO=y
+# CONFIG_LED_GPIO_OF is not set
+# CONFIG_LED_GPIO_RGB is not set
+# CONFIG_LED_GPIO_BICOLOR is not set
+CONFIG_LED_TRIGGERS=y
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT25 is not set
+
+#
+# Input device support
+#
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_WATCHDOG is not set
+# CONFIG_PWM is not set
+
+#
+# DMA support
+#
+CONFIG_GPIOLIB=y
+
+#
+# GPIO
+#
+# CONFIG_GPIO_74164 is not set
+CONFIG_GPIO_BCM283X=y
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_IMX is not set
+# CONFIG_GPIO_MXS is not set
+# CONFIG_GPIO_OMAP is not set
+# CONFIG_GPIO_PL061 is not set
+# CONFIG_GPIO_DESIGNWARE is not set
+# CONFIG_W1 is not set
+# CONFIG_PINCTRL is not set
+
+#
+# Bus devices
+#
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_FIXED is not set
+CONFIG_REGULATOR_BCM283X=y
+# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_RTC_CLASS is not set
+
+#
+# Firmware Drivers
+#
+# CONFIG_FIRMWARE_ALTERA_SERIAL is not set
+
+#
+# PHY Subsystem
+#
+# CONFIG_GENERIC_PHY is not set
+# CONFIG_CRYPTO_HW is not set
+
+#
+# Filesystem support
+#
+CONFIG_FS=y
+CONFIG_FS_AUTOMOUNT=y
+# CONFIG_FS_CRAMFS is not set
+CONFIG_FS_EXT4=y
+CONFIG_FS_RAMFS=y
+CONFIG_FS_DEVFS=y
+CONFIG_FS_FAT=y
+CONFIG_FS_FAT_WRITE=y
+CONFIG_FS_FAT_LFN=y
+# CONFIG_FS_BPKFS is not set
+# CONFIG_FS_UIMAGEFS is not set
+# CONFIG_FS_PSTORE is not set
+# CONFIG_FS_SQUASHFS is not set
+
+#
+# Library routines
+#
+CONFIG_PARAMETER=y
+CONFIG_UNCOMPRESS=y
+# CONFIG_ZLIB is not set
+# CONFIG_BZLIB is not set
+# CONFIG_LZ4_DECOMPRESS is not set
+# CONFIG_XZ_DECOMPRESS is not set
+# CONFIG_GENERIC_FIND_NEXT_BIT is not set
+CONFIG_PROCESS_ESCAPE_SEQUENCE=y
+# CONFIG_LZO_DECOMPRESS is not set
+CONFIG_QSORT=y
+CONFIG_XYMODEM=y
+
+#
+# Library gui routines
+#
+# CONFIG_BAREBOX_LOGO is not set
+
+#
+# Crypto support
+#
+CONFIG_CRC32=y
+CONFIG_CRC16=y
+CONFIG_DIGEST=y
+CONFIG_MD5=y
+CONFIG_DIGEST_MD5_GENERIC=y
+# CONFIG_DIGEST_SHA1_GENERIC is not set
+# CONFIG_DIGEST_SHA224_GENERIC is not set
+# CONFIG_DIGEST_SHA256_GENERIC is not set
+# CONFIG_DIGEST_SHA384_GENERIC is not set
+# CONFIG_DIGEST_SHA512_GENERIC is not set
+# CONFIG_DIGEST_HMAC_GENERIC is not set
+# CONFIG_DIGEST_SHA1_ARM is not set
+# CONFIG_DIGEST_SHA256_ARM is not set
+# CONFIG_CRYPTO_KEYSTORE is not set
diff --git a/configs/platform-beaglebone/config/images/boot-vfat-mlo-barebox.config b/configs/platform-beaglebone/config/images/boot-vfat.config
index bbe41e0..7d29c76 100644
--- a/configs/platform-beaglebone/config/images/boot-vfat-mlo-barebox.config
+++ b/configs/platform-beaglebone/config/images/boot-vfat.config
@@ -1,10 +1,9 @@
image @IMAGE@ {
vfat {
+ files = { @FIRMWARE_RPI2@ }
file MLO { image = "barebox-am33xx-beaglebone-mlo.img"}
+ file barebox.bin-rpi2 { image = barebox.bin-rpi2 }
file barebox.bin { image = "barebox-am33xx-beaglebone.img" }
- file barebox.env { image = "barebox-default-environment" }
- file am335x-bone.dtb { image = "am335x-bone.dtb" }
- file linuximage { image = "linuximage" }
}
name = boot-mlo
size = 32M
diff --git a/configs/platform-beaglebone/kernelconfig b/configs/platform-beaglebone/kernelconfig
index 40fbbb0..cfa2f95 100644
--- a/configs/platform-beaglebone/kernelconfig
+++ b/configs/platform-beaglebone/kernelconfig
@@ -29,7 +29,6 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#
-CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
@@ -76,6 +75,8 @@ CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
#
# Timers subsystem
@@ -84,6 +85,7 @@ CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
@@ -99,17 +101,18 @@ CONFIG_TICK_CPU_ACCOUNTING=y
#
# RCU Subsystem
#
-CONFIG_TINY_RCU=y
+CONFIG_TREE_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
-# CONFIG_RCU_STALL_COMMON is not set
+CONFIG_RCU_STALL_COMMON=y
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
@@ -187,6 +190,7 @@ CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
+CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
@@ -279,6 +283,9 @@ CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_FREEZER=y
#
@@ -323,7 +330,27 @@ CONFIG_ARCH_MULTI_V6_V7=y
# CONFIG_ARCH_ALPINE is not set
# CONFIG_ARCH_ARTPEC is not set
# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCM is not set
+CONFIG_ARCH_BCM=y
+
+#
+# IPROC architected SoCs
+#
+# CONFIG_ARCH_BCM_CYGNUS is not set
+# CONFIG_ARCH_BCM_NSP is not set
+# CONFIG_ARCH_BCM_5301X is not set
+
+#
+# KONA architected SoCs
+#
+# CONFIG_ARCH_BCM_281XX is not set
+# CONFIG_ARCH_BCM_21664 is not set
+
+#
+# Other Architectures
+#
+CONFIG_ARCH_BCM2835=y
+# CONFIG_ARCH_BCM_63XX is not set
+# CONFIG_ARCH_BRCMSTB is not set
# CONFIG_ARCH_BERLIN is not set
# CONFIG_ARCH_DIGICOLOR is not set
# CONFIG_ARCH_HIGHBANK is not set
@@ -418,10 +445,9 @@ CONFIG_CPU_CP15_MMU=y
CONFIG_ARM_THUMB=y
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_VIRT_EXT=y
-# CONFIG_SWP_EMULATE is not set
+CONFIG_SWP_EMULATE=y
# CONFIG_CPU_BIG_ENDIAN is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_BPREDICT_DISABLE is not set
CONFIG_KUSER_HELPERS=y
CONFIG_VDSO=y
@@ -442,9 +468,13 @@ CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_ALIGN_RODATA=y
CONFIG_MULTI_IRQ_HANDLER=y
CONFIG_ARM_ERRATA_430973=y
+CONFIG_ARM_ERRATA_643719=y
CONFIG_ARM_ERRATA_720789=y
CONFIG_ARM_ERRATA_754322=y
+# CONFIG_ARM_ERRATA_754327 is not set
+# CONFIG_ARM_ERRATA_764369 is not set
CONFIG_ARM_ERRATA_775420=y
+# CONFIG_ARM_ERRATA_798181 is not set
# CONFIG_ARM_ERRATA_773022 is not set
CONFIG_ICST=y
@@ -460,13 +490,23 @@ CONFIG_ICST=y
# Kernel Features
#
CONFIG_HAVE_SMP=y
-# CONFIG_SMP is not set
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+# CONFIG_SCHED_MC is not set
+# CONFIG_SCHED_SMT is not set
+CONFIG_HAVE_ARM_SCU=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
+CONFIG_HAVE_ARM_TWD=y
+# CONFIG_MCPM is not set
+# CONFIG_BIG_LITTLE is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_NR_CPUS=4
+CONFIG_HOTPLUG_CPU=y
# CONFIG_ARM_PSCI is not set
CONFIG_ARCH_NR_GPIO=0
CONFIG_PREEMPT_NONE=y
@@ -509,7 +549,6 @@ CONFIG_ZONE_DMA_FLAG=0
CONFIG_BOUNCE=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
CONFIG_CMA=y
@@ -571,6 +610,7 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
# CPU frequency scaling drivers
#
CONFIG_CPUFREQ_DT=y
+# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
# CONFIG_QORIQ_CPUFREQ is not set
@@ -618,6 +658,7 @@ CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
# CONFIG_HIBERNATION is not set
CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
@@ -625,7 +666,10 @@ CONFIG_PM=y
# CONFIG_APM_EMULATION is not set
CONFIG_PM_OPP=y
CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
CONFIG_CPU_PM=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARM_CPU_SUSPEND=y
@@ -766,12 +810,16 @@ CONFIG_DNS_RESOLVER=y
# CONFIG_HSR is not set
# CONFIG_NET_SWITCHDEV is not set
# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
# CONFIG_SOCK_CGROUP_DATA is not set
# CONFIG_CGROUP_NET_PRIO is not set
# CONFIG_CGROUP_NET_CLASSID is not set
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
# CONFIG_BPF_JIT is not set
+CONFIG_NET_FLOW_LIMIT=y
#
# Network testing
@@ -1077,6 +1125,7 @@ CONFIG_HAVE_PATA_PLATFORM=y
# CONFIG_ATA is not set
# CONFIG_MD is not set
CONFIG_NETDEVICES=y
+CONFIG_MII=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
@@ -1178,10 +1227,40 @@ CONFIG_PHYLIB=y
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
-
-#
-# Host-side USB support is needed for USB Network Adapter support
-#
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=y
+# CONFIG_USB_NET_AX8817X is not set
+# CONFIG_USB_NET_AX88179_178A is not set
+# CONFIG_USB_NET_CDCETHER is not set
+# CONFIG_USB_NET_CDC_EEM is not set
+# CONFIG_USB_NET_CDC_NCM is not set
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+CONFIG_USB_NET_SMSC95XX=y
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_NET_CH9200 is not set
# CONFIG_WLAN is not set
#
@@ -1293,6 +1372,7 @@ CONFIG_SERIAL_OMAP_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HW_RANDOM_BCM2835=y
CONFIG_HW_RANDOM_OMAP=y
# CONFIG_HW_RANDOM_VIRTIO is not set
# CONFIG_R3964 is not set
@@ -1317,6 +1397,7 @@ CONFIG_I2C_HELPER_AUTO=y
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_BCM2835=y
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_EMEV2 is not set
@@ -1334,8 +1415,11 @@ CONFIG_I2C_OMAP=y
#
# External I2C/SMBus adapter drivers
#
+# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
@@ -1354,6 +1438,8 @@ CONFIG_SPI_MASTER=y
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BCM2835=y
+# CONFIG_SPI_BCM2835AUX is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DESIGNWARE is not set
@@ -1414,6 +1500,7 @@ CONFIG_GENERIC_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_PALMAS is not set
+CONFIG_PINCTRL_BCM2835=y
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
@@ -1475,6 +1562,10 @@ CONFIG_GPIO_TWL4030=y
# SPI or I2C GPIO expanders
#
# CONFIG_GPIO_MCP23S08 is not set
+
+#
+# USB GPIO expanders
+#
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
@@ -1532,7 +1623,13 @@ CONFIG_WATCHDOG_CORE=y
CONFIG_OMAP_WATCHDOG=y
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
+CONFIG_BCM2835_WDT=y
# CONFIG_MEN_A21_WDT is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
@@ -1568,6 +1665,7 @@ CONFIG_MFD_CORE=y
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_HI6421_PMIC is not set
@@ -1590,10 +1688,12 @@ CONFIG_MFD_CORE=y
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_PM8921_CORE is not set
# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
@@ -1670,6 +1770,7 @@ CONFIG_REGULATOR_PBIAS=y
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88090 is not set
+# CONFIG_REGULATOR_PWM is not set
CONFIG_REGULATOR_TI_ABB=y
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -1725,6 +1826,7 @@ CONFIG_HID=y
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CORSAIR is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
@@ -1773,6 +1875,18 @@ CONFIG_HID=y
# CONFIG_HID_SENSOR_HUB is not set
#
+# USB HID support
+#
+# CONFIG_USB_HID is not set
+# CONFIG_HID_PID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+
+#
# I2C HID support
#
# CONFIG_I2C_HID is not set
@@ -1780,11 +1894,118 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
-# CONFIG_USB is not set
+CONFIG_USB=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_USB_MON is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_XHCI_HCD is not set
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USBIP_CORE is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_HOST=y
+
+#
+# Platform Glue Layer
+#
+# CONFIG_USB_MUSB_TUSB6010 is not set
+# CONFIG_USB_MUSB_OMAP2PLUS is not set
+CONFIG_USB_MUSB_AM35X=y
+# CONFIG_USB_MUSB_DSPS is not set
+
+#
+# MUSB DMA mode
+#
+# CONFIG_MUSB_PIO_ONLY is not set
+# CONFIG_USB_TI_CPPI41_DMA is not set
+# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC2=y
+CONFIG_USB_DWC2_HOST=y
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+# CONFIG_USB_ISP1760 is not set
#
# USB port drivers
#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
#
# USB Physical Layer drivers
@@ -1794,6 +2015,7 @@ CONFIG_NOP_USB_XCEIV=y
CONFIG_AM335X_CONTROL_USB=y
CONFIG_AM335X_PHY_USB=y
# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_ULPI is not set
# CONFIG_USB_GADGET is not set
# CONFIG_USB_LED_TRIG is not set
@@ -1814,10 +2036,19 @@ CONFIG_SDIO_UART=y
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_ARMMMCI=y
-# CONFIG_MMC_SDHCI is not set
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+CONFIG_MMC_SDHCI_BCM2835=y
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_IPROC is not set
CONFIG_MMC_OMAP=y
CONFIG_MMC_OMAP_HS=y
# CONFIG_MMC_DW is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
# CONFIG_MMC_USDHI6ROL0 is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MEMSTICK is not set
@@ -1843,6 +2074,7 @@ CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_LT3593 is not set
@@ -1993,6 +2225,7 @@ CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_OF=y
# CONFIG_AMBA_PL08X is not set
+CONFIG_DMA_BCM2835=y
CONFIG_DMA_OMAP=y
# CONFIG_FSL_EDMA is not set
# CONFIG_INTEL_IDMA64 is not set
@@ -2048,6 +2281,7 @@ CONFIG_CLK_VEXPRESS_OSC=y
# CONFIG_CLK_QORIQ is not set
# CONFIG_COMMON_CLK_NXP is not set
CONFIG_COMMON_CLK_PALMAS=y
+# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_PXA is not set
# CONFIG_COMMON_CLK_TI_ADPLL is not set
CONFIG_HWSPINLOCK=y
@@ -2075,7 +2309,13 @@ CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
CONFIG_CLKSRC_VERSATILE=y
-# CONFIG_MAILBOX is not set
+CONFIG_MAILBOX=y
+# CONFIG_ARM_MHU is not set
+# CONFIG_PL320_MBOX is not set
+# CONFIG_OMAP2PLUS_MBOX is not set
+# CONFIG_ALTERA_MBOX is not set
+CONFIG_BCM2835_MBOX=y
+# CONFIG_MAILBOX_TEST is not set
# CONFIG_IOMMU_SUPPORT is not set
#
@@ -2092,6 +2332,7 @@ CONFIG_WKUP_M3_RPROC=y
#
# SOC (System On Chip) specific Drivers
#
+CONFIG_RASPBERRYPI_POWER=y
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SUNXI_SRAM is not set
CONFIG_SOC_TI=y
@@ -2116,7 +2357,16 @@ CONFIG_TI_EMIF=y
CONFIG_OMAP_GPMC=y
# CONFIG_OMAP_GPMC_DEBUG is not set
# CONFIG_IIO is not set
-# CONFIG_PWM is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_BCM2835=y
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_OMAP_DMTIMER is not set
+# CONFIG_PWM_PCA9685 is not set
+# CONFIG_PWM_TIECAP is not set
+# CONFIG_PWM_TIEHRPWM is not set
+# CONFIG_PWM_TWL is not set
+# CONFIG_PWM_TWL_LED is not set
CONFIG_IRQCHIP=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GIC_MAX_NR=1
@@ -2136,6 +2386,7 @@ CONFIG_OMAP_IRQCHIP=y
# CONFIG_OMAP_USB2 is not set
# CONFIG_TI_PIPE3 is not set
# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_PHY_SAMSUNG_USB2 is not set
# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set
@@ -2162,6 +2413,7 @@ CONFIG_ARM_PMU=y
# Firmware Drivers
#
# CONFIG_FIRMWARE_MEMMAP is not set
+CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_HAVE_ARM_SMCCC=y
#
@@ -2377,6 +2629,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_SHIRQ is not set
@@ -2425,10 +2678,12 @@ CONFIG_STACKTRACE=y
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_TORTURE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
@@ -2509,6 +2764,7 @@ CONFIG_CRYPTO_HASH2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_PCRYPT is not set
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_MCRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
@@ -2650,6 +2906,7 @@ CONFIG_BCH=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_DMA=y
+CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
diff --git a/configs/platform-beaglebone/patches/barebox-2016.05.0/0001-rpi2-add-basic-boot-spec-devicetree-support.patch b/configs/platform-beaglebone/patches/barebox-2016.05.0/0001-rpi2-add-basic-boot-spec-devicetree-support.patch
new file mode 100644
index 0000000..80a3e7e
--- /dev/null
+++ b/configs/platform-beaglebone/patches/barebox-2016.05.0/0001-rpi2-add-basic-boot-spec-devicetree-support.patch
@@ -0,0 +1,462 @@
+From: Alexander Aring <aar@pengutronix.de>
+Date: Thu, 9 Jun 2016 11:26:03 +0200
+Subject: [PATCH] rpi2: add basic boot-spec devicetree support
+
+Signed-off-by: Alexander Aring <aar@pengutronix.de>
+---
+ arch/arm/dts/Makefile | 1 +
+ arch/arm/dts/bcm2835-rpi.dtsi | 60 +++++++++++
+ arch/arm/dts/bcm2836-rpi-2-b.dts | 35 +++++++
+ arch/arm/dts/bcm2836.dtsi | 78 ++++++++++++++
+ arch/arm/dts/bcm283x.dtsi | 212 +++++++++++++++++++++++++++++++++++++++
+ arch/arm/mach-bcm283x/core.c | 4 +-
+ 6 files changed, 389 insertions(+), 1 deletion(-)
+ create mode 100644 arch/arm/dts/bcm2835-rpi.dtsi
+ create mode 100644 arch/arm/dts/bcm2836-rpi-2-b.dts
+ create mode 100644 arch/arm/dts/bcm2836.dtsi
+ create mode 100644 arch/arm/dts/bcm283x.dtsi
+
+diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
+index b83c1109ef39..960d8aac3933 100644
+--- a/arch/arm/dts/Makefile
++++ b/arch/arm/dts/Makefile
+@@ -9,6 +9,7 @@ obj- += dummy.o
+
+ pbl-dtb-$(CONFIG_MACH_AFI_GF) += am335x-afi-gf.dtb.o
+ pbl-dtb-$(CONFIG_MACH_BEAGLEBONE) += am335x-bone.dtb.o am335x-boneblack.dtb.o am335x-bone-common.dtb.o
++pbl-dtb-$(CONFIG_MACH_RPI2) += bcm2836-rpi-2-b.dtb.o
+ pbl-dtb-$(CONFIG_MACH_CM_FX6) += imx6dl-cm-fx6.dtb.o imx6q-cm-fx6.dtb.o imx6q-utilite.dtb.o
+ pbl-dtb-$(CONFIG_MACH_DFI_FS700_M60) += imx6q-dfi-fs700-m60-6q.dtb.o imx6dl-dfi-fs700-m60-6s.dtb.o
+ pbl-dtb-$(CONFIG_MACH_DUCKBILL) += imx28-duckbill.dtb.o
+diff --git a/arch/arm/dts/bcm2835-rpi.dtsi b/arch/arm/dts/bcm2835-rpi.dtsi
+new file mode 100644
+index 000000000000..3afb9fefe2d1
+--- /dev/null
++++ b/arch/arm/dts/bcm2835-rpi.dtsi
+@@ -0,0 +1,60 @@
++/ {
++ memory {
++ reg = <0 0x10000000>;
++ };
++
++ leds {
++ compatible = "gpio-leds";
++
++ act {
++ label = "ACT";
++ default-state = "keep";
++ linux,default-trigger = "heartbeat";
++ };
++ };
++
++ soc {
++ firmware: firmware {
++ compatible = "raspberrypi,bcm2835-firmware";
++ mboxes = <&mailbox>;
++ };
++ };
++};
++
++&gpio {
++ pinctrl-names = "default";
++
++ gpioout: gpioout {
++ brcm,pins = <6>;
++ brcm,function = <BCM2835_FSEL_GPIO_OUT>;
++ };
++
++ alt0: alt0 {
++ brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
++ brcm,function = <BCM2835_FSEL_ALT0>;
++ };
++
++ alt3: alt3 {
++ brcm,pins = <48 49 50 51 52 53>;
++ brcm,function = <BCM2835_FSEL_ALT3>;
++ };
++};
++
++&i2c0 {
++ status = "okay";
++ clock-frequency = <100000>;
++};
++
++&i2c1 {
++ status = "okay";
++ clock-frequency = <100000>;
++};
++
++&i2c2 {
++ status = "okay";
++};
++
++&sdhci {
++ status = "okay";
++ bus-width = <4>;
++};
+diff --git a/arch/arm/dts/bcm2836-rpi-2-b.dts b/arch/arm/dts/bcm2836-rpi-2-b.dts
+new file mode 100644
+index 000000000000..ff946661bd13
+--- /dev/null
++++ b/arch/arm/dts/bcm2836-rpi-2-b.dts
+@@ -0,0 +1,35 @@
++/dts-v1/;
++#include "bcm2836.dtsi"
++#include "bcm2835-rpi.dtsi"
++
++/ {
++ compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
++ model = "Raspberry Pi 2 Model B";
++
++ memory {
++ reg = <0 0x40000000>;
++ };
++
++ leds {
++ act {
++ gpios = <&gpio 47 0>;
++ };
++
++ pwr {
++ label = "PWR";
++ gpios = <&gpio 35 0>;
++ default-state = "keep";
++ linux,default-trigger = "default-on";
++ };
++ };
++};
++
++&gpio {
++ pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
++
++ /* I2S interface */
++ i2s_alt0: i2s_alt0 {
++ brcm,pins = <18 19 20 21>;
++ brcm,function = <BCM2835_FSEL_ALT0>;
++ };
++};
+diff --git a/arch/arm/dts/bcm2836.dtsi b/arch/arm/dts/bcm2836.dtsi
+new file mode 100644
+index 000000000000..9d0651d8f373
+--- /dev/null
++++ b/arch/arm/dts/bcm2836.dtsi
+@@ -0,0 +1,78 @@
++#include "bcm283x.dtsi"
++
++/ {
++ compatible = "brcm,bcm2836";
++
++ soc {
++ ranges = <0x7e000000 0x3f000000 0x1000000>,
++ <0x40000000 0x40000000 0x00001000>;
++ dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
++
++ local_intc: local_intc {
++ compatible = "brcm,bcm2836-l1-intc";
++ reg = <0x40000000 0x100>;
++ interrupt-controller;
++ #interrupt-cells = <1>;
++ interrupt-parent = <&local_intc>;
++ };
++
++ arm-pmu {
++ compatible = "arm,cortex-a7-pmu";
++ interrupt-parent = <&local_intc>;
++ interrupts = <9>;
++ };
++ };
++
++ timer {
++ compatible = "arm,armv7-timer";
++ interrupt-parent = <&local_intc>;
++ interrupts = <0>, // PHYS_SECURE_PPI
++ <1>, // PHYS_NONSECURE_PPI
++ <3>, // VIRT_PPI
++ <2>; // HYP_PPI
++ always-on;
++ };
++
++ cpus: cpus {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ v7_cpu0: cpu@0 {
++ device_type = "cpu";
++ compatible = "arm,cortex-a7";
++ reg = <0xf00>;
++ clock-frequency = <800000000>;
++ };
++
++ v7_cpu1: cpu@1 {
++ device_type = "cpu";
++ compatible = "arm,cortex-a7";
++ reg = <0xf01>;
++ clock-frequency = <800000000>;
++ };
++
++ v7_cpu2: cpu@2 {
++ device_type = "cpu";
++ compatible = "arm,cortex-a7";
++ reg = <0xf02>;
++ clock-frequency = <800000000>;
++ };
++
++ v7_cpu3: cpu@3 {
++ device_type = "cpu";
++ compatible = "arm,cortex-a7";
++ reg = <0xf03>;
++ clock-frequency = <800000000>;
++ };
++ };
++};
++
++/* Make the BCM2835-style global interrupt controller be a child of the
++ * CPU-local interrupt controller.
++ */
++&intc {
++ compatible = "brcm,bcm2836-armctrl-ic";
++ reg = <0x7e00b200 0x200>;
++ interrupt-parent = <&local_intc>;
++ interrupts = <8>;
++};
+diff --git a/arch/arm/dts/bcm283x.dtsi b/arch/arm/dts/bcm283x.dtsi
+new file mode 100644
+index 000000000000..971e741e5467
+--- /dev/null
++++ b/arch/arm/dts/bcm283x.dtsi
+@@ -0,0 +1,212 @@
++#include <dt-bindings/pinctrl/bcm2835.h>
++#include <dt-bindings/clock/bcm2835.h>
++#include "skeleton.dtsi"
++
++/* This include file covers the common peripherals and configuration between
++ * bcm2835 and bcm2836 implementations, leaving the CPU configuration to
++ * bcm2835.dtsi and bcm2836.dtsi.
++ */
++
++/ {
++ compatible = "brcm,bcm2835";
++ model = "BCM2835";
++ interrupt-parent = <&intc>;
++
++ chosen {
++ bootargs = "earlyprintk console=ttyAMA0";
++ };
++
++ soc {
++ compatible = "simple-bus";
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ timer@7e003000 {
++ compatible = "brcm,bcm2835-system-timer";
++ reg = <0x7e003000 0x1000>;
++ interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
++ /* This could be a reference to BCM2835_CLOCK_TIMER,
++ * but we don't have the driver using the common clock
++ * support yet.
++ */
++ clock-frequency = <1000000>;
++ };
++
++ dma: dma@7e007000 {
++ compatible = "brcm,bcm2835-dma";
++ reg = <0x7e007000 0xf00>;
++ interrupts = <1 16>,
++ <1 17>,
++ <1 18>,
++ <1 19>,
++ <1 20>,
++ <1 21>,
++ <1 22>,
++ <1 23>,
++ <1 24>,
++ <1 25>,
++ <1 26>,
++ <1 27>,
++ <1 28>;
++
++ #dma-cells = <1>;
++ brcm,dma-channel-mask = <0x7f35>;
++ };
++
++ intc: interrupt-controller@7e00b200 {
++ compatible = "brcm,bcm2835-armctrl-ic";
++ reg = <0x7e00b200 0x200>;
++ interrupt-controller;
++ #interrupt-cells = <2>;
++ };
++
++ watchdog@7e100000 {
++ compatible = "brcm,bcm2835-pm-wdt";
++ reg = <0x7e100000 0x28>;
++ };
++
++ clocks: cprman@7e101000 {
++ compatible = "brcm,bcm2835-cprman";
++ #clock-cells = <1>;
++ reg = <0x7e101000 0x2000>;
++
++ /* CPRMAN derives everything from the platform's
++ * oscillator.
++ */
++ clocks = <&clk_osc>;
++ };
++
++ rng@7e104000 {
++ compatible = "brcm,bcm2835-rng";
++ reg = <0x7e104000 0x10>;
++ };
++
++ mailbox: mailbox@7e00b800 {
++ compatible = "brcm,bcm2835-mbox";
++ reg = <0x7e00b880 0x40>;
++ interrupts = <0 1>;
++ #mbox-cells = <0>;
++ };
++
++ gpio: gpio@7e200000 {
++ compatible = "brcm,bcm2835-gpio";
++ reg = <0x7e200000 0xb4>;
++ /*
++ * The GPIO IP block is designed for 3 banks of GPIOs.
++ * Each bank has a GPIO interrupt for itself.
++ * There is an overall "any bank" interrupt.
++ * In order, these are GIC interrupts 17, 18, 19, 20.
++ * Since the BCM2835 only has 2 banks, the 2nd bank
++ * interrupt output appears to be mirrored onto the
++ * 3rd bank's interrupt signal.
++ * So, a bank0 interrupt shows up on 17, 20, and
++ * a bank1 interrupt shows up on 18, 19, 20!
++ */
++ interrupts = <2 17>, <2 18>, <2 19>, <2 20>;
++
++ gpio-controller;
++ #gpio-cells = <2>;
++
++ interrupt-controller;
++ #interrupt-cells = <2>;
++ };
++
++ uart0: uart@7e201000 {
++ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
++ reg = <0x7e201000 0x1000>;
++ interrupts = <2 25>;
++ clocks = <&clocks BCM2835_CLOCK_UART>,
++ <&clocks BCM2835_CLOCK_VPU>;
++ clock-names = "uartclk", "apb_pclk";
++ arm,primecell-periphid = <0x00241011>;
++ };
++
++ i2s: i2s@7e203000 {
++ compatible = "brcm,bcm2835-i2s";
++ reg = <0x7e203000 0x20>,
++ <0x7e101098 0x02>;
++
++ dmas = <&dma 2>,
++ <&dma 3>;
++ dma-names = "tx", "rx";
++ status = "disabled";
++ };
++
++ spi: spi@7e204000 {
++ compatible = "brcm,bcm2835-spi";
++ reg = <0x7e204000 0x1000>;
++ interrupts = <2 22>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c0: i2c@7e205000 {
++ compatible = "brcm,bcm2835-i2c";
++ reg = <0x7e205000 0x1000>;
++ interrupts = <2 21>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ aux: aux@0x7e215000 {
++ compatible = "brcm,bcm2835-aux";
++ #clock-cells = <1>;
++ reg = <0x7e215000 0x8>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ };
++
++ sdhci: sdhci@7e300000 {
++ compatible = "brcm,bcm2835-sdhci";
++ reg = <0x7e300000 0x100>;
++ interrupts = <2 30>;
++ clocks = <&clocks BCM2835_CLOCK_EMMC>;
++ status = "disabled";
++ };
++
++ i2c1: i2c@7e804000 {
++ compatible = "brcm,bcm2835-i2c";
++ reg = <0x7e804000 0x1000>;
++ interrupts = <2 21>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c2: i2c@7e805000 {
++ compatible = "brcm,bcm2835-i2c";
++ reg = <0x7e805000 0x1000>;
++ interrupts = <2 21>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ usb@7e980000 {
++ compatible = "brcm,bcm2835-usb";
++ reg = <0x7e980000 0x10000>;
++ interrupts = <1 9>;
++ };
++ };
++
++ clocks {
++ compatible = "simple-bus";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ /* The oscillator is the root of the clock tree. */
++ clk_osc: clock@3 {
++ compatible = "fixed-clock";
++ reg = <3>;
++ #clock-cells = <0>;
++ clock-output-names = "osc";
++ clock-frequency = <19200000>;
++ };
++
++ };
++};
+diff --git a/arch/arm/mach-bcm283x/core.c b/arch/arm/mach-bcm283x/core.c
+index 64f37813883a..f11221dd6685 100644
+--- a/arch/arm/mach-bcm283x/core.c
++++ b/arch/arm/mach-bcm283x/core.c
+@@ -42,15 +42,17 @@ static int bcm2835_clk_init(void)
+
+ clk = clk_fixed("uart0-pl0110", 3 * 1000 * 1000);
+ clk_register_clkdev(clk, NULL, "uart0-pl0110");
++ clk_register_clkdev(clk, NULL, "3f201000.uart");
+
+ clk = clk_fixed("bcm2835-cs", 1 * 1000 * 1000);
+ clk_register_clkdev(clk, NULL, "bcm2835-cs");
++ clk_register_clkdev(clk, NULL, "3f003000.timer");
+
+ add_generic_device("bcm2835-cs", DEVICE_ID_SINGLE, NULL, BCM2835_ST_BASE, 0x1C, IORESOURCE_MEM, NULL);
+
+ return 0;
+ }
+-postcore_initcall(bcm2835_clk_init);
++pure_initcall(bcm2835_clk_init);
+
+ void bcm2835_register_uart(void)
+ {
diff --git a/configs/platform-beaglebone/patches/barebox-2016.05.0/series b/configs/platform-beaglebone/patches/barebox-2016.05.0/series
new file mode 100644
index 0000000..4d9f4bb
--- /dev/null
+++ b/configs/platform-beaglebone/patches/barebox-2016.05.0/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-rpi2-add-basic-boot-spec-devicetree-support.patch
+# 2fdb3844fc484e4f632ef414cb950380 - git-ptx-patches magic
diff --git a/configs/platform-beaglebone/platformconfig b/configs/platform-beaglebone/platformconfig
index 326d3a9..885fd78 100644
--- a/configs/platform-beaglebone/platformconfig
+++ b/configs/platform-beaglebone/platformconfig
@@ -67,7 +67,7 @@ PTXCONF_CROSSCHAIN_CHECK="4.9.2"
PTXCONF_LIBC_GLIBC=y
# PTXCONF_LIBC_UCLIBC is not set
PTXCONF_GLIBC_VERSION="2.20"
-PTXCONF_GNU_TARGET="arm-cortexa8-linux-gnueabihf"
+PTXCONF_GNU_TARGET="arm-v7a-linux-gnueabihf"
PTXCONF_COMPILER_PREFIX="${PTXCONF_GNU_TARGET}-"
PTXCONF_COMPILER_PREFIX_KERNEL="${PTXCONF_COMPILER_PREFIX}"
PTXCONF_COMPILER_PREFIX_BOOTLOADER="${PTXCONF_COMPILER_PREFIX}"
@@ -133,7 +133,7 @@ PTXCONF_KERNEL_EXTRA_MAKEVARS="CONFIG_DEBUG_SECTION_MISMATCH=y"
PTXCONF_DTC=y
PTXCONF_DTC_INSTALL_OFTREE=y
PTXCONF_DTC_OFTREE_DTS_PATH="${KERNEL_DIR}/arch/${PTXCONF_KERNEL_ARCH_STRING}/boot/dts"
-PTXCONF_DTC_OFTREE_DTS="am335x-bone.dts vexpress-v2p-ca9.dts"
+PTXCONF_DTC_OFTREE_DTS="am335x-bone.dts am335x-boneblack.dts vexpress-v2p-ca9.dts bcm2836-rpi-2-b.dts"
PTXCONF_DTC_KERNEL=y
PTXCONF_DTC_EXTRA_ARGS=""
@@ -152,6 +152,7 @@ PTXCONF_CONSOLE_SPEED="115200"
#
# PTXCONF_AT91BOOTSTRAP is not set
# PTXCONF_AT91BOOTSTRAP2 is not set
+PTXCONF_BAREBOX_RPI2=y
PTXCONF_BAREBOX_ARCH_STRING="arm"
PTXCONF_BAREBOX=y
PTXCONF_BAREBOX_VERSION="2016.05.0"
@@ -172,6 +173,7 @@ PTXCONF_BAREBOX_MLO_VERSION="${PTXCONF_BAREBOX_VERSION}"
PTXCONF_BAREBOX_MLO_MD5="${PTXCONF_BAREBOX_MD5}"
PTXCONF_BAREBOX_MLO_ARCH_STRING="arm"
PTXCONF_BAREBOX_MLO_CONFIG="barebox_mlo.config"
+PTXCONF_BAREBOX_MLO_NEEDS_HOST_LZOP=y
PTXCONF_BOOTLOADER=y
# PTXCONF_GRUB is not set
# PTXCONF_HOST_MXS_UTILS is not set
@@ -189,6 +191,7 @@ PTXCONF_BOOTLOADER=y
PTXCONF_BLSPEC_BONEBLACK=y
PTXCONF_BLSPEC_BONEWHITE=y
# PTXCONF_BLSPEC_ENTRY is not set
+PTXCONF_BLSPEC_RPI2=y
#
# image creation options
@@ -226,8 +229,7 @@ PTXCONF_IMAGE_KERNEL_INSTALL_EARLY=y
#
# PTXCONF_IMAGE_BOOT_MLO is not set
PTXCONF_IMAGE_BOOT_VFAT=y
-PTXCONF_IMAGE_BOOT_VFAT_MLO_BAREBOX=y
-# PTXCONF_IMAGE_BOOT_VFAT_MLO_UBOOT is not set
+PTXCONF_IMAGE_BOOT_VFAT_GPU_MEM=64
PTXCONF_IMAGE_HDIMG=y
# PTXCONF_IMAGE_HDIMG_NONE is not set
# PTXCONF_IMAGE_HDIMG_BAREBOX is not set
diff --git a/configs/platform-beaglebone/platforms/barebox-rpi2.in b/configs/platform-beaglebone/platforms/barebox-rpi2.in
new file mode 100644
index 0000000..d4026ab
--- /dev/null
+++ b/configs/platform-beaglebone/platforms/barebox-rpi2.in
@@ -0,0 +1,7 @@
+## SECTION=bootloader
+
+config BAREBOX_RPI2
+ tristate
+ prompt "Barebox (rpi2)"
+ help
+ Raspberry Pi 2 support for barebox.
diff --git a/configs/platform-beaglebone/platforms/blspec-rpi2.in b/configs/platform-beaglebone/platforms/blspec-rpi2.in
new file mode 100644
index 0000000..e5b0952
--- /dev/null
+++ b/configs/platform-beaglebone/platforms/blspec-rpi2.in
@@ -0,0 +1,5 @@
+## SECTION=blspec
+
+config BLSPEC_RPI2
+ tristate
+ prompt "/loader/entries/rpi2.conf bootloader spec entry"
diff --git a/configs/platform-beaglebone/platforms/image-boot-vfat.in b/configs/platform-beaglebone/platforms/image-boot-vfat.in
new file mode 100644
index 0000000..6ac5dd9
--- /dev/null
+++ b/configs/platform-beaglebone/platforms/image-boot-vfat.in
@@ -0,0 +1,22 @@
+## SECTION=image2
+
+config IMAGE_BOOT_VFAT
+ tristate
+ select HOST_GENIMAGE
+ select HOST_MTOOLS
+ select HOST_DOSFSTOOLS
+ select KERNEL
+ prompt "Generate image/boot.vfat"
+ help
+ FIXME
+
+if IMAGE_BOOT_VFAT
+
+config IMAGE_BOOT_VFAT_GPU_MEM
+ int
+ default 64
+ prompt "GPU memory"
+ help
+ GPU memory in megabyte. Sets the memory split between the ARM
+ and GPU. ARM gets the remaining memory. Min 16.
+endif
diff --git a/configs/platform-beaglebone/projectroot/loader/entries/rpi2.conf b/configs/platform-beaglebone/projectroot/loader/entries/rpi2.conf
new file mode 100644
index 0000000..5064389
--- /dev/null
+++ b/configs/platform-beaglebone/projectroot/loader/entries/rpi2.conf
@@ -0,0 +1,5 @@
+title Raspberry Pi 2 - Pengutronix-DistroKit
+version 4.6
+options root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw ptxdist-devel
+linux /boot/zImage
+devicetree /boot/bcm2836-rpi-2-b.dtb
diff --git a/configs/platform-beaglebone/rpi-firmware/LICENCE.broadcom b/configs/platform-beaglebone/rpi-firmware/LICENCE.broadcom
new file mode 100644
index 0000000..89b5c0c
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/LICENCE.broadcom
@@ -0,0 +1,30 @@
+Copyright (c) 2006, Broadcom Corporation.
+Copyright (c) 2015, Raspberry Pi (Trading) Ltd
+All rights reserved.
+
+Redistribution. Redistribution and use in binary form, without
+modification, are permitted provided that the following conditions are
+met:
+
+* This software may only be used for the purposes of developing for,
+ running or using a Raspberry Pi device.
+* Redistributions must reproduce the above copyright notice and the
+ following disclaimer in the documentation and/or other materials
+ provided with the distribution.
+* Neither the name of Broadcom Corporation nor the names of its suppliers
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
diff --git a/configs/platform-beaglebone/rpi-firmware/bootcode.bin b/configs/platform-beaglebone/rpi-firmware/bootcode.bin
new file mode 100644
index 0000000..59c9256
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/bootcode.bin
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/config.txt b/configs/platform-beaglebone/rpi-firmware/config.txt
new file mode 100644
index 0000000..a71e4a6
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/config.txt
@@ -0,0 +1,14 @@
+# Set barebox as third state bootloader
+kernel=barebox.bin-rpi2
+# Set stdv mode to PAL (as used in Europe)
+sdtv_mode=2
+# Force the monitor to HDMI mode so that sound will be sent over HDMI cable
+hdmi_drive=2
+# Set monitor mode to DMT
+hdmi_group=1
+# Set monitor resolution to 1080p60
+hdmi_mode=16
+# No overscan
+disable_overscan=1
+# GPU memory in megabyte
+gpu_mem=@GPU_MEM@
diff --git a/configs/platform-beaglebone/rpi-firmware/fixup.dat b/configs/platform-beaglebone/rpi-firmware/fixup.dat
new file mode 100644
index 0000000..8ff5889
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/fixup.dat
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/fixup_cd.dat b/configs/platform-beaglebone/rpi-firmware/fixup_cd.dat
new file mode 100644
index 0000000..0cebf99
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/fixup_cd.dat
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/fixup_db.dat b/configs/platform-beaglebone/rpi-firmware/fixup_db.dat
new file mode 100644
index 0000000..f2ace7c
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/fixup_db.dat
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/fixup_x.dat b/configs/platform-beaglebone/rpi-firmware/fixup_x.dat
new file mode 100644
index 0000000..563a503
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/fixup_x.dat
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/start.elf b/configs/platform-beaglebone/rpi-firmware/start.elf
new file mode 100644
index 0000000..9a40ea5
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/start.elf
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/start_cd.elf b/configs/platform-beaglebone/rpi-firmware/start_cd.elf
new file mode 100644
index 0000000..2a703c4
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/start_cd.elf
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/start_db.elf b/configs/platform-beaglebone/rpi-firmware/start_db.elf
new file mode 100644
index 0000000..be0b00a
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/start_db.elf
Binary files differ
diff --git a/configs/platform-beaglebone/rpi-firmware/start_x.elf b/configs/platform-beaglebone/rpi-firmware/start_x.elf
new file mode 100644
index 0000000..63e8032
--- /dev/null
+++ b/configs/platform-beaglebone/rpi-firmware/start_x.elf
Binary files differ
diff --git a/configs/platform-beaglebone/rules/barebox-rpi2.make b/configs/platform-beaglebone/rules/barebox-rpi2.make
new file mode 100644
index 0000000..218140e
--- /dev/null
+++ b/configs/platform-beaglebone/rules/barebox-rpi2.make
@@ -0,0 +1,92 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Alexander Aring <aar@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_BAREBOX_RPI2) += barebox-rpi2
+
+#
+# Paths and names
+#
+BAREBOX_RPI2_VERSION := 2016.05.0
+BAREBOX_RPI2_MD5 :=
+BAREBOX_RPI2 := barebox-$(BAREBOX_RPI2_VERSION)
+BAREBOX_RPI2_SUFFIX := tar.bz2
+BAREBOX_RPI2_DIR := $(BUILDDIR)/barebox-rpi2-$(BAREBOX_RPI2_VERSION)
+BAREBOX_RPI2_CONFIG := $(PTXDIST_PLATFORMCONFIGDIR)/barebox-rpi2.config.$(BAREBOX_RPI2_VERSION)
+BAREBOX_RPI2_LICENSE := GPL-2.0
+BAREBOX_RPI2_URL := $(call barebox-url, BAREBOX_RPI2)
+BAREBOX_RPI2_SOURCE := $(SRCDIR)/$(BAREBOX_RPI2).$(BAREBOX_RPI2_SUFFIX)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+BAREBOX_RPI2_BLACKLIST := \
+ TARGET_HARDEN_RELRO \
+ TARGET_HARDEN_BINDNOW \
+ TARGET_HARDEN_PIE \
+ TARGET_DEBUG
+
+BAREBOX_RPI2_CONF_ENV := KCONFIG_NOTIMESTAMP=1
+BAREBOX_RPI2_CONF_OPT := $(call barebox-opts, BAREBOX_RPI2)
+
+BAREBOX_RPI2_MAKE_ENV := $(BAREBOX_RPI2_CONF_ENV)
+BAREBOX_RPI2_MAKE_OPT := $(BAREBOX_RPI2_CONF_OPT)
+
+BAREBOX_RPI2_IMAGES := barebox.bin
+BAREBOX_RPI2_IMAGES := $(addprefix $(BAREBOX_RPI2_DIR)/,$(BAREBOX_RPI2_IMAGES))
+
+ifdef PTXCONF_BAREBOX_RPI2
+$(BAREBOX_RPI2_CONFIG):
+ @echo
+ @echo "****************************************************************************"
+ @echo " Please generate a bareboxconfig with 'ptxdist menuconfig barebox-rpi2'"
+ @echo "****************************************************************************"
+ @echo
+ @echo
+ @exit 1
+endif
+
+$(STATEDIR)/barebox-rpi2.prepare: $(BAREBOX_RPI2_CONFIG)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+BAREBOX_RPI2_INSTALL_OPT := \
+ $(call barebox-opts, BAREBOX_RPI2)
+
+$(STATEDIR)/barebox-rpi2.install:
+ @$(call targetinfo)
+ @$(foreach image, $(BAREBOX_RPI2_IMAGES), \
+ install -m 644 \
+ $(image) $(IMAGEDIR)/$(notdir $(image))-rpi2;)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/barebox-rpi2.clean:
+ @$(call targetinfo)
+ @$(call clean_pkg, BAREBOX_RPI2)
+ @$(foreach image, $(BAREBOX_RPI2_IMAGES), \
+ rm -fv $(IMAGEDIR)/$(notdir $(image))-rpi2;)
+
+# ----------------------------------------------------------------------------
+# oldconfig / menuconfig
+# ----------------------------------------------------------------------------
+
+barebox-rpi2_oldconfig barebox-rpi2_menuconfig barebox-rpi2_nconfig: $(STATEDIR)/barebox-rpi2.extract
+ @$(call world/kconfig, BAREBOX_RPI2, $(subst barebox-rpi2_,,$@))
+
+# vim: syntax=make
diff --git a/configs/platform-beaglebone/rules/blspec-rpi2.make b/configs/platform-beaglebone/rules/blspec-rpi2.make
new file mode 100644
index 0000000..4013220
--- /dev/null
+++ b/configs/platform-beaglebone/rules/blspec-rpi2.make
@@ -0,0 +1,38 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Alexander Aring <aar@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_BLSPEC_RPI2) += blspec-rpi2
+
+BLSPEC_RPI2_VERSION := 4.6
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/blspec-rpi2.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, blspec-rpi2)
+ @$(call install_fixup,blspec-rpi2,PRIORITY,optional)
+ @$(call install_fixup,blspec-rpi2,SECTION,base)
+ @$(call install_fixup,blspec-rpi2,AUTHOR,"Alexander Aring <aar@pengutronix.de>")
+ @$(call install_fixup,blspec-rpi2,DESCRIPTION,missing)
+
+ @$(call install_alternative, blspec-rpi2, 0, 0, 0644, \
+ /loader/entries/rpi2.conf)
+
+ @$(call install_finish,blspec-rpi2)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/configs/platform-beaglebone/rules/image-boot-vfat.make b/configs/platform-beaglebone/rules/image-boot-vfat.make
new file mode 100644
index 0000000..185c2b7
--- /dev/null
+++ b/configs/platform-beaglebone/rules/image-boot-vfat.make
@@ -0,0 +1,49 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2012 by Michael Olbrich <m.olbrich@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+IMAGE_PACKAGES-$(PTXCONF_IMAGE_BOOT_VFAT) += image-boot-vfat
+
+#
+# Paths and names
+#
+IMAGE_BOOT_VFAT := image-boot-vfat
+IMAGE_BOOT_VFAT_DIR := $(BUILDDIR)/$(IMAGE_BOOT_VFAT)
+IMAGE_BOOT_VFAT_IMAGE := $(IMAGEDIR)/boot.vfat
+IMAGE_BOOT_VFAT_DATA := \
+ $(wildcard $(PTXDIST_PLATFORMCONFIGDIR)/rpi-firmware/*.bin) \
+ $(wildcard $(PTXDIST_PLATFORMCONFIGDIR)/rpi-firmware/*.elf) \
+ $(wildcard $(PTXDIST_PLATFORMCONFIGDIR)/rpi-firmware/*.dat) \
+ $(wildcard $(PTXDIST_PLATFORMCONFIGDIR)/rpi-firmware/config.txt)
+IMAGE_BOOT_VFAT_CONFIG := boot-vfat.config
+
+# ----------------------------------------------------------------------------
+# Image
+# ----------------------------------------------------------------------------
+
+define squote_and_comma
+$(subst $(ptx/def/space),$(comma) ,$(addsuffix $(ptx/def/squote),$(addprefix $(ptx/def/squote),$(1))))
+endef
+
+
+IMAGE_BOOT_VFAT_ENV := \
+ FIRMWARE_RPI2="$(call squote_and_comma,$(IMAGE_BOOT_VFAT_DATA))"
+
+$(IMAGE_BOOT_VFAT_IMAGE):
+ @$(call targetinfo)
+ @GPU_MEM=$(PTXCONF_IMAGE_BOOT_VFAT_GPU_MEM) \
+ ptxd_replace_magic "$(PTXDIST_PLATFORMCONFIGDIR)/rpi-firmware/config.txt" > \
+ "$(PTXDIST_TEMPDIR)/config.txt"
+ @$(call image/genimage, IMAGE_BOOT_VFAT)
+ @$(call finish)
+
+# vim: syntax=make
diff --git a/configs/platform-beaglebone/rules/post/genimage-fixup.make b/configs/platform-beaglebone/rules/post/genimage-fixup.make
index 972a63d..67c5deb 100644
--- a/configs/platform-beaglebone/rules/post/genimage-fixup.make
+++ b/configs/platform-beaglebone/rules/post/genimage-fixup.make
@@ -1 +1,3 @@
$(IMAGEDIR)/boot.vfat: $(STATEDIR)/kernel.targetinstall.post
+$(IMAGEDIR)/boot.vfat: $(STATEDIR)/barebox.targetinstall.post
+$(IMAGEDIR)/boot.vfat: $(STATEDIR)/barebox-rpi2.targetinstall.post
diff --git a/patches/genimage-5/0001-image-flash-actually-write-the-image-and-support-par.patch b/patches/genimage-5/0001-image-flash-actually-write-the-image-and-support-par.patch
deleted file mode 100644
index d6aca3b..0000000
--- a/patches/genimage-5/0001-image-flash-actually-write-the-image-and-support-par.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 3ee54067eece5d8f14bfbcab1cb4f2e717775920 Mon Sep 17 00:00:00 2001
-From: Jan Luebbe <jlu@pengutronix.de>
-Date: Wed, 1 May 2013 23:55:46 +0200
-Subject: [PATCH] image-flash: actually write the image and support partition offsets
-
-Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- image-flash.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
- 1 files changed, 51 insertions(+), 6 deletions(-)
-
-diff --git a/image-flash.c b/image-flash.c
-index 2939db7..f56cfa7 100644
---- a/image-flash.c
-+++ b/image-flash.c
-@@ -33,20 +33,37 @@ struct flash_image {
- static int flash_generate(struct image *image)
- {
- struct partition *part;
-- struct stat s;
-- int ret;
-- const char *buf;
-+ enum pad_mode mode = MODE_OVERWRITE;
-+ const char *outfile = imageoutfile(image);
-
- list_for_each_entry(part, &image->partitions, list) {
- struct image *child;
-+ const char *infile;
-+ struct stat s;
-+ int ret;
-+
-+ image_log(image, 1, "writing image partition '%s' (0x%llx@0x%llx)\n",
-+ part->name, part->size, part->offset);
-+
-+ ret = pad_file(NULL, outfile, part->offset, 0xFF, mode);
-+ if (ret) {
-+ image_error(image, "failed to pad image to size %lld\n",
-+ part->offset);
-+ return ret;
-+ }
-+ mode = MODE_APPEND;
-+
-+ if (!part->image)
-+ continue;
-
- child = image_get(part->image);
- if (!child) {
- image_error(image, "could not find %s\n", part->name);
- return -EINVAL;
- }
-- buf = imageoutfile(child);
-- ret = stat(buf, &s);
-+ infile = imageoutfile(child);
-+
-+ ret = stat(infile, &s);
- if (ret)
- return -errno;
-
-@@ -55,6 +72,13 @@ static int flash_generate(struct image *image)
- child->file, part->name, (long long)s.st_size, part->size);
- return -EINVAL;
- }
-+
-+ ret = pad_file(infile, outfile, part->size, 0xFF, mode);
-+ if (ret) {
-+ image_error(image, "failed to write image partition '%s'\n",
-+ part->name);
-+ return ret;
-+ }
- }
-
- return 0;
-@@ -88,8 +112,29 @@ static int flash_setup(struct image *image, cfg_t *cfg)
- goto err_exceed;
- part->size = flashsize - partsize;
- }
-+ if (part->size % image->flash_type->pebsize) {
-+ image_error(image, "part %s size (%lld) must be a "
-+ "multiple of erase block size (%i bytes)\n",
-+ part->name, part->size, image->flash_type->pebsize);
-+ return -EINVAL;
-+ }
-+ if (part->offset % image->flash_type->pebsize) {
-+ image_error(image, "part %s offset (%lld) must be a"
-+ "multiple of erase block size (%i bytes)\n",
-+ part->name, part->offset, image->flash_type->pebsize);
-+ return -EINVAL;
-+ }
-+ if (part->offset) {
-+ if (partsize > part->offset) {
-+ image_error(image, "part %s overlaps with previous partition\n",
-+ part->name);
-+ return -EINVAL;
-+ }
-+ } else {
-+ part->offset = partsize;
-+ }
-
-- partsize += part->size;
-+ partsize = part->offset + part->size;
- }
-
- if (partsize > flashsize) {
---
-1.7.2.5
-
diff --git a/patches/genimage-5/series b/patches/genimage-5/series
deleted file mode 100644
index d442cae..0000000
--- a/patches/genimage-5/series
+++ /dev/null
@@ -1 +0,0 @@
-0001-image-flash-actually-write-the-image-and-support-par.patch
diff --git a/patches/linux-2.6.32/series.i586 b/patches/linux-2.6.32/series.i586
deleted file mode 100644
index c19a46a..0000000
--- a/patches/linux-2.6.32/series.i586
+++ /dev/null
@@ -1 +0,0 @@
-version.diff
diff --git a/patches/linux-2.6.32/series.versatilepb b/patches/linux-2.6.32/series.versatilepb
deleted file mode 100644
index c19a46a..0000000
--- a/patches/linux-2.6.32/series.versatilepb
+++ /dev/null
@@ -1 +0,0 @@
-version.diff
diff --git a/patches/linux-2.6.32/version.diff b/patches/linux-2.6.32/version.diff
deleted file mode 100644
index a235798..0000000
--- a/patches/linux-2.6.32/version.diff
+++ /dev/null
@@ -1,17 +0,0 @@
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: linux-2.6.32/Makefile
-===================================================================
---- linux-2.6.32.orig/Makefile
-+++ linux-2.6.32/Makefile
-@@ -1,7 +1,7 @@
- VERSION = 2
- PATCHLEVEL = 6
- SUBLEVEL = 32
--EXTRAVERSION =
-+EXTRAVERSION = -pengutronix
- NAME = Man-Eating Seals of Antiquity
-
- # *DOCUMENTATION*
diff --git a/patches/linux-2.6.37/series.i586 b/patches/linux-2.6.37/series.i586
deleted file mode 100644
index c19a46a..0000000
--- a/patches/linux-2.6.37/series.i586
+++ /dev/null
@@ -1 +0,0 @@
-version.diff
diff --git a/patches/linux-2.6.37/series.versatilepb b/patches/linux-2.6.37/series.versatilepb
deleted file mode 100644
index c19a46a..0000000
--- a/patches/linux-2.6.37/series.versatilepb
+++ /dev/null
@@ -1 +0,0 @@
-version.diff
diff --git a/patches/linux-2.6.37/version.diff b/patches/linux-2.6.37/version.diff
deleted file mode 100644
index a135166..0000000
--- a/patches/linux-2.6.37/version.diff
+++ /dev/null
@@ -1,17 +0,0 @@
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: linux-2.6.37/Makefile
-===================================================================
---- linux-2.6.37.orig/Makefile
-+++ linux-2.6.37/Makefile
-@@ -1,7 +1,7 @@
- VERSION = 2
- PATCHLEVEL = 6
- SUBLEVEL = 37
--EXTRAVERSION =
-+EXTRAVERSION = -pengutronix
- NAME = Flesh-Eating Bats with Fangs
-
- # *DOCUMENTATION*