Merge pull request #4682 from by-gnome/imx6

Fix firmwares loading for iMX6
This commit is contained in:
Christian Hewitt 2020-12-07 17:38:19 +04:00 committed by GitHub
commit 38b5b98daa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 87 additions and 12 deletions

View File

@ -45,6 +45,8 @@ fi
if [ "$TARGET_ARCH" = "x86_64" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET elfutils:host pciutils"
PKG_DEPENDS_UNPACK+=" intel-ucode kernel-firmware"
elif [ "$TARGET_ARCH" = "arm" -a "$DEVICE" = "iMX6" ]; then
PKG_DEPENDS_UNPACK+=" firmware-imx"
fi
if [[ "$KERNEL_TARGET" = uImage* ]]; then
@ -153,6 +155,15 @@ pre_make_target() {
FW_LIST="$(find $PKG_BUILD/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config
elif [ "$TARGET_ARCH" = "arm" -a "$DEVICE" = "iMX6" ]; then
mkdir -p $PKG_BUILD/external-firmware/imx/sdma
cp -a $(get_build_dir firmware-imx)/firmware/sdma/*imx6*.bin $PKG_BUILD/external-firmware/imx/sdma
cp -a $(get_build_dir firmware-imx)/firmware/vpu/*imx6*.bin $PKG_BUILD/external-firmware
FW_LIST="$(find $PKG_BUILD/external-firmware -type f | sed 's|.*external-firmware/||' | sort | xargs)"
sed -i -e "s|^CONFIG_EXTRA_FIRMWARE=.*$|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config
sed -i -e "/CONFIG_EXTRA_FIRMWARE_DIR/d" -e "/CONFIG_EXTRA_FIRMWARE=.../a CONFIG_EXTRA_FIRMWARE_DIR=\"external-firmware\"" $PKG_BUILD/.config
fi
kernel_make oldconfig

View File

@ -0,0 +1,12 @@
BCM4329B1.hcd
BCM4330B1.hcd
BCM4339A0.hcd
brcmfmac4329-sdio.solidrun,cubox-i-dl.txt
brcmfmac4329-sdio.solidrun,cubox-i-q.txt
brcmfmac4329-sdio.wand,imx6dl-wandboard.txt
brcmfmac4329-sdio.wand,imx6q-wandboard.txt
brcmfmac4330-sdio.solidrun,cubox-i-dl.txt
brcmfmac4330-sdio.solidrun,cubox-i-q.txt
brcmfmac4330-sdio.wand,imx6dl-wandboard.txt
brcmfmac4330-sdio.wand,imx6q-wandboard.txt
brcmfmac4339-sdio.txt

View File

@ -1133,7 +1133,7 @@ CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
@ -1143,7 +1143,7 @@ CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
@ -2005,15 +2005,15 @@ CONFIG_WLAN=y
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
CONFIG_WLAN_VENDOR_ATMEL=y
CONFIG_ATMEL=y
CONFIG_ATMEL=m
# CONFIG_PCI_ATMEL is not set
CONFIG_AT76C50X_USB=y
CONFIG_AT76C50X_USB=m
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
CONFIG_BRCMUTIL=y
CONFIG_BRCMUTIL=m
# CONFIG_BRCMSMAC is not set
CONFIG_BRCMFMAC=y
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_PROTO_BCDC=y
CONFIG_BRCMFMAC_SDIO=y
# CONFIG_BRCMFMAC_USB is not set
@ -3158,8 +3158,8 @@ CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_V4L2_I2C=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_V4L2_JPEG_HELPER=m
CONFIG_V4L2_MEM2MEM_DEV=m
CONFIG_V4L2_JPEG_HELPER=y
CONFIG_V4L2_MEM2MEM_DEV=y
# end of Video4Linux options
#
@ -3296,7 +3296,7 @@ CONFIG_RADIO_ADAPTERS=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=m
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_V4L_PLATFORM_DRIVERS=y
# CONFIG_VIDEO_CAFE_CCIC is not set
@ -3305,8 +3305,8 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
# CONFIG_VIDEO_MUX is not set
# CONFIG_VIDEO_XILINX is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_CODA=m
CONFIG_VIDEO_IMX_VDOA=m
CONFIG_VIDEO_CODA=y
CONFIG_VIDEO_IMX_VDOA=y
# CONFIG_VIDEO_IMX_PXP is not set
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
# CONFIG_DVB_PLATFORM_DRIVERS is not set

View File

@ -0,0 +1,37 @@
Add MMC power sequence for usdhc2.
Add bluetooth node to uart3.
--- a/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi
@@ -6,6 +6,15 @@
#include "imx6qdl-wandboard.dtsi"
+/ {
+ pwrseq_usdhc2: usdhc2pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>, /* WL_REG_ON */
+ <&gpio5 30 GPIO_ACTIVE_LOW>, /* BT_REG_ON */
+ <&gpio5 21 GPIO_ACTIVE_LOW>; /* BT_RST_N */
+ };
+};
+
&iomuxc {
pinctrl-0 = <&pinctrl_hog>;
@@ -28,8 +37,15 @@
};
};
+&uart3 {
+ bluetooth {
+ compatible = "brcm,bcm4330-bt";
+ };
+};
+
&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>;
+ mmc-pwrseq = <&pwrseq_usdhc2>;
status = "okay";
};

View File

@ -0,0 +1,15 @@
Add bluetooth node to uart4.
--- a/arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi
@@ -128,6 +127,10 @@
pinctrl-0 = <&pinctrl_microsom_brcm_bt &pinctrl_microsom_uart4>;
uart-has-rtscts;
status = "okay";
+
+ bluetooth {
+ compatible = "brcm,bcm4330-bt";
+ };
};
/* USDHC1 - Connected to optional BRCM Wifi/BT/FM */

View File

@ -63,7 +63,7 @@
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
# Space separated list is supported,
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
FIRMWARE="misc-firmware wlan-firmware dvb-firmware brcmfmac_sdio-firmware-imx firmware-imx"
FIRMWARE="misc-firmware wlan-firmware dvb-firmware brcmfmac_sdio-firmware"
# build with installer (yes / no)
INSTALLER_SUPPORT="no"