]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
4 years agoMerge branch '2020-04-17-master-imports'
Tom Rini [Mon, 20 Apr 2020 21:22:47 +0000 (17:22 -0400)]
Merge branch '2020-04-17-master-imports'

- Further cleanups for 'make refcheckdocs'
- Another BTRFS fix.
- Support for automatic decompression of images with booti as well as
  unlz4 command for manual decompression.

4 years agoMerge tag 'u-boot-amlogic-20200420' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Mon, 20 Apr 2020 17:44:27 +0000 (13:44 -0400)]
Merge tag 'u-boot-amlogic-20200420' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

- enable DM_RNG on meson boards
- fix SMBIOS info on Odroid-C2
- Fix video output on GXBB/GXL/GXM boards
- add USB gadget support for GXL/GXM boards

4 years agofs: btrfs: support sparse extents
Marek Behún [Mon, 30 Mar 2020 16:48:42 +0000 (18:48 +0200)]
fs: btrfs: support sparse extents

When logical address of a regular extent is 0, the extent is sparse and
consists of all zeros.

Without this when sparse extents are used in a file reading fails with
  Cannot map logical address 0 to physical

Signed-off-by: Marek Behún <marek.behun@nic.cz>
4 years agoMerge tag 'ti-v2020.07-rc1' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti
Tom Rini [Mon, 20 Apr 2020 15:14:22 +0000 (11:14 -0400)]
Merge tag 'ti-v2020.07-rc1' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti

- Fix boot on am335x guardian board
- Increase OPSI speed on AM65x and J721E devices
- Use JTAD register for identifying K3 devices.
- Update TI entry in MAINTAINERS file.

4 years agoMerge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Mon, 20 Apr 2020 12:45:27 +0000 (08:45 -0400)]
Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

4 years agoconfigs: libretech-s912-pc: Enable USB gadget with Mass Storage function
Neil Armstrong [Mon, 30 Mar 2020 09:27:32 +0000 (11:27 +0200)]
configs: libretech-s912-pc: Enable USB gadget with Mass Storage function

Enable configs to support USB gadget and Mass Storage

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoconfigs: libretech-s905d-pc: Enable USB gadget with Mass Storage function
Neil Armstrong [Mon, 30 Mar 2020 09:27:31 +0000 (11:27 +0200)]
configs: libretech-s905d-pc: Enable USB gadget with Mass Storage function

Enable configs to support USB gadget and Mass Storage

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoconfigs: khadas-vim: Enable USB gadget with Mass Storage function
Neil Armstrong [Mon, 30 Mar 2020 09:27:30 +0000 (11:27 +0200)]
configs: khadas-vim: Enable USB gadget with Mass Storage function

Enable configs to support USB gadget and Mass Storage

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoconfigs: khadas-vim2: Enable USB gadget with Mass Storage function
Neil Armstrong [Mon, 30 Mar 2020 09:27:29 +0000 (11:27 +0200)]
configs: khadas-vim2: Enable USB gadget with Mass Storage function

Enable configs to support USB gadget and Mass Storage

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoconfigs: libretech-ac: Enable USB gadget with Mass Storage function
Neil Armstrong [Mon, 30 Mar 2020 09:27:28 +0000 (11:27 +0200)]
configs: libretech-ac: Enable USB gadget with Mass Storage function

Enable configs to support USB gadget and Mass Storage

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoconfigs: libretech-cc: Enable USB gadget with Mass Storage function
Neil Armstrong [Mon, 30 Mar 2020 09:27:27 +0000 (11:27 +0200)]
configs: libretech-cc: Enable USB gadget with Mass Storage function

Enable configs to support USB gadget and Mass Storage

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoarm: dts: meson-gxl: Add USB Gadget nodes for U-Boot
Neil Armstrong [Mon, 30 Mar 2020 09:27:26 +0000 (11:27 +0200)]
arm: dts: meson-gxl: Add USB Gadget nodes for U-Boot

Add the USB DWC2 node to u-boot specific dtsi files since Gadget
support is not (yet) available in upstream Linux yet.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoarm: meson-gx: add board_usb_init()/cleanup() for USB gadget
Neil Armstrong [Mon, 30 Mar 2020 09:27:25 +0000 (11:27 +0200)]
arm: meson-gx: add board_usb_init()/cleanup() for USB gadget

Add arch code to initialize USB Gadget mode using the DWC2 controller,
and using the previously added set_mode() phy functions.

[narmstrong: fixup board_usb_cleanup call to phy_meson_gxl_usb2_set_mode]
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agophy: meson-gxl-usb: add set_mode call to force switch to peripheral mode
Neil Armstrong [Mon, 30 Mar 2020 09:27:24 +0000 (11:27 +0200)]
phy: meson-gxl-usb: add set_mode call to force switch to peripheral mode

Add set_mode function in the Amlogic GXL PHYs that will be called by
the arch code to switch PHYs from/to gadget mode.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agogeneric-phy: add generic_phy_get_by_node()
Neil Armstrong [Mon, 30 Mar 2020 09:27:23 +0000 (11:27 +0200)]
generic-phy: add generic_phy_get_by_node()

