9
0
Fork 0
Commit Graph

730 Commits

Author SHA1 Message Date
Lucas Stach 15db8b76c6 ARM: imx: move malloc area to upper memory bank by default
If we have two discontinuous memory banks we want to move
the malloc area into the upper bank by default to leave as
much free space in the lower bank, where we have to place
kernel, oftree and initrd.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-05 15:09:09 +02:00
Lucas Stach 4f381b1aaa ARM: change signature of barebox_arm_entry
Mostly to make it clear that boarddata needs to be
something we can dereference.

As this is a pretty invasive change, use the opportunity
to make the signature 64bit safe.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-05 15:09:09 +02:00
Sascha Hauer cdfca5dccb Merge branch 'for-next/rockchip' 2014-05-05 13:33:09 +02:00
Sascha Hauer b568687bc3 Merge branch 'for-next/imx' 2014-05-05 11:05:51 +02:00
Uladzimir Bely 825fca396f imx6: ocotp: Add On-Chip OTP registers write support
FUSEs (OTP registers) can be written via /dev/imx-ocotp character device.

For example, writing MAC 12:34:56:78:9A:BC can be performed as
    > mw -l -d /dev/imx-ocotp 0x8c 0x00001234
    > mw -l -d /dev/imx-ocotp 0x88 0x56789ABC
and reading as
    > md -l -s /dev/imx-ocotp 0x88+8
    00000088: 56789ABC 00001234
, where 0x88 (0x22*4) and 0x8C (0x23*4) are offsets of MAC OTP registers.

Notice: FUSEs are PROM, so "0" (unprogrammed) bits
can be replaced with "1" (but not vice versa) only once.

Also, for MAC there are convinient parameters:
    > ocotp0.permanent_write_enable=1
    > ocotp0.mac_addr=12:34:56:78:9A:BC
    imx_ocotp 21bc000.ocotp: reloading shadow registers...
    imx_ocotp 21bc000.ocotp: reloading shadow registers...
    > echo $ocotp0.mac_addr
    12:34:56:78:9A:BC

Signed-off-by: Uladzimir Bely <u.bely@sam-solutions.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-05 09:35:05 +02:00
Christian Hemp e0afbe3f84 imx:mmdc:Move imx6-reg include to imx6-mmdc header
Move the imx6-reg.h include to the imx6-mmdc header.

Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-05 09:02:10 +02:00
Christian Hemp 3e571c1f86 imx6: Add support for phyCARD-i.MX6
Add support for Phytec phyCARD-i.MX6.
	- 1GB RAM on two banks
	- 1GB RAM on one bank
	- 2GB RAM on two banks

Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-30 19:45:11 +02:00
Eric Bénard ccc4eac632 RiOTboard: add new board
this board is produced by Embest/Element 14 and is based on i.MX6 Solo
The following features are tested :
- UART2 (console)
- eMMC
- SDCard
- uSDCard
- Ethernet
- USB Host (through 4 ports hub)
- I2C 1/2/3
- 2 LEDs

Boot on eMMC and through USB loader are tested.

For more informations on this board : http://www.riotboard.org/

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-29 09:12:35 +02:00
Beniamino Galvani 32a2a673c6 clk: gate: add flags argument to clock gate constructor
This adds a clk_gate_flags argument to clock gate creation functions
to allow the introduction of new clock gate modifiers.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-29 08:15:24 +02:00
Christian Hemp 724ea7e6c3 imx6: read back memory size
To reduce the devicetree files for one board with different memory sizes the
memory size can be read back from i.MX6.

Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-28 12:02:55 +02:00
Christian Hemp 3858b933b5 imx6:mmdc: Move register defines to header file
Move mmdc register defines to mmdc header file.

Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-28 08:09:31 +02:00
Lucas Stach 9c63e92baa treewide: fix signedness mixups in printf format specifiers
This most likely doesn't fix any real bugs, but it's the
right thing to do and reduces the noise level with static
checkers.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-23 09:05:51 +02:00
Wjatscheslaw Stoljarski 158050e1cf imx53: add imx53_add_cspi
Signed-off-by: Wjatscheslaw Stoljarski <wjatscheslaw.stoljarski@kiwigrid.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-05 18:28:27 +02:00
Sascha Hauer 3753efa427 Merge branch 'for-next/imx-phyflex'
Conflicts:
	arch/arm/boards/phytec-phyflex-imx6/board.c
