]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
3 years agousb: xhci: Add missing xhci_readl()
Aaron Williams [Tue, 6 Apr 2021 10:10:17 +0000 (12:10 +0200)]
usb: xhci: Add missing xhci_readl()

Accessing the xHCI controller registers should be done via the
xhci_readl/writel functions. This patch adds this to a few missing
places.

Signed-off-by: Aaron Williams <awilliams@marvell.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Chandrakala Chavva <cchavva@marvell.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
3 years agousb: hub: Fix usb_get_port_status() for big-endian platforms
Aaron Williams [Tue, 6 Apr 2021 10:10:16 +0000 (12:10 +0200)]
usb: hub: Fix usb_get_port_status() for big-endian platforms

Add missing endianness conversions to usb_get_port_status(). This
(amongst others) is necessary to enable the use of USB 3 hubs on
big-endian platforms like MIPS Octeon.

Signed-off-by: Aaron Williams <awilliams@marvell.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Chandrakala Chavva <cchavva@marvell.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
3 years agoMerge tag 'rockchip-for-v2021.07' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Tue, 6 Apr 2021 02:39:10 +0000 (22:39 -0400)]
Merge tag 'rockchip-for-v2021.07' of https://source.denx.de/u-boot/custodians/u-boot-rockchip

- Fix rk3368 lion board support;
- Fix px30 odroid-go2 board support;
- Add rk3399 NanoPi R4s and NanoPi M4B board support;

3 years agoMerge branch 'next'
Tom Rini [Mon, 5 Apr 2021 15:29:57 +0000 (11:29 -0400)]
Merge branch 'next'

3 years agoPrepare v2021.04
Tom Rini [Mon, 5 Apr 2021 15:03:29 +0000 (11:03 -0400)]
Prepare v2021.04

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoimx8mn_ddr4_evk: Allow booting the kernel by default
Fabio Estevam [Thu, 4 Mar 2021 11:07:16 +0000 (08:07 -0300)]
imx8mn_ddr4_evk: Allow booting the kernel by default

Currently it is not possible to boot Linux from the SD card
by default.

Make the necessary adjustments to allow it.

Reported-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Andrey Zhizhikin <andrey.z@gmail.com> # imx8mn_ddr4_evk
Reviewed-by: Peng Fan <peng.fan@nxp.com>
3 years agosphinx: Pin to docutils-0.16
Tom Rini [Sun, 4 Apr 2021 20:04:56 +0000 (16:04 -0400)]
sphinx: Pin to docutils-0.16

In newer docutils writers/latex2e/docutils.sty has a unicode character
in the comments which can in turn cause Python 3.6 at least to fail.
Pin to the previous docutils release for now.

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agocmd: CMD_USB depends on USB
Heinrich Schuchardt [Sun, 4 Apr 2021 13:35:07 +0000 (13:35 +0000)]
cmd: CMD_USB depends on USB

The usb command cannot be compiled with CONFIG_USB=n:

ld.bfd: cmd/usb.c:660: undefined reference to `usb_stop'
ld.bfd: cmd/usb.c:663: undefined reference to `usb_started'

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoMakefile: Silence the deprecation script
Simon Glass [Wed, 31 Mar 2021 22:18:13 +0000 (11:18 +1300)]
Makefile: Silence the deprecation script

This bash code is currently showing up in the build unless 'make -s' is
used. We don't normally show these sorts of things as they are confusing.
Also this code was not shown before the recent refactoring of how these
messages are displayed.

Add an '@' to silence it.

Suggested-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Bin Meng <bmeng.cn@gmail.com>
Fixes: 13732528516 ("Makefile: Add common code to report deprecation")
3 years agoMerge tag 'efi-2021-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Wed, 31 Mar 2021 17:05:57 +0000 (13:05 -0400)]
Merge tag 'efi-2021-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2021-04-rc6

Bug fix:
    Fix ConvertDeviceNodeToText() for Uart()

3 years agoMerge tag 'xilinx-for-v2021.07' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Wed, 31 Mar 2021 13:47:30 +0000 (09:47 -0400)]
Merge tag 'xilinx-for-v2021.07' of https://source.denx.de/u-boot/custodians/u-boot-microblaze into next

Xilinx changes for v2021.07

net:
- Fix gem PCS support

spi:
- Small trivial fixes

zynq:
- Enable time/timer commands
- Update bitmain platform
- Several DT changes

zynqmp:
- Update clock driver
- mini config alignments
- Add/update psu_init for zcu208/zcu216/zc1275
- Several DT changes
- Enable efi debug command (also for Versal)

3 years agotest: Don't unmount not (yet) mounted system
Andy Shevchenko [Thu, 11 Feb 2021 14:40:12 +0000 (16:40 +0200)]
test: Don't unmount not (yet) mounted system

When test suite tries to create a file for a new filesystem test case and fails,
the clean up of the exception tries to unmount the image, that has not yet been
mounted. When it happens, the fuse_mounted global variable is set to False and
inconveniently the test case tries to use sudo, so without this change the
admin of the machine gets an (annoying) email:

  Subject: *** SECURITY information for example.com ***

  example.com : Feb  5 19:43:47 : ... COMMAND=/bin/umount .../build-sandbox/persistent-data/mnt

and second run of the test cases on uncleaned build folder will ask for sudo
which is not what expected.

Besides that there is a double unmount calls during successfully run test case.

