oweals/u-boot.git
4 years agolog: Include missing header for log.h
Sean Anderson [Wed, 25 Dec 2019 04:54:54 +0000 (23:54 -0500)]
log: Include missing header for log.h

log.h references cmd_tbl_t but command.h was not included

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agodm: Add a debug message when devices are skipped pre-reloc
Sean Anderson [Wed, 25 Dec 2019 04:52:01 +0000 (23:52 -0500)]
dm: Add a debug message when devices are skipped pre-reloc

This adds a message to lists_bind_fdt when it skips initializing a device
pre-relocation. I've had a couple errors where a device didn't initialize
properly because one of its dependencies was missing.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoInclude missing headers for fdt_support.h
Sean Anderson [Wed, 18 Dec 2019 02:21:54 +0000 (21:21 -0500)]
Include missing headers for fdt_support.h

fdt_support.h is missing declarations for bd_t. Including asm/u-boot.h
pulls in the definition.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
4 years agobinman: fix default filename of u-boot-with-ucode-ptr in documentation
Masahiro Yamada [Sat, 14 Dec 2019 04:47:26 +0000 (13:47 +0900)]
binman: fix default filename of u-boot-with-ucode-ptr in documentation

The suffix should be ".bin" instead of ".dtb" .

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agodm: devres: Add a new OFDATA phase
Simon Glass [Mon, 30 Dec 2019 04:19:28 +0000 (21:19 -0700)]
dm: devres: Add a new OFDATA phase

Since the ofdata_to_platdata() method can allocate resources, add it as a
new devres phase.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: devres: Use an enum for the allocation phase
Simon Glass [Mon, 30 Dec 2019 04:19:27 +0000 (21:19 -0700)]
dm: devres: Use an enum for the allocation phase

At present we only support two phases where devres can be used:
bind and probe. This is handled with a boolean. We want to add a new
phase (platdata), so change this to an enum.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: devres: Add tests
Simon Glass [Mon, 30 Dec 2019 04:19:26 +0000 (21:19 -0700)]
dm: devres: Add tests

The devres functionality has very few users in U-Boot, but it still should
have tests. Add a few basic tests of the main functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: test: Add a test driver for devres
Simon Glass [Mon, 30 Dec 2019 04:19:25 +0000 (21:19 -0700)]
dm: test: Add a test driver for devres

Add a driver which does devres allocations so that we can write tests for
devres.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: devres: Convert to use logging
Simon Glass [Mon, 30 Dec 2019 04:19:24 +0000 (21:19 -0700)]
dm: devres: Convert to use logging

At present when CONFIG_DEBUG_DEVRES is enabled, U-Boot prints log messages
to the console with every devres allocation/free event. This causes most
tests to fail since the console output is not as expected.

In particular this prevents us from adding a device to sandbox which uses
devres in its bind method.

Move devres over to use U-Boot's logging feature instead, and add a new
category for devres.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agotest: Add functions to find the amount of allocated memory
Simon Glass [Mon, 30 Dec 2019 04:19:23 +0000 (21:19 -0700)]
test: Add functions to find the amount of allocated memory

The malloc() implementations provides a way of finding out the approximate
amount of memory that is allocated. Add helper functions to make it easier
to access this and see changes over time. This is useful for tests that
want to check if memory has been allocated or freed.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: devres: Create a new devres header file
Simon Glass [Mon, 30 Dec 2019 04:19:22 +0000 (21:19 -0700)]
dm: devres: Create a new devres header file

At present these functions are lumped in with the core device functions.
They have their own #ifdef to control their availability, so it seems
better to split them out.

Move them into their own header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Add a new flag to track platform data
Simon Glass [Mon, 30 Dec 2019 04:19:21 +0000 (21:19 -0700)]
dm: core: Add a new flag to track platform data

We want to avoid allocating platform data twice. This could happen if
device_probe() is called after device_ofdata_to_platdata() for the same
device.

Add a flag to track whether device_ofdata_to_platdata() has been called on
a device. Check the flag to make sure it doesn't happen twice, and clear
the flag when the data is freed.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Export a new function to read platdata
Simon Glass [Mon, 30 Dec 2019 04:19:20 +0000 (21:19 -0700)]
dm: core: Export a new function to read platdata

Add a new internal function, device_ofdata_to_platdata() to handle
allocating private space associated with each device and reading the
platform data from the device tree.

Call this new function from device_probe().

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Add a comment for DM_FLAG_OF_PLATDATA
Simon Glass [Mon, 30 Dec 2019 04:19:19 +0000 (21:19 -0700)]
dm: core: Add a comment for DM_FLAG_OF_PLATDATA

This flag is missing a comment. Add one.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Allocate parent data separate from probing parent
Simon Glass [Mon, 30 Dec 2019 04:19:18 +0000 (21:19 -0700)]
dm: core: Allocate parent data separate from probing parent

At present the parent is probed before the child's ofdata_to_platdata()
method is called. Adjust the logic slightly so that probing parents is
not done until afterwards.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Move ofdata_to_platdata() call earlier
Simon Glass [Mon, 30 Dec 2019 04:19:17 +0000 (21:19 -0700)]
dm: core: Move ofdata_to_platdata() call earlier

