diff mbox

[u-boot,v4,3/3] Enable FIT image support and FDT loading for AST2400/AST2500

Message ID 1481133996-29973-4-git-send-email-raltherr@google.com
State Accepted, archived
Headers show

Commit Message

Rick Altherr Dec. 7, 2016, 6:06 p.m. UTC
FIT is the modern U-Boot native image format for kernels, device trees,
and ramdisks.  Enabling FIT only compiles in support for the image
format.  For these devices, the kernel+dtb and ramdisk are loaded from
separate locations in flash and can be any mix of legacy or FIT images.
When using FIT images, the dtb is stored as a separate entry that
requires CONFIG_OF_LIBFDT to load it into RAM and pass it to the kernel.

U-Boot enables EFI support by default but it only builds once FIT
support is enabled.  EFI support adds ~13k to the binary and is
currently unused for any Aspeed platforms.  Explicitly disable EFI
support now that FIT support is enabled.

Tested under qemu with both legacy and FIT kernel+dtb images for
palmetto and witherspoon.

Signed-off-by: Rick Altherr <raltherr@google.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

Changes in v4: None
Changes in v3:
- Fix capitalization of U-Boot in commit messages

Changes in v2:
- Reduce binary size by disabling EFI support

 configs/ast_g4_ncsi_defconfig | 5 +++++
 configs/ast_g4_phy_defconfig  | 5 +++++
 configs/ast_g5_ncsi_defconfig | 5 +++++
 configs/ast_g5_phy_defconfig  | 5 +++++
 4 files changed, 20 insertions(+)

Comments

Cédric Le Goater Dec. 7, 2016, 6:24 p.m. UTC | #1
On 12/07/2016 07:06 PM, Rick Altherr wrote:
> FIT is the modern U-Boot native image format for kernels, device trees,
> and ramdisks.  Enabling FIT only compiles in support for the image
> format.  For these devices, the kernel+dtb and ramdisk are loaded from
> separate locations in flash and can be any mix of legacy or FIT images.
> When using FIT images, the dtb is stored as a separate entry that
> requires CONFIG_OF_LIBFDT to load it into RAM and pass it to the kernel.
> 
> U-Boot enables EFI support by default but it only builds once FIT
> support is enabled.  EFI support adds ~13k to the binary and is
> currently unused for any Aspeed platforms.  Explicitly disable EFI
> support now that FIT support is enabled.
> 
> Tested under qemu with both legacy and FIT kernel+dtb images for
> palmetto and witherspoon.
> 
> Signed-off-by: Rick Altherr <raltherr@google.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.

> ---
> 
> Changes in v4: None
> Changes in v3:
> - Fix capitalization of U-Boot in commit messages
> 
> Changes in v2:
> - Reduce binary size by disabling EFI support
> 
>  configs/ast_g4_ncsi_defconfig | 5 +++++
>  configs/ast_g4_phy_defconfig  | 5 +++++
>  configs/ast_g5_ncsi_defconfig | 5 +++++
>  configs/ast_g5_phy_defconfig  | 5 +++++
>  4 files changed, 20 insertions(+)
> 
> diff --git a/configs/ast_g4_ncsi_defconfig b/configs/ast_g4_ncsi_defconfig
> index 4ee71c5..ab4907c 100644
> --- a/configs/ast_g4_ncsi_defconfig
> +++ b/configs/ast_g4_ncsi_defconfig
> @@ -1,7 +1,12 @@
>  CONFIG_ARM=y
>  CONFIG_TARGET_AST_G4=y
>  CONFIG_SYS_PROMPT="ast# "
> +CONFIG_CMD_BOOTEFI=n
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_PING=y
> +CONFIG_EFI_LOADER=n
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_OF_LIBFDT=y
>  CONFIG_SPI_FLASH=y
>  CONFIG_SYS_NS16550=y
> diff --git a/configs/ast_g4_phy_defconfig b/configs/ast_g4_phy_defconfig
> index 61fd69b..21a56c4 100644
> --- a/configs/ast_g4_phy_defconfig
> +++ b/configs/ast_g4_phy_defconfig
> @@ -2,7 +2,12 @@ CONFIG_ARM=y
>  CONFIG_TARGET_AST_G4=y
>  CONFIG_ASPEED_NET_PHY=y
>  CONFIG_SYS_PROMPT="ast# "
> +CONFIG_CMD_BOOTEFI=n
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_PING=y
> +CONFIG_EFI_LOADER=n
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_OF_LIBFDT=y
>  CONFIG_SPI_FLASH=y
>  CONFIG_SYS_NS16550=y
> diff --git a/configs/ast_g5_ncsi_defconfig b/configs/ast_g5_ncsi_defconfig
> index 6d11afb..7cd4fd1 100644
> --- a/configs/ast_g5_ncsi_defconfig
> +++ b/configs/ast_g5_ncsi_defconfig
> @@ -1,7 +1,12 @@
>  CONFIG_ARM=y
>  CONFIG_TARGET_AST_G5=y
>  CONFIG_SYS_PROMPT="ast# "
> +CONFIG_CMD_BOOTEFI=n
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_PING=y
> +CONFIG_EFI_LOADER=n
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_OF_LIBFDT=y
>  CONFIG_SPI_FLASH=y
>  CONFIG_SYS_NS16550=y
> diff --git a/configs/ast_g5_phy_defconfig b/configs/ast_g5_phy_defconfig
> index 20f62e0..c686dd2 100644
> --- a/configs/ast_g5_phy_defconfig
> +++ b/configs/ast_g5_phy_defconfig
> @@ -2,7 +2,12 @@ CONFIG_ARM=y
>  CONFIG_TARGET_AST_G5=y
>  CONFIG_ASPEED_NET_PHY=y
>  CONFIG_SYS_PROMPT="ast# "
> +CONFIG_CMD_BOOTEFI=n
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_PING=y
> +CONFIG_EFI_LOADER=n
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_OF_LIBFDT=y
>  CONFIG_SPI_FLASH=y
>  CONFIG_SYS_NS16550=y
>
Joel Stanley Dec. 7, 2016, 11:22 p.m. UTC | #2
On Thu, Dec 8, 2016 at 4:54 AM, Cédric Le Goater <clg@kaod.org> wrote:

