Bluetooth: btbcm: Support per-board firmware variants
authorLinus Walleij <linus.walleij@linaro.org>
Sun, 20 Mar 2022 22:27:49 +0000 (23:27 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 13 May 2022 11:05:48 +0000 (13:05 +0200)
commit63fac3343b99e6726830bb40028fbe23c864eafe
treefab25380565f1a9c6ce87562b72b8feb3911d2a0
parent49bb39bddad214304bb523258f02f57cd25ed88b
Bluetooth: btbcm: Support per-board firmware variants

There are provedly different firmware variants for the different
phones using some of these chips. These were extracted from a few
Samsung phones:

37446 BCM4334B0.samsung,codina-tmo.hcd
37366 BCM4334B0.samsung,golden.hcd
37403 BCM4334B0.samsung,kyle.hcd
37366 BCM4334B0.samsung,skomer.hcd

This patch supports the above naming schedule with inserting
[.board_name] between the firmware name and ".hcd". This scheme
is the same as used by the companion BRCM wireless chips
as can be seen in
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
or just by looking at the firmwares in linux-firmware/brcm.

Currently we only support board variants using the device
tree compatible string as board type, but other schemes are
possible.

This makes it possible to successfully load a few unique
firmware variants for some Samsung phones.

Cc: phone-devel@vger.kernel.org
Cc: Markuss Broks <markuss.broks@gmail.com>
Cc: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btbcm.c