oweals/u-boot.git
4 years agoarm: mxs: fix comments in arch_cpu_init to match the code
Rasmus Villemoes [Thu, 12 Sep 2019 09:17:10 +0000 (09:17 +0000)]
arm: mxs: fix comments in arch_cpu_init to match the code

The comment says to clear the bypass bit, but in fact it sets it, thus
selecting ref_xtal. And the next line of code does not set the divider
to 12, but to (the reset value of) 1.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoarm: mxs: fix register definitions for clkctrl_gpmi and clkctrl_sspX
Rasmus Villemoes [Thu, 12 Sep 2019 09:17:09 +0000 (09:17 +0000)]
arm: mxs: fix register definitions for clkctrl_gpmi and clkctrl_sspX

I tried clearing a bit by writing to hw_clkctrl_gpmi_clr, then
busy-waiting for it to actually clear. My board hung. The data sheet
agrees, these registers do not have _set, _clr, _tog, so fix up the
definitions. git grep -E 'clkctrl_(gpmi|ssp[0-9])_' says that nobody
uses those non-existing ops registers.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
4 years agoimx8mm_evk: Adjust the environment for booting a mainline kernel
Fabio Estevam [Mon, 16 Dec 2019 19:09:22 +0000 (16:09 -0300)]
imx8mm_evk: Adjust the environment for booting a mainline kernel

Adjust the environment for booting a mainline kernel by default.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomach-imx: nandbcb: improve cmd help
Igor Opaniuk [Mon, 16 Dec 2019 12:06:44 +0000 (14:06 +0200)]
mach-imx: nandbcb: improve cmd help

Add info about supported i.MX7, improve details the usage of
bcbonly subcommand.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agomx6slevk: Fix the pmic_get() parameter in the DM case
Fabio Estevam [Fri, 20 Dec 2019 17:59:28 +0000 (14:59 -0300)]
mx6slevk: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly.

Reported-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx6sllevk: Fix the pmic_get() parameter in the DM case
Fabio Estevam [Fri, 20 Dec 2019 17:59:27 +0000 (14:59 -0300)]
mx6sllevk: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly.

Reported-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agomx7dsabresd: Fix the pmic_get() parameter in the DM case
Fabio Estevam [Fri, 20 Dec 2019 17:59:26 +0000 (14:59 -0300)]
mx7dsabresd: Fix the pmic_get() parameter in the DM case

When pmic_get() is used with DM the first parameter must be
the complete node name plus the unit address, so fix it
accordingly.

Reported-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agoddr: imx8m: Return error values from LPDDR4 training
Frieder Schrempf [Wed, 11 Dec 2019 10:01:19 +0000 (10:01 +0000)]
ddr: imx8m: Return error values from LPDDR4 training

In cases when the same SPL should run on boards with i.MX8MM, that
differ in DDR configuration, it is necessary to try different
parameters and check if the training done by the firmware suceeds or
not.

Therefore we return the DDR training/initialization success to the
upper layer in order to be able to retry with different settings if
necessary.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 years agotools: imx8m_image: Change source path for DDR firmware to build dir
Frieder Schrempf [Wed, 11 Dec 2019 10:06:06 +0000 (10:06 +0000)]
tools: imx8m_image: Change source path for DDR firmware to build dir

The DDR firmware binaries are not part of the U-Boot source code, so
we should look for them in the build directory, where they need to be
copied to before building U-Boot.

The ATF binary is already fetched from the build directory, but the
README files for the i.MX8M EVKs claim that it needs to be copied to
the source directory (which is still true for in-tree builds, but not
in general). Therefore we also fix the READMEs to use the build
directory as the correct location for all additional binary files.

Sined-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 years agoarm: imx: Default to SYS_THUMB_BUILD for i.MX6/7
Tom Rini [Tue, 3 Dec 2019 14:28:03 +0000 (09:28 -0500)]
arm: imx: Default to SYS_THUMB_BUILD for i.MX6/7

In the case of i.MX6 and i.MX7 family SoCs it is safe (from an errata
point of view) to use thumb2 by default to save space.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agomach-imx: bootaux: elf firmware support
Igor Opaniuk [Mon, 30 Dec 2019 11:56:44 +0000 (13:56 +0200)]
mach-imx: bootaux: elf firmware support

Currently imx-specific bootaux command doesn't support ELF format
firmware for Cortex-M4 core.

This patches introduces a PoC implementation of handling elf firmware
(load_elf_image_phdr() was copy-pasted from elf.c just for PoC).
ELF64 binaries isn't supported yet.

This has the advantage that the user does not need to know to which
address the binary has been linked to. However, in order to handle
and load the elf sections to the right address, we need to translate the
Cortex-M4 core memory addresses to primary/host CPU memory
addresses (Cortex A7/A9 cores).

This allows to boot firmwares from any location with just using
bootaux, e.g.:
> tftp ${loadaddr} hello_world.elf && bootaux ${loadaddr}

Similar translation table can be found in the Linux remoteproc
driver [1].