Add generic_phy_get_by_node() to get a PHY phandle from a node instead
of a udevice.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
[narmstrong: fixed by including ofnode.h in generic-phy.h]

4 years agoarm: mach-k3: Use JTAD_ID register for device identification
Lokesh Vutla [Fri, 17 Apr 2020 08:13:53 +0000 (13:43 +0530)]
arm: mach-k3: Use JTAD_ID register for device identification

JTAG ID register is defined by IEEE 1149.1 for device identification.
Use this JTAG ID register for identifying AM65x[0] and J721E[1] devices
instead of using SoC specific registers.

[0] http://www.ti.com/lit/ug/spruid7e/spruid7e.pdf
[1] http://www.ti.com/lit/ug/spruil1a/spruil1a.pdf

Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoAdd support for i.MXRT1020-EVK board
Giulio Benetti [Tue, 18 Feb 2020 19:02:55 +0000 (20:02 +0100)]
Add support for i.MXRT1020-EVK board

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agodt-bindings: pinctrl: add i.MXRT1020 pins definition
Giulio Benetti [Tue, 18 Feb 2020 19:02:54 +0000 (20:02 +0100)]
dt-bindings: pinctrl: add i.MXRT1020 pins definition

Add i.MXRT1020 pins definition.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
4 years agoARM: dts: imxrt1020: add dtsi file
Giulio Benetti [Tue, 18 Feb 2020 19:02:53 +0000 (20:02 +0100)]
ARM: dts: imxrt1020: add dtsi file

Add dtsi file for i.MXRT1020.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agoAdd i.MXRT1020 support
Giulio Benetti [Tue, 18 Feb 2020 19:02:52 +0000 (20:02 +0100)]
Add i.MXRT1020 support

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agoclk: imx: add i.IMXRT1020 clk driver
Giulio Benetti [Tue, 18 Feb 2020 19:02:51 +0000 (20:02 +0100)]
clk: imx: add i.IMXRT1020 clk driver

Add i.MXRT1020 clk driver support.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agoimx: pmic: Set proper pmic name for iMX53 HSC|DDC boards
Lukasz Majewski [Wed, 26 Feb 2020 11:37:02 +0000 (12:37 +0100)]
imx: pmic: Set proper pmic name for iMX53 HSC|DDC boards

After the
commit 4213609cc7fb ("drivers: core: use strcmp when find device by name")
the exact DTS node name for PMIC device must be provided.

This patch fixes this issue by providing full DTS node name ('mc34708@8').

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Jaehoon Chug <jh80.chung@samsung.com>
4 years agoconfig: imx: Enable CONFIG_PHY_FIXED on HSC and DDC i.MX53 boards
Lukasz Majewski [Wed, 26 Feb 2020 11:37:01 +0000 (12:37 +0100)]
config: imx: Enable CONFIG_PHY_FIXED on HSC and DDC i.MX53 boards

The CONFIG_PHY_FIXED is necessary to allow DSA switch work in U-Boot after
the
commit 3bf135b6c367 ("drivers: net: phy: Ignore PHY ID 0 during PHY probing").

This particular device - LAN9303 - returns phy_id == 0. With
CONFIG_PHY_FIXED enabled HSC and DDC boards work again with the same U-Boot
binary.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agodts: imx: Add fixed-link property to HSC and DDC (imx53) devices
Lukasz Majewski [Wed, 26 Feb 2020 11:37:00 +0000 (12:37 +0100)]
dts: imx: Add fixed-link property to HSC and DDC (imx53) devices

Those two boards are supposed to be run with a single u-boot binary.
There are notable differences though - HSC uses DSA switch (which
phy_id == 0x0) and DCC (DP83848C).

After the commit 3bf135b6c367
("drivers: net: phy: Ignore PHY ID 0 during PHY probing") the PHY devices
with phy_id == 0 are not created in U-Boot anymore. This caused regression
on HSC.

To fix this problem - the fec's 'fixed-link' node has been introduced and
the phy_id is not assessed anymore. This approach works on both boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoARM: imx6: DHCOM i.MX6 PDK: Fix usb-otg VBUS regulator
Harald Seiler [Thu, 16 Apr 2020 08:52:19 +0000 (10:52 +0200)]
ARM: imx6: DHCOM i.MX6 PDK: Fix usb-otg VBUS regulator

During the conversion of this board to DM_REGULATOR, usb-mass-storage
was broken and started failing with the following error:

        => ums 0 mmc 2
        UMS: LUN 0, dev 2, hwpart 0, sector 0x0, count 0xe90000
        Error enabling VBUS supply
        g_dnl_register: failed!, error: -38
        g_dnl_register failed

Fix this by adding the relevant GPIO to the regulator node.

Fixes: 4ca99fe81aea ("ARM: imx: dh-imx6: Enable DM regulator")
Signed-off-by: Harald Seiler <hws@denx.de>
4 years agoARM: imx6: DHCOM i.MX6 PDK: Convert to DM_ETH
Harald Seiler [Wed, 15 Apr 2020 18:04:53 +0000 (20:04 +0200)]
ARM: imx6: DHCOM i.MX6 PDK: Convert to DM_ETH

Use DM_ETH instead of legacy networking.  Add VIO as a fixed regulator
to the relevant device-trees and augment the FEC node with properties
for the reset GPIO.

