platform/kernel/u-boot.git
3 years agodisk: gpt: verify alternate LBA points to last usable LBA
Stefan Herbrechtsmeier [Mon, 8 Mar 2021 16:07:11 +0000 (16:07 +0000)]
disk: gpt: verify alternate LBA points to last usable LBA

The gpt command require the GPT backup header at the standard location
at the end of the device. Check the alternate LBA value before reading
the GPT backup header from the last usable LBA of the device.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agocmd: xtrace: Convert to bool
Sean Anderson [Thu, 4 Mar 2021 16:34:23 +0000 (11:34 -0500)]
cmd: xtrace: Convert to bool

This variable is a boolean, not a string.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agopci: Mark 64bit Memory BARs as such
Phil Sutter [Wed, 3 Mar 2021 00:57:35 +0000 (01:57 +0100)]
pci: Mark 64bit Memory BARs as such

Just a bit more info to the reader.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Reviewed-by: Stefan Roese <sr@denx.de>
3 years agohush: Fix assignments being misinterpreted as commands
Sean Anderson [Sun, 28 Feb 2021 21:29:51 +0000 (16:29 -0500)]
hush: Fix assignments being misinterpreted as commands

If there were no variable substitutions in a command, then initial
assignments would be misinterpreted as commands, instead of being skipped
over. This is demonstrated by the following example:

=> foo=bar echo baz
Unknown command 'foo=bar' - try 'help'

Signed-off-by: Sean Anderson <seanga2@gmail.com>
3 years agomtd: Update fail_addr when erase fails due to bad blocks
Farhan Ali [Wed, 24 Feb 2021 23:25:53 +0000 (15:25 -0800)]
mtd: Update fail_addr when erase fails due to bad blocks

For all other erase failures, the fail_addr is updated with the
failing address. Only in the case of erase failure due to bad block
detection, the fail_addr is not updated. This change simply updates
the fail_addr for this specific scenario so that it is consistent with
the rest of the code.

Signed-off-by: Farhan Ali <farhan.ali@broadcom.com>
3 years agoTegra: remove e2220-1170 board
Peter Robinson [Wed, 17 Feb 2021 17:06:53 +0000 (17:06 +0000)]
Tegra: remove e2220-1170 board

It's an old bringup board with out upstream Linux or L4T support

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Tom Warren <twarren@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
3 years agobootm: do not hang on failure
Heinrich Schuchardt [Wed, 17 Feb 2021 11:55:54 +0000 (12:55 +0100)]
bootm: do not hang on failure

On ARMv8 systems

    load mmc 0:1 $loadaddr  vmlinuz-5.10.0-3-arm64
    booti

leads to a hanging system requiring to physically reset the system:

    FDT and ATAGS support not compiled in - hanging
    ### ERROR ### Please RESET the board ###

For systems where physical access is difficult hanging is a poor choice.
It is preferable to reset the system when U-Boot reaches a state that is
not recoverable.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agohash: Allow for SHA512 hardware implementations
Joel Stanley [Wed, 17 Feb 2021 03:20:42 +0000 (13:50 +1030)]
hash: Allow for SHA512 hardware implementations

Similar to support for SHA1 and SHA256, allow the use of hardware hashing
engine by enabling the algorithm and setting  CONFIG_SHA_HW_ACCEL /
CONFIG_SHA_PROG_HW_ACCEL.

Signed-off-by: Joel Stanley <joel@jms.id.au>
3 years agohw_sha: Fix coding style errors
Joel Stanley [Wed, 17 Feb 2021 03:20:40 +0000 (13:50 +1030)]
hw_sha: Fix coding style errors

Checkpatch complains about:

 ERROR: "foo * bar" should be "foo *bar"

and

 CHECK: Alignment should match open parenthesis

Signed-off-by: Joel Stanley <joel@jms.id.au>
3 years agolib: optee: migration optee_copy_fdt_nodes for OF_LIVE support
Patrick Delaunay [Mon, 8 Feb 2021 12:54:31 +0000 (13:54 +0100)]
lib: optee: migration optee_copy_fdt_nodes for OF_LIVE support

The optee_copy_fdt_nodes is only used to copy op-tee nodes
of U-Boot device tree (from gd->fdt_blob when OF_LIVE is not activated)
to external device tree but it is not compatible with OF_LIVE.

This patch migrates all used function fdt_ functions to read node on
old_blob to ofnode functions, compatible with OF_LIVE and remove this
parameter "old_blob".

The generated "device tree" is checked on stm32mp platform with OF_LIVE
activated.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 years agopower: pmic: remove pmic_max77696.c file
Jaehoon Chung [Thu, 28 Jan 2021 11:42:34 +0000 (20:42 +0900)]
power: pmic: remove pmic_max77696.c file

Remove pmic_max77696.c file.
The maintaining pmic_max77696.c file is useless.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agoboard: warp: add power_max77696_init() function
Jaehoon Chung [Thu, 28 Jan 2021 11:42:33 +0000 (20:42 +0900)]
board: warp: add power_max77696_init() function