[1] https://elixir.bootlin.com/linux/latest/source/drivers/remoteproc/imx_rproc.c

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri_imx7: migrate to DM_ETH
Igor Opaniuk [Mon, 4 Nov 2019 10:12:04 +0000 (11:12 +0100)]
colibri_imx7: migrate to DM_ETH

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoARM: dts: imx7: imx7_colibri: introduce fec node
Igor Opaniuk [Mon, 4 Nov 2019 10:12:03 +0000 (11:12 +0100)]
ARM: dts: imx7: imx7_colibri: introduce fec node

Sync DTS with the mainline Linux and introduce fec node and
regulator configuration for rn5t567 PMU.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoapalis_imx6: migrate to DM_ETH
Igor Opaniuk [Mon, 4 Nov 2019 10:12:02 +0000 (11:12 +0100)]
apalis_imx6: migrate to DM_ETH

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoARM: dts: imx6_apalis: introduce fec node
Igor Opaniuk [Mon, 4 Nov 2019 10:12:01 +0000 (11:12 +0100)]
ARM: dts: imx6_apalis: introduce fec node

Sync DTS with the mainline Linux and introduce fec node.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agocolibri_imx6: migrate to DM_ETH
Igor Opaniuk [Mon, 4 Nov 2019 10:12:00 +0000 (11:12 +0100)]
colibri_imx6: migrate to DM_ETH

Migrate to DM_ETH and remove hardcoded pinmux configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoARM: dts: imx6_colibri: introduce fec node
Igor Opaniuk [Mon, 4 Nov 2019 10:11:59 +0000 (11:11 +0100)]
ARM: dts: imx6_colibri: introduce fec node

Sync DTS with the mainline Linux and introduce fec node.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agoMAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers
Igor Opaniuk [Mon, 4 Nov 2019 11:56:53 +0000 (12:56 +0100)]
MAINTAINERS: change colibri_imx6/imx6ull/t30/vf maintainers

Take over maintainership for colibri_imx6/imx6ull/t30/vf modules.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
4 years agoMAINTAINERS: change apalis_imx6/colibri_imx6 maintainers
Igor Opaniuk [Mon, 4 Nov 2019 11:56:52 +0000 (12:56 +0100)]
MAINTAINERS: change apalis_imx6/colibri_imx6 maintainers

Take over maintainership for apalis_imx6 and colibri_imx6 modules.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
4 years agomx7dsabre: Remove warning about DM_SPI_FLASH
Joris Offouga [Sun, 8 Dec 2019 17:02:28 +0000 (18:02 +0100)]
mx7dsabre: Remove warning about DM_SPI_FLASH

This defconfig doesn't need it.

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
4 years agomx7dsabre: Convert to distroboot support
Joris Offouga [Sun, 8 Dec 2019 17:02:31 +0000 (18:02 +0100)]
mx7dsabre: Convert to distroboot support

Signed-off-by: Joris Offouga <offougajoris@gmail.com>
4 years agomx7dsabre: Enable DM_ETH
Joris Offouga [Sun, 8 Dec 2019 17:02:30 +0000 (18:02 +0100)]
mx7dsabre: Enable DM_ETH

Also sync device tree with v5.5-rc1
Signed-off-by: Joris Offouga <offougajoris@gmail.com>
4 years agomx7ulp: Add support for Embedded Artists COM board
Fabio Estevam [Mon, 9 Dec 2019 13:43:03 +0000 (10:43 -0300)]
mx7ulp: Add support for Embedded Artists COM board

The Embedded Artists COM board is based on NXP i.MX7ULP.

It has a BD70528 PMIC from Rohm with discrete DCDC powering option and
improved current observability (compared to the existing NXP i.MX7ULP EVK).

Add the initial support for the board.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 years agocolibri_vf: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:32 +0000 (12:33 +0200)]
colibri_vf: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx
> run update_uboot

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx6ull: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:31 +0000 (12:33 +0200)]
colibri-imx6ull: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx
> run update_uboot

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx6: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:30 +0000 (12:33 +0200)]
colibri_imx6: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

> tftpboot ${loadaddr} ${board_name}/u-boot.img
> run update_uboot
> tftpboot ${loadaddr} ${board_name}/SPL
> run update_spl

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoapalis_imx6: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:29 +0000 (12:33 +0200)]
apalis_imx6: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot.img
> run update_uboot
> tftpboot ${loadaddr} ${board_name}/SPL
> run update_spl

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: add update_uboot wrapper
Igor Opaniuk [Mon, 9 Dec 2019 10:33:28 +0000 (12:33 +0200)]
colibri_imx7: add update_uboot wrapper

Add universal update_uboot wrapper that helps to update
U-Boot image on internal storage.

Usage example:
> tftpboot ${loadaddr} ${board_name}/u-boot-dtb.imx
> run update_uboot

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agoimx: cx9020: use distro boot
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:43 +0000 (07:40 +0200)]
imx: cx9020: use distro boot

