summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVignesh R <vigneshr@ti.com>2017-03-08 08:28:17 (GMT)
committerTom Rini <trini@konsulko.com>2017-04-08 13:26:47 (GMT)
commit3f18ff07c81b80337bbe72c0b3a2d36a76b6a9e0 (patch)
tree54daf6ad4d60986f2ea9cd52c37b41f3fe90417b
parent4b0d506ed3b4f77649346d45b349169a60a2b233 (diff)
downloadu-boot-3f18ff07c81b80337bbe72c0b3a2d36a76b6a9e0.tar.xz
ARM: keystone: Pass SPI MTD partition table via kernel command line
SPI U-Boot image for K2 boards have now exceeded 512K partition allocated to it and no longer fit the partitions defined in kernel DTS file. Therefore, pass an updated MTD partition table from U-Boot as kernel command line arguments to avoid kernel from accidentally modifying boot loader image that has overflowed to next user partition. To do is, introduce a common environment file for declaring SPI partition so that each individual boards need not repeat the same. Choose appropriate SPI bus from board config file and pass it as command line argument to kernel. Signed-off-by: Vignesh R <vigneshr@ti.com>
-rw-r--r--include/configs/k2e_evm.h5
-rw-r--r--include/configs/k2g_evm.h3
-rw-r--r--include/configs/k2hk_evm.h4
-rw-r--r--include/configs/k2l_evm.h4
-rw-r--r--include/configs/ti_armv7_keystone2.h7
-rw-r--r--include/environment/ti/spi.h15
6 files changed, 37 insertions, 1 deletions
diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
index 777f225..3a7993e 100644
--- a/include/configs/k2e_evm.h
+++ b/include/configs/k2e_evm.h
@@ -10,6 +10,8 @@
#ifndef __CONFIG_K2E_EVM_H
#define __CONFIG_K2E_EVM_H
+#include <environment/ti/spi.h>
+
/* Platform type */
#define CONFIG_SOC_K2E
@@ -30,6 +32,9 @@
/* SPL SPI Loader Configuration */
#define CONFIG_SPL_TEXT_BASE 0x0c100000
+
+#define SPI_MTD_PARTS KEYSTONE_SPI0_MTD_PARTS
+
/* NAND Configuration */
#define CONFIG_SYS_NAND_PAGE_2K
diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h
index bd25231..9e5949e 100644
--- a/include/configs/k2g_evm.h
+++ b/include/configs/k2g_evm.h
@@ -10,6 +10,8 @@
#ifndef __CONFIG_K2G_EVM_H
#define __CONFIG_K2G_EVM_H
+#include <environment/ti/spi.h>
+
/* Platform type */
#define CONFIG_SOC_K2G
@@ -76,4 +78,5 @@
#define CONFIG_BOUNCE_BUFFER
#endif
+#define SPI_MTD_PARTS KEYSTONE_SPI1_MTD_PARTS
#endif /* __CONFIG_K2G_EVM_H */
diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h
index 4adb119..202167b 100644
--- a/include/configs/k2hk_evm.h
+++ b/include/configs/k2hk_evm.h
@@ -10,6 +10,8 @@
#ifndef __CONFIG_K2HK_EVM_H
#define __CONFIG_K2HK_EVM_H
+#include <environment/ti/spi.h>
+
/* Platform type */
#define CONFIG_SOC_K2HK
@@ -30,6 +32,8 @@
/* SPL SPI Loader Configuration */
#define CONFIG_SPL_TEXT_BASE 0x0c200000
+#define SPI_MTD_PARTS KEYSTONE_SPI0_MTD_PARTS
+
/* NAND Configuration */
#define CONFIG_SYS_NAND_PAGE_2K
diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h
index 9bdd565..a7ccdd1 100644
--- a/include/configs/k2l_evm.h
+++ b/include/configs/k2l_evm.h
@@ -10,6 +10,8 @@
#ifndef __CONFIG_K2L_EVM_H
#define __CONFIG_K2L_EVM_H
+#include <environment/ti/spi.h>
+
/* Platform type */
#define CONFIG_SOC_K2L
@@ -30,6 +32,8 @@
/* SPL SPI Loader Configuration */
#define CONFIG_SPL_TEXT_BASE 0x0c100000
+#define SPI_MTD_PARTS KEYSTONE_SPI0_MTD_PARTS
+
/* NAND Configuration */
#define CONFIG_SYS_NAND_PAGE_4K
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index c83cd76..5d2a7ab 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -219,6 +219,10 @@
/* EDMA3 */
#define CONFIG_TI_EDMA3
+#define KERNEL_MTD_PARTS \
+ "mtdparts=" \
+ SPI_MTD_PARTS
+
#define DEFAULT_FW_INITRAMFS_BOOT_ENV \
"name_fw_rd=k2-fw-initrd.cpio.gz\0" \
"set_rd_spec=setenv rd_spec ${rdaddr}:${filesize}\0" \
@@ -275,7 +279,8 @@
"sf write ${loadaddr} 0 ${filesize}\0" \
"burn_uboot_nand=nand erase 0 0x100000; " \
"nand write ${loadaddr} 0 ${filesize}\0" \
- "args_all=setenv bootargs console=ttyS0,115200n8 rootwait=1\0" \
+ "args_all=setenv bootargs console=ttyS0,115200n8 rootwait=1 " \
+ KERNEL_MTD_PARTS \
"args_net=setenv bootargs ${bootargs} rootfstype=nfs " \
"root=/dev/nfs rw nfsroot=${serverip}:${nfs_root}," \
"${nfs_options} ip=dhcp\0" \
diff --git a/include/environment/ti/spi.h b/include/environment/ti/spi.h
new file mode 100644
index 0000000..18c857c
--- /dev/null
+++ b/include/environment/ti/spi.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Environment variable definitions for SPI on TI boards.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __TI_SPI_H
+#define __TI_SPI_H
+
+#define KEYSTONE_SPI0_MTD_PARTS "spi0.0:1m(u-boot-spl)ro,-(misc);\0"
+#define KEYSTONE_SPI1_MTD_PARTS "spi1.0:1m(u-boot-spl)ro,-(misc);\0"
+
+#endif