Add power_max77696_init() function.
Since warp doesn't support DM, the keeping its code in board file is
better than maintainig the file of driver.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agoMerge branch '2021-04-11-remove-non-migrated-boards'
Tom Rini [Sun, 11 Apr 2021 18:11:05 +0000 (14:11 -0400)]
Merge branch '2021-04-11-remove-non-migrated-boards'

- Remove a large number of boards that have not migrated to DM_MMC, for
  which the migration deadline with 2 years ago at v2019.04.

3 years agoMerge tag 'video-2021-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Sun, 11 Apr 2021 11:40:25 +0000 (07:40 -0400)]
Merge tag 'video-2021-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-video

 - rk3399 eDP support
 - pwm backlight without a known period_ns
 - add Chrome OS EC PWM driver
 - Kconfig SIMPLE_PANEL DM_GPIO dependency
 - remove mb862xx driver remnants
 - fix KiB format in reserve_video() debug trace
 - fix tegra124 sor CSTM LVDS_EN_ENABLE/DISABLE config
 - fix line padding calculation for 16 and 24 BPP bitmaps

3 years agoMerge tag 'efi-2021-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 10 Apr 2021 20:56:59 +0000 (16:56 -0400)]
Merge tag 'efi-2021-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2021-07-rc1

Bug fixes:

* support EFI, HOST, VIRTIO in fsinfo command
* simplify efi_get_device_path_text()
* add missing EFI_UNACCEPTED_MEMORY_TYPE
* mkeficapsule: improve online help
* avoid several build warnings

Documentation:

* UEFI documentation for initrd loading options
* describe building OP-TEE with for UEFI variables
* mmc man-page

3 years agoppc: Remove MPC837XEMDS board
Tom Rini [Sat, 10 Apr 2021 14:58:56 +0000 (10:58 -0400)]
ppc: Remove MPC837XEMDS board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agovideo: Fix line padding calculation for 16 and 24 BPP bitmaps
Sylwester Nawrocki [Tue, 1 Dec 2020 11:30:50 +0000 (12:30 +0100)]
video: Fix line padding calculation for 16 and 24 BPP bitmaps

Each row in the pixel array in the bitmap file is padded
if necessary so the row size is always a multiple of 4 bytes.
In current code the complement of row size to a multiple of
4 bytes is further unnecessarily multiplied by the pixel size.
This results in incorrect displaying of bitmaps having row size
that is not a multiple of 4 bytes. Fix this by removing
the unnecessary multiplication.

Tested with 24BPP bitmap and XRGB32 display.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agotegra: video: fix tegra_dc_sor_config_panel()
Heinrich Schuchardt [Sun, 4 Apr 2021 23:48:51 +0000 (01:48 +0200)]
tegra: video: fix tegra_dc_sor_config_panel()

Bitwise OR has a higher operator precedence than the ternary conditional.
Add the missing parentheses.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoboard_f: cosmetic: change the debug trace to KB in reserve_video
Patrick Delaunay [Fri, 9 Apr 2021 16:02:06 +0000 (18:02 +0200)]
board_f: cosmetic: change the debug trace to KB in reserve_video

Update the debug trace for the reserved video memory to KB as indicated
in the message with "%luk"; before the patch the computed size
gd->relocaddr - addr is in bytes.

This patch aligns the debug trace in reserve_video() with others
functions, for example on stm32mp157c-dk2:

  - Reserving 3080192k for video at: dfd00000
  + Reserving 3008k for video at: dfd00000
    Reserving 873k for U-Boot at: dfc25000
    Reserving 32776k for malloc() at: ddc23000
    Reserving 72 Bytes for Board Info at: ddc22fb0
    Reserving 280 Bytes for Global Data at: ddc22e90
    Reserving 119072 Bytes for FDT at: ddc05d70
    Reserving 0x278 Bytes for bootstage at: ddc05af0

Fixes: 5630d2fbc50f3035 ("board: Show memory for frame buffers")
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agofinish removing mb862xx video driver
Trevor Woerner [Mon, 15 Mar 2021 22:52:45 +0000 (18:52 -0400)]
finish removing mb862xx video driver

drivers/video/mb862xx.c was removed in commit
9c1e098fb92de38f0017585658dd50c3009c84ab from December 2020, however, this
last little remnant in drivers/video/cfb_console.c remained.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
3 years agovideo: SIMPLE_PANEL depends on DM_GPIO
Asherah Connor [Wed, 3 Mar 2021 03:46:47 +0000 (14:46 +1100)]
video: SIMPLE_PANEL depends on DM_GPIO

SIMPLE_PANEL currently only depends on PANEL && BACKLIGHT, but the code
makes references to dm_gpio_set_value and gpio_request_by_name.  These
are defined in drivers/gpio/gpio-uclass.c, so a dependency on DM_GPIO
corrects these link errors:

