]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
8 months agoboard: asus: tf600t: adjust LV pinmux
Svyatoslav Ryhel [Fri, 19 Jan 2024 11:28:54 +0000 (13:28 +0200)]
board: asus: tf600t: adjust LV pinmux

TF600T is pretty picky in terms of LV pinmux configuration.
The wrong setup will cause issues with eMMC and video.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agoboard: asus: tf600t: configure SPI pinmux
Svyatoslav Ryhel [Wed, 17 Jan 2024 16:32:21 +0000 (18:32 +0200)]
board: asus: tf600t: configure SPI pinmux

Unlike all other transformers, TF600T has an SPI flash to store
boot firmware and requires precise SPI pinmux configuration.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agoboard: asus: lg_x3: endeavoru: remove CONFIG_SYS_L2CACHE_OFF
Jonas Schwöbel [Fri, 19 Jan 2024 13:04:46 +0000 (15:04 +0200)]
board: asus: lg_x3: endeavoru: remove CONFIG_SYS_L2CACHE_OFF

CONFIG_SYS_L2CACHE_OFF is not affecting these devices in any way.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agoboard: tegra30: switch to standard boot
Svyatoslav Ryhel [Sun, 14 Jan 2024 19:39:33 +0000 (21:39 +0200)]
board: tegra30: switch to standard boot

Switch transformer, endeavoru, grouper and x3_t30 boards
to bootflow scan.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agoARM: tegra: move to standard boot
Svyatoslav Ryhel [Sat, 6 Jan 2024 20:33:59 +0000 (22:33 +0200)]
ARM: tegra: move to standard boot

Drop the distro-boot scripts and use standard boot instead.

Inspired by:
'commit 7755dc58af7b ("rockchip: Move to standard boot")'

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agoARM: dts: paz00: remove display-timings node
Svyatoslav Ryhel [Sun, 7 Jan 2024 14:31:43 +0000 (16:31 +0200)]
ARM: dts: paz00: remove display-timings node

Paz00 can have multiple panels with different timings, but they
all share common feature - panel exposes EDID.

Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agoMerge tag 'video-20240421' of https://source.denx.de/u-boot/custodians/u-boot-video
Tom Rini [Sun, 21 Apr 2024 14:54:20 +0000 (08:54 -0600)]
Merge tag 'video-20240421' of https://source.denx.de/u-boot/custodians/u-boot-video

CI: https://source.denx.de/u-boot/custodians/u-boot-video/-/pipelines/20466

- simple_panel: support timing parsing from EDID
- dw_hdmi: fix gcc-14 compiler warnings
- dw_hdmi: support vendor PHY for HDMI
- rockchip: add Rockchip INNO HDMI PHY driver
- rockchip: RK3328 HDMI and VOP support
- evb-rk3328: enable vidconsole support
- Tegra DC and DSI improvements and Tegra 114 support
- add LG LG070WX3 MIPI DSI panel driver
- add Samsung LTL106HL02 MIPI DSI panel driver
- add Toshiba TC358768 RGB to DSI bridge support
- add basic support for the Parade DP501 transmitter
- Tegra 3 panel and bridge driver improvements
- simplefb: modernise DT parsing
- fdt_simplefb: Enumerate framebuffer info from video handoff
- preserve framebuffer if SPL is passing video hand-off
- fdt_support: allow reserving FB region without simplefb

8 months agoboot: Move framebuffer reservation to separate helper
Devarsh Thakkar [Thu, 22 Feb 2024 13:08:10 +0000 (18:38 +0530)]
boot: Move framebuffer reservation to separate helper

Create separate helper for just reserving framebuffer region without
creating or enabling simple-framebuffer node.

This is useful for scenarios where user want to preserve the bootloader
splash screen till OS boots up and display server gets started without
displaying anything else in between and thus not requiring
simple-framebuffer.

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
8 months agovideo: Assume video to be active if SPL is passing video hand-off
Devarsh Thakkar [Thu, 22 Feb 2024 13:08:09 +0000 (18:38 +0530)]
video: Assume video to be active if SPL is passing video hand-off

If SPL is passing video handoff structure to U-boot then it is safe to
assume that SPL has already enabled video and that's why it is passing
video handoff structure to U-boot so that U-boot can preserve the
framebuffer.

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
8 months agoboot: fdt_simplefb: Enumerate framebuffer info from video handoff
Devarsh Thakkar [Thu, 22 Feb 2024 13:08:08 +0000 (18:38 +0530)]
boot: fdt_simplefb: Enumerate framebuffer info from video handoff

Enable and update simple-framebuffer node using the video handoff
bloblist if video was enabled at SPL stage and corresponding video
bloblist was received at u-boot proper with necessary parameters.

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
8 months agovideo: simplefb: modernise DT parsing
Caleb Connolly [Fri, 16 Feb 2024 18:38:06 +0000 (18:38 +0000)]
video: simplefb: modernise DT parsing

simplefb was using old style FDT parsing which doesn't behave well in
combination with livetree. Update it to use ofnode instead and add a
missing null check for the "format" property.

Standardise the error logging while we're here.

Fixes: 971d7e64245d ("video: simplefb")
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
8 months agovideo: renesas: shift the init sequence by one step earlier
Svyatoslav Ryhel [Wed, 31 Jan 2024 06:57:21 +0000 (08:57 +0200)]
video: renesas: shift the init sequence by one step earlier

Shift all setup stages one step earlier to better fit the
existing uclass.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: bridge: ssd2825: shift the init sequence by one step earlier
Svyatoslav Ryhel [Wed, 31 Jan 2024 06:57:20 +0000 (08:57 +0200)]
video: bridge: ssd2825: shift the init sequence by one step earlier

Shift all setup stages one step earlier to better fit the
existing uclass.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: endeavoru-panel: shift the init sequence by one step earlier
Svyatoslav Ryhel [Wed, 31 Jan 2024 06:57:19 +0000 (08:57 +0200)]
video: endeavoru-panel: shift the init sequence by one step earlier

Shift all setup stages one step earlier to better fit the
existing uclass.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: bridge: add basic support for the Parade DP501 transmitter
Jonas Schwöbel [Wed, 31 Jan 2024 06:57:18 +0000 (08:57 +0200)]
video: bridge: add basic support for the Parade DP501 transmitter