2014-04-04 10:06:20 +02:00
Sascha Hauer 4997646b20 Merge branch 'for-next/imx' 2014-04-04 10:06:14 +02:00
Sascha Hauer 964966be6a ARM: i.MX6: Add Nand boot bbu handler
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-04-03 07:56:25 +02:00
Sascha Hauer 09821fba06 ARM i.MX6q: Mark VPU and IPU AXI transfers as cacheable, increase IPU priority
This is needed so that the IPU framebuffer scanout cannot be
starved by VPU or GPU activity.
Some boards like the SabreLite and SabreSD seem to set this in
the DCD already, but the documented register reset values do not
contain the necessary settings.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-29 07:57:53 +01:00
Sascha Hauer ce6755ca1c ARM: i.MX6: Add video clocks
This adds the IPU, LVDS and HDMI clocks. As these are many, depend
on the IPU driver being compiled in.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 21:03:15 +01:00
Sascha Hauer 6d610de61c ARM: i.MX: introduce clk parent rate changes
Let dividers and gates change the parent rates.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 21:03:15 +01:00
Sascha Hauer 3e9a71f78d clk: clk-divider: pass flags to initializers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 21:03:14 +01:00
Sascha Hauer 82163afcf0 clk: clk-fixed-factor: pass flags to initializers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 21:03:14 +01:00
Sascha Hauer f4c7536514 clk: clk-gate: pass flags to initializers
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 21:03:02 +01:00
Sascha Hauer b33e5ba246 clk: clk-mux: pass clk flags from initializers
struct clk has a flags field, let the clk-mux initializers set this
field.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 10:51:30 +01:00
Sascha Hauer b34eed098b ARM: i.MX6: Add initial variscite VAR-SOM-MX6 CPU support
The VAR-SOM-MX6 is a System on module from Variscite, see:

http://www.variscite.com/products/system-on-module-som/cortex-a9/var-som-mx6-cpu-freescale-imx6

This adds support for this module on the VAR-MX6CustomBoard baseboard.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-28 08:45:10 +01:00
Christian Hemp 286314915a ARM: pfla02: Add support for DualLite and Solo core
Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2014-03-26 21:07:53 +01:00
Sascha Hauer 3d551bce2b Merge branch 'for-next/spi' 2014-03-07 09:25:56 +01:00
Sascha Hauer 23a8d93c52 Merge branch 'for-next/pwm' 2014-03-07 09:25:56 +01:00
Sascha Hauer 9c2aa61703 Merge branch 'for-next/imx-image'
Conflicts:
	arch/arm/dts/Makefile
2014-03-07 09:24:46 +01:00
Philippe Rétornaz 325d844aaa ARM: i.MX31: Add support for mx31moboard board
The mx31moboard is used on the marXbot, Eyebot and Footbot robot.

Signed-off-by: Philippe Rétornaz <philippe.retornaz@epfl.ch>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-03-03 09:09:22 +01:00
Philipp Zabel 82e69edac7 ARM i.MX6: Gate clocks to graphics processing units
This patch gates the clocks to GPU, IPU, and VPU units by default,
significantly reducing the VDDSOC power draw while barebox is running.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:29:49 +01:00
Sascha Hauer 1ce7999774 ARM: i.MX6: Add Garz+Fricke Santaro board support
Most devices relevant for barebox like sd/emmc/network/uarts
work. Devicetree contains several undefined drive strength settings,
these can be fixed once the kernel has sorted this out.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:04:47 +01:00
Raphaël POGGI 1d8a49ae88 ARM: add minimal support for the Freescale Quad UDOO Board
Adding minimal support for the UDOO board.

For more information about the board: http://www.udoo.org/

