Re: [PATCH] board: beagleplay: Fix the bootpart to pick from root partition

2024-06-15 Thread Robert Nelson
On Fri, Jun 14, 2024 at 1:04 AM Dhruva Gole  wrote:
>
> Robert,
>
> On Jun 13, 2024 at 16:51:24 -0500, Robert Nelson wrote:
> > On Thu, Jun 13, 2024 at 4:47 PM Robert Nelson  
> > wrote:
> > >
> > > On Thu, Jun 13, 2024 at 3:06 AM Dhruva Gole  wrote:
> > > >
> > > > The Kernel Image and DTB files are supposed to be picked from the rootfs
> > > > of the SD Card, this fails in legacy boot flow because bootpart is set
> > > > to 1:1. Fix it.
> > >
> > > and where is that rule defined?
> > >
> > > Production boards ship with Kernel Image and DTB's in the 1st fat 
> > > partition..
> >
> > Besides, u-boot should scan for extlinux.conf on "any" partition.
>
> I can see where you come from, and I agree on the above points when it
> comes to stdboot.
> However when a user wishes to use legacy boot, and in the case there
> isn't extlinux.conf in such a case u-boot will rely on information in
> the env file (please correct me if my understanding is wrong).
>
> The env file says:
> bootdir=/boot
>
> Thus u-boot ends up looking for Image and dtb in /boot/Image under BOOT
> partition, and ultimately fails, because the /boot/Image path is
> generally found inside the root partition ie. 1:2
>
> The idea of this patch is to keep support for such legacy boot alive, if
> you feel there's another way to do this feel free to suggest.

For BeagleBoard.org we never used the legacy boot path on this target
(or BeagleBone-AI64), this was put in place mostly for TI's u-boot
scripts. ;)

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH] board: beagleplay: Fix the bootpart to pick from root partition

2024-06-15 Thread Robert Nelson
On Sat, Jun 15, 2024 at 8:55 PM Bryan Brattlof  wrote:
>
> On June 13, 2024 thus sayeth Dhruva Gole:
> > The Kernel Image and DTB files are supposed to be picked from the rootfs
> > of the SD Card, this fails in legacy boot flow because bootpart is set
> > to 1:1. Fix it.
> >
> > Fixes: a200f428b5b21 ("board: ti: am62x: Add am62x_beagleplay_*
> > defconfigs and env file")
> > Signed-off-by: Dhruva Gole 
> > ---
> >  board/beagle/beagleplay/beagleplay.env | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/board/beagle/beagleplay/beagleplay.env 
> > b/board/beagle/beagleplay/beagleplay.env
> > index bbf6b925d02c..190181c8ad0c 100644
> > --- a/board/beagle/beagleplay/beagleplay.env
> > +++ b/board/beagle/beagleplay/beagleplay.env
> > @@ -11,7 +11,7 @@ set_led_state_start_load=led led-0 on; led led-1 off;
> >   led led-2 on; led led-3 off; led led-4 on
> >  boot=mmc
> >  mmcdev=1
> > -bootpart=1:1
> > +bootpart=1:2
> >  bootdir=/boot
> >  boot_targets=mmc1 mmc0
> >  bootmeths=script extlinux efi pxe
>
> Shouldn't the fix be to just drop 'script' from bootmeths. These TI
> scripts needed to go away years ago.

I agree! nuke the non bootmeth's. ;)

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH] board: beagleplay: Fix the bootpart to pick from root partition

2024-06-15 Thread Bryan Brattlof
On June 13, 2024 thus sayeth Dhruva Gole:
> The Kernel Image and DTB files are supposed to be picked from the rootfs
> of the SD Card, this fails in legacy boot flow because bootpart is set
> to 1:1. Fix it.
> 
> Fixes: a200f428b5b21 ("board: ti: am62x: Add am62x_beagleplay_* 
> defconfigs and env file")
> Signed-off-by: Dhruva Gole 
> ---
>  board/beagle/beagleplay/beagleplay.env | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/board/beagle/beagleplay/beagleplay.env 
> b/board/beagle/beagleplay/beagleplay.env
> index bbf6b925d02c..190181c8ad0c 100644
> --- a/board/beagle/beagleplay/beagleplay.env
> +++ b/board/beagle/beagleplay/beagleplay.env
> @@ -11,7 +11,7 @@ set_led_state_start_load=led led-0 on; led led-1 off;
>   led led-2 on; led led-3 off; led led-4 on
>  boot=mmc
>  mmcdev=1
> -bootpart=1:1
> +bootpart=1:2
>  bootdir=/boot
>  boot_targets=mmc1 mmc0
>  bootmeths=script extlinux efi pxe

Shouldn't the fix be to just drop 'script' from bootmeths. These TI 
scripts needed to go away years ago.

~Bryan


[PATCH v2] arm: mvebu: Enable bootstd and other modernization for Synology DS414 (Armada XP) board

2024-06-15 Thread Tony Dinh
- Switch to standard boot (in include/configs/ds414.h and
configs/ds414_defconfig)
- Implement board_late_init() to ensure successful enumeration
of USB3 devices
- Remove unnecessary misc_init_r(), since NET_RANDOM_ETHADDR is now
configured in
- Remove unnecessary checkboard()
- Updated IDENT_STRING to indicate this u-boot supports both Synology
DS414 and DS214+ boards
- Add SYS_THUMB_BUILD to reduce binary size
- Add NET_RANDOM_ETHADDR
- Add CONFIG_LBA48 and CONFIG_SYS_64BIT_LBA to support >2TB HDD/SDD

Signed-off-by: Tony Dinh 
---

Changes in v2:
- Define EXTRA_ENV_SETTINGS_LEGACY to restore default envs support for
booting legacy FW.

 board/Synology/ds414/ds414.c | 15 ++---
 configs/ds414_defconfig  | 20 +--
 include/configs/ds414.h  | 65 +---
 3 files changed, 57 insertions(+), 43 deletions(-)

diff --git a/board/Synology/ds414/ds414.c b/board/Synology/ds414/ds414.c
index abe6f9eb5e..f0b55fa095 100644
--- a/board/Synology/ds414/ds414.c
+++ b/board/Synology/ds414/ds414.c
@@ -181,18 +181,9 @@ int board_init(void)
return 0;
 }
 
-int misc_init_r(void)
+int board_late_init(void)
 {
-   if (!env_get("ethaddr")) {
-   puts("Incomplete environment, populating from SPI flash\n");
-   do_syno_populate(0, NULL);
-   }
-   return 0;
-}
-
-int checkboard(void)
-{
-   puts("Board: DS414\n");
-
+   /* Do late init to ensure successful enumeration of XHCI devices */
+   pci_init();
return 0;
 }
diff --git a/configs/ds414_defconfig b/configs/ds414_defconfig
index ecf9501ba5..501ed51129 100644
--- a/configs/ds414_defconfig
+++ b/configs/ds414_defconfig
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_ARCH_CPU_INIT=y
+CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_MVEBU=y
 CONFIG_SUPPORT_PASSING_ATAGS=y
 CONFIG_CMDLINE_TAG=y
@@ -25,44 +26,40 @@ CONFIG_SPL_BSS_MAX_SIZE=0x4000
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0xf1012000
 CONFIG_DEBUG_UART_CLOCK=25000
+CONFIG_IDENT_STRING="\nSynology DS214+/DS414 2/4-Bay Diskstation"
 CONFIG_SYS_LOAD_ADDR=0x80
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y
+CONFIG_BOOTSTD_FULL=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
-CONFIG_BOOTARGS="console=ttyS0,115200 ip=off initrd=0x840,8M root=/dev/md0 
rw syno_hw_version=DS414r1 ihd_num=4 netif_num=2 flash_size=8 SataLedSpecial=1 
HddHotplug=1"
-CONFIG_USE_BOOTCOMMAND=y
-CONFIG_BOOTCOMMAND="sf probe; sf read ${loadaddr} 0xd 0x2d; sf read 
${ramdisk_addr_r} 0x3a 0x43; bootm ${loadaddr} ${ramdisk_addr_r}"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
-CONFIG_MISC_INIT_R=y
+CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_MAX_SIZE=0x1bfd0
 CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
 CONFIG_SPL_I2C=y
+CONFIG_SYS_PROMPT="DS414> "
 CONFIG_SYS_MAXARGS=32
 CONFIG_CMD_I2C=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
-# CONFIG_CMD_SETEXPR is not set
-CONFIG_CMD_DHCP=y
 CONFIG_CMD_TFTPPUT=y
-CONFIG_CMD_MII=y
-CONFIG_CMD_PING=y
 CONFIG_CMD_TIME=y
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_FAT=y
 CONFIG_CMD_JFFS2=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_CMD_UBI=y