This method is supposed to extract platform data from the device tree. It
should be done before the device itself is probed. Move it earlier in the
device_probe() function.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Don't clear active flag twice when probe() fails
Simon Glass [Mon, 30 Dec 2019 04:19:16 +0000 (21:19 -0700)]
dm: core: Don't clear active flag twice when probe() fails

Remove this duplicated code, since the 'fail' label does this immediately.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoaspeed: ast2500: Read clock ofdata in the correct method
Simon Glass [Mon, 30 Dec 2019 04:19:15 +0000 (21:19 -0700)]
aspeed: ast2500: Read clock ofdata in the correct method

At present the clock driver reads its ofdata in the probe() method. This
is not correct although it is often harmless.

However in this case it causes a problem, something like this:

- ast_get_scu() is called (from somewhere) to get the SCI address
- this probes the clock
   - first sets up ofdata (which does nothing at present)
   - DM marks clock device as active
   - DM calls pinctrl
      - pinctrl probes and calls ast_get_scu() in ast2500_pinctrl_probe()
      - ast_get_scu() probes the clock, but sees it already marked as
           probed
      - ast_get_scu() accesses the clock's private data, with scu as NULL
   - DM calls clock probe function ast2500_clk_probe() which reads scu

By putting the read of scu into the correct method, scu is read as part of
ofdata setup, and everything is OK.

Note: This problem did not matter until now since DM always probed all
parents before reading a child's ofdata. The fact that pinctrl is a child
of clock seems to trigger this strange bug.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
4 years agopci: Print a warning if the bus is accessed before probing
Simon Glass [Mon, 30 Dec 2019 04:19:14 +0000 (21:19 -0700)]
pci: Print a warning if the bus is accessed before probing

It is not possible to access a device on a PCI bus that has not yet been
probed, since the bus number is not known. Add a warning to catch this
error.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agox86: apl: Avoid accessing the PCI bus before it is probed
Simon Glass [Mon, 30 Dec 2019 04:19:13 +0000 (21:19 -0700)]
x86: apl: Avoid accessing the PCI bus before it is probed

The PCI bus is not actually probed by the time the ofdata_to_platdata()
method is called since that happens in the uclass's post_probe() method.
Update the PMC and P2SB drivers to access the bus in its probe() method.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agousb: Drop use of BUG_ON() and WARN_ON()
Simon Glass [Mon, 30 Dec 2019 04:19:12 +0000 (21:19 -0700)]
usb: Drop use of BUG_ON() and WARN_ON()

These macros use __FILE__ which inserts the full path of the object file
into U-Boot, thus increasing file size. Drop these usages.

An older version of this patch was submitted here:

http://patchwork.ozlabs.org/patch/1205784/

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agodm: core: Use assert_noisy() in devres
Simon Glass [Mon, 30 Dec 2019 04:19:11 +0000 (21:19 -0700)]
dm: core: Use assert_noisy() in devres

Use this macros instead of the linux ones, as the output is smaller.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Add a noisy assert()
Simon Glass [Mon, 30 Dec 2019 04:19:10 +0000 (21:19 -0700)]
common: Add a noisy assert()

Some U-Boot code uses BUG_ON() and WARN_ON() macros. These use __FILE__
which can include quite a large path, depending on how U-Boot is built.

The existing assert() is only checked if DEBUG is enabled. Add a new one
which is always checked, and prints a (smaller) error in that case.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoMerge tag 'u-boot-imx-20200107' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Tue, 7 Jan 2020 13:45:43 +0000 (08:45 -0500)]
Merge tag 'u-boot-imx-20200107' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

New for 2020.04
---------------

- New boards
Embedded Artists COM board
Xea Board
- Switch to DM:
Aristainetos boards
Toradex colibri (DM_ETH)
iCubox
GE bx50v3
mx7dsabre (DM_ETH)
cx9020
- New features:
Bootaux with elf files
Default SYS_THUMB_BUILD for i.MX6/7
- Fixes:
DHCOM i.MX6 PDK
Engicam
i.MX8M tools (imx8m_image)

Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/633679664

4 years agoMerge tag 'u-boot-atmel-2020.04-a' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Tue, 7 Jan 2020 13:44:56 +0000 (08:44 -0500)]
Merge tag 'u-boot-atmel-2020.04-a' of https://gitlab.denx.de/u-boot/custodians/u-boot-atmel

First set of u-boot-atmel features for 2020.04 cycle

This feature set is a patch series from Tudor Ambarus which includes
parsing of the spi flash SFDP parser for SST flashes, and using those
tables to retrieve unique saved per device MAC address. This is then
used as base mac address on the SAMA5D2 Wireless SOM EK board.

4 years agoARM: mxs: spl_boot.c: make early_delay more robust
Rasmus Villemoes [Tue, 10 Sep 2019 08:32:01 +0000 (08:32 +0000)]
ARM: mxs: spl_boot.c: make early_delay more robust

