xref: /OK3568_Linux_fs/u-boot/arch/x86/include/asm/arch-baytrail/acpi/gpio.asl (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright (C) 2013 Google Inc.
3*4882a593Smuzhiyun * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Modified from coreboot src/soc/intel/baytrail/acpi/gpio.asl
6*4882a593Smuzhiyun *
7*4882a593Smuzhiyun * SPDX-License-Identifier:	GPL-2.0+
8*4882a593Smuzhiyun */
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/* SouthCluster GPIO */
11*4882a593SmuzhiyunDevice (GPSC)
12*4882a593Smuzhiyun{
13*4882a593Smuzhiyun	Name(_HID, "INT33FC")
14*4882a593Smuzhiyun	Name(_CID, "INT33FC")
15*4882a593Smuzhiyun	Name(_UID, 1)
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	Name(RBUF, ResourceTemplate()
18*4882a593Smuzhiyun	{
19*4882a593Smuzhiyun		Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
20*4882a593Smuzhiyun		Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
21*4882a593Smuzhiyun		{
22*4882a593Smuzhiyun			GPIO_SC_IRQ
23*4882a593Smuzhiyun		}
24*4882a593Smuzhiyun	})
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	Method(_CRS)
27*4882a593Smuzhiyun	{
28*4882a593Smuzhiyun		CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
29*4882a593Smuzhiyun		Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPSCORE, RBAS)
30*4882a593Smuzhiyun		Return (^RBUF)
31*4882a593Smuzhiyun	}
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	Method(_STA)
34*4882a593Smuzhiyun	{
35*4882a593Smuzhiyun		Return (STA_VISIBLE)
36*4882a593Smuzhiyun	}
37*4882a593Smuzhiyun}
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun/* NorthCluster GPIO */
40*4882a593SmuzhiyunDevice (GPNC)
41*4882a593Smuzhiyun{
42*4882a593Smuzhiyun	Name(_HID, "INT33FC")
43*4882a593Smuzhiyun	Name(_CID, "INT33FC")
44*4882a593Smuzhiyun	Name(_UID, 2)
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	Name(RBUF, ResourceTemplate()
47*4882a593Smuzhiyun	{
48*4882a593Smuzhiyun		Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
49*4882a593Smuzhiyun		Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
50*4882a593Smuzhiyun		{
51*4882a593Smuzhiyun			GPIO_NC_IRQ
52*4882a593Smuzhiyun		}
53*4882a593Smuzhiyun	})
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	Method(_CRS)
56*4882a593Smuzhiyun	{
57*4882a593Smuzhiyun		CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
58*4882a593Smuzhiyun		Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPNCORE, RBAS)
59*4882a593Smuzhiyun		Return (^RBUF)
60*4882a593Smuzhiyun	}
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	Method(_STA)
63*4882a593Smuzhiyun	{
64*4882a593Smuzhiyun		Return (STA_VISIBLE)
65*4882a593Smuzhiyun	}
66*4882a593Smuzhiyun}
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun/* SUS GPIO */
69*4882a593SmuzhiyunDevice (GPSS)
70*4882a593Smuzhiyun{
71*4882a593Smuzhiyun	Name(_HID, "INT33FC")
72*4882a593Smuzhiyun	Name(_CID, "INT33FC")
73*4882a593Smuzhiyun	Name(_UID, 3)
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun	Name(RBUF, ResourceTemplate()
76*4882a593Smuzhiyun	{
77*4882a593Smuzhiyun		Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
78*4882a593Smuzhiyun		Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
79*4882a593Smuzhiyun		{
80*4882a593Smuzhiyun			GPIO_SUS_IRQ
81*4882a593Smuzhiyun		}
82*4882a593Smuzhiyun	})
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun	Method(_CRS)
85*4882a593Smuzhiyun	{
86*4882a593Smuzhiyun		CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
87*4882a593Smuzhiyun		Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPSSUS, RBAS)
88*4882a593Smuzhiyun		Return (^RBUF)
89*4882a593Smuzhiyun	}
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	Method(_STA)
92*4882a593Smuzhiyun	{
93*4882a593Smuzhiyun		Return (STA_VISIBLE)
94*4882a593Smuzhiyun	}
95*4882a593Smuzhiyun}
96