chip northbridge/amd/amdk8/root_complex
        device cpu_cluster 0 on
                chip cpu/amd/socket_F
                        device lapic 0 on end
                end
        end
	device domain 0 on
		subsystemid 0x1022 0x2b80 inherit
		chip northbridge/amd/amdk8
			device pci 18.0 on #  northbridge
				#  devices on link 0, link 0 == LDT 0
				chip southbridge/amd/amd8132
					# the on/off keyword is mandatory
					device pci 0.0 on end
					device pci 0.1 on end
					device pci 1.0 on end
					device pci 1.1 on end
				end
				chip southbridge/amd/amd8111
					# this "device pci 0.0" is the parent the next one
					# PCI bridge
					device pci 0.0 on
						device pci 0.0 on end
						device pci 0.1 on end
						device pci 0.2 off end
						device pci 1.0 off end
					end
					device pci 1.0 on
						chip superio/winbond/w83627hf
							device pnp 2e.0 off #  Floppy
                	                 			io 0x60 = 0x3f0
                	                			irq 0x70 = 6
                	                			drq 0x74 = 2
							end
                	        			device pnp 2e.1 off #  Parallel Port
                	                 			io 0x60 = 0x378
                	                			irq 0x70 = 7
							end
                	        			device pnp 2e.2 on #  Com1
                	                 			io 0x60 = 0x3f8
                	                			irq 0x70 = 4
							end
                	        			device pnp 2e.3 off #  Com2
                	                 			io 0x60 = 0x2f8
                	                			irq 0x70 = 3
							end
                	        			device pnp 2e.5 on #  Keyboard
                	                 			io 0x60 = 0x60
                	                 			io 0x62 = 0x64
                	                			irq 0x70 = 1
								irq 0x72 = 12
							end
                	        			device pnp 2e.6 off #  CIR
								io 0x60 = 0x100
							end
                	        			device pnp 2e.7 off #  GAME_MIDI_GIPO1
								io 0x60 = 0x220
								io 0x62 = 0x300
								irq 0x70 = 9
							end
                	        			device pnp 2e.8 off end #  GPIO2
                	        			device pnp 2e.9 off end #  GPIO3
                	        			device pnp 2e.a off end #  ACPI
                	        			device pnp 2e.b on #  HW Monitor
 					 			io 0x60 = 0x290
								irq 0x70 = 5
                					end
						end
					end
					device pci 1.1 on end
					device pci 1.2 on end
					device pci 1.3 on
                                                chip drivers/i2c/i2cmux # pca9556 smbus mux
                                                        device i2c 18 on #0 pca9516 1
                                                                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
                                                                chip drivers/generic/generic #dimm 0-1-0
                                                                        device i2c 52 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 0-1-1
                                                                        device i2c 53 on end
                                                                end
                                                        end
                                                        device i2c 18 on #1 pca9516 2
                                                                chip drivers/generic/generic #dimm 1-0-0
                                                                        device i2c 50 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-0-1
                                                                        device i2c 51 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-1-0
                                                                        device i2c 52 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-1-1
                                                                        device i2c 53 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-2-0
                                                                        device i2c 54 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-2-1
                                                                        device i2c 55 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-3-0
                                                                        device i2c 56 on end
                                                                end
                                                                chip drivers/generic/generic #dimm 1-3-1
                                                                        device i2c 57 on end
                                                                end
                                                        end
						end
					end # acpi
					device pci 1.5 off end
					device pci 1.6 off end
                	                register "ide0_enable" = "1"
                	                register "ide1_enable" = "1"
				end
			end #  device pci 18.0

                        device pci 18.0 on end
                        device pci 18.0 on end
			device pci 18.1 on end
			device pci 18.2 on end
			device pci 18.3 on end
		end
                chip northbridge/amd/amdk8
                        device pci 19.0 on #  northbridge
                                chip southbridge/amd/amd8151
                                        # the on/off keyword is mandatory
                                        device pci 0.0 on end
                                        device pci 1.0 on end
                                end
                        end #  device pci 19.0

                        device pci 19.0 on end
                        device pci 19.0 on end
                        device pci 19.1 on end
                        device pci 19.2 on end
                        device pci 19.3 on end
                end


	end #domain
#        chip drivers/generic/debug
#        	device pnp 0.0 off end # chip name
#                device pnp 0.1 on end # pci_regs_all
#                device pnp 0.2 off end # mem
#                device pnp 0.3 off end # cpuid
#                device pnp 0.4 off end # smbus_regs_all
#                device pnp 0.5 off end # dual core msr
#                device pnp 0.6 off end # cache size
#                device pnp 0.7 off end # tsc
#       end

end


