9
0
Fork 0
Commit Graph

1910 Commits

Author SHA1 Message Date
Sascha Hauer 2d9b136ef1 Merge branch 'for-next/clocksource' into for-next/bcm2835 2012-10-21 10:48:09 +02:00
Teresa Gámez f1ea7465b2 ARM OMAP: Enable gpio output
Enable output instead of disabling it.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-21 10:39:43 +02:00
Jean-Christophe PLAGNIOL-VILLARD d486b620fa at91sam9x5ek: switch to hw pmecc nand support
now we can flash barebox by itself as the bootstrap need to use pmecc

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-21 10:33:48 +02:00
Jean-Christophe PLAGNIOL-VILLARD 9af8dccf36 at91sam9x5: add pmecc support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-21 10:33:48 +02:00
Jean-Christophe PLAGNIOL-VILLARD 70ecd92d05 nand: atmel add pmecc support
This patch is from linux 3.7-rc1 and adapt to Barebox

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-21 10:33:48 +02:00
Sascha Hauer 3a8d4e9440 make make -s more silent
use $(kecho) instead of echo to not output messages with
make -s

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 22:17:12 +02:00
Sascha Hauer 1900e9f97d ARM i.MX53 tx53: register MMC and NAND update handler
We support two different board revisions, both of which only differ
in the dcd table, so we can support both in a single binary with the
cost of storing both dcd tables in the binary.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:23:42 +02:00
Sascha Hauer 12b0b710c3 ARM i.MX53 loco: register MMC update handler
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:23:42 +02:00
Sascha Hauer 49d988bb92 ARM i.MX51 babbage: register MMC update handler
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:23:42 +02:00
Sascha Hauer f207ca79a0 ARM i.MX: Add barebox update handler for internal boot
This adds support for an update handler for internal boot. Currently
handled are:

- v1 MMC/SD
- v2 MMC/SD
- v2 NAND

where v1 is found on i.MX25, i.MX35 and i.MX51. v2 is found on i.MX53.

This code intentionally does not use the DCD data compiled into every
i.MX internal boot image. This makes it possible to make a pure second
stage barebox bootable on i.MX internal boot devices later.

This has been tested on the i.MX51 babbage, i.MX53 loco and i.MX53 tx53
board.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:23:42 +02:00
Sascha Hauer 73e56c3489 ARM i.MX Karo tx53: Add env depending on bootsource
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:58 +02:00
Sascha Hauer 7b84676763 ARM i.MX53: set bootsource location
To be able to set the environment location based on the
bootsource.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:58 +02:00
Sascha Hauer 3bbe8a9ea4 ARM i.MX tx53: Add rev xx30 board support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:58 +02:00
Sascha Hauer 4ad34853f1 ARM i.MX53: enable imx53_init_lowlevel for pbl
The KARO Tx53 board in the revision 8030 has an instable SDRAM
setup. It works as long as the MMU is disabled, but the board
crashes at arbitrary places once the MMU gets enabled. So we
need the PLL setup early. Enable it for pbl.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:58 +02:00
Sascha Hauer b1b76f6027 ARM i.MX: get rid of imx-regs.h
- remove now unused __REG definitions
- include individual SoC register files instead of imx-regs.h
- move IMX_GPIO_NR to generic.h
- finally remove imx-regs.h

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer ee372b8f28 ARM i.MX27: remove duplicate ESDCTL registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer 86d9ed1cc5 ARM i.MX27: move PCCR gate registers to its only user
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer 6a9d37e579 ARM i.MX27: Cleanup remaining unprefixed registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer 11b1757937 ARM i.MX21: Cleanup remaining unprefixed registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer 926cccc9d5 ARM i.MX1: Cleanup remaining unprefixed registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer 4c53af062b ARM i.MX: remove unused improperly prefixed register defines
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer d089e3caa5 ARM i.MX external nand boot: Use SoC specific base addresses
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer dc9d70e239 ARM i.MX35: Cleanup remaining unprefixed registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:02 +02:00
Sascha Hauer 1092bde80c ARM i.MX25: Cleanup remaining unprefixed registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:01 +02:00
Sascha Hauer a8c6359667 ARM i.MX31: Cleanup remaining unprefixed registers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:01 +02:00
Sascha Hauer 632b04f8a6 ARM i.MX nand layout: make multisoc safe
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:01 +02:00
Sascha Hauer 7a334ccdec ARM i.MX: Use SoC specific base to access sdram controller registers
This redefines the sdram controller registers as offsets to the base
rather than as absolute addresses. All users are fixed to use the
SoC specific base address.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 20:22:01 +02:00
Sascha Hauer aaad5cbad7 Merge branch 'for-next/clk' into for-next/imx
Conflicts:
	drivers/net/fec_imx.c