It's true that booting normally doesn't take long enough for the
register to roll (which actually happens in a little over an hour, not
just a few seconds). However, the counter starts at power-on, and if
the board is held in reset to be booted over USB, one actually risks
hitting wrap-around during boot, which can both result in too short
delays (if the "st += delay" calculation makes st small) and
theoretically also unbound delays (if st ends up being UINT_MAX and
one just misses sampling digctl_microseconds at that point).

It doesn't take more code to DTRT, and once bitten, twice shy.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoARM: dts: imx6qdl-icore-1.5: Remove duplicate phy reset methods
Michael Trimarchi [Mon, 30 Dec 2019 12:04:08 +0000 (17:34 +0530)]
ARM: dts: imx6qdl-icore-1.5: Remove duplicate phy reset methods

Engicam i.CoreM6 1.5 Quad/Dual MIPI dtsi is reusing fec node
from Engicam i.CoreM6 dtsi but have sampe copy of phy-reset-gpio
and phy-mode properties.

So, drop this phy reset methods from imx6qdl-icore-1.5 dsti file.

Cc: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL
Jagan Teki [Mon, 30 Dec 2019 12:04:07 +0000 (17:34 +0530)]
ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL

The EDIMM STARTER KIT i.Core 1.5 MIPI Evaluation is based on
the 1.5 version of the i.Core MX6 cpu module. The 1.5 version
differs from the original one for a few details, including the
ethernet PHY interface clock provider.

With this commit, the ethernet interface works properly:
SMSC LAN8710/LAN8720 2188000.ethernet-1:00: attached PHY driver

While before using the 1.5 version, ethernet failed to startup
do to un-clocked PHY interface:
fec 2188000.ethernet eth0: could not attach to PHY

Similar fix has merged for i.Core MX6Q but missed to update for DL.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoARM: dts: icorem6: Sync engicam device trees from v5.4
Jagan Teki [Mon, 30 Dec 2019 12:04:06 +0000 (17:34 +0530)]
ARM: dts: icorem6: Sync engicam device trees from v5.4

Sync Engicam device tree file from v5.4 linux-next.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoconfigs: imx6-engicam: Drop fec phy address and mode
Michael Trimarchi [Mon, 30 Dec 2019 12:04:04 +0000 (17:34 +0530)]
configs: imx6-engicam: Drop fec phy address and mode

Now all the fec related phy properties are now accessible
via dts. So drop the explicit config items from common
config file, imx6-engicam.h

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoboard: engicam: Fix the ethernet clock initialization
Michael Trimarchi [Mon, 30 Dec 2019 12:04:03 +0000 (17:34 +0530)]
board: engicam: Fix the ethernet clock initialization

According to the SOM and reference board the clock
can be taken from the external pin or provided from
ENET_REF_CLK. Add a new function that make the proper
set according the board type.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoboard: engicam: Cleanup fdt file and board mapping
Michael Trimarchi [Mon, 30 Dec 2019 12:04:02 +0000 (17:34 +0530)]
board: engicam: Cleanup fdt file and board mapping

Make easy to map fdt file to board in order to use
this information later to apply specific change to
specific board combination.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoarm: mxs: be more careful when enabling gpmi_clk
Rasmus Villemoes [Thu, 12 Sep 2019 09:17:11 +0000 (09:17 +0000)]
arm: mxs: be more careful when enabling gpmi_clk

The data sheet says that the DIV field cannot change while the CLKGATE
bit is set or modified. So do it a little more carefully, by first
clearing the bit, waiting for that to appear, then setting the DIV
field.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoarm: mxs: fix comments in arch_cpu_init to match the code
Rasmus Villemoes [Thu, 12 Sep 2019 09:17:10 +0000 (09:17 +0000)]
arm: mxs: fix comments in arch_cpu_init to match the code

The comment says to clear the bypass bit, but in fact it sets it, thus
selecting ref_xtal. And the next line of code does not set the divider
to 12, but to (the reset value of) 1.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoarm: mxs: fix register definitions for clkctrl_gpmi and clkctrl_sspX
Rasmus Villemoes [Thu, 12 Sep 2019 09:17:09 +0000 (09:17 +0000)]
arm: mxs: fix register definitions for clkctrl_gpmi and clkctrl_sspX

I tried clearing a bit by writing to hw_clkctrl_gpmi_clr, then
busy-waiting for it to actually clear. My board hung. The data sheet
agrees, these registers do not have _set, _clr, _tog, so fix up the
definitions. git grep -E 'clkctrl_(gpmi|ssp[0-9])_' says that nobody
uses those non-existing ops registers.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoimx8mm_evk: Adjust the environment for booting a mainline kernel
Fabio Estevam [Mon, 16 Dec 2019 19:09:22 +0000 (16:09 -0300)]
imx8mm_evk: Adjust the environment for booting a mainline kernel

Adjust the environment for booting a mainline kernel by default.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomach-imx: nandbcb: improve cmd help
Igor Opaniuk [Mon, 16 Dec 2019 12:06:44 +0000 (14:06 +0200)]
mach-imx: nandbcb: improve cmd help