We switch from custom boot commands relying on uEnv.txt to distro boot.
This removes the automatic fpga bitstream loading in favor of loading
bitstreams via custom bootscripts (boot.scr) or after booting the
kernel.

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: cx9020: enable vidconsole by default
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:42 +0000 (07:40 +0200)]
imx: cx9020: enable vidconsole by default

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: cx9020: migrate cx9020 to CONFIG_DM_USB
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:41 +0000 (07:40 +0200)]
imx: cx9020: migrate cx9020 to CONFIG_DM_USB

Note: gpio7_8 was never used for usb power regulator so we remove it here

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: cx9020: migrate cx9020 to CONFIG_DM_ETH
Steffen Dirkwinkel [Wed, 23 Oct 2019 05:40:40 +0000 (07:40 +0200)]
imx: cx9020: migrate cx9020 to CONFIG_DM_ETH

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
4 years agoimx: sync with kernel device tree for Phycore SoM
Parthiban Nallathambi [Mon, 4 Nov 2019 18:50:07 +0000 (19:50 +0100)]
imx: sync with kernel device tree for Phycore SoM

Sync the Linux Kernel 5.4-rc6 device tree for Phytec Phycore
SoM and Segin board based on imx6UL and imx6ULL.

Changes includes Phytec naming convention for the devicetree files.

Signed-off-by: Parthiban Nallathambi <parthitce@gmail.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 years agomach-imx: bootaux: add dcache flushing before enabling M4
Igor Opaniuk [Thu, 28 Nov 2019 13:56:20 +0000 (15:56 +0200)]
mach-imx: bootaux: add dcache flushing before enabling M4

This patch fixes the issue with broken bootaux command,
when M4 binary is loaded and data cache isn't flushed
before M4 core is enabled.

Reproducing:
> tftpboot ${loadaddr} ${board_name}/hello_world.bin
> cp.b ${loadaddr} 0x7F8000 $filesize
> bootaux 0x7F8000

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agomach-imx: bootaux: print stack pointer and reset vector
Igor Opaniuk [Thu, 28 Nov 2019 13:56:19 +0000 (15:56 +0200)]
mach-imx: bootaux: print stack pointer and reset vector

1. Change information printed about loaded M4 binary, print the stack
pointer and reset vector addressed.
2. Add sanity check for the address provided as param.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
4 years agopci: imx: Add iMX6SX compatible
Marek Vasut [Tue, 26 Nov 2019 08:33:29 +0000 (09:33 +0100)]
pci: imx: Add iMX6SX compatible

The driver works fine with iMX6SX, add the missing compatible string.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
4 years agoarm: imx6: cm_fx6: Enable DM SPI and SPI_FLASH, fix SPL build errors
Suniel Mahesh [Wed, 27 Nov 2019 10:47:48 +0000 (16:17 +0530)]
arm: imx6: cm_fx6: Enable DM SPI and SPI_FLASH, fix SPL build errors

Enable driver model for SPI and SPI_FLASH to remove the following
compile warning on CM-FX6 SOM:
===================== WARNING ======================
This board does not use CONFIG_DM_SPI_FLASH. Please update
the board to use CONFIG_SPI_FLASH before the v2019.07 release.
====================================================

This change introduced SPL build error as shown:

In file included from include/common.h:47:0,
                 from drivers/mtd/spi/sf_probe.c:10:
drivers/mtd/spi/sf_probe.c: In function 'spi_flash_std_probe':
drivers/mtd/spi/sf_probe.c:149:54: error: dereferencing pointer to incomplete type 'struct dm_spi_slave_platdata'
scripts/Makefile.build:278: recipe for target 'spl/drivers/mtd/spi/sf_probe.o' failed
make[3]: *** [spl/drivers/mtd/spi/sf_probe.o] Error 1
scripts/Makefile.build:432: recipe for target 'spl/drivers/mtd/spi' failed
make[2]: *** [spl/drivers/mtd/spi] Error 2

Disabling DM for SPI support(SPI and SF) in SPL resolves the issue.
Target was compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoboard: cm_fx6: Enable CONFIG_DM_ETH
Suniel Mahesh [Wed, 20 Nov 2019 09:55:01 +0000 (15:25 +0530)]
board: cm_fx6: Enable CONFIG_DM_ETH

Enable CONFIG_DM_ETH to remove compile warning on CM-FX6
SOM based target:

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

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoboard: cm_fx6: Enable DM support for video, fix build error
Suniel Mahesh [Wed, 20 Nov 2019 09:55:00 +0000 (15:25 +0530)]
board: cm_fx6: Enable DM support for video, fix build error

Enable driver model for Video to remove the following
compile warning on CM-FX6 SOM based target:

===================== WARNING ======================
This board does not use CONFIG_DM_VIDEO Please update
the board to use CONFIG_DM_VIDEO before the v2019.07 release.
====================================================

This change introduced build error as shown:

LD      u-boot
drivers/built-in.o: In function ipu_displays_init'
arm-linux-ld.bfd: BFD (GNU Binutils) 2.29.1 assertion fail elf32-arm.c:9509
Makefile:1621: recipe for target 'u-boot' failed
make: *** [u-boot] Error 1

