platform/kernel/u-boot.git
5 years agoefi_loader: add RuntimeServicesSupported variable
AKASHI Takahiro [Wed, 5 Jun 2019 04:21:38 +0000 (13:21 +0900)]
efi_loader: add RuntimeServicesSupported variable

This variable is defined in UEFI specification 2.8, section 8.1.
Its value should be updated whenever we add any usable runtime services
function.

Currently we only support SetVirtualAddress() for all systems and
ResetSystem() for some.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: parameter checks SetVariable()
Heinrich Schuchardt [Wed, 12 Jun 2019 21:28:42 +0000 (23:28 +0200)]
efi_loader: parameter checks SetVariable()

Return EFI_INVALID_PARAMETER if the variable name has zero length or the
variable has runtime access but not boottime access.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agodisk: part: avoid undefined reference to `__udivmoddi4'
Heinrich Schuchardt [Sat, 1 Jun 2019 22:04:50 +0000 (00:04 +0200)]
disk: part: avoid undefined reference to `__udivmoddi4'

When compiling with FTRACE=1 an error

ld.bfd: disk/built-in.o: in function `lba512_muldiv':
disk/part.c:114: undefined reference to `__udivmoddi4

occurred.

Use '>> 11' instead of '/ 2048' to avoid the division.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: legal characters in StrToFat()
Heinrich Schuchardt [Wed, 12 Jun 2019 19:06:28 +0000 (21:06 +0200)]
efi_loader: legal characters in StrToFat()

The UEFI specification does not specify if the characters that have to be
replaced by underscore in function StrToFat() of the Unicode collation
protocol are those forbidden in FAT long names or those in FAT short names.
EDK2 and UEFI SCT assume it is those forbidden in FAT 8.3 short names.

Adjust the list of forbidden characters.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: MetaiMatch() must be case insensitive
Heinrich Schuchardt [Wed, 12 Jun 2019 17:18:24 +0000 (19:18 +0200)]
efi_loader: MetaiMatch() must be case insensitive

The MetaiMatch() service of the UnicodeCollationProtocol2 must be case
insensitive.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: AllocatePages() must accept addr == 0
Heinrich Schuchardt [Wed, 12 Jun 2019 05:17:04 +0000 (07:17 +0200)]
efi_loader: AllocatePages() must accept addr == 0

It must be possible to allocate memory at address 0 with AllocatePages().

Move a NULL pointer check.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: correct ExitBootServices()
Heinrich Schuchardt [Tue, 11 Jun 2019 18:05:40 +0000 (20:05 +0200)]
efi_loader: correct ExitBootServices()

Always use EFI_EXIT() to return from the function.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: loaded images cannot be started twice
Heinrich Schuchardt [Tue, 11 Jun 2019 17:35:20 +0000 (19:35 +0200)]
efi_loader: loaded images cannot be started twice

If an image already has been started, return EFI_INVALID_PARAMETER when
StartImage() is called for the same handle again.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: LoadImage must return EFI_NOT_FOUND
Heinrich Schuchardt [Tue, 11 Jun 2019 17:00:56 +0000 (19:00 +0200)]
efi_loader: LoadImage must return EFI_NOT_FOUND

If the file path does not relate to an existing file, LoadImage() must
return EFI_NOT_FOUND.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: LoadImage w/o SourceBuffer and DevicePath
Heinrich Schuchardt [Tue, 11 Jun 2019 16:52:33 +0000 (18:52 +0200)]
efi_loader: LoadImage w/o SourceBuffer and DevicePath

If both SourceBuffer and DevicePath are NULL, LoadImage() must return
EFI_INVALID_PARAMETER.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoMerge tag 'u-boot-amlogic-20190612' of git://git.denx.de/u-boot-amlogic
Tom Rini [Wed, 12 Jun 2019 19:28:34 +0000 (15:28 -0400)]
Merge tag 'u-boot-amlogic-20190612' of git://git.denx.de/u-boot-amlogic

- pinctrl: meson-gx: fix GPIO_TEST_N and GPIOCLK_ groups
- pinctrl: meson-gxbb: add hdmi related pins to fix HDMI on GXBB
- pinctrl: meson: add support for getting pinmux status
- pinctrl: meson-g12a: add support for drive-strength-microamp property

5 years agoMerge tag 'efi-2019-07-rc5' of git://git.denx.de/u-boot-efi
Tom Rini [Wed, 12 Jun 2019 11:15:38 +0000 (07:15 -0400)]
Merge tag 'efi-2019-07-rc5' of git://git.denx.de/u-boot-efi

Pull request for UEFI sub-system for v2019.07-rc5

This pull request provides fixes for event services.

5 years agopinctrl: meson-gxbb: add hdmi related pins
Maxime Jourdan [Tue, 4 Jun 2019 20:26:37 +0000 (22:26 +0200)]
pinctrl: meson-gxbb: add hdmi related pins

The GXBB pinctrl is missing pins related to HDMI, namely hot plug
detection (hpd) and I2C (sda + scl).

This fixes HDMI support for GXBB in u-boot.

