Merge branch 'master' of git://git.denx.de/u-boot
authorStefano Babic <sbabic@denx.de>
Mon, 15 Jun 2015 10:08:11 +0000 (12:08 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 15 Jun 2015 10:08:11 +0000 (12:08 +0200)
120 files changed:
arch/arm/Kconfig
arch/arm/cpu/armv7/cpu.c
arch/arm/cpu/armv7/exynos/Kconfig
arch/arm/cpu/armv7/s5pc1xx/Kconfig
arch/arm/cpu/armv7/sunxi/board.c
arch/arm/dts/Makefile
arch/arm/dts/exynos4412-odroid.dts
arch/arm/dts/tegra124-nyan-big.dts
arch/arm/include/asm/arch-tegra/clock.h
arch/arm/include/asm/arch-tegra/sys_proto.h
arch/arm/include/asm/arch-tegra124/clock-tables.h
arch/arm/include/asm/arch-tegra124/flow.h
arch/arm/mach-tegra/Kconfig
arch/arm/mach-tegra/board2.c
arch/arm/mach-tegra/clock.c
arch/arm/mach-tegra/powergate.c
arch/arm/mach-tegra/tegra124/Kconfig
arch/arm/mach-tegra/tegra124/clock.c
arch/avr32/Kconfig
arch/avr32/lib/Makefile
arch/avr32/lib/board.c [deleted file]
arch/sandbox/cpu/cpu.c
board/atmel/atstk1000/Kconfig
board/atmel/atstk1000/MAINTAINERS
board/atmel/atstk1000/atstk1000.c
board/earthlcd/favr-32-ezkit/Kconfig [deleted file]
board/earthlcd/favr-32-ezkit/MAINTAINERS [deleted file]
board/earthlcd/favr-32-ezkit/Makefile [deleted file]
board/earthlcd/favr-32-ezkit/favr-32-ezkit.c [deleted file]
board/earthlcd/favr-32-ezkit/flash.c [deleted file]
board/mimc/mimc200/Kconfig [deleted file]
board/mimc/mimc200/MAINTAINERS [deleted file]
board/mimc/mimc200/Makefile [deleted file]
board/mimc/mimc200/mimc200.c [deleted file]
board/miromico/hammerhead/Kconfig [deleted file]
board/miromico/hammerhead/MAINTAINERS [deleted file]
board/miromico/hammerhead/Makefile [deleted file]
board/miromico/hammerhead/hammerhead.c [deleted file]
board/nokia/rx51/lowlevel_init.S
board/nvidia/nyan-big/MAINTAINERS
board/nvidia/nyan-big/nyan-big.c
common/cmd_bdinfo.c
common/cmd_bmp.c
common/lcd.c
common/malloc_simple.c
configs/am335x_boneblack_vboot_defconfig
configs/arches_defconfig
configs/atstk1003_defconfig [deleted file]
configs/atstk1004_defconfig [deleted file]
configs/atstk1006_defconfig [deleted file]
configs/bf527-ezkit-v2_defconfig
configs/bf533-ezkit_defconfig
configs/bf533-stamp_defconfig
configs/bf538f-ezkit_defconfig
configs/bf548-ezkit_defconfig
configs/bf561-acvilon_defconfig
configs/bf561-ezkit_defconfig
configs/bf609-ezkit_defconfig
configs/br4_defconfig
configs/canyonlands_defconfig
configs/cm-bf533_defconfig
configs/cm-bf548_defconfig
configs/cm-bf561_defconfig
configs/favr-32-ezkit_defconfig [deleted file]
configs/galileo_defconfig
configs/hammerhead_defconfig [deleted file]
configs/ibf-dsp561_defconfig
configs/microblaze-generic_defconfig
configs/mimc200_defconfig [deleted file]
configs/nyan-big_defconfig
configs/odroid_defconfig
configs/origen_defconfig
configs/pr1_defconfig
configs/s5pc210_universal_defconfig
configs/sandbox_defconfig
configs/socfpga_socrates_defconfig
configs/trats2_defconfig
configs/trats_defconfig
configs/zynq_microzed_defconfig
configs/zynq_zc70x_defconfig
configs/zynq_zc770_xm010_defconfig
configs/zynq_zc770_xm012_defconfig
configs/zynq_zc770_xm013_defconfig
configs/zynq_zed_defconfig
configs/zynq_zybo_defconfig
doc/README.scrapyard
drivers/core/Makefile
drivers/i2c/i2c-uclass-compat.c
drivers/serial/Kconfig
drivers/serial/ns16550.c
drivers/serial/serial-uclass.c
drivers/spi/tegra114_spi.c
drivers/usb/host/ehci-tegra.c
drivers/usb/host/usb-uclass.c
drivers/video/atmel_lcdfb.c
drivers/video/bus_vcxk.c
drivers/video/cfb_console.c
drivers/video/tegra124/tegra124-lcd.c
include/bmp_layout.h
include/common.h
include/config_uncmd_spl.h
include/configs/atngw100.h
include/configs/atstk1003.h [deleted file]
include/configs/atstk1004.h [deleted file]
include/configs/atstk1006.h [deleted file]
include/configs/favr-32-ezkit.h [deleted file]
include/configs/hammerhead.h [deleted file]
include/configs/mimc200.h [deleted file]
include/configs/nyan-big.h
include/configs/sandbox.h
include/configs/sunxi-common.h
include/configs/tegra-common-post.h
include/configs/tegra-common.h
include/fdtdec.h
include/i2c.h
include/ns16550.h
include/spl.h
lib/Kconfig
lib/fdtdec.c
scripts/Makefile.uncmd_spl

index 2985e6e..fd47e60 100644 (file)
@@ -668,6 +668,7 @@ config TEGRA
        select SUPPORT_SPL
        select SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
        select CPU_V7
        select DM
        select DM_SPI_FLASH
@@ -794,6 +795,7 @@ config ARCH_UNIPHIER
        select DM
        select DM_SERIAL
        select DM_I2C
+       select SPL_DISABLE_OF_CONTROL
        help
          Support for UniPhier SoC family developed by Socionext Inc.
          (formerly, System LSI Business Division of Panasonic Corporation)
index c56417d..0b0e500 100644 (file)
@@ -24,7 +24,7 @@
 
 void __weak cpu_cache_initialization(void){}
 
-int cleanup_before_linux(void)
+int cleanup_before_linux_select(int flags)
 {
        /*
         * this function is called just before we call linux
@@ -42,24 +42,30 @@ int cleanup_before_linux(void)
        icache_disable();
        invalidate_icache_all();
 
-       /*
-        * turn off D-cache
-        * dcache_disable() in turn flushes the d-cache and disables MMU
-        */
-       dcache_disable();
-       v7_outer_cache_disable();
+       if (flags & CBL_DISABLE_CACHES) {
+               /*
+               * turn off D-cache
+               * dcache_disable() in turn flushes the d-cache and disables MMU
+               */
+               dcache_disable();
+               v7_outer_cache_disable();
 
-       /*
-        * After D-cache is flushed and before it is disabled there may
-        * be some new valid entries brought into the cache. We are sure
-        * that these lines are not dirty and will not affect our execution.
-        * (because unwinding the call-stack and setting a bit in CP15 SCTLR
-        * is all we did during this. We have not pushed anything on to the
-        * stack. Neither have we affected any static data)
-        * So just invalidate the entire d-cache again to avoid coherency
-        * problems for kernel
-        */
-       invalidate_dcache_all();
+               /*
+               * After D-cache is flushed and before it is disabled there may
+               * be some new valid entries brought into the cache. We are
+               * sure that these lines are not dirty and will not affect our
+               * execution. (because unwinding the call-stack and setting a
+               * bit in CP15 SCTRL is all we did during this. We have not
+               * pushed anything on to the stack. Neither have we affected
+               * any static data) So just invalidate the entire d-cache again
+               * to avoid coherency problems for kernel
+               */
+               invalidate_dcache_all();
+       } else {
+               flush_dcache_all();
+               invalidate_icache_all();
+               icache_enable();
+       }
 
        /*
         * Some CPU need more cache attention before starting the kernel.
@@ -68,3 +74,8 @@ int cleanup_before_linux(void)
 
        return 0;
 }
+
+int cleanup_before_linux(void)
+{
+       return cleanup_before_linux_select(CBL_ALL);
+}
index c614425..3ca7128 100644 (file)
@@ -8,6 +8,7 @@ config TARGET_SMDKV310
        select SUPPORT_SPL
        bool "Exynos4210 SMDKV310 board"
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_TRATS
        bool "Exynos4210 Trats board"
@@ -28,6 +29,7 @@ config TARGET_ODROID
 config TARGET_ODROID_XU3
        bool "Exynos5422 Odroid board"
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_ARNDALE
        bool "Exynos5250 Arndale board"
@@ -35,31 +37,37 @@ config TARGET_ARNDALE
        select CPU_V7_HAS_VIRT
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_SMDK5250
        bool "SMDK5250 board"
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_SNOW
        bool "Snow board"
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_SMDK5420
        bool "SMDK5420 board"
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_PEACH_PI
        bool "Peach Pi board"
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_PEACH_PIT
        bool "Peach Pit board"
        select SUPPORT_SPL
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 endchoice
 
index 04acdaa..792ef59 100644 (file)
@@ -7,10 +7,12 @@ choice
 config TARGET_S5P_GONI
        bool "S5P Goni board"
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 config TARGET_SMDKC100
        bool "Support smdkc100 board"
        select OF_CONTROL
+       select SPL_DISABLE_OF_CONTROL
 
 endchoice
 
index a82c8b9..4b2494e 100644 (file)
@@ -223,6 +223,7 @@ int cpu_eth_init(bd_t *bis)
        __maybe_unused int rc;
 
 #ifdef CONFIG_MACPWR
+       gpio_request(CONFIG_MACPWR, "macpwr");
        gpio_direction_output(CONFIG_MACPWR, 1);
        mdelay(200);
 #endif
index bc1421e..9c735c6 100644 (file)
@@ -138,7 +138,8 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
 
 targets += $(dtb-y)
 
-DTC_FLAGS += -R 4 -p 0x1000
+# Add any required device tree compiler flags here
+DTC_FLAGS +=
 
 PHONY += dtbs
 dtbs: $(addprefix $(obj)/, $(dtb-y))
index 415dfea..d572f1e 100644 (file)
 
                        voltage-regulators {
                                ldo1_reg: ldo1 {
-                                       regulator-compatible = "LDO1";
                                        regulator-name = "VDD_ALIVE_1.0V";
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                };
 
                                ldo2_reg: ldo2 {
-                                       regulator-compatible = "LDO2";
                                        regulator-name = "VDDQ_VM1M2_1.2V";
                                        regulator-min-microvolt = <1200000>;
                                        regulator-max-microvolt = <1200000>;
                                };
 
                                ldo3_reg: ldo3 {
-                                       regulator-compatible = "LDO3";
                                        regulator-name = "VCC_1.8V_AP";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo4_reg: ldo4 {
-                                       regulator-compatible = "LDO4";
                                        regulator-name = "VDDQ_MMC2_2.8V";
                                        regulator-min-microvolt = <2800000>;
                                        regulator-max-microvolt = <2800000>;
                                };
 
                                ldo5_reg: ldo5 {
-                                       regulator-compatible = "LDO5";
                                        regulator-name = "VDDQ_MMC0/1/3_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo6_reg: ldo6 {
-                                       regulator-compatible = "LDO6";
                                        regulator-name = "VMPLL_1.0V";
                                        regulator-min-microvolt = <1100000>;
                                        regulator-max-microvolt = <1100000>;
                                };
 
                                ldo7_reg: ldo7 {
-                                       regulator-compatible = "LDO7";
                                        regulator-name = "VPLL_1.1V";
                                        regulator-min-microvolt = <1100000>;
                                        regulator-max-microvolt = <1100000>;
                                };
 
                                ldo8_reg: ldo8 {
-                                       regulator-compatible = "LDO8";
                                        regulator-name = "VDD_MIPI/HDMI_1.0V";
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                };
 
-                               ldo9_reg: ldo9 {
-                                       regulator-compatible = "LDO9";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
                                ldo10_reg: ldo10 {
-                                       regulator-compatible = "LDO10";
                                        regulator-name = "VDD_MIPI/HDMI_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo11_reg: ldo11 {
-                                       regulator-compatible = "LDO11";
                                        regulator-name = "VDD_ABB1_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo12_reg: ldo12 {
-                                       regulator-compatible = "LDO12";
                                        regulator-name = "VDD_UOTG_3.0V";
                                        regulator-min-microvolt = <3000000>;
                                        regulator-max-microvolt = <3000000>;
                                };
 
                                ldo13_reg: ldo13 {
-                                       regulator-compatible = "LDO13";
                                        regulator-name = "VDD_C2C_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo14_reg: ldo14 {
-                                       regulator-compatible = "LDO14";
                                        regulator-name = "VDD_ABB02_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo15_reg: ldo15 {
-                                       regulator-compatible = "LDO15";
                                        regulator-name = "VDD_HSIC/OTG_1.0V";
                                        regulator-min-microvolt = <1000000>;
                                        regulator-max-microvolt = <1000000>;
                                };
 
                                ldo16_reg: ldo16 {
-                                       regulator-compatible = "LDO16";
                                        regulator-name = "VDD_HSIC_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo17_reg: ldo17 {
-                                       regulator-compatible = "LDO17";
                                        regulator-name = "VDDQ_CAM_1.2V";
                                        regulator-min-microvolt = <1200000>;
                                        regulator-max-microvolt = <1200000>;
                                };
 
-                               ldo18_reg: ldo18 {
-                                       regulator-compatible = "LDO18";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               ldo19_reg: ldo19 {
-                                       regulator-compatible = "LDO19";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
                                ldo20_reg: ldo20 {
-                                       regulator-compatible = "LDO20";
                                        regulator-name = "VDDQ_EMMC_1.8V";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <1800000>;
                                };
 
                                ldo21_reg: ldo21 {
-                                       regulator-compatible = "LDO21";
                                        regulator-name = "TFLASH_2.8V";
                                        regulator-min-microvolt = <2800000>;
                                        regulator-max-microvolt = <2800000>;
                                };
 
                                ldo22_reg: ldo22 {
-                                       regulator-compatible = "LDO22";
                                        regulator-name = "VDDQ_EMMC_2.8V";
                                        regulator-min-microvolt = <2800000>;
                                        regulator-max-microvolt = <2800000>;
                                        regulator-boot-on;
                                };
 
-                               ldo23_reg: ldo23 {
-                                       regulator-compatible = "LDO23";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <3300000>;
-                                       regulator-max-microvolt = <3300000>;
-                               };
-
-                               ldo24_reg: ldo24 {
-                                       regulator-compatible = "LDO24";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                               };
-
                                ldo25_reg: ldo25 {
                                        regulator-compatible = "LDO25";
                                        regulator-name = "VDDQ_LCD_3.0V";
                                        regulator-max-microvolt = <3000000>;
                                };
 
-                               ldo26_reg: ldo26 {
-                                       regulator-compatible = "LDO26";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                               };
-
-                               buck1_reg: buck@1 {
-                                       regulator-compatible = "BUCK1";
+                               buck1_reg: buck1 {
                                        regulator-name = "VDD_MIF_1.0V";
                                        regulator-min-microvolt = <8500000>;
                                        regulator-max-microvolt = <1100000>;
                                };
 
-                               buck2_reg: buck@2 {
-                                       regulator-compatible = "BUCK2";
+                               buck2_reg: buck2 {
                                        regulator-name = "VDD_ARM_1.0V";
                                        regulator-min-microvolt = <850000>;
                                        regulator-max-microvolt = <1500000>;
                                };
 
                                buck3_reg: buck3 {
-                                       regulator-compatible = "BUCK3";
                                        regulator-name = "VDD_INT_1.1V";
                                        regulator-min-microvolt = <850000>;
                                        regulator-max-microvolt = <1150000>;
                                };
 
                                buck4_reg: buck4 {
-                                       regulator-compatible = "BUCK4";
                                        regulator-name = "VDD_G3D_1.0V";
                                        regulator-min-microvolt = <850000>;
                                        regulator-max-microvolt = <1150000>;
                                };
 
                                buck5_reg: buck5 {
-                                       regulator-compatible = "BUCK5";
                                        regulator-name = "VDDQ_AP_1.2V";
                                        regulator-min-microvolt = <1200000>;
                                        regulator-max-microvolt = <1200000>;
                                };
 
                                buck6_reg: buck6 {
-                                       regulator-compatible = "BUCK6";
                                        regulator-name = "VCC_INL1/7_1.35V";
                                        regulator-min-microvolt = <1350000>;
                                        regulator-max-microvolt = <1350000>;
                                };
 
                                buck7_reg: buck7 {
-                                       regulator-compatible = "BUCK7";
                                        regulator-name = "VCC_INL2/3/5_2.0V";
                                        regulator-min-microvolt = <2000000>;
                                        regulator-max-microvolt = <2000000>;
                                };
 
                                buck8_reg: buck8 {
-                                       regulator-compatible = "BUCK8";
                                        regulator-name = "VCC_P3V3_2.85V";
                                        regulator-min-microvolt = <2850000>;
                                        regulator-max-microvolt = <3300000>;
                                };
-
-                               buck9_reg: buck9 {
-                                       regulator-compatible = "BUCK9";
-                                       regulator-name = "nc";
-                                       regulator-min-microvolt = <1200000>;
-                                       regulator-max-microvolt = <1200000>;
-                               };
                        };
                };
        };
index 5a39e93..8be6adb 100644 (file)
 
        spi@7000d400 {
                status = "okay";
+               spi-deactivate-delay = <200>;
+               spi-max-frequency = <3000000>;
 
                cros_ec: cros-ec@0 {
                        compatible = "google,cros-ec-spi";
                        spi-max-frequency = <3000000>;
                        interrupt-parent = <&gpio>;
                        interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
+                       ec-interrupt = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>;
                        reg = <0>;
 
                        google,cros-ec-spi-msg-delay = <2000>;
index 04011ae..f9dd3c8 100644 (file)
@@ -336,4 +336,12 @@ void arch_timer_init(void);
 
 void tegra30_set_up_pllp(void);
 
+/**
+ * Enable output clock for external peripherals
+ *
+ * @param clk_id       Clock ID to output (1, 2 or 3)
+ * @return 0 if OK. -ve on error
+ */
+int clock_external_output(int clk_id);
+
 #endif  /* _TEGRA_CLOCK_H_ */
index 83f9f47..b64f9d8 100644 (file)
@@ -25,4 +25,11 @@ int tegra_board_id(void);
  */
 int tegra_lcd_pmic_init(int board_id);
 
+/**
+ * nvidia_board_init() - perform any board-specific init
+ *
+ * @return 0 if OK, -ve on error
+ */
+int nvidia_board_init(void);
+
 #endif
index 7005855..3c67e72 100644 (file)
@@ -285,12 +285,12 @@ enum periph_id {
        /* 184 */
        PERIPH_ID_GPU,
        PERIPH_ID_AMX1,
-       PERIPH_ID_X_RESERVED26,
-       PERIPH_ID_X_RESERVED27,
-       PERIPH_ID_X_RESERVED28,
-       PERIPH_ID_X_RESERVED29,
-       PERIPH_ID_X_RESERVED30,
-       PERIPH_ID_X_RESERVED31,
+       PERIPH_ID_AFC5,
+       PERIPH_ID_AFC4,
+       PERIPH_ID_AFC3,
+       PERIPH_ID_AFC2,
+       PERIPH_ID_AFC1,
+       PERIPH_ID_AFC0,
 
        PERIPH_ID_COUNT,
        PERIPH_ID_NONE = -1,
index d6f515f..7818b1b 100644 (file)
@@ -26,6 +26,12 @@ struct flow_ctlr {
        u32 cpu_pwr_csr;        /* offset 0x38 */
        u32 mpid;               /* offset 0x3c */
        u32 ram_repair;         /* offset 0x40 */
+       u32 flow_dbg_sel;       /* offset 0x44 */
+       u32 flow_dbg_cnt0;      /* offset 0x48 */
+       u32 flow_dbg_cnt1;      /* offset 0x4c */
+       u32 flow_dbg_qual;      /* offset 0x50 */
+       u32 flow_ctlr_spare;    /* offset 0x54 */
+       u32 ram_repair_cluster1;/* offset 0x58 */
 };
 
 /* HALT_COP_EVENTS_0, 0x04 */
@@ -43,4 +49,10 @@ struct flow_ctlr {
 #define CSR_WAIT_WFI_SHIFT     8
 #define CSR_PWR_OFF_STS                (1 << 16)
 
+/* RAM_REPAIR, 0x40, 0x58 */
+enum {
+       RAM_REPAIR_REQ = 0x1 << 0,
+       RAM_REPAIR_STS = 0x1 << 1,
+};
+
 #endif /*  _TEGRA124_FLOW_H_ */
index 9b42871..f5b5ee9 100644 (file)
@@ -24,9 +24,15 @@ config SYS_MALLOC_F_LEN
 config USE_PRIVATE_LIBGCC
        default y
 
+config DM_USB
+       default y
+
 config SPL_DM
        default y
 
+config SPL_DISABLE_OF_CONTROL
+       default y
+
 source "arch/arm/mach-tegra/tegra20/Kconfig"
 source "arch/arm/mach-tegra/tegra30/Kconfig"
 source "arch/arm/mach-tegra/tegra114/Kconfig"
index 131802a..ce9b695 100644 (file)
@@ -107,6 +107,11 @@ __weak int tegra_lcd_pmic_init(int board_it)
        return 0;
 }
 
+__weak int nvidia_board_init(void)
+{
+       return 0;
+}
+
 /*
  * Routine: board_init
  * Description: Early hardware init.
@@ -156,7 +161,6 @@ int board_init(void)
 
 #ifdef CONFIG_USB_EHCI_TEGRA
        pin_mux_usb();
-       usb_process_devicetree(gd->fdt_blob);
 #endif
 
 #ifdef CONFIG_LCD
@@ -180,8 +184,7 @@ int board_init(void)
        /* prepare the WB code to LP0 location */
        warmboot_prepare_code(TEGRA_LP0_ADDR, TEGRA_LP0_SIZE);
 #endif
-
-       return 0;
+       return nvidia_board_init();
 }
 
 #ifdef CONFIG_BOARD_EARLY_INIT_F
index cdd5438..24047b8 100644 (file)
 /* Tegra SoC common clock control functions */
 
 #include <common.h>
+#include <errno.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/tegra.h>
 #include <asm/arch-tegra/ap.h>
 #include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
 #include <asm/arch-tegra/timer.h>
 #include <div64.h>
 #include <fdtdec.h>
@@ -82,7 +84,7 @@ static struct clk_pll *get_pll(enum clock_id clkid)
 
        assert(clock_id_is_pll(clkid));
        if (clkid >= (enum clock_id)TEGRA_CLK_PLLS) {
-               debug("%s: Invalid PLL\n", __func__);
+               debug("%s: Invalid PLL %d\n", __func__, clkid);
                return NULL;
        }
        return &clkrst->crc_pll[clkid];
@@ -118,9 +120,12 @@ int clock_ll_read_pll(enum clock_id clkid, u32 *divm, u32 *divn,
 unsigned long clock_start_pll(enum clock_id clkid, u32 divm, u32 divn,
                u32 divp, u32 cpcon, u32 lfcon)
 {
-       struct clk_pll *pll = get_pll(clkid);
+       struct clk_pll *pll = NULL;
        u32 misc_data, data;
 
+       if (clkid < (enum clock_id)TEGRA_CLK_PLLS)
+               pll = get_pll(clkid);
+
        /*
         * We cheat by treating all PLL (except PLLU) in the same fashion.
         * This works only because:
@@ -702,3 +707,18 @@ void tegra30_set_up_pllp(void)
 
        set_avp_clock_source(SCLK_SOURCE_PLLP_OUT4);
 }
+
+int clock_external_output(int clk_id)
+{
+       struct pmc_ctlr *pmc = (struct pmc_ctlr *)NV_PA_PMC_BASE;
+
+       if (clk_id >= 1 && clk_id <= 3) {
+               setbits_le32(&pmc->pmc_clk_out_cntrl,
+                            1 << (2 + (clk_id - 1) * 8));
+       } else {
+               printf("%s: Unknown output clock id %d\n", __func__, clk_id);
+               return -EINVAL;
+       }
+
+       return 0;
+}
index 6331cd4..30ae036 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <asm/io.h>
 #include <asm/types.h>
-
+#include <asm/arch/flow.h>
 #include <asm/arch/powergate.h>
 #include <asm/arch/tegra.h>
 
@@ -75,11 +75,29 @@ static int tegra_powergate_remove_clamping(enum tegra_powergate id)
        return 0;
 }
 
+static void tegra_powergate_ram_repair(void)
+{
+#ifdef CONFIG_TEGRA124
+       struct flow_ctlr *flow = (struct flow_ctlr *)NV_PA_FLOW_BASE;
+
+       /* Request RAM repair for cluster 0 and wait until complete */
+       setbits_le32(&flow->ram_repair, RAM_REPAIR_REQ);
+       while (!(readl(&flow->ram_repair) & RAM_REPAIR_STS))
+               ;
+
+       /* Same for cluster 1 */
+       setbits_le32(&flow->ram_repair_cluster1, RAM_REPAIR_REQ);
+       while (!(readl(&flow->ram_repair_cluster1) & RAM_REPAIR_STS))
+               ;
+#endif
+}
+
 int tegra_powergate_sequence_power_up(enum tegra_powergate id,
                                      enum periph_id periph)
 {
        int err;
 
+       tegra_powergate_ram_repair();
        reset_set_enable(periph, 1);
 
        err = tegra_powergate_power_on(id);
index 6579e3f..f3324ff 100644 (file)
@@ -10,7 +10,7 @@ config TARGET_JETSON_TK1
        select CPU_V7_HAS_VIRT if !SPL_BUILD
 
 config TARGET_NYAN_BIG
-       bool "Google/NVIDIA Nyan-big Chrombook"
+       bool "Google/NVIDIA Nyan-big Chromebook"
        help
          Nyan Big is a Tegra124 clamshell board that is very similar
          to venice2, but it has a different panel, the sdcard CD and WP
index 2d17550..b955848 100644 (file)
@@ -475,7 +475,7 @@ static s8 periph_id_to_internal_id[PERIPH_ID_COUNT] = {
        PERIPHC_ACTMON,
 
        /* 120 */
-       NONE(EXTPERIPH1),
+       PERIPHC_EXTPERIPH1,
        NONE(EXTPERIPH2),
        NONE(EXTPERIPH3),
        NONE(OOB),
index c69654c..eb33774 100644 (file)
@@ -17,35 +17,14 @@ config TARGET_ATNGW100MKII
 config TARGET_ATSTK1002
        bool "Support atstk1002"
 
-config TARGET_ATSTK1003
-       bool "Support atstk1003"
-
-config TARGET_ATSTK1004
-       bool "Support atstk1004"
-
-config TARGET_ATSTK1006
-       bool "Support atstk1006"
-
-config TARGET_FAVR_32_EZKIT
-       bool "Support favr-32-ezkit"
-
 config TARGET_GRASSHOPPER
        bool "Support grasshopper"
 
-config TARGET_MIMC200
-       bool "Support mimc200"
-
-config TARGET_HAMMERHEAD
-       bool "Support hammerhead"
-
 endchoice
 
 source "board/atmel/atngw100/Kconfig"
 source "board/atmel/atngw100mkii/Kconfig"
 source "board/atmel/atstk1000/Kconfig"
-source "board/earthlcd/favr-32-ezkit/Kconfig"
 source "board/in-circuit/grasshopper/Kconfig"
-source "board/mimc/mimc200/Kconfig"
-source "board/miromico/hammerhead/Kconfig"
 
 endmenu
index 6750913..8108ae5 100644 (file)
@@ -8,9 +8,6 @@
 #
 
 obj-y  += memset.o
-ifndef CONFIG_SYS_GENERIC_BOARD
-obj-y  += board.o
-endif
 obj-$(CONFIG_CMD_BOOTM) += bootm.o
 obj-y  += interrupts.o
 obj-y  += dram_init.o
diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c
deleted file mode 100644 (file)
index aacfcbf..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (C) 2004-2006 Atmel Corporation
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#include <common.h>
-#include <command.h>
-#include <malloc.h>
-#include <stdio_dev.h>
-#include <version.h>
-#include <net.h>
-
-#ifdef CONFIG_BITBANGMII
-#include <miiphy.h>
-#endif
-
-#include <asm/sections.h>
-#include <asm/arch/mmu.h>
-#include <asm/arch/hardware.h>
-
-#ifndef CONFIG_IDENT_STRING
-#define CONFIG_IDENT_STRING ""
-#endif
-
-#ifdef CONFIG_GENERIC_ATMEL_MCI
-#include <mmc.h>
-#endif
-DECLARE_GLOBAL_DATA_PTR;
-
-unsigned long monitor_flash_len;
-
-__weak void dram_init_banksize(void)
-{
-       gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
-       gd->bd->bi_dram[0].size =  gd->ram_size;
-}
-
-/* Weak aliases for optional board functions */
-static int __do_nothing(void)
-{
-       return 0;
-}
-int board_postclk_init(void) __attribute__((weak, alias("__do_nothing")));
-int board_early_init_r(void) __attribute__((weak, alias("__do_nothing")));
-
-static int init_baudrate(void)
-{
-       gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE);
-       return 0;
-}
-
-static int display_banner (void)
-{
-       printf ("\n\n%s\n\n", version_string);
-       printf ("U-Boot code: %08lx -> %08lx  data: %08lx -> %08lx\n",
-               (unsigned long)_text, (unsigned long)_etext,
-               (unsigned long)_data, (unsigned long)(&__bss_end));
-       return 0;
-}
-
-static int display_dram_config (void)
-{
-       int i;
-
-       puts ("DRAM Configuration:\n");
-
-       for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
-               printf ("Bank #%d: %08lx ", i, gd->bd->bi_dram[i].start);
-               print_size (gd->bd->bi_dram[i].size, "\n");
-       }
-
-       return 0;
-}
-
-static void display_flash_config (void)
-{
-       puts ("Flash: ");
-       print_size(gd->bd->bi_flashsize, " ");
-       printf("at address 0x%08lx\n", gd->bd->bi_flashstart);
-}
-
-void board_init_f(ulong board_type)
-{
-       gd_t gd_data;
-       gd_t *new_gd;
-       bd_t *bd;
-       unsigned long *new_sp;
-       unsigned long monitor_len;
-       unsigned long monitor_addr;
-       unsigned long addr;
-
-       /* Initialize the global data pointer */
-       memset(&gd_data, 0, sizeof(gd_data));
-       gd = &gd_data;
-
-       /* Perform initialization sequence */
-       board_early_init_f();
-       arch_cpu_init();
-       board_postclk_init();
-       env_init();
-       init_baudrate();
-       serial_init();
-       console_init_f();
-       display_banner();
-       dram_init();
-
-       /* If we have no SDRAM, we can't go on */
-       if (gd->ram_size <= 0)
-               panic("No working SDRAM available\n");
-
-       /*
-        * Now that we have DRAM mapped and working, we can
-        * relocate the code and continue running from DRAM.
-        *
-        * Reserve memory at end of RAM for (top down in that order):
-        *  - u-boot image
-        *  - heap for malloc()
-        *  - board info struct
-        *  - global data struct
-        *  - stack
-        */
-       addr = CONFIG_SYS_SDRAM_BASE + gd->ram_size;
-       monitor_len = (char *)(&__bss_end) - _text;
-
-       /*
-        * Reserve memory for u-boot code, data and bss.
-        * Round down to next 4 kB limit.
-        */
-       addr -= monitor_len;
-       addr &= ~(4096UL - 1);
-       monitor_addr = addr;
-
-       /* Reserve memory for malloc() */
-       addr -= CONFIG_SYS_MALLOC_LEN;
-
-#ifdef CONFIG_LCD
-#ifdef CONFIG_FB_ADDR
-       printf("LCD: Frame buffer allocated at preset 0x%08x\n",
-              CONFIG_FB_ADDR);
-       gd->fb_base = CONFIG_FB_ADDR;
-#else
-       addr = lcd_setmem(addr);
-       printf("LCD: Frame buffer allocated at 0x%08lx\n", addr);
-       gd->fb_base = addr;
-#endif /* CONFIG_FB_ADDR */
-#endif /* CONFIG_LCD */
-
-       /* Allocate a Board Info struct on a word boundary */
-       addr -= sizeof(bd_t);
-       addr &= ~3UL;
-       gd->bd = bd = (bd_t *)addr;
-
-       /* Allocate a new global data copy on a 8-byte boundary. */
-       addr -= sizeof(gd_t);
-       addr &= ~7UL;
-       new_gd = (gd_t *)addr;
-
-       /* And finally, a new, bigger stack. */
-       new_sp = (unsigned long *)addr;
-       gd->start_addr_sp = addr;
-       *(--new_sp) = 0;
-       *(--new_sp) = 0;
-
-       dram_init_banksize();
-
-       memcpy(new_gd, gd, sizeof(gd_t));
-
-       relocate_code((unsigned long)new_sp, new_gd, monitor_addr);
-}
-
-void board_init_r(gd_t *new_gd, ulong dest_addr)
-{
-#ifndef CONFIG_ENV_IS_NOWHERE
-       extern char * env_name_spec;
-#endif
-       bd_t *bd;
-
-       gd = new_gd;
-       bd = gd->bd;
-
-       gd->flags |= GD_FLG_RELOC;
-       gd->reloc_off = dest_addr - CONFIG_SYS_MONITOR_BASE;
-
-       /* Enable the MMU so that we can keep u-boot simple */
-       mmu_init_r(dest_addr);
-
-       board_early_init_r();
-
-       monitor_flash_len = _edata - _text;
-
-#if defined(CONFIG_NEEDS_MANUAL_RELOC)
-       /*
-        * We have to relocate the command table manually
-        */
-       fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
-                       ll_entry_count(cmd_tbl_t, cmd));
-#endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
-
-       /* there are some other pointer constants we must deal with */
-#ifndef CONFIG_ENV_IS_NOWHERE
-       env_name_spec += gd->reloc_off;
-#endif
-
-       timer_init();
-
-       /* The malloc area is right below the monitor image in RAM */
-       mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
-                       CONFIG_SYS_MALLOC_LEN, CONFIG_SYS_MALLOC_LEN);
-
-       enable_interrupts();
-
-       bd->bi_flashstart = 0;
-       bd->bi_flashsize = 0;
-       bd->bi_flashoffset = 0;
-
-#ifndef CONFIG_SYS_NO_FLASH
-       bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;
-       bd->bi_flashsize = flash_init();
-       bd->bi_flashoffset = (unsigned long)_edata - (unsigned long)_text;
-
-       if (bd->bi_flashsize)
-               display_flash_config();
-#endif
-
-       if (bd->bi_dram[0].size)
-               display_dram_config();
-
-       gd->bd->bi_boot_params = malloc(CONFIG_SYS_BOOTPARAMS_LEN);
-       if (!gd->bd->bi_boot_params)
-               puts("WARNING: Cannot allocate space for boot parameters\n");
-
-       /* initialize environment */
-       env_relocate();
-
-       stdio_init();
-       jumptable_init();
-       console_init_r();
-
-       /* Initialize from environment */
-       load_addr = getenv_ulong("loadaddr", 16, load_addr);
-
-#ifdef CONFIG_BITBANGMII
-       bb_miiphy_init();
-#endif
-#if defined(CONFIG_CMD_NET)
-       puts("Net:   ");
-       eth_initialize();
-#endif
-
-#ifdef CONFIG_GENERIC_ATMEL_MCI
-       mmc_initialize(gd->bd);
-#endif
-       for (;;) {
-               main_loop();
-       }
-}
index 02c4cd3..e6ddb17 100644 (file)
@@ -52,6 +52,11 @@ int cleanup_before_linux(void)
        return 0;
 }
 
