Get linux firmware for kernel.org, add missing ones, create a package linux-firmware and install it on the image in the building process. Firmware package, which is build with kernel is removed. We need to test if anything is missing - tested so far: Cubietruck, Banana PRO, M2+

This commit is contained in:
Igor Pecovnik 2016-06-15 17:11:01 +02:00
parent c13fe2e59c
commit 9520fa2485
43 changed files with 441 additions and 4 deletions

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
11:22:33:44:55:66

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,57 @@
#AP6210_NVRAM_V1.3_08182013
manfid=0x2d0
prodid=0x492
vendid=0x14e4
devid=0x4343
boardtype=0x0598
# Board Revision is P307, same nvram file can be used for P304, P305, P306 and P307 as the tssi pa params used are same
#Please force the automatic RX PER data to the respective board directory if not using P307 board, for e.g. for P305 boards force the data into the following directory /projects/BCM43362/a1_labdata/boardtests/results/sdg_rev0305
boardrev=0x1307
boardnum=777
xtalfreq=26000
boardflags=0x80201
boardflags2=0x80
sromrev=3
wl0id=0x431b
macaddr=00:90:4c:07:71:12
aa2g=1
ag0=2
maxp2ga0=74
cck2gpo=0x2222
ofdm2gpo=0x44444444
mcs2gpo0=0x8888
mcs2gpo1=0x8888
pa0maxpwr=56
#P207 PA params
#pa0b0=5447
#pa0b1=-658
#pa0b2=-175<div></div>
#Same PA params for P304,P305, P306, P307
pa0b0=5447
pa0b1=-607
pa0b2=-160
pa0itssit=62
pa1itssit=62
cckPwrOffset=5
ccode=0
rssismf2g=0xa
rssismc2g=0x3
rssisav2g=0x7
triso2g=0
noise_cal_enable_2g=1
noise_cal_po_2g=6
swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff
temp_add=29767
temp_mult=425
btc_flags=0x6
btc_params0=5000
btc_params1=1000
btc_params6=63

View file

@ -0,0 +1,57 @@
#AP6210_NVRAM_V1.2_03192013
manfid=0x2d0
prodid=0x492
vendid=0x14e4
devid=0x4343
boardtype=0x0598
# Board Revision is P307, same nvram file can be used for P304, P305, P306 and P307 as the tssi pa params used are same
#Please force the automatic RX PER data to the respective board directory if not using P307 board, for e.g. for P305 boards force the data into the following directory /projects/BCM43362/a1_labdata/boardtests/results/sdg_rev0305
boardrev=0x1307
boardnum=777
xtalfreq=26000
boardflags=0x80201
boardflags2=0x80
sromrev=3
wl0id=0x431b
macaddr=00:90:4c:07:71:12
aa2g=1
ag0=2
maxp2ga0=74
cck2gpo=0x2222
ofdm2gpo=0x44444444
mcs2gpo0=0x6666
mcs2gpo1=0x6666
pa0maxpwr=56
#P207 PA params
#pa0b0=5447
#pa0b1=-658
#pa0b2=-175<div></div>
#Same PA params for P304,P305, P306, P307
pa0b0=5447
pa0b1=-607
pa0b2=-160
pa0itssit=62
pa1itssit=62
cckPwrOffset=5
ccode=0
rssismf2g=0xa
rssismc2g=0x3
rssisav2g=0x7
triso2g=0
noise_cal_enable_2g=0
noise_cal_po_2g=0
swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff
temp_add=29767
temp_mult=425
btc_flags=0x6
btc_params0=5000
btc_params1=1000
btc_params6=63

View file

