9
0
Fork 0
Commit Graph

2470 Commits

Author SHA1 Message Date
Sascha Hauer a81ec0225f ARM: Add relocatable binary support
For making the same binary executable on different SoCs which have
different DRAM addresses we have to be independent of the compile
time link address.

This patch adds relocatable binary support for the ARM architecture.
With this two new functions are available. relocate_to_current_adr
will fixup the binary to continue executing from the current position.
relocate_to_adr will copy the binary to a given address, fixup the
binary and continue executing from there.

For the PBL and the real image relocatable support can be enabled
independently. This is done to (hopefully) better cope with setups
where the PBL runs from SRAM or ROM and the real binary does not.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-07 12:38:01 +01:00
Sascha Hauer b08e08506b ARN: fixup vector addresses for relocatable binaries
With relocatable binaries the vector addresses cannot be supplied by
the linker. This adds support for fixing them up during runtime.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-07 12:38:01 +01:00
Sascha Hauer 019712525a ARM boards: Use accessor functions to access linker variables
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-07 12:38:01 +01:00
Sascha Hauer 74d44e7b2a ARM: provide accessor functions for linker variables
With relocatable binaries the linker is not able to supply absolute
addresses. These only get available when the relocation function is
being run. Since for early initialization we need some variables
before relocation, we supply them relatively to some known address
in the binary. This means that the variables have to be converted
to absolute addresses during runtime.

