summaryrefslogtreecommitdiff
path: root/src/mainboard/hp/z220_series/devicetree.cb
blob: f02ff761233c95d97f00e007690833e47007870b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
## SPDX-License-Identifier: GPL-2.0-only

chip northbridge/intel/sandybridge
	register "gfx.use_spread_spectrum_clock" = "0"
	register "gpu_dp_b_hotplug" = "0"
	register "gpu_dp_c_hotplug" = "0"
	register "gpu_dp_d_hotplug" = "0"
	# BTX mainboard: Reversed mapping
	register "spd_addresses" = "{0x53, 0x52, 0x51, 0x50}"

	device domain 0 on
		subsystemid 0x103c 0x1791 inherit

		device ref host_bridge on  end	# Host bridge Host bridge
		device ref peg10 on  end	# PCIe Bridge for discrete graphics
		device ref igd on  end	# Internal graphics VGA controller
		device ref peg60 off end	# Extra x4 port on north bridge

		chip southbridge/intel/bd82x6x # Intel Series 7 PCH
			register "docking_supported" = "0"
			register "gen1_dec" = "0x00fc0601"
			register "gen2_dec" = "0x00fc0801"
			register "pcie_hotplug_map" = "{ 0, 0, 0, 0, 0, 0, 0, 0 }"
			register "pcie_port_coalesce" = "true"
			register "sata_interface_speed_support" = "0x3"
			register "spi_lvscc" = "0x2005"
			register "spi_uvscc" = "0x2005"
			register "superspeed_capable_ports" = "0x0000000f"
			register "xhci_switchable_ports"    = "0x0000000f"
			register "xhci_overcurrent_mapping" = "0x0000000f"

			device ref xhci on  end	# xHCI
			device ref mei1 on  end	# Management Engine Interface 1
			device ref mei2 off end	# Management Engine Interface 2
			device ref me_ide_r off end	# Management Engine IDE-R
			device ref me_kt on  end	# Management Engine KT
			device ref gbe on  end	# Intel Gigabit Ethernet
			device ref ehci2 on  end	# USB2 EHCI #2
			device ref hda on  end	# High Definition Audio controller
			device ref pcie_rp1 on  end	# PCIe Port #1
			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  end	# PCIe Port #5
			device ref pcie_rp6 off end	# PCIe Port #6
			device ref pcie_rp7 off end	# PCIe Port #7
			device ref pcie_rp8 off end	# PCIe Port #8
			device ref ehci1 on  end	# USB2 EHCI #1
			device ref pci_bridge on  end	# PCI bridge
			device ref lpc on	# LPC bridge PCI-LPC bridge
				chip superio/common
					device pnp 2e.ff on # passes SIO base addr to SSDT gen
						chip superio/nuvoton/npcd378
							device pnp 2e.0 off end		# Floppy
							device pnp 2e.1 on		# Parallel port
								# global

								# serialice: Vendor writes:
								irq 0x14 = 0x9c
								irq 0x1c = 0xa8
								irq 0x1d = 0x08
								irq 0x22 = 0x3f
								irq 0x1a = 0xb0
								# dumped from superiotool:
								irq 0x1b = 0x1e
								irq 0x27 = 0x08
								irq 0x2a = 0x20
								irq 0x2d = 0x01
								# parallel port
								io 0x60 = 0x378
								irq 0x70 = 0x07
								drq 0x74 = 0x01
							end
							device pnp 2e.2 off		# COM1
								io 0x60 = 0x2f8
								irq 0x70 = 3
							end
							device pnp 2e.3 on		# COM2, IR
								io 0x60 = 0x3f8
								irq 0x70 = 4
							end
							device pnp 2e.4 on		# LED control
								io 0x60 = 0x600
								# IOBASE[0h] = bit0 LED red / green
								# IOBASE[0h] = bit1-4 LED PWM duty cycle
								# IOBASE[1h] = bit6 SWCC

								io 0x62 = 0x610
								# IOBASE [0h] = GPES
								# IOBASE [1h] = GPEE
								# IOBASE [4h:7h] = 32bit upcounter at 1Mhz
								# IOBASE [8h:bh] = GPS
								# IOBASE [ch:fh] = GPE
							end
							device pnp 2e.5 on		# Mouse
								irq 0x70 = 0xc
							end
							device pnp 2e.6 on		# Keyboard
								io 0x60 = 0x0060
								io 0x62 = 0x0064
								irq 0x70 = 0x01
								# serialice: Vendor writes:
								drq 0xf0 = 0x40
							end
							device pnp 2e.7 on		#  WDT ?
								io 0x60 = 0x620
							end
							device pnp 2e.8 on		# HWM
								io 0x60 = 0x800
								# IOBASE[0h:feh] HWM page
								# IOBASE[ffh] bit0-bit3 page selector

								drq 0xf0 = 0x20
								drq 0xf1 = 0x01
								drq 0xf2 = 0x40
								drq 0xf3 = 0x01

								drq 0xf4 = 0x66
								drq 0xf5 = 0x67
								drq 0xf6 = 0x66
								drq 0xf7 = 0x01
							end
							device pnp 2e.f on		# GPIO OD ?
								drq 0xf1 = 0x97
								drq 0xf2 = 0x01
								drq 0xf5 = 0x08
								drq 0xfe = 0x80
							end
							device pnp 2e.15 on		# BUS ?
								io 0x60 = 0x0680
								io 0x62 = 0x0690
							end
							device pnp 2e.1c on		# Suspend Control ?
								io 0x60 = 0x640
								# writing to IOBASE[5h]
								#  0x0: Power off
								#  0x9: Power off and bricked until CMOS battery removed
							end
							device pnp 2e.1e on		# GPIO ?
								io 0x60 = 0x660
								drq 0xf4 = 0x01
								# skip the following, as it
								# looks like remapped registers
								#drq 0xf5 = 0x06
								#drq 0xf6 = 0x60
								#drq 0xfe = 0x03
							end
						end
					end
				end
				chip drivers/pc80/tpm
					device pnp 4e.0 on end          # TPM module
				end
			end
			device ref sata1 on  end	# SATA Controller 1
			device ref smbus on  end	# SMBus
			device ref sata2 off end	# SATA Controller 2
			device ref thermal off end	# Thermal
		end
	end
end