platform/kernel/u-boot.git
3 years agoarm64: rk3399: r4s: correct the LEDS label name
Xiaobo Tian [Tue, 6 Jul 2021 14:43:57 +0000 (22:43 +0800)]
arm64: rk3399: r4s: correct the LEDS label name

Correct the LEDS label name and remove the board type prefix,
which is actually unnecessary here, removes the redefined system status LED pin.

Signed-off-by: Xiaobo Tian <peterwillcn@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: config: evb-rk3399: add hs400 and SDMA support
Yifeng Zhao [Tue, 29 Jun 2021 08:24:43 +0000 (16:24 +0800)]
rockchip: config: evb-rk3399: add hs400 and SDMA support

This enable hs400 and SDMA support for emmc on evb-rk3399.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agommc: rockchip_sdhci: Add support for RK3568
Yifeng Zhao [Tue, 29 Jun 2021 08:24:42 +0000 (16:24 +0800)]
mmc: rockchip_sdhci: Add support for RK3568

This patch adds support for the RK3568 platform to this driver.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agommc: rockchip_sdhci: add phy and clock config for rk3399
Yifeng Zhao [Tue, 29 Jun 2021 08:24:41 +0000 (16:24 +0800)]
mmc: rockchip_sdhci: add phy and clock config for rk3399

Add clock, phy and other configuration, it is convenient to support
new controller. Here a short summary of the changes:
- Add mmc_of_parse to parse dts config.
- Remove OF_PLATDATA related code.
- Reorder header inclusion.
- Add phy ops.
- add ops set_ios_post to modify the parameters of phy when the
  clock changes.
- Add execute tuning api for hs200 tuning.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoARM: dts: rockchip: update rk3188-radxarock.dts
Johan Jonker [Fri, 25 Jun 2021 13:26:33 +0000 (15:26 +0200)]
ARM: dts: rockchip: update rk3188-radxarock.dts

In the Linux DT the file rk3xxx.dtsi is shared between
rk3066 and rk3188. Both rk3xxx.dtsi and rk3188.dtsi have recently
had some updates.
For a future rk3066 support in U-boot this file must also update.
Move U-boot specific things in a rk3188-radxarock-u-boot.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoARM: dts: rockchip: update rk3188.dtsi
Johan Jonker [Fri, 25 Jun 2021 13:26:32 +0000 (15:26 +0200)]
ARM: dts: rockchip: update rk3188.dtsi

In the Linux DT the file rk3xxx.dtsi is shared between
rk3066 and rk3188. Both rk3xxx.dtsi and rk3188.dtsi have recently
had some updates.
For a future rk3066 support in U-boot this file must also update.
Move U-boot specific things in a rk3188-u-boot.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3188-power: sync power domain dt-binding header from Linux
Johan Jonker [Fri, 25 Jun 2021 13:26:31 +0000 (15:26 +0200)]
rockchip: rk3188-power: sync power domain dt-binding header from Linux

In order to update the DT for rk3188
sync the power domain dt-binding header.
This is the state as of v5.12 in Linux.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoARM: dts: rockchip: update rk3xxx.dtsi
Johan Jonker [Fri, 25 Jun 2021 13:26:30 +0000 (15:26 +0200)]
ARM: dts: rockchip: update rk3xxx.dtsi

In the Linux DT the file rk3xxx.dtsi is shared between
rk3066 and rk3188. This file has recently had some updates.
For a future rk3066 support in U-boot this file must also update.
Move U-boot specific things in a rk3xxx-u-boot.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3188-cru-common: sync clock dt-binding header from Linux
Johan Jonker [Fri, 25 Jun 2021 13:26:29 +0000 (15:26 +0200)]
rockchip: rk3188-cru-common: sync clock dt-binding header from Linux

In order to update the DT for rk3066 and rk3188
sync the clock dt-binding header.
This is the state as of v5.12 in Linux.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agork3399: boot_devices fix spinor node name
Artem Lapkin [Wed, 26 May 2021 09:32:27 +0000 (17:32 +0800)]
rk3399: boot_devices fix spinor node name

Problem: board_spl_was_booted_from return wrong boot_devices[3] value
/spi@ff1d0000 and same-as-spl dont work properly for SPINOR flash
because arch/arm/mach-rockchip/spl-boot-order.c spl_node_to_boot_device
need parse SPINOR flash node as UCLASS_SPI_FLASH

spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
/spi@ff1d0000 > board_boot_order: could not map node @618 to a boot-device
/sdhci@fe330000 > /mmc@fe320000

Solution: just change it to /spi@ff1d0000/flash@0