All of these due to over engineered Python try-except clause and people didn't
get it properly at all. The rule of thumb is that don't use more keywords than
try-except in the exception handling code. Nevertheless, here we adjust code
to be less intrusive to the initial logic behind that complex and unclear
constructions in the test case, although it adds a lot of lines of the code,
i.e. splits one exception handler to three, so on each step we know what
cleanup shall perform.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoMerge https://source.denx.de/u-boot/custodians/u-boot-sunxi
Tom Rini [Wed, 31 Mar 2021 11:48:47 +0000 (07:48 -0400)]
Merge https://source.denx.de/u-boot/custodians/u-boot-sunxi

- H616 fixes to keep it in sync with upstream TF-A

3 years agosunxi: dts: H616: Drop reserved-memory node
Andre Przywara [Thu, 25 Mar 2021 16:19:52 +0000 (16:19 +0000)]
sunxi: dts: H616: Drop reserved-memory node

Trusted Firmware now adds the /reserved-memory subnode to the DT at
runtime[1], putting in the right values.

Drop our hard-coded version, as this might clash with the actual values
(which have also changed), and rely on TF-A to add the node.

[1] https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/7770

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
3 years agosunxi: H616: Change TF-A load address to beginning of DRAM
Andre Przywara [Thu, 25 Mar 2021 16:20:13 +0000 (16:20 +0000)]
sunxi: H616: Change TF-A load address to beginning of DRAM

Loading Trusted-Firmware's BL31 at 16KB into DRAM was originally a hack
to allow sharing more code with the other SoCs (which use this offset
in SRAM). However there is no longer a reason for that, as the
problematic macros have been properly separated there.

The latest (and hopefully final) TF-A code drop now changes the load
address to the beginning of DRAM, which is also more easily protected
by the Trustzone memory controller (code to be done).

Adjust the load address of BL31 now, to avoid any issues with
incompatible versions later on (the TF-A patches are about to be merged).

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>
3 years agoefi_loader: typo 'devide path'
Heinrich Schuchardt [Wed, 31 Mar 2021 06:34:33 +0000 (06:34 +0000)]
efi_loader: typo 'devide path'

Fix a typo in helloworld.efi.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: Uart device path missing break
Heinrich Schuchardt [Wed, 31 Mar 2021 06:16:04 +0000 (08:16 +0200)]
efi_loader: Uart device path missing break

In the devicepath node to text conversion for Uart nodes a break statement
is missing.

Indicated by Coverity Scan CID 330038
Fixes: 62df6e9c9994 ("efi_loader: Uart device path")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoMerge tag 'u-boot-atmel-2021.07-a' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Tue, 30 Mar 2021 15:24:09 +0000 (11:24 -0400)]
Merge tag 'u-boot-atmel-2021.07-a' of https://source.denx.de/u-boot/custodians/u-boot-atmel into next

First set of u-boot-atmel features for 2021.07 cycle:
This small feature set includes the implementation of the slew rate for
the PIO4 pin controller device, and a fix for arm926ejs-based
microprocessors that avoids a crash.

3 years agoxilinx: Enable efi debug command
Michal Simek [Fri, 26 Mar 2021 10:16:24 +0000 (11:16 +0100)]
xilinx: Enable efi debug command

Enable EFI debug command to be able to setup various efi variables to avoid
software like grub.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoARM: bitmain: Enable saving variables to SD card
Michal Simek [Mon, 22 Mar 2021 14:43:46 +0000 (15:43 +0100)]
ARM: bitmain: Enable saving variables to SD card

Board has NAND and SD interfaces which can be used for saving variables
too.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoARM: bitmain: Enable legacy u-boot format
Michal Simek [Mon, 22 Mar 2021 14:42:02 +0000 (15:42 +0100)]
ARM: bitmain: Enable legacy u-boot format

Still legacy formats are used that's why enable them by default.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoARM: bitmain: Enable nand and smcc drivers
Michal Simek [Thu, 18 Mar 2021 15:04:44 +0000 (16:04 +0100)]
ARM: bitmain: Enable nand and smcc drivers

Enable nand and smcc via DT.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agospi: xilinx_spi: Trivial fixes in axi qspi driver
T Karthik Reddy [Wed, 17 Mar 2021 07:01:50 +0000 (01:01 -0600)]
spi: xilinx_spi: Trivial fixes in axi qspi driver

Use __func__ instead for function name in debug.
Use Linux style u32 instead of uint32_t.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoxilinx: Sync DTs with Linux kernel
Michal Simek [Thu, 26 Nov 2020 13:25:02 +0000 (14:25 +0100)]
xilinx: Sync DTs with Linux kernel

There are several changes which happen in mainline kernel which should get
also to U-Boot. Here is the list of patches from the kernel:

- ARM: zynq: Fix leds subnode name for zc702/zybo-z7
- arm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1
- arm64: dts: zynqmp: Fix u48 si5382 chip on zcu111
- arm64: dts: zynqmp: Wire up the DisplayPort subsystem
- arm64: dts: zynqmp: Add DisplayPort subsystem
- arm64: dts: zynqmp: Add DPDMA node
- arm64: dts: zynqmp: Enable phy driver for Sata on zcu102/zcu104/zcu106
- arm64: dts: zynqmp: Enable si5341 driver for zcu102/106/111
- arm64: dts: zynqmp: Add DT description for si5328 for zcu102/zcu106
- arm64: dts: zynqmp-zcu100-revC: correct interrupt flags
- arm64: dts: xilinx: align GPIO hog names with dtschema
- arm64: zynqmp: Add Xilinx AES node
- dt: bindings: dma: xilinx: dpdma: DT bindings for Xilinx DPDMA

