]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
3 years agoarm64: zynqmp: Use slg device for all resets
Michal Simek [Tue, 30 Nov 2021 14:17:24 +0000 (15:17 +0100)] 
arm64: zynqmp: Use slg device for all resets

All reset signals are active low that's why change level to proper values
and switch renaming resets over PS gpio to slg device too.
Reset over slg device has been proven by HW guys to be working properly.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Correct clock input for usb1
Michal Simek [Fri, 22 Oct 2021 06:45:24 +0000 (08:45 +0200)] 
arm64: zynqmp: Correct clock input for usb1

There is shared clock for usb0 and usb1.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Setup is-internal-pcspma property for kr260
Michal Simek [Fri, 29 Oct 2021 08:13:15 +0000 (10:13 +0200)] 
arm64: zynqmp: Setup is-internal-pcspma property for kr260

This flag is needed to setup gem to SGMII mode.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Enable DP driver for SOMs
Michal Simek [Tue, 26 Oct 2021 14:16:16 +0000 (16:16 +0200)] 
arm64: zynqmp: Enable DP driver for SOMs

The main reason is to send pmufw cfg overlay from U-Boot to PMUFW to enable
access to DP. Overlay is sent when cls command is called and for that IP
has to be enabled in carrier cards.
And IP needs to be also enabled in SOM dt because with DTB reselection new
DT is not parsed in pre reloc U-Boot instance. It is called from board_f
via embedded_dtb_select(). That's why bind function is not able to allocate
memory and it ends up with error:
"Video device 'display@fd4a0000' cannot allocate frame buffer memory -ensure the
device is set up before relocation"

To avoid this situation DP is placed also to SOM where bind function is
called and frame buffer memory is allocated and just reused after DTB
reselection. Result is the same. There could be a problem in Linux with
different DP configurations but that's need to be solved there because
console should be on from u-boot already.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add i2c-bus property for usb5744
Piyush Mehta [Fri, 8 Oct 2021 07:58:48 +0000 (13:28 +0530)] 
arm64: zynqmp: Add i2c-bus property for usb5744

Added "i2c-bus" property feature in usb5744 driver for I2C slaves
devices. Based on the I2C handler driver is initialize the I2C device
and trigger GPIO reset. If the property does not present then the
usb5744 driver acts as a non-I2C platform device.

Signed-off-by: Piyush Mehta <piyush.mehta@xilinx.com>
3 years agoarm64: zynqmp: Add gpio labels for modepin and slg nodes
Michal Simek [Fri, 22 Oct 2021 06:24:58 +0000 (08:24 +0200)] 
arm64: zynqmp: Add gpio labels for modepin and slg nodes

Using labels helps with better identifications of chips.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Change i2c address of i2c reset chip
Michal Simek [Thu, 23 Sep 2021 07:05:37 +0000 (09:05 +0200)] 
arm64: zynqmp: Change i2c address of i2c reset chip

Reset chip should be using address 0x11 not 0x10.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agousb: dwc3: Add support for usb3-phy PHY configuration
Michal Simek [Thu, 21 Oct 2021 14:54:17 +0000 (16:54 +0200)] 
usb: dwc3: Add support for usb3-phy PHY configuration

When usb3-phy label is found, PHY driver is called and serdes line is
initialized. This is preparation for serdes/psgtr driver to configure GT
lines based on description in DT.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agonet: gem: Reduce timeout of mdio phy idle status check
Ashok Reddy Soma [Mon, 11 Oct 2021 11:45:42 +0000 (05:45 -0600)] 
net: gem: Reduce timeout of mdio phy idle status check

Timeout for checking mdio phy idle status is 20seconds. In case of errors
this timeout will be too much. Reduce it to 100ms.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
3 years agonet: zynq: Add support for PHY configuration in SGMII mode
Michal Simek [Tue, 26 Oct 2021 12:26:18 +0000 (14:26 +0200)] 
net: zynq: Add support for PHY configuration in SGMII mode

SGMII configuration depends on proper GT setting that's why when node has
phys property call PSGTR driver to configure it properly.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agonet: zynq: Add support for mdio bus address decoding
Michal Simek [Tue, 26 Oct 2021 13:51:39 +0000 (15:51 +0200)] 
net: zynq: Add support for mdio bus address decoding

There are flying two configurations around.
The first (already supported) has phy as subnode of gem node.
The second has mdio subnode (with mdio name) which has phy subnode.

This patch adds support for the second case where mdio subnode
is found driver will look at its parent to find out which gem is handling
MDIO bus.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add resets to all GEMs
Michal Simek [Fri, 22 Oct 2021 14:40:55 +0000 (16:40 +0200)] 
arm64: zynqmp: Add resets to all GEMs

There is a need to get IP out of reset to operate properly.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agonet: zynq: Add support for GEM reset
Michal Simek [Fri, 22 Oct 2021 15:09:00 +0000 (17:09 +0200)] 
net: zynq: Add support for GEM reset

Perform reset before core initialization.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agopower: zynqmp: Add power domain driver for ZynqMP
Michal Simek [Tue, 30 Nov 2021 15:32:43 +0000 (16:32 +0100)] 
power: zynqmp: Add power domain driver for ZynqMP

Driver should be enabled by CONFIG_POWER_DOMAIN=y and
CONFIG_ZYNQMP_POWER_DOMAIN=y. Power domain driver doesn't have own DT node
but it uses zynqmp firmware DT node that's why there is a need to bind
driver when firmware node is found.