Signed-off-by: Raphael Poggi <poggi.raph@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-24 09:04:47 +01:00
Sascha Hauer 6613e2d8fb ARM: i.MX: Make mxc_iomux_v3_setup_multiple_pads argument const
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-20 14:50:10 +01:00
Lucas Stach d7db7df187 ARM: i.MX6: sabresd: switch to multi-image
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-19 11:25:31 +01:00
Sascha Hauer 53bdcd4c54 ARM: i.MX6: Add PWM clk lookups
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-14 07:18:07 +01:00
Sascha Hauer 0d70fb43e0 video: imx: Add a name to perclk
perclk should be named 'per' to make sure we get the correct clock.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-10 17:06:52 +01:00
Sascha Hauer ef08a80de8 ARM: i.MX25: Fix LCDC clocks
- Make sure the LCDC ipg clock is turned off during startup
- register all LCDC clocks (ahb, ipg, per) and pass them to driver

This is necessary because the LCDC doesn't have an enable bit. It just
starts working once the clocks are turned on. If the registers have
invalid values at that time the controller goes into some error state.
So we have to make sure the clocks are turned off during startup and
only turned on in the driver.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-10 17:06:36 +01:00
Sascha Hauer 0ad1e8d8df spi: imx: Use device ids
To let the driver work on all SoCs without the use of cpu_is_*()

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-10 08:41:25 +01:00
Sascha Hauer adbf51abde Merge branch 'for-next/pxa' 2014-02-03 09:55:55 +01:00
Sascha Hauer d3c96d6522 Merge branch 'for-next/mci'
Conflicts:
	arch/arm/boards/tqma53/board.c
2014-02-03 09:55:52 +01:00
Sascha Hauer 4a53361beb Merge branch 'for-next/iomem'
Conflicts:
	arch/arm/mach-imx/external-nand-boot.c
2014-02-03 09:55:41 +01:00
Sascha Hauer c224cd3161 Merge branch 'for-next/imx'
Conflicts:
	arch/arm/boards/dmo-mx6-realq7/lowlevel.c
2014-02-03 09:55:13 +01:00
Sascha Hauer cc66cf109b ARM: i.MX: Add lowlevel gpio functions
Some boards need gpio functions very early and also sometimes
is useful to toggle gpios during early code debug. This adds a header
file for setting i.MX gpios early.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-01 18:51:32 +01:00
Sascha Hauer 021890a39e ARM: i.MX: Karo TX25: Switch to multiboard support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-02-01 18:51:28 +01:00
Sascha Hauer 0e80f5b4cc ARM: i.MX: cleanup bootmode selection
Which bootmode is selected has no longer to be chosen by Kconfig. The
boards can decide themselves which bootmode they want to support. This
makes it unnecesary to ask the user which bootmode shall be supported,
so the "Select boot mode" becomes invisible and both support will be
compiled in as needed by the boards. NAND_IMX_BOOT goes away and the
already existing ARCH_IMX_EXTERNAL_BOOT_NAND can now be used for the
boards to depend on external nand boot.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-31 21:30:32 +01:00
Sascha Hauer 45c5110587 ARM: i.MX25: Add missing GPT clock lookups
Only one GPT will be used, but with devicetree support we can't predict
which one it is, so we need the clock lookup for all GPTs to ensure
that the timer gets its clock.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-31 21:29:34 +01:00
Sascha Hauer 7ebb5fbb58 ARM: i.MX: external NAND boot: make dtb boarddata work
If we are running from NFC SRAM and we are passed boarddata
containing a devicetree pointer then it point to an address relative
to the NFC SRAM start. First thing we do is to copy the initial
binary to SDRAM and jump there. The devicetree pointer has to be
adjusted by this offset.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-31 18:51:53 +01:00
Sascha Hauer 3711a1d8e7 ARM: i.MX: external NAND boot: use image size from image header
When compiling with multiimage support ld_var(_barebox_image_size) only
contains the length of the PBL image, but not including the appended
compressed data. With this patch the image size is read from the barebox
header instead which contains the correct size, either from the linker
or from the fix_size tool.
This makes the external_nand_boot compatible with multiimage support.

Tested on Phytec phyCARD-i.MX27 with and without PBL.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-31 18:51:53 +01:00
Sascha Hauer 0099a887c0 reset_source: rename set_reset_source to reset_source_set
To get all reset source related functions into the same function
namespace.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 12:12:17 +01:00
Sascha Hauer 2af8bdd369 ARM: i.MX53: tqma53: Switch to devicetree and multiboard support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-01-29 11:51:23 +01:00