but also some other changes have been done.
- Using only one compatible string for adxl345 on zturn
- Remove Xilinx internal DP bindings
- Remove USB3.0 serdes configurations
- Remove SATA serdes configuration for zc1232
- Resort nvmem_firmware
- Update nand compatible string
- Aling power-domains property for sd0/1

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoclk: zynqmp: Fix clk dump values
T Karthik Reddy [Thu, 25 Feb 2021 06:44:46 +0000 (23:44 -0700)]
clk: zynqmp: Fix clk dump values

With "clk dump" command, few clocks are showing up incorrect values
and some clocks are displayed as "unknown".

Add missing clocks to zynqmp clock driver to display proper
clocks rates.

Implement a simple way to get clock source, instead of calling
functions. Change existing functions to this simple mechanism.

Fix gem clock name "gem_rx" to "gem_tx" which was incorrect.
Change dbf_fpd & dbf_lpd clk names to dbg_fpd & dbg_lpd.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
3 years agoarm64: zynqmp: Rename clocks as per the Arasan NAND driver
Amit Kumar Mahapatra [Tue, 23 Feb 2021 20:47:20 +0000 (13:47 -0700)]
arm64: zynqmp: Rename clocks as per the Arasan NAND driver

In zynqmp.dtsi file renamed "clk_sys" clock to "controller" and
"clk_flash" clock to "bus" as per upstreamed Arasan NAND driver.
This fixes NAND driver probe failure.

Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Update device tree properties for nand flash
Amit Kumar Mahapatra [Thu, 18 Feb 2021 07:50:21 +0000 (00:50 -0700)]
arm64: zynqmp: Update device tree properties for nand flash

Update the following device tree properties for nand flash

- Set software ecc mode.
- Set bch as ecc algo.
- Set read block to 0.

Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Update psu_init for zcu1275
Michal Simek [Wed, 17 Feb 2021 12:10:05 +0000 (13:10 +0100)]
arm64: zynqmp: Update psu_init for zcu1275

Update clock/pll setup, ddr, MIOs based on 2020.2 hw design.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add idt 8a34001 chip to zcu208/zcu216
Michal Simek [Fri, 22 Jan 2021 13:42:29 +0000 (14:42 +0100)]
arm64: zynqmp: Add idt 8a34001 chip to zcu208/zcu216

There is Linux driver for these chips that's why add it to device tree.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add missing psu inits for zcu208/216
Michal Simek [Wed, 17 Feb 2021 08:40:38 +0000 (09:40 +0100)]
arm64: zynqmp: Add missing psu inits for zcu208/216

Add missing configurations file for zcu208 and zcu216.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add emmc specific parameters
Ashok Reddy Soma [Tue, 16 Feb 2021 14:02:14 +0000 (07:02 -0700)]
arm64: zynqmp: Add emmc specific parameters

EMMC will have bus-width 8 and it is non-removable in general. These
are missing from dt node. Add bus-width and non-removable parameters
to emmc node.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Increase size of malloc pool
Ashok Reddy Soma [Tue, 16 Feb 2021 14:02:13 +0000 (07:02 -0700)]
arm64: zynqmp: Increase size of malloc pool

size of malloc() pool for use before relocation is not sufficient
for ZynqMP mini u-boot with emmc configuration. Increase it to 4K.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoxilinx: zynq: Enable time and timer commands
Ashok Reddy Soma [Thu, 4 Feb 2021 07:39:01 +0000 (00:39 -0700)]
xilinx: zynq: Enable time and timer commands

Enable time command to get the elapsed time and timer commands.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoboard: dts: rockchip: Add NanoPi M4B
Alexandre Vicenzi [Fri, 26 Mar 2021 12:37:10 +0000 (13:37 +0100)]
board: dts: rockchip: Add NanoPi M4B

Add initial support for NanoPi M4B, a minor revision of
the original NanoPi M4.

Commit details of rk3399-nanopi-m4b.dts sync from Linux 5.12-rc4:
"arm64: dts: rockchip: Add NanoPi M4B board"
(sha1: c7b03115003f7f337ab165542cee37148cf30a8a)

Signed-off-by: Alexandre Vicenzi <alexandre.vicenzi@suse.com>
Reviewed-by: Kever Yang <kever.yang@rock-cihps.com>
3 years agoarm64: rk3399: Add support NanoPi R4s
Xiaobo Tian [Sat, 27 Feb 2021 14:39:11 +0000 (22:39 +0800)]
arm64: rk3399: Add support NanoPi R4s

NanoPi R4s is SBC base on Rockchip RK3399 hexa-core processor with
dual-Core Cortex-A72 and Mali-T864 GPU with 4GiB(LPDDR4) of RAM, SD card support,
including 2 gigabit ethernet(RTL8211E 1Gbps - RTL8111H 1Gbps) and 2 USB 3.0 port.
port.It also has two GPIO headers which allows further peripherals to be used.

The devicetree file is taken of the rk3399 nanopi4 Linux kernel [1].

[1] https://github.com/torvalds/linux/commit/e7a095908227fb3ccc86d001d9e13c9ae2bef8e6

Signed-off-by: xiaobo <peterwillcn@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoodroid-go2: fix default FDT file path
Roger Pau Monné [Mon, 22 Feb 2021 09:25:59 +0000 (10:25 +0100)]
odroid-go2: fix default FDT file path

The path in the Linux kernel dts directory is
rockchip/rk3326-odroid-go2.dtb.

That also seems to match the FDT path set on other boards (ie:
rock64-rk3328 for example).

Signed-off-by: Roger Pau Monne <royger@FreeBSD.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoodroid-go2: do not disable EFI
Roger Pau Monné [Mon, 22 Feb 2021 09:25:58 +0000 (10:25 +0100)]
odroid-go2: do not disable EFI