The Parade DP501 is a DP & DVI/HDMI dual-mode transmitter. It
enables an RGB/Parallel SOC output to be converted, packed and
serialized into either DP or TMDS output device. Only DisplayPort
functionality of this transmitter has been implemented and tested.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: bridge: add Toshiba TC358768 RGB to DSI bridge support
Svyatoslav Ryhel [Wed, 31 Jan 2024 06:57:17 +0000 (08:57 +0200)]
video: bridge: add Toshiba TC358768 RGB to DSI bridge support

Add initial support for the Toshiba TC358768 RGB to DSI bridge.

The driver is based on the mainline Linux Toshiba TC358768
bridge driver and implements the same set of features.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS TF700T
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: panel: add Samsung LTL106HL02 MIPI DSI panel driver
Anton Bambura [Wed, 31 Jan 2024 06:57:16 +0000 (08:57 +0200)]
video: panel: add Samsung LTL106HL02 MIPI DSI panel driver

LTL106HL02 is a color active matrix TFT (Thin Film Transistor)
liquid crystal display (LCD) that uses amorphous silicon TFT as
switching devices. This model is composed of a TFT LCD panel, a
driver circuit and a backlight unit. The resolution of a 10.6"
contains 1920 x 1080 pixels and can display up to 16,8M color
with wide viewing angle.

Co-developed-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Co-developed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Anton Bambura <jenneron@protonmail.com>
8 months agovideo: panel: add LG LG070WX3 MIPI DSI panel driver
Svyatoslav Ryhel [Wed, 31 Jan 2024 06:57:15 +0000 (08:57 +0200)]
video: panel: add LG LG070WX3 MIPI DSI panel driver

The LD070WX3 is a Color Active Matrix Liquid Crystal Display with
an integral Light Emitting Diode (LED) backlight system. The
matrix employs a-Si Thin Film Transistor as the active element. It
is a transmissive type display operating in the normally Black
mode. This TFT-LCD has 7.0 inches diagonally measured active
display area with WXGA resolution (800 by 1280 pixel array).

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: tegra20: dsi: use set_backlight for backlight only
Jonas Schwöbel [Tue, 23 Jan 2024 17:16:33 +0000 (19:16 +0200)]
video: tegra20: dsi: use set_backlight for backlight only

Shift the backlight set further to prevent visual glitches on
panel init.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dsi: set correct fifo depth
Jonas Schwöbel [Tue, 23 Jan 2024 17:16:32 +0000 (19:16 +0200)]
video: tegra20: dsi: set correct fifo depth

According to Thierry Reding's commit in the linux kernel

976cebc35bed0456a42bf96073a26f251d23b264
"drm/tegra: dsi: Make FIFO depths host parameters"

correct depth of the video FIFO is 1920 *words* no *bytes*

Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dsi: remove pre-configuration
Jonas Schwöbel [Tue, 23 Jan 2024 17:16:31 +0000 (19:16 +0200)]
video: tegra20: dsi: remove pre-configuration

Configuration for DC driver command mode is not required for
every panel. Removed.

Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dsi: add reset support
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:30 +0000 (19:16 +0200)]
video: tegra20: dsi: add reset support

Implement reset use to discard any changes which could have been
applied to DSI before and can interfere with current configuration.

Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: tegra20: dsi: add T114 support
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:29 +0000 (19:16 +0200)]
video: tegra20: dsi: add T114 support

Existing Tegra DSI driver mostly fits T114 apart MIPI calibration
which on T114 has dedicated driver. To resolve this MIPI calibration
logic was split for pre-T114 and T114+ devices.

Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: add MIPI calibration driver
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:28 +0000 (19:16 +0200)]
video: tegra20: add MIPI calibration driver

Dedicated MIPI calibration driver is used on T114 and newer. Before
T114 MIPI calibration registers were part of VI and CSI.

Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: parameterize V- and H-sync polarities
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:27 +0000 (19:16 +0200)]
video: tegra20: dc: parameterize V- and H-sync polarities

Based on Thierry Reding's Linux commit:

'commit 1716b1891e1de05e2c20ccafa9f58550f3539717
("drm/tegra: rgb: Parameterize V- and H-sync polarities")'

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: clean framebuffer memory block
Jonas Schwöbel [Tue, 23 Jan 2024 17:16:26 +0000 (19:16 +0200)]
video: tegra20: dc: clean framebuffer memory block

Fill the framebuffer memory with zeros to avoid visual glitches.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: enable backlight after DC is configured
Jonas Schwöbel [Tue, 23 Jan 2024 17:16:25 +0000 (19:16 +0200)]
video: tegra20: dc: enable backlight after DC is configured

The goal of panel_set_backlight() is to enable backlight. Hence,
it should be called at the probe end.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: fix printing of framebuffer address
Jonas Schwöbel [Tue, 23 Jan 2024 17:16:24 +0000 (19:16 +0200)]
video: tegra20: dc: fix printing of framebuffer address

Framebuffer address should not be a pointer.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: tegra20: dc: configure behavior if PLLD/D2 is used
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:23 +0000 (19:16 +0200)]
video: tegra20: dc: configure behavior if PLLD/D2 is used

If DISP1 is a PLLD/D2 child, it cannot go over 370MHz. The cause
of this is not quite clear. This can be overcomed by further
halving the PLLD/D2 if the target parent rate is over 800MHz.
This way DISP1 and DSI clocks will have the same frequency. The
shift divider in this case has to be calculated from the
original PLLD/D2 frequency and is passed from the DSI driver.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Tested-by: Jonas Schwöbel <jonasschwoebel@yahoo.de> # Microsoft Surface 2
Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Acked-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: add powergate
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:22 +0000 (19:16 +0200)]
video: tegra20: dc: add powergate

Add powergate use on T114 to complete resetting of DC.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: add PLLD2 parent support
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:20 +0000 (19:16 +0200)]
video: tegra20: dc: add PLLD2 parent support

T30+ SOC have second PLLD - PLLD2 which can be actively used by
DC and act as main DISP1/2 clock parent.

Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20
Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101
Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: pass DC id to internal devices
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:19 +0000 (19:16 +0200)]
video: tegra20: dc: pass DC id to internal devices

