oweals/u-boot.git
6 years agoconfigs: kirkwood: Move RTC_MV to DM and Kconfig
Chris Packham [Tue, 7 Aug 2018 07:41:46 +0000 (19:41 +1200)]
configs: kirkwood: Move RTC_MV to DM and Kconfig

Now that there is DM support in the RTC_MV driver update board configs
to use it.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoconfigs: move RTC_MV config from mv-plug-common.h to boards
Chris Packham [Tue, 7 Aug 2018 07:41:45 +0000 (19:41 +1200)]
configs: move RTC_MV config from mv-plug-common.h to boards

To aid in migrating CONFIG_RTC_MV to Kconfig move the definition of it
from mv-plug-common.h to the board config headers that nest it.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoconfigs: kirkwood: ds109: switch to DM_I2C
Chris Packham [Tue, 7 Aug 2018 07:41:44 +0000 (19:41 +1200)]
configs: kirkwood: ds109: switch to DM_I2C

Enable DM_I2C and I2C_MVTSWI for the ds109 board.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agoi2c: imx_lpi2c: add uclass api support
Peng Fan [Tue, 17 Jul 2018 12:38:33 +0000 (20:38 +0800)]
i2c: imx_lpi2c: add uclass api support

Use uclass clk api to get per clk when CONFIG_CLK enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
6 years agoi2c-mux: pca954x: support pca9646 i2c switch
Peng Fan [Tue, 17 Jul 2018 12:38:32 +0000 (20:38 +0800)]
i2c-mux: pca954x: support pca9646 i2c switch

Add the PCA9646 support, which is 2-wire bus switch and buffered 4-channel.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
6 years agomvebu: clearfog: use kconfig symbols to select boot device
Baruch Siach [Mon, 18 Jun 2018 18:56:27 +0000 (21:56 +0300)]
mvebu: clearfog: use kconfig symbols to select boot device

This allows selection of the boot device at build time without source
code modification.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agomvebu: support UART boot image
Baruch Siach [Mon, 18 Jun 2018 18:56:26 +0000 (21:56 +0300)]
mvebu: support UART boot image

The kwboot utility can use the generated image to boot mvebu SoCs from
UART.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agomvebu: select boot device at SoC level
Baruch Siach [Mon, 18 Jun 2018 18:56:25 +0000 (21:56 +0300)]
mvebu: select boot device at SoC level

Move the gdsys Controlcenter DC specific build time kwbimage.cfg
generation code into the mach-mvebu/ directory to be shared by all 32bit
mvebu platforms.

Remove board specific kwbimage.cfg files, and use the generated one
instead. These files are all identical, with two exceptions. Clearfog
and Helios4 use the sdio boot device, whereas all others use spi. Update
the defconfigs for the exceptional boards to generate the same
kwbimage.cfg as before.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agomvebu: consolidate SPL boot device config symbols
Baruch Siach [Mon, 18 Jun 2018 18:56:24 +0000 (21:56 +0300)]
mvebu: consolidate SPL boot device config symbols

Use MVEBU_SPL_BOOT_DEVICE_* to select between SPI and MMC, instead of
board specific symbols. This commit enables the boot device selection
menu to all mvebu platforms, but it is only effective on Turris Omnia
and gdsys Controlcenter DC platforms. A following commit will enable
boot selection for other platforms.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agomvebu: a38x: drop duplicate platform id symbols
Baruch Siach [Mon, 18 Jun 2018 18:56:23 +0000 (21:56 +0300)]
mvebu: a38x: drop duplicate platform id symbols

Use generic mvebu Kconfig symbols like all other mvebu boards.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agomvebu: turris_omnia: use u-boot-spl-dtb.bin
Baruch Siach [Mon, 18 Jun 2018 18:56:22 +0000 (21:56 +0300)]
mvebu: turris_omnia: use u-boot-spl-dtb.bin

u-boot-spl.bin and u-boot-spl-dtb.bin are identical when building the
turris_omnia_defconfig. This commit makes Turris Omnia consistent with
all other mvebu boards.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Stefan Roese <sr@denx.de>
6 years agodm: power-domain: query power domain after get device
Peng Fan [Fri, 27 Jul 2018 02:20:39 +0000 (10:20 +0800)]
dm: power-domain: query power domain after get device

This is to test power_domain_on in device_probe.
If the device has a power-domain property, enable it
when probe the device. So add the test to check
whether it is powered on or not.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodm: core: device: enable power domain in probe
Peng Fan [Fri, 27 Jul 2018 02:20:38 +0000 (10:20 +0800)]
dm: core: device: enable power domain in probe

Enable power domain associated with the device when probe.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agopower: Add CONFIG_SPL_POWER_DOMAIN config
Peng Fan [Fri, 27 Jul 2018 02:20:37 +0000 (10:20 +0800)]
power: Add CONFIG_SPL_POWER_DOMAIN config

