mb/google/dedede: Create cret variant

Create the cret variant of the waddledoo 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:181325655
BRANCH=None
TEST=util/abuild/abuild -p none -t google/dedede -x -a
make sure the build includes GOOGLE_CRET

Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Change-Id: I700201cf81b25c6776df3ec9fc843cd9bd8c88c0
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51557
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
diff --git a/src/mainboard/google/dedede/Kconfig b/src/mainboard/google/dedede/Kconfig
index 31b686b..9f19dea 100644
--- a/src/mainboard/google/dedede/Kconfig
+++ b/src/mainboard/google/dedede/Kconfig
@@ -101,6 +101,7 @@
 	default "Sasukette" if BOARD_GOOGLE_SASUKETTE
 	default "Kracko" if BOARD_GOOGLE_KRACKO
 	default "Blipper" if BOARD_GOOGLE_BLIPPER
+	default "Cret" if BOARD_GOOGLE_CRET
 
 config MAX_CPUS
 	int
@@ -138,5 +139,6 @@
 	default "sasukette" if BOARD_GOOGLE_SASUKETTE
 	default "kracko" if BOARD_GOOGLE_KRACKO
 	default "blipper" if BOARD_GOOGLE_BLIPPER
+	default "cret" if BOARD_GOOGLE_CRET
 
 endif #BOARD_GOOGLE_BASEBOARD_DEDEDE
diff --git a/src/mainboard/google/dedede/Kconfig.name b/src/mainboard/google/dedede/Kconfig.name
index 1637ab9..0361e85 100644
--- a/src/mainboard/google/dedede/Kconfig.name
+++ b/src/mainboard/google/dedede/Kconfig.name
@@ -117,3 +117,10 @@
 	bool "-> Blipper"
 	select BOARD_GOOGLE_BASEBOARD_DEDEDE
 	select BASEBOARD_DEDEDE_LAPTOP
+
+config BOARD_GOOGLE_CRET
+	bool "-> Cret"
+	select BOARD_GOOGLE_BASEBOARD_DEDEDE
+	select BASEBOARD_DEDEDE_LAPTOP
+	select DRIVERS_GENERIC_MAX98357A
+	select DRIVERS_I2C_DA7219
diff --git a/src/mainboard/google/dedede/variants/cret/include/variant/ec.h b/src/mainboard/google/dedede/variants/cret/include/variant/ec.h
new file mode 100644
index 0000000..08870e0
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/cret/include/variant/ec.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef MAINBOARD_EC_H
+#define MAINBOARD_EC_H
+
+#include <baseboard/ec.h>
+
+#endif
diff --git a/src/mainboard/google/dedede/variants/cret/include/variant/gpio.h b/src/mainboard/google/dedede/variants/cret/include/variant/gpio.h
new file mode 100644
index 0000000..9078664
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/cret/include/variant/gpio.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef MAINBOARD_GPIO_H
+#define MAINBOARD_GPIO_H
+
+#include <baseboard/gpio.h>
+
+#endif /* MAINBOARD_GPIO_H */
diff --git a/src/mainboard/google/dedede/variants/cret/memory/Makefile.inc b/src/mainboard/google/dedede/variants/cret/memory/Makefile.inc
new file mode 100644
index 0000000..b0ca222
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/cret/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.spd.hex
diff --git a/src/mainboard/google/dedede/variants/cret/memory/dram_id.generated.txt b/src/mainboard/google/dedede/variants/cret/memory/dram_id.generated.txt
new file mode 100644
index 0000000..fa24790
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/cret/memory/dram_id.generated.txt
@@ -0,0 +1 @@
+DRAM Part Name                 ID to assign
diff --git a/src/mainboard/google/dedede/variants/cret/memory/mem_parts_used.txt b/src/mainboard/google/dedede/variants/cret/memory/mem_parts_used.txt
new file mode 100644
index 0000000..e4258b5
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/cret/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
+# gen_part_id tool from util/spd_tools/{ddr4,lp4x}.
+# See util/spd_tools/{ddr4,lp4x}/README.md for more details and instructions.
+
+# Part Name
diff --git a/src/mainboard/google/dedede/variants/cret/overridetree.cb b/src/mainboard/google/dedede/variants/cret/overridetree.cb
new file mode 100644
index 0000000..806349e
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/cret/overridetree.cb
@@ -0,0 +1,48 @@
+chip soc/intel/jasperlake
+
+	# USB Port Configuration
+
+	# Intel Common SoC Config
+	#+-------------------+---------------------------+
+	#| Field             |  Value                    |
+	#+-------------------+---------------------------+
+	#| GSPI0             | cr50 TPM. Early init is   |
+	#|                   | required to set up a BAR  |
+	#|                   | for TPM communication     |
+	#|                   | before memory is up       |
+	#| I2C0              | Trackpad                  |
+	#| I2C1              | Digitizer                 |
+	#| I2C2              | Touchscreen               |
+	#| I2C3              | Camera                    |
+	#| I2C4              | Audio                     |
+	#+-------------------+---------------------------+
+	register "common_soc_config" = "{
+		.gspi[0] = {
+			.speed_mhz = 1,
+			.early_init = 1,
+		},
+		.i2c[0] = {
+			.speed = I2C_SPEED_FAST,
+		},
+		.i2c[1] = {
+			.speed = I2C_SPEED_FAST,
+		},
+		.i2c[2] = {
+			.speed = I2C_SPEED_FAST,
+		},
+		.i2c[3] = {
+			.speed = I2C_SPEED_FAST,
+		},
+		.i2c[4] = {
+			.speed = I2C_SPEED_FAST,
+		},
+	}"
+	device domain 0 on
+		device pci 14.0 on end
+		device pci 15.0 on end
+		device pci 15.2 on end
+		device pci 1c.7 on end
+		device pci 19.0 on end
+		device pci 1f.3 on end
+	end
+end