<p>Ege Mihmanli has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/22516">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">google/gru: Add config for scarlet-derived boards<br><br>There is merit in having new boards use the pinouts and controls<br>in scarlet. This adds a config so new scarlet-derived boards can<br>easily use scarlet structure without going through every file<br>and adding new logic.<br><br>BRANCH=none<br>BUG=none<br>TEST=Run "emerge-scarlet coreboot"<br>Signed-off-by: egemih@chromium.org<br><br>Change-Id: Ia1ddb793020084b6905bbce215e66c304b9608de<br>---<br>M src/mainboard/google/gru/Kconfig<br>M src/mainboard/google/gru/board.h<br>M src/mainboard/google/gru/bootblock.c<br>M src/mainboard/google/gru/mainboard.c<br>M src/mainboard/google/gru/pwm_regulator.c<br>5 files changed, 27 insertions(+), 20 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/16/22516/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/google/gru/Kconfig b/src/mainboard/google/gru/Kconfig<br>index 5eb35d4..3026c7e 100644<br>--- a/src/mainboard/google/gru/Kconfig<br>+++ b/src/mainboard/google/gru/Kconfig<br>@@ -35,6 +35,11 @@<br>  default y if BOARD_GOOGLE_GRU || BOARD_GOOGLE_KEVIN || BOARD_GOOGLE_BOB<br>       default n<br> <br>+config GRU_BASEBOARD_SCARLET<br>+  bool<br>+ default y if BOARD_GOOGLE_SCARLET<br>+    default n<br>+<br> config BOARD_SPECIFIC_OPTIONS<br>  def_bool y<br>    select BOARD_ID_AUTO<br>diff --git a/src/mainboard/google/gru/board.h b/src/mainboard/google/gru/board.h<br>index f95db57..d32d768 100644<br>--- a/src/mainboard/google/gru/board.h<br>+++ b/src/mainboard/google/gru/board.h<br>@@ -24,15 +24,15 @@<br> #define GPIO_RESET GPIO(0, B, 3)<br> #define GPIO_SDMMC_PWR  GPIO(4, D, 5)<br> <br>-#if IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)<br>+#if IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)<br> #define GPIO_BACKLIGHT  GPIO(4, C, 5)<br> #define GPIO_EC_IN_RW   GPIO(0, A, 1)<br> #define GPIO_EC_IRQ     GPIO(1, C, 2)<br>-#define GPIO_P15V_EN    dead_code_t(gpio_t, "PP1500 doesn't exist on Scarlet")<br>-#define GPIO_P18V_AUDIO_PWREN dead_code_t(gpio_t, "doesn't exist on Scarlet")<br>+#define GPIO_P15V_EN       dead_code_t(gpio_t, "PP1500 doesn't exist on board.")<br>+#define GPIO_P18V_AUDIO_PWREN dead_code_t(gpio_t, "doesn't exist on board.")<br> #define GPIO_P30V_EN GPIO(0, B, 1)<br> #define GPIO_SPK_PA_EN  GPIO(0, A, 2)<br>-#define GPIO_TP_RST_L   dead_code_t(gpio_t, "don't need TP_RST_L on Scarlet")<br>+#define GPIO_TP_RST_L     dead_code_t(gpio_t, "don't need TP_RST_L on board.")<br> #define GPIO_TPM_IRQ       GPIO(1, C, 1)<br> #define GPIO_WP         GPIO(0, B, 5)<br> #else<br>diff --git a/src/mainboard/google/gru/bootblock.c b/src/mainboard/google/gru/bootblock.c<br>index 162a7e5..a18a61c 100644<br>--- a/src/mainboard/google/gru/bootblock.c<br>+++ b/src/mainboard/google/gru/bootblock.c<br>@@ -44,8 +44,8 @@<br>      */<br>   write32(&rk3399_grf->io_vsel, RK_SETBITS(1 << 0));<br> <br>-   /* Scarlet gpio4cd iodomain is 1.8V */<br>-       if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))<br>+ /* Scarlet-based gpio4cd iodomain is 1.8V */<br>+ if (IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET))<br>                 write32(&rk3399_grf->io_vsel, RK_SETBITS(1 << 3));<br> <br>    /* Reconfigure GPIO1 from dynamic voltage selection through GPIO0_B1 to<br>@@ -56,7 +56,7 @@<br> <br>         /* Enable rails powering GPIO blocks, among other things. */<br>  gpio_output(GPIO_P30V_EN, 1);<br>-        if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))<br>+        if (!IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET))<br>                gpio_output(GPIO_P15V_EN, 1);   /* Scarlet: EC-controlled */<br> <br> #if IS_ENABLED(CONFIG_DRIVERS_UART)<br>@@ -102,7 +102,7 @@<br>    if (IS_ENABLED(CONFIG_GRU_HAS_TPM2)) {<br>                rockchip_spi_init(CONFIG_DRIVER_TPM_SPI_BUS, 1500*KHz);<br> <br>-           if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {<br>+               if (IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)) {<br>                       gpio_input(GPIO(2, B, 1));      /* SPI2_MISO no-pull */<br>                       gpio_input(GPIO(2, B, 2));      /* SPI2_MOSI no-pull */<br>                       gpio_input(GPIO(2, B, 3));      /* SPI2_CLK no-pull */<br>diff --git a/src/mainboard/google/gru/mainboard.c b/src/mainboard/google/gru/mainboard.c<br>index 3721ce8..99b335a 100644<br>--- a/src/mainboard/google/gru/mainboard.c<br>+++ b/src/mainboard/google/gru/mainboard.c<br>@@ -34,7 +34,8 @@<br> <br> /*<br>  * We have to drive the stronger pull-up within 1 second of powering up the<br>- * touchpad to prevent its firmware from falling into recovery. Not on Scarlet.<br>+ * touchpad to prevent its firmware from falling into recovery. Not on<br>+ * Scarlet-based boards.<br>  */<br> static void configure_touchpad(void)<br> {<br>@@ -90,9 +91,10 @@<br>    * with highest voltage first.<br>         * Since register_bl31() appends to the front of the list, we need to<br>          * register them backwards, with 1.5V coming first.<br>-   * 1.5V and 1.8V are EC-controlled on Scarlet, so we skip them.<br>+       * 1.5V and 1.8V are EC-controlled on Scarlet derivatives,<br>+    * so we skip them.<br>    */<br>-  if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {<br>+      if (!IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)) {<br>              static struct bl31_gpio_param param_p15_en = {<br>                        .h = { .type = PARAM_SUSPEND_GPIO },<br>                  .gpio = { .polarity = BL31_GPIO_LEVEL_LOW },<br>@@ -159,7 +161,7 @@<br>     gpio_output(GPIO(2, A, 2), 1);  /* SDMMC_SDIO_PWR_EN */<br> <br>    /* set SDMMC_DET_L pin */<br>-    if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))<br>+ if (IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET))<br>                 /*<br>             * do not have external pull up, so need to<br>            * set this pin internal pull up<br>@@ -170,10 +172,10 @@<br> <br>    /*<br>     * Keep sd card io domain 3v<br>-  * In Scarlet this GPIO set to high will get 3v,<br>+      * In Scarlet derivatives, this GPIO set to high will get 3v,<br>          * With other board variants setting this GPIO low results in 3V.<br>      */<br>-  if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))<br>+ if (IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET))<br>                 gpio_output(GPIO(2, D, 4), 1);<br>        else<br>          gpio_output(GPIO(2, D, 4), 0);<br>@@ -226,7 +228,7 @@<br>   /* AUDIO IO domain 1.8V voltage selection */<br>  write32(&rk3399_grf->io_vsel, RK_SETBITS(1 << 1));<br> <br>-   if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET))<br>+        if (!IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET))<br>                gpio_output(GPIO_P18V_AUDIO_PWREN, 1);<br>        gpio_output(GPIO_SPK_PA_EN, 0);<br> <br>@@ -235,7 +237,7 @@<br> <br> static void configure_display(void)<br> {<br>- if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {<br>+       if (IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)) {<br>               gpio_output(GPIO(4, D, 1), 0);  /* DISPLAY_RST_L */<br>           gpio_output(GPIO(4, D, 3), 1);  /* PPVARP_LCD */<br>              mdelay(10);<br>@@ -340,7 +342,7 @@<br>      setup_usb(0);<br>         if (IS_ENABLED(CONFIG_GRU_HAS_WLAN_RESET))<br>            assert_wifi_reset();<br>- if (!IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {<br>+      if (!IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)) {<br>              configure_touchpad();           /* Scarlet: works differently */<br>              setup_usb(1);                   /* Scarlet: only one USB port */<br>      }<br>diff --git a/src/mainboard/google/gru/pwm_regulator.c b/src/mainboard/google/gru/pwm_regulator.c<br>index 6a9f171..3ea37cf 100644<br>--- a/src/mainboard/google/gru/pwm_regulator.c<br>+++ b/src/mainboard/google/gru/pwm_regulator.c<br>@@ -48,7 +48,7 @@<br>         [PWM_REGULATOR_CENTERLOG] = {7994, 10499}<br> };<br> <br>-/* Applies for Scarlet */<br>+/* Applies for Scarlet-based boards. */<br> int scarlet_pwm_design_voltage[][2] = {<br>     [PWM_REGULATOR_GPU] = {7996, 10990},<br>  [PWM_REGULATOR_BIG] = {8000, 12992},<br>@@ -63,7 +63,7 @@<br> #else<br>       [PWM_REGULATOR_CENTERLOG] = -1,<br> #endif<br>-#if IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)<br>+#if IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)<br>         [PWM_REGULATOR_BIG] = 3,<br> #else<br>      [PWM_REGULATOR_BIG] = 1,<br>@@ -85,7 +85,7 @@<br>   } else if (IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN) && board_id() >= 6) {<br>             voltage_min = kevin6_pwm_design_voltage[pwm][0];<br>              voltage_max = kevin6_pwm_design_voltage[pwm][1];<br>-     } else if (IS_ENABLED(CONFIG_BOARD_GOOGLE_SCARLET)) {<br>+        } else if (IS_ENABLED(CONFIG_GRU_BASEBOARD_SCARLET)) {<br>                voltage_min = scarlet_pwm_design_voltage[pwm][0];<br>             voltage_max = scarlet_pwm_design_voltage[pwm][1];<br>     }<br></pre><p>To view, visit <a href="https://review.coreboot.org/22516">change 22516</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/22516"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ia1ddb793020084b6905bbce215e66c304b9608de </div>
<div style="display:none"> Gerrit-Change-Number: 22516 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Ege Mihmanli <egemih@google.com> </div>