• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <variant/onboard.h>
4
5Scope (\_SB)
6{
7#ifdef BOARD_TRACKPAD_IRQ
8	/* Wake device for touchpad */
9	Device (TPAD)
10	{
11		Name (_HID, EisaId ("PNP0C0E"))
12		Name (_UID, 1)
13		Name (_PRW, Package() { BOARD_TRACKPAD_WAKE_GPIO, 0x3 })
14
15		Name (RBUF, ResourceTemplate()
16		{
17			Interrupt (ResourceConsumer, Level, ActiveLow)
18			{
19				BOARD_TRACKPAD_IRQ
20			}
21		})
22
23		Method (_CRS)
24		{
25			/* Only return interrupt if I2C1 is PCI mode */
26			If (\S1EN == 0) {
27				Return (^RBUF)
28			}
29
30			/* Return empty resource template otherwise */
31			Return (ResourceTemplate() {})
32		}
33	}
34#endif
35#ifdef BOARD_TOUCHSCREEN_IRQ
36	/* Wake device for touchscreen */
37	Device (TSCR)
38	{
39		Name (_HID, EisaId ("PNP0C0E"))
40		Name (_UID, 2)
41		Name (_PRW, Package() { BOARD_TOUCHSCREEN_WAKE_GPIO, 0x3 })
42
43		Name (RBUF, ResourceTemplate()
44		{
45			Interrupt (ResourceConsumer, Level, ActiveLow)
46			{
47				BOARD_TOUCHSCREEN_IRQ
48			}
49		})
50
51		Method (_CRS)
52		{
53			/* Return interrupt if I2C6 is PCI mode */
54			If (\S6EN == 0) {
55				Return (^RBUF)
56			}
57
58			/* Return empty resource template otherwise */
59			Return (ResourceTemplate() {})
60		}
61	}
62#endif
63}
64
65Scope (\_SB.PCI0.I2C2)
66{
67	Device (CODC)
68	{
69		/*
70		 * TODO(dlaurie): Need official HID.
71		 *
72		 * The current HID is created from the Maxim Integrated
73		 * PCI Vendor ID 193Ch and a shortened device identifier.
74		 */
75		Name (_HID, "193C9890")
76		Name (_DDN, "Maxim 98090 Codec")
77		Name (_UID, 1)
78
79		Name (_CRS, ResourceTemplate()
80		{
81			I2cSerialBus (
82				0x10,                     // SlaveAddress
83				ControllerInitiated,      // SlaveMode
84				400000,                   // ConnectionSpeed
85				AddressingMode7Bit,       // AddressingMode
86				"\\_SB.PCI0.I2C2",        // ResourceSource
87			)
88			Interrupt (ResourceConsumer, Level, ActiveLow)
89			{
90				BOARD_CODEC_IRQ
91			}
92			GpioIo (Exclusive, PullNone, 0, 0, , "\\_SB.GPSC", 0, ResourceConsumer, ,){ 0x000E }
93
94			GpioIo (Exclusive, PullNone, 0, 0, , "\\_SB.GPSC", 0, ResourceConsumer, ,){ 0x000F }
95		})
96
97		Method (_STA)
98		{
99			If (\S2EN == 1) {
100				Return (0xF)
101			} Else {
102				Return (0x0)
103			}
104		}
105	}
106}
107
108Scope (\_SB.PCI0.LPEA)
109{
110	Name (GBUF, ResourceTemplate ()
111	{
112		/* Jack Detect (index 0) */
113		GpioIo (Exclusive, PullNone, 0, 0, , "\\_SB.GPSC", 0, ResourceConsumer, ,){ 0x000E }
114
115		/* Mic Detect (index 1) */
116		GpioIo (Exclusive, PullNone, 0, 0, , "\\_SB.GPSC", 0, ResourceConsumer, ,){ 0x000F }
117
118		/* SST Wants This */
119		GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
120			"\\_SB.GPSS", 0x00, ResourceConsumer, ,)
121		{
122			0x001C	// Pin list
123		}
124	})
125	Method (_DIS, 0x0, NotSerialized)
126	{
127		//Add a dummy disable function
128	}
129}
130
131#include <variant/acpi/mainboard.asl>
132
133/* USB port entries */
134#include <variant/acpi/usb.asl>
135