Alexey Brodkin [Mon, 24 Aug 2015 15:49:37 +0000 (18:49 +0300)]
arc: make AXS101 default platform
This fixes building in automated flow that doesn't use defconfigs.
See discussion on that topic here:
http://patchwork.ozlabs.org/patch/502558/
See similar patches for other architectures/platforms here:
[1] http://git.denx.de/?p=u-boot.git;a=commit;h=
ff560a13056a565a4e9ce1761bd04276a3cace88
[2] http://git.denx.de/?p=u-boot.git;a=commit;h=
589907e2c187ec69b351c38ccda36730d25ab5d6
And while at it add missing shell prompt to axs103.
Cc: Tom Rini <trini@konsulko.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Stefan Brüns [Sun, 30 Aug 2015 17:10:58 +0000 (19:10 +0200)]
doc: document the fdtdir PXE command
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Stefan Brüns [Sun, 30 Aug 2015 17:10:59 +0000 (19:10 +0200)]
doc: Fix inconsistent filename in PXE config example
The default config includes base.menu, not linux.list
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Tom Rini [Thu, 3 Sep 2015 18:57:09 +0000 (14:57 -0400)]
Merge git://git.denx.de/u-boot-rockchip
Simon Glass [Sun, 30 Aug 2015 22:55:52 +0000 (16:55 -0600)]
rockchip: Put README image creation commands on one line
It is easier to paste these into the command line if they are a single
common. Use line continuation instead of separate lines.
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:51 +0000 (16:55 -0600)]
rockchip: Update todo in README.rockchip
MMC support works now, so it can be dropped from the todo
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:50 +0000 (16:55 -0600)]
rockchip: Drop first 32kb of zeros from the rkSD image type
Instead of creating a rockchip SPL SD card image with 32KB of zeros
which can be written to the start of an SD card, create the images with
only the useful data that should be written to an offset of 32KB on the
SD card.
The first 32 kilobytes aren't needed for bootup and only serve as
convenient way of accidentally obliterating your partition table.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:49 +0000 (16:55 -0600)]
arm: Turn of d-cache before i-cache
Booting the kernel fails on RK3288 (and probably other rockchip SoCs)
when the i-cache is disabled/flushed before d-cache.
I have not investigated whether this is due to U-Boot hanging or whether
it's very early in the linux boot, but following the approach of the
various rockchip U-Boot forks (first disable d-cache then i-cache) makes
things work.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:48 +0000 (16:55 -0600)]
rockchip: Add config_distro_bootcmd support
Now that MMC works in U-Boot add config distro command support to start
Linux in a standard fashion. One oddity here is that linux fails to load
when the fdt is relocated to above 512MB, so set fdt_high to make sure it's
loaded below that.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:47 +0000 (16:55 -0600)]
rockchip: Turn off CONFIG_SPL_LED for firefly
With LED support enabled the SPL easily goes over the size limit (e.g.
with both Debians gcc 4.9 and 5.2 cross-compilers). Turn off LED support
in the SPL to reduce the size just enough for those compilers.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Tweaked commit subject to remove _SUPPORT
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:46 +0000 (16:55 -0600)]
rockchip: Disable sdio mmc slot on rk3288-firefly
U-Boot can't use the sdio card so turn it of to prevent things getting
confused/struck when trying to use the card as storage.
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:45 +0000 (16:55 -0600)]
mmc: Probe DM based mmc devices in u-boot
During mmc initialize probe all devices with the MMC Uclass if build
with CONFIG_DM_MMC
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Sjoerd Simons [Sun, 30 Aug 2015 22:55:44 +0000 (16:55 -0600)]
doc: Fix reference to Rock pro when Rock 2 is meant
The Radxa Rock pro board is rk3188 based and thus won't work with U-Boot
built for RK3288. Change the documentation to refer to the intended
board, the Radxa Rock 2, which is an RK3288-based design very similar to
the firefly
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:43 +0000 (16:55 -0600)]
rockchip: Add a simple README
Add a few notes on how to try out the Rockchip support so far.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:42 +0000 (16:55 -0600)]
rockchip: Add basic support for jerry
This builds and displays an SPL message, but does not function beyond that.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:41 +0000 (16:55 -0600)]
rockchip: Add basic support for firefly-rk3288
The Firefly RK3288 is a suitable target board for initial mainline Rockchip
support. It includes a good set of peripherals, a recent SoC and it is
readily available.
This adds only some basic files required to allow the baord to display a
serial message in SPL and hang.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 2 Sep 2015 01:19:37 +0000 (19:19 -0600)]
rockchip: Add SPI driver
Add a SPI driver for the Rockchip RK3288, using driver model. It should work
for other Rockchip SoCs also.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:39 +0000 (16:55 -0600)]
rockchip: Add I2C driver
Add an I2C driver for the Rockchip RK3288, using driver model. It should work
for other Rockchip SoCs also.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:38 +0000 (16:55 -0600)]
rockchip: Add core SoC start-up code
Add code for starting up U-Boot SPL and U-Boot proper. This is generic and
makes use of devices provided by the board- or SoC-specific code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:37 +0000 (16:55 -0600)]
rockchip: Add an MMC driver
Add an MMC driver which supports RK3288, but may also support other SoCs.
It uses the Designware MMC device.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:36 +0000 (16:55 -0600)]
rockchip: rk3288: Add SDRAM init
Add code to set up the SDRAM in SPL, ready for loading U-Boot. This uses
device tree for configuration so should be able to support other RAM
configurations. It may be possible to generalise the code to support other
SoCs at some point.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:35 +0000 (16:55 -0600)]
rockchip: rk3288: Add pinctrl driver
Add a driver which supports pin multiplexing setup for the most commonly
used peripherals.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:34 +0000 (16:55 -0600)]
rockchip: rk3288: Add a simple syscon driver
Add a driver that provides access to system controllers.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:33 +0000 (16:55 -0600)]
rockchip: rk3288: Add SoC reset driver
We can reset the SoC using some CRU (clock/reset unit) registers. Add support
for this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:32 +0000 (16:55 -0600)]
rockchip: rk3288: Add header files for PMU and GRF
PMU is the power management unit and GRF is the general register file. Both
are heavily used in U-Boot. Add header files with register definitions.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:31 +0000 (16:55 -0600)]
rockchip: rk3288: Add clock driver
Add a driver for setting up and modifying the various PLLs and peripheral
clocks on the RK3288.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:30 +0000 (16:55 -0600)]
power: regulator: Add a driver for ACT8846 regulators
Add a full regulator driver for the ACT8846. This provides easy access to
voltage and current settings for each regulator.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:29 +0000 (16:55 -0600)]
power: Add support for ACT8846 PMIC
Add a driver for the ACT8846 PMIC. This supports several LDOs and BUCKs and
is connected to the I2C bus. This driver supports using a regulator driver
to access the regulators.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:28 +0000 (16:55 -0600)]
rockchip: Add basic peripheral and clock definitions
Add header files for the peripherals and clocks supported on Rockchip
platforms. The particular implementation (and register set) for each is
SoC-specific, but it seems that the naming can be generic.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:27 +0000 (16:55 -0600)]
rockchip: gpio: Add rockchip GPIO driver
This supports RK3288 at present. It does not implement functions or support
for pull up/down.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:26 +0000 (16:55 -0600)]
rockchip: Add support for the SPI image
The Rockchip boot ROM requires a particular file format for booting from SPI.
It consists of a 512-byte header encoded with RC4, some padding and then up
to 32KB of executable code in 2KB blocks, separated by 2KB empty blocks.
Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be
converted to this format. This allows booting from SPI flash on supported
machines.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:25 +0000 (16:55 -0600)]
rockchip: Add support for the SD image
The Rockchip boot ROM requires a particular file format. It consists of
64KB of zeroes, a 512-byte header encoded with RC4, and then some executable
code.
Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be
converted to this format.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:24 +0000 (16:55 -0600)]
rockchip: Add the rkimage format to mkimage
Rockchip SoCs require certain formats for code that they execute, The
simplest format is a 4-byte header at the start of a binary file. Add
support for this so that we can create images that the boot ROM understands.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:23 +0000 (16:55 -0600)]
mkimage: Allow the original file size to be recorded
Allow the image handler to store the original input file size so that it
can reference it later.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
Simon Glass [Sun, 30 Aug 2015 22:55:22 +0000 (16:55 -0600)]
mkimage: Allow padding to any length
At present there is an arbitrary limit of 4KB for padding. Rockchip needs
more than that, so remove this restriction.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
Simon Glass [Sun, 30 Aug 2015 22:55:21 +0000 (16:55 -0600)]
rockchip: rk3288: dts: Make core devices available early
In SPL we need access to the CRU and other peripherals so we can set up
SDRAM. Mark these so that they will remain in the device tree.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:20 +0000 (16:55 -0600)]
rockchip: Bring in RK3288 device tree file includes and bindings
Bring in required device tree files from Linux. Since mainline Linux is
somewhat behind, use the files from the Chromium tree. We can re-sync once
further code is acccepted upstream.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:19 +0000 (16:55 -0600)]
rockchip: Add serial support
Add support for the Rockchip serial device using the ns16550 driver.
This uses driver model and device tree for both SPL and U-Boot proper.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:18 +0000 (16:55 -0600)]
arm: reset: Avoid a build error when the reset uclass is enabled
There can be only one do_reset(). When CONFIG_RESET is enabled this is
provided by the reset uclass, and ARM's version should be disabled.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:17 +0000 (16:55 -0600)]
dm: Provide better debugging when a device fails to bind
All devices should bind without error. But when they don't, they can cause
driver model init to fail. A real situation where this can happen is when
there is a missing uclass.
Add a debug() call to dm_scan_fdt_node to make this easier to track.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:16 +0000 (16:55 -0600)]
dm: Improve handling of a missing uclass
When a uclass definition is missing, no drivers in that uclass can operate.
This can happen if a board has a strange collection of options (e.g. the
driver is enabled but the uclass is not).
Unfortunately this is very confusing at present. Starting up driver model
results in a -ENOENT error, which is pretty generic. Quite a big of digging
is needed to get to the root cause.
To help with this, change the error to a very strange one with no other
users in U-Boot. Also add a debug message.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:15 +0000 (16:55 -0600)]
mmc: Support bypass mode with the get_mmc_clk() method
Some SoCs want to adjust the input clock to the DWMMC block as a way of
controlling the MMC bus clock. Update the get_mmc_clk() method to support
this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Simon Glass [Sun, 30 Aug 2015 22:55:14 +0000 (16:55 -0600)]
dm: led: Tidy up SPL options for the led and led-gpio
At present SPL does not have its own option. But these features can
increase SPL code size. Adjust the Kconfig and Makefile so that
separate a SPL option can be selected.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:13 +0000 (16:55 -0600)]
pinctrl: Add the concept of peripheral IDs
My original pinctrl patch operating using a peripheral ID enum. This was
shared between pinmux and clock and provides an easy way to specify a device
that needs to be controlled, even it is does not (yet) have a driver within
driver model.
Masahiro's new simple pinctrl gets around this by providing a
set_state_simple() pinctrl method. By passing a device to that call the
peripheral ID becomes unnecessary. If the driver needs it, it can calculate
it itself and use it internally.
However this does not solve the problem for peripheral clocks. The 'pure'
solution would be to pass a driver to the clock uclass also. But this
requires that all devices should have a driver, and a struct udevide. Also
a key optimisation of the clock uclass is allowing a peripheral clock to
be set even when there is no device for that clock.
There may be a better way to achive the same goal, but for now it seems
expedient to add in peripheral ID to the pinctrl uclass. Two methods are
added - one to get the peripheral ID and one to select it. The existing
set_state_simple() is effectively the union of these.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 30 Aug 2015 22:55:12 +0000 (16:55 -0600)]
pinctrl: Add help text to Kconfig
The pinctrl Kconfig options should have help messages. Add this to a few
options.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Wed, 2 Sep 2015 19:42:27 +0000 (15:42 -0400)]
configs/titanium_defconfig: Select MX6
In 2178282 this config wasn't updated by accident, so update it.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Wed, 2 Sep 2015 19:32:20 +0000 (15:32 -0400)]
arch/arm/Kconfig: Add back in missing entries.
In 2178282 we accidentally dropped out hilsilicon and cm_t43. Bring
these back in.
Signed-off-by: Tom Rini <trini@konsulko.com>
Adam Ford [Wed, 2 Sep 2015 14:18:20 +0000 (09:18 -0500)]
Convert omap3_logic to ti_omap3_common.h
Convert to using the common config files.
Signed-off-by: Adam Ford <adam.ford@logicpd.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:30 +0000 (10:40 +0900)]
powerpc: mpc85xx: remove stxgp3, stxssa support
These have not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Dan Malek <dan@embeddedalley.com>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:29 +0000 (10:40 +0900)]
powerpc: mpc5xx: remove cmi_mpc5xx support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:28 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove zeus support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stefan Roese <sr@denx.de>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:27 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove sbc405 support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:26 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove pcs440ep support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stefan Roese <sr@denx.de>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:25 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove p3p440 support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stefan Roese <sr@denx.de>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:24 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove lwmon5 support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Remove CONFIG_LWMON5 references.
(Also, remove undefined CONFIG_WD_MAX_RATE while I am here.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stefan Roese <sr@denx.de>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:23 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove csb272, csb472 support
These have not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Tolunay Orkun <torkun@nextio.com>
Masahiro Yamada [Wed, 2 Sep 2015 01:40:22 +0000 (10:40 +0900)]
powerpc: ppc4xx: remove alpr support
This has not been converted to Generic Board, so should be removed.
(See doc/README.generic-board for details.)
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Stefan Roese <sr@denx.de>
Stefano Babic [Tue, 1 Sep 2015 14:47:36 +0000 (16:47 +0200)]
ea20: Convert to generic board
Boards need to select CONFIG_SYS_GENERIC_BOARD in order to
prevent removal from the project.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Masahiro Yamada [Fri, 28 Aug 2015 11:14:21 +0000 (20:14 +0900)]
serial: drop redundant depends on
SANDBOX_SERIAL depends on SANDBOX, and SANDBOX selects DM.
So, "SANDBOX_SERIAL depends on DM" is redundant.
Likewise, UNIPHIER_SERIAL depends on ARCH_UNIPHIER, and
ARCH_UNIPHIER selects DM_SERIAL.
So, "UNIPHIER_SERIAL depends on DM_SERIAL" is redundant.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tom Rini [Wed, 2 Sep 2015 15:30:46 +0000 (11:30 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Tom Rini [Wed, 2 Sep 2015 14:39:28 +0000 (10:39 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-imx
Peng Fan [Tue, 1 Sep 2015 09:15:03 +0000 (17:15 +0800)]
imx: vf610 add get_cpu_rev
Since we need to support runtime check for different drivers, we need
to add get_cpu_rev for vf610, otherwise there will be build errors.
This patch introduces a dummy CPU id which is not read from chip
silicon. Later when we can get the real id from chip, can fix the
value of MXC_CPU_VF610 then.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Suggested-by: Stefano Babic <sbabic@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Wed, 26 Aug 2015 07:40:47 +0000 (15:40 +0800)]
mxc: ocotp fix hole in shadow registers
There is a hole in shadow registers address map of size 0x100
between bank 5 and bank 6 on iMX6QP, iMX6DQ, iMX6SDL, iMX6SX and iMX6UL.
Bank 5 ends at 0x6F0 and Bank 6 starts at 0x800. When reading the fuses,
we should account for this hole in address space.
Similar hole exists between bank 14 and bank 15 of size
0x80 on iMX6QP, iMX6DQ, iMX6SDL and iMX6SX.
Note: iMX6SL has only 0-7 banks and there is no hole.
Note: iMX6UL doesn't have this one.
When reading, we use register offset, so need to account for holes
to get the correct address.
When writing, we use bank/word index, there is no need to account
for holes, always use bank/word index from fuse map.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Nikita Kiryanov [Sun, 30 Aug 2015 12:36:49 +0000 (15:36 +0300)]
arm: mx6: cm-fx6: switch to usb kbd polling via int queue
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE works better than
CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP (keyboards that previously didn't
work such as Microsoft Comfort Curve 1000 now do work, and it's also faster).
Switch to CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE.
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Sun, 30 Aug 2015 12:36:48 +0000 (15:36 +0300)]
arm: mx6: cm-fx6: print PCB revision
Print board revision for cm-fx6.
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Sun, 30 Aug 2015 12:36:47 +0000 (15:36 +0300)]
arm: mx6: cm-fx6: force host mode on usb controller
On some CM-FX6 modules U-Boot attempts to configure the usb0 controller in
device mode, which renders it unavailable:
USB0: Port not available.
and also causes usb stop to report an error
EHCI failed to shut down host controller.
This happens mostly on MX6 Dual based modules, and is caused by the USBPHY_CTRL
register reporting USBPHY_CTRL_OTG_ID to be 1, even when it is pulled down.
Since we do not support device mode in cm-fx6 u-boot, force all controllers to
be configured as hosts.
Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Heiko Schocher [Mon, 24 Aug 2015 09:36:40 +0000 (11:36 +0200)]
arm, imx6: add aristainetos 2b board version
there is a 2b board version of the aristainetos2
board. Differences to the v2:
- spi cs for the nor flash and display controller
changed
- some pinmux changes
- LED gpio settings changed
Signed-off-by: Heiko Schocher <hs@denx.de>
Heiko Schocher [Mon, 24 Aug 2015 09:36:39 +0000 (11:36 +0200)]
video, lg4573: make spi bus and cs configurable
make the spi bus and the spi chipselect configurable
for the lg4573 driver. Use it on the aristainetos
boards.
Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Anatolij Gustschin <agust@denx.de>
Peng Fan [Wed, 19 Aug 2015 07:48:59 +0000 (15:48 +0800)]
imx: mx6ul_14x14_evk discard MX6UL from CONFIG_SYS_EXTRA_OPTIONS
Discard MX6UL from CONFIG_SYS_EXTRA_OPTIONS, since we default
select MX6UL for mx6ul_14x14_evk board.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Peng Fan [Wed, 19 Aug 2015 07:48:58 +0000 (15:48 +0800)]
imx: mx6ul_14x14_evk select MX6UL
There is no need to expose SoC choice to user, we already got
the SoC according to the build target. So default "select MX6UL"
for MX6UL_14x14_EVK target.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Peng Fan [Wed, 19 Aug 2015 07:48:57 +0000 (15:48 +0800)]
arm: Add SYS_L2CACHE_OFF Kconfig entry
To i.MX6UL, SYS_L2CACHE_OFF is selected, but there is no Kconfig entry
for SYS_L2CACHE_OFF. Then "select SYS_L2CACHE_OFF" does not effect for
i.MX6UL, which is not expected.
Since SYS_L2CACHE_OFF is mainly used by ARM architecture, add it to
arch/arm/Kconfig.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@konsulko.com>
Cc: Stefano Babic <sbabic@denx.de>
Peng Fan [Mon, 17 Aug 2015 08:11:05 +0000 (16:11 +0800)]
imx: mx6slevk: add SPL support
Add SPL boot support for mx6slevk board.
1. Introduce a configuration file mx6slevk_spl_defconfig.
2. i.MX6SL has same DRAM space with i.MX6SX, need to change SPL DRAM SPACE.
3. Include imx6_spl.h and related SPL macro in mx6slevk.h.
4. select SUPPORT_SPL for TARGET_MX6SLEVK.
5. Add SPL board code to do related initialization.
Boot Log:
U-Boot SPL 2015.07-00544-g1594a76 (Aug 17 2015 - 01:56:59)
reading u-boot.img
reading u-boot.img
U-Boot 2015.07-00544-g1594a76 (Aug 17 2015 - 01:56:59 +0000)
CPU: Freescale i.MX6SL rev1.2 996 MHz (running at 396 MHz)
CPU: Commercial temperature grade (0C to 95C) at 50C
Reset cause: POR
Board: MX6SLEVK
I2C: ready
DRAM: 1 GiB
PMIC: PFUZE100 ID=0x10
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Hit any key to stop autoboot: 0
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Peng Fan [Mon, 17 Aug 2015 08:11:04 +0000 (16:11 +0800)]
imx: mx6: ddr: add LPDDR2 support
Add LPDDR2 support:
1. Implement a function mx6_lpddr2_cfg to initialize MMDC for LPDDR2.
2. Introduce a structure mx6_lpddr2_cfg, most entrys are same to
mx6_ddr3_cfg, but still keep it a single one for easy to choose
parameters for LPDDR2.
3. If ddr_type is LPDDR2, use mx6_lpddr2_cfg to init MMDC.
4. Update comments.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Peng Fan [Mon, 17 Aug 2015 08:11:03 +0000 (16:11 +0800)]
imx: mx6: ddr init MMDC according to ddr_type
To i.MX6, DDR3 and LPDDR2 is supported, so rename function mx6_dram_cfg
to mx6_ddr3_cfg and the original mx6_dram_cfg function only is a wrapper.
The new reimplemented function mx6_dram_cfg only invokes mx6_ddr3_cfg
when ddr_type is for DDR3. Later we can use ddr_type to initialize
MMDC for LPDDR2.
Initialize ddr_type for different boards which enable SPL.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Peng Fan [Mon, 17 Aug 2015 08:11:02 +0000 (16:11 +0800)]
imx: mx6: ddr add an entry ddr_type for mx6_ddr_sysinfo
Add ddr_type entry for mx6_ddr_sysinfo. It will be used for
differenrate DDR3 and LPDDR2.
Introduce an enum type for ddr_type.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Peng Fan [Mon, 17 Aug 2015 08:11:01 +0000 (16:11 +0800)]
imx: mx6: ddr add mpzqlp2ctl entry
Add mpzqlp2ctl entry for mx6_mmdc_calibration.
MMDC_MPZQLP2CTL register is for init tZQINIT, tZQCL, tZQCS for LPDDR2 chips.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Peng Fan [Mon, 17 Aug 2015 08:11:00 +0000 (16:11 +0800)]
imx: mx6: ddr add dram io configuration and header file for i.MX6SL
Define two structure mx6sl_iomux_ddr_regs and mx6sl_iomux_grp_regs.
Add a new function mx6sl_dram_iocfg to configure dram io.
Add header file to define macros for register address.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Peng Fan [Mon, 17 Aug 2015 08:10:59 +0000 (16:10 +0800)]
imx: mx6: ddr correct tRFC and tXS
To Chip density 4Gb, tRFC should be 300ns, see
"Table 61 — Refresh parameters by device density" of JESD79-3E.
tXS(min) is max(5nCK, tRFC(min) + 10ns).
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Mon, 17 Aug 2015 08:10:58 +0000 (16:10 +0800)]
imx: mx6: ddr no support MMDC1 for i.MX6SL
i.MX 6SoloLite only supports MMDC0, so do not access MMDC1 for i.MX 6SL.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Mon, 17 Aug 2015 08:10:57 +0000 (16:10 +0800)]
imx: mx6: ddr add more register entry for mmdc_p_regs
Add more register entry for MMDC structure.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Soeren Moch [Thu, 13 Aug 2015 19:08:47 +0000 (21:08 +0200)]
tbs2910: remove SYS_SOC from board specific Kconfig
SYS_SOC is already defined in arch/arm/cpu/armv7/mx6/Kconfig, no need to
define it again
Signed-off-by: Soeren Moch <smoch@web.de>
Soeren Moch [Thu, 13 Aug 2015 19:08:46 +0000 (21:08 +0200)]
tbs2910: remove deprecated CONFIG_SYS_EXTRA_OPTIONS
move options from CONFIG_SYS_EXTRA_OPTIONS to board specific Kconfig
Signed-off-by: Soeren Moch <smoch@web.de>
Soeren Moch [Thu, 13 Aug 2015 19:08:45 +0000 (21:08 +0200)]
tbs2910: use full name in Kconfig board selection
Signed-off-by: Soeren Moch <smoch@web.de>
Olaf Mandel [Thu, 28 May 2015 12:59:18 +0000 (14:59 +0200)]
imx: fec: add MAC reading from eFuses to README
Extend the documentation of the fec_mxc configuration by describing its
ability to read the ethaddr MAC address from the SoC eFuses.
Also add an example how to program the fuses for an imx5 to clarify the
byte order.
Cc: Stefano Babic <sbabic at denx.de>
Cc: Marek Vasut <marex at denx.de>
Signed-off-by: Olaf Mandel <o.mandel at menlosystems.com>
Heiko Schocher [Tue, 11 Aug 2015 06:09:44 +0000 (08:09 +0200)]
arm, imx6: aristainetos board updates
some small updates for the aristainetos boards:
- fix display timings for the aristainetos board
- fix pinmux for the aristainetos board
- fix pinmux for the aristainetos2 board
- fix default environment
Signed-off-by: Heiko Schocher <hs@denx.de>
Peng Fan [Mon, 17 Aug 2015 08:12:45 +0000 (16:12 +0800)]
imx: mx6sxsabresd: enable CONFIG_SPL_FAT_SUPPORT
Enable CONFIG_SPL_FAT_SUPPORT to load u-boot.img from FAT partition.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Wed, 12 Aug 2015 09:46:52 +0000 (17:46 +0800)]
imx: mx6ul_14x14_evk add ENET support
Add enet support for mx6ul_14x14_evk board:
1. add pinmux settings
2. implement board_eth_init
3. implement board_phy_config
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Adrian Alonso [Tue, 11 Aug 2015 16:19:52 +0000 (11:19 -0500)]
imx: ocotp: mxc add i.MX7D support
* Ocotp of i.MX7D has different operation rule.
This patch is to add support for i.MX7D ocotp.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
Adrian Alonso [Tue, 11 Aug 2015 16:19:51 +0000 (11:19 -0500)]
imx: mxc_gpio: add support for imx7d SoC
* Add mxc_gpio support for imx7d SoC
* Use CONFIG_MX7 to extend mxc gpio driver support for imx7d
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Adrian Alonso [Tue, 11 Aug 2015 16:19:50 +0000 (11:19 -0500)]
imx: iomux-v3: add imx7d support for iomuxc
* Add imx7d support for iomux controller
* imx7d has two iomux controllers iomuxc (0x3033000) and iomuxc-lpsr
(0x302C0000) each conroller provides control and mux mode pad
registers but shares iomuxc input select register with iomuxc-lpsr
IOMUX_CONFIG_LPSR flag is used to properly set daisy chain settings
for iomuxc-lpsr pads.
* Since mx7d introduces LPSR IOMUX pins, add new base to IOMUX v3
driver for these LPSR pins.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
Adrian Alonso [Tue, 11 Aug 2015 16:19:49 +0000 (11:19 -0500)]
power: pmic: add pfuze3000 support
* Add pmic pfuze3000 support, implement power_pfuze3000_init to be
used in power_init_board callback function.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Peng Fan [Wed, 12 Aug 2015 09:46:51 +0000 (17:46 +0800)]
net: fec: do not access reserved register for i.MX6UL
The MIB RAM and FIFO receive start register does not exist on
i.MX6UL. Accessing these register will cause enet not work well.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Stefano Babic <sbabic@denx.de>
Peng Fan [Wed, 12 Aug 2015 09:46:50 +0000 (17:46 +0800)]
imx: clock support enet2 anatop clock support
To i.MX6SX/UL, two ethernet interfaces are supported.
Add ENET2 clock support:
1. Introduce a new input parameter "fec_id", only 0 and 1 are allowed.
To value 1, only i.MX6SX/UL can pass the check.
2. Modify board code who use this api to follow new api prototype.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Nikolaos Pasaloukos <Nikolaos.Pasaloukos@imgtec.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Peng Fan [Thu, 13 Aug 2015 02:55:34 +0000 (10:55 +0800)]
imx-common: consolidate macros and prototypes into sys_proto.h
Move most macro definitions and prototypes into
"arch/arm/include/asm/imx-common/sys_proto.h" to avoid duplicated
function prototypes and marco definitions for different i.MX SoCs.
This patch do not remove the sys_proto.h for different i.MX SoCs,
because we need to modify lots of driver code and others. This patch
remove duplicated macros and prototypes and incude "sys_proto.h"
of imx-common for each sys_proto.h of different i.MX platforms.
Then later we should avoid add stuff in sys_proto.h of each platform,
and modify driver to include common sys_proto.h.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Thu, 13 Aug 2015 02:55:33 +0000 (10:55 +0800)]
imx: mxs: reimplement get_cpu_rev
Rewrite get_cpu_rev, from "static const char *get_cpu_rev(void)" to
"u32 get_cpu_rev(void)". To align with get_cpu_rev of other i.MXes.
Also write get_imx_type to replace get_cpu_type, since we have
macro named get_cpu_type.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Thu, 13 Aug 2015 02:55:32 +0000 (10:55 +0800)]
imx: mx31 use new formula for get_cpu_rev
Use new formula for get_cpu_rev, since we need to use this formula
to do runtime check for all i.MXes.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Thu, 13 Aug 2015 02:55:31 +0000 (10:55 +0800)]
imx: mx27 implement get_cpu_rev
Implement get_cpu_rev to support runtime check using is_cpu_type.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Thu, 13 Aug 2015 02:55:30 +0000 (10:55 +0800)]
imx: add cpu type for i.MX2 and i.MX3
Add cpu types for i.MX2/3.
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Peng Fan [Fri, 7 Aug 2015 12:35:24 +0000 (20:35 +0800)]
imx: mx6 move TARGET_xx Kconfig option to mx6 specific Kconfig file
Move TARGET_xx Kconfig option based on mx6 to arch/arm/cpu/armv7/mx6/Kconfig.
Add enable "CONFIG_ARCH_MX6" for boards based on mx6.
Then we can choose target boards using "make ARCH=arm menuconfig"
with ARCH_MX6 defined.
If using original way, we have no chance to enable ARCH_MX6 when
"make menuconfig". Even define CONFIG_ARCH_MX6=y in xx_defconfig,
kconfig will complains "arch/../configs/platinum_titanium_defconfig:3:
warning: override: TARGET_PLATINUM_TITANIUM changes choice state"
Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Eric Bénard <eric@eukrea.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Eric Nelson <eric.nelson@boundarydevices.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Soeren Moch <smoch@web.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Stefano Babic <sbabic@denx.de>
Acked-by: Soeren Moch <smoch@web.de>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Chris Smith [Sun, 12 Jul 2015 13:00:11 +0000 (15:00 +0200)]
mxs_ocotp: Shift the HBUS divider correctly
When the original HBUS divider value is retrieved in mxs_ocotp_scale_hclk()
for the purpose or restoring it back later, the value is not shifted by the
HBUS divider offset in that register. This is not a problem, since the shift
is zero on all MXS hardware. Add the shift anyway, for completeness and in
case FSL ever decides to re-use this driver on future designs.
Signed-off-by: Chris Smith <chris@zxdesign.info>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>