Tegra SoC has 2 independent display controllers called DC_A and
DC_B, they are handled differently by internal video devices like
DSI and HDMI controllers so it is important for last to know
which display controller is used to properly set up registers.
To achieve this, a pipe field was added to pdata to pass display
controller id to internal Tegra SoC devices.

Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20
Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101
Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: tegra20: consolidate DC header
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:18 +0000 (19:16 +0200)]
video: tegra20: consolidate DC header

Consolidate HD headers and place the result into video/tegra20
since it is used only by devices from this directory.

Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20
Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101
Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: fix image shift on rotated panels
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:17 +0000 (19:16 +0200)]
video: tegra20: dc: fix image shift on rotated panels

Subtracting 1 from x and y fixes image shifting on rotated
panels.

Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS Grouper E1565
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
8 months agovideo: tegra20: dc: diverge DC per-SOC
Svyatoslav Ryhel [Tue, 23 Jan 2024 17:16:16 +0000 (19:16 +0200)]
video: tegra20: dc: diverge DC per-SOC

Diverge DC driver setup to better fit each of supported generations
of Tegra SOC.

Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20
Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101
Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS Grouper E1565
Tested-by: Ion Agorria <ion@agorria.com> # HTC One X
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # Nvidia Tegratab T114
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agovideo: dw_hdmi: Fix compiler warnings with gcc-14
Khem Raj [Sat, 27 Jan 2024 22:54:59 +0000 (14:54 -0800)]
video: dw_hdmi: Fix compiler warnings with gcc-14

GCC-14 find more warnings like
"make pointer from integer without a cast"
fix them by adding a type cast.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Tom Rini <trini@konsulko.com>
8 months agoconfigs: Enable HDMI Out for ROC-RK3328-CC
Jagan Teki [Wed, 17 Jan 2024 07:51:54 +0000 (13:21 +0530)]
configs: Enable HDMI Out for ROC-RK3328-CC

U-Boot 2024.01-00901-g75d07e0e6e-dirty (Jan 17 2024 - 12:50:56 +0530)

Model: Firefly roc-rk3328-cc
DRAM:  4 GiB
PMIC:  RK8050 (on=0x40, off=0x00)
Core:  236 devices, 26 uclasses, devicetree: separate
MMC:   mmc@ff500000: 1, mmc@ff520000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Model: Firefly roc-rk3328-cc
Net:   eth0: ethernet@ff540000
Hit any key to stop autoboot:  0
=> dm tree
 Class     Index  Probed  Driver                Name
-----------------------------------------------------------
 root          0  [ + ]   root_driver           root_driver
 firmware      0  [   ]   psci                  |-- psci
 clk           0  [ + ]   fixed_clock           |-- xin24m
 syscon        0  [ + ]   rockchip_rk3328_grf   |-- syscon@ff100000
 serial        0  [ + ]   ns16550_serial        |-- serial@ff130000
 i2c           0  [ + ]   rockchip_rk3066_i2c   |-- i2c@ff160000
 pmic          0  [ + ]   rockchip_rk805        |   `-- pmic@18
 sysreset      0  [   ]   rk8xx_sysreset        |       |-- rk8xx_sysreset
 regulator     0  [ + ]   rk8xx_buck            |       |-- DCDC_REG1
 regulator     1  [ + ]   rk8xx_buck            |       |-- DCDC_REG2
 regulator     2  [ + ]   rk8xx_buck            |       |-- DCDC_REG3
 regulator     3  [ + ]   rk8xx_buck            |       |-- DCDC_REG4
 regulator     4  [ + ]   rk8xx_ldo             |       |-- LDO_REG1
 regulator     5  [ + ]   rk8xx_ldo             |       |-- LDO_REG2
 regulator     6  [ + ]   rk8xx_ldo             |       `-- LDO_REG3
 video         0  [ + ]   rk3328_vop            |-- vop@ff370000
 vidconsole    0  [ + ]   vidconsole0           |   `-- vop@ff370000.vidconsole0
 display       0  [ + ]   rk3328_hdmi_rockchip  |-- hdmi@ff3c0000
 phy           0  [ + ]   inno_hdmi_phy         |-- phy@ff430000
 clk           1  [ + ]   rockchip_rk3328_cru   |-- clock-controller@ff440000
 sysreset      1  [   ]   rockchip_sysreset     |   |-- sysreset
 reset         0  [ + ]   rockchip_reset        |   `-- reset

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 months agoconfigs: evb-rk3328: Enable vidconsole for rk3328
Jagan Teki [Wed, 17 Jan 2024 07:51:53 +0000 (13:21 +0530)]
configs: evb-rk3328: Enable vidconsole for rk3328

Enable video console for Rockchip RK3328.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 months agorockchip: Enable preconsole for rk3328
Jagan Teki [Wed, 17 Jan 2024 07:51:52 +0000 (13:21 +0530)]
rockchip: Enable preconsole for rk3328

Enable and set the start address of pre-console buffer for RK3328.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 months agoARM: dts: rk3328: Enable VOP for bootph-all
Jagan Teki [Wed, 17 Jan 2024 07:51:51 +0000 (13:21 +0530)]
ARM: dts: rk3328: Enable VOP for bootph-all

Model: Firefly roc-rk3328-cc
DRAM: 1 GiB (effective 1022 MiB)
Video device 'vop@ff370000' cannot allocate frame buffer memory -ensure the device is set up before relocation
Error binding driver 'rockchip_rk3328_vop': -28
Some drivers failed to bind
initcall sequence 000000003ffcd5e8 failed at call 000000000021a5c4 (err=-28)
 ### ERROR ### Please RESET the board ###

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
8 months agovideo: rockchip: Add rk3328 vop support
Jagan Teki [Wed, 17 Jan 2024 07:51:50 +0000 (13:21 +0530)]
video: rockchip: Add rk3328 vop support

Add support for Rockchip RK3328 VOP.

