# 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"
	register "spd_addresses" = "{0x50, 0, 0x52, 0}"

	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
