oweals/u-boot.git
3 years agox86: Don't build some unused objects in TPL WIP/26Jun2020-next
Tom Rini [Fri, 26 Jun 2020 21:40:06 +0000 (17:40 -0400)]
x86: Don't build some unused objects in TPL

In the future if we have separate symbols for DM_SPI_FLASH and
SPL_DM_SPI_FLASH we will not always have function declarations available
for some DM calls.  This in turn leads to build warnings but not
failures as the code isn't used and is discarded at link time.
Restructure things to not build code we won't use for TPL anyways.

Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
I ran in to this as part of testing
http://patchwork.ozlabs.org/project/uboot/patch/20200604151153.3980-4-Zhiqiang.Hou@nxp.com/
which we do need to bring in.  I think we might be building a lot of
codde that's then discarded for TPL builds, but didn't think this is the
right place to tackle that in.

3 years agospi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX)
Lukasz Majewski [Thu, 4 Jun 2020 15:11:52 +0000 (23:11 +0800)]
spi: Move DM_SPI_FLASH and SPI_FLASH_DATAFLASH to Kconfig (for ls1021aXXX)

This patch moves the CONFIG_DM_SPI_FLASH and CONFIG_SPI_FLASH_DATAFLASH
to be defined in Kconfig, not in board specific header file
(include/configs/<board>.h).

Before this change the CONFIG_DM_SPI_FLASH was not set in .config (so it
was not possible to use CONFIG_IS_ENABLED(DM_SPI_FLASH) in SPI DM/DTS
converted drivers), but it was set in u-boot.cfg file.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
3 years agospi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a)
Lukasz Majewski [Thu, 4 Jun 2020 15:11:51 +0000 (23:11 +0800)]
spi: Move DM_SPI_FLASH to Kconfig (for NXP's ls1043a)

This patch fixes issue with defining the DM_SPI_FLASH in the
configs/include/<board.h> instead of enabling this option in Kconfig.

The problem is that CONFIG_IS_ENABLED(DM_SPI_FLASH) shows false as there
is no DM_SPI_FLASH=y in .config (but the define is set in u-boot.cfg).

As a result conversion of DM_SPI_FLASH to using CONFIG_IS_ENABLED() is not
working properly.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
3 years agoConvert CONFIG_CADENCE_QSPI to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:31 +0000 (19:06 -0400)]
Convert CONFIG_CADENCE_QSPI to Kconfig

This converts the following to Kconfig:
   CONFIG_CADENCE_QSPI

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agospi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*
Lukasz Majewski [Thu, 4 Jun 2020 15:11:53 +0000 (23:11 +0800)]
spi: Convert CONFIG_DM_SPI* to CONFIG_$(SPL_TPL_)DM_SPI*

This change allows more fine tuning of driver model based SPI support in
SPL and TPL. It is now possible to explicitly enable/disable the DM_SPI
support in SPL and TPL via Kconfig option.

Before this change it was necessary to use:
    /* SPI Flash Configs */
    #if defined(CONFIG_SPL_BUILD)
    #undef CONFIG_DM_SPI
    #undef CONFIG_DM_SPI_FLASH
    #undef CONFIG_SPI_FLASH_MTD
    #endif

in the ./include/configs/<board>.h, which is error prone and shall be
avoided when we strive to switch to Kconfig.

The goal of this patch:

Provide distinction for DM_SPI support in both U-Boot proper and SPL (TPL).
Valid use case is when U-Boot proper wants to use DM_SPI, but SPL must
still support non DM driver.

Another use case is the conversion of non DM/DTS SPI driver to support
DM/DTS. When such driver needs to work in both SPL and U-Boot proper, the
distinction is needed in Kconfig (also if SPL version of the driver
supports OF_PLATDATA).

In the end of the day one would have to support following use cases (in
single driver file - e.g. mxs_spi.c):

- U-Boot proper driver supporting DT/DTS
- U-Boot proper driver without DT/DTS support (deprecated)
- SPL driver without DT/DTS support
- SPL (and TPL) driver with DT/DTS (when the SoC has enough resources to
  run full blown DT/DTS)
- SPL driver with DT/DTS and SPL_OF_PLATDATA (when one have constrained
  environment with no fitImage and OF_LIBFDT support).

Some boards do require SPI support (with DM) in SPL (TPL) and some only
have DM_SPI{_FLASH} defined to allow compiling SPL.

This patch converts #ifdef CONFIG_DM_SPI* to #if CONFIG_IS_ENABLED(DM_SPI)
and provides corresponding defines in Kconfig.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[trini: Fixup a few platforms]
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agospi: Enable missing CONFIG_SPL_DM_SPI support
Tom Rini [Tue, 16 Jun 2020 23:06:29 +0000 (19:06 -0400)]
spi: Enable missing CONFIG_SPL_DM_SPI support

