deleted file mode 100644
@@ -1,251 +0,0 @@
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=16
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_SLAB=y
-CONFIG_PROFILING=y
-CONFIG_KPROBES=y
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_OMAP2PLUS=y
-CONFIG_OMAP_RESET_CLOCKS=y
-CONFIG_OMAP_MUX_DEBUG=y
-CONFIG_ARCH_OMAP3=y
-CONFIG_ARCH_OMAP4=y
-CONFIG_SOC_AM43XX=y
-# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
-# CONFIG_SOC_TI81XX is not set
-# CONFIG_MACH_OMAP3_BEAGLE is not set
-# CONFIG_MACH_DEVKIT8000 is not set
-# CONFIG_MACH_OMAP_LDP is not set
-# CONFIG_MACH_OMAP3530_LV_SOM is not set
-# CONFIG_MACH_OMAP3_TORPEDO is not set
-# CONFIG_MACH_OVERO is not set
-# CONFIG_MACH_OMAP3EVM is not set
-# CONFIG_MACH_OMAP3_PANDORA is not set
-# CONFIG_MACH_TOUCHBOOK is not set
-# CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_NOKIA_RM680 is not set
-# CONFIG_MACH_NOKIA_RX51 is not set
-# CONFIG_MACH_OMAP_ZOOM2 is not set
-# CONFIG_MACH_OMAP_ZOOM3 is not set
-# CONFIG_MACH_CM_T35 is not set
-# CONFIG_MACH_CM_T3517 is not set
-# CONFIG_MACH_IGEP0020 is not set
-# CONFIG_MACH_IGEP0030 is not set
-# CONFIG_MACH_SBC3530 is not set
-# CONFIG_MACH_OMAP_3630SDP is not set
-CONFIG_ARM_THUMBEE=y
-CONFIG_HAVE_ARM_ARCH_TIMER=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-CONFIG_HIGHMEM=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"
-CONFIG_KEXEC=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_GENERIC_CPUFREQ_CPU0=y
-# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
-CONFIG_FPE_NWFPE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_BINFMT_MISC=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM_DEBUG=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM_USER=y
-CONFIG_NET_KEY=y
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-# CONFIG_INET_LRO is not set
-# CONFIG_IPV6 is not set
-# CONFIG_WIRELESS is not set
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_OMAP_OCP2SCP=y
-CONFIG_CONNECTOR=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_CROSSBAR=y
-CONFIG_EEPROM_93CX6=y
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_MD=y
-CONFIG_NETDEVICES=y
-# CONFIG_NET_VENDOR_ARC is not set
-# CONFIG_NET_CADENCE is not set
-# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_VENDOR_CIRRUS is not set
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-# CONFIG_NET_VENDOR_SMSC is not set
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_TI_CPSW=y
-CONFIG_TI_CPTS=y
-# CONFIG_NET_VENDOR_VIA is not set
-# CONFIG_NET_VENDOR_WIZNET is not set
-CONFIG_AT803X_PHY=y
-CONFIG_SMSC_PHY=y
-# CONFIG_WLAN is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-CONFIG_SERIAL_OMAP=y
-CONFIG_SERIAL_OMAP_CONSOLE=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_OMAP=y
-CONFIG_SPI=y
-CONFIG_SPI_OMAP24XX=y
-CONFIG_SPI_TI_QSPI=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_DEBUG_GPIO=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_W1=y
-CONFIG_POWER_SUPPLY=y
-CONFIG_THERMAL=y
-CONFIG_THERMAL_GOV_FAIR_SHARE=y
-CONFIG_THERMAL_GOV_USER_SPACE=y
-CONFIG_CPU_THERMAL=y
-CONFIG_TI_SOC_THERMAL=y
-CONFIG_TI_THERMAL=y
-CONFIG_WATCHDOG=y
-CONFIG_OMAP_WATCHDOG=y
-CONFIG_MFD_SYSCON=y
-CONFIG_MFD_TPS65217=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_PBIAS=y
-CONFIG_REGULATOR_TPS65023=y
-CONFIG_REGULATOR_TPS6507X=y
-CONFIG_REGULATOR_TPS65217=y
-CONFIG_REGULATOR_TIAVSCLASS0=y
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_DA8XX=y
-CONFIG_FB_DA8XX_TDA998X=y
-CONFIG_OMAP2_DSS=y
-CONFIG_OMAP2_DSS_SDI=y
-CONFIG_OMAP2_DSS_DSI=y
-CONFIG_FB_OMAP2=y
-CONFIG_DISPLAY_CONNECTOR_HDMI=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_MUSB_HDRC=m
-CONFIG_USB_MUSB_OMAP2PLUS=m
-CONFIG_USB_MUSB_DSPS=m
-CONFIG_USB_TI_CPPI41_DMA=y
-CONFIG_USB_STORAGE=y
-CONFIG_AM335X_PHY_USB=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_DEBUG=y
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_ZERO=m
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_EEM=y
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_CDC=y
-CONFIG_MMC=y
-CONFIG_MMC_UNSAFE_RESUME=y
-CONFIG_SDIO_UART=y
-CONFIG_MMC_OMAP=y
-CONFIG_MMC_OMAP_HS=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_ONESHOT=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_OMAP=y
-CONFIG_DMADEVICES=y
-CONFIG_TI_EDMA=y
-CONFIG_DMA_OMAP=y
-CONFIG_TI_CPPI41=y
-CONFIG_COMMON_CLK_DEBUG=y
-CONFIG_OMAP_USB2=y
-CONFIG_OMAP_PIPE3=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-CONFIG_QUOTA=y
-CONFIG_QFMT_V2=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DEBUG_INFO=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-CONFIG_PROVE_LOCKING=y
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_CRYPTO_MANAGER=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_DEFLATE=y
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-CONFIG_CRC_CCITT=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
-CONFIG_AVERAGE=y
deleted file mode 100644
@@ -1,34 +0,0 @@
-From 29885f2f3d700341d322274db6ad085e601c0994 Mon Sep 17 00:00:00 2001
-From: Pantelis Antoniou <panto@antoniou-consulting.com>
-Date: Fri, 4 Jan 2013 00:32:33 +0200
-Subject: [PATCH 3/3] arm: Export cache flush management symbols when
- !MULTI_CACHE
-
-When compiling a kernel without CONFIG_MULTI_CACHE enabled the
-dma access functions end up not being exported. Fix it.
-
-Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
----
- arch/arm/kernel/setup.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
-index da1d1aa..dcb678c 100644
---- a/arch/arm/kernel/setup.c
-+++ b/arch/arm/kernel/setup.c
-@@ -923,3 +923,12 @@ const struct seq_operations cpuinfo_op = {
- .stop = c_stop,
- .show = c_show
- };
-+
-+/* export the cache management functions */
-+#ifndef MULTI_CACHE
-+
-+EXPORT_SYMBOL(__glue(_CACHE,_dma_map_area));
-+EXPORT_SYMBOL(__glue(_CACHE,_dma_unmap_area));
-+EXPORT_SYMBOL(__glue(_CACHE,_dma_flush_range));
-+
-+#endif
-1.7.10.4
-
new file mode 100644
@@ -0,0 +1,754 @@
+From ef73464d93f58a2e6cb36059e7901741ea7828ef Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Fri, 6 Nov 2015 14:04:43 -0600
+Subject: [PATCH] am335x_evm: uEnv.txt, bootz, n fixes
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+---
+ arch/arm/cpu/armv7/am33xx/board.c | 36 ++++--
+ arch/arm/include/asm/omap_gpio.h | 7 +-
+ board/ti/am335x/board.c | 29 ++++-
+ board/ti/am335x/mux.c | 2 -
+ common/image.c | 9 --
+ configs/am335x_evm_defconfig | 1 -
+ drivers/gpio/omap_gpio.c | 107 ++++++++--------
+ include/configs/am335x_evm.h | 58 ++++++---
+ include/configs/ti_armv7_common.h | 249 +++++++++++++++++++++++++++++++++++++-
+ 9 files changed, 395 insertions(+), 103 deletions(-)
+
+diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c
+index bd14326..5b1eb18 100644
+--- a/arch/arm/cpu/armv7/am33xx/board.c
++++ b/arch/arm/cpu/armv7/am33xx/board.c
+@@ -70,16 +70,38 @@ U_BOOT_DEVICES(am33xx_uarts) = {
+ };
+ #endif
+
++#ifdef CONFIG_DM_GPIO
++static const struct omap_gpio_platdata am33xx_gpio[] = {
++ { 0, AM33XX_GPIO0_BASE, METHOD_GPIO_24XX },
++ { 1, AM33XX_GPIO1_BASE, METHOD_GPIO_24XX },
++ { 2, AM33XX_GPIO2_BASE, METHOD_GPIO_24XX },
++ { 3, AM33XX_GPIO3_BASE, METHOD_GPIO_24XX },
++#ifdef CONFIG_AM43XX
++ { 4, AM33XX_GPIO4_BASE, METHOD_GPIO_24XX },
++ { 5, AM33XX_GPIO5_BASE, METHOD_GPIO_24XX },
++#endif
++};
++
++U_BOOT_DEVICES(am33xx_gpios) = {
++ { "gpio_omap", &am33xx_gpio[0] },
++ { "gpio_omap", &am33xx_gpio[1] },
++ { "gpio_omap", &am33xx_gpio[2] },
++ { "gpio_omap", &am33xx_gpio[3] },
++#ifdef CONFIG_AM43XX
++ { "gpio_omap", &am33xx_gpio[4] },
++ { "gpio_omap", &am33xx_gpio[5] },
++#endif
++};
+
+-#ifndef CONFIG_DM_GPIO
++#else
+ static const struct gpio_bank gpio_bank_am33xx[] = {
+- { (void *)AM33XX_GPIO0_BASE },
+- { (void *)AM33XX_GPIO1_BASE },
+- { (void *)AM33XX_GPIO2_BASE },
+- { (void *)AM33XX_GPIO3_BASE },
++ { (void *)AM33XX_GPIO0_BASE, METHOD_GPIO_24XX },
++ { (void *)AM33XX_GPIO1_BASE, METHOD_GPIO_24XX },
++ { (void *)AM33XX_GPIO2_BASE, METHOD_GPIO_24XX },
++ { (void *)AM33XX_GPIO3_BASE, METHOD_GPIO_24XX },
+ #ifdef CONFIG_AM43XX
+- { (void *)AM33XX_GPIO4_BASE },
+- { (void *)AM33XX_GPIO5_BASE },
++ { (void *)AM33XX_GPIO4_BASE, METHOD_GPIO_24XX },
++ { (void *)AM33XX_GPIO5_BASE, METHOD_GPIO_24XX },
+ #endif
+ };
+
+diff --git a/arch/arm/include/asm/omap_gpio.h b/arch/arm/include/asm/omap_gpio.h
+index ef38b63..839af54 100644
+--- a/arch/arm/include/asm/omap_gpio.h
++++ b/arch/arm/include/asm/omap_gpio.h
+@@ -23,19 +23,24 @@
+
+ #include <asm/arch/cpu.h>
+
++enum gpio_method {
++ METHOD_GPIO_24XX = 4,
++};
++
+ #ifdef CONFIG_DM_GPIO
+
+ /* Information about a GPIO bank */
+ struct omap_gpio_platdata {
+ int bank_index;
+ ulong base; /* address of registers in physical memory */
+- const char *port_name;
++ enum gpio_method method;
+ };
+
+ #else
+
+ struct gpio_bank {
+ void *base;
++ int method;
+ };
+
+ extern const struct gpio_bank *const omap_gpio_bank;
+diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
+index 1dc2ed0..e6c5ed6 100644
+--- a/board/ti/am335x/board.c
++++ b/board/ti/am335x/board.c
+@@ -478,6 +478,24 @@ void sdram_init(void)
+ */
+ int board_init(void)
+ {
++ u32 sys_reboot;
++
++ sys_reboot = readl(PRM_RSTST);
++ if (sys_reboot & (1 << 9))
++ puts("Reset Source: IcePick reset has occurred.\n");
++
++ if (sys_reboot & (1 << 5))
++ puts("Reset Source: Global external warm reset has occurred.\n");
++
++ if (sys_reboot & (1 << 4))
++ puts("Reset Source: watchdog reset has occurred.\n");
++
++ if (sys_reboot & (1 << 1))
++ puts("Reset Source: Global warm SW reset has occurred.\n");
++
++ if (sys_reboot & (1 << 0))
++ puts("Reset Source: Power-on reset has occurred.\n");
++
+ #if defined(CONFIG_HW_WATCHDOG)
+ hw_watchdog_init();
+ #endif
+@@ -504,9 +522,14 @@ int board_late_init(void)
+ safe_string[sizeof(header.name)] = 0;
+ setenv("board_name", safe_string);
+
+- strncpy(safe_string, (char *)header.version, sizeof(header.version));
+- safe_string[sizeof(header.version)] = 0;
+- setenv("board_rev", safe_string);
++ /* BeagleBone Green has 0x1a at [0], they are free to increment 'a' */
++ if ( (header.version[0] != 0x30) && (header.version[0] & (1 << 4)) ) {
++ setenv("board_rev", "BBG1");
++ } else {
++ strncpy(safe_string, (char *)header.version, sizeof(header.version));
++ safe_string[sizeof(header.version)] = 0;
++ setenv("board_rev", safe_string);
++ }
+ #endif
+
+ return 0;
+diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
+index 680f656..fd3da58 100644
+--- a/board/ti/am335x/mux.c
++++ b/board/ti/am335x/mux.c
+@@ -317,7 +317,6 @@ void enable_board_pin_mux(struct am335x_baseboard_id *header)
+ /* Do board-specific muxes. */
+ if (board_is_bone(header)) {
+ /* Beaglebone pinmux */
+- configure_module_pin_mux(i2c1_pin_mux);
+ configure_module_pin_mux(mii1_pin_mux);
+ configure_module_pin_mux(mmc0_pin_mux);
+ #if defined(CONFIG_NAND)
+@@ -356,7 +355,6 @@ void enable_board_pin_mux(struct am335x_baseboard_id *header)
+ configure_module_pin_mux(mmc0_pin_mux_sk_evm);
+ } else if (board_is_bone_lt(header)) {
+ /* Beaglebone LT pinmux */
+- configure_module_pin_mux(i2c1_pin_mux);
+ configure_module_pin_mux(mii1_pin_mux);
+ configure_module_pin_mux(mmc0_pin_mux);
+ #if defined(CONFIG_NAND) && defined(CONFIG_EMMC_BOOT)
+diff --git a/common/image.c b/common/image.c
+index e607109..c33749d 100644
+--- a/common/image.c
++++ b/common/image.c
+@@ -908,15 +908,6 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
+ *rd_start = 0;
+ *rd_end = 0;
+
+-#ifdef CONFIG_ANDROID_BOOT_IMAGE
+- /*
+- * Look for an Android boot image.
+- */
+- buf = map_sysmem(images->os.start, 0);
+- if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
+- select = argv[0];
+-#endif
+-
+ if (argc >= 2)
+ select = argv[1];
+
+diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
+index 96599c6..9e8c010 100644
+--- a/configs/am335x_evm_defconfig
++++ b/configs/am335x_evm_defconfig
+@@ -3,7 +3,6 @@ CONFIG_TARGET_AM335X_EVM=y
+ CONFIG_SPL=y
+ CONFIG_SPL_STACK_R=y
+ CONFIG_SPL_STACK_R_ADDR=0x82000000
+-CONFIG_SYS_EXTRA_OPTIONS="NAND"
+ # CONFIG_CMD_IMLS is not set
+ # CONFIG_CMD_FLASH is not set
+ # CONFIG_CMD_SETEXPR is not set
+diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
+index cd960dc..0a1e124 100644
+--- a/drivers/gpio/omap_gpio.c
++++ b/drivers/gpio/omap_gpio.c
+@@ -20,13 +20,9 @@
+ */
+ #include <common.h>
+ #include <dm.h>
+-#include <fdtdec.h>
+ #include <asm/gpio.h>
+ #include <asm/io.h>
+ #include <asm/errno.h>
+-#include <malloc.h>
+-
+-DECLARE_GLOBAL_DATA_PTR;
+
+ #define OMAP_GPIO_DIR_OUT 0
+ #define OMAP_GPIO_DIR_IN 1
+@@ -38,6 +34,7 @@ DECLARE_GLOBAL_DATA_PTR;
+ struct gpio_bank {
+ /* TODO(sjg@chromium.org): Can we use a struct here? */
+ void *base; /* address of registers in physical memory */
++ enum gpio_method method;
+ };
+
+ #endif
+@@ -58,8 +55,13 @@ static void _set_gpio_direction(const struct gpio_bank *bank, int gpio,
+ void *reg = bank->base;
+ u32 l;
+
+- reg += OMAP_GPIO_OE;
+-
++ switch (bank->method) {
++ case METHOD_GPIO_24XX:
++ reg += OMAP_GPIO_OE;
++ break;
++ default:
++ return;
++ }
+ l = __raw_readl(reg);
+ if (is_input)
+ l |= 1 << gpio;
+@@ -77,7 +79,13 @@ static int _get_gpio_direction(const struct gpio_bank *bank, int gpio)
+ void *reg = bank->base;
+ u32 v;
+
+- reg += OMAP_GPIO_OE;
++ switch (bank->method) {
++ case METHOD_GPIO_24XX:
++ reg += OMAP_GPIO_OE;
++ break;
++ default:
++ return -1;
++ }
+
+ v = __raw_readl(reg);
+
+@@ -93,12 +101,19 @@ static void _set_gpio_dataout(const struct gpio_bank *bank, int gpio,
+ void *reg = bank->base;
+ u32 l = 0;
+
+- if (enable)
+- reg += OMAP_GPIO_SETDATAOUT;
+- else
+- reg += OMAP_GPIO_CLEARDATAOUT;
+-
+- l = 1 << gpio;
++ switch (bank->method) {
++ case METHOD_GPIO_24XX:
++ if (enable)
++ reg += OMAP_GPIO_SETDATAOUT;
++ else
++ reg += OMAP_GPIO_CLEARDATAOUT;
++ l = 1 << gpio;
++ break;
++ default:
++ printf("omap3-gpio unknown bank method %s %d\n",
++ __FILE__, __LINE__);
++ return;
++ }
+ __raw_writel(l, reg);
+ }
+
+@@ -107,13 +122,19 @@ static int _get_gpio_value(const struct gpio_bank *bank, int gpio)
+ void *reg = bank->base;
+ int input;
+
+- input = _get_gpio_direction(bank, gpio);
+- switch (input) {
+- case OMAP_GPIO_DIR_IN:
+- reg += OMAP_GPIO_DATAIN;
+- break;
+- case OMAP_GPIO_DIR_OUT:
+- reg += OMAP_GPIO_DATAOUT;
++ switch (bank->method) {
++ case METHOD_GPIO_24XX:
++ input = _get_gpio_direction(bank, gpio);
++ switch (input) {
++ case OMAP_GPIO_DIR_IN:
++ reg += OMAP_GPIO_DATAIN;
++ break;
++ case OMAP_GPIO_DIR_OUT:
++ reg += OMAP_GPIO_DATAOUT;
++ break;
++ default:
++ return -1;
++ }
+ break;
+ default:
+ return -1;
+@@ -289,56 +310,24 @@ static int omap_gpio_probe(struct udevice *dev)
+ struct gpio_bank *bank = dev_get_priv(dev);
+ struct omap_gpio_platdata *plat = dev_get_platdata(dev);
+ struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
++ char name[18], *str;
+
+- uc_priv->bank_name = plat->port_name;
++ sprintf(name, "GPIO%d_", plat->bank_index);
++ str = strdup(name);
++ if (!str)
++ return -ENOMEM;
++ uc_priv->bank_name = str;
+ uc_priv->gpio_count = GPIO_PER_BANK;
+ bank->base = (void *)plat->base;
++ bank->method = plat->method;
+
+ return 0;
+ }
+
+-static int omap_gpio_bind(struct udevice *dev)
+-{
+- struct omap_gpio_platdata *plat = dev->platdata;
+- fdt_addr_t base_addr;
+-
+- if (plat)
+- return 0;
+-
+- base_addr = dev_get_addr(dev);
+- if (base_addr == FDT_ADDR_T_NONE)
+- return -ENODEV;
+-
+- /*
+- * TODO:
+- * When every board is converted to driver model and DT is
+- * supported, this can be done by auto-alloc feature, but
+- * not using calloc to alloc memory for platdata.
+- */
+- plat = calloc(1, sizeof(*plat));
+- if (!plat)
+- return -ENOMEM;
+-
+- plat->base = base_addr;
+- plat->port_name = fdt_get_name(gd->fdt_blob, dev->of_offset, NULL);
+- dev->platdata = plat;
+-
+- return 0;
+-}
+-
+-static const struct udevice_id omap_gpio_ids[] = {
+- { .compatible = "ti,omap3-gpio" },
+- { .compatible = "ti,omap4-gpio" },
+- { .compatible = "ti,am4372-gpio" },
+- { }
+-};
+-
+ U_BOOT_DRIVER(gpio_omap) = {
+ .name = "gpio_omap",
+ .id = UCLASS_GPIO,
+ .ops = &gpio_omap_ops,
+- .of_match = omap_gpio_ids,
+- .bind = omap_gpio_bind,
+ .probe = omap_gpio_probe,
+ .priv_auto_alloc_size = sizeof(struct gpio_bank),
+ };
+diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
+index 3cf768e..d3f8a23 100644
+--- a/include/configs/am335x_evm.h
++++ b/include/configs/am335x_evm.h
+@@ -17,6 +17,7 @@
+ #define __CONFIG_AM335X_EVM_H
+
+ #include <configs/ti_am335x_common.h>
++#define CONFIG_ENV_IS_NOWHERE
+
+ #ifndef CONFIG_SPL_BUILD
+ #ifndef CONFIG_FIT
+@@ -93,19 +94,24 @@
+ "root=${spiroot} " \
+ "rootfstype=${spirootfstype}\0" \
+ "bootenv=uEnv.txt\0" \
+- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
+- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
++ "script=boot.scr\0" \
++ "scriptfile=${script}\0" \
++ "loadbootscript=load ${interface} ${bootpart} ${loadaddr} ${scriptfile};\0" \
++ "bootscript=echo Running bootscript from mmc${bootpart} ...; " \
+ "source ${loadaddr}\0" \
+- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
+- "importbootenv=echo Importing environment from mmc ...; " \
++ "loadbootenv=load ${interface} ${bootpart} ${loadaddr} ${bootenv}\0" \
++ "importbootenv=echo Importing environment from ${interface} ...; " \
+ "env import -t -r $loadaddr $filesize\0" \
+ "ramargs=setenv bootargs console=${console} " \
+ "${optargs} " \
+ "root=${ramroot} " \
+ "rootfstype=${ramrootfstype}\0" \
+- "loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
+- "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
+- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
++ "loadramdisk=load ${interface} ${mmcdev} ${rdaddr} ramdisk.gz\0" \
++ "loadimage=load ${interface} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
++ "loadrd=load ${interface} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \
++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${interface} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \
++ "failumsboot=echo; echo FAILSAFE: U-Boot UMS (USB Mass Storage) enabled, media now available over the usb slave port ...; " \
++ "ums 0 ${interface} 1;\0" \
+ "mmcloados=run args_mmc; " \
+ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+ "if run loadfdt; then " \
+@@ -120,8 +126,8 @@
+ "else " \
+ "bootz; " \
+ "fi;\0" \
+- "mmcboot=mmc dev ${mmcdev}; " \
+- "if mmc rescan; then " \
++ "mmcboot=${interface} dev ${mmcdev}; " \
++ "if ${interface} rescan; then " \
+ "echo SD/MMC found on device ${mmcdev};" \
+ "if run loadbootscript; then " \
+ "run bootscript;" \
+@@ -149,27 +155,44 @@
+ "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \
+ "findfdt="\
+ "if test $board_name = A335BONE; then " \
+- "setenv fdtfile am335x-bone.dtb; fi; " \
++ "setenv fdtfile am335x-bone.dtb; setenv fdtbase am335x-bone; fi; " \
+ "if test $board_name = A335BNLT; then " \
+- "setenv fdtfile am335x-boneblack.dtb; fi; " \
++ "if test $board_rev = BBG1; then " \
++ "setenv fdtfile am335x-bonegreen.dtb; setenv fdtbase am335x-bonegreen; " \
++ "elif test $board_rev = AIA0; then " \
++ "setenv fdtfile am335x-abbbi.dtb; setenv fdtbase am335x-abbbi; " \
++ "else " \
++ "setenv fdtfile am335x-boneblack.dtb; setenv fdtbase am335x-boneblack; " \
++ "fi; " \
++ "fi; " \
+ "if test $board_name = A33515BB; then " \
+ "setenv fdtfile am335x-evm.dtb; fi; " \
+ "if test $board_name = A335X_SK; then " \
+ "setenv fdtfile am335x-evmsk.dtb; fi; " \
+ "if test $fdtfile = undefined; then " \
+ "echo WARNING: Could not determine device tree to use; fi; \0" \
++ EEWIKI_NFS \
++ EEWIKI_BOOT \
++ EEWIKI_UNAME_BOOT \
+ NANDARGS \
+ NETARGS \
+ DFUARGS
+ #endif
+
+ #define CONFIG_BOOTCOMMAND \
++ "gpio set 53; " \
+ "run findfdt; " \
+- "run mmcboot;" \
++ "setenv interface mmc; " \
++ "setenv mmcdev 0; " \
++ "setenv bootpart 0:1; " \
++ "run boot;" \
++ "gpio clear 56; " \
++ "gpio clear 55; " \
++ "gpio clear 54; " \
+ "setenv mmcdev 1; " \
+- "setenv bootpart 1:2; " \
+- "run mmcboot;" \
+- "run nandboot;"
++ "setenv bootpart 1:1; " \
++ "run boot;" \
++ "run failumsboot;"
+
+ /* NS16550 Configuration */
+ #define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */
+@@ -309,9 +332,8 @@
+ #endif
+
+ #ifdef CONFIG_USB_MUSB_GADGET
+-#define CONFIG_USB_ETHER
+-#define CONFIG_USB_ETH_RNDIS
+-#define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00"
++#define CONFIG_CMD_USB_MASS_STORAGE
++#define CONFIG_USB_FUNCTION_MASS_STORAGE
+
+ /* USB TI's IDs */
+ #define CONFIG_G_DNL_VENDOR_NUM 0x0451
+diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
+index 6dc6515..8bf975b 100644
+--- a/include/configs/ti_armv7_common.h
++++ b/include/configs/ti_armv7_common.h
+@@ -61,11 +61,254 @@
+ #define DEFAULT_MMC_TI_ARGS \
+ "mmcdev=0\0" \
+ "mmcrootfstype=ext4 rootwait\0" \
+- "finduuid=part uuid mmc 0:2 uuid\0" \
++ "finduuid=part uuid ${interface} ${bootpart} uuid\0" \
+ "args_mmc=run finduuid;setenv bootargs console=${console} " \
+ "${optargs} " \
+- "root=PARTUUID=${uuid} rw " \
+- "rootfstype=${mmcrootfstype}\0"
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=PARTUUID=${uuid} ro " \
++ "rootfstype=${mmcrootfstype} " \
++ "${cmdline}\0" \
++ "args_mmc_old=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=${oldroot} ro " \
++ "rootfstype=${mmcrootfstype} " \
++ "${cmdline}\0" \
++ "args_mmc_uuid=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=UUID=${uuid} ro " \
++ "rootfstype=${mmcrootfstype} " \
++ "${cmdline}\0" \
++ "args_uenv_root=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=${uenv_root} ro " \
++ "rootfstype=${mmcrootfstype} " \
++ "${cmdline}\0" \
++ "args_netinstall=setenv bootargs ${netinstall_bootargs} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=/dev/ram rw " \
++ "${cmdline}\0"
++
++#define EEWIKI_NFS \
++ "server_ip=192.168.1.100\0" \
++ "gw_ip=192.168.1.1\0" \
++ "netmask=255.255.255.0\0" \
++ "hostname=\0" \
++ "device=eth0\0" \
++ "autoconf=off\0" \
++ "root_dir=/home/userid/targetNFS\0" \
++ "tftp_dir=\0" \
++ "nfs_options=,vers=3\0" \
++ "nfsrootfstype=ext4 rootwait fixrtc\0" \
++ "nfsargs=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=/dev/nfs rw " \
++ "rootfstype=${nfsrootfstype} " \
++ "nfsroot=${nfsroot} " \
++ "ip=${ip} " \
++ "${cmdline}\0" \
++ "nfsboot=echo Booting from ${server_ip} ...; " \
++ "setenv nfsroot ${server_ip}:${root_dir}${nfs_options}; " \
++ "setenv ip ${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${device}:${autoconf}; " \
++ "setenv autoload no; " \
++ "setenv serverip ${server_ip}; " \
++ "setenv ipaddr ${client_ip}; " \
++ "tftp ${loadaddr} ${tftp_dir}${bootfile}; " \
++ "tftp ${fdtaddr} ${tftp_dir}dtbs/${fdtfile}; " \
++ "run nfsargs; " \
++ "bootz ${loadaddr} - ${fdtaddr}\0" \
++ "nfsboot_uname_r=echo Booting from ${server_ip} ...; " \
++ "setenv nfsroot ${server_ip}:${root_dir}${nfs_options}; " \
++ "setenv ip ${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${device}:${autoconf}; " \
++ "setenv autoload no; " \
++ "setenv serverip ${server_ip}; " \
++ "setenv ipaddr ${client_ip}; " \
++ "tftp ${loadaddr} ${tftp_dir}vmlinuz-${uname_r}; " \
++ "tftp ${fdtaddr} ${tftp_dir}dtbs/${uname_r}/${fdtfile}; " \
++ "run nfsargs; " \
++ "bootz ${loadaddr} - ${fdtaddr}\0" \
++
++#define EEWIKI_BOOT \
++ "boot=${interface} dev ${mmcdev}; " \
++ "if ${interface} rescan; then " \
++ "gpio set 54;" \
++ "setenv bootpart ${mmcdev}:1; " \
++ "if test -e ${interface} ${bootpart} /etc/fstab; then " \
++ "setenv mmcpart 1;" \
++ "fi; " \
++ "echo Checking for: /uEnv.txt ...;" \
++ "if test -e ${interface} ${bootpart} /uEnv.txt; then " \
++ "if run loadbootenv; then " \
++ "gpio set 55;" \
++ "echo Loaded environment from ${bootenv};" \
++ "run importbootenv;" \
++ "fi;" \
++ "if test -n ${cape}; then " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtbase}-${cape}.dtb; then " \
++ "setenv fdtfile ${fdtbase}-${cape}.dtb; " \
++ "fi; " \
++ "echo using: $fdtfile...; " \
++ "fi; " \
++ "echo Checking if uenvcmd is set ...;" \
++ "if test -n ${uenvcmd}; then " \
++ "gpio set 56; " \
++ "echo Running uenvcmd ...;" \
++ "run uenvcmd;" \
++ "fi;" \
++ "echo Checking if client_ip is set ...;" \
++ "if test -n ${client_ip}; then " \
++ "if test -n ${dtb}; then " \
++ "setenv fdtfile ${dtb};" \
++ "echo using ${fdtfile} ...;" \
++ "fi;" \
++ "gpio set 56; " \
++ "if test -n ${uname_r}; then " \
++ "echo Running nfsboot_uname_r ...;" \
++ "run nfsboot_uname_r;" \
++ "fi;" \
++ "echo Running nfsboot ...;" \
++ "run nfsboot;" \
++ "fi;" \
++ "fi; " \
++ "echo Checking for: /${script} ...;" \
++ "if test -e ${interface} ${bootpart} /${script}; then " \
++ "gpio set 55;" \
++ "setenv scriptfile ${script};" \
++ "run loadbootscript;" \
++ "echo Loaded script from ${scriptfile};" \
++ "gpio set 56; " \
++ "run bootscript;" \
++ "fi; " \
++ "echo Checking for: /boot/${script} ...;" \
++ "if test -e ${interface} ${bootpart} /boot/${script}; then " \
++ "gpio set 55;" \
++ "setenv scriptfile /boot/${script};" \
++ "run loadbootscript;" \
++ "echo Loaded script from ${scriptfile};" \
++ "gpio set 56; " \
++ "run bootscript;" \
++ "fi; " \
++ "echo Checking for: /boot/uEnv.txt ...;" \
++ "for i in 1 2 3 4 5 6 7 ; do " \
++ "setenv mmcpart ${i};" \
++ "setenv bootpart ${mmcdev}:${mmcpart};" \
++ "if test -e ${interface} ${bootpart} /boot/uEnv.txt; then " \
++ "gpio set 55;" \
++ "load ${interface} ${bootpart} ${loadaddr} /boot/uEnv.txt;" \
++ "env import -t ${loadaddr} ${filesize};" \
++ "echo Loaded environment from /boot/uEnv.txt;" \
++ "if test -n ${dtb}; then " \
++ "setenv fdtfile ${dtb};" \
++ "echo Using: dtb=${fdtfile} ...;" \
++ "fi;" \
++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \
++ "if test -n ${uname_r}; then " \
++ "gpio set 56; " \
++ "setenv oldroot /dev/mmcblk${mmcdev}p${mmcpart};" \
++ "echo Running uname_boot ...;" \
++ "run uname_boot;" \
++ "fi;" \
++ "fi;" \
++ "done;" \
++ "fi;\0" \
++
++#define EEWIKI_UNAME_BOOT \
++ "uname_boot="\
++ "setenv bootdir /boot; " \
++ "setenv bootfile vmlinuz-${uname_r}; " \
++ "if test -e ${interface} ${bootpart} ${bootdir}/${bootfile}; then " \
++ "echo loading ${bootdir}/${bootfile} ...; "\
++ "run loadimage;" \
++ "setenv fdtdir /boot/dtbs/${uname_r}; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "setenv fdtdir /boot/dtb-${uname_r}; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "setenv fdtdir /boot/dtbs; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "setenv fdtdir /boot/dtb; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "setenv fdtdir /boot; " \
++ "if test -e ${interface} ${bootpart} ${fdtdir}/${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "if test -e ${interface} ${bootpart} ${fdtfile}; then " \
++ "run loadfdt;" \
++ "else " \
++ "echo; echo unable to find [dtb=${fdtfile}] did you name it correctly? ...; " \
++ "run failumsboot;" \
++ "fi;" \
++ "fi;" \
++ "fi;" \
++ "fi;" \
++ "fi;" \
++ "fi;" \
++ "fi;" \
++ "fi; " \
++ "setenv rdfile initrd.img-${uname_r}; " \
++ "if test -e ${interface} ${bootpart} ${bootdir}/${rdfile}; then " \
++ "echo loading ${bootdir}/${rdfile} ...; "\
++ "run loadrd;" \
++ "if test -n ${netinstall_enable}; then " \
++ "run args_netinstall; run message;" \
++ "echo debug: [${bootargs}] ... ;" \
++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
++ "fi;" \
++ "if test -n ${uenv_root}; then " \
++ "run args_uenv_root;" \
++ "echo debug: [${bootargs}] ... ;" \
++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
++ "fi;" \
++ "if test -n ${uuid}; then " \
++ "run args_mmc_uuid;" \
++ "echo debug: [${bootargs}] ... ;" \
++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
++ "fi;" \
++ "run args_mmc_old;" \
++ "echo debug: [${bootargs}] ... ;" \
++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \
++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \
++ "else " \
++ "if test -n ${uenv_root}; then " \
++ "run args_uenv_root;" \
++ "echo debug: [${bootargs}] ... ;" \
++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \
++ "bootz ${loadaddr} - ${fdtaddr}; " \
++ "fi;" \
++ "run args_mmc_old;" \
++ "echo debug: [${bootargs}] ... ;" \
++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \
++ "bootz ${loadaddr} - ${fdtaddr}; " \
++ "fi;" \
++ "fi;\0" \
+
+ /*
+ * Default to a quick boot delay.
+--
+2.6.2
+
@@ -1,3 +1,13 @@
-bootpart=0:1
bootdir=
-uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ramboot
+bootfile=zImage
+fdtfile=am335x-boneblack.dtb
+loadaddr=0x80007fc0
+fdtaddr=0x80F80000
+loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
+loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
+console=ttyO0,115200n8
+mmcroot=/dev/mmcblk0p2
+mmcrootfstype=ext2
+uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
+fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
+mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot} rw rootfstype=${mmcrootfstype} rootwait
@@ -1,14 +1,33 @@
# architecture
+BR2_ARCH_HAS_MMU_OPTIONAL=y
BR2_arm=y
+BR2_ARCH="arm"
+BR2_ENDIAN="LITTLE"
+BR2_GCC_TARGET_ABI="aapcs-linux"
+BR2_GCC_TARGET_CPU="cortex-a8"
+BR2_GCC_TARGET_FPU="neon"
+BR2_GCC_TARGET_FLOAT_ABI="hard"
+BR2_GCC_TARGET_MODE="arm"
+BR2_ARCH_HAS_ATOMICS=y
+BR2_BINFMT_SUPPORTS_SHARED=y
+BR2_BINFMT_ELF=y
+BR2_ARM_CPU_HAS_NEON=y
+BR2_ARM_CPU_HAS_VFPV2=y
+BR2_ARM_CPU_HAS_VFPV3=y
+BR2_ARM_CPU_HAS_ARM=y
+BR2_ARM_CPU_HAS_THUMB2=y
+BR2_ARM_CPU_ARMV7A=y
BR2_cortex_a8=y
BR2_ARM_EABIHF=y
+BR2_ARM_FPU_NEON=y
+BR2_ARM_INSTRUCTIONS_ARM=y
# system
BR2_TARGET_GENERIC_HOSTNAME="beaglebone"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
-BR2_TARGET_GENERIC_GETTY_PORT="ttyO0"
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
-BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglebone/post-image.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/measbone/post-image.sh"
# filesystem
BR2_PACKAGE_AM33X_CM3=y
@@ -17,14 +36,17 @@ BR2_TARGET_ROOTFS_EXT2=y
# lock down headers to avoid breaking with new defaults
BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.12.10"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y
+BR2_DEFAULT_KERNEL_VERSION="4.1.13"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y
+BR2_DEFAULT_KERNEL_HEADERS="4.1.13"
# bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="am335x_evm"
-BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2013.10"
+BR2_TARGET_UBOOT_LATEST_VERSION=y
+BR2_TARGET_UBOOT_VERSION="2015.10"
+BR2_TARGET_UBOOT_PATCH="$(TOPDIR)/board/beaglebone/patches/uboot/"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_SPL_NAME="MLO"
@@ -32,11 +54,12 @@ BR2_TARGET_UBOOT_SPL_NAME="MLO"
# kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
-BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7f280334068b7c875ade51f8f3921ab311f0c824"
-BR2_LINUX_KERNEL_PATCH="board/beaglebone/patches/linux/"
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/beagleboard/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4.1.13-ti-r36"
+BR2_LINUX_KERNEL_PATCH="board/measbone/patches/linux/"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/beaglebone/linux-3.12.config"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(TOPDIR)/output/build/linux-4.1.13-ti-r36/arch/arm/configs/bb.org_defconfig"
BR2_LINUX_KERNEL_ZIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_USE_INTREE_DTS=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-bone am335x-boneblack"
@@ -8,7 +8,7 @@ config BR2_PACKAGE_DTC
Note that only the library is installed.
If you want the programs, say 'y' here, and to "dtc programs", below.
- https://git.kernel.org/cgit/utils/dtc/dtc.git
+ https://github.com/RobertCNelson/dtc
if BR2_PACKAGE_DTC
@@ -6,4 +6,4 @@ config BR2_PACKAGE_HOST_DTC
Install host tools: dtc, convert-dtsv0, fdtdump, fdtget and fdtput.
- https://git.kernel.org/cgit/utils/dtc/dtc.git
+ https://github.com/RobertCNelson/dtc
deleted file mode 100644
@@ -1,2 +0,0 @@
-# from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc
-sha256 77992ad8eac7b68f553d0ba58e5b51604ac803d126196c99e3ae38aaae28bb94 dtc-1.4.1.tar.xz
@@ -4,9 +4,9 @@
#
################################################################################
-DTC_VERSION = 1.4.1
-DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz
-DTC_SITE = https://www.kernel.org/pub/software/utils/dtc
+DTC_VERSION = bb.org-4.1-dt-overlays5
+DTC_SITE = https://github.com/RobertCNelson/dtc
+DTC_SITE_METHOD = git
DTC_LICENSE = GPLv2+/BSD-2c
DTC_LICENSE_FILES = README.license GPL
DTC_INSTALL_STAGING = YES