Add info about supported i.MX7, improve details the usage of
bcbonly subcommand.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agomx6slevk: Fix the pmic_get() parameter in the DM case
Fabio Estevam [Fri, 20 Dec 2019 17:59:28 +0000 (14:59 -0300)]
mx6slevk: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly.

Reported-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx6sllevk: Fix the pmic_get() parameter in the DM case
Fabio Estevam [Fri, 20 Dec 2019 17:59:27 +0000 (14:59 -0300)]
mx6sllevk: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly.

Reported-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx7dsabresd: Fix the pmic_get() parameter in the DM case
Fabio Estevam [Fri, 20 Dec 2019 17:59:26 +0000 (14:59 -0300)]
mx7dsabresd: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly.

Reported-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agoddr: imx8m: Return error values from LPDDR4 training
Frieder Schrempf [Wed, 11 Dec 2019 10:01:19 +0000 (10:01 +0000)]
ddr: imx8m: Return error values from LPDDR4 training

In cases when the same SPL should run on boards with i.MX8MM, that
differ in DDR configuration, it is necessary to try different
parameters and check if the training done by the firmware suceeds or
not.

Therefore we return the DDR training/initialization success to the
upper layer in order to be able to retry with different settings if
necessary.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 years agotools: imx8m_image: Change source path for DDR firmware to build dir
Frieder Schrempf [Wed, 11 Dec 2019 10:06:06 +0000 (10:06 +0000)]
tools: imx8m_image: Change source path for DDR firmware to build dir

The DDR firmware binaries are not part of the U-Boot source code, so
we should look for them in the build directory, where they need to be
copied to before building U-Boot.

The ATF binary is already fetched from the build directory, but the
README files for the i.MX8M EVKs claim that it needs to be copied to
the source directory (which is still true for in-tree builds, but not
in general). Therefore we also fix the READMEs to use the build
directory as the correct location for all additional binary files.

Sined-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 years agoarm: imx: Default to SYS_THUMB_BUILD for i.MX6/7
Tom Rini [Tue, 3 Dec 2019 14:28:03 +0000 (09:28 -0500)]
arm: imx: Default to SYS_THUMB_BUILD for i.MX6/7

In the case of i.MX6 and i.MX7 family SoCs it is safe (from an errata
point of view) to use thumb2 by default to save space.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agomach-imx: bootaux: elf firmware support
Igor Opaniuk [Mon, 30 Dec 2019 11:56:44 +0000 (13:56 +0200)]
mach-imx: bootaux: elf firmware support

Currently imx-specific bootaux command doesn't support ELF format
firmware for Cortex-M4 core.

This patches introduces a PoC implementation of handling elf firmware
(load_elf_image_phdr() was copy-pasted from elf.c just for PoC).
ELF64 binaries isn't supported yet.

This has the advantage that the user does not need to know to which
address the binary has been linked to. However, in order to handle
and load the elf sections to the right address, we need to translate the
Cortex-M4 core memory addresses to primary/host CPU memory
addresses (Cortex A7/A9 cores).

This allows to boot firmwares from any location with just using
bootaux, e.g.:
> tftp ${loadaddr} hello_world.elf && bootaux ${loadaddr}

Similar translation table can be found in the Linux remoteproc
driver [1].

[1] https://elixir.bootlin.com/linux/latest/source/drivers/remoteproc/imx_rproc.c

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri_imx7: migrate to DM_ETH
Igor Opaniuk [Mon, 4 Nov 2019 10:12:04 +0000 (11:12 +0100)]
colibri_imx7: migrate to DM_ETH

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoARM: dts: imx7: imx7_colibri: introduce fec node
Igor Opaniuk [Mon, 4 Nov 2019 10:12:03 +0000 (11:12 +0100)]
ARM: dts: imx7: imx7_colibri: introduce fec node

Sync DTS with the mainline Linux and introduce fec node and
regulator configuration for rn5t567 PMU.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoapalis_imx6: migrate to DM_ETH
Igor Opaniuk [Mon, 4 Nov 2019 10:12:02 +0000 (11:12 +0100)]
apalis_imx6: migrate to DM_ETH

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoARM: dts: imx6_apalis: introduce fec node
Igor Opaniuk [Mon, 4 Nov 2019 10:12:01 +0000 (11:12 +0100)]
ARM: dts: imx6_apalis: introduce fec node

Sync DTS with the mainline Linux and introduce fec node.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri_imx6: migrate to DM_ETH
Igor Opaniuk [Mon, 4 Nov 2019 10:12:00 +0000 (11:12 +0100)]
colibri_imx6: migrate to DM_ETH

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoARM: dts: imx6_colibri: introduce fec node
Igor Opaniuk [Mon, 4 Nov 2019 10:11:59 +0000 (11:11 +0100)]
ARM: dts: imx6_colibri: introduce fec node

Sync DTS with the mainline Linux and introduce fec node.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoMAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers
Igor Opaniuk [Mon, 4 Nov 2019 11:56:53 +0000 (12:56 +0100)]
MAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers

Take over maintainership for colibri_imx6/imx6ull/t30/vf modules.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
4 years agoMAINTAINERS: change apalis_imx6/colibri_imx6 maintainers
Igor Opaniuk [Mon, 4 Nov 2019 11:56:52 +0000 (12:56 +0100)]
MAINTAINERS: change apalis_imx6/colibri_imx6 maintainers

Take over maintainership for apalis_imx6 and colibri_imx6 modules.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
4 years agomx7dsabre: Remove warning about DM_SPI_FLASH
Joris Offouga [Sun, 8 Dec 2019 17:02:28 +0000 (18:02 +0100)]
mx7dsabre: Remove warning about DM_SPI_FLASH

This defconfig doesn't need it.

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
4 years agomx7dsabre: Convert to distroboot support
Joris Offouga [Sun, 8 Dec 2019 17:02:31 +0000 (18:02 +0100)]
mx7dsabre: Convert to distroboot support

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
4 years agomx7dsabre: Enable DM_ETH
Joris Offouga [Sun, 8 Dec 2019 17:02:30 +0000 (18:02 +0100)]
mx7dsabre: Enable DM_ETH

Also sync device tree with v5.5-rc1
Signed-off-by: Joris Offouga <offougajoris@gmail.com>
4 years agomx7ulp: Add support for Embedded Artists COM board
Fabio Estevam [Mon, 9 Dec 2019 13:43:03 +0000 (10:43 -0300)]
mx7ulp: Add support for Embedded Artists COM board

The Embedded Artists COM board is based on NXP i.MX7ULP.

It has a BD70528 PMIC from Rohm with discrete DCDC powering option and
improved current observability (compared to the existing NXP i.MX7ULP EVK).

Add the initial support for the board.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agocolibri_vf: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:32 +0000 (12:33 +0200)]
colibri_vf: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx
> run update_uboot

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx6ull: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:31 +0000 (12:33 +0200)]
colibri-imx6ull: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx
> run update_uboot

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx6: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:30 +0000 (12:33 +0200)]
colibri_imx6: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

> tftpboot ${loadaddr} ${board_name}/u-boot.img
> run update_uboot
> tftpboot ${loadaddr} ${board_name}/SPL
> run update_spl

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoapalis_imx6: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:29 +0000 (12:33 +0200)]
apalis_imx6: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot.img
> run update_uboot
> tftpboot ${loadaddr} ${board_name}/SPL
> run update_spl

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:28 +0000 (12:33 +0200)]
colibri_imx7: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot-dtb.imx
> run update_uboot

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoimx: cx9020: use distro boot
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:43 +0000 (07:40 +0200)]
imx: cx9020: use distro boot

We switch from custom boot commands relying on uEnv.txt to distro boot.
This removes the automatic fpga bitstream loading in favor of loading
bitstreams via custom bootscripts (boot.scr) or after booting the
kernel.

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: cx9020: enable vidconsole by default
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:42 +0000 (07:40 +0200)]
imx: cx9020: enable vidconsole by default

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: cx9020: migrate cx9020 to CONFIG_DM_USB
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:41 +0000 (07:40 +0200)]
imx: cx9020: migrate cx9020 to CONFIG_DM_USB

Note: gpio7_8 was never used for usb power regulator so we remove it here

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: cx9020: migrate cx9020 to CONFIG_DM_ETH
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:40 +0000 (07:40 +0200)]
imx: cx9020: migrate cx9020 to CONFIG_DM_ETH

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: sync with kernel device tree for Phycore SoM
Parthiban Nallathambi [Mon, 4 Nov 2019 18:50:07 +0000 (19:50 +0100)]
imx: sync with kernel device tree for Phycore SoM

Sync the Linux Kernel 5.4-rc6 device tree for Phytec Phycore
SoM and Segin board based on imx6UL and imx6ULL.

Changes includes Phytec naming convention for the devicetree files.

Signed-off-by: Parthiban Nallathambi <parthitce@gmail.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 years agomach-imx: bootaux: add dcache flushing before enabling M4
Igor Opaniuk [Thu, 28 Nov 2019 13:56:20 +0000 (15:56 +0200)]
mach-imx: bootaux: add dcache flushing before enabling M4

This patch fixes the issue with broken bootaux command,
when M4 binary is loaded and data cache isn't flushed
before M4 core is enabled.

Reproducing:
> tftpboot ${loadaddr} ${board_name}/hello_world.bin
> cp.b ${loadaddr} 0x7F8000 $filesize
> bootaux 0x7F8000

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agomach-imx: bootaux: print stack pointer and reset vector
Igor Opaniuk [Thu, 28 Nov 2019 13:56:19 +0000 (15:56 +0200)]
mach-imx: bootaux: print stack pointer and reset vector

1. Change information printed about loaded M4 binary, print the stack
pointer and reset vector addressed.
2. Add sanity check for the address provided as param.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agopci: imx: Add iMX6SX compatible
Marek Vasut [Tue, 26 Nov 2019 08:33:29 +0000 (09:33 +0100)]
pci: imx: Add iMX6SX compatible