Due to how the Makefile logic is we currently get DM_SPI support in SPL
enabled by having DM_SPI enabled for full U-Boot but not having
CONFIG_SPL_DM_SPI set.  Add this missing option to boards that were
inadvertently making use of it.

Cc: Adam Ford <aford173@gmail.com>
Cc: Akash Gajjar <akash@openedev.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Andy Yan <andy.yan@rock-chips.com>
Cc: Anup Patel <anup.patel@wdc.com>
Cc: Atish Patra <atish.patra@wdc.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Chee Hong Ang <chee.hong.ang@intel.com>
Cc: Chin-Liang See <clsee@altera.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Cc: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Klaus Goger <klaus.goger@theobroma-systems.com>
Cc: Levin Du <djw@t-chip.com.cn>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Marek Vasut <marex@denx.de>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Mike Looijmans <mike.looijmans@topic.nl>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Pavel Machek <pavel@denx.de>
Cc: Peter Robinson <pbrobinson@gmail.com>
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefan Roese <sr@denx.de>
Cc: Suniel Mahesh <sunil@amarulasolutions.com>
Cc: Vitaly Andrianov <vitalya@ti.com>
Cc: Wolfgang Grandegger <wg@aries-embedded.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
3 years agoKconfig: Remove CONFIG_CLOCKS_IN_MHZ
Tom Rini [Tue, 16 Jun 2020 23:06:28 +0000 (19:06 -0400)]
Kconfig: Remove CONFIG_CLOCKS_IN_MHZ

This variable is unset anywhere and only unset on a number of platforms.
Remove all relevant code.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BOOTM_NETBSD to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:27 +0000 (19:06 -0400)]
Convert CONFIG_BOOTM_NETBSD to Kconfig

This converts the following to Kconfig:
   CONFIG_BOOTM_NETBSD

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: imx: Finish migration of CONFIG_CSF_SIZE to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:26 +0000 (19:06 -0400)]
arm: imx: Finish migration of CONFIG_CSF_SIZE to Kconfig

While in most cases CSF_SIZE is handled via Kconfig we have some i.MX8M
platforms that set the size based on the now-renamed CONFIG_SECURE_BOOT
symbol.  Update things so that CSF_SIZE itself depends on IMX_HAB being
enabled and provide the default value for i.MX8M family of parts.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Ye Li <ye.li@nxp.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Fixes: d714a75fd4dc ("imx: replace CONFIG_SECURE_BOOT with CONFIG_IMX_HAB")
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Ye Li <ye.li@nxp.com>
3 years agonxp: Finish switch to CONFIG_NXP_ESBC
Tom Rini [Tue, 16 Jun 2020 23:06:25 +0000 (19:06 -0400)]
nxp: Finish switch to CONFIG_NXP_ESBC

There are two remaining users of the CONFIG_SECURE_BOOT symbol that have
not been migrated to another symbol.  In this case, they should be using
CONFIG_NXP_ESBC as their guard.

Cc: Vladimir Oltean <olteanv@gmail.com>
Fixes: 5536c3c9d0d1 ("freescale/layerscape: Rename the config CONFIG_SECURE_BOOT name")
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: imx: Finish migration from CONFIG_SECURE_BOOT to CONFIG_IMX_HAB
Tom Rini [Tue, 16 Jun 2020 23:06:24 +0000 (19:06 -0400)]
arm: imx: Finish migration from CONFIG_SECURE_BOOT to CONFIG_IMX_HAB

There are a few remaining places where we say CONFIG_SECURE_BOOT rather
than CONFIG_IMX HAB.  Update these instances.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Cc: Eddy Petrișor <eddy.petrisor@gmail.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Priyanka Jain <priyanka.jain@nxp.com>
Fixes: d714a75fd4dc ("imx: replace CONFIG_SECURE_BOOT with CONFIG_IMX_HAB")
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
3 years agoConvert CONFIG_CONSOLE_SCROLL_LINES to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:23 +0000 (19:06 -0400)]
Convert CONFIG_CONSOLE_SCROLL_LINES to Kconfig

This converts the following to Kconfig:
   CONFIG_CONSOLE_SCROLL_LINES

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: toradex: Convert CONFIG_CONSOLE_MUX to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:22 +0000 (19:06 -0400)]
arm: toradex: Convert CONFIG_CONSOLE_MUX to Kconfig

This converts the following to Kconfig:
   CONFIG_CONSOLE_MUX

Cc: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
3 years agoConvert CONFIG_CONS_INDEX to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:21 +0000 (19:06 -0400)]
Convert CONFIG_CONS_INDEX to Kconfig

This converts the following to Kconfig:
   CONFIG_CONS_INDEX

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_CMDLINE_EDITING to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:20 +0000 (19:06 -0400)]
Convert CONFIG_CMDLINE_EDITING to Kconfig

This converts the following to Kconfig:
   CONFIG_CMDLINE_EDITING

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BUILD_TARGET to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:19 +0000 (19:06 -0400)]
Convert CONFIG_BUILD_TARGET to Kconfig

