From de20596e17899b70542039769545cecfabefad79 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 29 Jan 2014 23:14:20 +0100 Subject: [PATCH 01/15] ARM: i.MX: Add include directories to imximage target Signed-off-by: Sascha Hauer --- scripts/Makefile.lib | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 73a433dfc..8da334503 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -327,7 +327,9 @@ cmd_imximage_S_dcd= \ echo '.balign STRUCT_ALIGNMENT'; \ ) > $@ -imxcfg_cpp_flags = -Wp,-MD,$(depfile) -nostdinc -x assembler-with-cpp +imxcfg_cpp_flags = -Wp,-MD,$(depfile) -nostdinc -x assembler-with-cpp \ + -I $(srctree)/include -I $(MACH)/include \ + -include $(srctree)/include/generated/autoconf.h dcd-tmp = $(subst $(comma),_,$(dot-target).dcd.tmp) From 24c5a4077c94b71ef899b07e7b85a6a9b145da79 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Mon, 3 Jun 2013 07:53:23 +0200 Subject: [PATCH 02/15] ARM: i.MX53 SMD: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 10 ++ arch/arm/boards/freescale-mx53-smd/Makefile | 1 - .../freescale-mx53-smd/flash-header.imxcfg | 54 ++++++++++ .../boards/freescale-mx53-smd/flash_header.c | 102 ------------------ 4 files changed, 64 insertions(+), 103 deletions(-) create mode 100644 arch/arm/boards/freescale-mx53-smd/flash-header.imxcfg delete mode 100644 arch/arm/boards/freescale-mx53-smd/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index c0b725d43..b321b5d0c 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -205,6 +205,16 @@ ifeq ($(CONFIG_ARCH_MVEBU),y) KBUILD_IMAGE := barebox.kwb barebox.kwbuart endif +barebox.imximg: $(KBUILD_BINARY) FORCE + $(call if_changed,imx_image) + +boarddir = $(srctree)/arch/arm/boards +imxcfg-$(CONFIG_MACH_FREESCALE_MX53_SMD) += $(boarddir)/freescale-mx53-smd/flash-header.imxcfg +ifneq ($(imxcfg-y),) +CFG_barebox.imximg := $(imxcfg-y) +KBUILD_IMAGE := barebox.imximg +endif + pbl := arch/arm/pbl $(pbl)/zbarebox.S $(pbl)/zbarebox.bin $(pbl)/zbarebox: barebox.bin FORCE $(Q)$(MAKE) $(build)=$(pbl) $@ diff --git a/arch/arm/boards/freescale-mx53-smd/Makefile b/arch/arm/boards/freescale-mx53-smd/Makefile index d44f69771..01c7a259e 100644 --- a/arch/arm/boards/freescale-mx53-smd/Makefile +++ b/arch/arm/boards/freescale-mx53-smd/Makefile @@ -1,3 +1,2 @@ obj-y += board.o -lwl-y += flash_header.o lwl-y += lowlevel.o diff --git a/arch/arm/boards/freescale-mx53-smd/flash-header.imxcfg b/arch/arm/boards/freescale-mx53-smd/flash-header.imxcfg new file mode 100644 index 000000000..95bcd1980 --- /dev/null +++ b/arch/arm/boards/freescale-mx53-smd/flash-header.imxcfg @@ -0,0 +1,54 @@ +loadaddr 0x70000000 +soc imx53 +dcdofs 0x400 +wm 32 0x53fa8554 0x00300000 +wm 32 0x53fa8558 0x00300040 +wm 32 0x53fa8560 0x00300000 +wm 32 0x53fa8564 0x00300040 +wm 32 0x53fa8568 0x00300040 +wm 32 0x53fa8570 0x00300000 +wm 32 0x53fa8574 0x00300000 +wm 32 0x53fa8578 0x00300000 +wm 32 0x53fa857c 0x00300040 +wm 32 0x53fa8580 0x00300040 +wm 32 0x53fa8584 0x00300000 +wm 32 0x53fa8588 0x00300000 +wm 32 0x53fa8590 0x00300040 +wm 32 0x53fa8594 0x00300000 +wm 32 0x53fa86f0 0x00300000 +wm 32 0x53fa86f4 0x00000000 +wm 32 0x53fa86fc 0x00000000 +wm 32 0x53fa8714 0x00000000 +wm 32 0x53fa8718 0x00300000 +wm 32 0x53fa871c 0x00300000 +wm 32 0x53fa8720 0x00300000 +wm 32 0x53fa8724 0x04000000 +wm 32 0x53fa8728 0x00300000 +wm 32 0x53fa872c 0x00300000 +wm 32 0x63fd9088 0x35343535 +wm 32 0x63fd9090 0x4d444c44 +wm 32 0x63fd907c 0x01370138 +wm 32 0x63fd9080 0x013b013c +wm 32 0x63fd9018 0x00011740 +wm 32 0x63fd9000 0xc3190000 +wm 32 0x63fd900c 0x9f5152e3 +wm 32 0x63fd9010 0xb68e8a63 +wm 32 0x63fd9014 0x01ff00db +wm 32 0x63fd902c 0x000026d2 +wm 32 0x63fd9030 0x009f0e21 +wm 32 0x63fd9008 0x12273030 +wm 32 0x63fd9004 0x0002002d +wm 32 0x63fd901c 0x00008032 +wm 32 0x63fd901c 0x00008033 +wm 32 0x63fd901c 0x00028031 +wm 32 0x63fd901c 0x052080b0 +wm 32 0x63fd901c 0x04008040 +wm 32 0x63fd901c 0x0000803a +wm 32 0x63fd901c 0x0000803b +wm 32 0x63fd901c 0x00028039 +wm 32 0x63fd901c 0x05208138 +wm 32 0x63fd901c 0x04008048 +wm 32 0x63fd9020 0x00005800 +wm 32 0x63fd9040 0x04b80003 +wm 32 0x63fd9058 0x00022227 +wm 32 0x63fd901c 0x00000000 diff --git a/arch/arm/boards/freescale-mx53-smd/flash_header.c b/arch/arm/boards/freescale-mx53-smd/flash_header.c deleted file mode 100644 index c2ab25582..000000000 --- a/arch/arm/boards/freescale-mx53-smd/flash_header.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2011 Marc Kleine-Budde - * - * 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. - * - */ - -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_v2_entry __dcd_entry_section dcd_entry[] = { - { .addr = cpu_to_be32(0x53fa8554), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8558), .val = cpu_to_be32(0x00300040), }, - { .addr = cpu_to_be32(0x53fa8560), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8564), .val = cpu_to_be32(0x00300040), }, - { .addr = cpu_to_be32(0x53fa8568), .val = cpu_to_be32(0x00300040), }, - { .addr = cpu_to_be32(0x53fa8570), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8574), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8578), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa857c), .val = cpu_to_be32(0x00300040), }, - { .addr = cpu_to_be32(0x53fa8580), .val = cpu_to_be32(0x00300040), }, - { .addr = cpu_to_be32(0x53fa8584), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8588), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8590), .val = cpu_to_be32(0x00300040), }, - { .addr = cpu_to_be32(0x53fa8594), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa86f0), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa86f4), .val = cpu_to_be32(0x00000000), }, - { .addr = cpu_to_be32(0x53fa86fc), .val = cpu_to_be32(0x00000000), }, - { .addr = cpu_to_be32(0x53fa8714), .val = cpu_to_be32(0x00000000), }, - { .addr = cpu_to_be32(0x53fa8718), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa871c), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8720), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa8724), .val = cpu_to_be32(0x04000000), }, - { .addr = cpu_to_be32(0x53fa8728), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x53fa872c), .val = cpu_to_be32(0x00300000), }, - { .addr = cpu_to_be32(0x63fd9088), .val = cpu_to_be32(0x35343535), }, - { .addr = cpu_to_be32(0x63fd9090), .val = cpu_to_be32(0x4d444c44), }, - { .addr = cpu_to_be32(0x63fd907c), .val = cpu_to_be32(0x01370138), }, - { .addr = cpu_to_be32(0x63fd9080), .val = cpu_to_be32(0x013b013c), }, - { .addr = cpu_to_be32(0x63fd9018), .val = cpu_to_be32(0x00011740), }, - { .addr = cpu_to_be32(0x63fd9000), .val = cpu_to_be32(0xc3190000), }, - { .addr = cpu_to_be32(0x63fd900c), .val = cpu_to_be32(0x9f5152e3), }, - { .addr = cpu_to_be32(0x63fd9010), .val = cpu_to_be32(0xb68e8a63), }, - { .addr = cpu_to_be32(0x63fd9014), .val = cpu_to_be32(0x01ff00db), }, - { .addr = cpu_to_be32(0x63fd902c), .val = cpu_to_be32(0x000026d2), }, - { .addr = cpu_to_be32(0x63fd9030), .val = cpu_to_be32(0x009f0e21), }, - { .addr = cpu_to_be32(0x63fd9008), .val = cpu_to_be32(0x12273030), }, - { .addr = cpu_to_be32(0x63fd9004), .val = cpu_to_be32(0x0002002d), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00008032), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00008033), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00028031), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x052080b0), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x04008040), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x0000803a), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x0000803b), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00028039), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x05208138), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x04008048), }, - { .addr = cpu_to_be32(0x63fd9020), .val = cpu_to_be32(0x00005800), }, - { .addr = cpu_to_be32(0x63fd9040), .val = cpu_to_be32(0x04b80003), }, - { .addr = cpu_to_be32(0x63fd9058), .val = cpu_to_be32(0x00022227), }, - { .addr = cpu_to_be32(0x63fd901c), .val = cpu_to_be32(0x00000000), }, -}; - -#define APP_DEST 0x70000000 - -struct imx_flash_header_v2 __flash_header_section flash_header = { - .header.tag = IVT_HEADER_TAG, - .header.length = cpu_to_be16(32), - .header.version = IVT_VERSION, - - .entry = APP_DEST + 0x1000, - .dcd_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, dcd), - .boot_data_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, boot_data), - .self = APP_DEST + 0x400, - - .boot_data.start = APP_DEST, - .boot_data.size = DCD_BAREBOX_SIZE, - - .dcd.header.tag = DCD_HEADER_TAG, - .dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)), - .dcd.header.version = DCD_VERSION, - - .dcd.command.tag = DCD_COMMAND_WRITE_TAG, - .dcd.command.length = cpu_to_be16(sizeof(struct imx_dcd_command) + sizeof(dcd_entry)), - .dcd.command.param = DCD_COMMAND_WRITE_PARAM, -}; From 71049c11c770515856f1529c136d34dee697d1ed Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 4 Jun 2013 09:02:24 +0200 Subject: [PATCH 03/15] ARM: i.MX6 sabresd: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + .../arm/boards/freescale-mx6-sabresd/Makefile | 1 - .../freescale-mx6-sabresd/flash-header.imxcfg | 128 +++++++++++++ .../freescale-mx6-sabresd/flash_header.c | 178 ------------------ 4 files changed, 129 insertions(+), 179 deletions(-) create mode 100644 arch/arm/boards/freescale-mx6-sabresd/flash-header.imxcfg delete mode 100644 arch/arm/boards/freescale-mx6-sabresd/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index b321b5d0c..be0d7ed09 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -210,6 +210,7 @@ barebox.imximg: $(KBUILD_BINARY) FORCE boarddir = $(srctree)/arch/arm/boards imxcfg-$(CONFIG_MACH_FREESCALE_MX53_SMD) += $(boarddir)/freescale-mx53-smd/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_SABRESD) += $(boarddir)/freescale-mx6-sabresd/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/freescale-mx6-sabresd/Makefile b/arch/arm/boards/freescale-mx6-sabresd/Makefile index d44f69771..01c7a259e 100644 --- a/arch/arm/boards/freescale-mx6-sabresd/Makefile +++ b/arch/arm/boards/freescale-mx6-sabresd/Makefile @@ -1,3 +1,2 @@ obj-y += board.o -lwl-y += flash_header.o lwl-y += lowlevel.o diff --git a/arch/arm/boards/freescale-mx6-sabresd/flash-header.imxcfg b/arch/arm/boards/freescale-mx6-sabresd/flash-header.imxcfg new file mode 100644 index 000000000..21f217cdf --- /dev/null +++ b/arch/arm/boards/freescale-mx6-sabresd/flash-header.imxcfg @@ -0,0 +1,128 @@ +loadaddr 0x10000000 +soc imx6 +dcdofs 0x400 +wm 32 0x20e05a8 0x00000030 +wm 32 0x20e05b0 0x00000030 +wm 32 0x20e0524 0x00000030 +wm 32 0x20e051c 0x00000030 + +wm 32 0x20e0518 0x00000030 +wm 32 0x20e050c 0x00000030 +wm 32 0x20e05b8 0x00000030 +wm 32 0x20e05c0 0x00000030 + +wm 32 0x20e05ac 0x00020030 +wm 32 0x20e05b4 0x00020030 +wm 32 0x20e0528 0x00020030 +wm 32 0x20e0520 0x00020030 + +wm 32 0x20e0514 0x00020030 +wm 32 0x20e0510 0x00020030 +wm 32 0x20e05bc 0x00020030 +wm 32 0x20e05c4 0x00020030 + +wm 32 0x20e056c 0x00020030 +wm 32 0x20e0578 0x00020030 +wm 32 0x20e0588 0x00020030 +wm 32 0x20e0594 0x00020030 + +wm 32 0x20e057c 0x00020030 +wm 32 0x20e0590 0x00003000 +wm 32 0x20e0598 0x00003000 +wm 32 0x20e058c 0x00000000 + +wm 32 0x20e059c 0x00003030 +wm 32 0x20e05a0 0x00003030 +wm 32 0x20e0784 0x00000030 +wm 32 0x20e0788 0x00000030 + +wm 32 0x20e0794 0x00000030 +wm 32 0x20e079c 0x00000030 +wm 32 0x20e07a0 0x00000030 +wm 32 0x20e07a4 0x00000030 + +wm 32 0x20e07a8 0x00000030 +wm 32 0x20e0748 0x00000030 +wm 32 0x20e074c 0x00000030 +wm 32 0x20e0750 0x00020000 + +wm 32 0x20e0758 0x00000000 +wm 32 0x20e0774 0x00020000 +wm 32 0x20e078c 0x00000030 +wm 32 0x20e0798 0x000C0000 + +wm 32 0x21b081c 0x33333333 +wm 32 0x21b0820 0x33333333 +wm 32 0x21b0824 0x33333333 +wm 32 0x21b0828 0x33333333 + +wm 32 0x21b481c 0x33333333 +wm 32 0x21b4820 0x33333333 +wm 32 0x21b4824 0x33333333 +wm 32 0x21b4828 0x33333333 + +wm 32 0x21b0018 0x00081740 + +wm 32 0x21b001c 0x00008000 +wm 32 0x21b000c 0x555A7975 +wm 32 0x21b0010 0xFF538E64 +wm 32 0x21b0014 0x01FF00DB +wm 32 0x21b002c 0x000026D2 + +wm 32 0x21b0030 0x005B0E21 +wm 32 0x21b0008 0x09444040 +wm 32 0x21b0004 0x00025576 +wm 32 0x21b0040 0x00000027 +wm 32 0x21b0000 0x831A0000 + +wm 32 0x21b001c 0x04088032 +wm 32 0x21b001c 0x0408803A +wm 32 0x21b001c 0x00008033 +wm 32 0x21b001c 0x0000803B +wm 32 0x21b001c 0x00428031 +wm 32 0x21b001c 0x00428039 +wm 32 0x21b001c 0x09408030 +wm 32 0x21b001c 0x09408038 + +wm 32 0x21b001c 0x04008040 +wm 32 0x21b001c 0x04008048 +wm 32 0x21b0800 0xA1380003 +wm 32 0x21b4800 0xA1380003 +wm 32 0x21b0020 0x00005800 +wm 32 0x21b0818 0x00022227 +wm 32 0x21b4818 0x00022227 + +wm 32 0x21b083c 0x434B0350 +wm 32 0x21b0840 0x034C0359 +wm 32 0x21b483c 0x434B0350 +wm 32 0x21b4840 0x03650348 +wm 32 0x21b0848 0x4436383B +wm 32 0x21b4848 0x39393341 +wm 32 0x21b0850 0x35373933 +wm 32 0x21b4850 0x48254A36 + +wm 32 0x21b080c 0x001F001F +wm 32 0x21b0810 0x001F001F + +wm 32 0x21b480c 0x00440044 +wm 32 0x21b4810 0x00440044 + +wm 32 0x21b08b8 0x00000800 +wm 32 0x21b48b8 0x00000800 + +wm 32 0x21b001c 0x00000000 +wm 32 0x21b0404 0x00011006 + +wm 32 0x020c4068 0x00c03f3f +wm 32 0x020c406c 0x0030fc03 +wm 32 0x020c4070 0x0fffc000 +wm 32 0x020c4074 0x3ff00000 +wm 32 0x020c4078 0x00fff300 +wm 32 0x020c407c 0x0f0000c3 +wm 32 0x020c4080 0x000003ff + +# enable AXI cache for VDOA/VPU/IPU +wm 32 0x20e0010 0xf00000cf +# set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 +wm 32 0x20e0018 0x007f007f +wm 32 0x20e001c 0x007f007f diff --git a/arch/arm/boards/freescale-mx6-sabresd/flash_header.c b/arch/arm/boards/freescale-mx6-sabresd/flash_header.c deleted file mode 100644 index 61d482b43..000000000 --- a/arch/arm/boards/freescale-mx6-sabresd/flash_header.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (C) 2011 Marc Kleine-Budde - * - * 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. - * - */ - -#include -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -#define DCD(a, v) { .addr = cpu_to_be32(a), .val = cpu_to_be32(v), } - -struct imx_dcd_v2_entry __dcd_entry_section dcd_entry[] = { - DCD(MX6_IOMUXC_BASE_ADDR + 0x5a8, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5b0, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x524, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x51c, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x518, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x50c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5b8, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5c0, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x5ac, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5b4, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x528, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x520, 0x00020030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x514, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x510, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5bc, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5c4, 0x00020030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x56c, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x578, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x588, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x594, 0x00020030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x57c, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x590, 0x00003000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x598, 0x00003000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x58c, 0x00000000), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x59c, 0x00003030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5a0, 0x00003030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x784, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x788, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x794, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x79c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x7a0, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x7a4, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x7a8, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x748, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x74c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x750, 0x00020000), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x758, 0x00000000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x774, 0x00020000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x78c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x798, 0x000C0000), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x81c, 0x33333333), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x820, 0x33333333), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x824, 0x33333333), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x828, 0x33333333), - - DCD(MX6_MMDC_P1_BASE_ADDR + 0x81c, 0x33333333), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x820, 0x33333333), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x824, 0x33333333), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x828, 0x33333333), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x018, 0x00081740), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00008000), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x00c, 0x555A7975), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x010, 0xFF538E64), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x014, 0x01FF00DB), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x02c, 0x000026D2), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x030, 0x005B0E21), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x008, 0x09444040), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x004, 0x00025576), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x040, 0x00000027), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x000, 0x831A0000), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x04088032), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x0408803A), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00008033), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x0000803B), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00428031), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00428039), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x09408030), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x09408038), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x04008040), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x04008048), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x800, 0xA1380003), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x800, 0xA1380003), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x020, 0x00005800), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x818, 0x00022227), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x818, 0x00022227), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x83c, 0x434B0350), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x840, 0x034C0359), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x83c, 0x434B0350), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x840, 0x03650348), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x848, 0x4436383B), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x848, 0x39393341), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x850, 0x35373933), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x850, 0x48254A36), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x80c, 0x001F001F), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x810, 0x001F001F), - - DCD(MX6_MMDC_P1_BASE_ADDR + 0x80c, 0x00440044), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x810, 0x00440044), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x8b8, 0x00000800), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x8b8, 0x00000800), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00000000), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x404, 0x00011006), - - DCD(MX6_CCM_BASE_ADDR + 0x068, 0x00c03f3f), - DCD(MX6_CCM_BASE_ADDR + 0x06c, 0x0030fc03), - DCD(MX6_CCM_BASE_ADDR + 0x070, 0x0fffc000), - DCD(MX6_CCM_BASE_ADDR + 0x074, 0x3ff00000), - DCD(MX6_CCM_BASE_ADDR + 0x078, 0x00fff300), - DCD(MX6_CCM_BASE_ADDR + 0x07c, 0x0f0000c3), - DCD(MX6_CCM_BASE_ADDR + 0x080, 0x000003ff), - - /* enable AXI cache for VDOA/VPU/IPU */ - DCD(MX6_IOMUXC_BASE_ADDR + 0x010, 0xf00000cf), - /* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */ - DCD(MX6_IOMUXC_BASE_ADDR + 0x018, 0x007f007f), - DCD(MX6_IOMUXC_BASE_ADDR + 0x01c, 0x007f007f), -}; - -#define APP_DEST CONFIG_TEXT_BASE - -struct imx_flash_header_v2 __flash_header_section flash_header = { - .header.tag = IVT_HEADER_TAG, - .header.length = cpu_to_be16(32), - .header.version = IVT_VERSION, - .entry = (u32)_stext, - .dcd_ptr = APP_DEST + FLASH_HEADER_OFFSET + offsetof(struct imx_flash_header_v2, dcd), - .boot_data_ptr = APP_DEST + FLASH_HEADER_OFFSET + offsetof(struct imx_flash_header_v2, boot_data), - .self = APP_DEST + FLASH_HEADER_OFFSET, - - .boot_data.start = APP_DEST, - .boot_data.size = barebox_image_size, - - .dcd.header.tag = DCD_HEADER_TAG, - .dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)), - .dcd.header.version = DCD_VERSION, - - .dcd.command.tag = DCD_COMMAND_WRITE_TAG, - .dcd.command.length = cpu_to_be16(sizeof(struct imx_dcd_command) + sizeof(dcd_entry)), - .dcd.command.param = DCD_COMMAND_WRITE_PARAM, -}; From 9f17e0316b543264dfbc8f895b88855abe0bc028 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 4 Jun 2013 09:02:24 +0200 Subject: [PATCH 04/15] ARM: i.MX6 arm2: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/freescale-mx6-arm2/Makefile | 1 - .../freescale-mx6-arm2/flash-header.imxcfg | 122 +++++++++++++ .../boards/freescale-mx6-arm2/flash_header.c | 171 ------------------ 4 files changed, 123 insertions(+), 172 deletions(-) create mode 100644 arch/arm/boards/freescale-mx6-arm2/flash-header.imxcfg delete mode 100644 arch/arm/boards/freescale-mx6-arm2/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index be0d7ed09..316c355b2 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -211,6 +211,7 @@ barebox.imximg: $(KBUILD_BINARY) FORCE boarddir = $(srctree)/arch/arm/boards imxcfg-$(CONFIG_MACH_FREESCALE_MX53_SMD) += $(boarddir)/freescale-mx53-smd/flash-header.imxcfg imxcfg-$(CONFIG_MACH_SABRESD) += $(boarddir)/freescale-mx6-sabresd/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_MX6Q_ARM2) += $(boarddir)/freescale-mx6-arm2/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/freescale-mx6-arm2/Makefile b/arch/arm/boards/freescale-mx6-arm2/Makefile index d44f69771..01c7a259e 100644 --- a/arch/arm/boards/freescale-mx6-arm2/Makefile +++ b/arch/arm/boards/freescale-mx6-arm2/Makefile @@ -1,3 +1,2 @@ obj-y += board.o -lwl-y += flash_header.o lwl-y += lowlevel.o diff --git a/arch/arm/boards/freescale-mx6-arm2/flash-header.imxcfg b/arch/arm/boards/freescale-mx6-arm2/flash-header.imxcfg new file mode 100644 index 000000000..403d18483 --- /dev/null +++ b/arch/arm/boards/freescale-mx6-arm2/flash-header.imxcfg @@ -0,0 +1,122 @@ +soc imx6 +loadaddr 0x10000000 +dcdofs 0x400 + +wm 32 0x020e05a8 0x00000030 +wm 32 0x020e05b0 0x00000030 +wm 32 0x020e0524 0x00000030 +wm 32 0x020e051c 0x00000030 + +wm 32 0x020e0518 0x00000030 +wm 32 0x020e050c 0x00000030 +wm 32 0x020e05b8 0x00000030 +wm 32 0x020e05c0 0x00000030 + +wm 32 0x020e05ac 0x00020030 +wm 32 0x020e05b4 0x00020030 +wm 32 0x020e0528 0x00020030 +wm 32 0x020e0520 0x00020030 + +wm 32 0x020e0514 0x00020030 +wm 32 0x020e0510 0x00020030 +wm 32 0x020e05bc 0x00020030 +wm 32 0x020e05c4 0x00020030 + +wm 32 0x020e056c 0x00020030 +wm 32 0x020e0578 0x00020030 +wm 32 0x020e0588 0x00020030 +wm 32 0x020e0594 0x00020030 + +wm 32 0x020e057c 0x00020030 +wm 32 0x020e0590 0x00003000 +wm 32 0x020e0598 0x00003000 +wm 32 0x020e058c 0x00000000 + +wm 32 0x020e059c 0x00003030 +wm 32 0x020e05a0 0x00003030 +wm 32 0x020e0784 0x00000030 +wm 32 0x020e0788 0x00000030 + +wm 32 0x020e0794 0x00000030 +wm 32 0x020e079c 0x00000030 +wm 32 0x020e07a0 0x00000030 +wm 32 0x020e07a4 0x00000030 + +wm 32 0x020e07a8 0x00000030 +wm 32 0x020e0748 0x00000030 +wm 32 0x020e074c 0x00000030 +wm 32 0x020e0750 0x00020000 + +wm 32 0x020e0758 0x00000000 +wm 32 0x020e0774 0x00020000 +wm 32 0x020e078c 0x00000030 +wm 32 0x020e0798 0x000C0000 + +wm 32 0x021b081c 0x33333333 +wm 32 0x021b0820 0x33333333 +wm 32 0x021b0824 0x33333333 +wm 32 0x021b0828 0x33333333 + +wm 32 0x021b481c 0x33333333 +wm 32 0x021b4820 0x33333333 +wm 32 0x021b4824 0x33333333 +wm 32 0x021b4828 0x33333333 + +wm 32 0x021b0018 0x00081740 + +wm 32 0x021b001c 0x00008000 +wm 32 0x021b000c 0x555A7975 +wm 32 0x021b0010 0xFF538E64 +wm 32 0x021b0014 0x01FF00DB +wm 32 0x021b002c 0x000026D2 + +wm 32 0x021b0030 0x005B0E21 +wm 32 0x021b0008 0x09444040 +wm 32 0x021b0004 0x00025576 +wm 32 0x021b0040 0x00000027 +wm 32 0x021b0000 0xC31A0000 + +wm 32 0x021b001c 0x04088032 +wm 32 0x021b001c 0x0408803A +wm 32 0x021b001c 0x00008033 +wm 32 0x021b001c 0x0000803B +wm 32 0x021b001c 0x00428031 +wm 32 0x021b001c 0x00428039 +wm 32 0x021b001c 0x09408030 +wm 32 0x021b001c 0x09408038 + +wm 32 0x021b001c 0x04008040 +wm 32 0x021b001c 0x04008048 +wm 32 0x021b0800 0xA1380003 +wm 32 0x021b4800 0xA1380003 +wm 32 0x021b0020 0x00005800 +wm 32 0x021b0818 0x00022227 +wm 32 0x021b4818 0x00022227 + +wm 32 0x021b083c 0x434B0350 +wm 32 0x021b0840 0x034C0359 +wm 32 0x021b483c 0x434B0350 +wm 32 0x021b4840 0x03650348 +wm 32 0x021b0848 0x4436383B +wm 32 0x021b4848 0x39393341 +wm 32 0x021b0850 0x35373933 +wm 32 0x021b4850 0x48254A36 + +wm 32 0x021b080c 0x001F001F +wm 32 0x021b0810 0x001F001F + +wm 32 0x021b480c 0x00440044 +wm 32 0x021b4810 0x00440044 + +wm 32 0x021b08b8 0x00000800 +wm 32 0x021b48b8 0x00000800 + +wm 32 0x021b001c 0x00000000 +wm 32 0x021b0404 0x00011006 + +/* enable AXI cache for VDOA/VPU/IPU */ +wm 32 0x020e0010 0xf00000ff + +/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */ +wm 32 0x020e0018 0x007f007f +wm 32 0x020e001c 0x007f007f diff --git a/arch/arm/boards/freescale-mx6-arm2/flash_header.c b/arch/arm/boards/freescale-mx6-arm2/flash_header.c deleted file mode 100644 index 60cf9cd17..000000000 --- a/arch/arm/boards/freescale-mx6-arm2/flash_header.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (C) 2011 Marc Kleine-Budde - * - * 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. - * - */ - -#include -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -#define DCD(a, v) { .addr = cpu_to_be32(a), .val = cpu_to_be32(v), } - -struct imx_dcd_v2_entry __dcd_entry_section dcd_entry[] = { - DCD(MX6_IOMUXC_BASE_ADDR + 0x5a8, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5b0, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x524, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x51c, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x518, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x50c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5b8, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5c0, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x5ac, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5b4, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x528, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x520, 0x00020030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x514, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x510, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5bc, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5c4, 0x00020030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x56c, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x578, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x588, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x594, 0x00020030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x57c, 0x00020030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x590, 0x00003000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x598, 0x00003000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x58c, 0x00000000), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x59c, 0x00003030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x5a0, 0x00003030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x784, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x788, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x794, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x79c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x7a0, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x7a4, 0x00000030), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x7a8, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x748, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x74c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x750, 0x00020000), - - DCD(MX6_IOMUXC_BASE_ADDR + 0x758, 0x00000000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x774, 0x00020000), - DCD(MX6_IOMUXC_BASE_ADDR + 0x78c, 0x00000030), - DCD(MX6_IOMUXC_BASE_ADDR + 0x798, 0x000C0000), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x81c, 0x33333333), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x820, 0x33333333), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x824, 0x33333333), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x828, 0x33333333), - - DCD(MX6_MMDC_P1_BASE_ADDR + 0x81c, 0x33333333), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x820, 0x33333333), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x824, 0x33333333), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x828, 0x33333333), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x018, 0x00081740), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00008000), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x00c, 0x555A7975), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x010, 0xFF538E64), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x014, 0x01FF00DB), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x02c, 0x000026D2), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x030, 0x005B0E21), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x008, 0x09444040), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x004, 0x00025576), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x040, 0x00000027), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x000, 0xC31A0000), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x04088032), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x0408803A), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00008033), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x0000803B), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00428031), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00428039), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x09408030), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x09408038), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x04008040), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x04008048), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x800, 0xA1380003), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x800, 0xA1380003), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x020, 0x00005800), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x818, 0x00022227), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x818, 0x00022227), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x83c, 0x434B0350), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x840, 0x034C0359), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x83c, 0x434B0350), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x840, 0x03650348), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x848, 0x4436383B), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x848, 0x39393341), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x850, 0x35373933), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x850, 0x48254A36), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x80c, 0x001F001F), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x810, 0x001F001F), - - DCD(MX6_MMDC_P1_BASE_ADDR + 0x80c, 0x00440044), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x810, 0x00440044), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x8b8, 0x00000800), - DCD(MX6_MMDC_P1_BASE_ADDR + 0x8b8, 0x00000800), - - DCD(MX6_MMDC_P0_BASE_ADDR + 0x01c, 0x00000000), - DCD(MX6_MMDC_P0_BASE_ADDR + 0x404, 0x00011006), - - /* enable AXI cache for VDOA/VPU/IPU */ - DCD(MX6_IOMUXC_BASE_ADDR + 0x010, 0xf00000ff), - /* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */ - DCD(MX6_IOMUXC_BASE_ADDR + 0x018, 0x007f007f), - DCD(MX6_IOMUXC_BASE_ADDR + 0x01c, 0x007f007f), -}; - -#define APP_DEST 0x10000000 - -struct imx_flash_header_v2 __flash_header_section flash_header = { - .header.tag = IVT_HEADER_TAG, - .header.length = cpu_to_be16(32), - .header.version = IVT_VERSION, - - .entry = APP_DEST + 0x1000, - .dcd_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, dcd), - .boot_data_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, boot_data), - .self = APP_DEST + 0x400, - - .boot_data.start = APP_DEST, - .boot_data.size = 0x40000, - - .dcd.header.tag = DCD_HEADER_TAG, - .dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)), - .dcd.header.version = DCD_VERSION, - - .dcd.command.tag = DCD_COMMAND_WRITE_TAG, - .dcd.command.length = cpu_to_be16(sizeof(struct imx_dcd_command) + sizeof(dcd_entry)), - .dcd.command.param = DCD_COMMAND_WRITE_PARAM, -}; From b59b87ba595e93ae66b1ebf7a61ad9cfa07feb9a Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Sun, 23 Jun 2013 22:44:16 +0200 Subject: [PATCH 05/15] ARM: i.MX51 ccxmx51: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/ccxmx51/Makefile | 1 - arch/arm/boards/ccxmx51/flash-header.imxcfg | 60 +++++++++++++++ arch/arm/boards/ccxmx51/flash_header.c | 84 --------------------- 4 files changed, 61 insertions(+), 85 deletions(-) create mode 100644 arch/arm/boards/ccxmx51/flash-header.imxcfg delete mode 100644 arch/arm/boards/ccxmx51/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 316c355b2..678819fdf 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -212,6 +212,7 @@ boarddir = $(srctree)/arch/arm/boards imxcfg-$(CONFIG_MACH_FREESCALE_MX53_SMD) += $(boarddir)/freescale-mx53-smd/flash-header.imxcfg imxcfg-$(CONFIG_MACH_SABRESD) += $(boarddir)/freescale-mx6-sabresd/flash-header.imxcfg imxcfg-$(CONFIG_MACH_MX6Q_ARM2) += $(boarddir)/freescale-mx6-arm2/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_CCMX51) += $(boarddir)/ccxmx51/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/ccxmx51/Makefile b/arch/arm/boards/ccxmx51/Makefile index 422c91916..6ba98b12d 100644 --- a/arch/arm/boards/ccxmx51/Makefile +++ b/arch/arm/boards/ccxmx51/Makefile @@ -1,4 +1,3 @@ obj-y += ccxmx51.o -lwl-y += flash_header.o lwl-y += lowlevel.o obj-$(CONFIG_MACH_CCMX51_BASEBOARD) += ccxmx51js.o diff --git a/arch/arm/boards/ccxmx51/flash-header.imxcfg b/arch/arm/boards/ccxmx51/flash-header.imxcfg new file mode 100644 index 000000000..251c4c1b9 --- /dev/null +++ b/arch/arm/boards/ccxmx51/flash-header.imxcfg @@ -0,0 +1,60 @@ +soc imx51 +loadaddr 0x90000000 +dcdofs 0x400 +wm 32 0x73fa88a0 0x00000200 +wm 32 0x73fa850c 0x000020c5 +wm 32 0x73fa8510 0x000020c5 +wm 32 0x73fa883c 0x00000002 +wm 32 0x73fa8848 0x00000002 +wm 32 0x73fa84b8 0x000000e7 +wm 32 0x73fa84bc 0x00000045 +wm 32 0x73fa84c0 0x00000045 +wm 32 0x73fa84c4 0x00000045 +wm 32 0x73fa84c8 0x00000045 +wm 32 0x73fa8820 0x00000000 +wm 32 0x73fa84a4 0x00000003 +wm 32 0x73fa84a8 0x00000003 +wm 32 0x73fa84ac 0x000000e3 +wm 32 0x73fa84b0 0x000000e3 +wm 32 0x73fa84b4 0x000000e3 +wm 32 0x73fa84cc 0x000000e3 +wm 32 0x73fa84d0 0x000000e2 +wm 32 0x73fa882c 0x00000004 +wm 32 0x73fa88a4 0x00000004 +wm 32 0x73fa88ac 0x00000004 +wm 32 0x73fa88b8 0x00000004 +wm 32 0x83fd9000 0x82a20000 +wm 32 0x83fd9008 0x82a20000 +wm 32 0x83fd9010 0x000ad0d0 +wm 32 0x83fd9004 0x3f3584ab +wm 32 0x83fd900c 0x3f3584ab +wm 32 0x83fd9014 0x04008008 +wm 32 0x83fd9014 0x0000801a +wm 32 0x83fd9014 0x0000801b +wm 32 0x83fd9014 0x00448019 +wm 32 0x83fd9014 0x07328018 +wm 32 0x83fd9014 0x04008008 +wm 32 0x83fd9014 0x00008010 +wm 32 0x83fd9014 0x00008010 +wm 32 0x83fd9014 0x06328018 +wm 32 0x83fd9014 0x03808019 +wm 32 0x83fd9014 0x00408019 +wm 32 0x83fd9014 0x00008000 +wm 32 0x83fd9014 0x0400800c +wm 32 0x83fd9014 0x0000801e +wm 32 0x83fd9014 0x0000801f +wm 32 0x83fd9014 0x0000801d +wm 32 0x83fd9014 0x0732801c +wm 32 0x83fd9014 0x0400800c +wm 32 0x83fd9014 0x00008014 +wm 32 0x83fd9014 0x00008014 +wm 32 0x83fd9014 0x0632801c +wm 32 0x83fd9014 0x0380801d +wm 32 0x83fd9014 0x0040801d +wm 32 0x83fd9014 0x00008004 +wm 32 0x83fd9000 0xb2a20000 +wm 32 0x83fd9008 0xb2a20000 +wm 32 0x83fd9010 0x000ad6d0 +wm 32 0x83fd9034 0x90000000 +wm 32 0x83fd9014 0x00000000 + diff --git a/arch/arm/boards/ccxmx51/flash_header.c b/arch/arm/boards/ccxmx51/flash_header.c deleted file mode 100644 index c148eea4f..000000000 --- a/arch/arm/boards/ccxmx51/flash_header.c +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0x73fa88a0, .val = 0x00000200, }, - { .ptr_type = 4, .addr = 0x73fa850c, .val = 0x000020c5, }, - { .ptr_type = 4, .addr = 0x73fa8510, .val = 0x000020c5, }, - { .ptr_type = 4, .addr = 0x73fa883c, .val = 0x00000002, }, - { .ptr_type = 4, .addr = 0x73fa8848, .val = 0x00000002, }, - { .ptr_type = 4, .addr = 0x73fa84b8, .val = 0x000000e7, }, - { .ptr_type = 4, .addr = 0x73fa84bc, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa84c0, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa84c4, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa84c8, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa8820, .val = 0x00000000, }, - { .ptr_type = 4, .addr = 0x73fa84a4, .val = 0x00000003, }, - { .ptr_type = 4, .addr = 0x73fa84a8, .val = 0x00000003, }, - { .ptr_type = 4, .addr = 0x73fa84ac, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84b0, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84b4, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84cc, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84d0, .val = 0x000000e2, }, - { .ptr_type = 4, .addr = 0x73fa882c, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x73fa88a4, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x73fa88ac, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x73fa88b8, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x83fd9000, .val = 0x82a20000, }, - { .ptr_type = 4, .addr = 0x83fd9008, .val = 0x82a20000, }, - { .ptr_type = 4, .addr = 0x83fd9010, .val = 0x000ad0d0, }, - { .ptr_type = 4, .addr = 0x83fd9004, .val = 0x3f3584ab, }, - { .ptr_type = 4, .addr = 0x83fd900c, .val = 0x3f3584ab, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x04008008, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801a, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801b, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00448019, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x07328018, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x04008008, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008010, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008010, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x06328018, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x03808019, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00408019, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008000, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0400800c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801e, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801f, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801d, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0732801c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0400800c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008014, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008014, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0632801c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0380801d, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0040801d, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008004, }, - { .ptr_type = 4, .addr = 0x83fd9000, .val = 0xb2a20000, }, - { .ptr_type = 4, .addr = 0x83fd9008, .val = 0xb2a20000, }, - { .ptr_type = 4, .addr = 0x83fd9010, .val = 0x000ad6d0, }, - { .ptr_type = 4, .addr = 0x83fd9034, .val = 0x90000000, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00000000, }, -}; - -#define APP_DEST 0x90000000 - -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = APP_DEST + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = APP_DEST + 0x400 + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = APP_DEST, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof (dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; - From bb9e67f398b278f2849014a98f34826f1e75430d Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Sun, 23 Jun 2013 22:48:56 +0200 Subject: [PATCH 06/15] ARM: i.MX51 karo-tx51: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/karo-tx51/Makefile | 1 - .../karo-tx51/flash-header-karo-tx51.imxcfg | 13 +++++ arch/arm/boards/karo-tx51/flash_header.c | 52 ------------------- 4 files changed, 14 insertions(+), 53 deletions(-) create mode 100644 arch/arm/boards/karo-tx51/flash-header-karo-tx51.imxcfg delete mode 100644 arch/arm/boards/karo-tx51/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 678819fdf..a6ed2953d 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -213,6 +213,7 @@ imxcfg-$(CONFIG_MACH_FREESCALE_MX53_SMD) += $(boarddir)/freescale-mx53-smd/flash imxcfg-$(CONFIG_MACH_SABRESD) += $(boarddir)/freescale-mx6-sabresd/flash-header.imxcfg imxcfg-$(CONFIG_MACH_MX6Q_ARM2) += $(boarddir)/freescale-mx6-arm2/flash-header.imxcfg imxcfg-$(CONFIG_MACH_CCMX51) += $(boarddir)/ccxmx51/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/karo-tx51/Makefile b/arch/arm/boards/karo-tx51/Makefile index 988abea5a..5afc8e23e 100644 --- a/arch/arm/boards/karo-tx51/Makefile +++ b/arch/arm/boards/karo-tx51/Makefile @@ -1,3 +1,2 @@ obj-y += tx51.o -lwl-$(CONFIG_ARCH_IMX_INTERNAL_BOOT) += flash_header.o lwl-y += lowlevel.o diff --git a/arch/arm/boards/karo-tx51/flash-header-karo-tx51.imxcfg b/arch/arm/boards/karo-tx51/flash-header-karo-tx51.imxcfg new file mode 100644 index 000000000..ebb7c4f39 --- /dev/null +++ b/arch/arm/boards/karo-tx51/flash-header-karo-tx51.imxcfg @@ -0,0 +1,13 @@ +soc imx51 +loadaddr 0x90000000 +dcdofs 0x400 +wm 32 0x83fd9000 0x80000000 +wm 32 0x83fd9014 0x04008008 +wm 32 0x83fd9014 0x00008010 +wm 32 0x83fd9014 0x00008010 +wm 32 0x83fd9014 0x00338018 +wm 32 0x83fd9000 0xb2220000 +wm 32 0x83fd9004 0xb08564a9 +wm 32 0x83fd9034 0x20020000 +wm 32 0x83fd9010 0x000a0080 +wm 32 0x83fd9014 0x00000000 diff --git a/arch/arm/boards/karo-tx51/flash_header.c b/arch/arm/boards/karo-tx51/flash_header.c deleted file mode 100644 index e949bd755..000000000 --- a/arch/arm/boards/karo-tx51/flash_header.c +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Copyright (C) 2012 Christian Kapeller, - * - * 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. - * - */ - -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0x83fd9000, .val = 0x80000000, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x04008008, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008010, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008010, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00338018, }, - { .ptr_type = 4, .addr = 0x83fd9000, .val = 0xb2220000, }, - { .ptr_type = 4, .addr = 0x83fd9004, .val = 0xb08564a9, }, - { .ptr_type = 4, .addr = 0x83fd9034, .val = 0x20020000, }, - { .ptr_type = 4, .addr = 0x83fd9010, .val = 0x000a0080, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00000000, }, -}; - -#define APP_DEST 0x90000000 - -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = APP_DEST + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = APP_DEST + 0x400 + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = APP_DEST, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof (dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; From 9bb88c187b57c809461d4094d4c2db7cf41a5b0e Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Sun, 23 Jun 2013 22:54:53 +0200 Subject: [PATCH 07/15] ARM: i.MX51 vincell: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/guf-vincell/Makefile | 2 +- .../boards/guf-vincell/flash-header.imxcfg | 3 ++ arch/arm/boards/guf-vincell/flash_header.c | 41 ------------------- 4 files changed, 5 insertions(+), 42 deletions(-) create mode 100644 arch/arm/boards/guf-vincell/flash-header.imxcfg delete mode 100644 arch/arm/boards/guf-vincell/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index a6ed2953d..56d29feed 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -214,6 +214,7 @@ imxcfg-$(CONFIG_MACH_SABRESD) += $(boarddir)/freescale-mx6-sabresd/flash-header. imxcfg-$(CONFIG_MACH_MX6Q_ARM2) += $(boarddir)/freescale-mx6-arm2/flash-header.imxcfg imxcfg-$(CONFIG_MACH_CCMX51) += $(boarddir)/ccxmx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcfg +imxcfg-$(CONFIG_MACH_GUF_VINCELL) += $(boarddir)/guf-vincell/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/guf-vincell/Makefile b/arch/arm/boards/guf-vincell/Makefile index aa30b7f2e..01c7a259e 100644 --- a/arch/arm/boards/guf-vincell/Makefile +++ b/arch/arm/boards/guf-vincell/Makefile @@ -1,2 +1,2 @@ obj-y += board.o -lwl-y += flash_header.o lowlevel.o +lwl-y += lowlevel.o diff --git a/arch/arm/boards/guf-vincell/flash-header.imxcfg b/arch/arm/boards/guf-vincell/flash-header.imxcfg new file mode 100644 index 000000000..bb0c318b7 --- /dev/null +++ b/arch/arm/boards/guf-vincell/flash-header.imxcfg @@ -0,0 +1,3 @@ +soc imx53 +loadaddr 0xf8020000 +dcdofs 0x400 diff --git a/arch/arm/boards/guf-vincell/flash_header.c b/arch/arm/boards/guf-vincell/flash_header.c deleted file mode 100644 index df480d254..000000000 --- a/arch/arm/boards/guf-vincell/flash_header.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2011 Marc Kleine-Budde - * - * 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. - * - */ - -#include -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -#define APP_DEST 0xf8020000 - -struct imx_flash_header_v2 __flash_header_section flash_header = { - .header.tag = IVT_HEADER_TAG, - .header.length = cpu_to_be16(32), - .header.version = IVT_VERSION, - - .entry = APP_DEST + 0x1000, - .dcd_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, dcd), - .boot_data_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, boot_data), - .self = APP_DEST + 0x400, - - .boot_data.start = APP_DEST, - .boot_data.size = DCD_BAREBOX_SIZE, -}; From 98de8b6e5d8927fd3d37d24f12f145b21fdd148a Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 29 Jan 2014 22:07:35 +0100 Subject: [PATCH 08/15] ARM: i.MX51: Eukrea cpuimx51: Switch to imx-image Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/eukrea_cpuimx51/Makefile | 1 - .../eukrea_cpuimx51/flash-header.imxcfg | 59 +++++++++++++ .../arm/boards/eukrea_cpuimx51/flash_header.c | 83 ------------------- 4 files changed, 60 insertions(+), 84 deletions(-) create mode 100644 arch/arm/boards/eukrea_cpuimx51/flash-header.imxcfg delete mode 100644 arch/arm/boards/eukrea_cpuimx51/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 56d29feed..1ea764765 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -215,6 +215,7 @@ imxcfg-$(CONFIG_MACH_MX6Q_ARM2) += $(boarddir)/freescale-mx6-arm2/flash-header.i imxcfg-$(CONFIG_MACH_CCMX51) += $(boarddir)/ccxmx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcfg imxcfg-$(CONFIG_MACH_GUF_VINCELL) += $(boarddir)/guf-vincell/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += $(boarddir)/eukrea_cpuimx51/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/eukrea_cpuimx51/Makefile b/arch/arm/boards/eukrea_cpuimx51/Makefile index 1509c9245..96e26d03e 100644 --- a/arch/arm/boards/eukrea_cpuimx51/Makefile +++ b/arch/arm/boards/eukrea_cpuimx51/Makefile @@ -1,3 +1,2 @@ obj-y += eukrea_cpuimx51.o -lwl-y += flash_header.o lwl-y += lowlevel.o diff --git a/arch/arm/boards/eukrea_cpuimx51/flash-header.imxcfg b/arch/arm/boards/eukrea_cpuimx51/flash-header.imxcfg new file mode 100644 index 000000000..5b5110628 --- /dev/null +++ b/arch/arm/boards/eukrea_cpuimx51/flash-header.imxcfg @@ -0,0 +1,59 @@ +soc imx51 +dcdofs 0x400 +loadaddr 0x90000000 +wm 32 0x73fa88a0 0x00000200 +wm 32 0x73fa850c 0x000020c5 +wm 32 0x73fa8510 0x000020c5 +wm 32 0x73fa883c 0x00000002 +wm 32 0x73fa8848 0x00000002 +wm 32 0x73fa84b8 0x000000e7 +wm 32 0x73fa84bc 0x00000045 +wm 32 0x73fa84c0 0x00000045 +wm 32 0x73fa84c4 0x00000045 +wm 32 0x73fa84c8 0x00000045 +wm 32 0x73fa8820 0x00000000 +wm 32 0x73fa84a4 0x00000003 +wm 32 0x73fa84a8 0x00000003 +wm 32 0x73fa84ac 0x000000e3 +wm 32 0x73fa84b0 0x000000e3 +wm 32 0x73fa84b4 0x000000e3 +wm 32 0x73fa84cc 0x000000e3 +wm 32 0x73fa84d0 0x000000e2 +wm 32 0x73fa882c 0x00000004 +wm 32 0x73fa88a4 0x00000004 +wm 32 0x73fa88ac 0x00000004 +wm 32 0x73fa88b8 0x00000004 +wm 32 0x83fd9000 0x82a20000 +wm 32 0x83fd9008 0x82a20000 +wm 32 0x83fd9010 0x000ad0d0 +wm 32 0x83fd9004 0x3f3584ab +wm 32 0x83fd900c 0x3f3584ab +wm 32 0x83fd9014 0x04008008 +wm 32 0x83fd9014 0x0000801a +wm 32 0x83fd9014 0x0000801b +wm 32 0x83fd9014 0x00448019 +wm 32 0x83fd9014 0x07328018 +wm 32 0x83fd9014 0x04008008 +wm 32 0x83fd9014 0x00008010 +wm 32 0x83fd9014 0x00008010 +wm 32 0x83fd9014 0x06328018 +wm 32 0x83fd9014 0x03808019 +wm 32 0x83fd9014 0x00408019 +wm 32 0x83fd9014 0x00008000 +wm 32 0x83fd9014 0x0400800c +wm 32 0x83fd9014 0x0000801e +wm 32 0x83fd9014 0x0000801f +wm 32 0x83fd9014 0x0000801d +wm 32 0x83fd9014 0x0732801c +wm 32 0x83fd9014 0x0400800c +wm 32 0x83fd9014 0x00008014 +wm 32 0x83fd9014 0x00008014 +wm 32 0x83fd9014 0x0632801c +wm 32 0x83fd9014 0x0380801d +wm 32 0x83fd9014 0x0040801d +wm 32 0x83fd9014 0x00008004 +wm 32 0x83fd9000 0xb2a20000 +wm 32 0x83fd9008 0xb2a20000 +wm 32 0x83fd9010 0x000ad6d0 +wm 32 0x83fd9034 0x90000000 +wm 32 0x83fd9014 0x00000000 diff --git a/arch/arm/boards/eukrea_cpuimx51/flash_header.c b/arch/arm/boards/eukrea_cpuimx51/flash_header.c deleted file mode 100644 index 81bd4427b..000000000 --- a/arch/arm/boards/eukrea_cpuimx51/flash_header.c +++ /dev/null @@ -1,83 +0,0 @@ -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0x73fa88a0, .val = 0x00000200, }, - { .ptr_type = 4, .addr = 0x73fa850c, .val = 0x000020c5, }, - { .ptr_type = 4, .addr = 0x73fa8510, .val = 0x000020c5, }, - { .ptr_type = 4, .addr = 0x73fa883c, .val = 0x00000002, }, - { .ptr_type = 4, .addr = 0x73fa8848, .val = 0x00000002, }, - { .ptr_type = 4, .addr = 0x73fa84b8, .val = 0x000000e7, }, - { .ptr_type = 4, .addr = 0x73fa84bc, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa84c0, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa84c4, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa84c8, .val = 0x00000045, }, - { .ptr_type = 4, .addr = 0x73fa8820, .val = 0x00000000, }, - { .ptr_type = 4, .addr = 0x73fa84a4, .val = 0x00000003, }, - { .ptr_type = 4, .addr = 0x73fa84a8, .val = 0x00000003, }, - { .ptr_type = 4, .addr = 0x73fa84ac, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84b0, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84b4, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84cc, .val = 0x000000e3, }, - { .ptr_type = 4, .addr = 0x73fa84d0, .val = 0x000000e2, }, - { .ptr_type = 4, .addr = 0x73fa882c, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x73fa88a4, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x73fa88ac, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x73fa88b8, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0x83fd9000, .val = 0x82a20000, }, - { .ptr_type = 4, .addr = 0x83fd9008, .val = 0x82a20000, }, - { .ptr_type = 4, .addr = 0x83fd9010, .val = 0x000ad0d0, }, - { .ptr_type = 4, .addr = 0x83fd9004, .val = 0x3f3584ab, }, - { .ptr_type = 4, .addr = 0x83fd900c, .val = 0x3f3584ab, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x04008008, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801a, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801b, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00448019, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x07328018, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x04008008, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008010, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008010, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x06328018, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x03808019, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00408019, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008000, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0400800c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801e, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801f, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0000801d, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0732801c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0400800c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008014, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008014, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0632801c, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0380801d, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x0040801d, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00008004, }, - { .ptr_type = 4, .addr = 0x83fd9000, .val = 0xb2a20000, }, - { .ptr_type = 4, .addr = 0x83fd9008, .val = 0xb2a20000, }, - { .ptr_type = 4, .addr = 0x83fd9010, .val = 0x000ad6d0, }, - { .ptr_type = 4, .addr = 0x83fd9034, .val = 0x90000000, }, - { .ptr_type = 4, .addr = 0x83fd9014, .val = 0x00000000, }, -}; - -#define APP_DEST 0x90000000 - -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = APP_DEST + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = APP_DEST + 0x400 + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = APP_DEST, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof (dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; From 828c8d348d9eb1c6756bb97a586c23363c65e545 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 29 Jan 2014 23:13:20 +0100 Subject: [PATCH 09/15] ARM: i.MX25: freescale-mx25-3stack: Switch to imx-image Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/freescale-mx25-3ds/3stack.c | 61 ------------------- .../freescale-mx25-3ds/flash-header.imxcfg | 42 +++++++++++++ 3 files changed, 43 insertions(+), 61 deletions(-) create mode 100644 arch/arm/boards/freescale-mx25-3ds/flash-header.imxcfg diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 1ea764765..41ce66b3e 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -216,6 +216,7 @@ imxcfg-$(CONFIG_MACH_CCMX51) += $(boarddir)/ccxmx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcfg imxcfg-$(CONFIG_MACH_GUF_VINCELL) += $(boarddir)/guf-vincell/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += $(boarddir)/eukrea_cpuimx51/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_FREESCALE_MX25_3STACK) += $(boarddir)/freescale-mx25-3ds/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/freescale-mx25-3ds/3stack.c b/arch/arm/boards/freescale-mx25-3ds/3stack.c index bd0e839b7..f0000101d 100644 --- a/arch/arm/boards/freescale-mx25-3ds/3stack.c +++ b/arch/arm/boards/freescale-mx25-3ds/3stack.c @@ -42,67 +42,6 @@ #include #include -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0xb8002050, .val = 0x0000d843, }, - { .ptr_type = 4, .addr = 0xb8002054, .val = 0x22252521, }, - { .ptr_type = 4, .addr = 0xb8002058, .val = 0x22220a00, }, -#if defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_64MB_DDR2 - { .ptr_type = 4, .addr = 0xb8001004, .val = 0x0076e83a, }, - { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000304, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92210000, }, - { .ptr_type = 4, .addr = 0x80000f00, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2210000, }, - { .ptr_type = 1, .addr = 0x82000000, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x83000000, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x81000400, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x80000333, .val = 0xda, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92210000, }, - { .ptr_type = 4, .addr = 0x80000400, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2210000, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x87654321, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x87654321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2210000, }, - { .ptr_type = 1, .addr = 0x80000233, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x81000780, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x81000400, .val = 0xda, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x82216080, }, -#elif defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_128MB_MDDR - { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92100000, }, - { .ptr_type = 1, .addr = 0x80000400, .val = 0x21, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2100000, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2100000, }, - { .ptr_type = 1, .addr = 0x80000033, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x81000000, .val = 0xff, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x82216880, }, - { .ptr_type = 4, .addr = 0xb8001004, .val = 0x00295729, }, -#else -#error "Unsupported SDRAM type" -#endif - { .ptr_type = 4, .addr = 0x53f80008, .val = 0x20034000, }, -}; - -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = DEST_BASE + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = DEST_BASE, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof(dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; - static struct fec_platform_data fec_info = { .xcv_type = PHY_INTERFACE_MODE_RMII, .phy_addr = 1, diff --git a/arch/arm/boards/freescale-mx25-3ds/flash-header.imxcfg b/arch/arm/boards/freescale-mx25-3ds/flash-header.imxcfg new file mode 100644 index 000000000..f195e8c00 --- /dev/null +++ b/arch/arm/boards/freescale-mx25-3ds/flash-header.imxcfg @@ -0,0 +1,42 @@ +soc imx25 +loadaddr 0x80000000 +dcdofs 0x400 +wm 32 0xb8002050 0x0000d843 +wm 32 0xb8002054 0x22252521 +wm 32 0xb8002058 0x22220a00 +#if defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_64MB_DDR2 +wm 32 0xb8001004 0x0076e83a +wm 32 0xb8001010 0x00000304 +wm 32 0xb8001000 0x92210000 +wm 32 0x80000f00 0x12344321 +wm 32 0xb8001000 0xb2210000 +wm 8 0x82000000 0xda +wm 8 0x83000000 0xda +wm 8 0x81000400 0xda +wm 8 0x80000333 0xda +wm 32 0xb8001000 0x92210000 +wm 32 0x80000400 0x12344321 +wm 32 0xb8001000 0xa2210000 +wm 32 0x80000000 0x87654321 +wm 32 0x80000000 0x87654321 +wm 32 0xb8001000 0xb2210000 +wm 8 0x80000233 0xda +wm 8 0x81000780 0xda +wm 8 0x81000400 0xda +wm 32 0xb8001000 0x82216080 +#elif defined CONFIG_FREESCALE_MX25_3STACK_SDRAM_128MB_MDDR +wm 32 0xb8001010 0x00000004 +wm 32 0xb8001000 0x92100000 +wm 8 0x80000400 0x21 +wm 32 0xb8001000 0xa2100000 +wm 32 0x80000000 0x12344321 +wm 32 0x80000000 0x12344321 +wm 32 0xb8001000 0xb2100000 +wm 8 0x80000033 0xda +wm 8 0x81000000 0xff +wm 32 0xb8001000 0x82216880 +wm 32 0xb8001004 0x00295729 +#else +#error "Unsupported SDRAM type" +#endif +wm 32 0x53f80008 0x20034000 From 432ac5aef0e96e18fc5fc553e056e09854f4d474 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 29 Jan 2014 23:20:17 +0100 Subject: [PATCH 10/15] ARM: i.MX53: TQ tqma53: Switch to imx-image Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/tqma53/flash-header.imxcfg | 66 ++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 arch/arm/boards/tqma53/flash-header.imxcfg diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 41ce66b3e..b7509d0b1 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -217,6 +217,7 @@ imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcf imxcfg-$(CONFIG_MACH_GUF_VINCELL) += $(boarddir)/guf-vincell/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += $(boarddir)/eukrea_cpuimx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_FREESCALE_MX25_3STACK) += $(boarddir)/freescale-mx25-3ds/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_TQMA53) += $(boarddir)/tqma53/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/tqma53/flash-header.imxcfg b/arch/arm/boards/tqma53/flash-header.imxcfg new file mode 100644 index 000000000..e161a35d5 --- /dev/null +++ b/arch/arm/boards/tqma53/flash-header.imxcfg @@ -0,0 +1,66 @@ +soc imx53 +loadaddr 0x70000000 +dcdofs 0x400 + +/* IOMUX */ +wm 32 0x53fa8554 cpu_to_be32(0x00300000 +wm 32 0x53fa8558 cpu_to_be32(0x00300040 +wm 32 0x53fa8560 cpu_to_be32(0x00300000 +wm 32 0x53fa8564 cpu_to_be32(0x00300040 +wm 32 0x53fa8568 cpu_to_be32(0x00300040 +wm 32 0x53fa8570 cpu_to_be32(0x00300000 +wm 32 0x53fa8574 cpu_to_be32(0x00300000 +wm 32 0x53fa8578 cpu_to_be32(0x00300000 +wm 32 0x53fa857c cpu_to_be32(0x00300040 +wm 32 0x53fa8580 cpu_to_be32(0x00300040 +wm 32 0x53fa8584 cpu_to_be32(0x00300000 +wm 32 0x53fa8588 cpu_to_be32(0x00300000 +wm 32 0x53fa8590 cpu_to_be32(0x00300040 +wm 32 0x53fa8594 cpu_to_be32(0x00300000 +wm 32 0x53fa86f0 cpu_to_be32(0x00300000 +wm 32 0x53fa86f4 cpu_to_be32(0x00000000 +wm 32 0x53fa86fc cpu_to_be32(0x00000000 +wm 32 0x53fa8714 cpu_to_be32(0x00000000 +wm 32 0x53fa8718 cpu_to_be32(0x00300000 +wm 32 0x53fa871c cpu_to_be32(0x00300000 +wm 32 0x53fa8720 cpu_to_be32(0x00300000 +wm 32 0x53fa8724 cpu_to_be32(0x04000000 +wm 32 0x53fa8728 cpu_to_be32(0x00300000 +wm 32 0x53fa872c cpu_to_be32(0x00300000 +/* ESDCTL */ +wm 32 0x63fd9088 cpu_to_be32(0x35343535 +wm 32 0x63fd9090 cpu_to_be32(0x4d444c44 +wm 32 0x63fd907c cpu_to_be32(0x01370138 +wm 32 0x63fd9080 cpu_to_be32(0x013b013c +wm 32 0x63fd90f8 cpu_to_be32(0x00000800 +#ifdef CONFIG_MACH_TQMA53_1GB_RAM +/* sync with u-boot: add WALAT for 4 chip variant */ +wm 32 0x63fd9018 cpu_to_be32(0x00011740 +wm 32 0x63fd9000 cpu_to_be32(0xc3190000 +#else +wm 32 0x63fd9018 cpu_to_be32(0x00101740 +wm 32 0x63fd9000 cpu_to_be32(0x83190000 +#endif +wm 32 0x63fd900c cpu_to_be32(0x9f5152e3 +wm 32 0x63fd9010 cpu_to_be32(0xb68e8a63 +wm 32 0x63fd9014 cpu_to_be32(0x01ff00db +wm 32 0x63fd902c cpu_to_be32(0x000026d2 +/* Engcm12377 / errata sheet 03/2013 */ +wm 32 0x63fd9030 cpu_to_be32(0x009f0e23 +wm 32 0x63fd9008 cpu_to_be32(0x12273030 +wm 32 0x63fd9004 cpu_to_be32(0x0002002d +wm 32 0x63fd901c cpu_to_be32(0x00008032 +wm 32 0x63fd901c cpu_to_be32(0x00008033 +wm 32 0x63fd901c cpu_to_be32(0x00028031 +wm 32 0x63fd901c cpu_to_be32(0x052080b0 +wm 32 0x63fd901c cpu_to_be32(0x04008040 +wm 32 0x63fd901c cpu_to_be32(0x0000803a +wm 32 0x63fd901c cpu_to_be32(0x0000803b +wm 32 0x63fd901c cpu_to_be32(0x00028039 +wm 32 0x63fd901c cpu_to_be32(0x05208138 +wm 32 0x63fd901c cpu_to_be32(0x04008048 +wm 32 0x63fd9020 cpu_to_be32(0x00005800 +/* prevent reserved value, use default TZQ_CS */ +wm 32 0x63fd9040 cpu_to_be32(0x05380003 +wm 32 0x63fd9058 cpu_to_be32(0x00022227 +wm 32 0x63fd901C cpu_to_be32(0x00000000 From c0e66c123b4436f50329817f8484cddf6b6dc530 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 29 Jan 2014 23:30:47 +0100 Subject: [PATCH 11/15] ARM: i.MX25: Eukrea cpuimx25: Switch to imx-image Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/eukrea_cpuimx25/Makefile | 1 - .../eukrea_cpuimx25/flash-header.imxcfg | 16 +++++ .../arm/boards/eukrea_cpuimx25/flash_header.c | 61 ------------------- 4 files changed, 17 insertions(+), 62 deletions(-) create mode 100644 arch/arm/boards/eukrea_cpuimx25/flash-header.imxcfg delete mode 100644 arch/arm/boards/eukrea_cpuimx25/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index b7509d0b1..eb9d200ae 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -218,6 +218,7 @@ imxcfg-$(CONFIG_MACH_GUF_VINCELL) += $(boarddir)/guf-vincell/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += $(boarddir)/eukrea_cpuimx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_FREESCALE_MX25_3STACK) += $(boarddir)/freescale-mx25-3ds/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TQMA53) += $(boarddir)/tqma53/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX25) += $(boarddir)/eukrea_cpuimx25/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/eukrea_cpuimx25/Makefile b/arch/arm/boards/eukrea_cpuimx25/Makefile index 203fcfb7f..4f084760c 100644 --- a/arch/arm/boards/eukrea_cpuimx25/Makefile +++ b/arch/arm/boards/eukrea_cpuimx25/Makefile @@ -17,5 +17,4 @@ # obj-y += eukrea_cpuimx25.o -lwl-$(CONFIG_ARCH_IMX_INTERNAL_BOOT) += flash_header.o lwl-y += lowlevel.o diff --git a/arch/arm/boards/eukrea_cpuimx25/flash-header.imxcfg b/arch/arm/boards/eukrea_cpuimx25/flash-header.imxcfg new file mode 100644 index 000000000..8ec906786 --- /dev/null +++ b/arch/arm/boards/eukrea_cpuimx25/flash-header.imxcfg @@ -0,0 +1,16 @@ +soc imx25 +loadaddr 0x80000000 +dcdofs 0x400 + +wm 32 0xb8001010 0x00000004 +wm 32 0xb8001000 0x92100000 +wm 8 0x80000400 0x12344321 +wm 32 0xb8001000 0xa2100000 +wm 32 0x80000000 0x12344321 +wm 32 0x80000000 0x12344321 +wm 32 0xb8001000 0xb2100000 +wm 8 0x80000033 0xda +wm 8 0x81000000 0xff +wm 32 0xb8001000 0x82216080 +wm 32 0xb8001004 0x00295729 +wm 32 0x53f80008 0x20034000 diff --git a/arch/arm/boards/eukrea_cpuimx25/flash_header.c b/arch/arm/boards/eukrea_cpuimx25/flash_header.c deleted file mode 100644 index 9102c2a37..000000000 --- a/arch/arm/boards/eukrea_cpuimx25/flash_header.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * (C) 2009 Pengutronix, Sascha Hauer - * (c) 2010 Eukrea Electromatique, Eric BĂ©nard - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - */ -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92100000, }, - { .ptr_type = 1, .addr = 0x80000400, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2100000, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2100000, }, - { .ptr_type = 1, .addr = 0x80000033, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x81000000, .val = 0xff, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x82216080, }, - { .ptr_type = 4, .addr = 0xb8001004, .val = 0x00295729, }, - { .ptr_type = 4, .addr = 0x53f80008, .val = 0x20034000, }, -}; - -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = DEST_BASE + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = DEST_BASE, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof(dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; From 4024e0351032378f198c8f3d47f4bf9364c24665 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 6 Aug 2013 16:20:32 +0200 Subject: [PATCH 12/15] ARM: i.MX35: eukrea-cpuimx35: Switch to imx-image Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/eukrea_cpuimx35/Makefile | 1 - .../eukrea_cpuimx35/flash-header.imxcfg | 19 ++++++++ .../arm/boards/eukrea_cpuimx35/flash_header.c | 43 ------------------- arch/arm/boards/karo-tx53/Makefile | 1 - 5 files changed, 20 insertions(+), 45 deletions(-) create mode 100644 arch/arm/boards/eukrea_cpuimx35/flash-header.imxcfg delete mode 100644 arch/arm/boards/eukrea_cpuimx35/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index eb9d200ae..a204b4700 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -219,6 +219,7 @@ imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += $(boarddir)/eukrea_cpuimx51/flash-hea imxcfg-$(CONFIG_MACH_FREESCALE_MX25_3STACK) += $(boarddir)/freescale-mx25-3ds/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TQMA53) += $(boarddir)/tqma53/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX25) += $(boarddir)/eukrea_cpuimx25/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX35) += $(boarddir)/eukrea_cpuimx35/flash-header.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/eukrea_cpuimx35/Makefile b/arch/arm/boards/eukrea_cpuimx35/Makefile index 227b76bbb..060f3b107 100644 --- a/arch/arm/boards/eukrea_cpuimx35/Makefile +++ b/arch/arm/boards/eukrea_cpuimx35/Makefile @@ -18,4 +18,3 @@ obj-y += eukrea_cpuimx35.o lwl-y += lowlevel.o -lwl-$(CONFIG_ARCH_IMX_INTERNAL_BOOT) += flash_header.o diff --git a/arch/arm/boards/eukrea_cpuimx35/flash-header.imxcfg b/arch/arm/boards/eukrea_cpuimx35/flash-header.imxcfg new file mode 100644 index 000000000..85200bbb5 --- /dev/null +++ b/arch/arm/boards/eukrea_cpuimx35/flash-header.imxcfg @@ -0,0 +1,19 @@ +soc imx35 +loadaddr 0x80000000 +dcdofs 0x400 + +wm 32 0x53F80004 0x00821000 +wm 32 0x53F80004 0x00821000 +wm 32 0xb8001010 0x00000004 +wm 32 0xB8001010 0x0000000C +wm 32 0xb8001004 0x0009572B +wm 32 0xb8001000 0x92220000 +wm 8 0x80000400 0xda +wm 32 0xb8001000 0xa2220000 +wm 32 0x80000000 0x12344321 +wm 32 0x80000000 0x12344321 +wm 32 0xb8001000 0xb2220000 +wm 8 0x80000033 0xda +wm 8 0x82000000 0xda +wm 32 0xb8001000 0x82224080 +wm 32 0xb8001010 0x00000004 diff --git a/arch/arm/boards/eukrea_cpuimx35/flash_header.c b/arch/arm/boards/eukrea_cpuimx35/flash_header.c deleted file mode 100644 index 6fa9c8b0e..000000000 --- a/arch/arm/boards/eukrea_cpuimx35/flash_header.c +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0x53F80004, .val = 0x00821000, }, - { .ptr_type = 4, .addr = 0x53F80004, .val = 0x00821000, }, - { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000004, }, - { .ptr_type = 4, .addr = 0xB8001010, .val = 0x0000000C, }, - { .ptr_type = 4, .addr = 0xb8001004, .val = 0x0009572B, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x92220000, }, - { .ptr_type = 1, .addr = 0x80000400, .val = 0xda, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xa2220000, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0x80000000, .val = 0x12344321, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0xb2220000, }, - { .ptr_type = 1, .addr = 0x80000033, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x82000000, .val = 0xda, }, - { .ptr_type = 4, .addr = 0xb8001000, .val = 0x82224080, }, - { .ptr_type = 4, .addr = 0xb8001010, .val = 0x00000004, }, -}; - -#define CPUIMX35_DEST_BASE 0x80000000 -#define CPUIMX35_FLASH_HEADER_BASE (CPUIMX35_DEST_BASE + FLASH_HEADER_OFFSET) -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = CPUIMX35_DEST_BASE + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = CPUIMX35_FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = CPUIMX35_FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = CPUIMX35_DEST_BASE, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof(dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; diff --git a/arch/arm/boards/karo-tx53/Makefile b/arch/arm/boards/karo-tx53/Makefile index d44f69771..01c7a259e 100644 --- a/arch/arm/boards/karo-tx53/Makefile +++ b/arch/arm/boards/karo-tx53/Makefile @@ -1,3 +1,2 @@ obj-y += board.o -lwl-y += flash_header.o lwl-y += lowlevel.o From 305d3db1b4101f49ce1f54271ed79960efd81a5d Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 31 Jan 2014 22:37:09 +0100 Subject: [PATCH 13/15] ARM: i.MX35: freescale-mx35-3stack: Switch to imx-image Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 + arch/arm/boards/freescale-mx35-3ds/Makefile | 2 - .../freescale-mx35-3ds/flash-header.imxcfg | 34 +++++++++ .../boards/freescale-mx35-3ds/flash_header.c | 72 ------------------- 4 files changed, 35 insertions(+), 74 deletions(-) create mode 100644 arch/arm/boards/freescale-mx35-3ds/flash-header.imxcfg delete mode 100644 arch/arm/boards/freescale-mx35-3ds/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index a204b4700..9732dc546 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -217,6 +217,7 @@ imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcf imxcfg-$(CONFIG_MACH_GUF_VINCELL) += $(boarddir)/guf-vincell/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += $(boarddir)/eukrea_cpuimx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_FREESCALE_MX25_3STACK) += $(boarddir)/freescale-mx25-3ds/flash-header.imxcfg +imxcfg-$(CONFIG_MACH_FREESCALE_MX35_3STACK) += $(boarddir)/freescale-mx35-3ds/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TQMA53) += $(boarddir)/tqma53/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX25) += $(boarddir)/eukrea_cpuimx25/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX35) += $(boarddir)/eukrea_cpuimx35/flash-header.imxcfg diff --git a/arch/arm/boards/freescale-mx35-3ds/Makefile b/arch/arm/boards/freescale-mx35-3ds/Makefile index a1110c2e0..c0de068f2 100644 --- a/arch/arm/boards/freescale-mx35-3ds/Makefile +++ b/arch/arm/boards/freescale-mx35-3ds/Makefile @@ -1,4 +1,2 @@ - obj-y += 3stack.o lwl-y += lowlevel_init.o -lwl-$(CONFIG_ARCH_IMX_INTERNAL_BOOT) += flash_header.o diff --git a/arch/arm/boards/freescale-mx35-3ds/flash-header.imxcfg b/arch/arm/boards/freescale-mx35-3ds/flash-header.imxcfg new file mode 100644 index 000000000..6eb8bc242 --- /dev/null +++ b/arch/arm/boards/freescale-mx35-3ds/flash-header.imxcfg @@ -0,0 +1,34 @@ +soc imx35 +loadaddr 0x80000000 +dcdofs 0x400 + +wm 32 0xb8002050 0x0000d843 +wm 32 0xb8002054 0x22252521 +wm 32 0xb8002058 0x22220a00 +wm 32 0xb8001010 0x00000304 +wm 32 0xb8001010 0x0000030c +wm 32 0xb8001004 0x007ffc3f +wm 32 0xb800100c 0x007ffc3f +wm 32 0xb8001000 0x92220000 +wm 32 0xb8001008 0x92220000 +wm 32 0x80000400 0x12345678 +wm 32 0x90000400 0x12345678 +wm 32 0xb8001000 0xa2220000 +wm 32 0xb8001008 0xa2220000 +wm 32 0x80000000 0x87654321 +wm 32 0x90000000 0x87654321 +wm 32 0x80000000 0x87654321 +wm 32 0x90000000 0x87654321 +wm 32 0xb8001000 0xb2220000 +wm 32 0xb8001008 0xb2220000 +wm 8 0x80000233 0xda +wm 8 0x90000233 0xda +wm 8 0x82000780 0xda +wm 8 0x92000780 0xda +wm 8 0x82000400 0xda +wm 8 0x92000400 0xda +wm 32 0xb8001000 0x82226080 +wm 32 0xb8001008 0x82226080 +wm 32 0xb8001004 0x007ffc3f +wm 32 0xb800100c 0x007ffc3f +wm 32 0xb8001010 0x00000304 diff --git a/arch/arm/boards/freescale-mx35-3ds/flash_header.c b/arch/arm/boards/freescale-mx35-3ds/flash_header.c deleted file mode 100644 index 076b81649..000000000 --- a/arch/arm/boards/freescale-mx35-3ds/flash_header.c +++ /dev/null @@ -1,72 +0,0 @@ -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_head(); -} - -struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { - { .ptr_type = 4, .addr = 0xb8002050, .val = 0x0000d843, }, - { .ptr_type = 4, .addr = 0xB8002054, .val = 0x22252521, }, - { .ptr_type = 4, .addr = 0xB8002058, .val = 0x22220a00, }, - - { .ptr_type = 4, .addr = 0xB8001010, .val = 0x00000304, }, - { .ptr_type = 4, .addr = 0xB8001010, .val = 0x0000030C, }, - - { .ptr_type = 4, .addr = 0xB8001004, .val = 0x007ffc3f, }, - { .ptr_type = 4, .addr = 0xB800100C, .val = 0x007ffc3f, }, - - { .ptr_type = 4, .addr = 0xB8001000, .val = 0x92220000, }, - { .ptr_type = 4, .addr = 0xB8001008, .val = 0x92220000, }, - - { .ptr_type = 4, .addr = 0x80000400, .val = 0x12345678, }, - { .ptr_type = 4, .addr = 0x90000400, .val = 0x12345678, }, - - { .ptr_type = 4, .addr = 0xB8001000, .val = 0xA2220000, }, - { .ptr_type = 4, .addr = 0xB8001008, .val = 0xA2220000, }, - - { .ptr_type = 4, .addr = 0x80000000, .val = 0x87654321, }, - { .ptr_type = 4, .addr = 0x90000000, .val = 0x87654321, }, - - { .ptr_type = 4, .addr = 0x80000000, .val = 0x87654321, }, - { .ptr_type = 4, .addr = 0x90000000, .val = 0x87654321, }, - - { .ptr_type = 4, .addr = 0xB8001000, .val = 0xB2220000, }, - { .ptr_type = 4, .addr = 0xB8001008, .val = 0xB2220000, }, - - { .ptr_type = 1, .addr = 0x80000233, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x90000233, .val = 0xda, }, - - { .ptr_type = 1, .addr = 0x82000780, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x92000780, .val = 0xda, }, - - { .ptr_type = 1, .addr = 0x82000400, .val = 0xda, }, - { .ptr_type = 1, .addr = 0x92000400, .val = 0xda, }, - - { .ptr_type = 4, .addr = 0xB8001000, .val = 0x82226080, }, - { .ptr_type = 4, .addr = 0xB8001008, .val = 0x82226080, }, - - { .ptr_type = 4, .addr = 0xB8001004, .val = 0x007ffc3f, }, - { .ptr_type = 4, .addr = 0xB800100C, .val = 0x007ffc3f, }, - - { .ptr_type = 4, .addr = 0xB8001010, .val = 0x00000304, }, -}; - - -struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = DEST_BASE + 0x1000, - .app_code_barker = APP_CODE_BARKER, - .app_code_csf = 0, - .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), - .super_root_key = 0, - .dcd = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd_barker), - .app_dest = DEST_BASE, - .dcd_barker = DCD_BARKER, - .dcd_block_len = sizeof(dcd_entry), -}; - -unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE; - From e73419d1a6e80548b1822741cbaea4ddbf1c00d8 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 31 Jan 2014 22:47:15 +0100 Subject: [PATCH 14/15] ARM: i.MX53 karo-tx53: Switch to imximage Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 2 + .../flash-header-tx53-rev1011.imxcfg | 97 +++++++++++++ .../flash-header-tx53-revxx30.imxcfg | 127 ++++++++++++++++++ arch/arm/boards/karo-tx53/flash_header.c | 73 ---------- 4 files changed, 226 insertions(+), 73 deletions(-) create mode 100644 arch/arm/boards/karo-tx53/flash-header-tx53-rev1011.imxcfg create mode 100644 arch/arm/boards/karo-tx53/flash-header-tx53-revxx30.imxcfg delete mode 100644 arch/arm/boards/karo-tx53/flash_header.c diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 9732dc546..c827e8ab6 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -221,6 +221,8 @@ imxcfg-$(CONFIG_MACH_FREESCALE_MX35_3STACK) += $(boarddir)/freescale-mx35-3ds/fl imxcfg-$(CONFIG_MACH_TQMA53) += $(boarddir)/tqma53/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX25) += $(boarddir)/eukrea_cpuimx25/flash-header.imxcfg imxcfg-$(CONFIG_MACH_EUKREA_CPUIMX35) += $(boarddir)/eukrea_cpuimx35/flash-header.imxcfg +imxcfg-$(CONFIG_TX53_REV_1011) += $(boarddir)/karo-tx53/flash-header-tx53-rev1011.imxcfg +imxcfg-$(CONFIG_TX53_REV_XX30) += $(boarddir)/karo-tx53/flash-header-tx53-revxx30.imxcfg ifneq ($(imxcfg-y),) CFG_barebox.imximg := $(imxcfg-y) KBUILD_IMAGE := barebox.imximg diff --git a/arch/arm/boards/karo-tx53/flash-header-tx53-rev1011.imxcfg b/arch/arm/boards/karo-tx53/flash-header-tx53-rev1011.imxcfg new file mode 100644 index 000000000..d5e6454b8 --- /dev/null +++ b/arch/arm/boards/karo-tx53/flash-header-tx53-rev1011.imxcfg @@ -0,0 +1,97 @@ +loadaddr 0x71000000 +soc imx53 +dcdofs 0x400 + +wm 32 0x53fd406c 0xffffffff +wm 32 0x53fd4070 0xffffffff +wm 32 0x53fd4074 0xffffffff +wm 32 0x53fd4078 0xffffffff +wm 32 0x53fd407c 0xffffffff +wm 32 0x53fd4080 0xffffffff +wm 32 0x53fd4088 0xffffffff +wm 32 0x53fa8174 0x00000011 +wm 32 0x63fd800c 0x00000000 +wm 32 0x53fa8554 0x00200000 +wm 32 0x53fa8560 0x00200000 +wm 32 0x53fa8594 0x00200000 +wm 32 0x53fa8584 0x00200000 +wm 32 0x53fa8558 0x00200040 +wm 32 0x53fa8568 0x00200040 +wm 32 0x53fa8590 0x00200040 +wm 32 0x53fa857c 0x00200040 +wm 32 0x53fa8564 0x00200040 +wm 32 0x53fa8580 0x00200040 +wm 32 0x53fa8570 0x00200000 +wm 32 0x53fa8578 0x00200000 +wm 32 0x53fa872c 0x00200000 +wm 32 0x53fa8728 0x00200000 +wm 32 0x53fa871c 0x00200000 +wm 32 0x53fa8718 0x00200000 +wm 32 0x53fa8574 0x00280000 +wm 32 0x53fa8588 0x00280000 +wm 32 0x53fa86f0 0x00280000 +wm 32 0x53fa8720 0x00280000 +wm 32 0x53fa86fc 0x00000000 +wm 32 0x53fa86f4 0x00000200 +wm 32 0x53fa8714 0x00000000 +wm 32 0x53fa8724 0x06000000 +wm 32 0x63fd9088 0x36353b38 +wm 32 0x63fd9090 0x49434942 +wm 32 0x63fd90f8 0x00000800 +wm 32 0x63fd907c 0x01350138 +wm 32 0x63fd9080 0x01380139 +wm 32 0x63fd9018 0x00001710 +wm 32 0x63fd9000 0x84110000 +wm 32 0x63fd900c 0x4d5122d2 +wm 32 0x63fd9010 0xb6f18a22 +wm 32 0x63fd9014 0x00c700db +wm 32 0x63fd902c 0x000026d2 +wm 32 0x63fd9030 0x009f000e +wm 32 0x63fd9008 0x12272000 +wm 32 0x63fd9004 0x00030012 +wm 32 0x63fd901c 0x04008010 +wm 32 0x63fd901c 0x00008020 +wm 32 0x63fd901c 0x00008020 +wm 32 0x63fd901c 0x0a528030 +wm 32 0x63fd901c 0x03868031 +wm 32 0x63fd901c 0x00068031 +wm 32 0x63fd901c 0x00008032 +wm 32 0x63fd9020 0x00005800 +wm 32 0x63fd9058 0x00033332 +wm 32 0x63fd901c 0x00000000 +wm 32 0x63fd901c 0x00448031 +wm 32 0x63fd901c 0x04008018 +wm 32 0x63fd901c 0x00000000 +wm 32 0x63fd9040 0x04b80003 +wm 32 0x53fa8004 0x00194005 +wm 32 0x53fa819c 0x00000000 +wm 32 0x53fa81a0 0x00000000 +wm 32 0x53fa81a4 0x00000000 +wm 32 0x53fa81a8 0x00000000 +wm 32 0x53fa81ac 0x00000000 +wm 32 0x53fa81b0 0x00000000 +wm 32 0x53fa81b4 0x00000000 +wm 32 0x53fa81b8 0x00000000 +wm 32 0x53fa81dc 0x00000000 +wm 32 0x53fa81e0 0x00000000 +wm 32 0x53fa8228 0x00000000 +wm 32 0x53fa822c 0x00000000 +wm 32 0x53fa8230 0x00000000 +wm 32 0x53fa8234 0x00000000 +wm 32 0x53fa8238 0x00000000 +wm 32 0x53fa84ec 0x000000e4 +wm 32 0x53fa84f0 0x000000e4 +wm 32 0x53fa84f4 0x000000e4 +wm 32 0x53fa84f8 0x000000e4 +wm 32 0x53fa84fc 0x000000e4 +wm 32 0x53fa8500 0x000000e4 +wm 32 0x53fa8504 0x000000e4 +wm 32 0x53fa8508 0x000000e4 +wm 32 0x53fa852c 0x00000004 +wm 32 0x53fa8530 0x00000004 +wm 32 0x53fa85a0 0x00000004 +wm 32 0x53fa85a4 0x00000004 +wm 32 0x53fa85a8 0x000000e4 +wm 32 0x53fa85ac 0x000000e4 +wm 32 0x53fa85b0 0x00000004 + diff --git a/arch/arm/boards/karo-tx53/flash-header-tx53-revxx30.imxcfg b/arch/arm/boards/karo-tx53/flash-header-tx53-revxx30.imxcfg new file mode 100644 index 000000000..aec88ad59 --- /dev/null +++ b/arch/arm/boards/karo-tx53/flash-header-tx53-revxx30.imxcfg @@ -0,0 +1,127 @@ +loadaddr 0x71000000 +soc imx53 +dcdofs 0x400 +wm 32 0x53fd4068 0xffcc0fff +wm 32 0x53fd406c 0x000fffc3 +wm 32 0x53fd4070 0x033c0000 +wm 32 0x53fd4074 0x00000000 +wm 32 0x53fd4078 0x00000000 +wm 32 0x53fd407c 0x00fff033 +wm 32 0x53fd4080 0x0f00030f +wm 32 0x53fd4084 0xfff00000 +wm 32 0x53fd4088 0x00000000 +wm 32 0x53fa8174 0x00000011 +wm 32 0x53fa8318 0x00000011 +wm 32 0x63fd800c 0x00000000 +wm 32 0x53fd4014 0x00888944 +wm 32 0x53fd4018 0x00016154 +wm 32 0x53fa8724 0x04000000 +wm 32 0x53fa86f4 0x00000000 +wm 32 0x53fa8714 0x00000000 +wm 32 0x53fa86fc 0x00000080 +wm 32 0x53fa8710 0x00000000 +wm 32 0x53fa8708 0x00000040 +wm 32 0x53fa8584 0x00280000 +wm 32 0x53fa8594 0x00280000 +wm 32 0x53fa8560 0x00280000 +wm 32 0x53fa8554 0x00280000 +wm 32 0x53fa857c 0x00a80040 +wm 32 0x53fa8590 0x00a80040 +wm 32 0x53fa8568 0x00a80040 +wm 32 0x53fa8558 0x00a80040 +wm 32 0x53fa8580 0x00280040 +wm 32 0x53fa8578 0x00280000 +wm 32 0x53fa8564 0x00280040 +wm 32 0x53fa8570 0x00280000 +wm 32 0x53fa858c 0x000000c0 +wm 32 0x53fa855c 0x000000c0 +wm 32 0x53fa8574 0x00280000 +wm 32 0x53fa8588 0x00280000 +wm 32 0x53fa86f0 0x00280000 +wm 32 0x53fa8720 0x00280000 +wm 32 0x53fa8718 0x00280000 +wm 32 0x53fa871c 0x00280000 +wm 32 0x53fa8728 0x00280000 +wm 32 0x53fa872c 0x00280000 +wm 32 0x63fd904c 0x001f001f +wm 32 0x63fd9050 0x001f001f +wm 32 0x63fd907c 0x011e011e +wm 32 0x63fd9080 0x011f0120 +wm 32 0x63fd9088 0x3a393d3b +wm 32 0x63fd9090 0x3f3f3f3f +wm 32 0x63fd9018 0x00011740 +wm 32 0x63fd9000 0x83190000 +wm 32 0x63fd900c 0x3f435316 +wm 32 0x63fd9010 0xb66e0a63 +wm 32 0x63fd9014 0x01ff00db +wm 32 0x63fd902c 0x000026d2 +wm 32 0x63fd9030 0x00430f24 +wm 32 0x63fd9008 0x1b221010 +wm 32 0x63fd9004 0x00030012 +wm 32 0x63fd901c 0x00008032 +wm 32 0x63fd901c 0x00008033 +wm 32 0x63fd901c 0x00408031 +wm 32 0x63fd901c 0x055080b0 +wm 32 0x63fd9020 0x00005800 +wm 32 0x63fd9058 0x00011112 +wm 32 0x63fd90d0 0x00000003 +wm 32 0x63fd901c 0x04008010 +wm 32 0x63fd901c 0x00008040 +wm 32 0x63fd9040 0x0539002b +check 32 while_all_bits_set 0x63fd9040 0x00010000 +wm 32 0x63fd901c 0x00048033 +wm 32 0x63fd901c 0x00848231 +wm 32 0x63fd901c 0x00000000 +wm 32 0x63fd9048 0x00000001 +check 32 while_all_bits_set 0x63fd9048 0x00000001 +wm 32 0x63fd901c 0x00048031 +wm 32 0x63fd901c 0x00008033 +wm 32 0x63fd901c 0x04008010 +wm 32 0x63fd901c 0x00048033 +wm 32 0x63fd907c 0x90000000 +check 32 while_all_bits_set 0x63fd907c 0x90000000 +wm 32 0x63fd901c 0x00008033 +wm 32 0x63fd901c 0x00000000 +wm 32 0x63fd901c 0x04008010 +wm 32 0x63fd901c 0x00048033 +wm 32 0x63fd90a4 0x00000010 +check 32 while_all_bits_set 0x63fd90a4 0x00000010 +wm 32 0x63fd901c 0x00008033 +wm 32 0x63fd901c 0x04008010 +wm 32 0x63fd901c 0x00048033 +wm 32 0x63fd90a0 0x00000010 +check 32 while_all_bits_set 0x63fd90a0 0x00000010 +wm 32 0x63fd901c 0x00008033 +wm 32 0x63fd901c 0x00000000 +wm 32 0x53fa8004 0x00194005 +wm 32 0x53fa819c 0x00000000 +wm 32 0x53fa81a0 0x00000000 +wm 32 0x53fa81a4 0x00000000 +wm 32 0x53fa81a8 0x00000000 +wm 32 0x53fa81ac 0x00000000 +wm 32 0x53fa81b0 0x00000000 +wm 32 0x53fa81b4 0x00000000 +wm 32 0x53fa81b8 0x00000000 +wm 32 0x53fa81dc 0x00000000 +wm 32 0x53fa81e0 0x00000000 +wm 32 0x53fa8228 0x00000000 +wm 32 0x53fa822c 0x00000000 +wm 32 0x53fa8230 0x00000000 +wm 32 0x53fa8234 0x00000000 +wm 32 0x53fa8238 0x00000000 +wm 32 0x53fa84ec 0x000000e4 +wm 32 0x53fa84f0 0x000000e4 +wm 32 0x53fa84f4 0x000000e4 +wm 32 0x53fa84f8 0x000000e4 +wm 32 0x53fa84fc 0x000000e4 +wm 32 0x53fa8500 0x000000e4 +wm 32 0x53fa8504 0x000000e4 +wm 32 0x53fa8508 0x000000e4 +wm 32 0x53fa852c 0x00000004 +wm 32 0x53fa8530 0x00000004 +wm 32 0x53fa85a0 0x00000004 +wm 32 0x53fa85a4 0x00000004 +wm 32 0x53fa85a8 0x000000e4 +wm 32 0x53fa85ac 0x000000e4 +wm 32 0x53fa85b0 0x00000004 + diff --git a/arch/arm/boards/karo-tx53/flash_header.c b/arch/arm/boards/karo-tx53/flash_header.c deleted file mode 100644 index 5c6aa53e4..000000000 --- a/arch/arm/boards/karo-tx53/flash_header.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2011 Marc Kleine-Budde - * - * 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. - * - */ - -#include -#include -#include -#include - -void __naked __flash_header_start go(void) -{ - barebox_arm_imx_fcb_head(); -} - -/* - * FIXME: These are the dcd values for a Ka-Ro TX53 1011 which - * is not in production. It has 1GB DDR2 memory. - */ -#ifdef CONFIG_TX53_REV_1011 - -#define DCD_NAME_1011 struct imx_dcd_v2_entry __dcd_entry_section dcd_entry - -#include "dcd-data-1011.h" - -#elif defined(CONFIG_TX53_REV_XX30) - -#define DCD_NAME_XX30 u32 __dcd_entry_section dcd_entry - -#include "dcd-data-xx30.h" - -#endif - -#define APP_DEST 0x71000000 - -int tx53_dcdentry_size = sizeof(dcd_entry); -void *tx53_dcd_entry = &dcd_entry; - -struct imx_flash_header_v2 __flash_header_section flash_header = { - .header.tag = IVT_HEADER_TAG, - .header.length = cpu_to_be16(32), - .header.version = IVT_VERSION, - - .entry = APP_DEST + 0x1000, - .dcd_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, dcd), - .boot_data_ptr = APP_DEST + 0x400 + offsetof(struct imx_flash_header_v2, boot_data), - .self = APP_DEST + 0x400, - - .boot_data.start = APP_DEST, - .boot_data.size = DCD_BAREBOX_SIZE, - - .dcd.header.tag = DCD_HEADER_TAG, - .dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)), - .dcd.header.version = DCD_VERSION, - - .dcd.command.tag = DCD_COMMAND_WRITE_TAG, -#ifdef CONFIG_TX53_REV_1011 - .dcd.command.length = cpu_to_be16(sizeof(struct imx_dcd_command) + sizeof(dcd_entry)), -#elif defined(CONFIG_TX53_REV_XX30) - .dcd.command.length = cpu_to_be16(0x21c), -#endif - .dcd.command.param = DCD_COMMAND_WRITE_PARAM, -}; From d7db7df1879e17d547e123f9a56abeac26aab203 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Mon, 17 Feb 2014 13:04:12 +0100 Subject: [PATCH 15/15] ARM: i.MX6: sabresd: switch to multi-image Signed-off-by: Lucas Stach Signed-off-by: Sascha Hauer --- arch/arm/Makefile | 1 - .../arm/boards/freescale-mx6-sabresd/Makefile | 3 +- arch/arm/boards/freescale-mx6-sabresd/board.c | 33 +++++++------------ ...imxcfg => flash-header-mx6-sabresd.imxcfg} | 0 .../boards/freescale-mx6-sabresd/lowlevel.c | 11 +++++-- .../configs/freescale-mx6-sabresd_defconfig | 4 +-- arch/arm/dts/Makefile | 1 + arch/arm/dts/imx6q-sabresd.dts | 5 +++ arch/arm/dts/imx6qdl-sabresd.dtsi | 13 ++++++++ arch/arm/mach-imx/Kconfig | 8 ++--- images/Makefile.imx | 5 +++ 11 files changed, 52 insertions(+), 32 deletions(-) rename arch/arm/boards/freescale-mx6-sabresd/{flash-header.imxcfg => flash-header-mx6-sabresd.imxcfg} (100%) diff --git a/arch/arm/Makefile b/arch/arm/Makefile index c827e8ab6..2bbba35a6 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -210,7 +210,6 @@ barebox.imximg: $(KBUILD_BINARY) FORCE boarddir = $(srctree)/arch/arm/boards imxcfg-$(CONFIG_MACH_FREESCALE_MX53_SMD) += $(boarddir)/freescale-mx53-smd/flash-header.imxcfg -imxcfg-$(CONFIG_MACH_SABRESD) += $(boarddir)/freescale-mx6-sabresd/flash-header.imxcfg imxcfg-$(CONFIG_MACH_MX6Q_ARM2) += $(boarddir)/freescale-mx6-arm2/flash-header.imxcfg imxcfg-$(CONFIG_MACH_CCMX51) += $(boarddir)/ccxmx51/flash-header.imxcfg imxcfg-$(CONFIG_MACH_TX51) += $(boarddir)/karo-tx51/flash-header-karo-tx51.imxcfg diff --git a/arch/arm/boards/freescale-mx6-sabresd/Makefile b/arch/arm/boards/freescale-mx6-sabresd/Makefile index 01c7a259e..f72c641e1 100644 --- a/arch/arm/boards/freescale-mx6-sabresd/Makefile +++ b/arch/arm/boards/freescale-mx6-sabresd/Makefile @@ -1,2 +1,3 @@ -obj-y += board.o +obj-y += board.o flash-header-mx6-sabresd.dcd.o +extra-y += flash-header-mx6-sabresd.dcd.S flash-header-mx6-sabresd.dcd lwl-y += lowlevel.o diff --git a/arch/arm/boards/freescale-mx6-sabresd/board.c b/arch/arm/boards/freescale-mx6-sabresd/board.c index c87b55538..4e4ce7a01 100644 --- a/arch/arm/boards/freescale-mx6-sabresd/board.c +++ b/arch/arm/boards/freescale-mx6-sabresd/board.c @@ -40,14 +40,6 @@ #define PHY_ID_AR8031 0x004dd074 #define AR_PHY_ID_MASK 0xffffffff -static int sabresd_mem_init(void) -{ - arm_add_mem_device("ram0", 0x10000000, SZ_1G); - - return 0; -} -mem_initcall(sabresd_mem_init); - static int ar8031_phy_fixup(struct phy_device *dev) { u16 val; @@ -71,27 +63,21 @@ static int ar8031_phy_fixup(struct phy_device *dev) return 0; } -static void sabresd_phy_reset(void) -{ - /* Reset AR8031 PHY */ - gpio_direction_output(IMX_GPIO_NR(1, 25) , 0); - udelay(500); - gpio_set_value(IMX_GPIO_NR(1, 25), 1); -} - static int sabresd_devices_init(void) { + if (!of_machine_is_compatible("fsl,imx6q-sabresd")) + return 0; + armlinux_set_architecture(3980); - devfs_add_partition("disk0", 0, SZ_1M, DEVFS_PARTITION_FIXED, "self0"); - devfs_add_partition("disk0", SZ_1M + SZ_1M, SZ_512K, DEVFS_PARTITION_FIXED, "env0"); return 0; } device_initcall(sabresd_devices_init); static int sabresd_coredevices_init(void) { - sabresd_phy_reset(); + if (!of_machine_is_compatible("fsl,imx6q-sabresd")) + return 0; phy_register_fixup_for_uid(PHY_ID_AR8031, AR_PHY_ID_MASK, ar8031_phy_fixup); @@ -102,14 +88,17 @@ static int sabresd_coredevices_init(void) * Do this before the fec initializes but after our * gpios are available. */ -fs_initcall(sabresd_coredevices_init); +coredevice_initcall(sabresd_coredevices_init); -static int sabresd_core_init(void) +static int sabresd_postcore_init(void) { + if (!of_machine_is_compatible("fsl,imx6q-sabresd")) + return 0; + imx6_init_lowlevel(); barebox_set_hostname("sabresd"); return 0; } -core_initcall(sabresd_core_init); +postcore_initcall(sabresd_postcore_init); diff --git a/arch/arm/boards/freescale-mx6-sabresd/flash-header.imxcfg b/arch/arm/boards/freescale-mx6-sabresd/flash-header-mx6-sabresd.imxcfg similarity index 100% rename from arch/arm/boards/freescale-mx6-sabresd/flash-header.imxcfg rename to arch/arm/boards/freescale-mx6-sabresd/flash-header-mx6-sabresd.imxcfg diff --git a/arch/arm/boards/freescale-mx6-sabresd/lowlevel.c b/arch/arm/boards/freescale-mx6-sabresd/lowlevel.c index aec46fd8c..c8b542aa2 100644 --- a/arch/arm/boards/freescale-mx6-sabresd/lowlevel.c +++ b/arch/arm/boards/freescale-mx6-sabresd/lowlevel.c @@ -3,8 +3,15 @@ #include #include -void __naked barebox_arm_reset_vector(void) +extern char __dtb_imx6q_sabresd_start[]; + +ENTRY_FUNCTION(start_imx6q_sabresd, r0, r1, r2) { + uint32_t fdt; + arm_cpu_lowlevel_init(); - barebox_arm_entry(0x10000000, SZ_1G, 0); + + fdt = (uint32_t)__dtb_imx6q_sabresd_start - get_runtime_offset(); + + barebox_arm_entry(0x10000000, SZ_1G, fdt); } diff --git a/arch/arm/configs/freescale-mx6-sabresd_defconfig b/arch/arm/configs/freescale-mx6-sabresd_defconfig index a2a7dccd8..4f31cb7cd 100644 --- a/arch/arm/configs/freescale-mx6-sabresd_defconfig +++ b/arch/arm/configs/freescale-mx6-sabresd_defconfig @@ -1,5 +1,5 @@ CONFIG_ARCH_IMX=y -CONFIG_ARCH_IMX6=y +CONFIG_IMX_MULTI_BOARDS=y CONFIG_MACH_SABRESD=y CONFIG_IMX_IIM=y CONFIG_IMX_IIM_FUSE_BLOW=y @@ -8,6 +8,7 @@ CONFIG_CMD_ARM_MMUINFO=y CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y CONFIG_ARM_UNWIND=y CONFIG_MMU=y +CONFIG_TEXT_BASE=0x08f80000 CONFIG_MALLOC_SIZE=0x4000000 CONFIG_MALLOC_TLSF=y CONFIG_KALLSYMS=y @@ -27,7 +28,6 @@ CONFIG_CMD_READLINE=y CONFIG_CMD_MENU=y CONFIG_CMD_MENU_MANAGEMENT=y CONFIG_CMD_TIME=y -CONFIG_CMD_DIRNAME=y CONFIG_CMD_TFTP=y CONFIG_CMD_ECHO_E=y CONFIG_CMD_MEMINFO=y diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 07508e3b2..ba57be130 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -54,6 +54,7 @@ pbl-$(CONFIG_MACH_SOCFPGA_EBV_SOCRATES) += socfpga_cyclone5_socrates.dtb.o pbl-$(CONFIG_MACH_SOCFPGA_TERASIC_SOCKIT) += socfpga_cyclone5_sockit.dtb.o pbl-$(CONFIG_MACH_SOLIDRUN_HUMMINGBOARD) += imx6dl-hummingboard.dtb.o pbl-$(CONFIG_MACH_SABRELITE) += imx6q-sabrelite.dtb.o imx6dl-sabrelite.dtb.o +pbl-$(CONFIG_MACH_SABRESD) += imx6q-sabresd.dtb.o pbl-$(CONFIG_MACH_NITROGEN6X) += imx6q-nitrogen6x.dtb.o imx6dl-nitrogen6x.dtb.o .SECONDARY: $(obj)/$(BUILTIN_DTB).dtb.S diff --git a/arch/arm/dts/imx6q-sabresd.dts b/arch/arm/dts/imx6q-sabresd.dts index efe0e5976..867e825c0 100644 --- a/arch/arm/dts/imx6q-sabresd.dts +++ b/arch/arm/dts/imx6q-sabresd.dts @@ -21,6 +21,11 @@ chosen { linux,stdout-path = &uart1; + + environment@0 { + compatible = "barebox,environment"; + device-path = &usdhc3, "partname:barebox-environment"; + }; }; }; diff --git a/arch/arm/dts/imx6qdl-sabresd.dtsi b/arch/arm/dts/imx6qdl-sabresd.dtsi index 346e32a22..422d6af1c 100644 --- a/arch/arm/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/dts/imx6qdl-sabresd.dtsi @@ -307,4 +307,17 @@ cd-gpios = <&gpio2 0 0>; wp-gpios = <&gpio2 1 0>; status = "okay"; + + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "barebox"; + reg = <0x0 0x80000>; + }; + + partition@1 { + label = "barebox-environment"; + reg = <0x80000 0x80000>; + }; }; diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 5933f81e9..b6f252711 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -225,6 +225,10 @@ config MACH_SABRELITE select HAVE_DEFAULT_ENVIRONMENT_NEW select HAVE_PBL_MULTI_IMAGES +config MACH_SABRESD + bool "Freescale i.MX6 SabreSD" + select ARCH_IMX6 + config MACH_NITROGEN6X bool "BoundaryDevices Nitrogen6x" select ARCH_IMX6 @@ -452,10 +456,6 @@ config MACH_MX6Q_ARM2 bool "Freescale i.MX6q Armadillo2" select ARCH_IMX6 -config MACH_SABRESD - bool "Freescale i.MX6 SabreSD" - select ARCH_IMX6 - endchoice # ---------------------------------------------------------- diff --git a/images/Makefile.imx b/images/Makefile.imx index 9aca871fd..37b9a9979 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -109,6 +109,11 @@ CFG_start_imx6dl_sabrelite.pblx.imximg = $(board)/freescale-mx6-sabrelite/flash- FILE_barebox-freescale-imx6dl-sabrelite.img = start_imx6dl_sabrelite.pblx.imximg image-$(CONFIG_MACH_SABRELITE) += barebox-freescale-imx6dl-sabrelite.img +pblx-$(CONFIG_MACH_SABRESD) += start_imx6q_sabresd +CFG_start_imx6q_sabresd.pblx.imximg = $(board)/freescale-mx6-sabresd/flash-header-mx6-sabresd.imxcfg +FILE_barebox-freescale-imx6q-sabresd.img = start_imx6q_sabresd.pblx.imximg +image-$(CONFIG_MACH_SABRESD) += barebox-freescale-imx6q-sabresd.img + pblx-$(CONFIG_MACH_SOLIDRUN_HUMMINGBOARD) += start_imx6dl_hummingboard CFG_start_imx6dl_hummingboard.pblx.imximg = $(board)/solidrun-hummingboard/flash-header-solidrun-hummingboard.imxcfg FILE_barebox-solidrun-imx6dl-hummingboard.img = start_imx6dl_hummingboard.pblx.imximg