2012-10-17 20:21:46 +02:00
Jean-Christophe PLAGNIOL-VILLARD 4400350871 at91sam9x5ek: fix bootstrap size to 256KiB
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-17 15:05:52 +08:00
Sascha Hauer 09efce4ad3 Merge branch 'for-next/imx-work' into for-next/imx
Conflicts:
	arch/arm/mach-imx/imx1.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-17 08:49:18 +02:00
Sascha Hauer e6f224a553 Merge branch 'for-next/imx-watchdog' into for-next/imx 2012-10-17 08:49:00 +02:00
Sascha Hauer f393758c53 Merge branch 'for-next/imx-dt' into for-next/imx 2012-10-17 08:48:54 +02:00
Sascha Hauer 7787010e9b Merge branch 'for-next/arm-start' into for-next/arm 2012-10-17 08:48:14 +02:00
Jean-Christophe PLAGNIOL-VILLARD c49364cc37 sam9x5ek: drop uart2 as it's not always present
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-17 12:20:13 +08:00
Jean-Christophe PLAGNIOL-VILLARD 673a696cf7 at91sam9x5: udpate default ARCH_TEXT to 0x26f00000
On sam9x5 series the bootstrap load the bootloader at 0x26f00000.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-17 12:20:13 +08:00
Sascha Hauer da290d3fa3 ARM bootz: use request_sdram_region
We now have request_sdram_region to request a region. Use
it instead of a comparison with MALLOC_BASE.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-16 09:31:22 +02:00
Jean-Christophe PLAGNIOL-VILLARD f2f75de27d usb-a9263: add spi dataflash support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-15 19:53:46 +02:00
Sascha Hauer f99ea5c9d8 ARM samsung S5P: Enable board support
This was once disabled because we had no board support. This has
changed, so enable the S5P board support in the config so that
the friendlyarm_tiny210_defconfig actually builds for the correct
machine.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-15 19:47:01 +02:00
Sascha Hauer c65edd657d ARM a9m2440: Fix lowlevel init
board_init_lowlevel is no longer called from generic code, so we can't
just return from in. Instead we have to jump to board_init_lowlevel_return
manually. For the a9m2440 board one case was missed to convert. This
is broken since:

