google/oak: Add initial support for Rowan

Update GPIO controls and mainboard configurations for Rowan.

BUG=chrome-os-partner:62672
BRANCH=none
TEST=emerge-rowan coreboot

Change-Id: I18ebc3ccf4c7d051839d7c50e9b0682ef8f09830
Signed-off-by: Yidi Lin <yidi.lin@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/430557
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Yidi Lin 2017-02-17 15:59:17 +08:00 committed by chrome-bot
commit f4252cbe94
5 changed files with 29 additions and 10 deletions

View file

@ -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

View file

@ -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

View file

@ -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);

View file

@ -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 {

View file

@ -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");
}