Tom Rini [Mon, 29 Jul 2019 13:02:15 +0000 (09:02 -0400)]
Merge tag 'u-boot-rockchip-
20190729' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip
- Clean up and migrate to use common rockchip spl board file
- Clean up and migrate to use common rockchip board file
- Increase rk3288 CONFIG_SYS_BOOTM_LEN to 16MB
Tom Rini [Wed, 24 Jul 2019 17:09:31 +0000 (13:09 -0400)]
gitlab-ci: Switch to a Docker image that contains a QEMU we build
Rather than buiding QEMU for each test.py build it once in our
Dockerfile and re-use it as needed.
Signed-off-by: Tom Rini <trini@konsulko.com>
Kever Yang [Mon, 22 Jul 2019 12:02:21 +0000 (20:02 +0800)]
rockchip: rv1108: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:20 +0000 (20:02 +0800)]
rockchip: elgin-rv1108: use board_early_init_f for per-boar init
Use board_early_init_f() for per-board init operation and
use board_init() from common board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:19 +0000 (20:02 +0800)]
rockchip: rk3399: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:18 +0000 (20:02 +0800)]
rockchip: rk3399: init vbus regulator in board_early_init_f()
Handle per-board init in board_early_init_f() and use the
common board_init() for per-platform board init later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:17 +0000 (20:02 +0800)]
rockchip: rk3368: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:16 +0000 (20:02 +0800)]
rockchip: rk3328: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Kever Yang [Mon, 22 Jul 2019 12:02:15 +0000 (20:02 +0800)]
rockchip: rk3288: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:14 +0000 (20:02 +0800)]
rockchip: rk3288: Move rk3288_detect_reset_reason to soc file
The rk3288_detect_reset_reason() is per-SoC operation, move
it to rk3288.c, and extend the rk_board_late_init() with
rk3288_board_late_init() to make all the board works fine
as before.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:13 +0000 (20:02 +0800)]
rockchip: rk3288: Move clock CMD to SoC file
Move the do_clock CMD to rk3288.c so that we can re-use
the common board file later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:12 +0000 (20:02 +0800)]
rockchip: rk3288: Move veyron_init() back to veyron.c
The veyron_init() should go to its board file veyron.c,
and the board_early_init_f() could be the right place.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:11 +0000 (20:02 +0800)]
rockchip: rk3288: move board_early_init_f() back to veyron
The board_early_init_f() is only used by veyron board now,
move it into the board file veyron.c
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:10 +0000 (20:02 +0800)]
rockchip: rk3288: move SOC setting into arch_cpu_init()
Qos setting and emmc relate SoC setting should go to arch_cpu_init().
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:09 +0000 (20:02 +0800)]
rockchip: rk3188: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:08 +0000 (20:02 +0800)]
rockchip: rk3188: Move SoC one time setting into arch_cpu_init()
The setting for noc remap should goto arch_cpu_init().
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:07 +0000 (20:02 +0800)]
rockchip: rk322x: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:06 +0000 (20:02 +0800)]
rockchip: rk322x: move SoC setting into arch_cpu_init()
The SoC one time setting should go to arch_cpu_init() in
rk322x.c
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:05 +0000 (20:02 +0800)]
rockchip: rk3128: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:04 +0000 (20:02 +0800)]
rockchip: rk3036: Migrate to use common board file
Use common board file for board_init() and board_late_init(),
for Rockchip SoCs have very similar process.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:03 +0000 (20:02 +0800)]
rockchip: rk3036: move dram_init() into soc file
Move dram_init() into rk3036.c so that we can use to common board
file later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:02 +0000 (20:02 +0800)]
rockchip: sdram_common: add common dram_init_banksize
dram_init_banksize() can be common used by all SoCs, move it into
sdram_common.c
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:01 +0000 (20:02 +0800)]
rockchip: add common board file for U-Boot proper
Add common board file for Rockchip SoCs to avoid too much
copy-paste work for different SoCs.
This board file in charge for common board_init() and board_late_init()
in U-Boot proper.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:02:00 +0000 (20:02 +0800)]
rockchip: clean up board_usb_init() for all SoCs
Use "snps,dwc2" for compatible name and and common variable
names so that we can share the common code for all SoCs.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:01:59 +0000 (20:01 +0800)]
rockchip: convert to use ROCKCHIP_BOOT_MODE_REG for fastboot tag
The fastboot_set_reboot_flag() update a TAG into a register
for next boot, use the common macro for the register so that
we can re-use the function for different SoCs.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 12:01:58 +0000 (20:01 +0800)]
rockchip: rk3328: add board_debug_uart_init()
Add board_debug_uart_init() to make the debug UART work with
correct setting.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:42 +0000 (19:59 +0800)]
rockchip: rk3399: Migrate to use common spl board file
rk3399 has similar boot flow in SPL with other Rockchip SoCs,
migrate to use common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:41 +0000 (19:59 +0800)]
rockchip: rk3399: move chromebook bob specific flow to its board file
Add a board_early_init_f() in board_init_f() and move the board
specific init code into its own board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:40 +0000 (19:59 +0800)]
rockchip: rk3399: move boot_devices into soc file
Move boot_devices definition into rk3399.c, so that we can
share the common code for board_spl_was_booted_from().
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:39 +0000 (19:59 +0800)]
rockchip: rk3399; move spl_board_init() into soc file
Move spl_board_init() into rk3399.c so that we can re-use the
common SPL board file later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:38 +0000 (19:59 +0800)]
rockchip: rk3399: move SoC setting into arch_cpu_init()
SoC setting like DDR secure region and EMMC clock setting
should go to arch_cpu_init().
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:37 +0000 (19:59 +0800)]
rockchip: rk3399: show SPL BANNER earlier in board_init_f()
Show the SPL BANNER earlier so that we know already get into SPL.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:36 +0000 (19:59 +0800)]
rockchip: rk3399: move spl_perform_fixups() into soc file
Move the spl_perform_fixups() into rk3399.c so that we can
use common spl board file later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:35 +0000 (19:59 +0800)]
rockchip: rk3368: add boot_devices mapping to support 'same-as-spl'
The driver need a mapping to get the dts node by boot srouce ID.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:34 +0000 (19:59 +0800)]
rockchip: rk3368: migrate to use common spl board file
rk3368 has similar boot flow in SPL with other Rockchip SoCs,
migrate to use common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:33 +0000 (19:59 +0800)]
rockchip: rk3328: add boot_devices mapping to support 'same-as-spl'
The driver need a mapping to get the dts node by boot srouce ID.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:32 +0000 (19:59 +0800)]
rockchip: rk3328: migrate to use common spl board file
rk3328 has similar boot flow in SPL with other Rockchip SoCs,
migrate to use common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:31 +0000 (19:59 +0800)]
rockchip: rk3328: add STIMER_BASE definition
Add the CONFIG_ROCKCHIP_STIMER_BASE so that we can use the stimer
init function in tpl.c and spl.c
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:30 +0000 (19:59 +0800)]
rockchip: rk3288: add boot_devices mapping to support 'same-as-spl'
The driver need a mapping to get the dts node by boot srouce ID.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:29 +0000 (19:59 +0800)]
rockchip: rk3288-veyron: Migrate "u-boot, boot0" to "u-boot, spl-boot-order"
"u-boot,spl-boot-order" is more flexible and other rockchip SoCs
has convert to use it, migrate to use the new dts property.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:28 +0000 (19:59 +0800)]
rockchip: phycore: remove no use "u-boot, boot0" in dts
We are using "u-boot,spl-boot-order" now and re-use the
definition from rk3288-u-boot.dtsi, so remove it directly here.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:27 +0000 (19:59 +0800)]
rockchip: rk3288: Migrate to use common spl board file
rk3288 has similar boot flow in SPL with other Rockchip SoCs,
migrate to use common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:26 +0000 (19:59 +0800)]
rockchip: rk3288: move dram_init_banksize() into soc file
Mov edram_init_banksize() into rk3288.c so that we can re-use
the common SPL board file later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:25 +0000 (19:59 +0800)]
rockchip: rk3288-phycore: move phycore_init() to its own board file
phycore_init() is use for phycore board only, it should be move back
to phycore-rk3288.c
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:24 +0000 (19:59 +0800)]
rockchip: rk3288: move setup_led() to firefly-rk3288
Only firefly-rk3288 has the dts node "u-boot,boot-led",
while CONFIG_SPL_LED is not enable, move code to firefly-rk3288
now in case someone need this code.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:23 +0000 (19:59 +0800)]
rockchip: rk3288: show SPL BANNER earlier in board_init_f()
Show the SPL BANNER earlier so that we know already get into SPL.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:22 +0000 (19:59 +0800)]
rockchip: fit_spl_optee: rockchip: fix warning unit_address_vs_reg
Update to fix warning:
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/uboot@1
has a unit name, but no reg property
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/optee@1
has a unit name, but no reg property
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/fdt@1
has a unit name, but no reg property
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /configurations/conf@1
has a unit name, but no reg property
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:21 +0000 (19:59 +0800)]
rockchip: rk322x: add boot_devices mapping to support 'same-as-spl'
The driver need a mapping to get the dts node by boot srouce ID.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:20 +0000 (19:59 +0800)]
rockchip: rk322x: migrate to use common spl board file
rk322x has similar boot flow in SPL with other Rockchip SoCs,
migrate to use common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:19 +0000 (19:59 +0800)]
rockchip: rk322x: introduce arch_cpu_init() for SoC setting init
Use arch_cpu_init() to init SoC secure region and move it to
rk322x.c
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:18 +0000 (19:59 +0800)]
rockchip: rk3188: migrate to use common spl board file
rk3188 has similar boot flow in SPL with other Rockchip SoCs,
migrate to use common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:17 +0000 (19:59 +0800)]
rockchip: rk3188: add boot_devices mapping to support 'same-as-spl'
The driver need a mapping to get the dts node by boot srouce ID.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:16 +0000 (19:59 +0800)]
rockchip: rk3188: move spl_board_init() into rk3188.c
Clean up the rk3188.c so that we can re-use the common spl board file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:15 +0000 (19:59 +0800)]
rockchip: Migrate to use BOOTROM_SUPPORT driver
SPL bootrom support is a boot device just like mmc and etc,
use formal boot device instead of jump to bootrom directly.
Enable the Kconfig by default if ROCKCHIP_BACK_TO_BROM is enabled.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:14 +0000 (19:59 +0800)]
rockchip: rk3188: move usb uart init into arch_cpu_init()
The SoC feature init will be better to use arch_cpu_init() and
goes to soc file.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:13 +0000 (19:59 +0800)]
rockchip: rk3188: init CPU freq in clock driver
Init CPU frquency in clock driver instead of in SPL board file,
this will help for use common board file later.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Kever Yang [Mon, 22 Jul 2019 11:59:12 +0000 (19:59 +0800)]
rockchip: add common spl board file
The common spl board file handles board_init_f() in SPL,
and with board_early_init_f() and arch_cpu_init() callback,
other operateion after board_init_f() should go to board specific
spl_board_init().
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Tom Rini [Sat, 27 Jul 2019 23:50:52 +0000 (19:50 -0400)]
Merge branch '2019-07-26-ti-imports'
- Bring in the rest of the J271E platform
- Various OMAP3/AM3517, DA850 fixes
Sam Protsenko [Fri, 12 Jul 2019 17:38:12 +0000 (20:38 +0300)]
env: ti: boot: Use ttyS2 instead of ttyO2
ttyO2 console enables legacy CONFIG_SERIAL_OMAP driver in kernel.
Nowadays it's preferred to use the generic CONFIG_SERIAL_8250_OMAP
driver, which being enabled via ttyS2 console. Both drivers are enabled
in multi_v7_defconfig and in omap2plus_defconfig, for compatibility
reasons. Let's switch to ttyS2 console, to be sure that standard 8250
serial driver is used.
Similar behavior can be also achieved by enabling
CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP option in kernel, but it's better not
to rely on that, as it can be disabled or removed after transitional
period.
Right now on DRA7/AM57x platforms the 8250-omap driver is being probed
first, and omap-serial driver is only probed if the first one failed.
It can be seen from uart3 definition in arch/arm/boot/dts/dra7-l4.dtsi:
compatible = "ti,dra742-uart", "ti,omap4-uart";
So the kernel already uses 8250 driver. This change basically allows
kernel developers to throw away the omap-serial driver and associated
compatibility options. Similar discussions [1,2] have started several
years ago, so it should be safe to do that now.
[1] https://patchwork.kernel.org/patch/6198471/
[2] http://processors.wiki.ti.com/index.php/Sitara_Linux_UART_-_Switching_to_8250_Driver
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Andrew F. Davis <afd@ti.com>
[trini: Update omap5_uevm]
Signed-off-by: Tom Rini <trini@konsulko.com>
Sam Protsenko [Tue, 2 Jul 2019 17:56:09 +0000 (20:56 +0300)]
arm: am57xx: Allow bootm to load larger kernels
linux-mainline with multi_v7_defconfig + Android configs takes more
space than regular TI Android kernel and bootm will fail to load it.
Let's increase max kernel size up to 64 MiB to make it possible to run
such kernel.
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Adam Ford [Fri, 19 Jul 2019 21:24:50 +0000 (16:24 -0500)]
ARM: da850-evm: Remove dead/unneeded code
The DA8850-evm supports DM_I2C and boots with SPL_DM, so we can
drop some of the code which disables DM_I2C in SPL. This
patch removes some #undef's now rendered obsolete.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Wed, 17 Jul 2019 14:35:27 +0000 (09:35 -0500)]
ARM: omap3/omap35_logic: Fix broken Logic PD Torpedo booting
The SOM-LV and Torpedo boards are very similar, but something
happened growing SPL enough to break the Torpedo. The SOM-LV
board were not doing alias sequencing during SPL and they
continue to work while something broke the Torpedo. This
patch disables SPL_DM_SEQ_ALIAS allowing it to boot again.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Mon, 15 Jul 2019 19:07:52 +0000 (14:07 -0500)]
ARM: dts: Logic PD SOM-LV and Torpedo Boards: Resync DTS
Re-sync all Logic PD OMAP35 and AM/DM37 boards with Kernel
5.2.1
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Tue, 2 Jul 2019 15:36:28 +0000 (10:36 -0500)]
ARM: da850evm: Remove legacy OHCI referencs and unify platform
OHCI was added with DM_USB support, so there are a few unneeded
items in the header file that can be removed. This also
unifies da850evm with NOR and NAND booting options so all have
OHCI support.
Signed-off-by: Adam Ford <aford173@gmail.com>
[trini: Migrate da850_am18xxevm]
Signed-off-by: Tom Rini <trini@konsulko.com>
Adam Ford [Mon, 1 Jul 2019 14:33:39 +0000 (09:33 -0500)]
ARM: am3517_evm: Fix pin muxing to enable EHCI Host in the future
This patch enables the pinmuxing to support gpio_57 for phy reset
and fixes the pinmuxing for the ECHI tranceiver. The clocks
don't appear to by fully enabled yet, so OMAP-EHCI on am3517 is
still not yet working, but we're one step closer.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Sun, 30 Jun 2019 22:30:50 +0000 (17:30 -0500)]
ARM: omap3_logic & omap35_logic: Disable OMAP EHCI for Torpedo
The OMAP35 and AM/DM37 Torpedo boards do not have a USB
tranceiver connected to the USB host port, so this patch
removes it from the defconfig files.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Sun, 30 Jun 2019 22:30:49 +0000 (17:30 -0500)]
ARM: omap3_logic: Enable OMAP EHCI support for SOM-LV Boards
The SOM-LV boards support the OMAP EHCI driver using port 2.
With the driver updated to support device tree, this patch sets
the corresponding pin muxing for the tranceiver as well as the
reset pin.
Signed-off-by: Adam Ford <aford173@gmail.com>
Tom Rini [Sat, 27 Jul 2019 13:35:05 +0000 (09:35 -0400)]
Merge tag 'u-boot-imx-
20190719' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
u-boot-imx-
20190719
- CCF for i.MX6
- nandbcb command to write SPL into NAND
- Switch to DM (i.MX28)
- Boards: Toradex, engicam, DH
- Fixes for i.MX8
- Fixes for i.MX7ULP
Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/
561147504
Tom Rini [Sat, 27 Jul 2019 13:34:07 +0000 (09:34 -0400)]
Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-spi
- fix for fsl_qspi read timeout (Thomas)
- spi-mem read data size fix (Ye Li)
- SiFive SPI driver, mmc_spi flags (Bhargav, Anup)
- Micron spi-nor parts (Ashish)
- MT7629 spi-mem driver(Weijie)
Adam Ford [Tue, 25 Jun 2019 19:14:08 +0000 (14:14 -0500)]
ARM: am3517-evm: Remove non-DM legacy code
With both SPL and U-Boot now supporting DM, we can start removing
legacy code. This patch removes the legacy MMC initalization and
legacy I2C initialization since both are now available via DM and
device tree.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Mon, 24 Jun 2019 16:57:25 +0000 (11:57 -0500)]
ARM: am3517-evm: Migrate to SPL_OF_CONTROL
Like the other Logic PD OMAP35/DM37 boards, this board has device
tree enabled for U-Boot. This patch converts the board to enable
SPL_OF_CONTROL and further shrinks the device tree in SPL to limit
it to UART3 (console), MMC1, i2c1, and GPIO4 (for mmc1 CD and WP).
There appears to be a bug in minicom so users may need to
switch the minicom terminal emulation to ANSI from VT102 due
to the junk that gets pushed out of the UART on startup.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Sun, 23 Jun 2019 23:30:54 +0000 (18:30 -0500)]
ARM: da850-evm: Remove repeated pinmuxing calls
arch_cpu_init() initializes the pinmuxing which is called fairly
early in the start sequences, so the board_init function doesn't
need to do it again. This patch removes the call from board_init.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Sun, 23 Jun 2019 22:48:36 +0000 (17:48 -0500)]
ARM: da850-evm: Remove duplicate UART initialization
The Low Level init functions start the UART, so it doesn't need
to happen during board_init. This patch removes it from
board_init.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Sun, 23 Jun 2019 05:42:14 +0000 (00:42 -0500)]
ARM: am3517-evm: Remove manual ethernet reset code
The reset line going to the ethernet controller is controlled
by a global reset controlling multiple peripherals. There
is no need to manually invoke the reset.
Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford [Fri, 14 Jun 2019 14:06:48 +0000 (09:06 -0500)]
ARM: am3517-evm: Enable DM_PMIC and DM_REGULATOR functions
The PBIAS regulator is available on OMAP3's, and it's shared on
the AM35, so this patch enables that in U-Boot along with GPIO
based regulators.
Signed-off-by: Adam Ford <aford173@gmail.com>
Faiz Abbas [Thu, 20 Jun 2019 09:37:22 +0000 (15:07 +0530)]
ARM: dts: dra76x: Update MMC2_HS200_MANUAL1 iodelay values
Update the MMC2_HS200_MANUAL1 iodelay values to match with the latest
dra76x data manual[1].
Also this particular pinctrl-array is using spaces instead of tabs for
spacing between the values and the comments. Fix this as well.
[1] http://www.ti.com/lit/ds/symlink/dra76p.pdf
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Faiz Abbas [Thu, 20 Jun 2019 09:37:21 +0000 (15:07 +0530)]
ARM: dts: am57xx: Disable voltage switching for SD card
If UHS speed modes are enabled, a compatible SD card switches down to 1.8V
during enumeration. If after this a software reboot/crash takes place and
on-chip ROM tries to enumerate the SD card, the difference in
IO voltages (host @ 3.3V and card @ 1.8V) may end up damaging the card.
The fix for this is to have support for power cycling the card in
hardware (with a PORz/soft-reset line causing a power cycle of the card).
Because the beaglebone X15 (rev A,B and C), am57xx-evms and am57xx-idks don't
have this capability, disable voltage switching for these boards.
The major effect of this is that the maximum supported speed mode is now
high speed(50 MHz) down from SDR104(200 MHz).
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Faiz Abbas [Thu, 20 Jun 2019 09:37:20 +0000 (15:07 +0530)]
ARM: dts: am574x-idk: Add pinmuxes for mmc1 and mmc2
Sync with kernel dts by adding pinmuxes for mmc1 and mmc2. This fixes an
issue where mmc2 (eMMC) was coming up in HS52 mode instead of the
highest DDR52 mode.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Faiz Abbas [Thu, 20 Jun 2019 09:37:19 +0000 (15:07 +0530)]
ARM: dts: dra7-mmc-iodelay: Add a new pinctrl group for clk line without pullup
During a short period when the bus voltage is switched from 3.3v to 1.8v,
(to enumerate UHS mode), the mmc module is disabled and the mmc IO lines
are kept in a state according to the programmed pad mux pull type.
According to 4.2.4.2 Timing to Switch Signal Voltage in "SD Specifications
Part 1 Physical Layer Specification Version 5.00 February 22, 2016", the
host should hold CLK low for at least 5ms.
In order to keep the card line low during voltage switch, the pad mux of
mmc1_clk line should be configured to pull down.
Add a new pinctrl group for clock line without pullup to be used in boards
where mmc1_clk line is not connected to an external pullup.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:57 +0000 (10:29 +0530)]
configs: j721e_evm_a72: Add initial support
Add initial defconfig support for J721e that runs on A72.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[trini: Add MAINTAINERS entry]
Signed-off-by: Tom Rini <trini@konsulko.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:56 +0000 (10:29 +0530)]
configs: j721e_evm_r5: Add initial support
Add initial defconfig support for J721e that runs on R5.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[trini: Add MAINTAINERS file]
Signed-off-by: Tom Rini <trini@konsulko.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:55 +0000 (10:29 +0530)]
arm: dts: k3-j721e: Add r5 specific dt support
Add initial support for dt that runs on r5.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:54 +0000 (10:29 +0530)]
arm: dts: k3-j721e: Add initial support for common processor board
Common Processor board is the baseboard that has most of the actual connectors,
power supply etc. A SOM (System on Module) is plugged on to the common
processor board and this contains the SoC, PMIC, DDR and basic highspeed
components necessary for functionality. Add initial dt support for this
common processor board.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:53 +0000 (10:29 +0530)]
arm: dts: ti: Add Support for J721E SoC
Add initial SoC definition for J721E SoC.
Kernel dts posted here:
https://lore.kernel.org/lkml/
20190522161921.20750-1-nm@ti.com/
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:52 +0000 (10:29 +0530)]
dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E
Add pinctrl macros for J721E SoC. These macro definitions are
similar to that of AM6, but adding new definitions to avoid
any naming confusions in the soc dts files.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Faiz Abbas [Thu, 13 Jun 2019 04:59:51 +0000 (10:29 +0530)]
mmc: am654_sdhci: Separate J721E compatible into 8bit and 4bit versions
The j721e 4 bit instances don't have a hard DLL and therefore don't need
any DLL related configurations. Split the compatibles into an 8 bit and a
4 bit one. Add a private flags field which can be used to check if the
DLL is present and don't register the set_ios_post callback for the 4 bit
compatible instances.
Also update the compatibles in k3-j721e-main.dtsi to avoid breaking boot
with the new compatibles.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Suman Anna [Thu, 13 Jun 2019 04:59:50 +0000 (10:29 +0530)]
board: ti: j721e: Enable fixing up msmc sram node
Create a ft_board_setup() api that gets called as part of
DT fixup before jumping to kernel. In this ft_board_setup()
call fdt_fixup_msmc_ram that update msmc sram node.
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:49 +0000 (10:29 +0530)]
board: ti: j721e: Add board support for j721e evm
Add board specific initialization for j721e evm
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Suman Anna [Thu, 13 Jun 2019 04:59:48 +0000 (10:29 +0530)]
armv8: K3: j721e: Add custom MMU support
The A72 U-Boot code loads and boots a number of remote processors
including the C71x DSP, both the C66_0 and C66_1 DSPs, and the various
Main R5FSS Cores. Change the memory attributes for the DDR regions used
by the remote processors so that the cores can see and execute the
proper code.
A separate table based on the current AM65x table is added for J721E SoCs,
since the number of remote processors and their DDR usage will be different
between the two SoC families.
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Andreas Dannenberg [Thu, 13 Jun 2019 04:59:47 +0000 (10:29 +0530)]
armv7R: K3: j721e: Load SYSFW binary and config from boot media
Use the System Firmware (SYSFW) loader framework to load and start
the SYSFW as part of the J721E early initialization sequence. While
at it also initialize the MCU_UART0 pinmux as it is used by SYSFW
to print diagnostic messages.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:46 +0000 (10:29 +0530)]
armv7R: K3: j721e: Shut down R5 core after ATF startup on A72
Populate the release_resources_for_core_shutdown() api with
shutting down r5 cores so that it will by called just after
jumping to ATF.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Andreas Dannenberg [Thu, 13 Jun 2019 04:59:45 +0000 (10:29 +0530)]
armv7R: K3: j721e: Store boot index from ROM
Obtain the boot index as left behind by the device boot ROM and store
it in scratch pad SRAM for later use before it may get overwritten.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Andreas Dannenberg [Thu, 13 Jun 2019 04:59:44 +0000 (10:29 +0530)]
armv7R: K3: j721e: Unlock all applicable control MMR registers
To access various control MMR functionality the registers need to
be unlocked. Do that for all control MMR regions in the MCU and MAIN
domains. We may want to go back later and limit the unlocking that's
being done.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:43 +0000 (10:29 +0530)]
armv7R: K3: j721e: Add support for boot device detection
J721E allows for booting from primary or backup boot media.
Both media can be chosen individually based on switch settings.
ROM looks for a valid image in primary boot media, if not found
then looks in backup boot media. In order to pass this boot media
information to boot loader, ROM stores a value at a particular
address. Add support for reading this information and determining
the boot media correctly.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Lokesh Vutla [Thu, 13 Jun 2019 04:59:42 +0000 (10:29 +0530)]
arm: K3: j721e: Add basic support for J721E SoC definition
The J721E SoC belongs to the K3 Multicore SoC architecture platform,
providing advanced system integration to enable lower system costs
of automotive applications such as infotainment, cluster, premium
Audio, Gateway, industrial and a range of broad market applications.
This SoC is designed around reducing the system cost by eliminating
the need of an external system MCU and is targeted towards ASIL-B/C
certification/requirements in addition to allowing complex software
and system use-cases.
Some highlights of this SoC are:
* Dual Cortex-A72s in a single cluster, three clusters of lockstep
capable dual Cortex-R5F MCUs, Deep-learning Matrix Multiply Accelerator(MMA),
C7x floating point Vector DSP, Two C66x floating point DSPs.
* 3D GPU PowerVR Rogue 8XE GE8430
* Vision Processing Accelerator (VPAC) with image signal processor and Depth
and Motion Processing Accelerator (DMPAC)
* Two Gigabit Industrial Communication Subsystems (ICSSG), each with dual
PRUs and dual RTUs
* Two CSI2.0 4L RX plus one CSI2.0 4L TX, one eDP/DP, One DSI Tx, and
up to two DPI interfaces.
* Integrated Ethernet switch supporting up to a total of 8 external ports in
addition to legacy Ethernet switch of up to 2 ports.
* System MMU (SMMU) Version 3.0 and advanced virtualisation
capabilities.
* Upto 4 PCIe-GEN3 controllers, 2 USB3.0 Dual-role device subsystems,
16 MCANs, 12 McASP, eMMC and SD, UFS, OSPI/HyperBus memory controller, QSPI,
I3C and I2C, eCAP/eQEP, eHRPWM, MLB among other peripherals.
* Two hardware accelerator block containing AES/DES/SHA/MD5 called SA2UL
management.
* Configurable L3 Cache and IO-coherent architecture with high data throughput
capable distributed DMA architecture under NAVSS
* Centralized System Controller for Security, Power, and Resource
Management (DMSC)
See J721E Technical Reference Manual (SPRUIL1, May 2019)
for further details: http://www.ti.com/lit/pdf/spruil1
Add base support for J721E SoC
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Lokesh Vutla [Fri, 7 Jun 2019 13:55:59 +0000 (19:25 +0530)]
remoteproc: k3_rproc: Rename to ti_k3_arm64_rproc
k3_rproc driver is specifically meant for controlling an arm64
core using TISCI protocol. So rename the driver, Kconfig symbol,
compatible and functions accordingly.
While at it drop this remoteproc selection for a53 defconfig.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Fri, 7 Jun 2019 13:55:58 +0000 (19:25 +0530)]
remoteproc: k3_rproc: Update the driver to use ti_sci_proc helpers
Update the k3_rproc driver to use the generic ti_sci_proc helper
apis which simplifies the driver a bit.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Fri, 7 Jun 2019 13:55:57 +0000 (19:25 +0530)]
remoteproc: tisci: add TI-SCI processor control helper functions
Texas Instruments' K3 generation SoCs has specific modules/register
spaces used for configuring the various aspects of a remote processor.
These include power, reset, boot vector and other configuration features
specific to each compute processor present on the SoC. These registers
are managed by the System Controller such as DMSC on K3 AM65x SoCs.
The Texas Instrument's System Control Interface (TI-SCI) Message Protocol
is used to communicate to the System Controller from various compute
processors to invoke specific services provided by the firmware running
on the System Controller.
Add a common processor control interface header file that can be used by
multiple remoteproc drivers. The helper functions within this header file
abstract the various TI SCI protocol ops for the remoteproc drivers, and
allow them to request the System Controller to be able to program and
manage various remote processors on the SoC. The common macros required
by the R5 remoteproc driver were also added. The remoteproc drivers are
expected to manage the life-cycle of their ti_sci_proc_dev local
structures.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Lokesh Vutla [Fri, 7 Jun 2019 13:55:56 +0000 (19:25 +0530)]
cmd: remoteproc: Allow list command to print the probed devices
'rproc list' is currently allowed only after probing all the
available remoteproc devices. Given that 'rproc init' is updated
to probe and initialize devices individually, allow the 'rproc list'
command to print all probed devices at any point.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Fri, 7 Jun 2019 13:55:55 +0000 (19:25 +0530)]
cmd: remoteproc: Add support for initializing devices individually
'rproc init' does the probe and initialization of all the available
remoteproc devices in the system. This doesn't allow the flexibility
to initialize the remote cores needed as per use case. In order
to provide flexibility, update 'rproc init' command to accept one
more parameter with rproc id which when passed initializes only
that specific core. If no id is passed, command will initializes
all the cores which is compatible with the existing behaviour.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>