| commit faf7b7af6e
| Author: Jan Luebbe <jlu@pengutronix.de>
| Date:   Mon Sep 24 10:18:34 2012 +0200
|
|     ARM: give boards control of the reset entry point
|
|     On some SoCs (for example AM35xx), the ROM bootloader passes useful
|     information in r0 when jumping to barebox.
|
|     To avoid overwriting this in the generic reset code, we introduce
|     common_reset as a C function and as an assembler macro. This is then
|     called form the reset entry point (either in common or in board code).
|
|     This patch is based on code by Sascha Hauer <s.hauer@pengutronix.de>.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-15 19:46:56 +02:00
Sascha Hauer f36c792109 ARM i.MX: Print silicon revision in common place
Rather than doing this in the SoC specific code just print
it in imx_set_silicon_revision. This saves some lines of code
and also results in i.MX27 now also having the silicon revision
printed during startup.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-15 19:44:36 +02:00
Sascha Hauer a029e32d7f ARM i.MX: rework bootsource setting
This moves the known i.MX bootsource settings to a single file
so that the code can be shared. Also we add a enum for the different
boot sources so that it can be used in C Code and not only on the shell.
The pcm038 board is changed to use it instead of digging in the registers
manually.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-15 19:44:36 +02:00
Vicente Bergas f98e20c582 ARM: ensure irqs are disabled at barebox exit
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-15 09:18:34 +02:00
Vicente Bergas 525bb0c377 ARM: add rename PSR bits to match linux names
Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-15 09:18:34 +02:00
Sascha Hauer 8b609af14c ARM: introduce arm_setup_stack function and use it
We have enough places which setup0 a stack to justify
a static inline function for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-13 14:17:31 +02:00
Sascha Hauer 1dbfd5ed82 ARM: Support multiple ARM architectures
The different ARM architectures need different cache functions. This
patch makes them selectable during runtime.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-13 11:19:13 +02:00
Sascha Hauer 3d76ff9aea ARM: no need to call cache functions when MMU is disabled
Without MMU enabled we do not need to call __mmu_cache_* as the
caches are not enabled. Calling flush_icache() before jumping
to new code is enough.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-12 17:00:08 +02:00
Sascha Hauer 9243875971 ARM exceptions: Do not use hardcoded STACK_BASE
The exception handlers need some space to write to. Traditionally
this has been some stack space. This is not necessary at all, so
just use some variable and get rid of the compile time fixed stack
address.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-12 17:00:08 +02:00
Sascha Hauer a4c8692240 ARM i.MX: Enable clocks in common place
On i.MX we enable all necessary clocks during startup of the clock
controller driver, so we do not need the register hacking in the drivers
anymore.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer beda98485c ARM i.MX25: Add lcdc per gate
This gate is used to enable/disable the lcd controller, hence we
need a gate for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer c1cc2c2f55 ARM i.MX27: Add lcdc per gate
This gate is used to enable/disable the lcd controller, hence we
need a gate for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer 1563d42c42 ARM i.MX21: Add lcdc per gate
This gate is used to enable/disable the lcd controller, hence we
need a gate for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer 71ca72c4e4 ARM i.MX21: Enable all needed clocks during startup
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer aab96efadc ARM i.MX21: Fix CSPI parent clock
It's perclk2, not perclk3

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer 0b177de1a4 ARM i.MX: Add clk_gate inline function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:51 +02:00
Sascha Hauer cec48e77b8 ARM i.MX25: Enable all needed clocks during startup
This enables the following clocks on i.MX25:

PER: esdhc1, esdhc2, i2c, nfc, owire, pwm, uart
AHB: emi, esdhc1, esdhc2, fec, lcdc, usbotg
IPG: cspi1, cspi2, cspi3, esdhc1, esdhc2, fec, gpt1, gpt2, gpt3, gpt4,
iim, LCDC_EN, pwm1, pwm2, pwm3, pwm4, spba, tsc, uart1, uart2, uart3,
uart4, uart5

These are hopefully all the clocks we need for barebox.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:47:38 +02:00
Vicente 8083e2e024 bootm: close open files
Signed-off-by: Vicente <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:29:58 +02:00
Sascha Hauer 01525288b0 ARM: Add cpu_architecture() function
Once we run on multiple SoCs we must know which arm architecture we
are on. Add cpu_architecture() from the kernel to detect it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-10 09:10:28 +02:00
Teresa Gámez 7764b1faca ARM OMAP: change region size for gpio banks
- increased the region size for OMAP3, as it was not correct
- decrease region size for OMAP4 to prevent overlapping.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-09 20:36:21 +02:00
Teresa Gámez f4226a9ed4 ARM OMAP: Remove usage of gpio lib calls in lowlevel code
As the gpio functions are not available at this point, set the gpio manually.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-09 20:36:21 +02:00
Teresa Gámez 6bb2ad1323 ARM OMAP: gpiolib fix chip.base
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-09 20:36:21 +02:00
Sascha Hauer 3c91b44b66 ARM: simplify start.c
start() for the PBL case is a duplicate of board_init_lowlevel_return().
Instead of duplicating it just call it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-08 22:48:45 +02:00
Sascha Hauer 403af66580 ARM at91sam9260ek: remove unused reset entry
The at91sam9260ek has a custom reset function which does the same thing
as the default function. Also it does not define MACH_HAS_LOWLEVEL_INIT
as it should do. Remove the function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-08 22:48:24 +02:00
Sascha Hauer 2155bc5ba8 ARM i.MX: move reset source detection code
- for i.MX1 the register is in the System Control unit, so move
  the code to arch/arm/mach-imx/imx1.c