Require VOP cleanup before handoff to Linux by writing reset values to
WIN registers. Without this Linux VOP trigger page fault as below
[    0.752016] Loading compiled-in X.509 certificates
[    0.787796] inno_hdmi_phy_rk3328_clk_recalc_rate: parent 24000000
[    0.788391] inno-hdmi-phy ff430000.phy: inno_hdmi_phy_rk3328_clk_recalc_rate rate 148500000 vco 148500000
[    0.798353] rockchip-drm display-subsystem: bound ff370000.vop (ops vop_component_ops)
[    0.799403] dwhdmi-rockchip ff3c0000.hdmi: supply avdd-0v9 not found, using dummy regulator
[    0.800288] rk_iommu ff373f00.iommu: Enable stall request timed out, status: 0x00004b
[    0.801131] dwhdmi-rockchip ff3c0000.hdmi: supply avdd-1v8 not found, using dummy regulator
[    0.802056] rk_iommu ff373f00.iommu: Disable paging request timed out, status: 0x00004b
[    0.803233] dwhdmi-rockchip ff3c0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (inno_dw_hdmi_phy2)
[    0.805355] dwhdmi-rockchip ff3c0000.hdmi: registered DesignWare HDMI I2C bus driver
[    0.808769] rockchip-drm display-subsystem: bound ff3c0000.hdmi (ops dw_hdmi_rockchip_ops)
[    0.810869] [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem on minor 0

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agovideo: rockchip: Add rk3328 hdmi support
Jagan Teki [Wed, 17 Jan 2024 07:51:49 +0000 (13:21 +0530)]
video: rockchip: Add rk3328 hdmi support

Add Rockchip RK3328 HDMI Out driver.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agophy: rockchip: Add Rockchip INNO HDMI PHY driver
Jagan Teki [Wed, 17 Jan 2024 07:51:48 +0000 (13:21 +0530)]
phy: rockchip: Add Rockchip INNO HDMI PHY driver

Add Rockchip INNO HDMI PHY driver for RK3328.

Reference from linux-next phy-rockchip-inno-hdmi driver.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agoclk: rk3328: Add get hdmiphy clock
Jagan Teki [Wed, 17 Jan 2024 07:51:47 +0000 (13:21 +0530)]
clk: rk3328: Add get hdmiphy clock

Add support to get the hdmiphy clock for RK3328 PCLK_HDMIPHY.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agoclk: rockchip: rk3328: Add VOP clk support
Jagan Teki [Wed, 17 Jan 2024 07:51:46 +0000 (13:21 +0530)]
clk: rockchip: rk3328: Add VOP clk support

VOP get and set clock would needed for VOP drivers.

Add support for it.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agovideo: rockchip: vop: Add dsp offset support
Jagan Teki [Wed, 17 Jan 2024 07:51:45 +0000 (13:21 +0530)]
video: rockchip: vop: Add dsp offset support

Unlike RK3399, RK3288 the Newer Rockchip SoC's like RK3328 have
different offsets for dsp registers.

Group the dsp register set via dsp_regs pointers so that dsp_offset
would point the dsp_regs to access for any changes in the offset value.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agovideo: rockchip: vop: Add win offset support
Jagan Teki [Wed, 17 Jan 2024 07:51:44 +0000 (13:21 +0530)]
video: rockchip: vop: Add win offset support

Unlike RK3399, RK3288 the Newer Rockchip SoC's like RK3328 have
different offsets for win registers.

Group the win register set via win_regs pointers so that win_offset
would point the win_regs to access for any changes in the offset value.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agovideo: rockchip: vop: Simplify rkvop_enable
Jagan Teki [Wed, 17 Jan 2024 07:51:43 +0000 (13:21 +0530)]
video: rockchip: vop: Simplify rkvop_enable

Get the regs from priv pointer instead of passing it an argument.

This would simplify the code and better readability.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agovideo: dw_hdmi: Add setup_hpd hook
Jagan Teki [Wed, 17 Jan 2024 07:51:42 +0000 (13:21 +0530)]
video: dw_hdmi: Add setup_hpd hook

Add support for DW HDMI Setup HPD status.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
8 months agovideo: dw_hdmi: Add read_hpd hook
Jagan Teki [Wed, 17 Jan 2024 07:51:41 +0000 (13:21 +0530)]
video: dw_hdmi: Add read_hpd hook

Add support for DW HDMI Read HPD status.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
8 months agovideo: dw_hdmi: Extend the HPD detection
Jagan Teki [Wed, 17 Jan 2024 07:51:40 +0000 (13:21 +0530)]
video: dw_hdmi: Extend the HPD detection

HPD detection on some DW HDMI designed SoC's would need to read and
setup the HPD status explicitly.

So, extend the HPD detection code by adding the dw_hdmi_detect_hpd
function and move the default detection code caller there.

The new read and setup hdp will integrate the same function in
later patches.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
8 months agovideo: dw_hdmi: Add Vendor PHY handling
Jagan Teki [Wed, 17 Jan 2024 07:51:39 +0000 (13:21 +0530)]
video: dw_hdmi: Add Vendor PHY handling

DW HDMI support Vendor PHY like Rockchip RK3328 Inno HDMI PHY.

Extend the vendor phy handling by adding platform phy hooks.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
8 months agovideo: rockchip: hdmi: Detect hpd after controller init
Jagan Teki [Wed, 17 Jan 2024 07:51:38 +0000 (13:21 +0530)]
video: rockchip: hdmi: Detect hpd after controller init

HDP is a hardware connector event, so detect the same once the
controller and attached PHY initialization are done.

Signed-off-by: Jagan Teki <jagan@edgeble.ai>
8 months agovideo: simple_panel: add EDID support
Svyatoslav Ryhel [Mon, 8 Jan 2024 16:45:01 +0000 (18:45 +0200)]
video: simple_panel: add EDID support

Support timing parsing from EDID if panel device tree node
provides DDC i2c bus instead of timings node.

Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF201
Tested-by: Agneli <poczt@protonmail.ch> # Toshiba AC100 T20
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
[agust: reworked to fix dm_i2c_* build errors and to big img size]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
8 months agoMerge tag 'u-boot-imx-master-20240420' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sat, 20 Apr 2024 21:16:17 +0000 (15:16 -0600)]
Merge tag 'u-boot-imx-master-20240420' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

CI:
https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/20444

