]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
4 years agoclk: fixed-rate: Enable DM_FLAG_PRE_RELOC flag
Michal Simek [Wed, 16 Sep 2020 11:20:55 +0000 (13:20 +0200)]
clk: fixed-rate: Enable DM_FLAG_PRE_RELOC flag

fixed-rate driver is not different from clk_fixed_factor and it is required
very early in boot that's why setup flag for it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp-r5: Increase amount of MALLOC space
Michal Simek [Wed, 16 Sep 2020 11:35:03 +0000 (13:35 +0200)]
xilinx: zynqmp-r5: Increase amount of MALLOC space

There is not enough space for early allocation. That's why increase it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agocmd: pxe: Add relocation to pxe_sub cmds
T Karthik Reddy [Wed, 16 Sep 2020 07:13:56 +0000 (01:13 -0600)]
cmd: pxe: Add relocation to pxe_sub cmds

pxe sub commands need to be manually relocated for architectures which
enables MANUAL_RELOC as Microblaze.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoxilinx: versal: Fix compilation error when !CONFIG_NET
Michal Simek [Wed, 16 Sep 2020 08:14:01 +0000 (10:14 +0200)]
xilinx: versal: Fix compilation error when !CONFIG_NET

PXE and DHCP shouldn't be listed when commands are not enabled that's why
handle it in the same way as is done for Zynq and ZynqMP.

Fixes: ec48b6c991f4 ("arm64: versal: Add support for new Xilinx Versal ACAPs")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: r5: Fix MPU setting for R5
Michal Simek [Mon, 14 Sep 2020 14:33:46 +0000 (16:33 +0200)]
xilinx: r5: Fix MPU setting for R5

