blob: d97b85c450c26e9a1fcfecddcf85e79c881037d0 [file] [log] [blame]
Angel Ponsc3f58f62020-04-05 15:46:41 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -08002
Julius Werner18ea2d32014-10-07 16:42:17 -07003#include <soc/iomap.h>
4#include <soc/irq.h>
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -08005
6/* SouthCluster GPIO */
7Device (GPSC)
8{
9 Name (_HID, "INT33FC")
10 Name (_CID, "INT33FC")
11 Name (_UID, 1)
12
13 Name (RBUF, ResourceTemplate()
14 {
15 Memory32Fixed (ReadWrite, 0, 0x1000, RMEM)
16 Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
17 {
18 GPIO_SC_IRQ
19 }
20 })
21
22 Method (_CRS)
23 {
24 CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
Felix Singere4c30042022-12-12 00:46:05 +010025 RBAS = IO_BASE_ADDRESS + IO_BASE_OFFSET_GPSCORE
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -080026 Return (^RBUF)
27 }
28
Matt DeVillier7cfedc82017-03-17 19:14:20 -050029 Method (_HRV, 0, NotSerialized) { Return (0x06) }
30
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -080031 Method (_STA)
32 {
33 Return (0xF)
34 }
35}
36
37/* NorthCluster GPIO */
38Device (GPNC)
39{
40 Name (_HID, "INT33FC")
41 Name (_CID, "INT33FC")
42 Name (_UID, 2)
43
44 Name (RBUF, ResourceTemplate()
45 {
46 Memory32Fixed (ReadWrite, 0, 0x1000, RMEM)
47 Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
48 {
49 GPIO_NC_IRQ
50 }
51 })
52
53 Method (_CRS)
54 {
55 CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
Felix Singere4c30042022-12-12 00:46:05 +010056 RBAS = IO_BASE_ADDRESS + IO_BASE_OFFSET_GPNCORE
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -080057 Return (^RBUF)
58 }
59
Matt DeVillier7cfedc82017-03-17 19:14:20 -050060 Method (_HRV, 0, NotSerialized) { Return (0x06) }
61
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -080062 Method (_STA)
63 {
64 Return (0xF)
65 }
66}
67
68/* SUS GPIO */
69Device (GPSS)
70{
71 Name (_HID, "INT33FC")
72 Name (_CID, "INT33FC")
73 Name (_UID, 3)
74
75 Name (RBUF, ResourceTemplate()
76 {
77 Memory32Fixed (ReadWrite, 0, 0x1000, RMEM)
78 Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,,)
79 {
80 GPIO_SUS_IRQ
81 }
82 })
83
84 Method (_CRS)
85 {
86 CreateDwordField (^RBUF, ^RMEM._BAS, RBAS)
Felix Singere4c30042022-12-12 00:46:05 +010087 RBAS = IO_BASE_ADDRESS + IO_BASE_OFFSET_GPSSUS
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -080088 Return (^RBUF)
89 }
90
Matt DeVillier7cfedc82017-03-17 19:14:20 -050091 Method (_HRV, 0, NotSerialized) { Return (0x06) }
92
Duncan Lauriebb0d1ea2013-12-03 10:00:20 -080093 Method (_STA)
94 {
95 Return (0xF)
96 }
97}