- Make i.MX93 boot less verbose.
- Remove unneedd environment variables from Toradex i.MX boards.
- Use gpio-hog on verdin-imx8mm/imx8mp.
- Add PCIe support for i.MX8MM.
- Add TPM support for imx8m*-venice.

8 months agoMerge tag 'efi-2024-07-rc1-3' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 20 Apr 2024 14:19:20 +0000 (08:19 -0600)]
Merge tag 'efi-2024-07-rc1-3' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2024-07-rc1-3

Documentation:

* sort env sub-commands alphabetically
* update list of aliases for the env command

UEFI:

* allow enabling SetVariable at runtime
  for future OS supported writing to ubootefi.var
* use event callback for initrd deregistration

Others:

* correct alignment of x86 firmware tables

8 months agovideo: simple_panel: simplify platform data pass
Svyatoslav Ryhel [Mon, 8 Jan 2024 16:45:00 +0000 (18:45 +0200)]
video: simple_panel: simplify platform data pass

Pass MIPI DSI platform data to simple DSI panel directly
from driver data on panel probe.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
8 months agox86: all firmware tables must be paragraph aligned
Heinrich Schuchardt [Mon, 1 Jan 2024 23:11:44 +0000 (00:11 +0100)]
x86: all firmware tables must be paragraph aligned

On qemu-x86_64_defconfig the following was observed:

    => efidebug tables
    00000000000f0074  eb9d2d31-2d88-11d3-9a16-0090273fc14d  SMBIOS table

The SMBIOS configuration table does not point to a paragraph-aligned
(16 byte aligned) address. The reason is that in write_tables() rom_addr is
not aligned and copied to gd->arch.smbios_start.

The Simple Firmware Interface requires that the SFI table is paragraph-
aligned but our code does not guarantee this.

As all tables written in write_tables() must be paragraph-aligned, we
should implement the address rounding in write_tables() and not in table
specific routines like copy_pirq_routing_table().

Add paragraph-alignment in write_tables().

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 months agoefi_selftest: add tests for setvariableRT
Ilias Apalodimas [Thu, 18 Apr 2024 12:54:53 +0000 (15:54 +0300)]
efi_selftest: add tests for setvariableRT

Since we support SetVariableRT now add the relevant tests

- Search for the RTStorageVolatile and VarToFile variables after EBS
- Try to update with invalid variales (BS, RT only)
- Try to write a variable bigger than our backend storage
- Write a variable that fits and check VarToFile has been updated
  correclty
- Append to the variable and check VarToFile changes
- Try to delete VarToFile which is write protected
- Try to add/delete runtime variables
- Verify VarToFile contains a valid file format

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 months agoefi_loader: add an EFI variable with the file contents
Ilias Apalodimas [Thu, 18 Apr 2024 12:54:52 +0000 (15:54 +0300)]
efi_loader: add an EFI variable with the file contents

Previous patches enabled SetVariableRT using a RAM backend.
Although EBBR [0] defines a variable format we can teach userspace tools
and write the altered variables, it's better if we skip the ABI
requirements completely.

So let's add a new variable, in its own namespace called "VarToFile"
which contains a binary dump of the updated RT, BS and, NV variables
and will be updated when GetVariable is called.

Some adjustments are needed to do that.
Currently we discard BS-only variables in EBS(). We need to preserve
those on the RAM backend that exposes the variables. Since BS-only
variables can't appear at runtime we need to move the memory masking
checks from efi_var_collect() to efi_get_next_variable_name_mem()/
efi_get_variable_mem() and do the filtering at runtime.

We also need an efi_var_collect() variant available at runtime, in order
to construct the "VarToFile" buffer on the fly.

All users and applications (for linux) have to do when updating a variable
is dd that variable in the file described by "RTStorageVolatile".

Linux efivarfs uses a first 4 bytes of the output to represent attributes
in little-endian format. So, storing variables works like this:

$~ efibootmgr -n 0001
$~ dd if=/sys/firmware/efi/efivars/VarToFile-b2ac5fc9-92b7-4acd-aeac-11e818c3130c of=/boot/efi/ubootefi.var skip=4 bs=1

[0] https://arm-software.github.io/ebbr/index.html#document-chapter5-variable-storage

Suggested-by: Ard Biesheuvel <ardb@kernel.org> # dumping all variables to a variable
Co-developed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> # contributed on efi_var_collect_mem()
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 months agoefi_loader: Add OS notifications for SetVariable at runtime
Ilias Apalodimas [Thu, 18 Apr 2024 12:54:51 +0000 (15:54 +0300)]
efi_loader: Add OS notifications for SetVariable at runtime

Previous patches enable SetVariable at runtime using a volatile storage
backend using EFI_RUNTIME_SERVICES_DATA allocared memory. Since there's
no recommendation from the spec on how to notify the OS, add a volatile
EFI variable that contains the filename relative to the ESP. OS'es
can use that file and update it at runtime

$~ efivar -p -n b2ac5fc9-92b7-4acd-aeac-11e818c3130c-RTStorageVolatile
GUID: b2ac5fc9-92b7-4acd-aeac-11e818c3130c
Name: "RTStorageVolatile"
Attributes:
Boot Service Access
Runtime Service Access
Value:
00000000  75 62 6f 6f 74 65 66 69  2e 76 61 72 00           |ubootefi.var.   |

Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 months agoefi_loader: conditionally enable SetvariableRT
Ilias Apalodimas [Thu, 18 Apr 2024 12:54:50 +0000 (15:54 +0300)]
efi_loader: conditionally enable SetvariableRT

When we store EFI variables on file we don't allow SetVariable at runtime,
since the OS doesn't know how to access or write that file.  At the same
time keeping the U-Boot drivers alive in runtime sections and performing
writes from the firmware is dangerous -- if at all possible.

For GetVariable at runtime we copy runtime variables in RAM and expose them
to the OS. Add a Kconfig option and provide SetVariable at runtime using
the same memory backend. The OS will be responsible for syncing the RAM
contents to the file, otherwise any changes made during runtime won't
persist reboots.

It's worth noting that the variable store format is defined in EBBR [0]
and authenticated variables are explicitly prohibited, since they have
to be stored on a medium that's tamper and rollback protected.

