## SPDX-License-Identifier: GPL-2.0-only

chip northbridge/intel/sandybridge
	register "gfx.use_spread_spectrum_clock" = "0"
	register "gpu_dp_b_hotplug" = "0"
	register "gpu_dp_c_hotplug" = "0"
	register "gpu_dp_d_hotplug" = "0"

	device domain 0 on
		subsystemid 0x103c 0x1495 inherit

		device ref host_bridge on  end	# Host bridge Host bridge
		device ref peg10 on  end	# PCIe Bridge for discrete graphics
		device ref igd on  end	# Internal graphics VGA controller

		chip southbridge/intel/bd82x6x # Intel Series 6 Cougar Point PCH
			register "docking_supported" = "0"
			register "gen1_dec" = "0x00fc0601"
			register "gen2_dec" = "0x00fc0801"
			register "pcie_hotplug_map" = "{ 0, 0, 0, 0, 0, 0, 0, 0 }"
			register "pcie_port_coalesce" = "true"
			register "sata_interface_speed_support" = "0x3"
			register "sata_port_map" = "0xf"
			register "spi_lvscc" = "0x2005"
			register "spi_uvscc" = "0x0"

			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 on  end	# Management Engine KT
			device ref gbe on  end	# Intel Gigabit Ethernet
			device ref ehci2 on  end	# USB2 EHCI #2
			device ref hda on  end	# High Definition Audio Audio controller
			device ref pcie_rp1 on  end	# PCIe Port #1
			device ref pcie_rp2 off end	# PCIe Port #2
			device ref pcie_rp3 off end	# PCIe Port #3
			device ref pcie_rp4 off end	# PCIe Port #4
			device ref pcie_rp5 on  end	# PCIe Port #5
			device ref pcie_rp6 off end	# PCIe Port #6
			device ref pcie_rp7 on  end	# PCIe Port #7
			device ref pcie_rp8 on  end	# PCIe Port #8
			device ref ehci1 on  end	# USB2 EHCI #1
			device ref pci_bridge on  end	# PCI bridge
			device ref lpc on	# LPC bridge PCI-LPC bridge
				chip superio/common
					device pnp 2e.ff on # passes SIO base addr to SSDT gen
						chip superio/nuvoton/npcd378
							device pnp 2e.0 off end		# Floppy
							device pnp 2e.1 on		# Parallel port
								# global

								# serialice: Vendor writes:
								irq 0x14 = 0x9c
								irq 0x1c = 0xa8
								irq 0x1d = 0x08
								irq 0x22 = 0x3f
								irq 0x1a = 0xb0
								# dumped from superiotool:
								irq 0x1b = 0x1e
								irq 0x27 = 0x08
								irq 0x2a = 0x20
								irq 0x2d = 0x01
								# parallel port
								io 0x60 = 0x378
								irq 0x70 = 0x07
								drq 0x74 = 0x01
							end
							device pnp 2e.2 off		# COM1
								io 0x60 = 0x2f8
								irq 0x70 = 3
							end
							device pnp 2e.3 on		# COM2, IR
								io 0x60 = 0x3f8
								irq 0x70 = 4
							end
							device pnp 2e.4 on		# LED control
								io 0x60 = 0x600
								# IOBASE[0h] = bit0 LED red / green
								# IOBASE[0h] = bit1-4 LED PWM duty cycle
								# IOBASE[1h] = bit6 SWCC

								io 0x62 = 0x610
								# IOBASE [0h] = GPES
								# IOBASE [1h] = GPEE
								# IOBASE [4h:7h] = 32bit upcounter at 1Mhz
								# IOBASE [8h:bh] = GPS
								# IOBASE [ch:fh] = GPE
							end
							device pnp 2e.5 on		# Mouse
								irq 0x70 = 0xc
							end
							device pnp 2e.6 on		# Keyboard
								io 0x60 = 0x0060
								io 0x62 = 0x0064
								irq 0x70 = 0x01
								# serialice: Vendor writes:
								drq 0xf0 = 0x40
							end
							device pnp 2e.7 on		#  WDT ?
								io 0x60 = 0x620
							end
							device pnp 2e.8 on		# HWM
								io 0x60 = 0x800
								# IOBASE[0h:feh] HWM page
								# IOBASE[ffh] bit0-bit3 page selector

								drq 0xf0 = 0x20
								drq 0xf1 = 0x01
								drq 0xf2 = 0x40
								drq 0xf3 = 0x01

								drq 0xf4 = 0x66
								drq 0xf5 = 0x67
								drq 0xf6 = 0x66
								drq 0xf7 = 0x01
							end
							device pnp 2e.f on		# GPIO OD ?
								drq 0xf1 = 0x97
								drq 0xf2 = 0x01
								drq 0xf5 = 0x08
								drq 0xfe = 0x80
							end
							device pnp 2e.15 on		# BUS ?
								io 0x60 = 0x0680
								io 0x62 = 0x0690
							end
							device pnp 2e.1c on		# Suspend Control ?
								io 0x60 = 0x640
								# writing to IOBASE[5h]
								#  0x0: Power off
								#  0x9: Power off and bricked until CMOS battery removed
							end
							device pnp 2e.1e on		# GPIO ?
								io 0x60 = 0x660
								drq 0xf4 = 0x01
								# skip the following, as it
								# looks like remapped registers
								#drq 0xf5 = 0x06
								#drq 0xf6 = 0x60
								#drq 0xfe = 0x03
							end
						end
					end
				end
				chip drivers/pc80/tpm
					device pnp 4e.0 on end          # TPM module
				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 off end	# Thermal
		end
	end
end
