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

chip northbridge/intel/sandybridge
	register "spd_addresses" = "{0x50, 0x51, 0x52, 0x53}"
	device domain 0 on
		device ref host_bridge on # Host bridge
			subsystemid 0x1849 0x0100
		end
		device ref peg10 on end # PEG - slot "PCIE1"
		device ref igd on # iGPU
			subsystemid 0x1849 0x0102
		end
		chip southbridge/intel/bd82x6x # Intel Series 7 Panther Point PCH
			register "gen1_dec" = "0x000c0291"
			register "gen2_dec" = "0x000c0241"
			register "gen3_dec" = "0x000c0251"
			register "sata_interface_speed_support" = "0x3"
			register "sata_port_map" = "0x3f"
			register "spi_lvscc" = "0x2005"
			register "spi_uvscc" = "0x2005"
			register "superspeed_capable_ports" = "0x0000000f"
			register "xhci_overcurrent_mapping" = "0x00000c03"
			register "xhci_switchable_ports" = "0x0000000f"
			register "usb_port_config" = "{
				{ 1, 0, 0 },
				{ 1, 0, 0 },
				{ 1, 1, 1 },
				{ 1, 1, 1 },
				{ 1, 1, 2 },
				{ 1, 1, 2 },
				{ 1, 0, 3 },
				{ 1, 0, 3 },
				{ 1, 0, 4 },
				{ 1, 0, 4 },
				{ 1, 0, 6 },
				{ 1, 1, 5 },
				{ 1, 1, 5 },
				{ 1, 0, 6 }
			}"
			device ref xhci on # USB 3.0 Controller
				subsystemid 0x1849 0x1e31
			end
			device ref mei1 on # Management Engine Interface 1
				subsystemid 0x1849 0x1e3a
			end
			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 # USB2 EHCI #2
				subsystemid 0x1849 0x1e2d
			end
			device ref hda on # High Definition Audio
				subsystemid 0x1849 0x8892
			end
			device ref pcie_rp1 on # PCIe Port #1 - slot "PCIE4", 4 lanes
				subsystemid 0x1849 0x1e10
			end
			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 # PCIe Port #5 - slot "PCIE2", 1 lane
				subsystemid 0x1849 0x1e18
			end
			device ref pcie_rp6 on # PCIe Port #6 - RTL8111E GbE
				subsystemid 0x1849 0x1e1a
				device pci 00.0 on end # PCI 10ec:8168
			end
			device ref pcie_rp7 on # PCIe Port #7 - slot "PCIE3", 1 lane
				subsystemid 0x1849 0x1e16
			end
			device ref pcie_rp8 on # PCIe Port #8 - ASM1061 SATA Controller
				subsystemid 0x1849 0x1e1e
			end
			device ref ehci1 on # USB2 EHCI #1
				subsystemid 0x1849 0x1e26
			end
			device ref pci_bridge off end # PCI bridge
			device ref lpc on # LPC bridge
				subsystemid 0x1849 0x1e4a
				chip superio/nuvoton/nct6776
					device pnp 2e.0 off end		# Floppy
					device pnp 2e.1 on		# 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	# GPIO8
					device pnp 2e.107 off end	# GPIO9
					device pnp 2e.8 off end		# WDT1
					device pnp 2e.108 off end	# GPIO0
					device pnp 2e.208 off end	# GPIOA
					device pnp 2e.308 on		# GPIO base
						io 0x60 = 0x0
						irq 0xf0 = 0x3e		# + GPIO1 direction
						irq 0xf1 = 0xde		# + GPIO1 value
					end
					device pnp 2e.109 on end	# GPIO1
					device pnp 2e.209 on		# GPIO2
						irq 0xe0 = 0xff		# + GPIO2 direction
						irq 0xe1 = 0x0c		# + GPIO2 value
					end
					device pnp 2e.309 on		# GPIO3
						irq 0xe4 = 0xf7		# + GPIO3 direction
						irq 0xe5 = 0x08		# + GPIO3 value
					end
					device pnp 2e.409 off end	# GPIO4
					device pnp 2e.509 off end	# GPIO5
					device pnp 2e.609 off end	# GPIO6
					device pnp 2e.709 on end	# GPIO7
					device pnp 2e.a on		# ACPI
						irq 0xe4 = 0x10 	# + enable 3VSBSW#
						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
					end
					device pnp 2e.d off end		# VID
					device pnp 2e.e off end		# CIR WAKE-UP
					device pnp 2e.f off end		# GPIO Push-Pull or Open-drain
					device pnp 2e.14 off end	# SVID
					device pnp 2e.16 off end	# Deep Sleep
					device pnp 2e.17 off end	# GPIOA
				end
			end
			device ref sata1 on # SATA (AHCI)
				subsystemid 0x1849 0x1e02
			end
			device ref smbus on # SMBus
				subsystemid 0x1849 0x1e22
			end
			device ref sata2 off end # SATA (Legacy)
			device ref thermal off end # Thermal
		end
	end
end