This converts the following to Kconfig:
   CONFIG_BUILD_TARGET

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BOUNCE_BUFFER to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:18 +0000 (19:06 -0400)]
Convert CONFIG_BOUNCE_BUFFER to Kconfig

This converts the following to Kconfig:
   CONFIG_BOUNCE_BUFFER

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BOOTP_DNS2 to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:17 +0000 (19:06 -0400)]
Convert CONFIG_BOOTP_DNS2 to Kconfig

This converts the following to Kconfig:
   CONFIG_BOOTP_DNS2
   CONFIG_BOOTP_PXE_CLIENTARCH

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: abb secu1: Convert CONFIG_BOOTDELAY to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:16 +0000 (19:06 -0400)]
arm: abb secu1: Convert CONFIG_BOOTDELAY to Kconfig

This converts the following to Kconfig:
   CONFIG_BOOTDELAY

Cc: Holger Brunck <holger.brunck@ch.abb.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoarm: capricorn: Convert CONFIG_BOOTCOUNT_ENV et al to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:15 +0000 (19:06 -0400)]
arm: capricorn: Convert CONFIG_BOOTCOUNT_ENV et al to Kconfig

This converts the following to Kconfig:
   CONFIG_BOOTCOUNT_ENV
   CONFIG_BOOTCOUNT_LIMIT

Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BOARD_TYPES to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:14 +0000 (19:06 -0400)]
Convert CONFIG_BOARD_TYPES to Kconfig

This converts the following to Kconfig:
   CONFIG_BOARD_TYPES

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BCH to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:13 +0000 (19:06 -0400)]
Convert CONFIG_BCH to Kconfig

This converts the following to Kconfig:
   CONFIG_BCH

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BOOTARGS to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:12 +0000 (19:06 -0400)]
Convert CONFIG_BOOTARGS to Kconfig

This converts the following to Kconfig:
   CONFIG_BOOTARGS

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BOARD_EARLY_INIT_F et al to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:11 +0000 (19:06 -0400)]
Convert CONFIG_BOARD_EARLY_INIT_F et al to Kconfig

This converts the following to Kconfig:
   CONFIG_BOARD_EARLY_INIT_F
   CONFIG_BOARD_EARLY_INIT_R

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_BAUDRATE to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:10 +0000 (19:06 -0400)]
Convert CONFIG_BAUDRATE to Kconfig

This converts the following to Kconfig:
   CONFIG_BAUDRATE

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agobk4r1: Re-convert CONFIG_AUTOBOOT_PROMPT et al to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:09 +0000 (19:06 -0400)]
bk4r1: Re-convert CONFIG_AUTOBOOT_PROMPT et al to Kconfig

This converts the following to Kconfig:
   CONFIG_AUTOBOOT_PROMPT
   CONFIG_AUTOBOOT_KEYED
   CONFIG_AUTOBOOT_STOP_STR

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ATMEL_USART to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:08 +0000 (19:06 -0400)]
Convert CONFIG_ATMEL_USART to Kconfig

This converts the following to Kconfig:
   CONFIG_ATMEL_USART

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ATMEL_NAND_HW_PMECC et al to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:07 +0000 (19:06 -0400)]
Convert CONFIG_ATMEL_NAND_HW_PMECC et al to Kconfig

This converts the following to Kconfig:
   CONFIG_ATMEL_NAND_HW_PMECC
   CONFIG_ATMEL_NAND_HWECC
   CONFIG_NAND_ATMEL
   CONFIG_PMECC_CAP
   CONFIG_PMECC_SECTOR_SIZE

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ATMEL_HLCD to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:06 +0000 (19:06 -0400)]
Convert CONFIG_ATMEL_HLCD to Kconfig

This converts the following to Kconfig:
   CONFIG_ATMEL_HLCD

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_AT91_GPIO to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:05 +0000 (19:06 -0400)]
Convert CONFIG_AT91_GPIO to Kconfig

This converts the following to Kconfig:
   CONFIG_AT91_GPIO

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ARM_PL180_MMCI to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:03 +0000 (19:06 -0400)]
Convert CONFIG_ARM_PL180_MMCI to Kconfig

This converts the following to Kconfig:
   CONFIG_ARM_PL180_MMCI

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_ARCH_MISC_INIT to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:02 +0000 (19:06 -0400)]
Convert CONFIG_ARCH_MISC_INIT to Kconfig

This converts the following to Kconfig:
   CONFIG_ARCH_MISC_INIT

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoConvert CONFIG_AM335X_LCD to Kconfig
Tom Rini [Tue, 16 Jun 2020 23:06:01 +0000 (19:06 -0400)]
Convert CONFIG_AM335X_LCD to Kconfig

This converts the following to Kconfig:
   CONFIG_AM335X_LCD

Signed-off-by: Tom Rini <trini@konsulko.com>
3 years agoMerge branch '2020-06-25-tidy-up-bd-command' into next next
Tom Rini [Thu, 25 Jun 2020 22:15:50 +0000 (18:15 -0400)]
Merge branch '2020-06-25-tidy-up-bd-command' into next

