diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-17 08:10:22 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-10-17 08:10:22 +0200 |
commit | cde6a62a9d994087ff2d42239c1f370f98122c1c (patch) | |
tree | 27e568c63bf8022621ad102d4e01b7be5f5f2299 /arch | |
parent | b4e30bb8b73c9702d3283e1b514d672978b6951d (diff) | |
parent | 222e8d085efddb442c318824e5b027fd4e59594a (diff) | |
download | barebox-cde6a62a9d994087ff2d42239c1f370f98122c1c.tar.gz barebox-cde6a62a9d994087ff2d42239c1f370f98122c1c.tar.xz |
Merge branch 'for-next/layerscape'
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth0.mode | 1 | ||||
-rw-r--r-- | arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth1.mode | 1 | ||||
-rw-r--r-- | arch/arm/dts/fsl-ls1046a-rdb.dts | 26 | ||||
-rw-r--r-- | arch/arm/mach-layerscape/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-layerscape/pblimage.c | 58 |
5 files changed, 87 insertions, 0 deletions
diff --git a/arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth0.mode b/arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth0.mode new file mode 100644 index 0000000000..7a68b11da8 --- /dev/null +++ b/arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth0.mode @@ -0,0 +1 @@ +disabled diff --git a/arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth1.mode b/arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth1.mode new file mode 100644 index 0000000000..7a68b11da8 --- /dev/null +++ b/arch/arm/boards/tqmls1046a/defaultenv-tqmls1046a/nv/dev.eth1.mode @@ -0,0 +1 @@ +disabled diff --git a/arch/arm/dts/fsl-ls1046a-rdb.dts b/arch/arm/dts/fsl-ls1046a-rdb.dts index e16948bc8a..842d684588 100644 --- a/arch/arm/dts/fsl-ls1046a-rdb.dts +++ b/arch/arm/dts/fsl-ls1046a-rdb.dts @@ -29,6 +29,18 @@ }; }; +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + &fman0 { ethernet@e0000 { status = "disabled"; @@ -96,3 +108,17 @@ status = "disabled"; }; }; + +&usb0 { + dr_mode = "host"; +}; + +&usb1 { + maximum-speed = "high-speed"; + dr_mode = "peripheral"; + status = "okay"; +}; + +&usb2 { + dr_mode = "host"; +}; diff --git a/arch/arm/mach-layerscape/Makefile b/arch/arm/mach-layerscape/Makefile index 8a814f9441..854a327c91 100644 --- a/arch/arm/mach-layerscape/Makefile +++ b/arch/arm/mach-layerscape/Makefile @@ -5,3 +5,4 @@ obj-y += icid.o obj-pbl-y += boot.o pbl-y += xload-qspi.o xload.o obj-$(CONFIG_ARCH_LAYERSCAPE_PPA) += ppa.o ppa-entry.o +obj-$(CONFIG_BOOTM) += pblimage.o diff --git a/arch/arm/mach-layerscape/pblimage.c b/arch/arm/mach-layerscape/pblimage.c new file mode 100644 index 0000000000..deaf7143b9 --- /dev/null +++ b/arch/arm/mach-layerscape/pblimage.c @@ -0,0 +1,58 @@ +#define pr_fmt(fmt) "pblimage: " fmt + +#include <bootm.h> +#include <common.h> +#include <init.h> +#include <memory.h> +#include <linux/sizes.h> + +#define BAREBOX_STAGE2_OFFSET SZ_128K + +static int do_bootm_layerscape_pblimage(struct image_data *data) +{ + void (*barebox)(unsigned long x0, unsigned long x1, unsigned long x2, + unsigned long x3); + resource_size_t start, end; + int ret; + + ret = memory_bank_first_find_space(&start, &end); + if (ret) + return ret; + + ret = bootm_load_os(data, start); + if (ret) + return ret; + + barebox = (void*)start + BAREBOX_STAGE2_OFFSET; + + if (data->verbose) + printf("Loaded barebox image to 0x%08lx\n", + (unsigned long)barebox); + + shutdown_barebox(); + + barebox(0, 0, 0, 0); + + return -EIO; +} + +static struct image_handler image_handler_layerscape_pbl_image = { + .name = "Layerscape image", + .bootm = do_bootm_layerscape_pblimage, + .filetype = filetype_layerscape_image, +}; + +static struct image_handler image_handler_layerscape_qspi_pbl_image = { + .name = "Layerscape QSPI image", + .bootm = do_bootm_layerscape_pblimage, + .filetype = filetype_layerscape_qspi_image, +}; + +static int layerscape_register_pbl_image_handler(void) +{ + register_image_handler(&image_handler_layerscape_pbl_image); + register_image_handler(&image_handler_layerscape_qspi_pbl_image); + + return 0; +} +late_initcall(layerscape_register_pbl_image_handler); |