Add CONFIG_SPL_POWER_DOMAIN config entry.
Build drivers/power/domain if this config is selected.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agopower-domain: add dummy functions when CONFIG_POWER_DOMAIN not defined
Peng Fan [Fri, 27 Jul 2018 02:20:36 +0000 (10:20 +0800)]
power-domain: add dummy functions when CONFIG_POWER_DOMAIN not defined

Add dummy functions when CONFIG_POWER_DOMAIN not defined.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
6 years agoarm64: zynqmp: Add support for Avnet Ultra96
Michal Simek [Tue, 24 Jul 2018 14:27:00 +0000 (16:27 +0200)]
arm64: zynqmp: Add support for Avnet Ultra96

Avnet Ultra96 is rebranded Xilinx zcu100 revC/D. Add new defconfig files
and point to origin internal board name.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm: zynq: add support for the zybo z7 board
Luis Araneda [Tue, 24 Jul 2018 15:31:19 +0000 (11:31 -0400)]
arm: zynq: add support for the zybo z7 board

The board is manufactured by Digilent
Main features:
- Soc: XC7Z010 (Z7-10) or XC7Z020 (Z7-20)
- RAM: 1 GB DDR3L
- FLASH: 16 MB QSPI
- 1 Gbps Ethernet
- USB 2.0
- microSD slot
- Pcam camera connector
- HDMI Tx and Rx
- Audio codec: stereo out, stereo in, mic
- 5 (Z7-10) or 6 (Z7-20) Pmod ports
- 6 push-buttons, 4 switches, 5 LEDs
- 1 (Z7-10) or 2 (Z7-20) RGB LEDs

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoKconfig: Move config SYS_MALLOC_LEN to Kconfig for zynq
Siva Durga Prasad Paladugu [Fri, 20 Jul 2018 09:41:38 +0000 (15:11 +0530)]
Kconfig: Move config SYS_MALLOC_LEN to Kconfig for zynq

This patch moves the the config SYS_MALLOC_LEN to
Kconfig. It will be just for Zynq arch and to do
will be for all other archs.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm64: zynqmp: Enable soft gpio driver for zcu102 and zcu100
Michal Simek [Tue, 24 Jul 2018 10:45:29 +0000 (12:45 +0200)]
arm64: zynqmp: Enable soft gpio driver for zcu102 and zcu100

Enable soft gpio driver for zcu102 and zcu100.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agogpio: zynq: Used platdata structure for storing static data instead of priv
Vipul Kumar [Fri, 20 Jul 2018 09:06:49 +0000 (14:36 +0530)]
gpio: zynq: Used platdata structure for storing static data instead of priv

This patch used platdata structure instead of priv for storing static
information read from DT.

Signed-off-by: Vipul Kumar <vipul.kumar@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agomicroblaze: Add missing quotes around XILINX_MICROBLAZE0_HW_VER
Michal Simek [Mon, 23 Jul 2018 06:34:43 +0000 (08:34 +0200)]
microblaze: Add missing quotes around XILINX_MICROBLAZE0_HW_VER

This issue is reported by kconfiglib:
warning: style: quotes recommended around default value for string
symbol XILINX_MICROBLAZE0_HW_VER (defined at
board/xilinx/microblaze-generic/Kconfig:37)

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm: zynq: Fix indentation for zynq-cse targets
Michal Simek [Fri, 20 Jul 2018 08:17:17 +0000 (10:17 +0200)]
arm: zynq: Fix indentation for zynq-cse targets

Trivial DT style fixes.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm: zynq: Remove fclk-enable property for cse-nor target
Michal Simek [Fri, 20 Jul 2018 08:16:21 +0000 (10:16 +0200)]
arm: zynq: Remove fclk-enable property for cse-nor target

Mini cse NOR configuration is running without PL that's why there is no
reason to enable clock to PL.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm: zynqmp: Fix sdhci clock in emmc1 mini configuration
Michal Simek [Fri, 20 Jul 2018 09:34:00 +0000 (11:34 +0200)]
arm: zynqmp: Fix sdhci clock in emmc1 mini configuration

Add missing clocks property with fix clock-names property to be aligned
with emmc0 configuration and binding doc.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm: zynqmp: Move NR_DRAM_BANKS for mini confiration
Michal Simek [Fri, 20 Jul 2018 09:31:31 +0000 (11:31 +0200)]
arm: zynqmp: Move NR_DRAM_BANKS for mini confiration

There is no reason to have the same setting in subsequent config if we
can have it only once in shared.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agospi: Kconfig: Create ISSI Kconfig entry
Michal Simek [Mon, 25 Jan 2016 14:39:26 +0000 (15:39 +0100)]
spi: Kconfig: Create ISSI Kconfig entry

Add ISSI to Kconfig to make it selectable via menuconfig.
Also convert all current platforms.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm: spring: fix alias of mmc correctly
Minkyu Kang [Fri, 27 Jul 2018 07:59:24 +0000 (16:59 +0900)]
arm: spring: fix alias of mmc correctly

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoarm: exynos5: fix warning of dts
Minkyu Kang [Fri, 27 Jul 2018 07:57:55 +0000 (16:57 +0900)]
arm: exynos5: fix warning of dts