The driver works fine with iMX6SX, add the missing compatible string.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
4 years agoarm: imx6: cm_fx6: Enable DM SPI and SPI_FLASH, fix SPL build errors
Suniel Mahesh [Wed, 27 Nov 2019 10:47:48 +0000 (16:17 +0530)]
arm: imx6: cm_fx6: Enable DM SPI and SPI_FLASH, fix SPL build errors

Enable driver model for SPI and SPI_FLASH to remove the following
compile warning on CM-FX6 SOM:
===================== WARNING ======================
This board does not use CONFIG_DM_SPI_FLASH. Please update
the board to use CONFIG_SPI_FLASH before the v2019.07 release.
====================================================

This change introduced SPL build error as shown:

In file included from include/common.h:47:0,
                 from drivers/mtd/spi/sf_probe.c:10:
drivers/mtd/spi/sf_probe.c: In function 'spi_flash_std_probe':
drivers/mtd/spi/sf_probe.c:149:54: error: dereferencing pointer to incomplete type 'struct dm_spi_slave_platdata'
scripts/Makefile.build:278: recipe for target 'spl/drivers/mtd/spi/sf_probe.o' failed
make[3]: *** [spl/drivers/mtd/spi/sf_probe.o] Error 1
scripts/Makefile.build:432: recipe for target 'spl/drivers/mtd/spi' failed
make[2]: *** [spl/drivers/mtd/spi] Error 2

Disabling DM for SPI support(SPI and SF) in SPL resolves the issue.
Target was compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoboard: cm_fx6: Enable CONFIG_DM_ETH
Suniel Mahesh [Wed, 20 Nov 2019 09:55:01 +0000 (15:25 +0530)]
board: cm_fx6: Enable CONFIG_DM_ETH

Enable CONFIG_DM_ETH to remove compile warning on CM-FX6
SOM based target:

===================== WARNING ======================
This board does not use CONFIG_DM_ETH (Driver Model
for Ethernet drivers). Please update the board to use
CONFIG_DM_ETH before the v2020.07 release.
====================================================

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoboard: cm_fx6: Enable DM support for video, fix build error
Suniel Mahesh [Wed, 20 Nov 2019 09:55:00 +0000 (15:25 +0530)]
board: cm_fx6: Enable DM support for video, fix build error

Enable driver model for Video to remove the following
compile warning on CM-FX6 SOM based target:

===================== WARNING ======================
This board does not use CONFIG_DM_VIDEO Please update
the board to use CONFIG_DM_VIDEO before the v2019.07 release.
====================================================

This change introduced build error as shown:

LD      u-boot
drivers/built-in.o: In function ipu_displays_init'
arm-linux-ld.bfd: BFD (GNU Binutils) 2.29.1 assertion fail elf32-arm.c:9509
Makefile:1621: recipe for target 'u-boot' failed
make: *** [u-boot] Error 1

The DM converted video driver calls ipu_displays_init
in its probe, which inturn calls relevant board_video_skip.
Defining ipu_displays_init in the board file fixes build error.
Target was compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoARM: mx6: ddr: Add support for iMX6SX
Marek Vasut [Tue, 26 Nov 2019 08:34:52 +0000 (09:34 +0100)]
ARM: mx6: ddr: Add support for iMX6SX

This patch adds support for iMX6SX MMDC into the DDR calibration
code. The only difference between MX6DQ and MX6SX is that the SX
has 2 SDQS registers, while the DQ has 8.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: mx6: ddr: Configure all SDQS pullups using loop
Marek Vasut [Tue, 26 Nov 2019 08:34:51 +0000 (09:34 +0100)]
ARM: mx6: ddr: Configure all SDQS pullups using loop

Instead of explicitly setting up each SDQS register, use a loop.
No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: mx6: ddr: Factor out SDQS configuration code
Marek Vasut [Tue, 26 Nov 2019 08:34:50 +0000 (09:34 +0100)]
ARM: mx6: ddr: Factor out SDQS configuration code

Pull out the code turning SDQS pullups on and off into a separate
function, since it is replicated in two places in the code and it
is the single place in the entire function which is SoC dependent.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: mx6: ddr: Make debug prints work with tiny printf
Marek Vasut [Tue, 26 Nov 2019 08:34:49 +0000 (09:34 +0100)]
ARM: mx6: ddr: Make debug prints work with tiny printf

The %08X format returns just zeroes with tiny printf, which is
horribly confusing, especially when debugging DRAM calibration
problems. Change the format to %08x (with lowercase x), which
behaves correctly with either implementation of printf in SPL.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: imx6: DHCOM i.MX6 PDK: Enable sysreset driver and wdt command
Claudius Heine [Fri, 29 Nov 2019 07:59:03 +0000 (08:59 +0100)]
ARM: imx6: DHCOM i.MX6 PDK: Enable sysreset driver and wdt command

The SPL does not have DM enabled and therefor still needs to use the
hardware watchdog interface provided by the imx-watchdog driver.