Driver itself is simple. It is sending pmufw config object overlay for
enabling access to device which is done in ...domain_request().
In ...domain_on() capabilities are passed and node is requested.
This should be bare minimum of required to get power domain driver working.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add command for disabling loading other overlays
Michal Simek [Tue, 16 Nov 2021 14:18:23 +0000 (15:18 +0100)] 
arm64: zynqmp: Add command for disabling loading other overlays

Add command "zynqmp pmufw node close" to disable permission to load
additional pmufw config overlays. This command will make sure that any
other sw will ask for changing permission.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoxilinx: firmware: Introduce zynqmp_pmufw_node() for loading PMU fragments
Michal Simek [Thu, 4 Nov 2021 10:32:46 +0000 (11:32 +0100)] 
xilinx: firmware: Introduce zynqmp_pmufw_node() for loading PMU fragments

Introduce zynqmp_pmufw_node() for loading PMU configuration fragment for
enabling IPs. Firmware driver has small overlay where NODE id is added and
config fragment is sent to PMUFW. There is a need to build PMUFW with
fragment support.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Add u-boot,dm-pre-reloc to dpsub node
Michal Simek [Mon, 18 Oct 2021 14:00:50 +0000 (16:00 +0200)] 
arm64: zynqmp: Add u-boot,dm-pre-reloc to dpsub node

u-boot,dm-pre-reloc is necessary for DP driver to allocate enough space for
framebuffer before relocation.
Power domain driver is called when video console is used for example by
loading BMP image.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Remove clock-names from GEM in zynqmp-clk-ccf.dtsi
Michal Simek [Fri, 22 Oct 2021 09:58:24 +0000 (11:58 +0200)] 
arm64: zynqmp: Remove clock-names from GEM in zynqmp-clk-ccf.dtsi

Remove clock-names from GEM nodes from clk-ccf because they should be only
present in zynqmp.dtsi. And as is visible both clock-names defined didn't
really match.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agogpio: slg7xl45106: Add support for slg7xl45106 i2c gpo expander
T Karthik Reddy [Thu, 21 Oct 2021 11:37:09 +0000 (05:37 -0600)] 
gpio: slg7xl45106: Add support for slg7xl45106 i2c gpo expander

slg7xl45106 is i2c based 8-bit gpo expander, gpo pins are set and get by
writing and reading corresponding gpo bit value into its data register.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
3 years agoclk: zynqmp: Add support for setting up clock for USB
Michal Simek [Fri, 29 Oct 2021 11:13:37 +0000 (13:13 +0200)] 
clk: zynqmp: Add support for setting up clock for USB

USB range is not enabled but for setting up frequency it is needed.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/c55c423f48ca8f953a2dfbdcb25068278d8e5ad6.1635506016.git.michal.simek@xilinx.com
3 years agoclk: zynqmp: Fix gem tx/rx/ref clock handling
Michal Simek [Fri, 29 Oct 2021 11:13:38 +0000 (13:13 +0200)] 
clk: zynqmp: Fix gem tx/rx/ref clock handling

gemX_ref clock IDs starts at number 104. Till now it was at gemX_tx
location which wasn't correct.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/d073e159b6316707306092a62bccb876cd89a602.1635506016.git.michal.simek@xilinx.com
3 years agoxilinx: firmware: Move dcache handling directly to pmufw load config
Michal Simek [Thu, 18 Nov 2021 12:00:02 +0000 (13:00 +0100)] 
xilinx: firmware: Move dcache handling directly to pmufw load config

Core function should make sure that data is stored properly that's why move
cache operations directly to zynqmp_pmufw_load_config_object() to be able
to call it from other functions.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/8c92edd3650ce34a3cfd1c1e4e9103980830b1fa.1637236800.git.michal.simek@xilinx.com
3 years agoMerge tag 'v2022.01-rc3' into master-next-test
Michal Simek [Tue, 30 Nov 2021 12:35:47 +0000 (13:35 +0100)] 
Merge tag 'v2022.01-rc3' into master-next-test

Prepare v2022.01-rc3

- Resolve issues in SPI framework by Ashok
- Use xilinx_spi driver
- Update GPIO_MODEPIN locations, selection
- Defconfig update
  "Add CONFIG_SYS_LOAD_ADDR to mini defconfigs" by Ashok
- Fix qspi merge issues by T Karthik

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agodts: versal: Remove unused interrupt index for mmc
Sai Krishna Potthuri [Mon, 29 Nov 2021 12:30:36 +0000 (18:00 +0530)] 
dts: versal: Remove unused interrupt index for mmc

Remove unused interrupt index for mmc.
This change fix the below dtbs check warning
"mmc@f1050000: interrupts: [[0, 128, 4], [0, 128, 4]] is too long".

Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
3 years agoPrepare v2022.01-rc3 v2022.01-rc3
Tom Rini [Mon, 29 Nov 2021 16:16:03 +0000 (11:16 -0500)] 
Prepare v2022.01-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoboard: iot2050: update build documentation for OP-TEE
Ivan Mikhaylov [Sun, 28 Nov 2021 21:57:01 +0000 (21:57 +0000)] 
board: iot2050: update build documentation for OP-TEE

Set ta-target explicitly to correspond with OP-TEE recipe in
siemens/meta-iot2050.

