• Daniel Drake's avatar
    Bluetooth: hci_bcm: Add support for BCM2E95 and BCM2E96 · 89ab37b4
    Daniel Drake authored
    The BCM2E96 ID is used by the ECS EF20 laptop, and BCM2E95 is present
    in the Weibu F3C. Both are now logged as:
    
         hci0: BCM: chip id 82
         hci0: BCM43341B0 (002.001.014) build 0000
         hci0: BCM (002.001.014) build 0158
    
    The ECS vendor kernel predates the host-wakeup support in hci_bcm but
    it explicitly has a comment saying that the GPIO assignment needs to be
    reordered for BCM2E96:
     1. (not used in vendor driver)
     2. Device wakeup
     3. Shutdown
    
    For both devices in question, the DSDT has these GPIOs listed in order
    of GpioInt, GpioIo, GpioIo. And if we use the first one listed (GpioInt)
    as the host wakeup, that interrupt handler fires while doing bluetooth
    I/O.
    
    I am assuming the convention of GPIO ordering has been changed for these
    new device IDs, so lets use the new ordering on such devices.
    Signed-off-by: default avatarDaniel Drake <drake@endlessm.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    89ab37b4
hci_bcm.c 21.3 KB