Reported-by: Mohammad Rasim <mohammad.rasim96@gmail.com>
Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Mohammad Rasim <mohammad.rasim96@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agopinctrl: meson: g12a: add DS bank value
Guillaume La Roque [Tue, 4 Jun 2019 11:53:08 +0000 (13:53 +0200)]
pinctrl: meson: g12a: add DS bank value

add drive-strength bank regiter and bit value for G12A SoC

Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Tested-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agopinctrl: meson: add support of drive-strength-microamp
Guillaume La Roque [Tue, 4 Jun 2019 11:53:07 +0000 (13:53 +0200)]
pinctrl: meson: add support of drive-strength-microamp

drive-strength-microamp is a new feature needed for G12A SoC.
the default DS setting after boot is usually 500uA and it is not enough for
many functions. We need to be able to set the drive strength to reliably
enable things like MMC, I2C, etc ...

Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Tested-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agodm: pinctrl: Add driver-strength-microamp property
Guillaume La Roque [Tue, 4 Jun 2019 11:53:06 +0000 (13:53 +0200)]
dm: pinctrl: Add driver-strength-microamp property

Add drive-strength-microamp property support to allow drive strength in uA

Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Tested-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agopinctrl: meson-axg: add support for getting pinmux status
Neil Armstrong [Tue, 4 Jun 2019 09:04:54 +0000 (11:04 +0200)]
pinctrl: meson-axg: add support for getting pinmux status

In order to support the "pinmux status" command, use the common functions
to get the pins count and names, and add the AXG specific function to get
the current function from registers.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agopinctrl: meson-gx: add support for getting pinmux status
Neil Armstrong [Tue, 4 Jun 2019 09:04:53 +0000 (11:04 +0200)]
pinctrl: meson-gx: add support for getting pinmux status

In order to support the "pinmux status" command, use the common functions
to get the pins count and names, and add the GX specific function to get
the current function from registers.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Maxime Jourdan <mjourdan@baylibre.com>
5 years agopinctrl: meson: add common function to get pins name
Neil Armstrong [Tue, 4 Jun 2019 09:04:52 +0000 (11:04 +0200)]
pinctrl: meson: add common function to get pins name

In order to support the "pinmux status" command, add common function
to get pins count and pin name.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agopinctrl: meson-gx: fix GPIO_TEST_N and GPIOCLK_ groups
Neil Armstrong [Tue, 4 Jun 2019 09:04:51 +0000 (11:04 +0200)]
pinctrl: meson-gx: fix GPIO_TEST_N and GPIOCLK_ groups

The GPIO_TEST_N was in the wrong pmx group table, move it back with the AO
groups, GPIODV_18 was missing, add it back, and finally the GPIOCLK_*
group names were missing.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoMerge tag 'u-boot-stm32-20190606' of https://github.com/pchotard/u-boot
Tom Rini [Tue, 11 Jun 2019 21:22:22 +0000 (17:22 -0400)]
Merge tag 'u-boot-stm32-20190606' of https://github.com/pchotard/u-boot

- Add Ethernet support for STM32MP1
- Add saveenv support for STM32MP1
- Add STM32MP1 Avenger96 board support
- Add SPI driver suport for STM32MP1
- Add watchdog support for STM32MP1
- Update power supply check via USB TYPE-C for STM32MP1 discovery board

5 years agoMerge tag 'u-boot-imx-20190612' of git://git.denx.de/u-boot-imx
Tom Rini [Tue, 11 Jun 2019 17:41:24 +0000 (13:41 -0400)]
Merge tag 'u-boot-imx-20190612' of git://git.denx.de/u-boot-imx

u-boot-imx-20190612
--------------------

- Board fixes:
- imx6logic
- wandboard
- mx6sabre boots again
- imx8qm_mek
- pico-* boards
- Toradex apalis / colibri
- engicam imx6 (environment)
- KP MX53
- opos6ul
- Switch to DM:
- vining2000
- dh MX6
- Toradex colibri i.MX7
- Novena
- Security : fix CSF size for HAB
- Other:
      - imx: fix building for i.mx8 without spl
      - pcie and switch to DM

      mx6sabreauto: Enable SPL SDP support

5 years agoconfigs: tinker-rk3288 disable CONFIG_SPL_I2C_SUPPORT
Heinrich Schuchardt [Wed, 27 Feb 2019 19:05:43 +0000 (20:05 +0100)]
configs: tinker-rk3288 disable CONFIG_SPL_I2C_SUPPORT

The SPL for the Tinker Board has to fit into 32 KiB. Currently this limit
is exceeded.

CONFIG_SPL_I2C_SUPPORT is not needed to move to main U-Boot. So let's
disable it.

Suggested-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: David Wu <david.wu@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agospl: imx6: Provide a SPL_SIZE_LIMIT default
Fabio Estevam [Sat, 8 Jun 2019 17:56:44 +0000 (14:56 -0300)]
spl: imx6: Provide a SPL_SIZE_LIMIT default

As explained in include/configs/imx6_spl.h. the i.MX6 SPL
size limit is 68KB (4KB header + 64KB max size).

