platform/kernel/u-boot.git
4 years agoARM: socfpga: Unreset NAND in SPL on Gen5
Marek Vasut [Wed, 20 Nov 2019 21:36:24 +0000 (22:36 +0100)]
ARM: socfpga: Unreset NAND in SPL on Gen5

In case the SPL on Gen5 loads U-Boot from NAND, unreset the NAND IP
explicitly in the platform code as the denali-spl driver is not aware
of DM at all.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <chin.liang.see@intel.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Cc: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoARM: socfpga: Introduce u-boot-with-nand-spl.sfp target
Marek Vasut [Wed, 20 Nov 2019 21:36:45 +0000 (22:36 +0100)]
ARM: socfpga: Introduce u-boot-with-nand-spl.sfp target

The NAND devices with 128 kiB erase blocks require extra 64 kiB padding
between each SPL image. Generate U-Boot image with such a padding using
this new target.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <chin.liang.see@intel.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Cc: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoARM: socfpga: Add ArriaV ST/SX ID
Marek Vasut [Wed, 20 Nov 2019 21:40:19 +0000 (22:40 +0100)]
ARM: socfpga: Add ArriaV ST/SX ID

Add new FPGA ID for ArriaV ST/D3 or SX/B3 .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <chin.liang.see@intel.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Cc: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoARM: socfpga: Purge pending transactions upon enabling bridges on Gen5
Marek Vasut [Wed, 20 Nov 2019 21:34:31 +0000 (22:34 +0100)]
ARM: socfpga: Purge pending transactions upon enabling bridges on Gen5

On Gen5, when the FPGA is loaded and there was some prior interaction
between the HPS and the FPGA via bridges (e.g. Linux was running and
using some of the IPs in the FPGA) followed by warm reset, it has been
observed that there might be outstanding unfinished transactions. This
leads to an obscure misbehavior of the bridge.

When the bridge is enabled again in U-Boot and there are outstanding
transactions, a read from within the bridge address range would return
a result of the previous read instead. Example:
=> bridge enable ; md 0xff200000 1
ff2000001234abcd
=> bridge enable ; md 0xff200010 1
ff2000105678dcba <------- this is in fact a value which is stored in
                            a memory at 0xff200000
=> bridge enable ; md 0xff200000 1
ff20000090effe09 <------- this is in fact a value which is stored in
                            a memory at 0xff200010
and so it continues. Issuing a write does lock the system up completely.

This patch opens the FPGA bridges in 'bridge enable' command, the tears
them down again, and then opens them again. This allows these outstanding
transactions to complete and makes this misbehavior go away.

However, it is not entirely clear whether this is the correct solution.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <chin.liang.see@intel.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Cc: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoARM: socfpga: Actually put bridges into reset on Gen5 in bridge disable
Marek Vasut [Wed, 20 Nov 2019 21:34:30 +0000 (22:34 +0100)]
ARM: socfpga: Actually put bridges into reset on Gen5 in bridge disable

On Gen5, the 'bridge disable' command write 0x0 to brgmodrst register,
which releases all bridges from reset, instead of putting all bridges
into reset. Fix this by inverting the mask and actually putting the
bridges into reset.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <chin.liang.see@intel.com>
Cc: Dalon Westergreen <dwesterg@gmail.com>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Cc: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agoMerge tag 'u-boot-rockchip-20191124' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 24 Nov 2019 01:50:11 +0000 (20:50 -0500)]
Merge tag 'u-boot-rockchip-20191124' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Clean vid/pid in Kconfig and add fastboot for rk3399
- add 'u-boot, spl-fifo-mode' for mmc
- Use FIT generator for rk3229 optee and rk3368 ATF
- fan53555: add support for Silergy SYR82X and SYR83X

4 years agoMerge branch '2019-11-23-master-imports'
Tom Rini [Sun, 24 Nov 2019 01:48:47 +0000 (20:48 -0500)]
Merge branch '2019-11-23-master-imports'

- More travis job splits
- Assorted build clean-ups
- Correct optimization flags for some ARMv6 platforms

4 years agoarm: fix -march for ARM11
Heinrich Schuchardt [Sat, 23 Nov 2019 08:14:54 +0000 (09:14 +0100)]
arm: fix -march for ARM11

In GCC 9 support for the Armv5 and Armv5E architectures (which have no
known implementations) has been removed, cf.
https://gcc.gnu.org/gcc-9/changes.html

ARM11 is an armv6 implementation. So change the architecture flag for the
compiler to armv6 for ARM11.

Suggested-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agobuildman: Fix problem with non-existent output directories
Tom Rini [Tue, 19 Nov 2019 20:14:33 +0000 (15:14 -0500)]
buildman: Fix problem with non-existent output directories

Now that we have buildman telling genboards.cfg to use an output
directory we need to ensure that it exists.

Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
Fixes: bc750bca1246 ("tools: buildman: Honor output directory when generating boards.cfg")
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoscripts: dtc: ignore files generated generated by python
Bartosz Golaszewski [Wed, 13 Nov 2019 13:42:41 +0000 (14:42 +0100)]
scripts: dtc: ignore files generated generated by python

Add __pycache__ to ignored files and extend the rule for _libfdt to also
include generated shared objects (e.g. _libfdt.cpython-37m-x86_64-linux-gnu.so).

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
4 years agomoveconfig.py: Fix more Python3 UTF issues
Tom Rini [Mon, 11 Nov 2019 02:19:37 +0000 (21:19 -0500)]
moveconfig.py: Fix more Python3 UTF issues

With the move to using Python 3 for real, we encounter two different
issues.  First, the file include/video_font_data.h includes at least one
UTF-16 character.  Given that it does not include any CONFIG symbols it
is easiest to just ignore this file.  Next, we encounter similar
problems with some dts/dtsi files that come from Linux.  In this case
it's easiest to simply ignore all dts/dtsi files as there will not be
CONFIG symbols for us to migrate in them.

Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agorockchip: px30: enable spl-fifo-mode for both emmc and sdmmc on evb
Heiko Stuebner [Tue, 19 Nov 2019 11:04:02 +0000 (12:04 +0100)]
rockchip: px30: enable spl-fifo-mode for both emmc and sdmmc on evb

As part of loading trustedfirmware, the SPL is required to place portions
of code into the socs sram but the mmc controllers can only do dma
transfers into the regular memory, not sram.

The results of this are not directly visible in u-boot itself, but
manifest as security-relate cpu aborts during boot of for example Linux.

There were a number of attempts to solve this elegantly but so far
discussion is still ongoing, so to make the board at least boot correctly
put both mmc controllers into fifo-mode, which also circumvents the
issue for now.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4 years agorockchip: dwmmc: add handling for u-boot, spl-fifo-mode
Heiko Stuebner [Tue, 19 Nov 2019 11:04:01 +0000 (12:04 +0100)]
rockchip: dwmmc: add handling for u-boot, spl-fifo-mode

Rockchips dwmmc controllers can't do dma to non-ddr addresses,
like for example the soc-internal sram but during boot parts of
TrustedFirmware need to be placed there from the read FIT image.

So add handling for a u-boot,spl-fifo-mode to not put the mmc
controllers into fifo mode for all time.

The regular fifo-mode property still takes precedent and only
if not set do we check for the spl-specific property.

Suggested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
4 years agorock960: Enable USB Gadget
Jagan Teki [Tue, 19 Nov 2019 08:26:23 +0000 (13:56 +0530)]
rock960: Enable USB Gadget

Enable DWC3 core, gadget for rock960 board.

This would help to use fastboot by default.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: Setup dwc3_device (for non-dm gadgets)
Jagan Teki [Tue, 19 Nov 2019 08:26:22 +0000 (13:56 +0530)]
rockchip: Setup dwc3_device (for non-dm gadgets)

Setup dwc3_device structure for non-dm gadgets, which is used
in rk3399 platforms.

dwc3_device would have basic regbase, dr_mode, high speed
and 16-bit UTMI+ etc.

Cc: Marek Vasut <marex@denx.de>
Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
(Fix to use CONFIG_USB_DWC3_GADGET instead of CONFIG_USB_DWC3)
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agotools: checkpatch: Restore 'debug' and 'printf' to logFunctions list
James Byrne [Thu, 21 Nov 2019 14:32:46 +0000 (14:32 +0000)]
tools: checkpatch: Restore 'debug' and 'printf' to logFunctions list

The 'debug' and 'printf' functions were previously added to the list of
logFunctions in commit 0cab42110dbf ("checkpatch.pl: Add 'debug' to
the list of logFunctions") and commit 397bfd4642c1 ("checkpatch.pl:
Add 'printf' to logFunctions") but these additions were lost when newer
versions of checkpatch were pulled in from the upstream Linux
kernel version.

This restores them so that you don't end up in a situation where
checkpatch will give a warning for "quoted string split across lines"
which you cannot fix without getting a warning for "line over 80
characters" instead.

Signed-off-by: James Byrne <james.byrne@origamienergy.com>
4 years agotravis: rework NXP layerscape jobs
Heiko Schocher [Fri, 22 Nov 2019 10:17:29 +0000 (11:17 +0100)]
travis: rework NXP layerscape jobs

remove from NXP arm32 all layerscape boards and
build them instead in already existing layerscape
jobs (which now not only build aarch64 boards)

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agotravis: move orangepi to vendor job
Heiko Schocher [Thu, 21 Nov 2019 05:50:12 +0000 (06:50 +0100)]
travis: move orangepi to vendor job

move orangepi builds into a new job, and exclude
orangepi builds from sunxi and rockchip jobs.

Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoMerge tag 'efi-2020-01-rc4-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 23 Nov 2019 15:20:18 +0000 (10:20 -0500)]
Merge tag 'efi-2020-01-rc4-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-01-rc4 (2)

Use CONFIG_EFI_LOADER=n for ARM11 except for the Raspberry Pi and the
Raspberry Pi Zero.

4 years agogadget: rockchip: Add rk3399 USB_GADGET_PRODUCT_NUM
Jagan Teki [Tue, 19 Nov 2019 08:26:21 +0000 (13:56 +0530)]
gadget: rockchip: Add rk3399 USB_GADGET_PRODUCT_NUM

Add 0x330c for rk3399 gadget product number.

Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agousb: dwc3: Add phy interface for dwc3_uboot
Jagan Teki [Tue, 19 Nov 2019 08:26:20 +0000 (13:56 +0530)]
usb: dwc3: Add phy interface for dwc3_uboot

U-Boot has two different variants of dwc3 initializations,
- with dm variant gadget, so the respective dm driver would
  call the dwc3_init in core.
- with non-dm variant gadget, so the usage board file would
  call dwc3_uboot_init in core.

The driver probe would handle all respective gadget properties
including phy interface via phy_type property and then trigger
dwc3_init for dm-variant gadgets.

So, to support the phy interface for non-dm variant gadgets,
the better option is dwc3_uboot_init since there is no
dedicated controller for non-dm variant gadgets.

This patch support for adding phy interface like 8/16-bit UTMI+
code for dwc3_uboot.

This change used Linux phy.h enum list, to make proper code
compatibility.

Cc: Marek Vasut <marex@denx.de>
Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agofastboot: rockchip: Fix rk3328 default mmc device
Jagan Teki [Tue, 19 Nov 2019 08:26:19 +0000 (13:56 +0530)]
fastboot: rockchip: Fix rk3328 default mmc device

Technically the default mmc device for fastboot would
use eMMC if the board support for it.

Rockchip platform access device 0 for eMMC so, use the
same device number for rk3328.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agofastboot: rockchip: Select FASTBOOT_FLASH[_MMC_DEV]
Jagan Teki [Tue, 19 Nov 2019 08:26:18 +0000 (13:56 +0530)]
fastboot: rockchip: Select FASTBOOT_FLASH[_MMC_DEV]

Select CONFIG_FASTBOOT_FLASH, CONFIG_FASTBOOT_FLASH_MMC_DEV
for rockchip SoC plaforms in fastboot Kconfig file instead
of defined it in board defconfig.

This eventually drop the explicit configs defined in
supporting board defconfig files.

Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agogadget: rockchip: Add rk3128 USB_GADGET_PRODUCT_NUM
Jagan Teki [Tue, 19 Nov 2019 08:26:17 +0000 (13:56 +0530)]
gadget: rockchip: Add rk3128 USB_GADGET_PRODUCT_NUM

Add 0x310c for rk3128 gadget product number.

Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agogadget: rockchip: USB_GADGET_PRODUCT_NUM
Jagan Teki [Tue, 19 Nov 2019 08:26:16 +0000 (13:56 +0530)]
gadget: rockchip: USB_GADGET_PRODUCT_NUM

Rockchip support differnet or common gadget product number
between Rockchip SoCs like,

0x310a - rk3036
0x320a - rk3229, rk3288
0x330a - rk3328

So, select them on Kconfig based on platform specific
config defined.
   
This eventually drop the explicit configs defined in
supporting board defconfig files.

Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agogadget: Select USB_GADGET_VENDOR_NUM for rockchip
Jagan Teki [Tue, 19 Nov 2019 08:26:15 +0000 (13:56 +0530)]
gadget: Select USB_GADGET_VENDOR_NUM for rockchip

Gadget vendor number, 0x2207 is common across all platfroms
supported in Rockchip SoC.

So, select the same number globally, if ARCH_ROCKCHIP.

This eventually drop the explicit configs defined in supported
board defconfig files.

Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agogadget: Select USB_GADGET_MANUFACTURER for rockchip
Jagan Teki [Tue, 19 Nov 2019 08:26:14 +0000 (13:56 +0530)]
gadget: Select USB_GADGET_MANUFACTURER for rockchip

Select the gadget manufacturer as 'Rockchip' for
all rockchip platform SoC's.

This eventually drop the explicit defined added
on supported board defconfig files.

Tested-by: Levin Du <djw@t-chip.com.cn>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agopower: fan53555: fix fan53555_regulator_set_value
Vasily Khoruzhick [Sun, 17 Nov 2019 18:47:36 +0000 (10:47 -0800)]
power: fan53555: fix fan53555_regulator_set_value

fan53555_regulator_set_value() passes its own dev to pmic_clrsetbits()
instead of its parent (pmic). As result u-boot crashes when you try to
set voltage on fan53555 regulator

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: i2c: don't sent stop bit after each message
Vasily Khoruzhick [Sat, 16 Nov 2019 19:32:57 +0000 (11:32 -0800)]
rockchip: i2c: don't sent stop bit after each message

That's not correct and it breaks SMBUS-style reads and and writes for
some chips (e.g. SYR82X/SYR83X).

Stop bit should be sent only after the last message.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agopower: fan53555: add support for Silergy SYR82X and SYR83X
Vasily Khoruzhick [Sat, 16 Nov 2019 19:32:03 +0000 (11:32 -0800)]
power: fan53555: add support for Silergy SYR82X and SYR83X

SYR82X and SYR83X are almost identical to FAN53555, the only difference
is different die ID and revision, voltage ranges and steps.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoKconfig: Enable building of u-boot.itb on Rockchip platform
Kever Yang [Thu, 17 Oct 2019 19:08:34 +0000 (12:08 -0700)]
Kconfig: Enable building of u-boot.itb on Rockchip platform

For all the Rockchip SoCs with SPL_LOAD_FIT enable, we need to build
u-boot.itb with U-Boot proper and ATF/OPTEE.

All the Rockchip boards with SPL_LOAD_FIT now supports FIT generator to
get ATF/OPTEE binary path from environment and pass the build even if no
ATF/OPTEE binary exist, so we can enable this feature for the rockchip
platform.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: lion-rk3368: Migrate to use common FIT generator
Kever Yang [Fri, 15 Nov 2019 02:40:28 +0000 (10:40 +0800)]
rockchip: lion-rk3368: Migrate to use common FIT generator

The RK3368 lion board ATF can use bl31.elf like RK3399 and get the FIT
source with generic FIT generator script at:
arch/arm/mach-rockchip/make_fit_atf.py

And then we can use 'BL31' environment to get the path of bl31.elf
instead of copy it into U-Boot folder.

CC: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: Convert to use FIT generator for optee
Kever Yang [Fri, 15 Nov 2019 02:27:07 +0000 (10:27 +0800)]
rockchip: Convert to use FIT generator for optee

Use generator script so that we can use environment for TEE source.
$TEE for tee.bin, and if file not exist, the script can report a warning,
and meke the build success without a error.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoefi_loader: default EFI_LOADER=n on ARM11
Heinrich Schuchardt [Wed, 20 Nov 2019 17:48:02 +0000 (18:48 +0100)]
efi_loader: default EFI_LOADER=n on ARM11

Some of the ARM11 boards have tight limits on the size of U-Boots. Hence
use EFI_LOADER=n as default on ARM11.

Set EFI_LOADER=y for the Raspberry Pi and Raspberry Pi Zero as these boards
have sufficient storage on the SD card.

Suggested-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMerge branch 'master' of git://git.denx.de/u-boot-socfpga
Tom Rini [Fri, 22 Nov 2019 15:41:46 +0000 (10:41 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-socfpga

- Assorted fixes

4 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Fri, 22 Nov 2019 15:24:14 +0000 (10:24 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

- Assorted Gen3 fixes

4 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Fri, 22 Nov 2019 15:20:56 +0000 (10:20 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

- Fix some possible alignment issues

4 years agoarm: socfpga: stratix10: Add alias for gmac0 in S10 dts
Ooi, Joyce [Thu, 21 Nov 2019 14:06:12 +0000 (06:06 -0800)]
arm: socfpga: stratix10: Add alias for gmac0 in S10 dts

Add 'ethernet0' as alias for 'gmac0' in S10 device tree.

Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
Signed-off-by: Ooi, Joyce <joyce.ooi@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoarm: dts: Stratix10: change pad skew values for EMAC0 PHY driver
Ooi, Joyce [Thu, 21 Nov 2019 14:48:56 +0000 (06:48 -0800)]
arm: dts: Stratix10: change pad skew values for EMAC0 PHY driver

The HPS EMAC0 drive strength is changed to 4mA because the initial 8mA
drive strength has caused CE test to fail. This requires changes on the
pad skew for EMAC0 PHY driver. Based on several measurements done, Tx
clock does not require the extra 0.96ns delay which was needed in
Arria10.

Signed-off-by: Ooi, Joyce <joyce.ooi@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agousb: dwc2: fix possible alignment issues
Simon Goldschmidt [Thu, 21 Nov 2019 21:15:23 +0000 (22:15 +0100)]
usb: dwc2: fix possible alignment issues

Since upgrading to gcc9, warnings are issued:
"taking address of packed member of ‘...’ may result in an unaligned
pointer value"

Fix this by converting dwc2_fifo_read to use unaligned access since packed
structures may be on an unaligned address, depending on USB hardware.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agousb: composite: fix possible alignment issues
Simon Goldschmidt [Thu, 21 Nov 2019 21:15:22 +0000 (22:15 +0100)]
usb: composite: fix possible alignment issues

Since upgrading to gcc9, warnings are issued:
"taking address of packed member of ‘...’ may result in an unaligned
pointer value"

Fix this by converting two functions to use unaligned access since packed
structures may be on an unaligned address, depending on USB hardware.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agoUpdate MAINTAINERS to include environment files
Joe Hershberger [Wed, 20 Nov 2019 22:09:05 +0000 (16:09 -0600)]
Update MAINTAINERS to include environment files

To be maintained by me (Joe) and reviewed by Wolfgang Denk when
available.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
4 years agoconfigs: Resync with savedefconfig
Tom Rini [Thu, 21 Nov 2019 13:30:45 +0000 (08:30 -0500)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge branch '2019-11-20-env-migration'
Tom Rini [Thu, 21 Nov 2019 13:25:53 +0000 (08:25 -0500)]
Merge branch '2019-11-20-env-migration'

- Migrate a number of common environment related options to Kconfig

4 years agoenv: Finish migration of common ENV options
Tom Rini [Tue, 19 Nov 2019 01:02:10 +0000 (20:02 -0500)]
env: Finish migration of common ENV options

- In ARMv8 NXP Layerscape platforms we also need to make use of
  CONFIG_SYS_RELOC_GD_ENV_ADDR now, do so.
- On ENV_IS_IN_REMOTE, CONFIG_ENV_OFFSET is never used, drop the define
  to 0.
- Add Kconfig entry for ENV_ADDR.
- Make ENV_ADDR / ENV_OFFSET depend on the env locations that use it.
- Add ENV_xxx_REDUND options that depend on their primary option and
  SYS_REDUNDAND_ENVIRONMENT
- On a number of PowerPC platforms, use SPL_ENV_ADDR not CONFIG_ENV_ADDR
  for the pre-main-U-Boot environment location.
- On ENV_IS_IN_SPI_FLASH, check not for CONFIG_ENV_ADDR being set but
  rather it being non-zero, as it will now be zero by default.
- Rework the env_offset absolute in env/embedded.o to not use
  CONFIG_ENV_OFFSET as it was the only use of ENV_OFFSET within
  ENV_IS_IN_FLASH.
- Migrate all platforms.

Cc: Wolfgang Denk <wd@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: uboot-stm32@st-md-mailman.stormreply.com
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agoT1042RDB_PI_NAND_SECURE_BOOT: Guard t104xrdb SPL env code
Tom Rini [Tue, 19 Nov 2019 01:02:09 +0000 (20:02 -0500)]
T1042RDB_PI_NAND_SECURE_BOOT: Guard t104xrdb SPL env code

We can only configure and set the environment in SPL when we have a
particular environment location set that is not "nowhere" like it is in
SECURE_BOOT designs.  Update the code to reflect that.

Cc: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agofsl: layerscape: guard *env_sf_get_env_addr() on CONFIG_ENV_IS_IN_SPI_FLASH
Tom Rini [Tue, 19 Nov 2019 01:02:08 +0000 (20:02 -0500)]
fsl: layerscape: guard *env_sf_get_env_addr() on CONFIG_ENV_IS_IN_SPI_FLASH

These functions can only be built and used when we have
ENV_IS_IN_SPI_FLASH, use that as a guard.

Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoenv: Remove useless CONFIG_ENV_SIZE_REDUND and fix ENV_IS_REDUND check
Tom Rini [Tue, 19 Nov 2019 01:02:07 +0000 (20:02 -0500)]
env: Remove useless CONFIG_ENV_SIZE_REDUND and fix ENV_IS_REDUND check

We have CONFIG_ENV_SIZE_IS_REDUND but don't really use it.  We have one
board where we can simply multiple CONFIG_ENV_SIZE by two for the same
result.  The other place where we could but were not previously using
this is for where env_internal.h checks for if we should set
ENV_IS_EMBEDDED.  This seems like the most likely use, historically, of
the variable, but it was not used.  Add logic to check for this now.

Cc: Wolfgang Denk <wd@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
4 years agosmart-gateway-mt7688: Rework build time check for overwriting factory data
Tom Rini [Tue, 19 Nov 2019 01:02:06 +0000 (20:02 -0500)]
smart-gateway-mt7688: Rework build time check for overwriting factory data

The board file has a build time check to ensure that we do not have the
redundant environment overwriting the factory data.  However, using the
symbol CONFIG_ENV_SIZE_REDUND isn't strictly needed as that is always
the same as CONFIG_ENV_SIZE.  Use CONFIG_ENV_SIZE instead so that we can
later drop CONFIG_ENV_SIZE_REDUND.

Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoARM: socfpga: Fix default mtdparts
Marek Vasut [Wed, 2 Oct 2019 16:54:45 +0000 (18:54 +0200)]
ARM: socfpga: Fix default mtdparts

The default mtdparts value grew a trailing zero during the Kconfig
conversion. This is because the mtdparts value in the header file
had a \0 at the end, which got misconverted into plain 0 instead of
being dropped.

Signed-off-by: Marek Vasut <marex@denx.de>
Fixes: 43ede0bca7fc ("Kconfig: Migrate MTDIDS_DEFAULT / MTDPARTS_DEFAULT")
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agospi: cadence_qspi: support DM_CLK
Simon Goldschmidt [Wed, 20 Nov 2019 21:27:31 +0000 (22:27 +0100)]
spi: cadence_qspi: support DM_CLK

Support loading clk speed via DM instead of requiring ad-hoc code.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agotimer: dw-apb: add reset handling
Simon Goldschmidt [Wed, 23 Oct 2019 20:23:12 +0000 (22:23 +0200)]
timer: dw-apb: add reset handling

To use this DM timer on socfpga as system tick, it needs to take itself
out of reset.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agosocfpga: fix include guard in misc.h (arch vs. global)
Simon Goldschmidt [Wed, 23 Oct 2019 20:32:30 +0000 (22:32 +0200)]
socfpga: fix include guard in misc.h (arch vs. global)

The file arch/arm/mach-socfpga/include/mach/misc.h used the same include
guard as the global include/misc.h.

Fix this by giving the arch file an arch prefix.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoddr: socfpga: gen5: constify altera_gen5_sdram_ops
Simon Goldschmidt [Wed, 23 Oct 2019 20:19:37 +0000 (22:19 +0200)]
ddr: socfpga: gen5: constify altera_gen5_sdram_ops

Make the function pointer struct const, as it does not need to be
writable. This doesn't really change anything other than moving this
variable to a different section. No functional change.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoconfigs: Stratix10: Disable CONFIG_SPL_USE_TINY_PRINTF
Ley Foon Tan [Fri, 8 Nov 2019 02:58:12 +0000 (10:58 +0800)]
configs: Stratix10: Disable CONFIG_SPL_USE_TINY_PRINTF

Commit 2a51e16bd57a ("configs: Make USE_TINY_PRINTF depend on SPL||TPL and be default")
enable USE_TINY_PRINTF by default, disable it for Stratix10.

Resync with savedefconfig.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoarm: dts: Stratix10: Fix memory node address and size cells
Ley Foon Tan [Fri, 8 Nov 2019 02:56:26 +0000 (10:56 +0800)]
arm: dts: Stratix10: Fix memory node address and size cells

Add #address-cells and #size-cells to memory node to fix incorrect memory
size decoding in recent Uboot version.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx
Tom Rini [Wed, 20 Nov 2019 20:38:51 +0000 (15:38 -0500)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-mpc85xx

- Fix CONFIG_AHCI related build warning for P2041, P3041, P5040, T102x,
  T104x, T4240 platforms

4 years agoenv: Add CONFIG_SYS_RELOC_GD_ENV_ADDR symbol
Tom Rini [Wed, 13 Nov 2019 03:46:36 +0000 (22:46 -0500)]
env: Add CONFIG_SYS_RELOC_GD_ENV_ADDR symbol

Today in initr_reloc_global_data() we use some non-obvious tests to
determine if we need to relocate the env_addr within gd or not.  In
order to facilitate migration of other symbols to Kconfig we need to
introduce a new symbol for this particular use case.

Cc: Wolfgang Denk <wd@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoinput: Move input.o to be built only in some cases
Tom Rini [Sun, 17 Nov 2019 00:48:39 +0000 (19:48 -0500)]
input: Move input.o to be built only in some cases

We only need to build and link input.o when we have any of
CONFIG_KEYBOARD, CONFIG_DM_KEYBOARD (and SPL/TPL variants) or
CONFIG_TEGRA_KEYBOARD set.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge tag 'efi-2020-01-rc4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Tue, 19 Nov 2019 22:42:46 +0000 (17:42 -0500)]
Merge tag 'efi-2020-01-rc4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-01-rc4

Fix errors due to unaligned memory access:
* disable UEFI except for ARMv8, ARMv7, ARM11
* enable unaligned access support on ARM11

Remove an unused function.

4 years agousb: cdns3: Fix include file path
Vignesh Raghavendra [Mon, 18 Nov 2019 13:46:33 +0000 (19:16 +0530)]
usb: cdns3: Fix include file path

xhci.h has now been moved to include/usb/ directory. Therefore, update the
path in the Cadence USB drivers.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
4 years agoefi_loader: enable EFI_LOADER on arm1136 and arm1176
Heinrich Schuchardt [Tue, 19 Nov 2019 03:19:09 +0000 (04:19 +0100)]
efi_loader: enable EFI_LOADER on arm1136 and arm1176

With an implementation for allow_unaligned() available for arm1136 and
arm1176 UEFI can be supported on these architectures.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoarm: arm11: allow unaligned memory access
Heinrich Schuchardt [Tue, 19 Nov 2019 03:02:10 +0000 (04:02 +0100)]
arm: arm11: allow unaligned memory access

The UEFI spec mandates that unaligned memory access should be enabled if
supported by the CPU architecture.

This patch implements the function unaligned_access() to set the enable
unaligned data support flag and to clear the aligned flag in the system
control register (SCTLR). It is called when UEFI related commands like
bootefi are invoked.

Reported-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Tested-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Tested-by: Guillaume Gardet <Guillaume.Gardet@arm.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: restrict EFI_LOADER to armv7 and armv8 on ARM
Heinrich Schuchardt [Sun, 17 Nov 2019 09:44:16 +0000 (10:44 +0100)]
efi_loader: restrict EFI_LOADER to armv7 and armv8 on ARM

fatload USB was reported to fail on the Sheevaplug. Debugging showed that
this was caused by an incorrect unaligned write to memory in
path_to_uefi().

UEFI on ARM requires that unaligned memory access is enabled.

* ARMv5 does not support unaligned access at all.
* ARMv6 supports unaligned access when we clear the A flag and set the
  U flag.
* On ARMv7 unaligned access is possible when clearing the aligned flag,
  which we do in function allow_unaligned() (arch/arm/cpu/armv7/sctlr.S).
  For none of the other cpus in arch/arm/cpu/ we have implemented a
  similar function.
* ARMv8 allows unaligned access.

Let EFI_LOADER on ARM depend on SYS_CPU=armv7 or SYS_CPU=armv8.

Once we have implemented allow_unaligned() for other ARM CPUs we can add
these to Kconfig.

Reported-by: Gray Remlin <gryrmln@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: remove unused function efi_dp_from_dev()
Heinrich Schuchardt [Sun, 10 Nov 2019 01:16:33 +0000 (02:16 +0100)]
efi_loader: remove unused function efi_dp_from_dev()

Function efi_dp_from_dev() is not used anywhere. Remove it.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agopowerpc: t4240: dts: Add Sata DT nodes
Peng Ma [Wed, 23 Oct 2019 11:07:13 +0000 (11:07 +0000)]
powerpc: t4240: dts: Add Sata DT nodes

This patch is to add sata node for T4240 platform

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: t104x: dts: Add Sata DT nodes
Peng Ma [Wed, 23 Oct 2019 11:07:12 +0000 (11:07 +0000)]
powerpc: t104x: dts: Add Sata DT nodes

This patch is to add sata node for T104x platform

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: t102x: dts: Add Sata DT nodes
Peng Ma [Wed, 23 Oct 2019 11:07:11 +0000 (11:07 +0000)]
powerpc: t102x: dts: Add Sata DT nodes

This patch is to add sata node for T102x platform

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: p5040: dts: Add Sata DT nodes
Peng Ma [Wed, 23 Oct 2019 11:07:10 +0000 (11:07 +0000)]
powerpc: p5040: dts: Add Sata DT nodes

This patch is to add sata node for P5040 platform

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: p3041: dts: Add Sata DT nodes
Peng Ma [Wed, 23 Oct 2019 11:07:09 +0000 (11:07 +0000)]
powerpc: p3041: dts: Add Sata DT nodes

This patch is to add sata node for P3041 platform

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agopowerpc: p2041: dts: Add Sata DT nodes
Peng Ma [Wed, 23 Oct 2019 11:07:08 +0000 (11:07 +0000)]
powerpc: p2041: dts: Add Sata DT nodes

This patch is to add sata node for P2041 platform

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoata: sata_sil: Add DM support for Silicon sata driver
Peng Ma [Tue, 19 Nov 2019 06:17:40 +0000 (06:17 +0000)]
ata: sata_sil: Add DM support for Silicon sata driver

Add DM support for Silicon(SIL3131 / SIL3132 / SIL3124) sata driver as
few of the PowerPC platforms such as P series based boards need to
use SATA_SIL with DM,

Also fix below warning while PowerPC P series boards compilation,

===================== WARNING ======================"
This board does use CONFIG_LIBATA but has CONFIG_AHCI not"
enabled. Please update the storage controller driver to use"
CONFIG_AHCI before the v2019.07 release."
Failure to update by the deadline may result in board removal."
See doc/driver-model/MIGRATION.txt for more info."
===================================================="

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoata: fsl_sata: Add DM support for Freescale PowerPC SATA driver
Peng Ma [Tue, 19 Nov 2019 06:17:36 +0000 (06:17 +0000)]
ata: fsl_sata: Add DM support for Freescale PowerPC SATA driver

Add DM support for Freescale PowerPC sata driver used for PowerPC T series
SoCs,

CONFIG_BLK needs to be enabled on these platforms. It adds the SATA
controller as AHCI device, which is strictly speaking not correct,
as the controller is not AHCI compatible, But the U-Boot AHCI uclass
interface enables the usage of this DM driver,

Also fix below warning while PowerPC T series boards compilation,

===================== WARNING ======================"
This board does use CONFIG_LIBATA but has CONFIG_AHCI not"
enabled. Please update the storage controller driver to use"
CONFIG_AHCI before the v2019.07 release."
Failure to update by the deadline may result in board removal."
See doc/driver-model/MIGRATION.txt for more info."
===================================================="

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
4 years agoPrepare v2020.01-rc3
Tom Rini [Tue, 19 Nov 2019 02:31:49 +0000 (21:31 -0500)]
Prepare v2020.01-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge tag 'video-for-v2020.01-rc2' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Mon, 18 Nov 2019 15:48:29 +0000 (10:48 -0500)]
Merge tag 'video-for-v2020.01-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- fix i.MX6ULL evk black screen observed while reboot stress tests
- remove "synopsys,dw-mipi-dsi" compatible to reduce the device tree
  differences between Linux and U-Boot for stm32mp1 platform

4 years agoMerge tag 'u-boot-rockchip-20191118' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 18 Nov 2019 02:15:57 +0000 (21:15 -0500)]
Merge tag 'u-boot-rockchip-20191118' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Add support for rockchip SoC: PX30, RK3308
- Add and migrate to use common dram driver: PX30, RK3328, RK3399
- Add rk3399 board Tinker-s support
- Board config update for Rock960, Rockpro64

4 years agoMerge tag 'dm-pull-14nov19' of git://git.denx.de/u-boot-dm
Tom Rini [Mon, 18 Nov 2019 02:15:23 +0000 (21:15 -0500)]
Merge tag 'dm-pull-14nov19' of git://git.denx.de/u-boot-dm

Add OP-TEE test swuit
Fix patman cc_file output
Minor sandbox/pinctrl changes

4 years agorockchip: dts: tinker: Add tinker-s board support
Michael Trimarchi [Fri, 15 Nov 2019 21:07:24 +0000 (22:07 +0100)]
rockchip: dts: tinker: Add tinker-s board support

Support tinker-s board. The board is equivalent of tinker board
except of emmc.

TODO:
- support of usb current burst when the board is powered from pc

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: dts: tinker: Move u-boot dmc initialization to specific section
Michael Trimarchi [Fri, 15 Nov 2019 21:07:23 +0000 (22:07 +0100)]
rockchip: dts: tinker: Move u-boot dmc initialization to specific section

dmc is used to initialize the memory controller. It's needed by
u-boot. Move it in the specific section

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: imply instead of selecting SPL_SYS_MALLOC_SIMPLE
Thomas Hebb [Fri, 15 Nov 2019 16:48:57 +0000 (08:48 -0800)]
rockchip: imply instead of selecting SPL_SYS_MALLOC_SIMPLE

We shouldn't force which allocator the SPL uses, since there's no
platform requirement for one over the other: in fact, we currently allow
selection of the TPL allocator but not the SPL one!

Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: allow DRAM init in SPL
Thomas Hebb [Fri, 15 Nov 2019 16:48:56 +0000 (08:48 -0800)]
rockchip: allow DRAM init in SPL

The common SPL removed SoC-specific code for RK3399's SPL and in the
process caused the previously-unconditional DRAM initialization in
board_init_f() to only happen when compiling a configuration that does not
support TPL, meaning DRAM never gets initialized if TPL is supported but
disabled.

Fix this by omitting the DRAM init in SPL only when we are configured to
also build a TPL. This fixes custom configurations that have disabled
TPL, and it should also unbreak the "ficus-rk3399", "rock960-rk3399",
and "chromebook_bob" defconfigs, although since I don't have any of
those devices I can't confirm they're broken now.

Fixes: b7abef2ecbcc ("rockchip: rk3399: Migrate to use common spl board file")

Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: SPL: fix ordering of DRAM init
Thomas Hebb [Fri, 15 Nov 2019 16:48:55 +0000 (08:48 -0800)]
rockchip: SPL: fix ordering of DRAM init

The common SPL code reordered the DRAM initialization before
rockchip_stimer_init(), which as far as I can tell causes the RK3399 to
lock up completely.

Fix this issue in the common code by putting the DRAM init back after
timer init. I have only tested this on the RK3399, but it wouldn't make
any sense for the timer init to require DRAM be set up on any system.

Fixes: b7abef2ecbcc ("rockchip: rk3399: Migrate to use common spl board file")

Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agodoc: rockchip: Add documentation for rk3308 based boards
Andy Yan [Thu, 14 Nov 2019 03:23:17 +0000 (11:23 +0800)]
doc: rockchip: Add documentation for rk3308 based boards

Add build documentation for rk3308 based boards.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3308: Add support for ROC-RK3308-CC board
Andy Yan [Thu, 14 Nov 2019 03:23:02 +0000 (11:23 +0800)]
rockchip: rk3308: Add support for ROC-RK3308-CC board

ROC-RK3308-CC is a rk3308 based board designed by
Firelfy, with eMMC and 256MB DDR3 and RTL8188 Wifi
on board.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3308: Add dts for ROC-RK3308-CC
Andy Yan [Thu, 14 Nov 2019 03:22:47 +0000 (11:22 +0800)]
rockchip: rk3308: Add dts for ROC-RK3308-CC

Add dts file for ROC-RK3308-CC from firefly.

Sync form linux rockchip for v5.5-armsoc/dts64:
"arm64: dts: rockchip: Add devicetree for board roc-rk3308-cc"
(sha1: 4403e1237be3af0977aa23ef399e3496316317a0)

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: mkimage: add support for RK3308
Andy Yan [Thu, 14 Nov 2019 03:22:34 +0000 (11:22 +0800)]
rockchip: mkimage: add support for RK3308

Usage:

 (1) tools/mkimage -n rk3308 -T rksd -d tpl/u-boot-tpl.bin idbloader.img
 (2) cat spl/u-boot-spl.bin >> idbloader.img
 (3) upgrade_tool wl 0x40 idbloader.img

Note:
  When use ddr binary from rkbin as tpl, use it replace u-boot-tpl.bin in(1)

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3308: Add sdram driver
Andy Yan [Thu, 14 Nov 2019 03:22:18 +0000 (11:22 +0800)]
rockchip: rk3308: Add sdram driver

A dm based dram driver for rk3308 u-boot
to get capacity.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoboard: rockchip: Add rk3308 evb support
Andy Yan [Thu, 14 Nov 2019 03:21:15 +0000 (11:21 +0800)]
board: rockchip: Add rk3308 evb support

Add support for rk3308 evaluation board.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm: dts: rockchip: Add dts for rk3308 evb
Andy Yan [Thu, 14 Nov 2019 03:21:14 +0000 (11:21 +0800)]
arm: dts: rockchip: Add dts for rk3308 evb

Add dts for rk3308 evb, sync from the linux kernel
upstream list [0].

[0]https://patchwork.kernel.org/patch/11201555/

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clk: Add clk driver for rk3308
Finley Xiao [Thu, 14 Nov 2019 03:21:13 +0000 (11:21 +0800)]
rockchip: clk: Add clk driver for rk3308

Add clk controller driver for RK3308 SOC.

This patch depends on Elaine's pll patch[0].

[0]http://patchwork.ozlabs.org/patch/1183718/

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm: rockchip: Add RK3308 SOC support
Andy Yan [Thu, 14 Nov 2019 03:21:12 +0000 (11:21 +0800)]
arm: rockchip: Add RK3308 SOC support

RK3308 is a quad Cortex A35 based SOC with rich audio
interfaces(I2S/PCM/TDM/PDM/SPDIF/VAD/HDMI ARC), which
designed for intelligent voice interaction and audio
input/output processing.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clk: pll: add common pll setting funcs
Elaine Zhang [Fri, 25 Oct 2019 01:42:17 +0000 (09:42 +0800)]
rockchip: clk: pll: add common pll setting funcs

Common PLL setup function, compatible with different SOC.
Mainly for the subsequent new SOC use.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3399: orangepi: Add init value for vdd_log
Kever Yang [Wed, 13 Nov 2019 03:14:12 +0000 (11:14 +0800)]
rockchip: rk3399: orangepi: Add init value for vdd_log

We should set the init value when vdd_log is enabled, or else the
vdd_log output voltage may not in soc required range.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3399: khadas-edge: Add init value for vdd_log
Kever Yang [Wed, 13 Nov 2019 03:14:11 +0000 (11:14 +0800)]
rockchip: rk3399: khadas-edge: Add init value for vdd_log

We should set the init value when vdd_log is enabled, or else the
vdd_log output voltage may not in soc required range.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3399: rock-pi4: Add init value for vdd_log
Kever Yang [Wed, 13 Nov 2019 03:14:10 +0000 (11:14 +0800)]
rockchip: rk3399: rock-pi4: Add init value for vdd_log

We should set the init value when vdd_log is enabled, or else the
vdd_log output voltage may not in soc required range.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm64: dts: rk3399-rock960: add vdd_log and its init value
Kever Yang [Wed, 13 Nov 2019 03:14:09 +0000 (11:14 +0800)]
arm64: dts: rk3399-rock960: add vdd_log and its init value

Add vdd_log node according to rock960 schematic V13.
This patch affect two boards:
- Rock960 Model A
- Ficus

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
4 years agorockchip: dts: rk3399-firefly: move u-boot, spl-boot-order to to the u-boot.dtsi
Peter Robinson [Sat, 9 Nov 2019 20:30:07 +0000 (20:30 +0000)]
rockchip: dts: rk3399-firefly: move u-boot, spl-boot-order to to the u-boot.dtsi

The u-boot specific device tree directives should be in u-boot.dtsi

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: dts: rk3399-evb: move u-boot, spl-boot-order to to the u-boot.dtsi
Peter Robinson [Sat, 9 Nov 2019 20:30:06 +0000 (20:30 +0000)]
rockchip: dts: rk3399-evb: move u-boot, spl-boot-order to to the u-boot.dtsi

The u-boot specific device tree directives should be in u-boot.dtsi

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: dts: rk3399: move the u-boot, dm-pre-reloc to the u-boot.dtsi
Peter Robinson [Sat, 9 Nov 2019 20:30:05 +0000 (20:30 +0000)]
rockchip: dts: rk3399: move the u-boot, dm-pre-reloc to the u-boot.dtsi

The u-boot specific pieces in the dts files should be in u-boot.dtsi
not the main files, this allows easier sync with upstream. The
rk3399.dtsi has a mix of both so move them all for consistency.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
(Fix with missing pmugrf)
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3399: split rockpro64 out of evb_rk3399
Vasily Khoruzhick [Sat, 9 Nov 2019 19:24:50 +0000 (11:24 -0800)]
rockchip: rk3399: split rockpro64 out of evb_rk3399

rockpro64 needs to setup I/O domains in order for USB to work in u-boot.
Since we currently don't have a driver to do that, split it into its own
board file and initialize I/O domains here.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>