Remove the unset of the EFI loader, it's possible for U-Boot to
provide a EFI environment on this board, and it's also required by
the FreeBSD loader which mandated EFI on Aarch64.

Signed-off-by: Roger Pau Monné <royger@FreeBSD.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3399-puma: Increase environment size to 16 kiB.
Christoph Muellner [Fri, 19 Feb 2021 00:30:02 +0000 (01:30 +0100)]
rockchip: rk3399-puma: Increase environment size to 16 kiB.

On Puma we have the environment at an offset of 16 kiB.
On the eMMC this gives us 16 kiB for the environment before the SPL starts.
On the SPI NOR we also have 16 kiB until end of flash.
So let's increase the environment size from 8 kiB to its maximum
of 16 kiB for both MMC and SPI NOR.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3399-puma: Restore correct VDD_LOG supply.
Christoph Muellner [Fri, 19 Feb 2021 00:29:48 +0000 (01:29 +0100)]
rockchip: rk3399-puma: Restore correct VDD_LOG supply.

A commit from last year re-imported the DTS files form the upstream kernel.
By doing so the VDD_LOG regulator in the board's DTS was dropped.
Let's restore this, but move it into the u-boot overlay to prevent this
issue in the future.

Fixes: 167efc2c7a46 ("arm64: dts: rk3399: Sync v5.7-rc1 from Linux")
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3399: rock960: explicitly disable SPI flash
Peter Robinson [Sun, 14 Feb 2021 19:43:28 +0000 (19:43 +0000)]
rockchip: rk3399: rock960: explicitly disable SPI flash

The Rock960 doesn't have SPI flash on-board, but the bits
get enabled by default which means when booting we get
some errors. Explicitly disable it to stop the errors.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoinclude: configs: rk3399: drop a dangling comment
Peter Robinson [Sun, 14 Feb 2021 19:40:15 +0000 (19:40 +0000)]
include: configs: rk3399: drop a dangling comment

Drop a irrelevent comment now the related configs have moved
to the various config files.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: lion: update board defconfig
Heiko Stuebner [Tue, 9 Feb 2021 13:47:10 +0000 (14:47 +0100)]
rockchip: lion: update board defconfig

Adds the needed target option and drivers needed for correct
bringup.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: sync down rk3368-lion board devicetree from Linux
Heiko Stuebner [Tue, 9 Feb 2021 13:47:09 +0000 (14:47 +0100)]
rockchip: rk3368: sync down rk3368-lion board devicetree from Linux

This brings the actual rk3368-lion devicetree files from Linux 5.10
instead of using something separate.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: sync main rk3368 dtsi from Linux
Heiko Stuebner [Tue, 9 Feb 2021 13:47:08 +0000 (14:47 +0100)]
rockchip: rk3368: sync main rk3368 dtsi from Linux

This is the state as of v5.10 + the recently added timer0 phandle
targetted at the 5.12 merge window.

With this the non-mainline nodes like the dmc move to a separate
rk3368-u-boot.dtsi that is included from the board-specific
-u-boot.dtsi files, similar to how rk3399 does this.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: sync clock dt-binding header from Linux
Heiko Stuebner [Tue, 9 Feb 2021 13:47:07 +0000 (14:47 +0100)]
rockchip: rk3368: sync clock dt-binding header from Linux

This is the state as of v5.10 in Linux.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: move STACK_R_ADDR address and into Kconfig
Heiko Stuebner [Tue, 9 Feb 2021 13:47:06 +0000 (14:47 +0100)]
rockchip: rk3368: move STACK_R_ADDR address and into Kconfig

With the STACK_R_ADDR at 0x600000 (6MB) we're competing with
with the loading address of either u-boot or atf parts, so move
that away to 0x4000000 (64MB) similar to rk3399.

Only lion currently sets that at all but not sheep the second
rk3368 board, so just move that to the Kconfig for rk3368 similar
to rk3399 as well.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: increase SYS_MALLOC_F_LEN to 0x4000
Heiko Stuebner [Tue, 9 Feb 2021 13:47:05 +0000 (14:47 +0100)]
rockchip: rk3368: increase SYS_MALLOC_F_LEN to 0x4000

To prevent running out of memory, increase SYS_MALLOC_F_LEN to 0x4000
similar to what rk3399 uses.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: set CONFIG_SYS_BOOTM_LEN to 64MB
Heiko Stuebner [Tue, 9 Feb 2021 13:47:04 +0000 (14:47 +0100)]
rockchip: rk3368: set CONFIG_SYS_BOOTM_LEN to 64MB

Mimicing for example the rk3399, set the SYS_BOOTM_LEN to 64MB so
that regular kernel images can get loaded without problems.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agorockchip: rk3368: adjust CONFIG_SYS_LOAD_ADDR
Heiko Stuebner [Tue, 9 Feb 2021 13:47:03 +0000 (14:47 +0100)]
rockchip: rk3368: adjust CONFIG_SYS_LOAD_ADDR

CONFIG_SYS_LOAD_ADDR currently is at 0x00280000 which is only 512KB
behind the area where we load u-boot to, which depending on u-boot size
may overlap at some point.

So for safety just pick the same value rk3399 has and set
CONFIG_SYS_LOAD_ADDR to 0x00800800 on rk3368 as well.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agoodroid-go2: remove setting SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
Roger Pau Monné [Sat, 13 Feb 2021 15:59:01 +0000 (16:59 +0100)]
odroid-go2: remove setting SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR

Using a non-default SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR setting makes the
resulting u-boot-rockchip.bin unbootable, as it gets stuck after SPL.
Removing the setting from the defconfig allows U-Boot to load
successfully.