- pre-patch
$~ mount | grep efiva
efivarfs on /sys/firmware/efi/efivars type efivarfs (ro,nosuid,nodev,noexec,relatime)

$~ efibootmgr -n 0001
Could not set BootNext: Read-only file system

- post-patch
$~ mount | grep efiva
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)

$~ efibootmgr -n 0001
BootNext: 0001
BootCurrent: 0000
BootOrder: 0000,0001
Boot0000* debian        HD(1,GPT,bdae5610-3331-4e4d-9466-acb5caf0b4a6,0x800,0x100000)/File(EFI\debian\grubaa64.efi)
Boot0001* virtio 0      VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,0000000000000000)/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,850000001f000000)/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b,1600850000000000){auto_created_boot_option}

$~ efivar -p -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-BootNext
GUID: 8be4df61-93ca-11d2-aa0d-00e098032b8c
Name: "BootNext"
Attributes:
        Non-Volatile
        Boot Service Access
        Runtime Service Access
Value:
00000000  01 00

FWTS runtime results
Skipped tests are for SetVariable which is now supported
'Passed' test is for QueryVariableInfo which is not yet supported

Test: UEFI miscellaneous runtime service interface tests.
  Test for UEFI miscellaneous runtime service interfaces  6 skipped
  Stress test for UEFI miscellaneous runtime service i..  1 skipped
  Test GetNextHighMonotonicCount with invalid NULL par..  1 skipped
  Test UEFI miscellaneous runtime services unsupported..  1 passed
Test: UEFI Runtime service variable interface tests.
  Test UEFI RT service get variable interface.            1 passed
  Test UEFI RT service get next variable name interface.  4 passed
  Test UEFI RT service set variable interface.            8 passed
  Test UEFI RT service query variable info interface.     1 skipped
  Test UEFI RT service variable interface stress test.    2 passed
  Test UEFI RT service set variable interface stress t..  4 passed
  Test UEFI RT service query variable info interface s..  1 skipped
  Test UEFI RT service get variable interface, invalid..  5 passed
  Test UEFI RT variable services unsupported status.      1 passed, 3 skipped

[0] https://arm-software.github.io/ebbr/index.html#document-chapter5-variable-storage

Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 months agoefi_loader: use event callback for initrd deregistration
Masahisa Kojima [Mon, 4 Dec 2023 04:30:14 +0000 (13:30 +0900)]
efi_loader: use event callback for initrd deregistration

Currently efi_initrd_deregister() is called in bootefi.c
when the image started from bootefi command returns.
Since efi_guid_event_group_return_to_efibootmgr event is
implemented, so let's use this event for invoking
initrd deregistration.

Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 months agoefi_loader: typo mstching
Heinrich Schuchardt [Thu, 18 Apr 2024 02:32:02 +0000 (04:32 +0200)]
efi_loader: typo mstching

%s/mstching/matching/

Reported-by: E Shattow <lucent@gmail.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 months agocmd: eficonfig: check initrd path allocation
Heinrich Schuchardt [Wed, 17 Apr 2024 16:01:25 +0000 (18:01 +0200)]
cmd: eficonfig: check initrd path allocation

After allocating memory for the initrd file path we need to check the
initrd buffer pointer is not NULL.

Fixes: 87d791423ac6 ("eficonfig: menu-driven addition of UEFI boot option")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 months agodoc: update list of aliases for the env command
Heinrich Schuchardt [Wed, 17 Apr 2024 08:06:13 +0000 (10:06 +0200)]
doc: update list of aliases for the env command

* add link to askenv man-page
* add printenv

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 months agodoc: sort env sub-commands alphabetically
Heinrich Schuchardt [Wed, 17 Apr 2024 08:06:12 +0000 (10:06 +0200)]
doc: sort env sub-commands alphabetically

The 'env' man-page is currently only partially sorted.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 months agoimx8mm_venice_defconfig: Enable PCIe/NVMe support
Tim Harvey [Fri, 19 Apr 2024 15:29:02 +0000 (08:29 -0700)]
imx8mm_venice_defconfig: Enable PCIe/NVMe support

Enable PCIe/NVMe support. Also, enable the reset
driver which is a prerequisite for PCIe support.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 months agopci: dw_imx: add support for IMX8MM
Tim Harvey [Fri, 19 Apr 2024 15:29:01 +0000 (08:29 -0700)]
pci: dw_imx: add support for IMX8MM

Add support for the IMX8MM SoC by adding driver data with the compatible
string of the GPR controller.

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 months agoclk: imx8mm: Add support for PCIe clocks
Tim Harvey [Fri, 19 Apr 2024 15:29:00 +0000 (08:29 -0700)]
clk: imx8mm: Add support for PCIe clocks

Add support for PCIe clocks required to enable PCIe support on
iMX8MM SoC.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Marek Vasut <marex@denx.de>
8 months agoboard: toradex: imx: Remove not needed env variables
Francesco Dolcini [Thu, 18 Apr 2024 13:12:47 +0000 (15:12 +0200)]
board: toradex: imx: Remove not needed env variables

Remove not needed variables from environment and include config files.

 - setup variable used to be executed from some bootscript, however
   it's not required and there is no point on having this small helper
   here
 - boot_file, kernel_file, ip_dyn variables are not used anywhere
 - fdt_fixup variable is just set empty
 - defargs, vidargs variables used to be used from some bootscript,
   however there is no point on having it here and even old legacy
   bootscript can work without them
 - removed CONFIG_ENABLE_DDR_TRAINING_DEBUG, this is a leftover from
   some copy/paste

On colibri imx6ull/imx7 NAND module, remove consoleblank=0, this is
already the Linux kernel default therefore useless.

Various Linux Kernel command line options removed are not-existing
left-over that applied to some old NXP i.MX downstream branch

Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
8 months agoimx8m*_venice_defconfig: enable ipv6, wget and tftpput
Tim Harvey [Wed, 17 Apr 2024 20:03:25 +0000 (13:03 -0700)]
imx8m*_venice_defconfig: enable ipv6, wget and tftpput