- Tidy up the 'bdinfo' command so that it's both consistent for all
  architectures and sharing as much code as possible.

3 years agobdinfo: x86: vesa: Update fb_base to the correct value
Simon Glass [Sun, 10 May 2020 20:17:02 +0000 (14:17 -0600)]
bdinfo: x86: vesa: Update fb_base to the correct value

Set this value in global_data so that it is reported correctly on x86
boards.

In fact, U-Boot allocates space for the frame buffer even though it is not
used. Then the FSP picks the address itself (e.g. 0xb0000000). So the
value set by U-Boot (high in memory with everything else that is
relocated), is not actually the correct value.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: dm: Update fb_base when using driver model
Simon Glass [Sun, 10 May 2020 20:17:01 +0000 (14:17 -0600)]
bdinfo: dm: Update fb_base when using driver model

Update this value with the address of a video device so that it shows with
the 'bd' command.

It would be better to obtain the address from the uclass by looking in
struct video_uc_platdata for each device. We can move over to that once
DM_VIDEO migration is complete.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Update the file comments
Simon Glass [Sun, 10 May 2020 20:17:00 +0000 (14:17 -0600)]
bdinfo: Update the file comments

Update the comment at the top of the file to indicate what this file does.
Also drop the line at the bottom and an unnecessary header include.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: m68k: ppc: Move arch-specific code from bdinfo
Simon Glass [Sun, 10 May 2020 20:16:59 +0000 (14:16 -0600)]
bdinfo: m68k: ppc: Move arch-specific code from bdinfo

We don't have an easy way to share these three lines of code with two
architectures. We also want to make it clear that this code is actually
arch-specific.

So just duplicate it in each arch-specific file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
3 years agobdinfo: m68k: Move m68k-specific info into its own file
Simon Glass [Sun, 10 May 2020 20:16:58 +0000 (14:16 -0600)]
bdinfo: m68k: Move m68k-specific info into its own file

We don't really want to have m68k-specific code in a generic file. Create
a new arch-specific function to hold it, and move it into that.

Make the function weak so that any arch can implement it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Angelo Dureghello <angelo.dureghello@timesys.com>
Tested-by: Angelo Dureghello <angelo.dureghello@timesys.com>
3 years agobdinfo: ppc: Move PPC-specific info into its own file
Simon Glass [Sun, 10 May 2020 20:16:57 +0000 (14:16 -0600)]
bdinfo: ppc: Move PPC-specific info into its own file

We don't really want to have PPC-specific code in a generic file. Create
a new arch-specific function to hold it, and move it into that.

Make the function weak so that any arch can implement it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
3 years agobdinfo: arm: Move ARM-specific info into its own file
Simon Glass [Sun, 10 May 2020 20:16:56 +0000 (14:16 -0600)]
bdinfo: arm: Move ARM-specific info into its own file

We don't really want to have ARM-specific code in a generic file. Create
a new arch-specific function to hold it, and move it into that.

Make the function weak so that any arch can implement it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Export some basic printing functions
Simon Glass [Sun, 10 May 2020 20:16:55 +0000 (14:16 -0600)]
bdinfo: Export some basic printing functions

At present the functions to print a number and a frequency are static. We
want to move some of the code in here to an arch-specific file. For
consistency that code should use these same functions. So export them with
an appropriate name.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: net: Inline print_eth_ip_addr()
Simon Glass [Sun, 10 May 2020 20:16:54 +0000 (14:16 -0600)]
bdinfo: net: Inline print_eth_ip_addr()

This function only has two lines of code now, so inline it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: net: Drop legacy ethernet bdinfo
Simon Glass [Sun, 10 May 2020 20:16:53 +0000 (14:16 -0600)]
bdinfo: net: Drop legacy ethernet bdinfo

This code pre-dates driver model and the migration date is nearly upon us.
Pare the print_eths() function down and enable it for driver model, since
it works correctly.

The IP address is already printed in print_eth_ip_addr() so we can remove
that.

Since this results in a one-line print_eths() function, inline it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: net: ppc: Drop prints for CONFIG_HAS_ETHn
Simon Glass [Sun, 10 May 2020 20:16:52 +0000 (14:16 -0600)]
bdinfo: net: ppc: Drop prints for CONFIG_HAS_ETHn

These config options have not been migrated to Kconfig. This should be
handled using driver model, iterating over the available Ethernet devices.
For now, remove the code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
3 years agobdinfo: net: ppc: Drop bi_enet1addr and other similar info
Simon Glass [Sun, 10 May 2020 20:16:51 +0000 (14:16 -0600)]
bdinfo: net: ppc: Drop bi_enet1addr and other similar info