-CONFIG_ISO_PARTITION=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_ENV_SPI_MAX_HZ=5000
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ARP_TIMEOUT=200
 CONFIG_NET_RETRY_COUNT=50
+CONFIG_NET_RANDOM_ETHADDR=y
 CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_LBA48=y
+CONFIG_SYS_64BIT_LBA=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MVTWSI=y
 # CONFIG_MMC is not set
@@ -83,4 +80,3 @@ CONFIG_USB_XHCI_HCD=y
 # CONFIG_USB_XHCI_MVEBU is not set
 CONFIG_USB_XHCI_PCI=y
 CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_STORAGE=y
diff --git a/include/configs/ds414.h b/include/configs/ds414.h
index 9446acba79..89e55bf0d4 100644
--- a/include/configs/ds414.h
+++ b/include/configs/ds414.h
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
+ * Copyright (C) 2024 Tony Dinh 
  * Copyright (C) 2014 Stefan Roese 
  */
 
@@ -16,14 +17,9 @@
  * U-Boot into it.
  */
 
-/* I2C */
 #define CFG_I2C_MVTWSI_BASE0   MVEBU_TWSI_BASE
 
-/*
- * mv-common.h should be defined after CMD configs since it used them
- * to enable certain macros
- */
-#include "mv-common.h"
+#define PHY_ANEG_TIMEOUT   16000   /* PHY needs a longer aneg time */
 
 /*
  * Memory layout while starting into the bin_hdr via the
@@ -38,23 +34,54 @@
  * L2 cache thus cannot be used.
  */
 
-/* SPL */
-/* Defines for SPL */
+/* Keep device tree and initrd in lower memory so the kernel can access them */
+#define RELOCATION_LIMITS_ENV_SETTINGS  \
+   "fdt_high=0x1000\0" \
+   "initrd_high=0x1000\0"
 
-/* Default Environment */
+/*
+ * mv-common.h should be defined after CMD configs since it used them
+ * to enable certain macros
+ */
+#include "mv-common.h"
 
-#define CFG_EXTRA_ENV_SETTINGS \
-   "initrd_high=0x\0"  \
-   "ramdisk_addr_r=0x800\0"\
-   "usb0Mode=host\0usb1Mode=host\0usb2Mode=device\0"   \
- 

Pull request: u-boot-rockchip-next-20240615

2024-06-15 Thread Kever Yang
Hi Tom,

Please pull the updates for next on rockchip platform:
- New board: Theobroma Systems SOM-RK3588-Q7 Tiger, ArmSoM Sige7 Rk3588;
- PX30 dts migrate to OF_UPSTREAM;
- Some other update on board or config;

CI:
https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/21113

Thanks,
- Kever

The following changes since commit 3db3a6ba7b0cb09757fc631ccc9d4445eb101dc7:

  Merge patch series "Enable OSPI boot for j721s2" (2024-06-13 08:20:30 -0600)

are available in the Git repository at:

  https://source.denx.de/u-boot/custodians/u-boot-rockchip.git 
tags/u-boot-rockchip-next-20240615

for you to fetch changes up to ae4aaa44977cbe522e9f38f2ac2ac07a784bf867:

  rockchip: puma-rk3399: get closer to other Theobroma defconfigs (2024-06-14 
17:35:45 +0800)


Boris Brezillon (1):
  arm64: dts: rockchip: Add rk3588 GPU node

Diederik de Haas (1):
  arm64: dts: rockchip: Fix ordering of nodes on rk3588s

Heiko Stuebner (6):
  arm64: dts: rockchip: enable gpu on rk3588-tiger
  arm64: dts: rockchip: move uart2 pinmux to dtsi on rk3588-tiger
  arm64: dts: rockchip: fix pcie-refclk frequency on rk3588 tiger
  arm64: dts: rockchip: fix comment for upper usb3 port
  arm64: dts: rockchip: add usb-id extcon on rk3588 tiger
  arm64: dts: rockchip: add dual-role usb3 hosts to rk3588 Tiger-Haikou

Jianfeng Liu (3):
  arm64: dts: rockchip: Add ArmSom Sige7 board
  rockchip: rk3588: Remove USB3 DRD nodes in u-boot.dtsi
  board: rockchip: add ArmSoM Sige7 Rk3588 board

Jing Luo (1):
  arm64: dts: rockchip: correct gpio_pwrctrl1 typos on rk3588(s) boards

Niklas Cassel (1):
  arm64: dts: rockchip: add rk3588 pcie and php IOMMUs

Quentin Schulz (17):
  rockchip: evb-px30: Use common bss and stack addresses
  rockchip: firefly-px30: Use common bss and stack addresses
  rockchip: odroid-go2: Use common bss and stack addresses
  rockchip: px30-core-*: Use common bss and stack addresses
  rockchip: px30: make UART pinmux accessible to TPL/SPL DTB
  rockchip: evb-px30: do not remove pinctrl nodes from SPL DTB
  rockchip: evb-px30: make UART5 the debug UART
  rockchip: px30/rk3326: migrate to OF_UPSTREAM
  rockchip: jaguar-rk3588: use default env size for Rockchip on MMC
  rockchip: rk3399-puma: remove default value from defconfig
  rockchip: rk3399-puma: remove unnecessary simple-bin:fit:offset override
  rockchip: px30-ringneck: Update SPL_PAD_TO Kconfig option
  power: rk8xx: properly print all supported PMICs name
  rockchip: ringneck-px30: fix TPL_MAX_SIZE
  rockchip: add support for Theobroma Systems SOM-RK3588-Q7 Tiger module
  rockchip: ringneck-px30: get closer to other Theobroma defconfigs
  rockchip: puma-rk3399: get closer to other Theobroma defconfigs

Sebastian Reichel (4):
  arm64: dts: rockchip: fix usb2phy nodename for rk3588
  arm64: dts: rockchip: reorder usb2phy properties for rk3588
  arm64: dts: rockchip: add USBDP phys on rk3588
  arm64: dts: rockchip: add USB3 DRD controllers on rk3588

 MAINTAINERS|   1 +
 arch/arm/dts/Makefile  |   8 -
 arch/arm/dts/px30-engicam-common.dtsi  | 129 
 arch/arm/dts/px30-engicam-ctouch2.dtsi |  30 -
 arch/arm/dts/px30-engicam-edimm2.2.dtsi|  66 --
 .../dts/px30-engicam-px30-core-ctouch2-of10.dts|  77 ---
 arch/arm/dts/px30-engicam-px30-core-ctouch2.dts|  22 -
 arch/arm/dts/px30-engicam-px30-core-edimm2.2.dts   |  43 --
 arch/arm/dts/px30-engicam-px30-core.dtsi   | 241 ---
 arch/arm/dts/px30-evb.dts  | 634 --
 arch/arm/dts/px30-ringneck-haikou-u-boot.dtsi  |   8 -
 arch/arm/dts/px30-ringneck-haikou.dts  | 232 ---
 arch/arm/dts/px30-ringneck.dtsi| 382 ---
 arch/arm/dts/px30-u-boot.dtsi  |  16 +
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi |  15 +
 arch/arm/dts/rk3326-odroid-go2.dts | 642 --
 arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi|   6 -
 arch/arm/dts/rk3588-armsom-sige7-u-boot.dtsi   |   6 +
 arch/arm/dts/rk3588-tiger-haikou-u-boot.dtsi   |  37 ++
 arch/arm/dts/rk3588-u-boot.dtsi|  74 ---
 arch/arm/dts/rk3588s-u-boot.dtsi   |  85 ---
 arch/arm/mach-rockchip/Kconfig |   1 +
 arch/arm/mach-rockchip/rk3588/Kconfig  |  57 ++
 board/armsom/sige7-rk3588/Kconfig  |  12 +
 board/armsom/sige7-rk3588/MAINTAINERS  |   7 +
 board/theobroma-systems/tiger_rk3588/Kconfig   |  16 +
 board/theobroma-systems/tiger_rk3588/MAINTAINERS   |  13 +
 board/theobroma-systems/tiger_rk3588/Makefile  |  10 +
 .../theobroma-systems/tiger_rk3588/tiger_rk3588.c  |  53 ++
 configs/evb-px30

Pull request: u-boot-rockchip-20240614

2024-06-15 Thread Kever Yang
Hi Tom,

Please pull the fixex for rockchip platform:
- pmic fix for rk8xx;
- pinctrl fix for rk3188/rv1126/rk3588;
- mkimage fix for rockcihp "-l" option;

CI:
https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/2

Thanks,
- Kever