aarch64-linux-gnu-ld.bfd: drivers/built-in.o: in function `simple_panel_set_backlight':
/home/kameliya/u-boot/drivers/video/simple_panel.c:42: undefined reference to `dm_gpio_set_value'
aarch64-linux-gnu-ld.bfd: drivers/built-in.o: in function `simple_panel_enable_backlight':
/home/kameliya/u-boot/drivers/video/simple_panel.c:27: undefined reference to `dm_gpio_set_value'
aarch64-linux-gnu-ld.bfd: drivers/built-in.o: in function `simple_panel_of_to_plat':
/home/kameliya/u-boot/drivers/video/simple_panel.c:72: undefined reference to `gpio_request_by_name'

This issue is only exposed if you have a board which enables
CONFIG_DM_VIDEO without CONFIG_DM_GPIO; so far, none do, but soon a QEMU
board may.

Signed-off-by: Asherah Connor <ashe@kivikakk.ee>
3 years agopwm: Add a driver for Chrome OS EC PWM
Alper Nebi Yasak [Thu, 22 Oct 2020 20:49:27 +0000 (23:49 +0300)]
pwm: Add a driver for Chrome OS EC PWM

This PWM is used in rk3399-gru-bob and rk3399-gru-kevin to control
the display brightness. We can only change the duty cycle, so on
set_config() we just try to match the duty cycle that dividing duty_ns
by period_ns gives us. To disable, we set the duty cycle to zero while
keeping the old value for when we want to re-enable it.

The cros_ec_set_pwm_duty() function is taken from Depthcharge's
cros_ec_set_bl_pwm_duty() but modified to use the generic pwm type.
The driver itself is very loosely based on rk_pwm.c for the general pwm
driver structure.

