oweals/u-boot.git
5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq
Tom Rini [Thu, 22 Aug 2019 11:29:54 +0000 (07:29 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq

- i2c dm model support of lx2160a, ls1088a, lx2088a, ls1028a
- icid setup for ls1028a, ls1088a
- other small fixes

5 years agoarmv8: ls1028a: add icid setup for platform devices
Laurentiu Tudor [Tue, 30 Jul 2019 14:29:59 +0000 (17:29 +0300)]
armv8: ls1028a: add icid setup for platform devices

Add ICID setup for the platform devices contained on this chip: usb,
sata, sdhc, edma, qdma, gpu, display and sec.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1088a: add icid setup for platform devices
Laurentiu Tudor [Tue, 30 Jul 2019 14:29:58 +0000 (17:29 +0300)]
armv8: ls1088a: add icid setup for platform devices

Add ICID setup for the platform devices contained on this chip: usb,
sata, sdhc, sec. The ICID macros for SEC needed to be adapted because
the format of the registers is different.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: fsl-layerscape: make icid setup endianness aware
Laurentiu Tudor [Tue, 30 Jul 2019 14:29:57 +0000 (17:29 +0300)]
armv8: fsl-layerscape: make icid setup endianness aware

The current implementation assumes that the registers holding the ICIDs
are universally big endian. That's no longer the case on newer
platforms so update the code to take into account the endianness of
each register.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: fsl-layerscape: add base addresses for several devices
Laurentiu Tudor [Tue, 30 Jul 2019 14:29:56 +0000 (17:29 +0300)]
armv8: fsl-layerscape: add base addresses for several devices

Add CCSR base addresses for ESDHC2, EDMA QDMA, DISPLAY and GPU devices.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: fsl-layerscape: add missing sec jr base address defines
Laurentiu Tudor [Tue, 30 Jul 2019 14:29:55 +0000 (17:29 +0300)]
armv8: fsl-layerscape: add missing sec jr base address defines

Add defines for all the SEC job rings base addresses.

Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: kconfig: Fix some platforms incorrect I2C clock divider
Chuanhua Han [Fri, 2 Aug 2019 08:53:53 +0000 (16:53 +0800)]
armv8: kconfig: Fix some platforms incorrect I2C clock divider

By default, i2c input clock is platform clk / 2, but some of the
platform of i2c clock divider does not meet this kind of circumstance,
so alone to set default values for these platforms.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1088aqds: support DSPI mode by hwconfig
Chuanhua Han [Thu, 1 Aug 2019 08:36:57 +0000 (16:36 +0800)]
armv8: ls1088aqds: support DSPI mode by hwconfig

BRDCFG4[USBOSC] and BRDCFG5[SPR] register field of Qixis device is used
to control SPI and other IP signal routing.

USBOSC:
0= SPI_CLK used as external USB REFCLK input driven with 24.000 MHz.
SPI devices are unusable in this mode.
1= SPI_CLK used as SPI clock.
SPI devices are usable in this mode. USB block is clocked from
internal sources

SPR[3:2]:
SPI_CS / SDHC_DAT4:7 Routing (schematic net CFG_SPI_ROUTE[3:2]):
00= SDHC/eMMC 8-bit
01= SD Card Rev 2.0/3.0
10= SPI on-board memory
11= TDM Riser / SPI off-board connector.
The default value is 00 if an SDCard/eMMC card is selected as the boot
device.

SPR[1:0]:
SPI_SIN/SOUT/SCK Routing (schematic net CFG_SPI_ROUTE[1:0]):
00= SDHC Sync loop
01= TDM Riser / SPI off-board connector.
10= SPI on-board memory.
11= SPI off-board connector.

By default, the SPI feature is not available, so we need to configure
the above register fields to select the route to the SPI feature.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1028aqds: define ARCH_MISC_INIT to handle mux
Pankaj Bansal [Tue, 23 Jul 2019 07:22:05 +0000 (07:22 +0000)]
armv8: ls1028aqds: define ARCH_MISC_INIT to handle mux

Define ARCH_MISC_INIT for LS1028AQDS platform to handle board
related mux.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1046afrwy: Define CONFIG_ENV_ADDR for QSPI Boot
Alison Wang [Mon, 22 Jul 2019 07:17:21 +0000 (07:17 +0000)]
armv8: ls1046afrwy: Define CONFIG_ENV_ADDR for QSPI Boot

Defines CONFIG_ENV_ADDR for QSPI Boot which specifies the start
address of the flash sector containing the environment. It fixes
the issue that bootcmd is always set as default at bootup.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoboards: fsl: lx2160ardb: enable flexcan
Pankaj Bansal [Wed, 17 Jul 2019 09:34:34 +0000 (09:34 +0000)]
boards: fsl: lx2160ardb: enable flexcan

Flexcan in LX2160ARDB is controlled by FPGA register boardcfg4
bit 5. enable this bit so that flexcan is enabled in LX2160ARDB.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoconfigs: ls1088a: Enable DM support for pcf2127 rtc
Chuanhua Han [Fri, 26 Jul 2019 12:25:37 +0000 (20:25 +0800)]
configs: ls1088a: Enable DM support for pcf2127 rtc

Enable related configs on all ls1088aqds boards to support pcf2127
rtc DM function.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls1088aqds : Add pcf2127 node
Chuanhua Han [Fri, 26 Jul 2019 12:25:36 +0000 (20:25 +0800)]
armv8: dts: ls1088aqds : Add pcf2127 node

Add the pcf2127-rtc node under the i2c0->i2c-mux@77->i2c@3 for ls1088aqds boards.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1088aqds: Add support of I2C driver model.
Chuanhua Han [Fri, 26 Jul 2019 12:25:35 +0000 (20:25 +0800)]
armv8: ls1088aqds: Add support of I2C driver model.

Udate ls1088aqds board init code to support DM_I2C.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls1088ardb: Add slave nodes under the i2c0 controller
Chuanhua Han [Tue, 23 Jul 2019 10:43:15 +0000 (18:43 +0800)]
armv8: dts: ls1088ardb: Add slave nodes under the i2c0 controller

This patch adds some slave nodes to support the i2c dm on the device
side under the i2c0 controller.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls1088a: add I2C node support
Chuanhua Han [Tue, 23 Jul 2019 10:43:14 +0000 (18:43 +0800)]
armv8: dts: ls1088a: add I2C node support

One ls1088a, there are four I2C controllers. So add all I2C node
for ls1088a in device tree.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agogpio: do not include <asm/arch/gpio.h> on ARCH_LS1088A
Chuanhua Han [Tue, 23 Jul 2019 10:43:12 +0000 (18:43 +0800)]
gpio: do not include <asm/arch/gpio.h> on ARCH_LS1088A

As no gpio.h is defined for this architecture, to avoid
compilation failure, do not include <asm/arch/gpio.h> for
arch ls1088a.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoboards: ls1088a: Add support of I2C driver model
Chuanhua Han [Tue, 23 Jul 2019 10:43:11 +0000 (18:43 +0800)]
boards: ls1088a: Add support of I2C driver model

DM_I2C_COMPAT is a compatibility layer that allows using the non-DM
I2C API when DM_I2C is used.When DM_I2C_COMPAT is not enabled for
compilation, a compilation error will be generated. This patch
solves the problem that the i2c-related api of the ls1088a platform
does not support dm.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoconfigs: ls2088a: Enable DM support for ds3231 rtc
Chuanhua Han [Fri, 26 Jul 2019 11:24:03 +0000 (19:24 +0800)]
configs: ls2088a: Enable DM support for ds3231 rtc

Enable related configs on all ls2088aqds boards to support ds3231
rtc DM function.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls2088aqds : Add ds3232 node
Chuanhua Han [Fri, 26 Jul 2019 11:24:02 +0000 (19:24 +0800)]
armv8: dts: ls2088aqds : Add ds3232 node

Add the ds3232-rtc node under the i2c0->i2c-mux@77->i2c@0 for ls2088aqds
boards.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoboards: ls2088aqds: Add support of I2C driver model.
Chuanhua Han [Fri, 26 Jul 2019 11:24:01 +0000 (19:24 +0800)]
boards: ls2088aqds: Add support of I2C driver model.

Update ls2088aqds board init code to support DM_I2C.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agortc: ds3232/ds3231: Add support to generate 32KHz output for driver module
Chuanhua Han [Fri, 26 Jul 2019 11:24:00 +0000 (19:24 +0800)]
rtc: ds3232/ds3231: Add support to generate 32KHz output for driver module

Add an implementation of the rtc_enable_32khz_output() that uses the
driver model i2c APIs.

Also put code related to rtc_enable_32khz_output
under CONFIG_RTC_ENABLE_32KHZ_OUTPUT.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls2088ardb: Add slave nodes under the i2c0
Chuanhua Han [Mon, 22 Jul 2019 08:36:46 +0000 (16:36 +0800)]
armv8: dts: ls2088ardb: Add slave nodes under the i2c0

Add some slave nodes to support the i2c dm on the device side under the i2c0.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: fsl-ls2088a: add i2c node support
chuanhua han [Mon, 22 Jul 2019 08:36:45 +0000 (16:36 +0800)]
armv8: dts: fsl-ls2088a: add i2c node support

One ls2088a, there are four I2C controllers. So add I2C nodes in dts
for ls2088a.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agogpio: do not include <asm/arch/gpio.h> on ARCH_LS2080A
Chuanhua Han [Mon, 22 Jul 2019 08:36:43 +0000 (16:36 +0800)]
gpio: do not include <asm/arch/gpio.h> on ARCH_LS2080A

As no gpio.h is defined for this architecture, to avoid
compilation failure, do not include <asm/arch/gpio.h> for
arch ls2080a.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoboards: ls2088a: Add support of I2C driver model.
Chuanhua Han [Mon, 22 Jul 2019 08:36:42 +0000 (16:36 +0800)]
boards: ls2088a: Add support of I2C driver model.

DM_I2C_COMPAT is a compatibility layer that allows using the non-DM
I2C API when DM_I2C is used.When DM_I2C_COMPAT is not enabled for
compilation, a compilation error will be generated. This patch
solves the problem that the i2c-related api of the ls2088a platform
does not support dm.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls1028aqds: Add pcf2127 node under i2c1
Chuanhua Han [Wed, 10 Jul 2019 07:48:40 +0000 (15:48 +0800)]
armv8: dts: ls1028aqds: Add pcf2127 node under i2c1

Add the pcf2127-rtc node under the i2c1 in dts for ls1028aqds boards.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls1028aqds: Add pca9547 node under the i2c0 controller
Chuanhua Han [Wed, 10 Jul 2019 07:48:39 +0000 (15:48 +0800)]
armv8: dts: ls1028aqds: Add pca9547 node under the i2c0 controller

Add pca9547 node to support i2c multiplexer under the i2c0 controller
in dts for ls1028aqds boards.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoconfigs: ls1028a: Enable DM support for pcf2127 rtc
Chuanhua Han [Wed, 10 Jul 2019 07:48:38 +0000 (15:48 +0800)]
configs: ls1028a: Enable DM support for pcf2127 rtc

Enable related configs on all ls1028aqds boards to support pcf2127
rtc DM function.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Tested-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1028aqds: Remove the definition of CONFIG_SYS_I2C_EARLY_INIT
Chuanhua Han [Wed, 10 Jul 2019 07:48:37 +0000 (15:48 +0800)]
armv8: ls1028aqds: Remove the definition of CONFIG_SYS_I2C_EARLY_INIT

Since i2c uses dm mode, i2c controller will be initialized when reading
and writing devices on i2c bus. So there is no need for the original
non-dm mode i2c early initialization function call, this patch removed
the definition of CONFIG_SYS_I2C_EARLY_INIT.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: ls1028ardb: Add slave nodes under the i2c0 controller
Chuanhua Han [Wed, 10 Jul 2019 13:16:52 +0000 (21:16 +0800)]
armv8: dts: ls1028ardb: Add slave nodes under the i2c0 controller

Add some slave nodes to support the i2c dm on the device side under the i2c0.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agogpio: do not include <asm/arch/gpio.h> on ARCH_LS1028A
Chuanhua Han [Wed, 10 Jul 2019 13:16:50 +0000 (21:16 +0800)]
gpio: do not include <asm/arch/gpio.h> on ARCH_LS1028A

As no gpio.h is defined for this architecture, to avoid
compilation failure, do not include <asm/arch/gpio.h> for
arch ls1028a.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoboards: ls1028a: Add support of I2C driver model
Chuanhua Han [Wed, 10 Jul 2019 13:16:49 +0000 (21:16 +0800)]
boards: ls1028a: Add support of I2C driver model

DM_I2C_COMPAT is a compatibility layer that allows using the non-DM
I2C API when DM_I2C is used.When DM_I2C_COMPAT is not enabled for
compilation, a compilation error will be generated. This patch
solves the problem that the i2c-related api of the ls1028a platform
does not support dm.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoconfigs: lx2160: enable DM support for pcf2127 rtc
Chuanhua Han [Wed, 10 Jul 2019 13:00:21 +0000 (21:00 +0800)]
configs: lx2160: enable DM support for pcf2127 rtc

Enable related configs on all lx2160ardb boards to support pcf2127
rtc DM feature.

Also remove SYS_I2C_MXC_I2Cx, where x is from 1 to 8 from
Kconfig.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: lx2160aqds : Add pcf2127 node
Chuanhua Han [Wed, 10 Jul 2019 13:05:13 +0000 (21:05 +0800)]
armv8: dts: lx2160aqds : Add pcf2127 node

Add the pcf2127-rtc node under the i2c0->i2c-mux@77->i2c@3 in dts for
lx2160aqds boards.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: lx2160ardb : Add the "u-boot, dm-pre-reloc" for i2c0
Chuanhua Han [Wed, 10 Jul 2019 13:00:26 +0000 (21:00 +0800)]
armv8: dts: lx2160ardb : Add the "u-boot, dm-pre-reloc" for i2c0

Lx2160ardb need to use i2c0 before relocation, so we also need to set
u-boot, dm-pre-reloc to initialize node before relocation.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: Add pcf2127 node for lx2160ardb
Chuanhua Han [Wed, 10 Jul 2019 13:00:25 +0000 (21:00 +0800)]
armv8: dts: Add pcf2127 node for lx2160ardb

Adds the pcf2127-rtc node under the i2c4 node dts of lx2160ardb boards.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: dts: fsl-lx2160a: add i2c controller and gpio DT nodes
Chuanhua Han [Wed, 10 Jul 2019 13:00:24 +0000 (21:00 +0800)]
armv8: dts: fsl-lx2160a: add i2c controller and gpio DT nodes

In lx2160a soc, there are eight i2c controllers, this patch adds i2c
nodes for lx2160a, and the gpio2 nodes on which the i2c4 controller
depends.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agogpio: do not include <asm/arch/gpio.h> on ARCH_LX2160A
Chuanhua Han [Wed, 10 Jul 2019 13:00:23 +0000 (21:00 +0800)]
gpio: do not include <asm/arch/gpio.h> on ARCH_LX2160A

As no gpio.h is defined for this architecture, to avoid
compilation failure, do not include <asm/arch/gpio.h> for
arch ls2160a.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agodrivers: i2c: mxc: Fix compiler error when using i2c dm mode
Chuanhua Han [Wed, 10 Jul 2019 13:00:22 +0000 (21:00 +0800)]
drivers: i2c: mxc: Fix compiler error when using i2c dm mode

I2C dm mode enablemenet causes below compilation errors:

In file included from include/config.h:8:0,
                 from include/common.h:20:
include/config_fallbacks.h:51:4: error: #error "Cannot define
CONFIG_SYS_I2C when CONFIG_DM_I2C is used"
 #  error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used"
    ^~~~~
In file included from include/config.h:8:0,
                 from include/common.h:20:
include/config_fallbacks.h:51:4: error: #error "Cannot define
CONFIG_SYS_I2C when CONFIG_DM_I2C is used"
 #  error "Cannot define CONFIG_SYS_I2C when CONFIG_DM_I2C is used"
    ^~~~~

board/freescale/lx2160a/lx2160a.c: In function 'board_early_init_f':
board/freescale/lx2160a/lx2160a.c:108:2: warning: implicit declaration
of function 'i2c_early_init_f'; did you mean 'arch_early_init_r'?
[-Wimplicit-function-declaration]
  i2c_early_init_f();
  ^~~~~~~~~~~~~~~~
  arch_early_init_r

 drivers/i2c/mxc_i2c.c: In function 'mxc_i2c_probe':
  drivers/i2c/mxc_i2c.c:824:8: warning: implicit declaration of function
'enable_i2c_clk';
  did you mean 'enable_irq_wake'? [-Wimplicit-function-declaration]
  ret = enable_i2c_clk(1, bus->seq);
        ^~~~~~~~~~~~~~
        enable_irq_wake

So fix these compilation errors.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoboards: lx2160a: Add support of I2C driver model
Chuanhua Han [Wed, 10 Jul 2019 13:00:20 +0000 (21:00 +0800)]
boards: lx2160a: Add support of I2C driver model

DM_I2C_COMPAT is a compatibility layer that allows using the non-DM I2C
API when DM_I2C is used. When DM_I2C_COMPAT is not enabled for
compilation, a compilation error will be generated. This patch solves
the problem that the i2c-related api of the lx2160a platform does not
support dm.

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoconfigs: ls1043aqds: Move CONFIG_FSL_QSPI to defconfig
Ashish Kumar [Tue, 9 Jul 2019 09:20:15 +0000 (14:50 +0530)]
configs: ls1043aqds: Move CONFIG_FSL_QSPI to defconfig

Move CONFIG_FSL_QSPI from header file to defconfigs,
consequently unset imply config(CONFIG_SPI_FLASH_BAR) which
is not valid for LS series.

Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoarmv8: ls1028a: select BOARD_LATE_INIT config
Yuantian Tang [Tue, 2 Jul 2019 08:16:22 +0000 (16:16 +0800)]
armv8: ls1028a: select BOARD_LATE_INIT config

Select BOARD_LATE_INIT for ls1028ardb and ls1028aqds targets
so that late init work can be done.

Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agocommon: qixis: make the qixis compatible with new soc
Yuantian Tang [Wed, 19 Jun 2019 06:39:28 +0000 (14:39 +0800)]
common: qixis: make the qixis compatible with new soc

This driver needs modification to work with new soc,
like ls1028, since bitmap of RCFG is changed to
RESV[7:5] LIVE[4] WDEN[3] RESV[2:1] GO[0]
   000      1       0        00      0

Also the RCW location is moved to only dutcfg0.
RESV[7:4] RCWSRC[3:0]
   1111   configurable

Following commands are functional now
qixis_reset
qixis_reset sd
qixis_reset qspi
qixis_reset emmc

Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com>
Signed-off-by: Yuantian Tang <andy.tang@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agodrivers: net: mc: Report extra memory to Linux
Meenakshi Aggarwal [Thu, 23 May 2019 09:43:43 +0000 (15:13 +0530)]
drivers: net: mc: Report extra memory to Linux

MC firmware need to be aligned to 512M, so minimum 512MB DDR is reserved.
But MC support to work with 128MB or 256MB DDR memory also, in this
case, rest of the memory is not usable.
So reporting this extra memory to Linux through dtb memory fixup.

Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
5 years agoMerge branch '2019-08-20-master-imports'
Tom Rini [Wed, 21 Aug 2019 01:40:12 +0000 (21:40 -0400)]
Merge branch '2019-08-20-master-imports'

- Assorted bugfixes

5 years agoMerge branch '2019-08-20-ti-imports'
Tom Rini [Wed, 21 Aug 2019 01:39:40 +0000 (21:39 -0400)]
Merge branch '2019-08-20-ti-imports'

- More DaVinci cleanups
- Other minor omap2plus cleanups

5 years agotest/py: Add cmd_memory dependency back to test_mmc_wr
Michal Simek [Mon, 19 Aug 2019 09:06:13 +0000 (11:06 +0200)]
test/py: Add cmd_memory dependency back to test_mmc_wr

Based on discussion with Stephen Warren there was recommendation to list
both memory and random command dependencies just in case that dependency is
not properly handled by Kconfig.

Fixes: a09c1f7e1c1b ("test/py: Fix MMC/SD block write test dependency")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
5 years agoeasylogo: avoid buffer overrun
Heinrich Schuchardt [Thu, 15 Aug 2019 21:54:15 +0000 (23:54 +0200)]
easylogo: avoid buffer overrun

Building easylogo with `HOST_TOOLS_ALL=y make tools` results in a build
warning due to a possible buffer overrun:

tools/easylogo/easylogo.c:453:4: note: ‘sprintf’ output between 7 and
262 bytes into a destination of size 256
    sprintf (str, "%s, 0x%02x", app, *dataptr++);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Truncate the output to fit into the destination buffer.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agojffs2: remove unused code files
Uwe Kleine-König [Wed, 14 Aug 2019 20:07:29 +0000 (22:07 +0200)]
jffs2: remove unused code files

I failed to find where these two files are used and a few test compile
runs with JFFS2 enabled succeeded also without these.

5 years agommc: mtk-sd: Add MT8183 SoC support
Fabien Parent [Mon, 12 Aug 2019 18:26:58 +0000 (20:26 +0200)]
mmc: mtk-sd: Add MT8183 SoC support

Add support for the MT8183 in the MediaTek MMC driver.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
5 years agomailmap: provide usage instruction
Heinrich Schuchardt [Sat, 10 Aug 2019 11:17:21 +0000 (13:17 +0200)]
mailmap: provide usage instruction

Looking at the contents of file .mailmap it seems that some editors assumed
that translation is done by entering multiple lines into the file and the
last one replaces the others. This is not how it works. The translation
occurs according to entries in single lines as described in the
git-check-mailmap man-page.

Add a description of the file format.

Add an entry for Alexander Graf as his old email address is not valid
anymore.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoREADME: Clarify use of BSS during SPL board_init_f()
Andreas Dannenberg [Thu, 8 Aug 2019 17:54:49 +0000 (12:54 -0500)]
README: Clarify use of BSS during SPL board_init_f()

The earlier commit....

commit a5a5d997b41a ("spl: Allow performing BSS init early before board_init_f()")

...introduced the ability to use BSS from SPL's board_init_f() as it may
be required in certain exceptional use cases so go ahead and update the
README to reflect this change. Note that as highlighted with the changes
the use of the associated CONFIG option is generally not recommended.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoarm: omap2: am43xx: Enable CONFIG_BLK
Suniel Mahesh [Mon, 19 Aug 2019 06:27:39 +0000 (11:57 +0530)]
arm: omap2: am43xx: Enable CONFIG_BLK

With DM_MMC enabled, enable CONFIG_BLK to remove this
compile warning for am43xx based targets:

===================== WARNING ======================
This board does not use CONFIG_DM_MMC. Please update
the board to use CONFIG_DM_MMC before the v2019.04 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/MIGRATION.txt for more info.
====================================================

Targets were compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
5 years agoarm: dts: Makefile: clean *dtb_HS
Suniel Mahesh [Fri, 16 Aug 2019 08:46:36 +0000 (14:16 +0530)]
arm: dts: Makefile: clean *dtb_HS

TI HS platforms generate *dtb_HS binary blobs and there is no
rule for cleanup. Added entry for cleanup in clean-files target.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agoARM: DRA7: Fixup DPLL clock rate fixup logic for newer kernels
Suman Anna [Fri, 16 Aug 2019 22:30:16 +0000 (17:30 -0500)]
ARM: DRA7: Fixup DPLL clock rate fixup logic for newer kernels

The commit 1b42ab3eda8a ("ARM: DRA7: Fixup DSPEVE, IVA and GPU clock
frequencies based on OPP") updates the kernel device-tree blob to adjust
the DSP, IVA and GPU DPLL clocks based on a one-time OPP choice selected
in U-Boot. All these DPLL clocks are children of the cm_core_aon clocks
DT node.

The hierarchy of this clocks DT node has changed in newer Linux kernels
starting from v5.0, and this results in a failure in ft_fixup_clocks()
function to update the clock rates on these newer kernels. Fix this by
updating the lookup logic to look through both the newer and older
DT hierarchy paths for the cm_core_aon clocks node.

Signed-off-by: Suman Anna <s-anna@ti.com>
5 years agoarm: baltos: switch to driver model for the watchdog timer
Yegor Yefremov [Thu, 15 Aug 2019 09:08:04 +0000 (11:08 +0200)]
arm: baltos: switch to driver model for the watchdog timer

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
5 years agodavinci: omapl138-lcdk: Remove empty compiler directives
Adam Ford [Wed, 14 Aug 2019 13:11:09 +0000 (08:11 -0500)]
davinci: omapl138-lcdk: Remove empty compiler directives

There is an #ifdef with nothing inside it any longer.  This patch
removes this empty #ifdef

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: davinci: Remove duplicated references
Adam Ford [Tue, 13 Aug 2019 19:38:11 +0000 (14:38 -0500)]
ARM: davinci: Remove duplicated references

The Kconfig file calls to ti/common/Kconfig twice which makes
several of the menu items repeat themselves.  In an effort to
clean this up, this patch removes the second call which eliminates
the duplicate menu items.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: da850evm: Remove dead code
Adam Ford [Tue, 13 Aug 2019 13:28:28 +0000 (08:28 -0500)]
ARM: da850evm: Remove dead code

Now that SPL supports DM_SERIAL and the direct NOR boot supports
DM_SERIAL, the check to see if DM_SERIAL is defined can go away,
because all da850evm variants now support DM_SERIAL.  This patch
simply removes some dead precompiler defines.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: da850evm: Remove dead SPI Code
Adam Ford [Tue, 13 Aug 2019 13:27:28 +0000 (08:27 -0500)]
ARM: da850evm: Remove dead SPI Code

With SPL now supporting DM_SPI, the need for compiler directives
and hard-coded addresses is obsolete.  This patch removes some
dead legacy code defining the SPI base address

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoRevert "ARM: da850-evm: Enable SPI Flash and NAND Flash when booting NOR"
Adam Ford [Tue, 13 Aug 2019 19:04:02 +0000 (14:04 -0500)]
Revert "ARM: da850-evm: Enable SPI Flash and NAND Flash when booting NOR"

Sorry for the noise, but there appears to be a regression with older
hardware.  Since it broke the direct_nor boot option, it should be
reverted until a better solution is available.

This reverts commit 51cd1e2373274dc3167dabba628dcfc25828d36d.

5 years agoARM: omapl138_lcdk: Enable USB
Adam Ford [Mon, 12 Aug 2019 21:45:21 +0000 (16:45 -0500)]
ARM: omapl138_lcdk: Enable USB

The OMAPL138-lcdk has two USB controllers which are currently
disabled.  This patch enables them.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoconfigs: Rename environment variable fit_bootfile to name_fit
Andrew F. Davis [Mon, 12 Aug 2019 19:59:55 +0000 (15:59 -0400)]
configs: Rename environment variable fit_bootfile to name_fit

Like we did with 'fit_loadaddr' to 'addr_fit', the variable
'fit_bootfile' contains a name and so should be prefixed with
name_. Make this change here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
5 years agoconfigs: Rename environment variable fit_loadaddr to addr_fit
Andrew F. Davis [Mon, 12 Aug 2019 19:59:54 +0000 (15:59 -0400)]
configs: Rename environment variable fit_loadaddr to addr_fit

This is the first part of a larger effort I would like to propose to
unify and simplify the default set of environment variables.

When many early environment variables were named there were fewer images
being loaded, usually just a kernel. At this time names like 'loadaddr'
would suffice. Now we have more images and many more commands that act on
them, often re-using the same variable for several different uses. The
contents of a variable are also not immediately known causing one to have
to look up a chain of variables to understand what a command is actually
doing. I suggest the following.

To start, all variables containing names should be prefixed with name_
and addresses with addr_. This is like how K2 already does things and
allows for simple universal commands like:

get_fdt_nfs=nfs ${addr_fdt} /boot/${name_fdt}

Which is very clear on what is intended here and would work across all
board that using the this naming convention.

We can do this one variable at a time, start here with addr_fit.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Acked-by: Andreas Dannenberg <dannenberg@ti.com>
5 years agoconfigs: Remove unneeded overlay_files environment variable
Andrew F. Davis [Mon, 12 Aug 2019 19:59:53 +0000 (15:59 -0400)]
configs: Remove unneeded overlay_files environment variable

The variable 'name_overlays' serves the same purpose. Remove
'overlay_files' and use 'name_overlays' everywhere.

Signed-off-by: Andrew F. Davis <afd@ti.com>
5 years agoarm: baltos: use device tree alias to access Ethernet slave
Yegor Yefremov [Fri, 9 Aug 2019 05:21:57 +0000 (07:21 +0200)]
arm: baltos: use device tree alias to access Ethernet slave

The full path has changed in the recent kernels so that it is
not possible to load them. Aliases "ethernet0" and "ethernet1"
are still present in both legacy and new kernels.

Also, fix error messages to correspond to the taken actions.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
5 years agoMerge tag 'u-boot-rockchip-20190819' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 19 Aug 2019 13:22:57 +0000 (09:22 -0400)]
Merge tag 'u-boot-rockchip-20190819' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Add ROC-RK3399-PC board support
- Move CONFIG_SPI_FLASH_GIGADEVICE and CONFIG_CMD_USB_MASS_STORAGE to
  Kconfig
- using SYSRESET_POWER_OFF for poweroff
  (Note that patch for rk8xx pmic is droped for it can not pass Travis
  build)
- fix ofnode_get_name() assert

5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Mon, 19 Aug 2019 13:21:46 +0000 (09:21 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- QEMU build warning fix when CONFIG_DISTRO_DEFAULTS=n
- Small fixes on x86 reST docs
- Allow CBFS to be used in SPL
- Remove x86 specific GD flags

5 years agosysreset: move stm32mp sysreset poweroff implementation to sysreset uclass
Urja Rannikko [Thu, 16 May 2019 21:48:42 +0000 (21:48 +0000)]
sysreset: move stm32mp sysreset poweroff implementation to sysreset uclass

This is a generic implementation. Add CONFIG_SYSRESET_CMD_POWEROFF
to signal when we need it. Enable it from the STPMIC1 config and in
sandbox.

The config flag is transitionary, that is it can be removed after all
poweroff implementations use sysreset, and just have CMD_POWEROFF depend
on sysreset.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
Tested-by: Patrick Delaunay <patrick.delaunay@st.com>
5 years agosysreset: switch to using SYSRESET_POWER_OFF for poweroff
Urja Rannikko [Thu, 16 May 2019 21:48:41 +0000 (21:48 +0000)]
sysreset: switch to using SYSRESET_POWER_OFF for poweroff

It seems that SYSRESET_POWER_OFF was added recently, and all previous code
used SYSRESET_POWER for poweroff. SYSRESET_POWER is supposed to be a
PMIC-level power cycle, not a poweroff.

(Comment by Simon Glass)
SYSRESET_POWER means to do a power reset (removing and reinstating all power)
SYSRESET_POWER_OFF means to turn the device off and leave it off

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
(Update comment to help understand the patch)
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
5 years agoconfigs: update rk3288 veyron defconfigs
Urja Rannikko [Mon, 13 May 2019 13:51:05 +0000 (13:51 +0000)]
configs: update rk3288 veyron defconfigs

Updates jerry, mickey, minnie and speedy defconfigs to:
- fit the SPL in 32k
- boot from SPI (only)
- remove gadget support (these have no OTG port)

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
(Rebase on top of tree)
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
5 years agoconfigs: Move CONFIG_CMD_USB_MASS_STORAGE properly into Kconfig
Urja Rannikko [Mon, 13 May 2019 13:51:04 +0000 (13:51 +0000)]
configs: Move CONFIG_CMD_USB_MASS_STORAGE properly into Kconfig

This affects RK3036, RK322X and RK3288 - the defconfig changes done by
moveconfig.py for the veyrons were left out on purpose because they dont
have an OTG port, and will get their config updated in the next commit.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agoconfigs: Move CONFIG_SPI_FLASH_GIGADEVICE properly into Kconfig
Urja Rannikko [Mon, 13 May 2019 13:51:03 +0000 (13:51 +0000)]
configs: Move CONFIG_SPI_FLASH_GIGADEVICE properly into Kconfig

Affects rk3288 veyrons and rk3036, this was mostly done by
moveconfig.py.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agocore: ofnode: do not assert if node not valid in ofnode_get_name()
Kever Yang [Fri, 19 Jul 2019 03:23:47 +0000 (11:23 +0800)]
core: ofnode: do not assert if node not valid in ofnode_get_name()

In some case with LIVE DT, some node always not valid, or not have
a valid name, eg. blk driver add by mmc.
Return fail instead of Assert for this kind of ofnode, and this
help with assert happen from time to time when of_live is enabled
and DEBUG is enabled.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agorockchip: rk3399: Add ROC-RK3399-PC support
Levin Du [Fri, 26 Jul 2019 07:43:54 +0000 (15:43 +0800)]
rockchip: rk3399: Add ROC-RK3399-PC support

Add initial support for ROC-RK3399-PC board.

Specification
- Rockchip RK3399
- LPDDR4 4GiB
- eMMC slot
- SD card slot
- RTL8211E 1Gbps
- HDMI Out, DP, MIPI DSI/CSI, EDP
- PCIe M.2
- USB 2.0, USB-3.0
- USB C Type

Commit details of rk3399-roc-pc.dts sync from Linux v5.2:
"arm64: dts: rockchip: add support for ROC-RK3399-PC board"
(sha1: 8bb878cf20ae10809c36db96993bfce7026d062b)

Signed-off-by: Levin Du <djw@t-chip.com.cn>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agoglobal_data: Remove comment of reserved arch-specific GD flags
Stefan Roese [Fri, 16 Aug 2019 12:45:29 +0000 (14:45 +0200)]
global_data: Remove comment of reserved arch-specific GD flags

With the removal of the x86 specific GD flags, there are no arch-
specific GD flags any more. Let's remove the comment about reserving the
upper 16 bits for arch-specific flags in the common header. This gives
us more flexibility with the usage of the GD flags.

As a matter of fact, we are already using more than 16 bits for common
GD flags (with the addition of GD_FLG_WDT_READY).

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: Remove x86 specific GD flags as they are not referenced at all
Stefan Roese [Fri, 16 Aug 2019 12:45:28 +0000 (14:45 +0200)]
x86: Remove x86 specific GD flags as they are not referenced at all

This patch removes the x86 architecture specific GD flags
(GD_FLG_COLD_BOOT & GD_FLG_WARM_BOOT), as they are not used. Only
GD_FLG_COLD_BOOT is referenced in coreboot.c but assigned in start16.S.
But the coreboot target does not use start16.S at all and boots directly
from the 32-bit start code.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agocbfs: Rename camel-case variables
Simon Glass [Thu, 15 Aug 2019 01:56:15 +0000 (19:56 -0600)]
cbfs: Rename camel-case variables

Rename some camel-case variables to match U-Boot style.

Camel case is not generally allowed in U-Boot. Rename this variable to fit
in with the style.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agocbfs: Add functions to support multiple CBFSs
Simon Glass [Thu, 15 Aug 2019 01:56:14 +0000 (19:56 -0600)]
cbfs: Add functions to support multiple CBFSs

Sometimes an image has multiple CBFS. The current CBFS API is limited to
handling only one at time. Also it keeps track of the CBFS internally in
BSS, which does not work before relocation, for example.

Add a few new functions to overcome these limitations.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agocbfs: Move result variable into the struct
Simon Glass [Thu, 15 Aug 2019 01:56:13 +0000 (19:56 -0600)]
cbfs: Move result variable into the struct

Move the result variable into the struct also, so that it can be used when
BSS is not available. Add a function to read it.

Note that all functions sill use the BSS version of the data.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agocbfs: Move static variables into a struct
Simon Glass [Thu, 15 Aug 2019 01:56:12 +0000 (19:56 -0600)]
cbfs: Move static variables into a struct

At present there are a number of static variables in BSS. This cannot work
with SPL, at least until BSS is available in board_init_r().

Move the variables into a struct, so it is possible to malloc() it and use
it before BSS is available.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agocbfs: Move declarations above functions
Simon Glass [Thu, 15 Aug 2019 01:56:11 +0000 (19:56 -0600)]
cbfs: Move declarations above functions

At present this file has a function at the top, above declarations. This
is normally avoided, so fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agocbfs: Allow CBFS to be used in SPL
Simon Glass [Thu, 15 Aug 2019 01:56:10 +0000 (19:56 -0600)]
cbfs: Allow CBFS to be used in SPL

Add a new Kconfig option to enable CBFS in SPL. This can be useful when
the memory-init code is in CBFS.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodoc: arch: correct links in x86.rst
Heinrich Schuchardt [Thu, 15 Aug 2019 19:20:56 +0000 (21:20 +0200)]
doc: arch: correct links in x86.rst

Correctly reference uefi/uefi.rst and uefi/u-boot_on_efi.rst.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agodoc: formatting slimbootloader.rst
Heinrich Schuchardt [Thu, 15 Aug 2019 19:02:30 +0000 (21:02 +0200)]
doc: formatting slimbootloader.rst

Avoid a warning when building the 'make htmldocs' target:

doc/board/intel/slimbootloader.rst:90: WARNING: Title underline too short.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: qemu: Fix build warnings with CONFIG_DISTRO_DEFAULTS=n
Bin Meng [Wed, 14 Aug 2019 08:23:05 +0000 (01:23 -0700)]
x86: qemu: Fix build warnings with CONFIG_DISTRO_DEFAULTS=n

Use DISTRO_BOOTENV to decouple BOOTENV from CONFIG_DISTRO_DEFAULTS.

Reported-by: Heinrich Schuchardt <xypron.debian@gmx.de>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoMerge tag 'efi-2019-10-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 17 Aug 2019 14:31:25 +0000 (10:31 -0400)]
Merge tag 'efi-2019-10-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for v2019.10-rc3

This pull request provides corrections for the SetVirtualAddress runtime
service and avoids possible calls to NULL by consumers of the
EFI_PXE_BASE_CODE_PROTOCOL.

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Sat, 17 Aug 2019 14:30:56 +0000 (10:30 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

- Misc gen5 fixes

5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Fri, 16 Aug 2019 11:22:21 +0000 (07:22 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv

- Fix sifive serial y-modem transfer.
- Access CSRs using CSR numbers.
- Update doc sifive-fu540
- Support big endian hosts and target.

5 years agoefi_loader: do not call efi_runtime_detach twice
Heinrich Schuchardt [Wed, 14 Aug 2019 04:49:09 +0000 (06:49 +0200)]
efi_loader: do not call efi_runtime_detach twice

Commit 7f95104d91cc ("efi_loader: detach runtime in ExitBootServices()")
added a call to efi_runtime_detach() to ExitBootServices() but did not
remove the call in SetVirtualAddressMap().

Remove the superfluous function call.

Correct a comment referring to efi_runtime_detach().

Fixes: 7f95104d91cc ("efi_loader: detach runtime in ExitBootServices()")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: parameter check in SetVirtualAddressMap
Heinrich Schuchardt [Wed, 14 Aug 2019 03:19:37 +0000 (05:19 +0200)]
efi_loader: parameter check in SetVirtualAddressMap

Check the parameters DescriptorSize and DescriptiorVersion of
SetVirtualAddressMap() as prescribed by the UEFI specification.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoefi_loader: EFI_PXE_BASE_CODE_PROTOCOL stub
Heinrich Schuchardt [Tue, 6 Aug 2019 06:13:33 +0000 (08:13 +0200)]
efi_loader: EFI_PXE_BASE_CODE_PROTOCOL stub

U-Boot implements the EFI_PXE_BASE_CODE_PROTOCOL because GRUB uses the mode
information for booting via PXE. All function pointers in the protocol were
NULL up to now which will cause immediate crashes when the services of the
protocol are called.

Create function stubs for all services of the protocol returning
EFI_UNSUPPORTED.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoarm: socfpga: gen5: don't zero bss in board_init_f()
Simon Goldschmidt [Fri, 12 Jul 2019 18:03:09 +0000 (20:03 +0200)]
arm: socfpga: gen5: don't zero bss in board_init_f()

The socfpga gen5 SPL manually zeroed bss in board_init_f(). Now that the
DDR driver does not use bss any more, bss is not used before board_init_r()
and we can remove this hack.

bss is normally zeroed by crt0.S, but after board_init_f(), before
board_init_r(). socfpga just had this double-zeroing because it invalidly
used bss in board_init_f() already (during DDR initialization).

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoARM: socfpga: update CONFIG_SPL_FS_LOAD_PAYLOAD_NAME to u-boot.img
Dalon Westergreen [Wed, 7 Aug 2019 17:37:36 +0000 (10:37 -0700)]
ARM: socfpga: update CONFIG_SPL_FS_LOAD_PAYLOAD_NAME to u-boot.img

Bring cyclone5 / arria5 / arria10 in line with convention and use
u-boot.img as CONFIG_SPL_FS_LOAD_PAYLOAD_NAME.

Signed-off-by: Dalon Westergreen <dalon.westergreen@intel.com>
5 years agoarm: socfpga: Fix SYSRESET_SOCFPGA_S10 config name
Ley Foon Tan [Wed, 7 Aug 2019 08:30:53 +0000 (16:30 +0800)]
arm: socfpga: Fix SYSRESET_SOCFPGA_S10 config name

The CONFIG name should be SYSRESET_SOCFPGA_S10 instead of
SYSRESET_SOCFPGA_STRATIX10.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
5 years agoriscv: tools: Add big endian target support to prelink-riscv
Marcus Comstedt [Fri, 2 Aug 2019 17:45:16 +0000 (19:45 +0200)]
riscv: tools: Add big endian target support to prelink-riscv

Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
Cc: Rick Chen <rick@andestech.com>
Reviewed-by: Rick Chen <rick@andestech.com>
5 years agoriscv: tools: Fix prelink-riscv to work on big endian hosts
Marcus Comstedt [Fri, 2 Aug 2019 17:45:15 +0000 (19:45 +0200)]
riscv: tools: Fix prelink-riscv to work on big endian hosts

All ELF fields whose values are inspected by the code are converted to
CPU byteorder first.  Values which are copied verbatim (relocation
fixups) are not swapped to CPU byteorder and back as it is not needed.

Signed-off-by: Marcus Comstedt <marcus@mc.pp.se>
Cc: Rick Chen <rick@andestech.com>
Reviewed-by: Rick Chen <rick@andestech.com>
5 years agodoc: sifive-fu540: Update README to explicitly load DTB for Linux
Anup Patel [Fri, 26 Jul 2019 04:24:30 +0000 (04:24 +0000)]
doc: sifive-fu540: Update README to explicitly load DTB for Linux

We should explicitly load DTB from TFTP server or MMC/SD card
for Linux booting. This will allow us:
1. To use different Linux DTB for SiFive Unleashed board with
   expansion board connected.
2. Avoid re-flashing OpenSBI firmware whenever board connections
   change.

This patch updates reference bootlog in SiFive FU540 README
as-per above.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoriscv: Access CSRs using CSR numbers
Bin Meng [Thu, 11 Jul 2019 06:43:13 +0000 (23:43 -0700)]
riscv: Access CSRs using CSR numbers

We should prefer accessing CSRs using their CSR numbers
because:
1. It compiles fine with older toolchains.
2. We can use latest CSR names in #define macro names of CSR
   numbers as-per RISC-V spec.
3. We can access newly added CSRs even if toolchain does not
   recognize newly added CSRs by name.

This commit is inspired from Linux kernel commit a3182c91ef4e
("RISC-V: Access CSRs using CSR numbers").

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Rick Chen <rick@andestech.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>