@ -0,0 +1,57 @@
#AP6210_NVRAM_V1.2_03192013
manfid=0x2d0
prodid=0x492
vendid=0x14e4
devid=0x4343
boardtype=0x0598
# Board Revision is P307, same nvram file can be used for P304, P305, P306 and P307 as the tssi pa params used are same
#Please force the automatic RX PER data to the respective board directory if not using P307 board, for e.g. for P305 boards force the data into the following directory /projects/BCM43362/a1_labdata/boardtests/results/sdg_rev0305
boardrev=0x1307
boardnum=777
xtalfreq=26000
boardflags=0x80201
boardflags2=0x80
sromrev=3
wl0id=0x431b
macaddr=00:90:4c:07:71:12
aa2g=1
ag0=2
maxp2ga0=74
cck2gpo=0x2222
ofdm2gpo=0x44444444
mcs2gpo0=0x6666
mcs2gpo1=0x6666
pa0maxpwr=56
#P207 PA params
#pa0b0=5447
#pa0b1=-658
#pa0b2=-175<div></div>
#Same PA params for P304,P305, P306, P307
pa0b0=5447
pa0b1=-607
pa0b2=-160
pa0itssit=62
pa1itssit=62
cckPwrOffset=5
ccode=0
rssismf2g=0xa
rssismc2g=0x3
rssisav2g=0x7
triso2g=0
noise_cal_enable_2g=0
noise_cal_po_2g=0
swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff
temp_add=29767
temp_mult=425
btc_flags=0x6
btc_params0=5000
btc_params1=1000
btc_params6=63

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,54 @@
#AP6212_NVRAM_V1.0_20140603
# 2.4 GHz, 20 MHz BW mode
# The following parameter values are just placeholders, need to be updated.
manfid=0x2d0
prodid=0x0726
vendid=0x14e4
devid=0x43e2
boardtype=0x0726
boardrev=0x1101
boardnum=22
macaddr=00:90:4c:c5:12:38
sromrev=11
boardflags=0x00404201
xtalfreq=26000
nocrc=1
ag0=255
aa2g=1
ccode=ALL
pa0itssit=0x20
extpagain2g=0
#PA parameters for 2.4GHz, measured at CHIP OUTPUT
pa2ga0=-168,7161,-820
AvVmid_c0=0x0,0xc8
cckpwroffset0=5
# PPR params
maxp2ga0=90
txpwrbckof=6
cckbw202gpo=0x5555
legofdmbw202gpo=0x77777777
mcsbw202gpo=0xaaaaaaaa
# OFDM IIR :
ofdmdigfilttype=7
# PAPD mode:
papdmode=2
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
#OOB parameters
hostwake=0x40
hostrdy=0x41
usbrdy=0x03
usbrdydelay=100
deadman_to=0xffffffff
# muxenab: 0x1 for UART enable, 0x10 for Host awake
muxenab=0x10
# CLDO PWM voltage settings - 0x4 - 1.1 volt
#cldo_pwm=0x4

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,70 @@
# bcm94329sdagb board
# $Copyright (C) 2008 Broadcom Corporation$
# $id$
sromrev=3
vendid=0x14e4
devid=0x432f
boardtype=0x53e
boardrev=0x41
#boardflags=0x1200
boardflags=0x200
# Specify the xtalfreq if it is otherthan 38.4MHz
xtalfreq=37400
aa2g=3
aa5g=0
ag0=255
#tri2g=0x64
# 11g paparams
pa0b0=5542,5542,5542
pa0b1=64244,64244,64244
pa0b2=65202,65202,65202
pa0itssit=62
pa0maxpwr=74
opo=0
mcs2gpo0=0x6666
mcs2gpo1=0x6666
# 11g rssi params
rssismf2g=0xa,0xa,0xa
rssismc2g=0xb,0xb,0xb
rssisav2g=0x3,0x3,0x3
bxa2g=0
# country code
ccode=ALL
cctl=0x0
cckdigfilttype=0
ofdmdigfilttype=1
rxpo2g=0
boardnum=1
macaddr=00:90:4c:c5:00:34
# xtal pu and pd time control variable
# pu time is driver default (0x1501)
#r13t=0x1501
#######
nocrc=1
#for mfgc
otpimagesize=182
# sdio extra configs
hwhdr=0x05ffff031030031003100000
#This generates empty F1, F2 and F3 tuple chains, and may be used if the host SDIO stack does not require the standard tuples.
#RAW1=80 02 fe ff
#This includes the standard FUNCID and FUNCE tuples in the F1, F2, F3 and common CIS.
RAW1=80 32 fe 21 02 0c 00 22 2a 01 01 00 00 c5 0 e6 00 00 00 00 00 40 00 00 ff ff 80 00 00 00 00 00 00 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 20 04 D0 2 29 43 21 02 0c 00 22 04 00 20 00 5A
nvramver=4.218.214.0