Enable ipv6, wget, and tftpput support

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 months agoboard: gateworks: venice: fix dt adjustment for gw73xx baseboard for imx8mp
Tim Harvey [Wed, 17 Apr 2024 20:01:53 +0000 (13:01 -0700)]
board: gateworks: venice: fix dt adjustment for gw73xx baseboard for imx8mp

The GW73xx baseboard needs a PCI dt adjustment for revC/D based on a
change of the PCIe switch. Make sure we are only doing this for a pci
based ethernet to avoid causing a boot hang when the ethernet1 alias
points to eqos or fec. To know this is a pcie device ensure the alias
begins with the pcie controller.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 months agoarm: dts: verdin-imx8mm/imx8mp: use gpio-hog for sleep moci
Stefan Eichenberger [Wed, 17 Apr 2024 08:49:02 +0000 (10:49 +0200)]
arm: dts: verdin-imx8mm/imx8mp: use gpio-hog for sleep moci

In Linux, we allow sleep moci to be turned off when the carrier board
supports it and the system is in suspend. In U-Boot, however, we want
the sleep moci to be always on. So we use a gpio hog and disable the
regulator. This change is necessary because we switched to upstream
device tree files with commit 23fe2def1edf
("verdin-imx8mm/verdin-imx8mp: move imx verdins to OF_UPSTREAM"). A
recent upstream patch removes the gpio hog from the Linux device tree,
so we need to add it to the u-boot dtsi. The following patch will remove
the gpio hog from the Linux device tree:
https://lore.kernel.org/linux-devicetree/20240405160720.5977-1-eichest@gmail.com/
The U-Boot patch can be applied without it and will not break the build.

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
8 months agoimx93: Move SoC and lifeclycle information to debug level
Fabio Estevam [Mon, 15 Apr 2024 21:57:17 +0000 (18:57 -0300)]
imx93: Move SoC and lifeclycle information to debug level

The following information printed on every boot is not very
helpful for the users:

SOC: 0xa0009300
LC: 0x40040

Move them to debug() level.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Mathieu Othacehe <othacehe@gnu.org>
8 months agoimx8m*-venice: enable TPM support
Tim Harvey [Mon, 25 Mar 2024 16:27:39 +0000 (09:27 -0700)]
imx8m*-venice: enable TPM support

Enable support for TPM2 devices. As the ATTPM20P TPM2 used on the
Gateworks Venice boards hangs off the SPI bus we enable SPI support
as well.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 months agoMerge tag 'u-boot-stm32-20240419' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Fri, 19 Apr 2024 13:28:43 +0000 (07:28 -0600)]
Merge tag 'u-boot-stm32-20240419' of https://source.denx.de/u-boot/custodians/u-boot-stm

MP1:
 _ Add OHCI HCD support for STM32MP15xx DHSOM
 _ Report OTP-CLOSED instead of rev.? on closed STM32MP15xx
 _ Initialize TAMP_SMCR BKP..PROT fields on STM32MP15xx
 _ Jump to ep on successful resume in PSCI suspend code
 _ Add FASTBOOT support for STM32MP13
 _ Fix/Rework key and leds management for STM32MP13/15
 _ net: dwc_eth_qos: Clean up STM32 glue code and add STM32MP13xx support

MP2:
 _ Add stm32-fmc-ebi support
 _ Add: sdmmc2 support and fix AARCH64 compilation

8 months agoMerge tag 'u-boot-dfu-20240419' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Fri, 19 Apr 2024 13:28:24 +0000 (07:28 -0600)]
Merge tag 'u-boot-dfu-20240419' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20240419

- new "fastboot oem board" command

8 months agoARM: dts: stm32: Add led-blue for stm32mp157c-ed1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:15 +0000 (17:02 +0200)]
ARM: dts: stm32: Add led-blue for stm32mp157c-ed1-scmi-u-boot

The blue led is used to indicate U-Boot entering / exit indication
then Linux heartbeat.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Update red led node for stm32mp157c-ed1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:14 +0000 (17:02 +0200)]
ARM: dts: stm32: Update red led node for stm32mp157c-ed1-scmi-u-boot

As indicated in kernel led dt-bindings, label is a deprecated
property, so remove it and use led node's name instead for
u-boot,error-led property.
Rename red led node's name to led-red.
Remove status property which is useless.
Add compatible = "gpio-leds"; which is not present in kernel DT.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Don't probe red led at boot for stm32mp157c-ed1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:13 +0000 (17:02 +0200)]
ARM: dts: stm32: Don't probe red led at boot for stm32mp157c-ed1-scmi-u-boot

red led and button dedicated to fastboot share the same gpio GPIOA13.
Led driver is probed early so the corresponding gpio is taken and
configured in output which forbid fastboot and stm32prog button usage.

To avoid this, remove the "default-state" property from red led node.

This will avoid to trigger the led driver probe() to configure the led
default state during startup.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add gpio-keys for stm32mp157c-ed1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:12 +0000 (17:02 +0200)]
ARM: dts: stm32: Add gpio-keys for stm32mp157c-ed1-scmi-u-boot

Add 2 gpio-keys :
  _ button-user-1 for stm32prog mode activation.
  _ button-user-2 for fastboot mode activation.

Remove proprietary st,fastboot-gpios and st,stm32prog-gpios.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add led-blue for stm32mp157c-ed1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:11 +0000 (17:02 +0200)]
ARM: dts: stm32: Add led-blue for stm32mp157c-ed1-u-boot

The blue led is used to indicate U-Boot entering / exit indication
then Linux heartbeat.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Update red led node for stm32mp157c-ed1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:10 +0000 (17:02 +0200)]
ARM: dts: stm32: Update red led node for stm32mp157c-ed1-u-boot

As indicated in kernel led dt-bindings, label is a deprecated
property, so remove it and use led node's name instead for
u-boot,error-led property.
Rename red led node's name to led-red.
Remove status property which is useless.
Add compatible = "gpio-leds" which is not present in kernel DT.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Don't probe red led at boot for stm32mp157c-ed1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:09 +0000 (17:02 +0200)]
ARM: dts: stm32: Don't probe red led at boot for stm32mp157c-ed1-u-boot

red led and button dedicated to fastboot share the same gpio GPIOA13.
Led driver is probed early so the corresponding gpio is taken and
configured in output which forbid fastboot and stm32prog button usage.

