arm-sdk

os build toolkit for various embedded devices
git clone https://git.parazyd.org/arm-sdk
Log | Files | Refs | Submodules | README | LICENSE

commit a5fbdfb91a49c2a72c6c54898c9feeb71eec04a2
parent 14772a1175e3fcbf0c8605597c50f83b79c93d1d
Author: parazyd <parazyd@dyne.org>
Date:   Fri, 30 Sep 2016 00:28:34 +0200

continue refactoring for libdevuansdk

Diffstat:
Aextra/bins/brcm_patchram_plus | 0
Aextra/brcm/BCM4354_003.001.012.0306.0659.hcd | 0
Aextra/brcm/BCM4354_003.001.012.0322.0679.hcd | 0
Aextra/brcm/brcmfmac4354-sdio.bin | 0
Aextra/brcm/brcmfmac4354-sdio.txt | 155+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/elan_i2c.bin | 0
Aextra/elants_i2c_0000.bin | 0
Aextra/elants_i2c_0a91.bin | 0
Aextra/maxtouch-ts.cfg | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/maxtouch-ts.fw | 0
Aextra/ouya/3.1.10-tk3+/kernel/crypto/tcrypt.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/drivers/bluetooth/btwilink.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/drivers/net/usb/raw_ip_net.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/drivers/scsi/scsi_wait_scan.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/drivers/usb/serial/baseband_usb_chr.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/net/mac80211/mac80211.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/net/wireless/cfg80211.ko | 0
Aextra/ouya/3.1.10-tk3+/kernel/net/wireless/lib80211.ko | 0
Aextra/ouya/3.1.10-tk3+/modules.alias | 12++++++++++++
Aextra/ouya/3.1.10-tk3+/modules.alias.bin | 0
Aextra/ouya/3.1.10-tk3+/modules.builtin | 426+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/ouya/3.1.10-tk3+/modules.builtin.bin | 0
Aextra/ouya/3.1.10-tk3+/modules.dep | 9+++++++++
Aextra/ouya/3.1.10-tk3+/modules.dep.bin | 0
Aextra/ouya/3.1.10-tk3+/modules.devname | 1+
Aextra/ouya/3.1.10-tk3+/modules.order | 9+++++++++
Aextra/ouya/3.1.10-tk3+/modules.softdep | 2++
Aextra/ouya/3.1.10-tk3+/modules.symbols | 185+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/ouya/3.1.10-tk3+/modules.symbols.bin | 0
Aextra/ouya/tegra30-r16_3-3.2_armhf.deb | 0
Aextra/ouya/zImage-3.1.10-tk3+ | 0
Aextra/patches/0001-UPSTREAM-soc-rockchip-add-handler-for-usb-uart-funct.patch | 306+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/patches/0002-fix-brcmfmac-oops-and-race-condition.patch | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/rpi3/README | 1+
Aextra/rpi3/brcmfmac43430-sdio.bin | 0
Aextra/rpi3/brcmfmac43430-sdio.txt | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/tegra30-r16_3-3.2_armhf.deb | 0
Aextra/veyron-audio.cfg | 1589+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/veyron-pulse.cfg | 163+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aextra/zram | 45+++++++++++++++++++++++++++++++++++++++++++++
41 files changed, 3121 insertions(+), 0 deletions(-)