+int cleanup_before_linux_select(int flags)
+{
+       return 0;
+}
+
 void *map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
 {
 #ifdef CONFIG_PCI
index 6d41514..b4fa9a2 100644 (file)
@@ -13,51 +13,3 @@ config SYS_CONFIG_NAME
        default "atstk1002"
 
 endif
-
-if TARGET_ATSTK1003
-
-config SYS_BOARD
-       default "atstk1000"
-
-config SYS_VENDOR
-       default "atmel"
-
-config SYS_SOC
-       default "at32ap700x"
-
-config SYS_CONFIG_NAME
-       default "atstk1003"
-
-endif
-
-if TARGET_ATSTK1004
-
-config SYS_BOARD
-       default "atstk1000"
-
-config SYS_VENDOR
-       default "atmel"
-
-config SYS_SOC
-       default "at32ap700x"
-
-config SYS_CONFIG_NAME
-       default "atstk1004"
-
-endif
-
-if TARGET_ATSTK1006
-
-config SYS_BOARD
-       default "atstk1000"
-
-config SYS_VENDOR
-       default "atmel"
-
-config SYS_SOC
-       default "at32ap700x"
-
-config SYS_CONFIG_NAME
-       default "atstk1006"
-
-endif
index 378e1b3..1070f98 100644 (file)
@@ -1,12 +1,6 @@
 ATSTK1000 BOARD
-#M:    Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-S:     Orphan (since 2014-06)
+M:     Andreas Bießmann <andreas.biessmann@corscience.de>
+S:     Maintained
 F:     board/atmel/atstk1000/
 F:     include/configs/atstk1002.h
 F:     configs/atstk1002_defconfig
-F:     include/configs/atstk1003.h
-F:     configs/atstk1003_defconfig
-F:     include/configs/atstk1004.h
-F:     configs/atstk1004_defconfig
-F:     include/configs/atstk1006.h
-F:     configs/atstk1006_defconfig
index fd4363b..679b674 100644 (file)
@@ -30,32 +30,12 @@ struct mmu_vm_range mmu_vmr_table[CONFIG_SYS_NR_VM_REGIONS] = {
 };
 
 static const struct sdram_config sdram_config = {
-#if defined(CONFIG_ATSTK1006)
-       /* Dual MT48LC16M16A2-7E (64 MB) on daughterboard */
        .data_bits      = SDRAM_DATA_32BIT,
-       .row_bits       = 13,
-       .col_bits       = 9,
-       .bank_bits      = 2,
-       .cas            = 2,
-       .twr            = 2,
-       .trc            = 7,
-       .trp            = 2,
-       .trcd           = 2,
-       .tras           = 4,
-       .txsr           = 7,
-       /* 7.81 us */
-       .refresh_period = (781 * (SDRAMC_BUS_HZ / 1000)) / 100000,
-#else
-       /* MT48LC2M32B2P-5 (8 MB) on motherboard */
-#ifdef CONFIG_ATSTK1004
-       .data_bits      = SDRAM_DATA_16BIT,
-#else
-       .data_bits      = SDRAM_DATA_32BIT,
-#endif
 #ifdef CONFIG_ATSTK1000_16MB_SDRAM
        /* MT48LC4M32B2P-6 (16 MB) on mod'ed motherboard */
        .row_bits       = 12,
 #else
+       /* MT48LC2M32B2P-5 (8 MB) on motherboard */
        .row_bits       = 11,
 #endif
        .col_bits       = 8,
@@ -69,7 +49,6 @@ static const struct sdram_config sdram_config = {
        .txsr           = 5,
        /* 15.6 us */
        .refresh_period = (156 * (SDRAMC_BUS_HZ / 1000)) / 10000,
-#endif
 };
 
 int board_early_init_f(void)
diff --git a/board/earthlcd/favr-32-ezkit/Kconfig b/board/earthlcd/favr-32-ezkit/Kconfig
deleted file mode 100644 (file)
index 50e29ec..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-if TARGET_FAVR_32_EZKIT
-
-config SYS_BOARD
-       default "favr-32-ezkit"
-
-config SYS_VENDOR
-       default "earthlcd"
-
-config SYS_SOC
-       default "at32ap700x"
-
-config SYS_CONFIG_NAME
-       default "favr-32-ezkit"
-
-endif
diff --git a/board/earthlcd/favr-32-ezkit/MAINTAINERS b/board/earthlcd/favr-32-ezkit/MAINTAINERS
deleted file mode 100644 (file)
index 89ba862..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-FAVR-32-EZKIT BOARD
-#M:    Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-S:     Orphan (since 2014-06)
-F:     board/earthlcd/favr-32-ezkit/
-F:     include/configs/favr-32-ezkit.h
-F:     configs/favr-32-ezkit_defconfig
diff --git a/board/earthlcd/favr-32-ezkit/Makefile b/board/earthlcd/favr-32-ezkit/Makefile
deleted file mode 100644 (file)
index f712ab9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# (C) Copyright 2001-2006
-# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-#
-# Copyright (C) 2008 Atmel Corporation
-#
-# SPDX-License-Identifier:     GPL-2.0+
-
-obj-y  := favr-32-ezkit.o flash.o
diff --git a/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c b/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c
deleted file mode 100644 (file)
index f9ac330..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2008 Atmel Corporation
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#include <common.h>
-#include <netdev.h>
-
-#include <asm/io.h>
-#include <asm/sdram.h>
-#include <asm/arch/clk.h>
-#include <asm/arch/hmatrix.h>
-#include <asm/arch/mmu.h>
-#include <asm/arch/portmux.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-struct mmu_vm_range mmu_vmr_table[CONFIG_SYS_NR_VM_REGIONS] = {
-       {
-               .virt_pgno      = CONFIG_SYS_FLASH_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = CONFIG_SYS_FLASH_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (CONFIG_SYS_FLASH_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_NONE,
-       }, {
-               .virt_pgno      = CONFIG_SYS_SDRAM_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = EBI_SDRAM_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (CONFIG_SYS_SDRAM_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_WRBACK,
-       },
-};
-
-static const struct sdram_config sdram_config = {
-       /* MT48LC4M32B2P-6 (16 MB) */
-       .data_bits      = SDRAM_DATA_32BIT,
-       .row_bits       = 12,
-       .col_bits       = 8,
-       .bank_bits      = 2,
-       .cas            = 3,
-       .twr            = 2,
-       .trc            = 7,
-       .trp            = 2,
-       .trcd           = 2,
-       .tras           = 5,
-       .txsr           = 5,
-       /* 15.6 us */
-       .refresh_period = (156 * (SDRAMC_BUS_HZ / 1000)) / 10000,
-};
-
-int board_early_init_f(void)
-{
-       /* Enable SDRAM in the EBI mux */
-       hmatrix_slave_write(EBI, SFR, HMATRIX_BIT(EBI_SDRAM_ENABLE));
-
-       portmux_enable_ebi(32, 23, 0, PORTMUX_DRIVE_HIGH);
-
-       sdram_init(uncached(EBI_SDRAM_BASE), &sdram_config);
-
-       portmux_enable_usart3(PORTMUX_DRIVE_MIN);
-#if defined(CONFIG_MACB)
-       portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);
-#endif
-#if defined(CONFIG_MMC)
-       portmux_enable_mmci(0, PORTMUX_MMCI_4BIT, PORTMUX_DRIVE_LOW);
-#endif
-
-       return 0;
-}
-
-int board_early_init_r(void)
-{
-       gd->bd->bi_phy_id[0] = 0x01;
-       return 0;
-}
-
-#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET)
-int board_eth_init(bd_t *bi)
-{
-       return macb_eth_initialize(0, (void *)ATMEL_BASE_MACB0,
-               bi->bi_phy_id[0]);
-}
-#endif
diff --git a/board/earthlcd/favr-32-ezkit/flash.c b/board/earthlcd/favr-32-ezkit/flash.c
deleted file mode 100644 (file)
index e45c6f4..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (C) 2008 Atmel Corporation
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#include <common.h>
-
-#ifdef CONFIG_FAVR32_EZKIT_EXT_FLASH
-#include <asm/arch/cacheflush.h>
-#include <asm/io.h>
-#include <asm/sections.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-flash_info_t flash_info[1];
-
-static void flash_identify(uint16_t *flash, flash_info_t *info)
-{
-       unsigned long flags;
-
-       flags = disable_interrupts();
-
-       dcache_flush_unlocked();
-
-       writew(0xaa, flash + 0x555);
-       writew(0x55, flash + 0xaaa);
-       writew(0x90, flash + 0x555);
-       info->flash_id = readl(flash);
-       writew(0xff, flash);
-
-       readw(flash);
-
-       if (flags)
-               enable_interrupts();
-}
-
-unsigned long flash_init(void)
-{
-       unsigned long addr;
-       unsigned int i;
-
-       flash_info[0].size = CONFIG_SYS_FLASH_SIZE;
-       flash_info[0].sector_count = 135;
-
-       flash_identify(uncached((void *)CONFIG_SYS_FLASH_BASE), &flash_info[0]);
-
-       for (i = 0, addr = 0; i < 8; i++, addr += 0x2000)
-               flash_info[0].start[i] = addr;
-       for (; i < flash_info[0].sector_count; i++, addr += 0x10000)
-               flash_info[0].start[i] = addr;
-
-       return CONFIG_SYS_FLASH_SIZE;
-}
-
-void flash_print_info(flash_info_t *info)
-{
-       printf("Flash: Vendor ID: 0x%02lx, Product ID: 0x%02lx\n",
-              info->flash_id >> 16, info->flash_id & 0xffff);
-       printf("Size: %ld MB in %d sectors\n",
-              info->size >> 10, info->sector_count);
-}
-
-int flash_erase(flash_info_t *info, int s_first, int s_last)
-{
-       unsigned long flags;
-       unsigned long start_time;
-       uint16_t *fb, *sb;
-       unsigned int i;
-       int ret;
-       uint16_t status;
-
-       if ((s_first < 0) || (s_first > s_last)
-           || (s_last >= info->sector_count)) {
-               puts("Error: first and/or last sector out of range\n");
-               return ERR_INVAL;
-       }
-
-       for (i = s_first; i < s_last; i++)
-               if (info->protect[i]) {
-                       printf("Error: sector %d is protected\n", i);
-                       return ERR_PROTECTED;
-               }
-
-       fb = (uint16_t *)uncached(info->start[0]);
-
-       dcache_flush_unlocked();
-
-       for (i = s_first; (i <= s_last) && !ctrlc(); i++) {
-               printf("Erasing sector %3d...", i);
-
-               sb = (uint16_t *)uncached(info->start[i]);
-
-               flags = disable_interrupts();
-
-               start_time = get_timer(0);
-
-               /* Unlock sector */
-               writew(0xaa, fb + 0x555);
-               writew(0x70, sb);
-
-               /* Erase sector */
-               writew(0xaa, fb + 0x555);
-               writew(0x55, fb + 0xaaa);
-               writew(0x80, fb + 0x555);
-               writew(0xaa, fb + 0x555);
-               writew(0x55, fb + 0xaaa);
-               writew(0x30, sb);
-
-               /* Wait for completion */
-               ret = ERR_OK;
-               do {
-                       /* TODO: Timeout */
-                       status = readw(sb);
-               } while ((status != 0xffff) && !(status & 0x28));
-
-               writew(0xf0, fb);
-
-               /*
-                * Make sure the command actually makes it to the bus
-                * before we re-enable interrupts.
-                */
-               readw(fb);
-
-               if (flags)
-                       enable_interrupts();
-
-               if (status != 0xffff) {
-                       printf("Flash erase error at address 0x%p: 0x%02x\n",
-                              sb, status);
-                       ret = ERR_PROG_ERROR;
-                       break;
-               }
-       }
-
-       if (ctrlc())
-               printf("User interrupt!\n");
-
-       return ERR_OK;
-}
-
-int write_buff(flash_info_t *info, uchar *src,
-                          ulong addr, ulong count)
-{
-       unsigned long flags;
-       uint16_t *base, *p, *s, *end;
-       uint16_t word, status, status1;
-       int ret = ERR_OK;
-
-       if (addr < info->start[0]
-           || (addr + count) > (info->start[0] + info->size)
-           || (addr + count) < addr) {
-               puts("Error: invalid address range\n");
-               return ERR_INVAL;
-       }
-
-       if (addr & 1 || count & 1 || (unsigned int)src & 1) {
-               puts("Error: misaligned source, destination or count\n");
-               return ERR_ALIGN;
-       }
-
-       base = (uint16_t *)uncached(info->start[0]);
-       end = (uint16_t *)uncached(addr + count);
-
-       flags = disable_interrupts();
-
-       dcache_flush_unlocked();
-       sync_write_buffer();
-
-       for (p = (uint16_t *)uncached(addr), s = (uint16_t *)src;
-            p < end && !ctrlc(); p++, s++) {
-               word = *s;
-
-               writew(0xaa, base + 0x555);
-               writew(0x55, base + 0xaaa);
-               writew(0xa0, base + 0x555);
-               writew(word, p);
-
-               sync_write_buffer();
-
-               /* Wait for completion */
-               status1 = readw(p);
-               do {
-                       /* TODO: Timeout */
-                       status = status1;
-                       status1 = readw(p);
-               } while (((status ^ status1) & 0x40)    /* toggled */
-                        && !(status1 & 0x28));         /* error bits */
-
-               /*
-                * We'll need to check once again for toggle bit
-                * because the toggle bit may stop toggling as I/O5
-                * changes to "1" (ref at49bv642.pdf p9)
-                */
-               status1 = readw(p);
-               status = readw(p);
-               if ((status ^ status1) & 0x40) {
-                       printf("Flash write error at address 0x%p: "
-                              "0x%02x != 0x%02x\n",
-                              p, status,word);
-                       ret = ERR_PROG_ERROR;
-                       writew(0xf0, base);
-                       readw(base);
-                       break;
-               }
-
-               writew(0xf0, base);
-               readw(base);
-       }
-
-       if (flags)
-               enable_interrupts();
-
-       return ret;
-}
-
-#endif /* CONFIG_FAVR32_EZKIT_EXT_FLASH */
diff --git a/board/mimc/mimc200/Kconfig b/board/mimc/mimc200/Kconfig
deleted file mode 100644 (file)
index 18736d7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-if TARGET_MIMC200
-
-config SYS_BOARD
-       default "mimc200"
-
-config SYS_VENDOR
-       default "mimc"
-
-config SYS_SOC
-       default "at32ap700x"
-
-config SYS_CONFIG_NAME
-       default "mimc200"
-
-endif
diff --git a/board/mimc/mimc200/MAINTAINERS b/board/mimc/mimc200/MAINTAINERS
deleted file mode 100644 (file)
index 6cb51dd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-MIMC200 BOARD
-M:     Mark Jackson <mpfj@mimc.co.uk>
-S:     Maintained
-F:     board/mimc/mimc200/
-F:     include/configs/mimc200.h
-F:     configs/mimc200_defconfig
diff --git a/board/mimc/mimc200/Makefile b/board/mimc/mimc200/Makefile
deleted file mode 100644 (file)
index 5c30c0d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# Copyright (C) 2005-2006 Atmel Corporation
-#
-# SPDX-License-Identifier:     GPL-2.0+
-
-obj-y  := mimc200.o
diff --git a/board/mimc/mimc200/mimc200.c b/board/mimc/mimc200/mimc200.c
deleted file mode 100644 (file)
index f078295..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2006 Atmel Corporation
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#include <common.h>
-#include <netdev.h>
-
-#include <asm/io.h>
-#include <asm/sdram.h>
-#include <asm/arch/clk.h>
-#include <asm/arch/gpio.h>
-#include <asm/arch/hmatrix.h>
-#include <asm/arch/mmu.h>
-#include <asm/arch/portmux.h>
-#include <atmel_lcdc.h>
-#include <lcd.h>
-
-#include "../../../arch/avr32/cpu/hsmc3.h"
-
-struct mmu_vm_range mmu_vmr_table[CONFIG_SYS_NR_VM_REGIONS] = {
-       {
-               .virt_pgno      = CONFIG_SYS_FLASH_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = CONFIG_SYS_FLASH_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (CONFIG_SYS_FLASH_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_NONE,
-       }, {
-               .virt_pgno      = EBI_SRAM_CS2_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = EBI_SRAM_CS2_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (EBI_SRAM_CS2_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_NONE,
-       }, {
-               .virt_pgno      = CONFIG_SYS_SDRAM_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = EBI_SDRAM_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (CONFIG_SYS_SDRAM_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_WRBACK,
-       },
-};
-
-#if defined(CONFIG_LCD)
-/* 480x272x16 @ 72 Hz */
-vidinfo_t panel_info = {
-       .vl_col                 = 480,          /* Number of columns */
-       .vl_row                 = 272,          /* Number of rows */
-       .vl_clk                 = 5000000,      /* pixel clock in ps */
-       .vl_sync                = ATMEL_LCDC_INVCLK_INVERTED |
-                                 ATMEL_LCDC_INVLINE_INVERTED |
-                                 ATMEL_LCDC_INVFRAME_INVERTED,
-       .vl_bpix                = LCD_COLOR16,  /* Bits per pixel, BPP = 2^n */
-       .vl_tft                 = 1,            /* 0 = passive, 1 = TFT */
-       .vl_hsync_len           = 42,           /* Length of horizontal sync */
-       .vl_left_margin         = 1,            /* Time from sync to picture */
-       .vl_right_margin        = 1,            /* Time from picture to sync */
-       .vl_vsync_len           = 1,            /* Length of vertical sync */
-       .vl_upper_margin        = 12,           /* Time from sync to picture */
-       .vl_lower_margin        = 1,            /* Time from picture to sync */
-       .mmio                   = LCDC_BASE,    /* Memory mapped registers */
-};
-
-void lcd_enable(void)
-{
-}
-
-void lcd_disable(void)
-{
-}
-#endif
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static const struct sdram_config sdram_config = {
-       .data_bits      = SDRAM_DATA_16BIT,
-       .row_bits       = 13,
-       .col_bits       = 9,
-       .bank_bits      = 2,
-       .cas            = 3,
-       .twr            = 2,
-       .trc            = 6,
-       .trp            = 2,
-       .trcd           = 2,
-       .tras           = 6,
-       .txsr           = 6,
-       /* 15.6 us */
-       .refresh_period = (156 * (SDRAMC_BUS_HZ / 1000)) / 10000,
-};
-
-int board_early_init_f(void)
-{
-       /* Enable SDRAM in the EBI mux */
-       hmatrix_slave_write(EBI, SFR, HMATRIX_BIT(EBI_SDRAM_ENABLE));
-
-       /* Enable 26 address bits and NCS2 */
-       portmux_enable_ebi(16, 26, PORTMUX_EBI_CS(2), PORTMUX_DRIVE_HIGH);
-       sdram_init(uncached(EBI_SDRAM_BASE), &sdram_config);
-
-       portmux_enable_usart1(PORTMUX_DRIVE_MIN);
-
-       /* de-assert "force sys reset" pin */
-       portmux_select_gpio(PORTMUX_PORT_D, 1 << 15,
-                       PORTMUX_DIR_OUTPUT | PORTMUX_INIT_HIGH);
-
-       /* init custom i/o */
-       /* cpu type inputs */
-       portmux_select_gpio(PORTMUX_PORT_E, (1 << 19) | (1 << 20) | (1 << 23),
-                       PORTMUX_DIR_INPUT);
-       /* main board type inputs */
-       portmux_select_gpio(PORTMUX_PORT_B, (1 << 19) | (1 << 29),
-                       PORTMUX_DIR_INPUT);
-       /* DEBUG input (use weak pullup) */
-       portmux_select_gpio(PORTMUX_PORT_E, 1 << 21,
-                       PORTMUX_DIR_INPUT | PORTMUX_PULL_UP);
-
-       /* are we suppressing the console ? */
-       if (gpio_get_value(GPIO_PIN_PE(21)) == 1)
-               gd->flags |= (GD_FLG_SILENT | GD_FLG_DISABLE_CONSOLE);
-
-       /* reset phys */
-       portmux_select_gpio(PORTMUX_PORT_E, 1 << 24, PORTMUX_DIR_INPUT);
-       portmux_select_gpio(PORTMUX_PORT_C, 1 << 18,
-                       PORTMUX_DIR_OUTPUT | PORTMUX_INIT_HIGH);
-
-       udelay(5000);
-
-       /* release phys reset */
-       gpio_set_value(GPIO_PIN_PC(18), 0);     /* PHY RESET (Release)  */
-
-       /* setup Data Flash chip select (NCS2) */
-       hsmc3_writel(MODE2, 0x20121003);
-       hsmc3_writel(CYCLE2, 0x000a0009);
-       hsmc3_writel(PULSE2, 0x0a060806);
-       hsmc3_writel(SETUP2, 0x00030102);
-
-       /* setup FRAM chip select (NCS3) */
-       hsmc3_writel(MODE3, 0x10120001);
-       hsmc3_writel(CYCLE3, 0x001e001d);
-       hsmc3_writel(PULSE3, 0x08040704);
-       hsmc3_writel(SETUP3, 0x02050204);
-
-#if defined(CONFIG_MACB)
-       /* init macb0 pins */
-       portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);
-       portmux_enable_macb1(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);
-#endif
-
-#if defined(CONFIG_MMC)
-       portmux_enable_mmci(0, PORTMUX_MMCI_4BIT, PORTMUX_DRIVE_LOW);
-#endif
-
-#if defined(CONFIG_LCD)
-       portmux_enable_lcdc(1);
-#endif
-
-       return 0;
-}
-
-int board_early_init_r(void)
-{
-       gd->bd->bi_phy_id[0] = 0x01;
-       gd->bd->bi_phy_id[1] = 0x03;
-       return 0;
-}
-
-int board_postclk_init(void)
-{
-       /* Use GCLK0 as 10MHz output */
-       gclk_enable_output(0, PORTMUX_DRIVE_LOW);
-       gclk_set_rate(0, GCLK_PARENT_OSC0, 10000000);
-       return 0;
-}
-
-/* SPI chip select control */
-#ifdef CONFIG_ATMEL_SPI
-#include <spi.h>
-
-int spi_cs_is_valid(unsigned int bus, unsigned int cs)
-{
-       return (bus == 0) && (cs == 0);
-}
-
-void spi_cs_activate(struct spi_slave *slave)
-{
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-}
-#endif /* CONFIG_ATMEL_SPI */
-
-#ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bi)
-{
-       macb_eth_initialize(0, (void *)ATMEL_BASE_MACB0, bi->bi_phy_id[0]);
-       macb_eth_initialize(1, (void *)ATMEL_BASE_MACB1, bi->bi_phy_id[1]);
-
-       return 0;
-}
-#endif
diff --git a/board/miromico/hammerhead/Kconfig b/board/miromico/hammerhead/Kconfig
deleted file mode 100644 (file)
index 1f09ef7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-if TARGET_HAMMERHEAD
-
-config SYS_BOARD
-       default "hammerhead"
-
-config SYS_VENDOR
-       default "miromico"
-
-config SYS_SOC
-       default "at32ap700x"
-
-config SYS_CONFIG_NAME
-       default "hammerhead"
-
-endif
diff --git a/board/miromico/hammerhead/MAINTAINERS b/board/miromico/hammerhead/MAINTAINERS
deleted file mode 100644 (file)
index a87ceee..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-HAMMERHEAD BOARD
-M:     Alex Raimondi <alex.raimondi@miromico.ch>
-S:     Maintained
-F:     board/miromico/hammerhead/
-F:     include/configs/hammerhead.h
-F:     configs/hammerhead_defconfig
diff --git a/board/miromico/hammerhead/Makefile b/board/miromico/hammerhead/Makefile
deleted file mode 100644 (file)
index 638a9df..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# Copyright (C) 2008 Miromico AG
-#
-# SPDX-License-Identifier:     GPL-2.0+
-
-obj-y  := hammerhead.o
diff --git a/board/miromico/hammerhead/hammerhead.c b/board/miromico/hammerhead/hammerhead.c
deleted file mode 100644 (file)
index a0c7d3b..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2008 Miromico AG
- *
- * Mostly copied form atmel ATNGW100 sources
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <netdev.h>
-
-#include <asm/io.h>
-#include <asm/sdram.h>
-#include <asm/arch/clk.h>
-#include <asm/arch/hmatrix.h>
-#include <asm/arch/hardware.h>
-#include <asm/arch/mmu.h>
-#include <asm/arch/portmux.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-struct mmu_vm_range mmu_vmr_table[CONFIG_SYS_NR_VM_REGIONS] = {
-       {
-               .virt_pgno      = CONFIG_SYS_FLASH_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = CONFIG_SYS_FLASH_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (CONFIG_SYS_FLASH_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_NONE,
-       }, {
-               .virt_pgno      = CONFIG_SYS_SDRAM_BASE >> MMU_PAGE_SHIFT,
-               .nr_pages       = EBI_SDRAM_SIZE >> MMU_PAGE_SHIFT,
-               .phys           = (CONFIG_SYS_SDRAM_BASE >> MMU_PAGE_SHIFT)
-                                       | MMU_VMR_CACHE_WRBACK,
-       },
-};
-
-static const struct sdram_config sdram_config = {
-       .data_bits      = SDRAM_DATA_32BIT,
-       .row_bits       = 13,
-       .col_bits       = 9,
-       .bank_bits      = 2,
-       .cas            = 3,
-       .twr            = 2,
-       .trc            = 7,
-       .trp            = 2,
-       .trcd           = 2,
-       .tras           = 5,
-       .txsr           = 5,
-       /* 7.81 us */
-       .refresh_period = (781 * (SDRAMC_BUS_HZ / 1000)) / 100000,
-};
-
-#ifdef CONFIG_CMD_NET
-int board_eth_init(bd_t *bis)
-{
-       return macb_eth_initialize(0, (void *)ATMEL_BASE_MACB0,
-               bis->bi_phy_id[0]);
-}
-#endif
-
-int board_early_init_f(void)
-{
-       /* Enable SDRAM in the EBI mux */
-       hmatrix_slave_write(EBI, SFR, HMATRIX_BIT(EBI_SDRAM_ENABLE));
-
-       portmux_enable_ebi(32, 23, 0, PORTMUX_DRIVE_HIGH);
-       sdram_init(uncached(EBI_SDRAM_BASE), &sdram_config);
-
-       portmux_enable_usart1(PORTMUX_DRIVE_MIN);
-
-#if defined(CONFIG_MACB)
-       portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_HIGH);
-#endif
-#if defined(CONFIG_MMC)
-       portmux_enable_mmci(0, PORTMUX_MMCI_4BIT, PORTMUX_DRIVE_LOW);
-#endif
-       return 0;
-}
-
-int board_early_init_r(void)
-{
-       gd->bd->bi_phy_id[0] = 0x01;
-       return 0;
-}
-
-int board_postclk_init(void)
-{
-       /* Hammerhead boards uses GCLK3 as 25MHz output to ethernet PHY */
-       gclk_enable_output(3, PORTMUX_DRIVE_LOW);
-       gclk_set_rate(3, GCLK_PARENT_OSC0, 25000000);
-       return 0;
-}
index 9d4ea1b..420ad13 100644 (file)
@@ -105,10 +105,6 @@ fix_start:
        /* r6 - maximal u-boot size */
        ldr     r6, imagesize
 
-       /* fix return address */
-       subhi   lr, lr, r5
-       addlo   lr, lr, r5
-
        /* r1 - start of u-boot after */
        ldr     r1, startaddr
 
index ff74627..7790777 100644 (file)
@@ -1,4 +1,4 @@
-NORRIN BOARD
+NYAN-BIG BOARD
 M:     Allen Martin <amartin@nvidia.com>
 S:     Maintained
 F:     board/nvidia/nyan-big/
index ae8874b..ba96401 100644 (file)
@@ -8,7 +8,12 @@
 #include <common.h>
 #include <errno.h>
 #include <asm/gpio.h>
+#include <asm/io.h>
 #include <asm/arch/pinmux.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/mc.h>
+#include <asm/arch-tegra/clk_rst.h>
+#include <asm/arch-tegra/pmc.h>
 #include <power/as3722.h>
 #include <power/pmic.h>
 #include "pinmux-config-nyan-big.h"
@@ -57,3 +62,67 @@ int tegra_lcd_pmic_init(int board_id)
 
        return 0;
 }
+
+/* Setup required information for Linux kernel */
+static void setup_kernel_info(void)
+{
+       struct mc_ctlr *mc = (void *)NV_PA_MC_BASE;
+
+       /* The kernel graphics driver needs this region locked down */
+       writel(0, &mc->mc_video_protect_bom);
+       writel(0, &mc->mc_video_protect_size_mb);
+       writel(1, &mc->mc_video_protect_reg_ctrl);
+}
+
+/*
+ * We need to take ALL audio devices conntected to AHUB (AUDIO, APBIF,
+ * I2S, DAM, AMX, ADX, SPDIF, AFC) out of reset and enable the clocks.
+ * Otherwise reading AHUB devices will hang when the kernel boots.
+ */
+static void enable_required_clocks(void)
+{
+       static enum periph_id ids[] = {
+               PERIPH_ID_I2S0,
+               PERIPH_ID_I2S1,
+               PERIPH_ID_I2S2,
+               PERIPH_ID_I2S3,
+               PERIPH_ID_I2S4,
+               PERIPH_ID_AUDIO,
+               PERIPH_ID_APBIF,
+               PERIPH_ID_DAM0,
+               PERIPH_ID_DAM1,
+               PERIPH_ID_DAM2,
+               PERIPH_ID_AMX0,
+               PERIPH_ID_AMX1,
+               PERIPH_ID_ADX0,
+               PERIPH_ID_ADX1,
+               PERIPH_ID_SPDIF,
+               PERIPH_ID_AFC0,
+               PERIPH_ID_AFC1,
+               PERIPH_ID_AFC2,
+               PERIPH_ID_AFC3,
+               PERIPH_ID_AFC4,
+               PERIPH_ID_AFC5,
+               PERIPH_ID_EXTPERIPH1
+       };
+       int i;
+
+       for (i = 0; i < ARRAY_SIZE(ids); i++)
+               clock_enable(ids[i]);
+       udelay(2);
+       for (i = 0; i < ARRAY_SIZE(ids); i++)
+               reset_set_enable(ids[i], 0);
+}
+
+int nvidia_board_init(void)
+{
+       clock_start_periph_pll(PERIPH_ID_EXTPERIPH1, CLOCK_ID_OSC, 12000000);
+       clock_start_periph_pll(PERIPH_ID_I2S1, CLOCK_ID_OSC, 1500000);
+
+       /* For external MAX98090 audio codec */
+       clock_external_output(1);
+       setup_kernel_info();
+       enable_required_clocks();
+
+       return 0;
+}
index f16d5c7..ed3b935 100644 (file)
@@ -400,6 +400,9 @@ static int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc,
        printf("DSP frequency = %ld MHz\n", gd->bd->bi_dsp_freq);
        printf("DDR frequency = %ld MHz\n", gd->bd->bi_ddr_freq);
 #endif
+#ifdef CONFIG_BOARD_TYPES
+       printf("Board Type  = %ld\n", gd->board_type);
+#endif
        return 0;
 }
 
index cc904c2..cb1f071 100644 (file)
@@ -34,12 +34,12 @@ static int bmp_info (ulong addr);
  * didn't contain a valid BMP signature.
  */
 #ifdef CONFIG_VIDEO_BMP_GZIP
-bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp,
-                       void **alloc_addr)
+struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
+                            void **alloc_addr)
 {
        void *dst;
        unsigned long len;
-       bmp_image_t *bmp;
+       struct bmp_image *bmp;
 
        /*
         * Decompress bmp image
@@ -55,7 +55,7 @@ bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp,
        bmp = dst;
 
        /* align to 32-bit-aligned-address + 2 */
-       bmp = (bmp_image_t *)((((unsigned int)dst + 1) & ~3) + 2);
+       bmp = (struct bmp_image *)((((unsigned int)dst + 1) & ~3) + 2);
 
        if (gunzip(bmp, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE, (uchar *)addr, &len) != 0) {
                free(dst);
@@ -80,8 +80,8 @@ bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp,
        return bmp;
 }
 #else
-bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp,
-                       void **alloc_addr)
+struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
+                            void **alloc_addr)
 {
        return NULL;
 }
