9
0
Fork 0
Commit Graph

730 Commits

Author SHA1 Message Date
Sascha Hauer 14bb8cc21b ARM: i.MX clocksource: return successful for multiple instances
With multiple instances we returned -EBUSY which will provoke a
log message. Return successful instead since the i.MX27 has multiple
GPTs in the devicetree.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 11:31:31 +01:00
Sascha Hauer c5b7986089 ARM: i.MX: external NAND boot: pass boarddata
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 11:31:31 +01:00
Sascha Hauer 35ae916ecf ARM: i.MX: external NAND boot: do not depend on cpu_is_*
With multiboard support the cpu_is_* macros are no longer compile time
generated and do not work in early code, so pass a v1 variable around.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 11:31:30 +01:00
Sascha Hauer f77e5b9385 ARM: i.MX: external NAND boot: make it work with relocatable PBL
We used to copy the initial binary portion from NFC SRAM to TEXT_BASE
and jumped there. With relocatable PBL TEXT_BASE becomes 0, so this
doesn't work. This is changed to copy the initial binary portion
to the beginning of SDRAM instead.

Tested on Phytec phyCARD-i.MX27 and Karo TX25 with and without
relocatable pbl.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 11:25:05 +01:00
Alexander Shiyan f986b95735 ARM: i.MX: esdctl-v4: Use __iomem specifier for memory pointer
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 10:18:42 +01:00
Alexander Shiyan 1a1c929ee9 ARM: i.MX: esdctl: Use __iomem specifier for memory pointer
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 10:18:42 +01:00
Alexander Shiyan fb2b6d0d0b ARM: i.MX: external_nand_boot: Use __iomem specifier for memory pointer
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 10:18:42 +01:00
Sascha Hauer a211494c23 ARM: i.MX53: fix bootsource_instance detection
Bootsource instance is encoded in bit 21:20 of the SBMR register,
not in bit 22:21.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-27 10:38:49 +01:00
Sascha Hauer 9399c7444d ARM: i.MX: external NAND boot: create function macro for different SoCs
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-23 08:15:43 +01:00
Sascha Hauer f1d83fad06 ARM: i.MX: external NAND boot: factor out a 2k pagesize detection function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-23 08:15:43 +01:00
Sascha Hauer 084a994466 ARM: i.MX27: Add missing MPLL clock sources
The MPLL can be driven from the low frequency reference clock. This
is the reset default. Currently the clock code assumes this has been
changed from the lowlevel code. If that didn't happen we get wrong
clock rates. This adds the missing clocks so that we get correct
clock rates.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-23 08:15:43 +01:00
Sascha Hauer 00bd286477 ARM: phyCARD-i.MX27: switch to new environment
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-23 08:15:42 +01:00
Lucas Stach 67221982b3 ARM: imx6: rename Carrier-1 to Hummingboard
Solidrun has renamed the Carrier-1 to Hummingboard.
This is also the name that is used in upstream Linux,
change barebox to be in line with that.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-23 08:15:41 +01:00
Lucas Stach 3c3e99d6ac ARM: imx6: add initial support for Nitrogen6X boards
Only the 1GB variant is supported for now, as I don't
have anything other to test with.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-23 08:15:41 +01:00
Markus Niebel fa5bdb30ee mci: imx-esdhc: add DSR support
having DSR support in mci-core we need a way to
forward the DSR value to the driver. Add it to
platform data for imx-esdhc

TODO: implement the same for other host controller
drivers

Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-15 15:22:56 +01:00
Jesús Guitarte f1f6d76370 ARM: i.MX6: correct work flow of PFDs from uboot-sources
PFDs need to be gate/ungate after PLL lock to reset PFDs to right state.
Otherwise PFDs may lose correct state in state-machine, then no output
clock.
For i.MX6DL and i.MX6SL, ROM have taken care of PFD396 already since the
bus clock needs it.

This patch is backported from
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/cpu/arm_cortexa8/mx6/generic.c?h=imx_v2009.08_3.0.35_4.1.0&id=b7c5badf94ffbe6cd0845efbb75e16e05e3af404

And resolve issues with booting from MMC/SD cards

