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"

	# CPLD host command ranges are in 0x280-0x2BF
	# EC PNP registers are at 0x6e and 0x6f
	register "gen1_dec" = "0x003c0281"
	register "gen3_dec" = "0x0004006d"

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

	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 */
	}"

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