remove this warning: avoid_unnecessary_addr_size

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoarm: exynos4: fix warning of dts
Minkyu Kang [Fri, 27 Jul 2018 07:54:04 +0000 (16:54 +0900)]
arm: exynos4: fix warning of dts

remove this warning: avoid_unnecessary_addr_size

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: Modify exynos dw_mmc driver to support Odroid XU3 in DM MMC
Lukasz Majewski [Wed, 1 Aug 2018 12:49:00 +0000 (14:49 +0200)]
ARM: Odroid XU3: Modify exynos dw_mmc driver to support Odroid XU3 in DM MMC

This commit enables support for Exynos Designware MMC driver based on DM.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: Fix the dwmci_exynos *priv data assignment for DM_MMC (sdr_timing)
Lukasz Majewski [Wed, 1 Aug 2018 12:48:59 +0000 (14:48 +0200)]
ARM: Odroid XU3: Fix the dwmci_exynos *priv data assignment for DM_MMC (sdr_timing)

By convention for DM_MMC the host->priv is used to store struct udevice
*dev pointer.

Unfortunately, the legacy Exynos DW MMC code uses this field to
store pointer to dwmci_exynos_priv_data struct
Hence, we do need to get data in other way - namely by using container_of
when host pointer is present.
In this way the sdr_timing data is properly accessed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: MAINTAINERS: Add a co-maintainer for OdroidXU3
Lukasz Majewski [Wed, 1 Aug 2018 12:48:58 +0000 (14:48 +0200)]
ARM: Odroid XU3: MAINTAINERS: Add a co-maintainer for OdroidXU3

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: Adjust BOOT_TARGET_DEVICES to allow booting from SD card (mmc2)
Lukasz Majewski [Wed, 1 Aug 2018 12:48:57 +0000 (14:48 +0200)]
ARM: Odroid XU3: Adjust BOOT_TARGET_DEVICES to allow booting from SD card (mmc2)

This change is necessary to allow booting the Odroid XU3 from SD card
after enabling the DM_MMC support.

After this change the SD card mmc IP block is correctly enumerated as mmc2
(and not as mmc1 as in the legacy code).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: Fix autoboot.cmd to use ${mmcbootdev} instead of hardcoded 0
Lukasz Majewski [Wed, 1 Aug 2018 12:48:56 +0000 (14:48 +0200)]
ARM: Odroid XU3: Fix autoboot.cmd to use ${mmcbootdev} instead of hardcoded 0

This commit adjusts the autoboot.cmd file to use ${mmcbootdev} instead of
hardcoded value 0.

This is necessary to allow booting this board from the SD card.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: Enable driver model support for MMC (DM_MMC)
Lukasz Majewski [Wed, 1 Aug 2018 12:48:55 +0000 (14:48 +0200)]
ARM: Odroid XU3: Enable driver model support for MMC (DM_MMC)

This commit enables support for DW_MMC running with driver model.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: Odroid XU3: config: Disable SDHCI support in the Odroid XU3
Lukasz Majewski [Wed, 1 Aug 2018 12:48:54 +0000 (14:48 +0200)]
ARM: Odroid XU3: config: Disable SDHCI support in the Odroid XU3

The Exynos5422 is solely using DW MMC IP block to support eMMC/SD devices,
hence the SDHCI code doesn't need to be compiled it.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoARM: dw_mmc: Exclude dwmci Exynos priv_data allocation from exynos_dwmci_get_config()
Lukasz Majewski [Wed, 1 Aug 2018 12:48:53 +0000 (14:48 +0200)]
ARM: dw_mmc: Exclude dwmci Exynos priv_data allocation from exynos_dwmci_get_config()

This commit prevents memory leak when this function is used with DM_MMC
as the struct dwmci_exynos_priv_data is already allocated by DM.

