9
0
Fork 0
Commit Graph

766 Commits

Author SHA1 Message Date
Lucas Stach ce8ed79d56 arm: mach-imx: add MMDC and CCM register defines for use in DCD
Makes .imxcfg files a lot more readable.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-01 14:24:51 +02:00
Sascha Hauer 7e094e336c Merge branch 'for-next/imx' 2014-08-07 06:14:58 +02:00
Sascha Hauer d73ad85a93 ARM: i.MX5: internal NAND update: simplify code
Allocate space for the resulting image (FCB+DBBT+Firmware) in
imx_bbu_internal_v2_write_nand_dbbt() instead of its caller to make the
code simpler.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-24 08:45:30 +02:00
Sascha Hauer 55eb21d10a ARM: i.MX5: internal NAND update: Use variables for some constants
Instead oof using the same constants multiple times use a variable
to make the meaning of the constants clear.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-24 08:45:30 +02:00
Sascha Hauer 304ef1f1d7 ARM: i.MX5: internal NAND update: Fix firmware start page for internal nand boot
Documentation clearly states that the FCB at offset 0x68 has
to contain the start page of the firmware. In our case this
was set to 0x0. I don't know how this could ever work, but it
did, at least until:

15ee301 ARM: i.MX: bbu-internal: optionally use DCD data from image

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-24 08:45:22 +02:00
Sascha Hauer b49b0d47d9 ARM: i.MX5: internal NAND update: Use variable for pre_image_size
We have the hardcoded value 0x8000 for the space needed for FCB and
DBBT in several places. Use a variable instead and initialize it
correctly with 12 * meminfo.writesize (which is in fact 0x6000 for
2k pagesize).

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-24 08:40:20 +02:00
Sascha Hauer d985d22763 ARM: i.MX: esdctl: i.MX53 has esdctl v4, not v3
On the i.MX53 this has the effect that in early init only
half of the memory bank is detected and the barebox image
is place in the middle of SDRAM.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-18 14:10:29 +02:00
Andrey Panov cb22c3cd71 ARM: i.MX6Q: Add support for Embedsky E9 board.
This will add support for Embedsky E9 board.
It is a small board based on i.MX6 Quad with 2G of RAM.

http://en.embedsky.com/product_info.php?cateid=169&id=169

Signed-off-by: Andrey Panov <rockford@yandex.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-17 07:27:09 +02:00
Sascha Hauer 8da9a22b52 Merge branch 'for-next/imx' 2014-07-04 17:19:41 +02:00
Lucas Stach f3127d1c1f arm: imx6: rename hummingboard directory to microsom
The rule in barebox is to name the directories after
the modules. As hummingboard is just one of the
carriers for the MicroSOM module, name the directory
accordingly.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-01 08:41:44 +02:00
Lucas Stach 691211c8bb arm: imx6: move imx6_init_lowlevel to single initcall
Instead of repeating the same lowlevel init for every board
move it to it's own initcall.

Avoids code bloat and shaves off almost 1.5kB of uncompressed
barebox size for a default imx_v7_defconfig build.

For boards wherethe hostname setup was done in  the postcore
initcall we move this to a device initcall to get it out of
the way.

Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-07-01 08:41:44 +02:00
Christian Hemp 14552dddce imx6: add new chip revisions
Add new chip revisions for the new tap-out TO1.5 (i.MX6Q/D) and TO1.2
(i.MX6DL/S)

Signed-off-by: Christian Hemp <c.hemp@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-30 08:14:26 +02:00
Lucas Stach 0dd421f272 arm: imx6: add cpu lowlevel init function
Enables all relevant errata workarounds for the
i.MX6 SoC.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-26 08:05:21 +02:00
Sascha Hauer 3f0de71d85 ARM: Phytec-phyCORE-imx27: Switch to multiimage support
Tested on the phyCORE-imx27 to boot on NOR and NAND using the
registered update handlers.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-13 06:22:39 +02:00
Sascha Hauer 56c00256dd ARM: i.MX bbu: Add update handler for external NOR boot
External NOR boot only requires copying the image to NOR Flash.
This also adds (un)protecting the flash which is required for
NOR Flash.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-13 06:22:39 +02:00
Alexander Shiyan 86662f8697 ARM: PCM038: Switch to devicetree probe
This patch removes non-DT support for PCM-038/PCM-970 and switch
to devicetree probe for these targets.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-12 08:35:09 +02:00
Sascha Hauer 6ec2780419 Merge branch 'for-next/imx'
Conflicts:
	arch/arm/configs/tx25stk5_defconfig