It should be noted that the relevant properties for the reset GPIO
already exist in the PHY node (reset-gpios, reset-delay-us,
reset-post-delay-us) but U-Boot currently ignores those and only
supports the bus-level reset properties in the FEC node
(phy-reset-gpios, phy-reset-duration, phy-reset-post-delay).

Signed-off-by: Harald Seiler <hws@denx.de>
4 years agowandboard: Print the board version in board_late_init()
Fabio Estevam [Fri, 17 Apr 2020 12:27:13 +0000 (09:27 -0300)]
wandboard: Print the board version in board_late_init()

Since CONFIG_DISPLAY_BOARDINFO_LATE is no longer used,  the checkboard()
function is no longer called.

As it is useful to print the board revision, print it inside
board_late_init() instead.

Also, to avoid GPIO errors related to using a GPIO without requesting it,
move the gpio_request(REV_DETECTION, "REV_DETECT") call prior to its
usage.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Heiko Schocher <hs@denx.de>
4 years agowandboard: Remove CONFIG_DISPLAY_BOARDINFO_LATE
Fabio Estevam [Fri, 17 Apr 2020 12:27:12 +0000 (09:27 -0300)]
wandboard: Remove CONFIG_DISPLAY_BOARDINFO_LATE

Since we are using revD1 device tree for all board revisions, the
following can be seen on a revB1 board:

Model: Wandboard i.MX6 Quad Board revD1
Board: Wandboard rev B1

To avoid such confusing messages, disable CONFIG_DISPLAY_BOARDINFO_LATE.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Heiko Schocher <hs@denx.de>
4 years agowandboard: Do not print error when PMIC is not present
Fabio Estevam [Fri, 17 Apr 2020 12:27:11 +0000 (09:27 -0300)]
wandboard: Do not print error when PMIC is not present

On wandboard variants prior to revD1, there is no PMIC populated, so
do not print an error when the reading of the device ID register fails.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Heiko Schocher <hs@denx.de>
4 years agopmic: pfuze100: Change error message level to debug
Fabio Estevam [Fri, 17 Apr 2020 12:27:10 +0000 (09:27 -0300)]
pmic: pfuze100: Change error message level to debug

In some cases U-Boot runs the same binary on different board versions.

In wandboard, for example, there are versions with the PFUZE100 PMIC
populated and others without it.

When the PMIC is not present, it is not really useful to get PMIC error,
so change the error message level to debug instead.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Heiko Schocher <hs@denx.de>
4 years agowandboard: Fix version detection for mx6q/mx6dl revD1
Fabio Estevam [Fri, 17 Apr 2020 12:27:09 +0000 (09:27 -0300)]
wandboard: Fix version detection for mx6q/mx6dl revD1

The detection of the revD1 version is based on the presence of the PMIC.

Currently revb1 device trees are used for mx6q/mx6dl variants, which
do not have the PMIC nodes.

This causes revD1 boards to be incorrectly be detected as revB1.

Fix this issue by using the revd1 device trees, so that the PMIC node can be
found and then the PMIC can be detected by reading its register ID.

Imported the revd1 device trees from mainline kernel version 5.7-rc1.

Reported-by: Heiko Schocher <hs@denx.de>
Reported-by: Derek Atkins <derek@ihtfp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Derek Atkins <derek@ihtfp.com>
Tested-by: Heiko Schocher <hs@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
4 years agoconfigs: imxrt1050-evk: temporary disable DCACHE
Giulio Benetti [Wed, 8 Apr 2020 15:11:08 +0000 (17:11 +0200)]
configs: imxrt1050-evk: temporary disable DCACHE

mxsfb needs a dcache function not implemented in cortex-M7, so for the
moment let's keep dcache not enabled.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agoconfigs: imxrt1050-evk: enable video support/console
Giulio Benetti [Wed, 8 Apr 2020 15:11:07 +0000 (17:11 +0200)]
configs: imxrt1050-evk: enable video support/console

Enable DM_VIDEO subsystem and its BACKLIGHT_GPIO. Then enable
SYS_WHITE_ON_BLACK to have classic black background on display. Need
also to enable CONFIG_SYS_CONSOLE_ENV_OVERWRITE to retrieve
stdin/stdout/stderr from CONFIG_EXTRA_ENV_SETTINGS.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agoarch: arm: dts: imxrt1050-evk: add lcdif node
Giulio Benetti [Wed, 8 Apr 2020 15:11:06 +0000 (17:11 +0200)]
arch: arm: dts: imxrt1050-evk: add lcdif node

Add lcdif node and its pinctrl.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agoARM: dts: imxrt1050: allow this dtsi file to be compiled in Linux
Giulio Benetti [Wed, 8 Apr 2020 15:11:05 +0000 (17:11 +0200)]
ARM: dts: imxrt1050: allow this dtsi file to be compiled in Linux

Linux doesn't provide skeleton.dtsi file so let's remove its include and
provide #address-cells/size-cells = <1> that were defined in
skeleton.dtsi before.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agoARM: dts: i.mxrt1050: add lcdif node
Giulio Benetti [Wed, 8 Apr 2020 15:10:21 +0000 (17:10 +0200)]
ARM: dts: i.mxrt1050: add lcdif node

