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

chip northbridge/intel/sandybridge
	register "gfx.use_spread_spectrum_clock" = "0"
	register "gpu_cpu_backlight" = "0x00000000"
	register "gpu_dp_b_hotplug" = "4"
	register "gpu_dp_c_hotplug" = "4"
	register "gpu_dp_d_hotplug" = "4"
	register "gpu_panel_port_select" = "PANEL_PORT_LVDS"
	register "gpu_panel_power_backlight_off_delay" = "0"
	register "gpu_panel_power_backlight_on_delay" = "0"
	register "gpu_panel_power_cycle_delay" = "4"
	register "gpu_panel_power_down_delay" = "0"
	register "gpu_panel_power_up_delay" = "0"
	register "gpu_pch_backlight" = "0x00000000"
	register "spd_addresses" = "{0x50, 0x51, 0x52, 0x53}"

	device domain 0 on
		device ref host_bridge on
			subsystemid 0x1849 0x0150
		end
		device ref peg10 on
			subsystemid 0x1849 0x0151
		end
		device ref igd on
			subsystemid 0x1849 0x0152
		end
		chip southbridge/intel/bd82x6x
			register "docking_supported" = "0"
			register "gen1_dec" = "0x000c0291"
			register "gen2_dec" = "0x000c0241"
			register "gen3_dec" = "0x000c0251"
			register "pcie_hotplug_map" = "{ 0, 0, 0, 0, 0, 0, 0, 0 }"
			register "pcie_port_coalesce" = "false"
			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"
			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 # Management Engine Interface 2
			end
			device ref me_ide_r off # Management Engine IDE-R
			end
			device ref me_kt off end # Management Engine KT
			device ref gbe off # Intel Gigabit Ethernet
			end
			device ref ehci2 on # USB2 EHCI #2
				subsystemid 0x1849 0x1e2d
			end
			device ref hda on # High Definition Audio controller
				subsystemid 0x1849 0x8892
			end
			device ref pcie_rp1 on # PCIe Port #1
				subsystemid 0x1849 0x1e10
			end
			device ref pcie_rp2 off # PCIe Port #2
			end
			device ref pcie_rp3 off # PCIe Port #3
			end
			device ref pcie_rp4 off # PCIe Port #4
			end
			device ref pcie_rp5 on # PCIe Port #5, ASMedia ASM1062 SATA Controller
				subsystemid 0x1849 0x1e18
			end
			device ref pcie_rp6 on # PCIe Port #6, Realtek PCIe GbE Controller
				subsystemid 0x1849 0x1e1a
				device pci 00.0 on end
			end
			device ref pcie_rp7 off # PCIe Port #7
			end
			device ref pcie_rp8 off # PCIe Port #8
			end
			device ref ehci1 on # USB2 EHCI #1
				subsystemid 0x1849 0x1e26
			end
			device ref pci_bridge on # PCI bridge
				subsystemid 0x1849 0x244e
			end
			device ref lpc 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	# GPIO8
					device pnp 2e.8 off end		# WDT1
					device pnp 2e.308 on		# GPIO base
						io 0x60 = 0x0
						irq 0xf0 = 0x3e		# + GPIO1 direction
						irq 0xf1 = 0xde		# + GPIO1 value
					end
					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
				end
			end
			device ref sata1 on # SATA Controller 1
				subsystemid 0x1849 0x1e02
			end
			device ref smbus on # SMBus
				subsystemid 0x1849 0x1e22
			end
			device ref sata2 off # SATA Controller 2
			end
			device ref thermal off # Thermal
			end
		end
	end
end
