project/bcm63xx/u-boot.git
7 years agoregmap: use fdt address translation
Jean-Jacques Hiblot [Mon, 13 Feb 2017 15:17:48 +0000 (16:17 +0100)]
regmap: use fdt address translation

In the DTS, the addresses are defined relative to the parent bus. We need
to translate them to get the address as seen by the CPU core.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
7 years agodm: core: Fix Handling of global_data moving in SPL
Lokesh Vutla [Mon, 13 Feb 2017 03:51:22 +0000 (09:21 +0530)]
dm: core: Fix Handling of global_data moving in SPL

commit 2f11cd9121658 ("dm: core: Handle global_data moving in SPL")
handles relocation of GD in SPL if spl_init() is called before
board_init_r(). So, uclass_root.next need not be initialized always
and accessing uclass_root.next->prev gives an abort. Update the
uclass_root only if it is available.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agommc: xenon_sdhci: Add missing host->max_clk to Xenon SDHCI driver
Stefan Roese [Mon, 20 Mar 2017 16:00:32 +0000 (17:00 +0100)]
mmc: xenon_sdhci: Add missing host->max_clk to Xenon SDHCI driver

The Xenon SDHCI driver just missed the integration of this patch:

git ID 6d0e34bf
mmc: sdhci: Distinguish between base clock and maximum peripheral frequency

With this patch applied, the SDHCI subsystem complains now with this warning
while probing:

sdhci_setup_cfg: Hardware doesn't specify base clock frequency

This patch fixes this issue, by providing the missing host->max_clk
variable to the SDHCI subsystem.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Hu Ziji <huziji@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Konstantin Porotchkin <kostap@marvell.com>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
7 years agommc: drop unnecessary send_status request
Xu Ziyuan [Sun, 12 Mar 2017 06:19:04 +0000 (14:19 +0800)]
mmc: drop unnecessary send_status request

It's redundant to send cmd13 after cmd9 whose response is not R1b. The
card devices will not be busy w/ cmd9.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
7 years agommc: sdhci: only flush cache for data command
Kevin Liu [Wed, 8 Mar 2017 07:16:44 +0000 (15:16 +0800)]
mmc: sdhci: only flush cache for data command

No need to flush cache for command without data.

Signed-off-by: Kevin Liu <kevinliu@asrmicro.com>
7 years agommc: tangier: Add Intel Tangier eMMC/SDHCI driver
Felipe Balbi [Mon, 20 Feb 2017 11:24:14 +0000 (14:24 +0300)]
mmc: tangier: Add Intel Tangier eMMC/SDHCI driver

This patch adds Intel Tangier eMMC/SDHCI driver.

Intel Tangier SoC contains a hybrid of PCI and non-PCI devices. SDHCI
controller is one of the devices which are *not* on a PCI and, hence,
cannot be enumerated by standard PCI means. This driver, allows for
SDHCI controller on Tangier SoC to work in U-Boot.

Signed-off-by: Vincent Tinelli <vincent.tinelli@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
7 years agommc: pci: Add CONFIG_MMC_PCI
Felipe Balbi [Mon, 20 Feb 2017 11:24:13 +0000 (14:24 +0300)]
mmc: pci: Add CONFIG_MMC_PCI

We don't want pci_mmc to compile every time x86 compiles, only when
there's a platform that needs it. For that reason, we're adding a new
CONFIG_MMC_PCI which platforms can choose to enable.

Suggested-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
7 years agoconfigs: am43xx_evm: Enable SPL_DM
Lokesh Vutla [Tue, 21 Feb 2017 06:10:44 +0000 (11:40 +0530)]
configs: am43xx_evm: Enable SPL_DM

Enable SPL_DM on all AM43xx based platforms

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: AM43xx: Enable DM_I2C/SPI/ETH
Lokesh Vutla [Tue, 21 Feb 2017 06:10:43 +0000 (11:40 +0530)]
ARM: AM43xx: Enable DM_I2C/SPI/ETH

Enable DM_I2C/SPI/ETH for all AM43XX based boards.
Enable it using imply keyword so that a user can
disable this when not needed.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoARM: dts: am43xx: Add u-boot specific dtsi
Lokesh Vutla [Tue, 21 Feb 2017 06:10:42 +0000 (11:40 +0530)]
ARM: dts: am43xx: Add u-boot specific dtsi

Add u-boot specific dtsi for am43xx-gp-evm so
that it will be used for SPL.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoconfigs: dra7xx_evm: Enable SPL_DM
Lokesh Vutla [Fri, 10 Feb 2017 15:07:20 +0000 (20:37 +0530)]
configs: dra7xx_evm: Enable SPL_DM

Enable SPL_DM on all DRA7 based platforms.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoconfigs: am57xx_evm: Enable SPL_DM
Lokesh Vutla [Fri, 10 Feb 2017 15:07:19 +0000 (20:37 +0530)]
configs: am57xx_evm: Enable SPL_DM

Enable SPL_DM on all AM57xx based platforms.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoARM: dts: OMAP5+: Add u-boot specific dtsi
Lokesh Vutla [Fri, 10 Feb 2017 15:07:18 +0000 (20:37 +0530)]
ARM: dts: OMAP5+: Add u-boot specific dtsi

