9
0
Fork 0
Commit Graph

2470 Commits

Author SHA1 Message Date
Sebastian Hesselbarth 7286acab67 arm: mvebu: introduce common lowlevel and early init
At early stage after boot, all MVEBU SoCs are similar enough to have
a common lowlevel and barebox entry. We  also remap the internal register
base address to 0xf100000 as it gives some 512M more of contiguous address
space. As we cannot determine real memory size that early, we start with
a default memory size of 64M and probe correct size later in SoC init.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-21 19:48:17 +02:00
Sebastian Hesselbarth df8d29462b arm: mvebu: add more visible SoC separators to Kconfig
This just add more visible separators between each subconfig of the
supported Marvell EBU SoCs.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-21 09:27:23 +02:00
Thomas Petazzoni cd07f67a30 arm: mvebu: remove useless lines in kwbimage.cfg for CuBox
Thanks to the improvements brought into the kwbimage tool, it is no
longer necessary to have dummy DEST_ADDR and EXEC_ADDR lines in the
kwbimage.cfg file if those values are passed on the command line to
the kwbimage tool, which is what the Barebox build process does.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:13 +02:00
Thomas Petazzoni 1590cb888e arm: mvebu: add basic support for Globalscale Guruplug board
The Globalscale Guruplug board is a small NAS-type plug platform that
uses a Marvell Kirkwood SoC.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:13 +02:00
Thomas Petazzoni 6cd2c76b2f arm: mvebu: initial support for Marvell Kirkwood SoCs
Marvell Kirkwood SoCs are based on a ARMv5 compatible core designed by
Marvell, and a large number of peripherals with Marvell Dove, Marvell
Armada 370 and Marvell Armada XP SoCs. The Marvell Kirkwood are used
in a large number of consumer-grade NAS devices, for example.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:13 +02:00
Thomas Petazzoni 4f7c4267ca arm: mvebu: add Feroceon CPU type
The Kirkwood Marvell SoC uses a Marvell-specific implementation of an
ARMv5TE compatible ARM core, the Feroceon. This patch introduces a
Kconfig option that allows to select this CPU type.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-17 07:40:13 +02:00
Sebastian Hesselbarth 2434ae9f50 arm: mach-mvebu: rename Armada 370/XP core code
There are more than Armada 370/XP in Marvell MVEBU SoC familiy. To avoid
irritation with source file nameing, we rename setup source file for
Armada 370/XP from core.c to armada-370-xp.c.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-15 07:39:27 +02:00
Sebastian Hesselbarth 8a39074328 arm: add basic support for SolidRun CuBox
The SolidRun CuBox is a small cubic platform based on the Marvell
Dove SoC. There is nothing more than a console, yet.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-15 07:39:27 +02:00
Sebastian Hesselbarth 98a8c2f28b arm: initial support for Marvell Dove SoCs
This commit adds minimal support for the Marvell Dove SoC (88AP510) as
first SoC of the Marvell Orion family. Orion SoCs have a different timer,
therefore current mach-mvebu and Armada 370/XP Kconfig and Makefiles are
slightly modified and a new clocksource drivers is added.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-15 07:39:27 +02:00
Thomas Petazzoni 40ee51a48d arm: add basic support for the Armada XP GP platform
The Armada XP GP platform is an evaluation platform designed by
Marvell, that uses the MV78460 quad-core SoC from the Armada XP
family.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-13 10:18:11 +02:00
Thomas Petazzoni 1d0f6f0363 arm: add basic support for the Armada 370 Mirabox platform
The Mirabox is a platform manufactured by Globalscale, and based on
the Marvell Armada 370 SoC.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-13 10:18:11 +02:00
Thomas Petazzoni af4086fbc3 arm: add basic support for Armada XP OpenBlocks AX3 platform
The OpenBlocks AX3 platform is manufactured by PlatHome and uses the
MV78260 dual-core SoC from the Armada XP family.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-13 10:18:11 +02:00
Thomas Petazzoni 6bb3a08cd3 arm: integrate kwbimage in the image generation
When a ARCH_MVEBU platform is selected, generate barebox.kwb and
barebox.kwbuart images from barebox.bin, using kwbimage.

barebox.kwb is generated by executing kwbimage on the board
kwbimage.cfg file, and is therefore designed to be booted from the
default boot media of the board, as defined by kwbimage.cfg (typically
a NAND flash or SPI flash).

barebox.kwbuart is generated by executing kwbimage on the board
kwbimage.cfg file, but by overriding the boot media to be UART. This
image is suitable for usage with the kwbtool and is generally useful
for recovery purposes.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

Squashed this fixup:

arm: ensure the build doesn't fail when kwbimage lacks the binary blob