Signed-off-by: Roger Pau Monné <royger@FreeBSD.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
3 years agonet: gem: Fix setting PCS auto-negotiation state
Robert Hancock [Thu, 11 Mar 2021 22:55:50 +0000 (16:55 -0600)]
net: gem: Fix setting PCS auto-negotiation state

The code was trying to disable PCS auto-negotiation when a fixed-link node
is present and enable it otherwise. However, the PCS registers were being
written before the PCSSEL bit was set in the network configuration
register, and it appears that in this state, PCS register writes are
ignored. The result is that the intended change only took effect on the
second network operation that was performed, since at that time PCSSEL is
already enabled.

Fix the order of register writes so that PCS registers are only written to
after the PCS is enabled.

Fixes: 26e62cc971 ("net: gem: Disable PCS autonegotiation in case of fixed-link")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoMerge tag 'v2021.04-rc5' into next
Tom Rini [Mon, 29 Mar 2021 21:53:19 +0000 (17:53 -0400)]
Merge tag 'v2021.04-rc5' into next

Prepare v2021.04-rc5

3 years agoPrepare v2021.04-rc5
Tom Rini [Mon, 29 Mar 2021 21:20:13 +0000 (17:20 -0400)]
Prepare v2021.04-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoMerge tag 'dm-pull-28mar21' of git://git.denx.de/u-boot-dm into next
Tom Rini [Mon, 29 Mar 2021 00:29:39 +0000 (20:29 -0400)]
Merge tag 'dm-pull-28mar21' of git://git.denx.de/u-boot-dm into next

binman support for expanding entries, connections
misc fixes and improvements to sandbox, etc.
x86 CBFS improvements
x86 coreboot improvements

3 years agoMerge branch '2021-03-28-assorted-bugfixes'
Tom Rini [Mon, 29 Mar 2021 00:28:51 +0000 (20:28 -0400)]
Merge branch '2021-03-28-assorted-bugfixes'

3 years agoSupport building on macOS/arm64
Jessica Clarke [Sat, 20 Mar 2021 20:43:05 +0000 (20:43 +0000)]
Support building on macOS/arm64

On Arm-based Macs, -no_pie is ignored and gives a linker warning.
Moreover, the build falls over with:

  ld: Absolute addressing not allowed in arm64 code but used in '_image_type_ptr_aisimage' referencing '_image_type_aisimage'

for dumpimage and mkimage, since we put data structs in text sections
not data sections and so cannot have dynamic relocations. Instead, move
the sections to __DATA and drop disabling PIE.

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
3 years agodm: test: Always include command.h for print_ut
Sean Anderson [Fri, 26 Mar 2021 02:02:28 +0000 (22:02 -0400)]
dm: test: Always include command.h for print_ut

We need this header for U_BOOT_CMD, which is always present even without
EFI.

Fixes: 82c468a049 ("dm: test: Update Makefile conditions")
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agotest: Add udevice declaration to avoid build error
Simon Glass [Sat, 27 Mar 2021 17:53:08 +0000 (06:53 +1300)]
test: Add udevice declaration to avoid build error

When including this file on a board other than sandbox (e.g by enabling
UNIT_TEST and CMD_SETEXPR) an results. Fix it by declaring struct udevice
first.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoMerge branch '2021-03-27-master-imports'
Tom Rini [Sat, 27 Mar 2021 15:58:37 +0000 (11:58 -0400)]
Merge branch '2021-03-27-master-imports'

- Rework the deprecation warnings to be consistently phrased.
- Add in a warning for DM_I2C, for a year from next release.
- Fix Azure builds of Windows host tools.

3 years agoAzure: Use "pacman -Sy" to install the toolchain
Tom Rini [Fri, 26 Mar 2021 19:14:14 +0000 (15:14 -0400)]
Azure: Use "pacman -Sy" to install the toolchain

We now see an error such as:
warning: database file for 'ucrt64' does not exist (use '-Sy' to download)
error: failed to prepare transaction (could not find database)

So use -Sy as suggested.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agodm: i2c: Add a migration method for I2C
Simon Glass [Thu, 25 Mar 2021 08:24:44 +0000 (21:24 +1300)]
dm: i2c: Add a migration method for I2C

This probably should have been done a while back since it is a core
system. Add a migration deadline of later this year, to catch the
stragglers.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Drop the old SPI flash migration message
Simon Glass [Thu, 25 Mar 2021 08:24:43 +0000 (21:24 +1300)]
Makefile: Drop the old SPI flash migration message

This message does not seem to make sense. It may be out of date. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for DM_ETH deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:42 +0000 (21:24 +1300)]
Makefile: Use common code for DM_ETH deprecation warning

Update the CONFIG_DM_ETH check to use the 'deprecated' function.

Tested with snow

Old message:

===================== WARNING ======================
This board does not use CONFIG_DM_ETH (Driver Model
for Ethernet drivers). Please update the board to use
CONFIG_DM_ETH before the v2020.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_DM_ETH (Driver Model
for Ethernet drivers). Please update the board to use
CONFIG_DM_ETH before the v2020.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for WDT deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:41 +0000 (21:24 +1300)]
Makefile: Use common code for WDT deprecation warning

Update the CONFIG_WDT check to use the 'deprecated' function.

Tested with kmcent2

Old message:

===================== WARNING ======================
This board does not use CONFIG_WDT (DM watchdog support).
Please update the board to use CONFIG_WDT before the
v2019.10 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_WDT (Driver Model
for DM watchdog). Please update the board to use
CONFIG_WDT before the v2019.10 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for SPI_FLASH deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:40 +0000 (21:24 +1300)]
Makefile: Use common code for SPI_FLASH deprecation warning