The DM converted video driver calls ipu_displays_init
in its probe, which inturn calls relevant board_video_skip.
Defining ipu_displays_init in the board file fixes build error.
Target was compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoARM: mx6: ddr: Add support for iMX6SX
Marek Vasut [Tue, 26 Nov 2019 08:34:52 +0000 (09:34 +0100)]
ARM: mx6: ddr: Add support for iMX6SX

This patch adds support for iMX6SX MMDC into the DDR calibration
code. The only difference between MX6DQ and MX6SX is that the SX
has 2 SDQS registers, while the DQ has 8.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: mx6: ddr: Configure all SDQS pullups using loop
Marek Vasut [Tue, 26 Nov 2019 08:34:51 +0000 (09:34 +0100)]
ARM: mx6: ddr: Configure all SDQS pullups using loop

Instead of explicitly setting up each SDQS register, use a loop.
No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: mx6: ddr: Factor out SDQS configuration code
Marek Vasut [Tue, 26 Nov 2019 08:34:50 +0000 (09:34 +0100)]
ARM: mx6: ddr: Factor out SDQS configuration code

Pull out the code turning SDQS pullups on and off into a separate
function, since it is replicated in two places in the code and it
is the single place in the entire function which is SoC dependent.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: mx6: ddr: Make debug prints work with tiny printf
Marek Vasut [Tue, 26 Nov 2019 08:34:49 +0000 (09:34 +0100)]
ARM: mx6: ddr: Make debug prints work with tiny printf

The %08X format returns just zeroes with tiny printf, which is
horribly confusing, especially when debugging DRAM calibration
problems. Change the format to %08x (with lowercase x), which
behaves correctly with either implementation of printf in SPL.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Eric Nelson <eric@nelint.com>
4 years agoARM: imx6: DHCOM i.MX6 PDK: Enable sysreset driver and wdt command
Claudius Heine [Fri, 29 Nov 2019 07:59:03 +0000 (08:59 +0100)]
ARM: imx6: DHCOM i.MX6 PDK: Enable sysreset driver and wdt command

The SPL does not have DM enabled and therefor still needs to use the
hardware watchdog interface provided by the imx-watchdog driver.

