chip soc/intel/alderlake # This disables autonomous GPIO power management, otherwise # old cr50 FW only supports short pulses. register "gpio_override_pm" = "1" register "gpio_pm[COMM_0]" = "0" register "gpio_pm[COMM_1]" = "0" register "gpio_pm[COMM_2]" = "0" register "gpio_pm[COMM_4]" = "0" register "gpio_pm[COMM_5]" = "0" # GPE configuration # Note that GPE events called out in ASL code rely on this # route. i.e. If this route changes then the affected GPE # offset bits also need to be changed. register "pmc_gpe0_dw0" = "GPP_B" register "pmc_gpe0_dw1" = "GPP_D" register "pmc_gpe0_dw2" = "GPP_E" # FSP configuration # Enable CNVi BT register "cnvi_bt_core" = "true" # Sagv Configuration register "sagv" = "SaGv_Enabled" register "usb2_ports[0]" = "USB2_PORT_MID(OC0)" # Type-C Port1 register "usb2_ports[1]" = "USB2_PORT_MID(OC0)" # Type-C Port2 register "usb2_ports[2]" = "USB2_PORT_MID(OC3)" # Type-C Port3 register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WWAN register "usb2_ports[4]" = "USB2_PORT_MID(OC3)" # Type-C Port4 register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)" # FPS connector register "usb2_ports[6]" = "USB2_PORT_MID(OC0)" # USB3/2 Type A port1 register "usb2_ports[7]" = "USB2_PORT_MID(OC0)" # USB3/2 Type A port2 register "usb2_ports[8]" = "USB2_PORT_MID(OC3)" # USB3/2 Type A port3 register "usb2_ports[9]" = "USB2_PORT_MID(OC_SKIP)" # M.2 WLAN register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC3)" # USB3/2 Type A port1 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC0)" # USB3/2 Type A port2 register "usb3_ports[2]" = "USB3_PORT_DEFAULT(OC0)" # USB3/2 Type A port3 register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)" # M.2 WWAN # EC host command ranges are in 0x800-0x8ff & 0x200-0x20f register "gen1_dec" = "0x00fc0801" register "gen2_dec" = "0x000c0201" # EC memory map range is 0x900-0x9ff register "gen3_dec" = "0x00fc0901" # Enable PCH PCIE RP 5 using CLK 2 register "pch_pcie_rp[PCH_RP(5)]" = "{ .clk_src = 2, .clk_req = 2, .flags = PCIE_RP_CLK_REQ_DETECT, }" # Enable PCH PCIE RP 6 using CLK 5 register "pch_pcie_rp[PCH_RP(6)]" = "{ .clk_src = 5, .clk_req = 5, .flags = PCIE_RP_CLK_REQ_DETECT, }" # NOTE: requires GPP_A7 set to Native Function 1 for SRCCLK_OE7 register "pch_pcie_rp[PCH_RP(8)]" = "{ .clk_src = 7, .clk_req = 7, .flags = PCIE_RP_CLK_REQ_DETECT | PCIE_RP_LTR, .PcieRpL1Substates = L1_SS_L1_2, .pcie_rp_detect_timeout_ms = 50, }" # Enable PCH PCIE RP 9 using CLK 1 register "pch_pcie_rp[PCH_RP(9)]" = "{ .clk_src = 1, .clk_req = 1, .flags = PCIE_RP_CLK_REQ_DETECT, }" # Enable PCH PCIE RP 11 for optane register "pch_pcie_rp[PCH_RP(11)]" = "{ .flags = PCIE_RP_CLK_SRC_UNUSED, }" # Hybrid storage mode register "hybrid_storage_mode" = "true" # Enable CPU PCIE RP 1 using CLK 0 register "cpu_pcie_rp[CPU_RP(1)]" = "{ .clk_req = 0, .clk_src = 0, .flags = PCIE_RP_LTR | PCIE_RP_AER, }" # Enable CPU PCIE RP 2 using CLK 3 register "cpu_pcie_rp[CPU_RP(2)]" = "{ .clk_req = 3, .clk_src = 3, .flags = PCIE_RP_LTR | PCIE_RP_AER, }" # Enable CPU PCIE RP 3 using CLK 4 register "cpu_pcie_rp[CPU_RP(3)]" = "{ .clk_req = 4, .clk_src = 4, .flags = PCIE_RP_LTR | PCIE_RP_AER, }" register "sata_salp_support" = "1" register "sata_ports_enable" = "{ [0] = 1, [1] = 1, [2] = 1, [3] = 1, }" register "sata_ports_dev_slp" = "{ [0] = 1, [1] = 1, [2] = 1, [3] = 1, }" # Enable EDP in PortA register "ddi_portA_config" = "1" # Enable HDMI in Port B register "ddi_ports_config" = "{ [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC, }" # TCSS USB3 register "tcss_aux_ori" = "0" register "s0ix_enable" = "true" register "dptf_enable" = "1" register "serial_io_i2c_mode" = "{ [PchSerialIoIndexI2C0] = PchSerialIoPci, [PchSerialIoIndexI2C1] = PchSerialIoPci, [PchSerialIoIndexI2C2] = PchSerialIoPci, [PchSerialIoIndexI2C3] = PchSerialIoPci, [PchSerialIoIndexI2C4] = PchSerialIoDisabled, [PchSerialIoIndexI2C5] = PchSerialIoPci, }" register "serial_io_gspi_mode" = "{ [PchSerialIoIndexGSPI0] = PchSerialIoPci, [PchSerialIoIndexGSPI1] = PchSerialIoPci, [PchSerialIoIndexGSPI2] = PchSerialIoDisabled, [PchSerialIoIndexGSPI3] = PchSerialIoDisabled, }" register "serial_io_gspi_cs_mode" = "{ [PchSerialIoIndexGSPI0] = 0, [PchSerialIoIndexGSPI1] = 1, [PchSerialIoIndexGSPI2] = 0, [PchSerialIoIndexGSPI3] = 0, }" register "serial_io_gspi_cs_state" = "{ [PchSerialIoIndexGSPI0] = 0, [PchSerialIoIndexGSPI1] = 0, [PchSerialIoIndexGSPI2] = 0, [PchSerialIoIndexGSPI3] = 0, }" register "serial_io_uart_mode" = "{ [PchSerialIoIndexUART0] = PchSerialIoSkipInit, [PchSerialIoIndexUART1] = PchSerialIoDisabled, [PchSerialIoIndexUART2] = PchSerialIoDisabled, }" # HD Audio register "pch_hda_dsp_enable" = "1" register "pch_hda_idisp_link_tmode" = "HDA_TMODE_8T" register "pch_hda_idisp_link_frequency" = "HDA_LINKFREQ_96MHZ" register "pch_hda_idisp_codec_enable" = "1" register "cnvi_bt_audio_offload" = "true" # Intel Common SoC Config register "common_soc_config" = "{ .gspi[1] = { .speed_mhz = 1, .early_init = 1, }, .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[5] = { .speed = I2C_SPEED_FAST, }, }" device domain 0 on device ref pcie5_0 on end device ref igpu on end device ref dtt on chip drivers/intel/dptf ## sensor information register "options.tsr[0].desc" = ""Ambient"" register "options.tsr[1].desc" = ""Battery"" register "options.tsr[2].desc" = ""DDR"" register "options.tsr[3].desc" = ""Skin"" ## Active Policy # TODO: below values are initial reference values only register "policies.active" = "{ [0] = { .target = DPTF_CPU, .thresholds = { TEMP_PCT(95, 90), TEMP_PCT(90, 80), } }, [1] = { .target = DPTF_TEMP_SENSOR_0, .thresholds = { TEMP_PCT(80, 90), TEMP_PCT(70, 80), } } }" ## Passive Policy # TODO: below values are initial reference values only register "policies.passive" = "{ [0] = DPTF_PASSIVE(CPU, CPU, 95, 10000), [1] = DPTF_PASSIVE(CPU, TEMP_SENSOR_0, 85, 50000), [2] = DPTF_PASSIVE(CHARGER, TEMP_SENSOR_1, 85, 50000), [3] = DPTF_PASSIVE(CPU, TEMP_SENSOR_2, 85, 50000), [4] = DPTF_PASSIVE(CPU, TEMP_SENSOR_3, 85, 50000), }" ## Critical Policy # TODO: below values are initial reference values only register "policies.critical" = "{ [0] = DPTF_CRITICAL(CPU, 105, SHUTDOWN), [1] = DPTF_CRITICAL(TEMP_SENSOR_0, 95, SHUTDOWN), [2] = DPTF_CRITICAL(TEMP_SENSOR_1, 95, SHUTDOWN), [3] = DPTF_CRITICAL(TEMP_SENSOR_2, 95, SHUTDOWN), [4] = DPTF_CRITICAL(TEMP_SENSOR_3, 95, SHUTDOWN), }" ## Power Limits Control register "controls.power_limits" = "{ .pl1 = { .min_power = 35000, .max_power = 45000, .time_window_min = 28 * MSECS_PER_SEC, .time_window_max = 32 * MSECS_PER_SEC, .granularity = 200, }, .pl2 = { .min_power = 56000, .max_power = 56000, .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] = { 24, 1500 }, [2] = { 16, 1000 }, [3] = { 8, 500 } }" ## Fan Performance Control (Percent, Speed, Noise, Power) register "controls.fan_perf" = "{ [0] = { 90, 6700, 220, 2200, }, [1] = { 80, 5800, 180, 1800, }, [2] = { 70, 5000, 145, 1450, }, [3] = { 60, 4900, 115, 1150, }, [4] = { 50, 3838, 90, 900, }, [5] = { 40, 2904, 55, 550, }, [6] = { 30, 2337, 30, 300, }, [7] = { 20, 1608, 15, 150, }, [8] = { 10, 800, 10, 100, }, [9] = { 0, 0, 0, 50, } }" ## Fan options register "options.fan.fine_grained_control" = "1" register "options.fan.step_size" = "2" device generic 0 alias dptf_policy on end end end device ref ipu on chip drivers/intel/mipi_camera register "acpi_uid" = "0x50000" register "acpi_name" = ""IPU0"" register "device_type" = "INTEL_ACPI_CAMERA_CIO2" register "cio2_num_ports" = "2" register "cio2_lanes_used" = "{2,2}" register "cio2_lane_endpoint[0]" = ""^I2C5.CAM1"" register "cio2_lane_endpoint[1]" = ""^I2C1.CAM0"" register "cio2_prt[0]" = "2" register "cio2_prt[1]" = "1" device generic 0 on end end end device ref pcie4_0 on end device ref pcie4_1 on end device ref tbt_pcie_rp0 on end device ref tbt_pcie_rp1 on end device ref tbt_pcie_rp2 on end device ref tbt_pcie_rp3 on end device ref crashlog off end device ref tcss_xhci on end device ref tcss_dma0 on end device ref tcss_dma1 on end device ref xhci on chip drivers/usb/acpi register "desc" = ""Root Hub"" register "type" = "UPC_TYPE_HUB" device ref xhci_root_hub on chip drivers/usb/acpi register "desc" = ""Bluetooth"" register "type" = "UPC_TYPE_INTERNAL" device ref usb2_port10 on end end end end end device ref cnvi_wifi on chip drivers/wifi/generic register "wake" = "GPE0_PME_B0" device generic 0 on end end end device ref i2c0 on end device ref i2c1 on chip drivers/intel/mipi_camera register "acpi_hid" = ""OVTI5675"" register "acpi_uid" = "0" register "acpi_name" = ""CAM0"" register "chip_name" = ""Ov 5675 Camera"" register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" register "ssdb.lanes_used" = "2" register "ssdb.vcm_type" = "0x0C" register "vcm_name" = ""VCM0"" register "num_freq_entries" = "1" register "link_freq[0]" = "450000000" register "remote_name" = ""IPU0"" register "has_power_resource" = "1" #Controls register "clk_panel.clks[0].clknum" = "0" #IMGCLKOUT_0 register "clk_panel.clks[0].freq" = "1" #19.2 Mhz register "gpio_panel.gpio[0].gpio_num" = "GPP_B23" #power_enable register "gpio_panel.gpio[1].gpio_num" = "GPP_R5" #reset #_ON register "on_seq.ops_cnt" = "4" register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 2)" register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 1)" register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 1)" #_OFF register "off_seq.ops_cnt" = "3" register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)" register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" device i2c 36 on end end chip drivers/intel/mipi_camera register "acpi_uid" = "3" register "acpi_name" = ""VCM0"" register "chip_name" = ""DW AF VCM"" register "device_type" = "INTEL_ACPI_CAMERA_VCM" register "pr0" = ""\\_SB.PCI0.I2C1.CAM0.PRIC"" register "vcm_compat" = ""dongwoon,dw9714"" device i2c 0C on end end end device ref i2c2 on end device ref i2c3 on end device ref heci1 on end device ref sata on end device ref i2c5 on chip drivers/intel/mipi_camera register "acpi_hid" = ""OVTI5675"" register "acpi_uid" = "0" register "acpi_name" = ""CAM1"" register "chip_name" = ""Ov 5675 Camera"" register "device_type" = "INTEL_ACPI_CAMERA_SENSOR" register "ssdb.lanes_used" = "2" register "num_freq_entries" = "1" register "link_freq[0]" = "450000000" register "remote_name" = ""IPU0"" register "has_power_resource" = "1" #Controls register "clk_panel.clks[0].clknum" = "1" #IMGCLKOUT_1 register "clk_panel.clks[0].freq" = "1" #19.2 Mhz register "gpio_panel.gpio[0].gpio_num" = "GPP_E16" #power_enable register "gpio_panel.gpio[1].gpio_num" = "GPP_E15" #reset #_ON register "on_seq.ops_cnt" = "4" register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)" register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 2)" register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 1)" register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 1)" #_OFF register "off_seq.ops_cnt" = "3" register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)" register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)" register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)" device i2c 36 on end end end device ref pcie_rp5 on end device ref pcie_rp6 on end device ref pcie_rp8 on end device ref pcie_rp9 on end device ref pcie_rp11 on end device ref uart0 on end device ref gspi0 on end device ref p2sb on end device ref gspi1 on chip drivers/spi/acpi register "hid" = "ACPI_DT_NAMESPACE_HID" register "compat_string" = ""google,cr50"" register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_E3_IRQ)" device spi 0 on end end end device ref hda on chip drivers/intel/soundwire device generic 0 on chip drivers/soundwire/alc711 # SoundWire Link 0 ID 1 register "desc" = ""Headset Codec"" device generic 0.1 on end end end end end device ref smbus on end end end