fw_config
	field DB_SD 0 1
		option SD_ABSENT		0
		option SD_GL9755S		1
	end
	field KB_BL 2 2
		option KB_BL_ABSENT		0
		option KB_BL_PRESENT		1
	end
	field AUDIO 3 5
		option AUDIO_UNKNOWN			0
		option MAX98390_ALC5682I_I2S_4SPK	1
	end
	field DB_LTE 6 7
		option LTE_ABSENT		0
		option LTE_USB			1
		option LTE_PCIE			2
	end
	field EPS 10 10
		option PRIVACY_SCREEN_ABSENT	0
		option PRIVACY_SCREEN		1
	end
	field CAMERA_UFC 38 39
		option CAMERA_NONE		0
		option CAMERA_OV5675		1
		option CAMERA_HI556		2
	end
	field TP_SOURCE 40 41
		option ELAN0000			0
		option ELAN2703			1
	end
end
chip soc/intel/alderlake
	register "sagv" = "SaGv_Enabled"

	# As per Intel Advisory doc#723158, the change is required to prevent possible
	# display flickering issue.
	register "usb2_phy_sus_pg_disable" = "1"

	register "cnvi_bt_audio_offload" = "true"
	# FIVR RFI Spread Spectrum 6%
	register "fivr_spread_spectrum" = "FIVR_SS_6"

	# Acoustic settings
	register "acoustic_noise_mitigation" = "1"
	register "slow_slew_rate[VR_DOMAIN_IA]" = "SLEW_FAST_8"
	register "slow_slew_rate[VR_DOMAIN_GT]" = "SLEW_FAST_8"
	register "fast_pkg_c_ramp_disable[VR_DOMAIN_IA]" = "1"
	register "fast_pkg_c_ramp_disable[VR_DOMAIN_GT]" = "1"

	register "usb2_ports[1]" = "USB2_PORT_EMPTY"
	register "usb2_ports[5]" = "USB2_PORT_EMPTY"
	register "tcss_ports[1]" = "TCSS_PORT_EMPTY"

	# Intel Common SoC Config
	#+-------------------+---------------------------+
	#| Field             |  Value                    |
	#+-------------------+---------------------------+
	#| GSPI1             | Fingerprint MCU           |
	#| I2C0              | Audio                     |
	#| I2C1              | cr50 TPM. Early init is   |
	#|                   | required to set up a BAR  |
	#|                   | for TPM communication     |
	#| I2C3              | TouchScreen               |
	#| I2C5              | Trackpad                  |
	#+-------------------+---------------------------+
	register "common_soc_config" = "{
		.i2c[0] = {
			.speed = I2C_SPEED_FAST,
			.rise_time_ns = 650,
			.fall_time_ns = 400,
			.data_hold_time_ns = 50,
		},
		.i2c[1] = {
			.early_init = 1,
			.speed = I2C_SPEED_FAST,
			.rise_time_ns = 600,
			.fall_time_ns = 400,
			.data_hold_time_ns = 50,
		},
		.i2c[2] = {
			.speed = I2C_SPEED_FAST,
			.rise_time_ns = 650,
			.fall_time_ns = 400,
			.data_hold_time_ns = 50,
		},
		.i2c[3] = {
			.speed = I2C_SPEED_FAST,
			.rise_time_ns = 650,
			.fall_time_ns = 400,
			.data_hold_time_ns = 50,
		},
		.i2c[5] = {
			.speed = I2C_SPEED_FAST,
			.rise_time_ns = 650,
			.fall_time_ns = 400,
			.data_hold_time_ns = 50,
		},
	}"
	register "tcc_offset" = "3"  # TCC of 97C

	device domain 0 on
		device ref igpu on
			chip drivers/gfx/generic
				register "device_count" = "6"
				# DDIA for eDP
				register "device[0].name" = ""LCD0""
				# Use ChromeOS privacy screen _HID
				register "device[0].hid" = ""GOOG0010""
				# Internal panel on the first port of the graphics chip
				register "device[0].addr" = "0x80010400"
				register "device[0].privacy.enabled" = "1"
				register "device[0].privacy.gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H21)"
				# DDIB for HDMI
				register "device[1].name" = ""DD01""
				# TCP0 (DP-1) for port C0
				register "device[2].name" = ""DD02""
				register "device[2].use_pld" = "true"
				register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
				# TCP1 (DP-2) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP1
				register "device[3].name" = ""DD03""
				# TCP2 (DP-3) for port C2
				register "device[4].name" = ""DD04""
				register "device[4].use_pld" = "true"
				register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
				# TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
				register "device[5].name" = ""DD05""
				device generic 0 on
					probe EPS PRIVACY_SCREEN
				end
			end
			chip drivers/gfx/generic
				register "device_count" = "6"
				# DDIA for eDP
				register "device[0].name" = ""LCD0""
				# Internal panel on the first port of the graphics chip
				register "device[0].addr" = "0x80010400"
				# DDIB for HDMI
				register "device[1].name" = ""DD01""
				# TCP0 (DP-1) for port C0
				register "device[2].name" = ""DD02""
				register "device[2].use_pld" = "true"
				register "device[2].pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
				# TCP1 (DP-2) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP1
				register "device[3].name" = ""DD03""
				# TCP2 (DP-3) for port C2
				register "device[4].name" = ""DD04""
				register "device[4].use_pld" = "true"
				register "device[4].pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
				# TCP3 (DP-4) is unused for any ports but still enumerated in the kernel, so GFX device is added for TCP3
				register "device[5].name" = ""DD05""
				device generic 0 on
					probe EPS PRIVACY_SCREEN_ABSENT
				end
			end
		end # Integrated Graphics Device
		device ref dtt on
			chip drivers/intel/dptf
				## sensor information
				register "options.tsr[0].desc" = ""DRAM""
				register "options.tsr[1].desc" = ""SOC""
				register "options.tsr[2].desc" = ""Charger""
				register "options.tsr[3].desc" = ""5V regulator""

				# TODO: below values are initial reference values only
				## Passive Policy
				register "policies.passive" = "{
					[0] = DPTF_PASSIVE(CPU,         CPU,           55, 5000),
					[1] = DPTF_PASSIVE(CPU,         TEMP_SENSOR_0, 45, 5000),
					[2] = DPTF_PASSIVE(CPU,         TEMP_SENSOR_1, 51, 5000),
					[3] = DPTF_PASSIVE(CHARGER,     TEMP_SENSOR_2, 51, 5000),
					[4] = DPTF_PASSIVE(CPU,         TEMP_SENSOR_3, 51, 5000),
				}"
				register "controls.power_limits" = "{
					.pl1 = {
							.min_power = 13000,
							.max_power = 15000,
							.time_window_min = 42 * MSECS_PER_SEC,
							.time_window_max = 42 * MSECS_PER_SEC,
							.granularity = 200,
						},
					.pl2 = {
							.min_power = 35000,
							.max_power = 35000,
							.time_window_min = 42 * MSECS_PER_SEC,
							.time_window_max = 42 * MSECS_PER_SEC,
							.granularity = 1000,
						}
				}"
				## Charger Performance Control (Control, mA)
				register "controls.charger_perf" = "{
					[0] = { 255, 1700 },
					[1] = {  24, 1500 },
					[2] = {  16, 1000 },
					[3] = {   8,  500 }
				}"
				device generic 0 alias dptf_policy on end
			end
		end
		device ref tbt_pcie_rp1 off 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" = "1"
				register "cio2_lanes_used" = "{2}" # 2 CSI Camera lanes are used
				register "cio2_lane_endpoint[0]" = ""^I2C2.CAM0""
				register "cio2_prt[0]" = "2"
				device generic 0 on 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 pcie_rp6 on
			# Enable WWAN PCIE 6 using clk 5
			register "pch_pcie_rp[PCH_RP(6)]" = "{
				.clk_src = 5,
				.clk_req = 5,
				.flags = PCIE_RP_LTR | PCIE_RP_AER,
			}"
			chip soc/intel/common/block/pcie/rtd3
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
				register "reset_off_delay_ms" = "20"
				# register "reset_delay_ms" = "1000"
				register "srcclk_pin" = "5"
				register "ext_pm_support" = "ACPI_PCIE_RP_EMIT_ALL"
				register "skip_on_off_support" = "true"
				register "use_rp_mutex" = "true"
				device generic 0 alias rp6_rtd3 on
					probe DB_LTE LTE_PCIE
				end
			end
			chip drivers/wwan/fm
				register "fcpo_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F21)"
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
				register "perst_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E0)"
				register "wake_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPP_A7)"
				register "add_acpi_dma_property" = "true"
				use rp6_rtd3 as rtd3dev
				device generic 0 alias rp6_wwan on
					probe DB_LTE LTE_PCIE
				end
			end
			probe DB_LTE LTE_PCIE
		end
		device ref tcss_dma0 on
			chip drivers/intel/usb4/retimer
				register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
				use tcss_usb3_port1 as dfp[0].typec_port
				device generic 0 on end
			end
		end
		device ref tcss_dma1 on
			chip drivers/intel/usb4/retimer
				register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E4)"
				use tcss_usb3_port3 as dfp[0].typec_port
				device generic 0 on end
			end
		end
		device ref pcie_rp8 on
			chip soc/intel/common/block/pcie/rtd3
				register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H13)"
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D18)"
				register "srcclk_pin" = "3"
				device generic 0 on end
			end
		end	#PCIE8 SD card
		device ref i2c0 on
			chip drivers/i2c/generic
				register "hid" = ""RTL5682""
				register "name" = ""RT58""
				register "desc" = ""Headset Codec""
				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_A23)"
				# 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 on
					probe AUDIO MAX98390_ALC5682I_I2S_4SPK
				end
			end
			chip drivers/i2c/max98390
				register "desc" = ""MAX98390 Speaker Amp 0""
				register "uid" = "0"
				register "name" = ""MXW0""
				register "r0_calib_key" = ""dsm_calib_r0_0""
				register "temperature_calib_key" = ""dsm_calib_temp_0""
				register "dsm_param_file_name" = ""dsm_param_R""
				register "vmon_slot_no" = "0"
				register "imon_slot_no" = "1"
				device i2c 0x3a on
					probe AUDIO MAX98390_ALC5682I_I2S_4SPK
				end
			end
			chip drivers/i2c/max98390
				register "desc" = ""MAX98390 Speaker Amp 1""
				register "uid" = "1"
				register "name" = ""MXW1""
				register "r0_calib_key" = ""dsm_calib_r0_1""
				register "temperature_calib_key" = ""dsm_calib_temp_1""
				register "dsm_param_file_name" = ""dsm_param_L""
				register "vmon_slot_no" = "1"
				register "imon_slot_no" = "0"
				device i2c 0x3b on
					probe AUDIO MAX98390_ALC5682I_I2S_4SPK
				end
			end
			chip drivers/i2c/max98390
				register "desc" = ""MAX98390 Speaker Amp 2""
				register "uid" = "2"
				register "name" = ""MXW2""
				register "r0_calib_key" = ""dsm_calib_r0_2""
				register "temperature_calib_key" = ""dsm_calib_temp_2""
				register "dsm_param_file_name" = ""dsm_param_tt_R""
				register "vmon_slot_no" = "2"
				register "imon_slot_no" = "3"
				device i2c 0x38 on
					probe AUDIO MAX98390_ALC5682I_I2S_4SPK
				end
			end
			chip drivers/i2c/max98390
				register "desc" = ""MAX98390 Speaker Amp 3""
				register "uid" = "3"
				register "name" = ""MXW3""
				register "r0_calib_key" = ""dsm_calib_r0_3""
				register "temperature_calib_key" = ""dsm_calib_temp_3""
				register "dsm_param_file_name" = ""dsm_param_tt_L""
				register "vmon_slot_no" = "3"
				register "imon_slot_no" = "2"
				device i2c 0x39 on
					probe AUDIO MAX98390_ALC5682I_I2S_4SPK
				end
			end
		end #I2C0
		device ref i2c1 on
			chip drivers/i2c/tpm
				register "hid" = ""GOOG0005""
				register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_A13_IRQ)"
				device i2c 50 on end
			end
		end
		device ref i2c2 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.link_used" = "1"
				register "num_freq_entries" = "1"
				register "link_freq[0]" = "DEFAULT_LINK_FREQ"
				register "remote_name" = ""IPU0""
				register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"

				register "has_power_resource" = "1"
				#Controls
				register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
				register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"

				register "gpio_panel.gpio[0].gpio_num" = "GPP_D15"  #EN_UCAM_LED_PWR
				register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" #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, 5)"
				register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
				register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"

				#_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
					probe CAMERA_UFC CAMERA_NONE
					probe CAMERA_UFC CAMERA_OV5675
				end
			end
			chip drivers/intel/mipi_camera
				register "acpi_hid" = ""INT3537""
				register "acpi_uid" = "0"
				register "acpi_name" = ""CAM0""
				register "chip_name" = ""Hi-556 Camera""
				register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
				register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"

				register "ssdb.lanes_used" = "2"
				register "ssdb.link_used" = "1"
				register "num_freq_entries" = "1"
				register "link_freq[0]" = "437000000"
				register "remote_name" = ""IPU0""

				register "has_power_resource" = "1"
				#Controls
				register "clk_panel.clks[0].clknum" = "IMGCLKOUT_3"
				register "clk_panel.clks[0].freq" = "FREQ_19_2_MHZ"

				register "gpio_panel.gpio[0].gpio_num" = "GPP_D15"  #EN_UCAM_LED_PWR
				register "gpio_panel.gpio[1].gpio_num" = "GPP_D3" #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, 5)"
				register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"
				register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"

				#_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 20 on
					probe CAMERA_UFC CAMERA_HI556
				end
			end
			chip drivers/intel/mipi_camera
				register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
				register "acpi_uid" = "1"
				register "acpi_name" = ""NVM0""
				register "chip_name" = ""M24C64X""
				register "device_type" = "INTEL_ACPI_CAMERA_NVM"
				register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"

				register "nvm_size" = "0x2000"
				register "nvm_pagesize" = "1"
				register "nvm_readonly" = "1"
				register "nvm_width" = "0x10"
				register "nvm_compat" = ""atmel,24c64""
				device i2c 50 on end
			end

		end
		device ref i2c3 on
			chip drivers/i2c/hid
				register "generic.hid" = ""ELAN2513""
				register "generic.desc" = ""ELAN Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_C7_IRQ)"
				register "generic.detect" = "1"
				register "generic.reset_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C1)"
				register "generic.reset_delay_ms" = "300"
				register "generic.reset_off_delay_ms" = "1"
				register "generic.enable_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_C0)"
				register "generic.enable_delay_ms" = "6"
				register "generic.stop_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_C6)"
				register "generic.stop_off_delay_ms" = "1"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 0x15 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_F14_IRQ)"
				register "wake" = "GPE0_DW2_14"
				register "detect" = "1"
				device i2c 15 on
					probe TP_SOURCE ELAN0000
				end
			end
			chip drivers/i2c/hid
				register "generic.hid" = ""ELAN2703""
				register "generic.desc" = ""ELAN Touchpad""
				register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F14_IRQ)"
				register "generic.wake" = "GPE0_DW2_14"
				register "generic.detect" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 15 on
					probe TP_SOURCE ELAN2703
				end
			end
		end
		device ref gspi1 on
			chip drivers/spi/acpi
				register "name" = ""CRFP""
				register "hid" = "ACPI_DT_NAMESPACE_HID"
				register "uid" = "1"
				register "compat_string" = ""google,cros-ec-spi""
				register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_F15_IRQ)"
				register "wake" = "GPE0_DW2_15"
				register "has_power_resource" = "1"
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_D1)"
				register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D2)"
				register "enable_delay_ms" = "3"
				device spi 0 hidden end
			end # FPMCU
		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 pmc hidden
			chip drivers/intel/pmc_mux
				device generic 0 on
					chip drivers/intel/pmc_mux/conn
						use usb2_port1 as usb2_port
						use tcss_usb3_port1 as usb3_port
						device generic 0 alias conn0 on end
					end
					chip drivers/intel/pmc_mux/conn
						use usb2_port3 as usb2_port
						use tcss_usb3_port3 as usb3_port
						device generic 1 alias conn1 on end
					end
				end
			end
		end
		device ref tcss_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 "use_custom_pld" = "true"
						register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
						device ref tcss_usb3_port1 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB3 Type-C Port C2 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "use_custom_pld" = "true"
						register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
						device ref tcss_usb3_port3 on end
					end
				end
			end
		end
		device ref xhci on
			chip drivers/usb/acpi
				device ref xhci_root_hub on
					chip drivers/usb/acpi
						register "desc" = ""USB2 Type-C Port C0 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "use_custom_pld" = "true"
						register "custom_pld" = "ACPI_PLD_TYPE_C(LEFT, LEFT, ACPI_PLD_GROUP(1, 1))"
						device ref usb2_port1 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Type-C Port C2 (MLB)""
						register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
						register "use_custom_pld" = "true"
						register "custom_pld" = "ACPI_PLD_TYPE_C(RIGHT, LEFT, ACPI_PLD_GROUP(2, 1))"
						device ref usb2_port3 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 WWAN""
						register "type" = "UPC_TYPE_INTERNAL"
						device ref usb2_port4 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Camera""
						register "type" = "UPC_TYPE_INTERNAL"
						device ref usb2_port6 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB2 Type-A Port (MLB)""
						register "type" = "UPC_TYPE_A"
						register "use_custom_pld" = "true"
						register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
						device ref usb2_port9 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_D4)"
						device ref usb2_port10 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB3 Type-A Port (MLB)""
						register "type" = "UPC_TYPE_USB3_A"
						register "use_custom_pld" = "true"
						register "custom_pld" = "ACPI_PLD_TYPE_A(RIGHT, RIGHT, ACPI_PLD_GROUP(3, 1))"
						device ref usb3_port1 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""USB3 WWAN""
						register "type" = "UPC_TYPE_INTERNAL"
						device ref usb3_port4 on end
					end
				end
			end
		end
	end
end
