projects/Cuboxi/patches/u-boot: support for booting on TBS Matrix system

This commit is contained in:
vpeter4 2014-09-07 15:38:39 +02:00
parent 71f7406715
commit 55a226f9f4
6 changed files with 295 additions and 0 deletions

View File

@ -0,0 +1,109 @@
From c99113f2c2fc3a269c2f490288420deaa0771a39 Mon Sep 17 00:00:00 2001
From: Robert Nelson <robertcnelson@gmail.com>
Date: Fri, 15 Mar 2013 10:20:35 -0500
Subject: [PATCH] mx6qsabre_common: uEnv.txt, bootz, n fixes
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
---
include/configs/mx6sabre_common.h | 53 +++++++++++++++++++++++++++----------
1 file changed, 39 insertions(+), 14 deletions(-)
diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
index 53cc559..6dfc108 100644
--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -40,6 +40,11 @@
#define CONFIG_MMC
#define CONFIG_CMD_MMC
+#define CONFIG_FS_FAT
+#define CONFIG_FS_EXT4
+#define CONFIG_CMD_FS_GENERIC /* Generic load commands */
+#define CONFIG_CMD_BOOTZ /* bootz zImage support */
+#define CONFIG_SUPPORT_RAW_INITRD /* bootz raw initrd support */
#define CONFIG_GENERIC_MMC
#define CONFIG_BOUNCE_BUFFER
#define CONFIG_CMD_EXT2
@@ -85,12 +90,13 @@
"fdt_addr=0x11000000\0" \
"boot_fdt=try\0" \
"ip_dyn=yes\0" \
- "console=" CONFIG_CONSOLE_DEV "\0" \
+ "console=ttymxc0,115200\0" \
+ "optargs=\0" \
+ "video=\0" \
"fdt_high=0xffffffff\0" \
"initrd_high=0xffffffff\0" \
"mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
"mmcpart=1\0" \
- "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
"update_sd_firmware=" \
"if test ${ip_dyn} = yes; then " \
"setenv get_cmd dhcp; " \
@@ -104,16 +110,29 @@
"mmc write ${loadaddr} 0x2 ${fw_sz}; " \
"fi; " \
"fi\0" \
- "mmcargs=setenv bootargs console=${console},${baudrate} " \
- "root=${mmcroot}\0" \
+ "mmcroot=/dev/mmcblk0p2 ro\0" \
+ "mmcrootfstype=ext4 rootwait fixrtc\0" \
+ "mmcargs=setenv bootargs console=${console}" \
+ "${optargs} " \
+ "root=${mmcroot} " \
+ "rootfstype=${mmcrootfstype} " \
+ "video=${video}\0" \
"loadbootscript=" \
"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \
"source\0" \
+ "loadbootenv=" \
+ "load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt;\0" \
+ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \
+ "env import -t ${loadaddr} ${filesize}\0" \
"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \
+ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /dtbs/${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
+ "bootz ${loadaddr} - ${fdt_addr};\0" \
+ "mmcdefault=echo Booting from mmc ...; " \
+ "run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \
"bootm ${loadaddr} - ${fdt_addr}; " \
@@ -155,15 +174,21 @@
#define CONFIG_BOOTCOMMAND \
"mmc dev ${mmcdev};" \
"if mmc rescan; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
- "if run loaduimage; then " \
- "run mmcboot; " \
- "else run netboot; " \
- "fi; " \
- "fi; " \
- "else run netboot; fi"
+ "echo SD/MMC found on device ${mmcdev};" \
+ "if run loadbootenv; then " \
+ "run importbootenv;" \
+ "fi;" \
+ "echo Checking if uenvcmd is set ...;" \
+ "if test -n $uenvcmd; then " \
+ "echo Running uenvcmd ...;" \
+ "run uenvcmd;" \
+ "fi;" \
+ "echo Running default loadzimage ...;" \
+ "if run loadzimage; then " \
+ "run loadfdt;" \
+ "run mmcboot;" \
+ "fi;" \
+ "fi;"
#define CONFIG_ARP_TIMEOUT 200UL
--
1.7.10.4

View File

@ -0,0 +1,44 @@
diff -urN a/boards.cfg b/boards.cfg
--- a/boards.cfg 2014-04-13 01:27:26.000000000 +0200
+++ b/boards.cfg 2014-08-23 16:58:28.000000000 +0200
@@ -301,6 +301,7 @@
Active arm armv7 mx6 freescale mx6qsabreauto mx6qsabreauto mx6qsabreauto:IMX_CONFIG=board/freescale/mx6qsabreauto/imximage.cfg,MX6Q Fabio Estevam <fabio.estevam@freescale.com>
Active arm armv7 mx6 freescale mx6sabresd mx6dlsabresd mx6sabresd:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL Fabio Estevam <fabio.estevam@freescale.com>
Active arm armv7 mx6 freescale mx6sabresd mx6qsabresd mx6sabresd:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q Fabio Estevam <fabio.estevam@freescale.com>
+Active arm armv7 mx6 freescale mx6sabresd matrix mx6sabresd:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048 -
Active arm armv7 mx6 freescale mx6slevk mx6slevk mx6slevk:IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL Fabio Estevam <fabio.estevam@freescale.com>
Active arm armv7 mx6 freescale titanium titanium titanium:IMX_CONFIG=board/freescale/titanium/imximage.cfg Stefan Roese <sr@denx.de>
Active arm armv7 mx6 solidrun mx6_c1 mx6_c1solo mx6_c1:IMX_CONFIG=board/solidrun/mx6_c1/mx6_c1solo.cfg,MX6S,DDR_MB=512
diff -urN a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h
--- a/include/configs/mx6sabresd.h 2014-04-13 01:27:26.000000000 +0200
+++ b/include/configs/mx6sabresd.h 2014-08-23 17:01:13.000000000 +0200
@@ -21,13 +21,13 @@
#elif defined(CONFIG_MX6DL)
#define CONFIG_DEFAULT_FDT_FILE "imx6dl-sabresd.dtb"
#endif
-#define PHYS_SDRAM_SIZE (1u * 1024 * 1024 * 1024)
+#define PHYS_SDRAM_SIZE (2u * 1024 * 1024 * 1024)
#include "mx6sabre_common.h"
#define CONFIG_SYS_FSL_USDHC_NUM 3
#if defined(CONFIG_ENV_IS_IN_MMC)
-#define CONFIG_SYS_MMC_ENV_DEV 1 /* SDHC3 */
+#define CONFIG_SYS_MMC_ENV_DEV 2 /* eMMC/uSDHC4 */
#endif
/* Framebuffer */
diff -urN a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
--- a/include/configs/mx6sabre_common.h 2014-03-20 18:04:26.942867502 -0600
+++ b/include/configs/mx6sabre_common.h 2014-03-20 18:04:49.350866727 -0600
@@ -61,7 +61,7 @@
#define IMX_FEC_BASE ENET_BASE_ADDR
#define CONFIG_FEC_XCV_TYPE RGMII
#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR 1
+#define CONFIG_FEC_MXC_PHYADDR 4
#define CONFIG_PHYLIB
#define CONFIG_PHY_ATHEROS

View File

@ -0,0 +1,84 @@
diff -urN a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
--- a/include/configs/mx6sabre_common.h 2014-08-23 18:24:27.000000000 +0200
+++ b/include/configs/mx6sabre_common.h 2014-08-23 18:26:05.000000000 +0200
@@ -51,6 +51,8 @@
#define CONFIG_CMD_FAT
#define CONFIG_DOS_PARTITION
+#define CONFIG_CMD_EXT4
+
#define CONFIG_CMD_PING
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_MII
@@ -84,10 +86,11 @@
#define CONFIG_SYS_TEXT_BASE 0x17800000
#define CONFIG_EXTRA_ENV_SETTINGS \
+ "zImage=KERNEL\0" \
"script=boot.scr\0" \
"uimage=uImage\0" \
"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
- "fdt_addr=0x11000000\0" \
+ "fdt_addr=0x18000000\0" \
"boot_fdt=try\0" \
"ip_dyn=yes\0" \
"console=ttymxc0,115200\0" \
@@ -126,25 +129,22 @@
"importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \
"env import -t ${loadaddr} ${filesize}\0" \
"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
- "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \
- "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /dtbs/${fdt_file}\0" \
+ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${zImage}\0" \
+ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
- "bootz ${loadaddr} - ${fdt_addr};\0" \
- "mmcdefault=echo Booting from mmc ...; " \
- "run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \
- "bootm ${loadaddr} - ${fdt_addr}; " \
+ "bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
- "bootm; " \
+ "bootz; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
- "bootm; " \
+ "bootz; " \
"fi;\0" \
"netargs=setenv bootargs console=${console},${baudrate} " \
"root=/dev/nfs " \
@@ -159,16 +159,16 @@
"${get_cmd} ${uimage}; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
- "bootm ${loadaddr} - ${fdt_addr}; " \
+ "bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
- "bootm; " \
+ "bootz; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
- "bootm; " \
+ "bootz; " \
"fi;\0"
#define CONFIG_BOOTCOMMAND \
@@ -185,7 +185,6 @@
"fi;" \
"echo Running default loadzimage ...;" \
"if run loadzimage; then " \
- "run loadfdt;" \
"run mmcboot;" \
"fi;" \
"fi;"

View File

@ -0,0 +1,36 @@
diff -urN a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
--- a/include/configs/mx6sabre_common.h 2014-08-23 17:07:04.000000000 +0200
+++ b/include/configs/mx6sabre_common.h 2014-08-23 17:09:10.000000000 +0200
@@ -184,6 +184,32 @@
"fi;\0"
#define CONFIG_BOOTCOMMAND \
+ "echo; " \
+ "echo SD/MMC device set to ${mmcdev} but checking 0, 1 and 2; " \
+ "setenv mmcdevold ${mmcdev}; " \
+ "setenv mmcdev 0; " \
+ "echo Checking mmc dev ${mmcdev};" \
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan && run loadbootenv; then " \
+ "else " \
+ "setenv mmcdev 1; " \
+ "echo Checking mmc dev ${mmcdev};" \
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan && run loadbootenv; then " \
+ "else " \
+ "setenv mmcdev 2; " \
+ "echo Checking mmc dev ${mmcdev};" \
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan && run loadbootenv; then " \
+ "else " \
+ "echo No SD/MMC with uEnv.txt found on device 0 to 2;" \
+ "setenv mmcdev ${mmcdevold}; " \
+ "fi; " \
+ "fi; " \
+ "fi; " \
+ "setenv mmcdevold; " \
+ "echo; " \
+ "echo Using SD/MMC device ${mmcdev};" \
"mmc dev ${mmcdev};" \
"if mmc rescan; then " \
"echo SD/MMC found on device ${mmcdev};" \

View File

@ -0,0 +1,22 @@
diff -urN a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
--- a/include/configs/mx6sabre_common.h 2014-08-23 18:24:27.000000000 +0200
+++ b/include/configs/mx6sabre_common.h 2014-08-23 18:26:05.000000000 +0200
@@ -53,6 +53,18 @@
#define CONFIG_CMD_EXT4
+/* USB Configs */
+#define CONFIG_CMD_USB
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_MX6
+#define CONFIG_USB_STORAGE
+#define CONFIG_USB_HOST_ETHER
+#define CONFIG_USB_ETHER_ASIX
+#define CONFIG_USB_ETHER_SMSC95XX
+#define CONFIG_MXC_USB_PORT 1
+#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
+#define CONFIG_MXC_USB_FLAGS 0
+
#define CONFIG_CMD_PING
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_MII