- for the other i.MX the register is in the watchdog unit, so move
  the code to drivers/watchdog/imxwd.c

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-08 21:41:36 +02:00
Sascha Hauer bad4d7cd75 ARM i.MX gpio: fix of gpio base
of_alias_get_id() returns the number of the gpio bank, so we have
to multiply with 32 to get the gpio base.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-07 18:46:42 +02:00
vicencb@gmail.com 9cb32d1d58 regression: reset can not return
Signed-off-by: vj <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-07 11:40:07 +02:00
Sascha Hauer cff3972712 ARM i.MX: Turn iomux-v3 into driver
To get proper resources allocated for it and to get rid of IMX_IOMUXC_BASE
usage.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:03:04 +02:00
Sascha Hauer 3525a8e4e8 ARM i.MX: Turn iomux-v2 into driver
To get proper resources allocated for it and to get rid of IOMUXC_BASE
usage.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:03:04 +02:00
Sascha Hauer d553125983 ARM i.MX iomux-v1: Add separate header file
- Add a separate header file for the iomux-v1 just like done for
  iomux-v3.
- initialize iomux from SoC code so that we do not depend on IMX_GPIO_BASE
  anymore.
- define registers as offset to the base rather than absolute addresses

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:03:04 +02:00
Sascha Hauer 306f58fc76 ARM i.MX boards: Use IMX_GPIO_NR
Rather than GPIO_PORT* which will vanish.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:03:04 +02:00
Sascha Hauer 3f35afd996 ARM i.MX1: move iomux definitions to separate header file
Just like we have a separate file for the other i.MX SoCs.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:03:04 +02:00
Sascha Hauer 5003e4ddc8 ARM i.MX: streamline imx_silicon_revision
All i.MX SoCs now use the same imx_silicon_revision() function to get
the revision. Add a separate header file for it and a common function
used on all SoCs.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:03:01 +02:00
Sascha Hauer 4008d0a34a ARM i.MX27: Use standard IMX_CHIP_REV_* defines
We have IMX_CHIP_REV_* defines which are used for most i.MX SoCs.
Use them for i.MX27 aswell.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 20:02:34 +02:00
Sascha Hauer 91bafe9290 ARM: cleanup piggydata copy check
Replace to gotos with a single if().

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 18:39:28 +02:00
Sascha Hauer 1fcc223e9f ARM: add assembly function for setting up C environment
Sometimes Assembler beats C. In this case a small assembler
function called without parameters can:

- copy a binary to its link address
- clear the bss
- return to the same position in the copied binary

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 18:39:19 +02:00
Sascha Hauer 5043fc33ac add gpio primcell pl061 support
update gpiolib to select GENERIC_GPIO and provice a generic header
 
 use is on versatilepb
 
 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQbomXAAoJEOrjwV5ZMRf2zcgP/i/42+i1Yz7EUfD/prR2tJnQ
 jstZyXbCWBXMxwDewWAS0EKNnAO2a2fg8HuB/MpElKJSiEj6bs+7QQtZbXPeQ6M8
 bbtzIgkueyc38v2NXN/CRZjo2LMs6OV93iOQw0m0RX2/ysistG21Qm6LZPycGlwa
 iAX9aiOBEtbgeK8aVXRDq8FvGAlF9QUUSi6rkszNCVQd2eqZUghSutVT48MfbSNb
 TKGgEGJ4c2qws4ZBP/5u/C95HFiaRu+3z7JM+NgAtYwMa69TcntQg48eMv9iDV0U
 KccSIb31vfKDkyvBdvnTp+nCt9lM/O8uOFMGujQa2sFbdzEyiaRVQ3UutZfkj44y
 xuRHmXpi1BG44p22j/q/VBqLpPL2Cv4mUFEMCS6psBE1tP72iF6wWpXe9XjToHKR
 f5sMe+/PePLYdwLFzdcUruxch6IKjCXDFBtc7gGcfxPVnrlupT1KQJxla8kXuptG
 2ZMepbEG+lrQPRRMv59UUVL00105EeV6tb7bf8/XjPDLO1cPnAXSkH9LbV/JTond
 slUKE1Yphgqfu1+i4OO7IN3fy487ptK4l0bdQBM5XH2Dva4BuMn3CL2Cqikk0QLM
 2DplGewJZB8N5OMJ+mOIsHST/3Wj1LqOh3unFy4pi6Gi2sIXVHJSgLiVPVP1rip+
 uUKrizypCdrO5qi+j2u8
 =6Xdm
 -----END PGP SIGNATURE-----