To avoid this, remove the "default-state" property from red led node.

This will avoid to trigger the led driver probe() to configure the led
default state during startup.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add gpio-keys for stm32mp157c-ed1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:08 +0000 (17:02 +0200)]
ARM: dts: stm32: Add gpio-keys for stm32mp157c-ed1-u-boot

Add 2 gpio-keys :
  _ button-user-1 for stm32prog mode activation.
  _ button-user-2 for fastboot mode activation.

Remove proprietary st,fastboot-gpios and st,stm32prog-gpios.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Update u-boot, boot-led for stm32mp157a-dk1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:07 +0000 (17:02 +0200)]
ARM: dts: stm32: Update u-boot, boot-led for stm32mp157a-dk1-u-boot

As indicated in kernel led dt-bindings, label is a deprecated
property, so remove it and use blue led node's name instead
for u-boot,boot-led property.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Update red led node for stm32mp157a-dk1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:06 +0000 (17:02 +0200)]
ARM: dts: stm32: Update red led node for stm32mp157a-dk1-u-boot

As indicated in kernel led dt-bindings, label is a deprecated
property, so remove it and use red led node's name instead
for u-boot,error-led property.
Rename red led node's name to led-red.
Remove status property which is useless.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Don't probe red led at boot for stm32mp157a-dk1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:05 +0000 (17:02 +0200)]
ARM: dts: stm32: Don't probe red led at boot for stm32mp157a-dk1-u-boot

red led and button dedicated to fastboot share the same gpio GPIOA13.
Led driver is probed early so the corresponding gpio is taken and
configured in output which forbid fastboot and stm32prog button usage.

To avoid this, remove the "default-state" property from red led node.

This will avoid to trigger the led driver probe() to configure the led
default state during startup.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add gpio-keys for stm32mp157a-dk1-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:04 +0000 (17:02 +0200)]
ARM: dts: stm32: Add gpio-keys for stm32mp157a-dk1-u-boot

Instead of using "st,fastboot-gpios" and "st,stm32prog-gpios", declare
2 gpio-keys.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add led-blue for stm32mp157a-dk1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:03 +0000 (17:02 +0200)]
ARM: dts: stm32: Add led-blue for stm32mp157a-dk1-scmi-u-boot

As indicated in kernel led dt-bindings, label is a deprecated
property, so remove it and use blue led node's name instead
for u-boot,boot-led property.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Update red led node for stm32mp157a-dk1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:02 +0000 (17:02 +0200)]
ARM: dts: stm32: Update red led node for stm32mp157a-dk1-scmi-u-boot

As indicated in kernel led dt-bindings, label is a deprecated
property, so remove it and use red led node's name instead
for u-boot,error-led property.
Rename "red" led node's name to "led-red".
Remove status property which is useless.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Don't probe red led at boot for stm32mp157a-dk1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:01 +0000 (17:02 +0200)]
ARM: dts: stm32: Don't probe red led at boot for stm32mp157a-dk1-scmi-u-boot

red led and button dedicated to fastboot share the same gpio GPIOA13.
Led driver is probed early so the corresponding gpio is taken and
configured in output which forbid fastboot and stm32prog button usage.

To avoid this, remove the "default-state" property from red led node.

This will avoid to trigger the led driver probe() to configure the led
default state during startup.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add gpio-keys for stm32mp157a-dk1-scmi-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:02:00 +0000 (17:02 +0200)]
ARM: dts: stm32: Add gpio-keys for stm32mp157a-dk1-scmi-u-boot

Instead of using "st,fastboot-gpios" and "st,stm32prog-gpios", declare
2 gpio-keys.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Clean led-red node for stm32mp135f-dk-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:01:59 +0000 (17:01 +0200)]
ARM: dts: stm32: Clean led-red node for stm32mp135f-dk-u-boot

Remove "color" property from led-red node which is not supported
by U-Boot.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Don't probe led-red/led-blue at boot for stm32mp135f-dk-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:01:58 +0000 (17:01 +0200)]
ARM: dts: stm32: Don't probe led-red/led-blue at boot for stm32mp135f-dk-u-boot

led-red and button dedicated to fastboot share the same gpio GPIOA13.
led-blue and button dedicated to stm32prog share the same gpio GPIOA14.
Led driver is probed early so the corresponding gpio is taken and
configured in output which forbid fastboot and stm32prog button usage.

To avoid this, remove the "default-state" property from led-red and
led-blue led's node.

This will avoid to trigger the led driver probe() to configure the led
default state during startup.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoARM: dts: stm32: Add gpio-keys for stm32mp135f-dk-u-boot
Patrice Chotard [Tue, 9 Apr 2024 15:01:57 +0000 (17:01 +0200)]
ARM: dts: stm32: Add gpio-keys for stm32mp135f-dk-u-boot

Add 2 gpio-keys :
  _ button-user-1 for stm32prog mode activation.
  _ update button-user's label (defined in kernel DT) to match label
    requested in board_key_check() for fastboot mode activation.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoboard: st: stmp32mp1: Use BUTTON UCLASS in board_key_check()
Patrice Chotard [Tue, 9 Apr 2024 15:01:56 +0000 (17:01 +0200)]
board: st: stmp32mp1: Use BUTTON UCLASS in board_key_check()

Instead of using gpio directly to detect key pressed on button
dedicated for fastboot and stm32mprog, make usage of BUTTON UCLASS.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
8 months agoconfigs: stm32mp1: Enable BUTTON_GPIO flag for stm32mp13_defconfig
Patrice Chotard [Tue, 9 Apr 2024 15:01:55 +0000 (17:01 +0200)]
configs: stm32mp1: Enable BUTTON_GPIO flag for stm32mp13_defconfig

Enable BUTTON_GPIO flag for STM32MP15.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
8 months agoconfigs: stm32mp1: Enable BUTTON_GPIO flag for stm32mp15_trusted_defconfig
Patrice Chotard [Tue, 9 Apr 2024 15:01:54 +0000 (17:01 +0200)]
configs: stm32mp1: Enable BUTTON_GPIO flag for stm32mp15_trusted_defconfig

Enable BUTTON_GPIO flag for STM32MP15.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>