The following changes since commit ca6a992e09441d6cca73439c63c3735f86b36ea4:

  cmd: sound: fix help text (2024-06-13 09:31:56 -0600)

are available in the Git repository at:

  https://source.denx.de/u-boot/custodians/u-boot-rockchip.git 
tags/u-boot-rockchip-20240614

for you to fetch changes up to 3f9a19befe9277db2a337552912c6ddbcc0c8b10:

  rockchip: mkimage: fix mkimage -l for header v1 (2024-06-14 17:07:59 +0800)


Chris Morgan (2):
  Revert "board: rockchip: Add early ADC button detect for RGxx3"
  board: rockchip: rgxx3: Use sdmmc0 as first device

Jonas Karlman (3):
  pinctrl: rockchip: rk3188: Fix support for IOMUX_GPIO_ONLY flag
  pinctrl: rockchip: rv1126: Fix support for IOMUX_L_SOURCE_PMU flag
  pinctrl: rockchip: rk3588: Fix support for rockchip_get_mux()

Quentin Schulz (4):
  regulator: rk8xx: fix incorrect device used for _ldo_[sg]et_suspend_value
  regulator: rk8xx: pass pmic udevice instead of regulator to all internal 
functions
  regulator: rk8xx: clarify operator precedence
  rockchip: mkimage: fix mkimage -l for header v1

 arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi   |  2 +-
 board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c   | 64 
 drivers/pinctrl/rockchip/pinctrl-rockchip-core.c | 40 ---
 drivers/power/regulator/rk8xx.c  | 54 ++--
 tools/rkcommon.c |  2 +-
 5 files changed, 63 insertions(+), 99 deletions(-)


[PATCH] arm: mediatek: fix ram init for mt7622 (decrease to 1G)

2024-06-15 Thread Frank Wunderlich
From: Frank Wunderlich 

RAM init on mt7622 based bananapi R64 is broken since v2023.10.

Increasing the mem-map does not help here, so i reduced the maximum
available ram in get_ram_size call from 2G to 1G (board has only 1G).

Fixes: 5fd6d4c7b3ad ("arm: mediatek: retrieve ram_base from dts node for armv8 
platform")
Signed-off-by: Frank Wunderlich 
---
 arch/arm/mach-mediatek/mt7622/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-mediatek/mt7622/init.c 
b/arch/arm/mach-mediatek/mt7622/init.c
index 00d3eb9ce7a4..1f32ff947dcd 100644
--- a/arch/arm/mach-mediatek/mt7622/init.c
+++ b/arch/arm/mach-mediatek/mt7622/init.c
@@ -28,7 +28,7 @@ int dram_init(void)
if (ret)
return ret;
 
-   gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_2G);
+   gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_1G);
 
return 0;
 }
-- 
2.34.1



[PATCH v1 4/4] board: lenovo: ideapad-yoga-11: Lenovo Ideapad Yoga 11

2024-06-15 Thread Svyatoslav Ryhel
From: Jonas Schwöbel 

The Lenovo IdeaPad Yoga 11 is a hybrid laptop/tablet Windows RT-based
computer released in late 2012. The device uses a 1.3 GHz quad-core
Nvidia Tegra 3 chipset with 2 GB of RAM, features a 11.6 inch 1366x768
screen and 32/64 GB of internal memory that can be supplemented with
a microSDXC card slot, full size SD card slot and 2 full size USB 2.0
ports.

Signed-off-by: Jonas Schwöbel 
Signed-off-by: Svyatoslav Ryhel 
---
 arch/arm/dts/Makefile |1 +
 .../dts/tegra30-lenovo-ideapad-yoga-11.dts| 1266 +
 arch/arm/mach-tegra/tegra30/Kconfig   |5 +
 board/lenovo/ideapad-yoga-11/Kconfig  |   12 +
 board/lenovo/ideapad-yoga-11/MAINTAINERS  |7 +
 board/lenovo/ideapad-yoga-11/Makefile |6 +
 .../ideapad-yoga-11/ideapad-yoga-11-spl.c |   41 +
 configs/ideapad-yoga-11_defconfig |   84 ++
 doc/board/index.rst   |1 +
 doc/board/lenovo/ideapad-yoga-11.rst  |   41 +
 doc/board/lenovo/index.rst|9 +
 include/configs/ideapad-yoga-11.h |   79 +
 12 files changed, 1552 insertions(+)
 create mode 100644 arch/arm/dts/tegra30-lenovo-ideapad-yoga-11.dts
 create mode 100644 board/lenovo/ideapad-yoga-11/Kconfig
 create mode 100644 board/lenovo/ideapad-yoga-11/MAINTAINERS
 create mode 100644 board/lenovo/ideapad-yoga-11/Makefile
 create mode 100644 board/lenovo/ideapad-yoga-11/ideapad-yoga-11-spl.c
 create mode 100644 configs/ideapad-yoga-11_defconfig
 create mode 100644 doc/board/lenovo/ideapad-yoga-11.rst
 create mode 100644 doc/board/lenovo/index.rst
 create mode 100644 include/configs/ideapad-yoga-11.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 8041faa228..4a63243fae 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -130,6 +130,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