Merge tag 'gpio_arm' of git://git.jcrosoft.org/barebox into for-next/gpio

add gpio primcell pl061 support

update gpiolib to select GENERIC_GPIO and provice a generic header

use is on versatilepb

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-05 17:17:49 +02:00
Alexander Shiyan 3c272204e6 ARM: Fix Kconfig link for Cirrus Logic EP9312 CPU.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 13:47:52 +02:00
Sascha Hauer 3c731f0005 introduce clocksource
move common clocksource to drivers/clocksource
 
 move nomadik one as it's shared between 8815 and ux5x0
 add generic Cortex A9/A5 smp twd timer support
 
 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQbWuhAAoJEOrjwV5ZMRf2cg0P/3dZqKfuE7EV/9hElJLQEJnR
 huXhHbl5C6q4DuBNWlw5FlOGi19SjzxEy+vzKPxahS4OhgxeFAblsxHlnHpsDw0e
 t0D1VoEEJoa5guA8/QbM+sjAmBRuulUrLIuyOQFnzqm/wrgW/ylCn9MJ6xRV7yGN
 vTLHaDmlcglmjfC9kOTA0bOlofKp8X4FcVBRBl4Qy/cHji6auRnCg+CWwKPGr1N+
 rtLq03TR7Ark1V7JRVX0GXn3FxY5JaSUi1VDYW6UO3nUAn7n6Uf46JnRK3FTIqbt
 dCB/5zHxYDq4MU3oGkwmiYGsxInshal9/+CA6L3cLFK/zphlmU7djxP4v9DwFK98
 02ZjglWwF9ZMOu7Q1jVI/lx8rRDPW1H5mfjHjtSiyo/4hX+RQDAxiJXQSlFSYSAA
 E4LZEtQPzTp3fm1HnucA2aohZ1WDW493CG7IGMgd6X77GPLpm/RQUc2Qvj7UueBV
 9PJLLtCLPhulvodmZjKzUPx9al1PlJGBNTBsxLcBNATa2zAgBMasVEDUSSGFGBeh
 BF6FZ/OwNwN43NRKKc3UtfgpxTTMetNjpUh+wPquQG6Ewdd+0YRHX4KybPWdaVp0
 KQu9okj75JGVmHa5QFQ81cMi1/DSlstPQ6i+tPmMyij9VLuVa8qKFa68lmPEBGP9
 WqtcxclTGbf8q0cD/pWy
 =zfSv
 -----END PGP SIGNATURE-----

Merge tag 'clocksource' of git://git.jcrosoft.org/barebox into for-next/clocksource

introduce clocksource

move common clocksource to drivers/clocksource