Add u-boot specific dtsi so that this will be
included automatically while building dts.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoARM: OMAP2+: define _image_binary_end to fix SPL_OF_CONTROL
Lokesh Vutla [Fri, 10 Feb 2017 15:07:17 +0000 (20:37 +0530)]
ARM: OMAP2+: define _image_binary_end to fix SPL_OF_CONTROL

To make SPL_OF_CONTROL work on OMAP2+ SoCs, _image_binary_end must be
defined in the linker script along with CONFIG_SPL_SEPARATE_BSS.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agospl: Correct call to spl_common_init() with SPL_STACK_R_MALLOC_SIMPLE_LEN
Tom Rini [Mon, 20 Mar 2017 18:19:27 +0000 (14:19 -0400)]
spl: Correct call to spl_common_init() with SPL_STACK_R_MALLOC_SIMPLE_LEN

Calls to IS_ENABLED() on a non-y/n option will always be false, even
when set.  We can correct this by adding a new bool value that is set
based on the conditions required for SPL_STACK_R_MALLOC_SIMPLE_LEN to be
set instead.

Fixes: 340f418acd11 ("spl: Add spl_early_init()")
Reported-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Changes in v2:
- Fix thinko pointed out by Lokesh

7 years agoboard: ns2: Add support for Broadcom Northstar 2
Jon Mason [Fri, 17 Mar 2017 16:12:14 +0000 (12:12 -0400)]
board: ns2: Add support for Broadcom Northstar 2

Add support for the Broadcom Northstar2 SoC and SVK (bcm958712k).  The
BCM5871X is a series of quad-core 64-bit 2GHz ARMv8 Cortex-A57
processors targeting a broad range of networking applications.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
7 years agoda850: Add instructions to copy AIS image to NAND
ahaslam@baylibre.com [Fri, 17 Mar 2017 15:55:23 +0000 (16:55 +0100)]
da850: Add instructions to copy AIS image to NAND

Add instructions to write an AIS image to NAND
by using the u-boot nand tools.

Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
7 years agoPass empty CFLAGS on invocation of libfdt/setup.py
Max Filippov [Thu, 16 Mar 2017 22:23:55 +0000 (15:23 -0700)]
Pass empty CFLAGS on invocation of libfdt/setup.py

When building u-boot tools in cross-build environment CFLAGS environment
variable set up for target is taken into an account when building code
for host. Make it empty on invocation of python.

This fixes the following build errors when cross-compiling for xtensa:

  cc1: error: unrecognized command line option "-mlongcalls"
  cc1: error: unrecognized command line option "-mauto-litpools"

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoKconfig: Don't use RSA_FREESCALE_EXP on IMX
George McCollister [Thu, 16 Mar 2017 21:17:06 +0000 (16:17 -0500)]
Kconfig: Don't use RSA_FREESCALE_EXP on IMX

The CAAM in IMX parts doesn't support public key hardware acceleration
(PKHA), so don't use RSA_FREESCALE_EXP. If you try to use it on IMX
(assuming you have the clocks enabled first) you will get back an
"Invalid KEY Command" error since PKHA isn't a valid key destination for
these parts.

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: am43xx: fix SOC revision print outs
Tero Kristo [Thu, 16 Mar 2017 07:48:54 +0000 (09:48 +0200)]
ARM: am43xx: fix SOC revision print outs

Currently, AM43xx just re-uses the version strings from AM33xx which is
wrong; the actual values for AM43xx are different. Fix this by adding
a separate version string array for AM43xx and use this instead.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Reported-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agotest-fit.py: Minor grammar/spelling/clarification tweaks
Robert P. J. Day [Mon, 13 Mar 2017 10:50:55 +0000 (06:50 -0400)]
test-fit.py: Minor grammar/spelling/clarification tweaks

* Add note that execution needs Python development package installed
* Standardize on upper case "FIT", "FDT" as necessary for clarity
* Fix "tempoerary", "linex" typos

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
7 years agopart_efi: document device-tree binding for part_efi configuration
Philipp Tomsich [Wed, 1 Mar 2017 20:10:41 +0000 (21:10 +0100)]
part_efi: document device-tree binding for part_efi configuration

This adds documentation on the u-boot,efi-partition-entries-offset
property (which overrides CONFIG_EFI_PARTITION_ENTRIES_OFF, if
present).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agodoc: move documentation for /config node into a separate file
Philipp Tomsich [Wed, 1 Mar 2017 20:10:40 +0000 (21:10 +0100)]
doc: move documentation for /config node into a separate file

This moves the description of the /config node from README.fdt-control
into a separate file doc/device-tree-bindings/config.txt.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopart_efi: support padding between the GPT header and partition entries
Philipp Tomsich [Wed, 1 Mar 2017 20:10:39 +0000 (21:10 +0100)]
part_efi: support padding between the GPT header and partition entries

Some architectures require their SPL loader at a fixed address within
the first 16KB of the disk. To avoid an overlap with the partition
entries of the EFI partition table, the first safe offset (in bytes,
from the start of the device) for the entries can be set through
CONFIG_EFI_PARTITION_ENTRIES_OFF (via Kconfig)

When formatting a device with an EFI partition table, we may need to
leave a gap between the GPT header (always in LBA 1) and the partition
entries. The GPT header already contains a field to specify the
on-disk location, which has so far always been set to LBA 2. With this
change, a configurable offset will be translated into a LBA address
indicating where to put the entries.

Now also allows an override via device-tree using a config-node (see
doc/device-tree-bindings/config.txt for documentation).

