diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig
index 01bd0bc..083ed9c 100644
--- a/src/mainboard/google/oak/Kconfig
+++ b/src/mainboard/google/oak/Kconfig
@@ -81,6 +81,7 @@
 	default "Oak" if BOARD_GOOGLE_OAK
 	default "Elm" if BOARD_GOOGLE_ELM
 	default "Hana" if BOARD_GOOGLE_HANA
+	default "Rowan" if BOARD_GOOGLE_ROWAN
 
 config GBB_HWID
 	string
@@ -88,6 +89,7 @@
 	default "OAK TEST 6858" if BOARD_GOOGLE_OAK
 	default "ELM TEST 3839" if BOARD_GOOGLE_ELM
 	default "HANA TEST 5855" if BOARD_GOOGLE_HANA
+	default "ROWAN TEST 5855" if BOARD_GOOGLE_ROWAN
 
 # All Oak-derivatives count their board IDs as 0 being equivalent to Oak rev6.
 config BOARD_ID_ADJUSTMENT
@@ -95,5 +97,6 @@
 	default 0 if BOARD_GOOGLE_OAK
 	default 7 if BOARD_GOOGLE_ELM
 	default 11 if BOARD_GOOGLE_HANA
+	default 15 if BOARD_GOOGLE_ROWAN
 
 endif # BOARD_GOOGLE_OAK
diff --git a/src/mainboard/google/oak/Kconfig.name b/src/mainboard/google/oak/Kconfig.name
index 95e4a3d..40a97e6 100644
--- a/src/mainboard/google/oak/Kconfig.name
+++ b/src/mainboard/google/oak/Kconfig.name
@@ -9,3 +9,7 @@
 config BOARD_GOOGLE_HANA
 	bool "Hana"
 	select BOARD_GOOGLE_OAK_COMMON
+
+config BOARD_GOOGLE_ROWAN
+	bool "ROWAN"
+	select BOARD_GOOGLE_OAK_COMMON
diff --git a/src/mainboard/google/oak/chromeos.c b/src/mainboard/google/oak/chromeos.c
index 60c24e7..fe4574e 100644
--- a/src/mainboard/google/oak/chromeos.c
+++ b/src/mainboard/google/oak/chromeos.c
@@ -26,7 +26,7 @@
 	gpio_input(WRITE_PROTECT);
 	gpio_input_pullup(EC_IN_RW);
 	gpio_input_pullup(EC_IRQ);
-	gpio_input_pullup(LID);
+	gpio_input(LID);
 	gpio_input_pullup(POWER_BUTTON);
 	if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 5)
 		gpio_output(EC_SUSPEND_L, 1);
diff --git a/src/mainboard/google/oak/gpio.h b/src/mainboard/google/oak/gpio.h
index ba74c88..3c0f51a 100644
--- a/src/mainboard/google/oak/gpio.h
+++ b/src/mainboard/google/oak/gpio.h
@@ -17,8 +17,9 @@
 #define __MAINBOARD_GOOGLE_OAK_GPIO_H__
 #include <soc/pinmux.h>
 
-#define LID ((board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 7) ? \
-	PAD_EINT12 : PAD_SPI_CK)
+#define LID ((IS_ENABLED(CONFIG_BOARD_GOOGLE_ROWAN)) ? PAD_KPROW1 \
+	: ((board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 7) ? PAD_EINT12 \
+	: PAD_SPI_CK))
 
 
 enum {
diff --git a/src/mainboard/google/oak/mainboard.c b/src/mainboard/google/oak/mainboard.c
index ad5ecd4..7cb6a68 100644
--- a/src/mainboard/google/oak/mainboard.c
+++ b/src/mainboard/google/oak/mainboard.c
@@ -127,11 +127,15 @@
 	setup_usb_host();
 
 	if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 3) {
-		/* Enable current limit */
-		gpio_output(PAD_CM2MCLK, 1);
-		/* Configure USB OC pins*/
+		/* Type C port 0 Over current alert pin */
 		gpio_input_pullup(PAD_MSDC3_DSL);
-		gpio_input_pullup(PAD_CMPCLK);
+		if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_ROWAN)) {
+			/* Enable USB3 type A port 0 5V load switch */
+			gpio_output(PAD_CM2MCLK, 1);
+			/* USB3 Type A port 0 power over current alert pin */
+			gpio_input_pullup(PAD_CMPCLK);
+		}
+		/* Type C port 1 over current alert pin */
 		if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 7)
 			gpio_input_pullup(PAD_PCM_SYNC);
 	}
@@ -148,6 +152,9 @@
 
 static void configure_usb_hub(void)
 {
+	if (IS_ENABLED(CONFIG_BOARD_GOOGLE_ROWAN))
+		return;
+
 	/* set usb hub reset pin (low active) to high */
 	if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 4)
 		gpio_output(PAD_UTXD3, 1);
@@ -257,9 +264,13 @@
 	mtk_dsi_pin_drv_ctrl();
 
 	if (display_init_required()) {
-		configure_backlight();
-		configure_display();
-		display_startup();
+		if (IS_ENABLED(CONFIG_BOARD_GOOGLE_ROWAN)) {
+			/* display initialization for Rowan */
+		} else {
+			configure_backlight();
+			configure_display();
+			display_startup();
+		}
 	} else {
 		printk(BIOS_INFO, "Skipping display init.\n");
 	}
