9
0
Fork 0
Commit Graph

578 Commits

Author SHA1 Message Date
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
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 c19efab886 Merge branch 'for-next/param'
Conflicts:
	drivers/mci/mci-core.c
2013-05-06 09:30:50 +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
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
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
Alexander Shiyan 6ec32579b6 ARM: i.MX: Update MX51 iomux definitions
The patch updates MX51 iomux definitions from kernel.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-12 19:24:45 +02:00
Alexander Shiyan d8b6bb6e1a ARM: i.MX: Update MX2x iomux definitions
The patch updates MX2x iomux definitions from kernel.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-12 19:24:45 +02:00
Sascha Hauer 3c9b5c1a61 ARM: i.MX: iim: Use dev_add_param_bool for parameters
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-11 11:48:35 +02:00
Sascha Hauer 17ad33b5d5 ARM: i.MX53: split lowlevel function into early/nonearly version
clock_notifier_call_chain() can't be called before init time. Protecting
it with IS_ENABLED(__PBL__) is not enough. This patch splits out a new
imx53_init_lowlevel_early which can be called before init time and does
not have the call to clock_notifier_call_chain() in it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-05 08:27:52 +02:00
Sascha Hauer 389785f106 ARM: i.MX53: Fix pll216 setup
The value for i.MX53 216MHz is actually 432MHz. Use the same value
as for i.MX51 which really corresponds to 216MHz. These are the same
PLL216 values as U-Boot uses.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-04 23:24:01 +02:00
Sascha Hauer dd9f6d08a2 Merge branch 'for-next/relocate'
Conflicts:
	arch/arm/lib/barebox.lds.S
2013-04-04 14:20:42 +02:00
Sascha Hauer 45b87922a6 Merge branch 'for-next/misc-arm' 2013-04-04 14:20:32 +02:00
Sascha Hauer 8f2c6a3d2b Merge branch 'for-next/misc' 2013-04-04 14:20:32 +02:00
Sascha Hauer ab5f6c463c Merge branch 'for-next/imx-realq7'
Fix realq7 compilation
2013-04-04 14:20:05 +02:00
Sascha Hauer da718ca89d Merge branch 'for-next/imx-external-nand-boot' 2013-04-04 12:03:20 +02:00
Sascha Hauer 7a552a41a4 Merge branch 'for-next/bootsource' 2013-04-04 12:03:19 +02:00
Sascha Hauer d2ebeb2944 ARM: i.MX53: Add bootsource instance information
The i.MX53 has the bootsource instance information stored
in SBMR[21:22], expose it to the environment.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-04 10:54:27 +02:00
Marc Kleine-Budde 7b66d9cddd bootsource: create arch independent bootsource framework
This patch seperates the imx independent from the arch independent code. The
following functions and enums are renamed:

- imx_bootsource() -> bootsource_get()
- imx_set_bootsource() -> bootsource_set()
- enum imx_bootsource -> enum bootsource

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-04 10:54:22 +02:00
Sascha Hauer eb84709192 clk: remove unused __clk_[get|put]
This is some unused code resulting from copying stuff from the
kernel. Remove it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-03 17:22:11 +02:00
Sascha Hauer 0994834462 ARM: i.MX: rename barebox_loc to bootsource
Rename the barebox_loc environment variable to bootsource, since
- barebox_loc is a mixture between abbriviation and fulltext which is not nice
- technically it describes the source the SoC has booted from. This is not
  necessarily barebox but could also be some other first stage loader.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-03 14:21:13 +02:00