It is necessary for NON DM aware devices to allocate this struct first.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Sat, 4 Aug 2018 23:41:43 +0000 (19:41 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

6 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Sat, 4 Aug 2018 23:41:30 +0000 (19:41 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

6 years agoclk: clk_set_default: accept no-op skip fields
Neil Armstrong [Thu, 26 Jul 2018 13:19:32 +0000 (15:19 +0200)]
clk: clk_set_default: accept no-op skip fields

The Assigned Clock parents and rates misses the fact that a "0" entry can
be passed to skip setting a parent or rate of an assigned clock as
described in the Linux clock bindings at [1].

This patch simply skips the clock reparenting if the DT parsing returns
-ENOENT and the clock rate setting if "0" is passed as clock rate.

[1] https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/clock/clock-bindings.txt#L135

Fixes: f4fcba5c5baa "clk: implement clk_set_defaults()"
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agomailmap: Update mail address (lukma)
Lukasz Majewski [Wed, 25 Jul 2018 22:37:14 +0000 (00:37 +0200)]
mailmap: Update mail address (lukma)

Update my e-mail address from samsung.com to denx.de

Signed-off-by: Lukasz Majewski <lukma@denx.de>
6 years agoARM: dts: stm32: remove cd-inverted for stm32429i-eval
Patrice Chotard [Wed, 25 Jul 2018 15:49:10 +0000 (17:49 +0200)]
ARM: dts: stm32: remove cd-inverted for stm32429i-eval

As cd-inverted property is no more used by arm_pl180_mmci driver,
remove it. Update cd-gpios active level accordingly.

Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agommc: arm_pl180_mmci: Remove cd_inverted host's struct field
Patrice Chotard [Wed, 25 Jul 2018 15:49:09 +0000 (17:49 +0200)]
mmc: arm_pl180_mmci: Remove cd_inverted host's struct field

As platform uses GPIOs for card detection, it's
simpler and more readable to use GPIO_ACTIVE_(LOW|HIGH)
in the gpio flags instead of using the cd-inverted
property.

Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agommc: arm_pl180_mmci: Add missing clk_free
Patrice Chotard [Wed, 25 Jul 2018 15:49:08 +0000 (17:49 +0200)]
mmc: arm_pl180_mmci: Add missing clk_free

Add missing clk_free() call in case of failure
when enabling the clock.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agommc: arm_pl180_mmci: Update to support CONFIG_BLK
Patrice Chotard [Wed, 25 Jul 2018 15:49:07 +0000 (17:49 +0200)]
mmc: arm_pl180_mmci: Update to support CONFIG_BLK

Config flag CONFIG_BLK becomes mandatory, update arm_pl180_mmci
to support this config.

This driver is used by STM32Fx and by Vexpress platforms.
Only STM32Fx are DM ready. No DM code is isolated and will be
removed easily when wexpress will be converted to DM.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoconfigs: stm32f469-disco: Enable CONFIG_BLK
Patrice Chotard [Wed, 25 Jul 2018 15:49:06 +0000 (17:49 +0200)]
configs: stm32f469-disco: Enable CONFIG_BLK

CONFIG_BLK config flag becomes mandatory, enable it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoconfigs: stm32f746-disco: Enable CONFIG_BLK
Patrice Chotard [Wed, 25 Jul 2018 15:49:05 +0000 (17:49 +0200)]
configs: stm32f746-disco: Enable CONFIG_BLK

CONFIG_BLK config flag becomes mandatory, enable it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoconfigs: stm32f429-evaluation: Enable CONFIG_BLK
Patrice Chotard [Wed, 25 Jul 2018 15:49:04 +0000 (17:49 +0200)]
configs: stm32f429-evaluation: Enable CONFIG_BLK

CONFIG_BLK config flag becomes mandatory, enable it.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agodocproc: Remove
Tom Rini [Wed, 25 Jul 2018 15:42:58 +0000 (11:42 -0400)]
docproc: Remove

Now that we have moved to Sphinx documentation we don't need the docproc
app anymore, remove.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agobootcount: Fix misaligned cache operation
Alex Kiernan [Wed, 25 Jul 2018 11:45:58 +0000 (11:45 +0000)]
bootcount: Fix misaligned cache operation

1947c2d2a0 introduces cache line flushes for the bootcounter, but if
the start address is not aligned then the flush causes warnings of
the form:

  CACHE: Misaligned operation at range [4030b7fc4030b83c]

Align both the start and end of the buffer (possibly crossing multiple
lines).

Fixes: 1947c2d2a0 ("bootcount: flush after storing the bootcounter")
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Stefano Babic <sbabic@denx.de>
6 years agoarmv8: make SPL exception vectors optional
Andre Przywara [Tue, 24 Jul 2018 23:57:01 +0000 (00:57 +0100)]
armv8: make SPL exception vectors optional

Even though the exception vector table is a fundamental part of the ARM
architecture, U-Boot mostly does not make real use of it, except when
crash dumping. But having it in takes up quite some space, partly due to
the architectural alignment requirement of 2KB. Since we don't take special
care of that, the compiler adds a more or less random amount of padding
space, which increases the image size quite a bit, especially for the SPL.

On a typical Allwinner build this is around 1.5KB of padding, plus 1KB
for the vector table (mostly padding space again), then some extra code
to do the actual handling. This amounts to almost 10% of the maximum image
size, which is quite a lot for a pure debugging feature.

Add a Kconfig symbol to allow the exception vector table to be left out
of the build for the SPL.
For now this is "default y" for everyone, but specific defconfigs,
platforms or .config files can opt out here at will, to mitigate the code
size pressure we see for some SPLs.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
6 years agoarmv8: Reduce exception handling code
Andre Przywara [Tue, 24 Jul 2018 23:57:00 +0000 (00:57 +0100)]
armv8: Reduce exception handling code

The arm64 exception handling code is quite big, mostly due to
architectural alignment requirements. Each exception entry spans 32
instructions, which sounds generous, but is too small to fit all of the
save/branch/restore code in there. So at the moment we use only four
instructions, branching into shared save and restore routines.
To not leave the space for those remaining 28 instructions wasted, let's
split the save and restore routines and stuff them into the gaps.
This saves about 250 bytes of code, which is helpful for those tight
SPLs.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
6 years agoti_omap3_common: Add CONFIG_SYS_NS16550_COMx entries
Adam Ford [Tue, 24 Jul 2018 23:06:04 +0000 (18:06 -0500)]
ti_omap3_common: Add CONFIG_SYS_NS16550_COMx entries

Several boards do not use the default UART3, so they do a check
for ifdef CONFIG_SPL_BUILD and enable the pointer for
CONFIG_SYS_NS16550_COMx to point to OMAP34XX_UARTx.

Let's consoldate this all into one place, and remove them from the
individual boards.

Signed-off-by: Adam Ford <aford173@gmail.com>
6 years agoconfigs: stm32mp15: enable ADC
Fabrice Gasnier [Tue, 24 Jul 2018 14:31:32 +0000 (16:31 +0200)]
configs: stm32mp15: enable ADC

Enable ADC on stm32mp15.
- CONFIG_CMD_ADC
- CONFIG_STM32_ADC

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoadc: Add driver for STM32 ADC
Fabrice Gasnier [Tue, 24 Jul 2018 14:31:31 +0000 (16:31 +0200)]
adc: Add driver for STM32 ADC

This patch adds support for STMicroelectronics STM32 ADC (analog to
digital converter). It's originally based on Linux kernel v4.18-rcs
drivers/iio/adc/stm32-adc*. It's composed of:
- core driver (UCLASS_SIMPLE_BUS) manages common resources (clk, regu).
- child drivers (UCLASS_ADC) declare each ADC, channels and handle
  conversions.
This driver currently supports STM32H7 and STM32MP1 ADC.

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodt-bindings: Document STM32 ADC DT bindings
Fabrice Gasnier [Tue, 24 Jul 2018 14:31:30 +0000 (16:31 +0200)]
dt-bindings: Document STM32 ADC DT bindings

This patch adds documentation of device tree bindings for the STM32 ADC.
It's based on linux-v4.18-rc* dt-bindings, at the time of writing:
- Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agodm: adc: uclass: get reference regulator once
Fabrice Gasnier [Tue, 24 Jul 2018 14:31:29 +0000 (16:31 +0200)]
dm: adc: uclass: get reference regulator once

device_get_supply_regulator() only needs to be called once.
But each time there's call to adc_vxx_value() for instance, it calls
adc_vxx_platdata_update() -> device_get_supply_regulator().

So, move device_get_supply_regulator() to pre_probe() routine.

This also allows vdd_supply/vss_supply to be provided directly from
uc_pdata, e.g dt-binding variant like stm32-adc provide its own
'vref-supply'.

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoclk: add clk_valid()
Fabrice Gasnier [Tue, 24 Jul 2018 14:31:28 +0000 (16:31 +0200)]
clk: add clk_valid()

Add clk_valid() to check for optional clocks are valid.
Call clk_valid() in test/dm/clk.c and add relevant test routine to
sandbox clk tests.

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agokconfig: Replace spaces with tabs
Michal Simek [Tue, 24 Jul 2018 12:47:43 +0000 (14:47 +0200)]
kconfig: Replace spaces with tabs

Trivial Kconfig cleanup. Use tabs instead of spaces.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
6 years agoAdd Beaglebone Enhanced support
Koen Kooi [Wed, 18 Jul 2018 08:13:59 +0000 (10:13 +0200)]
Add Beaglebone Enhanced support

The "Beaglebone Enhanced" by Sancloud is based on the Beaglebone Black,
but with the following differences:

 * Gigabit capable PHY
 * Extra USB hub, optional i2c control
 * lps3331ap barometer connected over i2c
 * MPU6050 6 axis MEMS accelerometer/gyro connected over i2c
 * 1GiB DDR3 RAM
 * RTL8723 Wifi/Bluetooth connected over USB

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Fri, 3 Aug 2018 14:08:13 +0000 (10:08 -0400)]
Merge git://git.denx.de/u-boot-dm

6 years agoarm: sunxi: Allwinner A10 SPI driver
Stefan Mavrodiev [Tue, 6 Feb 2018 13:14:33 +0000 (15:14 +0200)]
arm: sunxi: Allwinner A10 SPI driver

Add spi driver for sun4i, sun5i and sun7i SoCs. The driver is
adapted from mailine kernel.

Signed-off-by: Stefan Mavrodiev <stefan@olimex.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
6 years agospi: kirkwood: add orion-spi compatible string
Chris Packham [Wed, 1 Aug 2018 06:49:26 +0000 (12:19 +0530)]
spi: kirkwood: add orion-spi compatible string

This matches the compatible string used by the Linux kernel. This will
allow u-boot to use the same device tree files.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
[jagan: use armada instead of orion on .data]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agospi: kirkwood: Get drvdata in .ofdata_to_platdata
Jagan Teki [Thu, 15 Mar 2018 11:33:22 +0000 (17:03 +0530)]
spi: kirkwood: Get drvdata in .ofdata_to_platdata

Get the is_errata_50mhz_ac in .ofdata_to_platdata, and
reuse it in .set_mode this can eventually initialized
dt code at once and adding room to add platdata.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agomtd: add spi flash id s25fl128l
Clément Laigle [Thu, 26 Jul 2018 07:31:41 +0000 (09:31 +0200)]
mtd: add spi flash id s25fl128l

Add support for SPANSION s25fl128l

Signed-off-by: Clément Laigle <c.laigle@catie.fr>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
[jagan: fixed , at the end of } ]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoARM: tegra: align carveout size
Stephen Warren [Tue, 31 Jul 2018 18:38:27 +0000 (12:38 -0600)]
ARM: tegra: align carveout size

