blob: e2340b9f03cfa0fc15db40ba5bb046f1051370e5 [file] [log] [blame]
Arthur Heymans15412562018-07-18 11:48:47 +02001#
2# This file is part of the coreboot project.
3#
4# Copyright (C) 2015 Damien Zammit <damien@zamaudio.com>
5# Copyright (C) 2018 Arthur Heymans <arthur@aheymans.xyz>
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16#
17
18chip northbridge/intel/x4x # Northbridge
19 device cpu_cluster 0 on # APIC cluster
20 chip cpu/intel/socket_LGA775
21 device lapic 0 on end
22 end
Angel Ponsd2f3afc2020-01-01 19:19:47 +010023 chip cpu/intel/model_1067x # CPU
24 device lapic 0xacac off end
Arthur Heymans15412562018-07-18 11:48:47 +020025 end
26 end
27 device domain 0 on # PCI domain
Angel Ponsd2f3afc2020-01-01 19:19:47 +010028 device pci 0.0 on end # Host Bridge
29 device pci 1.0 on end # PEG
30 device pci 2.0 off end # Integrated graphics controller
31 device pci 2.1 off end # Integrated graphics controller 2
Arthur Heymans15412562018-07-18 11:48:47 +020032 device pci 3.0 off end # ME
33 device pci 3.1 off end # ME
34 device pci 3.2 off end # ME
35 device pci 3.3 off end # ME
Arthur Heymans5f7910d2018-10-14 13:12:01 +020036 device pci 6.0 on end # PEG 2
Arthur Heymans15412562018-07-18 11:48:47 +020037 chip southbridge/intel/i82801jx # Southbridge
38 register "gpe0_en" = "0x40"
39
40 # Set AHCI mode.
41 register "sata_port_map" = "0x3f"
42 register "sata_clock_request" = "0"
43 register "sata_traffic_monitor" = "0"
44
45 # Enable PCIe ports 0,2,3 as slots.
Angel Ponsd2f3afc2020-01-01 19:19:47 +010046 register "pcie_slot_implemented" = "0x31"
Arthur Heymans15412562018-07-18 11:48:47 +020047
Arthur Heymansc484da12019-11-09 14:29:04 +010048 register "gen1_dec" = "0x00000295"
49 register "gen2_dec" = "0x001c4701"
50
Arthur Heymans15412562018-07-18 11:48:47 +020051 device pci 19.0 off end # GBE
52 device pci 1a.0 on end # USB
53 device pci 1a.1 on end # USB
54 device pci 1a.2 on end # USB
55 device pci 1a.7 on end # USB
56 device pci 1b.0 on end # Audio
Bill XIEc53e6ed2019-03-15 19:37:58 +080057 device pci 1c.0 on end # PCIe 1 slot 1
58 device pci 1c.1 on end # PCIe 2 slot 2
59 device pci 1c.2 on end # PCIe 3 slot 3
Arthur Heymans15412562018-07-18 11:48:47 +020060 device pci 1c.3 off end # PCIe 4
Jonathan Neuschäfer40a19662018-10-29 22:52:40 +010061 device pci 1c.4 on end # PCIe 5 MARVELL IDE
Bill XIEc53e6ed2019-03-15 19:37:58 +080062 device pci 1c.5 on end # PCIe 6 ethernet NIC
Arthur Heymans15412562018-07-18 11:48:47 +020063 device pci 1d.0 on end # USB
64 device pci 1d.1 on end # USB
65 device pci 1d.2 on end # USB
66 device pci 1d.7 on end # USB
67 device pci 1e.0 on end # PCI bridge
68 device pci 1f.0 on # LPC bridge
69 chip superio/winbond/w83667hg-a # Super I/O
Arthur Heymans5f7910d2018-10-14 13:12:01 +020070 device pnp 2e.0 on # FDC
Arthur Heymans15412562018-07-18 11:48:47 +020071 # Global registers
Arthur Heymans5f7910d2018-10-14 13:12:01 +020072 irq 0x2a = 0x30
Arthur Heymans15412562018-07-18 11:48:47 +020073 irq 0x2c = 0x22
74 irq 0x2d = 0x00
Arthur Heymans5f7910d2018-10-14 13:12:01 +020075 io 0x60 = 0x3f0
76 irq 0x70 = 0x06
77 end
78 device pnp 2e.1 off end # LPT1
79 device pnp 2e.2 on # COM1
Arthur Heymans15412562018-07-18 11:48:47 +020080 io 0x60 = 0x3f8
81 irq 0x70 = 4
82 end
83 device pnp 2e.3 off end # COM2
84 device pnp 2e.5 on # PS/2 keyboard & mouse
85 io 0x60 = 0x60
86 io 0x62 = 0x64
87 irq 0x70 = 1
88 irq 0x72 = 12
89 end
90 device pnp 2e.106 off end # SPI1
Angel Pons5c568e02018-11-03 15:24:29 +010091 device pnp 2e.107 off end # GPIO6
92 device pnp 2e.207 off end # GPIO7
93 device pnp 2e.307 on # GPIO8
Arthur Heymans15412562018-07-18 11:48:47 +020094 irq 0xe4 = 0xfb
Arthur Heymans5f7910d2018-10-14 13:12:01 +020095 irq 0xe5 = 0x82
Arthur Heymans15412562018-07-18 11:48:47 +020096 end
Angel Pons5c568e02018-11-03 15:24:29 +010097 device pnp 2e.407 off end # GPIO9
Arthur Heymans15412562018-07-18 11:48:47 +020098 device pnp 2e.8 off end # WDT
Angel Pons5c568e02018-11-03 15:24:29 +010099 device pnp 2e.108 off end # GPIO1
Arthur Heymans15412562018-07-18 11:48:47 +0200100 device pnp 2e.9 off end # GPIO2
101 device pnp 2e.109 on end # GPIO3
102 device pnp 2e.209 on # GPIO4
Arthur Heymans5f7910d2018-10-14 13:12:01 +0200103 irq 0xf0 = 0xff
Arthur Heymans15412562018-07-18 11:48:47 +0200104 irq 0xfe = 0x07
105 end
106 device pnp 2e.309 on end # GPIO5
107 device pnp 2e.a on # ACPI
108 irq 0xe4 = 0x10 # 3VSBSW# enable
109 irq 0xe5 = 0x02
110 irq 0xf2 = 0xfc
111 end
112 device pnp 2e.b on # HW Monitor
113 io 0x60 = 0x290
Arthur Heymans5f7910d2018-10-14 13:12:01 +0200114 irq 0x70 = 0x0
Arthur Heymans15412562018-07-18 11:48:47 +0200115 # IRQ purposefully not assigned to prevent lockups
116 end
117 device pnp 2e.c on end # PECI
118 device pnp 2e.d on end # VID_BUSSEL
119 device pnp 2e.f on end # GPIO_PP_OD
120 end
121 end
122 device pci 1f.1 off end # PATA/IDE
123 device pci 1f.2 on end # SATA
124 device pci 1f.3 on end # SMbus
125 device pci 1f.4 off end
Arthur Heymans5f7910d2018-10-14 13:12:01 +0200126 device pci 1f.5 on end # IDE
Arthur Heymans15412562018-07-18 11:48:47 +0200127 device pci 1f.6 off end
128 end
129 end
130end