Fixes: broken reset command after f2929d11a639 ("watchdog: imx: Use
       immediate reset bits for expire_now")

Signed-off-by: Claudius Heine <ch@denx.de>
4 years agoARM: dts: dh-imx6: add u-boot specific wdt-reboot node
Claudius Heine [Fri, 29 Nov 2019 07:59:02 +0000 (08:59 +0100)]
ARM: dts: dh-imx6: add u-boot specific wdt-reboot node

The wdt-reboot node is needed for the sysreset_watchdog driver to
register a watchdog as a reset handler in case 'CONFIG_SYSRESET' is
enabled.

Signed-off-by: Claudius Heine <ch@denx.de>
4 years agomx6cuboxi: enable OF_CONTROL with DM_MMC and DM_USB
Baruch Siach [Sun, 10 Nov 2019 12:38:07 +0000 (14:38 +0200)]
mx6cuboxi: enable OF_CONTROL with DM_MMC and DM_USB

Make first step in DT/DM migration. Enable OF_CONTROL only for the main
U-Boot image for now.

Remove mmc_init_main() because board_mmc_init() is not called when
DM_MMC is enabled.

DM_MMC requires DM_GPIO for card-detect to work. That in turn makes gpio
request mandatory. Add code to request/free gpios in platform code.

MMC devices are now numbered according to DT. The SD card is 1, and eMMC
is 2. Account for that in board_mmc_get_env_dev(), BOOT_TARGET_DEVICES,
and has_emmc().

DM_MMC requires BLK. However, the (BLK && !DM_USB) combination disables
USB_STORAGE. Enable DM_USB to preserve USB functionality. Add also
DM_REGULATORS for the USB power controller. This allows us to drop
board_ehci_hcd_init() and setup_usb().

Runtime selection of DT is necessary because of the i.MX6QD vs i.MX6SDL
incompatibility. DT selection does not rely on GPIOs, since DM_GPIO
depends on DT. Instead, we take one "fully featured" DT of each variant.
That should be enough to boot from both SD card and eMMC.

Since we don't select the exact DT, override the generic
show_board_info() that shows the selected DT 'model' field.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: dts: hummingboard: add cubox/hummingboard DT (part 2 of 2)
Baruch Siach [Sun, 10 Nov 2019 12:38:06 +0000 (14:38 +0200)]
arm: dts: hummingboard: add cubox/hummingboard DT (part 2 of 2)

These DT files are copied from kernel v5.3 with no changes.

This is part 2 of 2 commits. Included are DT files for SOM rev 1.5, and
Hummingboard2 Gate/Edge.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoarm: dts: hummingboard: add cubox/hummingboard DT (part 1 of 2)
Baruch Siach [Sun, 10 Nov 2019 12:38:05 +0000 (14:38 +0200)]
arm: dts: hummingboard: add cubox/hummingboard DT (part 1 of 2)

These DT files are copied from kernel v5.3 with no changes.

This is part 1 of 2 commits. Included are DT files for the original
Cubox-i and Hummingboard Base/Pro.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agodt-bindings: add imx-audmux macro definitions
Baruch Siach [Sun, 10 Nov 2019 12:38:04 +0000 (14:38 +0200)]
dt-bindings: add imx-audmux macro definitions

Import fsl-imx-audmux.h from Linux as of v5.4-rc6. The header is
unchanged since v4.18.

That would make it easier to import DT files that depend on imx-audmux
definitions from the kernel tree.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoboard: ge: mx53ppd: use imx wdt
Robert Beckett [Tue, 12 Nov 2019 19:15:20 +0000 (19:15 +0000)]
board: ge: mx53ppd: use imx wdt

Enable DM imx WDT
Enable SYSRESET_WATCHDOG to maintain WDT based reset ability

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: use imx wdt
Robert Beckett [Tue, 12 Nov 2019 19:15:19 +0000 (19:15 +0000)]
board: ge: bx50v3: use imx wdt

Enable DM imx WDT
Enable SYSRESET_WATCHDOG to maintain WDT based reset ability

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: pass rtc_status via device tree
Ian Ray [Tue, 12 Nov 2019 19:15:18 +0000 (19:15 +0000)]
board: ge: pass rtc_status via device tree

Pass rtc_status via the device tree, instead of on kernel command line.
Additionally, the 2038 mitigation is reported, if applied successfully.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Enable DM for PCI and ethernet
Denis Zalevskiy [Tue, 12 Nov 2019 19:15:17 +0000 (19:15 +0000)]
board: ge: bx50v3: Enable DM for PCI and ethernet

DM for PCI pulls DM for ethernet that also needs other changes described
below to build u-boot and keep existing functionality - ability to update
MAC addresses of FEC ethernet adapter and I210 adapter connected to the
Marvell switch.

- fec_mxc driver with DM needs PHYLIB;

- configuration items are moved from ge_bx50v3.h to ge_bx50v3_defconfig;

- FEC is marked as eth0 because it is always present, so indices changed:
  I210 are still probed in the same order;

- board_eth_init() was used by legacy ethernet, setup for enet iomux and
  pcie is moved to the board_late_init();

- pci_init() is called from the board_late_init() to initiate PCI bus
  probing, so I210 devices are propagated to the device tree;

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com>
[Describe PHY reset in device tree]
Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoconfigs: ppd: DM for USB and regulators PPD
Denis Zalevskiy [Tue, 12 Nov 2019 19:15:16 +0000 (19:15 +0000)]
configs: ppd: DM for USB and regulators PPD

DM should be used for USB since 2019.07, it also requires DM for
regulators.

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Fix message output to video console
Ian Ray [Tue, 12 Nov 2019 19:15:15 +0000 (19:15 +0000)]
board: ge: bx50v3: Fix message output to video console

Use vidconsole for output to the LCD, now that DM_VIDEO is used.  Write
white text on a black background, like before migrating to DM_VIDEO.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: Fix run-time warning
Ian Ray [Tue, 12 Nov 2019 19:15:14 +0000 (19:15 +0000)]
board: ge: bx50v3: Fix run-time warning

Fix GPIO reservation warning on code paths that do not need LVDS power.

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoconfigs: bx50v3: Fix boot hang with video
Ian Ray [Tue, 12 Nov 2019 19:15:13 +0000 (19:15 +0000)]
configs: bx50v3: Fix boot hang with video

Fixes commit: 0b09f7b15052bb419e318e38da453be46e5a13e5, which converted
to DM_VIDEO, but requires more memory.

[Inspired by 9002e735e71754a90adbb9676c0ffb1964dbc288]

Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: ppd: sync device tree from Linux
Robert Beckett [Tue, 12 Nov 2019 19:15:12 +0000 (19:15 +0000)]
board: ge: ppd: sync device tree from Linux

Copy device tree from linux for PPD.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoboard: ge: bx50v3: sync devicetrees from Linux
Robert Beckett [Tue, 12 Nov 2019 19:15:11 +0000 (19:15 +0000)]
board: ge: bx50v3: sync devicetrees from Linux

Copy device trees from linux, keeping them as separate files for
each board to ease future sync.

Update board code to use generic bx50v3 dt initially, then select
the specific dt based on board detection.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
4 years agoimx: Add support for i.MX28 based XEA board
Lukasz Majewski [Sun, 8 Dec 2019 21:06:56 +0000 (22:06 +0100)]
imx: Add support for i.MX28 based XEA board

This patch introduces support for i.MX28 based XEA board.

This board supports DM/DTS in U-Boot proper as well as DM aware drivers
in SPL (u-boot.sb) by using OF_PLATDATA.
More detailed information regarding usage of it can be found in
./board/liebherr/xea/README file.

U-Boot SPL 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200)
Trying to boot from MMC1
MMC0: Command 8 timeout (status 0xf0344020)
mmc_load_image_raw_sector: mmc block read error

U-Boot 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200)