These values were 'old' in 2013 so it should be safe to remove them. They
are never set in U-Boot anyway, so the values will always be zero.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
3 years agobdinfo: Drop print_cpu_word_size()
Simon Glass [Sun, 10 May 2020 20:16:50 +0000 (14:16 -0600)]
bdinfo: Drop print_cpu_word_size()

This function only has one line of code in it so inline it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Drop print_bi_flash()
Simon Glass [Sun, 10 May 2020 20:16:49 +0000 (14:16 -0600)]
bdinfo: Drop print_bi_flash()

This function only has three lines of code in it so inline it. This helps
to put all the code in one place for future partitioning.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Drop print_bi_boot_params()
Simon Glass [Sun, 10 May 2020 20:16:48 +0000 (14:16 -0600)]
bdinfo: Drop print_bi_boot_params()

This function only has one line of code in it so inline it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: sh: arc: Drop arch-specific print_bi_mem()
Simon Glass [Sun, 10 May 2020 20:16:47 +0000 (14:16 -0600)]
bdinfo: sh: arc: Drop arch-specific print_bi_mem()

It isn't worth having arch-specific code for such minor output
differences. In fact it is better if all archs are consistent.

Drop the arch-specific code in print_bi_mem() and inline it to avoid a
two-line function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
3 years agobdinfo: ppc: Drop arch-specific print_baudrate()
Simon Glass [Sun, 10 May 2020 20:16:46 +0000 (14:16 -0600)]
bdinfo: ppc: Drop arch-specific print_baudrate()

This function outputs the same basic info. Since the baud rate is commonly
115200 these is often no difference. Drop the arch-specific code and
inline it to avoid a one-line function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
3 years agobdinfo: Drop print_std_bdinfo()
Simon Glass [Sun, 10 May 2020 20:16:45 +0000 (14:16 -0600)]
bdinfo: Drop print_std_bdinfo()

Everything in this function is standard now so it serves no purpose. Move
it into the generic do_bdinfo() function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Drop unnecessary inline on functions
Simon Glass [Sun, 10 May 2020 20:16:44 +0000 (14:16 -0600)]
bdinfo: Drop unnecessary inline on functions

This serves no purpose since the compiler will inline the functions
automatically. Drop use of inline in this file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: microblaze: sh: nios2: Drop arch-specific flash info
Simon Glass [Sun, 10 May 2020 20:16:43 +0000 (14:16 -0600)]
bdinfo: microblaze: sh: nios2: Drop arch-specific flash info

The differences these architectures have are minor and not worth the extra
code. Use the generic version always.

Tidy up the code style by removing unnecessary tabs.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Drop unused __maybe_unused
Simon Glass [Sun, 10 May 2020 20:16:42 +0000 (14:16 -0600)]
bdinfo: Drop unused __maybe_unused

Some of these are not needed now. Drop them to avoid cluttering the code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: Drop the option to not use the generic 'bd' command
Simon Glass [Sun, 10 May 2020 20:16:41 +0000 (14:16 -0600)]
bdinfo: Drop the option to not use the generic 'bd' command

Now that all architectures are using the generic do_bdinfo(), drop the
option to not use it. When new architectures are added, they will get at
least some useful information from the generic implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: arc: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:40 +0000 (14:16 -0600)]
bdinfo: arc: Use the generic bd command

There is nothing new in the arc 'bd' command beyond what is already there.
Switch it over to use the generic code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: arm: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:39 +0000 (14:16 -0600)]
bdinfo: arm: Use the generic bd command

Unfortunately ARM has a lot of special stuff. Move it into the generic
function for now, so we can have it all in one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: m68k: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:38 +0000 (14:16 -0600)]
bdinfo: m68k: Use the generic bd command

Unfortunately m68k has a lot of special stuff. Move it into the generic
function for now, so we can have it all in one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: powerpc: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:37 +0000 (14:16 -0600)]
bdinfo: powerpc: Use the generic bd command

Unfortunately PowerPC has a lot of special stuff. Move it into the generic
function for now, so we can have it all in one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: riscv: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:36 +0000 (14:16 -0600)]
bdinfo: riscv: Use the generic bd command

This arch has none of its own info to show. Move it over to use the
generic do_bdinfo().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: nds32: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:35 +0000 (14:16 -0600)]
bdinfo: nds32: Use the generic bd command

This arch has none of its own info to show. Move it over to use the
generic do_bdinfo().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: sandbox: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:34 +0000 (14:16 -0600)]
bdinfo: sandbox: Use the generic bd command

Sandbox has a printout of 'FB base' but this code is not used since
sandbox uses driver model for everything.

Move sandbox over to use the generic do_bdinfo().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: x86: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:33 +0000 (14:16 -0600)]
bdinfo: x86: Use the generic bd command

This arch shows 'ethspeed' info but only the freescale drivers use it, so
it can be dropped.

It also calls print_bi_dram() which is safe to call from any arch since it
has an #ifdef inside it. Add this to the generic do_bdinfo() and move x86
over to use it. Put it first since pytests rely on seeing it before
memstart in find_ram_base().

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: sh: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:32 +0000 (14:16 -0600)]
bdinfo: sh: Use the generic bd command

