chip soc/intel/apollolake

	# Graphics
	# TODO:
	# register "panel_cfg" = "{
	#	.up_delay_ms			=  0,				// T3
	#	.backlight_on_delay_ms		=  0,				// T7
	#	.backlight_off_delay_ms		=  0,				// T9
	#	.down_delay_ms			=  0,				// T10
	#	.cycle_delay_ms			=  500,				// T12
	#	.backlight_pwm_hz		=  200,				// PWM
	# }"

# PM Util (soc/intel/apollolake/pmutil.c)
	# Enable the correct decode ranges on the LPC bus.
	register "lpc_ioe"                      = "LPC_IOE_EC_4E_4F |
						   LPC_IOE_EC_62_66 |
						   LPC_IOE_KBC_60_64"

	# Enable Audio Clock and Power gating
	register "hdaudio_clk_gate_enable"	= "1"
	register "hdaudio_pwr_gate_enable"	= "1"
	register "hdaudio_bios_config_lockdown"	= "1"

	register "enhanced_cstates"		= "1"

	register "pnp_settings"			= "PNP_PERF_POWER"

	register "ModPhyIfValue"		= "0x12"

	register "prt0_gpio"			= "GPIO_PRT0_UDEF"

	register "usb_config_override"		= "1"
	register "DisableComplianceMode"	= "1"

	register "pcie_rp_clkreq_pin[0]"	= "CLKREQ_DISABLED"
	register "pcie_rp_clkreq_pin[1]"	= "CLKREQ_DISABLED"
	register "pcie_rp_clkreq_pin[2]"	= "CLKREQ_DISABLED"
	register "pcie_rp_clkreq_pin[3]"	= "CLKREQ_DISABLED"
	register "pcie_rp_clkreq_pin[4]"	= "CLKREQ_DISABLED"
	register "pcie_rp_clkreq_pin[5]"	= "CLKREQ_DISABLED"

	register "pcie_rp_deemphasis_enable[0]"	= "1"
	register "pcie_rp_deemphasis_enable[1]"	= "1"
	register "pcie_rp_deemphasis_enable[2]"	= "1"
	register "pcie_rp_deemphasis_enable[3]"	= "1"
	register "pcie_rp_deemphasis_enable[4]"	= "1"
	register "pcie_rp_deemphasis_enable[5]"	= "1"

	# GPE configuration
	register "gpe0_dw1"			= "PMC_GPE_NW_63_32"
	register "gpe0_dw2"			= "PMC_GPE_N_95_64"
	register "gpe0_dw3"			= "PMC_GPE_NW_31_0"

	register "slp_s3_assertion_width_usecs"	= "28000"

	device domain 0 on
		device ref igd		on  end
		device ref cnvi		on
			chip drivers/wifi/generic
				register "wake" = "GPE0A_CNVI_PME_STS"
				device generic 0 on end
			end
		end
		device ref pmc		on  end
		device ref p2sb		on  end
		device ref fast_spi	on  end
		device ref sram		on  end
		device ref hda		on  end
		device ref heci1	on  end
		device ref heci2	on  end
		device ref heci3	on  end
		device ref sata		on
			register "sata_ports_enable[0]"	= "1"
		end
		device ref xhci		on
			# Motherboard USB Type C
			register "usb2_port[0]"		= "PORT_EN(OC_SKIP)"
			register "usb3_port[1]"		= "PORT_EN(OC_SKIP)"

			# Motherboard USB 3.0
			register "usb2_port[3]"		= "PORT_EN(OC1)"
			register "usb3_port[0]"		= "PORT_EN(OC1)"

			# Daughterboard USB 3.0
			register "usb2_port[5]"		= "PORT_EN(OC_SKIP)"
			register "usb3_port[4]"		= "PORT_EN(OC_SKIP)"

			# Daughterboard SD Card
			register "usb2_port[6]"		= "PORT_EN(OC_SKIP)"
		end
		device ref i2c4		on  end
		device ref i2c7		on
			# Handled by touchpad.asl
		end
		device ref uart0	on  end
		device ref uart2	on  end
		device ref spi2		on  end
		device ref lpc_espi	on
			register "gen1_dec"			= "0x000c06a1"
			register "gen2_dec"			= "0x000c0081"

			chip ec/starlabs/merlin
				# Port pair 4Eh/4Fh
				device pnp 4e.00 on  end			# IO Interface
				device pnp 4e.01 off end			# Com 1
				device pnp 4e.02 off end			# Com 2
				device pnp 4e.04 off end			# System Wake-Up
				device pnp 4e.05 off end			# PS/2 Mouse
				device pnp 4e.06 on				# PS/2 Keyboard
					io 0x60			= 0x0060
					io 0x62			= 0x0064
					irq 0x70		= 1
				end
				device pnp 4e.0a off end			# Consumer IR
				device pnp 4e.0f off end			# Shared Memory/Flash Interface
				device pnp 4e.10 off end			# RTC-like Timer
				device pnp 4e.11 off end			# Power Management Channel 1
				device pnp 4e.12 off end			# Power Management Channel 2
				device pnp 4e.13 off end			# Serial Peripheral Interface
				device pnp 4e.14 off end			# Platform EC Interface
				device pnp 4e.17 off end			# Power Management Channel 3
				device pnp 4e.18 off end			# Power Management Channel 4
				device pnp 4e.19 off end			# Power Management Channel 5
			end
		end
	end
	chip drivers/crb
		device mmio 0xfed40000 on end
	end
end