Add lcdif node to SoC.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agoimxrt1050_evk: add 16bpp video support if video layer enabled
Giulio Benetti [Wed, 8 Apr 2020 15:10:20 +0000 (17:10 +0200)]
imxrt1050_evk: add 16bpp video support if video layer enabled

i.MXRT1050 provides mxsfb compatible lcd controller, so let's enable
video mxsfb driver with 16bpp depth if CONFIG_DM_VIDEO is selected since
board has 16bpp only connection.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: enable setting ENABLE negative polarity
Giulio Benetti [Wed, 8 Apr 2020 15:10:19 +0000 (17:10 +0200)]
video: mxsfb: enable setting ENABLE negative polarity

ENABLE signal can now be flipped by writing its bitmask on vdctrl0
register.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: enable setting PIXDATA on negative edge
Giulio Benetti [Wed, 8 Apr 2020 15:10:18 +0000 (17:10 +0200)]
video: mxsfb: enable setting PIXDATA on negative edge

DOTCLK signal can now be flipped by writing its bitmask on vdctrl0
register.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: enable setting VSYNC negative polarity
Giulio Benetti [Wed, 8 Apr 2020 15:10:17 +0000 (17:10 +0200)]
video: mxsfb: enable setting VSYNC negative polarity

VSYNC signal can now be flipped by writing its bitmask on vdctrl0
register.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: enable setting HSYNC negative polarity
Giulio Benetti [Wed, 8 Apr 2020 15:10:16 +0000 (17:10 +0200)]
video: mxsfb: enable setting HSYNC negative polarity

HSYNC signal can now be flipped according to display_flags bitmaks by
writing its bitmask on vdctrl0 register.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: refactor for using display_timings
Giulio Benetti [Wed, 8 Apr 2020 15:10:15 +0000 (17:10 +0200)]
video: mxsfb: refactor for using display_timings

struct display_timings provides more informations such clock and DE
polarity, so let's refactor the code to use struct display_timings
instead of struct ctfb_res_modes, so we'll become able to get clock and
DE polarity settings and set register according to them in the next patch.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: add support for i.MXRT
Giulio Benetti [Wed, 8 Apr 2020 15:10:14 +0000 (17:10 +0200)]
video: mxsfb: add support for i.MXRT

Add support for i.MXRT by adding CONFIG_IMXRT in register structure and
adding .compatible = "fsl,imxrt-lcdif".

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideo: mxsfb: add support for DM CLK
Giulio Benetti [Wed, 8 Apr 2020 15:10:13 +0000 (17:10 +0200)]
video: mxsfb: add support for DM CLK

Allow using DM CLK instead of mxs_set_lcdclk() so we can avoid to
implement a special function to set lcd clock on i.MXRT.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agosunxi: display: use common video_ctfb_mode_to_display_timing()
Giulio Benetti [Wed, 8 Apr 2020 15:10:12 +0000 (17:10 +0200)]
sunxi: display: use common video_ctfb_mode_to_display_timing()

Since video_ctfb_mode_to_display_timing() has been implemented by moving
sunxi_ctfb_mode_to_display_timing() to video_modes.c and it's meant to be
used by other video subsystem, let's use it instead of local
sunxi_ctfb_mode_to_display_timing().

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agovideomodes: add helper function to convert from ctfb to display_timing
Giulio Benetti [Wed, 8 Apr 2020 15:10:11 +0000 (17:10 +0200)]
videomodes: add helper function to convert from ctfb to display_timing

This function converts from "struct ctf_res_modes" to
"struct display_timing".

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
4 years agoclk: imx: clk-imxrt1050: add set_parent() callback
Giulio Benetti [Wed, 8 Apr 2020 15:10:10 +0000 (17:10 +0200)]
clk: imx: clk-imxrt1050: add set_parent() callback

Need to add set_parent() callback to allow dts assigned-clock-parents to
work so let's add it accordingly.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
4 years agoclk: imx: clk-imxrt1050: setup PLL5 for video in non-SPL
Giulio Benetti [Wed, 8 Apr 2020 15:10:09 +0000 (17:10 +0200)]
clk: imx: clk-imxrt1050: setup PLL5 for video in non-SPL

mxsfb needs PLL5 as source, so let's setup it at its default frequency
specified in RM(650Mhz).

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agoclk: imx: clk-imxrt1050: fix typo in clock name "video:"
Giulio Benetti [Wed, 8 Apr 2020 15:10:08 +0000 (17:10 +0200)]
clk: imx: clk-imxrt1050: fix typo in clock name "video:"

"video:" must be "video", ":" is a typo.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agoclk: imx: pllv3: add enable_bit
Giulio Benetti [Wed, 8 Apr 2020 15:10:07 +0000 (17:10 +0200)]
clk: imx: pllv3: add enable_bit

