oweals/u-boot.git
5 years agoMIPS: xilfpga: switch to CONFIG_OF_SEPARATE
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:20 +0000 (20:52 +0100)]
MIPS: xilfpga: switch to CONFIG_OF_SEPARATE

Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMIPS: pic32mzdask: switch to CONFIG_OF_SEPARATE
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:19 +0000 (20:52 +0100)]
MIPS: pic32mzdask: switch to CONFIG_OF_SEPARATE

Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMIPS: malta: switch to CONFIG_OF_SEPARATE
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:18 +0000 (20:52 +0100)]
MIPS: malta: switch to CONFIG_OF_SEPARATE

Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMIPS: boston: switch to CONFIG_OF_SEPARATE
Daniel Schwierzeck [Sat, 12 Jan 2019 19:52:17 +0000 (20:52 +0100)]
MIPS: boston: switch to CONFIG_OF_SEPARATE

Fix the Kconfig warning to not use CONFIG_OF_EMBED in defconfigs.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMSCC: Add board support for Jaguar2 SOC family
Horatiu Vultur [Sat, 12 Jan 2019 17:57:00 +0000 (18:57 +0100)]
MSCC: Add board support for Jaguar2 SOC family

Add board support and configuration for Jaguar2 SOC family.
The detection of the board type in this family is based on the phy ids.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: add device tree for Serval2 board
Horatiu Vultur [Sat, 12 Jan 2019 17:56:59 +0000 (18:56 +0100)]
MSCC: add device tree for Serval2 board

Add device tree based on evaluation board pcb112.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: Add device tree for Jaguar2-48 board
Horatiu Vultur [Sat, 12 Jan 2019 17:56:58 +0000 (18:56 +0100)]
MSCC: Add device tree for Jaguar2-48 board

Add device tree based on evaluation board pcb111.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: Add device tree for Jaguar2 board
Horatiu Vultur [Sat, 12 Jan 2019 17:56:57 +0000 (18:56 +0100)]
MSCC: Add device tree for Jaguar2 board

Add device tree based on evaluation board pcb110.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: Add support for Jaguar2 SOC family
Horatiu Vultur [Sat, 12 Jan 2019 17:56:56 +0000 (18:56 +0100)]
MSCC: Add support for Jaguar2 SOC family

As the Ocelot and Luton SoCs, this family of SoCs are found
in Microsemi Switches solution.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agopinctrl: mscc: Add gpio and pinctrl for Jaguar2 SOC family
Horatiu Vultur [Sat, 12 Jan 2019 17:56:55 +0000 (18:56 +0100)]
pinctrl: mscc: Add gpio and pinctrl for Jaguar2 SOC family

The Jaguar2 SOC family has 63 gpio pins therefore I extended mscc-common
to support new numbe of pins and remove any platform dependency from
mscc-common.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agomips: gpio: mscc: Obsoleted gpio-mscc-bitbang-spi.c
Lars Povlsen [Tue, 8 Jan 2019 09:38:35 +0000 (10:38 +0100)]
mips: gpio: mscc: Obsoleted gpio-mscc-bitbang-spi.c

With the new mscc_bb_spi.c driver, there is no longer use for the
gpio-mscc-bitbang-spi.c driver.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agomips: mscc: DT: Update luton device tree to use fast SPI driver
Lars Povlsen [Tue, 8 Jan 2019 09:38:34 +0000 (10:38 +0100)]
mips: mscc: DT: Update luton device tree to use fast SPI driver

Thes patch change the luton base device tree to use the newly added
SPI bitbang driver.

It also updates the "mscc_luton_defconfig" to use the new driver.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agomips: spi: mscc: Add fast bitbang SPI driver
Lars Povlsen [Tue, 8 Jan 2019 09:38:33 +0000 (10:38 +0100)]
mips: spi: mscc: Add fast bitbang SPI driver

This patch add a new SPI driver for MSCC SOCs that does not sport the
designware SPI hardware controller.

Performance gain: 7.664 seconds vs. 17.633 for 1 Mbyte write.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agommc: jz_mmc: Compile-out write support if disabled
Ezequiel Garcia [Mon, 7 Jan 2019 21:13:25 +0000 (18:13 -0300)]
mmc: jz_mmc: Compile-out write support if disabled

Do not build write support, unless it's enabled.

In the SPL case, this change will typically remove
precious bytes (as write support is most often
not needed in SPL).

This is important on this platform, where the maximum
SPL size is 14 KiB.

With gcc v7.3, this change saves 144 bytes producing:

size spl/u-boot-spl
   text    data     bss     dec     hex filename
   9240     752     712   10704    29d0 spl/u-boot-spl

To make the code easier to compile-out and more
readable, a pair of read_data/write_data helpers are created.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agommc: Use proper IS_ENABLED macro to check block support
Ezequiel Garcia [Mon, 7 Jan 2019 21:13:24 +0000 (18:13 -0300)]
mmc: Use proper IS_ENABLED macro to check block support

Use CONFIG_IS_ENABLED(BLK) instead of CONFIG_BLK,
in order to fix the following build issues when
CONFIG_SPL_MMC_WRITE is selected:

drivers/mmc/mmc_write.c:69:7: error: conflicting types for 'mmc_berase'
 ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt)
       ^~~~~~~~~~