Tested (exporting an internal MMC formatted with this) against Linux,
MacOS X and Windows.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[trini: __maybe_unused on config_offset to avoid warning]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agonet: don't override ethernet address environment
Roger Quadros [Mon, 13 Mar 2017 13:04:33 +0000 (15:04 +0200)]
net: don't override ethernet address environment

If the ethernet address environment is set with a valid
ethernet address prevent overriding it as it is most likely
set by the user and he/she doesn't want board code to
automatically override it whatsoever.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: k2g: setup PRU ethernet MAC addresses
Roger Quadros [Mon, 13 Mar 2017 13:04:32 +0000 (15:04 +0200)]
ARM: k2g: setup PRU ethernet MAC addresses

PRU ethernet MAC address range is present in the
board EEPROM. Parse it and setup eth?addr
environment variables.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: Use Kconfig for board EEPROM's I2C bus and chip address
Roger Quadros [Mon, 13 Mar 2017 13:04:31 +0000 (15:04 +0200)]
ARM: Use Kconfig for board EEPROM's I2C bus and chip address

In stead of defining the board EEPROM address in the board headers
let's define them in the board config files and make them
configurable by Kconfig.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoboard: ti: am57xx-idk: Auto detect LCD Panel
Nishanth Menon [Mon, 13 Mar 2017 13:04:30 +0000 (15:04 +0200)]
board: ti: am57xx-idk: Auto detect LCD Panel

AM571x IDK and AM572x IDK have optional LCD Kits that can be purchased.
These can be one of OSD101T2045 or the newer OSD101T2587. The LCD panel
itself has no registers that can be used to identify the panel, however,
the touchscreen controllers on the panels are different.

Hence to ease user experience, we can use the touch screen controller's
ID information to detect what kind of panel we use and select the
appropriate kernel dtb for the platform configuration.

NOTE: AM572x IDK default configuration is for LCD Connectivity, however
the AM571x IDK has a jumper (J51) that needs to be mounted for the IDK
to operate with LCD (Vs two PRUSS ethernet port option).

Touchscreen ID information is documented in:
http://www.osddisplays.com/TI/OSD101T2587-53TS_A.1.pdf

Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoboard: ti: am571x-idk: Update pinmux for ICSS2 Ethernet
Roger Quadros [Mon, 13 Mar 2017 13:04:29 +0000 (15:04 +0200)]
board: ti: am571x-idk: Update pinmux for ICSS2 Ethernet

Use the same convention that was used for ICSS1 Ethernet
- If pin is output, set as PIN_OUTPUT
- If pin is input and external pull resistor present set as PIN_INPUT
- If pin is input and external pull resistor absent, set pull to same
as that of the external PHY's internall pull.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoboard: ti: am571x-idk: Support 6 port Ethernet or 4 port Ethernet with LCD
Roger Quadros [Mon, 13 Mar 2017 13:04:28 +0000 (15:04 +0200)]
board: ti: am571x-idk: Support 6 port Ethernet or 4 port Ethernet with LCD

The board can support either ICSS1 Ethernet ports or LCD
based on J51 jumper. Factory default is ICSS1 Ethernet ports
(i.e. Jumper not populated).

Use the GPIO to detect the jumper setting and configure the
pinmux accordingly. Also select the right DT blob based on
the chosen configuration.

J51 absent -> ICSS1 Ethernet, no LCD on VOUT -> am571x-idk.dtb
J51 present -> LCD on VOUT, no ICSS1 Ethernet -> am571x-idk-lcd-osd.dtb

At present we only support the assume it is the Legacy LCD.
LCD detection mechanism needs to be added later to differentiate
between legacy vs new LCD.

For ICSS1 Ethernet pins use the following convention to set the pinmux
as PMT data is not yet finalized.

- If pin is output, set as PIN_OUTPUT
- If pin is input and external pull resistor present set as PIN_INPUT
- If pin is input and external pull resistor absent, set pull to same
as that of the external PHY's internall pull.
- Do not use SLEW_CONTROLon any pin.

Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoti: common: board_detect: commodify ethaddr environment setting code
Roger Quadros [Tue, 14 Mar 2017 13:04:19 +0000 (15:04 +0200)]
ti: common: board_detect: commodify ethaddr environment setting code

Keystone and OMAP platforms will need this to set ethernet
MAC addresses from board EEPROM.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoti_armv7_keystone2: Define scratch space in SRAM
Franklin S Cooper Jr [Mon, 13 Mar 2017 13:04:26 +0000 (15:04 +0200)]
ti_armv7_keystone2: Define scratch space in SRAM

Scratch space can be used for features such as board detection. Define
an area within SRAM that can be used for this purpose.

[rogerq@ti.com] Rename EEPROM macro

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
7 years agoti: common: board_detect: Rename EEPROM scratch start macro
Lokesh Vutla [Mon, 13 Mar 2017 13:04:25 +0000 (15:04 +0200)]
ti: common: board_detect: Rename EEPROM scratch start macro

Non OMAP platforms i.e. Keystone will also need to use the board
EEPROM helpers so let's make the macro platform independent.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoARM: OMAP5+: GPIO: Add GPIO_TO_PIN() macro
Roger Quadros [Mon, 13 Mar 2017 13:04:24 +0000 (15:04 +0200)]
ARM: OMAP5+: GPIO: Add GPIO_TO_PIN() macro

GPIO_TO_PIN(bank, bank_gpio) returns the GPIO index
from the GPIO bank number and bank's GPIO offset number.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agotravis-ci: Re-work i.MX6 jobs, clarify Freescale and AArch64
Tom Rini [Mon, 20 Mar 2017 14:21:27 +0000 (10:21 -0400)]
travis-ci: Re-work i.MX6 jobs, clarify Freescale and AArch64

- The catch-all i.MX6 job has been exceeding the time limit again so
  split this up further.  We now have an i.MX6 job and an
  everything-else job.
- The logic we use to say "Freescale and AArch64" can be more clearly
  expressed with '&' rather than excluding various other things, so
  clear that up.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoti: boot: Register the MMC controllers in SPL in the same way as in u-boot
Jean-Jacques Hiblot [Wed, 1 Feb 2017 10:39:14 +0000 (11:39 +0100)]
ti: boot: Register the MMC controllers in SPL in the same way as in u-boot

To keep a consistent MMC device mapping in SPL and in u-boot, let's
register the MMC controllers the same way in u-boot and in the SPL.
In terms of boot time, it doesn't hurt to register more controllers than
needed because the MMC device is initialized only prior being accessed for
the first time.
Having the same device mapping in SPL and u-boot allows us to use the
environment in SPL whatever the MMC boot device.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
7 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Sun, 19 Mar 2017 18:49:26 +0000 (14:49 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-imx

Signed-off-by: Tom Rini <trini@konsulko.com>
Conflicts:
configs/bk4r1_defconfig
configs/colibri_vf_defconfig
configs/pcm052_defconfig
include/configs/colibri_vf.h
include/configs/pcm052.h

7 years agoKconfig: Migrate CONFIG_BAUDRATE
Philipp Tomsich [Fri, 17 Mar 2017 19:34:53 +0000 (20:34 +0100)]
Kconfig: Migrate CONFIG_BAUDRATE

Move this in to Kconfig with a default of 115200.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[trini: Run moveconfig.py, reword commit slightly]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoimx: ventana: add EMMC configuration
Tim Harvey [Mon, 13 Mar 2017 15:51:09 +0000 (08:51 -0700)]
imx: ventana: add EMMC configuration

Prepare for boards with EMMC instead of NAND flash

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
7 years agotools: imximage: add set bit command
Peng Fan [Thu, 16 Mar 2017 06:35:06 +0000 (14:35 +0800)]
tools: imximage: add set bit command

Add set bit command support.
Usage: SET_BIT 4 [address] [bitmask]

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoARM: vf610: move to standard arch/board approach
Stefan Agner [Tue, 14 Mar 2017 01:41:36 +0000 (18:41 -0700)]
ARM: vf610: move to standard arch/board approach

Move Freescale/NXP Vybrid to a standard arch/board approach, similar
to what has been done to i.MX 6 earlier in commit 89ebc82137be ("ARM:
mx6: move to a standard arch/board approach").

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
7 years agoimx: ventana: make SD3_VSELECT board specific
Tim Harvey [Mon, 13 Mar 2017 15:51:08 +0000 (08:51 -0700)]
imx: ventana: make SD3_VSELECT board specific

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: make OTG VBUS power enable board specific
Tim Harvey [Mon, 13 Mar 2017 15:51:07 +0000 (08:51 -0700)]
imx: ventana: make OTG VBUS power enable board specific

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: fix hwconfig
Tim Harvey [Mon, 13 Mar 2017 15:51:06 +0000 (08:51 -0700)]
imx: ventana: fix hwconfig

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: change name of rs232_en to indicate polarity
Tim Harvey [Mon, 13 Mar 2017 15:51:05 +0000 (08:51 -0700)]
imx: ventana: change name of rs232_en to indicate polarity

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: use mmc_root in boot scripts
Tim Harvey [Mon, 13 Mar 2017 15:51:04 +0000 (08:51 -0700)]
imx: ventana: use mmc_root in boot scripts

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: move mmc_init to common
Tim Harvey [Mon, 13 Mar 2017 15:51:03 +0000 (08:51 -0700)]
imx: ventana: move mmc_init to common

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: config: add gzwrite support
Tim Harvey [Mon, 13 Mar 2017 15:51:02 +0000 (08:51 -0700)]
imx: ventana: config: add gzwrite support

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agoimx: ventana: add additional DRAM configurations
Tim Harvey [Mon, 13 Mar 2017 15:51:01 +0000 (08:51 -0700)]
imx: ventana: add additional DRAM configurations

- 64bit 8gB density (4GiB) IMX6DQ
- 64bit 4gB density (2GiB) IMX6SDL

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agocolibri_imx7: split and resize firmware MTD partition
Stefan Agner [Fri, 10 Mar 2017 01:17:55 +0000 (17:17 -0800)]
colibri_imx7: split and resize firmware MTD partition

Use two separate partitions for the two firmware instances. Also
resize them to be of the same size which also makes the start of
the UBI partition nicely aligned to 0x400000.

In order to detect the new MTD layout and whether we run a U-Boot
with the new BCB format or not, introduce a variable called
"updlevel" which we can use in update/upgrade scripts.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
7 years agocolibri_imx7: use device-tree for MTD partitions
Stefan Agner [Fri, 10 Mar 2017 01:17:54 +0000 (17:17 -0800)]
colibri_imx7: use device-tree for MTD partitions

Use device-tree fixup to communicate the MTD partitions to the
kernel. Remove mtdparts from the kernel command line.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
7 years agocolibri_imx7: setup PMIC sleep mode configuration
Stefan Agner [Fri, 10 Mar 2017 01:17:53 +0000 (17:17 -0800)]
colibri_imx7: setup PMIC sleep mode configuration

Disable 3.3V Ethernet and ARM rail when entering sleep mode.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
7 years agocolibri_imx7: implement board level USB PHY mode
Stefan Agner [Fri, 10 Mar 2017 01:17:52 +0000 (17:17 -0800)]
colibri_imx7: implement board level USB PHY mode

Implement board level USB PHY mode callback. On USB OTG Port 1
the Colibri standard foresees GPIO USBC_DET to decide whether the
port should run in Host or Device mode.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
7 years agocolibri_imx7/colibri_imx6/apalis_imx6: limit bootm memory
Stefan Agner [Fri, 10 Mar 2017 01:17:51 +0000 (17:17 -0800)]
colibri_imx7/colibri_imx6/apalis_imx6: limit bootm memory

Limit memory used for relocation of FDT or initrd. This is
required to make sure that relocated artifacts are within lowmem.
If fdt_high or initrd_high are not set, U-Boot automatically
relocates artifacts to the end of memory. But this area won't
be part of lowmem and hence will not be accessible by the kernel
during early boot.

With VM split set to 2G/2G (i.MX default), only the 2GB Apalis
iMX6 is affected by that issue. With VM split set to 3G/1G (ARM
default) also modules with 1GB of memory are affected. With the
latter the amount of lowmem will be 760MiB.

The value must also not exceed available memory! Use a safe value
of 512MiB for Apalis and 256MiB for Colibri.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
7 years agotoradex apalis/colibri: add device tree overlay support
Stefan Agner [Fri, 10 Mar 2017 01:17:50 +0000 (17:17 -0800)]
toradex apalis/colibri: add device tree overlay support

Device tree overlays might prove useful in the future, enable it
by default on all Toradex modules.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
7 years agotoradex apalis/colibri: use common USB product id fallback
Stefan Agner [Fri, 10 Mar 2017 01:17:49 +0000 (17:17 -0800)]
toradex apalis/colibri: use common USB product id fallback

All modules use the common g_dnl_bind_fixup implementaton which
calculates the PID according to product id (read from the config
block) plus offset of 0x4000. In case there is no config block
support (e.g. SPL) or in case the config block is not readable,
fall back to a generic product id (product id 0, which can be
interpreted as "Unknown Module").

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
7 years agomx7: Add 1.2GHz speed grade entry
Fabio Estevam [Wed, 22 Feb 2017 15:43:27 +0000 (12:43 -0300)]
mx7: Add 1.2GHz speed grade entry

There are recent MX7 parts that have a 1.2GHz speed grade.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx7: Fix the get_cpu_speed_grade_hz() return values
Fabio Estevam [Wed, 22 Feb 2017 15:43:26 +0000 (12:43 -0300)]
mx7: Fix the get_cpu_speed_grade_hz() return values

According to the MX7D fuse map the following speed grades are available:

800  MHz
500  MHz
1000 MHz
1200 MHz

So simply return the real frequency that corresponds to the speed grade.

With this change we see on boot:

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx7: Fix speed grade entry
Fabio Estevam [Wed, 22 Feb 2017 15:43:25 +0000 (12:43 -0300)]
mx7: Fix speed grade entry

According to the MX7D fuse map the speed grade of the parts, which
return '1' is 500MHz instead of 850MHz, so fix it accordingly.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agoarm: dts: imx6ul: add usbotg aliases
Sébastien Szymanski [Wed, 22 Feb 2017 14:38:44 +0000 (15:38 +0100)]
arm: dts: imx6ul: add usbotg aliases

This is needed to make the UMS command work again as it fails with the
following error:

BIOS> ums 0 mmc 0
UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x748000
g_dnl_register: failed!, error: -19
ERROR: g_dnl_register failed
at cmd/usb_mass_storage.c:179/do_usb_mass_storage()

That's because usb_setup_ehci_gadget() function is looking for the usb
device using the req_sed number.
This change makes the usb device have a req_seq number and the UMS
command work again:

BIOS> ums 0 mmc 0
UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x748000
CTRL+C - Operation aborted

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
7 years agoarm: i.MX6UL: add Armadeus Systems OPOS6UL SoM and OPOS6ULDev carrier board
Sébastien Szymanski [Tue, 7 Mar 2017 13:33:25 +0000 (14:33 +0100)]
arm: i.MX6UL: add Armadeus Systems OPOS6UL SoM and OPOS6ULDev carrier board

OPOS6UL is an i.MX6UL based SoM with 256MB RAM, 4GB eMMC and an ethernet
phy. OPOS6ULDev is carrier board for the OPOS6UL.

U-Boot SPL 2017.03-rc3-00002-g5085c26 (Mar 07 2017 - 09:48:09)
Trying to boot from MMC1

U-Boot 2017.03-rc3-00002-g5085c26 (Mar 07 2017 - 09:48:09 +0100)

CPU:   Freescale i.MX6UL rev1.0 528 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 40C
Reset cause: POR
Model: Armadeus Systems OPOS6UL SoM on OPOS6ULDev board
DRAM:  256 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Video: 800x480x18
In:    serial
Out:   serial
Err:   serial
Net:   FEC [PRIME]
Hit any key to stop autoboot:  0

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agodm: imx: serial: add i.MX6UL support
Sébastien Szymanski [Tue, 7 Mar 2017 13:33:24 +0000 (14:33 +0100)]
dm: imx: serial: add i.MX6UL support

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
7 years agoMCCMON6: defconfig: Move 'quiet' console parameter to 'console' env variable
Lukasz Majewski [Tue, 21 Feb 2017 21:45:20 +0000 (22:45 +0100)]
MCCMON6: defconfig: Move 'quiet' console parameter to 'console' env variable

Signed-off-by: Lukasz Majewski <lukma@denx.de>
7 years agoarm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD
Tom Rini [Sat, 18 Mar 2017 13:01:44 +0000 (09:01 -0400)]
arm: Migrate SYS_THUMB_BUILD to Kconfig, introduce SPL_SYS_THUMB_BUILD

Today, we have cases where we wish to build all of U-Boot in Thumb2 mode for
various reasons.  We also have cases where we only build SPL in Thumb2 mode due
to size constraints and wish to build the rest of the system in ARM mode.  So
in this migration we introduce a new symbol as well, SPL_SYS_THUMB_BUILD to
control if we build everything or just SPL (or in theory, just U-Boot) in
Thumb2 mode.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
7 years agoKconfig: Disable non-FIT SPL loading for TI secure devices
Andrew F. Davis [Thu, 16 Feb 2017 17:18:40 +0000 (11:18 -0600)]
Kconfig: Disable non-FIT SPL loading for TI secure devices

Non-FIT SPL image loading support should be disabled for TI secure
devices as the image handlers for those image types do not follow
our secure boot flow.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agospl: Add option to enable SPL Legacy image support
Andrew F. Davis [Thu, 16 Feb 2017 17:18:39 +0000 (11:18 -0600)]
spl: Add option to enable SPL Legacy image support

Add a Kconfig option that enables Legacy image support, this allows
boards to explicitly disable this, for instance when needed for
security reasons.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
[trini: Move to common/spl/Kconfig]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agospl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option
Andrew F. Davis [Thu, 16 Feb 2017 17:18:38 +0000 (11:18 -0600)]
spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

CONFIG_SPL_ABORT_ON_RAW_IMAGE causes SPL to abort and move on when it
encounters RAW images, express this same functionality as a positive
option enabling support for RAW images: CONFIG_SPL_RAW_IMAGE_SUPPORT

Also move uses of this to defconfigs.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[trini: Rework Kconfig logic a little, move to common/spl/Kconfig]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoMerge git://git.denx.de/u-boot-rockchip
Tom Rini [Fri, 17 Mar 2017 13:11:12 +0000 (09:11 -0400)]
Merge git://git.denx.de/u-boot-rockchip

This includes support for rk3188 from Heiko Stübner and and rk3328 from
Kever Yang.  Also included is SPL support for rk3399 and a fix for
rk3288 to get it booting again (spl_early_init()).

7 years agoARM: DT: stm32f7: add qspi pin contol node
Vikas Manocha [Sun, 12 Feb 2017 18:25:53 +0000 (10:25 -0800)]
ARM: DT: stm32f7: add qspi pin contol node

It also removes the qspi pin configuration done during the
board initialization.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
7 years agoARM: DT: stm32f7: add ethernet pin contol node
Vikas Manocha [Sun, 12 Feb 2017 18:25:52 +0000 (10:25 -0800)]
ARM: DT: stm32f7: add ethernet pin contol node

It also removes the ethernet pin configuration done during the board
initialization.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
7 years agoARM: DT: stm32f7: add pin control node for serial port pins
Vikas Manocha [Sun, 12 Feb 2017 18:25:51 +0000 (10:25 -0800)]
ARM: DT: stm32f7: add pin control node for serial port pins

And remove the uart pin configuration from board initialization.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
7 years agoARM: DT: stm32f7: add pin control device node
Vikas Manocha [Sun, 12 Feb 2017 18:25:50 +0000 (10:25 -0800)]
ARM: DT: stm32f7: add pin control device node

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
7 years agoPINCTRL: stm32f7: add pin control driver
Vikas Manocha [Sun, 12 Feb 2017 18:25:49 +0000 (10:25 -0800)]
PINCTRL: stm32f7: add pin control driver

This driver uses the same pin control binding as that of linux, binding
document of this patch is copied from linux. One addition done is for
GPIO input and output mode configuration which was missing.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agostm32f7: clk: remove usart1 clock enable from board init
Vikas Manocha [Sun, 12 Feb 2017 18:25:48 +0000 (10:25 -0800)]
stm32f7: clk: remove usart1 clock enable from board init

Before clock driver availability it was required to enable usart1 clock
for serial init but now with clock driver is taking care of usart1 clock.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
7 years agoARM: DT: stm32f7: add usart1 & clock device tree nodes
Vikas Manocha [Sun, 12 Feb 2017 18:25:47 +0000 (10:25 -0800)]
ARM: DT: stm32f7: add usart1 & clock device tree nodes

Also created alias for usart1 and specified oscillator clock for stm32f7
discovery board.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
7 years agostm32f7: serial: use clock driver to enable clock
Vikas Manocha [Sun, 12 Feb 2017 18:25:46 +0000 (10:25 -0800)]
stm32f7: serial: use clock driver to enable clock

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoclk: stm32f7: add clock driver for stm32f7 family
Vikas Manocha [Sun, 12 Feb 2017 18:25:45 +0000 (10:25 -0800)]
clk: stm32f7: add clock driver for stm32f7 family

add basic clock driver support for stm32f7 to enable clocks required by
the peripherals.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoserial: stm32f7: add device tree support
Vikas Manocha [Sun, 12 Feb 2017 18:25:44 +0000 (10:25 -0800)]
serial: stm32f7: add device tree support

This patch adds device tree support for stm32f7 serial driver & removes serial
platform data structure.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoarm: use common instructions applicable to armv7m & other arm archs
Vikas Manocha [Fri, 5 Feb 2016 18:43:01 +0000 (10:43 -0800)]
arm: use common instructions applicable to armv7m & other arm archs

This patch cleans the code by using instructions allowed for armv7m as well as
other Arm archs.

Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
7 years agoarm: Update our 'ret' assembler macro slightly
Tom Rini [Thu, 2 Mar 2017 14:59:30 +0000 (09:59 -0500)]
arm: Update our 'ret' assembler macro slightly

We only support cores that do Thumb-1 or later.  So we add a comment to
explain this and remove the architecture test.

Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Cc: Mans Rullgard <mans@mansr.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agogpt: Fix uuid string format
Vincent Tinelli [Mon, 27 Feb 2017 14:11:15 +0000 (16:11 +0200)]
gpt: Fix uuid string format

Change GPT UUID string format from UUID to GUID per specification.

Signed-off-by: Vincent Tinelli <vincent.tinelli@intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agocmd: itest: correct calculus for long format
Sebastien Colleur [Fri, 10 Feb 2017 12:59:15 +0000 (15:59 +0300)]
cmd: itest: correct calculus for long format

itest shell command doesn't work correctly in long format when
doing comparaison due to wrong mask value calculus that overflow
on 32 bits values.

Signed-off-by: Sebastien Colleur <sebastienx.colleur@intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoconfigs: move CMD_MD5SUM definition to defconfigs
Andre Przywara [Wed, 15 Mar 2017 01:19:07 +0000 (01:19 +0000)]
configs: move CMD_MD5SUM definition to defconfigs

Boards with an apparent need for the md5sum command had the connected
config symbol defined in their board header file.
Move this over to the respective defconfig files now that md5sum is
configured via Kconfig.
(This is a manual effort, which differs from moveconfig.py, not sure
who is right here. Boards except sandbox loose the md5sum command with
moveconfig.py, though it was explicitly mentioned in their config.h's)

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[trini: migrate stih410-b2260]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoKconfig: define MD5 dependency for FIT support
Andre Przywara [Wed, 15 Mar 2017 01:19:06 +0000 (01:19 +0000)]
Kconfig: define MD5 dependency for FIT support

FIT images require MD5 support to verify image checksums. So far this
was expressed by defining a CPP symbol in image.h. Since MD5 is now a
first class Kconfig citizen, express that in Kconfig instead.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoKconfig: introduce md5sum command selection
Andre Przywara [Wed, 15 Mar 2017 01:19:05 +0000 (01:19 +0000)]
Kconfig: introduce md5sum command selection

So far CONFIG_MD5SUM would need to be set by a board's include file.
Since the command is really generic, move it over to Kconfig to allow
it to be defined by either a board's defconfig, menuconfig or some
config snippet merged via mergeconfig.sh.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agokirkwood: remove get_random_hex() and MD5 dependency
Andre Przywara [Wed, 15 Mar 2017 01:19:04 +0000 (01:19 +0000)]
kirkwood: remove get_random_hex() and MD5 dependency

Commit 19a5944fcd62 ("mvgbe: remove setting of ethaddr within the
driver") removed the usage of get_random_hex() from the mvgbe driver
about six years ago. However the prototype of that function survived
till today in some kirkwood header file.
Remove that prototype and the CONFIG_MD5 dependency triggered by that.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stefan Roese <sr@denx.de>
7 years agoarm: imx6: tqma6: add support for TQMa6DL variant
Markus Niebel [Tue, 28 Feb 2017 15:37:33 +0000 (16:37 +0100)]
arm: imx6: tqma6: add support for TQMa6DL variant

This adds support for TQMa6DL using i.MX6DL and 1GiB DRAM
Since The module will use the same devicetree, we patch
the ram size in ft_board_setup.

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoarm: imx6: tqma6: use CONFIG_TQM6x for SOM specific settings
Markus Niebel [Tue, 28 Feb 2017 15:37:32 +0000 (16:37 +0100)]
arm: imx6: tqma6: use CONFIG_TQM6x for SOM specific settings

We have a Kconfig name for the module types. Let's Use it.
Some feature selections and configurations are based on the
module. Module selection selects the CPU type.

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoi.MX6Q: isiot: Switch the mmc env based on devno
Jagan Teki [Fri, 24 Feb 2017 10:15:26 +0000 (15:45 +0530)]
i.MX6Q: isiot: Switch the mmc env based on devno

Add board_mmc_get_env_dev

Switch the mmc env based on the mmc devno, instead of separately
defining a config item in include/configs using board_mmc_get_env_dev
- devno 0: sd/esd
- devno 1: mmc/emmc

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agoi.MX6Q: icorem6_rqs: Add mmc_late_init
Jagan Teki [Fri, 24 Feb 2017 10:15:25 +0000 (15:45 +0530)]
i.MX6Q: icorem6_rqs: Add mmc_late_init

Let the runtime code can set the mmcdev and mmcroot based
on the devno using mmc_get_env_dev instead of defining
separately in build-time configs using mmc_late_init func.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agoi.MX6Q: icorem6_rqs: Add modeboot env via board_late_init
Jagan Teki [Fri, 24 Feb 2017 10:15:24 +0000 (15:45 +0530)]
i.MX6Q: icorem6_rqs: Add modeboot env via board_late_init

Add runtime, modeboot env which is setting mmcboot based
on the bootdevice so-that conditional macros for MMC via
CONFIG_BOOTCOMMAND should be avoided in config files.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agoimx6: icorem6_rqs: Add eMMC boot support
Jagan Teki [Fri, 24 Feb 2017 10:15:23 +0000 (15:45 +0530)]
imx6: icorem6_rqs: Add eMMC boot support

Boot from eMMC:
--------------
U-Boot SPL 2017.01-00318-g8e243f8 (Jan 26 2017 - 11:53:21)
Trying to boot from MMC2

U-Boot 2017.01-00318-g8e243f8 (Jan 26 2017 - 11:53:21 +0100)

CPU:   Freescale i.MX6D rev1.2 at 792 MHz
Reset cause: POR
Model: Engicam i.CoreM6 Quad/Dual RQS Starter Kit
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Booting from mmc ...
switch to partitions #0, OK
mmc1(part 0) is current device

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agomx6: tqma6: clear enet clk sel for mba6
Markus Niebel [Fri, 3 Feb 2017 15:25:02 +0000 (16:25 +0100)]
mx6: tqma6: clear enet clk sel for mba6

we have external ref clock from phy.

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoimx6: tqma6: adjust ethernet phy reset delay
Markus Niebel [Fri, 3 Feb 2017 15:25:01 +0000 (16:25 +0100)]
imx6: tqma6: adjust ethernet phy reset delay

fix the reset delay which was to short

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoimx6: tqma6: disable spi CS unused in U-Boot
Markus Niebel [Fri, 3 Feb 2017 15:25:00 +0000 (16:25 +0100)]
imx6: tqma6: disable spi CS unused in U-Boot

Since the CS are not in use, do not map them. User of starterkit
mainboard is free to use them otherwise. When using these pins later
in the OS for instance as GPIO IRQ pin, they need to be input.

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoimx6: tqma6: use lower driver stength for I2C pins
Markus Niebel [Fri, 3 Feb 2017 15:24:59 +0000 (16:24 +0100)]
imx6: tqma6: use lower driver stength for I2C pins

The current driver stength is too high, leading to spec violations
on the falling edge. Fix it with values from HW

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoimx6: tqma6: implement power_init_board
Markus Niebel [Fri, 3 Feb 2017 15:24:58 +0000 (16:24 +0100)]
imx6: tqma6: implement power_init_board

PMIC implements proper I2C bus switching,
implement power_init_board instead handling in
board_late_init.

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
7 years agoimx6: icorem6_rqs: Update SPL board boot order for eMMC
Jagan Teki [Fri, 24 Feb 2017 10:15:22 +0000 (15:45 +0530)]
imx6: icorem6_rqs: Update SPL board boot order for eMMC

SPL mmc device index is get based on the boot device, like
- BOOT_DEVICE_MMC1 for mmc device 0
- BOOT_DEVICE_MMC2 for mmc device 1

Currently BOOT_DEVICE_MMC1 is setting both SD/eSD and MMC/eMMC
boot devices in i.MX, So u-boot is loading from mmc device 0 even
"if the board booting from SD/eSD or MMC/eMMC"

So, this patch set BOOT_DEVICE_MMC2 for MMC/eMMC so for MMC/eMMC
the u-boot is loading from mmc device 1 and the board file need to
take care if the board have different mmc device order intialization.

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agoarm: dts: imx6qdl-icore-rqs: Add eMMC node
Jagan Teki [Fri, 24 Feb 2017 10:15:21 +0000 (15:45 +0530)]
arm: dts: imx6qdl-icore-rqs: Add eMMC node

Add usdhc4 node, which is eMMC for Engicam i.CoreM6 RQS modules.

eMMC Log:
--------
icorem6qdl-rqs> mmc dev 1
switch to partitions #0, OK
mmc1(part 0) is current device
icorem6qdl-rqs> mmcinfo
Device: FSL_SDHC
Manufacturer ID: fe
OEM: 14e
Name: MMC04
Tran Speed: 52000000
Rd Block Len: 512
MMC version 4.4.1
High Capacity: Yes
Capacity: 3.5 GiB
Bus Width: 4-bit
Erase Group Size: 512 KiB
HC WP Group Size: 4 MiB
User Capacity: 3.5 GiB
Boot Capacity: 16 MiB ENH
RPMB Capacity: 128 KiB ENH

Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agoi.MX6UL: isiot: Switch the mmc env based on devno
Jagan Teki [Fri, 24 Feb 2017 10:15:20 +0000 (15:45 +0530)]
i.MX6UL: isiot: Switch the mmc env based on devno

Add board_mmc_get_env_dev

Switch the mmc env based on the mmc devno, instead of separately
defining a config item in include/configs using board_mmc_get_env_dev
- devno 0: sd/esd
- devno 1: mmc/emmc

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>