chip soc/intel/skylake

	register "deep_s5_enable_ac" = "0"
	register "deep_s5_enable_dc" = "0"
	register "deep_sx_config" = "DSX_EN_LAN_WAKE_PIN"

	# GPE configuration
	# Note that GPE events called out in ASL code rely on this
	# route. i.e. If this route changes then the affected GPE
	# offset bits also need to be changed.
	register "gpe0_dw0" = "GPP_C"
	register "gpe0_dw1" = "GPP_D"
	register "gpe0_dw2" = "GPP_E"

	# Set the fixed lpc ranges
	# enable COMA at 3f8 and COMB at 3e8 (instead of the default 2f8)
	# enable the embedded controller
	register "lpc_iod" = "0x0070"
	register "lpc_ioe" = "LPC_IOE_COMA_EN | LPC_IOE_COMB_EN | LPC_IOE_EC_62_66"

	# LPC serial IRQ
	register "serirq_mode" = "SERIRQ_CONTINUOUS"

	# "Intel SpeedStep Technology"
	register "eist_enable" = "1"

	# DPTF
	register "dptf_enable" = "1"

	# FSP Configuration
	register "ScsEmmcHs400Enabled" = "1"
	register "SkipExtGfxScan" = "1"
	register "SaGv" = "SaGv_Enabled"

	register "SataSalpSupport" = "1"
	register "SataPortsEnable" = "{
		[0] = 1,
	}"

	# Enabling SLP_S3#, SLP_S4#, SLP_SUS and SLP_A Stretch
	# SLP_S3 Minimum Assertion Width. Values 0: 60us, 1: 1ms, 2: 50ms, 3: 2s
	register "PmConfigSlpS3MinAssert" = "2"

	# SLP_S4 Minimum Assertion Width. Values 0: default, 1: 1s, 2: 2s, 3: 3s, 4: 4s
	register "PmConfigSlpS4MinAssert" = "4"

	# SLP_SUS Minimum Assertion Width. Values 0: 0ms, 1: 500ms, 2: 1s, 3: 4s
	register "PmConfigSlpSusMinAssert" = "3"

	# SLP_A Minimum Assertion Width. Values 0: 0ms, 1: 4s, 2: 98ms, 3: 2s
	register "PmConfigSlpAMinAssert" = "3"

	# VR Settings Configuration for 4 Domains
	#+----------------+-------+-------+-------+-------+
	#| Domain/Setting |  SA   |  IA   | GTUS  |  GTS  |
	#+----------------+-------+-------+-------+-------+
	#| Psi1Threshold  | 20A   | 20A   | 20A   | 20A   |
	#| Psi2Threshold  | 5A    | 5A    | 5A    | 5A    |
	#| Psi3Threshold  | 1A    | 1A    | 1A    | 1A    |
	#| Psi3Enable     | 1     | 1     | 1     | 1     |
	#| Psi4Enable     | 1     | 1     | 1     | 1     |
	#| ImonSlope      | 0     | 0     | 0     | 0     |
	#| ImonOffset     | 0     | 0     | 0     | 0     |
	#| IccMax         | 5.1A  | 32A   | 35A   | 31A   |
	#| VrVoltageLimit | 1.52V | 1.52V | 1.52V | 1.52V |
	#+----------------+-------+-------+-------+-------+
	register "domain_vr_config[VR_SYSTEM_AGENT]" = "{
		.vr_config_enable = 1,
		.psi1threshold = VR_CFG_AMP(20),
		.psi2threshold = VR_CFG_AMP(5),
		.psi3threshold = VR_CFG_AMP(1),
		.psi3enable = 1,
		.psi4enable = 1,
		.imon_slope = 0,
		.imon_offset = 0,
		.icc_max = VR_CFG_AMP(5.1),
		.voltage_limit = 1520
	}"

	register "domain_vr_config[VR_IA_CORE]" = "{
		.vr_config_enable = 1,
		.psi1threshold = VR_CFG_AMP(20),
		.psi2threshold = VR_CFG_AMP(5),
		.psi3threshold = VR_CFG_AMP(1),
		.psi3enable = 1,
		.psi4enable = 1,
		.imon_slope = 0,
		.imon_offset = 0,
		.icc_max = VR_CFG_AMP(32),
		.voltage_limit = 1520
	}"

	register "domain_vr_config[VR_GT_UNSLICED]" = "{
		.vr_config_enable = 1,
		.psi1threshold = VR_CFG_AMP(20),
		.psi2threshold = VR_CFG_AMP(5),
		.psi3threshold = VR_CFG_AMP(1),
		.psi3enable = 1,
		.psi4enable = 1,
		.imon_slope = 0,
		.imon_offset = 0,
		.icc_max = VR_CFG_AMP(35),
		.voltage_limit = 1520
	}"

	register "domain_vr_config[VR_GT_SLICED]" = "{
		.vr_config_enable = 1,
		.psi1threshold = VR_CFG_AMP(20),
		.psi2threshold = VR_CFG_AMP(5),
		.psi3threshold = VR_CFG_AMP(1),
		.psi3enable = 1,
		.psi4enable = 1,
		.imon_slope = 0,
		.imon_offset = 0,
		.icc_max = VR_CFG_AMP(31),
		.voltage_limit = 1520
	}"

	# Send an extra VR mailbox command for the PS4 exit issue
	register "SendVrMbxCmd" = "2"

	# Enable Root ports.
	# PCIE Port 1 disabled
	# PCIE Port 2 disabled

	# PCIE Port 3 x1 -> Module x1 : Mapped to PCIe 2 on the baseboard
	register "PcieRpEnable[2]" = "1"
	# Disable CLKREQ#
	register "PcieRpClkReqSupport[2]" = "0"
	# Set MaxPayload to 256 bytes
	register "PcieRpMaxPayload[2]" = "RpMaxPayload_256"
	# Enable Latency Tolerance Reporting Mechanism
	register "PcieRpLtrEnable[2]" = "1"
	# Enable Advanced Error Reporting
	register "PcieRpAdvancedErrorReporting[2]" = "1"
	# Disable Aspm
	register "pcie_rp_aspm[2]" = "AspmDisabled"

	# PCIE Port 4 disabled
	# PCIE Port 5 x1 -> MODULE i219

	# PCIE Port 6 x1 -> BASEBOARD x1 i210 : Mapped to PCIe 4 on the baseboard
	register "PcieRpEnable[5]" = "1"
	register "PcieRpClkReqSupport[5]" = "0"
	# Set MaxPayload to 256 bytes
	register "PcieRpMaxPayload[5]" = "RpMaxPayload_256"
	# Enable Latency Tolerance Reporting Mechanism
	register "PcieRpLtrEnable[5]" = "1"
	# Enable Advanced Error Reporting
	register "PcieRpAdvancedErrorReporting[5]" = "1"
	# Disable Aspm
	register "pcie_rp_aspm[5]" = "AspmDisabled"

	# PCIE Port 7 Disabled
	# PCIE Port 8 Disabled

	# PCIE Port 9 x4 -> BASEBOARD PEG0-3 FPGA
	register "PcieRpEnable[8]" = "1"
	# Disable CLKREQ#
	register "PcieRpClkReqSupport[8]" = "0"
	# Use Hot Plug subsystem
	register "PcieRpHotPlug[8]" = "1"
	# Set MaxPayload to 256 bytes
	register "PcieRpMaxPayload[8]" = "RpMaxPayload_256"
	# Enable Latency Tolerance Reporting Mechanism
	register "PcieRpLtrEnable[8]" = "1"
	# Enable Advanced Error Reporting
	register "PcieRpAdvancedErrorReporting[8]" = "1"
	# Disable Aspm
	register "pcie_rp_aspm[8]" = "AspmDisabled"


	# Must leave UART0 enabled or SD/eMMC will not work as PCI
	register "SerialIoDevMode" = "{
		[PchSerialIoIndexI2C0]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C1]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C2]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C3]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C4]  = PchSerialIoDisabled,
		[PchSerialIoIndexI2C5]  = PchSerialIoDisabled,
		[PchSerialIoIndexSpi0]  = PchSerialIoDisabled,
		[PchSerialIoIndexSpi1]  = PchSerialIoDisabled,
		[PchSerialIoIndexUart0] = PchSerialIoPci,
		[PchSerialIoIndexUart1] = PchSerialIoDisabled,
		[PchSerialIoIndexUart2] = PchSerialIoDisabled,
	}"

	device domain 0 on
		device ref igpu		on  end
		device ref sa_thermal	on  end
		device ref gmm		on  end
		device ref south_xhci	on
			register "usb2_ports" = "{
				[0] = USB2_PORT_TYPE_C(OC_SKIP),	/* USB-C Port 2 */
				[1] = USB2_PORT_MID(OC1),		/* USB3_TYPE-A Port 1 */
				[2] = USB2_PORT_MID(OC1),		/* USB3_TYPE-A Port 2 */
				[3] = USB2_PORT_TYPE_C(OC_SKIP),	/* USB-C Port 1 */
				[4] = USB2_PORT_SHORT(OC_SKIP),		/* M2 Port */
				[6] = USB2_PORT_SHORT(OC_SKIP),		/* Audio board */
			}"

			register "usb3_ports" = "{
				[0] = USB3_PORT_DEFAULT(OC_SKIP),	/* USB-C Port 2 */
				[1] = USB3_PORT_DEFAULT(OC_SKIP),	/* USB3_TYPE-A Port 1 */
				[2] = USB3_PORT_DEFAULT(OC_SKIP),	/* USB3_TYPE-A Port 2 */
				[3] = USB3_PORT_DEFAULT(OC_SKIP),	/* USB-C Port 1 */
			}"
		end
		device ref south_xdci	on  end
		device ref thermal	on  end
		device ref heci1	on  end
		device ref sata		on  end
		device ref pcie_rp3	on  end # x1 baseboard WWAN
		device ref pcie_rp6	on  end # x1 baseboard i210
		device ref pcie_rp9	on  end # x4 FPGA
		device ref uart0	on  end
		device ref emmc		on  end
		device ref lpc_espi	on
			# CPLD host command ranges are in 0x280-0x2BF
			# EC PNP registers are at 0x6e and 0x6f
			register "gen1_dec" = "0x003c0281"
			register "gen3_dec" = "0x0004006d"

			chip drivers/pc80/tpm
				device pnp 0c31.0 on end
			end
		end
		device ref hda		on  end # for HDMI only
		device ref smbus	on  end
		device ref fast_spi	on  end
		device ref gbe		on  end
	end
end