This arch has no code that is not already in the generic function. Drop
the arch-specific function and change sh over to use the generic one.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: microblaze: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:31 +0000 (14:16 -0600)]
bdinfo: microblaze: Use the generic bd command

Microblaze prints out ethernet and FDT information. This is useful to
most archs, so move it into the generic code and move microblaze over to
use it.

Note that FDT information is shown for all boards, since they should be
using device tree by now.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: nios2: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:30 +0000 (14:16 -0600)]
bdinfo: nios2: Use the generic bd command

Nios2 currently has some code to output SRAM information which is behind
an #ifdef. No nios2 boards define this option, so the code can be removed.

Move Nios2 over to use the generic function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: mips: Use the generic bd command
Simon Glass [Sun, 10 May 2020 20:16:29 +0000 (14:16 -0600)]
bdinfo: mips: Use the generic bd command

MIPS currently has a few extra things which are generally useful. Add them
to the generic function and move MIPS over to use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
3 years agobdinfo: xtensa: Create a generic do_bdinfo for xtensa
Simon Glass [Sun, 10 May 2020 20:16:28 +0000 (14:16 -0600)]
bdinfo: xtensa: Create a generic do_bdinfo for xtensa

This arch uses only the generic function. It would be nice if all the
archs did the same. As a first step, create a new generic function for the
'bd' command and make xtensa use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: m68k: Drop bd_info->bi_ipbfreq
Simon Glass [Sun, 10 May 2020 20:16:27 +0000 (14:16 -0600)]
bdinfo: m68k: Drop bd_info->bi_ipbfreq

This field is not used anymore. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: riscv: Use generic bd_info
Simon Glass [Sun, 10 May 2020 20:16:26 +0000 (14:16 -0600)]
bdinfo: riscv: Use generic bd_info

At present riscv still uses its own private bd_info struct. Move it over
to use the generic one like other archs.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agobdinfo: nds32: Use generic bd_info
Simon Glass [Sun, 10 May 2020 20:16:25 +0000 (14:16 -0600)]
bdinfo: nds32: Use generic bd_info

At present nds32 still uses its own private bd_info struct. Move it over
to use the generic one like other archs.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agotbs2910: Drop the 'bd' command
Simon Glass [Sun, 10 May 2020 20:16:24 +0000 (14:16 -0600)]
tbs2910: Drop the 'bd' command

This board is very close to its limit. Drop this command before the bd
refactoring, which increases the size slightly on one toolchain.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
3 years agoMerge tag 'xilinx-for-v2020.10' of https://gitlab.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 25 Jun 2020 13:33:39 +0000 (09:33 -0400)]
Merge tag 'xilinx-for-v2020.10' of https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze into next

Xilinx changes for v2020.10

Versal:
- xspi bootmode fix
- Removing one clock from clk driver
- Align u-boot memory setting with OS by default
- Map TCM and OCM by default

ZynqMP:
- Minor DT improvements
- Reduce console buffer for mini configurations
- Add fix for AMS
- Add support for XDP platform

Zynq:
- Support for AES engine
- Enable bigger memory test by default
- Extend documentation for SD preparation
- Use different freq for Topic miami board

mmc:
- minor GD pointer removal

net:
- Support fixed-link cases by zynq gem
- Fix phy looking loop in axi enet driver

spi:
- Cleanup global macros for xilinx spi drivers

firmware:
- Add support for pmufw reloading

fpga:
- Improve error status reporting

common:
- Remove 4kB addition space for FDT allocation

3 years agocommon: fdt: Remove additional 4k space for fdt allocation
Ashok Reddy Soma [Mon, 6 Apr 2020 13:58:30 +0000 (07:58 -0600)]
common: fdt: Remove additional 4k space for fdt allocation

There is no technical reason to add additional 4k space for FDT. This space
is completely unused and just increase memory requirements. This is
problematic on systems with limited memory resources as Xilinx Zynq
CSE/ZynqMP mini and Versal mini configurations.

The patch is removing additional 4k space.

EFI code is using copy_fdt() which copy FDT to different location.
And all boot commands in case of using U-Boot's FDT pointed by
$fdtcontroladdr are copying FDT to different locations by
image_setup_libfdt().
That's why in proper flow none should modified DTB used by U-Boot that's
why there is no need for additional space.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
3 years agoxilinx: zynqmp: Enable pmufw config reloading
Michal Simek [Mon, 27 Apr 2020 09:26:31 +0000 (11:26 +0200)]
xilinx: zynqmp: Enable pmufw config reloading

PMU FW has functionality to accept and reload configuration object at run
time. The patch is adding support for doing it via u-boot prompt.

For example:
tftpboot 100000 pmu_obj.bin
zynqmp pmufw 100000 $filesize