@@ -187,7 +187,7 @@ U_BOOT_CMD(
  */
 static int bmp_info(ulong addr)
 {
-       bmp_image_t *bmp=(bmp_image_t *)addr;
+       struct bmp_image *bmp = (struct bmp_image *)addr;
        void *bmp_alloc_addr = NULL;
        unsigned long len;
 
@@ -224,7 +224,7 @@ static int bmp_info(ulong addr)
 int bmp_display(ulong addr, int x, int y)
 {
        int ret;
-       bmp_image_t *bmp = (bmp_image_t *)addr;
+       struct bmp_image *bmp = (struct bmp_image *)addr;
        void *bmp_alloc_addr = NULL;
        unsigned long len;
 
index 055c366..5a52fe4 100644 (file)
@@ -448,8 +448,8 @@ static void draw_encoded_bitmap(ushort **fbp, ushort c, int cnt)
 /*
  * Do not call this function directly, must be called from lcd_display_bitmap.
  */
-static void lcd_display_rle8_bitmap(bmp_image_t *bmp, ushort *cmap, uchar *fb,
-                                   int x_off, int y_off)
+static void lcd_display_rle8_bitmap(struct bmp_image *bmp, ushort *cmap,
+                                   uchar *fb, int x_off, int y_off)
 {
        uchar *bmap;
        ulong width, height;
@@ -548,10 +548,10 @@ __weak void fb_put_word(uchar **fb, uchar **from)
 }
 #endif /* CONFIG_BMP_16BPP */
 
-__weak void lcd_set_cmap(bmp_image_t *bmp, unsigned colors)
+__weak void lcd_set_cmap(struct bmp_image *bmp, unsigned colors)
 {
        int i;
-       bmp_color_table_entry_t cte;
+       struct bmp_color_table_entry cte;
        ushort *cmap = configuration_get_cmap();
 
        for (i = 0; i < colors; ++i) {
@@ -572,12 +572,14 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
        ushort *cmap_base = NULL;
        ushort i, j;
        uchar *fb;
-       bmp_image_t *bmp = (bmp_image_t *)map_sysmem(bmp_image, 0);
+       struct bmp_image *bmp = (struct bmp_image *)map_sysmem(bmp_image, 0);
        uchar *bmap;
        ushort padded_width;
        unsigned long width, height, byte_width;
        unsigned long pwidth = panel_info.vl_col;
        unsigned colors, bpix, bmp_bpix;
+       int hdr_size;
+       struct bmp_color_table_entry *palette = bmp->color_table;
 
        if (!bmp || !(bmp->header.signature[0] == 'B' &&
                bmp->header.signature[1] == 'M')) {
@@ -589,6 +591,8 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
        width = get_unaligned_le32(&bmp->header.width);
        height = get_unaligned_le32(&bmp->header.height);
        bmp_bpix = get_unaligned_le16(&bmp->header.bit_count);
+       hdr_size = get_unaligned_le16(&bmp->header.size);
+       debug("hdr_size=%d, bmp_bpix=%d\n", hdr_size, bmp_bpix);
 
        colors = 1 << bmp_bpix;
 
@@ -613,8 +617,8 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                return 1;
        }
 
-       debug("Display-bmp: %d x %d  with %d colors\n",
-               (int)width, (int)height, (int)colors);
+       debug("Display-bmp: %d x %d  with %d colors, display %d\n",
+             (int)width, (int)height, (int)colors, 1 << bpix);
 
        if (bmp_bpix == 8)
                lcd_set_cmap(bmp, colors);
@@ -641,6 +645,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                cmap_base = configuration_get_cmap();
 #ifdef CONFIG_LCD_BMP_RLE8
                u32 compression = get_unaligned_le32(&bmp->header.compression);
+               debug("compressed %d %d\n", compression, BMP_BI_RLE8);
                if (compression == BMP_BI_RLE8) {
                        if (bpix != 16) {
                                /* TODO implement render code for bpix != 16 */
@@ -663,7 +668,19 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
                                if (bpix != 16) {
                                        fb_put_byte(&fb, &bmap);
                                } else {
-                                       *(uint16_t *)fb = cmap_base[*(bmap++)];
+                                       struct bmp_color_table_entry *entry;
+                                       uint val;
+
+                                       if (cmap_base) {
+                                               val = cmap_base[*bmap];
+                                       } else {
+                                               entry = &palette[*bmap];
+                                               val = entry->blue >> 3 |
+                                                       entry->green >> 2 << 5 |
+                                                       entry->red >> 3 << 11;
+                                       }
+                                       *(uint16_t *)fb = val;
+                                       bmap++;
                                        fb += sizeof(uint16_t) / sizeof(*fb);
                                }
                        }
index d445199..9811ab6 100644 (file)
@@ -26,6 +26,20 @@ void *malloc_simple(size_t bytes)
        return ptr;
 }
 
+void *memalign_simple(size_t align, size_t bytes)
+{
+       ulong addr, new_ptr;
+       void *ptr;
+
+       addr = ALIGN(gd->malloc_base + gd->malloc_ptr, bytes);
+       new_ptr = addr + bytes;
+       if (new_ptr > gd->malloc_limit)
+               return NULL;
+       ptr = map_sysmem(addr, bytes);
+       gd->malloc_ptr = ALIGN(new_ptr, sizeof(new_ptr));
+       return ptr;
+}
+
 #ifdef CONFIG_SYS_MALLOC_SIMPLE
 void *calloc(size_t nmemb, size_t elem_size)
 {
index a8584e9..67ad959 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
 CONFIG_SPL=y
 CONFIG_SPL_STACK_R=y
index 469dace..c55357b 100644 (file)
@@ -6,3 +6,4 @@ CONFIG_DEFAULT_DEVICE_TREE="arches"
 CONFIG_CMD_SETEXPR=y
 CONFIG_CMD_NET=y
 CONFIG_OF_CONTROL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
diff --git a/configs/atstk1003_defconfig b/configs/atstk1003_defconfig
deleted file mode 100644 (file)
index bd6c93a..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_AVR32=y
-CONFIG_TARGET_ATSTK1003=y
-CONFIG_AUTOBOOT_KEYED=y
-CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
-CONFIG_AUTOBOOT_DELAY_STR="d"
-CONFIG_AUTOBOOT_STOP_STR=" "
diff --git a/configs/atstk1004_defconfig b/configs/atstk1004_defconfig
deleted file mode 100644 (file)
index 4d12160..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_AVR32=y
-CONFIG_TARGET_ATSTK1004=y
-CONFIG_AUTOBOOT_KEYED=y
-CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
-CONFIG_AUTOBOOT_DELAY_STR="d"
-CONFIG_AUTOBOOT_STOP_STR=" "
diff --git a/configs/atstk1006_defconfig b/configs/atstk1006_defconfig
deleted file mode 100644 (file)
index 6d1d045..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_AVR32=y
-CONFIG_CMD_NET=y
-CONFIG_TARGET_ATSTK1006=y
-CONFIG_AUTOBOOT_KEYED=y
-CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
-CONFIG_AUTOBOOT_DELAY_STR="d"
-CONFIG_AUTOBOOT_STOP_STR=" "
index f963502..dd48d6a 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_TARGET_BF527_EZKIT=y
 CONFIG_SYS_EXTRA_OPTIONS="BF527_EZKIT_REV_2_1"
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 66c1145..04210d8 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF533_EZKIT=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index ca1202d..191e2d6 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF533_STAMP=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 84449ec..f8ae21b 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF538F_EZKIT=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 46c8fe2..6bd9e9b 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF548_EZKIT=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index b558066..7a65892 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF561_ACVILON=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 0ef1a1c..e8a1ea4 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF561_EZKIT=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 72e0606..d8c2629 100644 (file)
@@ -3,3 +3,4 @@ CONFIG_NETDEVICES=y
 CONFIG_TARGET_BF609_EZKIT=y
 CONFIG_CMD_NET=y
 CONFIG_ETH_DESIGNWARE=y
+CONFIG_LIB_RAND=y
index e6970a4..7247b9c 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_BR4=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 12d3352..e838a6c 100644 (file)
@@ -6,4 +6,5 @@ CONFIG_DEFAULT_DEVICE_TREE="canyonlands"
 CONFIG_CMD_SETEXPR=y
 CONFIG_CMD_NET=y
 CONFIG_OF_CONTROL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_OF_EMBED=y
index 42d568e..89a5c0f 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF533=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 906a9bd..b9b6044 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF548=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 023cc65..a304e57 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF561=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
diff --git a/configs/favr-32-ezkit_defconfig b/configs/favr-32-ezkit_defconfig
deleted file mode 100644 (file)
index 3330530..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_AVR32=y
-CONFIG_CMD_NET=y
-CONFIG_TARGET_FAVR_32_EZKIT=y
-CONFIG_AUTOBOOT_KEYED=y
-CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
-CONFIG_AUTOBOOT_DELAY_STR="d"
-CONFIG_AUTOBOOT_STOP_STR=" "
index a3b564e..5045510 100644 (file)
@@ -5,5 +5,6 @@ CONFIG_DEFAULT_DEVICE_TREE="galileo"
 CONFIG_TARGET_GALILEO=y
 CONFIG_CMD_NET=y
 CONFIG_OF_CONTROL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_GENERATE_PIRQ_TABLE=y
diff --git a/configs/hammerhead_defconfig b/configs/hammerhead_defconfig
deleted file mode 100644 (file)
index 278c76a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_AVR32=y
-CONFIG_CMD_NET=y
-CONFIG_TARGET_HAMMERHEAD=y
-CONFIG_AUTOBOOT_KEYED=y
-CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds"
-CONFIG_AUTOBOOT_DELAY_STR="d"
-CONFIG_AUTOBOOT_STOP_STR=" "
index eb80798..15f24bb 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_IBF_DSP561=y
 CONFIG_CMD_NET=y
+CONFIG_LIB_RAND=y
index 5740359..1e4cf7b 100644 (file)
@@ -4,4 +4,5 @@ CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
 CONFIG_SPL=y
 CONFIG_CMD_NET=y
 CONFIG_OF_CONTROL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_OF_EMBED=y
diff --git a/configs/mimc200_defconfig b/configs/mimc200_defconfig
deleted file mode 100644 (file)
index 85c646e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_AVR32=y
-CONFIG_TARGET_MIMC200=y
-CONFIG_CMD_NET=y
index 92acab2..81949e8 100644 (file)
@@ -6,3 +6,8 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra124-nyan-big"
 CONFIG_CMD_NET=y
 CONFIG_DISPLAY_PORT=y
 CONFIG_VIDEO_TEGRA124=y
+CONFIG_DM_CROS_EC=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_KEYB=y
+CONFIG_CMD_CROS_EC=y
index 5efcdf5..41005c7 100644 (file)
@@ -2,6 +2,7 @@ CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_ODROID=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid"
 CONFIG_CMD_SETEXPR=y
 CONFIG_CMD_NET=y
index 3c59b9b..657ef7e 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_ORIGEN=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-origen"
 CONFIG_SPL=y
 CONFIG_CMD_SETEXPR=y
index f85cc77..a8eb7f3 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_BLACKFIN=y
 CONFIG_TARGET_PR1=y
 CONFIG_CMD_NET=y
 CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
+CONFIG_LIB_RAND=y
index 633698e..32ac86a 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_S5PC210_UNIVERSAL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210"
 CONFIG_CMD_SETEXPR=y
 CONFIG_OF_CONTROL=y
index 345b701..31fe2f9 100644 (file)
@@ -41,3 +41,4 @@ CONFIG_UNIT_TEST=y
 CONFIG_UT_TIME=y
 CONFIG_UT_DM=y
 CONFIG_UT_ENV=y
+CONFIG_SANDBOX_SERIAL=y
index bbe4e80..c9fcb74 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_SOCFPGA=y
 CONFIG_TARGET_SOCFPGA_CYCLONE5=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_NETDEVICES=y
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_socrates"
 CONFIG_SPL=y
index 75a8aec..52e87a1 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS2=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2"
 CONFIG_CMD_SETEXPR=y
index a1aa892..25315b3 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats"
 CONFIG_CMD_SETEXPR=y
 CONFIG_OF_CONTROL=y
index 9215ac5..03f4bf7 100644 (file)
@@ -4,6 +4,7 @@ CONFIG_TARGET_ZYNQ_MICROZED=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-microzed"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_FIT_SIGNATURE=y
index a018b6e..7377619 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_TARGET_ZYNQ_ZC70X=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc702"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
index 7c83e8b..c948ad7 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_TARGET_ZYNQ_ZC770=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm010"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
index 2659d0a..3429bf9 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_TARGET_ZYNQ_ZC770=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm012"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
index 64624ea..a435229 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_TARGET_ZYNQ_ZC770=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm013"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
index 55d58a7..8f94d21 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_TARGET_ZYNQ_ZED=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zed"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
index f119532..1849c74 100644 (file)
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ZYNQ=y
 CONFIG_TARGET_ZYNQ_ZYBO=y
+CONFIG_SPL_DISABLE_OF_CONTROL=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zybo"
 # CONFIG_SYS_MALLOC_F is not set
 CONFIG_SPL=y
index a62bd0b..f029a0f 100644 (file)
@@ -12,6 +12,12 @@ The list should be sorted in reverse chronological order.
 
 Board            Arch        CPU            Commit      Removed     Last known maintainer/contact
 =================================================================================================
+atstk1003        avr32       -              e5354b8a    2015-06-10  Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+atstk1004        avr32       -              e5354b8a    2015-06-10  Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+atstk1006        avr32       -              e5354b8a    2015-06-10  Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+mimc200          avr32       -              c62d2f8f    2015-06-10  Mark Jackson <mpfj@mimc.co.uk>
+hammerhead       avr32       -              e3693076    2015-06-10  Alex Raimondi <alex.raimondi@miromico.ch>
+favr-32-ezkit    avr32       -              9eb45aab    2015-06-10  Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
 afeb9260         arm         arm926ejs      f6b42c14    2015-05-13  Sergey Lapin <slapin@ossfans.org>
 tny_a9260        arm         arm926ejs      f6b42c14    2015-05-13  Albin Tonnerre <albin.tonnerre@free-electrons.com>
 sbc35_a9g20      arm         arm926ejs      f6b42c14    2015-05-13  Albin Tonnerre <albin.tonnerre@free-electrons.com>
index f14695b..a3fec38 100644 (file)
@@ -5,5 +5,7 @@
 #
 
 obj-$(CONFIG_DM)       += device.o lists.o root.o uclass.o util.o
+ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_OF_CONTROL) += simple-bus.o
+endif
 obj-$(CONFIG_DM_DEVICE_REMOVE) += device-remove.o
index 223f238..5606d1f 100644 (file)
@@ -106,3 +106,24 @@ void board_i2c_init(const void *blob)
 {
        /* Nothing to do here - the init happens through driver model */
 }
+
+uint8_t i2c_reg_read(uint8_t chip_addr, uint8_t offset)
+{
+       struct udevice *dev;
+       int ret;
+
+       ret = i2c_compat_get_device(chip_addr, 1, &dev);
+       if (ret)
+               return 0xff;
+       return dm_i2c_reg_read(dev, offset);
+}
+
+void i2c_reg_write(uint8_t chip_addr, uint8_t offset, uint8_t val)
+{
+       struct udevice *dev;
+       int ret;
+
+       ret = i2c_compat_get_device(chip_addr, 1, &dev);
+       if (!ret)
+               dm_i2c_reg_write(dev, offset, val);
+}
index 5611fac..4829284 100644 (file)
@@ -76,6 +76,26 @@ config DEBUG_UART_SHIFT
          value. Use this value to specify the shift to use, where 0=byte
          registers, 2=32-bit word registers, etc.
 
+config SANDBOX_SERIAL
+       bool "Sandbox UART support"
+       depends on SANDBOX && DM
+       help
+         Select this to enable a seral UART for sandbox. This is required to
+         operate correctly, otherwise you will see no serial output from
+         sandbox. The emulated UART will display to the console and console
+         input will be fed into the UART. This allows you to interact with
+         U-Boot.
+
+         The operation of the console is controlled by the -t command-line
+         flag. In raw mode, U-Boot sees all characters from the terminal
+         before they are processed, including Ctrl-C. In cooked mode, Ctrl-C
+         is processed by the terminal, and terminates U-Boot. Valid options
+         are:
+
+            -t raw-with-sigs   Raw mode, Ctrl-C will terminate U-Boot
+            -t raw             Raw mode, Ctrl-C is processed by U-Boot
+            -t cooked          Cooked mode, Ctrl-C terminates
+
 config UNIPHIER_SERIAL
        bool "Support for UniPhier on-chip UART"
        depends on ARCH_UNIPHIER && DM_SERIAL
index 3d376d7..9b044a3 100644 (file)
@@ -65,6 +65,8 @@ static inline void serial_out_shift(void *addr, int shift, int value)
        out_le32(addr, value);
 #elif defined(CONFIG_SYS_NS16550_MEM32) && defined(CONFIG_SYS_BIG_ENDIAN)
        out_be32(addr, value);
+#elif defined(CONFIG_SYS_NS16550_MEM32)
+       writel(value, addr);
 #elif defined(CONFIG_SYS_BIG_ENDIAN)
        writeb(value, addr + (1 << shift) - 1);
 #else
@@ -80,6 +82,8 @@ static inline int serial_in_shift(void *addr, int shift)
        return in_le32(addr);
 #elif defined(CONFIG_SYS_NS16550_MEM32) && defined(CONFIG_SYS_BIG_ENDIAN)
        return in_be32(addr);
+#elif defined(CONFIG_SYS_NS16550_MEM32)
+       return readl(addr);
 #elif defined(CONFIG_SYS_BIG_ENDIAN)
        return readb(addr + (1 << shift) - 1);
 #else
index b8c2f48..815fec3 100644 (file)
@@ -30,49 +30,55 @@ static const unsigned long baudrate_table[] = CONFIG_SYS_BAUDRATE_TABLE;
 static void serial_find_console_or_panic(void)
 {
        struct udevice *dev;
-
-#ifdef CONFIG_OF_CONTROL
        int node;
 
-       /* Check for a chosen console */
-       node = fdtdec_get_chosen_node(gd->fdt_blob, "stdout-path");
-       if (node < 0)
-               node = fdt_path_offset(gd->fdt_blob, "console");
-       if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node, &dev)) {
-               gd->cur_serial_dev = dev;
-               return;
-       }
-
-       /*
-        * If the console is not marked to be bound before relocation, bind
-        * it anyway.
-        */
-       if (node > 0 &&
-           !lists_bind_fdt(gd->dm_root, gd->fdt_blob, node, &dev)) {
-               if (!device_probe(dev)) {
+       if (OF_CONTROL && gd->fdt_blob) {
+               /* Check for a chosen console */
+               node = fdtdec_get_chosen_node(gd->fdt_blob, "stdout-path");
+               if (node < 0)
+                       node = fdt_path_offset(gd->fdt_blob, "console");
+               if (!uclass_get_device_by_of_offset(UCLASS_SERIAL, node,
+                                                   &dev)) {
                        gd->cur_serial_dev = dev;
                        return;
                }
+
+               /*
+               * If the console is not marked to be bound before relocation,
+               * bind it anyway.
+               */
+               if (node > 0 &&
+                   !lists_bind_fdt(gd->dm_root, gd->fdt_blob, node, &dev)) {
+                       if (!device_probe(dev)) {
+                               gd->cur_serial_dev = dev;
+                               return;
+                       }
+               }
        }
-#endif
-       /*
-        * Try to use CONFIG_CONS_INDEX if available (it is numbered from 1!).
-        *
-        * Failing that, get the device with sequence number 0, or in extremis
-        * just the first serial device we can find. But we insist on having
-        * a console (even if it is silent).
-        */
+       if (!SPL_BUILD || !OF_CONTROL || !gd->fdt_blob) {
+               /*
+               * Try to use CONFIG_CONS_INDEX if available (it is numbered
+               * from 1!).
+               *
+               * Failing that, get the device with sequence number 0, or in
+               * extremis just the first serial device we can find. But we
+               * insist on having a console (even if it is silent).
+               */
 #ifdef CONFIG_CONS_INDEX
 #define INDEX (CONFIG_CONS_INDEX - 1)
 #else
 #define INDEX 0
 #endif
-       if (uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, &dev) &&
-           uclass_get_device(UCLASS_SERIAL, INDEX, &dev) &&
-           (uclass_first_device(UCLASS_SERIAL, &dev) || !dev))
-               panic_str("No serial driver found");
+               if (!uclass_get_device_by_seq(UCLASS_SERIAL, INDEX, &dev) ||
+                   !uclass_get_device(UCLASS_SERIAL, INDEX, &dev) ||
+                   (!uclass_first_device(UCLASS_SERIAL, &dev) || dev)) {
+                       gd->cur_serial_dev = dev;
+                       return;
+               }
 #undef INDEX
-       gd->cur_serial_dev = dev;
+       }
+
+       panic_str("No serial driver found");
 }
 
 /* Called prior to relocation */
index 4bec663..d7eecd5 100644 (file)
@@ -143,24 +143,30 @@ static int tegra114_spi_probe(struct udevice *bus)
 {
        struct tegra_spi_platdata *plat = dev_get_platdata(bus);
        struct tegra114_spi_priv *priv = dev_get_priv(bus);
+       struct spi_regs *regs;
+       ulong rate;
 
        priv->regs = (struct spi_regs *)plat->base;
+       regs = priv->regs;
 
        priv->last_transaction_us = timer_get_us();
        priv->freq = plat->frequency;
        priv->periph_id = plat->periph_id;
 
-       return 0;
-}
-
-static int tegra114_spi_claim_bus(struct udevice *dev)
-{
-       struct udevice *bus = dev->parent;
-       struct tegra114_spi_priv *priv = dev_get_priv(bus);
-       struct spi_regs *regs = priv->regs;
-
-       /* Change SPI clock to correct frequency, PLLP_OUT0 source */
-       clock_start_periph_pll(priv->periph_id, CLOCK_ID_PERIPH, priv->freq);
+       /*
+        * Change SPI clock to correct frequency, PLLP_OUT0 source, falling
+        * back to the oscillator if that is too fast.
+        */
+       rate = clock_start_periph_pll(priv->periph_id, CLOCK_ID_PERIPH,
+                                     priv->freq);
+       if (rate > priv->freq + 100000) {
+               rate = clock_start_periph_pll(priv->periph_id, CLOCK_ID_OSC,
+                                             priv->freq);
+               if (rate != priv->freq) {
+                       printf("Warning: SPI '%s' requested clock %u, actual clock %lu\n",
+                              bus->name, priv->freq, rate);
+               }
+       }
 
        /* Clear stale status here */
        setbits_le32(&regs->fifo_status,
@@ -175,9 +181,8 @@ static int tegra114_spi_claim_bus(struct udevice *dev)
                     SPI_FIFO_STS_RX_FIFO_EMPTY);
        debug("%s: FIFO STATUS = %08x\n", __func__, readl(&regs->fifo_status));
 
-       /* Set master mode and sw controlled CS */
-       setbits_le32(&regs->command1, SPI_CMD1_M_S | SPI_CMD1_CS_SW_HW |
-                    (priv->mode << SPI_CMD1_MODE_SHIFT));
+       setbits_le32(&priv->regs->command1, SPI_CMD1_M_S | SPI_CMD1_CS_SW_HW |
+                    (priv->mode << SPI_CMD1_MODE_SHIFT) | SPI_CMD1_CS_SW_VAL);
        debug("%s: COMMAND1 = %08x\n", __func__, readl(&regs->command1));
 
        return 0;
@@ -249,6 +254,9 @@ static int tegra114_spi_xfer(struct udevice *dev, unsigned int bitlen,
 
        ret = 0;
 
+       if (flags & SPI_XFER_BEGIN)
+               spi_cs_activate(dev);
+
        /* clear all error status bits */
        reg = readl(&regs->fifo_status);
        writel(reg, &regs->fifo_status);
@@ -260,9 +268,6 @@ static int tegra114_spi_xfer(struct udevice *dev, unsigned int bitlen,
        /* set xfer size to 1 block (32 bits) */
        writel(0, &regs->dma_blk);
 
-       if (flags & SPI_XFER_BEGIN)
-               spi_cs_activate(dev);
-
        /* handle data in 32-bit chunks */
        while (num_bytes > 0) {
                int bytes;
@@ -385,7 +390,6 @@ static int tegra114_spi_set_mode(struct udevice *bus, uint mode)
 }
 
 static const struct dm_spi_ops tegra114_spi_ops = {
-       .claim_bus      = tegra114_spi_claim_bus,
        .xfer           = tegra114_spi_xfer,
        .set_speed      = tegra114_spi_set_speed,
        .set_mode       = tegra114_spi_set_mode,
index 27705d6..e2574d7 100644 (file)
@@ -35,12 +35,6 @@ DECLARE_GLOBAL_DATA_PTR;
        #endif
 #endif
 
-#ifndef CONFIG_DM_USB
-enum {
-       USB_PORTS_MAX   = 3,            /* Maximum ports we allow */
-};
-#endif
-
 /* Parameters we need for USB */
 enum {
        PARAM_DIVN,                     /* PLL FEEDBACK DIVIDer */
@@ -82,9 +76,6 @@ struct fdt_usb {
        unsigned ulpi:1;        /* 1 if port has external ULPI transceiver */
        unsigned enabled:1;     /* 1 to enable, 0 to disable */
        unsigned has_legacy_mode:1; /* 1 if this port has legacy mode */
-#ifndef CONFIG_DM_USB
-       unsigned initialized:1; /* has this port already been initialized? */
-#endif
        enum usb_ctlr_type type;
        enum usb_init_type init_type;
        enum dr_mode dr_mode;   /* dual role mode */
@@ -93,11 +84,6 @@ struct fdt_usb {
        struct gpio_desc phy_reset_gpio; /* GPIO to reset ULPI phy */
 };
 
-#ifndef CONFIG_DM_USB
-static struct fdt_usb port[USB_PORTS_MAX];     /* List of valid USB ports */
-static unsigned port_count;                    /* Number of available ports */
-#endif
-
 /*
  * This table has USB timing parameters for each Oscillator frequency we
  * support. There are four sets of values:
@@ -173,8 +159,6 @@ static const u8 utmip_elastic_limit = 16;
 static const u8 utmip_hs_sync_start_delay = 9;
 
 struct fdt_usb_controller {
-       /* TODO(sjg@chromium.org): Remove when we only use driver model */
-       int compat;
        /* flag to determine whether controller supports hostpc register */
        u32 has_hostpc:1;
        const unsigned *pll_parameter;
@@ -182,17 +166,14 @@ struct fdt_usb_controller {
 
 static struct fdt_usb_controller fdt_usb_controllers[USB_CTRL_COUNT] = {
        {
-               .compat         = COMPAT_NVIDIA_TEGRA20_USB,
                .has_hostpc     = 0,
                .pll_parameter  = (const unsigned *)T20_usb_pll,
        },
        {
-               .compat         = COMPAT_NVIDIA_TEGRA30_USB,
                .has_hostpc     = 1,
                .pll_parameter  = (const unsigned *)T30_usb_pll,
        },
        {
-               .compat         = COMPAT_NVIDIA_TEGRA114_USB,
                .has_hostpc     = 1,
                .pll_parameter  = (const unsigned *)T114_usb_pll,
        },
@@ -754,12 +735,6 @@ int usb_common_init(struct fdt_usb *config, enum usb_init_type init)
                return -1;
        }
 
-#ifndef CONFIG_DM_USB
-       /* skip init, if the port is already initialized */
-       if (config->initialized && config->init_type == init)
-               return 0;
-#endif
-
        debug("%d, %d\n", config->utmi, config->ulpi);
        if (config->utmi)
                ret = init_utmi_usb_controller(config, init);
@@ -796,130 +771,6 @@ static const struct ehci_ops tegra_ehci_ops = {
        .powerup_fixup          = tegra_ehci_powerup_fixup,
 };
 
-#ifndef CONFIG_DM_USB
-/*
- * process_usb_nodes() - Process a list of USB nodes, adding them to our list
- *                     of USB ports.
- * @blob:      fdt blob
- * @node_list: list of nodes to process (any <=0 are ignored)
- * @count:     number of nodes to process
- * @id:                controller type (enum usb_ctlr_type)
- *
- * Return:     0 - ok, -1 - error
- */
-static int process_usb_nodes(const void *blob, int node_list[], int count,
-                            enum usb_ctlr_type id)
-{
-       struct fdt_usb config;
-       int node, i;
-       int clk_done = 0;
-
-       port_count = 0;
-       for (i = 0; i < count; i++) {
-               if (port_count == USB_PORTS_MAX) {
-                       printf("tegrausb: Cannot register more than %d ports\n",
-                               USB_PORTS_MAX);
-                       return -1;
-               }
-
-               debug("USB %d: ", i);
-               node = node_list[i];
-               if (!node)
-                       continue;
-               if (fdt_decode_usb(blob, node, &config)) {
-                       debug("Cannot decode USB node %s\n",
-                             fdt_get_name(blob, node, NULL));
-                       return -1;
-               }
-               if (!clk_done) {
-                       config_clock(get_pll_timing(
-                                       &fdt_usb_controllers[id]));
-                       clk_done = 1;
-               }
-               config.type = id;
-               config.initialized = 0;
-
-               /* add new USB port to the list of available ports */
-               port[port_count++] = config;
-       }
-
-       return 0;
-}
-
-int usb_process_devicetree(const void *blob)
-{
-       int node_list[USB_PORTS_MAX];
-       int count, err = 0;
-       int i;
-
-       for (i = 0; i < ARRAY_SIZE(fdt_usb_controllers); i++) {
-               count = fdtdec_find_aliases_for_id(blob, "usb",
-                       fdt_usb_controllers[i].compat, node_list,
-                       USB_PORTS_MAX);
-               if (count) {
-                       err = process_usb_nodes(blob, node_list, count, i);
-                       if (err)
-                               printf("%s: Error processing USB node!\n",
-                                      __func__);
-                       return err;
-               }
-       }
-
-       return err;
-}
-
-/**
- * Start up the given port number (ports are numbered from 0 on each board).
- * This returns values for the appropriate hccr and hcor addresses to use for
- * USB EHCI operations.
- *
- * @param index        port number to start
- * @param hccr         returns start address of EHCI HCCR registers
- * @param hcor         returns start address of EHCI HCOR registers
- * @return 0 if ok, -1 on error (generally invalid port number)
- */
-int ehci_hcd_init(int index, enum usb_init_type init,
-               struct ehci_hccr **hccr, struct ehci_hcor **hcor)
-{
-       struct fdt_usb *config;
-       struct usb_ctlr *usbctlr;
-       int ret;
-
-       if (index >= port_count)
-               return -1;
-
-       config = &port[index];
-       ehci_set_controller_priv(index, config, &tegra_ehci_ops);
-
-       ret = usb_common_init(config, init);
-       if (ret) {
-               printf("tegrausb: Cannot init port %d\n", index);
-               return ret;
-       }
-
-       config->initialized = 1;
-
-       usbctlr = config->reg;
-       *hccr = (struct ehci_hccr *)&usbctlr->cap_length;
-       *hcor = (struct ehci_hcor *)&usbctlr->usb_cmd;
-
-       return 0;
-}
-
-/*
- * Bring down the specified USB controller
- */
-int ehci_hcd_stop(int index)
-{
-       usb_common_uninit(&port[index]);
-
-       port[index].initialized = 0;
-
-       return 0;
-}
-#endif /* !CONFIG_DM_USB */
-
-#ifdef CONFIG_DM_USB
 static int ehci_usb_ofdata_to_platdata(struct udevice *dev)
 {
        struct fdt_usb *priv = dev_get_priv(dev);
@@ -987,4 +838,3 @@ U_BOOT_DRIVER(usb_ehci) = {
        .priv_auto_alloc_size = sizeof(struct fdt_usb),
        .flags  = DM_FLAG_ALLOC_PRIV_DMA,
 };
-#endif
index 963464c..6e86f4a 100644 (file)
@@ -628,6 +628,49 @@ int usb_scan_device(struct udevice *parent, int port,
        return 0;
 }
 
+/*
+ * Detect if a USB device has been plugged or unplugged.
+ */
+int usb_detect_change(void)
+{
+       struct udevice *hub;
+       struct uclass *uc;
+       int change = 0;
+       int ret;
+
+       ret = uclass_get(UCLASS_USB_HUB, &uc);
+       if (ret)
+               return ret;
+
+       uclass_foreach_dev(hub, uc) {
+               struct usb_device *udev;
+               struct udevice *dev;
+
+               if (!device_active(hub))
+                       continue;
+               for (device_find_first_child(hub, &dev);
+                    dev;
+                    device_find_next_child(&dev)) {
+                       struct usb_port_status status;
+
+                       if (!device_active(dev))
+                               continue;
+
+                       udev = dev_get_parentdata(dev);
+                       if (usb_get_port_status(udev, udev->portnr, &status)
+                                       < 0)
+                               /* USB request failed */
+                               continue;
+
+                       if (le16_to_cpu(status.wPortChange) &
+                           USB_PORT_STAT_C_CONNECTION)
+                               change++;
+               }
+       }
+
+       return change;
+}
+
 int usb_child_post_bind(struct udevice *dev)
 {
        struct usb_dev_platdata *plat = dev_get_parent_platdata(dev);
index 4ed3a49..d43d8a5 100644 (file)
@@ -81,12 +81,12 @@ void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
 #endif
 }
 
-void lcd_set_cmap(bmp_image_t *bmp, unsigned colors)
+void lcd_set_cmap(struct bmp_image *bmp, unsigned colors)
 {
        int i;
 
        for (i = 0; i < colors; ++i) {
-               bmp_color_table_entry_t cte = bmp->color_table[i];
+               struct bmp_color_table_entry cte = bmp->color_table[i];
                lcd_setcolreg(i, cte.red, cte.green, cte.blue);
        }
 }
index 60a5cc5..2f54d3d 100644 (file)
@@ -358,7 +358,7 @@ void vcxk_draw_mono(unsigned char *dataptr, unsigned long linewidth,
 
 int vcxk_display_bitmap(ulong addr, int x, int y)
 {
-       bmp_image_t *bmp;
+       struct bmp_image *bmp;
        unsigned long width;
        unsigned long height;
        unsigned long bpp;
@@ -369,7 +369,7 @@ int vcxk_display_bitmap(ulong addr, int x, int y)
        unsigned long c_height;
        unsigned char *dataptr;
 
-       bmp = (bmp_image_t *) addr;
+       bmp = (struct bmp_image *)addr;
        if ((bmp->header.signature[0] == 'B') &&
            (bmp->header.signature[1] == 'M')) {
                width        = le32_to_cpu(bmp->header.width);
index f4231b8..7f2ddc1 100644 (file)
@@ -1295,7 +1295,7 @@ static void draw_bitmap(uchar **fb, uchar *bm, struct palette *p,
        *fb = (uchar *) addr;   /* return modified address */
 }
 
-static int display_rle8_bitmap(bmp_image_t *img, int xoff, int yoff,
+static int display_rle8_bitmap(struct bmp_image *img, int xoff, int yoff,
                               int width, int height)
 {
        unsigned char *bm;
@@ -1304,7 +1304,7 @@ static int display_rle8_bitmap(bmp_image_t *img, int xoff, int yoff,
        int decode = 1;
        int x, y, bpp, i, ncolors;
        struct palette p[256];
-       bmp_color_table_entry_t cte;
+       struct bmp_color_table_entry cte;
        int green_shift, red_off;
        int limit = VIDEO_COLS * VIDEO_ROWS;
        int pixels = 0;
@@ -1447,13 +1447,13 @@ int video_display_bitmap(ulong bmp_image, int x, int y)
 {
        ushort xcount, ycount;
        uchar *fb;
-       bmp_image_t *bmp = (bmp_image_t *) bmp_image;
+       struct bmp_image *bmp = (struct bmp_image *)bmp_image;
        uchar *bmap;
        ushort padded_line;
        unsigned long width, height, bpp;
        unsigned colors;
        unsigned long compression;
-       bmp_color_table_entry_t cte;
+       struct bmp_color_table_entry cte;
 
 #ifdef CONFIG_VIDEO_BMP_GZIP
        unsigned char *dst = NULL;
@@ -1495,7 +1495,7 @@ int video_display_bitmap(ulong bmp_image, int x, int y)
                /*
                 * Set addr to decompressed image
                 */
-               bmp = (bmp_image_t *)(dst+2);
+               bmp = (struct bmp_image *)(dst+2);
 
                if (!((bmp->header.signature[0] == 'B') &&
                      (bmp->header.signature[1] == 'M'))) {
index 2733590..cfdc77f 100644 (file)
@@ -51,15 +51,13 @@ static int tegra124_lcd_init(void *lcdbase)
        int ret;
 
        clock_set_up_plldp();
-       clock_adjust_periph_pll_div(PERIPH_ID_HOST1X, CLOCK_ID_PERIPH,
-                                   408000000, NULL);
+       clock_start_periph_pll(PERIPH_ID_HOST1X, CLOCK_ID_PERIPH, 408000000);
 
        clock_enable(PERIPH_ID_HOST1X);
        clock_enable(PERIPH_ID_DISP1);
        clock_enable(PERIPH_ID_PWM);
        clock_enable(PERIPH_ID_DPAUX);
        clock_enable(PERIPH_ID_SOR0);
-
        udelay(2);
 
        reset_set_enable(PERIPH_ID_HOST1X, 0);
index 22b1fbc..55db8b8 100644 (file)
 #ifndef _BMP_H_
 #define _BMP_H_
 
-typedef struct bmp_color_table_entry {
+struct __packed bmp_color_table_entry {
        __u8    blue;
        __u8    green;
        __u8    red;
        __u8    reserved;
-} __attribute__ ((packed)) bmp_color_table_entry_t;
+};
 
 /* When accessing these fields, remember that they are stored in little
    endian format, so use linux macros, e.g. le32_to_cpu(width)          */
 
-typedef struct bmp_header {
+struct __packed bmp_header {
        /* Header */
        char signature[2];
        __u32   file_size;
@@ -40,15 +40,14 @@ typedef struct bmp_header {
        __u32   colors_used;
        __u32   colors_important;
        /* ColorTable */
+};
 
-} __attribute__ ((packed)) bmp_header_t;
-
-typedef struct bmp_image {
-       bmp_header_t header;
+struct bmp_image {
+       struct bmp_header header;
        /* We use a zero sized array just as a placeholder for variable
           sized array */
-       bmp_color_table_entry_t color_table[0];
-} bmp_image_t;
+       struct bmp_color_table_entry color_table[0];
+};
 
 /* Data in the bmp_image is aligned to this length */
 #define BMP_DATA_ALIGN 4
index ea5aeb0..8f4b2ec 100644 (file)
@@ -714,6 +714,21 @@ void       invalidate_dcache_range(unsigned long start, unsigned long stop);
 void   invalidate_dcache_all(void);
 void   invalidate_icache_all(void);
 
+enum {
+       /* Disable caches (else flush caches but leave them active) */
+       CBL_DISABLE_CACHES              = 1 << 0,
+       CBL_SHOW_BOOTSTAGE_REPORT       = 1 << 1,
+
+       CBL_ALL                         = 3,
+};
+
+/**
+ * Clean up ready for linux
+ *
+ * @param flags                Flags to control what is done
+ */
+int cleanup_before_linux_select(int flags);
+
 /* arch/$(ARCH)/lib/ticks.S */
 uint64_t get_ticks(void);
 void   wait_ticks    (unsigned long);
index 38cb0e8..c191f56 100644 (file)
@@ -20,7 +20,9 @@
 #undef CONFIG_CMD_SNTP
 #undef CONFIG_CMD_TFTPPUT
 #undef CONFIG_CMD_TFTPSRV
+#ifdef CONFIG_SPL_DISABLE_OF_CONTROL
 #undef CONFIG_OF_CONTROL
+#endif
 
 #ifndef CONFIG_SPL_DM
 #undef CONFIG_DM_SERIAL
index 1202ec2..56bd7f8 100644 (file)
 #define CONFIG_AT32AP7000
 #define CONFIG_ATNGW100
 
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_BOARD_EARLY_INIT_R
+
 /*
  * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
  * frequency, the HSB and PBB busses to run at 1/2 the PLL frequency
diff --git a/include/configs/atstk1003.h b/include/configs/atstk1003.h
deleted file mode 100644 (file)
index 4126b66..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2007 Atmel Corporation
- *
- * Configuration settings for the ATSTK1003 CPU daughterboard
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <asm/arch/hardware.h>
-
-#define CONFIG_AT32AP
-#define CONFIG_AT32AP7001
-#define CONFIG_ATSTK1003
-#define CONFIG_ATSTK1000
-
-/*
- * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
- * frequency, the HSB and PBB at 1/2, and the PBA to run at 1/4 the
- * PLL frequency.
- * (CONFIG_SYS_OSC0_HZ * CONFIG_SYS_PLL0_MUL) / CONFIG_SYS_PLL0_DIV = PLL MHz
- */
-#define CONFIG_PLL
-#define CONFIG_SYS_POWER_MANAGER
-#define CONFIG_SYS_OSC0_HZ                     20000000
-#define CONFIG_SYS_PLL0_DIV                    1
-#define CONFIG_SYS_PLL0_MUL                    7
-#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES        16
-/*
- * Set the CPU running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_CPU) = CPU MHz
- */
-#define CONFIG_SYS_CLKDIV_CPU                  0
-/*
- * Set the HSB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_HSB) = HSB MHz
- */
-#define CONFIG_SYS_CLKDIV_HSB                  1
-/*
- * Set the PBA running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBA) = PBA MHz
- */
-#define CONFIG_SYS_CLKDIV_PBA                  2
-/*
- * Set the PBB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBB) = PBB MHz
- */
-#define CONFIG_SYS_CLKDIV_PBB                  1
-
-/* Reserve VM regions for SDRAM and NOR flash */
-#define CONFIG_SYS_NR_VM_REGIONS               2
-
-/*
- * The PLLOPT register controls the PLL like this:
- *   icp = PLLOPT<2>
- *   ivco = PLLOPT<1:0>
- *
- * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
- */
-#define CONFIG_SYS_PLL0_OPT                    0x04
-
-#define CONFIG_USART_BASE              ATMEL_BASE_USART1
-#define CONFIG_USART_ID                        1
-
-/* User serviceable stuff */
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-
-#define CONFIG_STACKSIZE               (2048)
-
-#define CONFIG_BAUDRATE                        115200
-#define CONFIG_BOOTARGS                                                        \
-       "console=ttyS0 root=/dev/mmcblk0p1 rootwait"
-
-#define CONFIG_BOOTCOMMAND                                             \
-       "mmc rescan; ext2load mmc 0:1 0x10400000 /boot/uImage; bootm"
-
-#define CONFIG_BOOTDELAY               1
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_MMC
-
-#undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_NFS
-#undef CONFIG_CMD_SETGETDCR
-#undef CONFIG_CMD_XIMG
-
-#define CONFIG_ATMEL_USART
-#define CONFIG_PORTMUX_PIO
-#define CONFIG_SYS_HSDRAMC
-#define CONFIG_MMC
-#define CONFIG_GENERIC_ATMEL_MCI
-#define CONFIG_GENERIC_MMC
-
-#define CONFIG_SYS_DCACHE_LINESZ               32
-#define CONFIG_SYS_ICACHE_LINESZ               32
-
-#define CONFIG_NR_DRAM_BANKS           1
-
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_FLASH_CFI_DRIVER
-
-#define CONFIG_SYS_FLASH_BASE                  0x00000000
-#define CONFIG_SYS_FLASH_SIZE                  0x800000
-#define CONFIG_SYS_MAX_FLASH_BANKS             1
-#define CONFIG_SYS_MAX_FLASH_SECT              135
-
-#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_TEXT_BASE           0x00000000
-
-#define CONFIG_SYS_INTRAM_BASE                 INTERNAL_SRAM_BASE
-#define CONFIG_SYS_INTRAM_SIZE                 INTERNAL_SRAM_SIZE
-#define CONFIG_SYS_SDRAM_BASE                  EBI_SDRAM_BASE
-
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SIZE                        65536
-#define CONFIG_ENV_ADDR                        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - CONFIG_ENV_SIZE)
-
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INTRAM_BASE + CONFIG_SYS_INTRAM_SIZE)
-
-#define CONFIG_SYS_MALLOC_LEN                  (256*1024)
-
-/* Allow 4MB for the kernel run-time image */
-#define CONFIG_SYS_LOAD_ADDR                   (EBI_SDRAM_BASE + 0x00400000)
-#define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
-
-/* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
-#define CONFIG_SYS_CBSIZE                      256
-#define CONFIG_SYS_MAXARGS                     16
-#define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_LONGHELP
-
-#define CONFIG_SYS_MEMTEST_START               EBI_SDRAM_BASE
-#define CONFIG_SYS_MEMTEST_END                 (CONFIG_SYS_MEMTEST_START + 0x700000)
-#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
-
-#endif /* __CONFIG_H */
diff --git a/include/configs/atstk1004.h b/include/configs/atstk1004.h
deleted file mode 100644 (file)
index 97a1d3e..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2007 Atmel Corporation
- *
- * Configuration settings for the ATSTK1003 CPU daughterboard
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <asm/arch/hardware.h>
-
-#define CONFIG_AT32AP
-#define CONFIG_AT32AP7002
-#define CONFIG_ATSTK1004
-#define CONFIG_ATSTK1000
-
-/*
- * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
- * frequency, the HSB and PBB at 1/2, and the PBA to run at 1/4 the
- * PLL frequency.
- * (CONFIG_SYS_OSC0_HZ * CONFIG_SYS_PLL0_MUL) / CONFIG_SYS_PLL0_DIV = PLL MHz
- */
-#define CONFIG_PLL
-#define CONFIG_SYS_POWER_MANAGER
-#define CONFIG_SYS_OSC0_HZ                     20000000
-#define CONFIG_SYS_PLL0_DIV                    1
-#define CONFIG_SYS_PLL0_MUL                    7
-#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES        16
-/*
- * Set the CPU running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_CPU) = CPU MHz
- */
-#define CONFIG_SYS_CLKDIV_CPU                  0
-/*
- * Set the HSB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_HSB) = HSB MHz
- */
-#define CONFIG_SYS_CLKDIV_HSB                  1
-/*
- * Set the PBA running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBA) = PBA MHz
- */
-#define CONFIG_SYS_CLKDIV_PBA                  2
-/*
- * Set the PBB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBB) = PBB MHz
- */
-#define CONFIG_SYS_CLKDIV_PBB                  1
-
-/* Reserve VM regions for SDRAM and NOR flash */
-#define CONFIG_SYS_NR_VM_REGIONS               2
-
-/*
- * The PLLOPT register controls the PLL like this:
- *   icp = PLLOPT<2>
- *   ivco = PLLOPT<1:0>
- *
- * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
- */
-#define CONFIG_SYS_PLL0_OPT                    0x04
-
-#define CONFIG_USART_BASE              ATMEL_BASE_USART1
-#define CONFIG_USART_ID                        1
-
-/* User serviceable stuff */
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-
-#define CONFIG_STACKSIZE               (2048)
-
-#define CONFIG_BAUDRATE                        115200
-#define CONFIG_BOOTARGS                                                        \
-       "console=ttyS0 root=/dev/mmcblk0p1 rootwait"
-
-#define CONFIG_BOOTCOMMAND                                             \
-       "mmc rescan; ext2load mmc 0:1 0x10200000 /boot/uImage; bootm"
-
-#define CONFIG_BOOTDELAY               1
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_MMC
-
-#undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_NFS
-#undef CONFIG_CMD_SETGETDCR
-#undef CONFIG_CMD_XIMG
-
-#define CONFIG_ATMEL_USART
-#define CONFIG_PORTMUX_PIO
-#define CONFIG_SYS_HSDRAMC
-#define CONFIG_MMC
-#define CONFIG_GENERIC_ATMEL_MCI
-#define CONFIG_GENERIC_MMC
-
-#define CONFIG_SYS_DCACHE_LINESZ               32
-#define CONFIG_SYS_ICACHE_LINESZ               32
-
-#define CONFIG_NR_DRAM_BANKS           1
-
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_FLASH_CFI_DRIVER
-
-#define CONFIG_SYS_FLASH_BASE                  0x00000000
-#define CONFIG_SYS_FLASH_SIZE                  0x800000
-#define CONFIG_SYS_MAX_FLASH_BANKS             1
-#define CONFIG_SYS_MAX_FLASH_SECT              135
-
-#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_TEXT_BASE           0x00000000
-
-#define CONFIG_SYS_INTRAM_BASE                 INTERNAL_SRAM_BASE
-#define CONFIG_SYS_INTRAM_SIZE                 INTERNAL_SRAM_SIZE
-#define CONFIG_SYS_SDRAM_BASE                  EBI_SDRAM_BASE
-
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SIZE                        65536
-#define CONFIG_ENV_ADDR                        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - CONFIG_ENV_SIZE)
-
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INTRAM_BASE + CONFIG_SYS_INTRAM_SIZE)
-
-#define CONFIG_SYS_MALLOC_LEN                  (256*1024)
-
-/* Allow 2MB for the kernel run-time image */
-#define CONFIG_SYS_LOAD_ADDR                   (EBI_SDRAM_BASE + 0x00200000)
-#define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
-
-/* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
-#define CONFIG_SYS_CBSIZE                      256
-#define CONFIG_SYS_MAXARGS                     16
-#define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_LONGHELP
-
-#define CONFIG_SYS_MEMTEST_START               EBI_SDRAM_BASE
-#define CONFIG_SYS_MEMTEST_END                 (CONFIG_SYS_MEMTEST_START + 0x700000)
-#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
-
-#endif /* __CONFIG_H */
diff --git a/include/configs/atstk1006.h b/include/configs/atstk1006.h
deleted file mode 100644 (file)
index cbf17db..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2005-2006 Atmel Corporation
- *
- * Configuration settings for the ATSTK1002 CPU daughterboard
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <asm/arch/hardware.h>
-
-#define CONFIG_AT32AP
-#define CONFIG_AT32AP7000
-#define CONFIG_ATSTK1006
-#define CONFIG_ATSTK1000
-
-
-/*
- * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
- * frequency, the HSB and PBB at 1/2, and the PBA to run at 1/4 the
- * PLL frequency.
- * (CONFIG_SYS_OSC0_HZ * CONFIG_SYS_PLL0_MUL) / CONFIG_SYS_PLL0_DIV = PLL MHz
- */
-#define CONFIG_PLL
-#define CONFIG_SYS_POWER_MANAGER
-#define CONFIG_SYS_OSC0_HZ                     20000000
-#define CONFIG_SYS_PLL0_DIV                    1
-#define CONFIG_SYS_PLL0_MUL                    7
-#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES        16
-/*
- * Set the CPU running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_CPU) = CPU MHz
- */
-#define CONFIG_SYS_CLKDIV_CPU                  0
-/*
- * Set the HSB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_HSB) = HSB MHz
- */
-#define CONFIG_SYS_CLKDIV_HSB                  1
-/*
- * Set the PBA running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBA) = PBA MHz
- */
-#define CONFIG_SYS_CLKDIV_PBA                  2
-/*
- * Set the PBB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBB) = PBB MHz
- */
-#define CONFIG_SYS_CLKDIV_PBB                  1
-
-/* Reserve VM regions for SDRAM and NOR flash */
-#define CONFIG_SYS_NR_VM_REGIONS               2
-
-/*
- * The PLLOPT register controls the PLL like this:
- *   icp = PLLOPT<2>
- *   ivco = PLLOPT<1:0>
- *
- * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
- */
-#define CONFIG_SYS_PLL0_OPT                    0x04
-
-#define CONFIG_USART_BASE              ATMEL_BASE_USART1
-#define CONFIG_USART_ID                        1
-
-/* User serviceable stuff */
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-
-#define CONFIG_STACKSIZE               (2048)
-
-#define CONFIG_BAUDRATE                        115200
-#define CONFIG_BOOTARGS                                                        \
-       "console=ttyS0 root=mtd3 fbmem=2400k"
-
-#define CONFIG_BOOTCOMMAND                                             \
-       "fsload; bootm $(fileaddr)"
-
-#define CONFIG_BOOTDELAY               1
-
-/*
- * After booting the board for the first time, new ethernet addresses
- * should be generated and assigned to the environment variables
- * "ethaddr" and "eth1addr". This is normally done during production.
- */
-#define CONFIG_OVERWRITE_ETHADDR_ONCE
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_SUBNETMASK
-#define CONFIG_BOOTP_GATEWAY
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_MMC
-
-#undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_SETGETDCR
-#undef CONFIG_CMD_SOURCE
-#undef CONFIG_CMD_XIMG
-
-#define CONFIG_ATMEL_USART
-#define CONFIG_MACB
-#define CONFIG_PORTMUX_PIO
-#define CONFIG_SYS_NR_PIOS                     5
-#define CONFIG_SYS_HSDRAMC
-#define CONFIG_MMC
-#define CONFIG_GENERIC_ATMEL_MCI
-#define CONFIG_GENERIC_MMC
-
-#define CONFIG_SYS_DCACHE_LINESZ               32
-#define CONFIG_SYS_ICACHE_LINESZ               32
-
-#define CONFIG_NR_DRAM_BANKS           1
-
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_FLASH_CFI_DRIVER
-
-#define CONFIG_SYS_FLASH_BASE                  0x00000000
-#define CONFIG_SYS_FLASH_SIZE                  0x800000
-#define CONFIG_SYS_MAX_FLASH_BANKS             1
-#define CONFIG_SYS_MAX_FLASH_SECT              135
-
-#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_TEXT_BASE           0x00000000
-
-#define CONFIG_SYS_INTRAM_BASE                 INTERNAL_SRAM_BASE
-#define CONFIG_SYS_INTRAM_SIZE                 INTERNAL_SRAM_SIZE
-#define CONFIG_SYS_SDRAM_BASE                  EBI_SDRAM_BASE
-
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SIZE                        65536
-#define CONFIG_ENV_ADDR                        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - CONFIG_ENV_SIZE)
-
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INTRAM_BASE + CONFIG_SYS_INTRAM_SIZE)
-
-#define CONFIG_SYS_MALLOC_LEN                  (256*1024)
-
-/* Allow 4MB for the kernel run-time image */
-#define CONFIG_SYS_LOAD_ADDR                   (EBI_SDRAM_BASE + 0x00400000)
-#define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
-
-/* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
-#define CONFIG_SYS_CBSIZE                      256
-#define CONFIG_SYS_MAXARGS                     16
-#define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_LONGHELP
-
-#define CONFIG_SYS_MEMTEST_START               EBI_SDRAM_BASE
-#define CONFIG_SYS_MEMTEST_END                 (CONFIG_SYS_MEMTEST_START + 0x3f00000)
-#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
-
-#endif /* __CONFIG_H */
diff --git a/include/configs/favr-32-ezkit.h b/include/configs/favr-32-ezkit.h
deleted file mode 100644 (file)
index 04f4124..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2008 Atmel Corporation
- *
- * Configuration settings for the Favr-32 EarthLCD LCD kit.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <asm/arch/hardware.h>
-
-#define CONFIG_AT32AP
-#define CONFIG_AT32AP7000
-#define CONFIG_FAVR32_EZKIT
-
-#define CONFIG_FAVR32_EZKIT_EXT_FLASH
-
-/*
- * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
- * frequency, the HSB and PBB at 1/2, and the PBA to run at 1/4 the
- * PLL frequency.
- * (CONFIG_SYS_OSC0_HZ * CONFIG_SYS_PLL0_MUL) / CONFIG_SYS_PLL0_DIV = PLL MHz
- */
-#define CONFIG_PLL
-#define CONFIG_SYS_POWER_MANAGER
-#define CONFIG_SYS_OSC0_HZ                     20000000
-#define CONFIG_SYS_PLL0_DIV                    1
-#define CONFIG_SYS_PLL0_MUL                    7
-#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES        16
-/*
- * Set the CPU running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_CPU) = CPU MHz
- */
-#define CONFIG_SYS_CLKDIV_CPU                  0
-/*
- * Set the HSB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_HSB) = HSB MHz
- */
-#define CONFIG_SYS_CLKDIV_HSB                  1
-/*
- * Set the PBA running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBA) = PBA MHz
- */
-#define CONFIG_SYS_CLKDIV_PBA                  2
-/*
- * Set the PBB running at:
- * PLL / (2^CONFIG_SYS_CLKDIV_PBB) = PBB MHz
- */
-#define CONFIG_SYS_CLKDIV_PBB                  1
-
-/* Reserve VM regions for SDRAM and NOR flash */
-#define CONFIG_SYS_NR_VM_REGIONS               2
-
-/*
- * The PLLOPT register controls the PLL like this:
- *   icp = PLLOPT<2>
- *   ivco = PLLOPT<1:0>
- *
- * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
- */
-#define CONFIG_SYS_PLL0_OPT                    0x04
-
-#define CONFIG_USART_BASE              ATMEL_BASE_USART3
-#define CONFIG_USART_ID                        3
-
-/* User serviceable stuff */
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-
-#define CONFIG_STACKSIZE               (2048)
-
-#define CONFIG_BAUDRATE                        115200
-#define CONFIG_BOOTARGS                                                        \
-       "root=/dev/mtdblock1 rootfstype=jffs fbmem=1800k"
-
-#define CONFIG_BOOTCOMMAND                                             \
-       "fsload; bootm $(fileaddr)"
-
-#define CONFIG_BOOTDELAY               1
-
-/*
- * After booting the board for the first time, new ethernet addresses
- * should be generated and assigned to the environment variables
- * "ethaddr" and "eth1addr". This is normally done during production.
- */
-#define CONFIG_OVERWRITE_ETHADDR_ONCE
-
-/*
- * BOOTP options
- */
-#define CONFIG_BOOTP_SUBNETMASK
-#define CONFIG_BOOTP_GATEWAY
-
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_MMC
-
-#undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_SETGETDCR
-#undef CONFIG_CMD_SOURCE
-#undef CONFIG_CMD_XIMG
-
-#define CONFIG_ATMEL_USART
-#define CONFIG_MACB
-#define CONFIG_PORTMUX_PIO
-#define CONFIG_SYS_NR_PIOS                     5
-#define CONFIG_SYS_HSDRAMC
-#define CONFIG_MMC
-#define CONFIG_GENERIC_ATMEL_MCI
-#define CONFIG_GENERIC_MMC
-
-#define CONFIG_SYS_DCACHE_LINESZ               32
-#define CONFIG_SYS_ICACHE_LINESZ               32
-
-#define CONFIG_NR_DRAM_BANKS           1
-
-/* External flash on Favr-32 */
-#if 0
-#define CONFIG_SYS_FLASH_CFI                   1
-#define CONFIG_FLASH_CFI_DRIVER                1
-#endif
-
-#define CONFIG_SYS_FLASH_BASE                  0x00000000
-#define CONFIG_SYS_FLASH_SIZE                  0x800000
-#define CONFIG_SYS_MAX_FLASH_BANKS             1
-#define CONFIG_SYS_MAX_FLASH_SECT              135
-
-#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_TEXT_BASE           0x00000000
-
-#define CONFIG_SYS_INTRAM_BASE                 INTERNAL_SRAM_BASE
-#define CONFIG_SYS_INTRAM_SIZE                 INTERNAL_SRAM_SIZE
-#define CONFIG_SYS_SDRAM_BASE                  EBI_SDRAM_BASE
-
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SIZE                        65536
-#define CONFIG_ENV_ADDR                        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - CONFIG_ENV_SIZE)
-
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INTRAM_BASE + CONFIG_SYS_INTRAM_SIZE)
-
-#define CONFIG_SYS_MALLOC_LEN                  (256*1024)
-
-/* Allow 4MB for the kernel run-time image */
-#define CONFIG_SYS_LOAD_ADDR                   (EBI_SDRAM_BASE + 0x00400000)
-#define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
-
-/* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
-#define CONFIG_SYS_CBSIZE                      256
-#define CONFIG_SYS_MAXARGS                     16
-#define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_LONGHELP
-
-#define CONFIG_SYS_MEMTEST_START               EBI_SDRAM_BASE
-#define CONFIG_SYS_MEMTEST_END                 (CONFIG_SYS_MEMTEST_START + 0x700000)
-#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
-
-#endif /* __CONFIG_H */
diff --git a/include/configs/hammerhead.h b/include/configs/hammerhead.h
deleted file mode 100644 (file)
index 274f2a8..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (C) 2008 Miromico AG
- *
- * Configuration settings for the Miromico Hammerhead AVR32 board
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#define CONFIG_AT32AP
-#define CONFIG_AT32AP7000
-#define CONFIG_HAMMERHEAD
-
-/*
- * Set up the PLL to run at 125 MHz, the CPU to run at the PLL
- * frequency, the HSB and PBB busses to run at 1/2 the PLL frequency
- * and the PBA bus to run at 1/4 the PLL frequency.
- */
-#define CONFIG_PLL
-#define CONFIG_SYS_POWER_MANAGER
-#define CONFIG_SYS_OSC0_HZ                     25000000
-#define CONFIG_SYS_PLL0_DIV                    1
-#define CONFIG_SYS_PLL0_MUL                    5
-#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES        16
-#define CONFIG_SYS_CLKDIV_CPU                  0
-#define CONFIG_SYS_CLKDIV_HSB                  1
-#define CONFIG_SYS_CLKDIV_PBA                  2
-#define CONFIG_SYS_CLKDIV_PBB                  1
-
-/* Reserve VM regions for SDRAM and NOR flash */
-#define CONFIG_SYS_NR_VM_REGIONS               2
-
-/*
- * The PLLOPT register controls the PLL like this:
- *   icp = PLLOPT<2>
- *   ivco = PLLOPT<1:0>
- *
- * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
- */
-#define CONFIG_SYS_PLL0_OPT                    0x04
-
-#define CONFIG_USART_BASE                      ATMEL_BASE_USART1
-#define CONFIG_USART_ID                                1
-
-#define CONFIG_HOSTNAME                        hammerhead
-
-/* User serviceable stuff */
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-
-#define CONFIG_STACKSIZE               (2048)
-
-#define CONFIG_BAUDRATE                        115200
-#define CONFIG_BOOTARGS                                                        \
-       "console=ttyS0 root=mtd1 rootfstype=jffs2"
-#define CONFIG_BOOTCOMMAND                                             \
-       "fsload; bootm"
-
-#define CONFIG_BOOTDELAY               1
-
-/*
- * After booting the board for the first time, new ethernet address
- * should be generated and assigned to the environment variables
- * "ethaddr". This is normally done during production.
- */
-#define CONFIG_OVERWRITE_ETHADDR_ONCE
-
-/*
- * BOOTP/DHCP options
- */
-#define CONFIG_BOOTP_SUBNETMASK
-#define CONFIG_BOOTP_GATEWAY
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_MMC
-#undef CONFIG_CMD_FPGA
-#undef CONFIG_CMD_SETGETDCR
-
-#define CONFIG_ATMEL_USART
-#define CONFIG_MACB
-#define CONFIG_PORTMUX_PIO
-#define CONFIG_SYS_NR_PIOS                     5
-#define CONFIG_SYS_HSDRAMC
-#define CONFIG_MMC
-#define CONFIG_GENERIC_ATMEL_MCI
-#define CONFIG_GENERIC_MMC
-
-#define CONFIG_SYS_DCACHE_LINESZ               32
-#define CONFIG_SYS_ICACHE_LINESZ               32
-
-#define CONFIG_NR_DRAM_BANKS           1
-
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_FLASH_CFI_DRIVER
-
-#define CONFIG_SYS_FLASH_BASE                  0x00000000
-#define CONFIG_SYS_FLASH_SIZE                  0x800000
-#define CONFIG_SYS_MAX_FLASH_BANKS             1
-#define CONFIG_SYS_MAX_FLASH_SECT              135
-
-#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_TEXT_BASE           0x00000000
-
-#define CONFIG_SYS_INTRAM_BASE                 0x24000000
-#define CONFIG_SYS_INTRAM_SIZE                 0x8000
-
-#define CONFIG_SYS_SDRAM_BASE                  0x10000000
-
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SIZE                        65536
-#define CONFIG_ENV_ADDR                        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - CONFIG_ENV_SIZE)
-
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INTRAM_BASE + CONFIG_SYS_INTRAM_SIZE)
-
-#define CONFIG_SYS_MALLOC_LEN                  (256*1024)
-
-
-/* Allow 4MB for the kernel run-time image */
-#define CONFIG_SYS_LOAD_ADDR                   (CONFIG_SYS_SDRAM_BASE + 0x00400000)
-#define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
-
-/* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "Hammerhead> "
-#define CONFIG_SYS_CBSIZE                      256
-#define CONFIG_SYS_MAXARGS                     16
-#define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_LONGHELP
-
-#define CONFIG_SYS_MEMTEST_START               CONFIG_SYS_SDRAM_BASE
-#define CONFIG_SYS_MEMTEST_END                 (CONFIG_SYS_MEMTEST_START + 0x1f00000)
-
-#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
-
-#endif /* __CONFIG_H */
diff --git a/include/configs/mimc200.h b/include/configs/mimc200.h
deleted file mode 100644 (file)
index e8e5ae7..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (C) 2006 Atmel Corporation
- *
- * Configuration settings for the AVR32 Network Gateway
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#include <asm/arch/hardware.h>
-
-#define CONFIG_AT32AP
-#define CONFIG_AT32AP7000
-#define CONFIG_MIMC200
-
-#define CONFIG_MIMC200_EXT_FLASH
-
-/*
- * Set up the PLL to run at 140 MHz, the CPU to run at the PLL
- * frequency, the HSB and PBB busses to run at 1/2 the PLL frequency
- * and the PBA bus to run at 1/4 the PLL frequency.
- */
-#define CONFIG_PLL
-#define CONFIG_SYS_POWER_MANAGER
-#define CONFIG_SYS_OSC0_HZ                     10000000
-#define CONFIG_SYS_PLL0_DIV                    1
-#define CONFIG_SYS_PLL0_MUL                    15
-#define CONFIG_SYS_PLL0_SUPPRESS_CYCLES        16
-#define CONFIG_SYS_CLKDIV_CPU                  0
-#define CONFIG_SYS_CLKDIV_HSB                  1
-#define CONFIG_SYS_CLKDIV_PBA                  2
-#define CONFIG_SYS_CLKDIV_PBB                  1
-
-/* Reserve VM regions for SDRAM, NOR flash and FRAM */
-#define CONFIG_SYS_NR_VM_REGIONS               3
-
-/*
- * The PLLOPT register controls the PLL like this:
- *   icp = PLLOPT<2>
- *   ivco = PLLOPT<1:0>
- *
- * We want icp=1 (default) and ivco=0 (80-160 MHz) or ivco=2 (150-240MHz).
- */
-#define CONFIG_SYS_PLL0_OPT                    0x04
-
-#define CONFIG_USART_BASE                      ATMEL_BASE_USART1
-#define CONFIG_USART_ID                                1
-
-#define CONFIG_MIMC200_DBGLINK         1
-
-/* User serviceable stuff */
-#define CONFIG_DOS_PARTITION
-
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_INITRD_TAG
-
-#define CONFIG_STACKSIZE               (2048)
-
-#define CONFIG_BAUDRATE                        115200
-#define CONFIG_BOOTARGS                                                        \
-       "root=/dev/mtdblock1 rootfstype=jffs2 fbmem=512k console=ttyS1"
-#define CONFIG_BOOTCOMMAND                                             \
-       "fsload boot/uImage; bootm"
-
-#define CONFIG_SILENT_CONSOLE       /* enable silent startup */
-#define CONFIG_DISABLE_CONSOLE      /* disable console */
-#define CONFIG_SYS_DEVICE_NULLDEV   /* include nulldev device */
-
-#define CONFIG_LCD                     1
-
-/*
- * Only interrupt autoboot if <space> is pressed. Otherwise, garbage
- * data on the serial line may interrupt the boot sequence.
- */
-#define CONFIG_BOOTDELAY               0
-#define CONFIG_ZERO_BOOTDELAY_CHECK
-#define CONFIG_AUTOBOOT
-
-/*
- * After booting the board for the first time, new ethernet addresses
- * should be generated and assigned to the environment variables
- * "ethaddr" and "eth1addr". This is normally done during production.
- */
-#define CONFIG_OVERWRITE_ETHADDR_ONCE
-
-/*
- * BOOTP/DHCP options
- */
-#define CONFIG_BOOTP_SUBNETMASK
-#define CONFIG_BOOTP_GATEWAY
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_ASKENV
-#define CONFIG_CMD_DHCP
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_JFFS2
-#define CONFIG_CMD_MMC
-
-#define CONFIG_ATMEL_USART
-#define CONFIG_MACB
-#define CONFIG_PORTMUX_PIO
-#define CONFIG_SYS_NR_PIOS                     5
-#define CONFIG_SYS_HSDRAMC
-#define CONFIG_MMC
-#define CONFIG_GENERIC_ATMEL_MCI
-#define CONFIG_GENERIC_MMC
-
-#if defined(CONFIG_LCD)
-#define CONFIG_CMD_BMP
-#define CONFIG_ATMEL_LCD               1
-#define LCD_BPP                                LCD_COLOR16
-#define CONFIG_BMP_16BPP               1
-#define CONFIG_FB_ADDR                 0x10600000
-#define CONFIG_WHITE_ON_BLACK          1
-#define CONFIG_VIDEO_BMP_GZIP          1
-#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE         262144
-#define CONFIG_ATMEL_LCD_BGR555                1
-#define CONFIG_SYS_CONSOLE_IS_IN_ENV   1
-#define CONFIG_SPLASH_SCREEN           1
-#endif
-
-#define CONFIG_SYS_DCACHE_LINESZ               32
-#define CONFIG_SYS_ICACHE_LINESZ               32
-
-#define CONFIG_NR_DRAM_BANKS           1
-
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_FLASH_CFI_DRIVER
-
-#define CONFIG_SYS_FLASH_BASE                  0x00000000
-#define CONFIG_SYS_FLASH_SIZE                  0x800000
-#define CONFIG_SYS_MAX_FLASH_BANKS             1
-#define CONFIG_SYS_MAX_FLASH_SECT              135
-
-#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
-#define CONFIG_SYS_TEXT_BASE           0x00000000
-
-#define CONFIG_SYS_INTRAM_BASE                 INTERNAL_SRAM_BASE
-#define CONFIG_SYS_INTRAM_SIZE                 INTERNAL_SRAM_SIZE
-#define CONFIG_SYS_SDRAM_BASE                  EBI_SDRAM_BASE
-
-#define CONFIG_SYS_FRAM_BASE                   0x08000000
-#define CONFIG_SYS_FRAM_SIZE                   0x20000
-
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_SIZE                        65536
-#define CONFIG_ENV_ADDR                        (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_SIZE - CONFIG_ENV_SIZE)
-
-#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INTRAM_BASE + CONFIG_SYS_INTRAM_SIZE)
-
-#define CONFIG_SYS_MALLOC_LEN                  (1024*1024)
-
-/* Allow 4MB for the kernel run-time image */
-#define CONFIG_SYS_LOAD_ADDR                   (EBI_SDRAM_BASE + 0x00400000)
-#define CONFIG_SYS_BOOTPARAMS_LEN              (16 * 1024)
-
-/* Other configuration settings that shouldn't have to change all that often */
-#define CONFIG_SYS_PROMPT                      "U-Boot> "
-#define CONFIG_SYS_CBSIZE                      256
-#define CONFIG_SYS_MAXARGS                     16
-#define CONFIG_SYS_PBSIZE                      (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_LONGHELP
-
-#define CONFIG_SYS_MEMTEST_START               EBI_SDRAM_BASE
-#define CONFIG_SYS_MEMTEST_END                 (CONFIG_SYS_MEMTEST_START + 0x1f00000)
-
-#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400, 19200, 9600, 2400 }
-
-#endif /* __CONFIG_H */
index a92112f..b99d762 100644 (file)
@@ -47,6 +47,7 @@
 #define CONFIG_AS3722_POWER
 #define LCD_BPP                                LCD_COLOR16
 #define CONFIG_SYS_WHITE_ON_BLACK
+#define CONFIG_CMD_BMP
 
 /* Align LCD to 1MB boundary */
 #define CONFIG_LCD_ALIGNMENT   MMU_SECTION_SIZE
 #define CONFIG_CMD_DHCP
 
 #define CONFIG_FIT
+#define CONFIG_FIT_BEST_MATCH
 #define CONFIG_OF_LIBFDT
 
+#define CONFIG_KEYBOARD
+
+#undef CONFIG_LOADADDR
+#define CONFIG_LOADADDR                0x82408000
+
 #include "tegra-common-usb-gadget.h"
 #include "tegra-common-post.h"
 
index 3a857e2..3caa83c 100644 (file)
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_SYS_BAUDRATE_TABLE      {4800, 9600, 19200, 38400, 57600,\
                                        115200}
-#define CONFIG_SANDBOX_SERIAL
 
 #define CONFIG_SYS_NO_FLASH
 
index 07db736..063abd5 100644 (file)
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
 #define CONFIG_SUNXI_AHCI
+#define CONFIG_SYS_64BIT_LBA
 #define CONFIG_SYS_SCSI_MAX_SCSI_ID    1
 #define CONFIG_SYS_SCSI_MAX_LUN                1
 #define CONFIG_SYS_SCSI_MAX_DEVICE     (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
index 0cea795..483222f 100644 (file)
 #define STDOUT_LCD ""
 #endif
 
+#ifdef CONFIG_CROS_EC_KEYB
+#define STDOUT_CROS_EC ",cros-ec-keyb"
+#else
+#define STDOUT_CROS_EC ""
+#endif
+
 #define TEGRA_DEVICE_SETTINGS \
-       "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB "\0" \
+       "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \
        "stdout=serial" STDOUT_LCD "\0" \
        "stderr=serial" STDOUT_LCD "\0" \
        ""
 
 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
 
+#ifndef CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
+#define CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
+#endif
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
        TEGRA_DEVICE_SETTINGS \
        MEM_LAYOUT_ENV_SETTINGS \
        "fdt_high=ffffffff\0" \
        "initrd_high=ffffffff\0" \
        BOOTENV \
-       BOARD_EXTRA_ENV_SETTINGS
+       BOARD_EXTRA_ENV_SETTINGS \
+       CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
 
 #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)
 #define CONFIG_TEGRA_SPI
index 0bac9ad..2d58422 100644 (file)
 /* Print Buffer Size */
 #define CONFIG_SYS_PBSIZE              (CONFIG_SYS_CBSIZE + \
                                        sizeof(CONFIG_SYS_PROMPT) + 16)
-#define CONFIG_SYS_MAXARGS             16      /* max number of command args */
+#define CONFIG_SYS_MAXARGS             32      /* max number of command args */
 /* Boot Argument Buffer Size */
 #define CONFIG_SYS_BARGSIZE            (CONFIG_SYS_CBSIZE)
 
index 4fb8a2a..2323603 100644 (file)
@@ -41,6 +41,12 @@ struct fdt_memory {
        fdt_addr_t end;
 };
 
+#ifdef CONFIG_SPL_BUILD
+#define SPL_BUILD      1
+#else
+#define SPL_BUILD      0
+#endif
+
 #ifdef CONFIG_OF_CONTROL
 # if defined(CONFIG_SPL_BUILD) && defined(SPL_DISABLE_OF_CONTROL)
 #  define OF_CONTROL 0
@@ -122,9 +128,6 @@ static inline fdt_size_t fdt_resource_size(const struct fdt_resource *res)
  */
 enum fdt_compat_id {
        COMPAT_UNKNOWN,
-       COMPAT_NVIDIA_TEGRA20_USB,      /* Tegra20 USB port */
-       COMPAT_NVIDIA_TEGRA30_USB,      /* Tegra30 USB port */
-       COMPAT_NVIDIA_TEGRA114_USB,     /* Tegra114 USB port */
        COMPAT_NVIDIA_TEGRA20_EMC,      /* Tegra20 memory controller */
        COMPAT_NVIDIA_TEGRA20_EMC_TABLE, /* Tegra20 memory timing table */
        COMPAT_NVIDIA_TEGRA20_KBC,      /* Tegra20 Keyboard */
index ddfebc4..9300d97 100644 (file)
@@ -284,6 +284,12 @@ void i2c_init(int speed, int slaveaddr);
  */
 void board_i2c_init(const void *blob);
 
+/*
+ * Compatibility functions for driver model.
+ */
+uint8_t i2c_reg_read(uint8_t addr, uint8_t reg);
+void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val);
+
 #endif
 
 /*
index 0607379..4e62067 100644 (file)
@@ -33,7 +33,7 @@
 
 #if !defined(CONFIG_SYS_NS16550_REG_SIZE) || (CONFIG_SYS_NS16550_REG_SIZE == 0)
 #error "Please define NS16550 registers size."
-#elif defined(CONFIG_SYS_NS16550_MEM32)
+#elif defined(CONFIG_SYS_NS16550_MEM32) && !defined(CONFIG_DM_SERIAL)
 #define UART_REG(x) u32 x
 #elif (CONFIG_SYS_NS16550_REG_SIZE > 0)
 #define UART_REG(x)                                               \
index b2e5bf7..d19940f 100644 (file)
@@ -11,6 +11,8 @@
 #include <linux/compiler.h>
 #include <asm/spl.h>
 
+/* Value in r0 indicates we booted from U-Boot */
+#define UBOOT_NOT_LOADED_FROM_SPL      0x13578642
 
 /* Boot type */
 #define MMCSD_MODE_UNDEFINED   0
@@ -82,4 +84,15 @@ int spl_load_image_ext_os(block_dev_desc_t *block_dev, int partition);
 #ifdef CONFIG_SPL_BOARD_INIT
 void spl_board_init(void);
 #endif
+
+/**
+ * spl_was_boot_source() - check if U-Boot booted from SPL
+ *
+ * This will normally be true, but if U-Boot jumps to second U-Boot, it will
+ * be false. This should be implemented by board-specific code.
+ *
+ * @return true if U-Boot booted from SPL, else false
+ */
+bool spl_was_boot_source(void);
+
 #endif
index 3c8de86..7ec8c98 100644 (file)
@@ -45,7 +45,9 @@ config REGEX
          "setexpr".
 
 config LIB_RAND
-       bool
+       bool "Pseudo-random library support "
+       help
+         This library provides pseudo-random number generator functions.
 
 source lib/rsa/Kconfig
 
index 46dfcb6..9877849 100644 (file)
@@ -22,9 +22,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #define COMPAT(id, name) name
 static const char * const compat_names[COMPAT_COUNT] = {
        COMPAT(UNKNOWN, "<none>"),
-       COMPAT(NVIDIA_TEGRA20_USB, "nvidia,tegra20-ehci"),
-       COMPAT(NVIDIA_TEGRA30_USB, "nvidia,tegra30-ehci"),
-       COMPAT(NVIDIA_TEGRA114_USB, "nvidia,tegra114-ehci"),
        COMPAT(NVIDIA_TEGRA20_EMC, "nvidia,tegra20-emc"),
        COMPAT(NVIDIA_TEGRA20_EMC_TABLE, "nvidia,tegra20-emc-table"),
        COMPAT(NVIDIA_TEGRA20_KBC, "nvidia,tegra20-kbc"),
index 343c3fc..4f05652 100644 (file)
@@ -3,7 +3,9 @@
 # TODO: Invent a better way
 
 ifdef CONFIG_SPL_BUILD
+ifdef CONFIG_SPL_DISABLE_OF_CONTROL
 CONFIG_OF_CONTROL=
+endif
 
 ifndef CONFIG_SPL_DM
 CONFIG_DM_SERIAL=