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