# SPDX-License-Identifier: GPL-2.0-or-later

chip northbridge/intel/sandybridge
	register "gpu_dp_b_hotplug" = "4"
	register "gpu_dp_c_hotplug" = "4"
	register "gpu_dp_d_hotplug" = "4"

	device domain 0 on
		device pci 00.0 on
			subsystemid 0x1849 0x0150
		end
		device pci 01.0 on
			subsystemid 0x1849 0x0151
		end
		device pci 02.0 on
			subsystemid 0x1849 0x0152
		end
		chip southbridge/intel/bd82x6x
			register "gen1_dec" = "0x000c0291"
			register "gen2_dec" = "0x000c0241"
			register "gen3_dec" = "0x000c0251"
			register "sata_interface_speed_support" = "0x3"
			register "sata_port_map" = "0x3f"
			register "superspeed_capable_ports" = "0x0000000f"
			register "xhci_overcurrent_mapping" = "0x00000c03"
			register "xhci_switchable_ports" = "0x0000000f"
			register "spi_uvscc" = "0x2005"
			register "spi_lvscc" = "0x2005"

			device pci 14.0 on  # USB 3.0 Controller
				subsystemid 0x1849 0x1e31
			end
			device pci 16.0 on  # Management Engine Interface 1
				subsystemid 0x1849 0x1e3a
			end
			device pci 16.1 off end # Management Engine Interface 2
			device pci 16.2 off end # Management Engine IDE-R
			device pci 16.3 off end # Management Engine KT
			device pci 19.0 off end # Intel Gigabit Ethernet
			device pci 1a.0 on  # USB2 EHCI #2
				subsystemid 0x1849 0x1e2d
			end
			device pci 1b.0 on  # HDA Audio controller
				subsystemid 0x1849 0x8892
			end
			device pci 1c.0 on  # PCIe Port #1
				subsystemid 0x1849 0x1e10
			end
			device pci 1c.1 off end # PCIe Port #2
			device pci 1c.2 off end # PCIe Port #3
			device pci 1c.3 on  # PCIe Port #4, Realtek PCIe GbE Controller
				subsystemid 0x1849 0x1e16
				device pci 00.0 on end # PCI 10ec:8168
			end
			device pci 1c.4 off end # PCIe Port #5
			device pci 1c.5 on  # PCIe Port #6
				subsystemid 0x1849 0x1e1a
			end
			device pci 1c.6 off end # PCIe Port #7
			device pci 1c.7 off end # PCIe Port #8
			device pci 1d.0 on  # USB2 EHCI #1
				subsystemid 0x1849 0x1e26
			end
			device pci 1e.0 off end # PCI bridge
			device pci 1f.0 on  # LPC bridge
				subsystemid 0x1849 0x1e49
				chip superio/nuvoton/nct6776
					device pnp 2e.0 off end		# Floppy
					device pnp 2e.1 on		# Parallel port
						# global
						irq 0x1c = 0x80
						irq 0x27 = 0xc0
						irq 0x2a = 0x62
						# parallel port
						io 0x60 = 0x378
						irq 0x70 = 5
						drq 0x74 = 3
					end
					device pnp 2e.2 on		# COM1
						io 0x60 = 0x3f8
						irq 0x70 = 4
					end
					device pnp 2e.3 off end		# COM2, IR
					device pnp 2e.5 on		# Keyboard
						io 0x60 = 0x60
						io 0x62 = 0x64
						irq 0x70 = 1
						irq 0x72 = 12
					end
					device pnp 2e.6 off end		# CIR
					device pnp 2e.7 off end		# GPIO6-9
					device pnp 2e.8 off end		# WDT1, GPIO0, GPIO1, GPIOA
					device pnp 2e.9 off end		# GPIO2-5
					device pnp 2e.a on		# ACPI
						irq 0xe0 = 0x01
						irq 0xe3 = 0x14
						irq 0xe4 = 0x10		# + enable 3VSBSW#
						irq 0xe6 = 0x4c
						irq 0xe9 = 0x02
						irq 0xf0 = 0x20		# + pin 70 = 3VSBSW
					end
					device pnp 2e.b on		# HWM, front panel LED
						irq 0x30 = 0xe1		# + Fan RPM sense pins
						io  0x60 = 0x0290	# + HWM base address
						io  0x62 = 0x0000
						irq 0x70 = 0
					end
					device pnp 2e.d on end		# VID
					device pnp 2e.e off end		# CIR WAKE-UP
					device pnp 2e.f on end		# GPIO Push-Pull or Open-drain
					device pnp 2e.14 on end		# SVID
					device pnp 2e.16 on end		# Deep Sleep
					device pnp 2e.17 on end		# GPIOA
					device pnp 2e.308 on		# GPIO base
						io 0x60 = 0x0
					end
				end
			end
			device pci 1f.2 on  # SATA Controller 1
				subsystemid 0x1849 0x1e02
			end
			device pci 1f.3 on  # SMBus
				subsystemid 0x1849 0x1e22
			end
			device pci 1f.5 off end
			device pci 1f.6 off end # Thermal
		end
	end
end