9
0
Fork 0
Commit Graph

2470 Commits

Author SHA1 Message Date
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
Jean-Christophe PLAGNIOL-VILLARD 96834273b0 at91: Atmel ref board sam{9x5/9n12/m109g45} EK and Ronetix pm9g45 autodetect ddr size
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 21:26:51 +01:00
Jean-Christophe PLAGNIOL-VILLARD 20947c6b7f at91sam9g45: add autodetect sd/ddram size
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 21:26:51 +01:00
Jean-Christophe PLAGNIOL-VILLARD 9aa7dd992a at91sam9n12: add autodetect sd/ddram size
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 21:26:51 +01:00
Jean-Christophe PLAGNIOL-VILLARD 11bae6b40a at91sam9x5: add autodetect sd/ddram size
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 21:26:51 +01:00
Sascha Hauer fb1b9d5ffb ARM pcm038: Specify pr_fmt and change messages to pr_*
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 14:24:39 +01:00
Sascha Hauer 5596d88917 ARM mmu: Use pr_debug
Also, specify a pr_fmt and add missing GPL header.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 14:24:39 +01:00
Sascha Hauer a01e54d201 treewide: fix format specifiers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 14:24:10 +01:00
Jean-Christophe PLAGNIOL-VILLARD 7cf50cf26c Animeo IP: use gpiolib ip to detect the hw version
if err assume
SubCo
SDN

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-27 12:18:52 +01:00
Jean-Christophe PLAGNIOL-VILLARD 4dd9fc8106 at91sam9261: fix max bare_init it's 156KiB
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-26 22:23:41 +01:00
Sascha Hauer 2089b1e8bd ARM AT91 pm9263: Fix phy address
The ethernet phy address is wrong so no phy is found. Autodetect it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-26 22:22:50 +01:00
Sascha Hauer 1857238192 ARM AT91 mmccpu: Fix non existing define
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-26 13:20:40 +01:00
Sascha Hauer 2ae54f8161 ARM: Fix reassigning symbols in defconfigs
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 20:45:32 +01:00
Sascha Hauer 7f955da08f ARM bcm2835: Fix noreturn function does return
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 20:43:52 +01:00
Jean-Christophe PLAGNIOL-VILLARD 50559d2c4c atmel_mci: drop board host caps
as it's handle by detecting the IP version and bus with

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 19:52:43 +01:00
Alexander Aring 56f99ec44a arm-mmu: switch pte flags vars to lower case
Old cache/uncache pte flags were declared as defines.
Since these flags are determine at runtime they are static
variables.

This patch switch the naming style of these variables to
lower case which is typically used for variables.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 19:51:06 +01:00
Alexander Shiyan b7423f36c7 ARM: ccmx51: Update defconfig
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 19:47:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2db964d156 at91: add Somfy Animeo IP support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 19:03:49 +01:00
Jean-Christophe PLAGNIOL-VILLARD e820f78975 at91sam9260ek: specify mach entry
as the sam9260ek may not be the first one in the list

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 19:03:49 +01:00
Jean-Christophe PLAGNIOL-VILLARD 8c52f691e9 at91: add at91sam9m10ihd tablet support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 18:35:56 +01:00
Jean-Christophe PLAGNIOL-VILLARD f2823d5578 at91sam9m10g45ek/defconfig: set board type
as we will add the ihd before

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 18:35:56 +01:00
Jean-Christophe PLAGNIOL-VILLARD 6a63481cd7 tny_a9263: add bootstrap support
the lowlevel init is the same as the usb-a9263 except that can not have the
128MiB option

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 18:33:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD 29a59f2a4f tny-a9263: add dataflash support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-25 18:33:58 +01:00
Sascha Hauer 50d1b2de8e ARM v7: Fix register corruption in v7_mmu_cache_off
v7_mmu_cache_flush stores registers on the stack and restores
them afterwards. Additionally v7_mmu_cache_flush is called
from v7_mmu_cache_off *after* disabling the MMU. With this
the following can happen:

