summaryrefslogtreecommitdiff
path: root/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb
diff options
context:
space:
mode:
authorJeremy Soller <jeremy@system76.com>2023-03-24 08:48:37 -0600
committerFelix Held <felix-coreboot@felixheld.de>2023-07-03 12:53:12 +0000
commit976e09b0210e5e8c9c883dd9ca094d1de000976e (patch)
tree7d7781f7b9b2b1f154f32b57cad18338af3c1438 /src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb
parent46b63bb03367c6f09bec92bcb2d48f904d308829 (diff)
mb/system76/adl: Add Gazelle 17 as a variant
The gaze17 comes in 2 variants due to differences in the discrete GPU and network controller used. - NVIDIA RTX 3050, using Realtek Ethernet Controller - NVIDIA RTX 3060, using onboard I219-V Ethernet Controller Tested with a custom TianoCore UefiPayloadPkg payload. Working: - PS/2 keyboard, touchpad - Both DIMM slots - M.2 NVMe SSD - M.2 SATA SSD - MicroSD card reader - All USB ports - Webcam - Ethernet - WiFi/Bluetooth - Integrated graphics using Intel GOP driver - Internal microphone - Internal speakers - Combined headphone + mic 3.5mm audio - 3.5mm microphone input - S0ix suspend/resume - Booting to Pop!_OS Linux 22.04 with kernel 6.2.6 - Internal flashing with flashrom v1.2-703-g76118a7c10ed Not working: - Discrete/Hybrid graphics: Requires NVIDIA driver - mDP/HDMI displays on 3060 variant: Requires NVIDIA driver - Detection of devices in TBT slot on boot - S3 suspend: MP init eventually fails Not tested: - Thunderbolt devices Change-Id: Ib12ac47e8f34004f72e6234039823530511baea7 Signed-off-by: Jeremy Soller <jeremy@system76.com> Signed-off-by: Tim Crawford <tcrawford@system76.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/63990 Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb')
-rw-r--r--src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb155
1 files changed, 155 insertions, 0 deletions
diff --git a/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb b/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb
new file mode 100644
index 0000000000..a489bf2370
--- /dev/null
+++ b/src/mainboard/system76/adl/variants/gaze17-3060-b/overridetree.cb
@@ -0,0 +1,155 @@
+chip soc/intel/alderlake
+ # FIVR configuration
+ # Read EXT_RAIL_CONFIG to determine bitmaps
+ # sudo devmem2 0xfe0011b8
+ # 0x0
+ # Read EXT_V1P05_VR_CONFIG
+ # sudo devmem2 0xfe0011c0
+ # 0x1a42000
+ # Read EXT_VNN_VR_CONFIG0
+ # sudo devmem2 0xfe0011c4
+ # 0x1a42000
+ # TODO: v1p05 voltage and vnn icc max?
+ register "ext_fivr_settings" = "{
+ .configure_ext_fivr = 1,
+ .v1p05_enable_bitmap = 0,
+ .vnn_enable_bitmap = 0,
+ .v1p05_supported_voltage_bitmap = 0,
+ .vnn_supported_voltage_bitmap = 0,
+ .v1p05_icc_max_ma = 500,
+ .vnn_sx_voltage_mv = 1050,
+ }"
+
+ # Thermal
+ register "tcc_offset" = "10"
+
+ # GPE configuration
+ register "pmc_gpe0_dw0" = "PMC_GPP_R"
+ register "pmc_gpe0_dw1" = "PMC_GPP_B"
+ register "pmc_gpe0_dw2" = "PMC_GPP_D"
+
+ device domain 0 on
+ subsystemid 0x1558 0x867c inherit
+
+ device ref pcie5_0 on
+ # PCIe PEG2 x8, Clock 3 (DGPU)
+ register "cpu_pcie_rp[CPU_RP(2)]" = "{
+ .clk_src = 3,
+ .clk_req = 3,
+ .flags = PCIE_RP_LTR,
+ }"
+ end
+ device ref igpu on
+ # DDIA is eDP
+ register "ddi_portA_config" = "1"
+ register "ddi_ports_config[DDI_PORT_A]" = "DDI_ENABLE_HPD"
+
+ register "gfx" = "GMA_DEFAULT_PANEL(0)"
+ end
+ device ref pcie4_0 on
+ # PCIe PEG0 x4, Clock 0 (SSD2)
+ register "cpu_pcie_rp[CPU_RP(1)]" = "{
+ .clk_src = 0,
+ .clk_req = 0,
+ .flags = PCIE_RP_LTR,
+ }"
+ end
+ device ref i2c0 on
+ # Touchpad I2C bus
+ register "serial_io_i2c_mode[PchSerialIoIndexI2C0]" = "PchSerialIoPci"
+ chip drivers/i2c/hid
+ register "generic.hid" = ""ELAN0412""
+ register "generic.desc" = ""ELAN Touchpad""
+ register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_A17)"
+ register "generic.detect" = "1"
+ register "hid_desc_reg_offset" = "0x01"
+ device i2c 15 on end
+ end
+ chip drivers/i2c/hid
+ register "generic.hid" = ""FTCS1000""
+ register "generic.desc" = ""FocalTech Touchpad""
+ register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_A17)"
+ register "generic.detect" = "1"
+ register "hid_desc_reg_offset" = "0x01"
+ device i2c 38 on end
+ end
+ end
+ device ref i2c1 off end
+ device ref tcss_xhci on
+ register "tcss_ports[0]" = "TCSS_PORT_DEFAULT(OC_SKIP)"
+ device ref tcss_root_hub on
+ device ref tcss_usb3_port1 on end
+ end
+ end
+ device ref tcss_dma0 on end
+ device ref xhci on
+ # USB2
+ register "usb2_ports[0]" = "USB2_PORT_MID(OC_SKIP)" # USB 3.2 Type-A audio board
+ register "usb2_ports[2]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB 3.2 Type-C
+ register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # USB 2.0 Type-A audio board
+ register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # Fingerprint
+ register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Camera
+ register "usb2_ports[8]" = "USB2_PORT_TYPE_C(OC_SKIP)" # Thunderbolt Type-C
+ register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # Bluetooth
+ # USB3
+ register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB 3.2 Type-A audio board
+ register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB 3.2 Type-C side A
+ register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB 3.2 Type-C side B
+ end
+ device ref pcie_rp5 on
+ # PCIe root port #5 x1, Clock 2 (WLAN)
+ register "pch_pcie_rp[PCH_RP(5)]" = "{
+ .clk_src = 2,
+ .clk_req = 2,
+ .flags = PCIE_RP_LTR,
+ }"
+ chip soc/intel/common/block/pcie/rtd3
+ register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E3)" # PCH_WLAN_EN
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B13)" # BUF_PLT_RST#
+ register "srcclk_pin" = "2" # WLAN_CLKREQ#
+ device generic 0 on end
+ end
+ end
+ device ref pcie_rp6 on
+ # PCIe root port #6 x1, Clock 5 (CARD)
+ register "pch_pcie_rp[PCH_RP(6)]" = "{
+ .clk_src = 5,
+ .clk_req = 5,
+ .flags = PCIE_RP_LTR,
+ }"
+ chip soc/intel/common/block/pcie/rtd3
+ # XXX: No enable_gpio = no D3cold?
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B13)" # BUF_PLT_RST#
+ register "srcclk_pin" = "5" # CARD_CLKREQ#
+ device generic 0 on end
+ end
+ end
+ device ref pcie_rp7 on
+ # PCIe root port #7 x1, Clock 6 (GLAN)
+ # Clock source is shared with LAN and hence marked as free running.
+ register "pch_pcie_rp[PCH_RP(7)]" = "{
+ .clk_src = 6,
+ .clk_req = 6,
+ .flags = PCIE_RP_LTR | PCIE_RP_CLK_SRC_UNUSED,
+ }"
+ register "pcie_clk_config_flag[6]" = "PCIE_CLK_FREE_RUNNING"
+ end
+ device ref pcie_rp9 on
+ # PCIe root port #9 x4, Clock 1 (SSD1)
+ register "pch_pcie_rp[PCH_RP(9)]" = "{
+ .clk_src = 1,
+ .clk_req = 1,
+ .flags = PCIE_RP_LTR,
+ }"
+ chip soc/intel/common/block/pcie/rtd3
+ # XXX: Enable tied to 3.3VS?
+ #register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C2)" # SATA_M2_PWR_EN1
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B13)" # BUF_PLT_RST#
+ register "disable_l23" = "true" # Fixes suspend on WD drives
+ register "srcclk_pin" = "1" # SSD_CLKREQ#
+ device generic 0 on end
+ end
+ end
+ device ref gbe on end
+ end
+end