mb/google/rex: Create karis variant

Create the karis variant of the rex0 reference board by copying
the template files to a new directory named for the variant.

(Auto-Generated by create_coreboot_variant.sh version 4.5.0.)

BUG=b:285195072
TEST=util/abuild/abuild -p none -t google/rex -x -a
make sure the build includes GOOGLE_KARIS

Change-Id: I16d8b43390401789b87a6233238e37f32a17b46b
Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75551
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
diff --git a/src/mainboard/google/rex/Kconfig b/src/mainboard/google/rex/Kconfig
index e6313bf..89a2f81 100644
--- a/src/mainboard/google/rex/Kconfig
+++ b/src/mainboard/google/rex/Kconfig
@@ -83,11 +83,13 @@
 config MAINBOARD_PART_NUMBER
 	default "Rex" if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_REX_EC_ISH
 	default "Screebo" if BOARD_GOOGLE_SCREEBO
+	default "Karis" if BOARD_GOOGLE_KARIS
 
 config VARIANT_DIR
 	string
 	default "rex0" if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_REX_EC_ISH
 	default "screebo" if BOARD_GOOGLE_SCREEBO
+	default "karis" if BOARD_GOOGLE_KARIS
 
 config DIMM_SPD_SIZE
 	default 512
diff --git a/src/mainboard/google/rex/Kconfig.name b/src/mainboard/google/rex/Kconfig.name
index 9d81dc0..31b4cc6 100644
--- a/src/mainboard/google/rex/Kconfig.name
+++ b/src/mainboard/google/rex/Kconfig.name
@@ -13,6 +13,10 @@
 	bool "->  Screebo"
 	select BOARD_GOOGLE_BASEBOARD_REX
 
+config BOARD_GOOGLE_KARIS
+	bool "->  Karis"
+	select BOARD_GOOGLE_BASEBOARD_REX
+
 config BOARD_GOOGLE_REX_EC_ISH
 	bool "-> Rex EC ISH"
 	select BOARD_GOOGLE_BASEBOARD_REX
diff --git a/src/mainboard/google/rex/variants/karis/Makefile.inc b/src/mainboard/google/rex/variants/karis/Makefile.inc
new file mode 100644
index 0000000..6c29346
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/Makefile.inc
@@ -0,0 +1,5 @@
+bootblock-y += gpio.c
+
+romstage-y += gpio.c
+
+ramstage-y += gpio.c
diff --git a/src/mainboard/google/rex/variants/karis/gpio.c b/src/mainboard/google/rex/variants/karis/gpio.c
new file mode 100644
index 0000000..b6e346f
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/gpio.c
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <baseboard/gpio.h>
+#include <baseboard/variants.h>
+#include <types.h>
+#include <soc/gpio.h>
+#include <vendorcode/google/chromeos/chromeos.h>
+
+const struct pad_config *variant_gpio_table(size_t *num)
+{
+	*num = 0;
+	return NULL;
+}
+
+const struct pad_config *variant_early_gpio_table(size_t *num)
+{
+	*num = 0;
+	return NULL;
+}
+
+static const struct cros_gpio cros_gpios[] = {
+};
+
+DECLARE_CROS_GPIOS(cros_gpios);
+
+const struct pad_config *variant_romstage_gpio_table(size_t *num)
+{
+	*num = 0;
+	return NULL;
+}
diff --git a/src/mainboard/google/rex/variants/karis/include/variant/ec.h b/src/mainboard/google/rex/variants/karis/include/variant/ec.h
new file mode 100644
index 0000000..7a2a6ff
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/include/variant/ec.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef __VARIANT_EC_H__
+#define __VARIANT_EC_H__
+
+#include <baseboard/ec.h>
+
+#endif
diff --git a/src/mainboard/google/rex/variants/karis/include/variant/gpio.h b/src/mainboard/google/rex/variants/karis/include/variant/gpio.h
new file mode 100644
index 0000000..c4fe342
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/include/variant/gpio.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef VARIANT_GPIO_H
+#define VARIANT_GPIO_H
+
+#include <baseboard/gpio.h>
+
+#endif
diff --git a/src/mainboard/google/rex/variants/karis/memory/Makefile.inc b/src/mainboard/google/rex/variants/karis/memory/Makefile.inc
new file mode 100644
index 0000000..eace2e4
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/memory/Makefile.inc
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# This is an auto-generated file. Do not edit!!
+# Add memory parts in mem_parts_used.txt and run spd_tools to regenerate.
+
+SPD_SOURCES = placeholder
diff --git a/src/mainboard/google/rex/variants/karis/memory/dram_id.generated.txt b/src/mainboard/google/rex/variants/karis/memory/dram_id.generated.txt
new file mode 100644
index 0000000..fa24790
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/memory/dram_id.generated.txt
@@ -0,0 +1 @@
+DRAM Part Name                 ID to assign
diff --git a/src/mainboard/google/rex/variants/karis/memory/mem_parts_used.txt b/src/mainboard/google/rex/variants/karis/memory/mem_parts_used.txt
new file mode 100644
index 0000000..9621137
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/memory/mem_parts_used.txt
@@ -0,0 +1,11 @@
+# This is a CSV file containing a list of memory parts used by this variant.
+# One part per line with an optional fixed ID in column 2.
+# Only include a fixed ID if it is required for legacy reasons!
+# Generated IDs are dependent on the order of parts in this file,
+# so new parts must always be added at the end of the file!
+#
+# Generate an updated Makefile.inc and dram_id.generated.txt by running the
+# part_id_gen tool from util/spd_tools.
+# See util/spd_tools/README.md for more details and instructions.
+
+# Part Name
diff --git a/src/mainboard/google/rex/variants/karis/overridetree.cb b/src/mainboard/google/rex/variants/karis/overridetree.cb
new file mode 100644
index 0000000..6c284b3
--- /dev/null
+++ b/src/mainboard/google/rex/variants/karis/overridetree.cb
@@ -0,0 +1,6 @@
+chip soc/intel/meteorlake
+
+        device domain 0 on
+        end
+
+end