move nomadik one as it's shared between 8815 and ux5x0
add generic Cortex A9/A5 smp twd timer support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-05 13:45:57 +02:00
Sascha Hauer aa64d57898 ARM i.MX: Add devicetree support to the ccm drivers
This adds the compatible strings to the CCM drivers.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 12:34:19 +02:00
Sascha Hauer 258e096e13 net fec_imx: determine fec version based on device ids
This adds the device id mechanism to the i.MX fec driver and
uses it to determine the fec version. Also adds devicetree
probing support.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 12:32:37 +02:00
Sascha Hauer 3e1f8a05b9 serial i.MX: Use devtype data to determine uart version
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 12:32:06 +02:00
Sascha Hauer 797bc5d911 ARM i.MX/watchdog: Make i.MX watchdog driver the reset source on i.MX
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 12:24:04 +02:00
Sascha Hauer 83f87b14eb ARM i.MX: Add watchdog devices to SoCs
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-05 12:23:35 +02:00
Jean-Christophe PLAGNIOL-VILLARD 74968e9980 versatilepb: add gpio support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-05 15:08:05 +08:00
Jean-Christophe PLAGNIOL-VILLARD 695b8b49f5 gpio: provide generic gpio header
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-05 15:04:54 +08:00
Sascha Hauer 6bb06524d6 ARM pbl: actually create cached mappings in the decompressor
We called create_sections with 4096MB as size argument, but create_sections
expected the argument in bytes, so create sections was completely optimized
away due to the size >>= 20. This patch changes the size argument to be in
megabytes and adjusts map_cachable to pass the argument in megabytes.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 18:30:58 +02:00
Sascha Hauer a86824b5ac ARM pbl: Provide a dummy error function for the decompressor
We can't do anything useful in the error function, so we just hang.
This has the advantage that at least when a JTAG debugger is connected
we can see what happens. Otherwise the code just jumps to NULL in case
of an error.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 18:30:58 +02:00
Jean-Christophe PLAGNIOL-VILLARD 269ca0edeb calao: at91 qil/tny/usb auto detect the phy addr
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 17:24:09 +02:00
Sascha Hauer 47d237e58a Merge branch 'for-next/fixes' 2012-10-04 15:25:12 +02:00
Sascha Hauer 94de405d8f Merge branch 'for-next/imx-clk' 2012-10-04 15:24:57 +02:00
Sascha Hauer 5d62bd0e67 ARM i.MX51 babbage: Add delay after phy reset
Since we have phylib the phy won't be detected after poweron. It seems
the phy needs some time after reset.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:21:04 +02:00
Sascha Hauer e3e2ebb3ad ARM i.MX clocksource: fix timer source selection
- The i.MX1 timer does not have IPG clock as source, so rename
  the define accordingly
- for the i.MX31 timer we want to use the per clock, not the ipg
  clock.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:21:04 +02:00
Sascha Hauer d4edd480b2 ARM i.MX: Remove old clock support
The old clock support is now unused. Remove it. The former i.MX clko
command is superseeded by generic clock manipulation commands.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:57 +02:00
Sascha Hauer d510df23a0 ARM i.MX: Switch clocksource to clk_get
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer b01f7e13b7 ARM i.MX35: Switch to common clk
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer 018a986393 ARM i.MX21: Switch to common clk
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer 555a1ff0c3 ARM i.MX6: Switch to common clk
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer 44947a3bcd ARM i.MX31: Switch to common clk
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer 13ccfddded ARM i.MX1: Switch to common clk support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer ef38819eaa ARM i.MX5: Switch to common clk support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:56 +02:00
Sascha Hauer 3e40a76cba ARM i.MX25: Switch to common clk support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:55 +02:00
Sascha Hauer c422abc4e5 ARM i.MX27: implement clk support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:55 +02:00
Sascha Hauer 809549b1bf ARM i.MX: initial clk support
This adds the basic i.MX common clk support and some pll and pfd
drivers.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:55 +02:00
Sascha Hauer 83b0ed7fbf ARM i.MX25: Add function to setup chipselect
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:54 +02:00
Sascha Hauer aea42202d5 ARM i.MX35: Add function to setup chipselect
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:54 +02:00
Sascha Hauer 5552a1f51d ARM i.MX31: Add function to setup chipselect
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:54 +02:00
Sascha Hauer 9f5d274099 ARM i.MX21: Add function to setup chipselect
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:54 +02:00
Sascha Hauer a36a8f5d1b ARM i.MX1: Add function to setup chipselect
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer 8b88e6dadb ARM i.MX: Add header file for WEIM cs setup
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer fcd2ece1c2 ARM i.MX51: Use defines rather than hardcoded addresses
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer 02480b3a74 ARM i.MX/MXS: Allow to include imx*-regs.h directly
In fact we can be happy about everyone including the files directly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer ed07306aa8 ARM i.MX25: give register base addresses a proper MX25_ prefix
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer 1d609aceae ARM i.MX27: give register base addresses a proper MX27_ prefix
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer 5455ecea55 ARM i.MX1: give register base addresses a proper MX1_ prefix
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer 1abd9ab08f ARM i.MX21: give register base addresses a proper MX21_ prefix
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:53 +02:00
Sascha Hauer 862a868069 ARM i.MX35: give register base addresses a proper MX35_ prefix
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:52 +02:00
Sascha Hauer ad09b59f8b ARM i.MX31: give register base addresses a proper MX31_ prefix
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-04 15:19:52 +02:00
Jean-Christophe PLAGNIOL-VILLARD 3c5327e660 switch all platform_bus device/driver registering to platform_driver/device_register
now register_driver and register_device are for bus only usage.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-04 15:19:12 +02:00
Jean-Christophe PLAGNIOL-VILLARD ebf6e1d052 arm: move nomadik timer to drivers/clocksource
as this timer is shared with multiple arch

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-04 18:54:12 +08:00
Sascha Hauer 638e059aba Merge branch 'for-next/arm-board-reset'
Conflicts:
	arch/arm/cpu/start-reset.c
	arch/arm/include/asm/barebox-arm.h
	arch/arm/mach-omap/Kconfig
	arch/arm/mach-omap/omap3_core.S