The devicetree binding file is from Linux, before it was converted to
YAML at 5df5a577a6b4 ("dt-bindings: pwm: Convert google,cros-ec-pwm.txt
to YAML format") in their repo.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agovideo: backlight: Support PWMs without a known period_ns
Alper Nebi Yasak [Thu, 22 Oct 2020 20:49:26 +0000 (23:49 +0300)]
video: backlight: Support PWMs without a known period_ns

The PWM device provided by Chrome OS EC doesn't really support anything
other than setting a relative duty cycle. To support it as a backlight,
this patch makes the PWM period optional in the device tree and pretends
the valid brightness range is its period_ns.

Also adds a sandbox test for a PWM channel that has a fixed period,
checking that the resulting duty_cycle matches on a set_config() even if
the requested period_ns can't be set.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoppc: Remove Cyrus_P5020 and P5040 boards
Tom Rini [Sun, 21 Feb 2021 01:06:30 +0000 (20:06 -0500)]
ppc: Remove Cyrus_P5020 and P5040 boards

These boards have not been converted to CONFIG_DM_MMC by the deadline.
Remove them.  As the P5020 is the last ARCH_P5020 platform, remove that
support as well.

Cc: Andy Fleming <afleming@gmail.com>
Cc: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
3 years agoppc: Remove ARCH_P1022 support
Tom Rini [Sun, 21 Feb 2021 01:06:26 +0000 (20:06 -0500)]
ppc: Remove ARCH_P1022 support

With the last of the ARCH_P1022 platforms removed, finish removing the
rest of the platform support.

Cc: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
3 years agoppc: Remove controlcenterd boards
Tom Rini [Sun, 21 Feb 2021 01:06:25 +0000 (20:06 -0500)]
ppc: Remove controlcenterd boards

These boards have not been converted to CONFIG_DM_MMC by the deadline.
Remove them.

Cc: Mario Six <mario.six@gdsys.cc>
Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoppc: Remove gdsys hrcon boards
Tom Rini [Sun, 21 Feb 2021 01:06:24 +0000 (20:06 -0500)]
ppc: Remove gdsys hrcon boards

These boards have not been converted to CONFIG_DM_MMC, along with other
DM conversions, by the deadline.  Remove them.

Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoppc: Remove gdsys strider boards
Tom Rini [Sun, 21 Feb 2021 01:06:23 +0000 (20:06 -0500)]
ppc: Remove gdsys strider boards

These boards have not been converted to CONFIG_DM_MMC, along with other
DM conversions, by the deadline.  Remove them.

Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoppc: Remove MPC8308RDB board
Tom Rini [Sun, 21 Feb 2021 01:06:22 +0000 (20:06 -0500)]
ppc: Remove MPC8308RDB board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoppc: Remove T2081QDS board and ARCH_T2081 support
Tom Rini [Sun, 21 Feb 2021 01:06:21 +0000 (20:06 -0500)]
ppc: Remove T2081QDS board and ARCH_T2081 support

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.  It is also the only ARCH_T2081 board so remove that support
as well.

Cc: Shengzhou Liu <Shengzhou.Liu@nxp.com>
Cc: Ruchika Gupta <ruchika.gupta@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoppc: Remove TARGET_T1040QDS references
Tom Rini [Sun, 21 Feb 2021 01:06:20 +0000 (20:06 -0500)]
ppc: Remove TARGET_T1040QDS references

The TARGET_T1040QDS platforms have been removed already, drop some
remaining references in the code.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove tqma6s_wru4_mmc config
Tom Rini [Sun, 21 Feb 2021 01:06:18 +0000 (20:06 -0500)]
arm: Remove tqma6s_wru4_mmc config

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Markus Niebel <Markus.Niebel@tq-group.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove mx6dlarm2 board
Tom Rini [Sun, 21 Feb 2021 01:06:16 +0000 (20:06 -0500)]
arm: Remove mx6dlarm2 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Jason Liu <jason.hui.liu@nxp.com>
Cc: Ye Li <ye.li@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove cgtqmx6eval board
Tom Rini [Sun, 21 Feb 2021 01:06:15 +0000 (20:06 -0500)]
arm: Remove cgtqmx6eval board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove titanium board
Tom Rini [Sun, 21 Feb 2021 01:06:14 +0000 (20:06 -0500)]
arm: Remove titanium board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove ts4800 board
Tom Rini [Sun, 21 Feb 2021 01:06:13 +0000 (20:06 -0500)]
arm: Remove ts4800 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Lucile Quirion <lucile.quirion@savoirfairelinux.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove mx53evk board
Tom Rini [Sun, 21 Feb 2021 01:06:11 +0000 (20:06 -0500)]
arm: Remove mx53evk board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove pfla02 board
Tom Rini [Sun, 21 Feb 2021 01:06:09 +0000 (20:06 -0500)]
arm: Remove pfla02 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove zc5202 and zc5601 boards
Tom Rini [Sun, 21 Feb 2021 01:06:08 +0000 (20:06 -0500)]
arm: Remove zc5202 and zc5601 boards

These boards have not been converted to CONFIG_DM_MMC by the deadline.
Remove them.

Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove xpress board
Tom Rini [Sun, 21 Feb 2021 01:06:06 +0000 (20:06 -0500)]
arm: Remove xpress board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove kc1 board
Tom Rini [Sun, 21 Feb 2021 01:06:04 +0000 (20:06 -0500)]
arm: Remove kc1 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Paul Kocialkowski <contact@paulk.fr>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove am3517_crane board
Tom Rini [Sun, 21 Feb 2021 01:06:03 +0000 (20:06 -0500)]
arm: Remove am3517_crane board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Nagendra T S <nagendra@mistralsolutions.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove omap3_ha board
Tom Rini [Sun, 21 Feb 2021 01:06:02 +0000 (20:06 -0500)]
arm: Remove omap3_ha board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Stefan Roese <sr@denx.de>
Cc: Tapani Utriainen <linuxfae@technexion.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove tricorder board
Tom Rini [Sun, 21 Feb 2021 01:06:01 +0000 (20:06 -0500)]
arm: Remove tricorder board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Thomas Weber <weber@corscience.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove platinum_picon board
Tom Rini [Sun, 21 Feb 2021 01:05:58 +0000 (20:05 -0500)]
arm: Remove platinum_picon board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove Broadcom Cygnus boards
Tom Rini [Sun, 21 Feb 2021 01:05:57 +0000 (20:05 -0500)]
arm: Remove Broadcom Cygnus boards

These boards have not been converted to CONFIG_DM by the deadline.
Remove them.

Cc: Steve Rae <steve.rae@raedomain.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove bcm23550_w1d board
Tom Rini [Sun, 21 Feb 2021 01:05:55 +0000 (20:05 -0500)]
arm: Remove bcm23550_w1d board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Steve Rae <steve.rae@raedomain.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove bcm28155_ap board
Tom Rini [Sun, 21 Feb 2021 01:05:54 +0000 (20:05 -0500)]
arm: Remove bcm28155_ap board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Steve Rae <steve.rae@raedomain.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove picosam9g45 board
Tom Rini [Sun, 21 Feb 2021 01:05:53 +0000 (20:05 -0500)]
arm: Remove picosam9g45 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Erik van Luijk <evanluijk@interact.nl>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove wb50n board
Tom Rini [Sun, 21 Feb 2021 01:05:52 +0000 (20:05 -0500)]
arm: Remove wb50n board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Ben Whitten <ben.whitten@lairdtech.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove wb45n board
Tom Rini [Sun, 21 Feb 2021 01:05:51 +0000 (20:05 -0500)]
arm: Remove wb45n board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Ben Whitten <ben.whitten@lairdtech.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove bcm958712k board
Tom Rini [Sun, 21 Feb 2021 01:05:50 +0000 (20:05 -0500)]
arm: Remove bcm958712k board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Jon Mason <jon.mason@broadcom.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove s32v234evb board
Tom Rini [Sun, 21 Feb 2021 01:05:49 +0000 (20:05 -0500)]
arm: Remove s32v234evb board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Eddy Petrișor <eddy.petrisor@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove secomx6quq7 board
Tom Rini [Sun, 21 Feb 2021 01:05:48 +0000 (20:05 -0500)]
arm: Remove secomx6quq7 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove vexpress_ca15_tc2 board
Tom Rini [Sun, 21 Feb 2021 01:05:47 +0000 (20:05 -0500)]
arm: Remove vexpress_ca15_tc2 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove apf27 board
Tom Rini [Sun, 21 Feb 2021 01:05:43 +0000 (20:05 -0500)]
arm: Remove apf27 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Philippe Reynes <tremyfr@yahoo.fr>
Cc: Eric Jarrige <eric.jarrige@armadeus.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove ts4600 board
Tom Rini [Sun, 21 Feb 2021 01:05:42 +0000 (20:05 -0500)]
arm: Remove ts4600 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove sc_sps_1 board
Tom Rini [Sun, 21 Feb 2021 01:05:41 +0000 (20:05 -0500)]
arm: Remove sc_sps_1 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove SANSA_FUZE_PLUS board
Tom Rini [Sun, 21 Feb 2021 01:05:40 +0000 (20:05 -0500)]
arm: Remove SANSA_FUZE_PLUS board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove xfi3 board
Tom Rini [Sun, 21 Feb 2021 01:05:38 +0000 (20:05 -0500)]
arm: Remove xfi3 board

This board has not been converted to CONFIG_DM_MMC by the deadline.
Remove it.

Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agodrivers: ata: Remove mvsata_ide driver
Tom Rini [Wed, 10 Feb 2021 02:42:56 +0000 (21:42 -0500)]
drivers: ata: Remove mvsata_ide driver

The mvsata_ide driver was due for DM conversion by v2019.07.  As that
has long passed, remove the driver and disable it in the boards which
had enabled it.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoppc: Remove MPC8349ITX board
Tom Rini [Wed, 10 Feb 2021 02:42:50 +0000 (21:42 -0500)]
ppc: Remove MPC8349ITX board

This board relies on using CONFIG_LIBATA but does not enable CONFIG_AHCI.  The
deadline for this conversion was the v2019.07 release.  The use of CONFIG_AHCI
requires CONFIG_DM.  The deadline for this conversion was v2020.01.  Remove
this board.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: Remove ot1200 board
Tom Rini [Wed, 10 Feb 2021 02:42:48 +0000 (21:42 -0500)]
arm: Remove ot1200 board

This board relies on using CONFIG_LIBATA but does not enable CONFIG_AHCI.  The
deadline for this conversion was the v2019.07 release.  In order to
convert to using the DWC SATA driver under DM further migrations are
required.

Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Christian Gmeiner <christian.gmeiner@gmail.com>
3 years agoarm: Remove dms-ba16 board
Tom Rini [Wed, 10 Feb 2021 02:42:47 +0000 (21:42 -0500)]
arm: Remove dms-ba16 board

This board relies on using CONFIG_LIBATA but does not enable CONFIG_AHCI.  The
deadline for this conversion was the v2019.07 release.  The use of CONFIG_AHCI
requires CONFIG_DM.  The deadline for this conversion was v2020.01.  Remove
this board.

Cc: Akshay Bhat <akshaybhat@timesys.com>
Cc: Ken Lin <Ken.Lin@advantech.com.tw>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoata: DWC_AHSATA depends on BLK
Tom Rini [Wed, 10 Feb 2021 02:42:44 +0000 (21:42 -0500)]
ata: DWC_AHSATA depends on BLK

The dwc ahsata driver is written such that CONFIG_BLK must be enabled,
add this as a dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoam57xx_hs_evm_usb: Enable AHCI and BLK
Tom Rini [Wed, 10 Feb 2021 02:42:43 +0000 (21:42 -0500)]
am57xx_hs_evm_usb: Enable AHCI and BLK

Enable the AHCI and BLK features to complete migration of various
drivers.

Cc: Andrew F. Davis <afd@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agols1012aqds_tfa_SECURE_BOOT: Remove unused CONFIG_SCSI_AHCI
Tom Rini [Wed, 10 Feb 2021 02:42:42 +0000 (21:42 -0500)]
ls1012aqds_tfa_SECURE_BOOT: Remove unused CONFIG_SCSI_AHCI

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoefi_loader: Change ptr arithmetics tcg eventlog buffer
Ilias Apalodimas [Mon, 29 Mar 2021 21:42:36 +0000 (00:42 +0300)]
efi_loader: Change ptr arithmetics tcg eventlog buffer

Although ptr arithmetics are allowed with extensions in gcc, they
are not allowed by the C spec. So switch to (void *)(uintptr_t) instead

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
3 years agotools/mkeficapsule: improve online help
Heinrich Schuchardt [Thu, 8 Apr 2021 20:02:29 +0000 (22:02 +0200)]
tools/mkeficapsule: improve online help

Show short arguments along with long arguments in online help:

    $ tools/mkeficapsule -h
    Usage: mkeficapsule [options] <output file>
    Options:
        -f, --fit <fit image>       new FIT image file
        -r, --raw <raw image>       new raw image file
        -i, --index <index>         update image index
        -I, --instance <instance>   update hardware instance
        -K, --public-key <key file> public key esl file
        -D, --dtb <dtb file>        dtb file
        -O, --overlay               the dtb file is an overlay
        -h, --help                  print a help message

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: esrt: wrong type for LocateHandleBuffer()
Heinrich Schuchardt [Thu, 8 Apr 2021 07:15:52 +0000 (09:15 +0200)]
efi_loader: esrt: wrong type for LocateHandleBuffer()

efi_locate_handle_buffer() expects no_handles to be of type efi_uintn_t *.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: use correct printf codes
Heinrich Schuchardt [Thu, 8 Apr 2021 10:15:26 +0000 (12:15 +0200)]
efi_loader: use correct printf codes

For printing u32 use %u not %d.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: efi_esrt: Fix the build warning for 32 bit systems
Sughosh Ganu [Thu, 8 Apr 2021 07:00:55 +0000 (12:30 +0530)]
efi_loader: efi_esrt: Fix the build warning for 32 bit systems

Fix the build warning when building for 32 bit systems by using the
length modifier for size_t.

lib/efi_loader/efi_esrt.c: In function ‘efi_esrt_populate’:
include/efi_loader.h:126:8: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 8 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=]

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: Kconfig: Select IMAGE_SIGN_INFO when capsule authentication is enabled
Sughosh Ganu [Wed, 7 Apr 2021 11:53:31 +0000 (17:23 +0530)]
efi_loader: Kconfig: Select IMAGE_SIGN_INFO when capsule authentication is enabled