Update the CONFIG_DM_SPI_FLASH check to use the 'deprecated' function.

Tested with vinco

Old message:

===================== WARNING ======================
This board does not use CONFIG_DM_SPI_FLASH. Please update
the board to use CONFIG_SPI_FLASH before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_DM_SPI_FLASH (Driver Model
for SPI flash). Please update the board to use
CONFIG_DM_SPI_FLASH before the v2019.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for DM_VIDEO deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:39 +0000 (21:24 +1300)]
Makefile: Use common code for DM_VIDEO deprecation warning

Update the CONFIG_DM_VIDEO check to use the 'deprecated' function.

Tested with pxm2

Old message:

===================== WARNING ======================
This board does not use CONFIG_DM_VIDEO Please update
the board to use CONFIG_DM_VIDEO before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_DM_VIDEO (Driver Model
for video). Please update the board to use
CONFIG_DM_VIDEO before the v2019.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
==================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for PCI deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:38 +0000 (21:24 +1300)]
Makefile: Use common code for PCI deprecation warning

Update the CONFIG_DM_PCI check to use the 'deprecated' function.

Tested with MPC8349ITX

Old message:

===================== WARNING ======================
This board does not use CONFIG_DM_PCI Please update
the board to use CONFIG_DM_PCI before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_DM_PCI (Driver Model
for PCI). Please update the board to use
CONFIG_DM_PCI before the v2019.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for LIBATA deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:37 +0000 (21:24 +1300)]
Makefile: Use common code for LIBATA deprecation warning

Update the CONFIG_LIBATA check to use the 'deprecated' function.

Tested with MPC8349ITX

Old message:

===================== WARNING ======================
This board does use CONFIG_LIBATA but has CONFIG_AHCI not
enabled. Please update the storage controller driver to use
CONFIG_AHCI before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_AHCI (Driver Model
for AHCI). Please update the board to use
CONFIG_AHCI before the v2019.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for MVSATA_IDE deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:36 +0000 (21:24 +1300)]
Makefile: Use common code for MVSATA_IDE deprecation warning

Update the CONFIG_MVSATA_IDE check to use the 'deprecated' function.

Tested with nas220

Old message:

===================== WARNING ======================
This board does use CONFIG_MVSATA_IDE which is not
ported to driver-model (DM) yet. Please update the storage
controller driver to use CONFIG_AHCI before the v2019.07
release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_AHCI (Driver Model
for AHCI instead of CONFIG_MVSATA_IDE). Please update the board to use
CONFIG_AHCI before the v2019.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for USB deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:35 +0000 (21:24 +1300)]
Makefile: Use common code for USB deprecation warning

Update the USB check to use the 'deprecated' function.

Tested with xpress

Old message:

===================== WARNING ======================
This board does not use CONFIG_DM_USB. Please update
the board to use CONFIG_DM_USB before the v2019.07 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_DM_USB (Driver Model
for  USB). Please update the board to use
CONFIG_DM_USB before the v2019.07 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Use common code for MMC deprecation warning
Simon Glass [Thu, 25 Mar 2021 08:24:34 +0000 (21:24 +1300)]
Makefile: Use common code for MMC deprecation warning

Update the MMC check to use the 'deprecated' function.

Tested with zc5202

Old message:

===================== WARNING ======================
This board does not use CONFIG_DM_MMC. Please update
the board to use CONFIG_DM_MMC before the v2019.04 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

New message:

===================== WARNING ======================
This board does not use CONFIG_DM_MMC (Driver Model
for MMC). Please update the board to use
CONFIG_DM_MMC before the v2019.04 release. Failure to
update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Add common code to report deprecation
Simon Glass [Thu, 25 Mar 2021 08:24:33 +0000 (21:24 +1300)]
Makefile: Add common code to report deprecation

Add a function which can be called to report a migration problem. This
will make it easier to add new migration checks, since the logic and
strings are not spread out over 8 lines of code.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agoMakefile: Move non-DM migration messages to the top
Simon Glass [Thu, 25 Mar 2021 08:24:32 +0000 (21:24 +1300)]
Makefile: Move non-DM migration messages to the top

At present the driver model migration messages are mixed with the others.
Collect them together before starting to refactor them.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agosandbox: define __dyn_sym_start, dyn_sym_end
Heinrich Schuchardt [Tue, 23 Mar 2021 11:37:47 +0000 (12:37 +0100)]
sandbox: define __dyn_sym_start, dyn_sym_end

On RISC-V the symbols __dyn_sym_start, dyn_sym_end are referenced in
efi_runtime_relocate().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agospi: spi-uclass: Add support to manually relocate spi memory ops
T Karthik Reddy [Wed, 17 Mar 2021 11:31:30 +0000 (12:31 +0100)]
spi: spi-uclass: Add support to manually relocate spi memory ops

Add spi memory operations to relocate manually when
CONFIG_NEEDS_MANUAL_RELOC is enabled.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
3 years agodtoc: Add new check that offsets are correct
Simon Glass [Sun, 21 Mar 2021 05:24:39 +0000 (18:24 +1300)]
dtoc: Add new check that offsets are correct

Add a few more internal checks to make sure offsets are correct, before
updating the dtb.

To make this easier, update the functions which add a property to return
that property,.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodtoc: Support adding subnodes alongside existing ones
Simon Glass [Sun, 21 Mar 2021 05:24:38 +0000 (18:24 +1300)]
dtoc: Support adding subnodes alongside existing ones