2012-10-03 21:19:30 +02:00
Sascha Hauer edf068e9cf Merge branch 'for-next/tftp' 2012-10-03 21:17:39 +02:00
Sascha Hauer 6021818e3d Merge branch 'for-next/arm-remove-arch-init-ll'
Conflicts:
	arch/arm/include/asm/barebox-arm.h
2012-10-03 21:13:31 +02:00
Sascha Hauer 0ed19adde8 Merge branch 'for-next/spi' 2012-10-03 21:13:05 +02:00
Sascha Hauer d1e65d2a7b Merge branch 'for-next/remove-fsf-address'
Conflicts:
	drivers/net/miidev.c
	include/miidev.h
2012-10-03 21:12:48 +02:00
Sascha Hauer cd323c0224 Merge branch 'for-next/png'
Conflicts:
	common/filetype.c
	include/filetype.h
2012-10-03 21:12:19 +02:00
Sascha Hauer bee8dddbfc Merge branch 'for-next/omap'
Conflicts:
	Makefile
2012-10-03 21:11:48 +02:00
Sascha Hauer d8b30e6c38 Merge branch 'for-next/mxs'
Conflicts:
	arch/arm/boards/crystalfontz-cfa10036/cfa10036.c
2012-10-03 21:11:35 +02:00
Sascha Hauer 4517b5980f Merge branch 'for-next/misc' 2012-10-03 21:10:57 +02:00
Sascha Hauer 3a9a4a4d70 Merge branch 'for-next/make' 2012-10-03 21:10:52 +02:00
Sascha Hauer 80ba2cac0e Merge branch 'for-next/karo-tx53' 2012-10-03 21:10:42 +02:00
Sascha Hauer ed4645cf13 Merge branch 'for-next/boot-sequence-dhcp'
Conflicts:
	drivers/net/miidev.c
2012-10-03 21:10:30 +02:00
Sascha Hauer 4a543aa677 Merge branch 'for-next/arm' 2012-10-03 21:10:11 +02:00
Sascha Hauer 6f018668d6 Merge branch 'for-next/amba' 2012-10-03 21:10:05 +02:00
Sascha Hauer 8338984862 Merge branch 'for-next/net' 2012-10-03 21:09:55 +02:00
Sascha Hauer d4541ee94f Merge branch 'for-next/driver' 2012-10-03 21:09:34 +02:00
Sascha Hauer c05511d6cd ARM: Disable MMU feature in PBL
remap_cache currently does not work, so enabling the MMU in the
PBL currently does not make sense. Disable it for now.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-03 16:10:04 +02:00
vicencb@gmail.com 1af2b0cb3b ARM: set rev instead of returning it
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-02 19:02:03 +02:00
Jean-Christophe PLAGNIOL-VILLARD 91b563613e dhcp: switch to global var support
This way you can specify as previously set the dhcp parameter via global.dhcp.xxx
and get the result via global.dhcp.xxx