Enable building of the crypto helper functions used during capsule
authentication by selecting IMAGE_SIGN_INFO.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: EFI_UNACCEPTED_MEMORY_TYPE
Heinrich Schuchardt [Fri, 2 Apr 2021 20:16:22 +0000 (22:16 +0200)]
efi_loader: EFI_UNACCEPTED_MEMORY_TYPE

* UEFI spec 2.9 introduced a new memory type EFI_UNACCEPTED_MEMORY_TYPE.
  Add it to enum EFI_MEMORY_TYPE.
* Add missing EFI_MEMORY_CPU_CRYPTO constant
* Improve description of EFI_PERSISTENT_MEMORY_TYPE

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: simplify efi_get_device_path_text()
Heinrich Schuchardt [Fri, 2 Apr 2021 09:30:02 +0000 (11:30 +0200)]
efi_loader: simplify efi_get_device_path_text()

Replace static function efi_get_device_handle_info() by a simplified
function efi_get_device_path_text() avoiding EFI_CALL().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agodoc: mmc man-page
Jaehoon Chung [Fri, 2 Apr 2021 00:15:32 +0000 (09:15 +0900)]
doc: mmc man-page

Provide a man-pages for the mmc command.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
3 years agodoc: Add build instructions for OP-TEE backed EFI variables
Ilias Apalodimas [Thu, 1 Apr 2021 10:35:38 +0000 (13:35 +0300)]
doc: Add build instructions for OP-TEE backed EFI variables