2014-06-04 21:01:40 +02:00
Sascha Hauer bb662e2474 ARM: i.MX: iim: Add regulator support
The voltage for programming the fuses is external to the SoC and
on some boards this is controllable with a regulator, so add regulator
support to the iim driver.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:28 +02:00
Sascha Hauer cf32bf77de ARM: i.MX: iim: provide a MAC address convenience variable
Allow to read/write the registered MAC addresses in the iim
module directly via a device parameter.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:28 +02:00
Sascha Hauer f321ec1699 ARM: i.MX: iim: make fuse blowing work on i.MX5
The i.MX5 iim has an additional bit in the CCM module which
enables the supply. Add support for it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:28 +02:00
Sascha Hauer e315ea6f7d ARM: i.MX: iim: don't make detour over cdev API
imx_iim_read is a iim internal function, so access the
internal functions rather than using the cdev API.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:28 +02:00
Sascha Hauer 310c20d927 ARM: i.MX: iim: move static variables into driver struct
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:28 +02:00
Sascha Hauer c9f2e96c61 ARM: i.MX: iim: use dev_* for messages
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:28 +02:00
Sascha Hauer d3feff68e2 ARM: i.MX: iim: pass private data struct to imx_iim_fuse_sense
To make all struct members available and to reduce the argument
count.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:27 +02:00
Sascha Hauer bb9e3842b2 ARM: i.MX: iim: pass private data struct to imx_iim_fuse_blow
To make all struct members available and to reduce the argument
count.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:27 +02:00
Sascha Hauer eec34f2a08 ARM: i.MX: iim: register iim device
With devicetree devicenames start with numbers. Parameters on these
devices are not accessible since variables can't start with numbers.
Register a logical 'iim' device which makes the permanent_write_enable
and explicit_sense_enable parameters accessible again.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:27 +02:00
Sascha Hauer fd56e95b18 ARM: i.MX: iim: Add namespace to functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:27 +02:00
Sascha Hauer c50bdcf71e ARM: i.MX: iim: introduce private data struct
Instead of duplicating data shared between the banks in a bank
specific struct, use a iim struct and a bank struct.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-04 20:57:24 +02:00
Sascha Hauer 579dce92c8 ARM: i.MX: iim: Check result of dev_request_mem_region
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-16 09:13:55 +02:00
Sascha Hauer 4540f5e26e ARM: i.MX: Phytec-phyCARD-i.MX27: Switch to multi-image support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-10 18:30:01 +02:00
Sascha Hauer 505a1b4e7e ARM: i.MX5: ccm: combine initcalls and drop ifdefs
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-10 18:29:58 +02:00
Sascha Hauer 311d656f1e ARM: i.MX5: Add IPU clocks
Add the clocks for the IPU on i.MX5. Since these are many only
add them when the driver is enabled.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-09 17:41:46 +02:00
Sascha Hauer 104219616f ARM: i.MX: implement pllv2 set/round_rate support
Code straight from the kernel.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-09 17:41:45 +02:00
Sascha Hauer 1f0db00f81 ARM: i.MX53: Add pwm support
Aliases and clocks are needed to support the i.MX53 PWMs.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-09 17:41:45 +02:00
Sascha Hauer a10023c0db ARM: i.MX53: Use clock number defines from dt-bindings
i.MX5 has clock number defines in dt-bindings, use them rather
then manually keeping the clock enums in sync.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-09 17:41:45 +02:00
Sascha Hauer d238e3ace5 ARM: i.MX: bbu: remove dcd arguments from bbu registration
The i.MX barebox update handlers take an optional dcd table as argument.
This can be used to add the correct dcd data to the image before flashing
it.
This mechanism is quite complicated and largely unused, so remove it. With
this it is only possible to flash the exact image passed to barebox_update,
which is what is mostly done anyway.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-05-09 17:41:41 +02:00
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