Signed-off-by: Jesús Guitarte <jguitarte@data-modul.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-14 17:01:33 +01:00
Sascha Hauer 764ae1647c ARM: i.MX: Add correct SoC type detection for i.MX6
Using the ANATOP_SI_REV register we can only distinguish between
i.MX6q/d and i.MX6dl/s SoCs. Take the number of cores into account
to get the exact SoC type.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-14 17:01:33 +01:00
Sascha Hauer 29b6d429f6 Merge branch 'for-next/video' 2014-01-07 11:57:52 +01:00
Sascha Hauer a76f3d9535 video: imx-ipu-fb: Allow to specify framebuffer memory size via platform_data
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-20 11:32:07 +01:00
Sascha Hauer 4e64bcac45 video: ipufb: Allow to disable fractional pixelclock divider
The IPU has a fractional pixelclock divider. When used, this produces
clock jitter which especially LVDS transceivers can't handle. Allow
to disable it via platform_data.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-20 09:35:38 +01:00
Sascha Hauer 135d77b491 ARM: i.MX: bbu external nand: Fix uninitialized variable
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-18 16:50:50 +01:00
Sascha Hauer 68a6fedcd4 video: ipufb: make disp_data_fmt configurable
With the IPU the way the display is connected is completely independent
of the framebuffer pixel format. So instead of specifying a pixel width
in platform_data we have to specify how the display is connected.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-18 16:38:05 +01:00
Sascha Hauer e9ea6eeaab Merge branch 'for-next/misc'
Conflicts:
	scripts/Makefile
2013-12-06 08:23:24 +01:00
Sascha Hauer 0cb6f2c19e Merge branch 'for-next/imx' 2013-12-06 08:22:48 +01:00
Lucas Stach f87af10fb1 ARM: i.MX6: add initial support for SolidRun Cubox-i Carrier-1
Tested to work:
- MMC
- USB
- Ethernet

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-03 11:35:24 +01:00
Sascha Hauer fbf502a9c2 ARM: i.MX external NAND boot: Add missing instruction cache invalidate
Before we jump to SDRAM where we just copied our code we have to
invalidate the instruction cache.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-03 10:20:00 +01:00
Rostislav Lisovy f9610695d6 ARM: i.mx53: Support for Voipac board with X53-DMM-668 module.
Device definitions is read from the devicetree description.
The board support is using 'multiboard' approach.

Signed-off-by: Rostislav Lisovy <lisovy@gmail.com>

 create mode 100644 arch/arm/boards/freescale-mx53-vmx53/Makefile
 create mode 100644 arch/arm/boards/freescale-mx53-vmx53/board.c
 create mode 100644 arch/arm/boards/freescale-mx53-vmx53/env/config-board
 create mode 100644 arch/arm/boards/freescale-mx53-vmx53/flash-header-imx53-vmx53.imxcfg
 create mode 100644 arch/arm/boards/freescale-mx53-vmx53/lowlevel.c
 create mode 100644 arch/arm/dts/imx53-voipac-bsb.dts
 create mode 100644 arch/arm/dts/imx53-voipac-dmm-668.dtsi
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-25 09:01:33 +01:00
Philipp Zabel 9f888766d5 ARM i.MX6: sabrelite: switch to multi image support
The image will be named after the official name of this board:

