diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/google/oak/Kconfig | 18 | ||||
-rw-r--r-- | src/mainboard/google/oak/Kconfig.name | 5 | ||||
-rw-r--r-- | src/mainboard/google/oak/bootblock.c | 4 | ||||
-rw-r--r-- | src/mainboard/google/oak/chromeos.c | 2 | ||||
-rw-r--r-- | src/mainboard/google/oak/mainboard.c | 30 | ||||
-rw-r--r-- | src/mainboard/google/oak/romstage.c | 2 |
6 files changed, 43 insertions, 18 deletions
diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig index 79d43d4b63..e8624d2cab 100644 --- a/src/mainboard/google/oak/Kconfig +++ b/src/mainboard/google/oak/Kconfig @@ -13,7 +13,10 @@ ## GNU General Public License for more details. ## -if BOARD_GOOGLE_OAK +config BOARD_GOOGLE_OAK_COMMON + def_bool n + +if BOARD_GOOGLE_OAK_COMMON config BOARD_SPECIFIC_OPTIONS def_bool y @@ -41,7 +44,11 @@ config MAINBOARD_DIR config MAINBOARD_PART_NUMBER string - default "oak" + default "Oak" + +config MAINBOARD_VENDOR + string + default "Google" config EC_GOOGLE_CHROMEEC_SPI_BUS hex @@ -71,4 +78,11 @@ config GBB_HWID string depends on CHROMEOS default "OAK TEST 6858" + +# All Oak-derivatives count their board IDs as 0 being equivalent to Oak rev6. +config BOARD_ID_ADJUSTMENT + int + default 0 if BOARD_GOOGLE_OAK + default 6 + endif # BOARD_GOOGLE_OAK diff --git a/src/mainboard/google/oak/Kconfig.name b/src/mainboard/google/oak/Kconfig.name index 49e27d7b6b..ba85ad858f 100644 --- a/src/mainboard/google/oak/Kconfig.name +++ b/src/mainboard/google/oak/Kconfig.name @@ -1,2 +1,7 @@ config BOARD_GOOGLE_OAK bool "Oak" + select BOARD_GOOGLE_OAK_COMMON + +config BOARD_GOOGLE_ELM + bool "Elm" + select BOARD_GOOGLE_OAK_COMMON diff --git a/src/mainboard/google/oak/bootblock.c b/src/mainboard/google/oak/bootblock.c index 2c13b14720..325889cbb3 100644 --- a/src/mainboard/google/oak/bootblock.c +++ b/src/mainboard/google/oak/bootblock.c @@ -81,7 +81,7 @@ void bootblock_mainboard_init(void) nor_set_gpio_pinmux(); /* SPI_LEVEL_ENABLE: Enable 1.8V to 3.3V level shifter for EC SPI bus */ - if (board_id() > 4) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 4) gpio_output(PAD_SRCLKENAI2, 1); /* Init i2c bus 2 Timing register for TPM */ @@ -91,6 +91,6 @@ void bootblock_mainboard_init(void) setup_chromeos_gpios(); - if (board_id() < 4) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 4) mt6391_enable_reset_when_ap_resets(); } diff --git a/src/mainboard/google/oak/chromeos.c b/src/mainboard/google/oak/chromeos.c index ea6d21ffc3..0265c7a3c4 100644 --- a/src/mainboard/google/oak/chromeos.c +++ b/src/mainboard/google/oak/chromeos.c @@ -31,7 +31,7 @@ void setup_chromeos_gpios(void) gpio_input_pullup(EC_IRQ); gpio_input_pullup(LID); gpio_input_pullup(POWER_BUTTON); - if (board_id() < 5) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 5) gpio_output(EC_SUSPEND_L, 1); } diff --git a/src/mainboard/google/oak/mainboard.c b/src/mainboard/google/oak/mainboard.c index 5001a9a52b..7906593d7b 100644 --- a/src/mainboard/google/oak/mainboard.c +++ b/src/mainboard/google/oak/mainboard.c @@ -47,7 +47,7 @@ static void configure_ext_buck(void) { mtk_i2c_bus_init(EXT_BUCK_I2C_BUS); - switch (board_id()) { + switch (board_id() + CONFIG_BOARD_ID_ADJUSTMENT) { case 3: case 4: /* rev-3 and rev-4 use mt6311 as external buck */ @@ -78,7 +78,7 @@ static void configure_audio(void) mt6391_configure_ldo(LDO_VCAMA, LDO_1P8); /* reset ALC5676 */ - if (board_id() < 5) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 5) gpio_output(PAD_LCM_RST, 1); /* SoC I2S */ @@ -87,7 +87,7 @@ static void configure_audio(void) gpio_set_mode(PAD_I2S0_MCK, PAD_I2S0_MCK_FUNC_I2S1_MCK); gpio_set_mode(PAD_I2S0_DATA0, PAD_I2S0_DATA0_FUNC_I2S1_DO_1); gpio_set_mode(PAD_I2S0_DATA1, PAD_I2S0_DATA1_FUNC_I2S2_DI_2); - if (board_id() >= 5) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT >= 5) gpio_set_mode(PAD_UCTS0, PAD_UCTS0_FUNC_I2S2_DI_1); /* codec ext MCLK ON */ @@ -105,7 +105,7 @@ static void configure_usb(void) { setup_usb_host(); - if (board_id() > 3) { + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 3) { /* Enable current limit */ gpio_output(PAD_CM2MCLK, 1); /* Configure USB OC pins*/ @@ -114,7 +114,7 @@ static void configure_usb(void) gpio_input_pullup(PAD_PCM_SYNC); } - if (board_id() > 4) { + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 4) { /* USB 2.0 type A port over current interrupt pin(low active) */ gpio_input_pullup(PAD_UCTS2); /* USB 2.0 type A port BC1.2 STATUS(low active) */ @@ -125,7 +125,7 @@ static void configure_usb(void) static void configure_usb_hub(void) { /* set usb hub reset pin (low active) to high */ - if (board_id() > 4) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 4) gpio_output(PAD_UTXD3, 1); } @@ -133,7 +133,7 @@ static void configure_usb_hub(void) static void configure_backlight(void) { /* Configure PANEL_LCD_POWER_EN */ - switch (board_id()) { + switch (board_id() + CONFIG_BOARD_ID_ADJUSTMENT) { case 1: case 2: break; @@ -156,7 +156,7 @@ static void configure_display(void) { mtcmos_display_power_on(); - switch (board_id()) { + switch (board_id() + CONFIG_BOARD_ID_ADJUSTMENT) { case 0: /* board from Rev0, Rev1 */ /* vgp2 set to 1.8V for it6151 */ @@ -182,11 +182,17 @@ static void configure_display(void) mt6391_configure_ldo(LDO_VGP2, LDO_3P3); gpio_output(PAD_URTS0, 0); /* PS8640_SYSRSTN */ /* PS8640_1V2_ENABLE */ - gpio_output(board_id() == 4 ? PAD_SRCLKENAI2 : PAD_URTS2, 1); + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT == 4) + gpio_output(PAD_SRCLKENAI2, 1); + else + gpio_output(PAD_URTS2, 1); /* delay 2ms for vgp2 and PS8640_1V2_ENABLE stable */ mdelay(2); /* PS8640_PDN */ - gpio_output(board_id() > 4 ? PAD_LCM_RST : PAD_UCTS0, 1); + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT > 4) + gpio_output(PAD_LCM_RST, 1); + else + gpio_output(PAD_UCTS0, 1); gpio_output(PAD_PCM_CLK, 1); /* PS8640_MODE_CONF */ gpio_output(PAD_URTS0, 1); /* PS8640_SYSRSTN */ /* for level shift(1.8V to 3.3V) on */ @@ -200,7 +206,7 @@ static void display_startup(void) u8 i2c_bus; int ret; - switch (board_id()) { + switch (board_id() + CONFIG_BOARD_ID_ADJUSTMENT) { case 0: case 1: i2c_bus = 3; @@ -240,7 +246,7 @@ static void mainboard_init(device_t dev) /* TP_SHIFT_EN: Enables the level shifter for I2C bus 4 (TPAD), which * also contains the PS8640 eDP brige and the USB hub. */ - if (board_id() < 5) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 5) mt6391_gpio_output(MT6391_KP_ROW2, 1); /* Config SD card detection pin */ diff --git a/src/mainboard/google/oak/romstage.c b/src/mainboard/google/oak/romstage.c index 3d018a02b1..a92e4fb7c6 100644 --- a/src/mainboard/google/oak/romstage.c +++ b/src/mainboard/google/oak/romstage.c @@ -59,7 +59,7 @@ void main(void) ; /* Set to maximum frequency */ - if (board_id() < 5) + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT < 5) mt_pll_raise_ca53_freq(1600 * MHz); else mt_pll_raise_ca53_freq(1700 * MHz); |