Map all resource for R5 to operate properly.
The patch is done based on the commit 23f7b1a77602 ("armv7R: K3: am654:
Enable MPU regions") which also map the whole 4GB at first and then change
mapping for DDR.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: r5: Disable EFI loader
Michal Simek [Mon, 14 Sep 2020 14:27:56 +0000 (16:27 +0200)]
xilinx: r5: Disable EFI loader

Xilinx ZynqMP R5 configuration is quite minimal and there is no reason to
enable EFI for it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agospl: Kconfig: Record proper dependency for SPL_ATF
Michal Simek [Thu, 3 Sep 2020 09:23:39 +0000 (11:23 +0200)]
spl: Kconfig: Record proper dependency for SPL_ATF

ATF support was all the time based on FIT image support but this dependency
is not recorded anywhere.
For !SPL_FIT && SPL_ATF there is compilation error:
common/spl/spl.c: In function 'board_init_r':
common/spl/spl.c:689:26: error: 'struct spl_image_info' has no member named 'fdt_addr'
  689 |   spl_fixup_fdt(spl_image.fdt_addr);

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: Disable CONFIG_EFI_LOADER_BOUNCE_BUFFER for ZynqMP/Versal
Michal Simek [Tue, 8 Sep 2020 11:11:02 +0000 (13:11 +0200)]
xilinx: Disable CONFIG_EFI_LOADER_BOUNCE_BUFFER for ZynqMP/Versal

Both SOCs shouldn't have any problem with 64bit dma accesses. Also with PIE
enabled when u-boot is placed above 4GB without any memory mapped below 4GB
address space efi_memory_init() call is failing due to missing memory node.

For this two reason disable this option for ZynqMP and Versal.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agommc: zynq: Fix incorrect indentation
Michal Simek [Mon, 14 Sep 2020 11:00:40 +0000 (13:00 +0200)]
mmc: zynq: Fix incorrect indentation

Trivial fix.

Fixes: d1f4e39d58db ("mmc: zynq_sdhci: Add support for SD3.0"
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agofpga: zynqmp: Protect zynqmp_loads() for SPL
Michal Simek [Thu, 10 Sep 2020 10:57:16 +0000 (12:57 +0200)]
fpga: zynqmp: Protect zynqmp_loads() for SPL

if conditions should match.

Fixes: a18d09ea384f ("fpga: zynqmp: Add secure bitstream loading for ZynqMP")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agofpga: kconfig: Rename SPL_FPGA_SUPPORT to SPL_FPGA
Michal Simek [Wed, 9 Sep 2020 12:41:56 +0000 (14:41 +0200)]
fpga: kconfig: Rename SPL_FPGA_SUPPORT to SPL_FPGA

The patch does sed 's/SPL_FPGA_SUPPORT/SPL_FPGA/g' but also fixing Makefile
and zynqmp.c to simplify if/endif logic in zynqmp.c.

This change is mostly done to be able to use CONFIG_IS_ENABLED macro and
obj-$(CONFIG_$(SPL_)FPGA) in Makefile. For them symbols need to be in sync.

And removing one line from Topic Miami boards which is not needed because
symbol is not enabled via Kconfig.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agofpga: zynqmp: Get rid of ZYNQMP_SIP_SVC* macros
Michal Simek [Wed, 9 Sep 2020 11:25:40 +0000 (13:25 +0200)]
fpga: zynqmp: Get rid of ZYNQMP_SIP_SVC* macros

There is no need to use these macros because enum pm_api_id can be used
instead.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: common: Do not save fdt_blob to bss section
Michal Simek [Fri, 4 Sep 2020 14:21:47 +0000 (16:21 +0200)]
xilinx: common: Do not save fdt_blob to bss section

For SPL flow without specifying address for DT loading DTB is automatically
appended behind U-Boot code. Specifically _end symbol is used. Just behind
it there is place for bss section.
It means if early code is using static variable and there is a write to
this variable DTB file is corrupted if variable is located between DTB
start and end.
In this particular case offset of this variable from bss section start is
very small (0x40) that's why DT is currupted which breaks this boot flow.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoARM: zynqmp: Fix SPL_DM_SPI dependencies
Michal Simek [Wed, 19 Aug 2020 08:30:39 +0000 (10:30 +0200)]
ARM: zynqmp: Fix SPL_DM_SPI dependencies

Add missing dependencies for DM_SPI_FLASH.
Kconfig reports it as:
WARNING: unmet direct dependencies detected for SPL_DM_SPI_FLASH
  Depends on [n]: SPL [=n] && SPL_DM [=n]
  Selected by [y]:
  - ARCH_ZYNQMP [=y] && <choice> && SPL_DM_SPI [=y]

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: versal: Generate position-independent pre-relocation code
Michal Simek [Wed, 8 Jan 2020 11:36:47 +0000 (12:36 +0100)]
arm64: versal: Generate position-independent pre-relocation code

Enable position independent pre-relocation to let users options to put
u-boot to different locations.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: Add support for saving variables
Michal Simek [Thu, 30 Jul 2020 11:37:49 +0000 (13:37 +0200)]
xilinx: zynqmp: Add support for saving variables

Enabling saving variables to MMC(FAT), NAND, SPI based on primary bootmode.
Maybe that logic can be tuned for more complicated use cases and better
tested for different bootmodes.

Tested on zcu104 to SD(FAT) and JTAG(NOWHERE).

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: Get zynqmp_get_bootmode() out of CONFIG_BOARD_LATE_INIT
Michal Simek [Thu, 20 Aug 2020 08:54:45 +0000 (10:54 +0200)]
xilinx: zynqmp: Get zynqmp_get_bootmode() out of CONFIG_BOARD_LATE_INIT

This function will be also used by different code.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: Remove one static variable
Michal Simek [Wed, 5 Aug 2020 10:41:35 +0000 (12:41 +0200)]
xilinx: zynqmp: Remove one static variable

There is no reason to have name variable saved in BSS section when it
doesn't need to be really used. That's why remove static from variable
definition and use strdup() to duplicate string with exact size from malloc
area instead.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: Add missing 43/46/47dr ID codes
Michal Simek [Fri, 11 Sep 2020 07:22:15 +0000 (09:22 +0200)]
xilinx: zynqmp: Add missing 43/46/47dr ID codes

Add support for 43/46/47dr devices.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: zynqmp: refactor silicon name function
Ibai Erkiaga [Tue, 4 Aug 2020 22:17:31 +0000 (23:17 +0100)]
xilinx: zynqmp: refactor silicon name function

Current algorithm used to get the silicon name is bit complicated and
hard to follow. Updated to use more straightforward mechanism based on
the Device ID code table (Table 1-2). The full IDCODE register is used
(except device revision bits [31:28]) to get the device name and IDCODE2
value is used for identifying the variant.

Additionally to make the algorithm bit more clear it also save some space
as the devices table is slightly bit smaller.

Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: versal: Enable AXI ethernet driver
Ashok Reddy Soma [Thu, 13 Aug 2020 09:42:56 +0000 (03:42 -0600)]
xilinx: versal: Enable AXI ethernet driver

Enable AXI ethernet driver for Versal platforms.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonet: xilinx: axi_emac: Typecast flush_cache arguments
Ashok Reddy Soma [Thu, 3 Sep 2020 14:36:44 +0000 (08:36 -0600)]
net: xilinx: axi_emac: Typecast flush_cache arguments

flush_cache() arguments are not type casted to take care of 64 bit
systems. Use phys_addr_t to type cast for it to work properly for 32 bit
and 64 bit systems.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
4 years agonet: xilinx: axi_emac: Fix dma descriptors for 64bit and compilation warnings
Ashok Reddy Soma [Thu, 3 Sep 2020 14:36:43 +0000 (08:36 -0600)]
net: xilinx: axi_emac: Fix dma descriptors for 64bit and compilation warnings

There are compilation warnings showing up when we compile AXI ethernet
driver for 64bit architectures. Fix them, so that it works on both 32
and 64 bit architectures.

DMA descriptors are not taking care of 64bit addresses. To fix it,
change axidma_bd members as below:

next ==> next_desc
reserverd1 ==> next_desc_msb
phys ==> buf_addr
reserverd2 ==> buf_addr_msb

and update next_desc and buf_addr with lower 32 bits of the addresses,
update next_desc_msb and buf_addr_msb with upper 32 bits of the 64bit
addresses.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
4 years agoinclude: dt-bindings: Add MSCC header
Harini Katakam [Tue, 8 Sep 2020 09:52:36 +0000 (15:22 +0530)]
include: dt-bindings: Add MSCC header

Add MSCC header with delay definitions for VSC8531 and associated
family devices.

Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Change bl2_plat_get_bl31_params() guarding
Michal Simek [Thu, 3 Sep 2020 08:47:49 +0000 (10:47 +0200)]
arm64: zynqmp: Change bl2_plat_get_bl31_params() guarding

It was protected just for SPL_OS_BOOT but this function is only called when
SPL_ATF is enabled that's why change macro name.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonand: Kconfig: Change dependency for NAND_ARASAN
Michal Simek [Wed, 19 Aug 2020 07:59:52 +0000 (09:59 +0200)]
nand: Kconfig: Change dependency for NAND_ARASAN

NAND_ARASAN selecting DM_MTD uunconditionally. Driver can be enabled with
!DM that's why Kconfig it showing it as error:

WARNING: unmet direct dependencies detected for DM_MTD
  Depends on [n]: DM [=n]
  Selected by [y]:
  - NAND_ARASAN [=y] && MTD_RAW_NAND [=y]

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoarm64: zynqmp: Correct value of shunt resistor for VCCINT and VCC_SOC
Saeed Nowshadi [Tue, 4 Aug 2020 06:24:05 +0000 (23:24 -0700)]
arm64: zynqmp: Correct value of shunt resistor for VCCINT and VCC_SOC

Value of shunt resistor for INA226s that monitor VCCINT and VCC_SOC power
rails are incorrect.  This patch corrects those values.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
4 years agoarm64: zynqmp: Add device tree node for 2nd mux on I2C1 bus
Saeed Nowshadi [Tue, 4 Aug 2020 06:24:04 +0000 (23:24 -0700)]
arm64: zynqmp: Add device tree node for 2nd mux on I2C1 bus

There is 2nd pca9548 mux on I2C1 bus that controls SFP0, SFP1, and QSFP1
ports. Channel 0 and 1 are connected to J287 connector for SFP0 & SFP1, and
channel 2 is connected to J288 connector for QSFP1.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: Enable uartlite driver for Versal/ZynqMP
T Karthik Reddy [Fri, 14 Aug 2020 09:02:17 +0000 (03:02 -0600)]
xilinx: Enable uartlite driver for Versal/ZynqMP

Add CONFIG_XILINX_UARTLITE config to versal/zynqmp defconfig to
enable uartlite driver support by default.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoserial: uartlite: Add support to work with any endianness
T Karthik Reddy [Fri, 14 Aug 2020 09:02:15 +0000 (03:02 -0600)]
serial: uartlite: Add support to work with any endianness

This endinness changes are taken from linux uartlite driver.
Reset TX fifo in control register and check TX fifo empty
flag in lower byte of the status register to detect if it
is a little endian system. Based on this check, program the
registers with le32 or be32 through out the driver.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoconfigs: xilinx: Enable configs required for ubifs
Ashok Reddy Soma [Thu, 20 Aug 2020 10:51:38 +0000 (04:51 -0600)]
configs: xilinx: Enable configs required for ubifs

Enable required configs for using ubifs in uboot.

UBIFS testing procedure from u-boot:
Let's say we have two partitions in dt as below and want to format
partition1 "images" with ubifs.

partition@0 {
label = "boot";
reg = <0x0 0x1000000>;
};

partition@1 {
label = "images";
reg = <0x1000000 0x7000000>;
};

We will format the partition from linux and copy some files and access
from uboot later.
First thing, in linux config disable CONFIG_MTD_SPI_NOR_USE_4K_SECTORS.
this is required as ubifs expects min LEB size as 15*1024 bytes.

Use below commands in linux to format "images" partition with ubifs.

ubiformat /dev/mtd1
ubiattach /dev/ubi_ctrl -m 1
ubimkvol /dev/ubi0 -N images -m
mount -t ubifs ubi0:images /mnt

We can copy files to /mnt and unmount it.

To access this ubifs partition from uboot, run below commands.
(Don't forget to probe device before, e.g. sf probe 0 0 0)

setenv mtdids "nor0=nor0"
setenv mtdparts "mtdparts=nor0:16m(boot),112m(images)"
ubi part images
ubifsmount ubi0:images

make sure we match "mtdparts" to whatever is given in dt w.r.t partition
sizes.

"mtdparts" command will list the mtd partitions in u-boot.

Once ubifs is mounted, we can use "ubifsls" to list the files in that
partition and use "ubifsload <addr> <filename>" to load files from ubifs
partition to DDR.

Reading information about mtd layout from DT is not supported.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agomicroblaze: Add support for little/big endian in/out api's
T Karthik Reddy [Fri, 21 Aug 2020 04:35:33 +0000 (22:35 -0600)]
microblaze: Add support for little/big endian in/out api's

Add read/write memory utilities for 16 and 32 bits. Add these
api's for both little and big endian systems similar to arm
architecture.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoboard: xilinx: Enable changing default DTB pick up address
Michal Simek [Thu, 20 Aug 2020 12:02:47 +0000 (14:02 +0200)]
board: xilinx: Enable changing default DTB pick up address

U-Boot on xilinx boards is checking one address where DTB can be placed as
the first location for DTB. Originally this code was developed for Versal
where QEMU was putting generated DTB for U-Boot to use.
The patch enables changing this address which is necessary for cases where
default address is pointing to location (DDR) which is not present. The
access to this location can cause exception.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: kconfig: Move sourcing of board Kconfig to mach folders
Michal Simek [Thu, 27 Aug 2020 13:34:11 +0000 (15:34 +0200)]
xilinx: kconfig: Move sourcing of board Kconfig to mach folders

Do not source xilinx board Kconfig by other boards. These configs should be
available only when Xilinx platforms are selected.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: kconfig: Change Kconfig dependencies for Xilinx drivers
Michal Simek [Mon, 24 Aug 2020 12:41:51 +0000 (14:41 +0200)]
xilinx: kconfig: Change Kconfig dependencies for Xilinx drivers

Zynq/ZynqMP/Versal IPs should be possible to called also from Microblaze in
PL and vice versa. That's why change dependencies and do not limit enabling
just for some platforms.

This is follow up patch based on commit 664e16ce99a0 ("xilinx: kconfig:
Change Kconfig dependencies for Xilinx drivers").

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoenv: kconfig: Add default option for ARCH_ZYNQ
Michal Simek [Mon, 24 Aug 2020 11:35:53 +0000 (13:35 +0200)]
env: kconfig: Add default option for ARCH_ZYNQ

Zynq is similar to ZynqMP u-boot feature wise that's why also enable
default option for ENV_FAT_DEVICE_AND_PART Kconfig entry.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonet: gem: Add support for more PHYs on MDIO bus
Michal Simek [Mon, 30 May 2016 08:43:11 +0000 (10:43 +0200)]
net: gem: Add support for more PHYs on MDIO bus

Find out MDIO bus and enable MDIO access to it if this is done via
different GEM controller. Only works across GEM instances.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: drivers: Use '_' instead of '-' in driver name
Michal Simek [Tue, 7 Jan 2020 07:50:34 +0000 (08:50 +0100)]
xilinx: drivers: Use '_' instead of '-' in driver name

The most of drivers are using '_' instead of '-' in driver name. That's why
sync up these names to be aligned. It looks quite bad to see both in use.
It is visible via dm tree command.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoarm64: Add support for larger PIE U-Boot
Edgar E. Iglesias [Wed, 9 Sep 2020 17:07:26 +0000 (19:07 +0200)]
arm64: Add support for larger PIE U-Boot

Linking a U-Boot larger than 1MB fails with PIE enabled:
u-boot/arch/arm/cpu/armv8/start.S:71:(.text+0x3c): relocation
truncated to fit: R_AARCH64_ADR_PREL_LO21 against symbol `__rel_dyn_end'
defined in .bss_start section in u-boot.

This extends the supported range by using adrp & add to load symbols
early while starting up.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: Trap PIE builds early if load address is not 4K aligned
Edgar E. Iglesias [Wed, 9 Sep 2020 17:07:25 +0000 (19:07 +0200)]
arm64: Trap PIE builds early if load address is not 4K aligned

PIE requires a 4K aligned load address. If this is not met, trap
the startup sequence in a WFI loop rather than running into obscure
failures.

Tested-by: Michal Simek <michal.simek@xilinx.com>
Suggested-by: André Przywara <andre.przywara@arm.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: Mention 4K aligned load addresses in the PIE Kconfig help
Edgar E. Iglesias [Wed, 9 Sep 2020 17:07:24 +0000 (19:07 +0200)]
arm64: Mention 4K aligned load addresses in the PIE Kconfig help

Mention the requirement of 4K aligned load addresses in the
help section for the POSITION_INDEPENDENT option.

Suggested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoPrepare v2020.10-rc5
Tom Rini [Mon, 21 Sep 2020 17:45:23 +0000 (13:45 -0400)]
Prepare v2020.10-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 21 Sep 2020 17:45:07 +0000 (13:45 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Mon, 21 Sep 2020 15:01:07 +0000 (11:01 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Several ACPI bug fixes
- Intel edison: Move config SYS_MALLOC_LEN to Kconfig
- Use "emmc" in ApolloLake FSP devicetree bindings

4 years agox86: acpi: Add memset to initialize SPCR table
Wolfgang Wallner [Wed, 16 Sep 2020 14:57:53 +0000 (16:57 +0200)]
x86: acpi: Add memset to initialize SPCR table

Add a missing memset to acpi_create_spcr().

The other acpi_create_xxxx() functions perform a memset on their
structures, acpi_create_spcr() does not and as a result the contents of
this table are partly uninitialized (and thus random after every reset).

Fixes: b288cd960072 ("x86: acpi: Generate SPCR table")
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix the tags format in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: acpi: Fix calculation of DSDT length
Wolfgang Wallner [Wed, 16 Sep 2020 14:57:52 +0000 (16:57 +0200)]
x86: acpi: Fix calculation of DSDT length

Currently, the calculation for the length of the DSDT table includes any
bytes that are added for alignment, but those bytes are not initialized.

This is because the DSDT length is calculated after a call to
acpi_inc_align(). Split this up into the following sequence:

  * acpi_inc()
  * Calculate DSDT length
  * acpi_align()

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: fsp: Replace e-mmc with emmc in devicetree bindings
Wolfgang Wallner [Fri, 11 Sep 2020 14:52:28 +0000 (16:52 +0200)]
x86: fsp: Replace e-mmc with emmc in devicetree bindings

The term eMMC is used inconsistently within the FSP devicetree
bindings (e-mmc and emmc), especially for "emmc-host-max-speed"
documentation and code disagree.

Change all eMMC instances within the FSP bindings to consistently
use "emmc". The term "emmc" is already used a lot within U-Boot,
while "e-mmc" is only used in the FSP bindings.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: correct one typo in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocmd: acpi: Print revisions in hex format
Andy Shevchenko [Mon, 21 Sep 2020 08:34:21 +0000 (11:34 +0300)]
cmd: acpi: Print revisions in hex format

The revisions are usually dates in hex-decimal format representing
YYYYmmdd. Print them in hex to see this clearly.

Before:
  ...
  FACP 000e5420 0000f4 (v06 U-BOOT U-BOOTBL 538970376 INTL 0)
  DSDT 000e4780 000ba0 (v02 U-BOOT U-BOOTBL 65536 INTL 538968870)
  ...
After:
  ...
  FACP 000e5420 0000f4 (v06 U-BOOT U-BOOTBL 20200908 INTL 0)
  DSDT 000e4780 000ba0 (v02 U-BOOT U-BOOTBL 10000 INTL 20200326)
  ...

Fixes: 0b885bcfd9b0 ("acpi: Add an acpi command")
Cc: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: edison: Move config SYS_MALLOC_LEN to Kconfig
Andy Shevchenko [Tue, 8 Sep 2020 13:57:22 +0000 (16:57 +0300)]
x86: edison: Move config SYS_MALLOC_LEN to Kconfig

This patch moves the the config SYS_MALLOC_LEN to Kconfig
as it is already done for zynq arch in commit 01aa5b8f0503
("Kconfig: Move config SYS_MALLOC_LEN to Kconfig for zynq").

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoMerge tag 'efi-2020-10-rc5-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 19 Sep 2020 12:35:20 +0000 (08:35 -0400)]
Merge tag 'efi-2020-10-rc5-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-10-rc5 (2)

The following bugs are fixed:

* incorrect online help for setenv and env
* description of function efi_mem_carve_out()
* replace printf() by log_err() in stm32mp1_rng driver

A unit test is provided to check that the boot hart id is provided in the
RISC-V device-tree.

4 years agoMerge branch '2020-09-18-assorted-bugfixes'
Tom Rini [Sat, 19 Sep 2020 12:31:52 +0000 (08:31 -0400)]
Merge branch '2020-09-18-assorted-bugfixes'

- SquashFS Coverity fixes
- bitflip fix in the alternate memtest command
- Disable networking on bcmstb boards where we didn't have any network
  drivers enabled.

4 years agoefi: change 'env -e -i' usage syntax
Maxim Uvarov [Fri, 28 Aug 2020 19:20:10 +0000 (22:20 +0300)]
efi: change 'env -e -i' usage syntax

'env -e -i' syntax was changed from "," to ":". Account for this also
in the documentation.

Fixes: 2b3fbcb59f41 ("efi_loader: use ':' as separator for setenv -i")
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Correct the usage description for setenv -e too.
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_selftest: check for RISC-V boot-hartid in FDT
Heinrich Schuchardt [Thu, 17 Sep 2020 05:33:29 +0000 (07:33 +0200)]
efi_selftest: check for RISC-V boot-hartid in FDT

On RISC-V check that the /chosen node has a boot-hartid property.

To run the test configure with CONFIG_CMD_BOOTEFI_SELFTEST=y and issue

    setenv efi_selftest device tree
    setenv serial# myserial
    bootefi selftest

If the test succeeds, it reports the boot-hartid, e.g.

    boot-hartid: 1

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_selftest: rework device tree test
Heinrich Schuchardt [Thu, 17 Sep 2020 05:33:29 +0000 (07:33 +0200)]
efi_selftest: rework device tree test

Allow specifying the node on which a property is searched.
Test the device tree consistency more rigorously.
Some efi_st_printf() calls have been converted to efi_st_error().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_memory: refine overlap_only_ram description
Maxim Uvarov [Fri, 28 Aug 2020 19:47:41 +0000 (22:47 +0300)]
efi_memory: refine overlap_only_ram description

Refine text for overlap_only_ram description to
match to what exactly flag does and aling description
with other functions.

Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agorng: stm32mp1: use log() instead of printf()
Heinrich Schuchardt [Thu, 17 Sep 2020 14:49:02 +0000 (16:49 +0200)]
rng: stm32mp1: use log() instead of printf()

The logging system provides flexible filtering and enhanced output.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Sughosh Ganu <sughosh.ganu@linaro.org>
4 years agocmd: mem: fix range of bitflip test
Ralph Siemsen [Wed, 9 Sep 2020 16:10:00 +0000 (12:10 -0400)]
cmd: mem: fix range of bitflip test

The bitflip test uses two equal sized memory buffers. This is achieved
by splitting the range of memory into two pieces. The address of the
second buffer, as well as the length of each buffer, were not correctly
calculated. This caused bitflip test to access beyond the end of range.
This patch fixes the pointer arithmetic problem.

A second problem arises because u-boot "mtest" command expects the
ending address to be inclusive. When computing (end - start) this
results in missing 1 byte of the requested length. The bitflip test
expects a count rather than an "ending" address. Thus it fails to test
the last word of the requested range. Fixed by using (end - start + 1).

Added Kconfig option to optionally disable the bitflip test, since it
does add significantly to the time taken for "mtest".

Fixes: 8e434cb705d463bc8cff935160e4fb4c77cb99ab ("cmd: mem: Add bitflip
memory test to alternate mtest")

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoconfigs: bcmstb: Disable networking support
Thomas Fitzsimmons [Fri, 11 Sep 2020 18:41:44 +0000 (14:41 -0400)]
configs: bcmstb: Disable networking support

Silence the "Driver Model for Ethernet drivers" migration warning for
the bcm7445 and bcm7260 ports, neither of which supports networking yet.

Signed-off-by: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agofs/squashfs: Fix Coverity Scan defects
Joao Marcos Costa [Fri, 11 Sep 2020 10:21:06 +0000 (12:21 +0200)]
fs/squashfs: Fix Coverity Scan defects

Fix control flow issues and null pointer dereferences.

Signed-off-by: Joao Marcos Costa <jmcosta944@gmail.com>
4 years agoMerge tag 'u-boot-imx-20200918' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Fri, 18 Sep 2020 14:42:12 +0000 (10:42 -0400)]
Merge tag 'u-boot-imx-20200918' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

----------------------------------------------------------------
Fixes for 2020.10
-----------------

- Toradex boards
- mx6qsabrelite: fix env offset
- esdhc_imx: waiting for clock instead of sleep
- dyn RAM calibration for entry point i.MX6

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

4 years agoboard: tbs2910: Disable CONFIG_ENV_VARS_UBOOT_CONFIG in defconfig
Soeren Moch [Thu, 27 Aug 2020 19:52:47 +0000 (21:52 +0200)]
board: tbs2910: Disable CONFIG_ENV_VARS_UBOOT_CONFIG in defconfig

This is not required for sysboot (we defined fdtfile), let's save a few
bytes in the binary image without these variables.

Signed-off-by: Soeren Moch <smoch@web.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoMerge branch '2020-09-16-assorted-fixes'
Tom Rini [Thu, 17 Sep 2020 13:53:57 +0000 (09:53 -0400)]
Merge branch '2020-09-16-assorted-fixes'

- Assorted bug fixes

4 years agoapalis-imx8qm: rename all occurences to apalis-imx8
Philippe Schenker [Fri, 28 Aug 2020 18:08:06 +0000 (21:08 +0300)]
apalis-imx8qm: rename all occurences to apalis-imx8

The Toradex product is called apalis-imx8 consisting of SoM with
i.MX8QM and i.MX8QP SoCs.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx8qxp: rename all occurences to colibri-imx8x
Philippe Schenker [Fri, 28 Aug 2020 18:08:05 +0000 (21:08 +0300)]
colibri-imx8qxp: rename all occurences to colibri-imx8x

The Toradex product is called colibri-imx8x consisting of SoM with
i.MX8QXP and i.MX8DX SoCs.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agommc: fsl_esdhc_imx: check the clock stable status after config the clock rate.
Haibo Chen [Tue, 1 Sep 2020 07:34:06 +0000 (15:34 +0800)]
mmc: fsl_esdhc_imx: check the clock stable status after config the clock rate.

Currently, after config the clock rate, delay 10ms, this is quite a rough
method. Check the clock stable status in the present status register is
enough.

Tested-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
4 years agoARM: mx6: ddr: Add support for iMX6UL/ULL/SL/SDL
Marek Vasut [Sat, 12 Sep 2020 23:35:08 +0000 (01:35 +0200)]
ARM: mx6: ddr: Add support for iMX6UL/ULL/SL/SDL

This patch adds support for iMX6UL/ULL/SL/SDL MMDC into the DDR calibration
code. The difference between MX6DQ and MX6UL/ULL/SL is that the later SoCs
have 2 SDQS registers, just like MX6SX, while the MX6DQ/MX6SDL has 8.

Fixes: 4f4c128c65 ("ARM: mx6: ddr: Add support for iMX6SX")
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: Fabio Estevam <festevam@gmail.com>
4 years agomx6qsabrelite: increase the environment offset
Denis Pynkin [Tue, 15 Sep 2020 11:37:14 +0000 (14:37 +0300)]
mx6qsabrelite: increase the environment offset

The size of the binary created with the default U-boot config is much
greater than the default offset for environment `0x60000`.
In case if that binary is used for booting via MMC it is overlapped with
the environment stored on MMC.
This leads to U-Boot corruption while saving environment with `saveenv`
command and non-bootable SabreLite board.

The offset for environment `CONFIG_ENV_OFFSET=0x60000` was added in
commit a09fea1 but did not count in the change to `0xC0000` if option
`CONFIG_ENV_IS_IN_MMC` is used.

The offset is also used for variant with environment saving onto SPI NOR
flash (with enabled option `CONFIG_ENV_IS_IN_SPI_FLASH`). In that case the
U-Boot binary flashed on SPI NOR is also corrupted after environment
saving with the original 0x60000 offset.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoimx8mp: Remove parts MIMX8ML7 and MIMX8ML5 support
Peng Fan [Wed, 16 Sep 2020 07:17:22 +0000 (15:17 +0800)]
imx8mp: Remove parts MIMX8ML7 and MIMX8ML5 support

Latest datasheet revE has removed MIMX8ML7D/5D/7C/5C parts, so
update u-boot to remove decoding and support for those parts.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agoimx8m: clock_imx8mm: add missed return
Peng Fan [Wed, 16 Sep 2020 07:17:21 +0000 (15:17 +0800)]
imx8m: clock_imx8mm: add missed return

Add missed return

Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agoimx8mq: fix SSCG_PLL_REFCLK_SEL_x
Peng Fan [Wed, 16 Sep 2020 07:17:20 +0000 (15:17 +0800)]
imx8mq: fix SSCG_PLL_REFCLK_SEL_x

Fix SSCG_PLL_REFCLK_SEL_x, the offset starts from 0, not 16

Reported-by: Coverity 3448860
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
4 years agoimx8mq: fix FRAC_PLL_REFCLK_SEL_MASK
Peng Fan [Wed, 16 Sep 2020 07:17:19 +0000 (15:17 +0800)]
imx8mq: fix FRAC_PLL_REFCLK_SEL_MASK

Coverity reported dead code, however it is FRAC_PLL_REFCLK_SEL_MASK
was wrongly set.

Reported-by: Coverity 10045172
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
4 years agoimx7: ccm: correct target interface num
Peng Fan [Wed, 16 Sep 2020 07:17:18 +0000 (15:17 +0800)]
imx7: ccm: correct target interface num

According to i.MX 7Dual Applications Processor Reference Manual, Rev. 1
The target interface CCM root index ranges [0,124], so the number
should be 125.

Reported-by: Coverity 18045
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
4 years agoapalis_imx6: provide fdtfile in env instead of setting it in runtime
Igor Opaniuk [Mon, 14 Sep 2020 08:01:12 +0000 (11:01 +0300)]
apalis_imx6: provide fdtfile in env instead of setting it in runtime

Provide fdtfile value in default env instead of setting
it dynamically in runtime.

Fixes: 85cb2bc686("apalis/colibri imx6: provide proper fdtfile value")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx6: provide fdtfile in env instead of setting it in runtime
Igor Opaniuk [Mon, 14 Sep 2020 08:01:11 +0000 (11:01 +0300)]
colibri_imx6: provide fdtfile in env instead of setting it in runtime

Provide fdtfile value in default env instead of setting
it dynamically in runtime.

Fixes: 85cb2bc686("apalis/colibri imx6: provide proper fdtfile value")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: use preboot for fdtfile evaluation
Igor Opaniuk [Mon, 14 Sep 2020 08:01:10 +0000 (11:01 +0300)]
colibri_imx7: use preboot for fdtfile evaluation

Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: a62c60610f("colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC) module support")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_vf: use preboot for fdtfile evaluation
Igor Opaniuk [Mon, 14 Sep 2020 08:01:09 +0000 (11:01 +0300)]
colibri_vf: use preboot for fdtfile evaluation

Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: 304042c1f3("colibri_vf: set fdtfile for distroboot")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx6ull: use preboot for fdtfile evaluation
Igor Opaniuk [Mon, 14 Sep 2020 08:01:08 +0000 (11:01 +0300)]
colibri-imx6ull: use preboot for fdtfile evaluation

Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: board: 31b1e17f44("toradex: add Colibri iMX6ULL support")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: wrap video specific funcs with ifdefs
Igor Opaniuk [Mon, 14 Sep 2020 08:01:07 +0000 (11:01 +0300)]
colibri_imx7: wrap video specific funcs with ifdefs

Wrap video specific functionality with ifdefs.

Fixes: 195011b24d("colibri-imx7: fix splash logo drawing")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agotoradex: drop legacy show_boot_logo function and use splashscreen
Igor Opaniuk [Mon, 14 Sep 2020 08:01:06 +0000 (11:01 +0300)]
toradex: drop legacy show_boot_logo function and use splashscreen

Drop show_boot_logo legacy function, as splashscreen functionality can
be used instead.

Fixes: d324189772("toradex: common: show boot logo")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: use splashcreen value instead of legacy function
Igor Opaniuk [Mon, 14 Sep 2020 08:01:05 +0000 (11:01 +0300)]
colibri_imx7: use splashcreen value instead of legacy function

Set proper splashscreen env value instead of calling legacy function
to show embed boot logo.

Fixes: 195011b24d("colibri-imx7: fix splash logo drawing")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx6ull: use splashcreen value instead of legacy function
Igor Opaniuk [Mon, 14 Sep 2020 08:01:04 +0000 (11:01 +0300)]
colibri-imx6ull: use splashcreen value instead of legacy function

Set proper splashscreen env value instead of calling legacy function
to show embed boot logo.

Fixes: 391c712dde("colibri-imx6ull: show boot logo")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agodoc: qemu: debug UART settings for QEMU ARM virt
Heinrich Schuchardt [Tue, 15 Sep 2020 22:17:55 +0000 (00:17 +0200)]
doc: qemu: debug UART settings for QEMU ARM virt

Provide the settings for the debug UART on the QEMU ARM virt board.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMAINTAINERS: add myself as reviewer for SquashFS
Miquel Raynal [Mon, 14 Sep 2020 15:44:36 +0000 (17:44 +0200)]
MAINTAINERS: add myself as reviewer for SquashFS

I also followed the development of the SquashFS support in U-Boot
as part of Joao Marcos internship, so I would also appreciate receiving
new contributions and bug reports related to this topic.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
4 years agoMAINTAINERS: add myself as reviewer for SquashFS
Thomas Petazzoni [Mon, 14 Sep 2020 11:52:39 +0000 (13:52 +0200)]
MAINTAINERS: add myself as reviewer for SquashFS

As I have followed the development of the SquashFS support in U-Boot
as part of Joao Marcos work, it makes sense to get Cc'ed on
contributions/bug reports related to the squashfs support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
4 years agolib: fdt: Fix fdtdec_setup_mem..() conversion to livetree API
Marek Vasut [Sat, 12 Sep 2020 10:42:52 +0000 (12:42 +0200)]
lib: fdt: Fix fdtdec_setup_mem..() conversion to livetree API

Repair incorrectly negated condition in the original patch which broke
DT memory node parsing on everything which has more than one DT memory
node, e.g. R-Car3.

In case multiple valid memory nodes are present in the DT, the original
patch would complete parsing cycle for the first memory node, then move
on to the next one, identify it as a valid, and end the parsing. The fix
is to invert the condition, to make the code behave as it did before the
livetree conversion, so it would continue parsing the subsequent memory
nodes as well.

Fixes: c2f0950c33 ("lib: fdt: Convert fdtdes_setup_mem..() to livetree API")
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Tested-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
4 years agoinclude: phy: fix NULL pointer check in phy_write()
Thirupathaiah Annapureddy [Tue, 18 Aug 2020 00:31:08 +0000 (17:31 -0700)]
include: phy: fix NULL pointer check in phy_write()

phy_write() uses bus->write() instead of bus->read(). This means NULL
pointer pre-check needs to happen on bus->write instead of bus->read.

Signed-off-by: Thirupathaiah Annapureddy <thiruan@linux.microsoft.com>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
4 years agoMAINTAINERS: update clk entry git tree
Baruch Siach [Tue, 25 Aug 2020 06:01:41 +0000 (09:01 +0300)]
MAINTAINERS: update clk entry git tree

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
4 years agoMerge tag 'efi-2020-10-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Wed, 16 Sep 2020 12:08:06 +0000 (08:08 -0400)]
Merge tag 'efi-2020-10-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-10-rc5

The following bugs are fixed:

* unaligned access in br_i32_decode()
* missing restore of global data pointer in UEFI selftest
* missing restore of global data pointer on RISC-V in UEfI subsystem
* efi_var_mem_notify_exit_boot_services() should not be __efi_runtime

4 years agoMerge tag 'u-boot-rockchip-20200916' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 16 Sep 2020 12:07:49 +0000 (08:07 -0400)]
Merge tag 'u-boot-rockchip-20200916' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Fix rv1108 grf access issue
- make_fit_atf: ignore empty PT_LOAD segment

4 years agorockchip: make_fit_atf: ignore empty PT_LOAD segment
Heinrich Schuchardt [Tue, 15 Sep 2020 01:43:29 +0000 (03:43 +0200)]
rockchip: make_fit_atf: ignore empty PT_LOAD segment

The linker sometimes creates PT_LOAD segments with length (p_filesz) zero
as described in https://man7.org/linux/man-pages/man5/elf.5.html. This
leads to build failures. We should ignore empty segments.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rv1108: enable board early init
Kever Yang [Mon, 13 Apr 2020 01:38:32 +0000 (09:38 +0800)]
rockchip: rv1108: enable board early init

Enable board early init callback to init board specific hardware.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rv1108: Enable grf as pre-reloc node
Kever Yang [Mon, 13 Apr 2020 01:38:31 +0000 (09:38 +0800)]
rockchip: rv1108: Enable grf as pre-reloc node

The grf node will be used before relocate, enable it in dts.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rv1108: use correct API for board callback
Kever Yang [Mon, 13 Apr 2020 01:38:30 +0000 (09:38 +0800)]
rockchip: rv1108: use correct API for board callback

Use board_early_init_f() instead of mach_cpu_init() for board, the
board_early_init_f() is used for board init and after dm_initf, while
the mach_cpu_init() is used for CPU/SOC and before dm_initf()(not able
to use syscon API).

Fixes: 9cec336708 ("rockchip: evb-rv1108: Use syscon API to get grf base")
Fixes: 4aa33690fc {"rockchip: elgin-rv1108: Use syscon API to get grf base")
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoMerge tag 'mmc-2020-9-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Tue, 15 Sep 2020 12:59:32 +0000 (08:59 -0400)]
Merge tag 'mmc-2020-9-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc

- Use mmc_of_parse for msm_sdhci
- Add missing common host caps for xenon_sdhci.

4 years agoAzure/GitLab/Travis: Add SH4 r2dplus machine with various PCI ethernet options
Marek Vasut [Mon, 14 Sep 2020 19:55:58 +0000 (21:55 +0200)]
Azure/GitLab/Travis: Add SH4 r2dplus machine with various PCI ethernet options

Add SH4 R2Dplus machine configured to test various U-Boot PCI ethernet
options -- RTL8139, EEPRO100, AMD PCnet, DEC Tulip.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agommc: xenon_sdhci: Add missing common host capabilities
Andre Heider [Thu, 10 Sep 2020 17:53:40 +0000 (19:53 +0200)]
mmc: xenon_sdhci: Add missing common host capabilities

Use mmc_of_parse() to set the common host properties. That includes
"bus-width", so parsing it can be removed from the driver.

But more importantly, "non-removable" is now respected, which fixes
the usage of eMMC.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Reviewed-by: Konstantin Porotchkin <kostap@marvell.com>
Tested-by: Marek Behún <marek.behun@nic.cz>
4 years agommc: msm_sdhci: Use mmc_of_parse for setting host_caps
Manivannan Sadhasivam [Thu, 16 Jul 2020 09:07:26 +0000 (14:37 +0530)]
mmc: msm_sdhci: Use mmc_of_parse for setting host_caps

Since the introduction of 'get_cd' callback in sdhci core,
dragonboard410c's MMC interface is broken. It turns out that 'get_cd'
callback checks for the host_caps for validating the chip select. And
since the msm_sdhci driver is not parsing the host_caps from DT, not
all of the cababilities are parsed properly. This results in the MMC
interfaces to be broken.

Hence, fix this by adding a call to 'mmc_of_parse' during driver probe.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tested-by: Aníbal Limón <anibal.limon@linaro.org>
Reviewed-By: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoefi_selftest: restore gd before do_reset()
Heinrich Schuchardt [Thu, 10 Sep 2020 05:47:58 +0000 (07:47 +0200)]
efi_selftest: restore gd before do_reset()

Before calling do_reset() in the EFI selftest we must restore the global
data pointer.

Fixes: fa63753f86cc ("efi_selftest: substitute ResetSystem() by do_reset()")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: save global data pointer on RISC-V
Heinrich Schuchardt [Thu, 10 Sep 2020 10:22:54 +0000 (12:22 +0200)]
efi_loader: save global data pointer on RISC-V

On RISC-V the global data pointer is stored in register gp. When a UEFI
binary calls the EFI API we have to restore it.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoriscv: define function set_gd()
Heinrich Schuchardt [Thu, 10 Sep 2020 05:47:39 +0000 (07:47 +0200)]
riscv: define function set_gd()

Function set_gd() is needed in the UEFI sub-system if the global data
pointer is stored in a register.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>