Align the size of the carveout region to 2M. This ensures that the size
can be accurately represented by an LPAE page table that uses sections.

This solves a bug (hang at boot time soon after printing the DRAM size)
that only shows up when the following two commits are merged together:
d32e86bde8a3 ARM: HYP/non-sec: enable ARMV7_LPAE if HYP mode is supported
6e584e633d10 ARM: tegra: avoid using secure carveout RAM

Cc: Mark Kettenis <kettenis@openbsd.org>
Cc: Alexander Graf <agraf@suse.de>
Acked-by: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
6 years agobinman: Adjust _GetPropTree() parameters
Simon Glass [Tue, 17 Jul 2018 19:25:52 +0000 (13:25 -0600)]
binman: Adjust _GetPropTree() parameters

At present this function takes a filename, but it is better to use an Fdt
object so that the caller can control this, perhaps obtainint the device
tree from a bytearray. Update the method accordingly and also fix a
confusing parameter name.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add a test to catch use of the old 'pos' property
Simon Glass [Tue, 17 Jul 2018 19:25:51 +0000 (13:25 -0600)]
binman: Add a test to catch use of the old 'pos' property

This property has been changed to 'offset'. To help downstream users who
might still be using 'pos', add a check that this is not used by mistake.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Rename ReadContents() to ReadBlobContents()
Simon Glass [Tue, 17 Jul 2018 19:25:50 +0000 (13:25 -0600)]
binman: Rename ReadContents() to ReadBlobContents()

This function name is too generic for its purpose and is therefore
confusing. It actually only applies to blobs, so rename it to indicate
this.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Show the image position in the map
Simon Glass [Tue, 17 Jul 2018 19:25:49 +0000 (13:25 -0600)]
binman: Show the image position in the map

At present the map only shows the offset and size for each region. The
image position provides the actual position of each entry in the image,
regardless of the section hierarchy.

Add the image position to the map.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for adding TPL binaries
Simon Glass [Tue, 17 Jul 2018 19:25:48 +0000 (13:25 -0600)]
binman: Add support for adding TPL binaries

Add support for U-Boot's TPL and TPL device tree. Also fix a few comments
in the other device-tree entries.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add an entry for a Chromium vblock
Simon Glass [Tue, 17 Jul 2018 19:25:47 +0000 (13:25 -0600)]
binman: Add an entry for a Chromium vblock

This adds support for a Chromium verified boot block, used to sign a
read-write section of the image.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agodtoc: Add a function to obtain a list of phandles
Simon Glass [Tue, 17 Jul 2018 19:25:46 +0000 (13:25 -0600)]
dtoc: Add a function to obtain a list of phandles

Add a function which can decode a property containing a list of phandles.
This is useful for finding nodes linked to a property. Also provide a way
to look up a single phandle and get the Fdt object from a Node.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agopatman: Show the current directory in GetInputFilename()
Simon Glass [Tue, 17 Jul 2018 19:25:45 +0000 (13:25 -0600)]
patman: Show the current directory in GetInputFilename()

When this fails it is useful to see the current directory, since U-Boot's
build system will typically change into the output directory during the
build. Add this information to the error.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for Chromium GBB
Simon Glass [Tue, 17 Jul 2018 19:25:44 +0000 (13:25 -0600)]
binman: Add support for Chromium GBB

This entry contains a Google Binary Block, used to store keys and bitmaps
in a Chromium image.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agopatman: Add a few more helpers to the tools library
Simon Glass [Tue, 17 Jul 2018 19:25:43 +0000 (13:25 -0600)]
patman: Add a few more helpers to the tools library

Add functions to read and write a file, looking through a list of search
paths to find it.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agopatman: Allow test commands to fall back to real ones
Simon Glass [Tue, 17 Jul 2018 19:25:42 +0000 (13:25 -0600)]
patman: Allow test commands to fall back to real ones

Tests use the 'test_result' feature to return a predetermined command
result for particular commands. The avoids needing to have the real
command available just to run a test. It works by calling the function
provided by the test, to get the value.

However sometimes the test does need to run the real command. Allow it to
fall back to do this when the function does not return a result.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agodtoc: Export the _FindNode() function
Simon Glass [Tue, 17 Jul 2018 19:25:41 +0000 (13:25 -0600)]
dtoc: Export the _FindNode() function

This is useful for clients that want to find a node. Export it so it can
be used by others.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add an entry filled with a repeating byte
Simon Glass [Tue, 17 Jul 2018 19:25:40 +0000 (13:25 -0600)]
binman: Add an entry filled with a repeating byte

It is sometimes useful to have an area of the image which is all zeroes,
or all 0xff. This can often be achieved by padding the size of an an
existing entry and setting the pad byte for an entry or image.

But it is useful to have an explicit means of adding blocks of repeating
data to the image. Add a 'fill' entry type to handle this.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for a cros_ec image
Simon Glass [Tue, 17 Jul 2018 19:25:39 +0000 (13:25 -0600)]
binman: Add support for a cros_ec image

Add an entry type which can hold a Chrome OS EC.

To make this work a new entry type is created, which supports getting a
blob filename from the command line.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for flashrom FMAP
Simon Glass [Tue, 17 Jul 2018 19:25:38 +0000 (13:25 -0600)]
binman: Add support for flashrom FMAP

Add an entry which can hold an FMAP region as used by flashrom, an
open-source flashing tool used on Linux x86 machines. This provides a
simplified non-hierarchical view of the entries in the image and has a
signature at the start to allow flashrom to find it in the image.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Create README.entries
Simon Glass [Tue, 17 Jul 2018 19:25:37 +0000 (13:25 -0600)]
binman: Create README.entries

Create a new README containing documentation for the entry types supported
by binman. This provides an easy reference in one place. It is
automatically generated from the source-code documentation.

Add a reference to this from the binman README.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Allow creation of entry documentation
Simon Glass [Tue, 17 Jul 2018 19:25:36 +0000 (13:25 -0600)]
binman: Allow creation of entry documentation

Binman supports quite a number of different entries now. The operation of
these is not always obvious but at present the source code is the only
reference for understanding how an entry works.

Add a way to create documentation (from the source code) which can be put
in a new 'README.entries' file.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Expand documentation for entries
Simon Glass [Tue, 17 Jul 2018 19:25:35 +0000 (13:25 -0600)]
binman: Expand documentation for entries

At present only the more complex entries are documented. It is useful to
have documentation for all entries in one place.

As a first step, add and expand the documentation to cover all entries.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Allow help to work without libfdt
Simon Glass [Tue, 17 Jul 2018 19:25:34 +0000 (13:25 -0600)]
binman: Allow help to work without libfdt

At present binman needs libfdt.py to be available before it will do
anything, even print help. Import those modules later to avoid this, as it
is bad practice to fail to even show help on startup.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Support an entry that holds text
Simon Glass [Tue, 17 Jul 2018 19:25:33 +0000 (13:25 -0600)]
binman: Support an entry that holds text

It is useful to able to write an identifying string to the image within an
entry. Add a 'text' entry type to handle this. The actual text is
typically passed to binman on the command line. The text is not itself
nul-terminated but this can be achieved if required by setting the size of
the entry to something larger than the text.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add support for passing arguments to entries
Simon Glass [Tue, 17 Jul 2018 19:25:32 +0000 (13:25 -0600)]
binman: Add support for passing arguments to entries

Sometimes it is useful to pass binman the value of an entry property from
the command line. For example some entries need access to files and it is
not always convenient to put these filenames in the image definition
(device tree).

Add a -a option which can be used like this:

   -a<prop>=<value>

where

   <prop> is the property to set
   <value> is the value to set it to

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agodtoc: Add missing comments to fdt_util
Simon Glass [Tue, 17 Jul 2018 19:25:31 +0000 (13:25 -0600)]
dtoc: Add missing comments to fdt_util

This module has a few missing comments. Add them.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add a new 'image-pos' property
Simon Glass [Wed, 1 Aug 2018 21:22:42 +0000 (15:22 -0600)]
binman: Add a new 'image-pos' property

At present each entry has an offset within its parent section. This is
useful for figuring out how entries relate to one another. However it
is sometimes necessary to locate an entry within an image, regardless
of which sections it is nested inside.

Add a new 'image-pos' property to provide this information. Also add
some documentation for the -u option binman provides, which updates the
device tree with final entry information.

Since the image position is a better symbol to use for the position of
U-Boot as obtained by SPL, update the SPL symbols to use this instead of
offset, which might be incorrect if hierarchical sections are used.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Enhance the map and fdt-update output
Simon Glass [Tue, 17 Jul 2018 19:25:28 +0000 (13:25 -0600)]
binman: Enhance the map and fdt-update output