Provide such limit for all i.MX6 boards that use SPL
to detect SPL size overflow in build time.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agomx6sabreauto: Enable SPL SDP support
Sjoerd Simons [Tue, 4 Jun 2019 19:56:28 +0000 (21:56 +0200)]
mx6sabreauto: Enable SPL SDP support

To allow loading u-boot over USB enable SDP support in the SPL.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agomx6sabreauto: Remove CONFIG_SPL_DM to decrease the SPL size
Sjoerd Simons [Tue, 4 Jun 2019 19:56:27 +0000 (21:56 +0200)]
mx6sabreauto: Remove CONFIG_SPL_DM to decrease the SPL size

The i.mx6 SPL binary cannot be bigger then 68K, while with the current
defconfig for sabreauto it's only about 56K as soon as USB support gets
added the size will overflows.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoarm: dts: imx6qdl-u-boot: Alias usb0 to usbotg
Sjoerd Simons [Tue, 4 Jun 2019 13:49:58 +0000 (15:49 +0200)]
arm: dts: imx6qdl-u-boot: Alias usb0 to usbotg

All i.mx6 boards seems to have moved to DM_USB, however gadget support
for mx6 is still pre-DM as CI_UDC isn't converted yet. To make this work
the usb otg controller used for gadgets needs to be usb number 0.
Add an alias for this directly in the main u-boot mx6qdl dtsi so it
doesn't need to be done for each board separately.

This fixes regressions wrt. usb gadget functionality in several boards
that have gadget functions enabled in their config, but no usb0 alias in
their device-tree.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
5 years agomx6sabreauto: set SYS_MALLOC_F for video
Sjoerd Simons [Tue, 4 Jun 2019 13:49:57 +0000 (15:49 +0200)]
mx6sabreauto: set SYS_MALLOC_F for video

Sabre Auto boards currently hang with:
```
U-Boot 2019.07-rc3-00057-gc41940c406 (Jun 03 2019 - 14:42:41 +0200)

CPU:   Freescale i.MX6QP rev1.0 996 MHz (running at 792 MHz)
CPU:   Automotive temperature grade (-40C to 125C)Reset cause: WDOG
Model: Freescale i.MX6 Quad Plus SABRE Automotive Board
Board: MX6Q-Sabreauto revA
I2C:   ready
DRAM:  2 GiB
Video device 'ipu@2400000' cannot allocate frame buffer memory -ensure the device is set up before relocation
Error binding driver 'ipuv3_video': -28
Video device 'ipu@2800000' cannot allocate frame buffer memory -ensure the device is set up before relocation
Error binding driver 'ipuv3_video': -28
Some drivers failed to bind
Error binding driver 'generic_simple_bus': -28
Some drivers failed to bind
initcall sequence 8ffe00b8 failed at call 1780e93b (err=-28)
```

Set SYS_MALLOC_F_LEN to reserve_video to work.

This is similar to the change Peng Fan did for mx6sabresd (9002e735e717)

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agomx6sabreauto: Select pinctrl driver
Sjoerd Simons [Tue, 4 Jun 2019 13:49:56 +0000 (15:49 +0200)]
mx6sabreauto: Select pinctrl driver

With the conversion to DM we should select the pinctrl driver.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8mq_evk: Staticize when appropriate
Fabio Estevam [Sat, 18 May 2019 16:18:45 +0000 (13:18 -0300)]
imx8mq_evk: Staticize when appropriate

Staticize 'spl_dram_init' and 'i2c_pad_info1' to fix the
following sparse warnings:

board/freescale/imx8mq_evk/spl.c:30:6: warning: symbol 'spl_dram_init' was not declared. Should it be static?
board/freescale/imx8mq_evk/spl.c:41:22: warning: symbol 'i2c_pad_info1' was not declared. Should it be static?

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: define ARCH_MXC for i.MX8/8M/7ULP
Peng Fan [Thu, 9 May 2019 08:33:55 +0000 (08:33 +0000)]
imx: define ARCH_MXC for i.MX8/8M/7ULP

Without this definition, fsl_esdhc will access reserved registers
on i.MX chips, so define ARCH_MXC to fix it.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoimx: drop imx-regs.h
Peng Fan [Thu, 9 May 2019 08:33:52 +0000 (08:33 +0000)]
imx: drop imx-regs.h

imx-regs.h under arch-imx has no user, drop it.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agoimx8: cpu: get temperature when print cpu desc
Peng Fan [Fri, 26 Apr 2019 01:44:27 +0000 (01:44 +0000)]
imx8: cpu: get temperature when print cpu desc

Read the temperature when print cpu inforation.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agopinctrl: imx: Define imx6_pinctrl_soc_info in .data section
Lukasz Majewski [Tue, 23 Apr 2019 14:44:51 +0000 (16:44 +0200)]
pinctrl: imx: Define imx6_pinctrl_soc_info in .data section

This commit is necessary to be able to re-use the pinctrl code in early
SPL to properly configure pins.

The problem is that those "static" structures (without explicit
initialization) are placed in the SDRAM area, which corresponds to
u-boot proper (not even SPL).
Hence, when one wants to configure pins before relocation via DTS/DM,
the board hangs (imx6q SoC powered one) as only OCRAM area is available
(0x009xxxxx).