This is need for the defaultenv-2 to add the bootp suppport.
Use it on defaultenv too to have only one set of var.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-02 08:57:07 +02:00
Jean-Christophe PLAGNIOL-VILLARD 8166603baa defaultenv: switch hostname to global.hostname
Udpate dhcp with it too.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2012-10-02 08:57:07 +02:00
Sascha Hauer 47d0240b9c ARM i.MX pca100: Fix nand boot
The following missed to add a jump to board_init_lowlevel_return for the
phycard pca100 board:

| commit 244198ea8b
| Author: Sascha Hauer <s.hauer@pengutronix.de>
| Date:   Sun Jul 8 18:30:42 2012 +0200
|
|     ARM boards: Use _text rather than TEXT_BASE
|
|     With compressed image support TEXT_BASE will become the base
|     address of the uncompressed image. What the boards want instead
|     is the base address of the decompressor code or, if not compressed,
|     the base address of the uncompressed image. Use _text which is
|     the correct one for both cases.
|
|     Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

This fixes it by adding the jump. Also imx_nand_load_image is directly
called from lowlevel_init.S which fixes compilation with pbl support
enabled.

Tested with both compression enabled and disabled.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-02 08:42:03 +02:00
Jan Luebbe 93ca711e64 scripts: add tool to create image for SPI boot on AM35xx
Booting from SPI on an AM35xx (and possibly other TI SOCs) requires
a special format:

- 32 bit image size in big-endian
- 32 bit load address in big-endian
- binary image converted from little- to big-endian

The mk-am35xx-spi-image tool converts barebox.bin to
this format.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-02 08:22:30 +02:00
Jan Luebbe 3fc5a75457 gpio: reduce verbosity while probing
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-28 16:35:10 +02:00
Jan Luebbe bdc3be380f gpio: reduce verbosity while probing
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-28 16:34:21 +02:00
Maxime Ripard 65708cdb04 arm: cfa10036: Add the OCOTP device
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-28 16:31:45 +02:00
Maxime Ripard b987b18435 arm: cfa10036: Add proper resource length
The cfa10036 board file were missing the length parameter when adding
devices. This made barebox crash early in the boot, in the mxs-mci
driver.

Provide the resources lengths in a consistent format.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-28 16:30:07 +02:00
Sascha Hauer b51a11be84 defconfig: Switch all defconfig to new tftp command
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-28 16:23:55 +02:00
Sascha Hauer ba8c0a47ae ARM i.MX: add debug for iomux-v3
iomux setup often is the source of great fun. Add some debug printf
for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-28 16:20:13 +02:00
Jan Luebbe faf7b7af6e ARM: give boards control of the reset entry point
On some SoCs (for example AM35xx), the ROM bootloader passes useful
information in r0 when jumping to barebox.

To avoid overwriting this in the generic reset code, we introduce
common_reset as a C function and as an assembler macro. This is then
called form the reset entry point (either in common or in board code).

This patch is based on code by Sascha Hauer <s.hauer@pengutronix.de>.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-27 19:30:04 +02:00
Sascha Hauer cc1602604d ARM: remove ARCH_HAS_LOWLEVEL_INIT
This is unused now and not needed. We have a board_init_lowlevel. If a
board needs some architecture setup it can always call it from its
board_init_lowlevel.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-27 19:30:04 +02:00
Sascha Hauer 47940bbe44 ARM OMAP3: rename arch_init_lowlevel to board_init_lowlevel
OMAP3 is the only architecture which has a arch_init_lowlevel in
which it invalidates the dcache. This can easily be done in
board_init_lowlevel aswell. Since on OMAP3 we are always executed
in SRAM we'll never need a board specific lowlevel_init. So the
easiest way of getting rid of this special handling is to just
rename the function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-27 19:30:04 +02:00
Sascha Hauer 3b455c441a ARM OMAP: remove SRAM stack
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-27 19:30:04 +02:00