At present the .map file produced for each image does not include the
overall image size. This is useful information.

Update the code to generate it in the .map file as well as the updated
FDT. Also fix a few comments while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Tidy up some comments in the tests
Simon Glass [Tue, 17 Jul 2018 19:25:27 +0000 (13:25 -0600)]
binman: Tidy up some comments in the tests

A few lines are commented out and can be removed. Also fix return-value
docs for _DoReadFile() and _DoReadFileDtb().

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Add comments to elf_test
Simon Glass [Tue, 17 Jul 2018 19:25:26 +0000 (13:25 -0600)]
binman: Add comments to elf_test

The purpose of some of the tests is not obvious from the function names.
Add a few comments to help with understanding.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Rename 'position' to 'offset'
Simon Glass [Wed, 1 Aug 2018 21:22:37 +0000 (15:22 -0600)]
binman: Rename 'position' to 'offset'

After some thought, I believe there is an unfortunate naming flaw in
binman. Entries have a position and size, but now that we support
hierarchical sections it is unclear whether a position should be an
absolute position within the image, or a relative position within its
parent section.

At present 'position' actually means the relative position. This indicates
a need for an 'image position' for code that wants to find the location of
an entry without having to do calculations back through parents to
discover this image position.

A better name for the current 'position' or 'pos' is 'offset'. It is not
always an absolute position, but it is always an offset from its parent
offset.

It is unfortunate to rename this concept now, 18 months after binman was
introduced. However I believe it is the right thing to do. The impact is
mostly limited to binman itself and a few changes to in-tree users to
binman:

   tegra
   sunxi
   x86

The change makes old binman definitions (e.g. downstream or out-of-tree)
incompatible if they use the 'pos = <...>' property. Later work will
adjust binman to generate an error when it is used.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agobinman: Don't depend on dict order in ELF testOutsideFile()
Simon Glass [Tue, 17 Jul 2018 19:25:24 +0000 (13:25 -0600)]
binman: Don't depend on dict order in ELF testOutsideFile()

At present this test assumes that the symbols are returned in address
order. However, objdump can list symbols in any order and dictionaries do
not guarantee any particular order when iterating through item.

Update elf.GetSymbols() to return an OrderedDict, sorted by address, to
avoid any problems.

Signed-off-by: Simon Glass <sjg@chromium.org>
6 years agodm: panel: get timings from panel
Yannick Fertré [Fri, 13 Jul 2018 12:11:09 +0000 (14:11 +0200)]
dm: panel: get timings from panel

Get timings from panel instead of read device tree.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoMerge tag 'arc-updates-for-2018.09-rc2' of git://git.denx.de/u-boot-arc
Tom Rini [Wed, 1 Aug 2018 13:26:15 +0000 (09:26 -0400)]
Merge tag 'arc-updates-for-2018.09-rc2' of git://git.denx.de/u-boot-arc

That's a set of prety minor changes and fixes for ARC.

Among them:
 * Improvement in CREG GPIO driver used on ARC dev boards
   that allow us to re-use the driver for SPI's chip select

 * Enable SPI-flsh on AXS10x boards which allows to update
   U-Boot binary that gets loaded by boot-ROM

 * Fix accommodating always utilized unaligned access by
   GCC for ARC starting from 8.1.0

6 years agovideo: kconfig: remove DM_I2C dependency of I2C_EDID
Luis Araneda [Wed, 4 Jul 2018 06:40:00 +0000 (02:40 -0400)]
video: kconfig: remove DM_I2C dependency of I2C_EDID

Drop the DM_I2C dependency, as the library only implements
the parsing of EDID data and doesn't depend on any driver

One user of this library, the i2c command, implements
support for legacy and DM I2C drivers

Tested on a Zynq board, whose I2C driver is not ported
yet to DM

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
6 years agoMerge git://git.denx.de/u-boot-mpc85xx
Tom Rini [Wed, 1 Aug 2018 00:01:30 +0000 (20:01 -0400)]
Merge git://git.denx.de/u-boot-mpc85xx

6 years ago.travis.yml: Exclude openrd platforms
Tom Rini [Tue, 31 Jul 2018 18:49:34 +0000 (14:49 -0400)]
.travis.yml: Exclude openrd platforms

The openrd platforms are currently orphaned, and are constantly on-edge
or overflowing their binary limit.  Exclude them from travis for now.

Cc: Vagrant Cascadian <vagrant@debian.org>
Cc: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years ago.travis.yml: Exclude kirkwood machines from the arm926ejs job
Tom Rini [Tue, 31 Jul 2018 18:48:42 +0000 (14:48 -0400)]
.travis.yml: Exclude kirkwood machines from the arm926ejs job

We have a specific job for kirkwood platforms so exclude them from this
job.

Signed-off-by: Tom Rini <trini@konsulko.com>