Since that invlolves external projects and not only U-Boot, add guidance
for supported platforms

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agoefi_loader: documentation codepage_437[]
Heinrich Schuchardt [Sun, 28 Mar 2021 09:57:31 +0000 (11:57 +0200)]
efi_loader: documentation codepage_437[]

Variables cannot be documented via kernel-doc. Avoid 'make htmldocs' build
warning

    ./include/charset.h:19: warning:
    cannot understand function prototype: 'const u16 codepage_437[128]; '

Fixes: 70616a1ed8c7 ("efi_loader: move codepage 437 table")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agolinker_lists: document ll_entry_ref parameters
Heinrich Schuchardt [Sun, 28 Mar 2021 08:53:18 +0000 (10:53 +0200)]
linker_lists: document ll_entry_ref parameters

Avoid 'make htmldocs' build warnings:

    ./include/linker_lists.h:224: warning:
    Function parameter or member '_type' not described in 'll_entry_ref'
    ./include/linker_lists.h:224: warning:
    Function parameter or member '_name' not described in 'll_entry_ref'
    ./include/linker_lists.h:224: warning:
    Function parameter or member '_list' not described in 'll_entry_ref'

Fixes: 851144350b6f ("linker_lists: Allow use in data structures")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoefi_loader: improve documentation of enum efi_test_phase
Heinrich Schuchardt [Sun, 28 Mar 2021 08:41:00 +0000 (10:41 +0200)]
efi_loader: improve documentation of enum efi_test_phase

* Avoid a warning: "Incorrect use of kernel-doc format".
* Remove duplicate text.
* Clarify usage of EFI_SETTING_VIRTUAL_ADDRESS_MAP.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agofs: fat: fix file_fat_detectfs()
Heinrich Schuchardt [Mon, 25 Jan 2021 11:53:14 +0000 (12:53 +0100)]
fs: fat: fix file_fat_detectfs()