View file

@ -0,0 +1,40 @@
# bcm94330wlsdgb.txt
manfid=0x2d0
prodid=0x0552
vendid=0x14e4
devid=0x4360
boardtype=0x0552
boardrev=0x11
# this design has 2.4GHz SP3T switch
boardflags=0x00080200
nocrc=1
xtalfreq=37400
boardnum=22
macaddr=00:90:4c:c5:12:38
ag0=255
aa2g=1
ccode=CN
pa0b0=0x14d0
pa0b1=0xfd98
pa0b2=0xff78
rssismf2g=0xa
rssismc2g=0x3
rssisav2g=0x7
maxp2ga0=0x50
sromrev=3
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
cckPwrOffset=5
ofdm2gpo=0x66666666
mcs2gpo0=0x6666
mcs2gpo1=0x6666
swctrlmap_2g=0x04040404,0x02020202,0x02020404,0x10202,0x1ff
swctrlmap_5g=0x00100010,0x00280020,0x00200010,0x14202,0x2f8
rfreg033=0x19
rfreg033_cck=0x1f
dacrate2g=160
txalpfbyp2g=1
bphyscale=17
cckPwrIdxCorr=-15
pacalidx2g=45
txgaintbl=1

View file

@ -0,0 +1,57 @@
#AP6210_NVRAM_V1.2_03192013
manfid=0x2d0
prodid=0x492
vendid=0x14e4
devid=0x4343
boardtype=0x0598
# Board Revision is P307, same nvram file can be used for P304, P305, P306 and P307 as the tssi pa params used are same
#Please force the automatic RX PER data to the respective board directory if not using P307 board, for e.g. for P305 boards force the data into the following directory /projects/BCM43362/a1_labdata/boardtests/results/sdg_rev0305
boardrev=0x1307
boardnum=777
xtalfreq=26000
boardflags=0x80201
boardflags2=0x80
sromrev=3
wl0id=0x431b
macaddr=00:90:4c:07:71:12
aa2g=1
ag0=2
maxp2ga0=74
cck2gpo=0x2222
ofdm2gpo=0x44444444
mcs2gpo0=0x6666
mcs2gpo1=0x6666
pa0maxpwr=56
#P207 PA params
#pa0b0=5447
#pa0b1=-658
#pa0b2=-175<div></div>
#Same PA params for P304,P305, P306, P307
pa0b0=5447
pa0b1=-607
pa0b2=-160
pa0itssit=62
pa1itssit=62
cckPwrOffset=5
ccode=0
rssismf2g=0xa
rssismc2g=0x3
rssisav2g=0x7
triso2g=0
noise_cal_enable_2g=0
noise_cal_po_2g=0
swctrlmap_2g=0x04040404,0x02020202,0x02020202,0x010101,0x1ff
temp_add=29767
temp_mult=425
btc_flags=0x6
btc_params0=5000
btc_params1=1000
btc_params6=63

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -115,9 +115,15 @@ install_kernel (){
chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/${HEADERS_TMP}_${REVISION}_${ARCH}.deb > /dev/null"
# install firmware
if [[ -f $CACHEDIR/sdcard/tmp/${FW_TMP}_${REVISION}_${ARCH}.deb ]]; then
display_alert "Installing firmware" "$FW_TMP" "info"
chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/${FW_TMP}_${REVISION}_${ARCH}.deb > /dev/null"
#if [[ -f $CACHEDIR/sdcard/tmp/${FW_TMP}_${REVISION}_${ARCH}.deb ]]; then
# display_alert "Installing firmware" "$FW_TMP" "info"
# chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/${FW_TMP}_${REVISION}_${ARCH}.deb > /dev/null"
#fi
# install generic firmware instead
if [[ -f $CACHEDIR/sdcard/tmp/armbian-firmware_${REVISION}_${ARCH}.deb ]]; then
display_alert "Installing generic firmware" "armbian-firmware" "info"
chroot $CACHEDIR/sdcard /bin/bash -c "dpkg -i /tmp/armbian-firmware_${REVISION}_${ARCH}.deb > /dev/null"
fi
# install DTB
@ -130,5 +136,5 @@ install_kernel (){
cp $SRC/lib/bin/armbian.bmp $CACHEDIR/sdcard/boot/boot.bmp
# add our linux firmwares to cache image
unzip -q $SRC/lib/bin/linux-firmware.zip -d $CACHEDIR/sdcard/lib/firmware
# unzip -q $SRC/lib/bin/linux-firmware.zip -d $CACHEDIR/sdcard/lib/firmware
}

View file

@ -117,6 +117,39 @@ compile_sunxi_tools ()
make install-tools >/dev/null
}
compile_firmware ()
{
#---------------------------------------------------------------------------------------------------------------------------------
# http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git + some ours
#---------------------------------------------------------------------------------------------------------------------------------
display_alert "Merging and packing linux firmware" "@host" "info"
cd $SOURCES/$MISC6_DIR
# overlay our firmware
cp -R $SRC/lib/bin/firmware-overlay/. .
# cleanup what's not needed for sure
rm -rf amdgpu amd-ucode radeon
cd ..
cd ..
# set up control file
mkdir -p DEBIAN
cat <<-END > DEBIAN/control
Package: armbian-firmware
Version: $REVISION
Architecture: $ARCH
Maintainer: $MAINTAINER <$MAINTAINERMAIL>
Installed-Size: 1
Section: kernel
Priority: optional
Description: Linux firmware
END
cd ..
# pack
mv armbian-firmware armbian-firmware_${REVISION}_${ARCH}
dpkg -b armbian-firmware_${REVISION}_${ARCH} >> $DEST/debug/install.log 2>&1
mv armbian-firmware_${REVISION}_${ARCH} armbian-firmware
mv armbian-firmware*.deb $DEST/debs/ || exit_with_error "Failed moving kernel DEBs"
}
compile_kernel (){
#---------------------------------------------------------------------------------------------------------------------------------
# Compile kernel

View file

@ -23,6 +23,8 @@ MISC1="https://github.com/linux-sunxi/sunxi-tools.git" # Allwinner fex compiler
MISC1_DIR="sunxi-tools" # local directory
MISC5="https://github.com/hglm/a10disp/" # Display changer for Allwinner
MISC5_DIR="sunxi-display-changer" # local directory
MISC6="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" # Linux firmware
MISC6_DIR="armbian-firmware/lib/firmware" # local directory
HOST="$BOARD" # set hostname to the board
CACHEDIR=$DEST/cache

View file

@ -183,6 +183,7 @@ LINUXSOURCEDIR=$LINUXSOURCE/$GITHUBSUBDIR
if [[ -n $MISC1 ]]; then fetch_from_github "$MISC1" "$MISC1_DIR"; fi
if [[ -n $MISC5 ]]; then fetch_from_github "$MISC5" "$MISC5_DIR"; fi
if [[ -n $MISC6 ]]; then fetch_from_github "$MISC6" "$MISC6_DIR"; fi
# compile sunxi tools
if [[ $LINUXFAMILY == sun*i ]]; then
@ -234,6 +235,8 @@ if [[ ! -f $DEST/debs/${CHOSEN_KERNEL}_${REVISION}_${ARCH}.deb ]]; then
compile_kernel
fi
[[ ! -f $DEST/debs/armbian-firmware_${REVISION}_${ARCH}.deb ]] && compile_firmware
[[ -n $RELEASE ]] && create_board_package
if [[ $KERNEL_ONLY != yes ]]; then