- v7_mmu_cache_off disables the MMU. From now on no new values
  go to the data cache.
- v7_mmu_cache_off calls v7_mmu_cache_flush which in turn puts
  registers on the stack. Due to the MMU being disabled they
  do not go into the data cache.
- In v7_mmu_cache_flush the memory the stack is pointing to is
  overwritten with the values currently being in the cache.
- v7_mmu_cache_flush restores the registers from the stack with
  values from the cache and not the memory where the values have
  previously been written to.

Fix this by storing the registers on the stack *before* we disable
the MMU and restore them after we have called v7_mmu_cache_flush.
This way v7_mmu_cache_flush still restores corrupt register values
for the case when the MMU has been disabled, but we will restore
correct values afterwards.

This has been first observed when switching to gcc-4.7.2 when compiling
in Thumb2 mode, but could explain earlier problems also. The result
here was that the register holding the kernel address in start_linux()
was corrupted so that the kernel could not be started.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 20:37:56 +01:00
Jean-Christophe PLAGNIOL-VILLARD 2bdc28c475 console: switch select to choice
so we can add easly the console_none support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 20:34:16 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3e56f55939 at91sam9x5ek: add usb support
warning: the ohci work only without MMU

enable:
 - ehci
 - usb strorage
 - usb net asix

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:57:22 +01:00
Jean-Christophe PLAGNIOL-VILLARD dfbb16a9ad at91sam9x5: add ehci support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:57:22 +01:00
Jean-Christophe PLAGNIOL-VILLARD b46b81feba at91sam9m10g45ek: add usb support
warning: the ohci work only without MMU

enable:
 - ehci
 - usb strorage
 - usb net asix

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:57:22 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3c2a1a6a99 at91sam9g45: add ehci support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:57:22 +01:00
Jean-Christophe PLAGNIOL-VILLARD b01ded9a97 at91: usb: allow to specicfy inverted vbus
add missing vbus to all SoC

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:57:22 +01:00
Alexander Shiyan 0d4bdc9aa5 ARM: ccmx51js: Define reset pin for USB Host1
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:34:42 +01:00
Alexander Shiyan 36563f5f69 ARM: ccmx51: Set MAC address before FEC device registration
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:34:42 +01:00
Alexander Shiyan 937e6b541a ARM: ccmx51: Fix ethernet devices control by MC13892 GPOs
LAN9221 is eth1, FEC is eth0, so fix power/reset control by
MC13892 GPOs.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:34:42 +01:00
Alexander Shiyan 697e02b74f ARM: ccmx51: Remove SDRAM size settings
This patch removes SDRAM memory size setting from board due
to auto detect last one by ESDCTL.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-23 08:34:42 +01:00
Jean-Christophe PLAGNIOL-VILLARD d03ae44394 at91: usb_a9263: add bootstrap version
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD ea023b9b7b at91: add bootstrap version
This will allow to boot from NAND/MMC and others.
This version of bootstrap is a non shell version of barebox compressed by the
pbl.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD 345dd51467 at91: usb-a9263 add lowlevel init
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD 075460c5c1 at91: sam926x: switch lowlevel param to c code
Instead of hardcode define use a struct that the board fill

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD f32a8cdd89 at91sam926x: lowlevel add external boot support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD faa6b0b603 at91: add test commamd to emulate bootrom boot
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Jean-Christophe PLAGNIOL-VILLARD 5de0f116ba at91: dump mux command: make it depends on COMMAND_SUPPORT
so in bootstrap we do not compile it

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-22 22:03:44 +01:00
Sascha Hauer f791295528 Merge branch 'pu/imx-external-nand-boot' into for-next/imx 2013-01-21 13:53:20 +01:00
Vicente Bergas 53f1d60627 feature_list: a way to pass hardware info to the kernel
Hi Sascha,
I've made the changes you suggested in this resent patch.

Everything related to custom ATAGs has been moved to the board
directory.

