diff --git a/src/soc/cavium/cn81xx/soc.c b/src/soc/cavium/cn81xx/soc.c
index 20542e5..efe7d6d 100644
--- a/src/soc/cavium/cn81xx/soc.c
+++ b/src/soc/cavium/cn81xx/soc.c
@@ -185,7 +185,7 @@
 	size_t i;
 
 	/* Set the sclk clock rate. */
-	dt_node = dt_find_node_by_path(tree, "soc@0/sclk", NULL, NULL, 0);
+	dt_node = dt_find_node_by_path(tree, "/soc@0/sclk", NULL, NULL, 0);
 	if (dt_node) {
 		const u32 freq = thunderx_get_io_clock();
 		printk(BIOS_INFO, "%s: Set SCLK to %u Hz\n", __func__, freq);
@@ -195,7 +195,7 @@
 		       __func__);
 
 	/* Set refclkuaa clock rate. */
-	dt_node = dt_find_node_by_path(tree, "soc@0/refclkuaa", NULL,
+	dt_node = dt_find_node_by_path(tree, "/soc@0/refclkuaa", NULL,
 				       NULL, 0);
 	if (dt_node) {
 		const u32 freq = uart_platform_refclk();
@@ -211,7 +211,7 @@
 		char path[32];
 		const uint64_t addr = UAAx_PF_BAR0(i);
 		/* Remove the node */
-		snprintf(path, sizeof(path), "soc@0/serial@%llx", addr);
+		snprintf(path, sizeof(path), "/soc@0/serial@%llx", addr);
 		dt_node = dt_find_node_by_path(tree, path, NULL, NULL, 0);
 		if (!dt_node || uart_is_enabled(i)) {
 			printk(BIOS_INFO, "%s: ignoring %s\n", __func__, path);
@@ -227,7 +227,7 @@
 		u32 phandle = 0;
 		const uint64_t addr = PEM_PEMX_PF_BAR0(i);
 		/* Remove the node */
-		snprintf(path, sizeof(path), "soc@0/pci@%llx", addr);
+		snprintf(path, sizeof(path), "/soc@0/pci@%llx", addr);
 		dt_node = dt_find_node_by_path(tree, path, NULL, NULL, 0);
 		if (!dt_node || bdk_pcie_is_running(0, i)) {
 			printk(BIOS_INFO, "%s: ignoring %s\n", __func__, path);
@@ -239,7 +239,7 @@
 		list_remove(&dt_node->list_node);
 
 		/* Remove phandle to non existing nodes */
-		snprintf(path, sizeof(path), "soc@0/smmu0@%llx", SMMU_PF_BAR0);
+		snprintf(path, sizeof(path), "/soc@0/smmu0@%llx", SMMU_PF_BAR0);
 		dt_node = dt_find_node_by_path(tree, path, NULL, NULL, 0);
 		if (!dt_node) {
 			printk(BIOS_ERR, "%s: SMMU entry not found\n",