This commit prevents from this issue by moving the imx6_pinctrl_soc_info
structure to data section (from BSS).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agonet: fec_mxc: not access reserved register on i.MX8
Peng Fan [Mon, 15 Apr 2019 05:18:33 +0000 (05:18 +0000)]
net: fec_mxc: not access reserved register on i.MX8

We should not access reserved register on i.MX8, otherwise met SERROR

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoARM: imx: vining2000: Enable DM Serial
Marek Vasut [Fri, 17 May 2019 20:25:28 +0000 (22:25 +0200)]
ARM: imx: vining2000: Enable DM Serial

Enable DM Serial support on iMX6SX VINING|2000.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: vining2000: Enable DM PCI
Marek Vasut [Fri, 17 May 2019 20:25:27 +0000 (22:25 +0200)]
ARM: imx: vining2000: Enable DM PCI

Enable DM PCI support on iMX6SX VINING|2000.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: vining2000: Enable DM GPIO
Marek Vasut [Fri, 17 May 2019 20:25:26 +0000 (22:25 +0200)]
ARM: imx: vining2000: Enable DM GPIO

Enable DM GPIO support on iMX6SX VINING|2000 and fix up
board code where applicable.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: vining2000: Enable DM USB
Marek Vasut [Fri, 17 May 2019 20:25:25 +0000 (22:25 +0200)]
ARM: imx: vining2000: Enable DM USB

Enable DM USB support on iMX6SX VINING|2000.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: vining2000: Convert MMC and block to DM
Marek Vasut [Fri, 17 May 2019 20:25:24 +0000 (22:25 +0200)]
ARM: imx: vining2000: Convert MMC and block to DM

Enable DM block and DM MMC support on iMX6SX VINING|2000 .
Convert board code to match the DM support. This disables
USB mass storage support due to missing DM USB, however
that will be re-enabled in subsequent patch.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: vining2000: Enable DM pin control
Marek Vasut [Fri, 17 May 2019 20:25:23 +0000 (22:25 +0200)]
ARM: imx: vining2000: Enable DM pin control

Enable DM pin control support on iMX6SX VINING|2000.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: dts: imx: vining2000: Import VINING|2000 DT from Linux
Marek Vasut [Fri, 17 May 2019 20:25:22 +0000 (22:25 +0200)]
ARM: dts: imx: vining2000: Import VINING|2000 DT from Linux

Import iMX6SX VINING|2000 device tree from Linux 5.1.1 b724e9356404 .
Enable DT control in full U-Boot .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: Rename VINING|2000
Marek Vasut [Fri, 17 May 2019 20:25:21 +0000 (22:25 +0200)]
ARM: imx: Rename VINING|2000

The company Samtec was merged into Softing, migrate the board over to
the new name and update copyright headers.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agomx6sx: vining2000: pinmux usdhc4 reset
Christoph Fritz [Fri, 17 May 2019 19:19:31 +0000 (21:19 +0200)]
mx6sx: vining2000: pinmux usdhc4 reset

This patch configures pinmux for pin usdhc4 reset.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
5 years agoMAINTAINERS: Add imx dts files to i.MX maintainers list
Fabio Estevam [Fri, 10 May 2019 12:23:53 +0000 (09:23 -0300)]
MAINTAINERS: Add imx dts files to i.MX maintainers list

Add imx dts files to the MAINTAINERS file list, so that i.MX
devicetree related patches can be properly sent to the i.MX folks.

Reported-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoserial: mxc: Add iMX6SX compatible string
Marek Vasut [Fri, 17 May 2019 19:56:40 +0000 (21:56 +0200)]
serial: mxc: Add iMX6SX compatible string

Add compatible string for iMX6SX.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Silvio Fricke <silvio.fricke@softing.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: novena: Enable DM PCI
Marek Vasut [Fri, 17 May 2019 18:32:19 +0000 (20:32 +0200)]
ARM: imx: novena: Enable DM PCI

Enable DM PCI support on iMX6Q Novena.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agopci: imx: Add DM and DT support
Marek Vasut [Sun, 9 Jun 2019 01:50:55 +0000 (03:50 +0200)]
pci: imx: Add DM and DT support

Add DM support and support for probing the iMX PCI driver from DT.
The legacy non-DM support is retained, however shall be removed once
DM PCI is the only option remaining.

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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: imx: Pass driver private data around
Marek Vasut [Sun, 9 Jun 2019 01:50:54 +0000 (03:50 +0200)]
pci: imx: Pass driver private data around

Pass the driver private data around the driver as much as possible, instead
of having it as a static global variable. This is done in preparation for
the DM conversion, no functional change.

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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: imx: Fix potential 64bit memory access clamping
Marek Vasut [Sun, 9 Jun 2019 01:50:53 +0000 (03:50 +0200)]
pci: imx: Fix potential 64bit memory access clamping

The driver limits the config space base to 32bit, however it can be
64bit on 64bit iMX hardware too. Remove that limitation. This patch
has no impact on the iMX6, which is the only SoC currently supported
by this driver.

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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: imx: Factor out hard-coded register base addresses
Marek Vasut [Sun, 9 Jun 2019 01:50:52 +0000 (03:50 +0200)]
pci: imx: Factor out hard-coded register base addresses