CPU:   Freescale i.MX28 rev1.2 at 454 MHz
BOOT:  SSP SPI #3, master, 3V3 NOR
Model: Liebherr (LWE) XEA i.MX28 Board
DRAM:  128 MiB
MMC:   MXS MMC: 0
Loading Environment from SPI Flash... SF: Detected n25q128a13 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
OK
In:    serial
Out:   serial
Err:   serial
Net:
Warning: ethernet@800f0000 (eth0) using random MAC address - ce:e1:9e:46:f3:a2
eth0: ethernet@800f0000
Hit any key to stop autoboot:  0

Signed-off-by: Lukasz Majewski <lukma@denx.de>
4 years agoimx6: aristainetos: add support for rev C board
Heiko Schocher [Sun, 1 Dec 2019 10:23:32 +0000 (11:23 +0100)]
imx6: aristainetos: add support for rev C board

add support for revision C boards. This board has
no longer a NAND.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add aristainetos 2b csl
Heiko Schocher [Sun, 1 Dec 2019 10:23:31 +0000 (11:23 +0100)]
imx6: aristainetos: add aristainetos 2b csl

add aristainetso board version CSL.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: readd aristainetos 2b board
Heiko Schocher [Sun, 1 Dec 2019 10:23:30 +0000 (11:23 +0100)]
imx6: aristainetos: readd aristainetos 2b board

readd aristainetos 2b board.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: enable HAB boot
Heiko Schocher [Sun, 1 Dec 2019 10:23:29 +0000 (11:23 +0100)]
imx6: aristainetos: enable HAB boot

enable IMX_HAB on aristianetos board

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: cleanup default Environment
Heiko Schocher [Sun, 1 Dec 2019 10:23:28 +0000 (11:23 +0100)]
imx6: aristainetos: cleanup default Environment

sync defaut Envoronment with customer changes.
Unfortunately they are not changeable, as already
board is in production mode.

Get rid of the big bootcommand and set bootcommand
through Kconfig option.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: WDT DM conversion enable WDT reset
Heiko Schocher [Sun, 1 Dec 2019 10:23:27 +0000 (11:23 +0100)]
imx6: aristainetos: WDT DM conversion enable WDT reset

enable config symbols:
CONFIG_SYSRESET
CONFIG_SYSRESET_WATCHDOG

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: cleanup bootmode settings
Heiko Schocher [Sun, 1 Dec 2019 10:23:26 +0000 (11:23 +0100)]
imx6: aristainetos: cleanup bootmode settings

on the aristainetos there are some jumpers for
changing behaviour setting up Environment. Clean
this up.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add version variable
Heiko Schocher [Sun, 1 Dec 2019 10:23:25 +0000 (11:23 +0100)]
imx6: aristainetos: add version variable

add VERSION_VARIABLE

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add AUTOBOOT_KEYED
Heiko Schocher [Sun, 1 Dec 2019 10:23:24 +0000 (11:23 +0100)]
imx6: aristainetos: add AUTOBOOT_KEYED

add stop autobooting via SHA256 encrypted password.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add i2c eeprom support
Heiko Schocher [Sun, 1 Dec 2019 10:23:23 +0000 (11:23 +0100)]
imx6: aristainetos: add i2c eeprom support

add support for i2c eeprom and add parsing "Rescue"
or "DefEnv" at offset 0x1ff0.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: get rid of CONFIG_BOARDNAME
Heiko Schocher [Sun, 1 Dec 2019 10:23:22 +0000 (11:23 +0100)]
imx6: aristainetos: get rid of CONFIG_BOARDNAME

CONFIG_BOARDNAME is not longer needed, as we use
the model information from DTS.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: convert to DM_PWM/DM_BACKLIGHT
Heiko Schocher [Sun, 1 Dec 2019 10:23:21 +0000 (11:23 +0100)]
imx6: aristainetos: convert to DM_PWM/DM_BACKLIGHT

use DM_PWM and DM_BLACKLIGHT support and remove
board code.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add DM_I2C support
Heiko Schocher [Sun, 1 Dec 2019 10:23:20 +0000 (11:23 +0100)]
imx6: aristainetos: add DM_I2C support

enable DM_I2C in defconfig and remove i2c specific
board code.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add DM_VIDEO support
Heiko Schocher [Sun, 1 Dec 2019 10:23:19 +0000 (11:23 +0100)]
imx6: aristainetos: add DM_VIDEO support

add DM_VIDEO support and remove now unneeded board
code. As we show a bmp logo on boot, call now
bmp_display() from board code and do not use
cfb_console anymore.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: enable DM_ETH
Heiko Schocher [Sun, 1 Dec 2019 10:23:18 +0000 (11:23 +0100)]
imx6: aristainetos: enable DM_ETH

enable DM_ETH and remove unneeded board code.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: convert CONFIG_DM_SPI
Heiko Schocher [Sun, 1 Dec 2019 10:23:17 +0000 (11:23 +0100)]
imx6: aristainetos: convert CONFIG_DM_SPI

enable CONFIG_DM_SPI and CONFIG_DM_SPI_FLASH
and get rid of build removal warnings.

