summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-01-22 11:23:35 -0600
committerTom Rini <[email protected]>2025-01-22 11:23:35 -0600
commit2eed5a1ff36217372e19f7513bd07077fc76718a (patch)
treee98aadc2d4d04fc12504d00db17c4edc38bbb59d /arch
parent380b32f54f4b30f6f9b430c5d73d8b12f90f2918 (diff)
parent599a1f9076d34c29d3683e0f833706478d62d9e0 (diff)
Merge https://source.denx.de/u-boot/custodians/u-boot-snapdragon
The highlights are: * Fixed boot regression due to broken memory parsing * Enable HW RNG and KASLR on all platforms * Add support for Snapdragon X1 Elite hardware (clk/pinctrl) * Add support for QCS9100 ride automotive development platform (clk/ufs) * Add support for PCIe on SM8550, SM8650 and X1E * Implement software debounce for PMIC buttons Additionally, some minor improvements to "ufetch" have been pulled in: * Show CPU architecture (arm/mips/etc) * Make CONFIG_BLK optional * Fix 32-bit support
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/dts/qcs9100-ride-r3-u-boot.dtsi20
-rw-r--r--arch/arm/mach-snapdragon/board.c15
2 files changed, 28 insertions, 7 deletions
diff --git a/arch/arm/dts/qcs9100-ride-r3-u-boot.dtsi b/arch/arm/dts/qcs9100-ride-r3-u-boot.dtsi
new file mode 100644
index 00000000000..5905dfad18f
--- /dev/null
+++ b/arch/arm/dts/qcs9100-ride-r3-u-boot.dtsi
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/ {
+ /* Will be removed when bootloader updates later */
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x0 0x80000000 0x0 0x3ee00000>,
+ <0x0 0xc0000000 0x0 0x04d00000>,
+ <0xd 0x00000000 0x2 0x54100000>,
+ <0xa 0x80000000 0x1 0x52d00000>,
+ <0x9 0x00000000 0x1 0x80000000>,
+ <0x1 0x00000000 0x2 0xf7500000>,
+ <0x0 0xd0000000 0x0 0x00100000>,
+ <0x0 0xd3500000 0x0 0x07c00000>,
+ <0x0 0xdb300000 0x0 0x24d00000>;
+ };
+};
diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
index f1319df4314..2ef936aab75 100644
--- a/arch/arm/mach-snapdragon/board.c
+++ b/arch/arm/mach-snapdragon/board.c
@@ -88,20 +88,21 @@ int dram_init_banksize(void)
return 0;
}
-static void qcom_parse_memory(void)
+static void qcom_parse_memory(const void *fdt)
{
- ofnode node;
+ int offset;
const fdt64_t *memory;
int memsize;
phys_addr_t ram_end = 0;
int i, j, banks;
- node = ofnode_path("/memory");
- if (!ofnode_valid(node)) {
+ offset = fdt_path_offset(fdt, "/memory");
+ if (offset < 0) {
log_err("No memory node found in device tree!\n");
return;
}
- memory = ofnode_read_prop(node, "reg", &memsize);
+
+ memory = fdt_getprop(fdt, offset, "reg", &memsize);
if (!memory) {
log_err("No memory configuration was provided by the previous bootloader!\n");
return;
@@ -158,7 +159,7 @@ int board_fdt_blob_setup(void **fdtp)
fdt = (struct fdt_header *)get_prev_bl_fdt_addr();
external_valid = fdt && !fdt_check_header(fdt);
- internal_valid = !fdt_check_header(gd->fdt_blob);
+ internal_valid = !fdt_check_header(*fdtp);
/*
* There is no point returning an error here, U-Boot can't do anything useful in this situation.
@@ -181,7 +182,7 @@ int board_fdt_blob_setup(void **fdtp)
* Parse the /memory node while we're here,
* this makes it easy to do other things early.
*/
- qcom_parse_memory();
+ qcom_parse_memory(*fdtp);
return ret;
}