aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/drallion/variants/sarien_cml/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/drallion/variants/sarien_cml/include')
-rw-r--r--src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/dptf.asl73
-rw-r--r--src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/mainboard.asl44
-rw-r--r--src/mainboard/google/drallion/variants/sarien_cml/include/variant/ec.h34
-rw-r--r--src/mainboard/google/drallion/variants/sarien_cml/include/variant/gpio.h34
-rw-r--r--src/mainboard/google/drallion/variants/sarien_cml/include/variant/hda_verb.h152
-rw-r--r--src/mainboard/google/drallion/variants/sarien_cml/include/variant/variant.h25
6 files changed, 362 insertions, 0 deletions
diff --git a/src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/dptf.asl b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/dptf.asl
new file mode 100644
index 0000000000..0cdbcd1400
--- /dev/null
+++ b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/dptf.asl
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2018 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#define DPTF_CPU_PASSIVE 99
+#define DPTF_CPU_CRITICAL 105
+
+/* Skin Sensor for CPU VR temperature monitor */
+#define DPTF_TSR0_SENSOR_ID 1
+#define DPTF_TSR0_SENSOR_NAME "Skin"
+#define DPTF_TSR0_PASSIVE 71
+#define DPTF_TSR0_CRITICAL 100
+
+/* Memory Sensor for DDR temperature monitor */
+#define DPTF_TSR1_SENSOR_ID 2
+#define DPTF_TSR1_SENSOR_NAME "DDR"
+#define DPTF_TSR1_PASSIVE 55
+#define DPTF_TSR1_CRITICAL 100
+
+/* M.2 Sensor for Ambient temperature monitor */
+#define DPTF_TSR2_SENSOR_ID 3
+#define DPTF_TSR2_SENSOR_NAME "Ambient"
+#define DPTF_TSR2_PASSIVE 90
+#define DPTF_TSR2_CRITICAL 100
+
+#undef DPTF_ENABLE_FAN_CONTROL
+#undef DPTF_ENABLE_CHARGER
+
+Name (DTRT, Package () {
+ /* CPU Throttle Effect on CPU */
+ Package () { \_SB.PCI0.TCPU, \_SB.PCI0.TCPU, 250, 10, 0, 0, 0, 0 },
+
+ /* CPU Throttle Effect on Skin (TSR0) */
+ Package () { \_SB.PCI0.TCPU, \_SB.DPTF.TSR0, 250, 10, 0, 0, 0, 0 },
+
+ /* CPU Throttle Effect on DDR (TSR1) */
+ Package () { \_SB.PCI0.TCPU, \_SB.DPTF.TSR1, 250, 10, 0, 0, 0, 0 },
+
+ /* CPU Throttle Effect on Ambient (TSR2) */
+ Package () { \_SB.PCI0.TCPU, \_SB.DPTF.TSR2, 250, 10, 0, 0, 0, 0 },
+})
+
+Name (MPPC, Package ()
+{
+ 0x2, /* Revision */
+ Package () { /* Power Limit 1 */
+ 0, /* PowerLimitIndex, 0 for Power Limit 1 */
+ 5000, /* PowerLimitMinimum */
+ 15000, /* PowerLimitMaximum */
+ 10000, /* TimeWindowMinimum */
+ 10000, /* TimeWindowMaximum */
+ 100 /* StepSize */
+ },
+ Package () { /* Power Limit 2 */
+ 1, /* PowerLimitIndex, 1 for Power Limit 2 */
+ 5000, /* PowerLimitMinimum */
+ 51000, /* PowerLimitMaximum */
+ 28000, /* TimeWindowMinimum */
+ 28000, /* TimeWindowMaximum */
+ 100 /* StepSize */
+ }
+})
diff --git a/src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/mainboard.asl b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/mainboard.asl
new file mode 100644
index 0000000000..41121d28fe
--- /dev/null
+++ b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/acpi/mainboard.asl
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2019 Intel Corp.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#define CAM_EN GPP_B11 /* Active low */
+#define TS_PD GPP_E7
+
+/* Method called from LPIT prior to enter s0ix state */
+Method (MS0X, 1)
+{
+ If (Arg0) {
+ /* Turn off camera power */
+ \_SB.PCI0.STXS (CAM_EN)
+ } Else {
+ /* Turn on camera power */
+ \_SB.PCI0.CTXS (CAM_EN)
+ }
+}
+
+/* Method called from _PTS prior to enter sleep state */
+Method (MPTS, 1)
+{
+ \_SB.PCI0.LPCB.EC0.PTS (Arg0)
+
+ /* Clear touch screen pd pin to avoid leakage */
+ \_SB.PCI0.CTXS (TS_PD)
+}
+
+/* Method called from _WAK prior to wakeup */
+Method (MWAK, 1)
+{
+ \_SB.PCI0.LPCB.EC0.WAK (Arg0)
+}
diff --git a/src/mainboard/google/drallion/variants/sarien_cml/include/variant/ec.h b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/ec.h
new file mode 100644
index 0000000000..01a17b5f99
--- /dev/null
+++ b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/ec.h
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2018 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef VARIANT_EC_H
+#define VARIANT_EC_H
+
+#include <soc/gpe.h>
+#include <soc/gpio.h>
+
+/* EC wake pin */
+#define EC_WAKE_PIN GPE0_DW1_12
+
+/* eSPI virtual wire reporting */
+#define EC_SCI_GPI GPE0_ESPI
+
+/* Enable PS/2 keyboard */
+#define SIO_EC_ENABLE_PS2K
+
+/* Enable DPTF */
+#define EC_ENABLE_DPTF
+
+#endif
diff --git a/src/mainboard/google/drallion/variants/sarien_cml/include/variant/gpio.h b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/gpio.h
new file mode 100644
index 0000000000..f7e0403e59
--- /dev/null
+++ b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/gpio.h
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2018 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef VARIANT_GPIO_H
+#define VARIANT_GPIO_H
+
+#include <soc/gpe.h>
+#include <soc/gpio.h>
+
+/* Flash Write Protect */
+#define GPIO_PCH_WP GPP_E15
+
+/* Recovery mode */
+#define GPIO_REC_MODE GPP_E8
+
+const struct pad_config *variant_gpio_table(size_t *num);
+const struct pad_config *variant_early_gpio_table(size_t *num);
+
+struct cros_gpio;
+const struct cros_gpio *variant_cros_gpios(size_t *num);
+
+#endif
diff --git a/src/mainboard/google/drallion/variants/sarien_cml/include/variant/hda_verb.h b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/hda_verb.h
new file mode 100644
index 0000000000..6eb6d14f6b
--- /dev/null
+++ b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/hda_verb.h
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2018 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef MAINBOARD_HDA_VERB_H
+#define MAINBOARD_HDA_VERB_H
+
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
+ /* coreboot specific header */
+ 0x10ec0236, // Codec Vendor / Device ID: Realtek ALC3204
+ 0xffffffff, // Subsystem ID
+ 0x0000001e, // Number of jacks (NID entries)
+
+ /* Rest Codec First */
+ AZALIA_RESET(0x1),
+ /* NID 0x01, HDA Codec Subsystem ID Verb Table */
+ AZALIA_SUBVENDOR(0x0, 0x102808b8),
+
+ /* Pin Widget Verb Table */
+ AZALIA_PIN_CFG(0x0, 0x12, 0x90a60140),
+ AZALIA_PIN_CFG(0x0, 0x13, 0x40000000),
+ AZALIA_PIN_CFG(0x0, 0x14, 0x90170110),
+ AZALIA_PIN_CFG(0x0, 0x18, 0x411111f0),
+ AZALIA_PIN_CFG(0x0, 0x19, 0x04a11030),
+ AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0),
+ AZALIA_PIN_CFG(0x0, 0x1b, 0x411111f0),
+ AZALIA_PIN_CFG(0x0, 0x1d, 0x40700001),
+ AZALIA_PIN_CFG(0x0, 0x1e, 0x421212f2),
+ AZALIA_PIN_CFG(0x0, 0x21, 0x04211020),
+
+ /* ALC3204 default-1 */
+ 0x02050040,
+ 0x02049800,
+ 0x02050034,
+ 0x0204023C,
+ /* ALC3204 default-2 */
+ 0x0205003C,
+ 0x02040354,
+ 0x0205003C,
+ 0x02040314,
+ /* ALC3204 Speaker output power - 4 ohm 2W (+12dB gain)
+ * + Combo Jack TRS setting */
+ 0x02050038,
+ 0x02043901,
+ 0x02050045,
+ 0x02045089,
+ /* H/W AGC setting-1 */
+ 0x02050016,
+ 0x02040C50,
+ 0x02050012,
+ 0x0204EBC2,
+ /* H/W AGC setting-2 */
+ 0x02050013,
+ 0x0204401D,
+ 0x02050016,
+ 0x02044E50,
+ /* Zero data + EAPD to verb-control */
+ 0x02050037,
+ 0x0204FE15,
+ 0x02050010,
+ 0x02040020,
+ /* Zero data */
+ 0x02050030,
+ 0x02048000,
+ 0x02050030,
+ 0x02048000,
+ /* ALC3204 default-3 */
+ 0x05750003,
+ 0x05740DA3,
+ 0x02050046,
+ 0x02040004,
+ /* ALC3204 default-4 */
+ 0x0205001B,
+ 0x02040A4B,
+ 0x02050008,
+ 0x02046A6C,
+ /* JD1 */
+ 0x02050009,
+ 0x0204E003,
+ 0x0205000A,
+ 0x02047770,
+ /* Microphone + Array MIC security Disable +ADC clock Enable */
+ 0x0205000D,
+ 0x0204A020,
+ 0x02050005,
+ 0x02040700,
+ /* Speaker Enable */
+ 0x0205000C,
+ 0x020401EF,
+ 0x0205000C,
+ 0x020401EF,
+ /* EQ Bypass + EQ HPF cutoff 250Hz */
+ 0x05350000,
+ 0x0534201A,
+ 0x0535001d,
+ 0x05340800,
+ /* EQ-2 */
+ 0x0535001e,
+ 0x05340800,
+ 0x05350003,
+ 0x05341EF8,
+ /* EQ-3 */
+ 0x05350004,
+ 0x05340000,
+ 0x05450000,
+ 0x05442000,
+ /* EQ-4 */
+ 0x0545001d,
+ 0x05440800,
+ 0x0545001e,
+ 0x05440800,
+ /* EQ-5 */
+ 0x05450003,
+ 0x05441EF8,
+ 0x05450004,
+ 0x05440000,
+ /* EQ Update */
+ 0x05350000,
+ 0x0534E01A,
+ 0x05350000,
+ 0x0534E01A,
+};
+
+const u32 pc_beep_verbs[] = {
+/* PCBeep pass through to NID14 for ePSA test-1 */
+ 0x02050036,
+ 0x02047717,
+ 0x02050036,
+ 0x02047717,
+/* PCBeep pass through to NID14 for ePSA test-2 */
+ 0x01470740,
+ 0x0143B000,
+ 0x01470C02,
+ 0x01470C02,
+};
+
+AZALIA_ARRAY_SIZES;
+
+#endif
diff --git a/src/mainboard/google/drallion/variants/sarien_cml/include/variant/variant.h b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/variant.h
new file mode 100644
index 0000000000..bbb3e9e68d
--- /dev/null
+++ b/src/mainboard/google/drallion/variants/sarien_cml/include/variant/variant.h
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2018 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef VARIANT_H
+#define VARIANT_H
+
+/* Sarien is SKU ID 1 and 3 */
+#define VARIANT_SKU_ID 1
+#define VARIANT_SKU_NAME "sku1"
+#define VARIANT_SKU_ID_SIGNED_EC 3
+#define VARIANT_SKU_NAME_SIGNED_EC "sku3"
+
+#endif