define CONFIG_GPIO_ENABLE_SPI_FLASH is not longer
needed, so remove it from config_whitelist.txt

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: convert to DM_USB
Heiko Schocher [Sun, 1 Dec 2019 10:23:16 +0000 (11:23 +0100)]
imx6: aristainetos: convert to DM_USB

Drop CONFIG_USB_MAX_CONTROLLER_COUNT and enable DM_USB
in defconfig.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: convert gpio pins to DM and DTS
Heiko Schocher [Sun, 1 Dec 2019 10:23:15 +0000 (11:23 +0100)]
imx6: aristainetos: convert gpio pins to DM and DTS

Enable DM_GPIO, GPIO_HOG, LED and LED_GPIO as gpio
and LEDs are now defined in DTS. Enable also here
the pinctrl driver, so pinmux setup is also done.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: convert to DM_MMC
Heiko Schocher [Sun, 1 Dec 2019 10:23:14 +0000 (11:23 +0100)]
imx6: aristainetos: convert to DM_MMC

Enable DM_MMC support.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add DM_SERIAL support
Heiko Schocher [Sun, 1 Dec 2019 10:23:13 +0000 (11:23 +0100)]
imx6: aristainetos: add DM_SERIAL support

add DM_SERIAL support for the aristainetos board, and
remove not used code from board code.

remove CONSOLE_OVERWRITE_ROUTINE.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: prepare dts for other board versions
Heiko Schocher [Sun, 1 Dec 2019 10:23:12 +0000 (11:23 +0100)]
imx6: aristainetos: prepare dts for other board versions

as we switch to support DM and DTS, rework the existing
DTS trees. Change also Linux specific Device trees, goal
is to push this changes to linux.

Collect U-Boot specific changes in separate "*u-boot*" dts
files.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: remove aristainetos-v2.c
Heiko Schocher [Sun, 1 Dec 2019 10:23:11 +0000 (11:23 +0100)]
imx6: aristainetos: remove aristainetos-v2.c

remove aristainetos-v2.c file, as we now want to
switch to DM/DTS support and have all board specific
code in one file. Goal is to setup differences
through DT.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add thumb build
Heiko Schocher [Sun, 1 Dec 2019 10:23:10 +0000 (11:23 +0100)]
imx6: aristainetos: add thumb build

add thumb build to aristainetos build to save
binary space.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: add device tree from linux
Heiko Schocher [Sun, 1 Dec 2019 10:23:09 +0000 (11:23 +0100)]
imx6: aristainetos: add device tree from linux

Add device trees from Linux in preparation for driver model
conversions.

device tree files taken from Linux:
71ae5fc87c34: "Merge tag 'linux-kselftest-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest"

and added SPDX license identifier.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: disable gigabit support
Heiko Schocher [Sun, 1 Dec 2019 10:23:08 +0000 (11:23 +0100)]
imx6: aristainetos: disable gigabit support

gigabit support does not work on the aristainetos
board, so disable it.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: remove 2b version
Heiko Schocher [Sun, 1 Dec 2019 10:23:07 +0000 (11:23 +0100)]
imx6: aristainetos: remove 2b version

remove 2b version of aristainetos board, as it
is easier to make the DM / DTS port and introduce
the 2b board version again (also some more board
version).

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: aristainetos: move defines to Kconfig
Heiko Schocher [Sun, 1 Dec 2019 10:23:06 +0000 (11:23 +0100)]
imx6: aristainetos: move defines to Kconfig

move defines, which are already moved to Kconfig
out of board config.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agovideo: lg4573: convert to DM
Heiko Schocher [Sun, 1 Dec 2019 10:23:05 +0000 (11:23 +0100)]
video: lg4573: convert to DM

convert this driver to support DM.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoimx6: remove aristainetos board
Heiko Schocher [Sun, 1 Dec 2019 10:23:04 +0000 (11:23 +0100)]
imx6: remove aristainetos board

remove not anymore used aristainetos board.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agoPrepare v2020.01 v2020.01
Tom Rini [Mon, 6 Jan 2020 20:56:31 +0000 (15:56 -0500)]
Prepare v2020.01

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoRevert "mmc: davinci: drop struct davinci_mmc_plat"
Tom Rini [Fri, 3 Jan 2020 17:00:04 +0000 (12:00 -0500)]
Revert "mmc: davinci: drop struct davinci_mmc_plat"

Adam Ford reports that this change breaks booting on da850-evm and
Bartosz Golaszewski agrees that with the impending release we should
revert the change for now.  With that noted:

This reverts commit 21a4d80a710c79053ac1deaa65ff9b69e6c031d4.

Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Tested-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge branch '2020-01-03-master-imports'
Tom Rini [Fri, 3 Jan 2020 14:47:22 +0000 (09:47 -0500)]
Merge branch '2020-01-03-master-imports'

- Fixes for host tools with musl C library
- Two fixes for TI K3 platforms

4 years agoarm: mach-k3: Enable WA for R5F deadlock
Lokesh Vutla [Tue, 31 Dec 2019 10:19:55 +0000 (15:49 +0530)]
arm: mach-k3: Enable WA for R5F deadlock