Errors without explicit set of ta-target:
aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mthumb’
aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mno-unaligned-access’
aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mfloat-abi=hard’
make: *** [mk/compile.mk:159: out/arm-plat-k3/ta_arm32-lib/libdl/dlfcn.o] Error 1

Signed-off-by: Ivan Mikhaylov <ivan.mikhaylov@siemens.com>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
3 years agoqemu: common: Fix build with update capsule
Vincent Stehlé [Wed, 24 Nov 2021 14:54:20 +0000 (15:54 +0100)] 
qemu: common: Fix build with update capsule

The common emulation Makefile has a dependency on a non-existent
qemu_capsule.o when building with support for capsule update enabled
(CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y).
The code which was in qemu_capsule.c has been completely moved to
lib/efi_loader/efi_capsule.c by commit 7a6fb28c8e4b ("efi_loader: capsule:
add back efi_get_public_key_data()").
Remove the false dependency.

This fixes the following build error:

  make[1]: *** No rule to make target 'board/emulation/common/qemu_capsule.o', needed by 'board/emulation/common/built-in.o'.  Stop.

Fixes: commit 47a25e81d35c ("Revert "efi_capsule: Move signature from DTB to .rodata"")
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Simon Glass <sjg@chromium.org>
3 years agofastboot: Add maintainers entry
Sean Anderson [Wed, 24 Nov 2021 04:33:11 +0000 (23:33 -0500)] 
fastboot: Add maintainers entry

Add an entry in maintainers for fastboot. It is starting off orphaned, but
hopefully someone can pick it up.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
3 years agoclk: Add myself as a maintainer for the clock subsystem
Sean Anderson [Wed, 24 Nov 2021 04:23:40 +0000 (23:23 -0500)] 
clk: Add myself as a maintainer for the clock subsystem

Lukasz has not been very responsive in reviewing clock patches. Add
myself as a maintainer.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Acked-by: Lukasz Majewski <lukma@denx.de>
3 years agoMerge tag 'efi-2022-01-rc3-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 26 Nov 2021 22:10:53 +0000 (17:10 -0500)] 
Merge tag 'efi-2022-01-rc3-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2022-01-rc3-2

Test:
* fix pylint warnings

UEFI:
* disable interrupts before removing devices in ExitBootServices()
* implement poweroff in efi_system_reset() on sandbox
* allow booting via EFI even if some block device fails

3 years agotest: fix pylint error in u_boot_console_exec_attach.py
Heinrich Schuchardt [Mon, 22 Nov 2021 23:01:49 +0000 (00:01 +0100)] 
test: fix pylint error in u_boot_console_exec_attach.py

* provide module docstring

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agotest: fix pylint error in u_boot_console_sandbox.py
Heinrich Schuchardt [Mon, 22 Nov 2021 23:01:48 +0000 (00:01 +0100)] 
test: fix pylint error in u_boot_console_sandbox.py

* provide module docstring

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agotest: fix pylint errors in u_boot_utils.py
Heinrich Schuchardt [Mon, 22 Nov 2021 23:01:47 +0000 (00:01 +0100)] 
test: fix pylint errors in u_boot_utils.py

* there is no os.path.unlink() method
* don't inherit from object
* add module docstring
* move imports to the top
* avoid unused variable

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agotest: fix pylint errors in u_boot_spawn.py
Heinrich Schuchardt [Mon, 22 Nov 2021 23:01:46 +0000 (00:01 +0100)] 
test: fix pylint errors in u_boot_spawn.py

* don't inherit from object
* imports should be on the top level
* avoid unused variable names
* avoid unnecessary else after raise

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agotest: fix pylint errors in multiplexed_log.py
Heinrich Schuchardt [Mon, 22 Nov 2021 23:01:45 +0000 (00:01 +0100)] 
test: fix pylint errors in multiplexed_log.py

* don't inherit from object
* remove superfluous comprehension
* add module docstring

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoefi_selftest: simplify endian conversion for FDT test
Heinrich Schuchardt [Thu, 25 Nov 2021 17:55:09 +0000 (18:55 +0100)] 
efi_selftest: simplify endian conversion for FDT test

UEFI code is always little-endian. Remove a superfluous test.

Remove a superfluous type conversion.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: segfault in efi_clear_os_indications()
Heinrich Schuchardt [Sat, 20 Nov 2021 10:53:12 +0000 (11:53 +0100)] 
efi_loader: segfault in efi_clear_os_indications()

If we call efi_clear_os_indications() before initializing the memory store
for UEFI variables a NULL pointer dereference occurs.

The error was observed on the sandbox with:

    usb start
    host bind 0 sandbox.img
    load host 0:1 $kernel_addr_r helloworld.efi
    bootefi $kernel_addr_r

Here efi_resister_disk() failed due to an error in the BTRFS implementation.

Move the logic to clear EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED
to the rest of the capsule code.

If CONFIG_EFI_IGNORE_OSINDICATIONS=y, we should still clear the flag.
If OsIndications does not exist, we should not create it as it is owned by
the operating system.

Fixes: 149108a3eb59 ("efi_loader: clear OsIndications")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agotest: address some pylint warnings
Heinrich Schuchardt [Mon, 22 Nov 2021 07:24:08 +0000 (08:24 +0100)] 
test: address some pylint warnings

* remove unused variables
* module description must precede import statements
* fix inconsistent return values

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agosandbox: poweroff in efi_system_reset()
Heinrich Schuchardt [Sat, 20 Nov 2021 13:49:18 +0000 (14:49 +0100)] 
sandbox: poweroff in efi_system_reset()

efi_system_reset() should exit if called with EFI_RESET_SHUTDOWN.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoefi_loader: efi_disk_register() should not fail
Heinrich Schuchardt [Sat, 20 Nov 2021 12:56:02 +0000 (13:56 +0100)] 
efi_loader: efi_disk_register() should not fail

Our algorithm for creating USB device paths may lead to duplicate device
paths which result in efi_disk_register() failing. Instead we should just
skip devices that cannot be registered as EFI block devices.

Fix a memory leak in efi_disk_add_dev() caused by the duplicate device
path.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi: Call bootm_disable_interrupts earlier in efi_exit_boot_services
Tom Rini [Fri, 19 Nov 2021 21:33:04 +0000 (16:33 -0500)] 
efi: Call bootm_disable_interrupts earlier in efi_exit_boot_services

If we look at the path that bootm/booti take when preparing to boot the
OS, we see that as part of (or prior to calling do_bootm_states,
explicitly) the process, bootm_disable_interrupts() is called prior to
announce_and_cleanup() which is where udc_disconnect() /
board_quiesce_devices() / dm_remove_devices_flags() are called from.  In
the EFI path, these are called afterwards.  In efi_exit_boot_services()
however we have been calling bootm_disable_interrupts() after the above
functions, as part of ensuring that we disable interrupts as required
by the spec.  However, bootm_disable_interrupts() is also where we go
and call usb_stop().  While this has been fine before, on the TI J721E
platform this leads us to an exception.  This exception seems likely to
be the case that we're trying to stop devices that we have already
disabled clocks for.  The most direct way to handle this particular
problem is to make EFI behave like the do_bootm_states() process and
ensure we call bootm_disable_interrupts() prior to ending up in
usb_stop().

Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Simon Glass <sjg@chromium.org>
Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoversal: Return ENVL_NOWHERE instead of ENVL_UNKNOWN
T Karthik Reddy [Wed, 24 Nov 2021 10:18:55 +0000 (03:18 -0700)] 
versal: Return ENVL_NOWHERE instead of ENVL_UNKNOWN

The system fails to boot without any environment location, so return
ENVL_NOWHERE when there's nowhere to store the environment instead
of ENVL_UNKNOWN.

The same change was also done by commit 50918d0df5cb ("xilinx: Return
ENVL_NOWHERE instead of ENVL_UNKNOWN") for zynq and zynqmp.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
3 years agoMerge branch 'efi-2022-01' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 20 Nov 2021 14:36:37 +0000 (09:36 -0500)] 
Merge branch 'efi-2022-01' of https://source.denx.de/u-boot/custodians/u-boot-efi

Scripts:
* Update spelling.txt

LMB:
* remove extern keyword in lmb.h
* drop unused lmb_size_bytes()

Test:
* test truncation in snprintf()

Documentation:
* add include/lmb.h to HTML documentation

UEFI:
* reduce non-debug logging output for measured boot
* fix use after free in measured boot
* startup the tpm device when installing the protocol
* implement EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES
* record capsule result only if capsule is read

3 years agoefi_loader: startup the tpm device when installing the protocol
Ilias Apalodimas [Thu, 18 Nov 2021 08:13:42 +0000 (10:13 +0200)] 
efi_loader: startup the tpm device when installing the protocol

Due to U-Boot's lazy binding mentality the TPM is probed but not properly
initialized.  The user can startup the device from the command line
e.g 'tpm2 startup TPM2_SU_CLEAR'.  However we can initialize the TPM during
the TCG protocol installation,  which is easier to use overall.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: fix FinalEvents table if an EFI app invoked GetEventLog
Ilias Apalodimas [Thu, 18 Nov 2021 07:03:39 +0000 (09:03 +0200)] 
efi_loader: fix FinalEvents table if an EFI app invoked GetEventLog

As described in the TCG spec [1] in sections 7.1.1 and 7.1.2 the FinalEvent
table should include events after GetEventLog has been called.  This
currently works for us as long as the kernel is the only EFI application
calling that.  Specifically we only implement what's described in 7.1.1.

So refactor the code a bit and support EFI application(s) calling
GetEventLog.  Events will now be logged in both the EventLog and FinalEvent
table as long as ExitBootServices haven't been invoked.

[1] https://trustedcomputinggroup.org/wp-content/uploads/EFI-Protocol-Specification-rev13-160330final.pdf

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoefi_loader: bump EFI_SPECIFICATION_VERSION to 2.9
Heinrich Schuchardt [Wed, 17 Nov 2021 17:55:59 +0000 (18:55 +0100)] 
efi_loader: bump EFI_SPECIFICATION_VERSION to 2.9

We have implemented all what is new in UEFI specification 2.9 and relevant
for U-Boot.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_selftest: unit test for EFI_GROUP_BEFORE_EXIT_BOOT_SERVICE
Heinrich Schuchardt [Wed, 17 Nov 2021 17:52:35 +0000 (18:52 +0100)] 
efi_selftest: unit test for EFI_GROUP_BEFORE_EXIT_BOOT_SERVICE

Add a test for the EFI_GROUP_BEFORE_EXIT_BOOT_SERVICE event group.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES
Heinrich Schuchardt [Tue, 16 Nov 2021 17:46:27 +0000 (18:46 +0100)] 
efi_loader: EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES

Implement the EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES event group
handling.

Add the definition of EFI_EVENT_GROUP_AFTER_READY_TO_BOOT.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoefi_loader: capsule: Record capsule result only if capsule is read
Masami Hiramatsu [Fri, 12 Nov 2021 13:05:15 +0000 (22:05 +0900)] 
efi_loader: capsule: Record capsule result only if capsule is read

Record capsule update result only if the capsule file is
successfully read, because the capsule GUID is not sure when
the file can not be read or the file is not a capsule.
Without this fix, if user puts a dummy (non-capsule) file
under (ESP)EFI/UpdateCapsule, U-Boot causes a synchronous
abort.

This also fixes use-after-free bug of the 'capsule' variable.

Fixes: c74cd8bd08d1 ("efi_loader: capsule: add capsule_on_disk support")
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoefi_loader: Reduce efi_tcg2 logging statement
Masahisa Kojima [Tue, 9 Nov 2021 11:35:53 +0000 (20:35 +0900)] 
efi_loader: Reduce efi_tcg2 logging statement

log_info() is used for the debug level logging statement
which should use log_debug() instead. Convert it to reduce the
log output.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: Sphinx comments in efi_api.h
Heinrich Schuchardt [Sat, 20 Nov 2021 08:28:54 +0000 (09:28 +0100)] 
efi_loader: Sphinx comments in efi_api.h

Fix incorrect Sphinx comments in efi_api.h:

* add missing 'struct'
* correct indentation

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi: add comment for efi_system_table and efi_configuration_table
Masahisa Kojima [Fri, 12 Nov 2021 07:24:27 +0000 (16:24 +0900)] 
efi: add comment for efi_system_table and efi_configuration_table

This commit adds the comment for efi_system_table and
efi_configuration_table structure.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agodoc: fix typos in trace.rst
Heinrich Schuchardt [Tue, 16 Nov 2021 17:38:47 +0000 (18:38 +0100)] 
doc: fix typos in trace.rst

Fix obvious typos. Use US spelling consistently.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoscripts: update spelling.txt from upstream Linux
Heinrich Schuchardt [Tue, 16 Nov 2021 17:56:43 +0000 (18:56 +0100)] 
scripts: update spelling.txt from upstream Linux

This list is used by checkpatch.pl. The Linux v5.15 version has several
words that where mispelled in U-Boot too.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agotest: test truncation in snprintf()
Heinrich Schuchardt [Mon, 15 Nov 2021 18:06:55 +0000 (19:06 +0100)] 
test: test truncation in snprintf()

Test that the return value of snprintf() is correct in the case of
truncation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agolmb: fix typo 'commun'
Heinrich Schuchardt [Sun, 14 Nov 2021 08:38:53 +0000 (09:38 +0100)] 
lmb: fix typo 'commun'

%s/commun/common/

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agolmb: drop unused lmb_size_bytes()
Heinrich Schuchardt [Sun, 14 Nov 2021 08:03:27 +0000 (09:03 +0100)] 
lmb: drop unused lmb_size_bytes()

lmb_size_bytes() is unused.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agolmb: remove extern keyword in lmb.h
Heinrich Schuchardt [Sun, 14 Nov 2021 07:52:48 +0000 (08:52 +0100)] 
lmb: remove extern keyword in lmb.h

The extern keyword is not needed in include/lmb.h to declare functions.
Remove it.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodoc: add include/lmb.h to the HTML documentation
Heinrich Schuchardt [Sun, 14 Nov 2021 07:43:07 +0000 (08:43 +0100)] 
doc: add include/lmb.h to the HTML documentation

Correct Sphinx style comments in include/lmb.h

Add the logical memory block API to the HTML documentation.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agolmb: remove lmb_is_nomap() from include
Heinrich Schuchardt [Sun, 14 Nov 2021 07:41:07 +0000 (08:41 +0100)] 
lmb: remove lmb_is_nomap() from include

Defining static functions in includes should be avoided.
Function lmb_is_nomap() is only used in the unit test.
So move it to the unit test.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoMerge tag 'u-boot-amlogic-20211119' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Fri, 19 Nov 2021 21:33:33 +0000 (16:33 -0500)] 
Merge tag 'u-boot-amlogic-20211119' of https://source.denx.de/u-boot/custodians/u-boot-amlogic

