diff options
Diffstat (limited to 'src/mainboard/google/oak')
-rw-r--r-- | src/mainboard/google/oak/Kconfig | 3 | ||||
-rw-r--r-- | src/mainboard/google/oak/Kconfig.name | 4 | ||||
-rw-r--r-- | src/mainboard/google/oak/chromeos.c | 2 | ||||
-rw-r--r-- | src/mainboard/google/oak/gpio.h | 5 | ||||
-rw-r--r-- | src/mainboard/google/oak/mainboard.c | 25 |
5 files changed, 29 insertions, 10 deletions
diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig index 01bd0bcffb..083ed9ced5 100644 --- a/src/mainboard/google/oak/Kconfig +++ b/src/mainboard/google/oak/Kconfig @@ -81,6 +81,7 @@ config MAINBOARD_PART_NUMBER 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 @@ config GBB_HWID 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 @@ config BOARD_ID_ADJUSTMENT 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 95e4a3d4c9..40a97e6cdb 100644 --- a/src/mainboard/google/oak/Kconfig.name +++ b/src/mainboard/google/oak/Kconfig.name @@ -9,3 +9,7 @@ config BOARD_GOOGLE_ELM 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 60c24e76ae..fe4574e89c 100644 --- a/src/mainboard/google/oak/chromeos.c +++ b/src/mainboard/google/oak/chromeos.c @@ -26,7 +26,7 @@ void setup_chromeos_gpios(void) 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 ba74c8816c..3c0f51afb6 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 ad5ecd4bd9..7cb6a68507 100644 --- a/src/mainboard/google/oak/mainboard.c +++ b/src/mainboard/google/oak/mainboard.c @@ -127,11 +127,15 @@ static void configure_usb(void) 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(void) 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 @@ static void mainboard_init(device_t dev) 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"); } |