Up to now file_fat_detectfs() did not detect some interface types like
EFI, HOST, VIRTIO.

Avoid duplicate code by calling blk_get_if_type_name().

The interface type now will be shown in lower case to match all other use
cases.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
3 years agoefi_loader: Cleanup get_var duplication
Ilias Apalodimas [Sat, 27 Mar 2021 08:56:07 +0000 (10:56 +0200)]
efi_loader: Cleanup get_var duplication

get_var() is defined statically in efi_bootmgr.c and doesn't properly
check a buffer allocation.  Remove it completely and use the exported
function from efi_var_common.c that does the same thing

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agodoc: Update uefi documentation for initrd loading options
Ilias Apalodimas [Wed, 17 Mar 2021 19:55:02 +0000 (21:55 +0200)]
doc: Update uefi documentation for initrd loading options

Document the command line options for efidebug and initrd loading

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Rewiewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
3 years agorockchip: video: vop: Add reset support
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:54 +0000 (11:27 +0100)]
rockchip: video: vop: Add reset support

In order to ensure that the VOP registers are in correct state,
add missing support for the VOP reset lines found in the device-tree

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agorockchip: video: edp: Add missing reset support
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:53 +0000 (11:27 +0100)]
rockchip: video: edp: Add missing reset support

In order to ensure that the eDP registers are in correct state,
add missing support for the eDP reset lines found in the device-tree.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agorockchip: video: vop: Fix format of fbbase in debug string
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:52 +0000 (11:27 +0100)]
rockchip: video: vop: Fix format of fbbase in debug string

The debug string printing the device name, framebuffer address and of node
is using %lu as format for the framebuffer address, which is not so nice.
Change it to %lx.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agorockchip: pwm: Fix default polarity
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:51 +0000 (11:27 +0100)]
rockchip: pwm: Fix default polarity

In the code, the default polarity is set to positive/positive,
which is neither normal polarity or inverted polarity. It's
only the hardware default. This leads to booting linux with
wrong polarity setting.

Update the code to use PWM_DUTY_POSTIVE | PWM_INACTIVE_NEGATIVE
by default instead.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agorockchip: Pinebook Pro: Enable edp
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:50 +0000 (11:27 +0100)]
rockchip: Pinebook Pro: Enable edp

- uboot rockchip edp code is looking for a rockchip,panel property
  for the edp dts node, so add it.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agoRockchip: video: vop: Reserve efi fb memory
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:49 +0000 (11:27 +0100)]
Rockchip: video: vop: Reserve efi fb memory

When booting with EFI and graphics, the memory used for framebuffer
has to be reserved, otherwise it may leads to kernel memory
overwrite.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agoRockchip: video: edp: Change interrupt polarity configuration
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:48 +0000 (11:27 +0100)]
Rockchip: video: edp: Change interrupt polarity configuration

The linux code is setting polarity configuration to 3 but
uboot code is setting it to 1. Change the configuration to match the
linux configuration

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agorockchip: video: edp: Add rk3399 support
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:47 +0000 (11:27 +0100)]
rockchip: video: edp: Add rk3399 support

According to linux commit "drm/rockchip: analogix_dp: add rk3399 eDP
support" (82872e42bb1501dd9e60ca430f4bae45a469aa64), rk3288 and rk3399
eDP IPs are nearly the same, the difference is in the grf register
(SOC_CON6 versus SOC_CON20). So, change the code to use the right
register on each IP.

The clocks don't seem to be the same, the eDP clock is not at index 1
on rk3399, so don't try changing the clock at index 1 to rate 0 on
rk3399.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agorockchip: video: vop: Use endpoint compatible string to find VOP mode
Arnaud Patard (Rtp) [Fri, 5 Mar 2021 10:27:46 +0000 (11:27 +0100)]
rockchip: video: vop: Use endpoint compatible string to find VOP mode

The current code is using an hard coded enum and the of node reg value of
endpoint to find out if the endpoint is mipi/hdmi/lvds/edp/dp. The order
is different between rk3288, rk3399 vop little, rk3399 vop big.

A possible solution would be to make sure that the rk3288.dtsi and
rk3399.dtsi files have "expected" reg value or an other solution is
to find the kind of endpoint by comparing the endpoint compatible value.

This patch is implementing the more flexible second solution.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
3 years agoMerge tag 'u-boot-stm32-20210409' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Fri, 9 Apr 2021 17:10:59 +0000 (13:10 -0400)]
Merge tag 'u-boot-stm32-20210409' of https://source.denx.de/u-boot/custodians/u-boot-stm

Add rt-thread art-pi board support based on STM32H750 SoC
Add Engicam i.Core STM32MP1 SoM
Add FIP header support for STM32programmer
Update uart number when no serial device found for STM32MP1
Remove board_check_usb_power function when ADC flag is not set
Update SPL size limitation for STM32MP1
Set soc_type, soc_pkg, soc_rev env variables for STM32MP1