The most of pmufw configurations don't allow config reloading.
Also official Xilinx PMUFW doens't support this feature properly but the
patch should open a way to call PMUFW with this request.

Here is example of PMUFW config fragment which enables config reloading.

/* SET CONFIG SECTION */
PM_CONFIG_SET_CONFIG_SECTION_ID,        /* Section ID */
PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK | PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK |
PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK, /* Permissions to set config */

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Print multiboot reg in decimal
Michal Simek [Wed, 27 May 2020 10:50:33 +0000 (12:50 +0200)]
arm64: zynqmp: Print multiboot reg in decimal

It is better to print multiboot value in decimal because boot images are
also composed in decimal not in hex.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agotopic: zynqmp: Add support for zynqmp-xilinx-xdp platform
Mike Looijmans [Thu, 6 Jun 2019 07:47:41 +0000 (09:47 +0200)]
topic: zynqmp: Add support for zynqmp-xilinx-xdp platform

XDP - Xilinx Drone Platform is a board for drones or other UAV.

Pinmux the SD card by default, and if the SD card detect line is high
(inactive) then pinmux the SD1 interface to EMIO instead. SD is placed on
extension card and shares connection with on board wife. That means that
when SD card is present in the board wifi can't be used.

There seems to be an issue with DDR access from PL at 2400MT/s, after
updating the PMU and ATF firmware this is causing extremely slow DDR
access. Reducing the DDR speed from 2400 to 2133 appears to solve that
issue, even though the hardware has proven to be 2400 capable.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoboard: zynqmp: Fix for wrong AMS setting by ROM
Mike Looijmans [Fri, 18 Oct 2019 05:34:13 +0000 (07:34 +0200)]
board: zynqmp: Fix for wrong AMS setting by ROM

A bug in the ZynqMP bootrom sets the PS_SYSMON_ANALOG_BUS register
at 0xFFA50914 to the wrong value 0x3201. This causes the AMS to
exchange the PS supply voltages 0 and 1. On Xilinx boards this is
not noticeable since these are tied together, it's only really
noticeable if banks 500 and 501 have different supplies. Xilinx' tech
support reported this undocumented register to be the cause, and
this patch applies a fix for all boards by programming the correct
value.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoboard: topic-miami: Set FCLK1 to 150MHz
Mike Looijmans [Wed, 22 Apr 2020 14:27:19 +0000 (16:27 +0200)]
board: topic-miami: Set FCLK1 to 150MHz

In all reference designs the FCLK1 runs at 150MHz, but the bootloader
doesn't set it up like that. Set the divider to 8 to generate the
correct clock. Fixes (a.o.) the DMA speed being too slow.

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agonet: xilinx: axi_emac: Fix endless loop when no PHYs are connected
Patrick van Gelder [Wed, 3 Jun 2020 12:18:04 +0000 (14:18 +0200)]
net: xilinx: axi_emac: Fix endless loop when no PHYs are connected

The index used to iterate over the possible PHYs in axiemac_phy_init was an
unsigned int and decremented. Therefor it was always >= 0 and never exited
the loop.

Signed-off-by: Patrick van Gelder <patrick.vangelder@nl.bosch.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agodoc: board: xilinx: zynq.rst: add description how to flash a SD card
Johannes Krottmayer [Wed, 3 Jun 2020 09:50:06 +0000 (11:50 +0200)]
doc: board: xilinx: zynq.rst: add description how to flash a SD card

Add a short description in the ZYNQ documentation how to prepare a SD card and
copy the related images to SD card.

Signed-off-by: Johannes Krottmayer <krjdev@gmail.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: xilinx: Print fpga error value in hex
T Karthik Reddy [Thu, 14 May 2020 13:49:36 +0000 (07:49 -0600)]
arm64: xilinx: Print fpga error value in hex

Fpga returns error value when fails, error status should be
printed in hex format.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agospi: zynq_[q]spi: Convert config's to macro's
Ashok Reddy Soma [Mon, 18 May 2020 07:11:00 +0000 (01:11 -0600)]
spi: zynq_[q]spi: Convert config's to macro's

Remove below config options and convert them to macros. They have never
been configured to different values than default one. And also it makes
sense to reduce the config_whitelist.
CONFIG_SYS_ZYNQ_SPI_WAIT
CONFIG_SYS_ZYNQ_QSPI_WAIT
CONFIG_XILINX_SPI_IDLE_VAL

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agonet: gem: Disable PCS autonegotiation in case of fixed-link
Michal Simek [Wed, 13 May 2020 14:05:01 +0000 (08:05 -0600)]
net: gem: Disable PCS autonegotiation in case of fixed-link

Disable PCS autonegotiation if fixed-link node is present in device tree.
This way systems with multiple GEM instances with a combination of
SGMII-fixed and SGMII-PHY will work.

Reported-by: Goran Marinkovic <goran.marinkovic@psi.ch>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Change spi-max-frequency for qspi mini
T Karthik Reddy [Tue, 5 May 2020 14:14:30 +0000 (08:14 -0600)]
arm64: zynqmp: Change spi-max-frequency for qspi mini