The generic code does not make any references to feature lists or
bootloader versions.

About the setup_feature_list prototype:
 it has been renamed to atag_appender
 it's not a function, it's a pointer to a function. Can it have a
prototype other than it's own declaration?

All non-related changes has been dropped. They were checkpatch.pl
warnings unrelated to this patch.

Regards,
  Vicente.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-21 09:09:11 +01:00
Sascha Hauer 6345f19af5 ARM i.MX boards: use helper function for external NAND boot
Use helper function for external NAND boot to get some positive
diffstat.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 16:55:44 +01:00
Sascha Hauer 6e45abe47e ARM i.MX: Add a common NAND entry for external boot mode
The pattern for i.MX boards starting in external NAND boot mode is always
the same:

- Check if we are running in NFC address space, if not call
  board_init_lowlevel_return()
- copy binary to link address
- execute relocated binary
- call imx_nand_load_image()

Add a common function for this to make the board code easier.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 16:53:46 +01:00
Sascha Hauer 0c97dd0061 move prototypes for envfs_* to envfs.h
environment.h is for environment variables, not for the environment
storage (envfs), so move the prototypes to envfs.h

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 16:31:51 +01:00
Sascha Hauer 7b4d66ab28 startup: call a barebox_main function pointer at the end of the startup
Currently Kconfig dependencies are used to allow non-interactive builds.
This leads to problems in Kconfig getting the dependencies right.

This patch adds a barebox_main function pointer which is called at the
end of the startup process. This defaults to run_shell when a shell is
enabled.

With this the HAVE_NOSHELL Kconfig variable can be removed. Non interactive
builds can now be enabled for every board allowing to compile a binary
without further Kconfig dependencies. This also allows for more flexibility,
for example boards may decide to try non-interactive startup first and
call run_shell if that fails.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 16:30:20 +01:00
Sascha Hauer fdc5a0cbfc ARM i.MX6: Add Chipidea support
This allows to register the USB ports for the chipidea driver. For
now the otg/h1 register functions also register the corresponding
USB phys.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 11:15:00 +01:00
Sascha Hauer bb2e752fb6 ARM i.MX6: Add usbphy clocks
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 11:08:47 +01:00
Sascha Hauer 59a22cb392 ARM i.MX6: Fix usb phy base addresses
What we had as usb phy1 base address is really usb phy2. Fix the names
and add the missing base address definition for usb phy1.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 11:07:50 +01:00
Sascha Hauer f051557a74 ARM i.MX6 USB phy: Fix phy function names
The imx6_usb_phy1* functions are misnamed. It's usb phy2 that is configured
here, so rename the functions accordingly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-20 11:06:08 +01:00
Sascha Hauer f3e173f6c2 ARM bootm: only use concatenated oftree when no other is available
When an oftree is already specified use it. This lets the user
boot a kernel with an oftree he provided himself rather than
hardcoding the concatenated one.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-19 11:48:17 +01:00
Alexander Aring 43afe67390 barebox-data: add barebox-data sections
Add barebox-data section in arm branch to get complete
barebox regions in sdram regions tree.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 11:56:50 +01:00
Sascha Hauer 34b9298145 Merge branch 'pu/tx25' into for-next/imx 2013-01-18 11:25:15 +01:00
Sascha Hauer f8ca3d92e3 ARM Ka-Ro Tx25: Switch to new environment
Also update config for supporting external NAND boot.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 11:24:58 +01:00
Sascha Hauer 53d962329b ARM Ka-Ro TX25: Increase NAND partitions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 11:24:58 +01:00
Sascha Hauer 6f14250038 ARM Ka-Ro TX25: fix compilation with external NAND boot enabled
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 11:24:51 +01:00
Sascha Hauer 59dd999968 ARM Ka-Ro TX25: fix running in SDRAM test
The end of SDRAM is at 0x9fffffff, not at 0x8fffffff. This fixes starting
barebox when it is located in the second SDRAM bank.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 11:24:21 +01:00
Sascha Hauer 1ce154f0bb ARM i.MX25: Add missing device registration for the iomux
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 11:24:10 +01:00
Alexander Aring d32b75f003 arm-mmu: move PAGE_ALIGN macro to common.h
PAGE_ALIGN macro is needed to align addresses to page boundaries.
Move this macro to another PAGE_* defines.

