<p>David Wu has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/28962">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mb/google/fizz: Provide baseboard and variant concepts<br><br>In order to be able to share code across different fizz variants,<br>provide the concept of baseboard and variants. New directory layout:<br><br>variants/baseboard - code<br>variants/baseboard/include/baseboard - headers<br>variants/fizz - code<br>variants/fizz/include/variant - headers<br><br>New boards would then add themselves under their board name within<br>"variants" directory.<br><br>This is purely an organizational change.<br><br>BUG=b:117066935<br>BRANCH=Fizz<br>TEST=emerge-fizz coreboot<br><br>Change-Id: I28cc41681e7af88ddeba2e847dc0a4686606feb2<br>Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com><br>---<br>M src/mainboard/google/fizz/Kconfig<br>M src/mainboard/google/fizz/Makefile.inc<br>M src/mainboard/google/fizz/bootblock.c<br>M src/mainboard/google/fizz/chromeos.c<br>M src/mainboard/google/fizz/dsdt.asl<br>M src/mainboard/google/fizz/ec.c<br>M src/mainboard/google/fizz/mainboard.c<br>M src/mainboard/google/fizz/ramstage.c<br>M src/mainboard/google/fizz/smihandler.c<br>R src/mainboard/google/fizz/variants/baseboard/devicetree.cb<br>R src/mainboard/google/fizz/variants/baseboard/include/baseboard/acpi/dptf.asl<br>R src/mainboard/google/fizz/variants/baseboard/include/baseboard/ec.h<br>R src/mainboard/google/fizz/variants/baseboard/include/baseboard/gpio.h<br>A src/mainboard/google/fizz/variants/fizz/include/variant/acpi/dptf.asl<br>A src/mainboard/google/fizz/variants/fizz/include/variant/ec.h<br>A src/mainboard/google/fizz/variants/fizz/include/variant/gpio.h<br>16 files changed, 88 insertions(+), 17 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/28962/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/google/fizz/Kconfig b/src/mainboard/google/fizz/Kconfig</span><br><span>index 7f4989b..6ab94c9 100644</span><br><span>--- a/src/mainboard/google/fizz/Kconfig</span><br><span>+++ b/src/mainboard/google/fizz/Kconfig</span><br><span>@@ -25,6 +25,10 @@</span><br><span> </span><br><span> if BOARD_GOOGLE_BASEBOARD_FIZZ</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+config DEVICETREE</span><br><span style="color: hsl(120, 100%, 40%);">+        string</span><br><span style="color: hsl(120, 100%, 40%);">+        default "variants/baseboard/devicetree.cb"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> config VBOOT</span><br><span>       select EC_GOOGLE_CHROMEEC_SWITCHES</span><br><span>   select VBOOT_EC_EFS</span><br><span>@@ -68,6 +72,10 @@</span><br><span>     int</span><br><span>  default 64  # GPE0_DW2_00 (GPP_E0)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+config VARIANT_DIR</span><br><span style="color: hsl(120, 100%, 40%);">+    string</span><br><span style="color: hsl(120, 100%, 40%);">+        default "fizz" if BOARD_GOOGLE_FIZZ</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> config INCLUDE_NHLT_BLOBS</span><br><span>         bool "Include blobs for audio."</span><br><span>    select NHLT_RT5663</span><br><span>diff --git a/src/mainboard/google/fizz/Makefile.inc b/src/mainboard/google/fizz/Makefile.inc</span><br><span>index 534968c..59f84b5 100644</span><br><span>--- a/src/mainboard/google/fizz/Makefile.inc</span><br><span>+++ b/src/mainboard/google/fizz/Makefile.inc</span><br><span>@@ -26,3 +26,9 @@</span><br><span> ramstage-y += ramstage.c</span><br><span> </span><br><span> smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+subdirs-y += variants/baseboard</span><br><span style="color: hsl(120, 100%, 40%);">+CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/baseboard/include</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+subdirs-y += variants/$(VARIANT_DIR)</span><br><span style="color: hsl(120, 100%, 40%);">+CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include</span><br><span>diff --git a/src/mainboard/google/fizz/bootblock.c b/src/mainboard/google/fizz/bootblock.c</span><br><span>index dc5dde1..4114cd5 100644</span><br><span>--- a/src/mainboard/google/fizz/bootblock.c</span><br><span>+++ b/src/mainboard/google/fizz/bootblock.c</span><br><span>@@ -16,7 +16,7 @@</span><br><span> #include <bootblock_common.h></span><br><span> #include <soc/gpio.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "gpio.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/gpio.h></span><br><span> </span><br><span> static void early_config_gpio(void)</span><br><span> {</span><br><span>diff --git a/src/mainboard/google/fizz/chromeos.c b/src/mainboard/google/fizz/chromeos.c</span><br><span>index e52ac72..98bee6b 100644</span><br><span>--- a/src/mainboard/google/fizz/chromeos.c</span><br><span>+++ b/src/mainboard/google/fizz/chromeos.c</span><br><span>@@ -18,7 +18,7 @@</span><br><span> #include <soc/gpio.h></span><br><span> #include <vendorcode/google/chromeos/chromeos.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "gpio.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/gpio.h></span><br><span> </span><br><span> #if ENV_RAMSTAGE</span><br><span> #include <boot/coreboot_tables.h></span><br><span>diff --git a/src/mainboard/google/fizz/dsdt.asl b/src/mainboard/google/fizz/dsdt.asl</span><br><span>index dc2fcfa..8a35197 100644</span><br><span>--- a/src/mainboard/google/fizz/dsdt.asl</span><br><span>+++ b/src/mainboard/google/fizz/dsdt.asl</span><br><span>@@ -13,8 +13,8 @@</span><br><span>  * GNU General Public License for more details.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "ec.h"</span><br><span style="color: hsl(0, 100%, 40%);">-#include "gpio.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/ec.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/gpio.h></span><br><span> </span><br><span> DefinitionBlock(</span><br><span>         "dsdt.aml",</span><br><span>@@ -61,7 +61,7 @@</span><br><span>    Scope (\_SB)</span><br><span>         {</span><br><span>            /* Dynamic Platform Thermal Framework */</span><br><span style="color: hsl(0, 100%, 40%);">-                #include "acpi/dptf.asl"</span><br><span style="color: hsl(120, 100%, 40%);">+            #include <variant/acpi/dptf.asl></span><br><span>       }</span><br><span> </span><br><span>        /* USB port entries */</span><br><span>diff --git a/src/mainboard/google/fizz/ec.c b/src/mainboard/google/fizz/ec.c</span><br><span>index 6b3ec9e..63a32a8 100644</span><br><span>--- a/src/mainboard/google/fizz/ec.c</span><br><span>+++ b/src/mainboard/google/fizz/ec.c</span><br><span>@@ -16,7 +16,7 @@</span><br><span> #include <arch/acpi.h></span><br><span> #include <ec/google/chromeec/ec.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "ec.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/ec.h></span><br><span> </span><br><span> void mainboard_ec_init(void)</span><br><span> {</span><br><span>diff --git a/src/mainboard/google/fizz/mainboard.c b/src/mainboard/google/fizz/mainboard.c</span><br><span>index 501510c..9865f40 100644</span><br><span>--- a/src/mainboard/google/fizz/mainboard.c</span><br><span>+++ b/src/mainboard/google/fizz/mainboard.c</span><br><span>@@ -20,7 +20,7 @@</span><br><span> #include <ec/ec.h></span><br><span> #include <ec/google/chromeec/ec.h></span><br><span> #include <gpio.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <mainboard/google/fizz/gpio.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/gpio.h></span><br><span> #include <smbios.h></span><br><span> #include <soc/gpio.h></span><br><span> #include <soc/pci_devs.h></span><br><span>diff --git a/src/mainboard/google/fizz/ramstage.c b/src/mainboard/google/fizz/ramstage.c</span><br><span>index 231ed87..e208a67 100644</span><br><span>--- a/src/mainboard/google/fizz/ramstage.c</span><br><span>+++ b/src/mainboard/google/fizz/ramstage.c</span><br><span>@@ -18,12 +18,11 @@</span><br><span> #include <delay.h></span><br><span> #include <ec/google/chromeec/ec.h></span><br><span> #include <gpio.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <mainboard/google/fizz/gpio.h></span><br><span> #include <soc/gpio.h></span><br><span> #include <soc/ramstage.h></span><br><span> #include <timer.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "gpio.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/gpio.h></span><br><span> </span><br><span> #define GPIO_HDMI_HPD             GPP_E13</span><br><span> #define GPIO_DP_HPD          GPP_E14</span><br><span>diff --git a/src/mainboard/google/fizz/smihandler.c b/src/mainboard/google/fizz/smihandler.c</span><br><span>index 5f05b2e..3aa9ddb 100644</span><br><span>--- a/src/mainboard/google/fizz/smihandler.c</span><br><span>+++ b/src/mainboard/google/fizz/smihandler.c</span><br><span>@@ -17,7 +17,7 @@</span><br><span> #include <ec/google/chromeec/smm.h></span><br><span> #include <soc/smm.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "ec.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/ec.h></span><br><span> </span><br><span> void mainboard_smi_espi_handler(void)</span><br><span> {</span><br><span>diff --git a/src/mainboard/google/fizz/devicetree.cb b/src/mainboard/google/fizz/variants/baseboard/devicetree.cb</span><br><span>similarity index 100%</span><br><span>rename from src/mainboard/google/fizz/devicetree.cb</span><br><span>rename to src/mainboard/google/fizz/variants/baseboard/devicetree.cb</span><br><span>diff --git a/src/mainboard/google/fizz/acpi/dptf.asl b/src/mainboard/google/fizz/variants/baseboard/include/baseboard/acpi/dptf.asl</span><br><span>similarity index 100%</span><br><span>rename from src/mainboard/google/fizz/acpi/dptf.asl</span><br><span>rename to src/mainboard/google/fizz/variants/baseboard/include/baseboard/acpi/dptf.asl</span><br><span>diff --git a/src/mainboard/google/fizz/ec.h b/src/mainboard/google/fizz/variants/baseboard/include/baseboard/ec.h</span><br><span>similarity index 96%</span><br><span>rename from src/mainboard/google/fizz/ec.h</span><br><span>rename to src/mainboard/google/fizz/variants/baseboard/include/baseboard/ec.h</span><br><span>index 4b40445..a372f8d 100644</span><br><span>--- a/src/mainboard/google/fizz/ec.h</span><br><span>+++ b/src/mainboard/google/fizz/variants/baseboard/include/baseboard/ec.h</span><br><span>@@ -13,13 +13,13 @@</span><br><span>  * GNU General Public License for more details.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#ifndef __MAINBOARD_EC_H__</span><br><span style="color: hsl(0, 100%, 40%);">-#define __MAINBOARD_EC_H__</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef __BASEBOARD_EC_H__</span><br><span style="color: hsl(120, 100%, 40%);">+#define __BASEBOARD_EC_H__</span><br><span> </span><br><span> #include <ec/ec.h></span><br><span> #include <ec/google/chromeec/ec_commands.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#include "gpio.h"</span><br><span style="color: hsl(120, 100%, 40%);">+#include <variant/gpio.h></span><br><span> </span><br><span> #define MAINBOARD_EC_SCI_EVENTS \</span><br><span>     (EC_HOST_EVENT_MASK(EC_HOST_EVENT_AC_CONNECTED)      |\</span><br><span>diff --git a/src/mainboard/google/fizz/gpio.h b/src/mainboard/google/fizz/variants/baseboard/include/baseboard/gpio.h</span><br><span>similarity index 98%</span><br><span>rename from src/mainboard/google/fizz/gpio.h</span><br><span>rename to src/mainboard/google/fizz/variants/baseboard/include/baseboard/gpio.h</span><br><span>index 9a94af4..05d9d03 100644</span><br><span>--- a/src/mainboard/google/fizz/gpio.h</span><br><span>+++ b/src/mainboard/google/fizz/variants/baseboard/include/baseboard/gpio.h</span><br><span>@@ -13,8 +13,8 @@</span><br><span>  * GNU General Public License for more details.</span><br><span>  */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#ifndef __MAINBOARD_GPIO_H__</span><br><span style="color: hsl(0, 100%, 40%);">-#define __MAINBOARD_GPIO_H__</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef __BASEBOARD_GPIO_H__</span><br><span style="color: hsl(120, 100%, 40%);">+#define __BASEBOARD_GPIO_H__</span><br><span> </span><br><span> #include <soc/gpe.h></span><br><span> #include <soc/gpio.h></span><br><span>@@ -281,6 +281,6 @@</span><br><span> /* SATA_DEVSLP1 */     PAD_CFG_NF(GPP_E5, NONE, DEEP, NF1), /* DEVSLP1_MB */</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(120, 100%, 40%);">+#endif /* __ACPI__ */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#endif</span><br><span style="color: hsl(120, 100%, 40%);">+#endif /* BASEBOARD_GPIO_H */</span><br><span>diff --git a/src/mainboard/google/fizz/variants/fizz/include/variant/acpi/dptf.asl b/src/mainboard/google/fizz/variants/fizz/include/variant/acpi/dptf.asl</span><br><span>new file mode 100644</span><br><span>index 0000000..a9afa73</span><br><span>--- /dev/null</span><br><span>+++ b/src/mainboard/google/fizz/variants/fizz/include/variant/acpi/dptf.asl</span><br><span>@@ -0,0 +1,16 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file is part of the coreboot project.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright 2018 Google Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(120, 100%, 40%);">+ * it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(120, 100%, 40%);">+ * the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include <baseboard/acpi/dptf.asl></span><br><span>diff --git a/src/mainboard/google/fizz/variants/fizz/include/variant/ec.h b/src/mainboard/google/fizz/variants/fizz/include/variant/ec.h</span><br><span>new file mode 100644</span><br><span>index 0000000..3d4fc8f</span><br><span>--- /dev/null</span><br><span>+++ b/src/mainboard/google/fizz/variants/fizz/include/variant/ec.h</span><br><span>@@ -0,0 +1,21 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file is part of the coreboot project.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright 2018 Google Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(120, 100%, 40%);">+ * it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(120, 100%, 40%);">+ * the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef __MAINBOARD_EC_H__</span><br><span style="color: hsl(120, 100%, 40%);">+#define __MAINBOARD_EC_H__</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include <baseboard/ec.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#endif /* __MAINBOARD_EC_H__ */</span><br><span>diff --git a/src/mainboard/google/fizz/variants/fizz/include/variant/gpio.h b/src/mainboard/google/fizz/variants/fizz/include/variant/gpio.h</span><br><span>new file mode 100644</span><br><span>index 0000000..cd34cf0</span><br><span>--- /dev/null</span><br><span>+++ b/src/mainboard/google/fizz/variants/fizz/include/variant/gpio.h</span><br><span>@@ -0,0 +1,21 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file is part of the coreboot project.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright 2018 Google Inc.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(120, 100%, 40%);">+ * it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(120, 100%, 40%);">+ * the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef __MAINBOARD_GPIO_H__</span><br><span style="color: hsl(120, 100%, 40%);">+#define __MAINBOARD_GPIO_H__</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include <baseboard/gpio.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#endif /* __MAINBOARD_GPIO_H__ */</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/28962">change 28962</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/28962"/><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: I28cc41681e7af88ddeba2e847dc0a4686606feb2 </div>
<div style="display:none"> Gerrit-Change-Number: 28962 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: David Wu <david_wu@quanta.corp-partner.google.com> </div>