- pinctrl: Correct the driver GPIO declaration
- meson64_android: handle errors on boot and run fastboot on boot failure

3 years agoMerge tag 'tpm-19112021' of https://source.denx.de/u-boot/custodians/u-boot-tpm
Tom Rini [Fri, 19 Nov 2021 21:33:23 +0000 (16:33 -0500)] 
Merge tag 'tpm-19112021' of https://source.denx.de/u-boot/custodians/u-boot-tpm

TPM1.2 and Atmel fixes

# gpg verification failed.

3 years agoconfigs: meson64_android: add PANIC stage for SYSTEM fails
Neil Armstrong [Wed, 17 Nov 2021 11:04:11 +0000 (12:04 +0100)] 
configs: meson64_android: add PANIC stage for SYSTEM fails

If bootloader was updated without running oem format, reboot will cause
boot loop because the SYSTEM stage fails.

Add a final PANIC stage running fastboot to permit recovery.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
3 years agoconfigs: meson64_android: bypass other checks on run_fastboot=1
Neil Armstrong [Wed, 17 Nov 2021 11:04:10 +0000 (12:04 +0100)] 
configs: meson64_android: bypass other checks on run_fastboot=1

This can lead to GPT and BCB errors even if fastboot was selected early
by usb rom boot and the eMMC is blank/invalid.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
3 years agopinctrl: meson: Correct the driver GPIO declaration
Simon Glass [Sat, 13 Nov 2021 14:07:15 +0000 (07:07 -0700)] 
pinctrl: meson: Correct the driver GPIO declaration

