summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2018-01-15 14:46:51 -0600
committerJohn Klug <john.klug@multitech.com>2018-01-15 14:46:51 -0600
commit5bcb4e74a45457319940c44ba31fa8ac97b9d167 (patch)
tree100d5c5ea0e36f6ed6e429bb082ebd3dc56a91bb
parent47e0b4783ab81e2731333494963c85599507f8bd (diff)
downloadmeta-multitech-5bcb4e74a45457319940c44ba31fa8ac97b9d167.tar.gz
meta-multitech-5bcb4e74a45457319940c44ba31fa8ac97b9d167.tar.bz2
meta-multitech-5bcb4e74a45457319940c44ba31fa8ac97b9d167.zip
Remove obsolete files
-rw-r--r--recipes-bsp/u-boot/u-boot-2012.10/u-boot-2010.06-macb-autoneg-timeout.patch53
-rw-r--r--recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-mtcdt.patch294
-rw-r--r--recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-pwd.patch312
-rw-r--r--recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-sam9x5-eth-mii-fix.patch27
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch114
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch320
-rw-r--r--recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch12
-rw-r--r--recipes-bsp/u-boot/u-boot_2016.03.bb.sav15
8 files changed, 0 insertions, 1147 deletions
diff --git a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2010.06-macb-autoneg-timeout.patch b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2010.06-macb-autoneg-timeout.patch
deleted file mode 100644
index 5294b1a..0000000
--- a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2010.06-macb-autoneg-timeout.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Index: u-boot-2010.06/drivers/net/macb.c
-===================================================================
---- u-boot-2010.06.orig/drivers/net/macb.c 2013-01-04 16:57:21.460051123 -0600
-+++ u-boot-2010.06/drivers/net/macb.c 2013-01-04 17:03:28.880052058 -0600
-@@ -57,7 +57,7 @@
- #define CONFIG_SYS_MACB_RX_RING_SIZE (CONFIG_SYS_MACB_RX_BUFFER_SIZE / 128)
- #define CONFIG_SYS_MACB_TX_RING_SIZE 16
- #define CONFIG_SYS_MACB_TX_TIMEOUT 1000
--#define CONFIG_SYS_MACB_AUTONEG_TIMEOUT 5000000
-+#define CONFIG_SYS_MACB_AUTONEG_TIMEOUT 3000000
-
- struct macb_dma_desc {
- u32 addr;
-@@ -322,11 +322,12 @@
- return 0;
- }
-
--static void macb_phy_reset(struct macb_device *macb)
-+static u16 macb_phy_reset(struct macb_device *macb)
- {
- struct eth_device *netdev = &macb->netdev;
- int i;
-- u16 status, adv;
-+ u16 status = 0;
-+ u16 adv;
-
- adv = ADVERTISE_CSMA | ADVERTISE_ALL;
- macb_mdio_write(macb, MII_ADVERTISE, adv);
-@@ -346,6 +347,8 @@
- else
- printf("%s: Autonegotiation timed out (status=0x%04x)\n",
- netdev->name, status);
-+
-+ return status;
- }
-
- #ifdef CONFIG_MACB_SEARCH_PHY
-@@ -397,14 +400,7 @@
- status = macb_mdio_read(macb, MII_BMSR);
- if (!(status & BMSR_LSTATUS)) {
- /* Try to re-negotiate if we don't have link already. */
-- macb_phy_reset(macb);
--
-- for (i = 0; i < CONFIG_SYS_MACB_AUTONEG_TIMEOUT / 100; i++) {
-- status = macb_mdio_read(macb, MII_BMSR);
-- if (status & BMSR_LSTATUS)
-- break;
-- udelay(100);
-- }
-+ status = macb_phy_reset(macb);
- }
-
- if (!(status & BMSR_LSTATUS)) {
diff --git a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-mtcdt.patch b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-mtcdt.patch
deleted file mode 100644
index e97d20b..0000000
--- a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-mtcdt.patch
+++ /dev/null
@@ -1,294 +0,0 @@
-Index: git/include/configs/at91sam9x5ek.h
-===================================================================
---- git.orig/include/configs/at91sam9x5ek.h 2015-03-31 17:07:08.258060132 -0500
-+++ git/include/configs/at91sam9x5ek.h 2015-03-31 17:07:09.086047272 -0500
-@@ -40,6 +40,7 @@
- #define CONFIG_INITRD_TAG
- #define CONFIG_SKIP_LOWLEVEL_INIT
- #define CONFIG_BOARD_EARLY_INIT_F
-+#define CONFIG_MISC_INIT_R /* enable platform-dependent misc_init_r() */
- #define CONFIG_DISPLAY_CPUINFO
-
- #define CONFIG_OF_LIBFDT
-@@ -54,6 +55,7 @@
- #define CONFIG_USART_ID ATMEL_ID_SYS
-
- /* LCD */
-+/* MTCDT has no LCD
- #define CONFIG_LCD
- #define LCD_BPP LCD_COLOR16
- #define LCD_OUTPUT_BPP 24
-@@ -65,8 +67,14 @@
- #define CONFIG_ATMEL_HLCD
- #define CONFIG_ATMEL_LCD_RGB565
- #define CONFIG_SYS_CONSOLE_IS_IN_ENV
-+*/
-
--#define CONFIG_BOOTDELAY 3
-+/*STATUS LED*/
-+#define BOOT_STATUS_LED AT91_PIN_PA24
-+
-+#define CONFIG_BOOTDELAY 0
-+/* check for keypress even if bootdelay is 0 */
-+#define CONFIG_ZERO_BOOTDELAY_CHECK
-
- /*
- * BOOTP options
-@@ -90,10 +98,22 @@
- #define CONFIG_CMD_NAND
- #define CONFIG_CMD_SF
-
-+#define CONFIG_CMD_I2C
-+#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_SPEED 50000
-+
-+/* 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
-+
- /* SDRAM */
- #define CONFIG_NR_DRAM_BANKS 1
- #define CONFIG_SYS_SDRAM_BASE 0x20000000
--#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 megs */
-+#define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */
-
- #define CONFIG_SYS_INIT_SP_ADDR \
- (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
-@@ -120,12 +140,14 @@
- /* our CLE is AD22 */
- #define CONFIG_SYS_NAND_MASK_CLE (1 << 22)
- #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4
--#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5
-+/* MTCDT nand ready is PC31 */
-+#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC31
-
- /* PMECC & PMERRLOC */
- #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
- #define CONFIG_PMECC_INDEX_TABLE_OFFSET 0x8000
-
-@@ -143,21 +165,22 @@
- #define CONFIG_RMII
- #define CONFIG_NET_RETRY_COUNT 20
- #define CONFIG_MACB_SEARCH_PHY
-+/* enable MII command */
-+#define CONFIG_CMD_MII 1
-
- #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
-
- #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
--#define CONFIG_SYS_MEMTEST_END 0x26e00000
-+#define CONFIG_SYS_MEMTEST_END 0x2ee00000
-
- #ifdef CONFIG_SYS_USE_NANDFLASH
- /* bootstrap + u-boot + env + linux in nandflash */
- #define CONFIG_ENV_IS_IN_NAND
- #define CONFIG_ENV_OFFSET 0xc0000
--#define CONFIG_ENV_OFFSET_REDUND 0x100000
-+#define CONFIG_ENV_OFFSET_REDUND 0x160000
- #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */
--#define CONFIG_BOOTCOMMAND "nand read " \
-- "0x22000000 0x200000 0x300000; " \
-- "bootm 0x22000000"
-+/* MTCDT: read from env variables for boot */
-+#define CONFIG_BOOTCOMMAND "nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}"
- #else
- #ifdef CONFIG_SYS_USE_SPIFLASH
- /* bootstrap + u-boot + env + linux in spi flash */
-@@ -172,11 +195,8 @@
- #endif
- #endif
-
--#define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \
-- "mtdparts=atmel_nand:" \
-- "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \
-- "root=/dev/mtdblock1 rw " \
-- "rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"
-+/* MTCDT uses jffs2 */
-+#define CONFIG_BOOTARGS "mem=256M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2"
-
- #define CONFIG_BAUDRATE 115200
-
-@@ -199,4 +219,22 @@
- #error CONFIG_USE_IRQ not supported
- #endif
-
-+/* MTCDT defaults */
-+#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */
-+#define CONFIG_ETHADDR 00:08:00:87:00:02
-+#define CONFIG_IPADDR 192.168.2.1
-+#define CONFIG_NETMASK 255.255.255.0
-+#define CONFIG_SERVERIP 192.168.2.2
-+#define CONFIG_HOSTNAME AT91SAM9G25
-+#define CONFIG_LOADADDR 0x22000000
-+
-+/* MTCDT - enable watchdog */
-+#define CONFIG_AT91SAM9_WATCHDOG 1
-+#define CONFIG_HW_WATCHDOG 1
-+
-+#define CONFIG_EXTRA_ENV_SETTINGS \
-+ "kernel_addr=0x200000\0" \
-+ ""
-+
-+
- #endif
-Index: git/board/atmel/at91sam9x5ek/at91sam9x5ek.c
-===================================================================
---- git.orig/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2015-03-31 17:07:03.950127041 -0500
-+++ git/board/atmel/at91sam9x5ek/at91sam9x5ek.c 2015-03-31 17:16:49.269015984 -0500
-@@ -61,7 +61,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;
-@@ -266,6 +267,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;
-
-@@ -288,6 +292,63 @@
- #ifdef CONFIG_LCD
- at91sam9x5ek_lcd_hw_init();
- #endif
-+
-+ 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 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;
- }
-
-@@ -297,3 +358,4 @@
- CONFIG_SYS_SDRAM_SIZE);
- return 0;
- }
-+
-Index: git/board/atmel/at91sam9x5ek/config.mk
-===================================================================
---- git.orig/board/atmel/at91sam9x5ek/config.mk 2015-03-31 17:07:03.950127041 -0500
-+++ git/board/atmel/at91sam9x5ek/config.mk 2015-03-31 17:07:09.086047272 -0500
-@@ -1 +1 @@
--CONFIG_SYS_TEXT_BASE = 0x26f00000
-+CONFIG_SYS_TEXT_BASE = 0x2ef00000
-Index: git/drivers/gpio/at91_gpio.c
-===================================================================
---- git.orig/drivers/gpio/at91_gpio.c 2015-03-31 17:07:04.822113498 -0500
-+++ git/drivers/gpio/at91_gpio.c 2015-03-31 17:07:09.086047272 -0500
-@@ -40,6 +40,7 @@
- #include <asm/sizes.h>
- #include <asm/arch/hardware.h>
- #include <asm/arch/at91_pio.h>
-+#include <asm/arch/gpio.h>
-
- int at91_set_pio_pullup(unsigned port, unsigned pin, int use_pullup)
- {
-@@ -343,3 +344,39 @@
- }
- return pdsr != 0;
- }
-+
-+int gpio_request(unsigned gpio, const char *label)
-+{
-+ return 0;
-+}
-+
-+int gpio_free(unsigned gpio)
-+{
-+ return 0;
-+}
-+
-+int gpio_is_valid(int number)
-+{
-+ return 0;
-+}
-+
-+int gpio_direction_input(unsigned gpio)
-+{
-+ // input with no pullup
-+ return at91_set_gpio_input(gpio, 0);
-+}
-+
-+int gpio_direction_output(unsigned gpio, int value)
-+{
-+ return at91_set_gpio_output(gpio, value);
-+}
-+
-+int gpio_get_value(unsigned gpio)
-+{
-+ return at91_get_gpio_value(gpio);
-+}
-+
-+void gpio_set_value(unsigned gpio, int value)
-+{
-+ return at91_set_gpio_value(gpio, value);
-+}
diff --git a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-pwd.patch b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-pwd.patch
deleted file mode 100644
index 5338a6a..0000000
--- a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-pwd.patch
+++ /dev/null
@@ -1,312 +0,0 @@
-diff --git a/common/Makefile b/common/Makefile
-index 973f05a..12e8c00 100644
---- a/common/Makefile
-+++ b/common/Makefile
-@@ -173,7 +173,7 @@ COBJS-$(CONFIG_YAFFS2) += cmd_yaffs2.o
- COBJS-$(CONFIG_CMD_SPL) += cmd_spl.o
- COBJS-$(CONFIG_CMD_ZIP) += cmd_zip.o
- COBJS-$(CONFIG_CMD_ZFS) += cmd_zfs.o
--
-+COBJS-$(CONFIG_MTS_PASSWD) += mts_passwd.o
- # others
- ifdef CONFIG_DDR_SPD
- SPD := y
-diff --git a/common/main.c b/common/main.c
-index 9507cec..249bf6e 100644
---- a/common/main.c
-+++ b/common/main.c
-@@ -403,7 +403,7 @@ void main_loop (void)
- }
- #endif /* CONFIG_MENUKEY */
- #endif /* CONFIG_BOOTDELAY */
--
-+ mts_run_passwd_loop();
- /*
- * Main Loop for Monitor Command Processing
- */
-diff --git a/common/mts_passwd.c b/common/mts_passwd.c
-new file mode 100644
-index 0000000..947ac3a
---- /dev/null
-+++ b/common/mts_passwd.c
-@@ -0,0 +1,248 @@
-+#include <common.h>
-+#include <linux/ctype.h>
-+#include <watchdog.h>
-+#include <sha256.h>
-+#include <mts_passwd.h>
-+
-+#define MTS_PASSWD_ATTEMPTS (3)
-+#define MTS_PASSWD_MAX_LEN (30)
-+#define MTS_PASSWD_HASH_VAR "mtsp"
-+#define MTS_PASSWD_SALT_VAR "mtss"
-+#define MTS_PASSWD_PROMPT "Enter password : "
-+
-+static
-+void mts_do_reset(unsigned long delay)
-+{
-+ mdelay(delay);
-+ do_reset(NULL, 0, 0, NULL);
-+}
-+
-+/*
-+ *
-+ * Figure out if device is locked or not
-+ *
-+ */
-+static
-+int mts_get_protection_status(void)
-+{
-+ int rc = 0; /* UNLOCKED */
-+ char *var = NULL;
-+ int len;
-+
-+ var = getenv(MTS_PASSWD_HASH_VAR);
-+
-+ do {
-+ /* Variable is not set */
-+ if (!var) break;
-+
-+ len = strlen(var);
-+
-+ /* Variable is empty */
-+ if (len == 0) break;
-+
-+ /*
-+ * Length should be correct. Otherwise, do not unlock the device, just show the message and reset.
-+ */
-+ if (len != 2*SHA256_SUM_LEN) {
-+ puts("WARNING: password is corrupted\n");
-+ mts_do_reset(1000);
-+ }
-+
-+ /* LOCKED */
-+ rc = 1;
-+
-+ } while (0);
-+
-+ return rc;
-+}
-+
-+
-+/*
-+ *
-+ * Helper function for the password reading
-+ *
-+ */
-+static
-+char *mts_password_delete_char(char *buffer, char *p, int *colp, int *np, int plen)
-+{
-+ static char erase_seq[] = "\b \b";
-+
-+ if (*np == 0) {
-+ return (p);
-+ }
-+
-+ --p;
-+ puts(erase_seq);
-+ (*colp)--;
-+
-+ (*np)--;
-+ return (p);
-+}
-+
-+/*
-+ *
-+ * Read password helper
-+ *
-+ */
-+static
-+int mts_password_into_buffer(const char *const prompt, char *buf, size_t buflen)
-+{
-+ char *p = buf;
-+ char *p_buf = p;
-+ int n = 0; /* buffer index */
-+ int plen = 0; /* prompt length */
-+ int col; /* output column cnt */
-+ char c;
-+
-+ /* print prompt */
-+ if (prompt) {
-+ plen = strlen(prompt);
-+ puts (prompt);
-+ }
-+
-+ col = plen;
-+
-+ for (;;) {
-+
-+ WATCHDOG_RESET();
-+
-+ c = getc();
-+
-+ /*
-+ * Special character handling
-+ */
-+ switch (c) {
-+ case '\r': /* Enter */
-+ case '\n':
-+ *p = '\0';
-+ puts("\r\n");
-+ return (p - p_buf);
-+
-+ case '\0': /* nul */
-+ case '\t':
-+ continue;
-+
-+ case 0x03: /* ^C - break */
-+ p_buf[0] = '\0'; /* discard input */
-+ puts("\r\n");
-+ return (-1);
-+
-+ case 0x08: /* ^H - backspace */
-+ case 0x7F: /* DEL - backspace */
-+ p = mts_password_delete_char(p_buf, p, &col, &n, plen);
-+ continue;
-+
-+ default:
-+ /*
-+ * Must be a normal character then
-+ */
-+ if (n < buflen - 2) {
-+ ++col; /* echo input */
-+ *p++ = c;
-+ ++n;
-+ }
-+ putc('*');
-+ }
-+ }
-+}
-+
-+/*
-+ *
-+ * Read the password from input
-+ *
-+ */
-+static
-+int read_password(char *buf, size_t buflen)
-+{
-+ return mts_password_into_buffer(MTS_PASSWD_PROMPT, buf, buflen);
-+}
-+
-+/*
-+ *
-+ * Verify if the entered password is correct.
-+ *
-+ */
-+static
-+int verify_password(char *pwd, size_t pwdlen)
-+{
-+ char *hash_env = getenv(MTS_PASSWD_HASH_VAR);;
-+ char *salt_env = getenv(MTS_PASSWD_SALT_VAR);
-+
-+ if (pwd && pwdlen > 0 && hash_env && (strlen(hash_env) == 2*SHA256_SUM_LEN)) {
-+ uint8_t hash[SHA256_SUM_LEN];
-+ uint8_t prefix[]={'0','3','e','3'};
-+ sha256_context ctx;
-+ char tmp[3];
-+ int i;
-+
-+ sha256_starts(&ctx);
-+ sha256_update(&ctx, prefix, 4);
-+ sha256_update(&ctx, (uint8_t *) pwd, pwdlen);
-+ if (salt_env) {
-+ size_t saltlen = strlen(salt_env);
-+ sha256_update(&ctx, (uint8_t *) salt_env, saltlen);
-+ }
-+ sha256_finish(&ctx, hash);
-+ memset(&ctx, 0, sizeof(sha256_context));
-+
-+ for (i = 0; i < SHA256_SUM_LEN; i++) {
-+ snprintf(tmp, sizeof tmp, "%02x", hash[i]);
-+ if (tolower(tmp[0]) != tolower(hash_env[2*i]) ||
-+ tolower(tmp[1]) != tolower(hash_env[2*i + 1])) {
-+ break;
-+ }
-+ }
-+
-+ if (i == SHA256_SUM_LEN) {
-+ return 1;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+/*
-+ *
-+ * Check is the device is locked and ask the password.
-+ *
-+ */
-+void mts_run_passwd_loop(void)
-+{
-+ char buf[MTS_PASSWD_MAX_LEN] = "\0";
-+ unsigned long delay = 1000; /* 1 second initially */
-+ int len;
-+ int trynr = 0;
-+
-+ /* Do not delete */
-+ printf("", "mts password protected");
-+
-+ if (mts_get_protection_status() == 0) {
-+ return;
-+ }
-+
-+ while (1) {
-+ if (trynr == MTS_PASSWD_ATTEMPTS) {
-+ mts_do_reset(1000);
-+ }
-+
-+ len = read_password(buf, MTS_PASSWD_MAX_LEN);
-+ if (len > 0) {
-+ if (verify_password(buf, len)) {
-+ /* zero out */
-+ memset(buf, 0, sizeof(buf));
-+ return;
-+ }
-+ puts("Permission denied\n");
-+ }
-+
-+ trynr++;
-+
-+ /* progressive delay */
-+ mdelay(delay);
-+ delay *= 2;
-+ if (delay > 4000) delay = 4000;
-+ }
-+ /* zero out */
-+ memset(buf, 0, sizeof(buf));
-+ return;
-+}
-diff --git a/include/common.h b/include/common.h
-index a7fb05e..b334700 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -41,6 +41,7 @@ typedef volatile unsigned char vu_char;
- #include <linux/string.h>
- #include <asm/ptrace.h>
- #include <stdarg.h>
-+#include <mts_passwd.h>
- #if defined(CONFIG_PCI) && (defined(CONFIG_4xx) && !defined(CONFIG_AP1000))
- #include <pci.h>
- #endif
-diff --git a/include/mts_passwd.h b/include/mts_passwd.h
-new file mode 100644
-index 0000000..1668d8f
---- /dev/null
-+++ b/include/mts_passwd.h
-@@ -0,0 +1,13 @@
-+#ifndef _MTS_PASSWD_H
-+#define _MTS_PASSWD_H
-+
-+#define CONFIG_MTS_PASSWD
-+
-+#if defined(CONFIG_MTS_PASSWD)
-+#define CONFIG_SHA256
-+void mts_run_passwd_loop(void);
-+#else
-+#define mts_run_passwd_loop() {}
-+#endif
-+
-+#endif
-\ No newline at end of file
diff --git a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-sam9x5-eth-mii-fix.patch b/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-sam9x5-eth-mii-fix.patch
deleted file mode 100644
index 0f41ac4..0000000
--- a/recipes-bsp/u-boot/u-boot-2012.10/u-boot-2012.10-sam9x5-eth-mii-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Index: git/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c
-===================================================================
---- git.orig/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c 2013-02-11 10:22:35.000000000 -0600
-+++ git/arch/arm/cpu/arm926ejs/at91/at91sam9x5_devices.c 2013-02-11 10:32:59.652182120 -0600
-@@ -206,14 +206,14 @@
- #ifndef CONFIG_RMII
- /* Only emac0 support MII */
- if (has_emac0()) {
-- at91_set_b_periph(AT91_PIO_PORTB, 16, 0); /* ECRS */
-- at91_set_b_periph(AT91_PIO_PORTB, 17, 0); /* ECOL */
-- at91_set_b_periph(AT91_PIO_PORTB, 13, 0); /* ERX2 */
-- at91_set_b_periph(AT91_PIO_PORTB, 14, 0); /* ERX3 */
-- at91_set_b_periph(AT91_PIO_PORTB, 15, 0); /* ERXCK */
-- at91_set_b_periph(AT91_PIO_PORTB, 11, 0); /* ETX2 */
-- at91_set_b_periph(AT91_PIO_PORTB, 12, 0); /* ETX3 */
-- at91_set_b_periph(AT91_PIO_PORTB, 8, 0); /* ETXER */
-+ at91_set_a_periph(AT91_PIO_PORTB, 16, 0); /* ECRS */
-+ at91_set_a_periph(AT91_PIO_PORTB, 17, 0); /* ECOL */
-+ at91_set_a_periph(AT91_PIO_PORTB, 13, 0); /* ERX2 */
-+ at91_set_a_periph(AT91_PIO_PORTB, 14, 0); /* ERX3 */
-+ at91_set_a_periph(AT91_PIO_PORTB, 15, 0); /* ERXCK */
-+ at91_set_a_periph(AT91_PIO_PORTB, 11, 0); /* ETX2 */
-+ at91_set_a_periph(AT91_PIO_PORTB, 12, 0); /* ETX3 */
-+ at91_set_a_periph(AT91_PIO_PORTB, 8, 0); /* ETXER */
- }
- #endif
- }
diff --git a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch
deleted file mode 100644
index af726a3..0000000
--- a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/i2c.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-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
-@@ -17,6 +17,27 @@
- #ifndef _I2C_H_
- #define _I2C_H_
-
-+#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \
-+ _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \
-+ { \
-+ .init = _init, \
-+ .probe = _probe, \
-+ .read = _read, \
-+ .write = _write, \
-+ .set_bus_speed = _set_speed, \
-+ .speed = _speed, \
-+ .slaveaddr = _slaveaddr, \
-+ .init_done = 0, \
-+ .hwadapnr = _hwadapnr, \
-+ .name = #_name \
-+};
-+
-+#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \
-+ _set_speed, _speed, _slaveaddr, _hwadapnr) \
-+ ll_entry_declare(struct i2c_adapter, _name, i2c) = \
-+ U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \
-+ _set_speed, _speed, _slaveaddr, _hwadapnr, _name);
-+
- /*
- * For now there are essentially two parts to this file - driver model
- * here at the top, and the older code below (with CONFIG_SYS_I2C being
-@@ -538,6 +559,26 @@
- */
- void i2c_dump_msgs(struct i2c_msg *msg, int nmsgs);
-
-+
-+struct i2c_adapter {
-+ void (*init)(struct i2c_adapter *adap, int speed,
-+ int slaveaddr);
-+ int (*probe)(struct i2c_adapter *adap, uint8_t chip);
-+ int (*read)(struct i2c_adapter *adap, uint8_t chip,
-+ uint addr, int alen, uint8_t *buffer,
-+ int len);
-+ int (*write)(struct i2c_adapter *adap, uint8_t chip,
-+ uint addr, int alen, uint8_t *buffer,
-+ int len);
-+ uint (*set_bus_speed)(struct i2c_adapter *adap,
-+ uint speed);
-+ int speed;
-+ int waitdelay;
-+ int slaveaddr;
-+ int init_done;
-+ int hwadapnr;
-+ char *name;
-+};
- #ifndef CONFIG_DM_I2C
-
- /*
-@@ -578,46 +619,6 @@
- #define CONFIG_SYS_SPD_BUS_NUM 0
- #endif
-
--struct i2c_adapter {
-- void (*init)(struct i2c_adapter *adap, int speed,
-- int slaveaddr);
-- int (*probe)(struct i2c_adapter *adap, uint8_t chip);
-- int (*read)(struct i2c_adapter *adap, uint8_t chip,
-- uint addr, int alen, uint8_t *buffer,
-- int len);
-- int (*write)(struct i2c_adapter *adap, uint8_t chip,
-- uint addr, int alen, uint8_t *buffer,
-- int len);
-- uint (*set_bus_speed)(struct i2c_adapter *adap,
-- uint speed);
-- int speed;
-- int waitdelay;
-- int slaveaddr;
-- int init_done;
-- int hwadapnr;
-- char *name;
--};
--
--#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \
-- _set_speed, _speed, _slaveaddr, _hwadapnr, _name) \
-- { \
-- .init = _init, \
-- .probe = _probe, \
-- .read = _read, \
-- .write = _write, \
-- .set_bus_speed = _set_speed, \
-- .speed = _speed, \
-- .slaveaddr = _slaveaddr, \
-- .init_done = 0, \
-- .hwadapnr = _hwadapnr, \
-- .name = #_name \
--};
--
--#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \
-- _set_speed, _speed, _slaveaddr, _hwadapnr) \
-- ll_entry_declare(struct i2c_adapter, _name, i2c) = \
-- U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \
-- _set_speed, _speed, _slaveaddr, _hwadapnr, _name);
-
- struct i2c_adapter *i2c_get_adapter(int index);
-
-@@ -803,7 +804,7 @@
- void i2c_soft_scl(int bit);
- void i2c_soft_delay(void);
- #endif
--#else
-+#else if !defined(CONFIG_DM_I2C_COMPAT)
-
- /*
- * Probe the given I2C chip address. Returns 0 if a chip responded,
diff --git a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch
deleted file mode 100644
index b44b925..0000000
--- a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/mtcdt.patch
+++ /dev/null
@@ -1,320 +0,0 @@
-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 @@
-
- #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
- #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_USART_ID ATMEL_ID_SYS
-
- /* LCD */
-+/* MTCDT has no LCD */
-+#ifndef MTCDT
- #define CONFIG_LCD
- #define LCD_BPP LCD_COLOR16
- #define LCD_OUTPUT_BPP 24
-@@ -50,8 +54,14 @@
- #define CONFIG_ATMEL_HLCD
- #define CONFIG_ATMEL_LCD_RGB565
- #define CONFIG_SYS_CONSOLE_IS_IN_ENV
-+#endif
-+
-+/*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
-
- /*
- * BOOTP options
-@@ -67,6 +77,23 @@
- /*
- * 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_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 @@
- /* SDRAM */
- #define CONFIG_NR_DRAM_BANKS 1
- #define CONFIG_SYS_SDRAM_BASE 0x20000000
--#define CONFIG_SYS_SDRAM_SIZE 0x08000000 /* 128 megs */
-+#define CONFIG_SYS_SDRAM_SIZE 0x10000000 /* 256 megs */
-
- #define CONFIG_SYS_INIT_SP_ADDR \
- (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
-@@ -106,13 +168,28 @@
- /* our CLE is AD22 */
- #define CONFIG_SYS_NAND_MASK_CLE (1 << 22)
- #define CONFIG_SYS_NAND_ENABLE_PIN AT91_PIN_PD4
--#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PD5
-+/* MTCDT nand ready is PC31 */
-+#define CONFIG_SYS_NAND_READY_PIN AT91_PIN_PC31
-
- /* PMECC & PMERRLOC */
- #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
-+ */
-
- #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
-
- /* USB */
- #ifdef CONFIG_CMD_USB
-@@ -163,18 +242,17 @@
- #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
-
- #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
--#define CONFIG_SYS_MEMTEST_END 0x26e00000
-+#define CONFIG_SYS_MEMTEST_END 0x2ee00000
-
- #ifdef CONFIG_SYS_USE_NANDFLASH
- /* bootstrap + u-boot + env + linux in nandflash */
- #define CONFIG_ENV_IS_IN_NAND
- #define CONFIG_ENV_OFFSET 0xc0000
--#define CONFIG_ENV_OFFSET_REDUND 0x100000
-+#define CONFIG_ENV_OFFSET_REDUND 0x160000
- #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */
--#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
- /* 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
-+/* 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 @@
-
- #endif
-
-+
-+/* MTCDT defaults */
-+#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */
-+#define CONFIG_ETHADDR 00:08:00:87:00:02
-+#define CONFIG_IPADDR 192.168.2.1
-+#define CONFIG_NETMASK 255.255.255.0
-+#define CONFIG_SERVERIP 192.168.2.2
-+#define CONFIG_HOSTNAME AT91SAM9G25
-+#define CONFIG_LOADADDR 0x22000000
-+
-+/* MTCDT - enable watchdog */
-+#define CONFIG_AT91SAM9_WATCHDOG 1
-+#define CONFIG_HW_WATCHDOG 1
-+
-+#define CONFIG_EXTRA_ENV_SETTINGS \
-+ "kernel_addr=0x200000\0" \
-+ ""
-+
- #endif
diff --git a/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch b/recipes-bsp/u-boot/u-boot-2016.03/mtcdt/spl.patch
deleted file mode 100644
index 8c39abf..0000000
--- a/recipes-bsp/u-boot/u-boot-2016.03/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
diff --git a/recipes-bsp/u-boot/u-boot_2016.03.bb.sav b/recipes-bsp/u-boot/u-boot_2016.03.bb.sav
deleted file mode 100644
index 1f58b50..0000000
--- a/recipes-bsp/u-boot/u-boot_2016.03.bb.sav
+++ /dev/null
@@ -1,15 +0,0 @@
-require u-boot.inc
-
-DEPENDS += "dtc-native"
-
-# This revision corresponds to the tag "v2016.03"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa"
-
-PV = "v2016.03+git${SRCPV}"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-2016.03:"
-SRC_URI += "file://mtcdt.patch"
-SRC_URI += "file://spl.patch"
-SRC_URI += "file://i2c.patch"