This patch adds a C macro and an assembly macro to calculate the
variables during runtime.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-07 10:56:37 +01:00
Sascha Hauer a51d06d679 of: remove unused libfdt
Now that we are completely independent of libfdt remove the unused
code.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:29 +01:00
Sascha Hauer 973e58e3ab ARM bootm: Switch initrd support to unflattened tree
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:29 +01:00
Sascha Hauer 6d6edfcf53 bootm: Pass unflattened devicetree to handlers
This makes it possible to modify the tree in the handlers.
This is necessary because the initrd addresses are only
known inside the handlers, but not to the generic bootm
code.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:29 +01:00
Sascha Hauer 8f458074e7 ARM: bootm: rework concatenated oftree
Without compiled in devicetree support we used to copy the
concatenated devicetree directly behind the zImage. This is
unnecessary, even if we do not have devicetree support we can
copy the devicetree whereever we like and pass the kernel a
pointer to it. This makes the code a bit easier.
While at it, add the missing free calls in the error case.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:29 +01:00
Sascha Hauer 9d8e08353c of: fixup unflattened devicetree
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:29 +01:00
Sascha Hauer 64c199dd29 of: Pass barebox internal format devicetree to of_get_fixed_tree
With this every devicetree is first converted to the barebox internal
format before it's converted back to dtb again.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:28 +01:00
Sascha Hauer b26b7ef0f0 of: Add root node argument to of_find_node_by_path
This makes of_find_node_by_path usable with multiple trees.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:28 +01:00
Sascha Hauer 8a185a4ff2 of: let of_unflatten_dtb return the unflattened tree
In order to be able to handle multiple devicetrees, do not assume
the tree to be unflattened is the barebox internal one. Instead,
just return a pointer to it and assign the barebox internal root_node
external to the unflatten function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:27 +01:00
Sascha Hauer 04bd477ee4 ARM bootm: Use of_get_fixed_tree
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-06 11:41:27 +01:00
Sascha Hauer d46a8eebcd ARM: OMAP: beagle: Add missing MMC iomux setup
When the board is booted from NAND we have to setup the iomux to
make the SD card work. Unfortunately this still is not enough :(
The SD card still will only work when booting from it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-04 17:00:23 +01:00
Sascha Hauer b7451329b5 ARM: OMAP3: invalidate L2 cache using ROM API
Code taken from U-Boot. This makes the beagle board much more
reliable.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-04 17:00:23 +01:00
Sascha Hauer ae59bd9fca ARM: add early mmu cache flush function and use it in setup_c
Since recently with MMU_EARLY support it may happen that setup_c
runs with data caches enabled, so we have to make sure the caches
are flushed before we jump to the new binary.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-04 12:02:10 +01:00
Sascha Hauer 82eb0b547a ARM: make cpu architecture detection available as static inline function
When we have multi cpu support compiled in we need the cpu architecture
early so that we can pick the correct cacheflush function. Make it available
as static inline function and add a comment above it that this function
normally should not be used.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-04 12:02:10 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2ecdea32dd switch more boards to lwl-y
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-04 09:23:45 +01:00
Sascha Hauer 13b4e37c1c Merge branch 'for-next/vexpress' 2013-03-04 09:21:54 +01:00
Sascha Hauer 678832e17a Merge branch 'for-next/usb' 2013-03-04 09:21:54 +01:00
Sascha Hauer ea0f831cd0 Merge branch 'for-next/mxs' 2013-03-04 09:21:54 +01:00
Sascha Hauer 62ee96bd3b Merge branch 'for-next/mtd'
Conflicts:
	arch/arm/configs/eukrea_cpuimx27_defconfig
	drivers/mtd/core.c
2013-03-04 09:21:49 +01:00
Sascha Hauer 13408877f4 Merge branch 'for-next/misc' 2013-03-04 09:21:37 +01:00
Sascha Hauer 908bc8ce45 Merge branch 'for-next/imx' 2013-03-04 09:21:37 +01:00
Sascha Hauer 831d83e922 Merge branch 'for-next/highbank' 2013-03-04 09:21:37 +01:00
Sascha Hauer 1eb77960b8 Merge branch 'for-next/dt' 2013-03-04 09:21:37 +01:00
Sascha Hauer b7314e47a5 Merge branch 'for-next/clps711x' 2013-03-04 09:21:36 +01:00
Sascha Hauer 40d8780de5 Merge branch 'for-next/at91' 2013-03-04 09:21:36 +01:00
Sascha Hauer 3451e2c44f Merge branch 'for-next/arm-l2x0' 2013-03-04 09:21:36 +01:00
Maxime Ripard 3d61f0865b ARM: cfa10036: Remove the boot partition and boot from ext
Support for ext filesystems has been introduced recently. We can now
boot directly from our rootfs, loading the kernel and device tree
images from /boot.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-03 16:22:06 +01:00
Jean-Christophe PLAGNIOL-VILLARD 07ca814239 highbank: add of fixup
depending on the power domain register we need to disable sata or mmc
and update the cpu informations

take from Calxeda U-Boot git

Register the original dtb to /dev/firmware-dtb and the fixed dtb to /dev/dtb

Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-03 14:08:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD e503b299ef highbank: move register value to include/mach
so the board can use it

Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-03 14:08:44 +01:00
Maxime Ripard 2cc328ec2d cfa10036: Update the environment
Since we added a new partition in the board, the partitions number of
the boot and rootfs partition have changed as well.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-27 08:58:14 +01:00
Maxime Ripard c981b83356 cfa-10036: Use the second MMC partition to store the environment
Since the only storage medium on the cfa-10036 is the MMC card, we need
to have a registered environment partition on it if we want to be able
to modify at runtime.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-27 08:58:14 +01:00
Sascha Hauer a9f50d96e5 ARM i.MX pcm043: Use imx_bootsource() to detect bootsource
Also, print out where our environment comes from.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-27 08:57:08 +01:00
Sascha Hauer 74421f2f47 ARM i.MX pcm043: Switch to new environment
- switch to new environment
- make barebox partitions 512K big
- update defconfig for new env:
  - enable menu support
  - miitool support
  - clk commands
  - oftree support
  - let/dirname/readlink commands
  - enable external nand boot support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-27 08:57:04 +01:00
Alexander Shiyan 4a963a2513 ARM: i.MX: Replace numbers with predefined constants in several places
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-26 15:08:36 +01:00
Fabio Porcedda 4cb9d4fa0e ARM at91 telit-evk-pro3: move config-board out of /env/init
This is to complete the work of two recent commits:
- defenv2: move config-board out of /env/init
- defenv2: comment setting default values in /env/config

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-26 11:05:02 +01:00
Sascha Hauer 457c038f83 ARM i.MX35: Let MAX clk be in run-mode-on
The reset value for the MAX clk gate is 0b10, that is it is turned
on in CPU run mode and off in stop mode. Configure it that way during
startup.

The 0b11 value previously in this field causes some nasty behaviour in
the Linux kernel:

- The i.MX35 has two bits per clock gate which are decoded as follows:
  0b00 -> clock off
  0b01 -> clock is on in run mode, off in wait/doze
  0b10 -> clock is on in run/wait mode, off in doze
  0b11 -> clock is always on

The MAX clock is needed by the SoC, yet unused in the Kernel, so the
common clock framework will disable it during late init time. It will
only disable clocks though which it detects as being on. This detection
is made depending on the lower bit of the gate. So with the value of
0b11 the clock framework will detect the clock as turned on, yet unused,
hence it will turn it off and the system locks up.
With the value of 0b10 instead, the clock framework will detect the
clock as being disabled and will not try to turn it off, so the
system works.

The real bug is in the Linux clock framework. However, the value 0f 0b10
seems to be a sane default value, so restore it. This lets Linux work
again and gives time to fix the bug in Linux.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-26 11:00:30 +01:00
Sascha Hauer 94466be718 ARM i.MX: Fix booting from NOR when external nand boot is enabled
We cannot jump to SDRAM unconditionally in imx*_barebox_boot_nand_external.
When we really boot from NOR flash the binary is not yet copied to SDRAM.
Instead, let the return value of imx_barebox_boot_nand_external() indicate
whether we really boot from NAND and only jump to SDRAM in this case.
Otherwise just continue to the normal SoC specific entry.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-26 11:00:25 +01:00
Alexander Shiyan d2e68e2d65 ARM: pcm038: Using "get_ram_size" for determine SRAM size
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Alexander Shiyan 5f19b73344 ARM: i.MX27: Use DEVICE_ID_SINGLE for IIM, CCM and ESDCTL
Only one of IIM, CCM or ESDCTL device is allowed, so use DEVICE_ID_SINGLE
for these devices.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Alexander Shiyan cb8ee706af ARM: pcm970: Replace #ifdef with IS_ENABLED()
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Alexander Shiyan 97dfd44a57 ARM: pcm970: Fix bug with CompactFlash
Patch adds missing MX27_PCMCIA_CTL_BASE_ADDR offset for "readl" operator.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Alexander Shiyan d16adc0557 ARM: pcm038: Fix serial number IIM-address
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Alexander Shiyan fac23aaccd ARM: pcm038: Select IIM by default
PCM038 uses IIM in board code, so select IMX_IIM symbol by default.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Alexander Shiyan 240194f0e5 ARM: pcm038: Remove duplicate imx27_barebox_entry() call
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:55:27 +01:00
Eric Bénard 2aa41b9a19 falconwing: switch to generic peristent env
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-21 14:45:43 +01:00
Eric Bénard 2ce56634a5 imx23-olinuxino: swith to generic peristent env
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-21 14:45:43 +01:00
Jean-Christophe PLAGNIOL-VILLARD 0d8ce86780 switch boards to lwl-y
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-21 14:42:51 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3f1f8821d6 highbank: add wfi for poweroff
needed by the real hardware

Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-21 14:20:53 +01:00
Fabio Porcedda 19f8f1166d ARM: at91: use -EINVAL for invalid gpio on atmel_mci
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-19 20:06:56 +01:00
Fabio Porcedda d15b81b41a at91sam9260/9g20ek: refactor init_board script
Refactor to remove duplicated code without changing functionality.
Put "then" on the same line of "if", because:
 - is the most used style in barebox
 - is like c code style
 - is more compact

Reduce the number of lines from 50 to 40.

Tested on at91sam9260ek.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-19 08:56:20 +01:00
Jean-Christophe PLAGNIOL-VILLARD b1fccec3ee highbank: add power off support
Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-18 10:58:54 +01:00
Alexander Shiyan bbc0b6bc15 mfd: Using MFD_xx prefix for symbols
This patch provides rename MFD-related symbols for using MFD-prefix.
Additionally, sorting mfd/Kconfig and mfd/Makefile records.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-18 09:21:08 +01:00
Ivan Djelic 3fe6f23b76 arm: fix memset-related crashes caused by recent GCC (4.7.2) optimizations
Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on
assumptions about the implementation of memset and similar functions.
The current ARM optimized memset code does not return the value of
its first argument, as is usually expected from standard implementations.

For instance in the following function:

void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
{
	memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter));
	waiter->magic = waiter;
	INIT_LIST_HEAD(&waiter->list);
}