Fixes: broken reset command after f2929d11a639 ("watchdog: imx: Use
       immediate reset bits for expire_now")

Signed-off-by: Claudius Heine <ch@denx.de>
4 years agoARM: dts: dh-imx6: add u-boot specific wdt-reboot node
Claudius Heine [Fri, 29 Nov 2019 07:59:02 +0000 (08:59 +0100)]
ARM: dts: dh-imx6: add u-boot specific wdt-reboot node

The wdt-reboot node is needed for the sysreset_watchdog driver to
register a watchdog as a reset handler in case 'CONFIG_SYSRESET' is
enabled.

Signed-off-by: Claudius Heine <ch@denx.de>
4 years agomx6cuboxi: enable OF_CONTROL with DM_MMC and DM_USB
Baruch Siach [Sun, 10 Nov 2019 12:38:07 +0000 (14:38 +0200)]
mx6cuboxi: enable OF_CONTROL with DM_MMC and DM_USB

Make first step in DT/DM migration. Enable OF_CONTROL only for the main
U-Boot image for now.

Remove mmc_init_main() because board_mmc_init() is not called when
DM_MMC is enabled.

DM_MMC requires DM_GPIO for card-detect to work. That in turn makes gpio
request mandatory. Add code to request/free gpios in platform code.

MMC devices are now numbered according to DT. The SD card is 1, and eMMC
is 2. Account for that in board_mmc_get_env_dev(), BOOT_TARGET_DEVICES,
and has_emmc().

DM_MMC requires BLK. However, the (BLK && !DM_USB) combination disables
USB_STORAGE. Enable DM_USB to preserve USB functionality. Add also
DM_REGULATORS for the USB power controller. This allows us to drop
board_ehci_hcd_init() and setup_usb().

Runtime selection of DT is necessary because of the i.MX6QD vs i.MX6SDL
incompatibility. DT selection does not rely on GPIOs, since DM_GPIO
depends on DT. Instead, we take one "fully featured" DT of each variant.
That should be enough to boot from both SD card and eMMC.

Since we don't select the exact DT, override the generic
show_board_info() that shows the selected DT 'model' field.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: dts: hummingboard: add cubox/hummingboard DT (part 2 of 2)
Baruch Siach [Sun, 10 Nov 2019 12:38:06 +0000 (14:38 +0200)]
arm: dts: hummingboard: add cubox/hummingboard DT (part 2 of 2)

These DT files are copied from kernel v5.3 with no changes.

This is part 2 of 2 commits. Included are DT files for SOM rev 1.5, and
Hummingboard2 Gate/Edge.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: dts: hummingboard: add cubox/hummingboard DT (part 1 of 2)
Baruch Siach [Sun, 10 Nov 2019 12:38:05 +0000 (14:38 +0200)]
arm: dts: hummingboard: add cubox/hummingboard DT (part 1 of 2)

These DT files are copied from kernel v5.3 with no changes.

This is part 1 of 2 commits. Included are DT files for the original
Cubox-i and Hummingboard Base/Pro.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agodt-bindings: add imx-audmux macro definitions
Baruch Siach [Sun, 10 Nov 2019 12:38:04 +0000 (14:38 +0200)]
dt-bindings: add imx-audmux macro definitions

Import fsl-imx-audmux.h from Linux as of v5.4-rc6. The header is
unchanged since v4.18.

That would make it easier to import DT files that depend on imx-audmux
definitions from the kernel tree.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoboard: ge: mx53ppd: use imx wdt
Robert Beckett [Tue, 12 Nov 2019 19:15:20 +0000 (19:15 +0000)]
board: ge: mx53ppd: use imx wdt

Enable DM imx WDT
Enable SYSRESET_WATCHDOG to maintain WDT based reset ability

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: use imx wdt
Robert Beckett [Tue, 12 Nov 2019 19:15:19 +0000 (19:15 +0000)]
board: ge: bx50v3: use imx wdt

Enable DM imx WDT
Enable SYSRESET_WATCHDOG to maintain WDT based reset ability

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: pass rtc_status via device tree
Ian Ray [Tue, 12 Nov 2019 19:15:18 +0000 (19:15 +0000)]
board: ge: pass rtc_status via device tree

Pass rtc_status via the device tree, instead of on kernel command line.
Additionally, the 2038 mitigation is reported, if applied successfully.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Enable DM for PCI and ethernet
Denis Zalevskiy [Tue, 12 Nov 2019 19:15:17 +0000 (19:15 +0000)]
board: ge: bx50v3: Enable DM for PCI and ethernet

DM for PCI pulls DM for ethernet that also needs other changes described
below to build u-boot and keep existing functionality - ability to update
MAC addresses of FEC ethernet adapter and I210 adapter connected to the
Marvell switch.

- fec_mxc driver with DM needs PHYLIB;

- configuration items are moved from ge_bx50v3.h to ge_bx50v3_defconfig;

- FEC is marked as eth0 because it is always present, so indices changed:
  I210 are still probed in the same order;

- board_eth_init() was used by legacy ethernet, setup for enet iomux and
  pcie is moved to the board_late_init();

- pci_init() is called from the board_late_init() to initiate PCI bus
  probing, so I210 devices are propagated to the device tree;

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com>
[Describe PHY reset in device tree]
Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoconfigs: ppd: DM for USB and regulators PPD
Denis Zalevskiy [Tue, 12 Nov 2019 19:15:16 +0000 (19:15 +0000)]
configs: ppd: DM for USB and regulators PPD

DM should be used for USB since 2019.07, it also requires DM for
regulators.

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Fix message output to video console
Ian Ray [Tue, 12 Nov 2019 19:15:15 +0000 (19:15 +0000)]
board: ge: bx50v3: Fix message output to video console

Use vidconsole for output to the LCD, now that DM_VIDEO is used.  Write
white text on a black background, like before migrating to DM_VIDEO.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Fix run-time warning
Ian Ray [Tue, 12 Nov 2019 19:15:14 +0000 (19:15 +0000)]
board: ge: bx50v3: Fix run-time warning

Fix GPIO reservation warning on code paths that do not need LVDS power.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoconfigs: bx50v3: Fix boot hang with video
Ian Ray [Tue, 12 Nov 2019 19:15:13 +0000 (19:15 +0000)]
configs: bx50v3: Fix boot hang with video

Fixes commit: 0b09f7b15052bb419e318e38da453be46e5a13e5, which converted
to DM_VIDEO, but requires more memory.

[Inspired by 9002e735e71754a90adbb9676c0ffb1964dbc288]

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: ppd: sync device tree from Linux
Robert Beckett [Tue, 12 Nov 2019 19:15:12 +0000 (19:15 +0000)]
board: ge: ppd: sync device tree from Linux

Copy device tree from linux for PPD.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: sync devicetrees from Linux
Robert Beckett [Tue, 12 Nov 2019 19:15:11 +0000 (19:15 +0000)]
board: ge: bx50v3: sync devicetrees from Linux

Copy device trees from linux, keeping them as separate files for
each board to ease future sync.

Update board code to use generic bx50v3 dt initially, then select
the specific dt based on board detection.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoimx: Add support for i.MX28 based XEA board
Lukasz Majewski [Sun, 8 Dec 2019 21:06:56 +0000 (22:06 +0100)]
imx: Add support for i.MX28 based XEA board

This patch introduces support for i.MX28 based XEA board.

This board supports DM/DTS in U-Boot proper as well as DM aware drivers
in SPL (u-boot.sb) by using OF_PLATDATA.
More detailed information regarding usage of it can be found in
./board/liebherr/xea/README file.

U-Boot SPL 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200)
Trying to boot from MMC1
MMC0: Command 8 timeout (status 0xf0344020)
mmc_load_image_raw_sector: mmc block read error