mach-mvebu images for Armada 370 and Armada XP SoC require a DDR3
training code which should be extracted from existing bootable images
for the relevant board. When such binary blob has not been extracted,
the build of the .kwb and .kwbuart images will fail. This is annoying
as it makes the build of all Armada 370/XP defconfig fail, which can
be a problem for automated builds.

This proposal makes the failure of kwbimage not a fatal failure for
the build process, and shows a warning. The user therefore sees:

====================================================================
  KWB     barebox.kwb
Didn't find the file 'plathome-openblocks-ax3-binary.0' in '/home/thomas/projets/barebox' which is mandatory to generate the image
This file generally contains the DDR3 training code, and should be extracted from an existing bootable
image for your board. See 'kwbimage -x' to extract it from an existing image.
Could not create image
WARNING: Couldn't create KWB image due to previous errors.
  KWBUART barebox.kwbuart
Didn't find the file 'plathome-openblocks-ax3-binary.0' in '/home/thomas/projets/barebox' which is mandatory to generate the image
This file generally contains the DDR3 training code, and should be extracted from an existing bootable
image for your board. See 'kwbimage -x' to extract it from an existing image.
Could not create image
WARNING Couldn't create KWB image due to previous errors.
====================================================================

The only drawback is that barebox-flash-image, which normally points
to barebox.kwb, becomes a stale symbolic link.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-13 10:17:10 +02:00
Thomas Petazzoni b3522a5b80 arm: initial support for Marvell Armada 370/XP SoCs
This commit adds minimal support for the Armada 370 and Armada XP SoCs
from Marvell.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-13 10:17:10 +02:00
Juergen Beisert baf0d5d9c4 MXS: fix SoC detecting
The missing 'break' statement lets look an i.MX23 like an i.MX28.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-08 23:24:50 +02:00
Sascha Hauer a7ae099b36 ARM: i.MX: ccxmx51: detect SDRAM size by board id
This partly reverts:

commit 697e02b74f
Author: Alexander Shiyan <shc_work@mail.ru>
Date:   Tue Jan 22 15:08:31 2013 +0400

    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>

The board originally configured the SDRAM controller for the
maximum size and detected the usable SDRAM size by reading the
board id. This became broken after switching to automatic SDRAM
size detection by reading back ESDCTL values.

