soc/qualcomm: Do resource transition

For ipq806x this fixes two resources getting declared
with same index. The latter previously overwrote former.

Change-Id: Ifee321d930d5433c824e2e977f1bb455766582f0
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55914
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
diff --git a/src/soc/qualcomm/ipq806x/soc.c b/src/soc/qualcomm/ipq806x/soc.c
index 481ffc8..ad0510f 100644
--- a/src/soc/qualcomm/ipq806x/soc.c
+++ b/src/soc/qualcomm/ipq806x/soc.c
@@ -5,14 +5,16 @@
 #include <symbols.h>
 #include <soc/ipq_uart.h>
 
-#define RESERVED_SIZE_KB	(0x01500000 / KiB)
+#define RESERVED_SIZE	0x01500000 /* 21 MiB */
 
 static void soc_read_resources(struct device *dev)
 {
-	/* Reserve bottom 0x150_0000 bytes for NSS, SMEM, etc. */
-	reserved_ram_resource_kb(dev, 0, (uintptr_t)_dram / KiB, RESERVED_SIZE_KB);
-	ram_resource_kb(dev, 0, (uintptr_t)_dram / KiB + RESERVED_SIZE_KB,
-		     (CONFIG_DRAM_SIZE_MB * KiB) - RESERVED_SIZE_KB);
+	/* Reserve bottom 21 MiB for NSS, SMEM, etc. */
+	uintptr_t reserve_ram_end = (uintptr_t)_dram + RESERVED_SIZE;
+	uint64_t ram_end = CONFIG_DRAM_SIZE_MB * (uint64_t)MiB;
+
+	reserved_ram_from_to(dev, 0, (uintptr_t)_dram, reserve_ram_end);
+	ram_from_to(dev, 1, reserve_ram_end, ram_end);
 }
 
 static void soc_init(struct device *dev)
diff --git a/src/soc/qualcomm/qcs405/soc.c b/src/soc/qualcomm/qcs405/soc.c
index 4bcad74..f1a2def 100644
--- a/src/soc/qualcomm/qcs405/soc.c
+++ b/src/soc/qualcomm/qcs405/soc.c
@@ -7,9 +7,8 @@
 
 static void soc_read_resources(struct device *dev)
 {
-	ram_resource_kb(dev, 0, (uintptr_t)_dram / KiB, (1 * GiB) / KiB);
-	reserved_ram_resource_kb(dev, 1, (uintptr_t)_dram_reserved / KiB,
-			      REGION_SIZE(dram_reserved) / KiB);
+	ram_range(dev, 0, (uintptr_t)_dram, 1 * GiB);
+	reserved_ram_range(dev, 1, (uintptr_t)_dram_reserved, REGION_SIZE(dram_reserved));
 }
 
 static void soc_init(struct device *dev)
diff --git a/src/soc/qualcomm/sc7180/soc.c b/src/soc/qualcomm/sc7180/soc.c
index 93e36e2..d8df98a 100644
--- a/src/soc/qualcomm/sc7180/soc.c
+++ b/src/soc/qualcomm/sc7180/soc.c
@@ -12,14 +12,11 @@
 	void *start = NULL;
 	void *end = NULL;
 
-	ram_resource_kb(dev, 0, (uintptr_t)ddr_region->offset / KiB,
-				ddr_region->size / KiB);
-	reserved_ram_resource_kb(dev, 1, (uintptr_t)_dram_aop / KiB,
-				REGION_SIZE(dram_aop) / KiB);
-	reserved_ram_resource_kb(dev, 2, (uintptr_t)_dram_soc / KiB,
-				REGION_SIZE(dram_soc) / KiB);
+	ram_range(dev, 0, (uintptr_t)ddr_region->offset, ddr_region->size);
+	reserved_ram_range(dev, 1, (uintptr_t)_dram_aop, REGION_SIZE(dram_aop));
+	reserved_ram_range(dev, 2, (uintptr_t)_dram_soc, REGION_SIZE(dram_soc));
 	if (soc_modem_carve_out(&start, &end))
-		reserved_ram_resource_kb(dev, 3, (uintptr_t)start / KiB, (end - start) / KiB);
+		reserved_ram_range(dev, 3, (uintptr_t)start, end - start);
 }
 
 static void soc_init(struct device *dev)
diff --git a/src/soc/qualcomm/sc7280/soc.c b/src/soc/qualcomm/sc7280/soc.c
index c99abdc..c0c6a87 100644
--- a/src/soc/qualcomm/sc7280/soc.c
+++ b/src/soc/qualcomm/sc7280/soc.c
@@ -12,20 +12,14 @@
 	void *start = NULL;
 	void *end = NULL;
 
-	ram_resource_kb(dev, 0, (uintptr_t)ddr_region->offset / KiB,
-				ddr_region->size / KiB);
-	reserved_ram_resource_kb(dev, 1, (uintptr_t)_dram_soc / KiB,
-				REGION_SIZE(dram_soc) / KiB);
-	reserved_ram_resource_kb(dev, 2, (uintptr_t)_dram_wlan / KiB,
-				REGION_SIZE(dram_wlan) / KiB);
-	reserved_ram_resource_kb(dev, 3, (uintptr_t)_dram_wpss / KiB,
-				REGION_SIZE(dram_wpss) / KiB);
-	reserved_ram_resource_kb(dev, 4, (uintptr_t)_dram_aop / KiB,
-				REGION_SIZE(dram_aop) / KiB);
-	reserved_ram_resource_kb(dev, 5, (uintptr_t)_dram_cpucp / KiB,
-				REGION_SIZE(dram_cpucp) / KiB);
+	ram_range(dev, 0, (uintptr_t)ddr_region->offset, ddr_region->size);
+	reserved_ram_range(dev, 1, (uintptr_t)_dram_soc, REGION_SIZE(dram_soc));
+	reserved_ram_range(dev, 2, (uintptr_t)_dram_wlan, REGION_SIZE(dram_wlan));
+	reserved_ram_range(dev, 3, (uintptr_t)_dram_wpss, REGION_SIZE(dram_wpss));
+	reserved_ram_range(dev, 4, (uintptr_t)_dram_aop, REGION_SIZE(dram_aop));
+	reserved_ram_range(dev, 5, (uintptr_t)_dram_cpucp, REGION_SIZE(dram_cpucp));
 	if (soc_modem_carve_out(&start, &end))
-		reserved_ram_resource_kb(dev, 6, (uintptr_t)start / KiB, (end - start) / KiB);
+		reserved_ram_range(dev, 6, (uintptr_t)start, end - start);
 }
 
 static void soc_init(struct device *dev)