This should use the provided U_BOOT_DRIVER() macro so that the driver gets
added to the appropriate linker list. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 7c9dcfed50f ("pinctrl: meson: rework gx pmx function")
Reported-by: Tom Rini <trini@konsulko.com>
Tested-by: Tom Rini <trini@konsulko.com> on libretech-cc
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
3 years agoMerge branch '2021-11-18-regression-fixes'
Tom Rini [Thu, 18 Nov 2021 23:25:19 +0000 (18:25 -0500)] 
Merge branch '2021-11-18-regression-fixes'

- An assortment of fixes related to GD, GD_FLG_SKIP_RELOC, and the lmb
- Environment fix on synquacer developmentbox
- Fix for get_info is not valid in partition code

3 years agoarm64: Add missing GD_FLG_SKIP_RELOC handling
Marek Vasut [Sat, 13 Nov 2021 17:34:59 +0000 (18:34 +0100)] 
arm64: Add missing GD_FLG_SKIP_RELOC handling

In case U-Boot enters relocation with GD_FLG_SKIP_RELOC, skip the
relocation. The code still has to set up new_gd pointer and new
stack pointer.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
3 years agolmb: Reserve U-Boot separately if relocation is disabled
Marek Vasut [Sat, 13 Nov 2021 17:34:37 +0000 (18:34 +0100)] 
lmb: Reserve U-Boot separately if relocation is disabled