U-Boot 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200)

CPU:   Freescale i.MX28 rev1.2 at 454 MHz
BOOT:  SSP SPI #3, master, 3V3 NOR
Model: Liebherr (LWE) XEA i.MX28 Board
DRAM:  128 MiB
MMC:   MXS MMC: 0
Loading Environment from SPI Flash... SF: Detected n25q128a13 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
OK
In:    serial
Out:   serial
Err:   serial
Net:
Warning: ethernet@800f0000 (eth0) using random MAC address - ce:e1:9e:46:f3:a2
eth0: ethernet@800f0000
Hit any key to stop autoboot:  0

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoimx6: aristainetos: add support for rev C board
Heiko Schocher [Sun, 1 Dec 2019 10:23:32 +0000 (11:23 +0100)]
imx6: aristainetos: add support for rev C board

add support for revision C boards. This board has
no longer a NAND.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add aristainetos 2b csl
Heiko Schocher [Sun, 1 Dec 2019 10:23:31 +0000 (11:23 +0100)]
imx6: aristainetos: add aristainetos 2b csl

add aristainetso board version CSL.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: readd aristainetos 2b board
Heiko Schocher [Sun, 1 Dec 2019 10:23:30 +0000 (11:23 +0100)]
imx6: aristainetos: readd aristainetos 2b board

readd aristainetos 2b board.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: enable HAB boot
Heiko Schocher [Sun, 1 Dec 2019 10:23:29 +0000 (11:23 +0100)]
imx6: aristainetos: enable HAB boot

enable IMX_HAB on aristianetos board

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: cleanup default Environment
Heiko Schocher [Sun, 1 Dec 2019 10:23:28 +0000 (11:23 +0100)]
imx6: aristainetos: cleanup default Environment

sync defaut Envoronment with customer changes.
Unfortunately they are not changeable, as already
board is in production mode.

Get rid of the big bootcommand and set bootcommand
through Kconfig option.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: WDT DM conversion enable WDT reset
Heiko Schocher [Sun, 1 Dec 2019 10:23:27 +0000 (11:23 +0100)]
imx6: aristainetos: WDT DM conversion enable WDT reset

enable config symbols:
CONFIG_SYSRESET
CONFIG_SYSRESET_WATCHDOG

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: cleanup bootmode settings
Heiko Schocher [Sun, 1 Dec 2019 10:23:26 +0000 (11:23 +0100)]
imx6: aristainetos: cleanup bootmode settings

on the aristainetos there are some jumpers for
changing behaviour setting up Environment. Clean
this up.

Signed-off-by: Heiko Schocher <hs@denx.de>