[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linaro-acpi
Subject:    [Linaro-acpi] [PATCH 5/5] ASL code for CPU topology support for ACPI processor driver
From:       graeme.gregory () linaro ! org (Graeme Gregory)
Date:       2013-06-25 14:38:45
Message-ID: 1372171126-28214-6-git-send-email-gg () slimlogic ! co ! uk
[Download RAW message or body]

From: Graeme Gregory <graeme.gregory at linaro.org>

This is the proto ASL code for CPU topology support, based on the
CPU topology of one phsical CPU and two cpu cores.

According to ACPI 5.0, _MAT should return GIC type of MADT entry,
but I not sure about the parking_version, performance_interrupt,
parked_address and base_address value of the _MAT method return buffer,
if anyone give me some hints, that would be helpful.

Comments are welcomed!

Signed-off-by: Hanjun Guo <hanjun.guo at linaro.org>
Signed-off-by: Graeme Gregory <graeme.gregory at linaro.org>
---
 arch/arm/boot/asl/exynos5250-arndale.acpi/dsdt.asl |  102 ++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/arch/arm/boot/asl/exynos5250-arndale.acpi/dsdt.asl \
b/arch/arm/boot/asl/exynos5250-arndale.acpi/dsdt.asl index 67b1b42..c67aeec 100644
--- a/arch/arm/boot/asl/exynos5250-arndale.acpi/dsdt.asl
+++ b/arch/arm/boot/asl/exynos5250-arndale.acpi/dsdt.asl
@@ -52,4 +52,106 @@ DefinitionBlock (
 			}
 		}
 	}
+
+	Device (SCK0)
+	{
+		Name (_HID, "ACPI0004")
+		Name (_UID, 0x00)
+		Method (_STA, 0, NotSerialized)
+		{
+			Return (0x0F)
+		}
+
+		Device (PRC0)
+		{
+			Name (_HID, "ACPI0007")
+			Name (_UID, 0x00)
+
+			/* CPU0 will be always present */
+			Method (_STA, 0, NotSerialized)
+			{
+				Return (0x0F)
+			}
+
+			Name (MAT0, Buffer (0x28)
+			{
+				/* 0000 */    0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* type, len, \
reserved, gic_id */ +				/* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x01, /* uid, flags */ +				/* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, /* parking_version, performance_interrupt */ +				/* 0018 */    0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* parked_address */ +				/* 0020 */    0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* base_address */ +			})
+
+			Name (MAT1, Buffer (0x28)
+			{
+				/* 0000 */    0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				/* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				/* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				/* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				/* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+			})
+
+			Method (_MAT, 0, NotSerialized)
+			{
+				If (_STA())
+				{
+					Return (MAT0)
+				}
+				Else
+				{
+					Return (MAT1)
+				}
+			}
+		}
+
+		Device (PRC1)
+		{
+			Name (_HID, "ACPI0007")
+			Name (_UID, 0x01)
+
+			Name (STA1, 0x0F)
+			Method (_STA, 0, NotSerialized)
+			{
+				Return (STA1)
+			}
+
+			Method (_EJ0, 1, NotSerialized)
+			{
+				If (LEqual (STA1, 0x0F))
+				{
+					Store (0x00, STA1)
+				}
+			}
+
+			Name (MAT0, Buffer (0x28)
+			{
+				/* 0000 */    0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* type, len, \
reserved, gic_id */ +				/* 0008 */    0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, \
0x01, /* uid, flags */ +				/* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, /* parking_version, performance_interrupt */ +				/* 0018 */    0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* parked_address */ +				/* 0020 */    0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* base_address */ +			})
+
+			Name (MAT1, Buffer (0x28)
+			{
+				/* 0000 */    0x0B, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+				/* 0008 */    0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+				/* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				/* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+				/* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+			})
+
+			Method (_MAT, 0, NotSerialized)
+			{
+				If (_STA())
+				{
+					Return (MAT0)
+				}
+				Else
+				{
+					Return (MAT1)
+				}
+			}
+		}
+	}
 }
-- 
1.7.10.4


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic