oweals/u-boot.git
5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-socfpga
Tom Rini [Mon, 29 Jul 2019 13:03:11 +0000 (09:03 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-socfpga

- Various gen5 fixes

5 years agoMerge tag 'video-for-2019.10' of https://gitlab.denx.de/u-boot/custodians/u-boot...
Tom Rini [Mon, 29 Jul 2019 13:02:46 +0000 (09:02 -0400)]
Merge tag 'video-for-2019.10' of https://gitlab.denx.de/u-boot/custodians/u-boot-video

- dcu and imx7 DM_VIDEO conversion
- lb070wv8 compatible in simple_panel driver
- bmp_logo improvements for DM_VIDEO
- EDID updates to filter supported modes
- meson_dw_hdmi: support EDID mode filtering
- dw_hdmi: support ddc-i2c-bus phandle for external I2C masters
- fix rpi crash when firmware doesn't report connected display

5 years agoMerge tag 'u-boot-rockchip-20190729' of https://gitlab.denx.de/u-boot/custodians...
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

5 years agogitlab-ci: Switch to a Docker image that contains a QEMU we build
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>
5 years agovideo: arm: rpi: Bail out early if querying video information fails
Fabian Vogt [Thu, 11 Jul 2019 14:56:24 +0000 (16:56 +0200)]
video: arm: rpi: Bail out early if querying video information fails

When probing we query for the width and hight of the display. If the
firmware does not report any connected display the system will crash.
See https://github.com/raspberrypi/firmware/issues/1157 for details.

Signed-off-by: Fabian Vogt <fvogt@suse.com>
[mb: update commit message]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Andre Przywara <andre.przywara@arm.com>
5 years agorockchip: rv1108: Migrate to use common board file
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>
5 years agorockchip: elgin-rv1108: use board_early_init_f for per-boar init
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>
5 years agorockchip: rk3399: Migrate to use common board file
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>
5 years agorockchip: rk3399: init vbus regulator in board_early_init_f()
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>
5 years agorockchip: rk3368: Migrate to use common board file
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>
5 years agorockchip: rk3328: Migrate to use common board file
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>
5 years agorockchip: rk3288: Migrate to use common board file
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>
5 years agorockchip: rk3288: Move rk3288_detect_reset_reason to soc file
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>
5 years agorockchip: rk3288: Move clock CMD to SoC file
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>
5 years agorockchip: rk3288: Move veyron_init() back to veyron.c
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>
5 years agorockchip: rk3288: move board_early_init_f() back to veyron
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>
5 years agorockchip: rk3288: move SOC setting into arch_cpu_init()
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>
5 years agorockchip: rk3188: Migrate to use common board file
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>
5 years agorockchip: rk3188: Move SoC one time setting into arch_cpu_init()
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>
5 years agorockchip: rk322x: Migrate to use common board file
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>
5 years agorockchip: rk322x: move SoC setting into arch_cpu_init()
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>
5 years agorockchip: rk3128: Migrate to use common board file
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>
5 years agorockchip: rk3036: Migrate to use common board file
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>
5 years agorockchip: rk3036: move dram_init() into soc file
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>
5 years agorockchip: sdram_common: add common dram_init_banksize
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>
5 years agorockchip: add common board file for U-Boot proper
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>
5 years agorockchip: clean up board_usb_init() for all SoCs
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>
5 years agorockchip: convert to use ROCKCHIP_BOOT_MODE_REG for fastboot tag
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>
5 years agorockchip: rk3328: add board_debug_uart_init()
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>
5 years agorockchip: rk3399: Migrate to use common spl board file
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>
5 years agorockchip: rk3399: move chromebook bob specific flow to its board file
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>
5 years agorockchip: rk3399: move boot_devices into soc file
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>
5 years agorockchip: rk3399; move spl_board_init() into soc file
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>
5 years agorockchip: rk3399: move SoC setting into arch_cpu_init()
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>
5 years agorockchip: rk3399: show SPL BANNER earlier in board_init_f()
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>
5 years agorockchip: rk3399: move spl_perform_fixups() into soc file
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>
5 years agorockchip: rk3368: add boot_devices mapping to support 'same-as-spl'
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>
5 years agorockchip: rk3368: migrate to use common spl board file
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>
5 years agorockchip: rk3328: add boot_devices mapping to support 'same-as-spl'
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>
5 years agorockchip: rk3328: migrate to use common spl board file
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>
5 years agorockchip: rk3328: add STIMER_BASE definition
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>
5 years agorockchip: rk3288: add boot_devices mapping to support 'same-as-spl'
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>
5 years agorockchip: rk3288-veyron: Migrate "u-boot, boot0" to "u-boot, spl-boot-order"
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>
5 years agorockchip: phycore: remove no use "u-boot, boot0" in dts
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>
5 years agorockchip: rk3288: Migrate to use common spl board file
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>
5 years agorockchip: rk3288: move dram_init_banksize() into soc file
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>
5 years agorockchip: rk3288-phycore: move phycore_init() to its own board file
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>
5 years agorockchip: rk3288: move setup_led() to firefly-rk3288
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>
5 years agorockchip: rk3288: show SPL BANNER earlier in board_init_f()
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>
5 years agorockchip: fit_spl_optee: rockchip: fix warning unit_address_vs_reg
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>
5 years agorockchip: rk322x: add boot_devices mapping to support 'same-as-spl'
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>
5 years agorockchip: rk322x: migrate to use common spl board file
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>
5 years agorockchip: rk322x: introduce arch_cpu_init() for SoC setting init
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>
5 years agorockchip: rk3188: migrate to use common spl board file
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>
5 years agorockchip: rk3188: add boot_devices mapping to support 'same-as-spl'
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>
5 years agorockchip: rk3188: move spl_board_init() into rk3188.c
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>
5 years agorockchip: Migrate to use BOOTROM_SUPPORT driver
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>
5 years agorockchip: rk3188: move usb uart init into arch_cpu_init()
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>
5 years agorockchip: rk3188: init CPU freq in clock driver
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>
5 years agorockchip: add common spl board file
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>
5 years agovideo: dw_hdmi: Add support for ddc-i2c-bus property
Niklas Schulze [Sat, 27 Jul 2019 12:07:13 +0000 (12:07 +0000)]
video: dw_hdmi: Add support for ddc-i2c-bus property

Add support for the ddc-i2c-bus device tree property which allows
for using an external i2c master for reading the display's EDID.

Signed-off-by: Niklas Schulze <me@jns.io>
5 years agovideo: meson: dw-hdmi: add EDID mode filtering to only select supported modes
Neil Armstrong [Thu, 4 Jul 2019 13:52:08 +0000 (15:52 +0200)]
video: meson: dw-hdmi: add EDID mode filtering to only select supported modes

Add support for the new mode_valid() display op to filter out unsupported
display DMT timings.

This is useful when connected to 4k displays, since we only support DMT
monitors up to 1920x1080, the 4k native timings are discarded to select
supported timings.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agovideo: display: use edid_get_timing_validate() variant to filter supported EDID modes
Neil Armstrong [Thu, 4 Jul 2019 13:52:07 +0000 (15:52 +0200)]
video: display: use edid_get_timing_validate() variant to filter supported EDID modes

Introduce a new display op, mode_valid() to be used with the newly
introduced edid_get_timing_validate() function, to filter supported
monitor timings if handled by the display driver.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agoedid: add edid_get_timing_validate() variant to filter out edid modes
Neil Armstrong [Thu, 4 Jul 2019 13:52:06 +0000 (15:52 +0200)]
edid: add edid_get_timing_validate() variant to filter out edid modes

The original edid_get_timing() function returns the first valid timing,
but on some plaforms, we could only supports a subset of the listed
monitot's navite timing.

Let's introduce a edid_get_timing_validate() adding a mode_valid callback
including a private cookie pointer.

If the callback returns false, the current timing is discared and the next
one is checked. If no valid & supported timings are found, the function
would return an error.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
5 years agobmp_logo: support CONFIG_DM_VIDEO
Heiko Schocher [Thu, 13 Jun 2019 03:12:38 +0000 (05:12 +0200)]
bmp_logo: support CONFIG_DM_VIDEO

in case of bmp_logo, the video_bmp driver is used for
drawing a bmp logo. This driver supports only "full"
bmp data. Adding a logo with the bmp_logo tool to
u-boot binary adds currently only real data and drops
the bmp header.

This patch adds now the full bmp data to the u-boot
binary, so video_bmp driver works with the logo embedded
into u-boot.

Fixed also some checkpatch error poping up with this
patch.

Signed-off-by: Heiko Schocher <hs@denx.de>
5 years agovideo, simple_panel: add lg,lb070wv8 display
Heiko Schocher [Mon, 27 May 2019 06:14:39 +0000 (08:14 +0200)]
video, simple_panel: add lg,lb070wv8 display

add "lg,lb070wv8" display to compatible node.

Signed-off-by: Heiko Schocher <hs@denx.de>
5 years agoconfigs: colibri-imx6ull: switch to DM_VIDEO
Igor Opaniuk [Wed, 19 Jun 2019 08:47:10 +0000 (11:47 +0300)]
configs: colibri-imx6ull: switch to DM_VIDEO

Use CONFIG_DM_VIDEO=y by default for Colibri iMX6ULL.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agoARM: dts: colibri-imx6ull: extend lcdif node
Igor Opaniuk [Wed, 19 Jun 2019 08:47:09 +0000 (11:47 +0300)]
ARM: dts: colibri-imx6ull: extend lcdif node

Provide proper display timings for lcdif node, used by mxsfb DM_VIDEO
enabled framebuffer driver.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agocolibri-imx6ull: support building with DM_VIDEO=y
Igor Opaniuk [Wed, 19 Jun 2019 08:47:08 +0000 (11:47 +0300)]
colibri-imx6ull: support building with DM_VIDEO=y

1. This fixes linking issues when building with DM_VIDEO enabled mxsfb
driver.
2. Provide proper defines for both VIDEO=y and DM_VIDEO=y.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agoconfigs: colibri_imx7: enable DM_VIDEO
Igor Opaniuk [Wed, 19 Jun 2019 08:47:07 +0000 (11:47 +0300)]
configs: colibri_imx7: enable DM_VIDEO

Enable DM_VIDEO support for Colibri iMX7 NAND version.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agoARM: dts: colibri_imx7: Fix lcdif node definition
Igor Opaniuk [Wed, 19 Jun 2019 08:47:06 +0000 (11:47 +0300)]
ARM: dts: colibri_imx7: Fix lcdif node definition

Fix lcdif DT node and make it conform to the structure defined in the
Linux devicetree bindings [1]. Currently there is support only for
old style lcdif node definitions.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/display/mxsfb.txt

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agovideo: mxsfb: fix mxsfb fbdev binding issues
Igor Opaniuk [Wed, 19 Jun 2019 08:47:05 +0000 (11:47 +0300)]
video: mxsfb: fix mxsfb fbdev binding issues

Add support for display and bits-per-pixel properties.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agocolibri_vf: enable DM_VIDEO
Igor Opaniuk [Mon, 10 Jun 2019 11:47:52 +0000 (14:47 +0300)]
colibri_vf: enable DM_VIDEO

Enable DM_VIDEO for Colibri VF.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agoARM: dts: colibri_vf: Add dcu0 node
Igor Opaniuk [Mon, 10 Jun 2019 11:47:51 +0000 (14:47 +0300)]
ARM: dts: colibri_vf: Add dcu0 node

Add dumb node for NXP Display Control Unit0(DCU), which permits DM_ENABLED
converted driver to be probed. Currently no display timings are provided
in this node.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agovideo: fsl_dcu_fb: add DM_VIDEO support
Igor Opaniuk [Mon, 10 Jun 2019 11:47:50 +0000 (14:47 +0300)]
video: fsl_dcu_fb: add DM_VIDEO support

Extend the driver to build with DM_VIDEO enabled. DTS files
must additionally include 'u-boot,dm-pre-reloc' property in
soc and child nodes to enable driver binding to fsl_dcu_fb device.

Currently display timings aren't obtained from DT.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agovideo: fsl_dcu_fb: refactor init functions
Igor Opaniuk [Mon, 10 Jun 2019 11:47:49 +0000 (14:47 +0300)]
video: fsl_dcu_fb: refactor init functions

Move dcu-related code to fsl_dcu_probe_common, keep in video_hw_init()
only legacy video stack (filling GraphicPanel struct etc.).

Add wrappers for all init functions, that will let to provide
struct fb_info as an additional param (needed for further moving it from
the global scope to driver private data struct in DM converted driver).

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
5 years agoMerge branch '2019-07-26-ti-imports'
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

5 years agoenv: ti: boot: Use ttyS2 instead of ttyO2
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>
5 years agoarm: am57xx: Allow bootm to load larger kernels
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>
5 years agoARM: da850-evm: Remove dead/unneeded code
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>
5 years agoARM: omap3/omap35_logic: Fix broken Logic PD Torpedo booting
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>
5 years agoARM: dts: Logic PD SOM-LV and Torpedo Boards: Resync DTS
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>
5 years agoARM: da850evm: Remove legacy OHCI referencs and unify platform
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>
5 years agoARM: am3517_evm: Fix pin muxing to enable EHCI Host in the future
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>
5 years agoARM: omap3_logic & omap35_logic: Disable OMAP EHCI for Torpedo
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>
5 years agoARM: omap3_logic: Enable OMAP EHCI support for SOM-LV Boards
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>
5 years agoMerge tag 'u-boot-imx-20190719' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
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

5 years agoMerge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-spi
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)

5 years agoARM: am3517-evm: Remove non-DM legacy code
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>
5 years agoARM: am3517-evm: Migrate to SPL_OF_CONTROL
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>
5 years agoARM: da850-evm: Remove repeated pinmuxing calls
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>
5 years agoARM: da850-evm: Remove duplicate UART initialization
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>
5 years agoARM: am3517-evm: Remove manual ethernet reset code
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>
5 years agoARM: am3517-evm: Enable DM_PMIC and DM_REGULATOR functions
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>
5 years agoARM: dts: dra76x: Update MMC2_HS200_MANUAL1 iodelay values
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>
5 years agoARM: dts: am57xx: Disable voltage switching for SD card
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>
5 years agoARM: dts: am574x-idk: Add pinmuxes for mmc1 and mmc2
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>
5 years agoARM: dts: dra7-mmc-iodelay: Add a new pinctrl group for clk line without pullup
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>
5 years agoconfigs: j721e_evm_a72: Add initial support
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>
5 years agoconfigs: j721e_evm_r5: Add initial support
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>