]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
Merge git://git.denx.de/u-boot-i2c
authorTom Rini <trini@konsulko.com>
Sat, 26 Aug 2017 19:10:38 +0000 (15:10 -0400)
committerTom Rini <trini@konsulko.com>
Sat, 26 Aug 2017 19:10:38 +0000 (15:10 -0400)
102 files changed:
arch/arm/cpu/arm926ejs/spear/Makefile
arch/arm/cpu/arm926ejs/spear/cpu.c
arch/arm/cpu/arm926ejs/spear/spr_lowlevel_init.S [moved from board/spear/common/spr_lowlevel_init.S with 100% similarity]
arch/arm/cpu/arm926ejs/spear/spr_misc.c [moved from board/spear/common/spr_misc.c with 100% similarity]
arch/arm/cpu/armv8/fsl-layerscape/fdt.c
arch/arm/cpu/armv8/sec_firmware.c
arch/arm/dts/am33xx.dtsi
arch/arm/dts/sama5d2.dtsi
arch/arm/include/asm/armv8/sec_firmware.h
arch/arm/mach-at91/arm926ejs/Makefile
arch/arm/mach-at91/armv7/Makefile
arch/arm/mach-stm32/Kconfig
arch/powerpc/cpu/mpc83xx/interrupts.c
arch/powerpc/cpu/mpc85xx/interrupts.c
arch/powerpc/cpu/mpc86xx/interrupts.c
arch/powerpc/cpu/mpc8xx/interrupts.c
arch/powerpc/include/asm/ppc.h
arch/powerpc/lib/interrupts.c
board/isee/igep00x0/MAINTAINERS
board/isee/igep00x0/Makefile
board/isee/igep00x0/common.c [new file with mode: 0644]
board/isee/igep00x0/igep00x0.c
board/isee/igep00x0/igep00x0.h
board/isee/igep00x0/spl.c [new file with mode: 0644]
board/spear/common/Makefile [deleted file]
cmd/mtdparts.c
cmd/spl.c
configs/am57xx_evm_defconfig
configs/am57xx_evm_nodt_defconfig
configs/am57xx_hs_evm_defconfig
configs/at91sam9260ek_dataflash_cs0_defconfig
configs/at91sam9260ek_dataflash_cs1_defconfig
configs/at91sam9260ek_nandflash_defconfig
configs/at91sam9261ek_dataflash_cs0_defconfig
configs/at91sam9261ek_dataflash_cs3_defconfig
configs/at91sam9261ek_nandflash_defconfig
configs/at91sam9263ek_dataflash_cs0_defconfig
configs/at91sam9263ek_dataflash_defconfig
configs/at91sam9263ek_nandflash_defconfig
configs/at91sam9263ek_norflash_boot_defconfig
configs/at91sam9263ek_norflash_defconfig
configs/at91sam9g20ek_2mmc_defconfig
configs/at91sam9g20ek_2mmc_nandflash_defconfig
configs/at91sam9g20ek_dataflash_cs0_defconfig
configs/at91sam9g20ek_dataflash_cs1_defconfig
configs/at91sam9g20ek_nandflash_defconfig
configs/at91sam9m10g45ek_mmc_defconfig
configs/at91sam9m10g45ek_nandflash_defconfig
configs/at91sam9n12ek_mmc_defconfig
configs/at91sam9n12ek_nandflash_defconfig
configs/at91sam9n12ek_spiflash_defconfig
configs/at91sam9rlek_dataflash_defconfig
configs/at91sam9rlek_mmc_defconfig
configs/at91sam9rlek_nandflash_defconfig
configs/at91sam9x5ek_dataflash_defconfig
configs/at91sam9x5ek_mmc_defconfig
configs/at91sam9x5ek_nandflash_defconfig
configs/at91sam9x5ek_spiflash_defconfig
configs/at91sam9xeek_dataflash_cs0_defconfig
configs/at91sam9xeek_dataflash_cs1_defconfig
configs/at91sam9xeek_nandflash_defconfig
configs/dra7xx_evm_defconfig
configs/dra7xx_hs_evm_defconfig
configs/gurnard_defconfig
configs/igep0030_defconfig [deleted file]
configs/igep00x0_defconfig [moved from configs/igep0020_defconfig with 80% similarity]
configs/rpi_2_defconfig
configs/rpi_3_32b_defconfig
configs/rpi_3_defconfig
configs/rpi_defconfig
configs/sama5d2_xplained_mmc_defconfig
configs/sama5d2_xplained_spiflash_defconfig
configs/sama5d36ek_cmp_mmc_defconfig
configs/sama5d36ek_cmp_nandflash_defconfig
configs/sama5d36ek_cmp_spiflash_defconfig
configs/sama5d3_xplained_mmc_defconfig
configs/sama5d3_xplained_nandflash_defconfig
configs/sama5d3xek_mmc_defconfig
configs/sama5d3xek_nandflash_defconfig
configs/sama5d3xek_spiflash_defconfig
configs/sama5d4_xplained_mmc_defconfig
configs/sama5d4_xplained_nandflash_defconfig
configs/sama5d4_xplained_spiflash_defconfig
configs/sama5d4ek_mmc_defconfig
configs/sama5d4ek_nandflash_defconfig
configs/sama5d4ek_spiflash_defconfig
disk/part_iso.c
doc/README.falcon
doc/uImage.FIT/signature.txt
doc/uImage.FIT/verified-boot.txt
drivers/mtd/cfi_flash.c
drivers/ram/Kconfig
drivers/timer/Kconfig
drivers/timer/Makefile
drivers/timer/atmel_pit_timer.c [new file with mode: 0644]
fs/ext4/ext4_journal.c
fs/fat/fat_write.c
include/configs/omap3_igep00x0.h
include/environment/ti/boot.h
include/flash.h
include/mtd/cfi_flash.h
scripts/objdiff

index 7b15d4ef7ef61cd7c0a59268234f47f16f997e04..39924015907caf0c34c0720b69bff8d8a56682b4 100644 (file)
@@ -16,6 +16,8 @@ obj-$(CONFIG_DDR_MT47H64M16) += spr600_mt47h64m16_3_333_cl5_psync.o
 obj-$(CONFIG_DDR_MT47H32M16) += spr600_mt47h32m16_333_cl5_psync.o
 obj-$(CONFIG_DDR_MT47H32M16) += spr600_mt47h32m16_37e_166_cl4_sync.o
 obj-$(CONFIG_DDR_MT47H128M8) += spr600_mt47h128m8_3_266_cl5_async.o
+else
+obj-y += spr_misc.o spr_lowlevel_init.o
 endif
 
 extra-$(CONFIG_SPL_BUILD) := start.o
index be0d14fbf04b9230a659d781ad5ea174e5224aa9..7b9dc65c270822844da3f336016f673417b5a3bc 100644 (file)
@@ -84,7 +84,7 @@ int print_cpuinfo(void)
 }
 #endif
 
-#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_ECC_BCH)
+#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_ECC_BCH) && defined(CONFIG_NAND_FSMC)
 static int do_switch_ecc(cmd_tbl_t *cmdtp, int flag, int argc,
                         char *const argv[])
 {
index f5f4840f194579132e636997dbea41b100b8daac..c9252751dbcecca85384c18902c5b3e2e2b60439 100644 (file)
@@ -345,11 +345,38 @@ static void fdt_fixup_msi(void *blob)
 }
 #endif
 
+#ifdef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
+/* Remove JR node used by SEC firmware */
+void fdt_fixup_remove_jr(void *blob)
+{
+       int jr_node, addr_cells, len;
+       int crypto_node = fdt_path_offset(blob, "crypto");
+       u64 jr_offset, used_jr;
+       fdt32_t *reg;
+
+       used_jr = sec_firmware_used_jobring_offset();
+       fdt_support_default_count_cells(blob, crypto_node, &addr_cells, NULL);
+
+       jr_node = fdt_node_offset_by_compatible(blob, crypto_node,
+                                               "fsl,sec-v4.0-job-ring");
+
+       while (jr_node != -FDT_ERR_NOTFOUND) {
+               reg = (fdt32_t *)fdt_getprop(blob, jr_node, "reg", &len);
+               jr_offset = fdt_read_number(reg, addr_cells);
+               if (jr_offset == used_jr) {
+                       fdt_del_node(blob, jr_node);
+                       break;
+               }
+               jr_node = fdt_node_offset_by_compatible(blob, jr_node,
+                                                       "fsl,sec-v4.0-job-ring");
+       }
+}
+#endif
+
 void ft_cpu_setup(void *blob, bd_t *bd)
 {
-#ifdef CONFIG_FSL_LSCH2
        struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
-       unsigned int svr = in_be32(&gur->svr);
+       unsigned int svr = gur_in32(&gur->svr);
 
        /* delete crypto node if not on an E-processor */
        if (!IS_E_PROCESSOR(svr))
@@ -358,11 +385,15 @@ void ft_cpu_setup(void *blob, bd_t *bd)
        else {
                ccsr_sec_t __iomem *sec;
 
+#ifdef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
+               if (fdt_fixup_kaslr(blob))
+                       fdt_fixup_remove_jr(blob);
+#endif
+
                sec = (void __iomem *)CONFIG_SYS_FSL_SEC_ADDR;
                fdt_fixup_crypto_node(blob, sec_in32(&sec->secvid_ms));
        }
 #endif
-#endif
 
 #ifdef CONFIG_MP
        ft_fixup_cpu(blob);
index fffce712d38b99d3e739a5970b275d2138aee8e8..0e7483437a9bbc9b00952308ec0b8f089c215f1a 100644 (file)
@@ -231,6 +231,59 @@ unsigned int sec_firmware_support_psci_version(void)
 }
 #endif
 
+/*
+ * Check with sec_firmware if it supports random number generation
+ * via HW RNG
+ *
+ * The return value will be true if it is supported
+ */
+bool sec_firmware_support_hwrng(void)
+{
+       uint8_t rand[8];
+       if (sec_firmware_addr & SEC_FIRMWARE_RUNNING) {
+               if (!sec_firmware_get_random(rand, 8))
+                       return true;
+       }
+
+       return false;
+}
+
+/*
+ * sec_firmware_get_random - Get a random number from SEC Firmware
+ * @rand:              random number buffer to be filled
+ * @bytes:             Number of bytes of random number to be supported
+ * @eret:              -1 in case of error, 0 for success
+ */
+int sec_firmware_get_random(uint8_t *rand, int bytes)
+{
+       unsigned long long num;
+       struct pt_regs regs;
+       int param1;
+
+       if (!bytes || bytes > 8) {
+               printf("Max Random bytes genration supported is 8\n");
+               return -1;
+       }
+#define SIP_RNG_64 0xC200FF11
+       regs.regs[0] = SIP_RNG_64;
+
+       if (bytes <= 4)
+               param1 = 0;
+       else
+               param1 = 1;
+       regs.regs[1] = param1;
+
+       smc_call(&regs);
+
+       if (regs.regs[0])
+               return -1;
+
+       num = regs.regs[1];
+       memcpy(rand, &num, bytes);
+
+       return 0;
+}
+
 /*
  * sec_firmware_init - Initialize the SEC Firmware
  * @sec_firmware_img:  the SEC Firmware image address
@@ -278,3 +331,49 @@ int sec_firmware_init(const void *sec_firmware_img,
 
        return 0;
 }
+
+/*
+ * fdt_fix_kaslr - Add kalsr-seed node in Device tree
+ * @fdt:               Device tree
+ * @eret:              0 in case of error, 1 for success
+ */
+int fdt_fixup_kaslr(void *fdt)
+{
+       int nodeoffset;
+       int err, ret = 0;
+       u8 rand[8];
+
+#if defined(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT)
+       /* Check if random seed generation is  supported */
+       if (sec_firmware_support_hwrng() == false)
+               return 0;
+
+       ret = sec_firmware_get_random(rand, 8);
+       if (ret < 0) {
+               printf("WARNING: No random number to set kaslr-seed\n");
+               return 0;
+       }
+
+       err = fdt_check_header(fdt);
+       if (err < 0) {
+               printf("fdt_chosen: %s\n", fdt_strerror(err));
+               return 0;
+       }
+
+       /* find or create "/chosen" node. */
+       nodeoffset = fdt_find_or_add_subnode(fdt, 0, "chosen");
+       if (nodeoffset < 0)
+               return 0;
+
+       err = fdt_setprop(fdt, nodeoffset, "kaslr-seed", rand,
+                                 sizeof(rand));
+       if (err < 0) {
+               printf("WARNING: can't set kaslr-seed %s.\n",
+                      fdt_strerror(err));
+               return 0;
+       }
+       ret = 1;
+#endif
+
+       return ret;
+}
index b26e21bd7ffb5814ec456a637ebda0651e15dadc..14caee7f0d09fa304925394da2d1a06c61d85811 100644 (file)
                                &edma 25>;
                        dma-names = "tx", "rx";
                        interrupts = <64>;
-                       interrupt-parent = <&intc>;
                        reg = <0x48060000 0x1000>;
                        status = "disabled";
                };
                                &edma 3>;
                        dma-names = "tx", "rx";
                        interrupts = <28>;
-                       interrupt-parent = <&intc>;
                        reg = <0x481d8000 0x1000>;
                        status = "disabled";
                };
                        ti,hwmods = "mmc3";
                        ti,needs-special-reset;
                        interrupts = <29>;
-                       interrupt-parent = <&intc>;
                        reg = <0x47810000 0x1000>;
                        status = "disabled";
                };
                               0x4a101200 0x100>;
                        #address-cells = <1>;
                        #size-cells = <1>;
-                       interrupt-parent = <&intc>;
                        /*
                         * c0_rx_thresh_pend
                         * c0_rx_pend
                lcdc: lcdc@4830e000 {
                        compatible = "ti,am33xx-tilcdc";
                        reg = <0x4830e000 0x1000>;
-                       interrupt-parent = <&intc>;
                        interrupts = <36>;
                        ti,hwmods = "lcdc";
                        status = "disabled";
                tscadc: tscadc@44e0d000 {
                        compatible = "ti,am3359-tscadc";
                        reg = <0x44e0d000 0x1000>;
-                       interrupt-parent = <&intc>;
                        interrupts = <16>;
                        ti,hwmods = "adc_tsc";
                        status = "disabled";
index 8d89b83b530d69d686c21a8f3070e3eef5f8832a..d8a65145d673aec07eb83bf58ff6b1e3284ec68e 100644 (file)
                                status = "disabled";
                        };
 
+                       rstc@f8048000 {
+                               compatible = "atmel,sama5d3-rstc";
+                               reg = <0xf8048000 0x10>;
+                               clocks = <&clk32k>;
+                       };
+
+                       shdwc@f8048010 {
+                               compatible = "atmel,sama5d2-shdwc";
+                               reg = <0xf8048010 0x10>;
+                               clocks = <&clk32k>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               atmel,wakeup-rtc-timer;
+                       };
+
+                       pit: timer@f8048030 {
+                               compatible = "atmel,at91sam9260-pit";
+                               reg = <0xf8048030 0x10>;
+                               clocks = <&h32ck>;
+                       };
+
+                       watchdog@f8048040 {
+                               compatible = "atmel,sama5d4-wdt";
+                               reg = <0xf8048040 0x10>;
+                               clocks = <&clk32k>;
+                               status = "disabled";
+                       };
+
                        sckc@f8048050 {
                                compatible = "atmel,at91sam9x5-sckc";
                                reg = <0xf8048050 0x4>;
index bc1d97d7a98fb5f74d7e09705dce7816b8478b03..6d42a7111f2a37f382760d3cf2bd52689f027976 100644 (file)
@@ -8,10 +8,14 @@
 #define __SEC_FIRMWARE_H_
 
 #define PSCI_INVALID_VER               0xffffffff
+#define SEC_JR3_OFFSET                 0x40000
 
 int sec_firmware_init(const void *, u32 *, u32 *);
 int _sec_firmware_entry(const void *, u32 *, u32 *);
 bool sec_firmware_is_valid(const void *);
+bool sec_firmware_support_hwrng(void);
+int sec_firmware_get_random(uint8_t *rand, int bytes);
+int fdt_fixup_kaslr(void *fdt);
 #ifdef CONFIG_SEC_FIRMWARE_ARMV8_PSCI
 unsigned int sec_firmware_support_psci_version(void);
 unsigned int _sec_firmware_support_psci_version(void);
@@ -22,4 +26,9 @@ static inline unsigned int sec_firmware_support_psci_version(void)
 }
 #endif
 
+static inline unsigned int sec_firmware_used_jobring_offset(void)
+{
+       return SEC_JR3_OFFSET;
+}
+
 #endif /* __SEC_FIRMWARE_H_ */
index 624ccd7c2f38fdceda9f0481f085d6615324b542..dc935fd9e543d2094d0e9862d26d6e26da0262a8 100644 (file)
@@ -22,7 +22,9 @@ obj-y += cache.o
 obj-y += clock.o
 obj-y += cpu.o
 obj-y  += reset.o
+ifeq ($(CONFIG_ATMEL_PIT_TIMER),)
 obj-y  += timer.o
+endif
 
 ifndef CONFIG_SKIP_LOWLEVEL_INIT
 obj-y  += lowlevel_init.o
index 9538bc1fad2a536ec28eceff761a7bbcbe9c7e5c..1ede4cb10abe9ec5bd7113652646a82af535d39a 100644 (file)
@@ -14,4 +14,6 @@ obj-$(CONFIG_SAMA5D4) += sama5d4_devices.o
 obj-y += clock.o
 obj-y += cpu.o
 obj-y += reset.o
+ifeq ($(CONFIG_ATMEL_PIT_TIMER),)
 obj-y += timer.o
+endif
index f70f5ec9656918b4085f9fc702077d0dc3abc90e..947ce5f1ce8126a55adbf2f78ff4e84fbe7e806d 100644 (file)
@@ -18,7 +18,7 @@ config STM32F7
        select SPL_OF_CONTROL
        select SPL_OF_LIBFDT
        select SPL_OF_TRANSLATE
-       select SPL_OS_BOOT
+       imply SPL_OS_BOOT
        select SPL_PINCTRL
        select SPL_RAM
        select SPL_SERIAL_SUPPORT
index 668aa020889ebe9f22f5eaa5ad606f50d96ce027..50503b4d2c0f150fac67876673ca3ce7a84b6bdc 100644 (file)
@@ -20,7 +20,7 @@ struct irq_action {
        ulong count;
 };
 
-int interrupt_init_cpu (unsigned *decrementer_count)
+void interrupt_init_cpu (unsigned *decrementer_count)
 {
        volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
 
@@ -29,8 +29,6 @@ int interrupt_init_cpu (unsigned *decrementer_count)
        /* Enable e300 time base */
 
        immr->sysconf.spcr |= 0x00400000;
-
-       return 0;
 }
 
 
index cf730c5c53cb8858e421ef5171a02dc4d7072225..b92549000fbc369c006af3829f40acf32fe65754 100644 (file)
@@ -20,7 +20,7 @@
 #include <post.h>
 #endif
 
-int interrupt_init_cpu(unsigned *decrementer_count)
+void interrupt_init_cpu(unsigned *decrementer_count)
 {
        ccsr_pic_t __iomem *pic = (void *)CONFIG_SYS_MPC8xxx_PIC_ADDR;
 
@@ -77,8 +77,6 @@ int interrupt_init_cpu(unsigned *decrementer_count)
 #ifdef CONFIG_POST
        post_word_store(post_word);
 #endif
-
-       return (0);
 }
 
 /* Install and free a interrupt handler. Not implemented yet. */
index a6db0baab33f8cc2c7a74f3257f75c2c64350e6c..81874790ff35323efe76e5f50a291c63e0d559c4 100644 (file)
@@ -23,7 +23,7 @@
 #include <post.h>
 #endif
 
-int interrupt_init_cpu(unsigned *decrementer_count)
+void interrupt_init_cpu(unsigned *decrementer_count)
 {
        volatile immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
        volatile ccsr_pic_t *pic = &immr->im_pic;
@@ -73,8 +73,6 @@ int interrupt_init_cpu(unsigned *decrementer_count)
 #ifdef CONFIG_POST
        post_word_store(post_word);
 #endif
-
-       return 0;
 }
 
 /*
index e8e287a13fa8323fbc2347e9ad9604f1ac0b5954..846148ab9867e125be242f56909bb57eb07fe99b 100644 (file)
@@ -30,7 +30,7 @@ static void cpm_interrupt(void *regs);
 
 /************************************************************************/
 
-int interrupt_init_cpu(unsigned *decrementer_count)
+void interrupt_init_cpu(unsigned *decrementer_count)
 {
        immap_t __iomem *immr = (immap_t __iomem *)CONFIG_SYS_IMMR;
 
@@ -41,8 +41,6 @@ int interrupt_init_cpu(unsigned *decrementer_count)
 
        /* Configure CPM interrupts */
        cpm_interrupt_init();
-
-       return 0;
 }
 
 /************************************************************************/
index 850fe93f979832422ae69fbd6abceafb329d36ae..5e0aa08be936e1b44b099ae6a9083c31610f6d9f 100644 (file)
@@ -122,7 +122,7 @@ static inline void set_msr(unsigned long msr)
 void print_reginfo(void);
 #endif
 
-int interrupt_init_cpu(unsigned *);
+void interrupt_init_cpu(unsigned *);
 void timer_interrupt_cpu(struct pt_regs *);
 unsigned long search_exception_table(unsigned long addr);
 