spl-boot-order: same-as-spl > *** BOOT_SOURCE_ID 3 (2:emmc 3:spi 5:sd ...
/spi@ff1d0000/flash@0 > /sdhci@fe330000 > /mmc@fe320000

Signed-off-by: Artem Lapkin <art@khadas.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: Fix MMC boot order
Alex Bee [Thu, 17 Jun 2021 09:01:12 +0000 (11:01 +0200)]
rockchip: Fix MMC boot order

Basically all, i.e. rk3036.dtsi, rk3128.dtsi, rk3xxx.dtsi, rk322x.dtsi,
rk3288.dtsi, rk3308-u-boot.dtsi, rk3328-u-boot.dtsi, rk3399-u-boot.dtsi
and px30-u-boot.dtsi Rockchip SoC devicetrees which have mmc indexes
are defining eMMC as mmc0 and sdmmc as mmc1.
This means that the rule to try to boot from the SD card first is ignored,
which as per comment is what we want and is important for distros, which
rely on that.

Fix this by setting the correct mmc index, i.e. first from mmc1 (SD card),
second from mmc0 (eMMC).

Signed-off-by: Alex Bee <knaerzche@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoconfigs: Resync with savedefconfig
Tom Rini [Tue, 10 Aug 2021 19:08:46 +0000 (15:08 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoMerge tag 'u-boot-imx-20210809' of https://source.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Mon, 9 Aug 2021 13:27:26 +0000 (09:27 -0400)]
Merge tag 'u-boot-imx-20210809' of https://source.denx.de/u-boot/custodians/u-boot-imx

u-boot-imx-20210809

- new SOC: add support for imx8ulp
- Toradex fixes for colibri (vf / imx6 / imx7 / imx8x)
- convert to DM for mx28evk
- Fixes for Gateworks ventana boards

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/8639

3 years agoMerge tag 'dm-pull-8aug21' of https://source.denx.de/u-boot/custodians/u-boot-dm
Tom Rini [Mon, 9 Aug 2021 13:27:06 +0000 (09:27 -0400)]
Merge tag 'dm-pull-8aug21' of https://source.denx.de/u-boot/custodians/u-boot-dm

Use log subsystem for dm_warn()
Various minor bug fixes

3 years agoimx: cmd: use struct cmd_tbl
Peng Fan [Sat, 7 Aug 2021 08:21:34 +0000 (16:21 +0800)]
imx: cmd: use struct cmd_tbl

cmd_tbl_t is removed, need use struct cmd_tbl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx: add i.MX8ULP EVK support
Peng Fan [Sat, 7 Aug 2021 08:01:13 +0000 (16:01 +0800)]
arm: imx: add i.MX8ULP EVK support

Add i.MX8ULP EVK basic support, support SD/I2C/ENET/LPUART

Log as below: I would keep some debug info for now, and after we move
to be stable and production launch, we could drop that.

U-Boot SPL 2021.07-rc4-00164-gb800e19a6b (Jun 29 2021 - 10:23:30 +0800)
Normal Boot
upower_init: soc_id=48
upower_init: version:11.11.6
upower_init: start uPower RAM service
user_upwr_rdy_callb: soc=b
user_upwr_rdy_callb: RAM version:12.6
Turn on switches ok
Turn on memories ok
Clear DDR retention ok
Poll for freq_chg_req on SIM register and change to F1 frequency.
Poll for freq_chg_req on SIM register and change to F0 frequency.
Poll for freq_chg_req on SIM register and change to F1 frequency.
Poll for freq_chg_req on SIM register and change to F2 frequency.
Poll for freq_chg_req on SIM register and change to F1 frequency.
Poll for freq_chg_req on SIM register and change to F2 frequency.
complete
De-Skew PLL is locked and ready
WDT:   Not found!
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
Load image from 0x3a800 by ROM_API
NOTICE:  BL31: v2.4(release):imx_5.10.35_2.0.0_imx8ulp_er-10-gf37e59b94
NOTICE:  BL31: Built : 01:56:58, Jun 29 2021
NOTICE:  upower_init: start uPower RAM service
NOTICE:  user_upwr_rdy_callb: soc=b
NOTICE:  user_upwr_rdy_callb: RAM version:12.6

U-Boot 2021.07-rc4-00164-gb800e19a6b (Jun 29 2021 - 10:23:30 +0800)

CPU:   Freescale i.MX8ULP rev1.0 at 744 MHz
Reset cause: POR
Boot mode: Single boot
Model: FSL i.MX8ULP EVK
DRAM:  2 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 2
Loading Environment from MMC... ***
Warning - bad CRC, using default environment

In:    serial@293a0000
Out:   serial@293a0000
Err:   serial@293a0000
Net:
Warning: ethernet@29950000 (eth0) using random MAC address -
96:35:88:62:e0:44
eth0: ethernet@29950000
Hit any key to stop autoboot:  0

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: dts: add i.MX8ULP dtsi
Peng Fan [Sat, 7 Aug 2021 08:01:12 +0000 (16:01 +0800)]
arm: dts: add i.MX8ULP dtsi

Add i.MX8ULP dtsi

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoddr: Add DDR driver for iMX8ULP
Ye Li [Sat, 7 Aug 2021 08:01:11 +0000 (16:01 +0800)]
ddr: Add DDR driver for iMX8ULP

Add iMX8ULP DDR initialization driver which loads the DDR timing
parameters and executes the training procedure.

When enabling IMX8ULP_DRAM_PHY_PLL_BYPASS, using PHY PLL bypass mode
to do DDR init

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoimx8ulp: add upower api support
Peng Fan [Sat, 7 Aug 2021 08:01:10 +0000 (16:01 +0800)]
imx8ulp: add upower api support

Add upower api support, this is modified from upower firmware exported
package.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoimx8ulp: move struct mu_type to common header
Peng Fan [Sat, 7 Aug 2021 08:01:09 +0000 (16:01 +0800)]
imx8ulp: move struct mu_type to common header

Move struct mu_type to common header to make it reusable by upower and
S400

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoimx8ulp: Add workaround for eMMC boot
Ye Li [Sat, 7 Aug 2021 08:01:08 +0000 (16:01 +0800)]
imx8ulp: Add workaround for eMMC boot

When booting from boot part1/2, the image offset should be 0, but
ROM has a bug to return 0x8000. Has to workaround the issue before
ROM fix it.

Use a ROM function to know boot from emmc boot part or user part
So we can set the image offset accordingly.

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoimx8ulp: Use DGO_GP5 to get boot config
Ye Li [Sat, 7 Aug 2021 08:01:07 +0000 (16:01 +0800)]
imx8ulp: Use DGO_GP5 to get boot config

Since CMC1 MR0 only reflects high 16 bits boot cfg used for AP domian,
it does not connect to low 16 bits for RTD. So we can't get the correct
boot mode.
Change to use DGO_GP5 of SEC_SIM which is set by ROM.

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoimx8ulp: soc: correct reset cause
Peng Fan [Sat, 7 Aug 2021 08:01:06 +0000 (16:01 +0800)]
imx8ulp: soc: correct reset cause

The CMC1 SRS reflects the current reset cause, not SSRS.

Then you could get "Reset cause: WARM-WDG" when issue reset in U-Boot.

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agodriver: misc: imx8ulp: Add fuse driver for imx8ulp
Ye Li [Sat, 7 Aug 2021 08:01:05 +0000 (16:01 +0800)]
driver: misc: imx8ulp: Add fuse driver for imx8ulp

This driver uses FSB to read some fuses, but not support program fuse.
It only works in SPL (secure mode), u-boot needs traps to ATF to
read them.

Some fuses can read from S400 API and others are from FSB.
Also support program some fuses via S400 API

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoarm: imx8ulp: add iomuxc support
Peng Fan [Sat, 7 Aug 2021 08:01:04 +0000 (16:01 +0800)]
arm: imx8ulp: add iomuxc support

Add i.MX8ULP iomuxc support

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: add dummy imx_get_mac_from_fuse
Peng Fan [Sat, 7 Aug 2021 08:01:03 +0000 (16:01 +0800)]
arm: imx8ulp: add dummy imx_get_mac_from_fuse

Add imx_get_mac_from_fuse for enet build pass

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: Allocate DCNANO and MIPI_DSI to AD domain
Ye Li [Sat, 7 Aug 2021 08:01:02 +0000 (16:01 +0800)]
arm: imx8ulp: Allocate DCNANO and MIPI_DSI to AD domain

Configure DCNANO and MIPI_DSI to be controlled by AD for single boot

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: iMX8ULP: Add boot device relevant functions
Ye Li [Sat, 7 Aug 2021 08:01:01 +0000 (16:01 +0800)]
arm: iMX8ULP: Add boot device relevant functions

Read from ROM API to get current boot device.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: Probe the S400 MU device in arch init
Ye Li [Sat, 7 Aug 2021 08:01:00 +0000 (16:01 +0800)]
arm: imx8ulp: Probe the S400 MU device in arch init

Need probe the S400 MU device in arch_cpu_init_dm, so we can use
S400 API in u-boot

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoimx8ulp: unify rdc functions
Peng Fan [Sat, 7 Aug 2021 08:00:59 +0000 (16:00 +0800)]
imx8ulp: unify rdc functions

Unify rdc function to rdc.c
Update soc.c to use new rdc function

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: release trdc and assign lpav from RTD to APD
Peng Fan [Sat, 7 Aug 2021 08:00:58 +0000 (16:00 +0800)]
arm: imx8ulp: release trdc and assign lpav from RTD to APD

Rlease LPAV from RTD to APD
Release gpu2D/3D to APD
Set TRDC MBC2 MEM1 for iomuxc0 access
Since upower depends AP/M33 SW to configure IOMUX for its PMIC i2c
and MODE pins. we have to open iomuxc0 access for A35 core (domain 7)
in single boot.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoarm: imx8ulp: add trdc release request
Peng Fan [Sat, 7 Aug 2021 08:00:57 +0000 (16:00 +0800)]
arm: imx8ulp: add trdc release request

Add TRDC release request, then we could configure resources to be
accessible by A35 Domain.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: add rdc support
Peng Fan [Sat, 7 Aug 2021 08:00:56 +0000 (16:00 +0800)]
arm: imx8ulp: add rdc support

There is xrdc inside i.MX8ULP, we need to configure permission to make
sure AP non-secure world could access the resources.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: release and configure XRDC at early phase
Ye Li [Sat, 7 Aug 2021 08:00:55 +0000 (16:00 +0800)]
arm: imx8ulp: release and configure XRDC at early phase

Since S400 will set the memory of SPL image to R/X. We can't write
to any data in SPL image.

1. Set the parameters save/restore only for u-boot, not for SPL. to
   avoid write data.
2. Not use MU DM driver but directly call MU API to send release XRDC
   to S400 at early phase.
3. Configure the SPL image memory of SRAM2 to writable (R/W/X)

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agodrivers: misc: s400_api: Update API for fuse read and write
Ye Li [Sat, 7 Aug 2021 08:00:54 +0000 (16:00 +0800)]
drivers: misc: s400_api: Update API for fuse read and write

Add API to support fuse read and write

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agodrivers: misc: imx8ulp: Update S400 API for release RDC
Ye Li [Sat, 7 Aug 2021 08:00:53 +0000 (16:00 +0800)]
drivers: misc: imx8ulp: Update S400 API for release RDC

The RDC API is updated to add a field for XRDC or TRDC

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agodrivers: misc: imx8ulp: Add S400 API for image authentication
Ye Li [Sat, 7 Aug 2021 08:00:52 +0000 (16:00 +0800)]
drivers: misc: imx8ulp: Add S400 API for image authentication

Add S400 API for image authentication

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agodrivers: misc: s400_api: Update S400_SUCCESS_IND to 0xd6
Ye Li [Sat, 7 Aug 2021 08:00:51 +0000 (16:00 +0800)]
drivers: misc: s400_api: Update S400_SUCCESS_IND to 0xd6

According to latest S400 API doc, the the success indicate value is
changed to 0xd6. So update the driver codes.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: Update the reset vector in u-boot
Ye Li [Sat, 7 Aug 2021 08:00:50 +0000 (16:00 +0800)]
arm: imx8ulp: Update the reset vector in u-boot

Because we have set reset vector to ATF in SPL, have to set it back
to ROM for any reset in u-boot

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: disable wdog3
Peng Fan [Sat, 7 Aug 2021 08:00:49 +0000 (16:00 +0800)]
arm: imx8ulp: disable wdog3

Disable wdog3 which is configured by ROM

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: Enable full L2 cache in SPL
Ye Li [Sat, 7 Aug 2021 08:00:48 +0000 (16:00 +0800)]
arm: imx8ulp: Enable full L2 cache in SPL

SRAM2 is half L2 cache and default to SRAM after system boot.
To enable the full l2 cache (512KB), it needs to reset A35 to make
the change happen.

So re-implement the jump entry function in SPL:
1. configure the core0 reset vector to entry (ATF)
2. enable the L2 full cache
3. reset A35
So when core0 up, it runs into ATF. And we have 512KB L2 cache working.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: soc: Change to use CMC1 to get bootcfg
Ye Li [Sat, 7 Aug 2021 08:00:47 +0000 (16:00 +0800)]
arm: imx8ulp: soc: Change to use CMC1 to get bootcfg

CMC1 also has a MR register for bootcfg

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agodrivers: mmc: fsl_esdhc_imx: support i.MX8ULP
Peng Fan [Sat, 7 Aug 2021 08:00:46 +0000 (16:00 +0800)]
drivers: mmc: fsl_esdhc_imx: support i.MX8ULP

i.MX8ULP reuse same SDHC IP as i.MX8M, so follow i.MX8M code logic.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: add clock support
Peng Fan [Sat, 7 Aug 2021 08:00:45 +0000 (16:00 +0800)]
arm: imx8ulp: add clock support

Add i.MX8ULP clock support

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agodriver: serial: fsl_lpuart: support i.MX8ULP
Peng Fan [Sat, 7 Aug 2021 08:00:44 +0000 (16:00 +0800)]
driver: serial: fsl_lpuart: support i.MX8ULP

i.MX8ULP lpuart has same register layout as i.MX7ULP and i.MX8

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agopinctrl: Add pinctrl driver for imx8ulp
Ye Li [Sat, 7 Aug 2021 08:00:43 +0000 (16:00 +0800)]
pinctrl: Add pinctrl driver for imx8ulp

Add pinctrl driver for i.MX8ULP

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agonet: fec_mxc: support i.MX8ULP
Peng Fan [Sat, 7 Aug 2021 08:00:42 +0000 (16:00 +0800)]
net: fec_mxc: support i.MX8ULP

Support i.MX8ULP in fec_mxc

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
3 years agodriver: misc: Add MU and S400 API to communicate with Sentinel
Ye Li [Sat, 7 Aug 2021 08:00:41 +0000 (16:00 +0800)]
driver: misc: Add MU and S400 API to communicate with Sentinel

Add MU driver and S400 API. Need enable MISC driver to work

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoarm: imx: move container Kconfig under mach-imx
Peng Fan [Sat, 7 Aug 2021 08:00:40 +0000 (16:00 +0800)]
arm: imx: move container Kconfig under mach-imx

Since i.MX8 and i.MX8ULP reuse common container, so move the Kconfig
public to both.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: add container support
Ye Li [Sat, 7 Aug 2021 08:00:39 +0000 (16:00 +0800)]
arm: imx8ulp: add container support

i.MX8ULP support using ROM API to load container image,
it use same ROM API as i.MX8MN/MP, and use same container format
as i.MX8QM/QXP.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx: parse-container: guard included header files
Peng Fan [Sat, 7 Aug 2021 08:00:38 +0000 (16:00 +0800)]
arm: imx: parse-container: guard included header files

Guard included sci.h with CONFIG_AHAB_BOOT to avoid build failure
for i.MX8ULP

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8: Move container image header file to mach-imx
Ye Li [Sat, 7 Aug 2021 08:00:37 +0000 (16:00 +0800)]
arm: imx8: Move container image header file to mach-imx

Since the container is shared among i.MX platforms, move its header file
to mach-imx

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8: Move container parser and image to mach-imx common folder
Ye Li [Sat, 7 Aug 2021 08:00:36 +0000 (16:00 +0800)]
arm: imx8: Move container parser and image to mach-imx common folder

Since we will re-use the container parser on imx8ulp, move the codes
to mach-imx

Signed-off-by: Ye Li <ye.li@nxp.com>
3 years agoarm: imx: basic i.MX8ULP support
Peng Fan [Sat, 7 Aug 2021 08:00:35 +0000 (16:00 +0800)]
arm: imx: basic i.MX8ULP support

Add basic i.MX8ULP support

For the MMU part, Using a simple way the calculate the MMU size to avoid
default heavy calcaulation. And align address and size in the table
settings to 2MB or 4GB as much as possible. So we can reduce the 4K page
allocations in MMU table which will spends much time in create the
page table

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoimx: imx8ulp: add get reset cause
Peng Fan [Sat, 7 Aug 2021 08:00:34 +0000 (16:00 +0800)]
imx: imx8ulp: add get reset cause

Add get reset cause function to show what triggerred reset.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx8ulp: support print cpu info
Peng Fan [Sat, 7 Aug 2021 08:00:33 +0000 (16:00 +0800)]
arm: imx8ulp: support print cpu info

Support print cpu info. the clock function has not been added, it will
be added in following patches.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx: sys_proto: move boot mode define to common header
Peng Fan [Sat, 7 Aug 2021 08:00:32 +0000 (16:00 +0800)]
arm: imx: sys_proto: move boot mode define to common header

These defines could be reused by i.MX8ULP, so move them
to common header.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx: add i.MX8ULP cpu type and helper
Peng Fan [Sat, 7 Aug 2021 08:00:31 +0000 (16:00 +0800)]
arm: imx: add i.MX8ULP cpu type and helper

Add i.MX8ULP cpu type and helpers.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoarm: imx: add i.MX8ULP basic Kconfig option
Peng Fan [Sat, 7 Aug 2021 08:00:30 +0000 (16:00 +0800)]
arm: imx: add i.MX8ULP basic Kconfig option

Add i.MX8ULP related basic Kconfig option, which will be used later.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 years agoboard: gateworks: venice: add board model to dt
Tim Harvey [Tue, 27 Jul 2021 22:19:40 +0000 (15:19 -0700)]
board: gateworks: venice: add board model to dt

Add the specific board model from EEPROM config to the device-tree to
make it easier to access from Linux userspace.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoconfigs: imx8mm_venice_defconfig: remove unused SPL features
Tim Harvey [Tue, 27 Jul 2021 22:19:33 +0000 (15:19 -0700)]
configs: imx8mm_venice_defconfig: remove unused SPL features

remove unused SPL features to shink the size of the SPL which
otherwise would no longer fit into IMX8M Mini OCRAM.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agomx28evk: Convert to driver model
Fabio Estevam [Thu, 18 Feb 2021 02:39:28 +0000 (23:39 -0300)]
mx28evk: Convert to driver model

Make the conversion to driver model as it is mandatory.

Successfully tested booting Linux from the SD card.

Dropped support for networking and splash screen as these need
to be properly converted to DM and tested.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
3 years agoboard: ge: bx50v3: Add PCIe reset to DT
Sebastian Reichel [Wed, 4 Aug 2021 16:22:54 +0000 (18:22 +0200)]
board: ge: bx50v3: Add PCIe reset to DT

Add PCIe reset gpio to the Bx50v3 devicetree and get get rid of
CONFIG_PCIE_IMX_PERST_GPIO.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
3 years agomx7dsabresd: Select CONFIG_IMX_HAB
Fabio Estevam [Fri, 30 Jul 2021 00:24:58 +0000 (21:24 -0300)]
mx7dsabresd: Select CONFIG_IMX_HAB

Select CONFIG_IMX_HAB so that the "hab_status" command
becomes available, which is useful for checking if the
chip has been correctly setup to run in secure boot mode.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
3 years agoboard: gateworks: venice: add imx8mm-gw7902 support
Tim Harvey [Tue, 27 Jul 2021 22:19:41 +0000 (15:19 -0700)]
board: gateworks: venice: add imx8mm-gw7902 support

The GW7902 is based on the i.MX 8M Mini / Nano SoC featuring:
- LPDDR4 DRAM
- eMMC FLASH
- Gateworks System Controller
- LTE CAT M1 modem
- USB 2.0 HUB
- M.2 Socket with USB2.0, PCIe, and dual-SIM
- IMX8M FEC
- PCIe based GbE
- RS232/RS485/RS422 serial transceiver
- GPS
- CAN bus
- WiFi / Bluetooth
- MIPI header (DSI/CSI/GPIO/PWM/I2S)
- PMIC

Do the following to add support for it:
- add dts
- add PMIC config

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoboard: gateworks: venice: add board model/serial# to env
Tim Harvey [Tue, 27 Jul 2021 22:19:39 +0000 (15:19 -0700)]
board: gateworks: venice: add board model/serial# to env

Add board model/serial# strings to env. Move the creation of the strings
to gsc_read() and the display of the info into gsc_info() so they are
available to U-Boot proper.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoboard: gateworks: venice: use bus numbers vs names
Tim Harvey [Tue, 27 Jul 2021 22:19:38 +0000 (15:19 -0700)]
board: gateworks: venice: use bus numbers vs names

replace looking up i2c bus name by bus number and define bus numbers and
eeprom address with #defines.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoboard: gateworks: venice: get mem size from dt
Tim Harvey [Tue, 27 Jul 2021 22:19:37 +0000 (15:19 -0700)]
board: gateworks: venice: get mem size from dt

Get mem size from dt which SPL updated per EEPROM config.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoarm: dts: imx8mm-venice-gw7901: use common u-boot dtsi
Tim Harvey [Tue, 27 Jul 2021 22:19:36 +0000 (15:19 -0700)]
arm: dts: imx8mm-venice-gw7901: use common u-boot dtsi

Use the common imx8mm-u-boot.dtsi

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoarm: dts: imx8mm-venice-gw700x: fix fifo-depth phy props
Tim Harvey [Tue, 27 Jul 2021 22:19:35 +0000 (15:19 -0700)]
arm: dts: imx8mm-venice-gw700x: fix fifo-depth phy props

Replace the deprecated 'tx-fifo-depth' and 'rx-fifo-depth' properties
not supported by U-Boot drivers/net/phy/dp83867.c with the proper
'ti,fifo-depth' property.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoarm: dts: imx8mm-venice-gw71xx: fix USB OTG VBUS
Tim Harvey [Tue, 27 Jul 2021 22:19:34 +0000 (15:19 -0700)]
arm: dts: imx8mm-venice-gw71xx: fix USB OTG VBUS

The GW71xx has a USB Type-C connector with USB 2.0 signaling. GPIO1_12
is the power-enable to the TPS25821 Source controller and power switch
responsible for monitoring the CC pins and enabling VBUS. Therefore
GPIO1_12 must always be enabled and the vbus output enable from the
IMX8MM can be ignored.

To fix USB OTG VBUS enable a pull-up on GPIO1_12 to always power the
TPS25821 and change the regulator output to GPIO1_10 which is
unconnected.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agowarp: Use the correct symbol for CONFIG_IMX_HAB
Fabio Estevam [Mon, 26 Jul 2021 19:01:48 +0000 (16:01 -0300)]
warp: Use the correct symbol for CONFIG_IMX_HAB

The intention of commit d714a75fd4dc ("imx: replace CONFIG_SECURE_BOOT
with CONFIG_IMX_HAB") was to convert from CONFIG_SECURE_BOOT to
CONFIG_IMX_HAB, but it replaced with an extra "_" character.

Fix it by using the correct CONFIG_IMX_HAB symbol.

Fixes: d714a75fd4dc ("imx: replace CONFIG_SECURE_BOOT with CONFIG_IMX_HAB")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
3 years agoimx: ventana: add support for GW54xx-G revision
Tim Harvey [Sat, 24 Jul 2021 17:40:46 +0000 (10:40 -0700)]
imx: ventana: add support for GW54xx-G revision

The GW54xx-G revision has the foolowing changes:
 - replaces the EOL GbE PHY with an updated part (requires an enable pin)
 - replaces the EOL analog video decoder with an updated part
   (requires dt prop)
 - add power control to miniPCIe socket

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: add support for GW53xx-G revision
Tim Harvey [Sat, 24 Jul 2021 17:40:45 +0000 (10:40 -0700)]
imx: ventana: add support for GW53xx-G revision

The GW53xx-G revision has the foolowing changes:
 - replaces the EOL GbE PHY with an updated part (requires an enable pin)
 - replaces the EOL analog video decoder with an updated part
   (requires dt prop)
 - add power control to miniPCIe socket

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: add GW5913 support
Tim Harvey [Sat, 24 Jul 2021 17:40:44 +0000 (10:40 -0700)]
imx: ventana: add GW5913 support

The GW5913 is a Single Board Computer based on the NXP i.MX6Q/DL SoC
with the following features:
 - DDR3 DRAM
 - NAND FLASH (256MiB or 2048MiB)
 - Gateworks System Periperhal Controller
 - front panel LED's
 - front panel pushbutton
 - Digital I/O connector (I2C/GPIO/UART)
 - u-blox Zoe-M8Q GPS
 - 1x RJ45 GbE
 - 1x MiniPCIe socket with PCIe USB 2.0 and nanoSIM socket
 - Passive PoE and wide-range DC power supply

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: add GW5912 support
Tim Harvey [Sat, 24 Jul 2021 17:40:43 +0000 (10:40 -0700)]
imx: ventana: add GW5912 support

The GW5912 is a Single Board Computer based on the NXP i.MX6Q/DL SoC
with the following features:
 - DDR3 DRAM
 - NAND FLASH (256MiB or 2048MiB)
 - microSD socket
 - Gateworks System Periperhal Controller
 - front panel LED's
 - front panel pushbutton
 - RS232 connector (2x UARTs)
 - CAN/RS485 connector
 - Digital I/O connector (I2C/GPIO)
 - SPI connector
 - u-blox Zoe-M8Q GPS
 - LIS2DE12 Accellerometer
 - 1x FEC GbE RJ45 with 802.3at Active PoE
 - 1x PCI GbE RJ45 with Passive PoE
 - 5x MiniPCIe socket with PCIe/USB 2.0
 - 1x MiniPCIe socket with PCIe/USB 2.0 and SIM socket
 - Aux power input with wide-range DC power supply

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: add GW5910 support
Tim Harvey [Sat, 24 Jul 2021 17:40:42 +0000 (10:40 -0700)]
imx: ventana: add GW5910 support

The GW5910 is a Single Board Computer based on the NXP i.MX6Q/DL SoC
with the following features:
 - DDR3 DRAM
 - NAND FLASH (256MiB or 2048MiB)
 - microSD socket
 - Gateworks System Periperhal Controller
 - front panel LED's
 - front panel pushbutton
 - RS232 connector (2x UARTs)
 - Digital I/O connector (I2C/GPIO)
 - SPI connector
 - u-blox Zoe-M8Q GPS
 - LIS2DE12 Accellerometer
 - TI CC1352 ARM Cortex-M4 multiprotocol sub-1GHz / 2.4GHz wireless MCU
 - On-board brcmfmac WiFi and BT module
 - RGMII RJ45 GbE
 - 1x MiniPCIe socket with PCIe/USB 2.0
 - 1x MiniPCIe socket with USB 2.0 and nanoSIM socket
 - Passive PoE and wide-range DC power supply

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: use dt for hwmon
Tim Harvey [Sat, 24 Jul 2021 17:40:41 +0000 (10:40 -0700)]
imx: ventana: use dt for hwmon

Use dt-bindings for GSC hwmon devices.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: remove hard-coded flexcan standby pin
Tim Harvey [Sat, 24 Jul 2021 17:40:40 +0000 (10:40 -0700)]
imx: ventana: remove hard-coded flexcan standby pin

Flexcan pinmux is configured in kernel dt.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: remove hard-coded analog video codec enable
Tim Harvey [Sat, 24 Jul 2021 17:40:39 +0000 (10:40 -0700)]
imx: ventana: remove hard-coded analog video codec enable

Analog video codec enable is configured in kernel dt.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: remove hard-coded USB OTG pinmux
Tim Harvey [Sat, 24 Jul 2021 17:40:38 +0000 (10:40 -0700)]
imx: ventana: remove hard-coded USB OTG pinmux

pinmux is now done via dt. Add missing OTG_OC pinmux for boards that
use it.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: remove hard-coded PCI reset
Tim Harvey [Sat, 24 Jul 2021 17:40:37 +0000 (10:40 -0700)]
imx: ventana: remove hard-coded PCI reset

PCIe reset configuration is handled via dt now.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: fix UMS support
Tim Harvey [Sat, 24 Jul 2021 17:40:36 +0000 (10:40 -0700)]
imx: ventana: fix UMS support

The Gateworks Ventana boards have always had usb0=usbh1 and usb1=usbotg
because OTG is often subloaded on these boards and a bit in the EEPROM
which flagging that OTG is subloaded is used to remove the dt node via the
alias.

U-Boot DM_USB UMS requires the usb0 alias be assigned to the usbotg
so fix the usb0 alias in order for UMS to work.

Fixes 72c46327f03f: ("imx: ventana: enable dm support for USB")

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: remove hard-coded USB HUBRST# gpio config
Tim Harvey [Sat, 24 Jul 2021 17:40:35 +0000 (10:40 -0700)]
imx: ventana: remove hard-coded USB HUBRST# gpio config

The USB HUB reset is handled via dt now.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: replace hard-coded LED config with dt based config
Tim Harvey [Sat, 24 Jul 2021 17:40:34 +0000 (10:40 -0700)]
imx: ventana: replace hard-coded LED config with dt based config

Use device-tree LED config instead of hard-coded board-specific config.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: remove nand field from common ventana struct
Tim Harvey [Sat, 24 Jul 2021 17:40:33 +0000 (10:40 -0700)]
imx: ventana: remove nand field from common ventana struct

NAND fdt fixups can be performed without knowing if NAND is present.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: move wdog/uhs-i board/revision dt fixups
Tim Harvey [Sat, 24 Jul 2021 17:40:32 +0000 (10:40 -0700)]
imx: ventana: move wdog/uhs-i board/revision dt fixups

Move board/revision specific dt fixups for WDOG and UHS-I features
so that we can call them early for U-Boot control dt as well.

Additionally drop a deprected non-mainline dt-prop fixup regarding
HDMI input format.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoimx: ventana: ignore EEPROM config when checking for NAND support
Tim Harvey [Sat, 24 Jul 2021 17:40:31 +0000 (10:40 -0700)]
imx: ventana: ignore EEPROM config when checking for NAND support

EEPROM bits no longer indicate support for NAND so instead use
hard-coded value from board config struct.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
3 years agoboard: colibri_vf: fix compiling warning
Oleksandr Suvorov [Fri, 23 Jul 2021 06:39:49 +0000 (09:39 +0300)]
board: colibri_vf: fix compiling warning

This patch fixes the following compiler warning:
=============
board/toradex/colibri_vf/colibri_vf.c: In function 'ft_board_setup':
board/toradex/colibri_vf/colibri_vf.c:436:6: warning: unused variable 'ret' [-Wunused-variable]
=============

Fixes: be3f1a56bf8 ("video: fsl_dcu_fb: add DM_VIDEO support")
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
3 years agoboard: colibri_imx6: add board_fit_config_name_match to support FIT in SPL
Ming Liu [Fri, 23 Jul 2021 06:39:48 +0000 (09:39 +0300)]
board: colibri_imx6: add board_fit_config_name_match to support FIT in SPL

Only one dtb is currently supported, so match with imx6-colibri.

Signed-off-by: Ming Liu <ming.liu@toradex.com>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
3 years agoboard: colibri-imx8x: update building documentation
Oleksandr Suvorov [Fri, 23 Jul 2021 06:39:47 +0000 (09:39 +0300)]
board: colibri-imx8x: update building documentation

Update the documentation on how to build the u-boot image for
Colibri iMX8QXP, adding support of V1.0D revision of the module.

Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
3 years agoboard: toradex: make USB PID from config block optional
Stefan Agner [Fri, 23 Jul 2021 06:39:46 +0000 (09:39 +0300)]
board: toradex: make USB PID from config block optional

If config block support is enabled, USB gadget modes unconditionally
use Toradex Product ID as USB PID. Some applications might prefer a
different and/or static USB PID. Add a Kconfig configuration option
to descide whether to use USB PID from config block or the fallback
config option CONFIG_G_DNL_PRODUCT_NUM.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
3 years agoboard: colibri_imx7: use SDP if USB serial downloader has been used
Stefan Agner [Fri, 23 Jul 2021 06:39:45 +0000 (09:39 +0300)]
board: colibri_imx7: use SDP if USB serial downloader has been used

In case USB serial downloader has been used to load U-Boot start the
serial download protocol (SDP) emulation. This allows to download
complete images such as Toradex Easy Installer over USB SDP as well.
This code uses the boot ROM provided boot information to reliably
detect USB serial downloader.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
3 years agomx6cuboxi: Fix the console variable
Fabio Estevam [Mon, 19 Jul 2021 20:15:14 +0000 (17:15 -0300)]
mx6cuboxi: Fix the console variable

Do not pass the console baudrate to the 'console' variable
to avoid the baudrate being passed twice when extlinux.conf
contains the standard: console=${console},${baudrate} format.

cat /proc/cmdline
root=PARTUUID=00000000-01 rootwait rw console=ttymxc0,115200,115200

Signed-off-by: Fabio Estevam <festevam@gmail.com>
3 years agomx6cuboxi: Fix the mmc device for the rootfs
Fabio Estevam [Mon, 19 Jul 2021 20:15:13 +0000 (17:15 -0300)]
mx6cuboxi: Fix the mmc device for the rootfs

After the conversion to DM_MMC, the rootfs becomes mmc 1, so
adjust it accordingly.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
3 years agodtoc: Correct the intarray-widening test case
Simon Glass [Mon, 2 Aug 2021 13:37:54 +0000 (07:37 -0600)]
dtoc: Correct the intarray-widening test case

This case was intended to check that widening an int array with an int
does nothing. Fix it.

Reported-by: Walter Lozano <walter.lozano@collabora.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Walter Lozano <walter.lozano@collabora.com>
3 years agopatman: Avoid blank lines between tags
Simon Glass [Sun, 1 Aug 2021 22:02:39 +0000 (16:02 -0600)]
patman: Avoid blank lines between tags

In some cases 'patman status' leaves a blank line between the sign-off
and the tags it collects from patchwork. Fix this and add a test.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodm: core: Don't allow uclass use before ready
Simon Glass [Sun, 1 Aug 2021 18:05:23 +0000 (12:05 -0600)]
dm: core: Don't allow uclass use before ready

At present it is possible to call uclass_get() before driver model is
inited. In fact this happens on x86 boards which use Intel FSPv1, since
mrccache_get_region() tries to get the SPI flash device very early
during init.

This has always been undefined behaviour. Previously it generally worked,
i.e. returned an error code without crashing, because gd->uclass_root_s
is zeroed and the uclass can be added despite driver model not being
ready, due to the way lists are implemented. With the change to use a
gd->uclass_root pointer, this no-longer works. For example, it causes a
hang on minnowmax.

Fix this by adding a check that driver model is ready when uclass_get() is
called. This function is called in the process of locating any device, so
it is a good place to add the check.

This fixes booting on minnowmax.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 8a715530bb1 ("dm: core: Allow the uclass list to move")

3 years agodm: migrate the dm_warn to use the log macro
Patrick Delaunay [Fri, 30 Jul 2021 10:13:11 +0000 (12:13 +0200)]
dm: migrate the dm_warn to use the log macro

Migrate the dm_warn function to log macro with
LOGC_DM category and LOGL_WARNING level.

This macro allows filtering with log command and allows
output on all log backend.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoRevert "arm: bootm: Disable LMB reservation for command line and board info on arm64"
Jan Kiszka [Thu, 29 Jul 2021 07:22:02 +0000 (09:22 +0200)]
Revert "arm: bootm: Disable LMB reservation for command line and board info on arm64"

This reverts commit 2359fa7a87848626bcbd3399e92c657595880cd7.

While the goal is valid and there is surely unused memory in that area,
we also have a lot of crucial things still located at the top-of-memory
while running lmb_alloc_base. Such things are the page table (tlb_addr),
relocated U-Boot and the active stack. Possibly more. So this patch was
premature, we will need relocations of those things first if we want to
use the range.

Fixes booting on the IOT2050, but likely also on other boards. It got
stuck on relocating the FDT - over the relocated U-Boot code.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>