3 years agoMerge branch 'v2021.07-rc1' of https://github.com/lftan/u-boot
Tom Rini [Fri, 9 Apr 2021 17:10:38 +0000 (13:10 -0400)]
Merge branch 'v2021.07-rc1' of https://github.com/lftan/u-boot

3 years agoMerge tag 'u-boot-imx-20210409' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Fri, 9 Apr 2021 11:41:32 +0000 (07:41 -0400)]
Merge tag 'u-boot-imx-20210409' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

u-boot-imx-20210409
-------------------

- Secure Boot :
- HAB for MX8M / MX7ULP
- CAAM fixes
- Fixes for imxrt1020
- Fixes for USDHC driver
- Fixes for Toradex (Colibri / Apalis)
- Switch to DM for several boards
- mx23 olinuxo
- usbarmory
- marsboard / riotboard
- Gateworks GW Ventana
- NXP upstream patches (LPDDR / CAAM / HAB)

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

3 years agoarm: stm32mp1: Set soc_type, soc_pkg, soc_rev env variables
Marek Vasut [Wed, 31 Mar 2021 12:15:09 +0000 (14:15 +0200)]
arm: stm32mp1: Set soc_type, soc_pkg, soc_rev env variables

Split up get_soc_name(), clean the decoding up a bit, and set up
environment variables which contain the SoC type, package, revision.
This is useful on SoMs, where multiple SoC options are populated.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 years agoconfigs: stm32mp1: Fix misleading SPL size limitations
Alexandru Gagniuc [Mon, 22 Mar 2021 13:20:01 +0000 (08:20 -0500)]
configs: stm32mp1: Fix misleading SPL size limitations

A now removed comment promises to "limit SYSRAM usage to first 128 KB".
This would imply that only SYSRAM from 0x2ffc0000 - 0x2ffe0000 would be
used. This is not what happens at all.

First, SPL_MAX_SIZE is referenced from SPL_TEXT_BASE, which on all
existing configs is set to 0x2ffc2500, not SYSRAM_BASE (0x2ffc0000).
Some of it is in the first 128 KiB and some of it is in the second
128 KiB chunk of SYSRAM.

Second, SPL_MAX_SIZE, does not restrict the BSS size. While a valiant
attempt is made via SPL_BSS_MAX_SIZE, the value of 0x00100000 is much
larger than SYSRAM, and doesn't account for the non-BSS sections.

Because we're putting the .text and .bss in the same boat, the correct
way to limit them together is via SPL_MAX_FOOTPRINT. With the current
SPL_TEXT_BASE, we couldn't limit even a very basic SPL to the first
128 KiB, and there is no technical reason to do so. Because of this,
simply allow the SPL to use all SYSRAM.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 years agoconfigs: stm32mp1: Remove misleading CONFIG_SPL_BSS_START_ADDR
Alexandru Gagniuc [Mon, 22 Mar 2021 13:20:00 +0000 (08:20 -0500)]
configs: stm32mp1: Remove misleading CONFIG_SPL_BSS_START_ADDR

CONFIG_SPL_BSS_START_ADDR is only used on a few mach- linker scripts.
stm32mp1 uses the generic script under arch/arm/cpu/u-boot-spl.lds,
which does not make use of this definition.

The SPL BSS starts in SRAM, right after .text, .rodata, .data, and
.u_boot_list. A very short version of the STM32MP1 memory map is:
  * SYSRAM: 2ffc0000 - 30000000     <- all of SPL is here
  * DRAM:   c0000000+

0xC0200000 is a DRAM address, and has nothing to do with SPL. It is
just very misleading to have it next to CONFIG_SPL_BSS_MAX_SIZE, or to
have it at all.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 years agoconfigs: stm32mp1: stm32mp1: Increase SPL malloc() size
Alexandru Gagniuc [Mon, 22 Mar 2021 13:19:59 +0000 (08:19 -0500)]
configs: stm32mp1: stm32mp1: Increase SPL malloc() size

Since commit 03f1f78a9b44 ("spl: fit: Prefer a malloc()'d buffer for
loading images"), FIT images must be malloc()'d before being loaded.
The old size of 1 MiB is suitable for FIT images with u-boot and an
FDT, but something containing a linux kernel is almost sure to fail.

It's safe to extend malloc all the way to 0xc2000000, but no further.
Linux likes to be loaded at 0xc2000000, so we use that as our cutoff
point. This gives us 29 MiB of malloc() space, which suited for more
complex FIT images including several DTBs, kernel, and OP-TEE images.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 years agostm32mp1: remove the board_check_usb_power function when ADC is not activated
Patrick Delaunay [Tue, 6 Apr 2021 07:57:54 +0000 (09:57 +0200)]
stm32mp1: remove the board_check_usb_power function when ADC is not activated

Simplify the code of the function board_check_usb_power
based in CONFIG_ADC and adc_measurement; the function is removed by the
linker when the CONFIG_ADC is not activated.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>