Commands which uses remap_range function needs this macro.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 08:28:24 +01:00
Alexander Aring 47326f80a9 remap_range: make function 'remap_range' global
Change function remap_range in arm architecture to make it
global accessable. For example command 'memtest' can change
pte flags to enable or disable cache.

Add dummy function for others architectures that doesn't
have mmu or pte support.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-18 08:28:20 +01:00
Daniel Mierswa 39390eea26 i.MX27: fix shift amount for PCCR1_PERCLK3_EN
Signed-off-by: Daniel Mierswa <d.mierswa@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-17 19:02:42 +01:00
Daniel Mierswa 0f7bff88f0 i.MX21/27: don't enable lcd bus clocks too early
On the MX27 based board phycard-i.MX27 the display won't properly
come up.
Before removing imx-regs.h and the code that sets the register
in the i.MX video driver, the PCCR registers were set _after_
the screen start (LSSAR) was set.
This restores that old behaviour and makes the display come up
properly again.
I did not have a chance to test this on any other i.MX27 or i.MX21
hardware though I assume that the "old" order is required there
too.

Signed-off-by: Daniel Mierswa <d.mierswa@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-17 19:02:42 +01:00
Daniel Mierswa 1d37166cb2 i.MX21: Add periph. clock register name macros
Also put those names solely in the .c file as it's done with
the i.MX27 code.

Signed-off-by: Daniel Mierswa <d.mierswa@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-17 19:00:18 +01:00
Vicente Bergas 63d11f044a ARCHOS: use manufacturer values for pad_conf and reorder initialization
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-17 18:46:40 +01:00
Vicente Bergas 753394a991 OMAP4: use OPPs recommended in datasheet
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-17 18:46:40 +01:00
Sascha Hauer cbc3e0f6d4 Merge branch 'delivery/at91_fixes' of git://git.jcrosoft.org/barebox 2013-01-15 15:33:08 +01:00
Jean-Christophe PLAGNIOL-VILLARD e3adde61c1 at91sam9g45: fix i2c typos
arch/arm/mach-at91/at91sam9g45_devices.c: In function 'at91_add_device_i2c':
arch/arm/mach-at91/at91sam9g45_devices.c:158:42: error: 'pdata_i2c' undeclared (first use in this function)
arch/arm/mach-at91/at91sam9g45_devices.c:158:42: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-at91/at91sam9g45_devices.c:163:8: error: expected ':' or '...' before ';' token
arch/arm/mach-at91/at91sam9g45_devices.c:166:8: error: expected ':' or '...' before ';' token

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-15 00:26:19 +08:00
Jean-Christophe PLAGNIOL-VILLARD 8c93adeb0a at91: sam9x5ek: use -EINVAL for invalid gpio on 1-wire
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-15 00:26:14 +08:00
Sascha Hauer 958eaf4c9d ARM panda: do not set gpio direction of heartbeat LED
We now have gpio_request. When we call gpio_direction_output before
registering a led_gpio the gpio will be implicitely requested by the
gpio core. gpio_request in the led core will then fail resulting in
an unregistered LED.
Fix this by removing the call to gpio_direction_output. The LED core
will do this anyway.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-14 13:40:52 +01:00
Alexander Aring 1431f4a7fc arm-mmu: remove semicolon in arm mmu.c
Remove semicolon in PAGE_ALIGN macro.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-14 13:21:39 +01:00
Sascha Hauer d174218c09 ARM beaglebone: update defconfig for networking
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-13 10:36:44 +01:00
Sascha Hauer bfe2fad5f2 ARM beaglebone: Add network support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-13 10:36:44 +01:00
Sascha Hauer cee6e122ff ARM am33xx: Add cpws convenience functions
This adds a function to register the cpws device and another one
to register the MAC addresses provided by the am33xx.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-13 10:36:43 +01:00
Sascha Hauer da852397e0 ARM android image: remove double of_fix_tree
With bootm of_fix_tree() will already be called from the generic bootm
code, so do not do this again in the Android image handler.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-01-11 14:10:01 +01:00
Sascha Hauer f30b191e36 of: make of_get_fixed_tree more universally usable
Currently the bootm code uses of_fix_tree to apply the fixups
to the devicetree given on the command line. This function assumes
that there is enough space for the fixups available. Also on ARM
we have to make sure the tree does not cross 1Mib boundaries.

