]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
android: boot: Add set_abootimg_addr() and set_avendor_bootimg_addr()
authorMattijs Korpershoek <mkorpershoek@baylibre.com>
Wed, 10 Jul 2024 08:40:04 +0000 (10:40 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 18 Jul 2024 19:51:30 +0000 (13:51 -0600)
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>
cmd/abootimg.c
include/image.h

index 327712a536c0ff4d46f3727a6c6a243b38e9516b..ae7a1a7c83b043ba8656d6f91f2410db4d1f1094 100644 (file)
@@ -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;
index 9daaee15cdbb743871ced4db249c397114c28dc9..dd4042d1bd90e78e045beff1801b2a64eea8b56f 100644 (file)
@@ -1971,6 +1971,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
  *
@@ -1985,6 +1992,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
  *