pllv3 PLLs have powerdown/up bits but enable bits too. Specifically
"enable bit" enable the pll output, so when dis/enabling pll by
setting/clearing power_bit we must also set/clear enable_bit.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
4 years agocolibri_imx6: enable relocation of fdt and initrd
Igor Opaniuk [Fri, 27 Mar 2020 10:28:25 +0000 (12:28 +0200)]
colibri_imx6: enable relocation of fdt and initrd

Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF)
from default environment which prevents relocation of FDT and initrd.
Rely on 'bootm_size' value instead to safely relocate kernel, device tree and
initrd.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri-imx6ull: enable relocation of fdt and initrd
Igor Opaniuk [Fri, 27 Mar 2020 10:28:24 +0000 (12:28 +0200)]
colibri-imx6ull: enable relocation of fdt and initrd

Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF)
from default environment which prevents relocation of FDT and initrd.
Rely on 'bootm_size' value instead to safely relocate kernel, device tree and
initrd.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoapalis_imx6: enable relocation of fdt and initrd
Igor Opaniuk [Fri, 27 Mar 2020 10:28:23 +0000 (12:28 +0200)]
apalis_imx6: enable relocation of fdt and initrd

Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF)
from default environment which prevents relocation of FDT and initrd.
Rely on 'bootm_size' value instead to safely relocate kernel, device tree and
initrd.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri_imx7: enable relocation of fdt and initrd
Igor Opaniuk [Fri, 27 Mar 2020 10:28:22 +0000 (12:28 +0200)]
colibri_imx7: enable relocation of fdt and initrd

Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF)
from default environment which prevents relocation of FDT and initrd.
Rely on 'bootm_size' value instead to safely relocate kernel, device tree and
initrd.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri_vf: enable relocation of fdt and initrd
Igor Opaniuk [Fri, 27 Mar 2020 10:28:21 +0000 (12:28 +0200)]
colibri_vf: enable relocation of fdt and initrd

Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF)
from default environment which prevents relocation of FDT and initrd.
Rely on 'bootm_size' value instead to safely relocate kernel, device tree and
initrd.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoverdin-imx8mm: add nfsboot wrapper to env
Igor Opaniuk [Fri, 27 Mar 2020 10:28:20 +0000 (12:28 +0200)]
verdin-imx8mm: add nfsboot wrapper to env

Add nfsboot wrapper to env to boot Linux kernel from TFTP/NFS.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoimx8mm_evk: adjust dram size in case bl32 is used
Igor Opaniuk [Fri, 27 Mar 2020 10:28:19 +0000 (12:28 +0200)]
imx8mm_evk: adjust dram size in case bl32 is used

Adjust DRAM size in case BL32 secure payload is loaded (OP-TEE/Trusty),
so during MMU initialization U-Boot won't touch this mem area.

BL32 is loaded to the end of DRAM, bl32 payload size is read from
rom_pointer[1]. This relates to the issue described in
59efa6b52b("imx8m: Fix MMU table issue for OPTEE memory").

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoverdin-imx8mm: adjust dram size in case bl32 is used
Igor Opaniuk [Fri, 27 Mar 2020 10:28:18 +0000 (12:28 +0200)]
verdin-imx8mm: adjust dram size in case bl32 is used

Adjust DRAM size in case BL32 secure payload is loaded (OP-TEE/Trusty),
so during MMU initialization U-Boot won't touch this mem area.

BL32 is loaded to the end of DRAM, bl32 payload size is read from
rom_pointer[1]. This relates to the issue described in
59efa6b52b("imx8m: Fix MMU table issue for OPTEE memory").

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoimx8qxp_mek: Start with USDHC2 unpowered
Fabio Estevam [Wed, 15 Apr 2020 18:01:34 +0000 (15:01 -0300)]
imx8qxp_mek: Start with USDHC2 unpowered

After triggering a "reboot" command in Linux the following
hang in SPL is observed:

U-Boot SPL 2020.04 (Apr 15 2020 - 10:49:29 -0300)
Normal Boot
WDT:   Not found!
Trying to boot from MMC2_2
spl: mmc init failed with error: -70
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

This error happens because the CMD_ERR bit is set in the IRQ status
register after booting from Linux.

To ensure a fresh start, force the VMMC supply to get unpowered first.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agoboard: tqc: tqma6_mba6: switch to device model
Michael Krummsdorf [Thu, 9 Apr 2020 13:21:42 +0000 (15:21 +0200)]
board: tqc: tqma6_mba6: switch to device model

Ethernet, usdhc2 and i2c1 interfaces are probed by dm drivers.
Therefor init functions in board file are not necessary.

Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agoboard: tqc: tqma6: hw init code disabled for device model
Michael Krummsdorf [Thu, 9 Apr 2020 13:21:41 +0000 (15:21 +0200)]
board: tqc: tqma6: hw init code disabled for device model

Keep code for non-dm configuration of baseboard WRU4.
It cannot be upgraded to device model as
we have no suitable device tree for it.
These changes were not run-tested on WRU4,
only compile-tested.

Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agoconfigs: tqma6x_mba6x: update default configs for device model
Michael Krummsdorf [Thu, 9 Apr 2020 13:21:40 +0000 (15:21 +0200)]
configs: tqma6x_mba6x: update default configs for device model

