platforms: Add fuji platform

Add platform code for fuji Power11 system, derived from rainier
platform with few differences.

Fuji's probing is slightly different from rainier platform's probe, as
fuji skips rainier_pau_create_i2c_bus, which used to create i2cm nodes
for rainier.

'rainier_pau_create_i2c_bus' job is to create i2cm@a1000 nodes if they
are missing from device tree.
But for Fuji, hostboot already passes i2cm@a2000 nodes, so no need to
create duplicate nodes, hence skip rainier_pau_create_i2c_bus

Fuji's init is also slightly different from rainier init, we don't do
'rainier_init_slot_power' like done for rainier, as even with the
generic code path of astbmc_init, the slot's are powering up and able to
use successfully, so did not need rainier_init_slot_power

Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
[arbab@linux.ibm.com: Fixed up copyright line]
Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
diff --git a/platforms/astbmc/Makefile.inc b/platforms/astbmc/Makefile.inc
index 1cdf37f..81aad21 100644
--- a/platforms/astbmc/Makefile.inc
+++ b/platforms/astbmc/Makefile.inc
@@ -4,7 +4,7 @@
 	      witherspoon.o zaius.o romulus.o p9dsu.o \
 	      nicole.o mihawk.o mowgli.o \
 	      talos.o blackbird.o \
-	      swift.o rainier.o
+	      swift.o rainier.o fuji.o
 
 ifeq ($(CONFIG_P8),1)
 ASTBMC_OBJS += palmetto.o habanero.o firestone.o \
diff --git a/platforms/astbmc/fuji.c b/platforms/astbmc/fuji.c
new file mode 100644
index 0000000..ece03a9
--- /dev/null
+++ b/platforms/astbmc/fuji.c
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: Apache-2.0
+/*
+ * Copyright (c) 2026 IBM Corp.
+ */
+
+#include <skiboot.h>
+#include <stdbool.h>
+
+#include "astbmc.h"
+#include "device.h"
+#include "ipmi.h"
+
+static bool fuji_probe(void)
+{
+	if (!dt_node_is_compatible(dt_root, "ibm,fuji"))
+		return false;
+
+	astbmc_early_init();
+
+	/* Setup UART for use by OPAL (Linux hvc) */
+	uart_set_console_policy(UART_CONSOLE_OPAL);
+
+	return true;
+}
+
+DECLARE_PLATFORM(fuji) = {
+	.name			= "Fuji",
+	.probe			= fuji_probe,
+	.init			= astbmc_init,
+	.start_preload_resource	= flash_start_preload_resource,
+	.resource_loaded	= flash_resource_loaded,
+	.bmc			= &bmc_plat_ast2600_openbmc,
+	.cec_power_down         = astbmc_ipmi_power_down,
+	.cec_reboot             = astbmc_ipmi_reboot,
+	.elog_commit		= ipmi_elog_commit,
+	.exit			= astbmc_exit,
+	.terminate		= ipmi_terminate,
+};