tegra30-cardhu.dtb \
tegra30-colibri.dtb \
tegra30-htc-endeavoru.dtb \
+   tegra30-lenovo-ideapad-yoga-11.dtb \
tegra30-lg-p880.dtb \
tegra30-lg-p895.dtb \
tegra30-microsoft-surface-rt.dtb \
diff --git a/arch/arm/dts/tegra30-lenovo-ideapad-yoga-11.dts 
b/arch/arm/dts/tegra30-lenovo-ideapad-yoga-11.dts
new file mode 100644
index 00..9a1e8c0601
--- /dev/null
+++ b/arch/arm/dts/tegra30-lenovo-ideapad-yoga-11.dts
@@ -0,0 +1,1266 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include 
+#include "tegra30.dtsi"
+
+/ {
+   model = "Lenovo Ideapad Yoga 11 Slate";
+   compatible = "lenovo,ideapad-yoga-11", "nvidia,tegra30";
+
+   chosen {
+   stdout-path = 
+   };
+
+   aliases {
+   i2c0 = _i2c;
+   i2c1 = _i2c;
+
+   mmc0 =  /* eMMC */
+   mmc1 =  /* uSD slot */
+
+   rtc0 = 
+   rtc1 = "/rtc@7000e000";
+
+   spi0 = 
+
+   usb0 = 
+   usb1 = 
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x8000 0x8000>;
+   };
+
+   host1x@5000 {
+   dc@5420 {
+   rgb {
+   status = "okay";
+
+   nvidia,panel = <>;
+   };
+   };
+   };
+
+   pinmux@7868 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_default>;
+
+   state_default: pinmux {
+   /* SDMMC1 pinmux */
+   sdmmc1-clk {
+   nvidia,pins = "sdmmc1_clk_pz0";
+   nvidia,function = "sdmmc1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+   sdmmc1-cmd {
+   nvidia,pins = "sdmmc1_dat3_py4",
+   "sdmmc1_dat2_py5",
+   "sdmmc1_dat1_py6",
+   "sdmmc1_dat0_py7",
+   "sdmmc1_cmd_pz1";
+   nvidia,function = "sdmmc1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+
+   /* SDMMC3 pinmux */
+   sdmmc3-clk {
+   nvidia,pins = "sdmmc3_clk_pa6";
+   nvidia,function = "sdmmc3";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+   sdmmc3-cmd {
+   nvidia,pins = "sdmmc3_cmd_pa7",
+ 

[PATCH v1 3/4] board: microsoft: surface-rt: add Microsoft Surface RT support

2024-06-15 Thread Svyatoslav Ryhel
From: Jonas Schwöbel 

Surface RT is a hybrid tablet computer developed and manufactured
by Microsoft and shipped with Windows RT. The tablet uses a 1.3 GHz
quad-core Nvidia Tegra 3 chipset with 2 GB of RAM, features 10.8
inch 1366x768 screen and 32/64 GB of internal memory that can be
supplemented with a microSDXC card giving up to 200 GB of
additional storage.

Signed-off-by: Jonas Schwöbel 
Signed-off-by: Svyatoslav Ryhel 
---
 arch/arm/dts/Makefile |1 +
 arch/arm/dts/tegra30-microsoft-surface-rt.dts | 1083 +
 arch/arm/mach-tegra/tegra30/Kconfig   |5 +
 board/microsoft/surface-rt/Kconfig|   12 +
 board/microsoft/surface-rt/MAINTAINERS|7 +
 board/microsoft/surface-rt/Makefile   |6 +
 board/microsoft/surface-rt/surface-rt-spl.c   |   41 +
 configs/surface-rt_defconfig  |   80 ++
 doc/board/index.rst   |1 +
 doc/board/microsoft/index.rst |9 +
 doc/board/microsoft/surface-rt.rst|   41 +
 include/configs/surface-rt.h  |   41 +
 12 files changed, 1327 insertions(+)
 create mode 100644 arch/arm/dts/tegra30-microsoft-surface-rt.dts
 create mode 100644 board/microsoft/surface-rt/Kconfig
 create mode 100644 board/microsoft/surface-rt/MAINTAINERS
 create mode 100644 board/microsoft/surface-rt/Makefile
 create mode 100644 board/microsoft/surface-rt/surface-rt-spl.c
 create mode 100644 configs/surface-rt_defconfig
 create mode 100644 doc/board/microsoft/index.rst
 create mode 100644 doc/board/microsoft/surface-rt.rst
 create mode 100644 include/configs/surface-rt.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 8ca10c307f..8041faa228 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -132,6 +132,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
tegra30-htc-endeavoru.dtb \
tegra30-lg-p880.dtb \
tegra30-lg-p895.dtb \
+   tegra30-microsoft-surface-rt.dtb \
tegra30-tec-ng.dtb \
tegra30-wexler-qc750.dtb \
tegra114-dalmore.dtb \
diff --git a/arch/arm/dts/tegra30-microsoft-surface-rt.dts 
b/arch/arm/dts/tegra30-microsoft-surface-rt.dts
new file mode 100644
index 00..6810350a90
--- /dev/null
+++ b/arch/arm/dts/tegra30-microsoft-surface-rt.dts
@@ -0,0 +1,1083 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include 
+#include "tegra30.dtsi"
+
+/ {
+   model = "Microsoft Surface RT Tablet";
+   compatible = "microsoft,surface-rt", "nvidia,tegra30";
+
+   chosen {
+   stdout-path = 
+   };
+
+   aliases {
+   i2c0 = _i2c;
+
+   mmc0 =  /* eMMC */
+   mmc1 =  /* uSD slot */
+
+   rtc0 = 
+   rtc1 = "/rtc@7000e000";
+
+   spi0 = 
+
+   usb0 = 
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x8000 0x8000>;
+   };
+
+   host1x@5000 {
+   dc@5420 {
+   rgb {
+   status = "okay";
+
+   nvidia,panel = <>;
+   };
+   };
+   };
+
+   gpio@6000d000 {
+   /* in case usb vbus is on for some reason */
+   usb-vbus-hog {
+   gpio-hog;
+   gpios = ;
+   output-low;
+   };
+   };
+
+   pinmux@7868 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_default>;
+
+   state_default: pinmux {
+   /* SDMMC1 pinmux */
+   sdmmc1-clk {
+   nvidia,pins = "sdmmc1_clk_pz0";
+   nvidia,function = "sdmmc1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+   sdmmc1-cmd {
+   nvidia,pins = "sdmmc1_dat3_py4",
+   "sdmmc1_dat2_py5",
+   "sdmmc1_dat1_py6",
+   "sdmmc1_dat0_py7",
+   "sdmmc1_cmd_pz1";
+   nvidia,function = "sdmmc1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+
+   /* SDMMC3 pinmux */
+   sdmmc3-clk {
+   nvidia,pins = "sdmmc3_clk_pa6";
+   nvidia,function = "sdmmc3";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+ 

[PATCH v1 2/4] board: wexler: qc750: add WEXLER Tab 7t support

2024-06-15 Thread Svyatoslav Ryhel
WEXLER Tab 7t is a mini tablet computer developed by WEXLER that
runs the Android operating system. The device features a 7.0-inch
(180 mm) HD display, an Nvidia Tegra 3 quad-core chip, 1 GB of RAM,
8, 16 or 32 GB of storage that can be supplemented with a microSDXC
card giving up to 64 GB of additional storage and a full size USB
port.

Tested-by: Maksim Kurnosenko 
Signed-off-by: Svyatoslav Ryhel 
---
 arch/arm/dts/Makefile |1 +
 arch/arm/dts/tegra30-wexler-qc750.dts | 1106 +
 arch/arm/mach-tegra/tegra30/Kconfig   |5 +
 board/wexler/qc750/Kconfig|   12 +
 board/wexler/qc750/MAINTAINERS|7 +
 board/wexler/qc750/Makefile   |   11 +
 board/wexler/qc750/qc750-spl.c|   45 +
 board/wexler/qc750/qc750.c|   21 +
 configs/qc750_defconfig   |   81 ++
 doc/board/index.rst   |1 +
 doc/board/wexler/index.rst|9 +
 doc/board/wexler/qc750.rst|  125 +++
 include/configs/qc750.h   |   67 ++
 13 files changed, 1491 insertions(+)
 create mode 100644 arch/arm/dts/tegra30-wexler-qc750.dts
 create mode 100644 board/wexler/qc750/Kconfig
 create mode 100644 board/wexler/qc750/MAINTAINERS
 create mode 100644 board/wexler/qc750/Makefile
 create mode 100644 board/wexler/qc750/qc750-spl.c
 create mode 100644 board/wexler/qc750/qc750.c
 create mode 100644 configs/qc750_defconfig
 create mode 100644 doc/board/wexler/index.rst
 create mode 100644 doc/board/wexler/qc750.rst
 create mode 100644 include/configs/qc750.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 3a66c6d012..8ca10c307f 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -133,6 +133,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
tegra30-lg-p880.dtb \
tegra30-lg-p895.dtb \
tegra30-tec-ng.dtb \
+   tegra30-wexler-qc750.dtb \
tegra114-dalmore.dtb \
tegra124-apalis.dtb \
tegra124-jetson-tk1.dtb \
diff --git a/arch/arm/dts/tegra30-wexler-qc750.dts 
b/arch/arm/dts/tegra30-wexler-qc750.dts
new file mode 100644
index 00..87c2a4072e
--- /dev/null
+++ b/arch/arm/dts/tegra30-wexler-qc750.dts
@@ -0,0 +1,1106 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+/* CPU Speedo ID 7, Soc Speedo ID 1, CPU Process: 4, Core Process: 0 */
+
+#include 
+#include 
+
+#include "tegra30.dtsi"
+
+/ {
+   model = "Wexler Tab 7t";
+   compatible = "wexler,qc750", "nvidia,tegra30";
+
+   chosen {
+   stdout-path = 
+   };
+
+   aliases {
+   i2c0 = _i2c;
+
+   mmc0 =  /* eMMC */
+   mmc1 =  /* uSD slot */
+
+   rtc0 = 
+   rtc1 = "/rtc@7000e000";
+
+   usb0 = _usb;
+   usb1 =  /* Full size USB */
+   };
+
+   memory {
+   device_type = "memory";
+   reg = <0x8000 0x4000>;
+   };
+
+   host1x@5000 {
+   dc@5420 {
+   rgb {
+   status = "okay";
+
+   nvidia,panel = <>;
+   };
+   };
+   };
+
+   pinmux@7868 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_default>;
+
+   state_default: pinmux {
+   /* SDMMC1 pinmux */
+   sdmmc1-clk {
+   nvidia,pins = "sdmmc1_clk_pz0";
+   nvidia,function = "sdmmc1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+   sdmmc1-cmd {
+   nvidia,pins = "sdmmc1_dat3_py4",
+   "sdmmc1_dat2_py5",
+   "sdmmc1_dat1_py6",
+   "sdmmc1_dat0_py7",
+   "sdmmc1_cmd_pz1";
+   nvidia,function = "sdmmc1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+   sdmmc1-cd {
+   nvidia,pins = "gmi_iordy_pi5";
+   nvidia,function = "rsvd1";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+   nvidia,enable-input = ;
+   };
+
+   /* SDMMC3 pinmux */
+   sdmmc3-clk {
+   nvidia,pins = "sdmmc3_clk_pa6";
+   nvidia,function = "sdmmc3";
+   nvidia,pull = ;
+   nvidia,tristate = ;
+ 

[PATCH v1 1/4] board: asus: transformer: add ASUS Transformer T20 family support

2024-06-15 Thread Svyatoslav Ryhel
The Asus Eee Pad Transformer family are 2-in-1 detachable/slider
tablets developed by Asus that run the Android operating system.
The Eee Pad Transformers feature a 10.1-inch (260 mm) display,
an Nvidia Tegra 2 dual-core chip, 1 GB of RAM, and 16/32 GB of storage.
Transformers board derives from Nvidia Ventana development board.

This patch brings support for all 3 known T20 Transformers:
- Asus Eee Pad Transformer TF101
- Asus Eee Pad Transformer TF101G
- Asus Eee Pad Slider SL101

Tested-by: Robert Eckelmann  # ASUS TF101
Tested-by: Antoni Aloy Torrens  # ASUS TF101
Signed-off-by: Svyatoslav Ryhel 
---
 arch/arm/dts/Makefile |   6 +-
 arch/arm/dts/tegra20-asus-sl101.dts   |   9 +
 arch/arm/dts/tegra20-asus-tf101.dts   |   9 +
 arch/arm/dts/tegra20-asus-tf101g.dts  |   9 +
 arch/arm/dts/tegra20-asus-transformer.dtsi| 545 ++
 arch/arm/mach-tegra/tegra20/Kconfig   |   5 +
 board/asus/transformer-t20/Kconfig|  12 +
 board/asus/transformer-t20/MAINTAINERS|   8 +
 board/asus/transformer-t20/Makefile   |   9 +
 .../asus/transformer-t20/configs/sl101.config |   1 +
 .../asus/transformer-t20/configs/tf101.config |   1 +
 .../transformer-t20/configs/tf101g.config |   1 +
 board/asus/transformer-t20/transformer-t20.c  |  57 ++
 configs/transformer_t20_defconfig |  82 +++
 doc/board/asus/index.rst  |   1 +
 doc/board/asus/transformer_t20.rst| 129 +
 include/configs/transformer-t20.h |  23 +
 17 files changed, 906 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/tegra20-asus-sl101.dts
 create mode 100644 arch/arm/dts/tegra20-asus-tf101.dts
 create mode 100644 arch/arm/dts/tegra20-asus-tf101g.dts
 create mode 100644 arch/arm/dts/tegra20-asus-transformer.dtsi
 create mode 100644 board/asus/transformer-t20/Kconfig
 create mode 100644 board/asus/transformer-t20/MAINTAINERS
 create mode 100644 board/asus/transformer-t20/Makefile
 create mode 100644 board/asus/transformer-t20/configs/sl101.config
 create mode 100644 board/asus/transformer-t20/configs/tf101.config
 create mode 100644 board/asus/transformer-t20/configs/tf101g.config
 create mode 100644 board/asus/transformer-t20/transformer-t20.c
 create mode 100644 configs/transformer_t20_defconfig
 create mode 100644 doc/board/asus/transformer_t20.rst
 create mode 100644 include/configs/transformer-t20.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 8fb6a8a1f1..3a66c6d012 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -102,7 +102,11 @@ dtb-$(CONFIG_ARCH_S5P4418) += \
 dtb-$(CONFIG_ARCH_MESON) += \
meson-a1-ad401.dtb
 
-dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
+dtb-$(CONFIG_ARCH_TEGRA) += \
+   tegra20-asus-sl101.dtb \
+   tegra20-asus-tf101.dtb \
+   tegra20-asus-tf101g.dtb \
+   tegra20-harmony.dtb \
tegra20-medcom-wide.dtb \
tegra20-paz00.dtb \
tegra20-plutux.dtb \
diff --git a/arch/arm/dts/tegra20-asus-sl101.dts 
b/arch/arm/dts/tegra20-asus-sl101.dts
new file mode 100644
index 00..b4709c3e9a
--- /dev/null
+++ b/arch/arm/dts/tegra20-asus-sl101.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra20-asus-transformer.dtsi"
+
+/ {
+   model = "ASUS EeePad Slider SL101";
+   compatible = "asus,sl101", "nvidia,tegra20";
+};
diff --git a/arch/arm/dts/tegra20-asus-tf101.dts 
b/arch/arm/dts/tegra20-asus-tf101.dts
new file mode 100644
index 00..7c734fb5b1
--- /dev/null
+++ b/arch/arm/dts/tegra20-asus-tf101.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra20-asus-transformer.dtsi"
+
+/ {
+   model = "ASUS EeePad Transformer TF101";
+   compatible = "asus,tf101", "nvidia,tegra20";
+};
diff --git a/arch/arm/dts/tegra20-asus-tf101g.dts 
b/arch/arm/dts/tegra20-asus-tf101g.dts
new file mode 100644
index 00..f49a358a26
--- /dev/null
+++ b/arch/arm/dts/tegra20-asus-tf101g.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra20-asus-transformer.dtsi"
+
+/ {
+   model = "ASUS EeePad Transformer TF101G";
+   compatible = "asus,tf101g", "nvidia,tegra20";
+};
diff --git a/arch/arm/dts/tegra20-asus-transformer.dtsi 
b/arch/arm/dts/tegra20-asus-transformer.dtsi
new file mode 100644
index 00..49efabbfd9
--- /dev/null
+++ b/arch/arm/dts/tegra20-asus-transformer.dtsi
@@ -0,0 +1,545 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include 
+#include "tegra20.dtsi"
+
+/ {
+   chosen {
+   stdout-path = 
+   };
+
+   aliases {
+   i2c0 = _i2c;
+
+   mmc0 =  /* eMMC */
+   mmc1 =  /* MicroSD */
+
+   rtc0 = 
+   rtc1 = "/rtc@7000e000";
+
+   usb0 = 
+   usb1 =  /* Dock USB */
+   };
+
+   memory {
+   device_type = "memory";
+   reg = 

[PATCH v1 0/4] Initial support for new Tegra 2/3 devices

2024-06-15 Thread Svyatoslav Ryhel
Patchset includes initial support bringup for 4 new Tegra 2 and
Tegra 3 devices which include Asus Transformers with Tegra 2,
Microfost Surface RT, Lenovo Ideapad Yoga 11 and Wexler Tab 7t.
All setups are tested on real hardware and pass buildman.

Jonas Schwöbel (2):
  board: microsoft: surface-rt: add Microsoft Surface RT support
  board: lenovo: ideapad-yoga-11: Lenovo Ideapad Yoga 11

Svyatoslav Ryhel (2):
  board: asus: transformer: add ASUS Transformer T20 family support
  board: wexler: qc750: add WEXLER Tab 7t support

 arch/arm/dts/Makefile |9 +-
 arch/arm/dts/tegra20-asus-sl101.dts   |9 +
 arch/arm/dts/tegra20-asus-tf101.dts   |9 +
 arch/arm/dts/tegra20-asus-tf101g.dts  |9 +
 arch/arm/dts/tegra20-asus-transformer.dtsi|  545 +++
 .../dts/tegra30-lenovo-ideapad-yoga-11.dts| 1266 +
 arch/arm/dts/tegra30-microsoft-surface-rt.dts | 1083 ++
 arch/arm/dts/tegra30-wexler-qc750.dts | 1106 ++
 arch/arm/mach-tegra/tegra20/Kconfig   |5 +
 arch/arm/mach-tegra/tegra30/Kconfig   |   15 +
 board/asus/transformer-t20/Kconfig|   12 +
 board/asus/transformer-t20/MAINTAINERS|8 +
 board/asus/transformer-t20/Makefile   |9 +
 .../asus/transformer-t20/configs/sl101.config |1 +
 .../asus/transformer-t20/configs/tf101.config |1 +
 .../transformer-t20/configs/tf101g.config |1 +
 board/asus/transformer-t20/transformer-t20.c  |   57 +
 board/lenovo/ideapad-yoga-11/Kconfig  |   12 +
 board/lenovo/ideapad-yoga-11/MAINTAINERS  |7 +
 board/lenovo/ideapad-yoga-11/Makefile |6 +
 .../ideapad-yoga-11/ideapad-yoga-11-spl.c |   41 +
 board/microsoft/surface-rt/Kconfig|   12 +
 board/microsoft/surface-rt/MAINTAINERS|7 +
 board/microsoft/surface-rt/Makefile   |6 +
 board/microsoft/surface-rt/surface-rt-spl.c   |   41 +
 board/wexler/qc750/Kconfig|   12 +
 board/wexler/qc750/MAINTAINERS|7 +
 board/wexler/qc750/Makefile   |   11 +
 board/wexler/qc750/qc750-spl.c|   45 +
 board/wexler/qc750/qc750.c|   21 +
 configs/ideapad-yoga-11_defconfig |   84 ++
 configs/qc750_defconfig   |   81 ++
 configs/surface-rt_defconfig  |   80 ++
 configs/transformer_t20_defconfig |   82 ++
 doc/board/asus/index.rst  |1 +
 doc/board/asus/transformer_t20.rst|  129 ++
 doc/board/index.rst   |3 +
 doc/board/lenovo/ideapad-yoga-11.rst  |   41 +
 doc/board/lenovo/index.rst|9 +
 doc/board/microsoft/index.rst |9 +
 doc/board/microsoft/surface-rt.rst|   41 +
 doc/board/wexler/index.rst|9 +
 doc/board/wexler/qc750.rst|  125 ++
 include/configs/ideapad-yoga-11.h |   79 +
 include/configs/qc750.h   |   67 +
 include/configs/surface-rt.h  |   41 +
 include/configs/transformer-t20.h |   23 +
 47 files changed, 5276 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/dts/tegra20-asus-sl101.dts
 create mode 100644 arch/arm/dts/tegra20-asus-tf101.dts
 create mode 100644 arch/arm/dts/tegra20-asus-tf101g.dts
 create mode 100644 arch/arm/dts/tegra20-asus-transformer.dtsi
 create mode 100644 arch/arm/dts/tegra30-lenovo-ideapad-yoga-11.dts
 create mode 100644 arch/arm/dts/tegra30-microsoft-surface-rt.dts
 create mode 100644 arch/arm/dts/tegra30-wexler-qc750.dts
 create mode 100644 board/asus/transformer-t20/Kconfig
 create mode 100644 board/asus/transformer-t20/MAINTAINERS
 create mode 100644 board/asus/transformer-t20/Makefile
 create mode 100644 board/asus/transformer-t20/configs/sl101.config
 create mode 100644 board/asus/transformer-t20/configs/tf101.config
 create mode 100644 board/asus/transformer-t20/configs/tf101g.config
 create mode 100644 board/asus/transformer-t20/transformer-t20.c
 create mode 100644 board/lenovo/ideapad-yoga-11/Kconfig
 create mode 100644 board/lenovo/ideapad-yoga-11/MAINTAINERS
 create mode 100644 board/lenovo/ideapad-yoga-11/Makefile
 create mode 100644 board/lenovo/ideapad-yoga-11/ideapad-yoga-11-spl.c
 create mode 100644 board/microsoft/surface-rt/Kconfig
 create mode 100644 board/microsoft/surface-rt/MAINTAINERS
 create mode 100644 board/microsoft/surface-rt/Makefile
 create mode 100644 board/microsoft/surface-rt/surface-rt-spl.c
 create mode 100644 board/wexler/qc750/Kconfig
 create mode 100644 board/wexler/qc750/MAINTAINERS
 create mode 100644 board/wexler/qc750/Makefile
 create mode 100644 board/wexler/qc750/qc750-spl.c
 create mode 100644 board/wexler/qc750/qc750.c
 create mode 100644 configs/ideapad-yoga-11_defconfig
 create mode 100644 configs/qc750_defconfig
 create mode 100644 

uboot 2024.07 regression

2024-06-15 Thread Frank Wunderlich
Hi,

while testing clock-patches for mediatek as preparation for OF_upstream i've 
noticed an issue on
mt7623 based board (bananapi r2) with ethernet (no ping possible) in 
2024.07-rc1 where 2024.04 is good.

i bisected it to this commit:
ff3bcb17f436 2024-02-23 Makefile: pass -undef option to cmd_gen_envp
and when reverting this commit in 2024.07 ethernet works

it seems not yet reported or reverted (till 2024.07-rc4).

I'm not sure why this commit breaks network on this board, but revert confirms 
it...

regards Frank



[PATCH 1/3] rockchip: rock-3a: rock5a: rock5b: add USB GADGET related configs

2024-06-15 Thread FUKAUMI Naoki
add USB GADGET related configs for USB OTG port on ROCK 3A/5A/5B.

Signed-off-by: FUKAUMI Naoki 
---
 configs/rock-3a-rk3568_defconfig | 6 ++
 configs/rock5a-rk3588s_defconfig | 6 ++
 configs/rock5b-rk3588_defconfig  | 1 +
 3 files changed, 13 insertions(+)

diff --git a/configs/rock-3a-rk3568_defconfig b/configs/rock-3a-rk3568_defconfig
index 66ac2f6d7a..0568a73038 100644
--- a/configs/rock-3a-rk3568_defconfig
+++ b/configs/rock-3a-rk3568_defconfig
@@ -37,6 +37,8 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_POWEROFF=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_ROCKUSB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_PMIC=y
 CONFIG_CMD_REGULATOR=y
@@ -50,6 +52,7 @@ CONFIG_SPL_SYSCON=y
 CONFIG_SCSI_AHCI=y
 CONFIG_AHCI_PCI=y
 CONFIG_SPL_CLK=y
+# CONFIG_USB_FUNCTION_FASTBOOT is not set
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_MISC=y
@@ -90,4 +93,7 @@ CONFIG_USB_OHCI_HCD=y
 CONFIG_USB_OHCI_GENERIC=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GENERIC=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_USB_FUNCTION_ROCKUSB=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/rock5a-rk3588s_defconfig b/configs/rock5a-rk3588s_defconfig
index c09e6655f0..e06052cd80 100644
--- a/configs/rock5a-rk3588s_defconfig
+++ b/configs/rock5a-rk3588s_defconfig
@@ -27,6 +27,8 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_ROCKUSB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_REGULATOR=y
 # CONFIG_SPL_DOS_PARTITION is not set
@@ -37,6 +39,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_SPL_REGMAP=y
 CONFIG_SPL_SYSCON=y
 CONFIG_SPL_CLK=y
+# CONFIG_USB_FUNCTION_FASTBOOT is not set
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_MISC=y
@@ -67,4 +70,7 @@ CONFIG_USB_OHCI_HCD=y
 CONFIG_USB_OHCI_GENERIC=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GENERIC=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_USB_FUNCTION_ROCKUSB=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
index fc118cea7b..80a2f2fed5 100644
--- a/configs/rock5b-rk3588_defconfig
+++ b/configs/rock5b-rk3588_defconfig
@@ -39,6 +39,7 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_ROCKUSB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_REGULATOR=y
 # CONFIG_SPL_DOS_PARTITION is not set
-- 
2.43.0



[PATCH 2/3] arm: dts: rockchip: rock-5a: enable USB3 OTG port

2024-06-15 Thread FUKAUMI Naoki
enable USB3 OTG (upper) port for ums and rockusb commands on ROCK 5A.

Signed-off-by: FUKAUMI Naoki 
---
 arch/arm/dts/rk3588s-rock-5a-u-boot.dtsi | 16 
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/dts/rk3588s-rock-5a-u-boot.dtsi 
b/arch/arm/dts/rk3588s-rock-5a-u-boot.dtsi
index efba0c359b..5ae1a3cdd9 100644
--- a/arch/arm/dts/rk3588s-rock-5a-u-boot.dtsi
+++ b/arch/arm/dts/rk3588s-rock-5a-u-boot.dtsi
@@ -9,3 +9,19 @@
cap-mmc-highspeed;
mmc-hs200-1_8v;
 };
+
+ {
+   status = "okay";
+};
+
+_otg {
+   status = "okay";
+};
+
+_phy0 {
+   status = "okay";
+};
+
+_host0_xhci {
+   status = "okay";
+};
-- 
2.43.0



[PATCH 3/3] arm: dts: rockchip: rock-5b: sort usbdp_phy nodes

2024-06-15 Thread FUKAUMI Naoki
sort alphanumerically.

Signed-off-by: FUKAUMI Naoki 
---
 arch/arm/dts/rk3588-rock-5b-u-boot.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi 
b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
index 8e318e624a..fabbd717b6 100644
--- a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
+++ b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
@@ -47,11 +47,11 @@
status = "okay";
 };
 
-_phy1 {
+_phy0 {
status = "okay";
 };
 
-_phy0 {
+_phy1 {
status = "okay";
 };
 
-- 
2.43.0



Re: [PATCH v2 2/9] tpm: Avoid code bloat when not using EFI_TCG2_PROTOCOL

2024-06-15 Thread Ilias Apalodimas
Hi Heinrich

resending the reply, I accidentally sent half of the message...

On Fri, 14 Jun 2024 at 12:04, Heinrich Schuchardt  wrote:
>
> On 14.06.24 09:01, Ilias Apalodimas wrote:
> > On Fri, 14 Jun 2024 at 09:59, Heinrich Schuchardt  
> > wrote:
> >>
> >> On 6/14/24 08:03, Ilias Apalodimas wrote:
> >>> Hi Simon,
> >>>
> >>> On Mon, 10 Jun 2024 at 17:59, Simon Glass  wrote:
> 
>  It does not make sense to enable all SHA algorithms unless they are
>  needed. It bloats the code and in this case, causes chromebook_link to
>  fail to build. That board does use the TPM, but not with measured boot,
>  nor EFI.
> 
>  Since EFI_TCG2_PROTOCOL already selects these options, we just need to
>  add them to MEASURED_BOOT as well.
> 
>  Note that the original commit combines refactoring and new features,
>  which makes it hard to see what is going on.
> 
>  Fixes: 97707f12fda tpm: Support boot measurements
>  Signed-off-by: Simon Glass 
>  ---
> 
>  Changes in v2:
>  - Put the conditions under EFI_TCG2_PROTOCOL
>  - Consider MEASURED_BOOT too
> 
> boot/Kconfig | 4 
> lib/Kconfig  | 4 
> 2 files changed, 4 insertions(+), 4 deletions(-)
> 
>  diff --git a/boot/Kconfig b/boot/Kconfig
>  index 6f3096c15a6..b061891e109 100644
>  --- a/boot/Kconfig
>  +++ b/boot/Kconfig
>  @@ -734,6 +734,10 @@ config LEGACY_IMAGE_FORMAT
> config MEASURED_BOOT
>    bool "Measure boot images and configuration when booting 
>  without EFI"
>    depends on HASH && TPM_V2
>  +   select SHA1
>  +   select SHA256
>  +   select SHA384
>  +   select SHA512
>    help
>  This option enables measurement of the boot process when 
>  booting
>  without UEFI . Measurement involves creating cryptographic 
>  hashes
>  diff --git a/lib/Kconfig b/lib/Kconfig
>  index 189e6eb31aa..568892fce44 100644
>  --- a/lib/Kconfig
>  +++ b/lib/Kconfig
>  @@ -438,10 +438,6 @@ config TPM
>    bool "Trusted Platform Module (TPM) Support"
>    depends on DM
>    imply DM_RNG
>  -   select SHA1
>  -   select SHA256
>  -   select SHA384
>  -   select SHA512
> >>>
> >>> I am not sure this is the right way to deal with your problem.
> >>> The TPM main functionality is to measure and extend PCRs, so sha
> >>> is really required. To make things even worse, you don't know the PCR
> >>> banks that are enabled beforehand. This is a runtime config of the
> >>> TPM.
> >>
> >> If neither MEASURED_BOOT nor EFI_TCG2_PROTOCOL is selected, U-Boot
> >> cannot extend PCRs. So it seems fine to let these two select the
> >> complete set of hashing algorithms. As Simon pointed out for
> >> EFI_TCG2_PROTOCOL this is already done in lib/efi_loader/Kconfig.
> >
> > It can. The cmd we have can extend those pcrs -- e.g tpm2 pcr_extend 8
> > 0xb000
>
> So this patch should also consider CMD_TPM_V2 and CMD_TPM_V1.
>
> TPM v1 only needs SHA-1.

I still prefer to imply all algos.

>
> In cmd/tpm-v2.c do_tpm2_pcr_extend() and do_tpm_pcr_read() assume
> SHA256. Function tpm_pcr_extend() shows the same limitation. This bug
> should be fixed. But as is CMD_TPM_V2 seems only to require CONFIG_SHA256.

Isn't [0] fixing this?

[0] 
https://source.denx.de/u-boot/u-boot/-/commit/89aa8463cdf3919ca4f04fc24ec8b154ff56d97e
Thanks
/Ilias
>
> Best regards
>
> Heinrich
>
> >
> > Regards
> > /Ilias
> >>
> >> Even if U-Boot does not support measured boot (EFI or non-EFI) we might
> >> still be using the TPMs RNG.
> >>
> >> Reviewed-by: Heinrich Schuchardt 
> >>
> >>>
> >>>So this would make the TPM pretty useless. Can't you remove something
> >>> that doesn't break functionality?
> >>>
> >>> Thanks
> >>> /Ilias
>    help
>  This enables support for TPMs which can be used to provide 
>  security
>  features for your board. The TPM can be connected via LPC or 
>  I2C
>  --
>  2.34.1
> 
> >>
>


Re: [PATCH v2 2/9] tpm: Avoid code bloat when not using EFI_TCG2_PROTOCOL

2024-06-15 Thread Ilias Apalodimas
Hi Heinrich,


On Fri, 14 Jun 2024 at 12:04, Heinrich Schuchardt  wrote:
>
> On 14.06.24 09:01, Ilias Apalodimas wrote:
> > On Fri, 14 Jun 2024 at 09:59, Heinrich Schuchardt  
> > wrote:
> >>
> >> On 6/14/24 08:03, Ilias Apalodimas wrote:
> >>> Hi Simon,
> >>>
> >>> On Mon, 10 Jun 2024 at 17:59, Simon Glass  wrote:
> 
>  It does not make sense to enable all SHA algorithms unless they are
>  needed. It bloats the code and in this case, causes chromebook_link to
>  fail to build. That board does use the TPM, but not with measured boot,
>  nor EFI.
> 
>  Since EFI_TCG2_PROTOCOL already selects these options, we just need to
>  add them to MEASURED_BOOT as well.
> 
>  Note that the original commit combines refactoring and new features,
>  which makes it hard to see what is going on.
> 
>  Fixes: 97707f12fda tpm: Support boot measurements
>  Signed-off-by: Simon Glass 
>  ---
> 
>  Changes in v2:
>  - Put the conditions under EFI_TCG2_PROTOCOL
>  - Consider MEASURED_BOOT too
> 
> boot/Kconfig | 4 
> lib/Kconfig  | 4 
> 2 files changed, 4 insertions(+), 4 deletions(-)
> 
>  diff --git a/boot/Kconfig b/boot/Kconfig
>  index 6f3096c15a6..b061891e109 100644
>  --- a/boot/Kconfig
>  +++ b/boot/Kconfig
>  @@ -734,6 +734,10 @@ config LEGACY_IMAGE_FORMAT
> config MEASURED_BOOT
>    bool "Measure boot images and configuration when booting 
>  without EFI"
>    depends on HASH && TPM_V2
>  +   select SHA1
>  +   select SHA256
>  +   select SHA384
>  +   select SHA512
>    help
>  This option enables measurement of the boot process when 
>  booting
>  without UEFI . Measurement involves creating cryptographic 
>  hashes
>  diff --git a/lib/Kconfig b/lib/Kconfig
>  index 189e6eb31aa..568892fce44 100644
>  --- a/lib/Kconfig
>  +++ b/lib/Kconfig
>  @@ -438,10 +438,6 @@ config TPM
>    bool "Trusted Platform Module (TPM) Support"
>    depends on DM
>    imply DM_RNG
>  -   select SHA1
>  -   select SHA256
>  -   select SHA384
>  -   select SHA512
> >>>
> >>> I am not sure this is the right way to deal with your problem.
> >>> The TPM main functionality is to measure and extend PCRs, so sha
> >>> is really required. To make things even worse, you don't know the PCR
> >>> banks that are enabled beforehand. This is a runtime config of the
> >>> TPM.
> >>
> >> If neither MEASURED_BOOT nor EFI_TCG2_PROTOCOL is selected, U-Boot
> >> cannot extend PCRs. So it seems fine to let these two select the
> >> complete set of hashing algorithms. As Simon pointed out for
> >> EFI_TCG2_PROTOCOL this is already done in lib/efi_loader/Kconfig.
> >
> > It can. The cmd we have can extend those pcrs -- e.g tpm2 pcr_extend 8
> > 0xb000
>
> So this patch should also consider CMD_TPM_V2 and CMD_TPM_V1.
>
> TPM v1 only needs SHA-1.

I still prefer to leave the TPM in a working state tbh.
>
> In cmd/tpm-v2.c do_tpm2_pcr_extend() and do_tpm_pcr_read() assume
> SHA256. Function tpm_pcr_extend() shows the same limitation. This bug
> should be fixed. But as is CMD_TPM_V2 seems only to require CONFIG_SHA256.
>
> Best regards
>
> Heinrich
>
> >
> > Regards
> > /Ilias
> >>
> >> Even if U-Boot does not support measured boot (EFI or non-EFI) we might
> >> still be using the TPMs RNG.
> >>
> >> Reviewed-by: Heinrich Schuchardt 
> >>
> >>>
> >>>So this would make the TPM pretty useless. Can't you remove something
> >>> that doesn't break functionality?
> >>>
> >>> Thanks
> >>> /Ilias
>    help
>  This enables support for TPMs which can be used to provide 
>  security
>  features for your board. The TPM can be connected via LPC or 
>  I2C
>  --
>  2.34.1
> 
> >>
>


Re: [PATCH] tpm: measure DTB in PCR1 instead of PCR0

2024-06-15 Thread Ilias Apalodimas
Thanks Eddie,

On Sat, 15 Jun 2024 at 00:31, Eddie James  wrote:
>
>
> On 6/14/24 07:09, Ilias Apalodimas wrote:
> > The PC client spec [0], doesn't describe measurements for DTBs. It does
> > describe what do to for ACPI tables though.
> >
> > There is a description for ACPI in 3.3.4.1 PCR[0] – SRTM, POST BIOS,
> > and Embedded Drivers and they explicitly mention ACPI in there. There's
> > no mention of ACPI in 3.3.4.2 PCR[1] – Host Platform Configuration.
> >
> > However, in Figure 6 --  PCR Mapping of UEFI Components ACPI is shown
> > in PCR1. The general description also mentions PCR0 is for code and PCR1
> > is for data such as ACPI and SMBIOS.
>
>
> Thanks, looks correct.
>
> Reviewed-by: Eddie James 

Heinrich, do you want to carry this on the EFI tree, or shall I send a
PR via the TPM tree?

Thanks
/Ilias
>
>
> >
> > So let's switch over the DTB measurements to PCR1 which seems a better
> > fit.
> >
> > [0] 
> > https://trustedcomputinggroup.org/resource/pc-client-specific-platform-firmware-profile-specification
> >
> > Reported-by: Heinrich Schuchardt 
> > Signed-off-by: Ilias Apalodimas 
> > ---
> >   boot/bootm.c  | 2 +-
> >   lib/efi_loader/efi_tcg2.c | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/boot/bootm.c b/boot/bootm.c
> > index 6fa8edab021e..3de87eb185d7 100644
> > --- a/boot/bootm.c
> > +++ b/boot/bootm.c
> > @@ -963,7 +963,7 @@ int bootm_measure(struct bootm_headers *images)
> >   goto unmap_initrd;
> >
> >   if (IS_ENABLED(CONFIG_MEASURE_DEVICETREE)) {
> > - ret = tcg2_measure_data(dev, , 0, images->ft_len,
> > + ret = tcg2_measure_data(dev, , 1, images->ft_len,
> >   (u8 *)images->ft_addr,
> >   EV_TABLE_OF_DEVICES,
> >   strlen("dts") + 1,
> > diff --git a/lib/efi_loader/efi_tcg2.c b/lib/efi_loader/efi_tcg2.c
> > index 51264c1b998c..a8a54c9f131d 100644
> > --- a/lib/efi_loader/efi_tcg2.c
> > +++ b/lib/efi_loader/efi_tcg2.c
> > @@ -1328,7 +1328,7 @@ efi_status_t efi_tcg2_measure_dtb(void *dtb)
> >   sha256_update(_ctx, (u8 *)dtb + fdt_off_mem_rsvmap(dtb), 
> > rsvmap_size);
> >   sha256_finish(_ctx, blob->data + blob->blob_description_size);
> >
> > - ret = measure_event(dev, 0, EV_POST_CODE, event_size, (u8 *)blob);
> > + ret = measure_event(dev, 1, EV_POST_CODE, event_size, (u8 *)blob);
> >
> >   free(blob);
> >   return ret;
> > --
> > 2.45.1
> >


Re: [PATCH v7 19/24] board: beagleboneai64: Define capsule update firmware info

2024-06-15 Thread Ilias Apalodimas
On Fri, 14 Jun 2024 at 19:36, Jonathan Humphreys  wrote:
>
> Define the firmware components updatable via EFI capsule update, including
> defining capsule GUIDs for the various firmware components for the
> BeagleBoneAI64.
>
> Note this involved creating BeagleBoneAI64's own beagleboneai64.h board
> header file instead of reusing j721e_evm's.
>
> Signed-off-by: Jonathan Humphreys 
> ---
>  board/beagle/beagleboneai64/Kconfig  |  4 +-
>  board/beagle/beagleboneai64/beagleboneai64.c | 39 ++
>  include/configs/beagleboneai64.h | 55 
>  3 files changed, 96 insertions(+), 2 deletions(-)
>  create mode 100644 include/configs/beagleboneai64.h
>
> diff --git a/board/beagle/beagleboneai64/Kconfig 
> b/board/beagle/beagleboneai64/Kconfig
> index 7cfccf9baf0..0f21582614d 100644
> --- a/board/beagle/beagleboneai64/Kconfig
> +++ b/board/beagle/beagleboneai64/Kconfig
> @@ -37,7 +37,7 @@ config SYS_VENDOR
> default "beagle"
>
>  config SYS_CONFIG_NAME
> -   default "j721e_evm"
> +   default "beagleboneai64"
>
>  source "board/ti/common/Kconfig"
>
> @@ -52,7 +52,7 @@ config SYS_VENDOR
> default "beagle"
>
>  config SYS_CONFIG_NAME
> -   default "j721e_evm"
> +   default "beagleboneai64"
>
>  source "board/ti/common/Kconfig"
>
> diff --git a/board/beagle/beagleboneai64/beagleboneai64.c 
> b/board/beagle/beagleboneai64/beagleboneai64.c
> index c5b4ff7df47..1e43d1c1bd2 100644
> --- a/board/beagle/beagleboneai64/beagleboneai64.c
> +++ b/board/beagle/beagleboneai64/beagleboneai64.c
> @@ -7,6 +7,7 @@
>   * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
>   */
>
> +#include 
>  #include 
>  #include 
>  #include 
> @@ -14,6 +15,44 @@
>
>  DECLARE_GLOBAL_DATA_PTR;
>
> +struct efi_fw_image fw_images[] = {
> +   {
> +   .image_type_id = BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID,
> +   .fw_name = u"BEAGLEBONEAI64_TIBOOT3",
> +   .image_index = 1,
> +   },
> +   {
> +   .image_type_id = BEAGLEBONEAI64_SPL_IMAGE_GUID,
> +   .fw_name = u"BEAGLEBONEAI64_SPL",
> +   .image_index = 2,
> +   },
> +   {
> +   .image_type_id = BEAGLEBONEAI64_UBOOT_IMAGE_GUID,
> +   .fw_name = u"BEAGLEBONEAI64_UBOOT",
> +   .image_index = 3,
> +   },
> +   {
> +   .image_type_id = BEAGLEBONEAI64_SYSFW_IMAGE_GUID,
> +   .fw_name = u"BEAGLEBONEAI64_SYSFW",
> +   .image_index = 4,
> +   }
> +};
> +
> +struct efi_capsule_update_info update_info = {
> +   .dfu_string = "mmc 0=tiboot3.bin raw 0 2000 mmcpart 1;"
> +   "tispl.bin fat 0 1;u-boot.img fat 0 1; sysfw.itb fat 0 1",
> +   .num_images = ARRAY_SIZE(fw_images),
> +   .images = fw_images,
> +};
> +
> +#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
> +void set_dfu_alt_info(char *interface, char *devstr)
> +{
> +   if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
> +   env_set("dfu_alt_info", update_info.dfu_string);
> +}
> +#endif
> +
>  int board_init(void)
>  {
> return 0;
> diff --git a/include/configs/beagleboneai64.h 
> b/include/configs/beagleboneai64.h
> new file mode 100644
> index 000..85d57248bb6
> --- /dev/null
> +++ b/include/configs/beagleboneai64.h
> @@ -0,0 +1,55 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Configuration header file for BeagleBoneAI64
> + *
> + * https://beagleboard.org/ai-64
> + *
> + * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +#ifndef __CONFIG_BEAGLEBONEAI64_H
> +#define __CONFIG_BEAGLEBONEAI64_H
> +
> +/* FLASH Configuration */
> +#define CFG_SYS_FLASH_BASE 0x0
> +
> +/* SPL Loader Configuration */
> +#define CFG_SYS_UBOOT_BASE 0x5008
> +
> +/**
> + * define BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID - firmware GUID for 
> BeagleBoneAI64
> + *tiboot3.bin
> + * define BEAGLEBONEAI64_SPL_IMAGE_GUID - firmware GUID for 
> BeagleBoneAI64
> + *SPL
> + * define BEAGLEBONEAI64_UBOOT_IMAGE_GUID   - firmware GUID for 
> BeagleBoneAI64
> + *UBOOT
> + * define BEAGLEBONEAI64_SYSFW_IMAGE_GUID   - firmware GUID for 
> BeagleBoneAI64
> + *SYSFW
> + *
> + * These GUIDs are used in capsules updates to identify the corresponding
> + * firmware object.
> + *
> + * Board developers using this as a starting reference should
> + * define their own GUIDs to ensure that firmware repositories (like
> + * LVFS) do not confuse them.
> + */
> +#define BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID \
> +   EFI_GUID(0x772a4810, 0x2194, 0x4923, 0x87, 0x54, \
> +   0x01, 0x15, 0x87, 0x0e, 0xf3, 0x67)
> +
> +#define BEAGLEBONEAI64_SPL_IMAGE_GUID \
> +   EFI_GUID(0x83447222, 0x1e26, 0x40cd, 0xa3, 0x95, \
> +   0xb7, 0xde,