Pull out hard-coded register base addresses into driver private
structure in preparation for DM conversion. No functional change.

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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoARM: imx: Call imx_pcie_remove() only for non-DM PCI driver
Marek Vasut [Sun, 9 Jun 2019 01:50:51 +0000 (03:50 +0200)]
ARM: imx: Call imx_pcie_remove() only for non-DM PCI driver

The DM iMX PCI driver has DM_FLAG_OS_PREPARE set and will call
imx_pcie_remove() from the .remove callback. Do not call it from
the architecture code again.

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>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agomx6sabresd: Remove U-Boot proper mmc initialization
Fabio Estevam [Tue, 21 May 2019 13:37:54 +0000 (10:37 -0300)]
mx6sabresd: Remove U-Boot proper mmc initialization

After the conversion to DM there is no need to have mmc initialization
code inside U-Boot proper.

Remove the unneeded code.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agomx6sabresd: Select pinctrl driver
Fabio Estevam [Tue, 21 May 2019 13:37:53 +0000 (10:37 -0300)]
mx6sabresd: Select pinctrl driver

With the conversion to DM we should select the pinctrl driver.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agomx6sabresd: Remove CONFIG_SPL_DM to decrease the SPL size
Fabio Estevam [Tue, 21 May 2019 13:37:52 +0000 (10:37 -0300)]
mx6sabresd: Remove CONFIG_SPL_DM to decrease the SPL size

Currently the mx6qsabresd board does not boot:

U-Boot SPL 2019.07-rc2 (May 16 2019 - 14:28:55 -0300)
Trying to boot from MMC1
spl: could not find mmc device 0. error: -19
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

The reason for the boot failure is that that the SPL
size got greater than the 68KB limit (4KB header + 64KB max
size) as explained in include/configs/imx6_spl.h.

Remove the CONFIG_SPL_DM option, so that the SPL binary could
fit into the allowed size and the board can boot again.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agoimx8qxp_mek: Remove unneeded config options settings
Fabio Estevam [Wed, 8 May 2019 12:02:08 +0000 (09:02 -0300)]
imx8qxp_mek: Remove unneeded config options settings

Remove such unneeded custom config options because the
provided default values are good enough.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8qm_mek: Remove unneeded config options settings
Fabio Estevam [Wed, 8 May 2019 12:02:07 +0000 (09:02 -0300)]
imx8qm_mek: Remove unneeded config options settings

Remove such unneeded custom config options because the
provided default values are good enough.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: Extend PCL063 support for phyCORE-i.MX6ULL SOM
Parthiban Nallathambi [Wed, 10 Apr 2019 14:35:32 +0000 (16:35 +0200)]
imx: Extend PCL063 support for phyCORE-i.MX6ULL SOM

Extend PHYTEC phyBOARD-i.MX6UL for phyCORE-i.MX6UL SoM (PCL063)
with eMMC on SoM.

CPU:   Freescale i.MX6ULL rev1.0 792 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 38C
Reset cause: POR
Model: Phytec phyBOARD-i.MX6ULL-Segin SBC
Board: PHYTEC phyCORE-i.MX6ULL
DRAM:  256 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
In:    serial@02020000
Out:   serial@02020000
Err:   serial@02020000
Net:   FEC0

Working:
 - Eth0
 - i2C
 - MMC/SD
 - eMMC
 - UART (1 & 5)
 - USB (host & otg)

Signed-off-by: Parthiban Nallathambi <parthitce@gmail.com>
5 years agoapalis-tk1: use UUID for rootfs
Igor Opaniuk [Wed, 29 May 2019 10:00:43 +0000 (13:00 +0300)]
apalis-tk1: use UUID for rootfs

1. Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in
a different order in U-boot and Linux kernel.
2. Fix legacy USB command (both sdboot and usbboot can be used now).

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoapalis_imx6: use UUID for rootfs
Igor Opaniuk [Wed, 29 May 2019 10:00:42 +0000 (13:00 +0300)]
apalis_imx6: use UUID for rootfs

1. Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in
a different order in U-boot and Linux kernel.
2. Fix legacy USB command (both sdboot and usbboot can be used now).

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: use UUID for rootfs
Igor Opaniuk [Wed, 29 May 2019 10:00:41 +0000 (13:00 +0300)]
colibri_vf: use UUID for rootfs

Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in
a different order in U-boot and Linux kernel.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: use UUID for rootfs
Igor Opaniuk [Wed, 29 May 2019 10:00:40 +0000 (13:00 +0300)]
colibri-imx6ull: use UUID for rootfs

Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in
a different order in U-boot and Linux kernel.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_imx7: use UUID for rootfs
Igor Opaniuk [Wed, 29 May 2019 10:00:39 +0000 (13:00 +0300)]
colibri_imx7: use UUID for rootfs

Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in
a different order in U-boot and Linux kernel.

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoboard: toradex: add apalis imx8qm 4gb wb it v1.0b module support
Marcel Ziswiler [Fri, 31 May 2019 16:00:20 +0000 (19:00 +0300)]
board: toradex: add apalis imx8qm 4gb wb it v1.0b module support