This patch moves the space allocation and alignment ensurance
to of_get_fixed_tree and uses it in bootm. This is the first
step for making of_get_fixed_tree the single point of devicetree
handling in barebox.
of_get_fixed_tree now takes an argument of the input fdt. If it is
given, this one is used, otherwise an internal oftree is used which
will be created in subsequent patches.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-11 14:08:30 +01:00
Jan Luebbe 5824325936 drivers: net: add driver for TI CPSW
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-10 20:41:50 +01:00
Sascha Hauer 46dae550cd ARM am33xx: the hsmmc is a omap4 type mmc controller
The am33xx hsmmc controller is actually a omap4 type controller which
means that it has a 0x100 offset in the registers.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-10 20:41:42 +01:00
Sascha Hauer db31ccf293 Merge branch 'for-next/omap' 2013-01-09 10:29:08 +01:00
Sascha Hauer fca2d79470 Merge branch 'for-next/mxs' 2013-01-09 10:29:08 +01:00
Sascha Hauer b0ab3c220f Merge branch 'for-next/misc' 2013-01-09 10:29:08 +01:00
Sascha Hauer 8c46b854f7 Merge branch 'for-next/imx' 2013-01-09 10:29:08 +01:00
Sascha Hauer 21a0fc1ce3 Merge branch 'for-next/gpio-request' 2013-01-09 10:29:07 +01:00
Sascha Hauer 04cb446c9a ARM omap / mci: Fix register offsets
Only the OMAP4 has a register offset of 0x100 in the register space. Fix
this by using the device id mechanism. This became broken when the device
register convenience functions were introduced.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-08 10:02:13 +01:00
Jean-Christophe PLAGNIOL-VILLARD 4db8ba4be3 at91: add dump mux command
This will allow to dump all pin configuration in a nice table
and if the bank/pin is specified the pin details

barebox@Atmel at91sam9x5-ek:/
Pin     PIOA            PIOB            PIOC            PIOD

