summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWeimin Wu <wuweimin@huaqin.corp-partner.google.com>2024-07-17 15:39:52 +0800
committerFelix Held <felix-coreboot@felixheld.de>2024-07-24 13:09:48 +0000
commit7ba782814d8481207170f72f5803a57eed026b83 (patch)
tree26d2e6e94dee310006658f0c3de6903be10efe40 /src
parentc19e32e69d8a9e42346fe81432bbdfc1e1c8febc (diff)
mb/google/dedede/var/awasuki: Initialise overridetree
Initialise overridetree based on the schematics revision 20240715. BUG=b:351968527 TEST=abuild -v -a -x -c max -p none -t google/dedede -b awasuki Change-Id: Ie8194b6eca3e88f08f92e0ac8a9063b8de738652 Signed-off-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83496 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/dedede/Kconfig1
-rw-r--r--src/mainboard/google/dedede/variants/awasuki/Makefile.mk1
-rw-r--r--src/mainboard/google/dedede/variants/awasuki/overridetree.cb199
-rw-r--r--src/mainboard/google/dedede/variants/awasuki/ramstage.c20
4 files changed, 212 insertions, 9 deletions
diff --git a/src/mainboard/google/dedede/Kconfig b/src/mainboard/google/dedede/Kconfig
index f0ab1f5381..bdd2f4c733 100644
--- a/src/mainboard/google/dedede/Kconfig
+++ b/src/mainboard/google/dedede/Kconfig
@@ -11,6 +11,7 @@ config BOARD_GOOGLE_BASEBOARD_DEDEDE
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_GPIO_MUX
select DRIVERS_I2C_HID
+ select DRIVERS_I2C_RT5645
select DRIVERS_INTEL_DPTF
select DRIVERS_INTEL_MIPI_CAMERA
select DRIVERS_SPI_ACPI
diff --git a/src/mainboard/google/dedede/variants/awasuki/Makefile.mk b/src/mainboard/google/dedede/variants/awasuki/Makefile.mk
index eb2c9bc021..66f0263c62 100644
--- a/src/mainboard/google/dedede/variants/awasuki/Makefile.mk
+++ b/src/mainboard/google/dedede/variants/awasuki/Makefile.mk
@@ -1,3 +1,4 @@
## SPDX-License-Identifier: GPL-2.0-or-later
ramstage-y += gpio.c
+ramstage-y += ramstage.c
diff --git a/src/mainboard/google/dedede/variants/awasuki/overridetree.cb b/src/mainboard/google/dedede/variants/awasuki/overridetree.cb
index 404024b1d6..5b1793ca73 100644
--- a/src/mainboard/google/dedede/variants/awasuki/overridetree.cb
+++ b/src/mainboard/google/dedede/variants/awasuki/overridetree.cb
@@ -1,4 +1,13 @@
chip soc/intel/jasperlake
+ # USB Port Configuration
+ register "usb2_ports[1]" = "USB2_PORT_EMPTY"
+ register "usb2_ports[3]" = "USB2_PORT_EMPTY"
+ register "usb2_ports[4]" = "USB2_PORT_EMPTY"
+ register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # User Facing Camera
+
+ register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3/2 Type-C Port C0
+ register "usb3_ports[1]" = "USB3_PORT_EMPTY"
+ register "usb3_ports[3]" = "USB3_PORT_EMPTY"
# Intel Common SoC Config
#+-------------------+---------------------------+
@@ -9,9 +18,9 @@ chip soc/intel/jasperlake
#| | for TPM communication |
#| | before memory is up |
#| I2C0 | Trackpad |
- #| I2C1 | Digitizer |
+ #| I2C1 | Disable |
#| I2C2 | Touchscreen |
- #| I2C3 | Camera |
+ #| I2C3 | Disable |
#| I2C4 | Audio |
#+-------------------+---------------------------+
register "common_soc_config" = "{
@@ -22,21 +31,193 @@ chip soc/intel/jasperlake
.i2c[0] = {
.speed = I2C_SPEED_FAST,
},
- .i2c[1] = {
- .speed = I2C_SPEED_FAST,
- },
.i2c[2] = {
.speed = I2C_SPEED_FAST,
},
- .i2c[3] = {
- .speed = I2C_SPEED_FAST,
- },
.i2c[4] = {
.speed = I2C_SPEED_FAST,
},
}"
+ # SerialIO device mode selection
+ register "SerialIoI2cMode" = "{
+ [PchSerialIoIndexI2C0] = PchSerialIoPci,
+ [PchSerialIoIndexI2C1] = PchSerialIoDisabled,
+ [PchSerialIoIndexI2C2] = PchSerialIoPci,
+ [PchSerialIoIndexI2C3] = PchSerialIoDisabled,
+ [PchSerialIoIndexI2C4] = PchSerialIoPci,
+ [PchSerialIoIndexI2C5] = PchSerialIoDisabled,
+ }"
+
+ # Power limit config
+ register "power_limits_config[JSL_N4500_6W_CORE]" = "{
+ .tdp_pl1_override = 7,
+ .tdp_pl2_override = 20,
+ }"
+
+ register "power_limits_config[JSL_N6000_6W_CORE]" = "{
+ .tdp_pl1_override = 7,
+ .tdp_pl2_override = 20,
+ }"
+
+ register "power_limits_config[JSL_N5100_6W_CORE]" = "{
+ .tdp_pl1_override = 7,
+ .tdp_pl2_override = 20,
+ }"
+
+ # TCC activation offset
+ register "tcc_offset" = "10" # TCC of 95C
+
+ # Set xHCI LFPS period sampling off time
+ register "xhci_lfps_sampling_offtime_ms" = "0"
+
device domain 0 on
- device pci 15.0 on end
+ device pci 04.0 on
+ chip drivers/intel/dptf
+ ## sensor information
+ register "options.tsr[0].desc" = ""Ambient""
+ register "options.tsr[1].desc" = ""Charger""
+ register "options.tsr[2].desc" = ""AUX""
+ register "options.tsr[3].desc" = ""USB""
+
+ ## Passive Policy
+ register "policies.passive" = "{
+ [0] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 50, 5000),
+ [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_1, 68, 5000),
+ [2] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 68, 5000),
+ [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 68, 5000),
+ }"
+
+ ## Critical Policy
+ register "policies.critical" = "{
+ [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN),
+ [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 80, SHUTDOWN),
+ [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 90, SHUTDOWN),
+ [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 90, SHUTDOWN),
+ [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 90, SHUTDOWN),
+ }"
+
+ register "controls.power_limits.pl1" = "{
+ .min_power = 5000,
+ .max_power = 7000,
+ .time_window_min = 28 * MSECS_PER_SEC,
+ .time_window_max = 28 * MSECS_PER_SEC,
+ .granularity = 125,
+ }"
+
+ register "controls.power_limits.pl2" = "{
+ .min_power = 20000,
+ .max_power = 20000,
+ .time_window_min = 28 * MSECS_PER_SEC,
+ .time_window_max = 32 * MSECS_PER_SEC,
+ .granularity = 1000,
+ }"
+
+ ## Charger Performance Control (Control, mA)
+ register "controls.charger_perf" = "{
+ [0] = { 255, 3000 },
+ [1] = { 32, 2000 },
+ [2] = { 24, 1500 },
+ [3] = { 16, 1000 },
+ [4] = { 8, 500 }
+ }"
+ device generic 0 on end
+ end
+ end # SA Thermal device
+ device pci 14.0 on
+ chip drivers/usb/acpi
+ device usb 0.0 on
+ chip drivers/usb/acpi
+ device usb 2.1 off end
+ end
+ chip drivers/usb/acpi
+ device usb 2.3 off end
+ end
+ chip drivers/usb/acpi
+ device usb 2.4 off end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""User Facing Camera""
+ register "type" = "UPC_TYPE_INTERNAL"
+ register "has_power_resource" = "1"
+ register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D15)"
+ register "enable_delay_ms" = "20"
+ device usb 2.5 on end
+ end
+ chip drivers/usb/acpi
+ device usb 2.6 off end
+ end
+ chip drivers/usb/acpi
+ device usb 3.1 off end
+ end
+ chip drivers/usb/acpi
+ device usb 3.3 off end
+ end
+ end
+ end
+ end # USB xHCI
+ device pci 14.3 on
+ chip drivers/wifi/generic
+ register "wake" = "GPE0_PME_B0"
+ register "enable_cnvi_ddr_rfim" = "true"
+ register "add_acpi_dma_property" = "true"
+ device generic 0 on end
+ end
+ end # CNVi wifi
+ device pci 15.0 on
+ chip drivers/i2c/hid
+ register "generic.hid" = ""PNP0C50""
+ register "generic.desc" = ""PIXART Touchpad""
+ register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B3_IRQ)"
+ register "generic.wake" = "GPE0_DW0_03"
+ register "generic.detect" = "1"
+ register "hid_desc_reg_offset" = "0x01"
+ device i2c 15 on end
+ end
+ end # I2C 0
+ device pci 15.1 off end # I2C 1
+ device pci 15.2 on
+ chip drivers/i2c/hid
+ register "generic.hid" = ""ELAN9008""
+ register "generic.desc" = ""ELAN Touchscreen""
+ register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
+ register "generic.detect" = "1"
+ register "generic.reset_gpio" =
+ "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D5)"
+ register "generic.enable_gpio" =
+ "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
+ register "generic.enable_delay_ms" = "7"
+ register "generic.has_power_resource" = "1"
+ register "hid_desc_reg_offset" = "0x01"
+ device i2c 10 on end
+ end
+ end # I2C 2
+ device pci 15.3 off end # I2C 3
+ device pci 16.0 off end # HECI 1
+ device pci 19.0 on
+ chip drivers/i2c/rt5645
+ register "hid" = ""10EC5650""
+ register "name" = ""RT58""
+ register "desc" = ""Realtek RT5650""
+ register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
+ register "cbj_sleeve" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
+ register "jd_mode" = "2"
+ device i2c 1a on end
+ end
+ end # I2C 4
+ device pci 1c.7 on
+ chip drivers/wifi/generic
+ register "wake" = "GPE0_DW2_03"
+ device pci 00.0 on end
+ end
+ end # PCI Express Root Port 8 - WLAN
+ device pci 1f.3 on
+ chip drivers/sof
+ register "spkr_tplg" = "rt5650_sp"
+ register "jack_tplg" = "rt5650_hp"
+ register "mic_tplg" = "_2ch_pdm0"
+ device generic 0 on end
+ end
+ end # Intel HDA/cAVS
end
end
diff --git a/src/mainboard/google/dedede/variants/awasuki/ramstage.c b/src/mainboard/google/dedede/variants/awasuki/ramstage.c
new file mode 100644
index 0000000000..7199c7c4bd
--- /dev/null
+++ b/src/mainboard/google/dedede/variants/awasuki/ramstage.c
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <baseboard/variants.h>
+#include <fw_config.h>
+#include <soc/soc_chip.h>
+
+static void ext_vr_update(void)
+{
+ struct soc_intel_jasperlake_config *cfg = config_of_soc();
+
+ if (fw_config_probe(FW_CONFIG(EXT_VR, EXT_VR_ABSENT))) {
+ printk(BIOS_INFO, "Device config for EXT_VR_ABSENT.\n");
+ cfg->disable_external_bypass_vr = 1;
+ }
+}
+
+void variant_devtree_update(void)
+{
+ ext_vr_update();
+}