Bluetooth: hci_bcm: Add support for MINIX Z83-4 based devices
authorIan W MORRISON <ianwmorrison@gmail.com>
Sat, 7 Oct 2017 06:15:25 +0000 (17:15 +1100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 10 Oct 2017 08:13:12 +0000 (10:13 +0200)
The MINIX NEO Z83-4 and MINIX NEO Z83-4 Pro devices use an AP6255 chip for
wifi and bluetooth. Bluetooth requires an ACPI device id of BCM2EA4 with
BCM4345 rev C0 firmware.

This patch adds the device id and to use trigger type IRQF_TRIGGER_FALLING
as defined by 'GpioInt' in the ACPI DSDT table:

    Device (BLT0)
    {
        Name (_HID, "BCM2EA4")  // _HID: Hardware ID
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            Return (0x0F)
        }

        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
        {
            Name (UBUF, ResourceTemplate ()
            {
                UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
                    0xFC, LittleEndian, ParityTypeNone, FlowControlHardware,
                    0x0020, 0x0020, "\\_SB.PCI0.URT1",
                    0x00, ResourceConsumer, , Exclusive,
                    )
                GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0005
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0007
                    }
                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                    "\\_SB.GPO1", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0004
                    }
            })
            Return (UBUF) /* \_SB_.PCI0.URT1.BLT0._CRS.UBUF */
        }
    }

Signed-off-by: Ian W MORRISON <ianwmorrison@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_bcm.c

index d9d0fc0..16c2eaa 100644 (file)
@@ -726,6 +726,13 @@ static const struct dmi_system_id bcm_active_low_irq_dmi_table[] = {
                        DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "ThinkPad 8"),
                },
        },
+       {
+               .ident = "MINIX Z83-4",
+               .matches = {
+                       DMI_EXACT_MATCH(DMI_SYS_VENDOR, "MINIX"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"),
+               },
+       },
        { }
 };
 
@@ -934,6 +941,7 @@ static const struct acpi_device_id bcm_acpi_match[] = {
        { "BCM2E7C", (kernel_ulong_t)&acpi_bcm_int_last_gpios },
        { "BCM2E95", (kernel_ulong_t)&acpi_bcm_int_first_gpios },
        { "BCM2E96", (kernel_ulong_t)&acpi_bcm_int_first_gpios },
+       { "BCM2EA4", (kernel_ulong_t)&acpi_bcm_int_first_gpios },
        { },
 };
 MODULE_DEVICE_TABLE(acpi, bcm_acpi_match);