aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMattijs Korpershoek2024-07-10 10:40:04 +0200
committerTom Rini2024-07-18 13:51:30 -0600
commita525656c5ba69d307864c4de14e911384cc7dc0c (patch)
tree794ac4d0a16ba272989083089ae1bacbc57bac4b
parentbe0b076c55a3de8a1a10053a8db9ff9ca8ffb8ac (diff)
android: boot: Add set_abootimg_addr() and set_avendor_bootimg_addr()
The only way to configure the load addresses for both bootimg and vendor_bootimg is by using the "abootimg" command. If we want to use the C API, there is no equivalent. Add set_abootimg_addr() and set_avendor_bootimg_addr() so that we can specify the load address from C. This can be useful for implementing an Android bootmethod. Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com> Reviewed-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Guillaume La Roque <glaroque@baylibre.com> Tested-by: Guillaume La Roque <glaroque@baylibre.com> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
-rw-r--r--cmd/abootimg.c10
-rw-r--r--include/image.h14
2 files changed, 24 insertions, 0 deletions
diff --git a/cmd/abootimg.c b/cmd/abootimg.c
index 327712a536c..ae7a1a7c83b 100644
--- a/cmd/abootimg.c
+++ b/cmd/abootimg.c
@@ -22,6 +22,11 @@ ulong get_abootimg_addr(void)
return (_abootimg_addr == -1 ? image_load_addr : _abootimg_addr);
}
+void set_abootimg_addr(ulong addr)
+{
+ _abootimg_addr = addr;
+}
+
ulong get_ainit_bootimg_addr(void)
{
return _ainit_bootimg_addr;
@@ -32,6 +37,11 @@ ulong get_avendor_bootimg_addr(void)
return _avendor_bootimg_addr;
}
+void set_avendor_bootimg_addr(ulong addr)
+{
+ _avendor_bootimg_addr = addr;
+}
+
static int abootimg_get_ver(int argc, char *const argv[])
{
const struct andr_boot_img_hdr_v0 *hdr;
diff --git a/include/image.h b/include/image.h
index 9daaee15cdb..dd4042d1bd9 100644
--- a/include/image.h
+++ b/include/image.h
@@ -1972,6 +1972,13 @@ bool is_android_vendor_boot_image_header(const void *vendor_boot_img);
ulong get_abootimg_addr(void);
/**
+ * set_abootimg_addr() - Set Android boot image address
+ *
+ * Return: no returned results
+ */
+void set_abootimg_addr(ulong addr);
+
+/**
* get_ainit_bootimg_addr() - Get Android init boot image address
*
* Return: Android init boot image address
@@ -1986,6 +1993,13 @@ ulong get_ainit_bootimg_addr(void);
ulong get_avendor_bootimg_addr(void);
/**
+ * set_abootimg_addr() - Set Android vendor boot image address
+ *
+ * Return: no returned results
+ */
+void set_avendor_bootimg_addr(ulong addr);
+
+/**
* board_fit_config_name_match() - Check for a matching board name
*
* This is used when SPL loads a FIT containing multiple device tree files