index 46fa18c63fb0bced53366522242b912eaa566e4f..e8784aa16e9cd5149611feee31d6371310d8bf50 100644 (file)
@@ -63,13 +63,8 @@ int disable_interrupts (void)
 
 int interrupt_init (void)
 {
-       int ret;
-
        /* call cpu specific function from $(CPU)/interrupts.c */
-       ret = interrupt_init_cpu (&decrementer_count);
-
-       if (ret)
-               return ret;
+       interrupt_init_cpu (&decrementer_count);
 
        set_dec (decrementer_count);
 
index 720ef2aa6955f25e4aec29a6b82a0a2298fb6753..d75d400eed0285099fe2159bf6dca25323d63226 100644 (file)
@@ -3,6 +3,5 @@ M:      Enric Balletbo i Serra <eballetbo@gmail.com>
 S:     Maintained
 F:     board/isee/igep00x0/
 F:     include/configs/omap3_igep00x0.h
-F:     configs/igep0020_defconfig
-F:     configs/igep0030_defconfig
+F:     configs/igep00x0_defconfig
 F:     configs/igep0032_defconfig
index 68b151c3c5331668cfadb572f7a2603a15735a4c..74594da771f815d3a6c005ce02ba5c418b147220 100644 (file)
@@ -5,4 +5,8 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-obj-y  := igep00x0.o
+ifdef CONFIG_SPL_BUILD
+obj-y  := spl.o common.o
+else
+obj-y  := igep00x0.o common.o
+endif
diff --git a/board/isee/igep00x0/common.c b/board/isee/igep00x0/common.c
new file mode 100644 (file)
index 0000000..e59516f
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#include <common.h>
+#include <twl4030.h>
+#include <asm/io.h>
+#include <asm/omap_mmc.h>
+#include <asm/arch/mux.h>
+#include <asm/arch/sys_proto.h>
+#include <jffs2/load_kernel.h>
+#include <linux/mtd/nand.h>
+#include "igep00x0.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Routine: set_muxconf_regs
+ * Description: Setting up the configuration Mux registers specific to the
+ *             hardware. Many pins need to be moved from protect to primary
+ *             mode.
+ */
+void set_muxconf_regs(void)
+{
+       MUX_DEFAULT();
+}
+
+/*
+ * Routine: board_init
+ * Description: Early hardware init.
+ */
+int board_init(void)
+{
+       int loops = 100;
+
+       /* find out flash memory type, assume NAND first */
+       gpmc_cs0_flash = MTD_DEV_TYPE_NAND;
+       gpmc_init();
+
+       /* Issue a RESET and then READID */
+       writeb(NAND_CMD_RESET, &gpmc_cfg->cs[0].nand_cmd);
+       writeb(NAND_CMD_STATUS, &gpmc_cfg->cs[0].nand_cmd);
+       while ((readl(&gpmc_cfg->cs[0].nand_dat) & NAND_STATUS_READY)
+                                               != NAND_STATUS_READY) {
+               udelay(1);
+               if (--loops == 0) {
+                       gpmc_cs0_flash = MTD_DEV_TYPE_ONENAND;
+                       gpmc_init();    /* reinitialize for OneNAND */
+                       break;
+               }
+       }
+
+       /* boot param addr */
+       gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
+
+       return 0;
+}
+
+#if defined(CONFIG_MMC)
+int board_mmc_init(bd_t *bis)
+{
+       return omap_mmc_init(0, 0, 0, -1, -1);
+}
+
+void board_mmc_power_init(void)
+{
+       twl4030_power_mmc_init(0);
+}
+#endif
index a7a75601dd3ee959849221b45f6678f5021d3201..5c7f2567118a1e17bdb6f76f29a7161628776bf7 100644 (file)
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/mach-types.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/nand.h>
-#include <linux/mtd/nand.h>
 #include <linux/mtd/onenand.h>
 #include <jffs2/load_kernel.h>
 #include <mtd_node.h>
 #include <fdt_support.h>
 #include "igep00x0.h"
 
-DECLARE_GLOBAL_DATA_PTR;
-
 static const struct ns16550_platdata igep_serial = {
        .base = OMAP34XX_UART3,
        .reg_shift = 2,
@@ -42,96 +38,41 @@ U_BOOT_DEVICE(igep_uart) = {
 };
 
 /*
- * Routine: board_init
- * Description: Early hardware init.
+ * Routine: get_board_revision
+ * Description: GPIO_28 and GPIO_129 are used to read board and revision from
+ * IGEP00x0 boards. First of all, it is necessary to reset USB transceiver from
+ * IGEP0030 in order to read GPIO_IGEP00X0_BOARD_DETECTION correctly, because
+ * this functionality is shared by USB HOST.
+ * Once USB reset is applied, U-boot configures these pins as input pullup to
+ * detect board and revision:
+ * IGEP0020-RF = 0b00
+ * IGEP0020-RC = 0b01
+ * IGEP0030-RG = 0b10
+ * IGEP0030-RE = 0b11
  */
-int board_init(void)
+static int get_board_revision(void)
 {
-       int loops = 100;
-
-       /* find out flash memory type, assume NAND first */
-       gpmc_cs0_flash = MTD_DEV_TYPE_NAND;
-       gpmc_init();
+       int revision;
 
-       /* Issue a RESET and then READID */
-       writeb(NAND_CMD_RESET, &gpmc_cfg->cs[0].nand_cmd);
-       writeb(NAND_CMD_STATUS, &gpmc_cfg->cs[0].nand_cmd);
-       while ((readl(&gpmc_cfg->cs[0].nand_dat) & NAND_STATUS_READY)
-                                               != NAND_STATUS_READY) {
-               udelay(1);
-               if (--loops == 0) {
-                       gpmc_cs0_flash = MTD_DEV_TYPE_ONENAND;
-                       gpmc_init();    /* reinitialize for OneNAND */
-                       break;
-               }
-       }
+       gpio_request(IGEP0030_USB_TRANSCEIVER_RESET,
+                               "igep0030_usb_transceiver_reset");
+       gpio_direction_output(IGEP0030_USB_TRANSCEIVER_RESET, 0);
 
-       /* boot param addr */
-       gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
+       gpio_request(GPIO_IGEP00X0_BOARD_DETECTION, "igep00x0_board_detection");
+       gpio_direction_input(GPIO_IGEP00X0_BOARD_DETECTION);
+       revision = 2 * gpio_get_value(GPIO_IGEP00X0_BOARD_DETECTION);
+       gpio_free(GPIO_IGEP00X0_BOARD_DETECTION);
 
-#if defined(CONFIG_LED_STATUS) && defined(CONFIG_LED_STATUS_BOOT_ENABLE)
-       status_led_set(CONFIG_LED_STATUS_BOOT, CONFIG_LED_STATUS_ON);
-#endif
-
-       return 0;
-}
-
-#ifdef CONFIG_SPL_BUILD
-/*
- * Routine: get_board_mem_timings
- * Description: If we use SPL then there is no x-loader nor config header
- * so we have to setup the DDR timings ourself on both banks.
- */
-void get_board_mem_timings(struct board_sdrc_timings *timings)
-{
-       int mfr, id, err = identify_nand_chip(&mfr, &id);
-
-       timings->mr = MICRON_V_MR_165;
-       if (!err) {
-               switch (mfr) {
-               case NAND_MFR_HYNIX:
-                       timings->mcfg = HYNIX_V_MCFG_200(256 << 20);
-                       timings->ctrla = HYNIX_V_ACTIMA_200;
-                       timings->ctrlb = HYNIX_V_ACTIMB_200;
-                       break;
-               case NAND_MFR_MICRON:
-                       timings->mcfg = MICRON_V_MCFG_200(256 << 20);
-                       timings->ctrla = MICRON_V_ACTIMA_200;
-                       timings->ctrlb = MICRON_V_ACTIMB_200;
-                       break;
-               default:
-                       /* Should not happen... */
-                       break;
-               }
-               timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
-               gpmc_cs0_flash = MTD_DEV_TYPE_NAND;
-       } else {
-               if (get_cpu_family() == CPU_OMAP34XX) {
-                       timings->mcfg = NUMONYX_V_MCFG_165(256 << 20);
-                       timings->ctrla = NUMONYX_V_ACTIMA_165;
-                       timings->ctrlb = NUMONYX_V_ACTIMB_165;
-                       timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
-               } else {
-                       timings->mcfg = NUMONYX_V_MCFG_200(256 << 20);
-                       timings->ctrla = NUMONYX_V_ACTIMA_200;
-                       timings->ctrlb = NUMONYX_V_ACTIMB_200;
-                       timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
-               }
-               gpmc_cs0_flash = MTD_DEV_TYPE_ONENAND;
-       }
-}
+       gpio_request(GPIO_IGEP00X0_REVISION_DETECTION,
+                               "igep00x0_revision_detection");
+       gpio_direction_input(GPIO_IGEP00X0_REVISION_DETECTION);
+       revision = revision + gpio_get_value(GPIO_IGEP00X0_REVISION_DETECTION);
+       gpio_free(GPIO_IGEP00X0_REVISION_DETECTION);
 
-#ifdef CONFIG_SPL_OS_BOOT
-int spl_start_uboot(void)
-{
-       /* break into full u-boot on 'c' */
-       if (serial_tstc() && serial_getc() == 'c')
-               return 1;
+       gpio_free(IGEP0030_USB_TRANSCEIVER_RESET);
 
-       return 0;
+       return revision;
 }
-#endif
-#endif
 
 int onenand_board_init(struct mtd_info *mtd)
 {
@@ -199,20 +140,6 @@ int board_eth_init(bd_t *bis)
 static inline void setup_net_chip(void) {}
 #endif
 
-#if defined(CONFIG_MMC)
-int board_mmc_init(bd_t *bis)
-{
-       return omap_mmc_init(0, 0, 0, -1, -1);
-}
-#endif
-
-#if defined(CONFIG_MMC)
-void board_mmc_power_init(void)
-{
-       twl4030_power_mmc_init(0);
-}
-#endif
-
 #ifdef CONFIG_OF_BOARD_SETUP
 static int ft_enable_by_compatible(void *blob, char *compat, int enable)
 {
@@ -247,31 +174,69 @@ int ft_board_setup(void *blob, bd_t *bd)
 }
 #endif
 
-void set_fdt(void)
+void set_led(void)
 {
-       switch (gd->bd->bi_arch_number) {
-       case MACH_TYPE_IGEP0020:
-               env_set("fdtfile", "omap3-igep0020.dtb");
+       switch (get_board_revision()) {
+       case 0:
+       case 1:
+               gpio_request(IGEP0020_GPIO_LED, "igep0020_gpio_led");
+               gpio_direction_output(IGEP0020_GPIO_LED, 1);
+               break;
+       case 2:
+       case 3:
+               gpio_request(IGEP0030_GPIO_LED, "igep0030_gpio_led");
+               gpio_direction_output(IGEP0030_GPIO_LED, 0);
                break;
-       case MACH_TYPE_IGEP0030:
-               env_set("fdtfile", "omap3-igep0030.dtb");
+       default:
+               /* Should not happen... */
                break;
        }
 }
 
+void set_boardname(void)
+{
+       char rev[5] = { 'F','C','G','E', };
+       int i = get_board_revision();
+
+       rev[i+1] = 0;
+       env_set("board_rev", rev + i);
+       env_set("board_name", i < 2 ? "igep0020" : "igep0030");
+}
+
 /*
  * Routine: misc_init_r
  * Description: Configure board specific parts
  */
 int misc_init_r(void)
 {
+       t2_t *t2_base = (t2_t *)T2_BASE;
+       u32 pbias_lite;
+
        twl4030_power_init();
 
+       /* set VSIM to 1.8V */
+       twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VSIM_DEDICATED,
+                               TWL4030_PM_RECEIVER_VSIM_VSEL_18,
+                               TWL4030_PM_RECEIVER_VSIM_DEV_GRP,
+                               TWL4030_PM_RECEIVER_DEV_GRP_P1);
+
+       /* set up dual-voltage GPIOs to 1.8V */
+       pbias_lite = readl(&t2_base->pbias_lite);
+       pbias_lite &= ~PBIASLITEVMODE1;
+       pbias_lite |= PBIASLITEPWRDNZ1;
+       writel(pbias_lite, &t2_base->pbias_lite);
+       if (get_cpu_family() == CPU_OMAP36XX)
+               writel(readl(OMAP34XX_CTRL_WKUP_CTRL) |
+                                        OMAP34XX_CTRL_WKUP_CTRL_GPIO_IO_PWRDNZ,
+                                        OMAP34XX_CTRL_WKUP_CTRL);
+
        setup_net_chip();
 
        omap_die_id_display();
 
-       set_fdt();
+       set_led();
+
+       set_boardname();
 
        return 0;
 }
@@ -292,22 +257,3 @@ void board_mtdparts_default(const char **mtdids, const char **mtdparts)
                *mtdparts = parts;
        }
 }
-
-/*
- * Routine: set_muxconf_regs
- * Description: Setting up the configuration Mux registers specific to the
- *             hardware. Many pins need to be moved from protect to primary
- *             mode.
- */
-void set_muxconf_regs(void)
-{
-       MUX_DEFAULT();
-
-#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020)
-       MUX_IGEP0020();
-#endif
-
-#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
-       MUX_IGEP0030();
-#endif
-}
index 5698efab5d7f9cba7bbbbd5237c9495b0f7fa4c1..1cbe7c94d98a0f3f2a565f70560d3bbb219ab475 100644 (file)
        MUX_VAL(CP(MMC1_DAT1),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT1 */\
        MUX_VAL(CP(MMC1_DAT2),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT2 */\
        MUX_VAL(CP(MMC1_DAT3),      (IEN  | PTU | EN  | M0)) /* MMC1_DAT3 */\
+       MUX_VAL(CP(UART1_TX),       (IDIS | PTD | DIS | M0)) /* UART1_TX */\
+       MUX_VAL(CP(UART1_RX),       (IEN  | PTD | DIS | M0)) /* UART1_RX */\
        MUX_VAL(CP(UART3_TX_IRTX),  (IDIS | PTD | DIS | M0)) /* UART3_TX */\
        MUX_VAL(CP(UART3_RX_IRRX),  (IEN  | PTD | DIS | M0)) /* UART3_RX */\
        MUX_VAL(CP(I2C1_SCL),       (IEN  | PTU | EN  | M0)) /* I2C1_SCL */\
        MUX_VAL(CP(SYS_BOOT4),      (IEN  | PTD | DIS | M4)) /* GPIO_6 */\
        MUX_VAL(CP(SYS_BOOT5),      (IEN  | PTD | DIS | M4)) /* GPIO_7 */\
        MUX_VAL(CP(SYS_BOOT6),      (IEN  | PTD | DIS | M4)) /* GPIO_8 */\
+       MUX_VAL(CP(ETK_D14_ES2),    (IEN  | PTU | EN  | M4)) /* GPIO_28 */\
+       MUX_VAL(CP(GPMC_NCS3),      (IDIS | PTD | DIS | M4)) /* GPIO_54 */\
+       MUX_VAL(CP(GPMC_WAIT2),     (IEN  | PTU | DIS | M4)) /* GPIO_64 */\
+       MUX_VAL(CP(GPIO129),        (IEN  | PTU | EN  | M4)) /* GPIO_129 */\
        MUX_VAL(CP(SDRC_CKE0),      (IDIS | PTU | EN  | M0)) /* SDRC_CKE0 */\
        MUX_VAL(CP(SDRC_CKE1),      (IDIS | PTU | EN  | M0)) /* SDRC_CKE1 */
 #endif
-
-#define MUX_IGEP0020() \
-       MUX_VAL(CP(GPMC_WAIT2),     (IEN  | PTU | DIS | M4)) /* GPIO_64-ETH_NRST */\
-
-#define MUX_IGEP0030() \
-       MUX_VAL(CP(UART1_TX),       (IDIS | PTD | DIS | M0)) /* UART1_TX */\
-       MUX_VAL(CP(UART1_RX),       (IEN  | PTD | DIS | M0)) /* UART1_RX */
diff --git a/board/isee/igep00x0/spl.c b/board/isee/igep00x0/spl.c
new file mode 100644 (file)
index 0000000..eb705cb
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+#include <asm/io.h>
+#include <asm/arch/mem.h>
+#include <asm/arch/sys_proto.h>
+#include <jffs2/load_kernel.h>
+#include <linux/mtd/nand.h>
+#include "igep00x0.h"
+
+/*
+ * Routine: get_board_mem_timings
+ * Description: If we use SPL then there is no x-loader nor config header
+ * so we have to setup the DDR timings ourself on both banks.
+ */
+void get_board_mem_timings(struct board_sdrc_timings *timings)
+{
+       int mfr, id, err = identify_nand_chip(&mfr, &id);
+
+       timings->mr = MICRON_V_MR_165;
+       if (!err) {
+               switch (mfr) {
+               case NAND_MFR_HYNIX:
+                       timings->mcfg = HYNIX_V_MCFG_200(256 << 20);
+                       timings->ctrla = HYNIX_V_ACTIMA_200;
+                       timings->ctrlb = HYNIX_V_ACTIMB_200;
+                       break;
+               case NAND_MFR_MICRON:
+                       timings->mcfg = MICRON_V_MCFG_200(256 << 20);
+                       timings->ctrla = MICRON_V_ACTIMA_200;
+                       timings->ctrlb = MICRON_V_ACTIMB_200;
+                       break;
+               default:
+                       /* Should not happen... */
+                       break;
+               }
+               timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
+               gpmc_cs0_flash = MTD_DEV_TYPE_NAND;
+       } else {
+               if (get_cpu_family() == CPU_OMAP34XX) {
+                       timings->mcfg = NUMONYX_V_MCFG_165(256 << 20);
+                       timings->ctrla = NUMONYX_V_ACTIMA_165;
+                       timings->ctrlb = NUMONYX_V_ACTIMB_165;
+                       timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
+               } else {
+                       timings->mcfg = NUMONYX_V_MCFG_200(256 << 20);
+                       timings->ctrla = NUMONYX_V_ACTIMA_200;
+                       timings->ctrlb = NUMONYX_V_ACTIMB_200;
+                       timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
+               }
+               gpmc_cs0_flash = MTD_DEV_TYPE_ONENAND;
+       }
+}
+
+#ifdef CONFIG_SPL_OS_BOOT
+int spl_start_uboot(void)
+{
+       /* break into full u-boot on 'c' */
+       if (serial_tstc() && serial_getc() == 'c')
+               return 1;
+
+       return 0;
+}
+#endif
diff --git a/board/spear/common/Makefile b/board/spear/common/Makefile
deleted file mode 100644 (file)
index b0ba320..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# (C) Copyright 2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# SPDX-License-Identifier:     GPL-2.0+
-#
-
-ifdef CONFIG_SPL_BUILD
-# necessary to create built-in.o
-obj- := __dummy__.o
-else
-obj-y  := spr_misc.o
-obj-y  += spr_lowlevel_init.o
-endif
index 72bff92a9aee591060233b5169509ea06b05dffc..6e12275b4083fd3b7d33d762d243f4411abd02a1 100644 (file)
@@ -1726,7 +1726,7 @@ int mtdparts_init(void)
        const char *ids, *parts;
        const char *current_partition;
        int ids_changed;
-       char tmp_ep[PARTITION_MAXLEN];
+       char tmp_ep[PARTITION_MAXLEN + 1];
        char tmp_parts[MTDPARTS_MAXLEN];
 
        debug("\n---mtdparts_init---\n");
@@ -1750,7 +1750,7 @@ int mtdparts_init(void)
 
        /* save it for later parsing, cannot rely on current partition pointer
         * as 'partition' variable may be updated during init */
-       tmp_ep[0] = '\0';
+       memset(tmp_parts, 0, sizeof(tmp_parts));
        if (current_partition)
                strncpy(tmp_ep, current_partition, PARTITION_MAXLEN);
 
index 057764aa8d984c323f4df96e170ecae20f5921f7..1165b786d3428745fb8660d967336366ba443905 100644 (file)
--- a/cmd/spl.c
+++ b/cmd/spl.c
@@ -118,6 +118,11 @@ static int spl_export(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                case SPL_EXPORT_FDT:
                        printf("Argument image is now in RAM: 0x%p\n",
                                (void *)images.ft_addr);
+                       env_set_addr("fdtargsaddr", images.ft_addr);
+                       env_set_hex("fdtargslen", fdt_totalsize(images.ft_addr));
+                       if (fdt_totalsize(images.ft_addr) >
+                           CONFIG_CMD_SPL_WRITE_SIZE)
+                               puts("WARN: FDT size > CMD_SPL_WRITE_SIZE\n");
                        break;
 #endif
                case SPL_EXPORT_ATAGS:
index 11be1ad27feb541d8f9131a8655ea9d205f01d78..ad93602c131ade5ccd1219bc426847aa1d7e1ec1 100644 (file)
@@ -14,6 +14,8 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_OF_BOARD_SETUP=y
 # CONFIG_ENV_IS_IN_FAT is not set
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
index a6ad0d36e0d06c3177fab4df839f53dae1b62e36..e6f71e913387408c284e774aab799454b94388c4 100644 (file)
@@ -6,6 +6,8 @@ CONFIG_TARGET_AM57XX_EVM=y
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI_SUPPORT=y
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
index 91baa2b53e1c7236384daa6ea4eaa195614b0e85..5cd34561a7399995c197ff524de1f89263904691 100644 (file)
@@ -20,6 +20,8 @@ CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
 CONFIG_OF_BOARD_SETUP=y
 # CONFIG_ENV_IS_IN_FAT is not set
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=am57xevmboard"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
index 8661d9f09865abbf40f18fadcdbdda554fdef46b..c231f5f8ab972730270f8d01a55367f08142904c 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index 4c0595d7a2213b8b7e43b17ef0aaaed61e6346e1..e19d564eaf006717bb60557e2a13841d94a25ce1 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index d8c981983e701607c60ed528153f5247b130c4b1..f183c42e6466525570b2b9d6936a92af5029caa8 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index b87255fa38904abb244f8c0a3abac062475988fc..dbeae9d26a01f4a0b24cc6a3f46ada1da3141579 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_LCD=y
index be221a6cd1ba90094ea1d765b7e1e6e9fb22971f..e84c13925418873085c61bd0eaca1960ca022d10 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_LCD=y
index 78faadfd8a810bda8b628f1455509b5232dd06c0..148d71fca3939b7911d3b4ff0e5dec8dad7a9ed8 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_LCD=y
index a4a65c9b806a1859fa315bcdd3141ec6e5111698..f9de34ed5b4ce699a787fd02fbd0afce820f3370 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index a4a65c9b806a1859fa315bcdd3141ec6e5111698..f9de34ed5b4ce699a787fd02fbd0afce820f3370 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 13ba9de56f0ae4469a1a7725741dfde03c128a19..ef7a79d7b69589635d5c75161be31b6e1eeea8db 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index f08e7ae9a427b8392903fdc0a7e591758e345203..462e500afc15f18371d4a36e77f0fb0b92a63aef 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 52811596b4d25e644eec1e36c7323d860c33947d..3aee6f51af83491484013ceadeb1ef4d763bc4b5 100644 (file)
@@ -53,6 +53,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index bac13a3fbc3ae8bd5cb539b6d1059d4b8f36f277..08dc34eab8dad1ee83b167cae8bb507684ad92c0 100644 (file)
@@ -51,6 +51,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index c1d52149e78892de218898094075ac959678a6db..9a07b6f6fc60936706d594a8fd96660587b89edd 100644 (file)
@@ -51,6 +51,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 8a7d8777d26f075062000c861885c84d39726faa..71f886437131f67872d4cfc464e37c08ebf88384 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index 170242b24b1a5c6c2e1f1212f9ced2c904e14961..a14471c795e3985c53cd46c5c1119cd9882234d5 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index 8715728845d5e532da3dd5366f4d59448a0203e5..fb47c04c75c74cd626a67fea73d8c8b05cfeff4a 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index e51a827395e0fbbc2dfac25d9b19fba051bca653..57013f898292153c0ff60890395f2ac12c9f7f1f 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART_BOARD_INIT=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 9c36b6b18a521606b04832379ed04e9209bac996..c8ce33542fd185521b51513de24977240b05bac2 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART_BOARD_INIT=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 1e5d78f46ce8ecdcd5968d796490d5a971b38e02..99632c6429020eab13ba82980d3afd2ac81e3f3e 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 9f7a3aa062b1f2644cde1b72b2a403766b0fcaa5..6cdcb04a4036b97f473f452ee4c148f9051aa7b2 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 9fa6894eb2a23b59d6870bb042ba1f09dbd3e94b..6279d1f63cb6c94e0d2451bf2b7538bc4744171e 100644 (file)
@@ -48,6 +48,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
index 9eec6e89806825772f949c5bcbbf93fe56a5902c..1ccc21c3f8b195822caffd5b3d99afd2ce0cb90f 100644 (file)
@@ -52,4 +52,6 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_LCD=y
index af7643d4c082951c65bfe3cebe59fbc94fa3c3af..b7497bff2f9cbc5dca3d3129e55f53b8d097443b 100644 (file)
@@ -52,4 +52,6 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_LCD=y
index 7a756f6713d6d2410826c13dec88214581664317..4bdd1c0615dcc09522461bf9cfec43d45e1daa9c 100644 (file)
@@ -52,4 +52,6 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_LCD=y
index 2e940398f887687e2092642300a03067a5043a8c..9bd1e54bdd492addaf7c0acc59796e82ef0b3370 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 98612dd56a15c501e860d826f945cb41c17a8df0..6b2933549c488e99b0a98e9358b9d84a0b63f001 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 6a007fd3e91ffe841ecaa6e887f352934b838cf6..656af4f705b5da0993238804f7c2909ea2e7d717 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 9f09997f0c5115e51826dca1f7fb52fbbbb8832d..8ec0c8f0cbbf3f3a3c7ee20f7ac04e9a7b8dfc57 100644 (file)
@@ -54,6 +54,8 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index c69d27f1c888c6176774359b8b93b95ff9266be5..d1390fb540b6e0f89a25ee93ef63e11c546f1ca5 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index cf734a5063e662307308066fc9734c58b8ddeae3..8e2009b52411e5fc62c424bdd798024eea73e8a7 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index 226e54f9f9eaf0f438bdf0d423b31149a79b9372..a530cf24540aa607ef84be9532cbc76a25e7fe99 100644 (file)
@@ -49,5 +49,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
index 4fff0cf734a56204988e736b0709170de44abb5f..0357abc6cd24a5c44c0cd65ff2a4d42f510d2bd5 100644 (file)
@@ -14,6 +14,8 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_OF_BOARD_SETUP=y
 # CONFIG_ENV_IS_IN_FAT is not set
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=jacinto6evmboard"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
index 5572472d019057a56372984a6723a6ad197056bf..246de12543668be696e4c2de38d09b463786e982 100644 (file)
@@ -20,6 +20,8 @@ CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
 CONFIG_OF_BOARD_SETUP=y
 # CONFIG_ENV_IS_IN_FAT is not set
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_USE_BOOTARGS=y
+CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=jacinto6evmboard"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_BOARD_EARLY_INIT_F=y
index 1a27fcfcaa9694391c0d1c5ff61ae5be5e210142..c3e22daa61da21184b5c2149dbe557ae8677efff 100644 (file)
@@ -22,6 +22,8 @@ CONFIG_CMD_PART=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_FAT=y
 CONFIG_OF_CONTROL=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_PHYLIB=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
diff --git a/configs/igep0030_defconfig b/configs/igep0030_defconfig
deleted file mode 100644 (file)
index abf83c2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-CONFIG_ARM=y
-CONFIG_ARCH_OMAP2PLUS=y
-CONFIG_TARGET_OMAP3_IGEP00X0=y
-CONFIG_DISTRO_DEFAULTS=y
-CONFIG_OF_BOARD_SETUP=y
-CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030"
-CONFIG_ENV_IS_NOWHERE=y
-CONFIG_BOOTDELAY=3
-CONFIG_SYS_CONSOLE_IS_IN_ENV=y
-CONFIG_SYS_CONSOLE_INFO_QUIET=y
-CONFIG_VERSION_VARIABLE=y
-# CONFIG_DISPLAY_BOARDINFO is not set
-CONFIG_SPL=y
-# CONFIG_SPL_EXT_SUPPORT is not set
-CONFIG_SPL_MTD_SUPPORT=y
-CONFIG_SPL_ONENAND_SUPPORT=y
-CONFIG_SPL_OS_BOOT=y
-# CONFIG_CMD_IMLS is not set
-CONFIG_CMD_SPL=y
-CONFIG_CMD_ASKENV=y
-# CONFIG_CMD_FLASH is not set
-CONFIG_CMD_GPIO=y
-CONFIG_CMD_I2C=y
-CONFIG_CMD_MMC=y
-CONFIG_CMD_NAND=y
-CONFIG_CMD_ONENAND=y
-CONFIG_CMD_SPI=y
-# CONFIG_CMD_SETEXPR is not set
-CONFIG_CMD_CACHE=y
-CONFIG_CMD_EXT4_WRITE=y
-CONFIG_CMD_UBI=y
-# CONFIG_CMD_UBIFS is not set
-CONFIG_NET_RANDOM_ETHADDR=y
-CONFIG_LED_STATUS=y
-CONFIG_LED_STATUS_GPIO=y
-CONFIG_LED_STATUS0=y
-CONFIG_LED_STATUS_BIT=16
-CONFIG_LED_STATUS_STATE=2
-CONFIG_LED_STATUS_BOOT_ENABLE=y
-CONFIG_LED_STATUS_BOOT=0
-CONFIG_MMC_OMAP_HS=y
-CONFIG_NAND=y
-CONFIG_SYS_NS16550=y
-CONFIG_OMAP3_SPI=y
-CONFIG_FAT_WRITE=y
-CONFIG_OF_LIBFDT=y
-CONFIG_FDT_FIXUP_PARTITIONS=y
similarity index 80%
rename from configs/igep0020_defconfig
rename to configs/igep00x0_defconfig
index 600434a4bb841bdcc4b50c50627fa9df06cd5b2b..1cdc73d7668080847754c8d437985df897dde0c4 100644 (file)
@@ -3,7 +3,6 @@ CONFIG_ARCH_OMAP2PLUS=y
 CONFIG_TARGET_OMAP3_IGEP00X0=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_OF_BOARD_SETUP=y
-CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020"
 CONFIG_ENV_IS_NOWHERE=y
 CONFIG_BOOTDELAY=3
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
@@ -31,13 +30,6 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_UBI=y
 # CONFIG_CMD_UBIFS is not set
 CONFIG_NET_RANDOM_ETHADDR=y
-CONFIG_LED_STATUS=y
-CONFIG_LED_STATUS_GPIO=y
-CONFIG_LED_STATUS0=y
-CONFIG_LED_STATUS_BIT=27
-CONFIG_LED_STATUS_STATE=2
-CONFIG_LED_STATUS_BOOT_ENABLE=y
-CONFIG_LED_STATUS_BOOT=0
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_MTD_UBI_FASTMAP=y
index 63d1e4042dc622a07faaae839fc695ddf55d4fce..5150eed79c0d5c755a223fd0b13e6833c4078f89 100644 (file)
@@ -15,6 +15,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_DM_KEYBOARD=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_BCM2835=y
index 343cb197a1376d1c97b10be928c990c445a1078d..caceb85b07ce386caafe717ff09f1cc6ae9dd0fb 100644 (file)
@@ -16,6 +16,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_DM_KEYBOARD=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_BCM2835=y
index 6c9f2e32b5cbefdf9d8bda767dac36d2e20f5e91..e3dd1b9124405951ac758f0ec6162cf53d718c60 100644 (file)
@@ -16,6 +16,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_DM_KEYBOARD=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_BCM2835=y
index 6b3cec5ce0bbc5049049366d9271f591d11fd54d..eaf9bb9189c491d0a0e73b52ae5ea051703625e0 100644 (file)
@@ -15,6 +15,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_DM_KEYBOARD=y
 CONFIG_DM_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_BCM2835=y
index 2bfd61b08f81dd558a9e669ff5dab16fc937d4a2..d59fd8216ce43061e6ce58374e189d2017f6c36e 100644 (file)
@@ -71,6 +71,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 07fb71b769097d856920fee10fd95c6f2356a49d..a997aa74bd7de5e744198dd3fdef303fe34fe800 100644 (file)
@@ -69,6 +69,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 6cc9bb64c6506aabf28a81dcf4b9e86b88a98628..930700f7c3456fe2d86f28949fac78281f549c42 100644 (file)
@@ -53,4 +53,6 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_LCD=y
index 6c24a0d22f55c8afa58a28b9dae09077a25713ce..b75e4269bca5ea198b05f98cbf5c64afcf3870a9 100644 (file)
@@ -53,5 +53,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_LCD=y
 CONFIG_FAT_WRITE=y
index 168bf1961e39a46c74303ce3d4bcafa566a694f4..e3f67da1c422e0c32a0dabb909dbe6a19063cccc 100644 (file)
@@ -53,5 +53,7 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_LCD=y
 CONFIG_FAT_WRITE=y
index e8a9ee9d2d46e8ae5fd208c8f7299174b1b1e23e..b7d445ad68a62c1aa7125bdcf837c7b4c80515ed 100644 (file)
@@ -66,6 +66,9 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART_BOARD_INIT=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index f3c338c0ac58cb0056210f5ba5b45796ffd9bf4a..5539616163b314d823dec50b44ffdc23ce19a2ee 100644 (file)
@@ -63,6 +63,9 @@ CONFIG_DEBUG_UART_CLOCK=132000000
 CONFIG_DEBUG_UART_BOARD_INIT=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 32b4c422aa41ba78388d3a621ecd8556c3dd5e15..2843e3b5de9cffd8368e1b5ac47535e654a0818e 100644 (file)
@@ -72,6 +72,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index c1ddfd03d68e018d5d6721064cef74e3bbbca4e9..fd4d5311f409d53701f9b33d94941a834d825816 100644 (file)
@@ -67,6 +67,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 823cdcce7d7c6710664d1fc60f6abaca00b3d215..94340173414494f91e21d164247e16e136c93f38 100644 (file)
@@ -68,6 +68,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 09da2e08557361dbba08e32bf3b1a197c2e9ae43..de0ce40a561d7b210cbb5324be14104554956320 100644 (file)
@@ -66,6 +66,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 5ac5d08527b3df01e050735b7d0590af80b14a72..cba3c8b640cffc04efd35212e72681294ced861d 100644 (file)
@@ -63,6 +63,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 131d0e5b9d21bbfa1cd6dceec5c639c469d94b07..174e2bc5bab3073953141b01692613a6aaf93cf4 100644 (file)
@@ -65,6 +65,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 395a01760f874b3d5342d6905fb00f3460a183f9..ade4d30eaf9ebc1b17565fa5045928dc5845f77a 100644 (file)
@@ -69,6 +69,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index 9eab7f712bea3afa3710d2e273082a9972969fe6..378a03c17a089072b37f6a0d66220ceffb6d1fd6 100644 (file)
@@ -66,6 +66,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index f25ca9cfdb1b2f9d315580f4ee2ee8256e2ae2c5..ff94d7a113f8630ffe8eda08e7e46e8776d2f0aa 100644 (file)
@@ -65,6 +65,9 @@ CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
 CONFIG_DM_SPI=y
 CONFIG_ATMEL_SPI=y
+CONFIG_TIMER=y
+CONFIG_SPL_TIMER=y
+CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
index bb8ed658f22538a64dfd1643cd37ed821313dc99..8aef251f4eb245f6345d2496046cf32183fdb184 100644 (file)
@@ -24,7 +24,7 @@
 #undef CHECK_FOR_POWERPC_PLATTFORM
 #define CD_SECTSIZE 2048
 
-static unsigned char tmpbuf[CD_SECTSIZE];
+static unsigned char tmpbuf[CD_SECTSIZE] __aligned(ARCH_DMA_MINALIGN);
 
 unsigned long iso_dread(struct blk_desc *block_dev, lbaint_t start,
                         lbaint_t blkcnt, void *buffer)
index e9f8a7583c721cd96eb364ff23d591c0284c70b3..9a7f0bc23515089d1a5e8e968c7db58f051cb613 100644 (file)
@@ -118,7 +118,12 @@ after each run of 'spl export'. Unfortunately the position of temporary
 storage can not be predicted nor provided at commandline, it depends
 highly on your system setup and your provided data (ATAGS or FDT).
 However at the end of an succesful 'spl export' run it will print the
-RAM address of temporary storage.
+RAM address of temporary storage. The RAM address of FDT will also be
+set in the environment variable 'fdtargsaddr', the new length of the
+prepared FDT will be set in the environment variable 'fdtargslen'.
+These environment variables can be used in scripts for writing updated
+FDT to persistent storage.
+
 Now the user have to save the generated BLOB from that printed address
 to the pre-defined address in persistent storage
 (CONFIG_CMD_SPL_NAND_OFS in case of NAND).
index 7cdb7bf324c17d34306da3fff3a94374e5f2eb36..a57cdab33956c3d1747f75fa996fd5cae4109ada 100644 (file)
@@ -81,7 +81,7 @@ $ openssl rsa -in keys/dev.key -pubout
 Device Tree Bindings
 --------------------
 The following properties are required in the FIT's signature node(s) to
-allow thes signer to operate. These should be added to the .its file.
+allow the signer to operate. These should be added to the .its file.
 Signature nodes sit at the same level as hash nodes and are called
 signature@1, signature@2, etc.
 
@@ -150,7 +150,7 @@ all available signing keys until one matches.
 - required: If present this indicates that the key must be verified for the
 image / configuration to be considered valid. Only required keys are
 normally verified by the FIT image booting algorithm. Valid values are
-"image" to force verification of all images, and "conf" to force verfication
+"image" to force verification of all images, and "conf" to force verification
 of the selected configuration (which then relies on hashes in the images to
 verify those).
 
@@ -242,7 +242,7 @@ configuration 3 with kernel 1 and fdt 2:
 With signed images, nothing protects against this. Whether it gains an
 advantage for the attacker is debatable, but it is not secure.
 
-To solved this problem, we support signed configurations. In this case it
+To solve this problem, we support signed configurations. In this case it
 is the configurations that are signed, not the image. Each image has its
 own hash, and we include the hash in the configuration signature.
 
@@ -327,7 +327,7 @@ Enabling FIT Verification
 In addition to the options to enable FIT itself, the following CONFIGs must
 be enabled:
 
-CONFIG_FIT_SIGNATURE - enable signing and verfication in FITs
+CONFIG_FIT_SIGNATURE - enable signing and verification in FITs
 CONFIG_RSA - enable RSA algorithm for signing
 
 WARNING: When relying on signed FIT images with required signature check
@@ -336,7 +336,7 @@ CONFIG_IMAGE_FORMAT_LEGACY
 
 Testing
 -------
-An easy way to test signing and verfication is to use the test script
+An easy way to test signing and verification is to use the test script
 provided in test/vboot/vboot_test.sh. This uses sandbox (a special version
 of U-Boot which runs under Linux) to show the operation of a 'bootm'
 command loading and verifying images.
index e639e7ae71a1e6bbe0f421630959369ec15fcf3a..41c9fa9e09f97d047f980a31fcdbad5cd74d0db2 100644 (file)
@@ -93,7 +93,7 @@ include hashes to verify images, so it is relatively straightforward to
 add signatures as well.
 
 The public key can be stored in U-Boot's CONFIG_OF_CONTROL device tree in
-a standard place. Then when a FIT it loaded it can be verified using that
+a standard place. Then when a FIT is loaded it can be verified using that
 public key. Multiple keys and multiple signatures are supported.
 
 See signature.txt for more information.
index 42bc2efd90d7820f29a3e321abbade99644510f5..f3bb72788a9c34cac16cbf21393fe2870ddeeabe 100644 (file)
@@ -178,7 +178,7 @@ __maybe_weak u64 flash_read64(void *addr)
 /*-----------------------------------------------------------------------
  */
 #if defined(CONFIG_ENV_IS_IN_FLASH) || defined(CONFIG_ENV_ADDR_REDUND) || (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE)
-flash_info_t *flash_get_info(ulong base)
+static flash_info_t *flash_get_info(ulong base)
 {
        int i;
        flash_info_t *info;
@@ -355,8 +355,8 @@ static ulong flash_read_long (flash_info_t * info, flash_sect_t sect,
 /*
  * Write a proper sized command to the correct address
  */
-void flash_write_cmd (flash_info_t * info, flash_sect_t sect,
-                     uint offset, u32 cmd)
+static void flash_write_cmd(flash_info_t *info, flash_sect_t sect,
+                           uint offset, u32 cmd)
 {
 
        void *addr;
@@ -2298,7 +2298,7 @@ static void cfi_flash_set_config_reg(u32 base, u16 val)
 /*-----------------------------------------------------------------------
  */
 
-void flash_protect_default(void)
+static void flash_protect_default(void)
 {
 #if defined(CONFIG_SYS_FLASH_AUTOPROTECT_LIST)
        int i;
index 836be25507b58e062dc47e50e8ca478f8d321035..47969f3f2815b1135318dba6ea036dff024b1735 100644 (file)
@@ -18,7 +18,7 @@ config SPL_RAM
          setting up RAM (e.g. SDRAM / DDR) within SPL.
 
 config TPL_RAM
-       bool "Enable RAM support in SPL"
+       bool "Enable RAM support in TPL"
        depends on RAM && TPL_DM
        help
          The RAM subsystem adds a small amount of overhead to the image.
index 13f122350b2f86086555230c21e2e32bb0eba4ed..6305bbf01cde236a721200cc200a2e0906949b63 100644 (file)
@@ -44,6 +44,14 @@ config ALTERA_TIMER
          Select this to enable a timer for Altera devices. Please find
          details on the "Embedded Peripherals IP User Guide" of Altera.
 
+config ATMEL_PIT_TIMER
+       bool "Atmel periodic interval timer support"
+       depends on TIMER
+       help
+         Select this to enable a periodic interval timer for Atmel devices,
+         it is designed to offer maximum accuracy and efficient management,
+         even for systems with long response time.
+
 config SANDBOX_TIMER
        bool "Sandbox timer support"
        depends on SANDBOX && TIMER
index fa7ce7c835838eb07dc0d4c95cf1e1bf2bd7ab41..69e8961a7ba774bb0f6c6d8bf16aec53a03139ec 100644 (file)
@@ -15,3 +15,4 @@ obj-$(CONFIG_ARC_TIMER)       += arc_timer.o
 obj-$(CONFIG_AG101P_TIMER) += ag101p_timer.o
 obj-$(CONFIG_AE3XX_TIMER) += ae3xx_timer.o
 obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o
+obj-$(CONFIG_ATMEL_PIT_TIMER) += atmel_pit_timer.o
diff --git a/drivers/timer/atmel_pit_timer.c b/drivers/timer/atmel_pit_timer.c
new file mode 100644 (file)
index 0000000..999717b
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2017 Microchip Corporation
+ *                   Wenyou.Yang <wenyou.yang@microchip.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <clk.h>
+#include <dm.h>
+#include <timer.h>
+#include <asm/io.h>
+
+#define AT91_PIT_VALUE         0xfffff
+#define AT91_PIT_PITEN         BIT(24)         /* Timer Enabled */
+
+struct atmel_pit_regs {
+       u32     mode;
+       u32     status;
+       u32     value;
+       u32     value_image;
+};
+
+struct atmel_pit_platdata {
+       struct atmel_pit_regs *regs;
+};
+
+static int atmel_pit_get_count(struct udevice *dev, u64 *count)
+{
+       struct atmel_pit_platdata *plat = dev_get_platdata(dev);
+       struct atmel_pit_regs *const regs = plat->regs;
+       u32 val = readl(&regs->value_image);
+
+       *count = timer_conv_64(val);
+
+       return 0;
+}
+
+static int atmel_pit_probe(struct udevice *dev)
+{
+       struct atmel_pit_platdata *plat = dev_get_platdata(dev);
+       struct atmel_pit_regs *const regs = plat->regs;
+       struct timer_dev_priv *uc_priv = dev_get_uclass_priv(dev);
+       struct clk clk;
+       ulong clk_rate;
+       int ret;
+
+       ret = clk_get_by_index(dev, 0, &clk);
+       if (ret)
+               return -EINVAL;
+
+       clk_rate = clk_get_rate(&clk);
+       if (!clk_rate)
+               return -EINVAL;
+
+       uc_priv->clock_rate = clk_rate / 16;
+
+       writel(AT91_PIT_VALUE | AT91_PIT_PITEN, &regs->mode);
+
+       return 0;
+}
+
+static int atmel_pit_ofdata_to_platdata(struct udevice *dev)
+{
+       struct atmel_pit_platdata *plat = dev_get_platdata(dev);
+
+       plat->regs = (struct atmel_pit_regs *)devfdt_get_addr_ptr(dev);
+
+       return 0;
+}
+
+static const struct timer_ops atmel_pit_ops = {
+       .get_count = atmel_pit_get_count,
+};
+
+static const struct udevice_id atmel_pit_ids[] = {
+       { .compatible = "atmel,at91sam9260-pit" },
+       { }
+};
+
+U_BOOT_DRIVER(atmel_pit) = {
+       .name   = "atmel_pit",
+       .id     = UCLASS_TIMER,
+       .of_match = atmel_pit_ids,
+       .ofdata_to_platdata = atmel_pit_ofdata_to_platdata,
+       .platdata_auto_alloc_size = sizeof(struct atmel_pit_platdata),
+       .probe  = atmel_pit_probe,
+       .ops    = &atmel_pit_ops,
+       .flags  = DM_FLAG_PRE_RELOC,
+};
index 5a25be4c8ac2c5871929f9c1cf07c0eaf2663b70..fed6287eac456010631d6fc392c8430827deefb1 100644 (file)
@@ -355,7 +355,7 @@ void recover_transaction(int prev_desc_logical_no)
        ofs = sizeof(struct journal_header_t);
 
        do {
-               tag = (struct ext3_journal_block_tag *)&p_jdb[ofs];
+               tag = (struct ext3_journal_block_tag *)(p_jdb + ofs);
                ofs += sizeof(struct ext3_journal_block_tag);
 
                if (ofs > fs->blksz)
@@ -466,7 +466,7 @@ int ext4fs_check_journal_state(int recovery_flag)
                        ofs = sizeof(struct journal_header_t);
                        do {
                                tag = (struct ext3_journal_block_tag *)
-                                   &p_jdb[ofs];
+                                   (p_jdb + ofs);
                                ofs += sizeof(struct ext3_journal_block_tag);
                                if (ofs > fs->blksz)
                                        break;
index f6f06289f406c3905676524f57d4c0ef6997993d..4ca024c2088038562f17e5904c46eacb1edc4518 100644 (file)
@@ -762,7 +762,7 @@ static int check_overflow(fsdata *mydata, __u32 clustnum, loff_t size)
        if (offset != 0)
                sect_num++;
 
-       if (startsect + sect_num > cur_part_info.start + total_sector)
+       if (startsect + sect_num > total_sector)
                return -1;
        return 0;
 }
index a029b54804d730f897254d8c2743f3da271f4ff4..dc137dbd41a9b6d6ef2768340f6245f629a24a5b 100644 (file)
@@ -13,7 +13,6 @@
 #define CONFIG_NR_DRAM_BANKS            2
 
 #include <configs/ti_omap3_common.h>
-#include <asm/mach-types.h>
 
 /*
  * We are only ever GP parts and will utilize all of the "downloaded image"
 
 #define CONFIG_REVISION_TAG            1
 
-/* Status LED available for IGEP0020 and IGEP0030 but not IGEP0032 */
-#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020) || \
-                      (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
-#if (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0020)
-#define RED_LED_GPIO 27
-#elif (CONFIG_MACH_TYPE == MACH_TYPE_IGEP0030)
-#define RED_LED_GPIO 16
-#endif
-#endif
+/* GPIO banks */
+#define CONFIG_OMAP3_GPIO_2            /* GPIO32..63   is in GPIO bank 2 */
+#define CONFIG_OMAP3_GPIO_4            /* GPIO96..127  is in GPIO bank 4 */
+
+/* TPS65950 */
+#define PBIASLITEVMODE1                        (1 << 8)
+
+/* LED */
+#define IGEP0020_GPIO_LED              27
+#define IGEP0030_GPIO_LED              16
+
+/* Board and revision detection GPIOs */
+#define IGEP0030_USB_TRANSCEIVER_RESET         54
+#define GPIO_IGEP00X0_BOARD_DETECTION          28
+#define GPIO_IGEP00X0_REVISION_DETECTION       129
 
 /* USB */
 #define CONFIG_USB_MUSB_UDC            1
 #define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 0)
 
+#define CONFIG_BOOTCOMMAND \
+       "run findfdt; " \
+       "run distro_bootcmd"
+
 #include <config_distro_bootcmd.h>
 
+#define ENV_FINDFDT \
+       "findfdt="\
+               "if test ${board_name} = igep0020; then " \
+                       "if test ${board_rev} = F; then " \
+                               "setenv fdtfile omap3-igep0020-rev-f.dtb; " \
+                       "else " \
+                               "setenv fdtfile omap3-igep0020.dtb; fi; fi; " \
+               "if test ${board_name} = igep0030; then " \
+                       "if test ${board_rev} = G; then " \
+                               "setenv fdtfile omap3-igep0030-rev-g.dtb; " \
+                       "else " \
+                               "setenv fdtfile omap3-igep0030.dtb; fi; fi; " \
+               "if test ${fdtfile} = ''; then " \
+                       "echo WARNING: Could not determine device tree to use; fi; \0"
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
+       ENV_FINDFDT \
        ENV_DEVICE_SETTINGS \
        MEM_LAYOUT_SETTINGS \
        BOOTENV
index 1c3ae40a997c0585bd82a351096ba36fcadd1c6f..a05f5ba9bd4d77303bd5b49c49170e838ca40faf 100644 (file)
        "vram=16M\0" \
        "partitions=" PARTS_DEFAULT "\0" \
        "optargs=\0" \
-       "dofastboot=0\0"
+       "dofastboot=0\0" \
+       "emmc_android_boot=" \
+               "setenv eval_bootargs setenv bootargs $bootargs; " \
+               "run eval_bootargs; " \
+               "setenv mmcdev 1; " \
+               "setenv fdt_part 3; " \
+               "setenv boot_part 9; " \
+               "setenv machid fe6; " \
+               "mmc dev $mmcdev; " \
+               "mmc rescan; " \
+               "part start mmc ${mmcdev} ${fdt_part} fdt_start; " \
+               "part size mmc ${mmcdev} ${fdt_part} fdt_size; " \
+               "part start mmc ${mmcdev} ${boot_part} boot_start; " \
+               "part size mmc ${mmcdev} ${boot_part} boot_size; " \
+               "mmc read ${fdtaddr} ${fdt_start} ${fdt_size}; " \
+               "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \
+               "echo Booting from eMMC ...; " \
+               "bootm $loadaddr $loadaddr $fdtaddr;\0"
 
 #ifdef CONFIG_OMAP54XX
 
@@ -76,6 +93,7 @@
        "setenv bootpart 1:2; " \
        "setenv mmcroot /dev/mmcblk0p2 rw; " \
        "run mmcboot;" \
+       "run emmc_android_boot; " \
        ""
 
 #endif /* CONFIG_OMAP54XX */
index 55c5bdd4b12983fde8c70bf49a474a5b0d64e1e1..f53fe913496b877a5c7d1814295f34a4c0d26818 100644 (file)
@@ -81,7 +81,6 @@ typedef unsigned long flash_sect_t;
 /* Prototypes */
 
 extern unsigned long flash_init (void);
-extern void flash_protect_default(void);
 extern void flash_print_info (flash_info_t *);
 extern int flash_erase (flash_info_t *, int, int);
 extern int flash_sect_erase (ulong addr_first, ulong addr_last);
@@ -114,10 +113,6 @@ extern int jedec_flash_match(flash_info_t *info, ulong base);
 #define CFI_CMDSET_AMD_LEGACY          0xFFF0
 #endif
 
-#if defined(CONFIG_SYS_FLASH_CFI)
-extern flash_info_t *flash_get_info(ulong base);
-#endif
-
 /*-----------------------------------------------------------------------
  * return codes from flash_write():
  */
index 52572b9b02d5a11fec6d1d0b4b6b339ef0626638..eade2b3614f2931efdb7d461a0dccec07792b468 100644 (file)
@@ -165,8 +165,6 @@ extern int cfi_flash_num_flash_banks;
 #define CFI_MAX_FLASH_BANKS    CONFIG_SYS_MAX_FLASH_BANKS
 #endif
 
-void flash_write_cmd(flash_info_t * info, flash_sect_t sect,
-                    uint offset, u32 cmd);
 phys_addr_t cfi_flash_bank_addr(int i);
 unsigned long cfi_flash_bank_size(int i);
 void flash_cmd_reset(flash_info_t *info);
index 62e51dae2138db450555f3d15dbd14cc53c53652..4fb5d67968932bbf83fbdc63ee84c374d552fa41 100755 (executable)
@@ -57,13 +57,15 @@ get_output_dir() {
 do_objdump() {
        dir=$(get_output_dir $1)
        base=${1##*/}
+       stripped=$dir/${base%.o}.stripped
        dis=$dir/${base%.o}.dis
 
        [ ! -d "$dir" ] && mkdir -p $dir
 
        # remove addresses for a cleaner diff
        # http://dummdida.tumblr.com/post/60924060451/binary-diff-between-libc-from-scientificlinux-and
-       $OBJDUMP -D $1 | sed "s/^[[:space:]]\+[0-9a-f]\+//" > $dis
+       $STRIP -g $1 -R __bug_table -R .note -R .comment -o $stripped
+       $OBJDUMP -D $stripped | sed -e "s/^[[:space:]]\+[0-9a-f]\+//" -e "s:^$stripped:$1:" > $dis
 }
 
 dorecord() {
@@ -73,6 +75,7 @@ dorecord() {
 
        CMT="`git rev-parse --short HEAD`"
 
+       STRIP="${CROSS_COMPILE}strip"
        OBJDUMP="${CROSS_COMPILE}objdump"
 
        for d in $FILES; do