So far we have only needed to add subnodes to empty notds, so have not
had to deal with ordering. However this feature is needed for binman's
expanded nodes, since there may be another node in the same section.

While libfdt adds new properties after existing properties, it adds new
subnodes before existing subnodes. This means that we must reorder the
nodes in the cached version, so that the ordering remains consistent.

Update the sync implementation to sync existing subnodes first, then
add new ones, then tidy up the ordering in the cached version. Update the
test to cover this behaviour.

Also improve the comment about property syncing while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodtoc: Add a subnode test for multiple nodes
Simon Glass [Sun, 21 Mar 2021 05:24:37 +0000 (18:24 +1300)]
dtoc: Add a subnode test for multiple nodes

Add a new test that adds a subnode alongside an existing one, as well as
adding properties to a subnode. This will expand to adding multiple
subnodes in future patches. Put a node after the one we are adding to so
we can check that things sync correctly.

The testAddNode() test should be in the TestNode class since it is a node
test, so move it.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodtoc: Tweak ordering of fdt-offsets refreshing
Simon Glass [Sun, 21 Mar 2021 05:24:36 +0000 (18:24 +1300)]
dtoc: Tweak ordering of fdt-offsets refreshing

Once the tree has been synced, thus potentially moving things around in the
fdt, we set _cached_offsets to False so that a refresh will happen next
time a property is accessed.

This 'lazy' refresh doesn't really save much time, since refresh is a very
fast operation, just a single walk of the tree. Also, having the refresh
happen in the bowels of property access it makes it harder to figure out
what is going on.

Simplify the code by always doing a refresh before and after a sync. Set
_cached_offsets to True immediately after this, in the Refresh() function,
since this makes more sense than doing it in the caller.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodtoc: Tidy up property-offset handling
Simon Glass [Sun, 21 Mar 2021 05:24:35 +0000 (18:24 +1300)]
dtoc: Tidy up property-offset handling

If a property does not yet have an offset, then that means it exists in
the cache'd fdt but has not yet been synced back to the flat tree. Use
the dirty flag for this so we don't need to check the offset too. Improve
the comments for Prop and Node to make it clear what an offset of None
means.

Also clear the dirty flag after the property is synced.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodtoc: Improve internal error for Refresh()
Simon Glass [Sun, 21 Mar 2021 05:24:34 +0000 (18:24 +1300)]
dtoc: Improve internal error for Refresh()

Add the node name too so it is easy to see which node failed.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Support default alignment for sections
Simon Glass [Sun, 21 Mar 2021 05:24:33 +0000 (18:24 +1300)]
binman: Support default alignment for sections

Sometimes it is useful to specify the default alignment for all entries
in a section, such as when word-alignment is necessary, for example. It
is tedious and error-prone to specify this individually for each section.

Add a property to control this for a section.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Support obtaining section contents immediately
Simon Glass [Sun, 21 Mar 2021 05:24:32 +0000 (18:24 +1300)]
binman: Support obtaining section contents immediately

Generally the content of sections is not built until the final assembly
of the image. This is partly to avoid wasting time, since the entries
within sections may change multiple times as binman works through its
various stages. This works quite well since sections exist in a strict
hierarchy, so they can be processed in a depth-first manner.

However the 'collection' entry type does not have this luxury. If it
contains a section within its 'content' list, then it must produce the
section contents, if available. That section is typically a sibling
node, i.e. not part oc the collection's hierarchy.

Add a new 'required' argument to section.GetData() to support this. When
required is True, any referenced sections are immediately built. If this
is not possible (because one of the subentries does not have its data yet)
then an error is produced.

The test for this uses a 'collection' entry type, referencing a section as
its first member. This forces a call to _BuildSectionData() with required
set to False, at first, then True later, when the image is assembled.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Add support for a collection of entries
Simon Glass [Sun, 21 Mar 2021 05:24:31 +0000 (18:24 +1300)]
binman: Add support for a collection of entries

The vblock entry type includes code to collect the data from a number of
other entries (not necessarily subentries) and concatenating it. This is
a useful feature for other entry types.

Make it a base class, so that vblock can use it, along with other entry
types.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Allow disabling expanding an entry
Simon Glass [Sun, 21 Mar 2021 05:24:30 +0000 (18:24 +1300)]
binman: Allow disabling expanding an entry

At present there is a command-line flag to disable substitution of expanded
entries. Add an option to the entry node as well, so it can be controlled
at the node level.

Add a test to cover this. Fix up the comment to the checkSymbols() function
it uses, while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Use a unique number for the symbols test file
Simon Glass [Sun, 21 Mar 2021 05:24:29 +0000 (18:24 +1300)]
binman: Use a unique number for the symbols test file

Two test devicetree files currently have 192 as their unique number. Fix
this by separating them out.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agox86: coral: Show memory config and SKU ID on startup
Simon Glass [Sun, 21 Mar 2021 03:50:07 +0000 (16:50 +1300)]
x86: coral: Show memory config and SKU ID on startup

Provide the model information through sysinfo so that it shows up on
boot. For memconfig 4 pins are provided, for 16 combinations. For SKU
ID there are two options:

   - two pins provided in a ternary arrangement, for 9 combinations.
   - reading from the EC

Add a binding doc and drop the unused #defines as well.

Example:

   U-Boot 2021.01-rc5

   CPU:   Intel(R) Celeron(R) CPU N3450 @ 1.10GHz
   DRAM:  3.9 GiB
   MMC:   sdmmc@1b,0: 1, emmc@1c,0: 2
   Video: 1024x768x32 @ b0000000
   Model: Google Coral (memconfig 5, SKU 3)