barebox-freescale-mx6-sabreline.img

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-20 07:19:16 +01:00
Philipp Zabel 1c8608cf58 ARM i.MX6: sabrelite: switch to multiboard support
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-20 07:19:16 +01:00
Alexander Aring 32a5775125 barebox: remove double semicolons
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-18 10:13:35 +01:00
Alexander Shiyan c8daebdfd8 ARM: i.MX boards: Remove duplicate dependency of ARCH_IMX21 for IMX_IIM
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-13 06:57:32 +01:00
Alexander Shiyan 564f15db92 ARM: i.MX boards: Remove useless select
Symbols HAVE_DEFAULT_ENVIRONMENT_NEW & HAVE_PBL_MULTI_IMAGES
are already selected by IMX_MULTI_BOARDS.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-13 06:57:32 +01:00
Alexander Shiyan 7a1e15bff8 Cleanup Kconfig files
This patch provides a global cleanup barebox Kconfig files. This includes
replacing spaces to tabs, formatting in accordance format.
No functional changes.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-11 08:52:05 +01:00
Sascha Hauer b67b2671c2 treewide: Add missing includes
A lot of files rely on include/driver.h including include/of.h (and
this including include/errno.h. include the files explicitly so we can
eventually get rid of including of.h from driver.h

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-08 15:42:04 +01:00
Alexander Shiyan 2b4a1993c7 ARM: i.MX5x: Make IIM driver kernel-compatible
Since kernel uses "imx27-iim" compatible string in i.MX5x DTS templates,
do IIM driver compatible.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-10-29 08:55:01 +01:00
Sascha Hauer 7f6b6d25d8 Merge branch 'for-next/omap'
Conflicts:
	arch/arm/boards/pcm051/env/config
2013-09-05 10:40:04 +02:00
Sascha Hauer 1729b1798e Merge branch 'for-next/boardinfo'
Conflicts:
	arch/mips/boards/qemu-malta/init.c
	commands/bootm.c
	drivers/of/base.c
2013-09-05 10:39:22 +02:00
Sascha Hauer 8f9d4007c5 Merge branch 'for-next/arm-gpio' 2013-09-05 10:38:53 +02:00
Sascha Hauer e1827816d4 Merge branch 'for-next/imx' 2013-09-05 10:38:39 +02:00
Sascha Hauer 4960dc9db0 rework debug_ll
Convert to static inline functions and use lower case letters for function
names. Also, include mach/debug_ll.h when an architecture provides support
for debug_ll, not only when it's actually enabled. This allows architecures
to put some UART initialization code into mach/debug_ll.h which is compiled
out when debug_ll is disabled.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-09-05 10:15:48 +02:00
Eric Bénard 77935a71af i.MX53: add imx53_add_mmc3
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-28 11:08:01 +02:00
Sascha Hauer 2cf467ec07 ARM: i.MX: move esdctl device registration to soc_init
The esdctl devices are currently not in the devicetrees. this means
they are not registered when booting from the devicetree. Move the
device registration from soc_devices_init to soc_init which is called
even with devicetree support so that we get esdctl devices.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-20 11:02:40 +02:00
Sascha Hauer 8c1180c3ed ARM: remove include of mach/gpio.h for gpiolib users
gpiolib user have nothing to define in their machine
specific gpio.h, so do not include it.

The only thing they could define would be ARCH_NR_GPIOS,
but currently no architecture defines it. Should an architecure
feel the need to do it this would be a good opportunity to
get rid of this limitation.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-16 15:58:33 +02:00
Sascha Hauer 1068e0a545 ARM: i.MX: move iomux definitions to iomux.h
mach/gpio.h is for the gpio API, so move unrelated stuff
away.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-16 15:58:33 +02:00
Sascha Hauer 068bed22a6 Set model and hostname at boardlevel
With multiboard support the compiletime generated BOARDINFO string
gets more and more meaningless. This removes it from Kconfig and
replaces it with a variable that can be set at boardlevel.

Also many boards have a standard setting for the hostname in the
environment. This patch also moves the standard to C code by calling
barebox_set_hostname().

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-16 08:40:55 +02:00
Sascha Hauer b454c494ba ARM: i.MX6: Add dfi fs700 m60 i.MX6 Q7 board support
This is an i.MX6 based Q7 module, see:

http://www.dfi.com.tw/products/ProductDetails.jsp?productId=1164&mainCategoryId=2&subCategoryId=581

This patch adds basic support for this module.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-06 15:38:40 +02:00
Sascha Hauer 15ee30138f ARM: i.MX: bbu-internal: optionally use DCD data from image
We used to pass the DCD data from the boards. This patch allows
to optionally skip passing DCD data. In this case the DCD data
from the flash image is used if present.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-06 15:38:40 +02:00
Sascha Hauer d00f5f0b99 ARM: i.MX: bbu-internal: factor out a prereq function
To elminate some code duplication.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-06 15:38:40 +02:00
Sascha Hauer feefc3ef3b Merge branch 'for-next/mtd' 2013-08-05 12:49:58 +02:00
Sascha Hauer 30f29e3e16 ARM: Add Phytec phyFLEX-i.MX6 board support
This adds support for the Phytec phyFLEX-i.MX6 board. The phyFLEX-i.MX6
is a system-on-module based on the Freescale i.MX6 SoC. This patch supports
the 1GiB and 2GiB variants on a PBA-B-01 baseboard.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-25 10:25:53 +02:00
Sascha Hauer 0f15dee78f mtd: nand: mxs-nand: Add i.MX6 support
The i.MX6 uses the same GPMI NAND controller as i.MX23/28 do. This adds
i.MX6 support to the driver.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-23 16:25:14 +02:00
Sascha Hauer 8cd342fb77 ARM: i.MX6: Add ocotp driver
The only functionality at the moment is to register a MAC Address for
an ethernet device.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-22 16:17:19 +02:00
Sascha Hauer 1ee484f382 ARM: i.MX6: TQ tqma6x initial board support
The TQ tqma6x comes in two different variants. One i.MX6s based
tqma6s and a i.MX6q based tqma6q.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:16 +02:00
Sascha Hauer ed91fac6e2 ARM: i.MX: External Nand boot: remove ifdefs around SoC functions
The ifdefs around the SoC specific boot_nand_external functions
can be removed when all functions go into their own sections so
that the linker can discard the unused functions.

This also adds a #ifdef BROKEN around the i.MX21 code which currently
does not have the imx21_barebox_entry function.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:16 +02:00
Sascha Hauer 3ccb034fa1 ARM: i.MX: External Nand boot: remove ifdefs
Instead of ifdeffing out the correct NFC base address just pass
it to imx_nand_load_image which is called from SoC specific
context anyway.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:16 +02:00
Sascha Hauer 09b96768c7 ARM: i.MX: External Nand boot: move pagesize detection into SoC specific code
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:16 +02:00
Sascha Hauer 3de30a438a ARM: i.MX: External Nand boot: remove debug command
The debug command does not work with SoC specific entry points.
remove it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:16 +02:00
Sascha Hauer 5a3329f6ad ARM: i.MX: External Nand boot: make 2k support nonoptional
All boards using the external nand boot code autodetect the
pagesize, so make this nonoptional to make the code simpler.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:15 +02:00
Philipp Zabel d427ee38fb ARM: gk802: Add support for Zealz GK802
Add support for the GK802 'QUAD CORE Mini PC', which seems to be loosely
based on the Freescale i.MX6Q HDMI dongle reference design.
It is supposedly identical to the Hiapad Hi802.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-11 09:53:11 +02:00
Sascha Hauer 1f6ec400f7 Revert "ARM: i.MX27 pcm038: switch to multi image"
This reverts commit 08c0e206b3.

The external NAND boot code currently uses the _text linker variable
to determine a place for the image. This doesn't work with multi image
support which will link the binary at 0x0. Revert multi image support
for the pcm038 for now until a solution is found.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-09 19:29:28 +02:00
Sascha Hauer 7457f69e17 ARM: i.MX51 efikasb: switch to multiboard support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:08 +02:00
Sascha Hauer e1ec8d514a ARM: i.MX6 realq7: switch to multiboard
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:08 +02:00
Sascha Hauer d1c3520011 ARM: i.MX53 loco: Move over to multiboard
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:08 +02:00
Sascha Hauer 7f900e0b60 ARM: i.MX51 babbage: Move over to multiboard
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:08 +02:00
Sascha Hauer 41f53d8d17 ARM: i.MX: select SoC from board
In principle we could build barebox for multiple i.MX SoCs, so
select the correct SoC from the board selection.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:08 +02:00
Sascha Hauer c37be8632b ARM: i.MX: remove now unused ARCH_IMX_INTERNAL_BOOT_USE_IMXIMAGE
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:07 +02:00
Sascha Hauer fd2e121b5b ARM: i.MX51 babbage: switch to multi image support
The image will be named:

barebox-freescale-imx51-babbage.img

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:07 +02:00
Sascha Hauer 9172539a60 ARM: dmo realq7: switch to multi image support
The image will be named after the official name of this board:

barebox-datamodul-edm-qmx6.img

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:07 +02:00
Sascha Hauer cd977b9364 ARM: i.MX53 loco: Switch to multi image support
This converts the Freescale i.MX53 loco aka qsb board to
multi image. The image will be named:

barebox-freescale-imx53-loco.img

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:07 +02:00
Sascha Hauer 09bc89f539 ARM: i.MX53 loco: Switch to imximage
Use the imximage tool to generate an imximage instead of the linker
based process.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-02 08:24:07 +02:00
Sascha Hauer 939c2173a3 Merge branch 'for-next/multi-image' 2013-07-01 10:14:40 +02:00
Sascha Hauer 08c0e206b3 ARM: i.MX27 pcm038: switch to multi image
This also converts the Phytec phyCORE i.MX27 aka pcm038 to use
image compression. The image will be named

barebox-phytec-phycore-imx27.img

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-01 10:14:35 +02:00
Sascha Hauer 2078438662 Add multi images support
This adds the make infrastructure to build multiple SoC or
board specific images from a single barebox binary.

The basic idea is that we no longer have a single pbl, but instead
multiple pbls, one per image if necessary. Each pbl is defined
by its entry function so that each pbl can do exactly what a given
board needs. Additionally the pbls together with a self extracting
barebox binary can be encapsulated in specific image formats.

squashed in build fixes from Lucas Stach for make version >= 3.82:

Split Multimage Makefile rule in explicit and implicit parts

Fixes build with make version >=3.82

Frome the make 3.82 NEWS file:
* WARNING: Backward-incompatibility!
  In previous versions of make it was acceptable to list one or more explicit
  targets followed by one or more pattern targets in the same rule and it
  worked "as expected".  However, this was not documented as acceptable and if
  you listed any explicit targets AFTER the pattern targets, the entire rule
  would be mis-parsed.  This release removes this ability completely: make
  will generate an error message if you mix explicit and pattern targets in
  the same rule.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Lucas Stach <dev@lynxeye.de>
2013-07-01 10:13:12 +02:00
Sascha Hauer be1ebac429 Merge branch 'for-next/mci'
Conflicts:
	arch/arm/boards/ccxmx51/ccxmx51js.c
	arch/arm/boards/dmo-mx6-realq7/board.c
2013-07-01 09:37:35 +02:00
Sascha Hauer e60e6d3ae8 Merge branch 'for-next/imx-realq7'
Conflicts:
	arch/arm/dts/Makefile
2013-07-01 09:37:15 +02:00
Sascha Hauer 33a6e99a38 Merge branch 'for-next/imx'
Conflicts:
	drivers/usb/imx/chipidea-imx.c
2013-07-01 09:37:04 +02:00
Sascha Hauer b70bfc27e6 ARM: i.MX6: Add cputype detection
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-25 16:05:35 +02:00
Sascha Hauer 549ccf4d0c ARM: i.MX: Make debug UART selectable from Kconfig
To make early debugging on i.MX a bit simpler. This uses a similar
magic than the kernel does.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-25 11:52:36 +02:00
Sascha Hauer a4daf50305 ARM: i.MX: adopt cpu_is_* for multiple SoCs
This makes cpu_is_* functions when necessary for upcoming multisoc
support. When only one SoC type is compiled in cpu_is_* still expand
to static values.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-25 11:52:05 +02:00
Sascha Hauer f887536147 ARM: i.MX: centralize i.MX startup
Each i.MX SoC has its own SoC initcall. To ease multi SoC support
move it to a single initcall.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-24 08:35:00 +02:00
Sascha Hauer 2260389da4 ARM: i.MX: Make timer available earlier
This moves the CCM drivers to core_initcall since this has no dependencies.
This way we can be sure that the clock for the clocksource is available in
at postcore_initcall time.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-18 09:02:44 +02:00
Sascha Hauer 49e94a4211 ARM: i.MX51: Adjust IPG_CLK_DIVR to 6:1
The same value as used in Mainline and Freescale U-Boot. This might
increase the stability of i.MX51 boards. The 5:1 ratio we have in barebox
probably goes back to copy/paste from the i.MX53 code.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-18 09:02:20 +02:00
Sascha Hauer 6ce708895c ARM: i.MX51: Make imx51_init_lowlevel callable from early init
imx_silicon_revision() can't be used from early init context, so
use imx51_silicon_revision() instead.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-18 09:02:08 +02:00
Sascha Hauer dac1ff16bc ARM: i.MX51: Use IIM for detecting silicon revision
The IROM is located at physical address 0x0, so reading the
silicon revision from it leads to a NULL pointer dereference
if done too late when the MMU is already enabled. Use the IIM
instead which is also done in the Kernel. This limits the silicon
revisions to 2.0 and 3.0, but I assume the earlier versions are
not seen in the wild anyway.

This also moves the call to imx_set_silicon_revision() out of
imx51_silicon_revision() so that imx51_silicon_revision() can be called
in early init context.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-18 09:02:04 +02:00
Markus Niebel 0b2735aad3 ARM: i.MX53: tqma53: move RAM setting to submenu
Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:06:43 +02:00
Markus Niebel 841a8a213a ARM: i.MX53: tqma53: fix board name in Kconfig
Signed-off-by: Markus Niebel <Markus.Niebel@tqs.de>
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:06:43 +02:00
Philipp Zabel fb2b3e2cd4 ARM i.MX6: Fix bootsource detection
This patch fixes boot_mode detection for non-internal boot and
bootsource detection for i2c boot. Further, the bootsouce_instance
is now determined for spi, i2c, and mmc/sd boot.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-08 15:04:10 +02:00
Sascha Hauer 9e97c970c4 ARM: i.MX6 RealQ7: switch to imximage
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-06 16:21:32 +02:00
S. Fricke e69ab77f79 ARM i.MX6: set imx6 silicon revision
This is mainly a backport of the imx6_revision function of
arch/arm/mach-imx/mach-imx6q.c in the linux kernel sources.

Signed-off-by: S. Fricke <sfricke@data-modul.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-05 08:51:52 +02:00
Sascha Hauer 2302fc6076 mci: rename capabilities flags
Use MMC_CAP_ names instead of MMC_MODE_. This makes it more
clear that these are capabilities of host/card and do not refer
to the current mode. These are in line with the Linux Kernel
except for MMC_CAP_MMC_HIGHSPEED_52MHZ which could be fixed
later.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-03 10:59:53 +02:00
Sascha Hauer 064fdcec9f Merge branch 'for-next/imx-oftree'
Conflicts:
	arch/arm/boards/freescale-mx51-pdk/board.c
2013-06-02 12:36:38 +02:00
Sascha Hauer f56b064fa3 Merge branch 'for-next/imx'
Conflicts:
	arch/arm/Makefile
2013-06-02 12:36:29 +02:00
Sascha Hauer 253d5133a4 ARM: i.MX6 sabrelite: switch to devicetree probing
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:34:06 +02:00
Sascha Hauer 6e22ff1b38 ARM: i.MX6: skip devices register when devicetree is present
When we have a devicetree, do not register the platform devices.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:33:45 +02:00
Sascha Hauer b62be26793 ARM: i.MX6: Fix CCM compatible node
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:33:41 +02:00
Sascha Hauer b381e781bf treewide include/: Add missing includes
This adds several missing includes to files under include/ which
we relied on being included implicitly.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:32:59 +02:00
Sascha Hauer 2f228f72e0 ARM: i.MX51 babbage: switch to imx-image
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:31:41 +02:00
Sascha Hauer 134a788ac5 scripts: Add imx-usb-loader tool
This adds host tools for i.MX to generate the i.MX internal
flash header format and a tool to upload these images to an
i.MX SoC via USB.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-31 08:31:41 +02:00
Sascha Hauer 2307901376 ARM: i.MX51: PLL errata workaround
This is a port of the official PLL errata workaround from Freescale.
The PLL's in the i.MX51 processor can go out of lock due to a metastable
condition in an analog flip-flop when used at high frequencies.
This workaround implements an undocumented feature in the PLL (dither
mode), which causes the effect of this failure to be much lower (in terms
of frequency deviation), avoiding system failure, or at least decreasing
the likelihood of system failure.

This is based on U-Boot commit:

  commit 9db1bfa110ac411ab3468e817f7f74b2439eb8c8
  Author: David Jander <david@protonic.nl>
  Date:   Wed Jul 13 21:11:53 2011 +0000

    ARM: MX51: PLL errata workaround

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-30 12:19:30 +02:00
Sascha Hauer b276cf0ab6 ARM: i.MX51: skip devices register when devicetree is present
When we have a devicetree, do not register the platform devices.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-05-23 15:10:09 +02:00