Fixes compilation for WRU4 board.

Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agoboard: tqc: tqma6: mba6: apply default Kconfig for device model
Michael Krummsdorf [Thu, 9 Apr 2020 13:21:39 +0000 (15:21 +0200)]
board: tqc: tqma6: mba6: apply default Kconfig for device model

Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agoarch: arm: tqma6: apply default Kconfig for device model
Michael Krummsdorf [Thu, 9 Apr 2020 13:21:38 +0000 (15:21 +0200)]
arch: arm: tqma6: apply default Kconfig for device model

Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agoarm: dt: imx6qdl: add tqma6[qdl] som on mba6 mainboard
Michael Krummsdorf [Thu, 9 Apr 2020 13:21:37 +0000 (15:21 +0200)]
arm: dt: imx6qdl: add tqma6[qdl] som on mba6 mainboard

The device trees for TQMa6x SOM support variations in
- CPU type: imx6dl- or imx6q-
- MBa6 I2C bus access: -mba6a (i2c1) or -mba6b (i2c3)
  (plus the respective common/module include trees)

- USBH1 is directly connected to a hub
- USBOTG is connected to a separate connector
  and can act as host/device or full OTG port.

Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agotqma6: resurrect support by supplying correct SYS_TEXT_BASE
Markus Niebel [Thu, 9 Apr 2020 13:21:36 +0000 (15:21 +0200)]
tqma6: resurrect support by supplying correct SYS_TEXT_BASE

reason: SYS_TEXT_BASE was moved to Kconfig. Give reasonable defaults
in board specific Kconfig.

Signed-off-by: Markus Niebel <Markus.Niebel@tq-group.com>
Signed-off-by: Michael Krummsdorf <michael.krummsdorf@ew.tq-group.com>
4 years agoarm: imx6: configure NoC on i.MX6DQP
Bernhard Messerklinger [Mon, 9 Mar 2020 09:55:34 +0000 (10:55 +0100)]
arm: imx6: configure NoC on i.MX6DQP

The i.MX6DP and i.MX6QP incorporate NoC interconnect logic
which needs to be configured in order to use external DDR memory.

This patch enables the SPL to configure the necessary registers
in accordance with the NXP engineering bulletin EB828.

Co-developed-by: Filip Brozović <fbrozovic@gmail.com>
Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
4 years agomx6ulz_14x14_evk: Disable CONFIG_NET
Fabio Estevam [Mon, 3 Feb 2020 17:46:22 +0000 (14:46 -0300)]
mx6ulz_14x14_evk: Disable CONFIG_NET

Currently the following build warning is seen:

===================== 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.
===================================================

Since the mx6ulz-evk board does not have networking support, explicitly
disable networking to avoid the board removal.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agomx6ullevk: Enable Ethernet support
Fabio Estevam [Mon, 3 Feb 2020 17:23:58 +0000 (14:23 -0300)]
mx6ullevk: Enable Ethernet support

Add Ethernet support using DM_ETH.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx6ul_evk: Remove FEC related board code
Fabio Estevam [Mon, 3 Feb 2020 16:09:23 +0000 (13:09 -0300)]
mx6ul_evk: Remove FEC related board code

mx6ul_evk uses DM_ETH, so there is no need to have board code
to setup the FEC IOMUX and to register the network ports via the
old board_eth_init() method.

Remove these FEC related pieces of code.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx6ul_evk: Move CONFIG_FEC_MXC to defconfig
Fabio Estevam [Mon, 3 Feb 2020 16:09:22 +0000 (13:09 -0300)]
mx6ul_evk: Move CONFIG_FEC_MXC to defconfig

CONFIG_FEC_MXC is supported in Kconfig, so it is preferred to
move it to defconfig file.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx7ulp: Only enable LDO if it is not already enabled
Fabio Estevam [Mon, 3 Feb 2020 12:01:09 +0000 (09:01 -0300)]
mx7ulp: Only enable LDO if it is not already enabled

LDO mode may be already enabled by the ROM and enabling it again
can cause U-Boot to hang.

Avoid this problem by only enabling LDO mode if it is initially disabled.

Reported-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx7ulp: Remove duplicated definitions
Fabio Estevam [Mon, 3 Feb 2020 12:01:08 +0000 (09:01 -0300)]
mx7ulp: Remove duplicated definitions

These PMC0 definitions are already defined in the beginning
of the file, so remove the duplication.

Reported-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agoata: sort ATA commands
Heinrich Schuchardt [Wed, 26 Feb 2020 06:12:33 +0000 (07:12 +0100)]
ata: sort ATA commands

Sort the ATA commands in include/libata.h by number.
Add a few more comments.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoinclude/ata.h: remove invalid links
Heinrich Schuchardt [Wed, 26 Feb 2020 04:29:47 +0000 (05:29 +0100)]
include/ata.h: remove invalid links

Remove invalid URLs for "Information Technology - AT Attachment-3 Interface
(ATA-3)", point to ANSI X3.298-1997.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoKconfig: fix typos in CMD_BEDBUG description
Heinrich Schuchardt [Tue, 25 Feb 2020 20:44:05 +0000 (21:44 +0100)]
Kconfig: fix typos in CMD_BEDBUG description

Fix documentation bug reported by 'make refcheckdocs'.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agodoc: fix references to driver-model
Heinrich Schuchardt [Tue, 25 Feb 2020 20:35:39 +0000 (21:35 +0100)]
doc: fix references to driver-model