In case U-Boot starts with GD_FLG_SKIP_RELOC, the U-Boot code is
not relocated, however the stack and heap is at the end of DRAM
after relocation. Reserve a LMB area for the non-relocated U-Boot
code so it won't be overwritten.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
3 years agoboard_f: Copy GD to new GD even if relocation disabled
Marek Vasut [Sat, 13 Nov 2021 17:34:04 +0000 (18:34 +0100)] 
board_f: Copy GD to new GD even if relocation disabled

Even if U-Boot has relocation disabled via GD_FLG_SKIP_RELOC , the
relocated stage of U-Boot still picks GD from new_gd location. The
U-Boot itself is not relocated, but GD might be, so copy the GD to
new GD location even if relocation is disabled.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Peng Fan <peng.fan@oss.nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
3 years agopart: return -ENOSYS when get_info not valid.
schspa [Wed, 20 Oct 2021 12:15:55 +0000 (20:15 +0800)] 
part: return -ENOSYS when get_info not valid.

In some case, get_info() interface can be NULL, add this check to stop
from crash.

Signed-off-by: schspa <schspa@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoRevert "board: synquacer: developerbox: Don't set gd->env_addr to default_environment"
Masami Hiramatsu [Thu, 18 Nov 2021 05:45:25 +0000 (14:45 +0900)] 
Revert "board: synquacer: developerbox: Don't set gd->env_addr to default_environment"

Without default setting of gd->env_addr, U-Boot will cause
a synchronous abort if the env-variables on the SPI flash is
broken or not saved corectly. Set gd->env_addr correctly.

This reverts commit 535870f3b0fb09ee9b2885409f05304111464643.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
3 years agozynqmp: gpio: Add support for zynqmp gpio modepin driver
T Karthik Reddy [Thu, 21 Oct 2021 09:04:06 +0000 (03:04 -0600)] 
zynqmp: gpio: Add support for zynqmp gpio modepin driver

ZynqMP modepin driver has capability to get/set/check status of modepin
gpios. These modepins are accessed using xilinx firmware. In modepin
register, [3:0] bits set direction, [7:4] bits read IO, [11:8] bits
set/clear IO.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
3 years agodrivers: tpm: atmel_twi: fix printf specifier compile warning
Mathew McBride [Thu, 11 Nov 2021 04:06:31 +0000 (04:06 +0000)] 
drivers: tpm: atmel_twi: fix printf specifier compile warning

%d was being used as the specifier for size_t, leading to a
compiler warning

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodrivers: tpm: atmel_twi: implement get_desc operation
Mathew McBride [Thu, 11 Nov 2021 04:06:30 +0000 (04:06 +0000)] 
drivers: tpm: atmel_twi: implement get_desc operation

Without get_desc, the tpm command will not provide a
description of the device in 'tpm device' or 'tpm info'.

Due to the characteristics of the Atmel TPM it isn't
possible to determine certain attributes (e.g open/close
status) without using the TPM stack (compare Infineon
and ST TPM drivers), so just print out the chip model
and udevice name as the identifier.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodrivers: tpm: atmel_twi: do not use an offset byte
Mathew McBride [Thu, 11 Nov 2021 04:06:29 +0000 (04:06 +0000)] 
drivers: tpm: atmel_twi: do not use an offset byte

This driver was broken due to an empty offset byte being prepended
at the start of every transmission.

The hardware does not mimic an EEPROM device with registers so
an offset byte is not required.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agodrivers: tpm: atmel_twi: drop non-DM_I2C compatibility
Mathew McBride [Thu, 11 Nov 2021 04:06:28 +0000 (04:06 +0000)] 
drivers: tpm: atmel_twi: drop non-DM_I2C compatibility

