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"

	register "usb2_ports[0]" = "USB2_PORT_TYPE_C(OC0)"	# Type-A / Type-C Port 0
	register "usb2_ports[2]" = "USB2_PORT_TYPE_C(OC1)"	# Type-A / Type-C Port 1
	register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)"	# Front Camera
	register "usb2_ports[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

	# 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
			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
