chip soc/intel/jasperlake

	# USB Port Configuration
	register "usb2_ports[1]" = "USB2_PORT_EMPTY"	    # None
	register "usb2_ports[3]" = "USB2_PORT_MID(OC_SKIP)"	# LTE
	register "usb2_ports[4]" = "USB2_PORT_EMPTY"	    # None
	register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)"	# Camera (UFC)
	register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)"	# Camera (WFC)
	register "usb3_ports[1]" = "USB3_PORT_EMPTY"	    # None
	register "usb3_ports[3]" = "USB3_PORT_DEFAULT(OC_SKIP)"	# LTE

	register "SerialIoI2cMode" = "{
		[PchSerialIoIndexI2C0]  = PchSerialIoPci,
		[PchSerialIoIndexI2C1]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C2]  = PchSerialIoPci,
		[PchSerialIoIndexI2C3]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C4]  = PchSerialIoPci,
		[PchSerialIoIndexI2C5]  = PchSerialIoDisabled,
	}"

	# Intel Common SoC Config
	#+-------------------+---------------------------+
	#| Field             |  Value                    |
	#+-------------------+---------------------------+
	#| GSPI0             | cr50 TPM. Early init is   |
	#|                   | required to set up a BAR  |
	#|                   | for TPM communication     |
	#|                   | before memory is up       |
	#| I2C0              | Trackpad                  |
	#| I2C1              |                           |
	#| I2C2              | Touchscreen               |
	#| I2C3              |                           |
	#| I2C4              | Audio                     |
	#+-------------------+---------------------------+
	register "common_soc_config" = "{
		.gspi[0] = {
			.speed_mhz = 1,
			.early_init = 1,
		},
		.i2c[0] = {
			.speed = I2C_SPEED_FAST,
		},
		.i2c[2] = {
			.speed = I2C_SPEED_FAST,
		},
		.i2c[4] = {
			.speed = I2C_SPEED_FAST,
		},
	}"
	device domain 0 on
		device pci 14.0 on
			chip drivers/usb/acpi
				device usb 0.0 on
					chip drivers/usb/acpi
						device usb 2.1 off end
					end
					chip drivers/usb/acpi
						register "desc" = ""LTE""
						register "type" = "UPC_TYPE_INTERNAL"
						device usb 2.3 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""Camera (UFC)""
						register "type" = "UPC_TYPE_INTERNAL"
						device usb 2.5 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""Camera (WFC)""
						register "type" = "UPC_TYPE_INTERNAL"
						device usb 2.6 on end
					end
					chip drivers/usb/acpi
						device usb 3.1 off end
					end
					chip drivers/usb/acpi
						register "desc" = ""LTE""
						register "type" = "UPC_TYPE_INTERNAL"
						register "has_power_resource" = "1"
						register "reset_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H17)"
						register "reset_off_delay_ms" = "10"
						register "enable_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
						register "enable_delay_ms" = "20"
						device usb 3.3 on end
					end
				end
			end
		end # USB xHCI
		device pci 15.0 on
			chip drivers/i2c/generic
				register "hid" = ""ELAN0000""
				register "desc" = ""ELAN Touchpad""
				register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_B3_IRQ)"
				register "wake" = "GPE0_DW0_03"
				register "probed" = "1"
				device i2c 15 on end
			end
			chip drivers/i2c/hid
				register "generic.hid" = ""GXTP7288""
				register "generic.desc" = ""Goodix Touchpad""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_B3_IRQ)"
				register "generic.wake" = "GPE0_DW0_03"
				register "generic.probed" = "1"
				register "hid_desc_reg_offset" = "0x20"
				device i2c 2c on end
			end
		end #I2C 0
		device pci 15.1 off  end # I2C 1
		device pci 15.2 on
			chip drivers/i2c/hid
				register "generic.hid" = ""WDHT0002""
				register "generic.desc" = ""WDT Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
				register "generic.probed" = "1"
				register "generic.reset_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "generic.reset_delay_ms" = "20"
				register "generic.stop_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
				register "generic.stop_delay_ms" = "130"
				register "generic.enable_gpio" =
							"ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
				register "generic.enable_delay_ms" = "1"
				register "generic.has_power_resource" = "1"
				register "generic.disable_gpio_export_in_crs" = "1"
				register "hid_desc_reg_offset" = "0x20"
				device i2c 2c on end
			end
			chip drivers/i2c/generic
				register "hid" = ""ELAN0001""
				register "desc" = ""ELAN Touchscreen""
				register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_D4_IRQ)"
				register "probed" = "1"
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "reset_delay_ms" = "20"
				register "reset_off_delay_ms" = "2"
				register "stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
				register "stop_delay_ms" = "280"
				register "stop_off_delay_ms" = "2"
				register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
				register "enable_delay_ms" = "1"
				register "has_power_resource" = "1"
				device i2c 10 on end
			end
		end # I2C 2
		device pci 15.3 off  end # I2C 3
		device pci 1c.7 on end
		device pci 19.0 on
			chip drivers/i2c/da7219
				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
				register "btn_cfg" = "50"
				register "mic_det_thr" = "500"
				register "jack_ins_deb" = "20"
				register "jack_det_rate" = ""32ms_64ms""
				register "jack_rem_deb" = "1"
				register "a_d_btn_thr" = "0xa"
				register "d_b_btn_thr" = "0x16"
				register "b_c_btn_thr" = "0x21"
				register "c_mic_btn_thr" = "0x3e"
				register "btn_avg" = "4"
				register "adc_1bit_rpt" = "1"
				register "micbias_lvl" = "2600"
				register "mic_amp_in_sel" = ""diff""
				device i2c 1a on end
			end
		end #I2C 4
		device pci 1f.3 on
			chip drivers/generic/max98357a
				register "hid" = ""MX98360A""
				register "sdmode_gpio" =  "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D17)"
				device generic 0 on end
			end
		end # Intel HDA
	end
end