There are no users of this driver without DM_I2C

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agocmd: tpm-v1: fix load_key_by_sha1 compile errors
Mathew McBride [Thu, 11 Nov 2021 04:06:27 +0000 (04:06 +0000)] 
cmd: tpm-v1: fix load_key_by_sha1 compile errors

This command is not compiled by default and has not been updated alongside
changes to the tpmv1 API, such as passing the TPM udevice to the relevant
functions.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agocmd: tpm-v1: fix compile error in TPMv1 list resources command
Mathew McBride [Thu, 11 Nov 2021 04:06:26 +0000 (04:06 +0000)] 
cmd: tpm-v1: fix compile error in TPMv1 list resources command

This command is not compiled by default and was not
updated to pass the udevice to tpm_get_capability.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agoMerge branch '2021-11-15-assorted-fixes'
Tom Rini [Tue, 16 Nov 2021 19:23:30 +0000 (14:23 -0500)] 
Merge branch '2021-11-15-assorted-fixes'

- Rename "tqc" to "tq" and related updates
- Assorted minor ARM updates, build updates and documentation updates

3 years agoMerge tag 'xilinx-for-v2022.01-rc3' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Tue, 16 Nov 2021 14:51:04 +0000 (09:51 -0500)] 
Merge tag 'xilinx-for-v2022.01-rc3' of https://source.denx.de/u-boot/custodians/u-boot-microblaze

Xilinx changes for v2022.01-rc3

sdhci:
- Fix emmc mini case with missing firmware interface

zynqmp:
- Restore JTAG interface if required
- Allow overriding board name
- Add support for DLC21
- Fix one fallthrought statement description
- Use config macro instead of name duplication
- Save multiboot to variable

firmware:
- Handle ipi_req errors better
- Use local buffer in case user doesn't need it instead of NULL/0 location

spi:
- gqsi: Fix write issue at low frequencies

net:
- gem: Disable broadcasts

3 years agoimage: Explicitly declare do_bdinfo()
Andy Shevchenko [Mon, 8 Nov 2021 18:03:38 +0000 (21:03 +0300)] 
image: Explicitly declare do_bdinfo()

Compiler is not happy:

common/image-board.c: In function ‘boot_get_kbd’:
common/image-board.c:902:17: warning: implicit declaration of function ‘do_bdinfo’ [-Wimplicit-function-declaration]
  902 |                 do_bdinfo(NULL, 0, 0, NULL);
      |                 ^~~~~~~~~

Move the forward declaration to a header.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agousb: doc: Fix spelling issues in README.usb
Andy Shevchenko [Fri, 12 Nov 2021 15:37:47 +0000 (18:37 +0300)] 
usb: doc: Fix spelling issues in README.usb

Fix spelling issues in README.usb.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
3 years agoarm: Fix bad memcpy.S str8w macro argument count
Pierre-Clément Tosi [Wed, 10 Nov 2021 14:04:40 +0000 (15:04 +0100)] 
arm: Fix bad memcpy.S str8w macro argument count

Remove the extra (empty) argument passed to str8w, causing the following
error:

   <instantiation>:40:47: error: too many positional arguments
     str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f
                                                 ^
   u-boot/arch/arm/lib/memcpy.S:240:5: note: while in macro instantiation
   17: forward_copy_shift pull=16 push=16
       ^

Note: no functional change intended.

Fixes: d8834a1323af ("arm: Use optimized memcpy and memset from linux")
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
3 years agoconfigs: synquacer: Fix dfu_alt_info to use nor1
Masami Hiramatsu [Wed, 10 Nov 2021 00:40:07 +0000 (09:40 +0900)] 
configs: synquacer: Fix dfu_alt_info to use nor1

