From patchwork Sun Jan 3 21:01:24 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris LaRocque X-Patchwork-Id: 562199 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id DE78B14031D for ; Mon, 4 Jan 2016 08:01:41 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=qgKQn9bJ; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id E750126844; Sun, 3 Jan 2016 21:01:40 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L2RRkBDf5tbV; Sun, 3 Jan 2016 21:01:33 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 0906D32966; Sun, 3 Jan 2016 21:01:33 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 313E71C11AF for ; Sun, 3 Jan 2016 21:01:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 2B56085909 for ; Sun, 3 Jan 2016 21:01:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y+ML-8YDB82D for ; Sun, 3 Jan 2016 21:01:28 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-qg0-f49.google.com (mail-qg0-f49.google.com [209.85.192.49]) by hemlock.osuosl.org (Postfix) with ESMTPS id A10C3852E9 for ; Sun, 3 Jan 2016 21:01:28 +0000 (UTC) Received: by mail-qg0-f49.google.com with SMTP id o11so242753191qge.2 for ; Sun, 03 Jan 2016 13:01:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=RlMVBczYNyq0yO2/JmmugTE+hiw8ZIRoHYF1r+gxSq4=; b=qgKQn9bJbhS1pE8bvd1z6TfkTqMJhPrSzdNDrSfLzb1MmeY+0I93MDCiqdOue6QAPs YgQ8FYlwvsmTKLwB6iEmBldbS2ygZqMSOT8d7/jAahIhyHHjm0SvzN53aeCwl9UvHKKn 3YDcR4LzypHMkrFY2aXOxtWf9KePlMCE04W4cjsIFDah4P8zIQt/ewtqOLJ8ORkqeU4o dwQOHpYJebaIEO3DrUJRKU4t/RIecV2lC3D7vYGH8MrOFptULpQdgvUSGTsqHTImnX7E AemmGHigUloHBqTGePY3QNGUvwX11ORacRUwwKwIOotuDxYuwTU4kMdua+YNwvJAx7jm JVFg== X-Received: by 10.140.237.74 with SMTP id i71mr54095414qhc.55.1451854887621; Sun, 03 Jan 2016 13:01:27 -0800 (PST) Received: from L-Desktop.blhome.net (pool-173-50-96-7.nrflva.fios.verizon.net. [173.50.96.7]) by smtp.gmail.com with ESMTPSA id c190sm38861932qkb.27.2016.01.03.13.01.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 Jan 2016 13:01:26 -0800 (PST) From: Chris LaRocque To: buildroot@buildroot.org Date: Sun, 3 Jan 2016 16:01:24 -0500 Message-Id: <1451854885-12011-1-git-send-email-clarocq@gmail.com> X-Mailer: git-send-email 1.8.1.4 Cc: Chris LaRocque Subject: [Buildroot] [PATCH 1/2] Updated the Beaglebone configuration: X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Chris LaRocque Changed to Kernel from Beagleboard.org 4.1.13-ti-r36. added uboot 2015.10 patches from https://github.com/eewiki/u-boot-patches/blob/master/v2015.10/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch Changed to the beagloeboard.org patched DTC from https://github.com/RobertCNelson/dtc.git bb.org-4.1-dt-overlays5 Signed-off-by: Chris LaRocque --- board/beaglebone/linux-3.12.config | 251 ------- ...cache-flush-management-symbols-when-MULTI.patch | 34 - .../0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch | 754 +++++++++++++++++++++ board/beaglebone/uEnv.txt | 14 +- configs/beaglebone_defconfig | 43 +- package/dtc/Config.in | 2 +- package/dtc/Config.in.host | 2 +- package/dtc/dtc.hash | 2 - package/dtc/dtc.mk | 6 +- 9 files changed, 804 insertions(+), 304 deletions(-) delete mode 100644 board/beaglebone/linux-3.12.config delete mode 100644 board/beaglebone/patches/linux/linux-0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch create mode 100644 board/beaglebone/patches/uboot/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch delete mode 100644 package/dtc/dtc.hash diff --git a/board/beaglebone/linux-3.12.config b/board/beaglebone/linux-3.12.config deleted file mode 100644 index 0be5722..0000000 --- a/board/beaglebone/linux-3.12.config +++ /dev/null @@ -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 diff --git a/board/beaglebone/patches/linux/linux-0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch b/board/beaglebone/patches/linux/linux-0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch deleted file mode 100644 index 1ca1e70..0000000 --- a/board/beaglebone/patches/linux/linux-0001-arm-Export-cache-flush-management-symbols-when-MULTI.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 29885f2f3d700341d322274db6ad085e601c0994 Mon Sep 17 00:00:00 2001 -From: Pantelis Antoniou -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 ---- - 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 - diff --git a/board/beaglebone/patches/uboot/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch b/board/beaglebone/patches/uboot/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..eb2400d --- /dev/null +++ b/board/beaglebone/patches/uboot/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,754 @@ +From ef73464d93f58a2e6cb36059e7901741ea7828ef Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Fri, 6 Nov 2015 14:04:43 -0600 +Subject: [PATCH] am335x_evm: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + 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 + ++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 + #include +-#include + #include + #include + #include +-#include +- +-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 ++#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 + diff --git a/board/beaglebone/uEnv.txt b/board/beaglebone/uEnv.txt index e09fff5..b6de9ff 100644 --- a/board/beaglebone/uEnv.txt +++ b/board/beaglebone/uEnv.txt @@ -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 diff --git a/configs/beaglebone_defconfig b/configs/beaglebone_defconfig index ddb583c..dea34d9 100644 --- a/configs/beaglebone_defconfig +++ b/configs/beaglebone_defconfig @@ -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" diff --git a/package/dtc/Config.in b/package/dtc/Config.in index 39223f7..ec44cfc 100644 --- a/package/dtc/Config.in +++ b/package/dtc/Config.in @@ -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 diff --git a/package/dtc/Config.in.host b/package/dtc/Config.in.host index cbabf0a..196b702 100644 --- a/package/dtc/Config.in.host +++ b/package/dtc/Config.in.host @@ -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 diff --git a/package/dtc/dtc.hash b/package/dtc/dtc.hash deleted file mode 100644 index 8b3af33..0000000 --- a/package/dtc/dtc.hash +++ /dev/null @@ -1,2 +0,0 @@ -# from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc -sha256 77992ad8eac7b68f553d0ba58e5b51604ac803d126196c99e3ae38aaae28bb94 dtc-1.4.1.tar.xz diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk index f3b6f3b..dede664 100644 --- a/package/dtc/dtc.mk +++ b/package/dtc/dtc.mk @@ -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