mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-03 02:03:01 +00:00

Add support for the Libre Computer aml-a311d-cc "Alta" board: https://libre.computer/products/aml-a311d-cc/ The Alta board has a Credit Card form factor, similar to the the prvevious "Le Potato" card, but with the Amlogic A311D SoC, MIPI DSI and CSI connectors. PoE header and a single USB2 Type-C connector replacing the microUSB one for power and USB 2.0. The board has an embedded SPI NOR flash, and EFI Capsule support is added. The GUID is dynamically generated for the board, to get it: => efidebug capsule esrt ======================================== ESRT: fw_resource_count=1 ESRT: fw_resource_count_max=1 ESRT: fw_resource_version=1 [entry 0]============================== ESRT: fw_class=17E07D9D-4D91-53F4-8780-1D91F279C1A5 ESRT: fw_type=unknown ESRT: fw_version=0 ESRT: lowest_supported_fw_version=0 ESRT: capsule_flags=0 ESRT: last_attempt_version=0 ESRT: last_attempt_status=success ======================================== On the host (with the aml_encrypt_g12a result binary): $ eficapsule --guid 17E07D9D-4D91-53F4-8780-1D91F279C1A5 -i 1 u-boot.bin u-boot.cap On the board (from USB disk containing u-boot.cap at root): => load usb 0:1 $kernel_addr_r u-boot.cap => efidebug capsule update $kernel_addr_r The binary will then be flashed on the SPI. Link: https://lore.kernel.org/r/20240920-u-boot-topic-libre-computer-solitude-alta-v1-1-8915b108840b@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
44 lines
919 B
C
44 lines
919 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (C) 2016 BayLibre, SAS
|
|
* Author: Neil Armstrong <narmstrong@baylibre.com>
|
|
*/
|
|
|
|
#include <dm.h>
|
|
#include <env.h>
|
|
#include <init.h>
|
|
#include <net.h>
|
|
#include <efi_loader.h>
|
|
#include <asm/io.h>
|
|
#include <asm/arch/eth.h>
|
|
|
|
struct efi_fw_image fw_images[] = {
|
|
{
|
|
.fw_name = u"AML_A311D_CC_BOOT",
|
|
.image_index = 1,
|
|
},
|
|
};
|
|
|
|
struct efi_capsule_update_info update_info = {
|
|
.dfu_string = "sf 0:0=u-boot-bin raw 0 0x10000",
|
|
.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 (strcmp(interface, "ram") == 0)
|
|
env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000");
|
|
else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
|
|
env_set("dfu_alt_info", update_info.dfu_string);
|
|
}
|
|
#endif
|
|
|
|
int misc_init_r(void)
|
|
{
|
|
meson_generate_serial_ethaddr();
|
|
|
|
return 0;
|
|
}
|