fw_config
	field AUDIO_CODEC_SOURCE 40 42
		option AUDIO_CODEC_UNPROVISIONED 0
		option AUDIO_CODEC_ALC5682 	1
		option AUDIO_CODEC_ALC5682I_VS 	2
	end
end
chip soc/intel/jasperlake

	# USB Port Configuration
	register "usb2_ports[5]" = "USB2_PORT_MID(OC_SKIP)"     # Camera

	# 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              | Digitizer                 |
	#| I2C2              | Touchscreen               |
	#| I2C3              | Camera                    |
	#| I2C4              | Audio                     |
	#+-------------------+---------------------------+
	register "common_soc_config" = "{
		.gspi[0] = {
			.speed_mhz = 1,
			.early_init = 1,
		},
		.i2c[0] = {
			.speed = I2C_SPEED_FAST,
			.speed_config[0] = {
				.speed = I2C_SPEED_FAST,
				.scl_lcnt = 190,
				.scl_hcnt = 100,
				.sda_hold = 40,
			}
		},
		.i2c[1] = {
			.speed = I2C_SPEED_FAST,
		},
		.i2c[2] = {
			.speed = I2C_SPEED_FAST,
			.speed_config[0] = {
				.speed = I2C_SPEED_FAST,
				.scl_lcnt = 190,
				.scl_hcnt = 100,
				.sda_hold = 40,
			}
		},
		.i2c[3] = {
			.speed = I2C_SPEED_FAST,
		},
		.i2c[4] = {
			.speed = I2C_SPEED_FAST,
			.speed_config[0] = {
				.speed = I2C_SPEED_FAST,
				.scl_lcnt = 190,
				.scl_hcnt = 100,
				.sda_hold = 40,
			}
		},
	}"

	register "tcc_offset" = "20"	# TCC of 85C

	# Enable Acoustic noise mitigation and set slew rate to 1/4
        # Rest of the parameters are 0 by default.
	register "AcousticNoiseMitigation" = "1"
	register "SlowSlewRate" = "SlewRateFastBy4"
	register "FastPkgCRampDisable" = "1"

	device domain 0 on
		device pci 05.0 on # IPU - MIPI Camera
			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" = "{1,4}"
				register "cio2_lane_endpoint[1]" = ""^I2C3.CAM1""
				register "cio2_prt[0]" = "0"
				register "cio2_prt[1]" = "2"
				device generic 0 on end
			end
		end

		device pci 04.0 on
			chip drivers/intel/dptf
				# Default DPTF Policy for all drawcia boards if not overridden
				register "options.tsr[0].desc" = ""Memory""
				register "options.tsr[1].desc" = ""Ambient""
				register "options.tsr[2].desc" = ""Charger""
				register "options.tsr[3].desc" = ""5V regulator""

				## Passive Policy
				register "policies.passive" = "{
					[0] = DPTF_PASSIVE(CPU,		CPU,	       80, 1000),
					[1] = DPTF_PASSIVE(CPU,		TEMP_SENSOR_0, 70, 4000),
					[2] = DPTF_PASSIVE(CPU,		TEMP_SENSOR_1, 51, 1000),
					[3] = DPTF_PASSIVE(CHARGER,	TEMP_SENSOR_2, 75, 5000),
					[4] = DPTF_PASSIVE(CPU,		TEMP_SENSOR_3, 60, 1000)
				}"

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

				register "controls.power_limits" = "{
					.pl1 = {
						.min_power = 3800,
						.max_power = 5800,
						.time_window_min = 1 * MSECS_PER_SEC,
						.time_window_max = 1 * MSECS_PER_SEC,
						.granularity = 200,
					},
					.pl2 = {
						.min_power = 20000,
						.max_power = 20000,
						.time_window_min = 1 * MSECS_PER_SEC,
						.time_window_max = 1 * 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 }
				}"

				device generic 0 on end
			end
		end # SA Thermal device
		device pci 14.0 on
			chip drivers/usb/acpi
				device usb 0.0 on
					chip drivers/usb/acpi
						register "desc" = ""LTE""
						register "type" = "UPC_TYPE_INTERNAL"
						register "group" = "ACPI_PLD_GROUP(2, 2)"
						register "has_power_resource" = "1"
						register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_H17)"
						register "reset_off_delay_ms" = "20"
						register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
						register "enable_delay_ms" = "20"
						device usb 2.3 alias lte_usb2 on
							probe DB_PORTS DB_PORTS_1A_HDMI_LTE
						end
					end
					chip drivers/usb/acpi
						register "desc" = ""Right Type-A Port""
						register "type" = "UPC_TYPE_A"
						register "group" = "ACPI_PLD_GROUP(2, 2)"
						device usb 2.3 on
							probe DB_PORTS DB_PORTS_1A_HDMI
							probe DB_PORTS DB_PORTS_1C_1A
						end
					end
					chip drivers/usb/acpi
						register "desc" = ""Camera""
						register "type" = "UPC_TYPE_INTERNAL"
						device usb 2.5 on end
					end
					chip drivers/usb/acpi
						register "desc" = ""LTE""
						register "type" = "UPC_TYPE_INTERNAL"
						register "group" = "ACPI_PLD_GROUP(2, 2)"
						device usb 3.3 on
							probe DB_PORTS DB_PORTS_1A_HDMI_LTE
						end
					end
					chip drivers/usb/acpi
						register "desc" = ""Right Type-A Port""
						register "type" = "UPC_TYPE_USB3_A"
						register "group" = "ACPI_PLD_GROUP(2, 2)"
						device usb 3.3 on
							probe DB_PORTS DB_PORTS_1A_HDMI
							probe DB_PORTS DB_PORTS_1C_1A
						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 "detect" = "1"
				device i2c 15 on end
			end
			chip drivers/i2c/hid
				register "generic.hid" = ""SYNA0000""
				register "generic.cid" = ""ACPI0C50""
				register "generic.desc" = ""Synaptics Touchpad""
				register "generic.irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_B3_IRQ)"
				register "generic.wake" = "GPE0_DW0_03"
				register "generic.detect" = "1"
				register "hid_desc_reg_offset" = "0x20"
				device i2c 0x2c on end
			end
		end #I2C 0
		device pci 15.2 on
                        chip drivers/generic/gpio_keys
				register "name" = ""PENH""
				register "gpio" = "ACPI_GPIO_INPUT_ACTIVE_LOW(GPP_C12)"
				register "key.wakeup_route" = "WAKEUP_ROUTE_GPIO_IRQ"
				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
			chip drivers/i2c/generic
				register "hid" = ""ELAN0001""
				register "desc" = ""ELAN Touchscreen""
				register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
				register "detect" = "1"
				register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "reset_delay_ms" = "20"
				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
			chip drivers/i2c/hid
				register "generic.hid" = ""GTCH7503""
				register "generic.desc" = ""G2TOUCH Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
				register "generic.detect" = "1"
				register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "generic.reset_delay_ms" = "50"
				register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
				register "generic.enable_delay_ms" = "1"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 40 on end
			end
			chip drivers/i2c/hid
				register "generic.hid" = ""GDIX0000""
				register "generic.desc" = ""Goodix Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
				register "generic.detect" = "1"
				register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "generic.reset_delay_ms" = "120"
				register "generic.reset_off_delay_ms" = "2"
				register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
				register "generic.enable_delay_ms" = "12"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 0x5d on end
			end
			chip drivers/i2c/hid
				register "generic.hid" = ""ELAN2513""
				register "generic.desc" = ""ELAN Touchscreen""
				register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D4_IRQ)"
				register "generic.detect" = "1"
				register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "generic.reset_delay_ms" = "20"
				register "generic.reset_off_delay_ms" = "2"
				register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
				register "generic.enable_delay_ms" = "10"
				register "generic.stop_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A11)"
				register "generic.stop_delay_ms" = "130"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x01"
				device i2c 15 on end
			end
			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.detect" = "1"
				register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D5)"
				register "generic.reset_delay_ms" = "130"
				register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D6)"
				register "generic.enable_delay_ms" = "10"
				register "generic.has_power_resource" = "1"
				register "hid_desc_reg_offset" = "0x20"
				device i2c 2c on end
			end
		end # I2C 2
		device pci 15.3 on
			chip drivers/intel/mipi_camera
				register "acpi_hid" = ""OVTI8856""
				register "acpi_uid" = "0"
				register "acpi_name" = ""CAM1""
				register "chip_name" = ""Ov 8856 Camera""
				register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"

				register "ssdb.lanes_used" = "4"
				register "ssdb.link_used" = "1"
				register "ssdb.vcm_type" = "0x0C"
				register "vcm_name" = ""VCM0""
				register "num_freq_entries" = "2"
				register "link_freq[0]" = "360000000"
				register "link_freq[1]" = "180000000"
				register "remote_name" = ""IPU0""

				register "has_power_resource" = "1"
				register "low_power_probe" = "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_D13" #power_enable_2p8
				register "gpio_panel.gpio[1].gpio_num" = "GPP_D14" #power_enable_1p2
				register "gpio_panel.gpio[2].gpio_num" = "GPP_D12" #reset

				#_ON
				register "on_seq.ops_cnt" = "6"
				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_ENABLE(1, 5)"
				register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(2, 5)"
				register "on_seq.ops[4]" = "SEQ_OPS_GPIO_DISABLE(2, 5)"
				register "on_seq.ops[5]" = "SEQ_OPS_GPIO_ENABLE(2, 0)"

				#_OFF
				register "off_seq.ops_cnt" = "4"
				register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
				register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(2, 0)"
				register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
				register "off_seq.ops[3]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"

				device i2c 36 on end
			end
			chip drivers/intel/mipi_camera
				register "acpi_hid" = "ACPI_DT_NAMESPACE_HID"
				register "acpi_uid" = "3"
				register "acpi_name" = ""VCM0""
				register "chip_name" = ""DW AF DAC""
				register "device_type" = "INTEL_ACPI_CAMERA_VCM"

				register "has_power_resource" = "1"
				register "vcm_compat" = ""dongwoon,dw9714""
				register "low_power_probe" = "1"

				register "gpio_panel.gpio[0].gpio_num" = "GPP_D13" #power_enable_2p8
				register "gpio_panel.gpio[1].gpio_num" = "GPP_D12" #reset
				#_ON
				register "on_seq.ops_cnt" = "2"
				register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
				register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(1, 5)"
				#_OFF
				register "off_seq.ops_cnt" = "2"
				register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
				register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 5)"

				device i2c 0C on end
			end
			chip drivers/intel/mipi_camera
				register "acpi_uid" = "1"
				register "acpi_name" = ""NVM0""
				register "chip_name" = ""GT24C08""
				register "device_type" = "INTEL_ACPI_CAMERA_NVM"

				register "nvm_size" = "0x0400"
				register "nvm_pagesize" = "1"
				register "nvm_readonly" = "1"
				register "nvm_width" = "0x08"
				register "nvm_compat" = ""atmel,24c08""
				register "low_power_probe" = "1"

				register "has_power_resource" = "1"

				register "gpio_panel.gpio[0].gpio_num" = "GPP_D14" #power_enable_1p2
				#_ON
				register "on_seq.ops_cnt" = "1"
				register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
				#_OFF
				register "off_seq.ops_cnt" = "1"
				register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
				device i2c 50 on end
			end
		end # I2C 3
		device pci 19.0 on
			chip drivers/i2c/generic
				register "hid" = ""10EC5682""
				register "name" = ""RT58""
				register "desc" = ""Headset Codec""
				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
				# 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_CODEC_SOURCE AUDIO_CODEC_UNPROVISIONED
					probe AUDIO_CODEC_SOURCE AUDIO_CODEC_ALC5682
				end
			end
			chip drivers/i2c/generic
				register "hid" = ""RTL5682""
				register "name" = ""RT58""
				register "desc" = ""Headset Codec""
				register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_D16)"
				# 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_CODEC_SOURCE AUDIO_CODEC_ALC5682I_VS
				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