This depends on the GPIO series:

   http://patchwork.ozlabs.org/project/uboot/list/?series=228126

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
3 years agosysinfo: Allow showing model info from sysinfo
Simon Glass [Sun, 21 Mar 2021 03:50:06 +0000 (16:50 +1300)]
sysinfo: Allow showing model info from sysinfo

Some boards may want to show the SKU ID or other information obtained at
runtime. Allow this to come from sysinfo. The board can then provide a
sysinfo driver to provide it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agosandbox: Correct uninit conflict
Simon Glass [Mon, 15 Mar 2021 05:11:24 +0000 (18:11 +1300)]
sandbox: Correct uninit conflict

It is not possible to remove the state before driver model is uninited,
since the devices are allocated in the memory buffer. Also it is not
possible to uninit driver model afterwards, since the RAM has been
freed.

Drop the uninit altogether, since it is not actually necessary.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobootm: Skip command-line substitution if !CONFIG_CMDLINE
Simon Glass [Mon, 15 Mar 2021 05:11:23 +0000 (18:11 +1300)]
bootm: Skip command-line substitution if !CONFIG_CMDLINE

When there is no command line, we cannot enable this feature. Add a check
to avoid a build error.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobloblist: Make BLOBLIST_TABLES depend on BLOBLIST
Simon Glass [Mon, 15 Mar 2021 05:11:22 +0000 (18:11 +1300)]
bloblist: Make BLOBLIST_TABLES depend on BLOBLIST

Add an extra condition here since we cannot put x86 tables in a bloblist
when bloblists are not supported.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agocommand: Fix operation of !CONFIG_CMDLINE
Simon Glass [Mon, 15 Mar 2021 05:11:21 +0000 (18:11 +1300)]
command: Fix operation of !CONFIG_CMDLINE

The U_BOOT_CMDREP_COMPLETE() macro produces a build error if CONFIG_CMDLINE
is not enabled. Fix this by updating the macro to provide the 'repeatable'
arugment in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agodoc: Convert Chromium OS docs to rst
Simon Glass [Mon, 15 Mar 2021 05:11:20 +0000 (18:11 +1300)]
doc: Convert Chromium OS docs to rst

Move this documentation over to reST. Move the example files into a files/
directory so they are still separate.

Do a few minor updates while we are here:
- Tidy up sandbox build instructions
- Update my github account name
- Add some talks and links

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agomalloc: Export malloc_simple_info()
Simon Glass [Mon, 15 Mar 2021 05:11:19 +0000 (18:11 +1300)]
malloc: Export malloc_simple_info()

Export this function always so it can be used behind IS_ENABLED() instead
of requiring an #ifdef.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agocpu: Rename SPL_CPU_SUPPORT to SPL_CPU
Simon Glass [Mon, 15 Mar 2021 05:11:18 +0000 (18:11 +1300)]
cpu: Rename SPL_CPU_SUPPORT to SPL_CPU

The _SUPPORT suffix is from an earlier time and interferes with use of
the CONFIG_IS_ENABLED() macro. Rename the option to drop the suffix.

Tidy up the TODO that prompted this.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agosf: Support querying write-protect
Simon Glass [Mon, 15 Mar 2021 05:11:17 +0000 (18:11 +1300)]
sf: Support querying write-protect

This feature was dropped from U-Boot some time ago:

   f12f96cfaf5 (sf: Drop spl_flash_get_sw_write_prot")

However, we do need a way to see if a flash device is write-protected,
since if it is, it may not be possible to write to do (i.e. failing to
write is expected).

I am not sure of the correct layer to implement this, so this patch is a
stab at it. If spi-flash makes sense then I will add to the 'sf' also.

Re the points mentioned in the removal commit:

    1) This kind of requirement can be achieved using existing
       flash operations and flash locking API calls instead of
       making a separate flash API.

Which uclass is this?

    2) Technically there is no real hardware user for this API to
       use in the source tree.

I do want coral (at least) to support this.

    3) Having a flash operations API for simple register read bits
       also make difficult to extend the flash operations.

This new patch only mentions write-protect being on or off, rather than
the actual mechanism.

    4) Instead of touching generic code, it is possible to have
       this functionality inside spinor operations in the form of
       flash hooks or fixups for associated flash chips.

That sounds to me like what drivers are for. But we still need some sort
of API for it to be accessible.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobootstage: Warning if space is exhausted
Simon Glass [Mon, 15 Mar 2021 05:11:16 +0000 (18:11 +1300)]
bootstage: Warning if space is exhausted

At present bootstage silently ignores new records if it runs out of
space. It is sometimes obvious by looking at the report, but the IDs are
not contiguous, so it is easy to miss.

Aad a message so that action can be taken.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agospl: Split out bootstage ID into a function
Simon Glass [Mon, 15 Mar 2021 05:11:15 +0000 (18:11 +1300)]
spl: Split out bootstage ID into a function

We have two separate places that need to figure out the bootstage ID to
use. Put this code in a function so that the logic is in one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agobinman: Show a message when changing subnodes
Simon Glass [Mon, 15 Mar 2021 05:11:14 +0000 (18:11 +1300)]
binman: Show a message when changing subnodes

This change seems important enough to warrant a visible message. Change
the log_debug() to log_info().

Signed-off-by: Simon Glass <sjg@chromium.org>
3 years agotest: Silenece the echo and print tests
Simon Glass [Mon, 15 Mar 2021 05:11:13 +0000 (18:11 +1300)]
test: Silenece the echo and print tests

These tests current produce unwanted output on sandbox. Use the correct
functions to controller console output, to avoid this.

Signed-off-by: Simon Glass <sjg@chromium.org>