Change mini u-boot qspi spi-max-frequency to 108Mhz, make the
frequency similar to full u-boot qspi flash spi-max-frequency.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Fix si570 clock output names and references
Saeed Nowshadi [Wed, 4 Mar 2020 18:21:34 +0000 (10:21 -0800)]
arm64: zynqmp: Fix si570 clock output names and references

Align clock output names with node references.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: zynqmp: Reduce console buffer size
T Karthik Reddy [Tue, 5 May 2020 14:14:28 +0000 (08:14 -0600)]
arm64: zynqmp: Reduce console buffer size

Reduce console buffer size to 1kbyte to accommodate memory
allocations in mini u-boot for zynqmp.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: versal: Enable config to map TCM and OCM
Ashok Reddy Soma [Fri, 1 May 2020 05:44:22 +0000 (23:44 -0600)]
arm64: versal: Enable config to map TCM and OCM

Enable CONFIG_DEFINE_TCM_OCM_MMAP to map TCM and OCM memory.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm: zynq: Enable alternative memory test
Ashok Reddy Soma [Fri, 1 May 2020 05:44:23 +0000 (23:44 -0600)]
arm: zynq: Enable alternative memory test

Enable alternative memory test for zynq platforms.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agofpga: zynqpl: Add zynq aes load & loadp commands
T Karthik Reddy [Tue, 12 Mar 2019 14:50:22 +0000 (20:20 +0530)]
fpga: zynqpl: Add zynq aes load & loadp commands

Added support for zynq aes load & loadp commands.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agofpga: zynqpl: Flush dcache only for non-bitstream data
T Karthik Reddy [Tue, 12 Mar 2019 14:50:23 +0000 (20:20 +0530)]
fpga: zynqpl: Flush dcache only for non-bitstream data

In case of aes decryption destination address range must be flushed
before transferring decrypted data to destination.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agofpga: zynqpl: Check if aes engine is enabled
Ibai Erkiaga [Thu, 5 Apr 2018 12:19:27 +0000 (05:19 -0700)]
fpga: zynqpl: Check if aes engine is enabled

AES engine cannot be used if has not been enabled at boot time
with an encrypted boot image.

Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com>
Acked-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agofpga: zynqpl: Check fpga config completion
T Karthik Reddy [Tue, 12 Mar 2019 14:50:20 +0000 (20:20 +0530)]
fpga: zynqpl: Check fpga config completion

This patch checks fpga config completion when a bitstream is loaded
into PL.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agofpga: zynqpl: Correct PL bitstream loading sequence for zynqaes
Siva Durga Prasad Paladugu [Wed, 9 Dec 2015 13:16:43 +0000 (18:46 +0530)]
fpga: zynqpl: Correct PL bitstream loading sequence for zynqaes

Correct the PL bitstream loading sequence for zynqaes command by
clearing the loaded PL bitstream before loading the new encrypted
bitstream using the zynq aes command. This was done by setting
the PROG_B same as in case of fpgaload commands.
This patch fixes the issue of loading the encrypted PL bitstream
onto the PL in which a bitstream has already been loaded
successfully.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agofirmware: zynqmp: Change panic logic in zynqmp_pmufw_load_config_object()
Michal Simek [Mon, 27 Apr 2020 09:51:40 +0000 (11:51 +0200)]
firmware: zynqmp: Change panic logic in zynqmp_pmufw_load_config_object()

There is no need to panic all the time when pmufw config object loading
failed. The patch improves function logic to report permission deny case
and also panic only for SPL case.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
3 years agoclk: versal: Remove alt_ref_clk from clock sources
Rajan Vaja [Tue, 5 May 2020 05:53:56 +0000 (22:53 -0700)]
clk: versal: Remove alt_ref_clk from clock sources

alt_ref_clk is applicable only for PS extended version.
For PS base version there is no separate alt_ref_clk.
It is tied with ref_clk, so remove it from driver.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm64: versal: Let U-Boot to update memory node by default
Michal Simek [Tue, 5 May 2020 14:17:57 +0000 (16:17 +0200)]
arm64: versal: Let U-Boot to update memory node by default

There is no reason not to let U-Boot to update memory node by default. In
past this was disabled by purpose to be able to test different memory
configurations from one U-Boot instance.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agommc: zynq_sdhci: Remove global pointer
Michal Simek [Thu, 16 Apr 2020 12:48:44 +0000 (14:48 +0200)]
mmc: zynq_sdhci: Remove global pointer

Driver is not calling gd anywhere that's why there is not need to define
it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
3 years agoarm: versal: Fix xspi0 boot mode
Michal Simek [Thu, 16 Apr 2020 16:04:43 +0000 (18:04 +0200)]
arm: versal: Fix xspi0 boot mode

Use proper number to be aligned with xspi0 boot mode.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>