ap6212a.inc: add support for AMPAK 6212A

Add support for AMPAK 6212A module:
1) install kernel module
2) install firmware
3) create the required symlink with the AP6212 NVRAM file
Enable the support in the boards with the module, according to:
https://linux-sunxi.org/Table_of_Allwinner_based_boards
The link creation with compatible name works on kernels >= 5.0.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
This commit is contained in:
Diego Rondini 2019-11-16 22:20:54 +00:00
parent b7b8764c8f
commit 7fdbe68c1f
4 changed files with 19 additions and 1 deletions

View File

@ -0,0 +1,5 @@
# Include for boards with AMPAK 6212A Wifi / Bluetooth module
# https://linux-sunxi.org/Wifi#Ampak
MACHINE_EXTRA_RRECOMMENDS_append = " kernel-module-brcmfmac"
MACHINE_EXTRA_RDEPENDS_append = " linux-firmware-bcm43430"

View File

@ -4,6 +4,7 @@
# on the Allwinner H5 SoC.
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-nanopi-neo-plus2.dtb"
UBOOT_MACHINE = "nanopi_neo_plus2_defconfig"

View File

@ -2,8 +2,8 @@
#@NAME: orange-pi-zero-plus2
#@DESCRIPTION: Machine configuration for the orange-pi-zero-plus2, base on Allwinner H5 CPU
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-zero-plus2.dtb"
UBOOT_MACHINE = "orangepi_zero_plus2_defconfig"

View File

@ -0,0 +1,12 @@
# The brcmfmac driver looks for NVRAM files using the first entry in board
# compatible since kernel >= 5.0:
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0ad4b55b2f29784f93875e6231bf57cd233624a2
# We create a link to the AP6212 module NVRAM file so that firmware is
# autodetected by the driver.
# WARNING: The following commit is required for NVRAM files to be included in
# linux-firmware-bcm43430 package:
# http://git.openembedded.org/openembedded-core/commit/?id=dde0f79f32fa6bab045ef60199903f74c4cc3393
do_install_append() {
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.xunlong,orangepi-zero-plus2.txt
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-plus2.txt
}