diff options
Diffstat (limited to 'arch/arm/boards')
144 files changed, 476 insertions, 17 deletions
diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile index 23a8dbd7d0..da6ea0d1cc 100644 --- a/arch/arm/boards/Makefile +++ b/arch/arm/boards/Makefile @@ -137,4 +137,5 @@ obj-$(CONFIG_MACH_VIRT2REAL) += virt2real/ obj-$(CONFIG_MACH_ZEDBOARD) += avnet-zedboard/ obj-$(CONFIG_MACH_ZYLONITE) += zylonite/ obj-$(CONFIG_MACH_VARISCITE_MX6) += variscite-mx6/ +obj-$(CONFIG_MACH_VSCOM_BALTOS) += vscom-baltos/ obj-$(CONFIG_MACH_QEMU_VIRT64) += qemu-virt64/ diff --git a/arch/arm/boards/animeo_ip/Makefile b/arch/arm/boards/animeo_ip/Makefile index eb072c0161..510b142ff3 100644 --- a/arch/arm/boards/animeo_ip/Makefile +++ b/arch/arm/boards/animeo_ip/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-animeo_ip diff --git a/arch/arm/boards/animeo_ip/env/config b/arch/arm/boards/animeo_ip/defaultenv-animeo_ip/config index 7526fcfc79..7526fcfc79 100644 --- a/arch/arm/boards/animeo_ip/env/config +++ b/arch/arm/boards/animeo_ip/defaultenv-animeo_ip/config diff --git a/arch/arm/boards/animeo_ip/init.c b/arch/arm/boards/animeo_ip/init.c index 14b33dc691..847417398a 100644 --- a/arch/arm/boards/animeo_ip/init.c +++ b/arch/arm/boards/animeo_ip/init.c @@ -14,6 +14,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -321,6 +322,9 @@ static int animeo_ip_devices_init(void) animeo_ip_add_device_eth(); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_animeo_ip); + return 0; } diff --git a/arch/arm/boards/at91rm9200ek/Makefile b/arch/arm/boards/at91rm9200ek/Makefile index eb072c0161..dec1c50455 100644 --- a/arch/arm/boards/at91rm9200ek/Makefile +++ b/arch/arm/boards/at91rm9200ek/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91rm9200ek diff --git a/arch/arm/boards/at91rm9200ek/env/bin/init_board b/arch/arm/boards/at91rm9200ek/defaultenv-at91rm9200ek/bin/init_board index 0d40eb41a5..0d40eb41a5 100644 --- a/arch/arm/boards/at91rm9200ek/env/bin/init_board +++ b/arch/arm/boards/at91rm9200ek/defaultenv-at91rm9200ek/bin/init_board diff --git a/arch/arm/boards/at91rm9200ek/env/config b/arch/arm/boards/at91rm9200ek/defaultenv-at91rm9200ek/config index 76c180bcac..76c180bcac 100644 --- a/arch/arm/boards/at91rm9200ek/env/config +++ b/arch/arm/boards/at91rm9200ek/defaultenv-at91rm9200ek/config diff --git a/arch/arm/boards/at91rm9200ek/init.c b/arch/arm/boards/at91rm9200ek/init.c index 43c8b1b055..7626786e07 100644 --- a/arch/arm/boards/at91rm9200ek/init.c +++ b/arch/arm/boards/at91rm9200ek/init.c @@ -25,6 +25,7 @@ #include <gpio.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <linux/sizes.h> #include <mach/hardware.h> #include <mach/at91_pmc.h> @@ -177,6 +178,9 @@ static int at91rm9200ek_devices_init(void) armlinux_set_architecture(MACH_TYPE_AT91RM9200EK); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91rm9200ek); + return 0; } device_initcall(at91rm9200ek_devices_init); diff --git a/arch/arm/boards/at91sam9260ek/Makefile b/arch/arm/boards/at91sam9260ek/Makefile index eb072c0161..6e07f189fa 100644 --- a/arch/arm/boards/at91sam9260ek/Makefile +++ b/arch/arm/boards/at91sam9260ek/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9260ek diff --git a/arch/arm/boards/at91sam9260ek/env/bin/init_board b/arch/arm/boards/at91sam9260ek/defaultenv-at91sam9260ek/bin/init_board index f1b476d54a..f1b476d54a 100644 --- a/arch/arm/boards/at91sam9260ek/env/bin/init_board +++ b/arch/arm/boards/at91sam9260ek/defaultenv-at91sam9260ek/bin/init_board diff --git a/arch/arm/boards/at91sam9260ek/env/config b/arch/arm/boards/at91sam9260ek/defaultenv-at91sam9260ek/config index 8e88186217..8e88186217 100644 --- a/arch/arm/boards/at91sam9260ek/env/config +++ b/arch/arm/boards/at91sam9260ek/defaultenv-at91sam9260ek/config diff --git a/arch/arm/boards/at91sam9260ek/init.c b/arch/arm/boards/at91sam9260ek/init.c index 422feb2098..5a21ac12fe 100644 --- a/arch/arm/boards/at91sam9260ek/init.c +++ b/arch/arm/boards/at91sam9260ek/init.c @@ -14,6 +14,7 @@ #include <common.h> #include <init.h> +#include <envfs.h> #include <environment.h> #include <asm/armlinux.h> #include <generated/mach-types.h> @@ -261,6 +262,9 @@ static int at91sam9260ek_devices_init(void) devfs_add_partition("nand0", SZ_512K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1"); dev_add_bb_dev("env_raw1", "env1"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91sam9260ek); + return 0; } device_initcall(at91sam9260ek_devices_init); diff --git a/arch/arm/boards/at91sam9261ek/Makefile b/arch/arm/boards/at91sam9261ek/Makefile index 1398c26a0f..1764da93f2 100644 --- a/arch/arm/boards/at91sam9261ek/Makefile +++ b/arch/arm/boards/at91sam9261ek/Makefile @@ -1,3 +1,4 @@ obj-y += init.o lwl-$(CONFIG_HAVE_AT91_LOWLEVEL_INIT) += lowlevel_init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9261ek diff --git a/arch/arm/boards/at91sam9261ek/env/bin/init_board b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/bin/init_board index 39a7f0826b..39a7f0826b 100644 --- a/arch/arm/boards/at91sam9261ek/env/bin/init_board +++ b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/bin/init_board diff --git a/arch/arm/boards/at91sam9261ek/env/config b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config index cb3e847f54..cb3e847f54 100644 --- a/arch/arm/boards/at91sam9261ek/env/config +++ b/arch/arm/boards/at91sam9261ek/defaultenv-at91sam9261ek/config diff --git a/arch/arm/boards/at91sam9261ek/init.c b/arch/arm/boards/at91sam9261ek/init.c index b9e4914376..72716b8186 100644 --- a/arch/arm/boards/at91sam9261ek/init.c +++ b/arch/arm/boards/at91sam9261ek/init.c @@ -17,6 +17,7 @@ #include <common.h> #include <net.h> #include <init.h> +#include <envfs.h> #include <environment.h> #include <asm/armlinux.h> #include <generated/mach-types.h> @@ -396,6 +397,9 @@ static int at91sam9261ek_devices_init(void) else armlinux_set_architecture(MACH_TYPE_AT91SAM9261EK); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91sam9261ek); + return 0; } diff --git a/arch/arm/boards/at91sam9263ek/Makefile b/arch/arm/boards/at91sam9263ek/Makefile index 1398c26a0f..2072cd4164 100644 --- a/arch/arm/boards/at91sam9263ek/Makefile +++ b/arch/arm/boards/at91sam9263ek/Makefile @@ -1,3 +1,4 @@ obj-y += init.o lwl-$(CONFIG_HAVE_AT91_LOWLEVEL_INIT) += lowlevel_init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9263ek diff --git a/arch/arm/boards/at91sam9263ek/env/bin/init_board b/arch/arm/boards/at91sam9263ek/defaultenv-at91sam9263ek/bin/init_board index 44972a50ec..44972a50ec 100644 --- a/arch/arm/boards/at91sam9263ek/env/bin/init_board +++ b/arch/arm/boards/at91sam9263ek/defaultenv-at91sam9263ek/bin/init_board diff --git a/arch/arm/boards/at91sam9263ek/env/config b/arch/arm/boards/at91sam9263ek/defaultenv-at91sam9263ek/config index 5125020a73..5125020a73 100644 --- a/arch/arm/boards/at91sam9263ek/env/config +++ b/arch/arm/boards/at91sam9263ek/defaultenv-at91sam9263ek/config diff --git a/arch/arm/boards/at91sam9263ek/init.c b/arch/arm/boards/at91sam9263ek/init.c index 3bb2ddafa3..682449b7be 100644 --- a/arch/arm/boards/at91sam9263ek/init.c +++ b/arch/arm/boards/at91sam9263ek/init.c @@ -19,6 +19,7 @@ #include <common.h> #include <net.h> #include <init.h> +#include <envfs.h> #include <environment.h> #include <asm/armlinux.h> #include <generated/mach-types.h> @@ -273,6 +274,9 @@ static int at91sam9263ek_devices_init(void) armlinux_set_architecture(MACH_TYPE_AT91SAM9263EK); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91sam9263ek); + return 0; } diff --git a/arch/arm/boards/at91sam9m10g45ek/Makefile b/arch/arm/boards/at91sam9m10g45ek/Makefile index eb072c0161..dd8052157e 100644 --- a/arch/arm/boards/at91sam9m10g45ek/Makefile +++ b/arch/arm/boards/at91sam9m10g45ek/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9m10g45ek diff --git a/arch/arm/boards/at91sam9m10g45ek/env/bin/boot_board b/arch/arm/boards/at91sam9m10g45ek/defaultenv-at91sam9m10g45ek/bin/boot_board index 73daecc001..73daecc001 100644 --- a/arch/arm/boards/at91sam9m10g45ek/env/bin/boot_board +++ b/arch/arm/boards/at91sam9m10g45ek/defaultenv-at91sam9m10g45ek/bin/boot_board diff --git a/arch/arm/boards/at91sam9m10g45ek/env/bin/menu_boot b/arch/arm/boards/at91sam9m10g45ek/defaultenv-at91sam9m10g45ek/bin/menu_boot index d0b1396de9..d0b1396de9 100644 --- a/arch/arm/boards/at91sam9m10g45ek/env/bin/menu_boot +++ b/arch/arm/boards/at91sam9m10g45ek/defaultenv-at91sam9m10g45ek/bin/menu_boot diff --git a/arch/arm/boards/at91sam9m10g45ek/env/config b/arch/arm/boards/at91sam9m10g45ek/defaultenv-at91sam9m10g45ek/config index 54ed2cb9df..54ed2cb9df 100644 --- a/arch/arm/boards/at91sam9m10g45ek/env/config +++ b/arch/arm/boards/at91sam9m10g45ek/defaultenv-at91sam9m10g45ek/config diff --git a/arch/arm/boards/at91sam9m10g45ek/init.c b/arch/arm/boards/at91sam9m10g45ek/init.c index fb444d820d..ee692630bf 100644 --- a/arch/arm/boards/at91sam9m10g45ek/init.c +++ b/arch/arm/boards/at91sam9m10g45ek/init.c @@ -21,6 +21,7 @@ #include <mci.h> #include <init.h> #include <gpio.h> +#include <envfs.h> #include <environment.h> #include <asm/armlinux.h> #include <generated/mach-types.h> @@ -321,6 +322,9 @@ static int at91sam9m10g45ek_devices_init(void) armlinux_set_architecture(MACH_TYPE_AT91SAM9M10G45EK); ek_set_board_revision(); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91sam9m10g45ek); + return 0; } device_initcall(at91sam9m10g45ek_devices_init); diff --git a/arch/arm/boards/at91sam9m10ihd/env/boot/android b/arch/arm/boards/at91sam9m10ihd/env/boot/android index 8492e41f7f..ce5aa32353 100644 --- a/arch/arm/boards/at91sam9m10ihd/env/boot/android +++ b/arch/arm/boards/at91sam9m10ihd/env/boot/android @@ -3,4 +3,4 @@ global.bootm.image="/dev/nand0.kernel.bb" global.linux.bootargs.dyn.root="root=/dev/mtdblock1 rootfstype=jffs2 rw init=/init rootdelay=1" # clean the mtdparts otherwise android does not boot -global -r linux.mtdparts. +global -r "linux.mtdparts.*" diff --git a/arch/arm/boards/at91sam9n12ek/Makefile b/arch/arm/boards/at91sam9n12ek/Makefile index eb072c0161..f5d125a0e7 100644 --- a/arch/arm/boards/at91sam9n12ek/Makefile +++ b/arch/arm/boards/at91sam9n12ek/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9n12ek diff --git a/arch/arm/boards/at91sam9n12ek/env/bin/init_board b/arch/arm/boards/at91sam9n12ek/defaultenv-at91sam9n12ek/bin/init_board index 4931342a0b..4931342a0b 100644 --- a/arch/arm/boards/at91sam9n12ek/env/bin/init_board +++ b/arch/arm/boards/at91sam9n12ek/defaultenv-at91sam9n12ek/bin/init_board diff --git a/arch/arm/boards/at91sam9n12ek/env/config b/arch/arm/boards/at91sam9n12ek/defaultenv-at91sam9n12ek/config index f5cd1cc0f7..f5cd1cc0f7 100644 --- a/arch/arm/boards/at91sam9n12ek/env/config +++ b/arch/arm/boards/at91sam9n12ek/defaultenv-at91sam9n12ek/config diff --git a/arch/arm/boards/at91sam9n12ek/init.c b/arch/arm/boards/at91sam9n12ek/init.c index 2ed58c1995..b9431b2ee1 100644 --- a/arch/arm/boards/at91sam9n12ek/init.c +++ b/arch/arm/boards/at91sam9n12ek/init.c @@ -24,6 +24,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -327,6 +328,9 @@ static int at91sam9n12ek_devices_init(void) devfs_add_partition("nand0", SZ_512K + SZ_256K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1"); dev_add_bb_dev("env_raw1", "env1"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91sam9n12ek); + return 0; } device_initcall(at91sam9n12ek_devices_init); diff --git a/arch/arm/boards/at91sam9x5ek/Makefile b/arch/arm/boards/at91sam9x5ek/Makefile index f2acf201b4..559df8f7b9 100644 --- a/arch/arm/boards/at91sam9x5ek/Makefile +++ b/arch/arm/boards/at91sam9x5ek/Makefile @@ -1,2 +1,3 @@ obj-y += init.o obj-y += hw_version.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-at91sam9x5ek diff --git a/arch/arm/boards/at91sam9x5ek/env/bin/init_board b/arch/arm/boards/at91sam9x5ek/defaultenv-at91sam9x5ek/bin/init_board index f3d417e356..f3d417e356 100644 --- a/arch/arm/boards/at91sam9x5ek/env/bin/init_board +++ b/arch/arm/boards/at91sam9x5ek/defaultenv-at91sam9x5ek/bin/init_board diff --git a/arch/arm/boards/at91sam9x5ek/env/config b/arch/arm/boards/at91sam9x5ek/defaultenv-at91sam9x5ek/config index b8cf4e3f30..b8cf4e3f30 100644 --- a/arch/arm/boards/at91sam9x5ek/env/config +++ b/arch/arm/boards/at91sam9x5ek/defaultenv-at91sam9x5ek/config diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c index 1ef35803f7..9fe117c2d8 100644 --- a/arch/arm/boards/at91sam9x5ek/init.c +++ b/arch/arm/boards/at91sam9x5ek/init.c @@ -24,6 +24,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -320,6 +321,9 @@ static int at91sam9x5ek_devices_init(void) devfs_add_partition("nand0", SZ_512K + SZ_256K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1"); dev_add_bb_dev("env_raw1", "env1"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_at91sam9x5ek); + return 0; } device_initcall(at91sam9x5ek_devices_init); diff --git a/arch/arm/boards/eukrea_cpuimx25/Makefile b/arch/arm/boards/eukrea_cpuimx25/Makefile index 4f084760c0..159701d37a 100644 --- a/arch/arm/boards/eukrea_cpuimx25/Makefile +++ b/arch/arm/boards/eukrea_cpuimx25/Makefile @@ -18,3 +18,4 @@ obj-y += eukrea_cpuimx25.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-eukrea_cpuimx25 diff --git a/arch/arm/boards/eukrea_cpuimx25/env/bin/init_board b/arch/arm/boards/eukrea_cpuimx25/defaultenv-eukrea_cpuimx25/bin/init_board index 8f4151c357..8f4151c357 100644 --- a/arch/arm/boards/eukrea_cpuimx25/env/bin/init_board +++ b/arch/arm/boards/eukrea_cpuimx25/defaultenv-eukrea_cpuimx25/bin/init_board diff --git a/arch/arm/boards/eukrea_cpuimx25/env/config b/arch/arm/boards/eukrea_cpuimx25/defaultenv-eukrea_cpuimx25/config index da19677574..da19677574 100644 --- a/arch/arm/boards/eukrea_cpuimx25/env/config +++ b/arch/arm/boards/eukrea_cpuimx25/defaultenv-eukrea_cpuimx25/config diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c index 90451911e4..25bf40ce79 100644 --- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c +++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c @@ -30,6 +30,7 @@ #include <io.h> #include <asm/mmu.h> #include <led.h> +#include <envfs.h> #include <partition.h> #include <generated/mach-types.h> @@ -216,6 +217,9 @@ static int eukrea_cpuimx25_devices_init(void) armlinux_set_architecture(MACH_TYPE_EUKREA_CPUIMX25SD); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_eukrea_cpuimx25); + return 0; } diff --git a/arch/arm/boards/eukrea_cpuimx35/Makefile b/arch/arm/boards/eukrea_cpuimx35/Makefile index 060f3b107a..3ef2c4e5f5 100644 --- a/arch/arm/boards/eukrea_cpuimx35/Makefile +++ b/arch/arm/boards/eukrea_cpuimx35/Makefile @@ -18,3 +18,4 @@ obj-y += eukrea_cpuimx35.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-eukrea_cpuimx35 diff --git a/arch/arm/boards/eukrea_cpuimx35/env/bin/init_board b/arch/arm/boards/eukrea_cpuimx35/defaultenv-eukrea_cpuimx35/bin/init_board index 2a07a8425a..2a07a8425a 100644 --- a/arch/arm/boards/eukrea_cpuimx35/env/bin/init_board +++ b/arch/arm/boards/eukrea_cpuimx35/defaultenv-eukrea_cpuimx35/bin/init_board diff --git a/arch/arm/boards/eukrea_cpuimx35/env/config b/arch/arm/boards/eukrea_cpuimx35/defaultenv-eukrea_cpuimx35/config index 05c4391d35..05c4391d35 100644 --- a/arch/arm/boards/eukrea_cpuimx35/env/config +++ b/arch/arm/boards/eukrea_cpuimx35/defaultenv-eukrea_cpuimx35/config diff --git a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c index 04ef9b2e00..a10763780e 100644 --- a/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c +++ b/arch/arm/boards/eukrea_cpuimx35/eukrea_cpuimx35.c @@ -34,6 +34,7 @@ #include <net.h> #include <partition.h> #include <gpio.h> +#include <envfs.h> #include <asm/armlinux.h> #include <io.h> @@ -212,6 +213,9 @@ static int eukrea_cpuimx35_devices_init(void) #endif armlinux_set_architecture(MACH_TYPE_EUKREA_CPUIMX35SD); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_eukrea_cpuimx35); + return 0; } diff --git a/arch/arm/boards/eukrea_cpuimx51/Makefile b/arch/arm/boards/eukrea_cpuimx51/Makefile index 96e26d03ef..e8c84fe17d 100644 --- a/arch/arm/boards/eukrea_cpuimx51/Makefile +++ b/arch/arm/boards/eukrea_cpuimx51/Makefile @@ -1,2 +1,3 @@ obj-y += eukrea_cpuimx51.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-eukrea_cpuimx51 diff --git a/arch/arm/boards/eukrea_cpuimx51/env/bin/init_board b/arch/arm/boards/eukrea_cpuimx51/defaultenv-eukrea_cpuimx51/bin/init_board index 0af65822f1..0af65822f1 100644 --- a/arch/arm/boards/eukrea_cpuimx51/env/bin/init_board +++ b/arch/arm/boards/eukrea_cpuimx51/defaultenv-eukrea_cpuimx51/bin/init_board diff --git a/arch/arm/boards/eukrea_cpuimx51/env/config b/arch/arm/boards/eukrea_cpuimx51/defaultenv-eukrea_cpuimx51/config index 57abc1ee3d..57abc1ee3d 100644 --- a/arch/arm/boards/eukrea_cpuimx51/env/config +++ b/arch/arm/boards/eukrea_cpuimx51/defaultenv-eukrea_cpuimx51/config diff --git a/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c b/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c index fc57f6c157..bb493d7c64 100644 --- a/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c +++ b/arch/arm/boards/eukrea_cpuimx51/eukrea_cpuimx51.c @@ -26,6 +26,7 @@ #include <generated/mach-types.h> #include <partition.h> #include <fs.h> +#include <envfs.h> #include <fcntl.h> #include <nand.h> #include <spi/spi.h> @@ -122,6 +123,9 @@ static int eukrea_cpuimx51_devices_init(void) armlinux_set_architecture(MACH_TYPE_EUKREA_CPUIMX51SD); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_eukrea_cpuimx51); + return 0; } diff --git a/arch/arm/boards/freescale-mx25-3ds/3stack.c b/arch/arm/boards/freescale-mx25-3ds/3stack.c index 36ad591cc0..3ab8c4ad52 100644 --- a/arch/arm/boards/freescale-mx25-3ds/3stack.c +++ b/arch/arm/boards/freescale-mx25-3ds/3stack.c @@ -27,6 +27,7 @@ #include <asm/sections.h> #include <asm/barebox-arm.h> #include <io.h> +#include <envfs.h> #include <partition.h> #include <generated/mach-types.h> #include <mach/imx-nand.h> @@ -156,6 +157,9 @@ static int imx25_3ds_devices_init(void) armlinux_set_architecture(MACH_TYPE_MX25_3DS); armlinux_set_serial(imx_uid()); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_freescale_mx25_3ds); + return 0; } diff --git a/arch/arm/boards/freescale-mx25-3ds/Makefile b/arch/arm/boards/freescale-mx25-3ds/Makefile index 52c416e3a5..20787efc94 100644 --- a/arch/arm/boards/freescale-mx25-3ds/Makefile +++ b/arch/arm/boards/freescale-mx25-3ds/Makefile @@ -18,3 +18,4 @@ lwl-y += lowlevel_init.o obj-y += 3stack.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-freescale-mx25-3ds diff --git a/arch/arm/boards/freescale-mx25-3ds/env/bin/_update b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/_update index 014bce3512..014bce3512 100644 --- a/arch/arm/boards/freescale-mx25-3ds/env/bin/_update +++ b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/_update diff --git a/arch/arm/boards/freescale-mx25-3ds/env/bin/boot b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/boot index 7bbff2d1f6..7bbff2d1f6 100644 --- a/arch/arm/boards/freescale-mx25-3ds/env/bin/boot +++ b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/boot diff --git a/arch/arm/boards/freescale-mx25-3ds/env/bin/init b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/init index 8eafa34dc8..8eafa34dc8 100644 --- a/arch/arm/boards/freescale-mx25-3ds/env/bin/init +++ b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/init diff --git a/arch/arm/boards/freescale-mx25-3ds/env/bin/update_kernel b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/update_kernel index 05c822d860..05c822d860 100644 --- a/arch/arm/boards/freescale-mx25-3ds/env/bin/update_kernel +++ b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/update_kernel diff --git a/arch/arm/boards/freescale-mx25-3ds/env/bin/update_root b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/update_root index eaf36ebcea..eaf36ebcea 100644 --- a/arch/arm/boards/freescale-mx25-3ds/env/bin/update_root +++ b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/bin/update_root diff --git a/arch/arm/boards/freescale-mx25-3ds/env/config b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/config index 8469935b20..8469935b20 100644 --- a/arch/arm/boards/freescale-mx25-3ds/env/config +++ b/arch/arm/boards/freescale-mx25-3ds/defaultenv-freescale-mx25-3ds/config diff --git a/arch/arm/boards/freescale-mx35-3ds/3stack.c b/arch/arm/boards/freescale-mx35-3ds/3stack.c index caeb3f75e8..97a9968706 100644 --- a/arch/arm/boards/freescale-mx35-3ds/3stack.c +++ b/arch/arm/boards/freescale-mx35-3ds/3stack.c @@ -30,6 +30,7 @@ #include <init.h> #include <nand.h> #include <net.h> +#include <envfs.h> #include <linux/sizes.h> #include <partition.h> #include <gpio.h> @@ -208,6 +209,9 @@ static int f3s_devices_init(void) armlinux_set_architecture(MACH_TYPE_MX35_3DS); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_freescale_mx35_3ds); + return 0; } diff --git a/arch/arm/boards/freescale-mx35-3ds/Makefile b/arch/arm/boards/freescale-mx35-3ds/Makefile index c0de068f2e..c192854f0b 100644 --- a/arch/arm/boards/freescale-mx35-3ds/Makefile +++ b/arch/arm/boards/freescale-mx35-3ds/Makefile @@ -1,2 +1,3 @@ obj-y += 3stack.o lwl-y += lowlevel_init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-freescale-mx35-3ds diff --git a/arch/arm/boards/freescale-mx35-3ds/env/config b/arch/arm/boards/freescale-mx35-3ds/defaultenv-freescale-mx35-3ds/config index af2fb6b2bc..af2fb6b2bc 100644 --- a/arch/arm/boards/freescale-mx35-3ds/env/config +++ b/arch/arm/boards/freescale-mx35-3ds/defaultenv-freescale-mx35-3ds/config diff --git a/arch/arm/boards/freescale-mx53-smd/Makefile b/arch/arm/boards/freescale-mx53-smd/Makefile index 01c7a259e9..98ed275396 100644 --- a/arch/arm/boards/freescale-mx53-smd/Makefile +++ b/arch/arm/boards/freescale-mx53-smd/Makefile @@ -1,2 +1,3 @@ obj-y += board.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-freescale-mx53-smd diff --git a/arch/arm/boards/freescale-mx53-smd/board.c b/arch/arm/boards/freescale-mx53-smd/board.c index 5dbeeb1e7e..2b58f49205 100644 --- a/arch/arm/boards/freescale-mx53-smd/board.c +++ b/arch/arm/boards/freescale-mx53-smd/board.c @@ -26,6 +26,7 @@ #include <linux/sizes.h> #include <gpio.h> #include <mci.h> +#include <envfs.h> #include <generated/mach-types.h> @@ -135,6 +136,9 @@ static int smd_devices_init(void) armlinux_set_architecture(MACH_TYPE_MX53_SMD); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_freescale_mx53_smd); + return 0; } device_initcall(smd_devices_init); diff --git a/arch/arm/boards/freescale-mx53-smd/env/config b/arch/arm/boards/freescale-mx53-smd/defaultenv-freescale-mx53-smd/config index 27d2663566..27d2663566 100644 --- a/arch/arm/boards/freescale-mx53-smd/env/config +++ b/arch/arm/boards/freescale-mx53-smd/defaultenv-freescale-mx53-smd/config diff --git a/arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c b/arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c index abfb77a157..3b51e016e6 100644 --- a/arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c +++ b/arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c @@ -3,29 +3,70 @@ #include <mach/generic.h> #include <asm/barebox-arm-head.h> #include <asm/barebox-arm.h> +#include <mach/imx6-regs.h> +#include <io.h> +#include <mach/debug_ll.h> +#include <mach/esdctl.h> +#include <asm/cache.h> extern char __dtb_imx6q_sabrelite_start[]; -ENTRY_FUNCTION(start_imx6q_sabrelite, r0, r1, r2) +static noinline void imx6q_sabrelite_start(void) { - void *fdt; + void __iomem *iomuxbase = IOMEM(MX6_IOMUXC_BASE_ADDR); + void __iomem *uart = IOMEM(MX6_UART2_BASE_ADDR); + + writel(0x4, iomuxbase + 0x0bc); + + imx6_ungate_all_peripherals(); + imx6_uart_setup(uart); + pbl_set_putc(imx_uart_putc, uart); + pr_debug("Freescale i.MX6q SabreLite\n"); + + imx6q_barebox_entry(__dtb_imx6q_sabrelite_start); +} + +ENTRY_FUNCTION(start_imx6q_sabrelite, r0, r1, r2) +{ imx6_cpu_lowlevel_init(); - fdt = __dtb_imx6q_sabrelite_start - get_runtime_offset(); + arm_early_mmu_cache_invalidate(); + + relocate_to_current_adr(); + setup_c(); + barrier(); - barebox_arm_entry(0x10000000, SZ_1G, fdt); + imx6q_sabrelite_start(); } extern char __dtb_imx6dl_sabrelite_start[]; -ENTRY_FUNCTION(start_imx6dl_sabrelite, r0, r1, r2) +static noinline void imx6dl_sabrelite_start(void) { - void *fdt; + void __iomem *iomuxbase = IOMEM(MX6_IOMUXC_BASE_ADDR); + void __iomem *uart = IOMEM(MX6_UART2_BASE_ADDR); + + writel(0x4, iomuxbase + 0x16c); + + imx6_ungate_all_peripherals(); + imx6_uart_setup(uart); + pbl_set_putc(imx_uart_putc, uart); + pr_debug("Freescale i.MX6q SabreLite\n"); + + imx6q_barebox_entry(__dtb_imx6q_sabrelite_start); +} + +ENTRY_FUNCTION(start_imx6dl_sabrelite, r0, r1, r2) +{ imx6_cpu_lowlevel_init(); - fdt = __dtb_imx6dl_sabrelite_start - get_runtime_offset(); + arm_early_mmu_cache_invalidate(); + + relocate_to_current_adr(); + setup_c(); + barrier(); - barebox_arm_entry(0x10000000, SZ_1G, fdt); + imx6dl_sabrelite_start(); } diff --git a/arch/arm/boards/friendlyarm-mini6410/Makefile b/arch/arm/boards/friendlyarm-mini6410/Makefile index 0710d3929a..c04150e97f 100644 --- a/arch/arm/boards/friendlyarm-mini6410/Makefile +++ b/arch/arm/boards/friendlyarm-mini6410/Makefile @@ -1,2 +1,3 @@ obj-y += mini6410.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-friendlyarm-mini6410 diff --git a/arch/arm/boards/friendlyarm-mini6410/env/config b/arch/arm/boards/friendlyarm-mini6410/defaultenv-friendlyarm-mini6410/config index 74beeff4fa..924d7b8cc7 100644 --- a/arch/arm/boards/friendlyarm-mini6410/env/config +++ b/arch/arm/boards/friendlyarm-mini6410/defaultenv-friendlyarm-mini6410/config @@ -24,13 +24,9 @@ rootfs_type=ubifs rootfsimage=root-${machine}.${rootfs_type} # The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo -kernelimage_type=zimage kernelimage=zImage-${machine} -#kernelimage_type=uimage #kernelimage=uImage-$machine -#kernelimage_type=raw #kernelimage=Image-$machine -#kernelimage_type=raw_lzo #kernelimage=Image-$machine.lzo if [ -n $user ]; then diff --git a/arch/arm/boards/friendlyarm-mini6410/mini6410.c b/arch/arm/boards/friendlyarm-mini6410/mini6410.c index a85b1bd920..90fb3f5c1e 100644 --- a/arch/arm/boards/friendlyarm-mini6410/mini6410.c +++ b/arch/arm/boards/friendlyarm-mini6410/mini6410.c @@ -16,6 +16,7 @@ #include <init.h> #include <platform_data/eth-dm9000.h> #include <gpio.h> +#include <envfs.h> #include <generated/mach-types.h> #include <asm/armlinux.h> #include <mach/s3c-iomap.h> @@ -285,6 +286,9 @@ static int mini6410_devices_init(void) armlinux_set_architecture(MACH_TYPE_MINI6410); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_friendlyarm_mini6410); + return 0; } diff --git a/arch/arm/boards/friendlyarm-tiny6410/Makefile b/arch/arm/boards/friendlyarm-tiny6410/Makefile index bf17eaa2ef..ba3f3360f8 100644 --- a/arch/arm/boards/friendlyarm-tiny6410/Makefile +++ b/arch/arm/boards/friendlyarm-tiny6410/Makefile @@ -1,3 +1,4 @@ obj-y += tiny6410.o lwl-y += lowlevel.o lwl-$(CONFIG_MACH_TINY6410_FA) += development-board.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-friendlyarm-tiny6410 diff --git a/arch/arm/boards/friendlyarm-tiny6410/env/config b/arch/arm/boards/friendlyarm-tiny6410/defaultenv-friendlyarm-tiny6410/config index 6422e9f6a6..f38535be48 100644 --- a/arch/arm/boards/friendlyarm-tiny6410/env/config +++ b/arch/arm/boards/friendlyarm-tiny6410/defaultenv-friendlyarm-tiny6410/config @@ -24,13 +24,9 @@ rootfs_type=ubifs rootfsimage=root-${machine}.${rootfs_type} # The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo -kernelimage_type=zimage kernelimage=zImage-${machine} -#kernelimage_type=uimage #kernelimage=uImage-$machine -#kernelimage_type=raw #kernelimage=Image-$machine -#kernelimage_type=raw_lzo #kernelimage=Image-$machine.lzo if [ -n $user ]; then diff --git a/arch/arm/boards/guf-cupid/Makefile b/arch/arm/boards/guf-cupid/Makefile index b33952c2b7..eaf2a4f407 100644 --- a/arch/arm/boards/guf-cupid/Makefile +++ b/arch/arm/boards/guf-cupid/Makefile @@ -18,3 +18,4 @@ lwl-y += lowlevel.o obj-y += board.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-guf-cupid diff --git a/arch/arm/boards/guf-cupid/board.c b/arch/arm/boards/guf-cupid/board.c index d1b285cfaf..a02cecf6c5 100644 --- a/arch/arm/boards/guf-cupid/board.c +++ b/arch/arm/boards/guf-cupid/board.c @@ -25,6 +25,7 @@ #include <driver.h> #include <environment.h> #include <fs.h> +#include <envfs.h> #include <mach/imx35-regs.h> #include <asm/armlinux.h> #include <io.h> @@ -128,6 +129,9 @@ static int cupid_devices_init(void) armlinux_set_architecture(MACH_TYPE_GUF_CUPID); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_guf_cupid); + return 0; } diff --git a/arch/arm/boards/guf-cupid/env/config b/arch/arm/boards/guf-cupid/defaultenv-guf-cupid/config index dc289b39f2..dc289b39f2 100644 --- a/arch/arm/boards/guf-cupid/env/config +++ b/arch/arm/boards/guf-cupid/defaultenv-guf-cupid/config diff --git a/arch/arm/boards/guf-neso/Makefile b/arch/arm/boards/guf-neso/Makefile index 81263ccab0..af90c36c7e 100644 --- a/arch/arm/boards/guf-neso/Makefile +++ b/arch/arm/boards/guf-neso/Makefile @@ -1,3 +1,4 @@ lwl-y += lowlevel.o obj-y += board.o obj-y += pll_init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-guf-neso diff --git a/arch/arm/boards/guf-neso/board.c b/arch/arm/boards/guf-neso/board.c index 176d77e7b3..e1cd9098e0 100644 --- a/arch/arm/boards/guf-neso/board.c +++ b/arch/arm/boards/guf-neso/board.c @@ -23,6 +23,7 @@ #include <partition.h> #include <gpio.h> #include <fs.h> +#include <envfs.h> #include <fcntl.h> #include <nand.h> #include <command.h> @@ -282,6 +283,9 @@ static int neso_devices_init(void) armlinux_set_architecture(MACH_TYPE_NESO); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_guf_neso); + return 0; } diff --git a/arch/arm/boards/guf-neso/env/config b/arch/arm/boards/guf-neso/defaultenv-guf-neso/config index bd44a555d9..bd44a555d9 100644 --- a/arch/arm/boards/guf-neso/env/config +++ b/arch/arm/boards/guf-neso/defaultenv-guf-neso/config diff --git a/arch/arm/boards/haba-knx/Makefile b/arch/arm/boards/haba-knx/Makefile index eb072c0161..d9db6aba62 100644 --- a/arch/arm/boards/haba-knx/Makefile +++ b/arch/arm/boards/haba-knx/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-haba-knx diff --git a/arch/arm/boards/haba-knx/env/bin/init_board b/arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board index 0a6baf722b..0a6baf722b 100644 --- a/arch/arm/boards/haba-knx/env/bin/init_board +++ b/arch/arm/boards/haba-knx/defaultenv-haba-knx/bin/init_board diff --git a/arch/arm/boards/haba-knx/env/config b/arch/arm/boards/haba-knx/defaultenv-haba-knx/config index d1dca105ad..d1dca105ad 100644 --- a/arch/arm/boards/haba-knx/env/config +++ b/arch/arm/boards/haba-knx/defaultenv-haba-knx/config diff --git a/arch/arm/boards/haba-knx/init.c b/arch/arm/boards/haba-knx/init.c index f9d8f0f903..36f1e8b741 100644 --- a/arch/arm/boards/haba-knx/init.c +++ b/arch/arm/boards/haba-knx/init.c @@ -25,6 +25,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -323,6 +324,9 @@ static int haba_knx_devices_init(void) devfs_create_partitions("nand0", haba_knx_nand0_partitions); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_haba_knx); + return 0; } device_initcall(haba_knx_devices_init); diff --git a/arch/arm/boards/highbank/Makefile b/arch/arm/boards/highbank/Makefile index e11fd5b692..e5e4536cd1 100644 --- a/arch/arm/boards/highbank/Makefile +++ b/arch/arm/boards/highbank/Makefile @@ -1,3 +1,4 @@ obj-y += init.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-highbank diff --git a/arch/arm/boards/highbank/env/boot.d/010-ahci-boot b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/010-ahci-boot index 3672f0495e..3672f0495e 120000 --- a/arch/arm/boards/highbank/env/boot.d/010-ahci-boot +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/010-ahci-boot diff --git a/arch/arm/boards/highbank/env/boot.d/011-ahci b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/011-ahci index 36b3b2815b..36b3b2815b 120000 --- a/arch/arm/boards/highbank/env/boot.d/011-ahci +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/011-ahci diff --git a/arch/arm/boards/highbank/env/boot.d/020-mmc-boot b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/020-mmc-boot index 85c19bbd66..85c19bbd66 120000 --- a/arch/arm/boards/highbank/env/boot.d/020-mmc-boot +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/020-mmc-boot diff --git a/arch/arm/boards/highbank/env/boot.d/021-mmc b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/021-mmc index 5af95d0ac7..5af95d0ac7 120000 --- a/arch/arm/boards/highbank/env/boot.d/021-mmc +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/021-mmc diff --git a/arch/arm/boards/highbank/env/boot.d/030-net b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/030-net index 70b8ea3965..70b8ea3965 120000 --- a/arch/arm/boards/highbank/env/boot.d/030-net +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/030-net diff --git a/arch/arm/boards/highbank/env/boot.d/031-net-eth1 b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/031-net-eth1 index 5a30a308c7..5a30a308c7 120000 --- a/arch/arm/boards/highbank/env/boot.d/031-net-eth1 +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot.d/031-net-eth1 diff --git a/arch/arm/boards/highbank/env/boot/ahci b/arch/arm/boards/highbank/defaultenv-highbank/boot/ahci index 46a8c1b321..46a8c1b321 100644 --- a/arch/arm/boards/highbank/env/boot/ahci +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot/ahci diff --git a/arch/arm/boards/highbank/env/boot/ahci-boot b/arch/arm/boards/highbank/defaultenv-highbank/boot/ahci-boot index 919eac54a7..919eac54a7 100644 --- a/arch/arm/boards/highbank/env/boot/ahci-boot +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot/ahci-boot diff --git a/arch/arm/boards/highbank/env/boot/mmc b/arch/arm/boards/highbank/defaultenv-highbank/boot/mmc index 0fff5b4a81..0fff5b4a81 100644 --- a/arch/arm/boards/highbank/env/boot/mmc +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot/mmc diff --git a/arch/arm/boards/highbank/env/boot/mmc-boot b/arch/arm/boards/highbank/defaultenv-highbank/boot/mmc-boot index f3ae301e1b..f3ae301e1b 100644 --- a/arch/arm/boards/highbank/env/boot/mmc-boot +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot/mmc-boot diff --git a/arch/arm/boards/highbank/env/boot/net b/arch/arm/boards/highbank/defaultenv-highbank/boot/net index 6a700087fb..6a700087fb 100644 --- a/arch/arm/boards/highbank/env/boot/net +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot/net diff --git a/arch/arm/boards/highbank/env/boot/net-eth1 b/arch/arm/boards/highbank/defaultenv-highbank/boot/net-eth1 index 1c70bdf3f0..1c70bdf3f0 100644 --- a/arch/arm/boards/highbank/env/boot/net-eth1 +++ b/arch/arm/boards/highbank/defaultenv-highbank/boot/net-eth1 diff --git a/arch/arm/boards/highbank/env/data/oftree b/arch/arm/boards/highbank/defaultenv-highbank/data/oftree index 9a94b310c3..9a94b310c3 100644 --- a/arch/arm/boards/highbank/env/data/oftree +++ b/arch/arm/boards/highbank/defaultenv-highbank/data/oftree diff --git a/arch/arm/boards/highbank/env/init/001-dtb-probe b/arch/arm/boards/highbank/defaultenv-highbank/init/001-dtb-probe index 610db1500e..610db1500e 100644 --- a/arch/arm/boards/highbank/env/init/001-dtb-probe +++ b/arch/arm/boards/highbank/defaultenv-highbank/init/001-dtb-probe diff --git a/arch/arm/boards/highbank/env/init/automount b/arch/arm/boards/highbank/defaultenv-highbank/init/automount index eb5c07a739..eb5c07a739 100644 --- a/arch/arm/boards/highbank/env/init/automount +++ b/arch/arm/boards/highbank/defaultenv-highbank/init/automount diff --git a/arch/arm/boards/highbank/env/nv/boot.default b/arch/arm/boards/highbank/defaultenv-highbank/nv/boot.default index c47e1b2bca..c47e1b2bca 100644 --- a/arch/arm/boards/highbank/env/nv/boot.default +++ b/arch/arm/boards/highbank/defaultenv-highbank/nv/boot.default diff --git a/arch/arm/boards/highbank/env/nv/bootm.oftree b/arch/arm/boards/highbank/defaultenv-highbank/nv/bootm.oftree index c373173805..c373173805 100644 --- a/arch/arm/boards/highbank/env/nv/bootm.oftree +++ b/arch/arm/boards/highbank/defaultenv-highbank/nv/bootm.oftree diff --git a/arch/arm/boards/highbank/env/nv/linux.bootargs.console b/arch/arm/boards/highbank/defaultenv-highbank/nv/linux.bootargs.console index 826debe7c2..826debe7c2 100644 --- a/arch/arm/boards/highbank/env/nv/linux.bootargs.console +++ b/arch/arm/boards/highbank/defaultenv-highbank/nv/linux.bootargs.console diff --git a/arch/arm/boards/highbank/init.c b/arch/arm/boards/highbank/init.c index 295d4757f2..577ccc0b74 100644 --- a/arch/arm/boards/highbank/init.c +++ b/arch/arm/boards/highbank/init.c @@ -17,6 +17,7 @@ #include <linux/sizes.h> #include <io.h> #include <of.h> +#include <envfs.h> #define FIRMWARE_DTB_BASE 0x1000 @@ -126,6 +127,9 @@ static int highbank_devices_init(void) devfs_add_partition("nvram", 0x00000, SZ_16K, DEVFS_PARTITION_FIXED, "env0"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_highbank); + return 0; } device_initcall(highbank_devices_init); diff --git a/arch/arm/boards/nhk8815/Makefile b/arch/arm/boards/nhk8815/Makefile index f4298529a0..56f2013e22 100644 --- a/arch/arm/boards/nhk8815/Makefile +++ b/arch/arm/boards/nhk8815/Makefile @@ -1,2 +1,3 @@ obj-y += setup.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-nhk8815 diff --git a/arch/arm/boards/nhk8815/env/config b/arch/arm/boards/nhk8815/defaultenv-nhk8815/config index c05ed2704e..c05ed2704e 100644 --- a/arch/arm/boards/nhk8815/env/config +++ b/arch/arm/boards/nhk8815/defaultenv-nhk8815/config diff --git a/arch/arm/boards/nhk8815/setup.c b/arch/arm/boards/nhk8815/setup.c index aaf9cd7531..0b6901001a 100644 --- a/arch/arm/boards/nhk8815/setup.c +++ b/arch/arm/boards/nhk8815/setup.c @@ -23,6 +23,7 @@ #include <asm/armlinux.h> #include <generated/mach-types.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <mach/board.h> @@ -106,6 +107,9 @@ static int nhk8815_devices_init(void) devfs_add_partition("nand0", 0x7FE0000, 0x020000, DEVFS_PARTITION_FIXED, "env_raw"); dev_add_bb_dev("env_raw", "env0"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_nhk8815); + return 0; } device_initcall(nhk8815_devices_init); diff --git a/arch/arm/boards/phytec-phycard-omap4/Makefile b/arch/arm/boards/phytec-phycard-omap4/Makefile index 64782e0fc2..0fec0c7f53 100644 --- a/arch/arm/boards/phytec-phycard-omap4/Makefile +++ b/arch/arm/boards/phytec-phycard-omap4/Makefile @@ -15,3 +15,4 @@ # obj-y += pca-a-xl2.o lwl-y += mux.o lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-phytec-phycard-omap4 diff --git a/arch/arm/boards/phytec-phycard-omap4/env/bin/nand_bootstrap b/arch/arm/boards/phytec-phycard-omap4/defaultenv-phytec-phycard-omap4/bin/nand_bootstrap index f8873fabe2..f8873fabe2 100644 --- a/arch/arm/boards/phytec-phycard-omap4/env/bin/nand_bootstrap +++ b/arch/arm/boards/phytec-phycard-omap4/defaultenv-phytec-phycard-omap4/bin/nand_bootstrap diff --git a/arch/arm/boards/phytec-phycard-omap4/env/config b/arch/arm/boards/phytec-phycard-omap4/defaultenv-phytec-phycard-omap4/config index 998f9fa0f2..998f9fa0f2 100644 --- a/arch/arm/boards/phytec-phycard-omap4/env/config +++ b/arch/arm/boards/phytec-phycard-omap4/defaultenv-phytec-phycard-omap4/config diff --git a/arch/arm/boards/phytec-phycore-omap4460/Makefile b/arch/arm/boards/phytec-phycore-omap4460/Makefile index 5d4eb10b9b..5e78e11ec1 100644 --- a/arch/arm/boards/phytec-phycore-omap4460/Makefile +++ b/arch/arm/boards/phytec-phycore-omap4460/Makefile @@ -1,2 +1,3 @@ obj-y += board.o lwl-y += lowlevel.o mux.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-phytec-phycore-omap4460 diff --git a/arch/arm/boards/phytec-phycore-omap4460/board.c b/arch/arm/boards/phytec-phycore-omap4460/board.c index 807cdd677d..b7aeeca6df 100644 --- a/arch/arm/boards/phytec-phycore-omap4460/board.c +++ b/arch/arm/boards/phytec-phycore-omap4460/board.c @@ -20,6 +20,7 @@ #include <driver.h> #include <gpio.h> #include <io.h> +#include <envfs.h> #include <asm/armlinux.h> #include <generated/mach-types.h> #include <mach/omap4-silicon.h> @@ -307,6 +308,9 @@ static int pcm049_devices_init(void) if (IS_ENABLED(CONFIG_DRIVER_VIDEO_OMAP)) omap_add_display(&pcm049_fb_data); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_phytec_phycore_omap4460); + return 0; } device_initcall(pcm049_devices_init); diff --git a/arch/arm/boards/phytec-phycore-omap4460/env/bin/init_board b/arch/arm/boards/phytec-phycore-omap4460/defaultenv-phytec-phycore-omap4460/bin/init_board index d5142ee8d0..d5142ee8d0 100644 --- a/arch/arm/boards/phytec-phycore-omap4460/env/bin/init_board +++ b/arch/arm/boards/phytec-phycore-omap4460/defaultenv-phytec-phycore-omap4460/bin/init_board diff --git a/arch/arm/boards/phytec-phycore-omap4460/env/bin/nand_bootstrap b/arch/arm/boards/phytec-phycore-omap4460/defaultenv-phytec-phycore-omap4460/bin/nand_bootstrap index 49e38dc4f0..49e38dc4f0 100644 --- a/arch/arm/boards/phytec-phycore-omap4460/env/bin/nand_bootstrap +++ b/arch/arm/boards/phytec-phycore-omap4460/defaultenv-phytec-phycore-omap4460/bin/nand_bootstrap diff --git a/arch/arm/boards/phytec-phycore-omap4460/env/config b/arch/arm/boards/phytec-phycore-omap4460/defaultenv-phytec-phycore-omap4460/config index 1a252dd9c5..1a252dd9c5 100644 --- a/arch/arm/boards/phytec-phycore-omap4460/env/config +++ b/arch/arm/boards/phytec-phycore-omap4460/defaultenv-phytec-phycore-omap4460/config diff --git a/arch/arm/boards/pm9261/Makefile b/arch/arm/boards/pm9261/Makefile index 1398c26a0f..bff467b1dc 100644 --- a/arch/arm/boards/pm9261/Makefile +++ b/arch/arm/boards/pm9261/Makefile @@ -1,3 +1,4 @@ obj-y += init.o lwl-$(CONFIG_HAVE_AT91_LOWLEVEL_INIT) += lowlevel_init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-pm9261 diff --git a/arch/arm/boards/pm9261/env/config b/arch/arm/boards/pm9261/defaultenv-pm9261/config index bdc2d38d42..bdc2d38d42 100644 --- a/arch/arm/boards/pm9261/env/config +++ b/arch/arm/boards/pm9261/defaultenv-pm9261/config diff --git a/arch/arm/boards/pm9261/init.c b/arch/arm/boards/pm9261/init.c index 177355b633..b0377d063c 100644 --- a/arch/arm/boards/pm9261/init.c +++ b/arch/arm/boards/pm9261/init.c @@ -27,6 +27,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/mtd/nand.h> @@ -152,6 +153,9 @@ static int pm9261_devices_init(void) armlinux_set_architecture(MACH_TYPE_PM9261); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_pm9261); + return 0; } device_initcall(pm9261_devices_init); diff --git a/arch/arm/boards/pm9g45/Makefile b/arch/arm/boards/pm9g45/Makefile index eb072c0161..d81b1881b3 100644 --- a/arch/arm/boards/pm9g45/Makefile +++ b/arch/arm/boards/pm9g45/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-pm9g45 diff --git a/arch/arm/boards/pm9g45/env/config b/arch/arm/boards/pm9g45/defaultenv-pm9g45/config index 18ac565d49..18ac565d49 100644 --- a/arch/arm/boards/pm9g45/env/config +++ b/arch/arm/boards/pm9g45/defaultenv-pm9g45/config diff --git a/arch/arm/boards/pm9g45/init.c b/arch/arm/boards/pm9g45/init.c index 524fe5395a..efa5dc025d 100644 --- a/arch/arm/boards/pm9g45/init.c +++ b/arch/arm/boards/pm9g45/init.c @@ -27,6 +27,7 @@ #include <fcntl.h> #include <gpio.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/mtd/nand.h> @@ -164,6 +165,9 @@ static int pm9g45_devices_init(void) armlinux_set_architecture(MACH_TYPE_PM9G45); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_pm9g45); + return 0; } device_initcall(pm9g45_devices_init); diff --git a/arch/arm/boards/qemu-virt64/Makefile b/arch/arm/boards/qemu-virt64/Makefile index 2da0494d49..e354607548 100644 --- a/arch/arm/boards/qemu-virt64/Makefile +++ b/arch/arm/boards/qemu-virt64/Makefile @@ -1,2 +1,3 @@ obj-y += init.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-qemu-virt64 diff --git a/arch/arm/boards/qemu-virt64/env/config b/arch/arm/boards/qemu-virt64/defaultenv-qemu-virt64/config index 781dbfefa6..781dbfefa6 100644 --- a/arch/arm/boards/qemu-virt64/env/config +++ b/arch/arm/boards/qemu-virt64/defaultenv-qemu-virt64/config diff --git a/arch/arm/boards/qemu-virt64/init.c b/arch/arm/boards/qemu-virt64/init.c index 58dba0f68a..a85bd84db7 100644 --- a/arch/arm/boards/qemu-virt64/init.c +++ b/arch/arm/boards/qemu-virt64/init.c @@ -12,6 +12,7 @@ #include <environment.h> #include <linux/sizes.h> #include <io.h> +#include <envfs.h> #include <globalvar.h> #include <asm/mmu.h> @@ -30,6 +31,9 @@ static int virt_env_init(void) devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self0"); devfs_add_partition("nor0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_qemu_virt64); + return 0; } device_initcall(virt_env_init); diff --git a/arch/arm/boards/qil-a926x/Makefile b/arch/arm/boards/qil-a926x/Makefile index eb072c0161..0c7bc3f043 100644 --- a/arch/arm/boards/qil-a926x/Makefile +++ b/arch/arm/boards/qil-a926x/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-qil-a926x diff --git a/arch/arm/boards/qil-a926x/env/bin/init_board b/arch/arm/boards/qil-a926x/defaultenv-qil-a926x/bin/init_board index 09ba7cc981..09ba7cc981 100644 --- a/arch/arm/boards/qil-a926x/env/bin/init_board +++ b/arch/arm/boards/qil-a926x/defaultenv-qil-a926x/bin/init_board diff --git a/arch/arm/boards/qil-a926x/env/config b/arch/arm/boards/qil-a926x/defaultenv-qil-a926x/config index 793a73f11e..793a73f11e 100644 --- a/arch/arm/boards/qil-a926x/env/config +++ b/arch/arm/boards/qil-a926x/defaultenv-qil-a926x/config diff --git a/arch/arm/boards/qil-a926x/init.c b/arch/arm/boards/qil-a926x/init.c index 872743775f..3ef9872797 100644 --- a/arch/arm/boards/qil-a926x/init.c +++ b/arch/arm/boards/qil-a926x/init.c @@ -15,6 +15,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -215,6 +216,9 @@ static int qil_a9260_devices_init(void) devfs_add_partition("nand0", SZ_512K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1"); dev_add_bb_dev("env_raw1", "env1"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_qil_a926x); + return 0; } device_initcall(qil_a9260_devices_init); diff --git a/arch/arm/boards/sama5d3_xplained/Makefile b/arch/arm/boards/sama5d3_xplained/Makefile index eb072c0161..3c301cb0cd 100644 --- a/arch/arm/boards/sama5d3_xplained/Makefile +++ b/arch/arm/boards/sama5d3_xplained/Makefile @@ -1 +1,2 @@ obj-y += init.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-sama5d3_xplained diff --git a/arch/arm/boards/sama5d3_xplained/env/config b/arch/arm/boards/sama5d3_xplained/defaultenv-sama5d3_xplained/config index 5464f642c1..5464f642c1 100644 --- a/arch/arm/boards/sama5d3_xplained/env/config +++ b/arch/arm/boards/sama5d3_xplained/defaultenv-sama5d3_xplained/config diff --git a/arch/arm/boards/sama5d3_xplained/init.c b/arch/arm/boards/sama5d3_xplained/init.c index 373ab814d1..fda4c56c6c 100644 --- a/arch/arm/boards/sama5d3_xplained/init.c +++ b/arch/arm/boards/sama5d3_xplained/init.c @@ -22,6 +22,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -224,6 +225,9 @@ static int sama5d3_xplained_devices_init(void) devfs_create_partitions("nand0", sama5d3_xplained_nand0_partitions); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_sama5d3_xplained); + return 0; } device_initcall(sama5d3_xplained_devices_init); diff --git a/arch/arm/boards/sama5d3xek/Makefile b/arch/arm/boards/sama5d3xek/Makefile index db021eeb77..32dcb4283c 100644 --- a/arch/arm/boards/sama5d3xek/Makefile +++ b/arch/arm/boards/sama5d3xek/Makefile @@ -1,2 +1,3 @@ obj-y += init.o obj-$(CONFIG_W1) += hw_version.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-sama5d3xek diff --git a/arch/arm/boards/sama5d3xek/env/bin/init_board b/arch/arm/boards/sama5d3xek/defaultenv-sama5d3xek/bin/init_board index f3d417e356..f3d417e356 100644 --- a/arch/arm/boards/sama5d3xek/env/bin/init_board +++ b/arch/arm/boards/sama5d3xek/defaultenv-sama5d3xek/bin/init_board diff --git a/arch/arm/boards/sama5d3xek/env/config b/arch/arm/boards/sama5d3xek/defaultenv-sama5d3xek/config index a7fd930ed1..a7fd930ed1 100644 --- a/arch/arm/boards/sama5d3xek/env/config +++ b/arch/arm/boards/sama5d3xek/defaultenv-sama5d3xek/config diff --git a/arch/arm/boards/sama5d3xek/init.c b/arch/arm/boards/sama5d3xek/init.c index 7504bf83b0..b35bdb5b05 100644 --- a/arch/arm/boards/sama5d3xek/init.c +++ b/arch/arm/boards/sama5d3xek/init.c @@ -24,6 +24,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -463,6 +464,9 @@ static int at91sama5d3xek_devices_init(void) devfs_create_partitions("nand0", at91sama5d3xek_nand0_partitions); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_sama5d3xek); + return 0; } device_initcall(at91sama5d3xek_devices_init); diff --git a/arch/arm/boards/scb9328/Makefile b/arch/arm/boards/scb9328/Makefile index 002f218391..7ef6c3fe62 100644 --- a/arch/arm/boards/scb9328/Makefile +++ b/arch/arm/boards/scb9328/Makefile @@ -1,3 +1,4 @@ lwl-y += lowlevel_init.o obj-y += scb9328.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-scb9328 diff --git a/arch/arm/boards/scb9328/env/config b/arch/arm/boards/scb9328/defaultenv-scb9328/config index c3cbce57d4..c3cbce57d4 100644 --- a/arch/arm/boards/scb9328/env/config +++ b/arch/arm/boards/scb9328/defaultenv-scb9328/config diff --git a/arch/arm/boards/scb9328/scb9328.c b/arch/arm/boards/scb9328/scb9328.c index fda3b1432c..697ed4b401 100644 --- a/arch/arm/boards/scb9328/scb9328.c +++ b/arch/arm/boards/scb9328/scb9328.c @@ -25,6 +25,7 @@ #include <io.h> #include <partition.h> #include <fs.h> +#include <envfs.h> #include <fcntl.h> #include <platform_data/eth-dm9000.h> #include <led.h> @@ -79,6 +80,9 @@ static int scb9328_devices_init(void) armlinux_set_architecture(MACH_TYPE_SCB9328); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_scb9328); + return 0; } diff --git a/arch/arm/boards/tny-a926x/Makefile b/arch/arm/boards/tny-a926x/Makefile index 45b10ec63f..dba2f8cfcf 100644 --- a/arch/arm/boards/tny-a926x/Makefile +++ b/arch/arm/boards/tny-a926x/Makefile @@ -6,3 +6,4 @@ obj-$(CONFIG_AT91_BOOTSTRAP) += $(bootstrap-y) lowlevel_init-$(CONFIG_MACH_TNY_A9263) = tny_a9263_lowlevel_init.o lwl-$(CONFIG_HAVE_AT91_LOWLEVEL_INIT) += $(lowlevel_init-y) +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-tny-a926x diff --git a/arch/arm/boards/tny-a926x/env/bin/init_board b/arch/arm/boards/tny-a926x/defaultenv-tny-a926x/bin/init_board index 0d40eb41a5..0d40eb41a5 100644 --- a/arch/arm/boards/tny-a926x/env/bin/init_board +++ b/arch/arm/boards/tny-a926x/defaultenv-tny-a926x/bin/init_board diff --git a/arch/arm/boards/tny-a926x/env/config b/arch/arm/boards/tny-a926x/defaultenv-tny-a926x/config index c19ec4fd61..c19ec4fd61 100644 --- a/arch/arm/boards/tny-a926x/env/config +++ b/arch/arm/boards/tny-a926x/defaultenv-tny-a926x/config diff --git a/arch/arm/boards/tny-a926x/init.c b/arch/arm/boards/tny-a926x/init.c index 3ebd8aae02..3b83c9f222 100644 --- a/arch/arm/boards/tny-a926x/init.c +++ b/arch/arm/boards/tny-a926x/init.c @@ -24,6 +24,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -241,6 +242,9 @@ static int tny_a9260_devices_init(void) devfs_add_partition("nand0", SZ_512K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1"); dev_add_bb_dev("env_raw1", "env1"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_tny_a926x); + return 0; } device_initcall(tny_a9260_devices_init); diff --git a/arch/arm/boards/usb-a926x/Makefile b/arch/arm/boards/usb-a926x/Makefile index f1370a4df0..4f09581e33 100644 --- a/arch/arm/boards/usb-a926x/Makefile +++ b/arch/arm/boards/usb-a926x/Makefile @@ -6,3 +6,4 @@ obj-$(CONFIG_AT91_BOOTSTRAP) += $(bootstrap-y) lowlevel_init-$(CONFIG_MACH_USB_A9263) = usb_a9263_lowlevel_init.o lwl-$(CONFIG_HAVE_AT91_LOWLEVEL_INIT) += $(lowlevel_init-y) +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-usb-a926x diff --git a/arch/arm/boards/usb-a926x/env/bin/init_board b/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/bin/init_board index 09ba7cc981..09ba7cc981 100644 --- a/arch/arm/boards/usb-a926x/env/bin/init_board +++ b/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/bin/init_board diff --git a/arch/arm/boards/usb-a926x/env/config b/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config index 49199ba391..49199ba391 100644 --- a/arch/arm/boards/usb-a926x/env/config +++ b/arch/arm/boards/usb-a926x/defaultenv-usb-a926x/config diff --git a/arch/arm/boards/usb-a926x/init.c b/arch/arm/boards/usb-a926x/init.c index a9a0549adf..12e8f4e0d6 100644 --- a/arch/arm/boards/usb-a926x/init.c +++ b/arch/arm/boards/usb-a926x/init.c @@ -24,6 +24,7 @@ #include <fs.h> #include <fcntl.h> #include <io.h> +#include <envfs.h> #include <mach/hardware.h> #include <nand.h> #include <linux/sizes.h> @@ -416,6 +417,9 @@ static int usb_a9260_devices_init(void) devfs_add_partition("nand0", SZ_512K, SZ_128K, DEVFS_PARTITION_FIXED, "env_raw1"); dev_add_bb_dev("env_raw1", "env1"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_usb_a926x); + return 0; } device_initcall(usb_a9260_devices_init); diff --git a/arch/arm/boards/vexpress/Makefile b/arch/arm/boards/vexpress/Makefile index e11fd5b692..c89d7bf182 100644 --- a/arch/arm/boards/vexpress/Makefile +++ b/arch/arm/boards/vexpress/Makefile @@ -1,3 +1,4 @@ obj-y += init.o lwl-y += lowlevel.o +bbenv-$(CONFIG_DEFAULT_ENVIRONMENT_GENERIC) += defaultenv-vexpress diff --git a/arch/arm/boards/vexpress/env/config b/arch/arm/boards/vexpress/defaultenv-vexpress/config index 6c0abda40c..6c0abda40c 100644 --- a/arch/arm/boards/vexpress/env/config +++ b/arch/arm/boards/vexpress/defaultenv-vexpress/config diff --git a/arch/arm/boards/vexpress/init.c b/arch/arm/boards/vexpress/init.c index 5b2035bd36..f89dff9392 100644 --- a/arch/arm/boards/vexpress/init.c +++ b/arch/arm/boards/vexpress/init.c @@ -14,6 +14,7 @@ #include <partition.h> #include <linux/sizes.h> #include <io.h> +#include <envfs.h> #include <globalvar.h> #include <linux/amba/sp804.h> #include <mci.h> @@ -109,6 +110,9 @@ static int vexpress_devices_init(void) devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self"); devfs_add_partition("nor0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0"); + if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC)) + defaultenv_append_directory(defaultenv_vexpress); + return 0; } device_initcall(vexpress_devices_init); diff --git a/arch/arm/boards/vscom-baltos/Makefile b/arch/arm/boards/vscom-baltos/Makefile new file mode 100644 index 0000000000..092c31d6b2 --- /dev/null +++ b/arch/arm/boards/vscom-baltos/Makefile @@ -0,0 +1,2 @@ +lwl-y += lowlevel.o +obj-y += board.o diff --git a/arch/arm/boards/vscom-baltos/board.c b/arch/arm/boards/vscom-baltos/board.c new file mode 100644 index 0000000000..dc08ed5a20 --- /dev/null +++ b/arch/arm/boards/vscom-baltos/board.c @@ -0,0 +1,132 @@ +/* + * (C) Copyright 2008 + * Texas Instruments, <www.ti.com> + * Raghavendra KH <r-khandenahally@ti.com> + * + * Copyright (C) 2012 Jan Luebbe <j.luebbe@pengutronix.de> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/** + * @file + * @brief OnRISC Baltos Specific Board Initialization routines + */ + +#include <common.h> +#include <init.h> +#include <driver.h> +#include <envfs.h> +#include <environment.h> +#include <globalvar.h> +#include <linux/sizes.h> +#include <net.h> +#include <envfs.h> +#include <bootsource.h> +#include <asm/armlinux.h> +#include <generated/mach-types.h> +#include <mach/am33xx-generic.h> +#include <mach/am33xx-silicon.h> +#include <mach/sys_info.h> +#include <mach/syslib.h> +#include <mach/gpmc.h> +#include <linux/err.h> +#include <mach/bbu.h> +#include <libfile.h> + +static struct omap_barebox_part baltos_barebox_part = { + .nand_offset = SZ_512K, + .nand_size = 0x1e0000, +}; + +struct bsp_vs_hwparam { + uint32_t Magic; + uint32_t HwRev; + uint32_t SerialNumber; + char PrdDate[11]; + uint16_t SystemId; + uint8_t MAC1[6]; + uint8_t MAC2[6]; + uint8_t MAC3[6]; +} __attribute__ ((packed)); + +static int baltos_read_eeprom(void) +{ + struct bsp_vs_hwparam hw_param; + size_t size; + char *buf, var_buf[32]; + int rc; + unsigned char mac_addr[6]; + + rc = read_file_2("/dev/eeprom0", + &size, + (void *)&buf, + sizeof(hw_param)); + if (rc && rc != -EFBIG) + return rc; + + memcpy(&hw_param, buf, sizeof(hw_param)); + + free(buf); + + if (hw_param.Magic == 0xDEADBEEF) { + /* setup MAC1 */ + mac_addr[0] = hw_param.MAC1[0]; + mac_addr[1] = hw_param.MAC1[1]; + mac_addr[2] = hw_param.MAC1[2]; + mac_addr[3] = hw_param.MAC1[3]; + mac_addr[4] = hw_param.MAC1[4]; + mac_addr[5] = hw_param.MAC1[5]; + + eth_register_ethaddr(0, mac_addr); + + /* setup MAC2 */ + mac_addr[0] = hw_param.MAC2[0]; + mac_addr[1] = hw_param.MAC2[1]; + mac_addr[2] = hw_param.MAC2[2]; + mac_addr[3] = hw_param.MAC2[3]; + mac_addr[4] = hw_param.MAC2[4]; + mac_addr[5] = hw_param.MAC2[5]; + + eth_register_ethaddr(1, mac_addr); + } else { + printf("Baltos: incorrect magic number (0x%x) " + "in EEPROM\n", + hw_param.Magic); + + hw_param.SystemId = 0; + } + + sprintf(var_buf, "%d", hw_param.SystemId); + globalvar_add_simple("board.id", var_buf); + + return 0; +} +environment_initcall(baltos_read_eeprom); + +static int baltos_devices_init(void) +{ + if (!of_machine_is_compatible("vscom,onrisc")) + return 0; + + globalvar_add_simple("board.variant", "baltos"); + + if (bootsource_get() == BOOTSOURCE_MMC) + omap_set_bootmmc_devname("mmc0"); + + omap_set_barebox_part(&baltos_barebox_part); + + if (IS_ENABLED(CONFIG_SHELL_NONE)) + return am33xx_of_register_bootdevice(); + + return 0; +} +coredevice_initcall(baltos_devices_init); diff --git a/arch/arm/boards/vscom-baltos/lowlevel.c b/arch/arm/boards/vscom-baltos/lowlevel.c new file mode 100644 index 0000000000..8bce91a938 --- /dev/null +++ b/arch/arm/boards/vscom-baltos/lowlevel.c @@ -0,0 +1,134 @@ +#include <common.h> +#include <init.h> +#include <linux/sizes.h> +#include <io.h> +#include <linux/string.h> +#include <debug_ll.h> +#include <asm/barebox-arm-head.h> +#include <asm/barebox-arm.h> +#include <mach/am33xx-silicon.h> +#include <mach/am33xx-clock.h> +#include <mach/generic.h> +#include <mach/sdrc.h> +#include <mach/sys_info.h> +#include <mach/syslib.h> +#include <mach/am33xx-mux.h> +#include <mach/am33xx-generic.h> +#include <mach/wdt.h> + +static const struct am33xx_ddr_data ddr3_data = { + .rd_slave_ratio0 = 0x38, + .wr_dqs_slave_ratio0 = 0x44, + .fifo_we_slave_ratio0 = 0x94, + .wr_slave_ratio0 = 0x7D, + .use_rank0_delay = 0x01, + .dll_lock_diff0 = 0x0, +}; + +static const struct am33xx_cmd_control ddr3_cmd_ctrl = { + .slave_ratio0 = 0x80, + .dll_lock_diff0 = 0x1, + .invert_clkout0 = 0x0, + .slave_ratio1 = 0x80, + .dll_lock_diff1 = 0x1, + .invert_clkout1 = 0x0, + .slave_ratio2 = 0x80, + .dll_lock_diff2 = 0x1, + .invert_clkout2 = 0x0, +}; + +static const struct am33xx_emif_regs ddr3_regs = { + .emif_read_latency = 0x100007, + .emif_tim1 = 0x0AAAD4DB, + .emif_tim2 = 0x266B7FDA, + .emif_tim3 = 0x501F867F, + .zq_config = 0x50074BE4, + .sdram_config = 0x61C05332, + .sdram_config2 = 0x0, + .sdram_ref_ctrl = 0xC30, +}; + +static const struct am33xx_ddr_data ddr3_data_256mb = { + .rd_slave_ratio0 = 0x36, + .wr_dqs_slave_ratio0 = 0x38, + .fifo_we_slave_ratio0 = 0x99, + .wr_slave_ratio0 = 0x73, +}; + +static const struct am33xx_emif_regs ddr3_regs_256mb = { + .emif_read_latency = 0x7, + .emif_tim1 = 0x0AAAD4DB, + .emif_tim2 = 0x26437FDA, + .emif_tim3 = 0x501F83FF, + .sdram_config = 0x61C052B2, + .zq_config = 0x50074BE4, + .sdram_ref_ctrl = 0x00000C30, + +}; + +extern char __dtb_am335x_baltos_minimal_start[]; + +/** + * @brief The basic entry point for board initialization. + * + * This is called as part of machine init (after arch init). + * This is again called with stack in SRAM, so not too many + * constructs possible here. + * + * @return void + */ +static noinline int baltos_sram_init(void) +{ + uint32_t sdram_size; + void *fdt; + + fdt = __dtb_am335x_baltos_minimal_start; + + /* WDT1 is already running when the bootloader gets control + * Disable it to avoid "random" resets + */ + __raw_writel(WDT_DISABLE_CODE1, AM33XX_WDT_REG(WSPR)); + while (__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0); + __raw_writel(WDT_DISABLE_CODE2, AM33XX_WDT_REG(WSPR)); + while (__raw_readl(AM33XX_WDT_REG(WWPS)) != 0x0); + + /* Setup the PLLs and the clocks for the peripherals */ + am33xx_pll_init(MPUPLL_M_500, DDRPLL_M_400); + am335x_sdram_init(0x18B, &ddr3_cmd_ctrl, &ddr3_regs, &ddr3_data); + sdram_size = get_ram_size((void *)0x80000000, (1024 << 20)); + if (sdram_size == SZ_256M) + am335x_sdram_init(0x18B, &ddr3_cmd_ctrl, &ddr3_regs_256mb, + &ddr3_data_256mb); + + am33xx_uart_soft_reset((void *)AM33XX_UART0_BASE); + am33xx_enable_uart0_pin_mux(); + omap_uart_lowlevel_init((void *)AM33XX_UART0_BASE); + putc_ll('>'); + + am335x_barebox_entry(fdt); +} + +ENTRY_FUNCTION(start_am33xx_baltos_sram, bootinfo, r1, r2) +{ + am33xx_save_bootinfo((void *)bootinfo); + + /* + * Setup C environment, the board init code uses global variables. + * Stackpointer has already been initialized by the ROM code. + */ + relocate_to_current_adr(); + setup_c(); + + baltos_sram_init(); +} + +ENTRY_FUNCTION(start_am33xx_baltos_sdram, r0, r1, r2) +{ + void *fdt; + + fdt = __dtb_am335x_baltos_minimal_start; + + fdt -= get_runtime_offset(); + + am335x_barebox_entry(fdt); +} |