fw_config
	field AUDIO_CODEC_SOURCE 41 43
		option AUDIO_CODEC_UNPROVISIONED 0
		option AUDIO_CODEC_ALC5682 1
		option AUDIO_CODEC_ALC5682I_VS 2
	end
end
chip soc/intel/tigerlake
	# BitMask where bits [3:0] are Controller 0 Channel [3:0] and
	# bits [7:4] are Controller 1 Channel [3:0].
	# Enable Command Mirroring for controller 0 channel 0 and 1,
	# and controller 1 channel 0 and 1.
	register "CmdMirror" = "0x00000033"

	# Disable SRCCLKREQ1#
	register "PcieClkSrcUsage[1]" = "PCIE_CLK_NOTUSED"

	#+-------------------+---------------------------+
	#| Field             |  Value                    |
	#+-------------------+---------------------------+
	#| GSPI0             | cr50 TPM. Early init is   |
	#|                   | required to set up a BAR  |
	#|                   | for TPM communication     |
	#|                   | before memory is up       |
	#| I2C0              | Audio                     |
	#| I2C1              | Touchscreen               |
	#| I2C5              | Trackpad                  |
	#+-------------------+---------------------------+
	register "common_soc_config" = "{
		.gspi[0] = {
			.speed_mhz = 1,
			.early_init = 1,
		},
		.i2c[0] = {
			.speed = I2C_SPEED_FAST,
		},
		.i2c[1] = {
			.speed = I2C_SPEED_FAST,
		},
		.i2c[5] = {
			.speed = I2C_SPEED_FAST,
			.speed_config[0] = {
				.speed = I2C_SPEED_FAST,
				.scl_lcnt = 155,
				.scl_hcnt = 80,
				.sda_hold = 36,
                        },
		},
	}"

	device domain 0 on
		device ref dptf on
			chip drivers/intel/dptf
				## Disable Active Policy
				register "policies.active" = "{[0] = {.target=DPTF_NONE}}"

				## Passive Policy
				register "policies.passive" = "{
					[0] = DPTF_PASSIVE(CPU,		CPU,	       57, 30000),
					[1] = DPTF_PASSIVE(CPU,		TEMP_SENSOR_1, 45, 10000),
					[2] = DPTF_PASSIVE(CHARGER,	TEMP_SENSOR_0, 56, 30000),
					[3] = DPTF_PASSIVE(CPU,		TEMP_SENSOR_2, 54, 10000),
					[4] = DPTF_PASSIVE(CPU,		TEMP_SENSOR_3, 46, 10000)}"

				## Critical Policy
				register "policies.critical" = "{
					[0] = DPTF_CRITICAL(CPU,	       100, SHUTDOWN),
					[1] = DPTF_CRITICAL(TEMP_SENSOR_0,	75, SHUTDOWN),
					[2] = DPTF_CRITICAL(TEMP_SENSOR_1,	75, SHUTDOWN),
					[3] = DPTF_CRITICAL(TEMP_SENSOR_2,	75, SHUTDOWN),
					[4] = DPTF_CRITICAL(TEMP_SENSOR_3,	75, SHUTDOWN)}"

				## Power Limits Control
				# 7-9W PL1 in 200mW increments, avg over 28-32s interval
				# PL2 is fixed at 40W, avg over 28-32s interval
				register "controls.power_limits" = "{
					.pl1 = {.min_power = 7000,
						.max_power = 9000,
						.time_window_min = 28 * MSECS_PER_SEC,
						.time_window_max = 32 * MSECS_PER_SEC,
						.granularity = 200,},
					.pl2 = {.min_power = 40000,
						.max_power = 40000,
						.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, 2500 },
					[1] = {  24, 1900 },
					[2] = {  16, 1500 },
					[3] = {   8, 1000 }}"

				## Fan Performance Control (Percent, Speed, Noise, Power)
				register "controls.fan_perf" = "{[0] = {0}}"

				## Fan options
				register "options.fan.fine_grained_control" = "0"
				register "options.fan.step_size" = "0"

				device generic 0 on end
			end
		end

		device ref tbt_pcie_rp0 on
			probe DB_USB USB4_GEN3
		end
		device ref tbt_pcie_rp1 on
			probe DB_USB USB4_GEN2
			probe DB_USB USB4_GEN3
		end
		device ref tbt_dma0 on
			probe DB_USB USB4_GEN2
			probe DB_USB USB4_GEN3
		end

		device ref i2c0 on
			chip drivers/i2c/generic
				# register "hid" is set in variant.c because of FW_CONFIG
				register "name" = ""RT58""
				register "desc" = ""Headset Codec""
				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_R5)"
				# Set the jd_src to RT5668_JD1 for jack detection
				register "property_count" = "1"
				register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
				register "property_list[0].name" = ""realtek,jd-src""
				register "property_list[0].integer" = "1"
				device i2c 1a alias audio_codec on end
			end
			chip drivers/i2c/max98373
				register "vmon_slot_no" = "0"
				register "imon_slot_no" = "1"
				register "uid" = "0"
				register "desc" = ""Right Speaker Amp""
				register "name" = ""MAXR""
				device i2c 31 on
					probe AUDIO MAX98373_ALC5682I_I2S_UP4
				end
			end
			chip drivers/i2c/max98373
				register "vmon_slot_no" = "2"
				register "imon_slot_no" = "3"
				register "uid" = "1"
				register "desc" = ""Left Speaker Amp""
				register "name" = ""MAXL""
				device i2c 32 on
					probe AUDIO MAX98373_ALC5682I_I2S_UP4
				end
			end
		end
		device ref i2c1 on
			chip drivers/i2c/hid
				register "generic.hid" = ""ELAN9008""
				register "generic.desc" = ""ELAN Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E7_IRQ)"
				register "generic.detect" = "1"
				register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C10)"
				register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_F16)"
				register "generic.reset_delay_ms" = "20"
				register "generic.enable_delay_ms" = "7"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 10 on end
			end
			chip drivers/generic/gpio_keys
				register "name" = ""PENH""
				# GPP_E17 is the IRQ source, and GPP_E1 is the wake source
				register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_HIGH(GPP_E17)"
				register "key.wake_gpe" = "GPE0_DW2_01"
				register "key.wakeup_route" = "WAKEUP_ROUTE_SCI"
				register "key.wakeup_event_action" = "EV_ACT_DEASSERTED"
				register "key.dev_name" = ""EJCT""
				register "key.linux_code" = "SW_PEN_INSERTED"
				register "key.linux_input_type" = "EV_SW"
				register "key.label" = ""pen_eject""
				device generic 0 on end
			end
		end
		device ref i2c5 on
			chip drivers/i2c/generic
				register "hid" = ""ELAN0000""
				register "desc" = ""ELAN Touchpad""
				register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E15_IRQ)"
				register "wake" = "GPE0_DW2_15"
				register "detect" = "1"
				device i2c 15 on
					probe TOUCHPAD REGULAR_TOUCHPAD
				end
			end
			chip drivers/i2c/hid
				register "generic.hid" = ""ELAN2701""
				register "generic.desc" = ""ELAN Touchpad""
				register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_E15_IRQ)"
				register "generic.wake" = "GPE0_DW2_15"
				register "generic.detect" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 15 on
					probe TOUCHPAD NUMPAD_TOUCHPAD
				end
			end
		end
		device ref pch_espi on
			chip ec/google/chromeec
				use conn0 as mux_conn[0]
				use conn1 as mux_conn[1]
				device pnp 0c09.0 on end
			end
		end
		device ref hda on
			probe AUDIO MAX98357_ALC5682I_I2S
			probe AUDIO MAX98373_ALC5682I_I2S
			probe AUDIO MAX98373_ALC5682_SNDW
			probe AUDIO MAX98373_ALC5682I_I2S_UP4
			probe AUDIO MAX98360_ALC5682I_I2S
			probe AUDIO RT1011_ALC5682I_I2S
		end
		device ref pcie_rp9 on
			chip soc/intel/common/block/pcie/rtd3
				register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B2)"
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
				register "srcclk_pin" = "0"
				device generic 0 on end
			end
		end
		device ref pmc hidden
			# The pmc_mux chip driver is a placeholder for the
			# PMC.MUX device in the ACPI hierarchy.
			chip drivers/intel/pmc_mux
				device generic 0 on
					chip drivers/intel/pmc_mux/conn
						use usb2_port5 as usb2_port
						use tcss_usb3_port1 as usb3_port
						# SBU is fixed, HSL follows CC
						register "sbu_orientation" = "TYPEC_ORIENTATION_NORMAL"
						device generic 0 alias conn0 on end
					end
					chip drivers/intel/pmc_mux/conn
						use usb2_port3 as usb2_port
						use tcss_usb3_port2 as usb3_port
						# SBU is fixed, HSL follows CC
						register "sbu_orientation" = "TYPEC_ORIENTATION_NORMAL"
						device generic 1 alias conn1 on end
					end
				end
			end
		end
		device ref north_xhci on
			chip drivers/usb/acpi
				device ref tcss_root_hub on
					chip drivers/usb/acpi
						register "desc" = ""USB3 Type-C Port C0 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "group" = "ACPI_PLD_GROUP(4, 2)"
						device ref tcss_usb3_port1 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB3 Type-C Port C1 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "group" = "ACPI_PLD_GROUP(3, 2)"
						device ref tcss_usb3_port2 on
							probe DB_USB USB4_GEN3
						end
					end
				end
			end
		end
		device ref south_xhci on
			register "usb2_ports" = "{
				[0] = USB2_PORT_TYPE_C(OC0),	// Type-A / Type-C Port 0
				[2] = USB2_PORT_TYPE_C(OC1),	// Type-A / Type-C Port 1
				[3] = USB2_PORT_MID(OC_SKIP),	// Front Camera
				[4] = USB2_PORT_TYPE_C(OC0),	// Type-A / Type-C Port 0
			}"

			register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)"	# Type-A / Type-C Port 0

			chip drivers/usb/acpi
				device ref xhci_root_hub on
					chip drivers/usb/acpi
						register "desc" = ""USB2 Type-A Port A0 (MLB)""
						register "type" = "UPC_TYPE_A"
						register "group" = "ACPI_PLD_GROUP(1, 1)"
						device ref usb2_port1 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Type-C Port C1 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "group" = "ACPI_PLD_GROUP(3, 1)"
						device ref usb2_port3 on
							probe DB_USB USB4_GEN3
						end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Camera""
						register "type" = "UPC_TYPE_INTERNAL"
						device ref usb2_port4 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Type-C Port C0 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "group" = "ACPI_PLD_GROUP(4, 1)"
						device ref usb2_port5 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Bluetooth""
						register "type" = "UPC_TYPE_INTERNAL"
						register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A13)"
						device ref usb2_port10 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB3 Type-A Port A0 (MLB)""
						register "type" = "UPC_TYPE_USB3_A"
						register "group" = "ACPI_PLD_GROUP(1, 2)"
						device ref usb3_port1 on end
					end
				end
			end
		end
	end
end
