Please no patches against unofficial UEFI tree, only patch acpi-asl.
Thanks
Graeme
On Mon, Dec 09, 2013 at 04:40:02PM +0530, naresh.bhat@linaro.org wrote:
From: Naresh Bhat naresh.bhat@linaro.org
Add ASL methods for SMB, FPGA, NET, CLK, SYSCTL, WDT, TIMER01, TIMER23, RTC and SER.
Signed-off-by: Naresh Bhat naresh.bhat@linaro.org
.../AcpiTables/ArmVExpress-FVP-AArch64/dsdt.asl | 308 +++++++++++++++++++- 1 file changed, 304 insertions(+), 4 deletions(-)
diff --git a/ArmPkg/Drivers/AcpiTables/ArmVExpress-FVP-AArch64/dsdt.asl b/ArmPkg/Drivers/AcpiTables/ArmVExpress-FVP-AArch64/dsdt.asl index 76ddfa3..9af6fe7 100644 --- a/ArmPkg/Drivers/AcpiTables/ArmVExpress-FVP-AArch64/dsdt.asl +++ b/ArmPkg/Drivers/AcpiTables/ArmVExpress-FVP-AArch64/dsdt.asl @@ -266,6 +266,74 @@ DefinitionBlock ( } }
Device (PMU0) {
Name (_HID, "LNRO0007")
Name (_UID, 0)
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate () {
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {92, 93, 94, 95}
})
Return (RBUF)
}
}
Device (SMB) {
Name (_HID, "ACPI0004")
Name (_UID, 0)
Name (_CRS, ResourceTemplate () {
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x08000000, // Address Range Minimum (base address in FDT)
0x0BFFFFFF, // Address Range Maximum (base + (len-1))
0x00000000, // Address Translation Offset
0x04000000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x14000000, // Address Range Minimum (base address in FDT)
0x17FFFFFF, // Address Range Maximum (base + (len-1))
0x00000000, // Address Translation Offset
0x04000000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x18000000, // Address Range Minimum (base address in FDT)
0x1BFFFFFF, // Address Range Maximum (base + (len-1))
0x00000000, // Address Translation Offset
0x04000000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x1C000000, // Address Range Minimum (base address in FDT)
0x1FFFFFFF, // Address Range Maximum (base + (len -1))
0x00000000, // Address Translation Offset
0x04000000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x0C000000, // Address Range Minimum (base address in FDT)
0x0FFFFFFF, // Address Range Maximum (base + (len-1))
0x00000000, // Address Translation Offset
0x04000000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x10000000, // Address Range Minimum (base address in FDT)
0x13FFFFFF, // Address Range Maximum (base + (len-1))
0x00000000, // Address Translation Offset
0x04000000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
})
- Device (NET0) { Name (_HID, "LNRO0003") Name (_UID, 0)
@@ -279,16 +347,248 @@ DefinitionBlock ( } }
Device (PMU0) {
Name (_HID, "LNRO0007")
Name (_UID, 0)
Device (CLK0) {
Name (_HID, "LNRO0008")
Name (_UID, 0)
Method (FREQ, 0x0, NotSerialized) {
Return (24000000)
}
}
Device (CLK1) {
Name (_HID, "LNRO0008")
Name (_UID, 1)
Method (FREQ, 0x0, NotSerialized) {
Return (1000000)
}
}
Device (CLK2) {
Name (_HID, "LNRO0008")
Name (_UID, 2)
Method (FREQ, 0x0, NotSerialized) {
Return (32768)
}
}
Device (FPGA) {
Name (_HID, "ACPI0004")
Name (_UID, 0)
Name (_CRS, ResourceTemplate () {
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Address Space Granularity
0x1C000000, // Address Range Minimum (base address in FDT)
0x1C1FFFFF, // Address Range Maximum (base + (len-1))
0x00000000, // Address Translation Offset
0x00200000, // Address Length (len in FDT)
,, , AddressRangeMemory, TypeStatic)
})
Device (VIRT) {
Name (_HID, "LNRO0005")
Name (_UID, 0)
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate() {
Memory32Fixed (ReadWrite, 0x1c130000, 0x1000)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {0x4A}
})
Return (RBUF)
}
}
} // End of FPGA
} // End SMB
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* UUID: a706b112-bf0b-48d2-9fa3-95591a3c4c06 */
/* 0000 */ 0xa7, 0x06, 0xb1, 0x12, 0xbf, 0x0b, 0x48, 0xd2,
/* 0008 */ 0x9f, 0xa3, 0x95, 0x59, 0x1a, 0x3c, 0x4c, 0x06
}))
{
If (LEqual (Arg1, 0x01)) {
If (LEqual (Arg2, 0x00)) {
Store (Buffer (0x01)
{
0x03
}, Arg4)
Return (0x01)
}
If (LEqual (Arg2, 0x01)) {
Return (0x01)
}
}
}
Store (Buffer (0x01)
{
0x00
}, Arg4)
Return (0x00)
}
Device (AMBA) {
Name (_HID, "AMBA0000")
Name (_UID, 0)
/* Define 'apb_pclk' as a default clock source since it is
common with devices below */
Method(_DSM, 4, NotSerialized) {
Store (Package (2)
{
"clock-name", "apb_pclk \\_SB.SMB.CLK0",
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Device (SCT0) {
Name (_HID, "LNRO000C")
Name (_UID, 0)
Name (_ADR, 0x1c020000) /* SYSCTL */ Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () {
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {92, 93, 94, 95}
Memory32Fixed (ReadWrite, 0x1c020000, 0x00001000)
})
Return (RBUF)
}
Method(_DSM, 4, Serialized) {
Store (Package (4)
{
"clock-name", "refclk \\_SB.SMB.CLK2",
"clock-name", "timclk \\_SB.SMB.CLK1",
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (SER0) {
Name (_HID, "LNRO000A")
Name (_ADR, 0x1c090000)
Name (_UID, 0)
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate() {
Memory32Fixed (ReadWrite, 0x1c090000, 0x1000)
Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x25}
})
Return (RBUF)
}
}
Device (SER1) {
Name (_HID, "LNRO000A")
Name (_ADR, 0x1c0a0000)
Name (_UID, 1)
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate() {
Memory32Fixed (ReadWrite, 0x1c0a0000, 0x1000)
Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x26}
})
Return (RBUF)
}
}
Device (SER2) {
Name (_HID, "LNRO000A")
Name (_ADR, 0x1c0b0000)
Name (_UID, 2)
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate() {
Memory32Fixed (ReadWrite, 0x1c0b0000, 0x1000)
Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x27}
})
Return (RBUF)
}
}
Device (SER3) {
Name (_HID, "LNRO000A")
Name (_ADR, 0x1c0c0000)
Name (_UID, 3)
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate() {
Memory32Fixed (ReadWrite, 0x1c0c0000, 0x1000)
Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x28}
})
Return (RBUF)
}
}
Device (WDT0) {
Name (_HID, "LNRO000D")
Name (_UID, 0)
Name (_ADR, 0x1c0f0000) /* WDT */
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0x1c0f0000, 0x00001000)
Interrupt (ResourceConsumer, Edge, ActiveBoth,
Exclusive, , , ) {32}
})
Return (RBUF)
}
}
Device (TIM0) {
Name (_HID, "LNRO000E")
Name (_UID, 0)
Name (_ADR, 0x1c110000) /* TIMER01 */
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0x1c110000, 0x00001000)
Interrupt (ResourceConsumer, Edge, ActiveBoth,
}Exclusive, , , ) {34} }) Return (RBUF) }
Device (TIM2) {
Name (_HID, "LNRO000F")
Name (_UID, 0)
Name (_ADR, 0x1c120000) /* TIMER23 */
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0x1c120000, 0x00001000)
Interrupt (ResourceConsumer, Edge, ActiveBoth,
Exclusive, , , ) {35}
})
Return (RBUF)
}
}
Device (RTC0) {
Name (_HID, "LNRO0010")
Name (_UID, 0)
Name (_ADR, 0x1c170000) /* RTC */
Method (_CRS, 0x0, Serialized) {
Name (RBUF, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0x1c170000, 0x00001000)
Interrupt (ResourceConsumer, Edge, ActiveBoth,
Exclusive, , , ) {36}
})
Return (RBUF)
}
}
}} // End of AMBA
}
1.7.9.5
Linaro-acpi mailing list Linaro-acpi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-acpi