mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-10 23:03:29 +09:00
![Bin Meng](/assets/img/avatar_default.png)
Since BayTrail, Intel starts to use new GPIO IPs in their chipset. This adds the GPIO ASL, so that OS can load corresponding drivers for it. On Linux, this is BayTrail pinctrl driver. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
96 lines
1.5 KiB
Plaintext
96 lines
1.5 KiB
Plaintext
/*
|
|
* Copyright (C) 2013 Google Inc.
|
|
* Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
|
|
*
|
|
* Modified from coreboot src/soc/intel/baytrail/acpi/gpio.asl
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
/* SouthCluster GPIO */
|
|
Device (GPSC)
|
|
{
|
|
Name(_HID, "INT33FC")
|
|
Name(_CID, "INT33FC")
|
|
Name(_UID, 1)
|
|
|
|
Name(RBUF, ResourceTemplate()
|
|
{
|
|
Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
|
|
Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
|
|
{
|
|
GPIO_SC_IRQ
|
|
}
|
|
})
|
|
|
|
Method(_CRS)
|
|
{
|
|
CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
|
|
Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPSCORE, RBAS)
|
|
Return (^RBUF)
|
|
}
|
|
|
|
Method(_STA)
|
|
{
|
|
Return (STA_VISIBLE)
|
|
}
|
|
}
|
|
|
|
/* NorthCluster GPIO */
|
|
Device (GPNC)
|
|
{
|
|
Name(_HID, "INT33FC")
|
|
Name(_CID, "INT33FC")
|
|
Name(_UID, 2)
|
|
|
|
Name(RBUF, ResourceTemplate()
|
|
{
|
|
Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
|
|
Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
|
|
{
|
|
GPIO_NC_IRQ
|
|
}
|
|
})
|
|
|
|
Method(_CRS)
|
|
{
|
|
CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
|
|
Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPNCORE, RBAS)
|
|
Return (^RBUF)
|
|
}
|
|
|
|
Method(_STA)
|
|
{
|
|
Return (STA_VISIBLE)
|
|
}
|
|
}
|
|
|
|
/* SUS GPIO */
|
|
Device (GPSS)
|
|
{
|
|
Name(_HID, "INT33FC")
|
|
Name(_CID, "INT33FC")
|
|
Name(_UID, 3)
|
|
|
|
Name(RBUF, ResourceTemplate()
|
|
{
|
|
Memory32Fixed(ReadWrite, 0, 0x1000, RMEM)
|
|
Interrupt(ResourceConsumer, Level, ActiveLow, Shared, , ,)
|
|
{
|
|
GPIO_SUS_IRQ
|
|
}
|
|
})
|
|
|
|
Method(_CRS)
|
|
{
|
|
CreateDwordField(^RBUF, ^RMEM._BAS, RBAS)
|
|
Add(IO_BASE_ADDRESS, IO_BASE_OFFSET_GPSSUS, RBAS)
|
|
Return (^RBUF)
|
|
}
|
|
|
|
Method(_STA)
|
|
{
|
|
Return (STA_VISIBLE)
|
|
}
|
|
}
|