[nelson] 16.20231130.3.59 u-boot source

GitOrigin-RevId: 58ee9686d8dae2eb30d91d5f8ccb7a8886811f73
Change-Id: I77161ccec22e52cc3e7b2f1794529618683d184f
Reviewed-on: https://turquoise-internal-review.googlesource.com/c/third_party/u-boot/+/816010
Reviewed-by: David Pursell <dpursell@google.com>
diff --git a/README.fuchsia.md b/README.fuchsia.md
new file mode 100644
index 0000000..9f2c195
--- /dev/null
+++ b/README.fuchsia.md
@@ -0,0 +1,54 @@
+# Fuchsia u-boot
+
+This repo contains a fork of [u-boot](README) that has been modified to boot
+[Fuchsia](https://fuchsia.dev/).
+
+## Building
+
+This describes the basic build flow for a Linux x86_64 build host. You may be
+able to get it working with a different host machine, toolchain, build commands,
+etc but this is a known-working setup.
+
+### Prerequisites
+
+You'll need to install the compiler toolchain. Toolchain source is hosted at the
+links below, refer to the included docs for instructions on how to build. You
+may also be able to find prebuilt toolchain binaries online.
+
+* gcc-linaro-7.3.1-2018.05
+  * Source: https://chrome-infra-packages.appspot.com/p/fuchsia/third_party/source/gcc/linaro/+/version:7.3-2018.05
+  * target architecture: `aarch64-none-elf`
+* gcc-arm-none-eabi-6-2017-q2-update
+  * Source: https://chrome-infra-packages.appspot.com/p/fuchsia/third_party/source/gcc/arm/arm-none-eabi/+/version:6-2017-q2-update
+  * target architecture: `arm-none-eabi`
+
+Once you have the toolchain binaries, place them in an adjacent directory
+`sdk/linaro/`, so the resulting tree looks like:
+
+* <parent_dir>
+  * `u-boot/`
+  * `sdk/`
+    * `linaro/`
+      * `gcc-arm-none-eabi-6-2017-q2-update/`
+        * `bin/`
+        * `lib/`
+        * etc.
+      * `gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/`
+        * `bin/`
+        * `lib/`
+        * etc.
+
+### Compiling
+
+The simplest way to compile u-boot is to run:
+
+```
+BUILD_CONFIG=dev ./mk sm1_elaine_bx_zircon --board_name elaine-b4 debug
+```
+
+The resulting image will be in the u-boot root directory at `u-boot.bin`.
+
+This will attempt to do some extra work that doesn't apply here, so you can
+ignore any errors about other bootloader components (BL2, BL31, BL32) or
+encryption. As long as the binary was updated, the u-boot build completed
+successfully.
diff --git a/fip/build_bl33.sh b/fip/build_bl33.sh
index 79fbe3c..2e4298b 100755
--- a/fip/build_bl33.sh
+++ b/fip/build_bl33.sh
@@ -3,7 +3,7 @@
 LOCAL_PATH="$(readlink -f $(dirname ${BASH_SOURCE[0]})/)"
 
 
-readonly cross_compile=${LOCAL_PATH}/../../sdk/linaro/gcc-linaro-7.3.1-2018.05-i686_aarch64-elf/bin/aarch64-elf-
+readonly cross_compile=${LOCAL_PATH}/../../sdk/linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/aarch64-elf-
 readonly cross_compile_t32=${LOCAL_PATH}/../../sdk/linaro/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-
 
 function pre_build_uboot() {