compiled as:

800554d0 <debug_mutex_lock_common>:
800554d0:       e92d4008        push    {r3, lr}
800554d4:       e1a00001        mov     r0, r1
800554d8:       e3a02010        mov     r2, #16 ; 0x10
800554dc:       e3a01011        mov     r1, #17 ; 0x11
800554e0:       eb04426e        bl      80165ea0 <memset>
800554e4:       e1a03000        mov     r3, r0
800554e8:       e583000c        str     r0, [r3, #12]
800554ec:       e5830000        str     r0, [r3]
800554f0:       e5830004        str     r0, [r3, #4]
800554f4:       e8bd8008        pop     {r3, pc}

GCC assumes memset returns the value of pointer 'waiter' in register r0; causing
register/memory corruptions.

This patch fixes the return value of the assembly version of memset.
Could you please review, or suggest better alternatives ?

Thanks,

--
Ivan

(this is a shorter and (hopefully) clearer repost of
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/144916.html)

The patch adds a 'mov' instruction and merges an additional load+store into
existing load/store instructions.
For ease of review, here is a breakdown of the patch into 4 simple steps:

Step 1
======
Perform the following substitutions:
ip -> r8, then
r0 -> ip,
and insert 'mov ip, r0' as the first statement of the function.
At this point, we have a memset() implementation returning the proper result,
but corrupting r8 on some paths (the ones that were using ip).

Step 2
======
Make sure r8 is saved and restored when (! CALGN(1)+0) == 1:

save r8:
-       str     lr, [sp, #-4]!
+       stmfd   sp!, {r8, lr}

and restore r8 on both exit paths:
-       ldmeqfd sp!, {pc}               @ Now <64 bytes to go.
+       ldmeqfd sp!, {r8, pc}           @ Now <64 bytes to go.
(...)
        tst     r2, #16
        stmneia ip!, {r1, r3, r8, lr}
-       ldr     lr, [sp], #4
+       ldmfd   sp!, {r8, lr}

Step 3
======
Make sure r8 is saved and restored when (! CALGN(1)+0) == 0:

save r8:
-       stmfd   sp!, {r4-r7, lr}
+       stmfd   sp!, {r4-r8, lr}

and restore r8 on both exit paths:
        bgt     3b
-       ldmeqfd sp!, {r4-r7, pc}
+       ldmeqfd sp!, {r4-r8, pc}
(...)
        tst     r2, #16
        stmneia ip!, {r4-r7}
-       ldmfd   sp!, {r4-r7, lr}
+       ldmfd   sp!, {r4-r8, lr}

Step 4
======
Rewrite register list "r4-r7, r8" as "r4-r8".

Signed-off-by: Ivan Djelic <ivan.djelic@parrot.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 19:58:49 +01:00
Sascha Hauer efc93a7429 ARM i.MX28: Add missing return value in non-void function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 19:20:53 +01:00
Sascha Hauer 4008fef944 ARM at91sam9n12ek_defconfig: Fix reassigning of BAREBOX_MAX_IMAGE_SIZE
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 19:20:23 +01:00
Sascha Hauer 31668da3a5 ARM OMAP phycard-a-l1: Add missing include
Fixes:

arch/arm/boards/phycard-a-l1/lowlevel.c: In function 'pcaal1_sdrc_init':
arch/arm/boards/phycard-a-l1/lowlevel.c:105:2: warning: implicit declaration of function 'get_ram_size' [-Wimplicit-function-declaration]
arch/arm/boards/phycard-a-l1/lowlevel.c:113:3: warning: implicit declaration of function 'hang' [-Wimplicit-function-declaration]

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 19:19:15 +01:00
Fabio Porcedda 61c5f054f7 at91sam9260/9g20ek: use IS_ENABLED instead of #if/#ifdef
Using IS_ENABLED instead of #if/#ifdef the compiler can check
all the code.
Using IS_ENABLED for configuring smc->mode is an optimization,
reduce init.o text from 905 to 877.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 18:25:51 +01:00
Sascha Hauer a6b1f17d5d ARM i.MX21: Fix device names for gpio
The i.MX21 has a imx1 gpio type. Change the name accordingly, otherwise
the gpio driver does not probe successfully.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 16:43:03 +01:00
Sascha Hauer 9a98894c1a ARM i.MX35: Fix device names for gpio
The i.MX35 has a imx31 gpio type. Change the name accordingly, otherwise
the gpio driver does not probe successfully.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-15 16:41:43 +01:00
Sascha Hauer 2749fbac48 nor flash: integrate into mtd
CFI Flash is currently handled outside the mtd layer which makes it
a special case. Integrate it into mtd so that we get rid of this
special status.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-14 23:37:53 +01:00
Jean-Christophe PLAGNIOL-VILLARD d8da8c23e9 highbank: use the provided dtb by the firmware to probe barebox device and mem size
the dtb is at 0x1000

if no dtb present use C code device

keep in C the timer/gpio/uart

have a nice tree

barebox 2013.02.0-00294-g6802ddf #124 Wed Feb 13 02:31:01 CST 2013

Board: Calxeda Highbank
memory: ram0: 0xff900000@0x0
highbank: dtb probed memory size
registered netconsole as cs1
malloc space: 0x03500000 -> 0x03efffff (size 10 MiB)
Open /dev/env0 No such file or directory
no valid environment found on /dev/env0. Using default environment
running /env/bin/init...
ahci ffe08000.sata: port 0: SATA link ok
ahci ffe08000.sata: port 0: Spinning up device...
ahci ffe08000.sata: port 0: ok.
ahci ffe08000.sata: registered /dev/ata0
eth0: got preset MAC address: 52:54:00:12:34:56
eth1: got preset MAC address: 52:54:00:12:34:57

Hit any key to stop autoboot:  3
[barebox@Calxeda Highbank]:/
 # devinfo
devices:
`---- platform
     `---- mem0
          `---- 0x00000000-0x3fffffff: /dev/ram0
          `---- 0x00001000-0x00010fff: /dev/dtb
     `---- mem1
          `---- 0x00000000-0x000051af: /dev/defaultenv
     `---- mem2
          `---- 0x00000000-0xfffffffe: /dev/mem
     `---- cs1
     `---- fff10600.timer
     `---- fff10620.watchdog
     `---- fff11000.interrupt-controller
     `---- l2-cache
     `---- ffe08000.sata
          `---- 0x00000000-0x3fffffff: /dev/ata0
          `---- 0x00100000-0x014fffff: /dev/ata0.0
          `---- 0x01500000-0x3fffffff: /dev/ata0.1
     `---- ffe0e000.sdhci
     `---- fff00000.memory-controller
     `---- mem3
     `---- fff3c000.sregs
     `---- fff3c200.sregs
     `---- fff50000.ethernet
          `---- eth0
     `---- fff51000.ethernet
          `---- eth1
`---- amba
     `---- sp804
     `---- uart-pl011
          `---- cs0
     `---- fff30000.gpio
     `---- fff31000.gpio
     `---- fff32000.gpio
     `---- fff33000.gpio
     `---- fff35000.rtc
`---- fs
     `---- ramfs0
     `---- devfs0
`---- net
`---- global

drivers:
uart-pl011
sp804
pl061_gpio
ramfs
devfs
tftp
hb-xgmac
ahci
mem
[barebox@Calxeda Highbank]:/
 #

Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-14 13:09:10 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2a6e668821 highbank: add l2x0 support
not enable as on qemu this generate a undefined instruction exception

Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-14 13:09:09 +01:00
Jean-Christophe PLAGNIOL-VILLARD f6b23059c9 arm: add highbank support
currently only tested under qemu

qemu-system-arm -M highbank -nographic -m 4089 -kernel build/highbank/arch/arm/pbl/zbarebox -tftp "." -drive id=disk,if=ide,file=disk.img -device ide-drive,drive=disk,bus=ide.0

with:
 - timer (AMBA SP804)
 - uart (AMBA PL011)
 - gpio (AMBA PL061)
 - ahci
 - net (XGMAC)

Cc: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-14 13:09:09 +01:00
Sascha Hauer 1943567163 ARM i.MX6: Fix HSIC pad definitions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-14 09:55:50 +01:00
Sascha Hauer e55f9d10b4 defenv2: move config-board out of /env/init
Having the board config file in /env/init has the problem that
the settings in /env/config are overwritten in the init sequence.

This moves the config-board files to /env/ and sources them explicitly
from /env/bin/init before sourcing /env/config

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-14 08:50:43 +01:00
Alexander Shiyan e0acfda5af ARM: clps711x: Update defconfig
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:26 +01:00
Alexander Shiyan 1009b307bd ARM: clep7212: Update default environment
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:26 +01:00
Alexander Shiyan 3539bb8017 ARM: clps711x: Move memory initialization in common CLPS711X location
One memory initialization will be used on any CLPS711X-target,
so move it in the common location.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:26 +01:00
Alexander Shiyan 7e982d545b ARM: clep7212: Fix NULL pointer exception if MMU is enabled
NOR-flash is placed at address 0x0, so if MMU is turned on, initialization
will fails. This patch fix this problem.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:26 +01:00
Alexander Shiyan 2f19e281f2 ARM: clps711x: Mark private functions that not will be used outside as static
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:26 +01:00
Alexander Shiyan 83a9067615 ARM: clps711x: Remove unused "start" declaration from reset.c
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:25 +01:00
Alexander Shiyan 1795947ba1 ARM: clps711x: Adds config option for CPU PLL multiplier
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:25 +01:00
Alexander Shiyan 86fda721e3 ARM: clps711x: Move basic lowlevel initialization in common CLPS711X location
One lowlevel initialization will be used on any CLPS711X-target,
so move it in the common location.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:25 +01:00
Alexander Shiyan c1a4087f5d ARM: clps711x: Rework lowlevel initialization code
This is a rework of CLPS711X low level initialization code which includes:
- Prepare for changing CPU PLL multiplier from board lowlevel code.
- Decrease initial memory size to 8MB. It is minimal known size.
- Fix SDRAM initialization comment about size.
- Turn off all peripherals on startup.
- Skip PLL initialization if CPU is running from external 13 MHz clock.
- Use correct CPU speed for older CPUs without PLL.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 18:34:25 +01:00
Jean-Christophe PLAGNIOL-VILLARD 64b873ccba vexpress: detect the board periph mapping and detecting the sp804 mapping
at 0x10011000 for a9 legacy otherwise at 0x1c110000

as the new board also support Cortex-A9

so this is working

qemu/arm-softmmu/qemu-system-arm -M vexpress-a15 -m 1024 -smp 1 -kernel build/vexpress/barebox -pflash build/vexpress/flash -nographic -cpu cortex-a9

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-13 09:21:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD 8428a8c6e3 amba: add oftree probe support
move ARM_AMBA Kconfig to drivers/amba/Kconfig

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-12 20:31:44 +01:00
Steffen Trumtrar 2ccd4510bd ARM i.MX28: change default watchdog reset method
The default setting for the imx28 watchdog is to do a power-off reset. If the
SoC is only powered via battery, then the watchdog powers the chip down, though.
According to the datasheet it should still be possible to execute a proper POR
with battery power, but testing showed otherwise.
When the watchdog power-off reset is disabled, a software reset is executed
instead. This works with and without battery power.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-12 10:02:51 +01:00
Hubert Feurstein b0917935dd ARM i.MX6: Add support for SabreSD board
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Hubert Feurstein <h.feurstein@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-12 10:00:56 +01:00
Vicente Bergas afab6ac783 DeviceTree: add support for initrd in the DT
Add the initrd start and end address to the DT, code comes from u-boot.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-12 09:04:27 +01:00
Vicente Bergas c0ba0a64ae ArchosG9: solve regression in second stage lowlevel init
On ArchosG9 the second stage low-level init was the fallback default.
 Now that the low-level init is forcibly enabled it has to be skipped
 when already executed from first stage.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-12 08:49:47 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2738f72352 arm: add vexpress board support
detect the cpu model to dynamise the periphs mapping

currently only tested on qemu but should work on real hardware

Cortex-A9

if you use 1GiB of ram you can run the same barebox on Cortex-A15 or Cortex-A9
otherwise use vexpress_ca9_defconfig where the TEXT_BASE is at 0x63f00000

when we will add the relocation support this defconfig will be drop

qemu/arm-softmmu/qemu-system-arm -M vexpress-a9 -m 1024 -smp 1 -kernel build/vexpress/barebox -pflash build/vexpress/flash0 -nographic

Cortex-A15

qemu/arm-softmmu/qemu-system-arm -M vexpress-a15 -m 1024 -smp 1 -kernel build/vexpress/barebox -pflash build/vexpress/flash0 -nographic

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-12 08:49:27 +01:00
Jean-Christophe PLAGNIOL-VILLARD 6061d3b3cb arm: move outercase to cpu.c as some SoC as the ux500 always need to flush the l2x0
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 21:08:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD 489f947086 arm: cache-l2x0 update sync define with Linux 3.5
Drop copy in cache-l2x0

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 21:08:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD 19905efac5 arm: add macro cpu_is_xxx
so we can detect

ARM920
ARM926
ARM1176

PXA250
PXA255
PXA270

Cortex-A8
Cortex-A5
Cortex-A7
Cortex-A9
Cortex-A15

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 21:01:24 +01:00
Eric Bénard 659712cbf3 mx23-evk: update defconfig
- enable USB gadget and DFU
- enable MCI and probe at boot
- enable EXT4 and FAT filesystems

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:58:35 +01:00
Eric Bénard fbe9a322c0 mx23-evk: add USB gadget support
- enable the USB OTG device in gadget mode
- tested on i.MX23 EVH rev B1 with DFU

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:58:35 +01:00
Eric Bénard f850d96eb5 mx23-evk: fix MCI support
- this patch fix MCI support and enable using the SDCard to store
the environment.
- it is fully copied from imx23-olinuxino.c
- tested on i.MX23 EVK RevB1

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:58:35 +01:00
Michael Grzeschik 43e99fa007 mx28evk: add m25p80 flash via ssp2
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:58:34 +01:00
Michael Grzeschik 86024a9f70 SPI: Add i.MX 23/28 SPI driver support
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:58:34 +01:00
Michael Grzeschik a90c32c861 ARM mxs: ssp move to common register layout
This patch moves the register defines and bit definitions
into one include file. As the defines are common for ssp
and mci devices they can be shared.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:58:34 +01:00
Alexander Shiyan 919b9766cd ARM: ccmx51: Add powerup delay for LAN9221
LAN9221 requires 50ms delay after power up. This patch adds this delay.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:56:20 +01:00
Alexander Shiyan c8a76d8ba0 ARM: ccmx51: Replace ifdefs with IS_ENABLED
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:56:20 +01:00
Alexander Shiyan 8afa17372f ARM: ccmx51: Fix printing board HW-revision
Board hardware revision is 1-based. This patch corrects printed value,
so now value printed in console is equal value printed on PCB.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:56:19 +01:00
George Pontis 3fa377ae66 i.MX53 i2c, add support for third i2c interface
Signed-off-by: George Pontis <gpontis@spamcop.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:56:19 +01:00
Fabio Porcedda 494e07aa8c at91sam9260/9g20ek: enable clock via clock framework
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:37:21 +01:00
Fabio Porcedda d903126ca1 at91sam9260/9g20ek: cleanup coding style
- fix some error and warnings pointed out by checkpatch.
- join some short lines.
- remove some empty lines.
- remove unnecessary headers.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 20:37:21 +01:00
Jean-Christophe PLAGNIOL-VILLARD 5169b2d2c7 sama5de3k: add gmacb support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 09:27:56 +01:00
Alexander Shiyan caf066102e ARM: mmu: Clear unpredictable bits for translation table
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-11 09:26:35 +01:00
Jean-Christophe PLAGNIOL-VILLARD c49819d903 arm: rename reset and common_reset to barebox_arm_reset_vector and arm_cpu_lowlevel_init
reset is confusing with the cpu reset and impossible to grep

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-08 09:35:40 +01:00
Jean-Christophe PLAGNIOL-VILLARD dc50b5bdf5 beagle: add nand partition and boot
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-05 10:37:17 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3b4fdb58c0 at91sam9: drop AT91_BASE_SYS for sdram controller
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-05 10:26:49 +01:00
Jean-Christophe PLAGNIOL-VILLARD ec5cfca170 at91sam926x_lowlevel_init: use struct to pass soc config
this will allow to pass more paraemeter to at91sam926x_lowlevel_init
and drop AT91_BASE_SYS

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-05 10:26:49 +01:00
Jean-Christophe PLAGNIOL-VILLARD 6ab43e8434 at91sam926x_lowlevel_init: use pio macro
this will make the code more readble

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-05 10:26:49 +01:00
Jean-Christophe PLAGNIOL-VILLARD 345fe0a99f at91: gpio: split accessor so we can use them for early init
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-05 10:26:49 +01:00
Sascha Hauer 7f2f5dce49 ARM pbl: inline decompress function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer c2ef9c4af2 ARM: disable HAVE_CONFIGURABLE_MEMORY_LAYOUT
HAVE_CONFIGURABLE_MEMORY_LAYOUT was first meant as a feature, now it's a
feature to remove it. barebox on ARM now completely uses the memory passed
in from the lowlevel code and configures the malloc area and stack space
during runtime making it obsolete to hardcode these values.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer 65f7a718e6 ARM: Automatically determine malloc size
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer b7bcba8b65 ARM: Enable mmu early
This optionally enabled the MMU in the PBL or during early startup for
the non PBL case. The regular MMU init code will pickup the already enabled
MMU later. This might complicate debugging early code, so this has been
made optional.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer 93ef44fc4e ARM: Factor out early mmu code
Move early mmu code to a separate file so that it can be
used from the pbl and the regular image. Disabling the mmu
can be dropped since the regular mmu code is now able to
pickup an enabled mmu.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer 02c0f0bfc8 ARM mmu: pickup already enabled mmu
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer d2a7bed927 ARM pbl: Use dynamic parameters for early malloc space
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer 8e19ee94ab ARM: Setup stack at end of SDRAM
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer 86db57509c ARM start: pickup parameters from pbl
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer fbf7653ea7 ARM start-pbl: call uncompressed binary with arguments
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:41 +01:00
Sascha Hauer c030487301 ARM start-pbl: make board_init_lowlevel_return static
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:40 +01:00
Sascha Hauer 91493b1b5d ARM: remove now unused MACH_[HAS|DO]_LOWLEVEL_INIT
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-02-04 15:52:40 +01:00
Sascha Hauer df9d6ebd0d ARM AT91: switch sama5d3 to barebox_arm_entry
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:40 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2f386d59e0 ARM AT91: switch at91sam9n12 to barebox_arm_entry
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-02-04 15:52:40 +01:00
Jean-Christophe PLAGNIOL-VILLARD 0dc919923d ARM AT91: switch at91sam9x5 to barebox_arm_entry
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-02-04 15:52:40 +01:00
Jean-Christophe PLAGNIOL-VILLARD df8a605453 ARM AT91: switch at91sam9g45 to barebox_arm_entry
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-02-04 15:52:40 +01:00
Sascha Hauer 2a1d33e4f2 ARM AT91: switch at91rm9200 board to barebox_arm_entry
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-02-04 15:52:39 +01:00
Sascha Hauer 168b2630e2 ARM AT91: switch at91sam9 to barebox_arm_entry part1
This switches the at91sam926x, 9g10 and 9g20 over to barebox_arm_entry.
For these SoCs we currently support reading back the memory size from
the SDRAM controller, so all of these can have a common reset() function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-02-04 15:52:39 +01:00
Sascha Hauer af7e02951e ARM raspberrypi: switch to barebox_arm_entry
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer 560c141935 ARM clep7212: switch to barebox_arm_entry
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer 0056cd78fc ARM netx boards: switch to barebox_arm_entry
Only one board supported, the nxdb500. Uses hardcoded SDRAM settings.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer 5dbfea2186 ARM versatile boards: switch to barebox_arm_entry
Only one board, the qemu based Versatile/PB. Uses hardcoded SDRAM settings.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer a6271e0c2a ARM nomadik boards: switch to barebox_arm_entry
Only one board, the nhk8815. This uses hardcoded SDRAM values.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer 02836ae3dd ARM tegra boards: switch to barebox_arm_entry
Only one board, Toshiba AC100. This uses hardcoded SDRAM values.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer b7e7def623 ARM ep93xx boards: switch to barebox_arm_entry
This architecture is a bit strange. It has up to four SDRAM banks, but
all have a quite limited size. The SDRAM size for the different boards
currently is unknown as it's configurable with Kconfig. We use a SDRAM
size based on the value of the only board we have in the defconfigs:
edb9301. This likely breaks other ep93xx boards.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer bf61adb050 ARM PXA boards: switch to barebox_arm_entry
All boards use hardcoded base addresses.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer 94c06f9447 ARM Samsung boards: switch to barebox_arm_entry
All Samsung boards automatically detect their SDRAM size. The size detection
code can't be called safely from lowlevel C code, so instead the minimum SDRAM
size is guessed from the defconfig files.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer 1c240cd234 ARM OMAP boards: switch to barebox_arm_entry
All boards use hardcoded SDRAM addresses, copied from the board init file.
OMAP3 boards are a bit special, they had a SoC specific reset() function. This
is renamed to omap3_invalidate_dcache() and called from the board lowlevel init
code now.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer c984f8cfa0 ARM MXS boards: switch to barebox_arm_entry
All boards use hardcoded SDRAM addresses, copied from the board init file.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer f2a8e35898 ARM i.MX boards: switch to barebox_arm_entry
Most i.MX boards can use the imx*_barebox_entry functions. The remaining
(i.MX21, i.MX6) use hardcoded base addresses.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:39 +01:00
Sascha Hauer cf4271ee12 ARM i.MX: prepare external nand boot for SoC specific entry
i.MX will get SoC specific entry points for barebox. To find the
correct one we have to call these from the SoC specific
imx*_barebox_boot_nand_external functions.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:38 +01:00
Sascha Hauer 028ae2ba6e ARM i.MX: Add i.MX specific entry point for barebox
Additionally to the generic entry point the i.MX specific ones
calculate the SDRAM size automatically so the boards do not have
to care.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:38 +01:00
Sascha Hauer ce2b453a79 ARM i.MX: Use SRAM stack in lowlevel code
Several i.MX boards setup a temporary stack in their lowlevel code.
Instead of using STACK_BASE use a stack in internal SRAM to get rid
of the STACK_BASE compile time dependency.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:38 +01:00
Sascha Hauer 5cd60cb217 ARM: add __noreturn to board_init_lowlevel_return
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:38 +01:00
Sascha Hauer 5b03b8148f ARM: Add new entry point for barebox
Memory is a precious resource, so it makes sense to make it available as
early as possible. By definition the lowlevel init code already knows where
to find memory because it's the lowlevel init code which sets up the memory.
Until all boards are converted this new entry is just a fallback to the old
entry point.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 15:52:38 +01:00
Sascha Hauer 56325edd79 Merge branch 'for-next/pbl' 2013-02-04 15:49:07 +01:00
Sascha Hauer cfb14ce242 Merge branch 'for-next/omap' 2013-02-04 15:49:07 +01:00
Sascha Hauer 0b12784089 Merge branch 'for-next/oftree'
Conflicts:
	drivers/of/base.c
2013-02-04 15:49:04 +01:00
Sascha Hauer da5fe0ba47 Merge branch 'for-next/misc' 2013-02-04 15:49:00 +01:00
Sascha Hauer 9c5172fac2 Merge branch 'for-next/imx-usb-chipidea' 2013-02-04 15:48:53 +01:00
Sascha Hauer 265e6da19d Merge branch 'for-next/imx' 2013-02-04 15:48:53 +01:00
Sascha Hauer 22e2544809 Merge branch 'for-next/compile-log-level'
Conflicts:
	drivers/usb/host/ehci-hcd.c
2013-02-04 15:48:51 +01:00
Sascha Hauer 1b575024f6 Merge branch 'for-next/at91'
Conflicts:
	arch/arm/boards/at91rm9200ek/init.c
	arch/arm/boards/pm9263/init.c
	arch/arm/configs/at91sam9n12ek_defconfig
	arch/arm/mach-at91/Kconfig
2013-02-04 15:48:43 +01:00
Jean-Christophe PLAGNIOL-VILLARD ab5418b570 sama5d3k: the nand flash is 4 bit ecc capable so use it
this will require to update the bootstrap

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 09:49:56 +01:00
Jean-Christophe PLAGNIOL-VILLARD 8b30a67cab usb-a926x: only provide the resource if the driver is enable
usefull for bootstrap

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 09:45:33 +01:00
Jean-Christophe PLAGNIOL-VILLARD 6179d67536 at91sam9_ddrsdr: fix register on mdr read and sdram detection for ddr size
it's currently working by luck

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-04 09:44:41 +01:00
Jean-Christophe PLAGNIOL-VILLARD 01105421e3 omap3: fix debug_ll uart base
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-02 08:49:16 +01:00
Michael Olbrich 13b0a5a271 defenv-2: migrate guf-vincell to config-board
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:21:23 +01:00
Jean-Christophe PLAGNIOL-VILLARD b9b70868b7 at91: bootstrap: add menu support
This will allow to change the boot mode

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:16:33 +01:00
Jean-Christophe PLAGNIOL-VILLARD 4bd5ceee72 at91sam9261ek: add first stage support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-31 19:14:07 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2754a114ba at91sam9261ek: add boostrap support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-31 19:13:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD dc2da4fef1 at91sam9261ek: add spi support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-31 19:13:45 +01:00
Jean-Christophe PLAGNIOL-VILLARD 41d3371741 at91: introduce AT91_LOAD_BAREBOX_SRAM to specifcy which size load for external boot
Some SoC as sam9261 or sam9263 have enough sram to directly load a barebox
from external boot.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-31 19:13:09 +01:00
Jean-Christophe PLAGNIOL-VILLARD 7e30422d72 sama5d3xek: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:07:46 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3a934cedd2 sama5d3: add lcd support
the sam9x5 have multiple overlay but only register the base one

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:07:46 +01:00
Jean-Christophe PLAGNIOL-VILLARD 6858e091df at91sam9n12ek: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:07:46 +01:00
Jean-Christophe PLAGNIOL-VILLARD 9b9d765098 at91sam9n12: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:05:50 +01:00
Jean-Christophe PLAGNIOL-VILLARD a856d8d582 at91sam9x5ek: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:05:50 +01:00
Jean-Christophe PLAGNIOL-VILLARD b43287e220 at91sam9x5: add lcd support
the sam9x5 have multiple overlay but only register the base one

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:05:50 +01:00
Jean-Christophe PLAGNIOL-VILLARD f15fb7b428 video: add Atmel HLCD support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-31 19:05:50 +01:00
Jan Weitzel 5862bd4faf pcm049: clean up defconfig
add BAREBOX_MAX_IMAGE_SIZE and rebuild defconfig with savedefconfig

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-30 22:35:16 +01:00
Jean-Christophe PLAGNIOL-VILLARD 08147d427f pbl: add none compression support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-30 22:32:13 +01:00
Jean-Christophe PLAGNIOL-VILLARD f73a37aa78 pbl: factorise decompressor
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-30 22:32:13 +01:00
Antony Pavlov 7eed7b91c3 ARM OMAP: use SZ_*M constants in RAM device register functions
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-30 22:21:11 +01:00
Fabio Porcedda a719d7c445 ARM: at91: Add Telit EVK-PRO3 board support
http://www.telit.com

Based on at91sam9260ek board support.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-30 16:02:33 +01:00
Jean-Christophe PLAGNIOL-VILLARD 21535815bf at91: add sama5d3xek board support
currently missing the GMAC support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-30 08:24:48 +01:00
Jean-Christophe PLAGNIOL-VILLARD ca30fb634c at91: add sama5d3 support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-30 08:24:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 1f987a1133 at91: add clock dump command
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-30 08:24:35 +01:00
Sascha Hauer 4db0a48aec Merge branch 'pu/omap' into for-next/omap 2013-01-29 23:19:50 +01:00
Jean-Christophe PLAGNIOL-VILLARD 13ecb8a8f4 at91sam9m10ihd: set missing lcd power control
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 11:44:53 +01:00
Jean-Christophe PLAGNIOL-VILLARD f7e3126619 macb: allow to pass the phy interface
as we will add later the GMAC IP verion support (GEM)

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 11:44:49 +01:00
Antony Pavlov b043950ccc ARM: efika-mx-smartbook: clean up whitespaces
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 10:01:39 +01:00
Sascha Hauer dc3400f53f ARM omap3 beagle: Compile xload defconfig in Thumb2 mode
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 09:46:26 +01:00
Sascha Hauer 75536f898b ARM am33xx beaglebone: move lowlevel code to lowlevel.c
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 09:46:22 +01:00
Sascha Hauer 2f9a2bf635 ARM omap3 omap3evm: move lowlevel code to lowlevel.c
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 08:48:28 +01:00
Sascha Hauer 8acd8a37f6 ARM omap3 omap343xdsp: move lowlevel code to lowlevel.c
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 08:46:23 +01:00
Sascha Hauer 52e321255c ARM omap3 phycard-a-l1: move lowlevel code to lowlevel.c
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 08:42:50 +01:00
Sascha Hauer 4b789b49e0 ARM omap3 beagle: move lowlevel code to lowlevel.c
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-29 08:42:26 +01:00
Jean-Christophe PLAGNIOL-VILLARD 369797daee at91sam9260/9g20/9261/9g10/9263: split soc lowlevel_init from generic
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD bfa778fde3 at91sam9263ek: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 227dae0c72 at91sam9261ek: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 9d8cef4687 at91sam9m10ihd: add lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 6d8a951667 at91sam9m10g45ek: add lcdc support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2fd56aa845 at91sam9g45: add atmel lcdc frambuffer support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD d453554a5d at91sam9261: add atmel lcdc frambuffer support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 9971aa65de at91sam9263: add atmel lcdc frambuffer support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD 39ca268c2a video: add atmel lcdc frambuffer support
This IP is present on the at91sam9 until the sam9g45, on the sam9x5 we use a
new IP.

This driver is based on the linux one.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:39 +01:00
Jean-Christophe PLAGNIOL-VILLARD c6e7320b12 at91rm9200ek: auto detect sdram size
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:37 +01:00
Jean-Christophe PLAGNIOL-VILLARD ef361d4e92 at91rm9200: add autodetect sdram size
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:45:09 +01:00
Jean-Christophe PLAGNIOL-VILLARD 8d5faa862c at91rm9200ek: fix mem size
we have only 32MiB of sdram
by luck it was working

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:44:47 +01:00
Jean-Christophe PLAGNIOL-VILLARD 04a90575e2 at91rm9200: fix default TEXT_BASE to 15MiB
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-28 09:44:31 +01:00
Jean-Christophe PLAGNIOL-VILLARD 1e8c9c5a4a at91sam9x5ek: fix wp_pin and detect_pin pin invalid value
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 21:28:19 +01:00
Jean-Christophe PLAGNIOL-VILLARD d32063d8ab at91sam9n12: fix wp_pin invalid value
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 21:28:19 +01:00