[PATCH v2] Add new ARM entry point for barebox
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Fri Feb 1 03:15:46 EST 2013
On 08:59 Fri 01 Feb , Sascha Hauer wrote:
> Second version. I updated the series to current -next. Besides, I dropped
> the board reserved memory chunk at the end of SDRAM as it does not work
> for configurations which run in tight SRAM. Boards are now required to
> reserve some memory themselves and skip this area from barebox_arm_entry
> should they need some space.
>
> This version is compile tested only currently. My plan is to do some
> additional runtime tests on Monday when I'm back from the FOSDEM and
> apply it afterwards. So I won't apply any patches conflicting to this
> series before applying this one.
for at91 we have patch in the queue that need to be apllued first
please do so they are a pain n the ass to test
Best Regards,
J.
>
> Sascha
>
> The following changes since commit f1c191de412ce88288f661dc261674af69d6fe4e:
>
> Merge branch 'for-next/pbl' into next (2013-02-01 08:21:12 +0100)
>
> are available in the git repository at:
>
>
> git://git.pengutronix.de/git/barebox.git pu/arm-entry
>
> for you to fetch changes up to e2312a2c5736008cc889383005cca3fee7883a47:
>
> ARM pbl: inline decompress function (2013-02-01 08:28:47 +0100)
>
> ----------------------------------------------------------------
> Sascha Hauer (34):
> ARM: Add new entry point for barebox
> ARM: add __noreturn to board_init_lowlevel_return
> ARM i.MX: Use SRAM stack in lowlevel code
> ARM i.MX: Add i.MX specific entry point for barebox
> ARM i.MX: prepare external nand boot for SoC specific entry
> ARM i.MX boards: switch to barebox_arm_entry
> ARM MXS boards: switch to barebox_arm_entry
> ARM OMAP boards: switch to barebox_arm_entry
> ARM Samsung boards: switch to barebox_arm_entry
> ARM PXA boards: switch to barebox_arm_entry
> ARM ep93xx boards: switch to barebox_arm_entry
> ARM tegra boards: switch to barebox_arm_entry
> ARM nomadik boards: switch to barebox_arm_entry
> ARM versatile boards: switch to barebox_arm_entry
> ARM netx boards: switch to barebox_arm_entry
> ARM clep7212: switch to barebox_arm_entry
> ARM raspberrypi: switch to barebox_arm_entry
> ARM AT91: switch to barebox_arm_entry part1
> ARM AT91: switch at91rm9200 board to barebox_arm_entry
> ARM AT91: switch sama5d3 to barebox_arm_entry
> ARM AT91: switch remaining boards to barebox_arm_entry
> ARM: remove now unused MACH_[HAS|DO]_LOWLEVEL_INIT
> ARM start-pbl: make board_init_lowlevel_return static
> ARM start-pbl: call uncompressed binary with arguments
> ARM start: pickup parameters from pbl
> ARM: Setup stack at end of SDRAM
> ARM pbl: Use dynamic parameters for early malloc space
> ARM mmu: pickup already enabled mmu
> ARM: Factor out early mmu code
> ARM: Enable mmu early
> ARM: Automatically determine malloc size
> generic memory layout: fix deps for [MALLOC|STACK]_BASE
> ARM: disable HAVE_CONFIGURABLE_MEMORY_LAYOUT
> ARM pbl: inline decompress function
>
> arch/arm/Kconfig | 1 -
> arch/arm/boards/a9m2410/lowlevel_init.S | 9 +-
> arch/arm/boards/a9m2440/lowlevel_init.S | 9 +-
> arch/arm/boards/archosg9/Makefile | 4 +-
> arch/arm/boards/archosg9/lowlevel.c | 3 +-
> arch/arm/boards/at91sam9263ek/Makefile | 4 +-
> arch/arm/boards/at91sam9m10g45ek/Makefile | 2 +
> arch/arm/boards/at91sam9m10g45ek/lowlevel.c | 11 ++
> arch/arm/boards/at91sam9m10ihd/Makefile | 2 +
> arch/arm/boards/at91sam9m10ihd/lowlevel.c | 11 ++
> arch/arm/boards/at91sam9n12ek/Makefile | 2 +
> arch/arm/boards/at91sam9n12ek/lowlevel.c | 11 ++
> arch/arm/boards/at91sam9x5ek/Makefile | 2 +
> arch/arm/boards/at91sam9x5ek/lowlevel.c | 11 ++
> arch/arm/boards/beagle/lowlevel.c | 16 +-
> arch/arm/boards/beaglebone/Makefile | 2 +
> arch/arm/boards/beaglebone/lowlevel.c | 12 +-
> arch/arm/boards/ccxmx51/Makefile | 2 +
> arch/arm/boards/ccxmx51/lowlevel.c | 9 ++
> arch/arm/boards/chumby_falconwing/Makefile | 2 +
> arch/arm/boards/chumby_falconwing/lowlevel.c | 11 ++
> arch/arm/boards/clep7212/lowlevel.c | 3 +-
> arch/arm/boards/crystalfontz-cfa10036/Makefile | 2 +
> arch/arm/boards/crystalfontz-cfa10036/lowlevel.c | 11 ++
> arch/arm/boards/edb93xx/sdram_cfg.c | 4 +
> arch/arm/boards/efika-mx-smartbook/Makefile | 2 +
> arch/arm/boards/efika-mx-smartbook/lowlevel.c | 9 ++
> arch/arm/boards/eukrea_cpuimx25/lowlevel.c | 6 +-
> arch/arm/boards/eukrea_cpuimx27/lowlevel_init.S | 7 +-
> arch/arm/boards/eukrea_cpuimx35/lowlevel.c | 8 +-
> arch/arm/boards/eukrea_cpuimx51/Makefile | 2 +
> arch/arm/boards/eukrea_cpuimx51/lowlevel.c | 9 ++
> arch/arm/boards/freescale-mx23-evk/Makefile | 2 +
> arch/arm/boards/freescale-mx23-evk/lowlevel.c | 11 ++
> .../boards/freescale-mx25-3-stack/lowlevel_init.S | 7 +-
> arch/arm/boards/freescale-mx28-evk/Makefile | 2 +
> arch/arm/boards/freescale-mx28-evk/lowlevel.c | 11 ++
> arch/arm/boards/freescale-mx35-3-stack/3stack.c | 1 +
> .../boards/freescale-mx35-3-stack/lowlevel_init.S | 7 +-
> arch/arm/boards/freescale-mx51-pdk/Makefile | 2 +
> arch/arm/boards/freescale-mx51-pdk/lowlevel.c | 9 ++
> arch/arm/boards/freescale-mx53-loco/Makefile | 2 +
> arch/arm/boards/freescale-mx53-loco/lowlevel.c | 9 ++
> arch/arm/boards/freescale-mx53-smd/Makefile | 2 +
> arch/arm/boards/freescale-mx53-smd/lowlevel.c | 9 ++
> arch/arm/boards/freescale-mx6-arm2/Makefile | 2 +
> arch/arm/boards/freescale-mx6-arm2/lowlevel.c | 10 ++
> arch/arm/boards/freescale-mx6-sabrelite/Makefile | 2 +
> arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c | 10 ++
> .../boards/friendlyarm-mini2440/lowlevel_init.S | 9 +-
> arch/arm/boards/friendlyarm-mini6410/Makefile | 2 +
> arch/arm/boards/friendlyarm-mini6410/lowlevel.c | 11 ++
> arch/arm/boards/friendlyarm-tiny210/lowlevel.c | 4 +-
> arch/arm/boards/friendlyarm-tiny6410/Makefile | 3 +-
> arch/arm/boards/friendlyarm-tiny6410/lowlevel.c | 11 ++
> arch/arm/boards/guf-cupid/lowlevel.c | 8 +-
> arch/arm/boards/guf-neso/lowlevel.c | 8 +-
> arch/arm/boards/guf-vincell/lowlevel.c | 5 +-
> arch/arm/boards/imx21ads/imx21ads.c | 3 +-
> arch/arm/boards/imx21ads/lowlevel_init.S | 11 +-
> arch/arm/boards/imx233-olinuxino/Makefile | 2 +
> arch/arm/boards/imx233-olinuxino/lowlevel.c | 11 ++
> arch/arm/boards/imx27ads/lowlevel_init.S | 4 +-
> arch/arm/boards/karo-tx25/lowlevel.c | 10 +-
> arch/arm/boards/karo-tx28/Makefile | 2 +
> arch/arm/boards/karo-tx28/lowlevel.c | 11 ++
> arch/arm/boards/karo-tx51/Makefile | 2 +
> arch/arm/boards/karo-tx51/lowlevel.c | 9 ++
> arch/arm/boards/karo-tx53/lowlevel.c | 6 +-
> arch/arm/boards/mioa701/Makefile | 2 +
> arch/arm/boards/mioa701/lowlevel.c | 10 ++
> arch/arm/boards/mmccpu/Makefile | 4 +-
> arch/arm/boards/netx/platform.S | 7 +-
> arch/arm/boards/nhk8815/Makefile | 2 +
> arch/arm/boards/nhk8815/lowlevel.c | 10 ++
> arch/arm/boards/omap343xdsp/lowlevel.c | 15 +-
> arch/arm/boards/omap3evm/lowlevel.c | 13 +-
> arch/arm/boards/panda/lowlevel.c | 7 +-
> arch/arm/boards/pcm027/lowlevel_init.S | 7 +-
> arch/arm/boards/pcm037/lowlevel.c | 6 +-
> arch/arm/boards/pcm038/lowlevel.c | 8 +-
> arch/arm/boards/pcm043/lowlevel.c | 8 +-
> arch/arm/boards/pcm049/lowlevel.c | 7 +-
> arch/arm/boards/pcm051/Makefile | 2 +
> arch/arm/boards/pcm051/lowlevel.c | 11 ++
> arch/arm/boards/phycard-a-l1/lowlevel.c | 12 +-
> arch/arm/boards/phycard-a-xl2/lowlevel.c | 7 +-
> arch/arm/boards/phycard-i.MX27/lowlevel_init.S | 4 +-
> arch/arm/boards/pm9261/Makefile | 4 +-
> arch/arm/boards/pm9263/Makefile | 4 +-
> arch/arm/boards/pm9g45/Makefile | 2 +
> arch/arm/boards/pm9g45/lowlevel.c | 11 ++
> arch/arm/boards/raspberry-pi/Makefile | 2 +
> arch/arm/boards/raspberry-pi/lowlevel.c | 11 ++
> arch/arm/boards/scb9328/lowlevel_init.S | 4 +-
> arch/arm/boards/tny-a926x/Makefile | 4 +-
> arch/arm/boards/toshiba-ac100/Makefile | 2 +
> arch/arm/boards/toshiba-ac100/lowlevel.c | 10 ++
> arch/arm/boards/tqma53/Makefile | 2 +
> arch/arm/boards/tqma53/lowlevel.c | 9 ++
> arch/arm/boards/usb-a926x/Makefile | 4 +-
> arch/arm/boards/versatile/Makefile | 3 +-
> arch/arm/boards/versatile/lowlevel.c | 10 ++
> arch/arm/configs/archosg9_defconfig | 1 -
> arch/arm/configs/phycard_a_l1_defconfig | 2 -
> arch/arm/cpu/Makefile | 4 +-
> arch/arm/cpu/cpu.c | 12 ++
> arch/arm/cpu/mmu-early.c | 53 +++++++
> arch/arm/cpu/mmu-early.h | 6 +
> arch/arm/cpu/mmu.c | 9 +-
> arch/arm/cpu/start-pbl.c | 163 ++++++--------------
> arch/arm/cpu/start.c | 107 ++++++++++---
> arch/arm/include/asm/barebox-arm.h | 4 +-
> arch/arm/lib/Makefile | 1 -
> arch/arm/lib/arm.c | 14 --
> arch/arm/mach-at91/Kconfig | 17 +-
> arch/arm/mach-at91/Makefile | 5 +-
> arch/arm/mach-at91/at91rm9200_lowlevel_init.c | 2 +-
> arch/arm/mach-at91/at91sam926x_lowlevel_init.c | 4 +-
> arch/arm/mach-at91/sama5d3_lowlevel_init.c | 25 +++
> arch/arm/mach-clps711x/Kconfig | 2 -
> arch/arm/mach-ep93xx/Kconfig | 8 -
> arch/arm/mach-ep93xx/Makefile | 4 +-
> arch/arm/mach-ep93xx/lowlevel_init.S | 11 +-
> arch/arm/mach-imx/Kconfig | 17 --
> arch/arm/mach-imx/Makefile | 5 +-
> arch/arm/mach-imx/esdctl.c | 136 +++++++++++++---
> arch/arm/mach-imx/external-nand-boot.c | 74 ++++++---
> arch/arm/mach-imx/include/mach/esdctl.h | 11 ++
> arch/arm/mach-imx/include/mach/imx-nand.h | 1 -
> arch/arm/mach-imx/include/mach/imx21-regs.h | 1 +
> arch/arm/mach-imx/include/mach/imx25-regs.h | 3 +
> arch/arm/mach-imx/include/mach/imx27-regs.h | 1 +
> arch/arm/mach-imx/include/mach/imx31-regs.h | 3 +
> arch/arm/mach-netx/Kconfig | 1 -
> arch/arm/mach-omap/Kconfig | 5 -
> arch/arm/mach-omap/arch-omap.dox | 1 -
> arch/arm/mach-omap/include/mach/omap3-silicon.h | 1 +
> arch/arm/mach-omap/omap3_core.S | 11 +-
> arch/arm/mach-pxa/Kconfig | 1 -
> arch/arm/mach-samsung/Kconfig | 6 -
> arch/arm/pbl/zbarebox.lds.S | 8 +-
> common/Kconfig | 21 ++-
> common/meminfo.c | 5 -
> include/asm-generic/memory_layout.h | 6 +-
> 145 files changed, 1035 insertions(+), 390 deletions(-)
> create mode 100644 arch/arm/boards/at91sam9m10g45ek/lowlevel.c
> create mode 100644 arch/arm/boards/at91sam9m10ihd/lowlevel.c
> create mode 100644 arch/arm/boards/at91sam9n12ek/lowlevel.c
> create mode 100644 arch/arm/boards/at91sam9x5ek/lowlevel.c
> create mode 100644 arch/arm/boards/ccxmx51/lowlevel.c
> create mode 100644 arch/arm/boards/chumby_falconwing/lowlevel.c
> create mode 100644 arch/arm/boards/crystalfontz-cfa10036/lowlevel.c
> create mode 100644 arch/arm/boards/efika-mx-smartbook/lowlevel.c
> create mode 100644 arch/arm/boards/eukrea_cpuimx51/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx23-evk/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx28-evk/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx51-pdk/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx53-loco/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx53-smd/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx6-arm2/lowlevel.c
> create mode 100644 arch/arm/boards/freescale-mx6-sabrelite/lowlevel.c
> create mode 100644 arch/arm/boards/friendlyarm-mini6410/lowlevel.c
> create mode 100644 arch/arm/boards/friendlyarm-tiny6410/lowlevel.c
> create mode 100644 arch/arm/boards/imx233-olinuxino/lowlevel.c
> create mode 100644 arch/arm/boards/karo-tx28/lowlevel.c
> create mode 100644 arch/arm/boards/karo-tx51/lowlevel.c
> create mode 100644 arch/arm/boards/mioa701/lowlevel.c
> create mode 100644 arch/arm/boards/nhk8815/lowlevel.c
> create mode 100644 arch/arm/boards/pcm051/lowlevel.c
> create mode 100644 arch/arm/boards/pm9g45/lowlevel.c
> create mode 100644 arch/arm/boards/raspberry-pi/lowlevel.c
> create mode 100644 arch/arm/boards/toshiba-ac100/lowlevel.c
> create mode 100644 arch/arm/boards/tqma53/lowlevel.c
> create mode 100644 arch/arm/boards/versatile/lowlevel.c
> create mode 100644 arch/arm/cpu/mmu-early.c
> create mode 100644 arch/arm/cpu/mmu-early.h
> delete mode 100644 arch/arm/lib/arm.c
> create mode 100644 arch/arm/mach-at91/sama5d3_lowlevel_init.c
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
More information about the barebox
mailing list