• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include "southbridge/intel/i82371eb/i82371eb.h"
4
5/* Declares assorted devices that fall under this southbridge. */
6Device (PX40)
7{
8	Name(_ADR, 0x00040000)
9	OperationRegion (PIRQ, PCI_Config, 0x60, 0x04)
10	Field (PIRQ, ByteAcc, NoLock, Preserve)
11	{
12		PIRA,   8,
13		PIRB,   8,
14		PIRC,   8,
15		PIRD,   8
16	}
17
18	OperationRegion (S1XX, PCI_Config, 0xB2, 0x01)
19	Field (S1XX, ByteAcc, NoLock, Preserve)
20	{
21		FXS1,   8
22	}
23
24	/* PNP Motherboard Resources */
25	Device (SYSR)
26	{
27		Name (_HID, EisaId ("PNP0C02"))
28		Name (_UID, 0x02)
29		Method (_CRS, 0, NotSerialized)
30		{
31			Name (BUF1, ResourceTemplate ()
32			{
33				/* PIIX4E ports */
34				/* Aliased DMA ports */
35				IO (Decode16, 0x0010, 0x0010, 0x01, 0x10, )
36				/* Aliased PIC ports */
37				IO (Decode16, 0x0022, 0x0022, 0x01, 0x1E, )
38				/* Aliased timer ports */
39				IO (Decode16, 0x0050, 0x0050, 0x01, 0x04, )
40				IO (Decode16, 0x0062, 0x0062, 0x01, 0x02, )
41				IO (Decode16, 0x0065, 0x0065, 0x01, 0x0B, )
42				IO (Decode16, 0x0074, 0x0074, 0x01, 0x0C, )
43				IO (Decode16, 0x0091, 0x0091, 0x01, 0x03, )
44				IO (Decode16, 0x00A2, 0x00A2, 0x01, 0x1E, )
45				IO (Decode16, 0x00E0, 0x00E0, 0x01, 0x10, )
46				IO (Decode16, 0x0294, 0x0294, 0x01, 0x04, )
47				IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x02, )
48				IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02, )
49			})
50			Return (BUF1)
51		}
52	}
53	/* 8259-compatible Programmable Interrupt Controller */
54	Device (PIC)
55	{
56		Name (_HID, EisaId ("PNP0000"))
57		Name (_CRS, ResourceTemplate ()
58		{
59			IO (Decode16, 0x0020, 0x0020, 0x01, 0x02,)
60			IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02,)
61			IRQNoFlags () {2}
62		})
63	}
64
65	/* PC-class DMA Controller */
66	Device (DMA1)
67	{
68		Name (_HID, EisaId ("PNP0200"))
69		Name (_CRS, ResourceTemplate ()
70		{
71			DMA (Compatibility, BusMaster, Transfer8,) {4}
72			IO (Decode16, 0x0000, 0x0000, 0x01, 0x10,)
73			IO (Decode16, 0x0080, 0x0080, 0x01, 0x11,)
74			IO (Decode16, 0x0094, 0x0094, 0x01, 0x0C,)
75			IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20,)
76		})
77	}
78
79	/* PC-class System Timer */
80	Device (TMR)
81	{
82		Name (_HID, EisaId ("PNP0100"))
83		Name (_CRS, ResourceTemplate ()
84		{
85			IO (Decode16,0x0040,0x0040,0x01,0x04,)
86			IRQNoFlags () {0}
87		})
88	}
89
90	/* AT Real-Time Clock */
91	Device (RTC)
92	{
93		Name (_HID, EisaId ("PNP0B00"))
94		Name (_CRS, ResourceTemplate ()
95		{
96			IO (Decode16,0x0070,0x0070,0x01,0x04,)
97			IRQNoFlags () {8}
98		})
99	}
100
101	Device (SPKR)
102	{
103		Name (_HID, EisaId ("PNP0800"))
104		Name (_CRS, ResourceTemplate ()
105		{
106			IO (Decode16,0x0061,0x0061,0x01,0x01,)
107		})
108	}
109
110	/* x87-compatible Floating Point Processing Unit */
111	Device (COPR)
112	{
113		Name (_HID, EisaId ("PNP0C04"))
114		Name (_CRS, ResourceTemplate ()
115		{
116			IO (Decode16,0x00F0,0x00F0,0x01,0x10,)
117			IRQNoFlags () {13}
118		})
119	}
120}
121Device (PX43)
122{
123	Name (_ADR, 0x00040003)
124
125	Method (_CRS, 0, NotSerialized)
126	{
127		Name (BUF1, ResourceTemplate ()
128		{
129			/* PM register ports */
130			IO (Decode16, PM_IO_BASE, PM_IO_BASE, 0x01, 0x40, )
131			/* SMBus register ports */
132			IO (Decode16, SMBUS_IO_BASE, SMBUS_IO_BASE, 0x01, 0x10, )
133		})
134		Return (BUF1)
135	}
136}
137