This patch brings back the old behaviour.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-08 08:24:43 +02:00
Sascha Hauer ef0299f172 ARM: i.MX: Allow disabling SDRAM autodetection
Some boards setup more memory than they actually have. The real memory
size can then be detected later for example by reading a board id.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-08 08:24:43 +02:00
Alexandre Belloni 8fd1f24bff sama5d3xek: correct rootfs nand partition
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-08 08:22:24 +02:00
Andreas Pretzsch 73c6c6da8a ARM i.MX31 pcm037: fix erroneous IOMUX GPR setup in pcm037_usb_init()
In commit ad09b59f8b "ARM i.MX31: give
register base addresses a proper MX31_ prefix", the IOMUX GPR setup
to enable USBH2 was replaced with an incorrect source register.
Instead of reading the GPR register, USBOTG HWHOST is used as rmw source,
which contains 0x10020001.
Beside the intended GPR[11] setup ("Enable USBH2 signals on AudioPort 3 and
AudioPort6"), this erroneously also sets
	GPR[28] enable USBOTG loopback
	GPR[17] override DSR_DCE1 with USBOTG_DATA4
	GPR[0]  select FIR DMA requests instead of UART2 DMA

Beside breaking UART2, it probably also broke some UART1 and USB OTG setups.
Fix this and replace the address with the appropriate defines.

Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-07 08:36:21 +02:00
Andreas Pretzsch 3c4c5eefab ARM i.MX31: cleanup MX31_ prefix: fix leftover IOMUXC_BASE defines
The prefix/cleanup series
	ad09b59f8b
	a8c6359667
	4c53af062b
missed a few unprefixed IOMUXC_BASE define users. Fix these.

Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-07 08:36:21 +02:00
Sascha Hauer 740f01feb7 Merge branch 'for-next/tegra' 2013-05-06 09:30:53 +02:00
Sascha Hauer e9a39d79b9 Merge branch 'for-next/remove-config-h' 2013-05-06 09:30:53 +02:00
Sascha Hauer c19efab886 Merge branch 'for-next/param'
Conflicts:
	drivers/mci/mci-core.c
2013-05-06 09:30:50 +02:00
Sascha Hauer da1ada40d2 Merge branch 'for-next/omap' 2013-05-06 09:30:41 +02:00
Sascha Hauer 579b794b5d Merge branch 'for-next/of'
Conflicts:
	arch/arm/mach-imx/Makefile
2013-05-06 09:30:37 +02:00
Sascha Hauer c8af035b41 Merge branch 'for-next/misc' 2013-05-06 09:30:28 +02:00
Sascha Hauer bb1bd4d582 Merge branch 'for-next/imx' 2013-05-06 09:30:27 +02:00
Sascha Hauer e0efc0a9ee Merge branch 'for-next/gpio' 2013-05-06 09:30:27 +02:00
Sascha Hauer bce0260322 Merge branch 'for-next/atmel' 2013-05-06 09:30:27 +02:00
Alexander Shiyan b48610f324 ARM: ccmx51js: Add support for USB Host1
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-06 09:25:05 +02:00
Alexander Shiyan f8e869c16f ARM: pcm038: Add definition for FEC reset
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-04 11:07:44 +02:00
Alexander Shiyan e72bdf32d0 ARM: pcm038: Add definition for SPI chipselect 0
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-04 11:07:44 +02:00
Alexander Shiyan f2ce9ee5f3 ARM: pcm038: Add descriptions for pin-groups
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-04 11:07:44 +02:00
Alexander Shiyan 857eb73c94 ARM: at91 smc: Fix possible uninitialized variable
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-30 09:35:55 +02:00
Alexander Shiyan e1f458ac53 ARM: at91 gpio: Fix possible null pointer dereference
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-30 09:35:55 +02:00
Alexander Shiyan 7077230b46 ARM: imx: Fix incorrect Kconfig symbols for some boards
This patch fix incorrect Kconfig symbols for MACH_FREESCALE_MX51_PDK,
MACH_FREESCALE_MX53_LOCO and MACH_FREESCALE_MX53_SMD.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-30 08:21:34 +02:00
Alexander Shiyan 59dc8f1a39 ARM: netx: Remove references for missing boards
Barebox do not have support for MACH_NXDKN, MACH_NXHMIBB,
MACH_NXEB500HMI and MACH_NXHX boards, so remove these symbols.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-30 08:21:34 +02:00
Alexander Shiyan c64c3c0d99 ARM: omap: Remove wrong OMAP_CLOCK_ALL symbol
OMAP_CLOCK_ALL is missing in Kconfig, so remove the "select" statement
and all other references to this symbol.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-30 08:21:34 +02:00
Jan Weitzel 82095bff69 ARM: mmu: Use PAGE_ALIGN in dma_free_coherent
We PAGE_ALIGN the size in dma_alloc_coherent so do it also when free the memory.
Use PAGE_SIZE instead of magic numbers.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-27 00:11:24 +02:00
Alexander Shiyan 14dc2a5d0f ARM: ccxmx51: Fix OTG Host USB mode
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-26 23:50:23 +02:00
Marc Kleine-Budde 8bafdc1c46 ARM i.MX28: make chip reset via reset pin work again
Since commit:

    2ccd451 ARM i.MX28: change default watchdog reset method

the external reset via the reset pin is broken. That commit overwrites the
HW_CLKCTRL_RESET register with only WDOG_POR_DISABLE set, which results in
disabling the external reset.

This patch uses read-modify-write to set the WDOG_POR_DISABLE, leaving the
WDOG_POR_DISABLE untouched.

Cc: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-24 16:45:08 +02:00
Juergen Beisert 46d7027a6a MXS/Chumby: fix MCI device registration
Due to some changes in the framework a resource size of zero does not map
anything at all and it does it silently.

Defining the resource size for the MCI interface make it work again on the
Chumby.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-24 07:57:10 +02:00
Sascha Hauer 32dc070fd4 pinctrl: move imx-iomux-v1 to drivers/pinctrl/
For consistency reasons.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-23 09:48:25 +02:00
Sascha Hauer e2f9687c02 pinctrl: move imx-iomux-v2 to drivers/pinctrl/
For consistency reasons.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-23 09:47:24 +02:00
Sascha Hauer e20ee612d8 pinctrl: switch i.MX iomux-v3 support to pinctrl
This switches the iomux-v3 (found on i.MX25,35,51,53,6) to pinctrl
support. The old SoC specific API is kept for compatibility. The
pinctrl devicetree support is enabled automatically when OFDEVICE
support is available.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-23 09:46:32 +02:00
Alexander Shiyan 6c9bc19df2 ARM: i.MX: Move GPIO driver to drivers/gpio
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-22 18:56:50 +02:00
Jan Luebbe de5b9f71bf m33xx-clock: remove unused code
This patch includes no functional change. If a configurable DDRPLL_M
is required later, it should be set by the board instead of from here.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-19 07:25:46 +02:00
Jan Luebbe 98839ca886 m33xx-clock: configure PLLs based on oscillator frequency
The *PLL_N values can be calculated from the OSC value. This patch
includes no functional change.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-19 07:25:46 +02:00
Jan Luebbe f838be333e am33xx: add defines for GPIOs
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-19 07:25:46 +02:00
Jan Luebbe a6fda1886a beaglebone: remove stray semicolon
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-18 08:03:46 +02:00