• Hans de Goede's avatar
    Bluetooth: hci_bcm: Do not tie GPIO pin order to a specific ACPI HID · a4de1567
    Hans de Goede authored
    Since I've been doing a lot of work on Linux Bay Trail / Cherry Trail
    support, I've gathered a collection of ACPI DSDTs from about 50 such
    machines.
    
    Looking at these DSTDs many have an ACPI device entry describing a bcm
    bluetooth device (often disabled in the DSDT), quite a few of these ACPI
    device entries have a resource-table where the order does not match with
    the order currently associated with the HID of that entry in the
    bcm_acpi_match table.
    
    Looking at the Windows .inf files, there is nothing indicating a specific
    order there, so I believe that there is no 1:1 mapping between the ACPI
    HID and the order in which the resources are listed.
    
    Therefor this commit replaces the hardcoded mapping based on ACPI HID,
    with code which actually checks in which order the resources are listed
    and bases the gpio-mapping on that.
    
    This should ensure that we always pick the right mapping and this will
    make adding new ACPI HIDs to the driver easier.
    
    This has been tested on the following devices:
    -Asus T100CHI           BCM2E39 / brcmfmac43241b4-sdio / BCM4324B3-37.4M.hcd
    -Asus T100TA            BCM2E39 / brcmfmac43241b4-sdio / BCM4324B3-37.4M.hcd
    -Asus T200TA            BCM2E65 / brcmfmac43340-sdio   / BCM43341B0-37.4M.hcd
    -Jumper ezPad mini 3    BCM2E74 / brcmfmac43430a0-sdio / BCM4343A0-26M.hcd
    -Acer Iconia Tab8 w1-8  BCM2E83 / brcmfmac4330-sdio    / BCM4330B1-26M.hcd
    -Chuwi Vi8 plus(CWI519) BCM2EAA / brcmfmac43430-sdio   / BCM43430A1-26M.hcd
    
    Which together cover all 3 combinations of using an Interrupt resource /
    GpioInt resource as first resource / GpioInt resource as last resource.
    Tested-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    a4de1567
hci_bcm.c 28.3 KB