This commit adds initial support for the Toradex Apalis iMX8QM 4GB WB IT
V1.0B module. Unlike the V1.0A early access samples exclusively booting
from SD card, they are now strapped to boot from eFuses which are
factory fused to properly boot from their on-module eMMC. U-Boot
supports either booting from the on-module eMMC or may be used for
recovery purpose using the universal update utility (uuu) aka mfgtools
3.0.

Functionality wise the following is known to be working:
- eMMC, 8-bit and 4-bit MMC/SD card slots
- Gigabit Ethernet
- GPIOs
- I2C

Unfortunately, there is no USB functionality for the i.MX 8QM as of yet.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoimx8: fuse: fix fuse driver
Marcel Ziswiler [Fri, 31 May 2019 16:00:19 +0000 (19:00 +0300)]
imx8: fuse: fix fuse driver

This fixes the i.MX 8 fuse driver to actually build for i.MX 8QM as
well.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoimx8qm: fix cpu frequency reporting
Marcel Ziswiler [Fri, 31 May 2019 16:00:18 +0000 (19:00 +0300)]
imx8qm: fix cpu frequency reporting

CPU frequency reporting failed with the following error message being
printed:

sc_pm_get_clock_rate: resource:507 clk:2: res:3
Could not read CPU frequency: -22
CPU:   NXP i.MX8QM RevB A53 at 0 MHz

Fix this by differentiating between the A35 as found on the i.MX 8QXP
and the A53 as found on the i.MX 8QM SoCs.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoclk: imx8qm: fix usdhc2 clocks
Marcel Ziswiler [Fri, 31 May 2019 16:00:17 +0000 (19:00 +0300)]
clk: imx8qm: fix usdhc2 clocks

Trying to bring up uSDHC2 the following error message was observed:

