google/gru: Support Nefario rev0
Do not assert GPIO1_B3 otherwise BT would be disabled on Nefario. Also, remove DVS support for CENTERLOGIC. BUG=b:64702054, b:63537905 TEST=build coreboot Change-Id: I350db2c080f2e41ae56413f5f895557978ef0ba8 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://review.coreboot.org/21176 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
parent
662cf7f8a6
commit
a0618201d4
@ -25,6 +25,16 @@ config GRU_HAS_TPM2
|
|||||||
default n if BOARD_GOOGLE_KEVIN
|
default n if BOARD_GOOGLE_KEVIN
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config GRU_HAS_CENTERLOG_PWM
|
||||||
|
bool
|
||||||
|
default y if BOARD_GOOGLE_GRU || BOARD_GOOGLE_KEVIN || BOARD_GOOGLE_BOB
|
||||||
|
default n
|
||||||
|
|
||||||
|
config GRU_HAS_WLAN_RESET
|
||||||
|
bool
|
||||||
|
default y if BOARD_GOOGLE_GRU || BOARD_GOOGLE_KEVIN || BOARD_GOOGLE_BOB
|
||||||
|
default n
|
||||||
|
|
||||||
config BOARD_SPECIFIC_OPTIONS
|
config BOARD_SPECIFIC_OPTIONS
|
||||||
def_bool y
|
def_bool y
|
||||||
select BOARD_ID_AUTO
|
select BOARD_ID_AUTO
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
#define GPIO_P30V_EN dead_code_t(gpio_t, "PP3000 doesn't exist on Scarlet")
|
#define GPIO_P30V_EN dead_code_t(gpio_t, "PP3000 doesn't exist on Scarlet")
|
||||||
#define GPIO_TP_RST_L dead_code_t(gpio_t, "don't need TP_RST_L on Scarlet")
|
#define GPIO_TP_RST_L dead_code_t(gpio_t, "don't need TP_RST_L on Scarlet")
|
||||||
#define GPIO_TPM_IRQ GPIO(1, C, 1)
|
#define GPIO_TPM_IRQ GPIO(1, C, 1)
|
||||||
#define GPIO_WLAN_RST_L dead_code_t(gpio_t, "no WLAN reset on Scarlet in FW")
|
|
||||||
#define GPIO_WP GPIO(0, B, 5)
|
#define GPIO_WP GPIO(0, B, 5)
|
||||||
#else
|
#else
|
||||||
#define GPIO_BACKLIGHT GPIO(1, C, 1)
|
#define GPIO_BACKLIGHT GPIO(1, C, 1)
|
||||||
@ -44,10 +43,15 @@
|
|||||||
#define GPIO_P30V_EN GPIO(0, B, 4)
|
#define GPIO_P30V_EN GPIO(0, B, 4)
|
||||||
#define GPIO_TP_RST_L GPIO(3, B, 4) /* may also be an I2C pull-up enable */
|
#define GPIO_TP_RST_L GPIO(3, B, 4) /* may also be an I2C pull-up enable */
|
||||||
#define GPIO_TPM_IRQ GPIO(0, A, 5)
|
#define GPIO_TPM_IRQ GPIO(0, A, 5)
|
||||||
#define GPIO_WLAN_RST_L GPIO(1, B, 3)
|
|
||||||
#define GPIO_WP GPIO(1, C, 2)
|
#define GPIO_WP GPIO(1, C, 2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if IS_ENABLED(CONFIG_GRU_HAS_WLAN_RESET)
|
||||||
|
#define GPIO_WLAN_RST_L GPIO(1, B, 3)
|
||||||
|
#else
|
||||||
|
#define GPIO_WLAN_RST_L dead_code_t(gpio_t, "no WLAN reset on this board in FW")
|
||||||
|
#endif
|
||||||
|
|
||||||
void setup_chromeos_gpios(void);
|
void setup_chromeos_gpios(void);
|
||||||
|
|
||||||
#endif /* ! __COREBOOT_SRC_MAINBOARD_GOOGLE_GRU_BOARD_H */
|
#endif /* ! __COREBOOT_SRC_MAINBOARD_GOOGLE_GRU_BOARD_H */
|
||||||
|
@ -44,7 +44,7 @@ static void configure_touchpad(void)
|
|||||||
/*
|
/*
|
||||||
* Wifi's PDN/RST line is pulled down by its (unpowered) voltage rails, but
|
* Wifi's PDN/RST line is pulled down by its (unpowered) voltage rails, but
|
||||||
* this reset pin is pulled up by default. Let's drive it low as early as we
|
* this reset pin is pulled up by default. Let's drive it low as early as we
|
||||||
* can. Scarlet uses a different WiFi chip that doesn't have this pin anymore.
|
* can. This only applies to boards with Marvell 8997 WiFi.
|
||||||
*/
|
*/
|
||||||
static void assert_wifi_reset(void)
|
static void assert_wifi_reset(void)
|
||||||
{
|
{
|
||||||
@ -349,8 +349,9 @@ static void mainboard_init(device_t dev)
|
|||||||
if (display_init_required())
|
if (display_init_required())
|
||||||
configure_display();
|
configure_display();
|
||||||
setup_usb(0);
|
setup_usb(0);
|
||||||
|
if (IS_ENABLED(CONFIG_GRU_HAS_WLAN_RESET))
|
||||||
|
assert_wifi_reset();
|
||||||
if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {
|
if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {
|
||||||
assert_wifi_reset(); /* Scarlet: no WIFI_PD# line */
|
|
||||||
configure_touchpad(); /* Scarlet: works differently */
|
configure_touchpad(); /* Scarlet: works differently */
|
||||||
setup_usb(1); /* Scarlet: only one USB port */
|
setup_usb(1); /* Scarlet: only one USB port */
|
||||||
register_gpio_suspend(); /* Scarlet: all EC-controlled */
|
register_gpio_suspend(); /* Scarlet: all EC-controlled */
|
||||||
|
@ -40,7 +40,7 @@ int kevin6_pwm_design_voltage[][2] = {
|
|||||||
[PWM_REGULATOR_CENTERLOG] = {8001, 10497}
|
[PWM_REGULATOR_CENTERLOG] = {8001, 10497}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Applies for Gru rev2+ and Bob. */
|
/* Applies for Gru rev2+, Bob, and Nefario. */
|
||||||
int pwm_design_voltage[][2] = {
|
int pwm_design_voltage[][2] = {
|
||||||
[PWM_REGULATOR_GPU] = {7864, 12177},
|
[PWM_REGULATOR_GPU] = {7864, 12177},
|
||||||
[PWM_REGULATOR_BIG] = {8001, 13022},
|
[PWM_REGULATOR_BIG] = {8001, 13022},
|
||||||
@ -58,12 +58,15 @@ int scarlet_pwm_design_voltage[][2] = {
|
|||||||
int pwm_enum_to_pwm_number[] = {
|
int pwm_enum_to_pwm_number[] = {
|
||||||
[PWM_REGULATOR_GPU] = 0,
|
[PWM_REGULATOR_GPU] = 0,
|
||||||
[PWM_REGULATOR_LIT] = 2,
|
[PWM_REGULATOR_LIT] = 2,
|
||||||
|
#if IS_ENABLED(CONFIG_GRU_HAS_CENTERLOG_PWM)
|
||||||
|
[PWM_REGULATOR_CENTERLOG] = 3,
|
||||||
|
#else
|
||||||
|
[PWM_REGULATOR_CENTERLOG] = -1,
|
||||||
|
#endif
|
||||||
#if IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)
|
#if IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)
|
||||||
[PWM_REGULATOR_BIG] = 3,
|
[PWM_REGULATOR_BIG] = 3,
|
||||||
[PWM_REGULATOR_CENTERLOG] = -1, /* fixed regulator on Scarlet */
|
|
||||||
#else
|
#else
|
||||||
[PWM_REGULATOR_BIG] = 1,
|
[PWM_REGULATOR_BIG] = 1,
|
||||||
[PWM_REGULATOR_CENTERLOG] = 3,
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -41,11 +41,13 @@ static void init_dvs_outputs(void)
|
|||||||
pwm_regulator_configure(PWM_REGULATOR_GPU, 900);
|
pwm_regulator_configure(PWM_REGULATOR_GPU, 900);
|
||||||
pwm_regulator_configure(PWM_REGULATOR_BIG, 900);
|
pwm_regulator_configure(PWM_REGULATOR_BIG, 900);
|
||||||
|
|
||||||
/* Kevin's logic rail has some ripple, so up the voltage a bit. Scarlet
|
/*
|
||||||
uses a fixed 900mV regulator for centerlogic. */
|
* Kevin's logic rail has some ripple, so up the voltage a bit. Newer
|
||||||
|
* boards use a fixed 900mV regulator for centerlogic.
|
||||||
|
*/
|
||||||
if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN))
|
if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN))
|
||||||
pwm_regulator_configure(PWM_REGULATOR_CENTERLOG, 925);
|
pwm_regulator_configure(PWM_REGULATOR_CENTERLOG, 925);
|
||||||
else if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))
|
else if (IS_ENABLED(CONFIG_GRU_HAS_CENTERLOG_PWM))
|
||||||
pwm_regulator_configure(PWM_REGULATOR_CENTERLOG, 900);
|
pwm_regulator_configure(PWM_REGULATOR_CENTERLOG, 900);
|
||||||
|
|
||||||
/* Allow time for the regulators to settle */
|
/* Allow time for the regulators to settle */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user