Fix dfu_alt_info to use nor1 instead of the device name.
This reverts a part of commit 59bd18d4c4d7 ("configs: synquacer:
Remove mtdparts settings and update DFU setting") because the
commit a4f2d8341455 ("mtd: spi: nor: force mtd name to "nor%d"")
changed the mtd device naming scheme to nor%d.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 years agomakefile: add missing semicolons
Angelo Dureghello [Fri, 5 Nov 2021 15:20:24 +0000 (16:20 +0100)] 
makefile: add missing semicolons

On some distributions, as Debian GNU 11, this targets fails
with errors.

Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com>
3 years agoboard: tq: fix spelling of "TQ-Systems"
Matthias Schiffer [Tue, 2 Nov 2021 10:36:46 +0000 (11:36 +0100)] 
board: tq: fix spelling of "TQ-Systems"

"TQ-Systems" is written with a dash.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
3 years agoboard: rename "tqc" vendor to "tq"
Matthias Schiffer [Tue, 2 Nov 2021 10:36:45 +0000 (11:36 +0100)] 
board: rename "tqc" vendor to "tq"

The subdivision name "TQ Components" hasn't been in use for a long time.
Rename the vendor directory to "tq", which also matches our Device Tree
vendor prefix.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
3 years agoarm64: relocate-rela: Add support for ld.lld
Alistair Delva [Wed, 20 Oct 2021 21:31:32 +0000 (21:31 +0000)] 
arm64: relocate-rela: Add support for ld.lld

Cap end of relocations by the binary size.

Linkers like to insert some auxiliary sections between .rela.dyn and
.bss_start. These sections don't make their way to the final binary, but
reloc_rela still tries to relocate them, resulting in attempted read
past the end of file.

When linking U-Boot with ld.lld, the STATIC_RELA feature (enabled by
default on arm64) breaks the build. After this patch, U-Boot can be
linked successfully with and without CONFIG_STATIC_RELA.

Originally-from: Elena Petrova <lenaptr@google.com>
Signed-off-by: Alistair Delva <adelva@google.com>
Cc: David Brazdil <dbrazdil@google.com>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Tom Rini <trini@konsulko.com>
3 years agoPrepare v2022.01-rc2 v2022.01-rc2
Tom Rini [Mon, 15 Nov 2021 16:58:37 +0000 (11:58 -0500)] 
Prepare v2022.01-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agousb: Make USB_MUSB_PIO_ONLY selected by USB_MUSB_SUNXI
Samuel Dionne-Riel [Wed, 27 Nov 2019 19:56:02 +0000 (14:56 -0500)] 
usb: Make USB_MUSB_PIO_ONLY selected by USB_MUSB_SUNXI

This ensures the USB_MUSB_PIO_ONLY config is set to an apppropriate
value from the changes enabling USB_MUSB_GADGET does.

Namely, USB_MUSB_PIO_ONLY default to =y on USB_MUSB_SUNXI being y.

Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
3 years agoxilinx: zynqmp: fix ZYNQMP_RESTORE_JTAG check
Ricardo Salveti [Thu, 4 Nov 2021 19:28:02 +0000 (16:28 -0300)] 
xilinx: zynqmp: fix ZYNQMP_RESTORE_JTAG check

Config check should be done without the SPL_ prefix.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
Link: https://lore.kernel.org/r/20211104192802.3093811-1-ricardo@foundries.io
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agomtd: spi-nor: Fix SST flash erase issue
T Karthik Reddy [Tue, 9 Nov 2021 12:19:59 +0000 (05:19 -0700)] 
mtd: spi-nor: Fix SST flash erase issue

SST flashes has multi size erase blocks like 8K, 32K and 64K bytes. We
cannot perform a 64KB sector erase on all the blocks, So use 4k sector
erase command to perform an erase operation.
We could enable SPI_FLASH_USE_4K_SECTORS config to use 4K sector erase.
But it will impact erase operation time on all large memory flashes.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
3 years agomtd: spi-nor: Fix SST flash protection unlock issue
T Karthik Reddy [Tue, 9 Nov 2021 12:19:58 +0000 (05:19 -0700)] 
mtd: spi-nor: Fix SST flash protection unlock issue

In current implementation WBPR is being written without setting write
enable latch. So fix this issue by setting write enable latch before
accessing WBPR. Also wait till the Write In Progress(WIP) bit is set.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
3 years agousb: dwc3: Update REFCLK_FLADJ for frame length adjustment
Ashok Reddy Soma [Wed, 10 Nov 2021 13:58:00 +0000 (06:58 -0700)] 
usb: dwc3: Update REFCLK_FLADJ for frame length adjustment

Remove unwanted condition check for frame length adjustment.

For ZynqMP / Versal the ref clk is set to 20Mhz frequency and it is always
recommended. For 20Mhz frequency the refclk_fladj value should be 0, so
clear bits 21:8 in GFLADJ register.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
3 years agoarm64: zynqmp: Set qspi tx-buswidth to 4
Amit Kumar Mahapatra [Thu, 11 Nov 2021 13:42:48 +0000 (19:12 +0530)] 
arm64: zynqmp: Set qspi tx-buswidth to 4

In all the ZynqMP & Versal boards dts files tx-buswidth is by default
set to 1. Due to this the framework only issues 1-1-1 write commands to
the GQSPI driver. But the GQSPI controller is capable of handling 1-4-4
write commands, so updated the tx-buswidth to 4 in ZynqMP & Versal boards
dts files. This would enable the spi-nor framework to issue 1-4-4 write
commands instead of 1-1-1. This will increase the tx data transfer rate,
as now the tx data will be transferred on four lines instead on single line.

Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
3 years agoDockerfile, CI: Update to latest "focal" tag
Tom Rini [Sat, 13 Nov 2021 23:37:00 +0000 (18:37 -0500)] 
Dockerfile, CI: Update to latest "focal" tag

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoDockerfile: build swtpm
Heinrich Schuchardt [Tue, 9 Nov 2021 18:51:20 +0000 (19:51 +0100)] 
Dockerfile: build swtpm

For testing the TPM drivers and the EFI_TCG2_PROTOCOL we need the tool
swtpm.

Once we move to Ubuntu Impish we can take libtpms from package libtpms-dev.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 years agoMerge tag 'dm-pull-13nov21' of https://source.denx.de/u-boot/custodians/u-boot-dm
Tom Rini [Sun, 14 Nov 2021 02:14:51 +0000 (21:14 -0500)] 
Merge tag 'dm-pull-13nov21' of https://source.denx.de/u-boot/custodians/u-boot-dm

env tidy-ups
test fixes
binman fixes and ELF enhancements

3 years agoMerge tag 'efi-2022-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 13 Nov 2021 23:13:35 +0000 (18:13 -0500)] 
Merge tag 'efi-2022-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2022-01-rc2-2

UEFI:
* fix measurement of BootOrder variable for TCG2 protocol

TPM:
* TIS mmio driver. This driver supports QEMU's emulated TPM.

3 years agobinman: Fix replace subcommand help and comments
Jan Kiszka [Thu, 11 Nov 2021 07:13:30 +0000 (08:13 +0100)] 
binman: Fix replace subcommand help and comments

Fix some copy&paste artifacts.

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