In file included from drivers/mmc/mmc_write.c:15:0:
drivers/mmc/mmc_private.h:39:7: note: previous declaration of 'mmc_berase' was here
 ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt);
       ^~~~~~~~~~
drivers/mmc/mmc_write.c:187:7: error: conflicting types for 'mmc_bwrite'
 ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
       ^~~~~~~~~~
In file included from drivers/mmc/mmc_write.c:15:0:
drivers/mmc/mmc_private.h:37:7: note: previous declaration of 'mmc_bwrite' was here
 ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
       ^~~~~~~~~~

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agonet: bcm6368: fix restart flow issues
Álvaro Fernández Rojas [Tue, 1 Jan 2019 18:44:46 +0000 (19:44 +0100)]
net: bcm6368: fix restart flow issues

Correctly enable/disable bcm6368-net controller to avoid flow issues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMIPS: jz47xx: remove custom u-boot-spl.lds
Daniel Schwierzeck [Sun, 6 Jan 2019 19:42:44 +0000 (20:42 +0100)]
MIPS: jz47xx: remove custom u-boot-spl.lds

There is no real difference between the generic variant and
the custom variant except that the generic variant is more
optimised. This also saves 24 Bytes in the SPL binary.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Ezequiel Garcia <ezequiel@collabora.com>
5 years agoMIPS: optimize and fix ELF sections
Daniel Schwierzeck [Sun, 6 Jan 2019 19:42:43 +0000 (20:42 +0100)]
MIPS: optimize and fix ELF sections

Discard ABI related sections which are not required for debugging.
Rearrange debug sections similar to Linux. Remove the remaining
explicitely specified sections in the unused part because those
sections are not created anymore or because the linker puts them
by default at the end of the ELF binary.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Tested-by: Ezequiel Garcia <ezequiel@collabora.com>
5 years agomips: ocelot: Enable use of serial gpio for LED
Lars Povlsen [Wed, 2 Jan 2019 08:52:26 +0000 (09:52 +0100)]
mips: ocelot: Enable use of serial gpio for LED

This enables the use of the MSCC serial GPIO driver to control the
LEDs on the MSCC VCoreIII 'ocelot' pcb123 and pcb120.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agomips: ocelot: DT: Enable use of serial gpio
Lars Povlsen [Wed, 2 Jan 2019 08:52:25 +0000 (09:52 +0100)]
mips: ocelot: DT: Enable use of serial gpio

This enables the use of the MSCC serial GPIO driver on the MSCC
VCoreIII 'ocelot' SOC, and add gpio-leds nodes to the pcb123 and
pcb120 DT.

Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
5 years agomips: luton: Enable use of serial gpio for LED
Lars Povlsen [Wed, 2 Jan 2019 08:52:24 +0000 (09:52 +0100)]
mips: luton: Enable use of serial gpio for LED

This enables the use of the MSCC serial GPIO driver to control the
LEDs on the MSCC VCoreIII 'luton' SoC.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agomips: luton: DT: Enable use of serial gpio
Lars Povlsen [Wed, 2 Jan 2019 08:52:23 +0000 (09:52 +0100)]
mips: luton: DT: Enable use of serial gpio

This enables the use of the MSCC serial GPIO driver, and add gpio-leds
nodes to the 'luton' pcb090 and pcb091 DT.

Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
5 years agomips: mscc_sgpio: Add DT bindings documentation
Lars Povlsen [Wed, 2 Jan 2019 08:52:22 +0000 (09:52 +0100)]
mips: mscc_sgpio: Add DT bindings documentation

This add device tree binding documentation for the MSCC serial GPIO
driver.

Signed-off-by: Lars Povlsen <lars.povlsen@microsemi.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
5 years agomips: mscc_sgpio: Add the MSCC serial GPIO device (SIO)
Lars Povlsen [Wed, 2 Jan 2019 08:52:21 +0000 (09:52 +0100)]
mips: mscc_sgpio: Add the MSCC serial GPIO device (SIO)

This add support for the the MSCC serial GPIO driver in MSCC
VCoreIII-based SOCs.

By using a serial interface, the SIO controller significantly extends
the number of available GPIOs with a minimum number of additional pins
on the device. The primary purpose of the SIO controller is to connect
control signals from SFP modules and to act as an LED controller.

This adds the base driver.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agomips: mscc: luton+ocelot: Remove board config options, do probing
Lars Povlsen [Thu, 20 Dec 2018 08:56:05 +0000 (09:56 +0100)]
mips: mscc: luton+ocelot: Remove board config options, do probing

As we are moving to multi-dtb and board detection, remove static board
config options, and introduce board probing instead.

Luton: This add single-binary support for the two MSCC luton-based
reference boards - pcb090 and pcb091. The SoC chip ID is used to
determine the board type.

Ocelot: This add single-binary support for the two MSCC ocelot-based
reference boards - pcb120 and pcb123. The PHY ids on specific ports
are used to determine the board type.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agomips: luton: DT: Add pcb090
Lars Povlsen [Thu, 20 Dec 2018 08:56:04 +0000 (09:56 +0100)]
mips: luton: DT: Add pcb090

This prepares individual device trees for MSCC luton-based reference
boards - pcb090 and pcb091.

Note: Even though the devices trees are quite common, they will differ
significantly in coming patches.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agomips: mscc: Add generic GPIO control utility function
Lars Povlsen [Thu, 20 Dec 2018 08:56:03 +0000 (09:56 +0100)]
mips: mscc: Add generic GPIO control utility function

The GPIO control function can be used for controlling alternate
functions associated with a GPIO.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agomips: mscc: Add generic PHY MIIM utility functions
Lars Povlsen [Thu, 20 Dec 2018 08:56:02 +0000 (09:56 +0100)]
mips: mscc: Add generic PHY MIIM utility functions

The PHY MIIM utility functions can/will be used for board detection
purposes.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agoPrepare v2019.01 v2019.01
Tom Rini [Mon, 14 Jan 2019 22:02:36 +0000 (17:02 -0500)]
Prepare v2019.01

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agommc: fsl_esdhc: Avoid infinite loop in esdhc_send_cmd_common()
Fabio Estevam [Mon, 19 Nov 2018 12:31:53 +0000 (10:31 -0200)]
mmc: fsl_esdhc: Avoid infinite loop in esdhc_send_cmd_common()

The following hang is observed on a Hummingboard 2 MicroSOM
i2eX iMX6D - rev 1.3 with no eMMC populated on board:

U-Boot SPL 2018.11+gf6206f8587 (Nov 16 2018 - 00:56:34 +0000)
Trying to boot from MMC1

U-Boot 2018.11+gf6206f8587 (Nov 16 2018 - 00:56:34 +0000)

CPU:   Freescale i.MX6D rev1.5 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 33C
Reset cause: POR
Board: MX6 HummingBoard2
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
---> hangs

which is caused by the following infinite loop inside esdhc_send_cmd_common()

while (!(esdhc_read32(&regs->irqstat) & flags))
;

Instead of looping forever, provide an exit path so that a timeout
error can be propagated in the case irqstat does not report
any interrupts, which may happen when no eMMC is populated on
board.

Reported-by: Ricardo Salveti <rsalveti@rsalveti.net>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Ricardo Salveti <rsalveti@rsalveti.net>
5 years agoimx8mq_evk_defconfig: Move file system options to Kconfig
Fabio Estevam [Sat, 29 Dec 2018 12:02:24 +0000 (10:02 -0200)]
imx8mq_evk_defconfig: Move file system options to Kconfig

Chris Spencer reports that when enabling ext4 read support without
also enabling write support the following error is seen:

fs/fs.c:198:12: error: 'ext4_write_file' undeclared here (not in a
function); did you mean 'ext4_read_file'?
   .write = ext4_write_file,
            ^~~~~~~~~~~~~~~
Fix this problem by moving these options to Kconfig.

Reported-by: Chris Spencer <spencercw@gmail.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agopoplar: save environment at a different offset
Alex Elder [Tue, 18 Dec 2018 03:08:18 +0000 (11:08 +0800)]
poplar: save environment at a different offset

Change CONFIG_ENV_OFFSET for Poplar to be 1MB further into the eMMC
than before.  This puts it immediately prior to the space we are
reserving offset 0x200000-0x400000 for UEFI to save its persistent
data.  Define CONFIG_ENV_SIZE as a product of env_mmc_nblks and the
sector size, like CONFIG_ENV_OFFSET is.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Fri, 11 Jan 2019 15:47:53 +0000 (10:47 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Fri, 11 Jan 2019 15:47:41 +0000 (10:47 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

5 years agoRevert "fs: fat: assign rootdir sector when accessing root directory"
Tom Rini [Fri, 11 Jan 2019 14:54:44 +0000 (09:54 -0500)]
Revert "fs: fat: assign rootdir sector when accessing root directory"

This particular commit is causing a regression on stih410-b2260 and
other platforms when reading from FAT16.  Noting that I had rebased the
original fix from Thomas onto then-current master, there is also
question from Akashi-san if the change is still needed after other FAT
fixes that have gone in.

This reverts commit a68b0e11ea774492713a65d9fd5bb525fcaefff3.

Reported-by: Patrice Chotard <patrice.chotard@st.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Thomas RIENOESSL <thomas.rienoessl@bachmann.info>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoRevert "dm: pinctrl: Prevent (re-)configuring pins when already done before relocation"
Lukasz Majewski [Wed, 9 Jan 2019 22:05:02 +0000 (23:05 +0100)]
Revert "dm: pinctrl: Prevent (re-)configuring pins when already done before relocation"

This reverts commit a7f4b4b344396590845e6552c82829ef68ef9f89.

As reported by Alex Kiernan the above optimization introduces a
regression in the below use case where:

1. Device has defined 'u-boot,dm-spl' property (@ eMMC DTS node)

2. The device downloads its MLO/SPL via UART (not eMMC - the eMMC pinmux
pins are NOT probed/configured in MLO/SPL).

3. The loaded via UART MLO/SPL wants to load Linux from eMMC. In this case
the DM core and pinctrl uclass checks 'u-boot,dm-spl' and don't
configure pins (as it thinks that those were initialized in MLO/SPL).

As we are very close to release - please revert this commit.

Reported-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoARM: dts: socfpga: Add missing SDMMC reset
Tien Fong Chee [Sun, 30 Dec 2018 08:13:45 +0000 (16:13 +0800)]
ARM: dts: socfpga: Add missing SDMMC reset

The SDMMC reset is missing from DT, so the reset manager cannot unreset
the SDMMC. Add the missing DT reset entry.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agodm: usb: gadget: Fix boot breakage on sunxi platforms
Jean-Jacques Hiblot [Fri, 21 Dec 2018 08:50:21 +0000 (09:50 +0100)]
dm: usb: gadget: Fix boot breakage on sunxi platforms

Fixes commit 013116243950 ("dm: usb: create a new UCLASS ID for USB gadget
devices")

The UCLASS_DRIVER for id UCLASS_USB_GADGET_GENERIC needs to be declared
even for platforms that do not enable DM_USB_GADGET. Otherwise the driver
for their usb peripheral controller fails to bind.

Reported-by: Priit Laes <plaes@plaes.org>
Reported-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Tested-by: Priit Laes <plaes@plaes.org>
Acked-by: Jagan Teki <jagan@openedev.com>
5 years agousb: Make compiling gadget support optional
Jean-Jacques Hiblot [Thu, 10 Jan 2019 14:44:14 +0000 (15:44 +0100)]
usb: Make compiling gadget support optional

There is no need to compile and include this code if it is not used.
CONFIG_USB_GADGET can be used for the purpose.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agoKconfig: rename CONFIG_SPL_USB_GADGET_SUPPORT as CONFIG_SPL_USB_GADGET
Jean-Jacques Hiblot [Thu, 10 Jan 2019 14:44:13 +0000 (15:44 +0100)]
Kconfig: rename CONFIG_SPL_USB_GADGET_SUPPORT as CONFIG_SPL_USB_GADGET

The SPL option for USB gadget should be named after the option for u-boot
(CONFIG_USB_GADGET)

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agoARM: dts: define USB aliases for all omap5 platforms
Jean-Jacques Hiblot [Sat, 15 Dec 2018 16:43:28 +0000 (17:43 +0100)]
ARM: dts: define USB aliases for all omap5 platforms

This allows us to properly map the USB controller indexes

Tested on dra76 evm, am572 evm

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
5 years agodm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports
Jean-Jacques Hiblot [Sat, 15 Dec 2018 16:43:27 +0000 (17:43 +0100)]
dm: usb: udc: Use SEQ_ALIAS to index the USB gadget ports

dfu, fastbot and other usb gadget commands take the USB port index as a
parameter. Currently this index is assigned in the order of the driver
bindings.
Changing this behavior using the SEQ_ALIAS feature. This option assign to
the device a SEQ number based on its alias (if it exists)

To use it we must set the DM_UC_FLAG_SEQ_ALIAS flag and follow the existing
naming convention: use "usb" for the name of the gadget UCLASS_DRIVER
(same as for the UCLASS_USB).

If no alias is provided, then the index falls back to the order in which
the bindings took place.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reported-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Tested-by: Sam Protsenko <semen.protsenko@linaro.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Thu, 10 Jan 2019 14:28:28 +0000 (09:28 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi

5 years agoMerge tag 'u-boot-imx-20190110' of git://git.denx.de/u-boot-imx
Tom Rini [Thu, 10 Jan 2019 14:28:16 +0000 (09:28 -0500)]
Merge tag 'u-boot-imx-20190110' of git://git.denx.de/u-boot-imx

Fixes for 2019.01

5 years agommc: sunxi: Fix mmc clocks for DM_MMC
Jagan Teki [Wed, 9 Jan 2019 11:28:39 +0000 (16:58 +0530)]
mmc: sunxi: Fix mmc clocks for DM_MMC

Existing clock configure code has been followed based on the
legacy MMC dt node definitions and it cannot work with recent
dts(i) sync from Linux.

So, add clock configure code for Allwinner platforms which support
DM_MMC and eventually this will drop once CLK support is in Mainline.

Fixes: 3c92cca3cda0 ("ARM: dts: sun4i: Update A10 dts(i) files from Linux-v4.18-rc3")
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Priit Laes <plaes@plaes.org> # Gemei G9 A10 Tablet
Tested-by: Marek Kraus <gamelasterv2@gmail.com> # A10-OLinuXino-Lime
5 years agoMerge branch '2019-01-08-master-imports'
Tom Rini [Wed, 9 Jan 2019 21:02:29 +0000 (16:02 -0500)]
Merge branch '2019-01-08-master-imports'

- stm32f7 GPIO fixes
- SATA env fixes
- More DM migration deadline warnings
- Regression fix for non-DM MMC drivers
- dma_alloc_coherent size fix on ARM.

5 years agoimx8m: clock: Fix oscillator values
Fabio Estevam [Fri, 28 Dec 2018 18:43:01 +0000 (16:43 -0200)]
imx8m: clock: Fix oscillator values

OSC_27M_CLK should return 27MHz and OSC_32K_CLK should return
32768Hz to reflect the reality.

This also keeps the values in sync with the Linux clock tree.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 years agotools: imx8image: set dcd_skip to true
Peng Fan [Sat, 15 Dec 2018 12:19:58 +0000 (12:19 +0000)]
tools: imx8image: set dcd_skip to true

To B0[+] chips, dcd_skip needs to be true. For A0 chip, it needs
to be false, however A0 chip is no longer being supported anymore.
Considering we are moving code from imx-mkimage to uboot mkimage,
to make sure we not introduce some surprise, we still keep dcd_skip
code there.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: cpu: correct info
Peng Fan [Sat, 15 Dec 2018 12:19:55 +0000 (12:19 +0000)]
imx8: cpu: correct info

The CPU banner printed is as following:
CPU:   CPU:   Freescale i.MX8QXP RevB A35 at 147228 MHz

1. Drop the CPU:
2. Change vendor from Freescale to NXP

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agomisc: imx8: scu: use platdata instead of priv data
Peng Fan [Sat, 15 Dec 2018 12:19:52 +0000 (12:19 +0000)]
misc: imx8: scu: use platdata instead of priv data

priv data has not been allocated when doing bind, so it is
wrong to use dev_get_priv in bind call back.

Let's switch to use platdata in the driver to fix the issue.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agomisc: imx: scu: avoid write null pointer
Peng Fan [Sat, 15 Dec 2018 12:19:49 +0000 (12:19 +0000)]
misc: imx: scu: avoid write null pointer

When boot_dev is true, fill boot device. However the original logic is when
boot_dev is false, fill boot device, this will trigger data abort.

Also fix sc_misc_get_control when using pointer val.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoclk: imx8: fix build warning
Peng Fan [Sat, 15 Dec 2018 12:19:46 +0000 (12:19 +0000)]
clk: imx8: fix build warning

When build clk driver in spl, met the warning:
"
drivers/clk/imx/clk-imx8.c:21:25: warning: ‘imx8_clk_names’ defined but not used [-Wunused-variable]
 static struct imx8_clks imx8_clk_names[] = {
                         ^~~~~~~~~~~~~~
"

Fix with wrapping the array with CONFIG_CMD_CLK.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoMAINTAINERS: update NXP i.MX mail list address
Peng Fan [Sat, 15 Dec 2018 12:07:02 +0000 (12:07 +0000)]
MAINTAINERS: update NXP i.MX mail list address

Update NXP i.MX mail list address

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agoboard: tbs2910: Remove FIT support in defconfig to reduce u-boot size
Soeren Moch [Sat, 5 Jan 2019 08:31:18 +0000 (09:31 +0100)]
board: tbs2910: Remove FIT support in defconfig to reduce u-boot size

The current defconfig build generates a u-boot.imx file that is too large
for the available space on a eMMC/SD card. Installing this file overwrites
the u-boot environment. So disable the unused FIT support to reduce the
size of the u-boot binary.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Add u-boot.imx size limit check
Soeren Moch [Sat, 5 Jan 2019 08:31:17 +0000 (09:31 +0100)]
board: tbs2910: Add u-boot.imx size limit check

Check the size of the generated u-boot.imx file. Report an error
if it would be too big and overwrite the u-boot environment.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoimx: Add Makefile dependency for mkimage_fit_atf.sh
Chris Spencer [Thu, 20 Dec 2018 09:25:24 +0000 (09:25 +0000)]
imx: Add Makefile dependency for mkimage_fit_atf.sh

The mkimage_fit_atf.sh SPL FIT generator script requires
u-boot-nodtb.bin, but this was not enforced by the Makefile. This could
cause the generator script to be executed before u-boot-nodtb.bin has
been created.

Signed-off-by: Chris Spencer <christopher.spencer@sea.co.uk>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
5 years agoarm: mx5: Enable WDT and bootcounter on M53Menlo
Marek Vasut [Fri, 7 Dec 2018 01:36:38 +0000 (02:36 +0100)]
arm: mx5: Enable WDT and bootcounter on M53Menlo

Enable watchdog and bootcounter support on the M53Menlo board.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
5 years agoARM: vf610: ddrmc: do not write CR79 by default
Stefan Agner [Tue, 4 Dec 2018 10:10:21 +0000 (11:10 +0100)]
ARM: vf610: ddrmc: do not write CR79 by default

The current value CTLUPD_AREF(0) is the reset value of the register,
so there is no need to write a value. If needed, the register can be
written using board specific CR settings.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: vf610: ddrmc: fix initialization completion detection
Stefan Agner [Tue, 4 Dec 2018 10:10:20 +0000 (11:10 +0100)]
ARM: vf610: ddrmc: fix initialization completion detection

The CR80 register has multiple interrupt bits, the code is supposed
to check bit 8 but instead uses a logical and. In most cases this
probably did not affect real operations since at that stage typically
none of the other bits are set.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoARM: vf610: ddrmc: fix CR138 preprocessor define
Stefan Agner [Tue, 4 Dec 2018 10:10:19 +0000 (11:10 +0100)]
ARM: vf610: ddrmc: fix CR138 preprocessor define

According to the data sheet bits 10-8 are PHYDRAM_CK_EN. Fix mask
to allow setting PHYDRAM_CK_EN correctly.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agotoradex: colibri_vf: fix memory initialization
Stefan Agner [Tue, 4 Dec 2018 10:10:18 +0000 (11:10 +0100)]
toradex: colibri_vf: fix memory initialization

Commit 3f353ceccbbb ("vf610: refactor DDRMC code") changed on-die
termination (ODT) values from 120 Ohm to 60 Ohm and enabled a static
read/write leveling which has not been tested with this board. This
commit reverts both changes and makes sure that memory gets
initialized as it has been done before the mentioned commit.

Fixes: 3f353ceccbbb ("vf610: refactor DDRMC code")
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
5 years agoARM: vf610: ddrmc: program Dummy DDRBYTE1/2
Stefan Agner [Fri, 14 Dec 2018 14:26:00 +0000 (15:26 +0100)]
ARM: vf610: ddrmc: program Dummy DDRBYTE1/2

The Vybrid reference manual VFXXXRM Rev. 0 10/2016 states in chapter
5.2.6.1 DUMMY PADS (DDR/QuadSPI) that those pads need to be programed
for correct operation of DDR. Assume the default DDR pin configuration
which seems to work well on a Colibri VF50.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
5 years agoboard: toradex: colibri_vf: unset NFS and LOADS/B
Stefan Agner [Thu, 6 Dec 2018 13:55:03 +0000 (14:55 +0100)]
board: toradex: colibri_vf: unset NFS and LOADS/B

Safe some space by not selecting CMD_NFS and CMD_LOADS/B.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agousb: xhci-mem: Fix scratchpad array issue
Ye Li [Mon, 7 Jan 2019 02:45:46 +0000 (02:45 +0000)]
usb: xhci-mem: Fix scratchpad array issue

After updating the value of dev_context_ptrs[0], we should flush this
from cache to memory. Otherwise the xhci controller won't use it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
5 years agogpio: stm32f7: Fix SPL code size
Patrice Chotard [Fri, 4 Jan 2019 09:55:06 +0000 (10:55 +0100)]
gpio: stm32f7: Fix SPL code size

In order to keep SPL code size below the 32Kb limit,
put under CONFIG_SPL_BUILD flag all unused code in SPL.
This is needed for stm32f7xx board which are using SPL.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
5 years agogpio: stm32f7: Fix gpio bank hole management
Patrice Chotard [Fri, 4 Jan 2019 09:55:05 +0000 (10:55 +0100)]
gpio: stm32f7: Fix gpio bank hole management

In case "gpio-ranges" property is not present in device tree,
use default value for gpio_count and gpio_range.
This fixes an issue on stm32 F7 and H7 boards where "pinmux status -a"
command didn't return any pin status due to the fact that both stm32 F7
and H7 board DT doesn't use the gpio-ranges property.

Fixes: dbf928dd2634a6("gpio: stm32f7: Add gpio bank holes management")

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
5 years agoenv: sata: Fix saveenv issue
Ye Li [Mon, 7 Jan 2019 09:22:35 +0000 (09:22 +0000)]
env: sata: Fix saveenv issue

Wrong env buffer was passed into sata write function, cause the saveenv
not work.

Signed-off-by: Ye Li <ye.li@nxp.com>
5 years agoarm: ti: boot: Remove legacy Android partitions
Sam Protsenko [Fri, 4 Jan 2019 20:09:08 +0000 (22:09 +0200)]
arm: ti: boot: Remove legacy Android partitions

Remove unused Android partitions:
  - efs, crypto, cache: we don't use it anymore (images are not built
    in AOSP
  - ipu1, ipu2: IPU firmware is now a part of vendor image and doesn't
    reside as a separate partition

While at it, rename "reserved" partition to "uboot-env", as it's
actually stores U-Boot environment.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
5 years agoenv: sata: Add missed env location for SATA boot
Ye Li [Fri, 4 Jan 2019 09:34:24 +0000 (09:34 +0000)]
env: sata: Add missed env location for SATA boot

The env location label ENVL_ESATA is missed in location tables, so
when we configure the ENV in SATA, u-boot fails to get correct env
location and cause boot hang in board_f.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agoarm: Round the dma_alloc_coherent memory size to cache line aligned
Ye Li [Fri, 4 Jan 2019 09:24:14 +0000 (09:24 +0000)]
arm: Round the dma_alloc_coherent memory size to cache line aligned

When running usb dwc3 gadget driver, we meet random USB enumeration failure in fastboot.
The root cause is a cache coherence issue. When it happens, the ctrl_req in
gadget driver is allocated at 0xfe932f40, and the usb_composite_dev (cdev)
is allocated at 0xfe932f60. So after we submit the setup request (cache flushed) to USB
controller, any accessing to usb_composite_dev variable will cause the cache line refill, then
when setup transfer is completed, reading the setup data in ctrl_req will gets old value from
cache not from memory.

The ctrl_req is allocated by API dma_alloc_coherent, but u-boot don't have cohernet memory.
so it still needs cache maintain operations before/after HW accessing. Since the cache flush or
invalidate bases on cache line, so when the allocated memory size is not cache line aligned,
potentially it may meet such issue.

This patch modifies the dma_alloc_coherent API to round the size to cache line aligned.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 years agodoc: README.commands: fix type
Heinrich Schuchardt [Sun, 30 Dec 2018 12:00:51 +0000 (13:00 +0100)]
doc: README.commands: fix type

%s/commmand/command/

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agodm: video: lcd: MIGRATION: Add migration plan for video
Simon Glass [Fri, 28 Dec 2018 21:03:08 +0000 (14:03 -0700)]
dm: video: lcd: MIGRATION: Add migration plan for video

Add a migration plan for video which is an important subsystem in U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agodm: pci: MIGRATION: Add migration plan for PCI
Simon Glass [Fri, 28 Dec 2018 21:03:07 +0000 (14:03 -0700)]
dm: pci: MIGRATION: Add migration plan for PCI

Add a migration plan for PCI which is an important subsystem in U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoigep003x: MAINTAINER: Remove myself as maintainer and add Javier
Enric Balletbo i Serra [Fri, 28 Dec 2018 10:55:47 +0000 (11:55 +0100)]
igep003x: MAINTAINER: Remove myself as maintainer and add Javier

I can't continue maintaining the board because I don't have access to the
hardware anymore, so remove myself from the entry and add Javier who has
volunteered to help and maintain the board.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Javier Martínez Canillas <javier@dowhile0.org>
5 years agoAdd a github template telling people to not use pull requests there
Tom Rini [Thu, 27 Dec 2018 14:22:55 +0000 (09:22 -0500)]
Add a github template telling people to not use pull requests there

On our mirror account on github we have gotten a handful of pull
requests.  At this time github does not allow you to disable pull
requests on a project.  The generally suggested work-around is to add a
pull request template that tells people to not use that workflow.  Add
one here that points to the wiki page on submitted patches.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agommc: bring back partition init for non-DM MMC drivers
Andre Przywara [Mon, 17 Dec 2018 10:05:45 +0000 (10:05 +0000)]
mmc: bring back partition init for non-DM MMC drivers

Commit d0851c893706 ("blk: Call part_init() in the post_probe() method")
removed the call to part_init() in mmc.c, as this is done by the DM_MMC
framework.
However Allwinner is (still) relying on a non-DM MMC driver, so we are
now missing the implicit partition init, leading to failing MMC accesses
due to the missing partition information.

Bring the call back just for non-DM MMC driver to fix this regression.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Soeren Moch <smoch@web.de>
5 years agosunxi: drop default SPL_LIBDISK_SUPPORT enablement
Andre Przywara [Mon, 17 Dec 2018 10:05:44 +0000 (10:05 +0000)]
sunxi: drop default SPL_LIBDISK_SUPPORT enablement

There is no code for using partition labels in the Allwinner SPL port.
Even so the name is slightly misleading, CONFIG_SPL_LIBDISK_SUPPORT was
meant to guard partition code for the SPL.

Remove the "imply" line in the Kconfig to make this obvious and avoid
unneeded code inclusions, helping to keep the H6 SPL code small.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoMakefile: Correct logic for DM_SCSI + unconverted drivers check
Tom Rini [Tue, 8 Jan 2019 03:57:56 +0000 (22:57 -0500)]
Makefile: Correct logic for DM_SCSI + unconverted drivers check

When checking for boards that are enabling a SATA driver that isn't
converted to DM yet we need to be sure to not also trip over boards that
do set CONFIG_DM_SCSI by itself, as that is not a bug.

Reported-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Fixes: ea9d7c17fc4c ("dm: MIGRATION: Add migration plan for CONFIG_SATA")
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoPrepare v2019.01-rc3 v2019.01-rc3
Tom Rini [Tue, 8 Jan 2019 03:58:17 +0000 (22:58 -0500)]
Prepare v2019.01-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 7 Jan 2019 22:46:19 +0000 (17:46 -0500)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-samsung
Tom Rini [Mon, 7 Jan 2019 00:42:55 +0000 (19:42 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-samsung

5 years agoMerge tag 'for-master-20190106' of git://git.denx.de/u-boot-rockchip
Tom Rini [Sun, 6 Jan 2019 15:33:28 +0000 (10:33 -0500)]
Merge tag 'for-master-20190106' of git://git.denx.de/u-boot-rockchip

Fixes:
 - rockchip: rk3399: fix missing braces in full pinctrl

5 years agorockchip: rk3399: fix missing braces in full pinctrl
Philipp Tomsich [Fri, 4 Jan 2019 18:09:08 +0000 (19:09 +0100)]
rockchip: rk3399: fix missing braces in full pinctrl

Braces around the error-case for rk3399_pinctrl_set_pin_pupd lead to
an unconditional (and unintended) return from the function without it
ever setting pin-configurations.

Fix it.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoexynos: Leave the compiler to choose the register to avoid possible r0 corruption
Guillaume GARDET [Fri, 4 Jan 2019 08:23:19 +0000 (09:23 +0100)]
exynos: Leave the compiler to choose the register to avoid possible r0 corruption

Reported-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 years agoMerge tag 'for-v2019.01' of git://git.denx.de/u-boot-video
Tom Rini [Thu, 3 Jan 2019 20:34:44 +0000 (15:34 -0500)]
Merge tag 'for-v2019.01' of git://git.denx.de/u-boot-video

TrueType fixes and documentation

5 years agoMerge tag 'for-master-20190103' of git://git.denx.de/u-boot-rockchip
Tom Rini [Thu, 3 Jan 2019 13:39:44 +0000 (08:39 -0500)]
Merge tag 'for-master-20190103' of git://git.denx.de/u-boot-rockchip

Last-minute fixes for 2019.1:
- clamp DRAM size to below 32bit for 32bit targets to support 4GB
- fix copyright notice on some Rockchip-contributed files
- adjust vdd_log for the RK3399-Q7 to improve stability in some workloads

5 years agoexynos: allow SPL to build in thumb mode
Guillaume GARDET [Wed, 2 Jan 2019 13:31:41 +0000 (14:31 +0100)]
exynos: allow SPL to build in thumb mode

Building peach-pi smdk5420 and peach-pit with thumb mode for SPL
ends-up in the following error:

Error: Thumb encoding does not support an immediate here -- `msr cpsr_c,#0x13|0xC0'

Use an intermediate register to be able to use thumb for exynos5 SPL.

Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 years agorockchip: rk3399-puma: Set VDD_LOG to 950 mV.
Christoph Muellner [Wed, 2 Jan 2019 14:09:22 +0000 (15:09 +0100)]
rockchip: rk3399-puma: Set VDD_LOG to 950 mV.

This patch sets VDD_LOG to 950 mV on RK3399-Q7.
This is required to address stability issues on Puma
in heavy-load use-cases.

Reported-by: Assaf Agmon <assaf@r-go.io>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399-puma: enable full pinctrl driver in Puma defconfig.
Christoph Muellner [Wed, 2 Jan 2019 14:09:21 +0000 (15:09 +0100)]
rockchip: rk3399-puma: enable full pinctrl driver in Puma defconfig.

This patch enables the full pinctrl driver in the defconfig
for the RK3399-Q7.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399: Add Kconfig option for full pinctrl driver
Christoph Muellner [Wed, 2 Jan 2019 14:09:20 +0000 (15:09 +0100)]
rockchip: rk3399: Add Kconfig option for full pinctrl driver

This patch adds a Kconfig option to enable the full pinctrl driver
for the RK3399. This flag needs to be enabed in order to get the
features of the full pinctrl driver compiled in (i.e. a .set_state()
callback).

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399: Add improved pinctrl driver.
Christoph Muellner [Wed, 2 Jan 2019 14:09:19 +0000 (15:09 +0100)]
rockchip: rk3399: Add improved pinctrl driver.

The current pinctrl driver for the RK3399 has a range of qulity issues.
E.g. it only implements the .set_state_simple() callback, it
does not parse the available pinctrl information from the DTS
(instead uses hardcoded values), is not flexible enough to cover
devices without 'interrupt' field in the DTS (e.g. PWM),
is not written generic enough to make code reusable among other
rockchip SoCs...

This patch addresses these issues by reimplementing the whole driver
from scratch using the .set_state() callback.
The new implementation covers all featurese of the old code
(i.e. it supports pinmuxing and pullup/pulldown configuration).

This patch has been tested on a RK3399-Q7 SoM (Puma).

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agodm: pinctrl: Add pinctrl_decode_pin_config_dm().
Christoph Muellner [Wed, 2 Jan 2019 14:09:18 +0000 (15:09 +0100)]
dm: pinctrl: Add pinctrl_decode_pin_config_dm().

pinctrl_decode_pin_config_dm() is basically a feature-equivalent
implementation of pinctrl_decode_pin_config(), which operates
on struct udevice devices and uses the dev_read_*() API.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399-puma: enable PWM regulator in Puma defconfig.
Christoph Muellner [Wed, 2 Jan 2019 14:09:17 +0000 (15:09 +0100)]
rockchip: rk3399-puma: enable PWM regulator in Puma defconfig.

This patch enables the PWM regulator driver in the defconfig
for the RK3399-Q7.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agopower: regulator: Allow PWM regulator to be omitted from SPL.
Christoph Muellner [Wed, 2 Jan 2019 14:09:16 +0000 (15:09 +0100)]
power: regulator: Allow PWM regulator to be omitted from SPL.

This patch allows to enable the PWM regulator driver
independent for U-Boot and SPL.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3399-puma: Cleanup of vdd_log DTS entry.
Christoph Muellner [Wed, 2 Jan 2019 14:09:15 +0000 (15:09 +0100)]
rockchip: rk3399-puma: Cleanup of vdd_log DTS entry.

This patch eliminates the non-standard entries "rockchip,pwm_id"
and "rockchip,pwm_voltage". They are neither documented nor
read out by any driver.

Additionally it introduces the entry regulator-init-microvolt
and sets it to 900 mV, which is the default target value
for VDD_LOG.

Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: ram: update license for sdram driver
Kever Yang [Thu, 20 Dec 2018 03:33:42 +0000 (11:33 +0800)]
rockchip: ram: update license for sdram driver

Rockchip may use this sdram copy of source code for both open source
and internal project, update the license to use both GPL2.0+ and
BSD-3 Clause.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: rk3036: ram: update license
Kever Yang [Thu, 20 Dec 2018 03:33:41 +0000 (11:33 +0800)]
rockchip: rk3036: ram: update license

All the source code of sdram_rk3036.c are from Rockchip, update the
copyright to owned by Rockchip.

Because rockchip may use this copy of code both for open source
project and internal project, update the license to use both
GPL2.0+ and BSD-3 Clause.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agorockchip: sdram-common: fix wrong size for 4GB in 32bit SoC
Kever Yang [Fri, 28 Dec 2018 01:56:48 +0000 (09:56 +0800)]
rockchip: sdram-common: fix wrong size for 4GB in 32bit SoC

This is workaround for issue we can't get correct size for 4GB ram
in 32bit system and available before we really need ram space
out of 4GB, eg.enable ARM LAPE(rk3288 supports 8GB ram).
The size of 4GB is '0x1 00000000', and this value will be truncated
to 0 in 32bit system, and system can not get correct ram size.
Rockchip SoCs reserve a blob of space for peripheral near 4GB,
and we are now setting SDRAM_MAX_SIZE as max available space for
ram in 4GB, so we can use this directly to workaround the issue.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tested-By: Vagrant Cascadian <vagrant@debian.org>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Wed, 2 Jan 2019 19:20:29 +0000 (14:20 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sunxi
Tom Rini [Wed, 2 Jan 2019 00:55:05 +0000 (19:55 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi