x86: tangier: Use actual GPIO hardware numbers
PATCH 1/2 x86: tangier: Use actual GPIO hardware numbers
The recent commit 03c4749dd6c7
("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation")
in the Linux kernel reveals the issue we have in ACPI tables here, i.e. we must use hardware numbers for GPIO resources and, taking into consideration that GPIO and pin control are *different* IPs on Intel Tangier, we need to supply numbers properly.
Besides that, it improves user experience since the official documentation for Intel Edison board is referring to GPIO hardware numbering scheme.
---
Bin, this is kinda urgent fix. I wouldn't like to have a release with wrong numbering scheme, although there is none users yet, only couple amateurs that are experimenting with the code.
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +5 -5
@@ -173,13 +173,13 @@ Device (PCI0) Name (RBUF, ResourceTemplate() { GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, - "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 91 } + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 110 } GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, - "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 92 } + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 111 } GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, - "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 93 } + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 112 } GpioIo(Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, - "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 94 } + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 113 } }) Method (_CRS, 0, NotSerialized)
@@ -245,7 +245,7 @@ Device (PCI0) { Connection ( GpioIo(Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, - "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 56 } + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 96 } ), WFD3, 1, }
Signature · 1 line
2.15.1
PATCH 2/2 x86: tangier: Add Bluetooth to ACPI table
As defined on reference board followed by Intel Edison a Bluetooth device is attached to HSU0, i.e. PCI 0000:04.1.
Describe it in ACPI accordingly.
Note, we use BCM2E95 ID here as one most suitable for such device based on the description in commit message of commit 89ab37b489d1
("Bluetooth: hci_bcm: Add support for BCM2E95 and BCM2E96")
in the Linux kernel source tree.
--- .../include/asm/arch-tangier/acpi/southcluster.asl | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+)
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl +51 -0
@@ -260,6 +260,57 @@ Device (PCI0) Return (STA_VISIBLE) } } + + Device (HSU0) + { + Name (_ADR, 0x00040001) + + Method (_STA, 0, NotSerialized) + { + Return (STA_VISIBLE) + } + + Device (BTH0) + { + Name (_HID, "BCM2E95") + Name (_DEP, Package () + { + GPIO, + HSU0 + }) + + Method (_STA, 0, NotSerialized) + { + Return (STA_VISIBLE) + } + + Method (_CRS, 0, NotSerialized) + { + Name (RBUF, ResourceTemplate () + { + UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne, + 0xFC, LittleEndian, ParityTypeNone, FlowControlHardware, + 0x20, 0x20, "\\_SB.PCI0.HSU0", 0, ResourceConsumer, , ) + GpioInt (Level, ActiveHigh, Exclusive, PullNone, 0, + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 185 } + GpioIo (Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 184 } + GpioIo (Exclusive, PullDefault, 0, 0, IoRestrictionOutputOnly, + "\\_SB.PCI0.GPIO", 0, ResourceConsumer, , ) { 71 } + }) + Return (RBUF) + } + + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () { "host-wakeup-gpios", Package () { ^BTH0, 0, 0, 0 } }, + Package () { "device-wakeup-gpios", Package () { ^BTH0, 1, 0, 0 } }, + Package () { "shutdown-gpios", Package () { ^BTH0, 2, 0, 0 } }, + } + }) + } + } } Device (FLIS)
Signature · 1 line
2.15.1
PATCH 2/2 x86: tangier: Add Bluetooth to ACPI table
Quoted 10 lines · Andy Shevchenko
As defined on reference board followed by Intel Edison a Bluetooth device is attached to HSU0, i.e. PCI 0000:04.1.
Describe it in ACPI accordingly.
Note, we use BCM2E95 ID here as one most suitable for such device based on the description in commit message of commit
89ab37b489d1
("Bluetooth:hci_bcm: Add support for BCM2E95 and BCM2E96")
in the Linux kernel source tree.
Quoted 5 lines
Signed-off-by Andy Shevchenko <[email protected]>--- .../include/asm/arch-tangier/acpi/southcluster.asl | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+)
PATCH 2/2 x86: tangier: Add Bluetooth to ACPI table
In reply to Andy ShevchenkoQuoted 10 lines · Andy Shevchenko
As defined on reference board followed by Intel Edison a Bluetooth device is attached to HSU0, i.e. PCI 0000:04.1.
Describe it in ACPI accordingly.
Note, we use BCM2E95 ID here as one most suitable for such device based on the description in commit message of commit
89ab37b489d1
("Bluetooth:hci_bcm: Add support for BCM2E95 and BCM2E96")
in the Linux kernel source tree.
Quoted 4 lines
Signed-off-by Andy Shevchenko <[email protected]>--- .../include/asm/arch-tangier/acpi/southcluster.asl | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+)
PATCH 2/2 x86: tangier: Add Bluetooth to ACPI table
Quoted 12 lines · Simon Glass
Quoted 10 lines · Andy Shevchenko
As defined on reference board followed by Intel Edison a Bluetooth device is attached to HSU0, i.e. PCI 0000:04.1.
Describe it in ACPI accordingly.
Note, we use BCM2E95 ID here as one most suitable for such device based on the description in commit message of commit
89ab37b489d1
("Bluetooth:hci_bcm: Add support for BCM2E95 and BCM2E96")
in the Linux kernel source tree.
Quoted 6 lines
Quoted 4 lines
Signed-off-by Andy Shevchenko <[email protected]>--- .../include/asm/arch-tangier/acpi/southcluster.asl | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+)Reviewed-by Simon Glass <[email protected]>
applied to u-boot-x86, thanks!
PATCH 1/2 x86: tangier: Use actual GPIO hardware numbers
In reply to Andy ShevchenkoQuoted 11 lines · Andy Shevchenko
The recent commit
03c4749dd6c7
("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation")
in the Linux kernel reveals the issue we have in ACPI tables here, i.e. we must use hardware numbers for GPIO resources and, taking into consideration that GPIO and pin control are *different* IPs on Intel Tangier, we need to supply numbers properly.Besides that, it improves user experience since the official documentation for Intel Edison board is referring to GPIO hardware numbering scheme.
Signed-off-by Andy Shevchenko <[email protected]>
Quoted 9 lines
---
Bin, this is kinda urgent fix. I wouldn't like to have a release with wrong numbering scheme, although there is none users yet, only couple amateurs that are experimenting with the code.
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
PATCH 1/2 x86: tangier: Use actual GPIO hardware numbers
In reply to Andy ShevchenkoQuoted 10 lines · Andy Shevchenko
The recent commit
03c4749dd6c7
("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation")
in the Linux kernel reveals the issue we have in ACPI tables here, i.e. we must use hardware numbers for GPIO resources and, taking into consideration that GPIO and pin control are *different* IPs on Intel Tangier, we need to supply numbers properly.Besides that, it improves user experience since the official documentation for Intel Edison board is referring to GPIO hardware numbering scheme.
Quoted 6 lines
Signed-off-by Andy Shevchenko <[email protected]>---
Bin, this is kinda urgent fix. I wouldn't like to have a release with wrong numbering scheme, although there is none users yet, only couple amateurs that are experimenting with the code.
Quoted 3 lines
arch/x86/include/asm/arch-tangier/acpi/southcluster.asl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
PATCH 1/2 x86: tangier: Use actual GPIO hardware numbers
Quoted 12 lines · Simon Glass
Quoted 10 lines · Andy Shevchenko
The recent commit
03c4749dd6c7
("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation")
in the Linux kernel reveals the issue we have in ACPI tables here, i.e. we must use hardware numbers for GPIO resources and, taking into consideration that GPIO and pin control are *different* IPs on Intel Tangier, we need to supply numbers properly.Besides that, it improves user experience since the official documentation for Intel Edison board is referring to GPIO hardware numbering scheme.
Quoted 8 lines
Quoted 6 lines
Signed-off-by Andy Shevchenko <[email protected]>---
Bin, this is kinda urgent fix. I wouldn't like to have a release with wrong numbering scheme, although there is none users yet, only couple amateurs that are experimenting with the code.
Reviewed-by Simon Glass <[email protected]>
applied to u-boot-x86, thanks!