For gic bindings, The 3rd cell of interrupts is the flags, encoded as follows: bits[3:0] trigger type and level flags. 1 = low-to-high edge triggered 2 = high-to-low edge triggered 4 = active high level-sensitive 8 = active low level-sensitive bits[15:8] PPI interrupt cpu mask.
In Foundation model and RTSM model's device tree, the 3rd cell of interrupts of all devices is 4, so we should use active high level-sensitive in the DSDT table too when we convert the device to ACPI.
Signed-off-by: Hanjun Guo hanjun.guo@linaro.org --- platforms/foundation-v8.acpi/dsdt.asl | 6 +++--- platforms/rtsm_ve-aemv8a.acpi/dsdt.asl | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/platforms/foundation-v8.acpi/dsdt.asl b/platforms/foundation-v8.acpi/dsdt.asl index 39b4886..d278c32 100644 --- a/platforms/foundation-v8.acpi/dsdt.asl +++ b/platforms/foundation-v8.acpi/dsdt.asl @@ -247,7 +247,7 @@ DefinitionBlock ( Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000) - Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x2F} + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, , , ) {0x2F} }) Return (RBUF) } @@ -260,7 +260,7 @@ DefinitionBlock ( Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate() { Memory32Fixed (ReadWrite, 0x1c130000, 0x1000) - Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x4A} + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, , , ) {0x4A} }) Return (RBUF) } @@ -272,7 +272,7 @@ DefinitionBlock (
Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () { - Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {92, 93, 94, 95} + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, , , ) {92, 93, 94, 95} }) Return (RBUF) } diff --git a/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl b/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl index 0bcc94d..a736653 100644 --- a/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl +++ b/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl @@ -246,7 +246,7 @@ DefinitionBlock ( Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000) - Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {0x2F} + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, , , ) {0x2F} }) Return (RBUF) } @@ -258,7 +258,7 @@ DefinitionBlock (
Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () { - Interrupt (ResourceConsumer, Edge, ActiveBoth, Exclusive, , , ) {92, 93, 94, 95} + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, , , ) {92, 93, 94, 95} }) Return (RBUF) }
On 12 November 2013 17:33, Hanjun Guo hanjun.guo@linaro.org wrote:
For gic bindings, The 3rd cell of interrupts is the flags, encoded as follows: bits[3:0] trigger type and level flags. 1 = low-to-high edge triggered 2 = high-to-low edge triggered 4 = active high level-sensitive 8 = active low level-sensitive bits[15:8] PPI interrupt cpu mask.
In Foundation model and RTSM model's device tree, the 3rd cell of interrupts of all devices is 4, so we should use active high level-sensitive in the DSDT table too when we convert the device to ACPI.
Signed-off-by: Hanjun Guo hanjun.guo@linaro.org
platforms/foundation-v8.acpi/dsdt.asl | 6 +++--- platforms/rtsm_ve-aemv8a.acpi/dsdt.asl | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/platforms/foundation-v8.acpi/dsdt.asl b/platforms/foundation-v8.acpi/dsdt.asl index 39b4886..d278c32 100644 --- a/platforms/foundation-v8.acpi/dsdt.asl +++ b/platforms/foundation-v8.acpi/dsdt.asl @@ -247,7 +247,7 @@ DefinitionBlock ( Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000)
Interrupt (ResourceConsumer, Edge,
ActiveBoth, Exclusive, , , ) {0x2F}
Interrupt (ResourceConsumer, Edge,
ActiveHigh, Exclusive, , , ) {0x2F}
Oops, I should change the "Edge" to "Level" too, will update it in next version.
}) Return (RBUF) }
@@ -260,7 +260,7 @@ DefinitionBlock ( Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate() { Memory32Fixed (ReadWrite, 0x1c130000, 0x1000)
Interrupt (ResourceConsumer, Edge,
ActiveBoth, Exclusive, , , ) {0x4A}
Interrupt (ResourceConsumer, Edge,
ActiveHigh, Exclusive, , , ) {0x4A} }) Return (RBUF) } @@ -272,7 +272,7 @@ DefinitionBlock (
Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () {
Interrupt (ResourceConsumer, Edge,
ActiveBoth, Exclusive, , , ) {92, 93, 94, 95}
Interrupt (ResourceConsumer, Edge,
ActiveHigh, Exclusive, , , ) {92, 93, 94, 95} }) Return (RBUF) } diff --git a/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl b/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl index 0bcc94d..a736653 100644 --- a/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl +++ b/platforms/rtsm_ve-aemv8a.acpi/dsdt.asl @@ -246,7 +246,7 @@ DefinitionBlock ( Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000)
Interrupt (ResourceConsumer, Edge,
ActiveBoth, Exclusive, , , ) {0x2F}
Interrupt (ResourceConsumer, Edge,
ActiveHigh, Exclusive, , , ) {0x2F} }) Return (RBUF) } @@ -258,7 +258,7 @@ DefinitionBlock (
Method (_CRS, 0x0, Serialized) { Name (RBUF, ResourceTemplate () {
Interrupt (ResourceConsumer, Edge,
ActiveBoth, Exclusive, , , ) {92, 93, 94, 95}
Interrupt (ResourceConsumer, Edge,
ActiveHigh, Exclusive, , , ) {92, 93, 94, 95} }) Return (RBUF) } -- 1.7.9.5