>> +CONFIG_EFI_LOADER=n
>> +CONFIG_FIT=y
>> +CONFIG_FIT_VERBOSE=y

Are we sure we want verbose to be enabled?

Cheers,

Joel
Rick Altherr Dec. 7, 2016, 11:26 p.m. UTC | #3
It turns on a few error messages when encountering situations not supported
with FIT images.  Binary size increase is small and it doesn't generate any
output during normal use.  I'm OK either way.  What do you recommend?

On Wed, Dec 7, 2016 at 3:22 PM, Joel Stanley <joel@jms.id.au> wrote:

> On Thu, Dec 8, 2016 at 4:54 AM, Cédric Le Goater <clg@kaod.org> wrote:
>
> >> +CONFIG_EFI_LOADER=n
> >> +CONFIG_FIT=y
> >> +CONFIG_FIT_VERBOSE=y
>
> Are we sure we want verbose to be enabled?
>
> Cheers,
>
> Joel
>
Joel Stanley Dec. 7, 2016, 11:30 p.m. UTC | #4
On Thu, Dec 8, 2016 at 9:56 AM, Rick Altherr <raltherr@google.com> wrote:
>> >> +CONFIG_EFI_LOADER=n
>> >> +CONFIG_FIT=y
>> >> +CONFIG_FIT_VERBOSE=y
>>
>> Are we sure we want verbose to be enabled?
>>
> It turns on a few error messages when encountering situations not supported
> with FIT images.  Binary size increase is small and it doesn't generate any
> output during normal use.  I'm OK either way.  What do you recommend?

That's enough justification for me.

We can always revisit later if users are confused by the extra output.
diff mbox

Patch

diff --git a/configs/ast_g4_ncsi_defconfig b/configs/ast_g4_ncsi_defconfig
index 4ee71c5..ab4907c 100644
--- a/configs/ast_g4_ncsi_defconfig
+++ b/configs/ast_g4_ncsi_defconfig
@@ -1,7 +1,12 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_AST_G4=y
 CONFIG_SYS_PROMPT="ast# "
+CONFIG_CMD_BOOTEFI=n
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_EFI_LOADER=n
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_OF_LIBFDT=y
 CONFIG_SPI_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/ast_g4_phy_defconfig b/configs/ast_g4_phy_defconfig
index 61fd69b..21a56c4 100644
--- a/configs/ast_g4_phy_defconfig
+++ b/configs/ast_g4_phy_defconfig
@@ -2,7 +2,12 @@  CONFIG_ARM=y
 CONFIG_TARGET_AST_G4=y
 CONFIG_ASPEED_NET_PHY=y
 CONFIG_SYS_PROMPT="ast# "
+CONFIG_CMD_BOOTEFI=n
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_EFI_LOADER=n
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_OF_LIBFDT=y
 CONFIG_SPI_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/ast_g5_ncsi_defconfig b/configs/ast_g5_ncsi_defconfig
index 6d11afb..7cd4fd1 100644
--- a/configs/ast_g5_ncsi_defconfig
+++ b/configs/ast_g5_ncsi_defconfig
@@ -1,7 +1,12 @@ 
 CONFIG_ARM=y
 CONFIG_TARGET_AST_G5=y
 CONFIG_SYS_PROMPT="ast# "
+CONFIG_CMD_BOOTEFI=n
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_EFI_LOADER=n
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_OF_LIBFDT=y
 CONFIG_SPI_FLASH=y
 CONFIG_SYS_NS16550=y
diff --git a/configs/ast_g5_phy_defconfig b/configs/ast_g5_phy_defconfig
index 20f62e0..c686dd2 100644
--- a/configs/ast_g5_phy_defconfig
+++ b/configs/ast_g5_phy_defconfig
@@ -2,7 +2,12 @@  CONFIG_ARM=y
 CONFIG_TARGET_AST_G5=y
 CONFIG_ASPEED_NET_PHY=y
 CONFIG_SYS_PROMPT="ast# "
+CONFIG_CMD_BOOTEFI=n
 CONFIG_CMD_DHCP=y
 CONFIG_CMD_PING=y
+CONFIG_EFI_LOADER=n
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_OF_LIBFDT=y
 CONFIG_SPI_FLASH=y
 CONFIG_SYS_NS16550=y