chip northbridge/intel/sandybridge

	# Enable DisplayPort 1 Hotplug with 6ms pulse
	register "gpu_dp_d_hotplug" = "0x06"

	# Enable DisplayPort 0 Hotplug with 6ms pulse
	register "gpu_dp_c_hotplug" = "0x06"

	# Enable DVI Hotplug with 6ms pulse
	register "gpu_dp_b_hotplug" = "0x06"

	register "max_mem_clock_mhz" = "666"

	chip cpu/intel/model_206ax
		device cpu_cluster 0 on end

		register "acpi_c1" = "CPU_ACPI_C3"
		register "acpi_c2" = "CPU_ACPI_C6"
	end

	device domain 0 on
		subsystemid 0x1ae0 0xc000 inherit
		device ref host_bridge on end # host bridge
		device ref igd on end # vga controller

		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
			# GPI routing
			#  0 No effect (default)
			#  1 SMI# (if corresponding ALT_GPI_SMI_EN bit is also set)
			#  2 SCI (if corresponding GPIO_EN bit is also set)
			register "gpi1_routing" = "0"
			register "gpi14_routing" = "2"

			register "sata_port_map" = "0x3"

			register "gen1_dec" = "0x00fc1601"
			# SuperIO range is 0x700-0x73f
			register "gen2_dec" = "0x003c0701"

			device ref mei1 on end # Management Engine Interface 1
			device ref mei2 off end # Management Engine Interface 2
			device ref me_ide_r off end # Management Engine IDE-R
			device ref me_kt off end # Management Engine KT
			device ref gbe off end # Intel Gigabit Ethernet
			device ref ehci2 on end # USB2 EHCI #2
			device ref hda on end # High Definition Audio
			device ref pcie_rp1 on end # PCIe Port #1 (WLAN)
			device ref pcie_rp2 off end # PCIe Port #2
			device ref pcie_rp3 on end # PCIe Port #3 (Debug)
			device ref pcie_rp4 on end # PCIe Port #4 (LAN)
			device ref pcie_rp5 off end # PCIe Port #5
			device ref pcie_rp6 off end # PCIe Port #6
			device ref pcie_rp7 off end # PCIe Port #7
			device ref pcie_rp8 off end # PCIe Port #8
			device ref ehci1 on end # USB2 EHCI #1
			device ref pci_bridge off end # PCI bridge
			device ref lpc on # LPC bridge
				chip superio/ite/it8772f
					# Enable GPIO10 as USBPWRON12#
					# Enable GPIO12 as USBPWRON13#
					register "gpio_set1" = "0x05"
					# Enable GPIO22 as SIO_WAEKSCI#
					register "gpio_set2" = "0x04"
					# Enable GPIO32 as SIO_EXTSMI#
					register "gpio_set3" = "0x04"
					# Enable GPIO45 as LED_POWER#
					register "gpio_set4" = "0x20"
					# Enable GPIO51 as USBPWRON8#
					# Enable GPIO52 as USBPWRON1#
					register "gpio_set5" = "0x06"
					# Skip keyboard init
					register "skip_keyboard" = "true"
					# Enable PECI on TMPIN3
					register "peci_tmpin" = "3"
					# Enable FAN3
					register "fan3_enable" = "true"

					device pnp 2e.0 off end # FDC
					device pnp 2e.1 on # Serial Port 1
						io 0x60 = 0x2f8
						irq 0x70 = 4
					end
					device pnp 2e.4 on # Environment Controller
						io 0x60 = 0x700
						io 0x62 = 0x710
					end
					device pnp 2e.7 on # GPIO
						io 0x60 = 0x720
						io 0x62 = 0x730
					end
					device pnp 2e.5 on
						io 0x60 = 0x60
						io 0x62 = 0x64
						irq 0x70 = 1
					end # Keyboard
					device pnp 2e.6 on
						irq 0x70 = 12
					end # Mouse
					device pnp 2e.a off end # IR
				end
				chip drivers/pc80/tpm
					device pnp 0c31.0 on end
				end
			end
			device ref sata1 on end # SATA Controller 1
			device ref smbus on end # SMBus
			device ref sata2 off end # SATA Controller 2
			device ref thermal on end # Thermal
		end
	end
end