On K3 devices there are 2 conditions where R5F can deadlock:
1.When software is performing series of store operations to
  cacheable write back/write allocate memory region and later
  on software execute barrier operation (DSB or DMB). R5F may
  hang at the barrier instruction.
2.When software is performing a mix of load and store operations
  within a tight loop and store operations are all writing to
  cacheable write back/write allocates memory regions, R5F may
  hang at one of the load instruction.

To avoid the above two conditions disable linefill optimization
inside Cortex R5F which will make R5F to only issue up to 2 cache
line fills at any point of time.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm: dts: k3-j721e: ddr: Update to 0.2 version of DDR config tool
Lokesh Vutla [Tue, 31 Dec 2019 10:18:48 +0000 (15:48 +0530)]
arm: dts: k3-j721e: ddr: Update to 0.2 version of DDR config tool

Update the ddr settings to use the DDR reg config tool rev 0.2.0.
This reduces the aging count(in DDRSS_CTL_274_DATA reg) to 15 in-order
to avoid DSS underflow errors.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Kevin Scholz <k-scholz@ti.com>
4 years agoinclude/u-boot/crc.h: pull 'uint' definition on musl targets
Sergei Trofimovich [Mon, 30 Dec 2019 15:53:42 +0000 (15:53 +0000)]
include/u-boot/crc.h: pull 'uint' definition on musl targets

The build failure was originally reported on arm64-musl
target at https://bugs.gentoo.org/703132. Here is the amd64-musl
variant:

```
$ LANG=C make CROSS_COMPILE=x86_64-gentoo-linux-musl- tools-only_defconfig -j$(nproc)
$ LANG=C make CROSS_COMPILE=x86_64-gentoo-linux-musl- tools-all            -j$(nproc)
...
include/u-boot/crc.h:37:44: error: unknown type name 'uint'; did you mean 'int'?
   37 | void crc16_ccitt_wd_buf(const uint8_t *in, uint len,
      |                                            ^~~~
      |                                            int
```

Note: 'uint' is not defined there.

On glibc 'uint' comes from <sys/types.h> and happens to work on most .c files.

The change imports 'uint' declaration from '<compiler.h>'.

Bug: https://bugs.gentoo.org/703132
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
4 years agoinclude: fix 'ulong' definition on musl targets
Sergei Trofimovich [Mon, 30 Dec 2019 15:53:41 +0000 (15:53 +0000)]
include: fix 'ulong' definition on musl targets

The build failure was originally reported on arm64-musl
target at https://bugs.gentoo.org/703132. Here is the amd64-musl
variant:

```
$ LANG=C make CROSS_COMPILE=x86_64-gentoo-linux-musl- tools-only_defconfig -j$(nproc)
$ LANG=C make CROSS_COMPILE=x86_64-gentoo-linux-musl- tools-all            -j$(nproc)
...
In file included from tools/env/../../env/flags.c:7,
                 from tools/env/env_flags.c:1:
include/env.h:159:1: error: unknown type name 'ulong'; did you mean 'long'?
  159 | ulong env_get_ulong(const char *name, int base, ulong default_val);
      | ^~~~~
      | long
```

Note: 'ulong' is not defined there.

On glibc 'ulong' comes from <sys/types.h>:

```c
/* Old compatibility names for C types.  */
typedef unsigned long int ulong;
```

On musl it comes from <sys/types.h> as well but from under different guards:

```c
typedef unsigned long u_long, ulong;
```

The change inlines 'ulong' define similar to 'uint' define.

Bug: https://bugs.gentoo.org/703132
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
4 years agoMerge tag 'fixes-v2020.01' of https://gitlab.denx.de/u-boot/custodians/u-boot-video
Tom Rini [Thu, 2 Jan 2020 23:12:05 +0000 (18:12 -0500)]
Merge tag 'fixes-v2020.01' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- fix missing graphics output on some x86 boards
- avoid using #ifdef in video code
- add .gitignore for video font *.S files

4 years agovideo: add wrappers for ttf type files to .gitignore
Dario Binacchi [Tue, 31 Dec 2019 17:09:14 +0000 (18:09 +0100)]
video: add wrappers for ttf type files to .gitignore

The scripts/Makefile.lib generates an assembler file (*.S) to wrap the
font data for each file of type ttf defined in Kconfig.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
4 years agoMerge tag 'u-boot-rockchip-20191231' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Thu, 2 Jan 2020 15:28:26 +0000 (10:28 -0500)]
Merge tag 'u-boot-rockchip-20191231' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Fix latest mainline kernel for rk3308
- Update rk3288-evb config to suport OP-TEE
- Fix for firefly-px30 DEBUG_UART channel and make it standalone
- Script make_fit_atf add python3 support
- Fix rk3328 timer with correct COUNTER_FREQUENCY
- Fix rk3328 ATF support with enable spl-fifo-mode

4 years agoMerge branch '2020-01-02-master-imports'
Tom Rini [Thu, 2 Jan 2020 15:27:47 +0000 (10:27 -0500)]
Merge branch '2020-01-02-master-imports'

- Assorted test.py fixes
- Other minor changes