diff mbox series

rpi: Use OF_BOARD rather than OF_EMBED

Message ID 20230228155605.1209559-1-pbrobinson@gmail.com
State Changes Requested
Delegated to: Simon Glass
Headers show
Series rpi: Use OF_BOARD rather than OF_EMBED | expand

Commit Message

Peter Robinson Feb. 28, 2023, 3:56 p.m. UTC
The use of OF_EMBED isn't recommended for standard use and the OF_BOARD
is actually a better fit for the Raspberry Pi as the prior firmware
provides a DT that can be used by U-Boot and the subsequent OS too, but
it still allows the loading of a DT from disk as well if users wish
to use the upstream kernel DT.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
 configs/rpi_0_w_defconfig      | 2 +-
 configs/rpi_2_defconfig        | 2 +-
 configs/rpi_3_32b_defconfig    | 2 +-
 configs/rpi_3_b_plus_defconfig | 2 +-
 configs/rpi_3_defconfig        | 2 +-
 configs/rpi_4_32b_defconfig    | 1 +
 configs/rpi_4_defconfig        | 1 +
 configs/rpi_arm64_defconfig    | 1 +
 configs/rpi_defconfig          | 2 +-
 9 files changed, 9 insertions(+), 6 deletions(-)

Comments

Tom Rini Feb. 28, 2023, 5:24 p.m. UTC | #1
On Tue, Feb 28, 2023 at 03:56:05PM +0000, Peter Robinson wrote:

> The use of OF_EMBED isn't recommended for standard use and the OF_BOARD
> is actually a better fit for the Raspberry Pi as the prior firmware
> provides a DT that can be used by U-Boot and the subsequent OS too, but
> it still allows the loading of a DT from disk as well if users wish
> to use the upstream kernel DT.
> 
> Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> ---
>  configs/rpi_0_w_defconfig      | 2 +-
>  configs/rpi_2_defconfig        | 2 +-
>  configs/rpi_3_32b_defconfig    | 2 +-
>  configs/rpi_3_b_plus_defconfig | 2 +-
>  configs/rpi_3_defconfig        | 2 +-
>  configs/rpi_4_32b_defconfig    | 1 +
>  configs/rpi_4_defconfig        | 1 +
>  configs/rpi_arm64_defconfig    | 1 +
>  configs/rpi_defconfig          | 2 +-
>  9 files changed, 9 insertions(+), 6 deletions(-)

My only concern is from when I did:
https://patchwork.ozlabs.org/project/uboot/patch/20211224165704.2855211-1-trini@konsulko.com/
so I think you need to also drop the "imply OF_HAS_PRIOR_STAGE" from the
Kconfig files and should probably move to select (do not allow the user
to override this, it shall always be OF_EMBED now), or at least imply
(sufficiently advanced users may want a different choice and should be
able to make it).
Simon Glass Sept. 23, 2023, 6:31 p.m. UTC | #2
Hi,

On Tue, 28 Feb 2023 at 10:25, Tom Rini <trini@konsulko.com> wrote:
>
> On Tue, Feb 28, 2023 at 03:56:05PM +0000, Peter Robinson wrote:
>
> > The use of OF_EMBED isn't recommended for standard use and the OF_BOARD
> > is actually a better fit for the Raspberry Pi as the prior firmware
> > provides a DT that can be used by U-Boot and the subsequent OS too, but
> > it still allows the loading of a DT from disk as well if users wish
> > to use the upstream kernel DT.
> >
> > Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
> > ---
> >  configs/rpi_0_w_defconfig      | 2 +-
> >  configs/rpi_2_defconfig        | 2 +-
> >  configs/rpi_3_32b_defconfig    | 2 +-
> >  configs/rpi_3_b_plus_defconfig | 2 +-
> >  configs/rpi_3_defconfig        | 2 +-
> >  configs/rpi_4_32b_defconfig    | 1 +
> >  configs/rpi_4_defconfig        | 1 +
> >  configs/rpi_arm64_defconfig    | 1 +
> >  configs/rpi_defconfig          | 2 +-
> >  9 files changed, 9 insertions(+), 6 deletions(-)
>
> My only concern is from when I did:
> https://patchwork.ozlabs.org/project/uboot/patch/20211224165704.2855211-1-trini@konsulko.com/
> so I think you need to also drop the "imply OF_HAS_PRIOR_STAGE" from the
> Kconfig files and should probably move to select (do not allow the user
> to override this, it shall always be OF_EMBED now), or at least imply
> (sufficiently advanced users may want a different choice and should be
> able to make it).

This very old patch seems to have arrived in my queue. I am pleased to see it!

From my understanding the correct thing here is to 'imply
OF_HAS_PRIOR_STAGE' in the Kconfig, which is done for some rpi boards
but not all. Then the OF_BOARD setting becomes the default.

We should not really 'select OF_HAS_PRIOR_STAGE' since it makes
testing with a U-Boot-supplied DT impossible.

Regards,
Simon
diff mbox series

Patch

diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
index 5249b29d76c..8c217848ca2 100644
--- a/configs/rpi_0_w_defconfig
+++ b/configs/rpi_0_w_defconfig
@@ -23,7 +23,7 @@  CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
-CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
index 154284765f4..bfc5679fb7e 100644
--- a/configs/rpi_2_defconfig
+++ b/configs/rpi_2_defconfig
@@ -24,7 +24,7 @@  CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
-CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
index ef1f25d2ad7..54cdcee980a 100644
--- a/configs/rpi_3_32b_defconfig
+++ b/configs/rpi_3_32b_defconfig
@@ -23,7 +23,7 @@  CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
-CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig
index 154615d78a1..3008c7a1c18 100644
--- a/configs/rpi_3_b_plus_defconfig
+++ b/configs/rpi_3_b_plus_defconfig
@@ -22,7 +22,7 @@  CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
-CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
index f0cf7f8e236..f7b9108ba00 100644
--- a/configs/rpi_3_defconfig
+++ b/configs/rpi_3_defconfig
@@ -22,7 +22,7 @@  CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
-CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
index 713b2ee231c..fa20ab767fe 100644
--- a/configs/rpi_4_32b_defconfig
+++ b/configs/rpi_4_32b_defconfig
@@ -24,6 +24,7 @@  CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
index 24f70b14fe8..741d4dbbbf4 100644
--- a/configs/rpi_4_defconfig
+++ b/configs/rpi_4_defconfig
@@ -24,6 +24,7 @@  CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
index 1d1ff12a58c..5e1195dd786 100644
--- a/configs/rpi_arm64_defconfig
+++ b/configs/rpi_arm64_defconfig
@@ -23,6 +23,7 @@  CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_TFTP_TSIZE=y
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
index 28b92b14456..1504093eddf 100644
--- a/configs/rpi_defconfig
+++ b/configs/rpi_defconfig
@@ -23,7 +23,7 @@  CONFIG_CMD_GPIO=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_FS_UUID=y
-CONFIG_OF_EMBED=y
+CONFIG_OF_BOARD=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y