tree: drop last paragraph of GPL copyright header
[coreboot.git] / src / mainboard / google / lars / acpi / mainboard.asl
blob8ac349bdc7be170c4fde479d705a47b39ee26c2e
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2014 Google Inc.
5  * Copyright (C) 2015 Intel Corporation.
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; version 2 of the License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
17 #include "../gpio.h"
19 #define BOARD_TOUCHPAD_I2C_ADDR                 0x15
20 #define BOARD_TOUCHPAD_IRQ                      TOUCHPAD_INT_L
22 #define BOARD_TOUCHSCREEN_I2C_ADDR              0x10
23 #define BOARD_TOUCHSCREEN_IRQ                   TOUCHSCREEN_INT_L
25 #define BOARD_HP_MIC_CODEC_I2C_ADDR             0x1a
26 #define BOARD_HP_MIC_CODEC_IRQ                  MIC_INT_L
27 #define BOARD_LEFT_SPEAKER_AMP_I2C_ADDR         0x34
28 #define BOARD_RIGHT_SPEAKER_AMP_I2C_ADDR        0x35
30 Scope (\_SB)
32         Device (LID0)
33         {
34                 Name (_HID, EisaId ("PNP0C0D"))
35                 Method (_LID, 0)
36                 {
37                         Return (\_SB.PCI0.LPCB.EC0.LIDS)
38                 }
40                 Name (_PRW, Package () { GPE_EC_WAKE, 5 })
41         }
43         Device (PWRB)
44         {
45                 Name (_HID, EisaId ("PNP0C0C"))
46         }
50  * LPC Trusted Platform Module
51  */
52 Scope (\_SB.PCI0.LPCB)
54         #include <drivers/pc80/tpm/acpi/tpm.asl>
58  * WLAN connected to Root Port 1
59  */
60 Scope (\_SB.PCI0.RP01)
62         Device (WLAN)
63         {
64                 Name (_ADR, 0x00000000)
65                 Name (_DDN, "Wireless LAN")
66                 Name (_PRW, Package () { GPE_WLAN_WAKE, 3 })
67         }
70 Scope (\_SB.PCI0.I2C0)
72         /* Touchscreen */
73         Device (ELTS)
74         {
75                 Name (_HID, "ELAN0001")
76                 Name (_DDN, "Elan Touchscreen")
77                 Name (_UID, 1)
78                 Name (_S0W, 4)
80                 Name (_CRS, ResourceTemplate ()
81                 {
82                         I2cSerialBus (
83                                 BOARD_TOUCHSCREEN_I2C_ADDR,
84                                 ControllerInitiated,
85                                 400000,
86                                 AddressingMode7Bit,
87                                 "\\_SB.PCI0.I2C0",
88                         )
89                         Interrupt (ResourceConsumer, Edge, ActiveLow)
90                         {
91                                 BOARD_TOUCHSCREEN_IRQ
92                         }
93                 })
95                 Method (_STA)
96                 {
97                         Return (0xF)
98                 }
99         }
102 Scope (\_SB.PCI0.I2C1)
104         /* Touchpad */
105         Device (ELTP)
106         {
107                 Name (_HID, "ELAN0000")
108                 Name (_DDN, "Elan Touchpad")
109                 Name (_UID, 1)
110                 Name (_S0W, 4)
112                 Name (_CRS, ResourceTemplate ()
113                 {
114                         I2cSerialBus (
115                                 BOARD_TOUCHPAD_I2C_ADDR,
116                                 ControllerInitiated,
117                                 400000,
118                                 AddressingMode7Bit,
119                                 "\\_SB.PCI0.I2C1",
120                         )
121                         Interrupt (ResourceConsumer, Edge, ActiveLow)
122                         {
123                                 BOARD_TOUCHPAD_IRQ
124                         }
125                 })
127                 Method (_STA)
128                 {
129                         Return (0xF)
130                 }
131         }
134 Scope (\_SB.PCI0.I2C4)
136         /* Headphone Codec */
137         Device (HPMC)
138         {
139                 Name (_HID, "10508825")
140                 Name (_DDN, "NAU88L25 Codec")
141                 Name (_UID, 1)
142                 Name (_DSD, Package () {
143                         ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
144                         Package () {
145                         /* Enable jack detection via JKDET pin */
146                         Package () { "nuvoton,jkdet-enable", 1 },
147                         /*
148                          * JKDET pin is pulled up by R389 on board.
149                          * JKDET pin polarity = active low
150                          */
151                         Package () { "nuvoton,jkdet-pull-enable", 1 },
152                         Package () { "nuvoton,jkdet-pull-up", 1 },
153                         Package () { "nuvoton,jkdet-polarity", 1 },
154                         /* VDDA(1.8) * 1.53 = 2.754 */
155                         Package () { "nuvoton,micbias-voltage", 6 },
156                         /* VREF Impedance = 125 kOhm */
157                         Package () { "nuvoton,vref-impedance", 2 },
158                         /*
159                          * Setup 4 buttons impedance according to
160                          * Android specification
161                          */
162                         Package () { "nuvoton,sar-threshold-num", 4 },
163                         Package () { "nuvoton,sar-threshold",
164                                 Package() { 0x0a, 0x14, 0x26, 0x73 } },
165                         /*
166                          * Coeff 0-15 used to adjust threshold level
167                          * 0 for low resist range
168                          */
169                         Package () { "nuvoton,sar-hysteresis", 0 },
170                         /* SAR tracking gain based on 2.754 micbias-voltage */
171                         Package () { "nuvoton,sar-voltage", 6 },
172                         /* 100ms short key press debounce */
173                         Package () { "nuvoton,short-key-debounce", 3 },
174                         /* 2^(7+2) = 512 ms insert/eject debounce */
175                         Package () { "nuvoton,jack-insert-debounce", 7 },
176                         /* debounce not needed for eject normally */
177                         Package () { "nuvoton,jack-eject-debounce", 0 },
178                         }
179                 })
181                 Name (_CRS, ResourceTemplate()
182                 {
183                         I2cSerialBus (
184                                 BOARD_HP_MIC_CODEC_I2C_ADDR,
185                                 ControllerInitiated,
186                                 400000,
187                                 AddressingMode7Bit,
188                                 "\\_SB.PCI0.I2C4",
189                         )
190                         Interrupt (ResourceConsumer, Level, ActiveLow)
191                         {
192                                 BOARD_HP_MIC_CODEC_IRQ
193                         }
194                 })
196                 Method (_STA)
197                 {
198                         Return (0xF)
199                 }
200         }
202         /* Left Speaker Amp */
203         Device (SPKL)
204         {
205                 Name (_HID, "INT343B")
206                 Name (_DDN, "SSM4567 Speaker Amp")
207                 Name (_UID, 0)
209                 Name (_CRS, ResourceTemplate()
210                 {
211                         I2cSerialBus (
212                                 BOARD_LEFT_SPEAKER_AMP_I2C_ADDR,
213                                 ControllerInitiated,
214                                 400000,
215                                 AddressingMode7Bit,
216                                 "\\_SB.PCI0.I2C4",
217                         )
218                 })
220                 Method (_STA)
221                 {
222                         Return (0xF)
223                 }
224         }
226         /* Right Speaker Amp */
227         Device (SPKR)
228         {
229                 Name (_HID, "INT343B")
230                 Name (_DDN, "SSM4567 Speaker Amp")
231                 Name (_UID, 1)
233                 Name (_CRS, ResourceTemplate()
234                 {
235                         I2cSerialBus (
236                                 BOARD_RIGHT_SPEAKER_AMP_I2C_ADDR,
237                                 ControllerInitiated,
238                                 400000,
239                                 AddressingMode7Bit,
240                                 "\\_SB.PCI0.I2C4",
241                         )
242                 })
244                 Method (_STA)
245                 {
246                         Return (0xF)
247                 }
248         }