0:      [gpio] set      [periph A]      [gpio] set      [periph A]
1:      [periph A]      [periph A]      [gpio] set      [periph A]
2:      [gpio] set      [periph A]      [gpio] set      [periph A]
3:      [gpio] set      [periph A]      [gpio] set      [periph A]
4:      [gpio] set      [periph A]      [gpio] set      [gpio] clear
5:      [gpio] set      [periph A]      [gpio] set      [gpio] set
6:      [gpio] set      [periph A]      [gpio] set      [periph A]
7:      [gpio] set      [periph A]      [gpio] set      [periph A]
8:      [gpio] set      [gpio] set      [gpio] set      [periph A]
9:      [periph A]      [periph A]      [gpio] set      [periph A]
10:     [periph A]      [periph A]      [gpio] set      [periph A]
11:     [periph A]      [gpio] set      [gpio] set      [periph A]
12:     [periph A]      [gpio] set      [gpio] set      [periph A]
13:     [periph A]      [gpio] clear    [gpio] set      [periph A]
14:     [gpio] set      [gpio] clear    [gpio] set      [gpio] set
15:     [periph A]      [gpio] set      [gpio] set      [gpio] set
16:     [periph A]      [gpio] set      [gpio] clear    [periph A]
17:     [periph A]      [gpio] set      [gpio] set      [periph A]
18:     [periph A]      [gpio] set      [gpio] set      [periph A]
19:     [periph A]      [periph A]      [gpio] set      [gpio] set
20:     [periph A]      [periph A]      [gpio] clear    [gpio] set
21:     [gpio] set      [periph A]      [gpio] clear    [gpio] clear
22:     [gpio] set      [periph A]      [gpio] set      [periph A]
23:     [gpio] set      [periph A]      [gpio] set      [periph A]
24:     [gpio] set      [periph A]      [gpio] set      [periph A]
25:     [gpio] set      [periph A]      [gpio] set      [periph A]
26:     [gpio] set      [periph A]      [gpio] set      [periph A]
27:     [gpio] clear    [periph A]      [gpio] set      [periph A]
28:     [gpio] set      [periph A]      [gpio] clear    [periph A]
29:     [gpio] set      [periph A]      [gpio] set      [periph A]
30:     [gpio] set      [periph A]      [gpio] set      [periph A]
31:     [gpio] set      [periph A]      [gpio] set      [periph A]
barebox@Atmel at91sam9x5-ek:/
pioA27 configuration

[gpio] clear
multidrive = disable
pullup = disable
degitch = disable
debounce = disable
pulldown = enable
schmitt trigger = enable

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:59 +01:00
Jean-Christophe PLAGNIOL-VILLARD 9ce0055e9c at91: drop AT91_BASE_PIOx for soc specific one for none boot code
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD a0f94be44e at91: introduce AT91SAM9_SMC and AT91SAM9_TIMER
to select the smc and timer for at91sam9 soc

This will allow to simplify the Makefile

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD 5155a0235f at91: wdt: drop AT91_SYS_BASE
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD 398f4b17da at91: SMC: switch to platform_driver
This will allow to support multiple arch

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD 29597813dc at91: autodetect the soc one time at postcore_initcall
and then register a device

The code is take from linux

drop AT91_BASE_SYS for dbgu

factorise the soc type in the Kconfig but keep the ARCH_ so far
as the device code have the same function accross soc which for now does not
allow us to compile soc together

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD 49edc4c987 at91: PIT: switch to platform_driver
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:56:58 +01:00
Jean-Christophe PLAGNIOL-VILLARD e7edecb87a at91: at91sam9: provide its own clkdev for pit
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:33:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD 64c94fcd76 at91: sync with the kernel address base
add non AT91_SYS_BASE offset base address define

This will prepare for multi arch support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:33:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD a23017d350 at91: introduce Kconfig to select the dbgu for lowlevel debug
so we can drop AT91_BASE_SYS too

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:33:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD f81bcf17b3 at91: pmc: drop AT91_BASE_SYS
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:33:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD 75fb25220c at91: factoryse PMC address as it's the same on every soc
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:33:24 +01:00
Jean-Christophe PLAGNIOL-VILLARD 22b1b8fff7 at91: enable clock via clock framework
fix at91sam926x timer and dss11

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-07 18:33:19 +01:00
Jean-Christophe PLAGNIOL-VILLARD 3b172627e0 at91sam9x5ek: switch heartbeat to d2 (pioD21)
as d1 pioB18 is used for the one wire too

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-02 11:04:23 +01:00
Jean-Christophe PLAGNIOL-VILLARD 7200ef1dba at91: factorise dbgu address
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-01-02 10:59:59 +01:00
Jean-Christophe PLAGNIOL-VILLARD 4d97a1fc9c at91: switch to gpiolib
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-12-22 16:40:33 +01:00
Jean-Christophe PLAGNIOL-VILLARD eb5eb6c147 at91: gpio: switch to ops
imported from the kernel

this allow to simplify the mux implemtation and will simplify the gpio support
from bare_init or pbl

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-12-22 16:40:33 +01:00