<p>Patrick Georgi <strong>merged</strong> this change.</p><p><a href="https://review.coreboot.org/c/coreboot/+/30296">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  build bot (Jenkins): Verified
  Rizwan Qureshi: Looks good to me, approved
  Subrata Banik: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mb/google/hatch: Fixes to initial hatch mainboard checkin<br><br>Incorporating some feedback to initial hatch mainboard checking<br>(CL:30169) that came in after the CL merged.<br><br>Updated the chromeos.fmd with the following,<br>* SI_ALL = 3MB<br>* SI_BIOS = 16MB<br><br>BUG=b:20914069<br>BRANCH=None<br>TEST=./util/abuild/abuild -p none -t google/hatch -x -a -v<br><br>Change-Id: I4e311c68873f10f71314e44d3a714639a06dbee8<br>Signed-off-by: Shelley Chen <shchen@google.com><br>Signed-off-by: V Sowmya <v.sowmya@intel.com><br>Reviewed-on: https://review.coreboot.org/c/30296<br>Reviewed-by: Rizwan Qureshi <rizwan.qureshi@intel.com><br>Reviewed-by: Subrata Banik <subrata.banik@intel.com><br>Tested-by: build bot (Jenkins) <no-reply@coreboot.org><br>---<br>M src/mainboard/google/hatch/Kconfig<br>M src/mainboard/google/hatch/chromeos.c<br>M src/mainboard/google/hatch/chromeos.fmd<br>M src/mainboard/google/hatch/variants/baseboard/gpio.c<br>M src/mainboard/google/hatch/variants/baseboard/include/baseboard/gpio.h<br>D src/mainboard/google/hatch/variants/hatch/overridetree.cb<br>6 files changed, 29 insertions(+), 106 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/google/hatch/Kconfig b/src/mainboard/google/hatch/Kconfig</span><br><span>index 1c0208f..2400202 100644</span><br><span>--- a/src/mainboard/google/hatch/Kconfig</span><br><span>+++ b/src/mainboard/google/hatch/Kconfig</span><br><span>@@ -23,10 +23,14 @@</span><br><span> config CHROMEOS</span><br><span>       bool</span><br><span>         default y</span><br><span style="color: hsl(120, 100%, 40%);">+     select EC_GOOGLE_CHROMEEC_SWITCHES</span><br><span>   select GBB_FLAG_FORCE_DEV_SWITCH_ON</span><br><span>  select GBB_FLAG_FORCE_DEV_BOOT_USB</span><br><span>   select GBB_FLAG_FORCE_DEV_BOOT_LEGACY</span><br><span>        select GBB_FLAG_FORCE_MANUAL_RECOVERY</span><br><span style="color: hsl(120, 100%, 40%);">+ select HAS_RECOVERY_MRC_CACHE</span><br><span style="color: hsl(120, 100%, 40%);">+ select MRC_CLEAR_NORMAL_CACHE_ON_RECOVERY_RETRAIN</span><br><span style="color: hsl(120, 100%, 40%);">+     select VBOOT_LID_SWITCH</span><br><span> </span><br><span> config DEVICETREE</span><br><span>     string</span><br><span>@@ -68,10 +72,6 @@</span><br><span>  int</span><br><span>  default 8</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-config OVERRIDE_DEVICETREE</span><br><span style="color: hsl(0, 100%, 40%);">- string</span><br><span style="color: hsl(0, 100%, 40%);">-  default "variants/$(CONFIG_VARIANT_DIR)/overridetree.cb" if !BOARD_GOOGLE_HATCH</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> config TPM_TIS_ACPI_INTERRUPT</span><br><span>   int</span><br><span>  default 53 # GPE0_DW1_21 (GPP_C21)</span><br><span>diff --git a/src/mainboard/google/hatch/chromeos.c b/src/mainboard/google/hatch/chromeos.c</span><br><span>index 36fba45..fa54148 100644</span><br><span>--- a/src/mainboard/google/hatch/chromeos.c</span><br><span>+++ b/src/mainboard/google/hatch/chromeos.c</span><br><span>@@ -29,29 +29,15 @@</span><br><span>            {-1, ACTIVE_HIGH, get_lid_switch(), "lid"},</span><br><span>                {-1, ACTIVE_HIGH, 0, "power"},</span><br><span>             {-1, ACTIVE_HIGH, gfx_get_init_done(), "oprom"},</span><br><span style="color: hsl(0, 100%, 40%);">-              {-1, ACTIVE_HIGH, 0, "EC in RW"},</span><br><span style="color: hsl(120, 100%, 40%);">+           {GPIO_EC_IN_RW, ACTIVE_HIGH, gpio_get(GPIO_EC_IN_RW),</span><br><span style="color: hsl(120, 100%, 40%);">+          "EC in RW"},</span><br><span>      };</span><br><span>   lb_add_gpios(gpios, chromeos_gpios, ARRAY_SIZE(chromeos_gpios));</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int cros_get_gpio_value(int type)</span><br><span style="color: hsl(120, 100%, 40%);">+int get_write_protect_state(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-       const struct cros_gpio *cros_gpios;</span><br><span style="color: hsl(0, 100%, 40%);">-     size_t i, num_gpios = 0;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        cros_gpios = variant_cros_gpios(&num_gpios);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        for (i = 0; i < num_gpios; i++) {</span><br><span style="color: hsl(0, 100%, 40%);">-            const struct cros_gpio *gpio = &cros_gpios[i];</span><br><span style="color: hsl(0, 100%, 40%);">-              if (gpio->type == type) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    int state = gpio_get(gpio->gpio_num);</span><br><span style="color: hsl(0, 100%, 40%);">-                        if (gpio->polarity == CROS_GPIO_ACTIVE_LOW)</span><br><span style="color: hsl(0, 100%, 40%);">-                          return !state;</span><br><span style="color: hsl(0, 100%, 40%);">-                  else</span><br><span style="color: hsl(0, 100%, 40%);">-                            return state;</span><br><span style="color: hsl(0, 100%, 40%);">-           }</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span style="color: hsl(0, 100%, 40%);">-       return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+     return gpio_get(GPIO_PCH_WP);</span><br><span> }</span><br><span> </span><br><span> void mainboard_chromeos_acpi_generate(void)</span><br><span>@@ -63,18 +49,3 @@</span><br><span> </span><br><span>       chromeos_acpi_gpio_generate(cros_gpios, num_gpios);</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-int get_write_protect_state(void)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-      return cros_get_gpio_value(CROS_GPIO_WP);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-int get_recovery_mode_switch(void)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-   return cros_get_gpio_value(CROS_GPIO_REC);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-int get_lid_switch(void)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-    return 1;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span>diff --git a/src/mainboard/google/hatch/chromeos.fmd b/src/mainboard/google/hatch/chromeos.fmd</span><br><span>index 6631769..066cfbf 100644</span><br><span>--- a/src/mainboard/google/hatch/chromeos.fmd</span><br><span>+++ b/src/mainboard/google/hatch/chromeos.fmd</span><br><span>@@ -1,22 +1,20 @@</span><br><span> FLASH@0xfe000000 0x2000000 {</span><br><span style="color: hsl(0, 100%, 40%);">- SI_ALL@0x0 0x1000000 {</span><br><span style="color: hsl(120, 100%, 40%);">+        SI_ALL@0x0 0x300000 {</span><br><span>                SI_DESC@0x0 0x1000</span><br><span style="color: hsl(0, 100%, 40%);">-              SI_EC@0x1000 0x100000</span><br><span style="color: hsl(0, 100%, 40%);">-           SI_GBE@0x101000 0x2000</span><br><span style="color: hsl(0, 100%, 40%);">-          SI_ME@0x103000 0xefd000</span><br><span style="color: hsl(120, 100%, 40%);">+               SI_ME@0x1000 0x2ff000</span><br><span>        }</span><br><span>    SI_BIOS@0x1000000 0x1000000 {</span><br><span style="color: hsl(0, 100%, 40%);">-           RW_SECTION_A@0x0 0x280000 {</span><br><span style="color: hsl(120, 100%, 40%);">+           RW_SECTION_A@0x0 0x300000 {</span><br><span>                  VBLOCK_A@0x0 0x10000</span><br><span style="color: hsl(0, 100%, 40%);">-                    FW_MAIN_A(CBFS)@0x10000 0x26ffc0</span><br><span style="color: hsl(0, 100%, 40%);">-                        RW_FWID_A@0x27ffc0 0x40</span><br><span style="color: hsl(120, 100%, 40%);">+                       FW_MAIN_A(CBFS)@0x10000 0x2effc0</span><br><span style="color: hsl(120, 100%, 40%);">+                      RW_FWID_A@0x2fffc0 0x40</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-               RW_SECTION_B@0x280000 0x280000 {</span><br><span style="color: hsl(120, 100%, 40%);">+              RW_SECTION_B@0x300000 0x300000 {</span><br><span>                     VBLOCK_B@0x0 0x10000</span><br><span style="color: hsl(0, 100%, 40%);">-                    FW_MAIN_B(CBFS)@0x10000 0x26ffc0</span><br><span style="color: hsl(0, 100%, 40%);">-                        RW_FWID_B@0x27ffc0 0x40</span><br><span style="color: hsl(120, 100%, 40%);">+                       FW_MAIN_B(CBFS)@0x10000 0x2effc0</span><br><span style="color: hsl(120, 100%, 40%);">+                      RW_FWID_B@0x2fffc0 0x40</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-               RW_MISC@0x500000 0x30000 {</span><br><span style="color: hsl(120, 100%, 40%);">+            RW_MISC@0x600000 0x30000 {</span><br><span>                   UNIFIED_MRC_CACHE@0x0 0x20000 {</span><br><span>                              RECOVERY_MRC_CACHE@0x0 0x10000</span><br><span>                               RW_MRC_CACHE@0x10000 0x10000</span><br><span>@@ -29,17 +27,15 @@</span><br><span>                   RW_VPD@0x28000 0x2000</span><br><span>                        RW_NVRAM@0x2a000 0x6000</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-               CONSOLE@0x530000 0x20000</span><br><span style="color: hsl(0, 100%, 40%);">-                RW_LEGACY(CBFS)@0x550000 0x6b0000</span><br><span style="color: hsl(0, 100%, 40%);">-               WP_RO@0xc00000 0x400000 {</span><br><span style="color: hsl(120, 100%, 40%);">+             RW_LEGACY(CBFS)@0x630000 0x5a0000</span><br><span style="color: hsl(120, 100%, 40%);">+             WP_RO@0xbd0000 0x430000 {</span><br><span>                    RO_VPD@0x0 0x4000</span><br><span style="color: hsl(0, 100%, 40%);">-                       RO_UNUSED@0x4000 0xc000</span><br><span style="color: hsl(0, 100%, 40%);">-                 RO_SECTION@0x10000 0x3f0000 {</span><br><span style="color: hsl(120, 100%, 40%);">+                 RO_SECTION@0x4000 0x42c000 {</span><br><span>                                 FMAP@0x0 0x800</span><br><span>                               RO_FRID@0x800 0x40</span><br><span>                           RO_FRID_PAD@0x840 0x7c0</span><br><span>                              GBB@0x1000 0xef000</span><br><span style="color: hsl(0, 100%, 40%);">-                              COREBOOT(CBFS)@0xf0000 0x300000</span><br><span style="color: hsl(120, 100%, 40%);">+                               COREBOOT(CBFS)@0xf0000 0x33c000</span><br><span>                      }</span><br><span>            }</span><br><span>    }</span><br><span>diff --git a/src/mainboard/google/hatch/variants/baseboard/gpio.c b/src/mainboard/google/hatch/variants/baseboard/gpio.c</span><br><span>index 2517a58..69a0f37 100644</span><br><span>--- a/src/mainboard/google/hatch/variants/baseboard/gpio.c</span><br><span>+++ b/src/mainboard/google/hatch/variants/baseboard/gpio.c</span><br><span>@@ -29,6 +29,10 @@</span><br><span>  PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1),</span><br><span>        /* H1_PCH_INT_ODL */</span><br><span>         PAD_CFG_GPI_APIC(GPP_C21, NONE, DEEP, LEVEL, INVERT),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* PCH_WP_OD */</span><br><span style="color: hsl(120, 100%, 40%);">+       PAD_CFG_GPI(GPP_C20, NONE, DEEP),</span><br><span style="color: hsl(120, 100%, 40%);">+     /* EC_IN_RW_OD */</span><br><span style="color: hsl(120, 100%, 40%);">+     PAD_CFG_GPI(GPP_C22, NONE, DEEP),</span><br><span> };</span><br><span> </span><br><span> const struct pad_config *__weak variant_gpio_table(size_t *num)</span><br><span>diff --git a/src/mainboard/google/hatch/variants/baseboard/include/baseboard/gpio.h b/src/mainboard/google/hatch/variants/baseboard/include/baseboard/gpio.h</span><br><span>index c9f8b4c..dc0ffee 100644</span><br><span>--- a/src/mainboard/google/hatch/variants/baseboard/include/baseboard/gpio.h</span><br><span>+++ b/src/mainboard/google/hatch/variants/baseboard/include/baseboard/gpio.h</span><br><span>@@ -18,4 +18,8 @@</span><br><span> </span><br><span> #include <soc/gpio.h></span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define GPIO_EC_IN_RW           GPP_C22</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define GPIO_PCH_WP          GPP_C20</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> #endif /* BASEBOARD_GPIO_H */</span><br><span>diff --git a/src/mainboard/google/hatch/variants/hatch/overridetree.cb b/src/mainboard/google/hatch/variants/hatch/overridetree.cb</span><br><span>deleted file mode 100644</span><br><span>index 88df092..0000000</span><br><span>--- a/src/mainboard/google/hatch/variants/hatch/overridetree.cb</span><br><span>+++ /dev/null</span><br><span>@@ -1,52 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-chip soc/intel/cannonlake</span><br><span style="color: hsl(0, 100%, 40%);">-       device domain 0 on</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 00.0 off end # Host Bridge</span><br><span style="color: hsl(0, 100%, 40%);">-           device pci 02.0 off end # Integrated Graphics Device</span><br><span style="color: hsl(0, 100%, 40%);">-            device pci 04.0 off end # SA Thermal device</span><br><span style="color: hsl(0, 100%, 40%);">-             device pci 12.0 off end # Thermal Subsystem</span><br><span style="color: hsl(0, 100%, 40%);">-             device pci 12.5 off end # UFS SCS</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 12.6 off end # GSPI #2</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 14.0 off end # USB xHCI</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 14.1 off end # USB xDCI (OTG)</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 14.5 off end # SDCard</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 15.0 off end # I2C #0</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 15.1 off end # I2C #1</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 15.2 off end # I2C #2</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 15.3 off end # I2C #3</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 16.0 off end # Management Engine Interface 1</span><br><span style="color: hsl(0, 100%, 40%);">-         device pci 16.1 off end # Management Engine Interface 2</span><br><span style="color: hsl(0, 100%, 40%);">-         device pci 16.2 off end # Management Engine IDE-R</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 16.3 off end # Management Engine KT Redirection</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 16.4 off end # Management Engine Interface 3</span><br><span style="color: hsl(0, 100%, 40%);">-         device pci 16.5 off end # Management Engine Interface 4</span><br><span style="color: hsl(0, 100%, 40%);">-         device pci 17.0 off end # SATA</span><br><span style="color: hsl(0, 100%, 40%);">-          device pci 19.0 off end # I2C #4</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 19.1 off end # I2C #5</span><br><span style="color: hsl(0, 100%, 40%);">-                device pci 19.2 off end # UART #2</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 1a.0 off end # eMMC</span><br><span style="color: hsl(0, 100%, 40%);">-          device pci 1c.0 off end # PCI Express Port 1 (USB)</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1c.1 off end # PCI Express Port 2 (USB)</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1c.2 off end # PCI Express Port 3 (USB)</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1c.3 off end # PCI Express Port 4 (USB)</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1c.4 off end # PCI Express Port 5 (USB)</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1c.5 off end # PCI Express Port 6</span><br><span style="color: hsl(0, 100%, 40%);">-            device pci 1c.6 off end # PCI Express Port 7</span><br><span style="color: hsl(0, 100%, 40%);">-            device pci 1c.7 off end # PCI Express Port 8</span><br><span style="color: hsl(0, 100%, 40%);">-            device pci 1d.0 off end # PCI Express Port 9</span><br><span style="color: hsl(0, 100%, 40%);">-            device pci 1d.1 off end # PCI Express Port 10</span><br><span style="color: hsl(0, 100%, 40%);">-           device pci 1d.2 off end # PCI Express Port 11</span><br><span style="color: hsl(0, 100%, 40%);">-           device pci 1d.3 off end # PCI Express Port 12</span><br><span style="color: hsl(0, 100%, 40%);">-           device pci 1d.4 off end # PCI Express Port 13 (x4)</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1e.0 off end # UART #0</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 1e.1 off end # UART #1</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 1e.2 off end # GSPI #0</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 1e.3 off end # GSPI #1</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 1f.0 off end # LPC/eSPI</span><br><span style="color: hsl(0, 100%, 40%);">-              device pci 1f.1 off end # P2SB</span><br><span style="color: hsl(0, 100%, 40%);">-          device pci 1f.2 off end # Power Management Controller</span><br><span style="color: hsl(0, 100%, 40%);">-           device pci 1f.3 off end # Intel HDA</span><br><span style="color: hsl(0, 100%, 40%);">-             device pci 1f.4 off end # SMBus</span><br><span style="color: hsl(0, 100%, 40%);">-         device pci 1f.5 off end # PCH SPI</span><br><span style="color: hsl(0, 100%, 40%);">-               device pci 1f.6 off end # GbE</span><br><span style="color: hsl(0, 100%, 40%);">-   end</span><br><span style="color: hsl(0, 100%, 40%);">-end</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/c/coreboot/+/30296">change 30296</a>. To unsubscribe, or for help writing mail filters, 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/c/coreboot/+/30296"/><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-Change-Id: I4e311c68873f10f71314e44d3a714639a06dbee8 </div>
<div style="display:none"> Gerrit-Change-Number: 30296 </div>
<div style="display:none"> Gerrit-PatchSet: 11 </div>
<div style="display:none"> Gerrit-Owner: Shelley Chen <shchen@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Aamir Bohra <aamir.bohra@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: Balaji Manigandan <balaji.manigandan@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: Furquan Shaikh <furquan@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Maulik V Vaghela <maulik.v.vaghela@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Rizwan Qureshi <rizwan.qureshi@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: Shelley Chen <shchen@google.com> </div>
<div style="display:none"> Gerrit-Reviewer: Subrata Banik <subrata.banik@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: V Sowmya <v.sowmya@intel.com> </div>
<div style="display:none"> Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>