MMC:   imx8_clk_set_rate(Invalid clk ID #60)
imx8_clk_set_rate(Invalid clk ID #60)
usdhc@5b030000 - probe failed: -22

This commit fixes this by properly setting resp. clocks.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoarm: dts: imx8qm: add support for i2c0, i2c1, i2c2, i2c3 and i2c4
Marcel Ziswiler [Fri, 31 May 2019 16:00:16 +0000 (19:00 +0300)]
arm: dts: imx8qm: add support for i2c0, i2c1, i2c2, i2c3 and i2c4

Add support for i2c0, i2c1, i2c2, i2c3 and i2c4.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoarm: dts: imx8qm: add lpuart1, lpuart2, lpuart3, lpuart4
Marcel Ziswiler [Fri, 31 May 2019 16:00:15 +0000 (19:00 +0300)]
arm: dts: imx8qm: add lpuart1, lpuart2, lpuart3, lpuart4

Add support for lpuart1, lpuart2, lpuart3 and lpuart4.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agopico-imx6ul: MAINTAINERS: Add pico-dwarf entry
Fabio Estevam [Fri, 26 Apr 2019 16:56:34 +0000 (13:56 -0300)]
pico-imx6ul: MAINTAINERS: Add pico-dwarf entry

pico-dwarf-imx6ul_defconfig does not have an entry in MAINTAINERS file,
so add it to avoid a build warning.

Reported-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agopico-imx6ul: MAINTAINERS: Unify all board entries
Fabio Estevam [Fri, 26 Apr 2019 16:56:33 +0000 (13:56 -0300)]
pico-imx6ul: MAINTAINERS: Unify all board entries

It is easier to consolidate all boards into a single entry.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agopico-imx7d: MAINTAINERS: Unify all board entries
Fabio Estevam [Fri, 26 Apr 2019 16:56:32 +0000 (13:56 -0300)]
pico-imx7d: MAINTAINERS: Unify all board entries

It is easier to consolidate all boards into a single entry.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agocolibri_imx7: fastboot support
Igor Opaniuk [Fri, 31 May 2019 10:19:35 +0000 (13:19 +0300)]
colibri_imx7: fastboot support

Enable fastboot support (including "fastboot oem" subset of commands).

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoARM: imx: novena: Convert to DM VIDEO
Marek Vasut [Fri, 17 May 2019 18:32:20 +0000 (20:32 +0200)]
ARM: imx: novena: Convert to DM VIDEO

Enable DM Video support on iMX6Q Novena and fix minor details
to restore previous behavior of the system.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agoARM: imx: novena: Enable DM USB
Marek Vasut [Fri, 17 May 2019 18:32:18 +0000 (20:32 +0200)]
ARM: imx: novena: Enable DM USB

Enable DM USB support on iMX6Q Novena.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agoARM: imx: novena: Convert block devices to DM
Marek Vasut [Fri, 17 May 2019 18:32:17 +0000 (20:32 +0200)]
ARM: imx: novena: Convert block devices to DM

Enable DM block, DM MMC and DM SATA support on iMX6Q Novena
convert board code to match the DM support.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agoARM: imx: novena: Enable DM GPIO
Marek Vasut [Fri, 17 May 2019 18:32:16 +0000 (20:32 +0200)]
ARM: imx: novena: Enable DM GPIO

Enable DM GPIO support on iMX6Q Novena and fix up board code
where applicable.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agoARM: imx: novena: Enable DM pin control
Marek Vasut [Fri, 17 May 2019 18:32:15 +0000 (20:32 +0200)]
ARM: imx: novena: Enable DM pin control

Enable DM pin control support on iMX6Q Novena.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agoARM: dts: imx: novena: Import Novena DT from Linux
Marek Vasut [Fri, 17 May 2019 18:32:14 +0000 (20:32 +0200)]
ARM: dts: imx: novena: Import Novena DT from Linux

Import iMX6Q Novena device tree from Linux 5.1-rc7 37624b58542f .
Enable DT control in full U-Boot .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Vagrant Cascadian <vagrant@debian.org>
5 years agopico-imx7d: enable boot without PMIC
Jun Nie [Wed, 8 May 2019 06:38:36 +0000 (14:38 +0800)]
pico-imx7d: enable boot without PMIC

If PMIC is not probed successfully, it is still OK to boot
with default configuration although power is not optimized.

Default voltage of SW1A/SW1B is 1.1V/1.0V for PC32PF3000A1EP
on pico according to table 42 of spec of PF3000 ver 9.0.

Default mode of SW1A/SW1B is APS as expected(table 47).

Signed-off-by: Jun Nie <jun.nie@linaro.org>
5 years agopico-imx7d: README: Add BL33 usage case
Jun Nie [Wed, 8 May 2019 06:38:35 +0000 (14:38 +0800)]
pico-imx7d: README: Add BL33 usage case

Add Documentation of BL33 usage case. U-boot is in
non-secure world in this case.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
5 years agopico-imx7d: Add bl33 config
Jun Nie [Wed, 8 May 2019 06:38:34 +0000 (14:38 +0800)]
pico-imx7d: Add bl33 config

Add default configuration to run u-boot as BL33 in the boot flow case
of ATF(ARM Trusted Firmware) -> OPTEE -> U-boot.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agopico-imx7d: Add boot option for verified boot
Jun Nie [Wed, 8 May 2019 06:38:33 +0000 (14:38 +0800)]
pico-imx7d: Add boot option for verified boot

Add boot option to boot from fitimage to support verified boot.
The boot script plain text file should be packed into fit blob as
image with name of bootscr.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
5 years agopico-imx7d: Reserve region of memory to OPTEE
Jun Nie [Wed, 8 May 2019 06:38:32 +0000 (14:38 +0800)]
pico-imx7d: Reserve region of memory to OPTEE

Subtracts CONFIG_OPTEE_TZDRAM_SIZE from the available DRAM size so that
the OPTEE memory is not override during u-boot relocation.

Note the OPTEE live in the end part of DRAM and OPTEE boot process will
itself subtract the DRAM region it lives in from the memory map passed
to Linux.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agopico-imx7d: Correct uart clock root
Jun Nie [Wed, 8 May 2019 06:38:31 +0000 (14:38 +0800)]
pico-imx7d: Correct uart clock root

Correct uart clock root ID. Incorrect ID may result the
clock is gated because rate value 0 is returned in
imx_get_uartclk()

The ID can be ignored if CONFIG_SKIP_LOWLEVEL_INIT is not enabled
because init_clk_uart() will enable all uart clocks in that case.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
5 years agoimx: mx7: Skip secure init in arch_cpu_init
Jun Nie [Wed, 8 May 2019 06:38:30 +0000 (14:38 +0800)]
imx: mx7: Skip secure init in arch_cpu_init

Skip secure related initialization in arch_cpu_init if low level
init is skipped.  Because these should be done in early stage
firmware, such as ARM trusted firmware.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
5 years agomx7_common: Share configs to skip low level init
Jun Nie [Wed, 8 May 2019 06:38:29 +0000 (14:38 +0800)]
mx7_common: Share configs to skip low level init

Share configs in mx7 to skip low level init if we are in the case where
OPTEE is loaded already (maybe by ARM Trusted Firmware) and that most of
the low level initialization is already done and that we may/should skip
it doing them here.

Fix the definition detection with size detection to decide whether to skip
it.

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
5 years agospi: imx: work with cs greater 0
Heiko Schocher [Sun, 26 May 2019 10:15:47 +0000 (12:15 +0200)]
spi: imx: work with cs greater 0

currently spi mxc driver can only handle cs 0.
Allow it to handle also cs > 0.

Signed-off-by: Heiko Schocher <hs@denx.de>
5 years agospi: imx: remove doubled pointer from mxc_spi_probe
Heiko Schocher [Sun, 26 May 2019 10:15:46 +0000 (12:15 +0200)]
spi: imx: remove doubled pointer from mxc_spi_probe

in mxc_spi_probe() plat and mxcs pointer are created:

struct mxc_spi_slave *plat = bus->platdata;
struct mxc_spi_slave *mxcs = dev_get_platdata(bus);

which have the same value. Remove plat pointer.

Signed-off-by: Heiko Schocher <hs@denx.de>
5 years agoarm, imx, Makefile: fix u-boot-dtb.imx build in CONFIG_MULTI_DTB_FIT case
Heiko Schocher [Tue, 28 May 2019 11:44:31 +0000 (13:44 +0200)]
arm, imx, Makefile: fix u-boot-dtb.imx build in CONFIG_MULTI_DTB_FIT case

in case CONFIG_MULTI_DTB_FIT is set and u-boot-dtb.imx
image is build, currently u-boot-dtb.bin is used for
generating the u-boot-dtb.imx binary, which is wrong, as
it contains only a dtb blob not the fit.blob

Use instead the u-boot-fit-dtb.bin for generating
u-boot-dtb.imx which contains the fit.blob.

Signed-off-by: Heiko Schocher <hs@denx.de>
5 years agowandboard: Rework Makefile to prevent spl.o from being built
Ezequiel Garcia [Sat, 25 May 2019 22:19:41 +0000 (19:19 -0300)]
wandboard: Rework Makefile to prevent spl.o from being built

The spl.c source was entirely conditioned by CONFIG_SPL_BUILD.
Change this moving CONFIG_SPL_BUILD to be used in the Makefile,
which is slightly cleaner and more readable.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
5 years agoARM: imx: dh-imx6: Convert SPI support to DM
Marek Vasut [Fri, 17 May 2019 14:58:54 +0000 (16:58 +0200)]
ARM: imx: dh-imx6: Convert SPI support to DM

Enable DM SPI and SF support on DHCOM iMX6 PDK2.
Convert board code to match the DM support.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: dh-imx6: Convert USB support to DM
Marek Vasut [Fri, 17 May 2019 14:58:53 +0000 (16:58 +0200)]
ARM: imx: dh-imx6: Convert USB support to DM

Enable DM USB host support on DHCOM iMX6 PDK2.
Convert board code to match the DM support.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: dh-imx6: Convert SATA support to DM
Marek Vasut [Fri, 17 May 2019 14:58:52 +0000 (16:58 +0200)]
ARM: imx: dh-imx6: Convert SATA support to DM

Enable DM SATA support on DHCOM iMX6 PDK2.
Convert board code to match the DM support.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: dh-imx6: Convert SD/MMC support to DM
Marek Vasut [Fri, 17 May 2019 14:58:51 +0000 (16:58 +0200)]
ARM: imx: dh-imx6: Convert SD/MMC support to DM

Enable DM block and DM MMC support on DHCOM iMX6 PDK2.
Convert board code to match the DM support.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: dh-imx6: Enable DM GPIO
Marek Vasut [Fri, 17 May 2019 14:58:50 +0000 (16:58 +0200)]
ARM: imx: dh-imx6: Enable DM GPIO

Enable DM GPIO support on DHCOM iMX6 PDK2 and fix up board code
where applicable.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: imx: dh-imx6: Enable DM pin control
Marek Vasut [Fri, 17 May 2019 14:58:49 +0000 (16:58 +0200)]
ARM: imx: dh-imx6: Enable DM pin control

Enable DM pin control support on DHCOM iMX6 PDK2.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: dts: imx: dh-imx6: Fix SPI CS polarity on DHCOM iMX6 PDK2
Marek Vasut [Fri, 17 May 2019 14:58:48 +0000 (16:58 +0200)]
ARM: dts: imx: dh-imx6: Fix SPI CS polarity on DHCOM iMX6 PDK2

The SPI nCS signal is active low, make it so.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: dts: imx: dh-imx6: Import DHCOM iMX6 PDK2 DTs from Linux
Marek Vasut [Fri, 17 May 2019 14:58:47 +0000 (16:58 +0200)]
ARM: dts: imx: dh-imx6: Import DHCOM iMX6 PDK2 DTs from Linux

Import DHCOM iMX6 PDK2 device tree from Linux 5.1.1 b724e9356404 .
Enable DT control in full U-Boot .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Ludwig Zenz <lzenz@dh-electronics.com>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoRevert "drivers/crypto/fsl: assign job-rings to non-TrustZone"
Breno Matheus Lima [Tue, 4 Jun 2019 02:54:44 +0000 (02:54 +0000)]
Revert "drivers/crypto/fsl: assign job-rings to non-TrustZone"

Commit 22191ac35344 ("drivers/crypto/fsl: assign job-rings to
 non-TrustZone") breaks HABv4 encrypted boot support in the
following i.MX devices:

- i.MX6UL
- i.MX7S
- i.MX7D
- i.MX7ULP

For preparing a HABv4 encrypted boot image it's necessary to
encapsulate the generated DEK in a blob. In devices listed
above the blob generation function takes into consideration
the Job Ring TrustZone ownership configuration (JROWN_NS)
and can be only decapsulated by the same configuration.

The ROM code expects DEK blobs encapsulated by the Secure World
environments which commonly have JROWN_NS = 0.

As U-Boot is running in Secure World we must have JROWN_NS = 0
so the blobs generated by dek_blob tool can be decapsulated
by the ROM code.

Job-rings assignment is now handled in OP-TEE OS, this commit can
be safely reverted.
https://github.com/OP-TEE/optee_os/pull/2986

This reverts commit 22191ac353445ad8fafc5a78aefcd94e78963041.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>