#
# This file is part of the coreboot project.
#
# Copyright (C) 2013 Advanced Micro Devices, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
chip northbridge/amd/agesa/family16kb/root_complex
	device cpu_cluster 0 on
		chip cpu/amd/agesa/family16kb
			device lapic 0 on  end
		end
	end

	device domain 0 on
		subsystemid 0x1022 0x1410 inherit
		chip northbridge/amd/agesa/family16kb # CPU side of HT root complex

			chip northbridge/amd/agesa/family16kb # PCI side of HT root complex
				device pci 0.0 on  end # Root Complex
				device pci 1.0 on  end # Internal Graphics P2P bridge 0x9804
				device pci 1.1 on  end # Internal Multimedia
				device pci 2.0 on  end # PCIe Host Bridge
				device pci 2.1 on  end # x4 PCIe slot
				device pci 2.2 on  end # mPCIe slot
				device pci 2.3 on  end # Realtek NIC
				device pci 2.4 on  end # Edge Connector
				device pci 2.5 on  end # Edge Connector
			end	#chip northbridge/amd/agesa/family16kb

			chip southbridge/amd/agesa/hudson # it is under NB/SB Link, but on the same pci bus
				device pci 10.0 on  end # XHCI HC0
				device pci 11.0 on  end # SATA
				device pci 12.0 on  end # USB
				device pci 12.2 on  end # USB
				device pci 13.0 on  end # USB
				device pci 13.2 on  end # USB
				device pci 14.0 on      # SM
					chip drivers/generic/generic #dimm 0-0-0
						device i2c 50 on end
					end
					chip drivers/generic/generic #dimm 0-0-1
						device i2c 51 on end
					end
				end # SM
				device pci 14.2 on  end # HDA	0x4383
				device pci 14.3 on
					chip superio/winbond/w83627uhg
						device pnp 2e.0 off end    # FDC
						device pnp 2e.1 off end    # LPT1
						device pnp 2e.2 on         # COM1
							io 0x60 = 0x3f8
							irq 0x70 = 4
						end
						device pnp 2e.3 on         # COM2
							io 0x60 = 0x2f8
							irq 0x70 = 3
						end
						device pnp 2e.5 on         # KEYBRD
							io 0x60 = 0x60
							io 0x62 = 0x64
							irq 0x70 = 1
							irq 0x72 = 12
						end
						device pnp 2e.6 on         # COM3
							io 0x60 = 0x3e8
							irq 0x70 = 4
						end
						device pnp 2e.7 off end    # GPIO
						device pnp 2e.8 off end    # WDT
						device pnp 2e.9 off end    # GPIO
						device pnp 2e.a off end    # ACPI
						device pnp 2e.b off end    # HWMON
						device pnp 2e.c off end    # PECI
						device pnp 2e.d on         # COM4
							io 0x60 = 0x2e8
							irq 0x70 = 3
						end
						device pnp 2e.e on         # COM5
							io 0x60 = 0x3e0
							irq 0x70 = 4
						end
						device pnp 2e.f on         # COM6
							io 0x60 = 0x2e0
							irq 0x70 = 3
						end
					end # w83627uhg
				end # LPC	0x439d
				device pci 14.7 on  end # SD
			end	#chip southbridge/amd/hudson

			device pci 18.0 on  end
			device pci 18.1 on  end
			device pci 18.2 on  end
			device pci 18.3 on  end
			device pci 18.4 on  end
			device pci 18.5 on  end
			register "spdAddrLookup" = "
			{
				{ {0xA0, 0xA2}, {0x00, 0x00}, }, // socket 0 - Channel 0 & 1 - 8-bit SPD addresses
				{ {0x00, 0x00}, {0x00, 0x00}, }, // socket 1 - Channel 0 & 1 - 8-bit SPD addresses
			}"

		end	#chip northbridge/amd/agesa/family16kb # CPU side of HT root complex
	end	#domain
end	#northbridge/amd/agesa/family16kb/root_complex