Fix some errors pointed out by 'make refcheckdocs'.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoREADME: replace reference to boards.cfg
Heinrich Schuchardt [Mon, 24 Feb 2020 17:36:30 +0000 (18:36 +0100)]
README: replace reference to boards.cfg

boards.cfg is not delivered with the U-Boot source. So it is preferable to
look at configs/*_defconfig to identify available deconfigs.

Fix a typo.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoimage: Add compressed Image parsing support in booti.
Atish Patra [Fri, 6 Mar 2020 00:24:23 +0000 (16:24 -0800)]
image: Add compressed Image parsing support in booti.

Add compressed Image parsing support so that booti can parse both
flat and compressed Image to boot Linux. Currently, it is difficult
to calculate a safe address for every board where the compressed
image can be decompressed. It is also not possible to figure out the
size of the compressed file as well. Thus, user need to set two
additional environment variables kernel_comp_addr_r and filesize to
make this work.

Following compression methods are supported for now.
lzma, lzo, bzip2, gzip.

lz4 support is not added as ARM64 kernel generates a lz4 compressed
image with legacy header which U-Boot doesn't know how to parse and
decompress.

Tested on HiFive Unleashed and Qemu for RISC-V.
Tested on Qemu for ARM64.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
[trini: Fix minor rST formatting problems]
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoimage: Add a common compression type detection function.
Atish Patra [Fri, 6 Mar 2020 00:24:22 +0000 (16:24 -0800)]
image: Add a common compression type detection function.

Currently, there is no method that can detect compression types
given a file. This is very useful where a compressed kernel image
is loaded directly to the memory.

Inspect initial few bytes to figure out compression type of the
image. It will be used in booti method for now but can be reused
any other function in future as well.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agolib: kconfig: Add option to set BZIP2 compression method
Atish Patra [Fri, 6 Mar 2020 00:24:21 +0000 (16:24 -0800)]
lib: kconfig: Add option to set BZIP2 compression method

There is no way to select BZIP2 compression method.
Add it under library/compression config where all other
compression related configs are present.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agocmd: mem: Add bitflip memory test to alternate mtest
Stefan Roese [Thu, 5 Mar 2020 06:21:32 +0000 (07:21 +0100)]
cmd: mem: Add bitflip memory test to alternate mtest

This additional bitflip memory test is inspired by the bitflip test
in memtester v4.3.0. It show some errors on some problematic GARDENA
MT7688 based boards. The other memory tests usually don't show any
errors here.

Signed-off-by: Stefan Roese <sr@denx.de>
4 years agocmd: mem: Use IS_ENABLED instead of alt_test variable
Stefan Roese [Thu, 5 Mar 2020 06:21:31 +0000 (07:21 +0100)]
cmd: mem: Use IS_ENABLED instead of alt_test variable

This patch uses the IS_ENABLED() macro to check, which mtest variant
is enabled.

Signed-off-by: Stefan Roese <sr@denx.de>
4 years agocmd: mem: Drop eldk-4.2 workaround and use cast in unmap_sysmem()
Stefan Roese [Thu, 5 Mar 2020 06:21:30 +0000 (07:21 +0100)]
cmd: mem: Drop eldk-4.2 workaround and use cast in unmap_sysmem()

Use a cast instead of the "eldk-4.2" workaround for unmap_sysmem().

Signed-off-by: Stefan Roese <sr@denx.de>
4 years agocmd: mem: Correctly count the errors in mtest
Stefan Roese [Thu, 5 Mar 2020 06:21:29 +0000 (07:21 +0100)]
cmd: mem: Correctly count the errors in mtest

This patch changes mtest to correctly count the overall errors and
print them even in the abort (Ctrl-C) case.

Signed-off-by: Stefan Roese <sr@denx.de>
4 years agotee: optee: use dev_info in print_os_revision
Patrick Delaunay [Mon, 2 Mar 2020 12:21:53 +0000 (13:21 +0100)]
tee: optee: use dev_info in print_os_revision

Display TEE version at information level; this patch replaces
debug() call to dev_info() in print_os_revision() function.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
4 years agodoc: spl: update reference to driver-model/README.txt
Patrick Delaunay [Mon, 2 Mar 2020 09:12:41 +0000 (10:12 +0100)]
doc: spl: update reference to driver-model/README.txt

Update the reference in doc/README.SPL to a no more existing file:
"driver-model/README.txt", it is changed to "doc/driver-model/design.rst".

Adding the directory path /doc/ allows to check this reference with
'make refcheckdocs'.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoscripts: add documentation-file-ref-check
Heinrich Schuchardt [Fri, 28 Feb 2020 17:33:36 +0000 (18:33 +0100)]
scripts: add documentation-file-ref-check

'make refcheckdocs' requires scripts/documentation-file-ref-check.
Adopt script from Linux v5.6-rc3.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agomkimage: fit: don't create image with 0700 permissions
Thomas Hebb [Sun, 1 Mar 2020 18:47:53 +0000 (10:47 -0800)]
mkimage: fit: don't create image with 0700 permissions

commit 7298e422504e ("mkimage: fit: add support to encrypt image with
aes") added a new copyfile() function as part of the FIT image creation
flow. This function as currently written creates the final image with a
mode of 0700 (before umask), differing from the old behavior of 0666.
Since there doesn't seem to be any reason to make the image executable
or non-group, non-other readable, change the mask to 0666 to preserve
the old behavior.

Fixes: 7298e422504e ("mkimage: fit: add support to encrypt image with aes")
Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
4 years agoide: remove duplicate defines form include/ata.h
Heinrich Schuchardt [Thu, 27 Feb 2020 17:28:01 +0000 (18:28 +0100)]
ide: remove duplicate defines form include/ata.h

ATA commands are already defined in include/libata.h. There is no need to
duplicate them in include/ata.h.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoblock: ide: use definitions from include/libata.h
Heinrich Schuchardt [Thu, 27 Feb 2020 17:28:00 +0000 (18:28 +0100)]
block: ide: use definitions from include/libata.h

Currently ATA commands are defined both in include/libata.h and
include/ata.h. Use the command definitions from include/libata.h where
applicable.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agocmd: fat: remove unused includes
Heinrich Schuchardt [Wed, 26 Feb 2020 06:26:26 +0000 (07:26 +0100)]
cmd: fat: remove unused includes

Remove unused includes from cmd/fat.c.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoarm: dts: add pwm support for MediaTek SoCs
Sam Shih [Fri, 21 Feb 2020 13:01:47 +0000 (21:01 +0800)]
arm: dts: add pwm support for MediaTek SoCs

This patch add pwm support for mt7622, mt7623 and mt7629 SoCs

Signed-off-by: Sam Shih <sam.shih@mediatek.com>
4 years agomediatek: pwm: add pwm driver for MediaTek SoCs
Sam Shih [Fri, 21 Feb 2020 13:01:46 +0000 (21:01 +0800)]
mediatek: pwm: add pwm driver for MediaTek SoCs

This driver support the standard PWM API for
MediaTek MT7623, MT7622 and MT7629 SoCs

Signed-off-by: Sam Shih <sam.shih@mediatek.com>
4 years agocmd: Add unlz4 command
Yusuke Ashiduka [Thu, 20 Feb 2020 11:48:01 +0000 (20:48 +0900)]
cmd: Add unlz4 command

This command is a new command called "unlz4" that decompresses from memory
into memory.
Used with the CONFIG_CMD_UNLZ4 optionenabled.

Signed-off-by: Yusuke Ashiduka <ashiduka@fujitsu.com>
[trini: Use %zd / %zX not %ld / %lX in printf]
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoenv: make file-scope env_ptr variables static
Rasmus Villemoes [Tue, 18 Feb 2020 08:54:09 +0000 (08:54 +0000)]
env: make file-scope env_ptr variables static

The combination ENV_IS_IN_NVRAM=y, ENV_IS_IN_REMOTE=y fails to build:

env/remote.o:/mnt/ext4/devel/u-boot/env/remote.c:17: multiple definition of `env_ptr'
env/nvram.o:/mnt/ext4/devel/u-boot/env/nvram.c:41: first defined here

It's not necessarily a meaningful combination, but for build-testing
it's nice to be able to enable most ENV_IS_IN_* at the same time, and
since these env_ptr are not declared anywhere, they really have no
reason to have external linkage.

nand.c and flash.c similarly already define file-scope static env_ptr
variables.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoARM: bootm: take into account gd->ram_top
Patrice Chotard [Thu, 13 Feb 2020 18:29:50 +0000 (19:29 +0100)]
ARM: bootm: take into account gd->ram_top

If gd->ram_top has been tuned using board_get_usable_ram_top(),
it must be taken into account when reserving arch lmb.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agoMerge branch '2020-04-16-master-imports'
Tom Rini [Fri, 17 Apr 2020 15:08:08 +0000 (11:08 -0400)]
Merge branch '2020-04-16-master-imports'

- DM GPIO improvements
- BTRFS fixes
- Corrections around gd->new_bootstage alignment
- Start documentation improvements to support 'make refcheckdocs'

4 years agoboard_f.c: Ensure 16 alignment of start_addr_sp and reserved memory
Patrick Delaunay [Tue, 10 Mar 2020 09:15:05 +0000 (10:15 +0100)]
board_f.c: Ensure 16 alignment of start_addr_sp and reserved memory

Add a function reserve_stack_aligned() to reserved memory with 16 bits
alignment after the stack pointer (gd->start_addr_sp) and use this new
function in board_f.c to reserve all the memory area (malloc, board, gd,
fdt, bootstage, stacks).

This 16 byte alignment is needed for cast on struct pointer
for the reserved memory, for example:
+ x86_64 ABI: https://reviews.llvm.org/D30049: 16 bytes
+ ARMv8 Instruction Set Overview: quad word, 16 bytes

An other alignment value could be needed for other architecture.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
4 years agoarm: set the relocated gd with gd->new_gd
Patrick Delaunay [Tue, 10 Mar 2020 09:15:04 +0000 (10:15 +0100)]
arm: set the relocated gd with gd->new_gd

Simplify the arm relocation behavior and get gd directly form new_gd,
as it is already done in crt0_64.S:

ldr x18, [x18, #GD_NEW_GD] /* x18 <- gd->new_gd */

This patch avoid assumption on new GD location (new GD is below bd -
with #GD_SIZE offset).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>