Sascha Hauer f1e1dc306d ARM i.MX ESDCTL: Fix default enabled esdctl v2 controller
On some i.MX SoCs the SDRAM controller has chipselect 2 enabled
by reset default. This confuses our SDRAM size detection. We
already have a fix for this in place. This patch adds the fix
for i.MX35 which needs it aswell. Also since we now detect the
SDRAM size in the SoC specific entry functions we have to apply
the fixup there, too.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-26 10:23:01 +01:00
Marc Kleine-Budde c74fb45f64 ARM i.MX bootsource: add separate function for mx25 and mx35
This patch creates a seperate function for mx25 and mx35 to save it's
bootsource.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-26 10:20:17 +01:00
Marc Kleine-Budde 39c350aa50 ARM i.MX bootsource: rename imx_27_boot_save_loc -> imx27_boot_save_loc
This patch renames imx_27_boot_save_loc() to imx27_boot_save_loc(), so that all
imx*_boot_save_loc() functions follow the same nameing sheme.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-26 10:20:17 +01:00
Marc Kleine-Budde c4f79aff8b ARM i.MX bootsource: imx_25_35_boot_save_loc: remove leftover do-nothing code
This patch removes some code leftover from:
    a029e32 ARM i.MX: rework bootsource setting
which is now a no-op.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-26 10:20:17 +01:00
Marc Kleine-Budde 9f6614d644 ARM i.MX bootsource: convert all imx*_boot_save_loc functions to void
This function gives all functions a common, i.e. void, return value.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-26 10:20:17 +01:00
Marc Kleine-Budde 19e5e04d81 ARM i.MX bootsource: convert enums from enum imx_bootsource to uppercase
Enums are in the same way as defines, so write them in uppercase.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-26 10:20:14 +01:00
Sascha Hauer 1512479a6e ARM: i.MX: Add bbu handler for external NAND boot
The external NAND boot code currently does not handle bad blocks
correctly on 2k NAND flashes. This patch adds a barebox_update
handler for external NAND boot which embeds a Bad block table in
the flashed image. The boot code will skip bad blocks found in
this bad block table then.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-12 11:04:33 +01:00
Sascha Hauer 6e2a07e32a ARM: i.MX: external nand boot: check for bad blocks
The i.MX external NAND boot code checks for a bad block every
page, which is wrong. Instead, check for a bad block at the
beginning of each block.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-12 10:21:14 +01:00
Sascha Hauer 19486d492f Add DMO RealQ7 board support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-11 09:19:55 +01:00
Sascha Hauer 09a2a3aacd ARM i.MX6: Add mmdc calibration support
This adds support for the various DDR calibration functions in the
i.MX6 MMDC.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-11 09:16:41 +01:00
Sascha Hauer 3f8a1c0be2 ARM i.MX: Add double include protection for generic.h
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-10 11:09:40 +01:00
Sascha Hauer 9eefa7445e include asm/sections.h instead of asm-generic/sections.h
To let the architectures override asm-generic/sections.h

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-10 11:05:46 +01:00
Sascha Hauer 019712525a ARM boards: Use accessor functions to access linker variables
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-03-07 12:38:01 +01:00
Sascha Hauer 678832e17a Merge branch 'for-next/usb' 2013-03-04 09:21:54 +01:00
Sascha Hauer 13408877f4 Merge branch 'for-next/misc' 2013-03-04 09:21:37 +01:00
Sascha Hauer 908bc8ce45 Merge branch 'for-next/imx' 2013-03-04 09:21:37 +01:00
Sascha Hauer 74421f2f47 ARM i.MX pcm043: Switch to new environment
- switch to new environment
- make barebox partitions 512K big
- update defconfig for new env:
  - enable menu support
  - miitool support
  - clk commands
  - oftree support
  - let/dirname/readlink commands
  - enable external nand boot support

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-27 08:57:04 +01:00
Alexander Shiyan 4a963a2513 ARM: i.MX: Replace numbers with predefined constants in several places
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-26 15:08:36 +01:00
Sascha Hauer 457c038f83 ARM i.MX35: Let MAX clk be in run-mode-on
The reset value for the MAX clk gate is 0b10, that is it is turned
on in CPU run mode and off in stop mode. Configure it that way during
startup.

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

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

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

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

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

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-26 11:00:25 +01:00
Alexander Shiyan 5f19b73344 ARM: i.MX27: Use DEVICE_ID_SINGLE for IIM, CCM and ESDCTL
Only one of IIM, CCM or ESDCTL device is allowed, so use DEVICE_ID_SINGLE
for these devices.

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

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-25 08:57:40 +01:00
Jean-Christophe PLAGNIOL-VILLARD 0d8ce86780 switch boards to lwl-y
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-02-21 14:42:51 +01:00
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