diff --git a/extra/bins/brcm_patchram_plus b/extra/bins/brcm_patchram_plus Binary files differ. diff --git a/extra/brcm/BCM4354_003.001.012.0306.0659.hcd b/extra/brcm/BCM4354_003.001.012.0306.0659.hcd Binary files differ. diff --git a/extra/brcm/BCM4354_003.001.012.0322.0679.hcd b/extra/brcm/BCM4354_003.001.012.0322.0679.hcd Binary files differ. diff --git a/extra/brcm/brcmfmac4354-sdio.bin b/extra/brcm/brcmfmac4354-sdio.bin Binary files differ. diff --git a/extra/brcm/brcmfmac4354-sdio.txt b/extra/brcm/brcmfmac4354-sdio.txt @@ -0,0 +1,155 @@ +# Sample variables file for BCM94354Z NGFF 22x30mm iPA, iLNA board with PCIe/SDIO for production package +# SDIO interface +NVRAMRev=$Rev: 373428 $ +sromrev=11 +boardrev=0x1224 +boardtype=0x0707 +boardflags=0x02400201 +#enable LNA1 bypass for both 2G & 5G + +#boardflags2=0xc0800000 +boardflags2=0x00802000 + +boardflags3=0x4800000a +#boardnum=57410 +macaddr=00:11:22:33:44:55 +ccode=0 +regrev=0 +antswitch=0 +pdgain5g=4 +pdgain2g=4 +tworangetssi2g=0 +tworangetssi5g=0 +paprdis=0 +femctrl=10 +vendid=0x14e4 +devid=0x43a3 +manfid=0x2d0 +#prodid=0x052e +nocrc=1 +otpimagesize=502 +xtalfreq=37400 +rxgains2gelnagaina0=0 + +#rxgains2gtrisoa0=3 +rxgains2gtrisoa0=7 + +rxgains2gtrelnabypa0=0 +rxgains5gelnagaina0=0 + +#rxgains5gtrisoa0=4 +rxgains5gtrisoa0=11 + +rxgains5gtrelnabypa0=0 +rxgains5gmelnagaina0=0 + +#rxgains5gmtrisoa0=4 +rxgains5gmtrisoa0=13 + +rxgains5gmtrelnabypa0=0 +rxgains5ghelnagaina0=0 + +#rxgains5ghtrisoa0=4 +rxgains5ghtrisoa0=12 + +rxgains5ghtrelnabypa0=0 +rxgains2gelnagaina1=0 + +#rxgains2gtrisoa1=3 +rxgains2gtrisoa1=7 + +rxgains2gtrelnabypa1=0 +rxgains5gelnagaina1=0 + +#rxgains5gtrisoa1=4 +rxgains5gtrisoa1=10 + +rxgains5gtrelnabypa1=0 +rxgains5gmelnagaina1=0 + +#rxgains5gmtrisoa1=4 +rxgains5gmtrisoa1=11 + +rxgains5gmtrelnabypa1=0 +rxgains5ghelnagaina1=0 + +#rxgains5ghtrisoa1=4 +rxgains5ghtrisoa1=11 + +rxgains5ghtrelnabypa1=0 +rxchain=3 +txchain=3 +aa2g=3 +aa5g=3 +agbg0=2 +agbg1=2 +aga0=2 +aga1=2 +tssipos2g=1 +extpagain2g=2 +tssipos5g=1 +extpagain5g=2 +tempthresh=255 +tempoffset=255 +rawtempsense=0x1ff +pa2ga0=-147,5992,-705 +pa2ga1=-161,5991,-701 +pa5ga0=-194,5999,-739,-188,6057,-743,-185,6001,-725,-171,5978,-715 +pa5ga1=-190,6103,-757,-190,6105,-759,-190,6105,-757,-184,6111,-746 +subband5gver=0x4 +pdoffsetcckma0=0x4 +pdoffsetcckma1=0x4 +pdoffset40ma0=0x0000 +pdoffset80ma0=0x0000 +pdoffset40ma1=0x0000 +pdoffset80ma1=0x0000 +maxp2ga0=70 +maxp5ga0=58,58,58,58 +maxp2ga1=70 +maxp5ga1=58,58,58,58 +cckbw202gpo=0x1111 +cckbw20ul2gpo=0x0000 +mcsbw202gpo=0x66666666 +mcsbw402gpo=0xAAAAAAAA +dot11agofdmhrbw202gpo=0x4444 +ofdmlrbw202gpo=0x0044 +mcsbw205glpo=0x66666666 +mcsbw405glpo=0x66666666 +mcsbw805glpo=0xAAAAAAAA +mcsbw205gmpo=0x66666666 +mcsbw405gmpo=0x66666666 +mcsbw805gmpo=0xAAAAAAAA +mcsbw205ghpo=0x66666666 +mcsbw405ghpo=0x66666666 +mcsbw805ghpo=0xAAAAAAAA +mcslr5glpo=0x0000 +mcslr5gmpo=0x0000 +mcslr5ghpo=0x0000 +sb20in40hrpo=0x0 +sb20in80and160hr5glpo=0x0 +sb40and80hr5glpo=0x0 +sb20in80and160hr5gmpo=0x0 +sb40and80hr5gmpo=0x0 +sb20in80and160hr5ghpo=0x0 +sb40and80hr5ghpo=0x0 +sb20in40lrpo=0x0 +sb20in80and160lr5glpo=0x0 +sb40and80lr5glpo=0x0 +sb20in80and160lr5gmpo=0x0 +sb40and80lr5gmpo=0x0 +sb20in80and160lr5ghpo=0x0 +sb40and80lr5ghpo=0x0 +dot11agduphrpo=0x0 +dot11agduplrpo=0x0 +phycal_tempdelta=25 +temps_period=15 +temps_hysteresis=15 +AvVmid_c0=2,140,2,145,2,145,2,145,2,145 +AvVmid_c1=2,140,2,145,2,145,2,145,2,145 +AvVmid_c2=0,0,0,0,0,0,0,0,0,0 +rssicorrnorm_c0=4,4 +rssicorrnorm_c1=4,4 +rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8 +rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8 +ltecxmux=0x534201 +Ofdmfilttype=6 diff --git a/extra/elan_i2c.bin b/extra/elan_i2c.bin Binary files differ. diff --git a/extra/elants_i2c_0000.bin b/extra/elants_i2c_0000.bin Binary files differ. diff --git a/extra/elants_i2c_0a91.bin b/extra/elants_i2c_0a91.bin Binary files differ. diff --git a/extra/maxtouch-ts.cfg b/extra/maxtouch-ts.cfg @@ -0,0 +1,57 @@ +OBP_RAW V1 +A2 00 20 AB 20 34 21 +969531 +B5B0E5 +0044 0000 0049 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0026 0000 0040 01 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0047 0000 00A8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0007 0000 0004 32 08 96 03 +0008 0000 000A 67 00 0A 0A 00 00 FF 01 00 00 +0009 0000 002F 83 00 00 1D 2E 00 82 28 03 01 0A 01 01 00 0A 05 08 00 1F 03 FF 04 03 03 01 01 00 00 00 00 0A 0C 32 32 02 00 43 E6 2D 5F 00 00 00 00 00 80 00 +0009 0001 002F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +000F 0000 000B 00 00 00 00 00 00 00 00 00 00 00 +0012 0000 0002 00 00 +0013 0000 0006 00 00 00 00 00 00 +0018 0000 0013 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0018 0001 0013 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0019 0000 0015 03 00 C0 5D 20 4E 00 00 00 00 00 00 00 00 C8 00 00 00 00 00 00 +001B 0000 0007 00 00 00 00 00 00 00 +001B 0001 0007 00 00 00 00 00 00 00 +0028 0000 0005 00 00 00 00 00 +0028 0001 0005 00 00 00 00 00 +002A 0000 000D 21 19 1E 14 F0 00 00 00 00 00 00 03 00 +002A 0001 000D 00 00 00 00 00 00 00 00 00 00 00 00 00 +002B 0000 000C 00 00 00 00 00 00 00 00 00 00 00 00 +002E 0000 000B 00 00 18 18 00 00 00 00 00 00 0B +002F 0000 001C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +002F 0001 001C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0037 0000 0007 00 38 40 0A 01 00 C0 +0037 0001 0007 00 00 00 00 00 00 00 +0038 0000 0033 01 00 01 44 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0039 0000 0003 00 00 00 +0039 0001 0003 00 00 00 +003D 0000 0005 00 00 00 00 00 +003D 0001 0005 00 00 00 00 00 +003D 0002 0005 00 00 00 00 00 +003D 0003 0005 00 00 00 00 00 +003E 0000 004A 7D 03 00 10 00 03 00 05 2D 00 05 16 19 12 05 00 0A 05 01 72 0F 08 24 00 28 18 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +003F 0000 0019 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +003F 0001 0019 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0041 0000 0011 19 0F 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 +0042 0000 0003 00 00 00 +0046 0000 000A 00 00 00 00 00 00 00 00 00 00 +0046 0001 000A 00 00 00 00 00 00 00 00 00 00 +0046 0002 000A 00 00 00 00 00 00 00 00 00 00 +0046 0003 000A 00 00 00 00 00 00 00 00 00 00 +0046 0004 000A 00 00 00 00 00 00 00 00 00 00 +0046 0005 000A 00 00 00 00 00 00 00 00 00 00 +0046 0006 000A 00 00 00 00 00 00 00 00 00 00 +0046 0007 000A 00 00 00 00 00 00 00 00 00 00 +0046 0008 000A 00 00 00 00 00 00 00 00 00 00 +0046 0009 000A 00 00 00 00 00 00 00 00 00 00 +0046 000A 000A 00 00 00 00 00 00 00 00 00 00 +0046 000B 000A 00 00 00 00 00 00 00 00 00 00 +0049 0000 0006 00 00 00 00 00 00 +0049 0001 0006 00 00 00 00 00 00 +004D 0000 0004 00 00 00 00 +004F 0000 0003 00 00 00 diff --git a/extra/maxtouch-ts.fw b/extra/maxtouch-ts.fw Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/crypto/tcrypt.ko b/extra/ouya/3.1.10-tk3+/kernel/crypto/tcrypt.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/drivers/bluetooth/btwilink.ko b/extra/ouya/3.1.10-tk3+/kernel/drivers/bluetooth/btwilink.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/drivers/net/usb/raw_ip_net.ko b/extra/ouya/3.1.10-tk3+/kernel/drivers/net/usb/raw_ip_net.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko b/extra/ouya/3.1.10-tk3+/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/drivers/scsi/scsi_wait_scan.ko b/extra/ouya/3.1.10-tk3+/kernel/drivers/scsi/scsi_wait_scan.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/drivers/usb/serial/baseband_usb_chr.ko b/extra/ouya/3.1.10-tk3+/kernel/drivers/usb/serial/baseband_usb_chr.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/net/mac80211/mac80211.ko b/extra/ouya/3.1.10-tk3+/kernel/net/mac80211/mac80211.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/net/wireless/cfg80211.ko b/extra/ouya/3.1.10-tk3+/kernel/net/wireless/cfg80211.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/kernel/net/wireless/lib80211.ko b/extra/ouya/3.1.10-tk3+/kernel/net/wireless/lib80211.ko Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/modules.alias b/extra/ouya/3.1.10-tk3+/modules.alias @@ -0,0 +1,12 @@ +# Aliases extracted from modules themselves. +alias usb:v1519p0020d*dc*dsc*dp*ic*isc*ip* raw_ip_net +alias sdio:c*v02D0dA8E7* bcmdhd +alias sdio:c*v02D0d4324* bcmdhd +alias sdio:c*v02D0d4334* bcmdhd +alias sdio:c*v02D0d4330* bcmdhd +alias sdio:c*v02D0d4319* bcmdhd +alias sdio:c*v02D0d0493* bcmdhd +alias sdio:c*v02D0d0492* bcmdhd +alias sdio:c*v02D0d0000* bcmdhd +alias usb:v8087p0716d*dc*dsc*dp*ic*isc*ip* baseband_usb_chr +alias usb:v058Bp0041d*dc*dsc*dp*ic*isc*ip* baseband_usb_chr diff --git a/extra/ouya/3.1.10-tk3+/modules.alias.bin b/extra/ouya/3.1.10-tk3+/modules.alias.bin Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/modules.builtin b/extra/ouya/3.1.10-tk3+/modules.builtin @@ -0,0 +1,426 @@ +kernel/arch/arm/mach-tegra/pwm.ko +kernel/arch/arm/mach-tegra/tegra3_tsensor.ko +kernel/kernel/configs.ko +kernel/fs/mbcache.ko +kernel/fs/autofs4/autofs4.ko +kernel/fs/ext2/ext2.ko +kernel/fs/ext3/ext3.ko +kernel/fs/ext4/ext4.ko +kernel/fs/fat/fat.ko +kernel/fs/fat/vfat.ko +kernel/fs/fuse/fuse.ko +kernel/fs/jbd/jbd.ko +kernel/fs/jbd2/jbd2.ko +kernel/fs/lockd/lockd.ko +kernel/fs/nfs/nfs.ko +kernel/fs/nls/nls_base.ko +kernel/fs/nls/nls_cp437.ko +kernel/fs/nls/nls_iso8859-1.ko +kernel/fs/ntfs/ntfs.ko +kernel/crypto/crypto.ko +kernel/crypto/crypto_wq.ko +kernel/crypto/crypto_algapi.ko +kernel/crypto/aead.ko +kernel/crypto/crypto_blkcipher.ko +kernel/crypto/chainiv.ko +kernel/crypto/eseqiv.ko +kernel/crypto/crypto_hash.ko +kernel/crypto/pcompress.ko +kernel/crypto/cryptomgr.ko +kernel/crypto/hmac.ko +kernel/crypto/md5.ko +kernel/crypto/sha1_generic.ko +kernel/crypto/sha256_generic.ko +kernel/crypto/ecb.ko +kernel/crypto/cbc.ko +kernel/crypto/des_generic.ko +kernel/crypto/twofish_generic.ko +kernel/crypto/twofish_common.ko +kernel/crypto/aes_generic.ko +kernel/crypto/arc4.ko +kernel/crypto/deflate.ko +kernel/crypto/crc32c.ko +kernel/crypto/authenc.ko +kernel/crypto/authencesn.ko +kernel/crypto/rng.ko +kernel/crypto/krng.ko +kernel/block/blk-cgroup.ko +kernel/drivers/base/firmware_class.ko +kernel/drivers/base/regmap/regmap-i2c.ko +kernel/drivers/block/loop.ko +kernel/drivers/bluetooth/hci_uart.ko +kernel/drivers/bluetooth/bluesleep.ko +kernel/drivers/cdrom/cdrom.ko +kernel/drivers/cpufreq/cpufreq_stats.ko +kernel/drivers/cpufreq/cpufreq_performance.ko +kernel/drivers/cpufreq/cpufreq_powersave.ko +kernel/drivers/cpufreq/cpufreq_userspace.ko +kernel/drivers/cpufreq/cpufreq_ondemand.ko +kernel/drivers/cpufreq/cpufreq_conservative.ko +kernel/drivers/cpufreq/cpufreq_interactive.ko +kernel/drivers/cpufreq/freq_table.ko +kernel/drivers/crypto/tegra-se.ko +kernel/drivers/gpio/gpio-pca953x.ko +kernel/drivers/hid/hid.ko +kernel/drivers/hid/hid-ouya.ko +kernel/drivers/hid/hid-sony.ko +kernel/drivers/hid/usbhid/usbhid.ko +kernel/drivers/hwmon/hwmon.ko +kernel/drivers/hwmon/ina219.ko +kernel/drivers/hwmon/tegra-tsensor.ko +kernel/drivers/i2c/i2c-core.ko +kernel/drivers/i2c/i2c-dev.ko +kernel/drivers/i2c/i2c-mux.ko +kernel/drivers/i2c/busses/i2c-tegra.ko +kernel/drivers/i2c/muxes/pca954x.ko +kernel/drivers/input/input-core.ko +kernel/drivers/input/joydev.ko +kernel/drivers/input/evdev.ko +kernel/drivers/input/keyreset.ko +kernel/drivers/input/joystick/xpad.ko +kernel/drivers/input/keyboard/gpio_keys.ko +kernel/drivers/input/keyboard/tegra-kbc.ko +kernel/drivers/input/misc/gpio_event.ko +kernel/drivers/input/misc/gpio_matrix.ko +kernel/drivers/input/misc/gpio_input.ko +kernel/drivers/input/misc/gpio_output.ko +kernel/drivers/input/misc/gpio_axis.ko +kernel/drivers/input/misc/uinput.ko +kernel/drivers/input/touchscreen/atmel_mxt_ts.ko +kernel/drivers/input/touchscreen/rm31080a_ts.ko +kernel/drivers/input/touchscreen/rmi4/rmi_bus.ko +kernel/drivers/input/touchscreen/rmi4/rmi_i2c.ko +kernel/drivers/input/touchscreen/rmi4/rmi_spi.ko +kernel/drivers/input/touchscreen/rmi4/rmi_driver.ko +kernel/drivers/input/touchscreen/rmi4/rmi_f01.ko +kernel/drivers/input/touchscreen/rmi4/rmi_f09.ko +kernel/drivers/input/touchscreen/rmi4/rmi_f11.ko +kernel/drivers/input/touchscreen/rmi4/rmi_f19.ko +kernel/drivers/input/touchscreen/rmi4/rmi_f34.ko +kernel/drivers/input/touchscreen/rmi4/rmi_f54.ko +kernel/drivers/input/touchscreen/rmi4/rmi_dev.ko +kernel/drivers/input/serio/serio.ko +kernel/drivers/input/serio/serport.ko +kernel/drivers/input/serio/libps2.ko +kernel/drivers/leds/leds-gpio.ko +kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-crypt.ko +kernel/drivers/media/common/tuners/tuner-xc2028.ko +kernel/drivers/media/common/tuners/tuner-simple.ko +kernel/drivers/media/common/tuners/tuner-types.ko +kernel/drivers/media/common/tuners/mt20xx.ko +kernel/drivers/media/common/tuners/tda8290.ko +kernel/drivers/media/common/tuners/tea5767.ko +kernel/drivers/media/common/tuners/tea5761.ko +kernel/drivers/media/common/tuners/tda9887.ko +kernel/drivers/media/common/tuners/tda827x.ko +kernel/drivers/media/common/tuners/tda18271.ko +kernel/drivers/media/common/tuners/xc5000.ko +kernel/drivers/media/common/tuners/xc4000.ko +kernel/drivers/media/common/tuners/mc44s803.ko +kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/v4l2-int-device.ko +kernel/drivers/media/video/v4l2-common.ko +kernel/drivers/media/video/tegra/ar0832_main.ko +kernel/drivers/media/video/tegra/ov5650.ko +kernel/drivers/media/video/tegra/ov5640.ko +kernel/drivers/media/video/tegra/ov9726.ko +kernel/drivers/media/video/tegra/ov2710.ko +kernel/drivers/media/video/tegra/ssl3250a.ko +kernel/drivers/media/video/tegra/tps61050.ko +kernel/drivers/media/video/tegra/sh532u.ko +kernel/drivers/media/video/tegra/ad5816.ko +kernel/drivers/media/video/uvc/uvcvideo.ko +kernel/drivers/mfd/mfd-core.ko +kernel/drivers/mfd/max77663-core.ko +kernel/drivers/misc/ad525x_dpot.ko +kernel/drivers/misc/ad525x_dpot-i2c.ko +kernel/drivers/misc/apds9802als.ko +kernel/drivers/misc/nct1008.ko +kernel/drivers/misc/bluedroid_pm.ko +kernel/drivers/misc/eeprom/at24.ko +kernel/drivers/misc/ti-st/st_drv.ko +kernel/drivers/mmc/card/mmc_block.ko +kernel/drivers/mmc/card/mmc_test.ko +kernel/drivers/mmc/core/mmc_core.ko +kernel/drivers/mmc/host/sdhci.ko +kernel/drivers/mmc/host/sdhci-pltfm.ko +kernel/drivers/mmc/host/sdhci-tegra.ko +kernel/drivers/net/mii.ko +kernel/drivers/net/ppp_generic.ko +kernel/drivers/net/ppp_async.ko +kernel/drivers/net/ppp_synctty.ko +kernel/drivers/net/ppp_deflate.ko +kernel/drivers/net/bsd_comp.ko +kernel/drivers/net/ppp_mppe.ko +kernel/drivers/net/pppox.ko +kernel/drivers/net/pppolac.ko +kernel/drivers/net/pppopns.ko +kernel/drivers/net/slhc.ko +kernel/drivers/net/tun.ko +kernel/drivers/net/r8169.ko +kernel/drivers/net/usb/asix.ko +kernel/drivers/net/usb/cdc_ether.ko +kernel/drivers/net/usb/smsc95xx.ko +kernel/drivers/net/usb/cdc_subset.ko +kernel/drivers/net/usb/usbnet.ko +kernel/drivers/net/usb/cdc_ncm.ko +kernel/drivers/nfc/pn544.ko +kernel/drivers/of/of_i2c.ko +kernel/drivers/of/of_spi.ko +kernel/drivers/of/of_pci.ko +kernel/drivers/of/of_pci_irq.ko +kernel/drivers/power/power_supply.ko +kernel/drivers/power/bq20z75.ko +kernel/drivers/power/bq27x00_battery.ko +kernel/drivers/power/tps80031-charger.ko +kernel/drivers/power/tps80031_battery_gauge.ko +kernel/drivers/power/smb349-charger.ko +kernel/drivers/power/max17048_battery.ko +kernel/drivers/power/gpio-charger.ko +kernel/drivers/regulator/fixed.ko +kernel/drivers/regulator/virtual.ko +kernel/drivers/regulator/userspace-consumer.ko +kernel/drivers/regulator/gpio-regulator.ko +kernel/drivers/regulator/max8973-regulator.ko +kernel/drivers/regulator/max77663-regulator.ko +kernel/drivers/regulator/tps6586x-regulator.ko +kernel/drivers/regulator/tps6591x-regulator.ko +kernel/drivers/regulator/rc5t583-regulator.ko +kernel/drivers/regulator/tps51632-regulator.ko +kernel/drivers/regulator/tps80031-regulator.ko +kernel/drivers/regulator/ricoh583-regulator.ko +kernel/drivers/regulator/tps65910-regulator.ko +kernel/drivers/regulator/tps62360-regulator.ko +kernel/drivers/regulator/tps6238x0-regulator.ko +kernel/drivers/rtc/rtc-cmos.ko +kernel/drivers/rtc/rtc-max77663.ko +kernel/drivers/rtc/rtc-tps6586x.ko +kernel/drivers/rtc/rtc-tps6591x.ko +kernel/drivers/rtc/rtc-tps80031.ko +kernel/drivers/rtc/rtc-ricoh583.ko +kernel/drivers/scsi/scsi_mod.ko +kernel/drivers/scsi/sd_mod.ko +kernel/drivers/scsi/sr_mod.ko +kernel/drivers/scsi/sg.ko +kernel/drivers/spi/spi-tegra.ko +kernel/drivers/spi/spi_slave_tegra.ko +kernel/drivers/staging/android/logger.ko +kernel/drivers/staging/android/timed_gpio.ko +kernel/drivers/staging/iio/industrialio.ko +kernel/drivers/staging/iio/light/isl29028.ko +kernel/drivers/staging/iio/light/ltr558als.ko +kernel/drivers/switch/switch_class.ko +kernel/drivers/thermal/thermal_sys.ko +kernel/drivers/tty/serial/serial_core.ko +kernel/drivers/tty/serial/8250.ko +kernel/drivers/tty/serial/8250_pci.ko +kernel/drivers/usb/class/cdc-acm.ko +kernel/drivers/usb/class/cdc-wdm.ko +kernel/drivers/usb/core/usbcore.ko +kernel/drivers/usb/gadget/udc-core.ko +kernel/drivers/usb/gadget/tegra_udc.ko +kernel/drivers/usb/host/ehci-hcd.ko +kernel/drivers/usb/host/xhci-hcd.ko +kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/option.ko +kernel/drivers/usb/serial/pl2303.ko +kernel/drivers/usb/serial/usb_wwan.ko +kernel/drivers/usb/storage/usb-storage.ko +kernel/drivers/usb/storage/usb-libusual.ko +kernel/drivers/video/fb.ko +kernel/drivers/video/cfbfillrect.ko +kernel/drivers/video/cfbcopyarea.ko +kernel/drivers/video/cfbimgblt.ko +kernel/drivers/video/output.ko +kernel/drivers/video/backlight/lcd.ko +kernel/drivers/video/backlight/backlight.ko +kernel/drivers/video/backlight/pwm_bl.ko +kernel/drivers/video/console/fbcon.ko +kernel/drivers/video/console/bitblit.ko +kernel/drivers/video/console/font.ko +kernel/drivers/video/console/softcursor.ko +kernel/drivers/video/tegra/fb.ko +kernel/drivers/video/tegra/host/nvhost.ko +kernel/drivers/video/tegra/host/gr2d/nvhost-gr2d.ko +kernel/drivers/video/tegra/host/gr3d/nvhost-gr3d.ko +kernel/drivers/video/tegra/host/host1x/nvhost-host1x.ko +kernel/drivers/video/tegra/host/isp/nvhost-isp.ko +kernel/drivers/video/tegra/host/mpe/nvhost-mpe.ko +kernel/drivers/video/tegra/host/t20/nvhost-t20.ko +kernel/drivers/video/tegra/host/t30/nvhost-t30.ko +kernel/drivers/video/tegra/host/vi/nvhost-vi.ko +kernel/sound/soundcore.ko +kernel/sound/core/snd.ko +kernel/sound/core/snd-hwdep.ko +kernel/sound/core/snd-timer.ko +kernel/sound/core/snd-pcm.ko +kernel/sound/core/snd-page-alloc.ko +kernel/sound/core/snd-rawmidi.ko +kernel/sound/pci/hda/snd-hda-codec.ko +kernel/sound/pci/hda/snd-hda-codec-realtek.ko +kernel/sound/pci/hda/snd-hda-codec-cmedia.ko +kernel/sound/pci/hda/snd-hda-codec-analog.ko +kernel/sound/pci/hda/snd-hda-codec-idt.ko +kernel/sound/pci/hda/snd-hda-codec-si3054.ko +kernel/sound/pci/hda/snd-hda-codec-cirrus.ko +kernel/sound/pci/hda/snd-hda-codec-ca0110.ko +kernel/sound/pci/hda/snd-hda-codec-ca0132.ko +kernel/sound/pci/hda/snd-hda-codec-conexant.ko +kernel/sound/pci/hda/snd-hda-codec-via.ko +kernel/sound/pci/hda/snd-hda-codec-hdmi.ko +kernel/sound/pci/hda/snd-hda-intel.ko +kernel/sound/soc/snd-soc-core.ko +kernel/sound/soc/codecs/snd-soc-spdif.ko +kernel/sound/soc/codecs/snd-soc-wm8903.ko +kernel/sound/soc/tegra/snd-soc-tegra-pcm.ko +kernel/sound/soc/tegra/snd-soc-tegra-utils.ko +kernel/sound/soc/tegra/snd-soc-tegra-tdm-pcm.ko +kernel/sound/soc/tegra/snd-soc-tegra30-ahub.ko +kernel/sound/soc/tegra/snd-soc-tegra30-dam.ko +kernel/sound/soc/tegra/snd-soc-tegra30-i2s.ko +kernel/sound/soc/tegra/snd-soc-tegra30-spdif.ko +kernel/sound/soc/tegra/snd-soc-tegra-wm8903.ko +kernel/sound/usb/snd-usb-audio.ko +kernel/sound/usb/snd-usbmidi-lib.ko +kernel/arch/arm/oprofile/oprofile.ko +kernel/net/802/p8022.ko +kernel/net/802/psnap.ko +kernel/net/802/stp.ko +kernel/net/bluetooth/bluetooth.ko +kernel/net/bluetooth/bnep/bnep.ko +kernel/net/bluetooth/hidp/hidp.ko +kernel/net/bluetooth/rfcomm/rfcomm.ko +kernel/net/bridge/bridge.ko +kernel/net/caif/caif.ko +kernel/net/caif/chnl_net.ko +kernel/net/caif/caif_socket.ko +kernel/net/ipv4/esp4.ko +kernel/net/ipv4/tunnel4.ko +kernel/net/ipv4/xfrm4_mode_transport.ko +kernel/net/ipv4/tcp_cubic.ko +kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat.ko +kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_amanda.ko +kernel/net/ipv4/netfilter/nf_nat_ftp.ko +kernel/net/ipv4/netfilter/nf_nat_h323.ko +kernel/net/ipv4/netfilter/nf_nat_irc.ko +kernel/net/ipv4/netfilter/nf_nat_pptp.ko +kernel/net/ipv4/netfilter/nf_nat_sip.ko +kernel/net/ipv4/netfilter/nf_nat_tftp.ko +kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko +kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko +kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko +kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko +kernel/net/ipv4/netfilter/ip_tables.ko +kernel/net/ipv4/netfilter/iptable_filter.ko +kernel/net/ipv4/netfilter/iptable_mangle.ko +kernel/net/ipv4/netfilter/iptable_nat.ko +kernel/net/ipv4/netfilter/iptable_raw.ko +kernel/net/ipv4/netfilter/ipt_ah.ko +kernel/net/ipv4/netfilter/ipt_ecn.ko +kernel/net/ipv4/netfilter/ipt_LOG.ko +kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko +kernel/net/ipv4/netfilter/ipt_NETMAP.ko +kernel/net/ipv4/netfilter/ipt_REDIRECT.ko +kernel/net/ipv4/netfilter/ipt_REJECT.ko +kernel/net/ipv4/netfilter/arp_tables.ko +kernel/net/ipv4/netfilter/arpt_mangle.ko +kernel/net/ipv4/netfilter/arptable_filter.ko +kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/ah6.ko +kernel/net/ipv6/esp6.ko +kernel/net/ipv6/ipcomp6.ko +kernel/net/ipv6/xfrm6_tunnel.ko +kernel/net/ipv6/tunnel6.ko +kernel/net/ipv6/xfrm6_mode_transport.ko +kernel/net/ipv6/xfrm6_mode_tunnel.ko +kernel/net/ipv6/xfrm6_mode_beet.ko +kernel/net/ipv6/mip6.ko +kernel/net/ipv6/sit.ko +kernel/net/ipv6/ip6_tunnel.ko +kernel/net/ipv6/inet6_hashtables.ko +kernel/net/ipv6/netfilter/ip6_tables.ko +kernel/net/ipv6/netfilter/ip6table_filter.ko +kernel/net/ipv6/netfilter/ip6table_mangle.ko +kernel/net/ipv6/netfilter/ip6table_raw.ko +kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko +kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko +kernel/net/ipv6/netfilter/ip6t_LOG.ko +kernel/net/ipv6/netfilter/ip6t_REJECT.ko +kernel/net/key/af_key.ko +kernel/net/llc/llc.ko +kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nfnetlink_queue.ko +kernel/net/netfilter/nfnetlink_log.ko +kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_proto_dccp.ko +kernel/net/netfilter/nf_conntrack_proto_gre.ko +kernel/net/netfilter/nf_conntrack_proto_sctp.ko +kernel/net/netfilter/nf_conntrack_proto_udplite.ko +kernel/net/netfilter/nf_conntrack_amanda.ko +kernel/net/netfilter/nf_conntrack_ftp.ko +kernel/net/netfilter/nf_conntrack_h323.ko +kernel/net/netfilter/nf_conntrack_irc.ko +kernel/net/netfilter/nf_conntrack_broadcast.ko +kernel/net/netfilter/nf_conntrack_netbios_ns.ko +kernel/net/netfilter/nf_conntrack_pptp.ko +kernel/net/netfilter/nf_conntrack_sane.ko +kernel/net/netfilter/nf_conntrack_sip.ko +kernel/net/netfilter/nf_conntrack_tftp.ko +kernel/net/netfilter/nf_tproxy_core.ko +kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_tcpudp.ko +kernel/net/netfilter/xt_mark.ko +kernel/net/netfilter/xt_connmark.ko +kernel/net/netfilter/xt_CLASSIFY.ko +kernel/net/netfilter/xt_NFQUEUE.ko +kernel/net/netfilter/xt_comment.ko +kernel/net/netfilter/xt_connbytes.ko +kernel/net/netfilter/xt_connlimit.ko +kernel/net/netfilter/xt_conntrack.ko +kernel/net/netfilter/xt_hashlimit.ko +kernel/net/netfilter/xt_helper.ko +kernel/net/netfilter/xt_hl.ko +kernel/net/netfilter/xt_iprange.ko +kernel/net/netfilter/xt_length.ko +kernel/net/netfilter/xt_limit.ko +kernel/net/netfilter/xt_mac.ko +kernel/net/netfilter/xt_pkttype.ko +kernel/net/netfilter/xt_policy.ko +kernel/net/netfilter/xt_quota.ko +kernel/net/netfilter/xt_socket.ko +kernel/net/netfilter/xt_state.ko +kernel/net/netfilter/xt_statistic.ko +kernel/net/netfilter/xt_string.ko +kernel/net/netfilter/xt_time.ko +kernel/net/netfilter/xt_u32.ko +kernel/net/nfc/nfc.ko +kernel/net/packet/af_packet.ko +kernel/net/rfkill/rfkill.ko +kernel/net/rfkill/rfkill-gpio.ko +kernel/net/sched/act_police.ko +kernel/net/sched/act_gact.ko +kernel/net/sched/act_mirred.ko +kernel/net/sched/sch_htb.ko +kernel/net/sched/sch_ingress.ko +kernel/net/sched/cls_u32.ko +kernel/net/sched/cls_cgroup.ko +kernel/net/sched/em_u32.ko +kernel/net/sunrpc/sunrpc.ko +kernel/net/unix/unix.ko +kernel/net/xfrm/xfrm_ipcomp.ko +kernel/lib/bitrev.ko +kernel/lib/crc-ccitt.ko +kernel/lib/crc16.ko +kernel/lib/crc32.ko +kernel/lib/libcrc32c.ko +kernel/lib/ts_kmp.ko +kernel/lib/ts_bm.ko +kernel/lib/ts_fsm.ko +kernel/lib/lzo/lzo_compress.ko +kernel/lib/lzo/lzo_decompress.ko +kernel/lib/reed_solomon/reed_solomon.ko +kernel/lib/zlib_deflate/zlib_deflate.ko +kernel/lib/zlib_inflate/zlib_inflate.ko diff --git a/extra/ouya/3.1.10-tk3+/modules.builtin.bin b/extra/ouya/3.1.10-tk3+/modules.builtin.bin Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/modules.dep b/extra/ouya/3.1.10-tk3+/modules.dep @@ -0,0 +1,9 @@ +kernel/crypto/tcrypt.ko: +kernel/drivers/scsi/scsi_wait_scan.ko: +kernel/drivers/net/usb/raw_ip_net.ko: +kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko: kernel/net/wireless/cfg80211.ko +kernel/drivers/usb/serial/baseband_usb_chr.ko: +kernel/drivers/bluetooth/btwilink.ko: +kernel/net/wireless/cfg80211.ko: +kernel/net/wireless/lib80211.ko: +kernel/net/mac80211/mac80211.ko: kernel/net/wireless/cfg80211.ko diff --git a/extra/ouya/3.1.10-tk3+/modules.dep.bin b/extra/ouya/3.1.10-tk3+/modules.dep.bin Binary files differ. diff --git a/extra/ouya/3.1.10-tk3+/modules.devname b/extra/ouya/3.1.10-tk3+/modules.devname @@ -0,0 +1 @@ +# Device nodes to trigger on-demand module loading. diff --git a/extra/ouya/3.1.10-tk3+/modules.order b/extra/ouya/3.1.10-tk3+/modules.order @@ -0,0 +1,9 @@ +kernel/crypto/tcrypt.ko +kernel/drivers/scsi/scsi_wait_scan.ko +kernel/drivers/net/usb/raw_ip_net.ko +kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko +kernel/drivers/usb/serial/baseband_usb_chr.ko +kernel/drivers/bluetooth/btwilink.ko +kernel/net/wireless/cfg80211.ko +kernel/net/wireless/lib80211.ko +kernel/net/mac80211/mac80211.ko diff --git a/extra/ouya/3.1.10-tk3+/modules.softdep b/extra/ouya/3.1.10-tk3+/modules.softdep @@ -0,0 +1,2 @@ +# Soft dependencies extracted from modules themselves. +# Copy, with a .conf extension, to /etc/modprobe.d to use it with modprobe. diff --git a/extra/ouya/3.1.10-tk3+/modules.symbols b/extra/ouya/3.1.10-tk3+/modules.symbols @@ -0,0 +1,185 @@ +# Aliases for symbols, used by symbol_request(). +alias symbol:cfg80211_report_obss_beacon cfg80211 +alias symbol:print_ssid lib80211 +alias symbol:cfg80211_wext_siwrts cfg80211 +alias symbol:ieee80211_remain_on_channel_expired mac80211 +alias symbol:cfg80211_wext_siwretry cfg80211 +alias symbol:ieee80211_chswitch_done mac80211 +alias symbol:ieee80211_wake_queues mac80211 +alias symbol:wiphy_rfkill_start_polling cfg80211 +alias symbol:cfg80211_testmode_alloc_reply_skb cfg80211 +alias symbol:lib80211_crypt_delayed_deinit lib80211 +alias symbol:ieee80211_report_low_ack mac80211 +alias symbol:cfg80211_wext_giwtxpower cfg80211 +alias symbol:cfg80211_wext_siwrate cfg80211 +alias symbol:cfg80211_ready_on_channel cfg80211 +alias symbol:ieee80211_restart_hw mac80211 +alias symbol:lib80211_get_crypto_ops lib80211 +alias symbol:lib80211_crypt_deinit_entries lib80211 +alias symbol:cfg80211_mgmt_tx_status cfg80211 +alias symbol:ieee80211_get_key_tx_seq mac80211 +alias symbol:wiphy_rfkill_stop_polling cfg80211 +alias symbol:ieee80211_gtk_rekey_notify mac80211 +alias symbol:ieee80211_napi_complete mac80211 +alias symbol:ieee80211_get_response_rate cfg80211 +alias symbol:ieee80211_get_key_rx_seq mac80211 +alias symbol:ieee80211_get_hdrlen_from_skb cfg80211 +alias symbol:ieee80211_beacon_loss mac80211 +alias symbol:ieee80211_sta_ps_transition mac80211 +alias symbol:ieee80211_key_removed mac80211 +alias symbol:ieee80211_cqm_rssi_notify mac80211 +alias symbol:cfg80211_send_deauth cfg80211 +alias symbol:cfg80211_find_ie cfg80211 +alias symbol:ieee80211_frequency_to_channel cfg80211 +alias symbol:ieee80211_request_smps mac80211 +alias symbol:cfg80211_wext_giwfrag cfg80211 +alias symbol:ieee80211_nullfunc_get mac80211 +alias symbol:cfg80211_send_rx_assoc cfg80211 +alias symbol:ieee80211_wake_queue mac80211 +alias symbol:cfg80211_unlink_bss cfg80211 +alias symbol:cfg80211_wext_giwauth cfg80211 +alias symbol:cfg80211_rx_spurious_frame cfg80211 +alias symbol:ieee80211_find_sta mac80211 +alias symbol:cfg80211_remain_on_channel_expired cfg80211 +alias symbol:ieee80211_connection_loss mac80211 +alias symbol:cfg80211_wext_giwscan cfg80211 +alias symbol:ieee80211_data_from_8023 cfg80211 +alias symbol:ieee80211_get_buffered_bc mac80211 +alias symbol:cfg80211_testmode_event cfg80211 +alias symbol:ieee80211_rts_get mac80211 +alias symbol:cfg80211_gtk_rekey_notify cfg80211 +alias symbol:cfg80211_wext_siwauth cfg80211 +alias symbol:ieee80211_get_operstate mac80211 +alias symbol:cfg80211_wext_siwgenie cfg80211 +alias symbol:ieee80211_scan_completed mac80211 +alias symbol:ieee80211_sched_scan_results mac80211 +alias symbol:cfg80211_sched_scan_stopped cfg80211 +alias symbol:ieee80211_rate_control_register mac80211 +alias symbol:ieee80211_rx_irqsafe mac80211 +alias symbol:ieee80211_unregister_hw mac80211 +alias symbol:ieee80211_stop_tx_ba_cb_irqsafe mac80211 +alias symbol:ieee80211_disable_rssi_reports mac80211 +alias symbol:rate_control_send_low mac80211 +alias symbol:cfg80211_wext_giwretry cfg80211 +alias symbol:__cfg80211_send_disassoc cfg80211 +alias symbol:ieee80211_tx_status_irqsafe mac80211 +alias symbol:cfg80211_send_unprot_deauth cfg80211 +alias symbol:ieee80211_free_hw mac80211 +alias symbol:wiphy_new cfg80211 +alias symbol:ieee80211_iterate_active_interfaces mac80211 +alias symbol:lib80211_crypt_deinit_handler lib80211 +alias symbol:cfg80211_testmode_reply cfg80211 +alias symbol:cfg80211_connect_result cfg80211 +alias symbol:ieee80211_ctstoself_get mac80211 +alias symbol:lib80211_crypt_quiescing lib80211 +alias symbol:ieee80211_radiotap_iterator_next cfg80211 +alias symbol:cfg80211_wext_siwmode cfg80211 +alias symbol:cfg80211_classify8021d cfg80211 +alias symbol:ieee80211_stop_tx_ba_session mac80211 +alias symbol:wiphy_apply_custom_regulatory cfg80211 +alias symbol:cfg80211_wext_giwrts cfg80211 +alias symbol:ieee80211_get_tkip_p1k_iv mac80211 +alias symbol:cfg80211_wireless_stats cfg80211 +alias symbol:__cfg80211_auth_canceled cfg80211 +alias symbol:ieee80211_queue_delayed_work mac80211 +alias symbol:ieee80211_beacon_get_tim mac80211 +alias symbol:ieee80211_get_tkip_rx_p1k mac80211 +alias symbol:wiphy_register cfg80211 +alias symbol:ieee80211_register_hw mac80211 +alias symbol:cfg80211_cqm_pktloss_notify cfg80211 +alias symbol:ieee80211_stop_rx_ba_session mac80211 +alias symbol:ieee80211_probereq_get mac80211 +alias symbol:ieee80211_sta_block_awake mac80211 +alias symbol:cfg80211_send_disassoc cfg80211 +alias symbol:cfg80211_wext_siwessid cfg80211 +alias symbol:ieee80211_stop_queues mac80211 +alias symbol:ieee80211_disable_dyn_ps mac80211 +alias symbol:ieee80211_sta_set_tim mac80211 +alias symbol:cfg80211_wext_siwencodeext cfg80211 +alias symbol:ieee80211_get_tkip_p2k mac80211 +alias symbol:cfg80211_notify_new_peer_candidate cfg80211 +alias symbol:ieee80211_resume_disconnect mac80211 +alias symbol:cfg80211_get_bss cfg80211 +alias symbol:cfg80211_wext_giwpower cfg80211 +alias symbol:cfg80211_inform_bss cfg80211 +alias symbol:cfg80211_rx_mgmt cfg80211 +alias symbol:__cfg80211_send_deauth cfg80211 +alias symbol:ieee80211_rts_duration mac80211 +alias symbol:cfg80211_wext_giwessid cfg80211 +alias symbol:cfg80211_wext_giwname cfg80211 +alias symbol:wiphy_rfkill_set_hw_state cfg80211 +alias symbol:ieee80211_generic_frame_duration mac80211 +alias symbol:cfg80211_send_auth_timeout cfg80211 +alias symbol:__ieee80211_get_channel cfg80211 +alias symbol:ieee80211_ready_on_channel mac80211 +alias symbol:ieee80211_rate_control_unregister mac80211 +alias symbol:cfg80211_cqm_rssi_notify cfg80211 +alias symbol:cfg80211_roamed cfg80211 +alias symbol:cfg80211_scan_done cfg80211 +alias symbol:cfg80211_send_assoc_timeout cfg80211 +alias symbol:cfg80211_wext_siwap cfg80211 +alias symbol:ieee80211_enable_dyn_ps mac80211 +alias symbol:ieee80211_bss_get_ie cfg80211 +alias symbol:lib80211_crypt_info_init lib80211 +alias symbol:cfg80211_wext_giwfreq cfg80211 +alias symbol:cfg80211_wext_siwscan cfg80211 +alias symbol:freq_reg_info cfg80211 +alias symbol:wiphy_to_ieee80211_hw mac80211 +alias symbol:ieee80211_channel_to_frequency cfg80211 +alias symbol:cfg80211_ibss_joined cfg80211 +alias symbol:ieee80211_find_sta_by_ifaddr mac80211 +alias symbol:cfg80211_wext_siwtxpower cfg80211 +alias symbol:ieee80211_queue_stopped mac80211 +alias symbol:ieee80211_enable_rssi_reports mac80211 +alias symbol:bcmsdh_remove_bcmdhd bcmdhd +alias symbol:cfg80211_new_sta cfg80211 +alias symbol:ieee80211_iterate_active_interfaces_atomic mac80211 +alias symbol:ieee80211_ap_probereq_get mac80211 +alias symbol:lib80211_unregister_crypto_ops lib80211 +alias symbol:ieee80211_radiotap_iterator_init cfg80211 +alias symbol:ieee80211_start_tx_ba_cb_irqsafe mac80211 +alias symbol:ieee80211_napi_schedule mac80211 +alias symbol:cfg80211_wext_siwpower cfg80211 +alias symbol:cfg80211_wext_siwencode cfg80211 +alias symbol:ieee80211_pspoll_get mac80211 +alias symbol:regulatory_hint cfg80211 +alias symbol:bcmsdh_probe_bcmdhd bcmdhd +alias symbol:cfg80211_put_bss cfg80211 +alias symbol:cfg80211_wext_giwencode cfg80211 +alias symbol:wiphy_free cfg80211 +alias symbol:cfg80211_send_rx_auth cfg80211 +alias symbol:rfc1042_header cfg80211 +alias symbol:ieee80211_tx_status mac80211 +alias symbol:cfg80211_sched_scan_results cfg80211 +alias symbol:cfg80211_wext_giwmode cfg80211 +alias symbol:ieee80211_iter_keys mac80211 +alias symbol:cfg80211_del_sta cfg80211 +alias symbol:ieee80211_rx mac80211 +alias symbol:cfg80211_probe_status cfg80211 +alias symbol:cfg80211_wext_siwfrag cfg80211 +alias symbol:cfg80211_wext_giwrate cfg80211 +alias symbol:ieee80211_data_to_8023 cfg80211 +alias symbol:ieee80211_amsdu_to_8023s cfg80211 +alias symbol:ieee80211_hdrlen cfg80211 +alias symbol:ieee80211_start_tx_ba_session mac80211 +alias symbol:cfg80211_wext_siwpmksa cfg80211 +alias symbol:cfg80211_michael_mic_failure cfg80211 +alias symbol:ieee80211_alloc_hw mac80211 +alias symbol:bridge_tunnel_header cfg80211 +alias symbol:cfg80211_wext_siwfreq cfg80211 +alias symbol:ieee80211_stop_queue mac80211 +alias symbol:cfg80211_pmksa_candidate_notify cfg80211 +alias symbol:ieee80211_ctstoself_duration mac80211 +alias symbol:cfg80211_disconnected cfg80211 +alias symbol:wiphy_unregister cfg80211 +alias symbol:cfg80211_get_mesh cfg80211 +alias symbol:cfg80211_wext_giwap cfg80211 +alias symbol:ieee80211_sched_scan_stopped mac80211 +alias symbol:cfg80211_inform_bss_frame cfg80211 +alias symbol:lib80211_crypt_info_free lib80211 +alias symbol:cfg80211_testmode_alloc_event_skb cfg80211 +alias symbol:cfg80211_wext_giwrange cfg80211 +alias symbol:ieee80211_queue_work mac80211 +alias symbol:cfg80211_send_unprot_disassoc cfg80211 +alias symbol:cfg80211_wext_siwmlme cfg80211 +alias symbol:lib80211_register_crypto_ops lib80211 diff --git a/extra/ouya/3.1.10-tk3+/modules.symbols.bin b/extra/ouya/3.1.10-tk3+/modules.symbols.bin Binary files differ. diff --git a/extra/ouya/tegra30-r16_3-3.2_armhf.deb b/extra/ouya/tegra30-r16_3-3.2_armhf.deb Binary files differ. diff --git a/extra/ouya/zImage-3.1.10-tk3+ b/extra/ouya/zImage-3.1.10-tk3+ Binary files differ. diff --git a/extra/patches/0001-UPSTREAM-soc-rockchip-add-handler-for-usb-uart-funct.patch b/extra/patches/0001-UPSTREAM-soc-rockchip-add-handler-for-usb-uart-funct.patch @@ -0,0 +1,306 @@ +From c0c863786b85a631e22eeae78f572d3f151af490 Mon Sep 17 00:00:00 2001 +From: Heiko Stuebner <heiko@sntech.de> +Date: Mon, 25 May 2015 16:38:07 +0200 +Subject: [PATCH 3/4] UPSTREAM: soc/rockchip: add handler for usb-uart + functionality + +Some Rockchip SoCs provide the possibility to use a usb-phy as passthru for +the debug uart, making it possible to get console output without needing to +open the device. + +This patch adds an early_initcall to enable this functionality conditionally +and also disables the corresponding usb controller in the devicetree. + +Change-Id: I397df8f402c752125cf512332398757b91a899f8 +Signed-off-by: Alexandru M Stan <amstan@chromium.org> +--- + drivers/soc/Kconfig | 1 + + drivers/soc/Makefile | 1 + + drivers/soc/rockchip/Kconfig | 13 ++ + drivers/soc/rockchip/Makefile | 1 + + drivers/soc/rockchip/rockchip_usb_uart.c | 223 +++++++++++++++++++++++++++++++ + 5 files changed, 239 insertions(+) + create mode 100644 drivers/soc/rockchip/Kconfig + create mode 100644 drivers/soc/rockchip/Makefile + create mode 100644 drivers/soc/rockchip/rockchip_usb_uart.c + +diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig +index 1ee0b57..ad2f71a 100644 +--- a/drivers/soc/Kconfig ++++ b/drivers/soc/Kconfig +@@ -2,6 +2,7 @@ menu "SOC (System On Chip) specific Drivers" + + source "drivers/soc/img/Kconfig" + source "drivers/soc/qcom/Kconfig" ++source "drivers/soc/rockchip/Kconfig" + source "drivers/soc/tegra/Kconfig" + + endmenu +diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile +index bc43b87..d80386c 100644 +--- a/drivers/soc/Makefile ++++ b/drivers/soc/Makefile +@@ -4,4 +4,5 @@ + + obj-$(CONFIG_SOC_IMG) += img/ + obj-$(CONFIG_ARCH_QCOM) += qcom/ ++obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ + obj-$(CONFIG_ARCH_TEGRA) += tegra/ +diff --git a/drivers/soc/rockchip/Kconfig b/drivers/soc/rockchip/Kconfig +new file mode 100644 +index 0000000..24d4e05 +--- /dev/null ++++ b/drivers/soc/rockchip/Kconfig +@@ -0,0 +1,13 @@ ++# ++# Rockchip Soc drivers ++# ++config ROCKCHIP_USB_UART ++ bool "Rockchip usb-uart override" ++ depends on ARCH_ROCKCHIP ++ select MFD_SYSCON ++ help ++ Say y here to enable usb-uart functionality. Newer Rockchip SoCs ++ provide means to repurpose one usb phy as uart2 output, making it ++ possible to get debug output without needing to open a device. ++ To enable this function on boot, add a rockchip.usb_uart option ++ to the kernel commandline. +diff --git a/drivers/soc/rockchip/Makefile b/drivers/soc/rockchip/Makefile +new file mode 100644 +index 0000000..b5dd6f8 +--- /dev/null ++++ b/drivers/soc/rockchip/Makefile +@@ -0,0 +1 @@ ++obj-$(CONFIG_ROCKCHIP_USB_UART) += rockchip_usb_uart.o +diff --git a/drivers/soc/rockchip/rockchip_usb_uart.c b/drivers/soc/rockchip/rockchip_usb_uart.c +new file mode 100644 +index 0000000..97754f9 +--- /dev/null ++++ b/drivers/soc/rockchip/rockchip_usb_uart.c +@@ -0,0 +1,223 @@ ++/* ++ * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/errno.h> ++#include <linux/mfd/syscon.h> ++#include <linux/of_address.h> ++#include <linux/of_platform.h> ++#include <linux/regmap.h> ++#include <linux/slab.h> ++ ++#define HIWORD_UPDATE(val, mask) \ ++ ((val) | (mask) << 16) ++ ++struct rockchip_uart_data { ++ const char *grf_compatible; ++ const char *usb_compatible; ++ phys_addr_t usb_phys_addr; ++ int (*init_uart)(const struct rockchip_uart_data *data, ++ struct regmap *grf); ++}; ++ ++static int enable_usb_uart = 0; ++ ++#define RK3288_UOC0_CON0 0x320 ++#define RK3288_UOC0_CON0_COMMON_ON_N BIT(0) ++#define RK3288_UOC0_CON0_DISABLE BIT(4) ++ ++#define RK3288_UOC0_CON2 0x328 ++#define RK3288_UOC0_CON2_SOFT_CON_SEL BIT(2) ++ ++#define RK3288_UOC0_CON3 0x32c ++#define RK3288_UOC0_CON3_UTMI_SUSPENDN BIT(0) ++#define RK3288_UOC0_CON3_UTMI_OPMODE_NODRIVING (1 << 1) ++#define RK3288_UOC0_CON3_UTMI_OPMODE_MASK (3 << 1) ++#define RK3288_UOC0_CON3_UTMI_XCVRSEELCT_FSTRANSC (1 << 3) ++#define RK3288_UOC0_CON3_UTMI_XCVRSEELCT_MASK (3 << 3) ++#define RK3288_UOC0_CON3_UTMI_TERMSEL_FULLSPEED BIT(5) ++#define RK3288_UOC0_CON3_BYPASSDMEN BIT(6) ++#define RK3288_UOC0_CON3_BYPASSSEL BIT(7) ++ ++/* ++ * Enable the bypass of uart2 data through the otg usb phy. ++ * Original description in the TRM. ++ * 1. Disable the OTG block by setting OTGDISABLE0 to 1’b1. ++ * 2. Disable the pull-up resistance on the D+ line by setting OPMODE0[1:0] to 2’b01. ++ * 3. To ensure that the XO, Bias, and PLL blocks are powered down in Suspend mode, set COMMONONN to 1’b1. ++ * 4. Place the USB PHY in Suspend mode by setting SUSPENDM0 to 1’b0. ++ * 5. Set BYPASSSEL0 to 1’b1. ++ * 6. To transmit data, controls BYPASSDMEN0, and BYPASSDMDATA0. ++ * To receive data, monitor FSVPLUS0. ++ * ++ * The actual code in the vendor kernel does some things differently. ++ */ ++static int __init rk3288_init_usb_uart(const struct rockchip_uart_data *data, ++ struct regmap *grf) ++{ ++ u32 val; ++ int ret; ++ ++ pr_info("%s\n", __func__); ++ ++ /* ++ * COMMON_ON and DISABLE settings are described in the TRM, ++ * but where not present in the original code. ++ */ ++ val = HIWORD_UPDATE(RK3288_UOC0_CON0_COMMON_ON_N ++ | RK3288_UOC0_CON0_DISABLE, ++ RK3288_UOC0_CON0_COMMON_ON_N ++ | RK3288_UOC0_CON0_DISABLE); ++ ret = regmap_write(grf, RK3288_UOC0_CON0, val); ++ if (ret) ++ return ret; ++ ++ // FIXME: this makes my system hang, for whatever reason ++ val = HIWORD_UPDATE(RK3288_UOC0_CON2_SOFT_CON_SEL, ++ RK3288_UOC0_CON2_SOFT_CON_SEL); ++ ret = regmap_write(grf, RK3288_UOC0_CON2, val); ++ if (ret) ++ return ret; ++ ++ val = HIWORD_UPDATE(RK3288_UOC0_CON3_UTMI_OPMODE_NODRIVING ++ | RK3288_UOC0_CON3_UTMI_XCVRSEELCT_FSTRANSC ++ | RK3288_UOC0_CON3_UTMI_TERMSEL_FULLSPEED, ++ RK3288_UOC0_CON3_UTMI_SUSPENDN ++ | RK3288_UOC0_CON3_UTMI_OPMODE_MASK ++ | RK3288_UOC0_CON3_UTMI_XCVRSEELCT_MASK ++ | RK3288_UOC0_CON3_UTMI_TERMSEL_FULLSPEED); ++ ret = regmap_write(grf, RK3288_UOC0_CON3, val); ++ if (ret) ++ return ret; ++ ++ val = HIWORD_UPDATE(RK3288_UOC0_CON3_BYPASSSEL ++ | RK3288_UOC0_CON3_BYPASSDMEN, ++ RK3288_UOC0_CON3_BYPASSSEL ++ | RK3288_UOC0_CON3_BYPASSDMEN); ++ ret = regmap_write(grf, RK3288_UOC0_CON3, val); ++ if (ret) ++ return ret; ++ ++ return 0; ++} ++ ++const struct rockchip_uart_data rk3288_uart_data = { ++ .grf_compatible = "rockchip,rk3288-grf", ++ .usb_compatible = "rockchip,rk3288-usb", ++ .usb_phys_addr = 0xff580000, ++ .init_uart = rk3288_init_usb_uart, ++}; ++ ++static const struct of_device_id rockchip_usb_uart_ids[] = { ++ { .compatible = "rockchip,rk3288", .data = &rk3288_uart_data }, ++ { } ++}; ++ ++/* ++ * Find the usb controller using the shared usb-uart-phy in the dts and ++ * disable it. ++ */ ++static int __init ++rockchip_disable_usb_controller(const struct rockchip_uart_data *data) ++{ ++ struct device_node *np; ++ ++ for_each_compatible_node(np, NULL, data->usb_compatible) { ++ struct property *new_status; ++ struct resource res; ++ int ret; ++ ++ ret = of_address_to_resource(np, 0, &res); ++ if (ret) { ++ pr_err("%s: could not get address of usb controller %s\n", ++ __func__, np->full_name); ++ continue; ++ } ++ ++ /* not the controller we're looking for */ ++ if (res.start != data->usb_phys_addr) ++ continue; ++ ++ pr_info("%s: disabling usb controller %s\n", ++ __func__, np->full_name); ++ ++ new_status = kzalloc(sizeof(*new_status), GFP_KERNEL); ++ if (!new_status) ++ return -ENOMEM; ++ ++ new_status->name = kstrdup("status", GFP_KERNEL); ++ new_status->length = sizeof("disabled"); ++ new_status->value = kstrdup("disabled", GFP_KERNEL); ++ ++ return of_update_property(np, new_status); ++ } ++ ++ return 0; ++} ++ ++static const struct of_device_id *rockchip_usb_uart_data_lookup(void) ++{ ++ struct device_node *root; ++ const struct of_device_id *id; ++ ++ root = of_find_node_by_path("/"); ++ if (!root) ++ return NULL; ++ ++ id = of_match_node(rockchip_usb_uart_ids, root); ++ of_node_put(root); ++ ++ return id; ++} ++ ++static int __init rockchip_init_usb_uart(void) ++{ ++ const struct of_device_id *match; ++ const struct rockchip_uart_data *data; ++ struct regmap *grf; ++ int ret; ++ ++ if (!enable_usb_uart) ++ return 0; ++ ++ match = rockchip_usb_uart_data_lookup(); ++ if (!match) ++ return -ENOTSUPP; ++ ++ pr_info("%s: using settings for %s\n", __func__, match->compatible); ++ data = match->data; ++ ++ grf = syscon_regmap_lookup_by_compatible(data->grf_compatible); ++ if (IS_ERR(grf)) { ++ pr_err("%s: could not find GRF syscon\n", __func__); ++ return PTR_ERR(grf); ++ } ++ ++ ret = data->init_uart(data, grf); ++ if (ret) { ++ pr_err("%s: could not init usb_uart\n", __func__); ++ return ret; ++ } ++ ++ return rockchip_disable_usb_controller(data); ++} ++early_initcall(rockchip_init_usb_uart); ++ ++static int __init rockchip_usb_uart(char *buf) ++{ ++ enable_usb_uart = true; ++ return 0; ++} ++early_param("rockchip.usb_uart", rockchip_usb_uart); +-- +2.4.4 + diff --git a/extra/patches/0002-fix-brcmfmac-oops-and-race-condition.patch b/extra/patches/0002-fix-brcmfmac-oops-and-race-condition.patch @@ -0,0 +1,95 @@ +From 6dc781566c97f06b5c0d491f34c9b23e72cb74be Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich <kevin@archlinuxarm.org> +Date: Thu, 2 Jul 2015 17:48:41 -0600 +Subject: [PATCH 4/4] fix brcmfmac oops and race condition + +This fixes a potential null pointer dereference by checking if null before +freeing the vif struct. + +Also works around a race condition between brcm_patchram_plus loading the BT +firmware, which exposes the wireless device, and the kernel loading bcrmfmac. +100ms delay loops up to 1s are added around the first three initialization +functions to hold off a failure until the device is actually ready. This is a +hack. + +Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org> +Edited by: parazyd <parazyd@dyne.org> + * Removed dhd_linux.c part of the patch since it is failing +--- + .../wireless-3.8/brcm80211/brcmfmac/dhd_common.c | 47 ++++++++++++++-------- + .../wireless-3.8/brcm80211/brcmfmac/dhd_linux.c | 4 +- + 2 files changed, 32 insertions(+), 19 deletions(-) + +diff --git a/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c b/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c +index 05d4042..7006d19 100644 +--- a/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c ++++ b/drivers/net/wireless-3.8/brcm80211/brcmfmac/dhd_common.c +@@ -252,25 +252,34 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) + struct brcmf_join_pref_params join_pref_params[2]; + char *ptr; + s32 err; ++ int i; + + /* retreive mac address */ +- err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr, +- sizeof(ifp->mac_addr)); +- if (err < 0) { +- brcmf_err("Retreiving cur_etheraddr failed, %d\n", +- err); +- goto done; ++ for (i = 0; i < 9; i++) { ++ err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr, ++ sizeof(ifp->mac_addr)); ++ if (err < 0 && i == 9) { ++ brcmf_err("Retreiving cur_etheraddr failed, %d\n", ++ err); ++ goto done; ++ } else { ++ msleep(100); ++ } + } + memcpy(ifp->drvr->mac, ifp->mac_addr, sizeof(ifp->drvr->mac)); + + /* query for 'ver' to get version info from firmware */ +- memset(buf, 0, sizeof(buf)); +- strcpy(buf, "ver"); +- err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf)); +- if (err < 0) { +- brcmf_err("Retreiving version information failed, %d\n", +- err); +- goto done; ++ for (i = 0; i < 10; i++) { ++ memset(buf, 0, sizeof(buf)); ++ strcpy(buf, "ver"); ++ err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf)); ++ if (err < 0 && i == 9) { ++ brcmf_err("Retreiving version information failed, %d\n", ++ err); ++ goto done; ++ } else { ++ msleep(100); ++ } + } + ptr = (char *)buf; + strsep(&ptr, "\n"); +@@ -283,10 +292,14 @@ int brcmf_c_preinit_dcmds(struct brcmf_if *ifp) + strlcpy(ifp->drvr->fwver, ptr, sizeof(ifp->drvr->fwver)); + + /* set mpc */ +- err = brcmf_fil_iovar_int_set(ifp, "mpc", 1); +- if (err) { +- brcmf_err("failed setting mpc\n"); +- goto done; ++ for (i = 0; i < 10; i++) { ++ err = brcmf_fil_iovar_int_set(ifp, "mpc", 1); ++ if (err && i == 9) { ++ brcmf_err("failed setting mpc\n"); ++ goto done; ++ } else { ++ msleep(100); ++ } + } + + /* +2.4.4 + diff --git a/extra/rpi3/README b/extra/rpi3/README @@ -0,0 +1 @@ +This is the required firmware for Raspberry Pi 3's onboard Bluetooth and WiFi. diff --git a/extra/rpi3/brcmfmac43430-sdio.bin b/extra/rpi3/brcmfmac43430-sdio.bin Binary files differ. diff --git a/extra/rpi3/brcmfmac43430-sdio.txt b/extra/rpi3/brcmfmac43430-sdio.txt @@ -0,0 +1,66 @@ +# NVRAM file for BCM943430WLPTH +# 2.4 GHz, 20 MHz BW mode + +# The following parameter values are just placeholders, need to be updated. +manfid=0x2d0 +prodid=0x0727 +vendid=0x14e4 +devid=0x43e2 +boardtype=0x0727 +boardrev=0x1101 +boardnum=22 +macaddr=00:90:4c:c5:12:38 +sromrev=11 +boardflags=0x00404201 +boardflags3=0x08000000 +xtalfreq=37400 +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=84 +txpwrbckof=6 +cckbw202gpo=0 +legofdmbw202gpo=0x66111111 +mcsbw202gpo=0x77711111 +propbw202gpo=0xdd + +# OFDM IIR : +ofdmdigfilttype=18 +ofdmdigfilttypebe=18 +# PAPD mode: +papdmode=1 +papdvalidtest=1 +pacalidx2g=42 +papdepsoffset=-22 +papdendidx=58 + +# LTECX flags +ltecxmux=0 +ltecxpadnum=0x0102 +ltecxfnsel=0x44 +ltecxgcigpio=0x01 + +il0macaddr=00:90:4c:c5:12:38 +wl0id=0x431b + +deadman_to=0xffffffff +# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG +muxenab=0x1 +# CLDO PWM voltage settings - 0x4 - 1.1 volt +#cldo_pwm=0x4 + +#VCO freq 326.4MHz +spurconfig=0x3 + +edonthd20l=-75 +edoffthd20ul=-80 diff --git a/extra/tegra30-r16_3-3.2_armhf.deb b/extra/tegra30-r16_3-3.2_armhf.deb Binary files differ. diff --git a/extra/veyron-audio.cfg b/extra/veyron-audio.cfg @@ -0,0 +1,1589 @@ +state.ROCKCHIPI2S { + control.1 { + iface MIXER + name 'MIC Bias VCM Bandgap' + value 'High Performance' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Low Power' + item.1 'High Performance' + } + } + control.2 { + iface MIXER + name 'DMIC MIC Comp Filter Config' + value 6 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + } + } + control.3 { + iface MIXER + name 'MIC1 Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 2' + dbmin 0 + dbmax 3000 + dbvalue.0 0 + } + } + control.4 { + iface MIXER + name 'MIC2 Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 2' + dbmin 0 + dbmax 3000 + dbvalue.0 0 + } + } + control.5 { + iface MIXER + name 'MIC1 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 20' + dbmin 0 + dbmax 2000 + dbvalue.0 0 + } + } + control.6 { + iface MIXER + name 'MIC2 Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 20' + dbmin 0 + dbmax 2000 + dbvalue.0 0 + } + } + control.7 { + iface MIXER + name 'LINEA Single Ended Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.8 { + iface MIXER + name 'LINEB Single Ended Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.9 { + iface MIXER + name 'LINEA Volume' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 5' + dbmin -600 + dbmax 2000 + dbvalue.0 0 + } + } + control.10 { + iface MIXER + name 'LINEB Volume' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 5' + dbmin -600 + dbmax 2000 + dbvalue.0 0 + } + } + control.11 { + iface MIXER + name 'LINEA Ext Resistor Gain Mode' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.12 { + iface MIXER + name 'LINEB Ext Resistor Gain Mode' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.13 { + iface MIXER + name 'ADCL Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 4200 + dbvalue.0 0 + } + } + control.14 { + iface MIXER + name 'ADCR Boost Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 4200 + dbvalue.0 0 + } + } + control.15 { + iface MIXER + name 'ADCL Volume' + value 12 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + dbmin -1200 + dbmax 300 + dbvalue.0 0 + } + } + control.16 { + iface MIXER + name 'ADCR Volume' + value 12 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + dbmin -1200 + dbmax 300 + dbvalue.0 0 + } + } + control.17 { + iface MIXER + name 'ADC Oversampling Rate' + value '128*fs' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '64*fs' + item.1 '128*fs' + } + } + control.18 { + iface MIXER + name 'ADC Quantizer Dither' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.19 { + iface MIXER + name 'ADC High Performance Mode' + value 'High Performance' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Low Power' + item.1 'High Performance' + } + } + control.20 { + iface MIXER + name 'DAC Mono Mode' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.21 { + iface MIXER + name 'SDIN Mode' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.22 { + iface MIXER + name 'SDOUT Mode' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.23 { + iface MIXER + name 'SDOUT Hi-Z Mode' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.24 { + iface MIXER + name 'Filter Mode' + value Music + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Voice + item.1 Music + } + } + control.25 { + iface MIXER + name 'Record Path DC Blocking' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.26 { + iface MIXER + name 'Playback Path DC Blocking' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.27 { + iface MIXER + name 'Digital BQ Volume' + value 15 + comment { + access 'read write' + type INTEGER + rount 1 + range '0 - 15' + dbmin -1500 + dbmax 0 + dbvalue.0 0 + } + } + control.28 { + iface MIXER + name 'Digital Sidetone Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 30' + dbmin 0 + dbmax 3000 + dbvalue.0 0 + } + } + control.29 { + iface MIXER + name 'Digital Coarse Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin 0 + dbmax 1800 + dbvalue.0 0 + } + } + control.30 { + iface MIXER + name 'Digital Volume' + value 15 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + dbmin -1500 + dbmax 0 + dbvalue.0 0 + } + } + control.31 { + iface MIXER + name 'EQ Coefficients' + value '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + comment { + access 'read write' + type BYTES + count 105 + } + } + control.32 { + iface MIXER + name 'Digital EQ 3 Band Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.33 { + iface MIXER + name 'Digital EQ 5 Band Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.34 { + iface MIXER + name 'Digital EQ 7 Band Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.35 { + iface MIXER + name 'Digital EQ Clipping Detection' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.36 { + iface MIXER + name 'Digital EQ Volume' + value 15 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + dbmin -1500 + dbmax 0 + dbvalue.0 0 + } + } + control.37 { + iface MIXER + name 'ALC Enable' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.38 { + iface MIXER + name 'ALC Attack Time' + value '0.5ms' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '0.5ms' + item.1 '1ms' + item.2 '5ms' + item.3 '10ms' + item.4 '25ms' + item.5 '50ms' + item.6 '100ms' + item.7 '200ms' + } + } + control.39 { + iface MIXER + name 'ALC Release Time' + value '8s' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '8s' + item.1 '4s' + item.2 '2s' + item.3 '1s' + item.4 '0.5s' + item.5 '0.25s' + item.6 '0.125s' + item.7 '0.0625s' + } + } + control.40 { + iface MIXER + name 'ALC Make Up Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 12' + dbmin 0 + dbmax 1200 + dbvalue.0 0 + } + } + control.41 { + iface MIXER + name 'ALC Compression Ratio' + value '1:1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '1:1' + item.1 '1:1.5' + item.2 '1:2' + item.3 '1:4' + item.4 '1:INF' + } + } + control.42 { + iface MIXER + name 'ALC Expansion Ratio' + value '1:1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '1:1' + item.1 '2:1' + item.2 '3:1' + } + } + control.43 { + iface MIXER + name 'ALC Compression Threshold Volume' + value 31 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + dbmin -3100 + dbmax 0 + dbvalue.0 0 + } + } + control.44 { + iface MIXER + name 'ALC Expansion Threshold Volume' + value 31 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + dbmin -6600 + dbmax -3500 + dbvalue.0 -3500 + } + } + control.45 { + iface MIXER + name 'DAC HP Playback Performance Mode' + value 'High Performance' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'High Performance' + item.1 'Low Power' + } + } + control.46 { + iface MIXER + name 'DAC High Performance Mode' + value 'High Performance' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Low Power' + item.1 'High Performance' + } + } + control.47 { + iface MIXER + name 'Headphone Left Mixer Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + } + } + control.48 { + iface MIXER + name 'Headphone Right Mixer Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + } + } + control.49 { + iface MIXER + name 'Speaker Left Mixer Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + } + } + control.50 { + iface MIXER + name 'Speaker Right Mixer Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + } + } + control.51 { + iface MIXER + name 'Receiver Left Mixer Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + } + } + control.52 { + iface MIXER + name 'Receiver Right Mixer Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 3' + dbmin -1200 + dbmax 0 + dbvalue.0 0 + } + } + control.53 { + iface MIXER + name 'Headphone Volume' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -6700 + dbmax 300 + dbvalue.0 -6700 + dbvalue.1 -6700 + } + } + control.54 { + iface MIXER + name 'Speaker Volume' + value.0 39 + value.1 39 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 39' + dbmin -4800 + dbmax 1400 + dbvalue.0 1400 + dbvalue.1 1400 + } + } + control.55 { + iface MIXER + name 'Receiver Volume' + value.0 21 + value.1 21 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -6200 + dbmax 800 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.56 { + iface MIXER + name 'Headphone Left Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.57 { + iface MIXER + name 'Headphone Right Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.58 { + iface MIXER + name 'Speaker Left Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.59 { + iface MIXER + name 'Speaker Right Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.60 { + iface MIXER + name 'Receiver Left Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.61 { + iface MIXER + name 'Receiver Right Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.62 { + iface MIXER + name 'Zero-Crossing Detection' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.63 { + iface MIXER + name 'Enhanced Vol Smoothing' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.64 { + iface MIXER + name 'Volume Adjustment Smoothing' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.65 { + iface MIXER + name 'Biquad Coefficients' + value '000000000000000000000000000000' + comment { + access 'read write' + type BYTES + count 15 + } + } + control.66 { + iface MIXER + name 'Biquad Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.67 { + iface MIXER + name 'Headphone Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.68 { + iface MIXER + name 'Headset Mic Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.69 { + iface MIXER + name 'Int Mic Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.70 { + iface MIXER + name 'Speaker Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.71 { + iface MIXER + name 'MIXHPRSEL Mux' + value 'DAC Only' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'DAC Only' + item.1 'HP Mixer' + } + } + control.72 { + iface MIXER + name 'MIXHPLSEL Mux' + value 'DAC Only' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'DAC Only' + item.1 'HP Mixer' + } + } + control.73 { + iface MIXER + name 'LINMOD Mux' + value 'Left Only' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Left Only' + item.1 'Left and Right' + } + } + control.74 { + iface MIXER + name 'Right Receiver Mixer Left DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.75 { + iface MIXER + name 'Right Receiver Mixer Right DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.76 { + iface MIXER + name 'Right Receiver Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.77 { + iface MIXER + name 'Right Receiver Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.78 { + iface MIXER + name 'Right Receiver Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.79 { + iface MIXER + name 'Right Receiver Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.80 { + iface MIXER + name 'Left Receiver Mixer Left DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.81 { + iface MIXER + name 'Left Receiver Mixer Right DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.82 { + iface MIXER + name 'Left Receiver Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.83 { + iface MIXER + name 'Left Receiver Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.84 { + iface MIXER + name 'Left Receiver Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.85 { + iface MIXER + name 'Left Receiver Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.86 { + iface MIXER + name 'Right Speaker Mixer Left DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.87 { + iface MIXER + name 'Right Speaker Mixer Right DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.88 { + iface MIXER + name 'Right Speaker Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.89 { + iface MIXER + name 'Right Speaker Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.90 { + iface MIXER + name 'Right Speaker Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.91 { + iface MIXER + name 'Right Speaker Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.92 { + iface MIXER + name 'Left Speaker Mixer Left DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.93 { + iface MIXER + name 'Left Speaker Mixer Right DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.94 { + iface MIXER + name 'Left Speaker Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.95 { + iface MIXER + name 'Left Speaker Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.96 { + iface MIXER + name 'Left Speaker Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.97 { + iface MIXER + name 'Left Speaker Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.98 { + iface MIXER + name 'Right Headphone Mixer Left DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.99 { + iface MIXER + name 'Right Headphone Mixer Right DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.100 { + iface MIXER + name 'Right Headphone Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.101 { + iface MIXER + name 'Right Headphone Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.102 { + iface MIXER + name 'Right Headphone Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.103 { + iface MIXER + name 'Right Headphone Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.104 { + iface MIXER + name 'Left Headphone Mixer Left DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.105 { + iface MIXER + name 'Left Headphone Mixer Right DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.106 { + iface MIXER + name 'Left Headphone Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.107 { + iface MIXER + name 'Left Headphone Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.108 { + iface MIXER + name 'Left Headphone Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.109 { + iface MIXER + name 'Left Headphone Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.110 { + iface MIXER + name 'STENR Mux' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 'Sidetone Right' + } + } + control.111 { + iface MIXER + name 'STENL Mux' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 'Sidetone Left' + } + } + control.112 { + iface MIXER + name 'LTENR Mux' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Loopthrough + } + } + control.113 { + iface MIXER + name 'LTENL Mux' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Loopthrough + } + } + control.114 { + iface MIXER + name 'LBENR Mux' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Loopback + } + } + control.115 { + iface MIXER + name 'LBENL Mux' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Loopback + } + } + control.116 { + iface MIXER + name 'Right ADC Mixer IN12 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.117 { + iface MIXER + name 'Right ADC Mixer IN34 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.118 { + iface MIXER + name 'Right ADC Mixer IN56 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.119 { + iface MIXER + name 'Right ADC Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.120 { + iface MIXER + name 'Right ADC Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.121 { + iface MIXER + name 'Right ADC Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.122 { + iface MIXER + name 'Right ADC Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.123 { + iface MIXER + name 'Left ADC Mixer IN12 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.124 { + iface MIXER + name 'Left ADC Mixer IN34 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.125 { + iface MIXER + name 'Left ADC Mixer IN56 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.126 { + iface MIXER + name 'Left ADC Mixer LINEA Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.127 { + iface MIXER + name 'Left ADC Mixer LINEB Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.128 { + iface MIXER + name 'Left ADC Mixer MIC1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.129 { + iface MIXER + name 'Left ADC Mixer MIC2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.130 { + iface MIXER + name 'LINEB Mixer IN2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.131 { + iface MIXER + name 'LINEB Mixer IN4 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.132 { + iface MIXER + name 'LINEB Mixer IN6 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.133 { + iface MIXER + name 'LINEB Mixer IN56 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.134 { + iface MIXER + name 'LINEA Mixer IN1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.135 { + iface MIXER + name 'LINEA Mixer IN3 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.136 { + iface MIXER + name 'LINEA Mixer IN5 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.137 { + iface MIXER + name 'LINEA Mixer IN34 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.138 { + iface MIXER + name 'DMIC Mux' + value ADC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 ADC + item.1 DMIC + } + } + control.139 { + iface MIXER + name 'MIC2 Mux' + value IN34 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 IN34 + item.1 IN56 + } + } + control.140 { + iface MIXER + name 'MIC1 Mux' + value IN12 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 IN12 + item.1 IN56 + } + } +} +state.RockchipHDMI { +control { + } +} diff --git a/extra/veyron-pulse.cfg b/extra/veyron-pulse.cfg @@ -0,0 +1,163 @@ +#!/usr/bin/pulseaudio -nF +# +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. +# This startup script is used only if PulseAudio is started per-user +# (i.e. not in system mode) + +.nofail + +### Load something into the sample cache +#load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga +#load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga +#load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga +#load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga + +.fail + +### Automatically restore the volume of streams and devices +load-module module-device-restore +load-module module-stream-restore +load-module module-card-restore + +### Automatically augment property information from .desktop files +### stored in /usr/share/application +load-module module-augment-properties + +### Should be after module-*-restore but before module-*-detect +load-module module-switch-on-port-available + +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +load-module module-alsa-sink device=plughw:0,0 +#load-module module-alsa-source device=hw:1,0 +#load-module module-oss device="/dev/dsp" sink_name=output source_name=input +#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input +#load-module module-null-sink +#load-module module-pipe-sink + +### Automatically load driver modules depending on the hardware available +.ifexists module-udev-detect.so +load-module module-udev-detect +.else +### Use the static hardware detection module (for systems that lack udev support) +load-module module-detect +.endif + +### Automatically connect sink and source if JACK server is present +.ifexists module-jackdbus-detect.so +.nofail +load-module module-jackdbus-detect channels=2 +.fail +.endif + +### Automatically load driver modules for Bluetooth hardware +.ifexists module-bluetooth-policy.so +load-module module-bluetooth-policy +.endif +.ifexists module-bluetooth-discover.so +load-module module-bluetooth-discover +.endif + +### Load several protocols +.ifexists module-esound-protocol-unix.so +load-module module-esound-protocol-unix +.endif +load-module module-native-protocol-unix + +### Network access (may be configured with paprefs, so leave this commented +### here if you plan to use paprefs) +#load-module module-esound-protocol-tcp +#load-module module-native-protocol-tcp +#load-module module-zeroconf-publish + +### Load the RTP receiver module (also configured via paprefs, see above) +#load-module module-rtp-recv + +### Load the RTP sender module (also configured via paprefs, see above) +#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" +#load-module module-rtp-send source=rtp.monitor + +### Load additional modules from GConf settings. This can be configured with the paprefs tool. +### Please keep in mind that the modules configured by paprefs might conflict with manually +### loaded modules. +.ifexists module-gconf.so +.nofail +load-module module-gconf +.fail +.endif + +### Automatically restore the default sink/source when changed by the user +### during runtime +### NOTE: This should be loaded as early as possible so that subsequent modules +### that look up the default sink/source get the right value +load-module module-default-device-restore + +### Automatically move streams to the default sink if the sink they are +### connected to dies, similar for sources +load-module module-rescue-streams + +### Make sure we always have a sink around, even if it is a null sink. +load-module module-always-sink + +### Honour intended role device property +load-module module-intended-roles + +### Automatically suspend sinks/sources that become idle for too long +load-module module-suspend-on-idle + +### If autoexit on idle is enabled we want to make sure we only quit +### when no local session needs us anymore. +.ifexists module-console-kit.so +load-module module-console-kit +.endif +.ifexists module-systemd-login.so +load-module module-systemd-login +.endif + +### Enable positioned event sounds +load-module module-position-event-sounds + +### Cork music/video streams when a phone stream is active +load-module module-role-cork + +### Modules to allow autoloading of filters (such as echo cancellation) +### on demand. module-filter-heuristics tries to determine what filters +### make sense, and module-filter-apply does the heavy-lifting of +### loading modules and rerouting streams. + +load-module module-filter-heuristics +load-module module-filter-apply + +# X11 modules should not be started from default.pa so that one daemon +# can be shared by multiple sessions. + +### Load X11 bell module +#load-module module-x11-bell sample=x11-bell + +### Register ourselves in the X11 session manager +#load-module module-x11-xsmp + +### Publish connection data in the X11 root window +#.ifexists module-x11-publish.so +#.nofail +#load-module module-x11-publish +#.fail +#.endif + +### Make some devices default +set-default-sink 0 +#set-default-source input diff --git a/extra/zram b/extra/zram @@ -0,0 +1,45 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zram +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: S +# Default-Stop: 0 1 6 +# Short-Description: Use compressed RAM as in-memory swap +# Description: Use compressed RAM as in-memory swap +### END INIT INFO + +# Author: Antonio Galea <antonio.galea@gmail.com> +# Thanks to Przemysław Tomczyk for suggesting swapoff parallelization + +FRACTION=75 + +MEMORY=`perl -ne'/^MemTotal:\s+(\d+)/ && print $1*1024;' < /proc/meminfo` +CPUS=`grep -c processor /proc/cpuinfo` +SIZE=$(( MEMORY * FRACTION / 100 / CPUS )) + +case "$1" in + "start") + param=`modinfo zram|grep num_devices|cut -f2 -d:|tr -d ' '` + modprobe zram $param=$CPUS + for n in `seq $CPUS`; do + i=$((n - 1)) + echo $SIZE > /sys/block/zram$i/disksize + mkswap /dev/zram$i + swapon /dev/zram$i -p 10 + done + ;; + "stop") + for n in `seq $CPUS`; do + i=$((n - 1)) + swapoff /dev/zram$i && echo "disabled disk $n of $CPUS" & + done + wait + sleep .5 + modprobe -r zram + ;; + *) + echo "Usage: `basename $0` (start | stop)" + exit 1 + ;; +esac