summaryrefslogtreecommitdiff
path: root/recipes-bsp
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2017-05-04 18:15:19 -0500
committerJohn Klug <john.klug@multitech.com>2017-06-09 09:09:19 -0500
commit208ad572b5e0ac35a00f680ef4399635c93471e9 (patch)
treedced1b2b51d0f3254ae53196143d9e2355a3cf7f /recipes-bsp
parent15f2347fe74a4aea199f29b6bd7d0cae5e402daa (diff)
downloadmeta-multitech-atmel-208ad572b5e0ac35a00f680ef4399635c93471e9.tar.gz
meta-multitech-atmel-208ad572b5e0ac35a00f680ef4399635c93471e9.tar.bz2
meta-multitech-atmel-208ad572b5e0ac35a00f680ef4399635c93471e9.zip
Slowly working through the feature test macros/configs of u-boot 2016.09.01
Diffstat (limited to 'recipes-bsp')
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch28
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch6
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch294
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch12
4 files changed, 110 insertions, 230 deletions
diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch
new file mode 100644
index 0000000..75dd42b
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/config.patch
@@ -0,0 +1,28 @@
+diff -raNu old/configs/at91sam9x5ek_nandflash_defconfig new/configs/at91sam9x5ek_nandflash_defconfig
+--- old/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 14:33:41.143172324 -0500
++++ new/configs/at91sam9x5ek_nandflash_defconfig 2017-05-04 17:54:27.132377607 -0500
+@@ -1,9 +1,9 @@
+ CONFIG_ARM=y
+ CONFIG_ARCH_AT91=y
+ CONFIG_TARGET_AT91SAM9X5EK=y
+-CONFIG_SPL=y
++CONFIG_SPL=n
+ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH"
+-CONFIG_BOOTDELAY=3
++CONFIG_BOOTDELAY=0
+ CONFIG_HUSH_PARSER=y
+ CONFIG_SYS_PROMPT="U-Boot> "
+ CONFIG_CMD_BOOTZ=y
+@@ -23,3 +23,12 @@
+ CONFIG_USB=y
+ CONFIG_USB_STORAGE=y
+ CONFIG_OF_LIBFDT=y
++
++CONFIG_OF_CONTROL=y
++CONFIG_CMD_TFTPPUT=y
++CONFIG_CMD_FAT=y
++CONFIG_CMD_USB=y
++CONFIG_CMD_NAND=y
++CONFIG_CMD_BOOTZ=y
++CONFIG_CMD_MII=y
++CONFIG_CMD_I2C=y
diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch
index af726a3..ba9ca44 100644
--- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch
+++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/i2c.patch
@@ -1,6 +1,6 @@
-diff -raNu git.orig/include/i2c.h git/include/i2c.h
---- git.orig/include/i2c.h 2017-04-28 17:26:27.854898005 -0500
-+++ git/include/i2c.h 2017-05-01 17:27:32.673437788 -0500
+diff -raNu old/include/i2c.h new/include/i2c.h
+--- old/include/i2c.h 2017-04-28 17:26:27.854898005 -0500
++++ new/include/i2c.h 2017-05-01 17:27:32.673437788 -0500
@@ -17,6 +17,27 @@
#ifndef _I2C_H_
#define _I2C_H_
diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch
index b44b925..c33e422 100644
--- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch
+++ b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/mtcdt.patch
@@ -1,209 +1,73 @@
-diff -raNu git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c git/board/atmel/at91sam9x5ek/at91sam9x5ek.c
---- git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-26 12:52:49.565662228 -0500
-+++ git/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2017-04-27 12:40:44.426149774 -0500
-@@ -44,7 +44,8 @@
- csa = readl(&matrix->ebicsa);
- csa |= AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA;
- /* NAND flash on D16 */
-- csa |= AT91_MATRIX_NFD0_ON_D16;
-+ /* MTCDT: nand flash is set up by bootstrap, so leave it alone here */
-+ /* csa |= AT91_MATRIX_NFD0_ON_D16; */
-
- /* Configure IO drive */
- csa &= ~AT91_MATRIX_EBI_EBI_IOSR_NORMAL;
-@@ -256,6 +257,9 @@
-
- int board_init(void)
- {
-+ /* Set Status LED High */
-+ at91_set_gpio_output(BOOT_STATUS_LED, 0);
-+
- /* arch number of AT91SAM9X5EK-Board */
- gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9X5EK;
-
-@@ -283,6 +287,20 @@
- return 0;
- }
-
-+/* on-board EEPROM */
-+struct mts_id_eeprom_layout {
-+ char vendor_id[32];
-+ char product_id[32];
-+ char device_id[32];
-+ char hw_version[32];
-+ uint8_t mac_addr[6];
-+ char imei[32];
-+ uint8_t capa[32];
-+ uint8_t mac_bluetooth[6];
-+ uint8_t mac_wifi[6];
-+ uint8_t reserved[302];
-+};
-+
- int dram_init(void)
- {
- gd->ram_size = get_ram_size((void *) CONFIG_SYS_SDRAM_BASE,
-@@ -305,6 +323,48 @@
- #endif
- }
-
-+int board_get_enetaddr(uchar *enetaddr)
-+{
-+ struct mts_id_eeprom_layout eeprom_buffer = {0};
-+
-+ if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0, &eeprom_buffer, sizeof(eeprom_buffer))) {
-+ printf("EEPROM: read error\n");
-+ return 0;
-+ }
-+
-+ if (eeprom_buffer.vendor_id[0] == 0x00 || eeprom_buffer.vendor_id[0] == 0xFF) {
-+ printf("EEPROM: uninitialized\n");
-+ return 0;
-+ }
-+
-+ printf("vendor-id: %s\n", eeprom_buffer.vendor_id);
-+ printf("product-id: %s\n", eeprom_buffer.product_id);
-+ printf("device-id: %s\n", eeprom_buffer.device_id);
-+ printf("hw-version: %s\n", eeprom_buffer.hw_version);
-+ printf("mac-addr: %02x:%02x:%02x:%02x:%02x:%02x\n", eeprom_buffer.mac_addr[0],
-+ eeprom_buffer.mac_addr[1],
-+ eeprom_buffer.mac_addr[2],
-+ eeprom_buffer.mac_addr[3],
-+ eeprom_buffer.mac_addr[4],
-+ eeprom_buffer.mac_addr[5]);
-+
-+ memcpy(enetaddr, eeprom_buffer.mac_addr, 6);
-+
-+ return 1;
-+}
-+
-+int misc_init_r(void)
-+{
-+ uchar enetaddr[6];
-+
-+ /* set MAC address from EEPROM if read successful */
-+ if (board_get_enetaddr(enetaddr)) {
-+ eth_setenv_enetaddr("ethaddr", enetaddr);
-+ }
-+
-+ return 0;
-+}
-+
- #include <asm/arch/atmel_mpddrc.h>
- static void ddr2_conf(struct atmel_mpddrc_config *ddr2)
- {
-diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x5ek.h
---- git.orig/include/configs/at91sam9x5ek.h 2017-04-26 10:56:03.169006861 -0500
-+++ git/include/configs/at91sam9x5ek.h 2017-04-28 18:06:58.793553712 -0500
-@@ -11,7 +11,8 @@
-
+diff -raNu old/include/configs/at91sam9x5ek.h new/include/configs/at91sam9x5ek.h
+--- old/include/configs/at91sam9x5ek.h 2017-05-04 13:59:37.381346896 -0500
++++ new/include/configs/at91sam9x5ek.h 2017-05-04 18:11:04.366618638 -0500
+@@ -9,9 +9,12 @@
+ #ifndef __CONFIG_H__
+ #define __CONFIG_H__
+
++#include <linux/kconfig.h>
#include <asm/hardware.h>
-#define CONFIG_SYS_TEXT_BASE 0x26f00000
+#define USE_MTCDT
+#define CONFIG_SYS_TEXT_BASE 0x2ef00000
++
/* ARM asynchronous clock */
#define CONFIG_SYS_AT91_SLOW_CLOCK 32768
-@@ -24,6 +25,7 @@
- #define CONFIG_INITRD_TAG
- #define CONFIG_SKIP_LOWLEVEL_INIT
+@@ -26,6 +29,9 @@
#define CONFIG_BOARD_EARLY_INIT_F
-+#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */
#define CONFIG_DISPLAY_CPUINFO
- #define CONFIG_CMD_BOOTZ
-@@ -40,6 +42,8 @@
++
++#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */
++
+ /* general purpose I/O */
+ #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */
+ #define CONFIG_AT91_GPIO
+@@ -36,6 +42,8 @@
#define CONFIG_USART_ID ATMEL_ID_SYS
/* LCD */
+/* MTCDT has no LCD */
-+#ifndef MTCDT
++#if !defined(MTCDT)
#define CONFIG_LCD
#define LCD_BPP LCD_COLOR16
#define LCD_OUTPUT_BPP 24
-@@ -50,8 +54,14 @@
+@@ -46,8 +54,15 @@
#define CONFIG_ATMEL_HLCD
#define CONFIG_ATMEL_LCD_RGB565
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
-+#endif
++#endif /* !defined(MTCDT) */
+
-+/*STATUS LED*/
-+#define BOOT_STATUS_LED AT91_PIN_PA24
-
--#define CONFIG_BOOTDELAY 3
-+#define CONFIG_BOOTDELAY 0
+/* check for keypress even if bootdelay is 0 */
+#define CONFIG_ZERO_BOOTDELAY_CHECK
+
++/*STATUS LED*/
++#define BOOT_STATUS_LED AT91_PIN_PA24
++
/*
* BOOTP options
-@@ -67,6 +77,23 @@
- /*
- * Command line configuration.
*/
+@@ -59,10 +74,13 @@
+ /* no NOR flash */
+ #define CONFIG_SYS_NO_FLASH
+
+-/*
+- * Command line configuration.
+/* Compat needed or i2c read/write/init is not defined */
+#define CONFIG_DM_I2C_COMPAT
++
+/* Required to prevent conflicting definitions of
+ * I2C_GET_BUS and I2C_SET_BUS
-+ */
+ */
+-#define CONFIG_CMD_NAND
+#define CONFIG_DM_I2C
-+/* COMPAT above requires CONFIG_SYS_I2C or definitions
-+ for inline functions like i2c_reg_read are
-+ inconsistant.
-+ */
-+
-+/*
-+ * | include/config_fallbacks.h:96:4: error: #error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used"
-+ * | # error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used"
-+ * | ^~~~~
-+ */
-+
- #define CONFIG_CMD_PING
- #define CONFIG_CMD_DHCP
- #define CONFIG_CMD_NAND
-@@ -74,6 +101,41 @@
- #define CONFIG_CMD_MMC
- #define CONFIG_CMD_FAT
- #define CONFIG_CMD_USB
-+#define CONFIG_CMD_I2C
-+#define CONFIG_SYS_I2C_SOFT
-+#define CONFIG_SOFT_I2C
-+#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31
-+#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30
-+#define CONFIG_SYS_I2C_SOFT_SPEED 50000
-+#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED
-+/* Values from previous levels of Conduit U-Boot */
-+#define CONFIG_SYS_I2C_SLAVE 0xfe
-+#define I2C_RXTX_LEN 128
-+
-+
-+/* Problems:
-+ *
-+ * ENAME=KBUILD_STR(help)" -D"KBUILD_MODNAME=KBUILD_STR(help)" -c -o cmd/help.o cmd/help.c
-+| drivers/i2c/soft_i2c.c:300:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration
-+| static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
-+| ^~~~~~~~~~~
-+| drivers/i2c/soft_i2c.c:323:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration
-+| static int soft_i2c_probe(struct i2c_adapter *adap, uint8_t addr)
-+| ^~~~~~~~~~~
-+| drivers/i2c/soft_i2c.c:341:34: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration
-+| static int soft_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr,
-+| ^~~~~~~~~~~
-+| drivers/i2c/soft_i2c.c:416:35: warning: 'struct i2c_adapter' declared inside parameter list will not be visible outside of this definition or declaration
-+| static int soft_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr,
-+| ^~~~~~~~~~~
-+| arm-mlinux-linux-gnueabi-gcc --sysroot=/home/jklug/mlinux_morty/build/tmp/sysroots/mtcdt -Wp,-MD,drivers/input/.input.o.d -nostdinc -isystem /home/jklug/mlinux_morty/build/tmp/sysroots/x86_64-linux/usr/lib/arm-mlinux-linux-gnueabi/gcc/arm-mlinux-linux-gnueabi/6.2.0/include -Iinclude -I./arch/arm/include
-+*/
-+
-+/* I2C eeprom support */
-+#define CONFIG_CMD_EEPROM
-+#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */
-+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
-+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
/*
* define CONFIG_USB_EHCI to enable USB Hi-Speed (aka 2.0)
-@@ -84,7 +146,7 @@
+@@ -72,7 +90,7 @@
/* SDRAM */
#define CONFIG_NR_DRAM_BANKS 1
#define CONFIG_SYS_SDRAM_BASE 0x20000000
@@ -212,7 +76,7 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x
#define CONFIG_SYS_INIT_SP_ADDR \
(CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
-@@ -106,13 +168,28 @@
+@@ -94,13 +112,30 @@
/* our CLE is AD22 */
#define CONFIG_SYS_NAND_MASK_CLE (1 << 22)
#define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4
@@ -224,35 +88,47 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x
#define CONFIG_ATMEL_NAND_HWECC 1
#define CONFIG_ATMEL_NAND_HW_PMECC 1
-#define CONFIG_PMECC_CAP 2
++
+/* MTCDT: 4-bit PMECC */
+#define CONFIG_PMECC_CAP 4
#define CONFIG_PMECC_SECTOR_SIZE 512
+/*
-+ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by:
-+ * ATMEL_PMECC_INDEX_OFFSET_512 and
-+ * ATMEL_PMECC_INDEX_OFFSET_1024
-+ *
-+ * Which is used depends on:
-+ * host->pmecc_sector_size == 512
-+ *
-+ * 2012.10:
-+ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000
-+ * 2016.03 (at91sam9x5.h):
-+ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000
-+ */
+++ * CONFIG_PMECC_INDEX_TABLE_OFFSET has been replaced by:
+++ * ATMEL_PMECC_INDEX_OFFSET_512 and
+++ * ATMEL_PMECC_INDEX_OFFSET_1024
+++ *
+++ * Which is used depends on:
+++ * host->pmecc_sector_size == 512
+++ *
+++ * 2012.10:
+++ * #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000
+++ * 2016.03 (at91sam9x5.h):
+++ * 182:#define ATMEL_PMECC_INDEX_OFFSET_512 0x8000
+++ */
++
#define CONFIG_CMD_NAND_TRIMFFS
-@@ -142,6 +219,8 @@
- #define CONFIG_RMII
- #define CONFIG_NET_RETRY_COUNT 20
- #define CONFIG_MACB_SEARCH_PHY
-+/* enable MII command */
-+#define CONFIG_CMD_MII 1
+@@ -147,20 +182,36 @@
+ #endif
+ #endif
- /* USB */
- #ifdef CONFIG_CMD_USB
-@@ -163,18 +242,17 @@
++#define CONFIG_SYS_I2C_SOFT
++#define CONFIG_SOFT_I2C
++#define CONFIG_SOFT_I2C_GPIO_SCL AT91_PIN_PA31
++#define CONFIG_SOFT_I2C_GPIO_SDA AT91_PIN_PA30
++#define CONFIG_SYS_I2C_SOFT_SPEED 50000
++#define CONFIG_SYS_I2C_SPEED CONFIG_SYS_I2C_SOFT_SPEED
++/* Values from previous levels of Conduit U-Boot */
++#define CONFIG_SYS_I2C_SLAVE 0xfe
++#define I2C_RXTX_LEN 128
++
++/* I2C eeprom support */
++#define CONFIG_CMD_EEPROM
++#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* at24c04 */
++#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
++#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
++
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
@@ -269,37 +145,26 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x
-#define CONFIG_BOOTCOMMAND "nand read " \
- "0x22000000 0x200000 0x300000; " \
- "bootm 0x22000000"
--#elif defined(CONFIG_SYS_USE_SPIFLASH)
+/* MTCDT: read from env variables for boot */
+#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}"
-+#elif CONFIG_SYS_USE_SPIFLASH
++
+ #elif defined(CONFIG_SYS_USE_SPIFLASH)
/* bootstrap + u-boot + env + linux in spi flash */
#define CONFIG_ENV_IS_IN_SPI_FLASH
- #define CONFIG_ENV_OFFSET 0x5000
-@@ -204,6 +282,10 @@
- #define CONFIG_ENV_SIZE 0x4000
- #endif
-
-+#ifdef USE_MTCDT
+@@ -197,6 +248,9 @@
+ "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \
+ "root=/dev/mmcblk0p2 " \
+ "rw rootfstype=ext4 rootwait"
++#elif defined(USE_MTCDT)
+/* MTCDT uses jffs2 */
+#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2"
-+#else
- #ifdef CONFIG_SYS_USE_MMC
- #define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \
- "mtdparts=atmel_nand:" \
-@@ -218,6 +300,7 @@
- "512k(dtb),6M(kernel)ro,-(rootfs) " \
- "rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw"
- #endif
-+#endif
-
- #define CONFIG_BAUDRATE 115200
-
-@@ -288,4 +371,22 @@
+ #else
+ #define CONFIG_BOOTARGS \
+ "console=ttyS0,115200 earlyprintk " \
+@@ -274,4 +328,20 @@
#endif
-+
+/* MTCDT defaults */
+#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */
+#define CONFIG_ETHADDR 00:08:00:87:00:02
@@ -312,7 +177,6 @@ diff -raNu git.orig/include/configs/at91sam9x5ek.h git/include/configs/at91sam9x
+/* MTCDT - enable watchdog */
+#define CONFIG_AT91SAM9_WATCHDOG 1
+#define CONFIG_HW_WATCHDOG 1
-+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "kernel_addr=0x200000\0" \
+ ""
diff --git a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch b/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch
deleted file mode 100644
index 8c39abf..0000000
--- a/recipes-bsp/u-boot/u-boot-2016.09.01/mtcdt/spl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -raNu git.orig/configs/at91sam9x5ek_nandflash_defconfig git/configs/at91sam9x5ek_nandflash_defconfig
---- git.orig/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:52:50.369459785 -0500
-+++ git/configs/at91sam9x5ek_nandflash_defconfig 2017-05-02 17:54:16.855261970 -0500
-@@ -1,7 +1,7 @@
- CONFIG_ARM=y
- CONFIG_ARCH_AT91=y
- CONFIG_TARGET_AT91SAM9X5EK=y
--CONFIG_SPL=y
-+CONFIG_SPL=n
- CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH"
- CONFIG_SYS_PROMPT="U-Boot> "
- # CONFIG_CMD_IMI is not set