Build script complete rewrite. Added user patches and WIP boards: Orangepi+, Lemaker Guitar

This commit is contained in:
Igor Pečovnik 2015-12-02 20:33:32 +01:00
parent f614caeb97
commit 5365760e02
327 changed files with 861356 additions and 8823 deletions

43
README.md Normal file
View file

@ -0,0 +1,43 @@
## How to build my own image? ##
**Preparation**
- x86 machine running any OS, 4G ram, SSD, quad core (recommended),
- [virtual box](https://www.virtualbox.org/wiki/Downloads) or similar virtualization software, **(highly recommended)**
- host system is **highly recommended** to be [Ubuntu 14.04](http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/mini.iso) (**some but not all** sources can also compile on Ubuntu 15.04, Mint 17.2 and Debian Jessie),
- installed basic system, OpenSSH and Samba (optional),
- root access.
**Execution**
apt-get -y install git
git clone https://github.com/igorpecovnik/lib --depth 1
cp lib/compile.sh .
chmod +x compile.sh
./compile.sh
This will download all necessary sources, execute compilation and build an bootable image. Most of things will be cached so next run will be extremly faster!
## How to build my own kernel? ##
**Prerequisition are the same as building an image!**
Edit *compile.sh* prior to running and alter switch:
KERNEL_ONLY="yes"
In directory (output/debs) you will find deb packed kernel, together with headers, firmware and u-boot.
If you are doing changes to kernel source, disable GIT lock with:
FORCE_CHECKOUT="no"
If you want to invoke menu configuration:
KERNEL_CONFIGURE="yes"
More info:
- [Documentation](http://www.armbian.com/using-armbian-tools/)
- [Support forums](http://forum.armbian.com/ "Armbian support forum")
- [Project at Github](https://github.com/igorpecovnik/lib)

BIN
bin/NumixHolo.zip Normal file

Binary file not shown.

BIN
bin/armbian.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

52
bin/armbian.key Normal file
View file

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQINBFUG8p4BEADGlseGFmdjjfmoXtHpZxqgYHGweCnGZ05LiGgEVgbv5SrTsJsy
O8H8RyBPxgbpKEY+JCV1IlYQPaE3Til1+kqmR4XNKbufjEuqAV4VJW3267tYRuJ3
08E70q7kpQSsEAWLVY+xV/l5stAupp4/wF5BPdAjW7gLuicPnqoKK0jcfrjuvd45
WFhpjL1Sdd0PnILehz0to6R2H9MsW+VYYPFztdjBM/78UD8grMcCm/7Mz8ENRKCn
TKrgj4bpWA0kPEHNBfaoQQUk5fCJYNMLvLMIGZcWeGOPo+yFnl4C6qTEgs0g7/0E
56ycaQDJ+gBCH9YNa8j3eH/t1vMN0ERXiOQf6WXgRihOD1fcnZFmczQFT3GGhv3y
+/cUpsUlmhhJ6tetiuXNuTfrl3M+99qUq5/8iiq292MCmn5s0BEOiyfQ2l2uZmjy
DUO+4lL9o3MX0W5Xp1puE2p42b+w458aDKuuFvBzVMiU51Js6DZnahxu2s+NDztD
gut7p+P60UBCbltXEB0ZIyWTAkKCwIlapZ9yDiHqXiNluTdBiFWGyU3xlb4fuQzw
lwvmS3yz4Ak5GCdDpiLmJoHOKV6q85VaI4T3gixx4JwEfdincOGfepSWFmbEsDuV
x5vbDV5Dwb3oAg80zp3W/uNyX7G41uIGDNzZL82p2XtgGzkjhEbKAnNavwARAQAB
tD1JZ29yIFBlY292bmlrIChManVibGphbmEsIFNsb3ZlbmlhKSA8aWdvci5wZWNv
dm5pa0BnbWFpbC5jb20+iQI4BBMBAgAiBQJVBvKeAhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCT1oifnw541T6WD/0X+LD9Gm1NVgZhrH35oQ3zstENrTjD
6LF+kT+zhe6QR9bAdOmeb7Je423y/UY3nSaJlS/OWsJs89tXUyE2jbxtLApN6OMT
ZsIxjgyg3fjbHV/lw/xGp+cqHjX+Ay5QZudJVxGJN7WJaRGxymjop7EX4CHiidGZ
PZoDT23WArLia7E8MLB/oK3wW6k9Qlc2SrhldzpuSmOwHQX9pxmy9dgfZa2a9w1c
EvktDnrizPmfxwYaC38FKRqz1I8CnPMESVJ+6mLEYxWJvJANuVvrhqOtjkY6yI0u
SOFHsmgci+3X2c7WWhloKub/Pf7TtM6tl6RCHfKvnsrTZPvxP1/CgzQiAITWppBl
olnSRHXp3notCF1rVbgInwVuCZCuWPJvHC6R3t9/UgESao0tEwr4mw7jNwtszWou
4rYzjEAME/O/kBBWPbDURm/4R8l0XSnG0zhePKv5iCzeQbIzUeAD1Dcvk7falgnl
9FX9/LZCY1kEwFMf2DG03lwG7c4ICSVAz0pNEPZdqpyCl82VKkDne8PA0Rb/uPIO
QY3aDu8bgcPQuokmRRL4rwdnRCVr0AFDZhVQnUjcdy8AvEPeye2fNdLhte+KUWiy
FNWp2vW2LbJ9GxPstaFihXZBcCEpGWsNHebDd1KmNGyPKcqzaIfzHPLP8+ee2deK
A95PVzV3iTL+ObkCDQRVBvKeARAAvGaKCHDGl0eC7fFok5sPq1WattpqQ9QL0BgZ
95VQLn+7/1nXmKsDfCwCvnBGqLXzPQyvWhCbCTN9oYkqokBX2Ch1zOIABynw+UCM
+KyZcmciYZIF21OstWMM0nQ06jno5Hq1vSHlgTkaaYWZYoqXocMCS9llvI2NVG34
bcak1hAh9EkfmThVttDeGZP+osqt2mefpCAVITP1eQWU3RUBpOKNpthpLxMhy+l7
m8tmkLH3FuqwZvVjY241w1o4AWVpJD/JdOuAfHtf7/UDPchSZLe9Ea8Y+bnkiZxg
SROtFrRzbVwP1Id4RKT44BwKMrXu8GiZAPvQq5CvINqZDMqiqq4+jFJPMVortuxX
skRh1dVYOioH1muzeHf560/BLW+mBuEd+xE0gd6SXRgPiflROylpJCb9Qxi8Ofq6
FEHBfJ8mHz49d60qyXZNdNlxLhA3dfOvaahFBgXwNSwjak0zf6RpufAkh8Si5jc3
Qh7lpuwsBelyNu7tBbL2y8WnUez/+aeX9sBSqs78mfpDdLAGnIlT9YcjkHl5W385
jjhBAhpAgiLIsdSRKcc2CI34Vf775cLLIYrcBrjVMLYBwEiZHOPO90Lnizgx1l5t
1wG2Aa5OarTTUPIgMiTUtKPQ8BmcjGMZiavdJwqGUziDD+hMKcxPUMjyYiu+ngkH
1ROuCxMAEQEAAYkCHwQYAQIACQUCVQbyngIbDAAKCRCT1oifnw541Wm7D/sG0ouM
71c5mT+egff+QxfExy+JB4/vL1pLSHbMR8AtAJLN+Yh6EzeGmW2tga0Bk9AxEekQ
raXrMFhZSpT98qJnnDpdozfeIAyTwziw9K9opB0dU/+M3sVidkJ5mv4LW6CJaaY3
rsom0TIjaxBvXqSeadJF4WGUHzg3ew+8ah0ZG8SDZu19ketN2cnTMAtgO+53Epjq
pk3uMF5hNaEHt9wVj2tq/anLEsl4T5U/ekQndxcTEsV2KIVSoye35ye4aam1gWhW
9JIFtShhEtXD/5Ovtj706YLTP84U8yHStzM6LLGpqM8bb1QsBUWRUhIKidltmO9K
jX6rJZuhwkcVJJYRdbetEXbiSIyeNZy7bBe4En+fVcN0ekBD36LhMcVL8F1Mntr1
L5xf0cFEpFpEodQUvcayNgpI2y7EIPjKmKhVwW5dx36Q0CsCnwcC+Kg6BNzliI9I
s+oA2AVIanFPvjvSwfG9pH+2/u+KB4HT2Ux1FBbBi5GAwo+cu1d4XAc5bZHdPnAV
tnIN9dKRusZ8IGHWEd8Pw0kRepuNhSmSNALQkS6B+ppQZtmoGsBCqJeMPxQxj+yI
/bL3dmA2UXxnGJ3vs2ybFyHG3aoovKJfWVytxOJfG7qj1ACrOYOXekWlcw5lEiYF
cckukNqqFv/CXh+BZFlQT4DDvJlY0/KQFFKogQ==
=I/P8
-----END PGP PUBLIC KEY BLOCK-----

BIN
bin/armbian01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

BIN
bin/armbian02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Binary file not shown.

BIN
bin/hostapd25-rt.tgz Normal file

Binary file not shown.

BIN
bin/hostapd25.tgz Normal file

Binary file not shown.

BIN
bin/jessie-desktop.tgz Normal file

Binary file not shown.

Binary file not shown.

BIN
bin/m4startup.fw Normal file

Binary file not shown.

BIN
bin/m4startup.fw.fast Normal file

Binary file not shown.

BIN
bin/m4startup.fw.origin Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/s500-bootloader.bin Normal file

Binary file not shown.

BIN
bin/sunxitools.tgz Normal file

Binary file not shown.

BIN
bin/swconfig.tgz Normal file

Binary file not shown.

BIN
bin/trusty-desktop.tgz Normal file

Binary file not shown.

Binary file not shown.

BIN
bin/wheezy-desktop.tgz Normal file

Binary file not shown.

View file

@ -1,410 +0,0 @@
#!/bin/bash
#
# Board definitions
#
case $BOARD in
cubieboard4)
#--------------------------------------------------------------------------------------------------------------------------------
# Cubieboards 3.4.x
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/patrickhwood/u-boot"
BOOTSOURCE="u-boot-patwood"
BOOTCONFIG="cubietruck"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/cubieboard/CC-A80-kernel-source"
LINUXSOURCE="linux-sunxi-a80"
LOCALVERSION="-sun9i"
FIRMWARE=""
DTBS=""
DOCS=""
DOCSDIR=""
MISC1=""
MISC1_DIR=""
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4=""
MISC4_DIR=""
;;
#--------------------------------------------------------------------------------------------------------------------------------
cubieboard2 | cubietruck)
#--------------------------------------------------------------------------------------------------------------------------------
# Cubieboards 3.4.x
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/patrickhwood/u-boot"
BOOTSOURCE="u-boot-patwood"
BOOTCONFIG="cubietruck"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/dan-and/linux-sunxi"
LINUXSOURCE="linux-sunxi"
LOCALVERSION="-sunxi"
FIRMWARE="bin/ap6210.zip"
DTBS=""
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2="https://github.com/matzrh/sunxi-lirc"
MISC2_DIR="sunxi-lirc"
MISC3="https://github.com/dz0ny/rt8192cu"
MISC3_DIR="rt8192cu"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
#--------------------------------------------------------------------------------------------------------------------------------
cubieboard-next)
#--------------------------------------------------------------------------------------------------------------------------------
# Cubieboard mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="Cubieboard_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun4i-a10-cubieboard.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
cubieboard2-next)
#--------------------------------------------------------------------------------------------------------------------------------
# Cubieboard mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="Cubieboard2_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-cubieboard2.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
cubietruck-next)
#--------------------------------------------------------------------------------------------------------------------------------
# Cubieboard mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="Cubietruck_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-cubietruck.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
lime-next)
#--------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="A20-OLinuXino-Lime_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-olinuxino-lime.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3="https://github.com/pvaret/rtl8192cu-fixes"
MISC3_DIR="rtl8192cu-fixes"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
micro-next)
#--------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="A20-OLinuXino_MICRO_config"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-olinuxino-micro.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3="https://github.com/pvaret/rtl8192cu-fixes"
MISC3_DIR="rtl8192cu-fixes"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
lime2-next)
#--------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="A20-OLinuXino-Lime2_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-olinuxino-lime2.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
pcduino3-next)
#--------------------------------------------------------------------------------------------------------------------------------
# pcduino3 mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="Linksprite_pcDuino3_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-pcduino3.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
bananapi-next)
#--------------------------------------------------------------------------------------------------------------------------------
# bananapi mainline kernel / experimental
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/RobertCNelson/u-boot"
BOOTSOURCE="u-boot"
BOOTCONFIG="BananaPi_defconfig"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-next"
LINUXSOURCE="linux-sunxi-next"
LOCALVERSION="-sunxi"
DTBS="sun7i-a20-bananapi.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3=""
MISC3_DIR=""
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
bananapi)
#--------------------------------------------------------------------------------------------------------------------------------
# Bananapi cubieboard based 3.4.x
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/LeMaker/u-boot-bananapi"
BOOTSOURCE="u-boot-banana"
BOOTCONFIG="BananaPi_config"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/dan-and/linux-sunxi"
LINUXSOURCE="linux-sunxi"
LOCALVERSION="-sunxi"
FIRMWARE="bin/ap6210.zip"
DTBS=""
DOCS=""
DOCSDIR=""
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2=""
MISC2_DIR=""
MISC3="https://github.com/dz0ny/rt8192cu"
MISC3_DIR="rt8192cu"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
cubox-i)
#--------------------------------------------------------------------------------------------------------------------------------
# cubox-i & hummingboard 3.14.xx
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/SolidRun/u-boot-imx6"
BOOTSOURCE="u-boot-cubox"
BOOTCONFIG="mx6_cubox-i_config"
CPUMIN="792000"
CPUMAX="996000"
LINUXKERNEL="https://github.com/linux4kix/linux-linaro-stable-mx6"
LINUXSOURCE="linux-cubox-next"
LOCALVERSION="-cubox"
DTBS="imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb imx6q-hummingboard.dtb"
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-cubox"
MISC1=""
MISC1_DIR=""
MISC2=""
MISC2_DIR=""
MISC3="https://github.com/dz0ny/rt8192cu"
MISC3_DIR="rt8192cu"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
lime)
#--------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime 512Mb 3.4.x
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/linux-sunxi/u-boot-sunxi"
BOOTSOURCE="u-boot-sunxi"
BOOTCONFIG="A20-OLinuXino-Lime_config"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/dan-and/linux-sunxi"
LINUXSOURCE="linux-sunxi"
LOCALVERSION="-sunxi"
FIRMWARE="bin/ap6210.zip"
DTBS=""
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2="https://github.com/matzrh/sunxi-lirc"
MISC2_DIR="sunxi-lirc"
MISC3="https://github.com/dz0ny/rt8192cu"
MISC3_DIR="rt8192cu"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
micro)
#--------------------------------------------------------------------------------------------------------------------------------
# Olimex Micro 3.4.x
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/linux-sunxi/u-boot-sunxi"
BOOTSOURCE="u-boot-sunxi"
BOOTCONFIG="A20-OLinuXino-Micro_config"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/dan-and/linux-sunxi"
LINUXSOURCE="linux-sunxi"
LOCALVERSION="-sunxi"
FIRMWARE="bin/ap6210.zip"
DTBS=""
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2="https://github.com/matzrh/sunxi-lirc"
MISC2_DIR="sunxi-lirc"
MISC3="https://github.com/dz0ny/rt8192cu"
MISC3_DIR="rt8192cu"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
lime2)
#--------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime2 1024Mb 3.4.x
#--------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/linux-sunxi/u-boot-sunxi"
BOOTSOURCE="u-boot-sunxi"
BOOTCONFIG="A20-OLinuXino_Lime2_config"
CPUMIN="480000"
CPUMAX="1010000"
LINUXKERNEL="https://github.com/dan-and/linux-sunxi"
LINUXSOURCE="linux-sunxi"
LOCALVERSION="-sunxi"
FIRMWARE="bin/ap6210.zip"
DTBS=""
DOCS="https://github.com/igorpecovnik/Cubietruck-Debian.wiki.git"
DOCSDIR="docs-banana"
MISC1="https://github.com/linux-sunxi/sunxi-tools.git"
MISC1_DIR="sunxi-tools"
MISC2="https://github.com/matzrh/sunxi-lirc"
MISC2_DIR="sunxi-lirc"
MISC3="https://github.com/dz0ny/rt8192cu"
MISC3_DIR="rt8192cu"
MISC4="https://github.com/notro/fbtft"
MISC4_DIR="$LINUXSOURCE/drivers/video/fbtft"
;;
*) echo "Board configuration not found"
exit
;;
esac

275
boards.sh Normal file
View file

@ -0,0 +1,275 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
#
# Board speciefic
#
#
install_board_specific (){
#---------------------------------------------------------------------------------------------------------------------------------
# Install board common and specific applications
#---------------------------------------------------------------------------------------------------------------------------------
# Allwinner's
if [[ $LINUXFAMILY == sun* ]] ; then
# default lirc configuration
sed -i '1i sed -i \x27s/DEVICE="\\/dev\\/input.*/DEVICE="\\/dev\\/input\\/\x27$str\x27"/g\x27 /etc/lirc/hardware.conf' \
$DEST/cache/sdcard/etc/lirc/hardware.conf
sed -i '1i str=$(cat /proc/bus/input/devices | grep "H: Handlers=sysrq rfkill kbd event" | awk \x27{print $(NF)}\x27)' \
$DEST/cache/sdcard/etc/lirc/hardware.conf
sed -i '1i # Cubietruck automatic lirc device detection by Igor Pecovnik' $DEST/cache/sdcard/etc/lirc/hardware.conf
sed -e 's/DEVICE=""/DEVICE="\/dev\/input\/event1"/g' -i $DEST/cache/sdcard/etc/lirc/hardware.conf
sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="devinput"/g' -i $DEST/cache/sdcard/etc/lirc/hardware.conf
cp $SRC/lib/config/lirc.conf.cubietruck $DEST/cache/sdcard/etc/lirc/lircd.conf
fi
# Lemaker Guitar
if [[ $BOARD == "guitar" ]] ; then
if [ -f $DEST/cache/sdcard/etc/inittab ]; then sed -e "s/ttyS0/ttyS3/g" -i $DEST/cache/sdcard/etc/inittab; fi
if [ -f $DEST/cache/sdcard/etc/init/ttyS0.conf ]; then
mv $DEST/cache/sdcard/etc/init/ttyS0.conf $DEST/cache/sdcard/etc/init/ttyS3.conf;
sed -e "s/ttyS0/ttyS3/g" -i $DEST/cache/sdcard/etc/init/ttyS3.conf;
fi
if [ -f $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service ]; then
mv $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service \
$DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS3.service
fi
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y -qq autoremove >/dev/null 2>&1"
echo "blacklist wlan_8723bs_vq0" > $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
echo "blacklist ctp_gslX680" >> $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
echo "blacklist ctp_gsl3680" >> $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
echo "blacklist gsensor_mir3da" >> $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
echo "blacklist gsensor_stk8313" >> $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
echo "blacklist gsensor_bma222" >> $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
echo "blacklist lightsensor_ltr301" >> $DEST/cache/sdcard/etc/modprobe.d/blacklist-guitar.conf
fi
# Udoo
if [[ $BOARD == "udoo" ]] ; then
if [ -f $DEST/cache/sdcard/etc/inittab ]; then sed -e "s/ttyS0/ttymxc1/g" -i $DEST/cache/sdcard/etc/inittab; fi
if [ -f $DEST/cache/sdcard/etc/init/ttyS0.conf ]; then
mv $DEST/cache/sdcard/etc/init/ttyS0.conf $DEST/cache/sdcard/etc/init/ttymxc1.conf;
sed -e "s/ttyS0/ttymxc1/g" -i $DEST/cache/sdcard/etc/init/ttymxc1.conf;
fi
if [ -f $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service ]; then
mv $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service \
$DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttymxc1.service
fi
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y -qq remove lirc >/dev/null 2>&1"
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y -qq autoremove >/dev/null 2>&1"
sed 's/wlan0/wlan2/' -i $DEST/cache/sdcard/etc/network/interfaces.default
sed 's/wlan0/wlan2/' -i $DEST/cache/sdcard/etc/network/interfaces.bonding
sed 's/wlan0/wlan2/' -i $DEST/cache/sdcard/etc/network/interfaces.hostapd
# Udoo doesn't have interactive
sed -e 's/interactive/ondemand/g' -i $DEST/cache/sdcard/etc/init.d/cpufrequtils
fi
# Udoo neo
if [[ $BOARD == "udoo-neo" ]] ; then
if [ -f $DEST/cache/sdcard/etc/inittab ]; then sed -e "s/ttyS0/ttymxc0/g" -i $DEST/cache/sdcard/etc/inittab; fi
if [ -f $DEST/cache/sdcard/etc/init/ttyS0.conf ]; then
mv $DEST/cache/sdcard/etc/init/ttyS0.conf $DEST/cache/sdcard/etc/init/ttymxc0.conf
sed -e "s/ttyS0/ttymxc0/g" -i $DEST/cache/sdcard/etc/init/ttymxc0.conf
fi
if [ -f $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service ]; then
mv $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service \
$DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttymxc0.service
fi
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y -qq remove lirc && apt-get -y -qq autoremove"
sed 's/wlan0/wlan2/' -i $DEST/cache/sdcard/etc/network/interfaces.default
sed 's/wlan0/wlan2/' -i $DEST/cache/sdcard/etc/network/interfaces.bonding
sed 's/wlan0/wlan2/' -i $DEST/cache/sdcard/etc/network/interfaces.hostapd
# SD card is elsewhere
sed 's/mmcblk0p1/mmcblk1p1/' -i $DEST/cache/sdcard/etc/fstab
# firmware for M4
mkdir -p $DEST/cache/sdcard/boot/bin/
cp $SRC/lib/bin/m4startup.fw* $DEST/cache/sdcard/boot/bin/
fi
# cubox / hummingboard
if [[ $BOARD == cubox-i* ]] ; then
if [ -f $DEST/cache/sdcard/etc/inittab ]; then sed -e "s/ttyS0/ttymxc0/g" -i $DEST/cache/sdcard/etc/inittab; fi
if [ -f $DEST/cache/sdcard/etc/init/ttyS0.conf ]; then
mv $DEST/cache/sdcard/etc/init/ttyS0.conf $DEST/cache/sdcard/etc/init/ttymxc0.conf
sed -e "s/ttyS0/ttymxc0/g" -i $DEST/cache/sdcard/etc/init/ttymxc0.conf
fi
if [ -f $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service ]; then
mv $DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service \
$DEST/cache/sdcard/etc/systemd/system/getty.target.wants/serial-getty@ttymxc0.service
fi
# default lirc configuration
sed -e 's/DEVICE=""/DEVICE="\/dev\/lirc0"/g' -i $DEST/cache/sdcard/etc/lirc/hardware.conf
sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="default"/g' -i $DEST/cache/sdcard/etc/lirc/hardware.conf
cp $SRC/lib/config/lirc.conf.cubox-i $DEST/cache/sdcard/etc/lirc/lircd.conf
cp $SRC/lib/bin/brcm_patchram_plus_cubox $DEST/cache/sdcard/usr/local/bin/brcm_patchram_plus
chroot $DEST/cache/sdcard /bin/bash -c "chmod +x /usr/local/bin/brcm_patchram_plus"
cp $SRC/lib/scripts/brcm4330 $DEST/cache/sdcard/etc/default
cp $SRC/lib/scripts/brcm4330-patch $DEST/cache/sdcard/etc/init.d
chroot $DEST/cache/sdcard /bin/bash -c "chmod +x /etc/init.d/brcm4330-patch"
chroot $DEST/cache/sdcard /bin/bash -c "update-rc.d brcm4330-patch defaults>> /dev/null"
fi
# install custom root package
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/$RELEASE/$CHOOSEN_ROOTFS.deb >/dev/null 2>&1"
# enable first run script
chroot $DEST/cache/sdcard /bin/bash -c "update-rc.d firstrun defaults >/dev/null 2>&1"
display_alert "Creating boot scripts" "$BOARD" "info"
rm -rf $DEST/cache/sdcard/boot/dtb.old # remove .old on new image
if [[ $BOARD == udoo* ]] ; then
cp $SRC/lib/config/boot-$BOARD.cmd $DEST/cache/sdcard/boot/boot.cmd
elif [[ $BOARD == cubox-i* ]]; then
cp $SRC/lib/config/boot-cubox.cmd $DEST/cache/sdcard/boot/boot.cmd
elif [[ $BOARD == guitar* ]]; then
cp $SRC/lib/config/boot-guitar.cmd $DEST/cache/sdcard/boot/boot.cmd
else
cp $SRC/lib/config/boot.cmd $DEST/cache/sdcard/boot/boot.cmd
# let's prepare for old kernel too
chroot $DEST/cache/sdcard /bin/bash -c \
"ln -s /boot/bin/$BOARD.bin /boot/script.bin >/dev/null 2>&1 || cp /boot/bin/$BOARD.bin /boot/script.bin"
fi
# if we have a special fat boot partition, alter rootfs=
if [ "$BOOTSIZE" -gt "0" ]; then
display_alert "Adjusting boot scripts" "$BOARD" "info"
sed -e 's/p1 /p2 /g' -i $DEST/cache/sdcard/boot/boot.cmd
echo "/dev/mmcblk0p1 /boot vfat defaults 0 0" >> $DEST/cache/sdcard/etc/fstab
fi
# convert to uboot compatible script
mkimage -C none -A arm -T script -d $DEST/cache/sdcard/boot/boot.cmd $DEST/cache/sdcard/boot/boot.scr >> /dev/null
}
install_kernel (){
#--------------------------------------------------------------------------------------------------------------------------------
# Install kernel to prepared root file-system
#--------------------------------------------------------------------------------------------------------------------------------
display_alert "Install kernel" "$CHOOSEN_KERNEL" "info"
# configure MIN / MAX speed for cpufrequtils
sed -e "s/MIN_SPEED=\"0\"/MIN_SPEED=\"$CPUMIN\"/g" -i $DEST/cache/sdcard/etc/init.d/cpufrequtils
sed -e "s/MAX_SPEED=\"0\"/MAX_SPEED=\"$CPUMAX\"/g" -i $DEST/cache/sdcard/etc/init.d/cpufrequtils
# interactive currently available only on 3.4
if [[ $BRANCH != *next* ]];then
sed -e 's/ondemand/interactive/g' -i $DEST/cache/sdcard/etc/init.d/cpufrequtils
fi
# set hostname
echo $HOST > $DEST/cache/sdcard/etc/hostname
# this is needed for ubuntu
rm $DEST/cache/sdcard/etc/resolv.conf
echo "nameserver 8.8.8.8" >> $DEST/cache/sdcard/etc/resolv.conf
# set hostname in hosts file
echo "127.0.0.1 localhost $HOST" > $DEST/cache/sdcard/etc/hosts
echo "::1 localhost $HOST ip6-localhost ip6-loopback" >> $DEST/cache/sdcard/etc/hosts
echo "fe00::0 ip6-localnet" >> $DEST/cache/sdcard/etc/hosts
echo "ff00::0 ip6-mcastprefix" >> $DEST/cache/sdcard/etc/hosts
echo "ff02::1 ip6-allnodes" >> $DEST/cache/sdcard/etc/hosts
echo "ff02::2 ip6-allrouters" >> $DEST/cache/sdcard/etc/hosts
# create modules file
IFS=" "
if [[ $BRANCH == *next* ]];then
for word in $MODULES_NEXT; do
echo $word >> $DEST/cache/sdcard/etc/modules;
done
else
for word in $MODULES; do
echo $word >> $DEST/cache/sdcard/etc/modules;
done
fi
# copy and create symlink to default interfaces configuration
cp $SRC/lib/config/interfaces.* $DEST/cache/sdcard/etc/network/
ln -sf interfaces.default $DEST/cache/sdcard/etc/network/interfaces
# mount deb storage to tmp
mount --bind $DEST/debs/ $DEST/cache/sdcard/tmp
# extract kernel version
VER=$(dpkg --info $DEST/debs/$CHOOSEN_KERNEL | grep Descr | awk '{print $(NF)}')
HEADERS_DIR="linux-headers-"$VER
VER="${VER/-$LINUXFAMILY/}"
# we need package names for dtb, uboot and headers
UBOOT_TMP="${CHOOSEN_KERNEL/image/u-boot}"
DTB_TMP="${CHOOSEN_KERNEL/image/dtb}"
FW_TMP="${CHOOSEN_KERNEL/image/firmware-image}"
HEADERS_TMP="${CHOOSEN_KERNEL/image/headers}"
HEADERS_CACHE="${CHOOSEN_KERNEL/image/cache}"
# install kernel
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/$CHOOSEN_KERNEL >/dev/null 2>&1"
# install uboot
display_alert "Install u-boot" "$UBOOT_TMP" "info"
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/$UBOOT_TMP >/dev/null 2>&1"
# install headers
display_alert "Install headers" "$HEADERS_TMP" "info"
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/$HEADERS_TMP >/dev/null 2>&1"
# install firmware
display_alert "Install firmware" "$FW_TMP" "info"
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/$FW_TMP >/dev/null 2>&1"
# install DTB
if [ -f $DEST/cache/sdcard/tmp/$DTB_TMP ]; then
display_alert "Install DTB" "$DTB_TMP" "info"
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/$DTB_TMP >/dev/null 2>&1";
fi
# recompile headers scripts or use cache if exists
cd $DEST/cache/sdcard/usr/src/$HEADERS_DIR
if [ ! -f $DEST/cache/building/$HEADERS_CACHE.tgz ]; then
chroot $DEST/cache/sdcard /bin/bash -c "cd /usr/src/$HEADERS_DIR && make headers_check; make headers_install ; make scripts" | dialog --progressbox "Compile kernel headers scripts ..." 20 70
rm -rf $DEST/cache/building/repack
mkdir -p $DEST/cache/building -p $DEST/cache/building/repack/usr/src/$HEADERS_DIR -p $DEST/cache/building/repack/DEBIAN
dpkg-deb -x $DEST/debs/$HEADERS_TMP $DEST/cache/building/repack
dpkg-deb -e $DEST/debs/$HEADERS_TMP $DEST/cache/building/repack/DEBIAN
cp -R . $DEST/cache/building/repack/usr/src/$HEADERS_DIR
dpkg-deb -b $DEST/cache/building/repack $DEST/debs
rm -rf $DEST/cache/building/repack
tar czpf $DEST/cache/building/$HEADERS_CACHE".tgz" .
else
tar xzpf $DEST/cache/building/$HEADERS_CACHE".tgz"
fi
# copy boot splash image
cp $SRC/lib/bin/armbian.bmp $DEST/cache/sdcard/boot/boot.bmp
# add our linux firmwares to cache image
unzip -q $SRC/lib/bin/linux-firmware.zip -d $DEST/cache/sdcard/lib/firmware
}

71
build-all.sh Normal file
View file

@ -0,0 +1,71 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
IFS=";"
START=0
OLDFAMILY=""
distro-list ()
{
declare -a MYARRAY1=('wheezy' 'Debian 7 Wheezy | oldstable' 'jessie' 'Debian 8 Jessie | stable' 'trusty' 'Ubuntu Trusty Tahr 14.04.x LTS');
k1=0
l1=1
while [[ $k1 -lt ${#MYARRAY1[@]} ]]
do
BUILD_DESKTOP="no"
BOARD=$1
RELEASE=${MYARRAY1[$k1]}
BRANCH=$2
if [[ $2 == "default" && "$RELEASE" == "trusty" ]]; then
BUILD_DESKTOP="yes"
else
BUILD_DESKTOP="no"
fi
source $SRC/lib/configuration.sh
if [[ $KERNEL_ONLY == "yes" ]]; then
if [[ "$OLDFAMILY" != *"$LINUXFAMILY$BRANCH"* ]]; then
echo "$BOARD $RELEASE $BRANCH $BUILD_DESKTOP $LINUXFAMILY"
source $SRC/lib/main.sh
OLDFAMILY=$OLDFAMILY"$LINUXFAMILY$BRANCH"
fi
else
echo "$BOARD $RELEASE $BRANCH $BUILD_DESKTOP $LINUXFAMILY"
source $SRC/lib/main.sh
fi # kernel only
SOURCE_COMPILE="yes"
k1=$[$k1+2]
l1=$[$l1+2]
done
}
IFS=";"
MYARRAY=($(cat $SRC/lib/configuration.sh | awk '/)#enabled/ || /#des/ || /#build/' | sed 's/)#enabled//g' | sed 's/#description //g' | sed 's/#build //g' | sed ':a;N;$!ba;s/\n/;/g'))
i1=$[0+$START]
j1=$[1+$START]
o1=$[2+$START]
while [[ $i1 -lt ${#MYARRAY[@]} ]]
do
if [ "${MYARRAY[$o1]}" == "1" ]; then
distro-list "${MYARRAY[$i1]}" "default"
fi
if [ "${MYARRAY[$o1]}" == "2" ]; then
distro-list "${MYARRAY[$i1]}" "next"
fi
if [ "${MYARRAY[$o1]}" == "3" ]; then
distro-list "${MYARRAY[$i1]}" "default"
distro-list "${MYARRAY[$i1]}" "next"
fi
i1=$[$i1+3];j1=$[$j1+3];o1=$[$o1+3]
done

980
common.sh

File diff suppressed because it is too large Load diff

84
compile.sh Normal file
View file

@ -0,0 +1,84 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
#--------------------------------------------------------------------------------------------------------------------------------
# method
KERNEL_ONLY="no" # build only kernel
KERNEL_CONFIGURE="no" # want to change my default configuration
CLEAN_LEVEL="" # 0 = make clean + del debs, 1 = only make clean, 2 = nothing
# 3 = choosing kernel if present 4 = del all output
# user
AFTERINSTALL="" # last command before closing image, example: apt-get install joe
DEST_LANG="en_US.UTF-8" # sl_SI.UTF-8, en_US.UTF-8
CONSOLE_CHAR="UTF-8"
ROOTPWD="1234" # Must be changed @first login
MAINTAINER="Igor Pecovnik" # deb signature
MAINTAINERMAIL="igor.pecovnik@****l.com" # deb signature
GPG_PASS="" # signing password
# advanced
KERNEL_KEEP_CONFIG="no" # overwrite kernel config before compilation
USE_CCACHE="yes" # use ccache for kernel compilation
FBTFT="yes" # https://github.com/notro/fbtft
EXTERNAL="yes" # compile extra drivers`
FORCE_CHECKOUT="yes" # igre manual changes to source
BUILD_ALL="no" # cycle through selected boards and make images
#--------------------------------------------------------------------------------------------------------------------------------
# source is where we start the script
SRC=$(pwd)
# destination
DEST=$(pwd)/output
# sources download
SOURCES=$(pwd)/sources
#--------------------------------------------------------------------------------------------------------------------------------
# To preserve proper librarires updating
#--------------------------------------------------------------------------------------------------------------------------------
if [ -f "main.sh" ] && [ -d "bin" ]; then
echo -e "[\e[0;31m error \x1B[0m] Copy this file one level up, alter and run again."
exit
fi
#--------------------------------------------------------------------------------------------------------------------------------
# Show warning for those who updated the script
#--------------------------------------------------------------------------------------------------------------------------------
if [ -d "$DEST/output" ]; then
echo -e "[\e[0;35m warn \x1B[0m] Structure has been changed. Remove all files and start in a clean directory. \
CTRL-C to exit or any key to continue. Only sources will be doubled ..."
read
fi
#--------------------------------------------------------------------------------------------------------------------------------
# Get updates of the main build libraries
#--------------------------------------------------------------------------------------------------------------------------------
apt-get -qq -y install git
if [ -d "$SRC/lib" ]; then
cd $SRC/lib
git pull
else
# download SDK
git clone --depth 1 https://github.com/igorpecovnik/lib
fi
#--------------------------------------------------------------------------------------------------------------------------------
# Do we need to build all images
#--------------------------------------------------------------------------------------------------------------------------------
if [ "$BUILD_ALL" == "yes" ]; then
source $SRC/lib/build-all.sh
else
source $SRC/lib/main.sh
fi

17
config/aptly.conf Normal file
View file

@ -0,0 +1,17 @@
{
"rootDir": "../output/repository",
"downloadConcurrency": 4,
"downloadSpeedLimit": 0,
"architectures": [],
"dependencyFollowSuggests": false,
"dependencyFollowRecommends": false,
"dependencyFollowAllVariants": false,
"dependencyFollowSource": false,
"gpgDisableSign": false,
"gpgDisableVerify": false,
"downloadSourcePackages": false,
"ppaDistributorID": "ubuntu",
"ppaCodename": "",
"S3PublishEndpoints": {},
"SwiftPublishEndpoints": {}
}

995
config/aw-som-a20.fex Normal file
View file

@ -0,0 +1,995 @@
[product]
version = "100"
machine = "Aw-Som A20"
[platform]
eraseflag = 0
[target]
boot_clock = 1008
dcdc2_vol = 1400
dcdc3_vol = 1250
ldo2_vol = 3000
ldo3_vol = 2800
ldo4_vol = 2800
power_start = 1
storage_type = -1
[clock]
pll3 = 297
pll4 = 300
pll6 = 600
pll7 = 297
pll8 = 336
[card_boot]
logical_start = 40960
sprite_gpio0 =
[card0_boot_para]
card_ctrl = 0
card_high_speed = 1
card_line = 4
sdc_d1 = port:PF00<2><1><default><default>
sdc_d0 = port:PF01<2><1><default><default>
sdc_clk = port:PF02<2><1><default><default>
sdc_cmd = port:PF03<2><1><default><default>
sdc_d3 = port:PF04<2><1><default><default>
sdc_d2 = port:PF05<2><1><default><default>
[card2_boot_para]
card_ctrl = 2
card_high_speed = 1
card_line = 4
sdc_cmd = port:PC06<3><1><default><default>
sdc_clk = port:PC07<3><1><default><default>
sdc_d0 = port:PC08<3><1><default><default>
sdc_d1 = port:PC09<3><1><default><default>
sdc_d2 = port:PC10<3><1><default><default>
sdc_d3 = port:PC11<3><1><default><default>
[twi_para]
twi_port = 0
twi_scl = port:PB00<2><default><default><default>
twi_sda = port:PB01<2><default><default><default>
[uart_para]
uart_debug_port = 0
uart_debug_tx = port:PB22<2><1><default><default>
uart_debug_rx = port:PB23<2><1><default><default>
[uart_force_debug]
uart_debug_port = 0
uart_debug_tx = port:PF02<4><1><default><default>
uart_debug_rx = port:PF04<4><1><default><default>
[jtag_para]
jtag_enable = 0
jtag_ms = port:PB14<3><default><default><default>
jtag_ck = port:PB15<3><default><default><default>
jtag_do = port:PB16<3><default><default><default>
jtag_di = port:PB17<3><default><default><default>
[pm_para]
standby_mode = 1
[dram_para]
dram_baseaddr = 0x40000000
dram_clk = 408
dram_type = 3
dram_rank_num = -1
dram_chip_density = -1
dram_io_width = -1
dram_bus_width = -1
dram_cas = 6
dram_zq = 0x7b
dram_odt_en = 0
dram_size = -1
dram_tpr0 = 0x30926692
dram_tpr1 = 0x1090
dram_tpr2 = 0x1a0c8
dram_tpr3 = 0x0
dram_tpr4 = 0x1
dram_tpr5 = 0x0
dram_emr1 = 0x4
dram_emr2 = 0x0
dram_emr3 = 0x0
[mali_para]
mali_used = 1
mali_clkdiv = 1
[emac_para]
emac_used = 1
emac_rxd3 = port:PA00<2><default><default><default>
emac_rxd2 = port:PA01<2><default><default><default>
emac_rxd1 = port:PA02<2><default><default><default>
emac_rxd0 = port:PA03<2><default><default><default>
emac_txd3 = port:PA04<2><default><default><default>
emac_txd2 = port:PA05<2><default><default><default>
emac_txd1 = port:PA06<2><default><default><default>
emac_txd0 = port:PA07<2><default><default><default>
emac_rxclk = port:PA08<2><default><default><default>
emac_rxerr = port:PA09<2><default><default><default>
emac_rxdV = port:PA10<2><default><default><default>
emac_mdc = port:PA11<2><default><default><default>
emac_mdio = port:PA12<2><default><default><default>
emac_txen = port:PA13<2><default><default><default>
emac_txclk = port:PA14<2><default><default><default>
emac_crs = port:PA15<2><default><default><default>
emac_col = port:PA16<2><default><default><default>
[twi0_para]
twi0_used = 1
twi0_scl = port:PB00<2><default><default><default>
twi0_sda = port:PB01<2><default><default><default>
[twi1_para]
twi1_used = 0
twi1_scl = port:PB18<2><default><default><default>
twi1_sda = port:PB19<2><default><default><default>
[twi2_para]
twi2_used = 0
twi2_scl = port:PB20<2><default><default><default>
twi2_sda = port:PB21<2><default><default><default>
[uart_para0]
uart_used = 1
uart_port = 0
uart_type = 2
uart_tx = port:PB22<2><1><default><default>
uart_rx = port:PB23<2><1><default><default>
[uart_para1]
uart_used = 0
uart_port = 1
uart_type = 8
uart_tx = port:PA10<4><1><default><default>
uart_rx = port:PA11<4><1><default><default>
uart_rts = port:PA12<4><1><default><default>
uart_cts = port:PA13<4><1><default><default>
uart_dtr = port:PA14<4><1><default><default>
uart_dsr = port:PA15<4><1><default><default>
uart_dcd = port:PA16<4><1><default><default>
uart_ring = port:PA17<4><1><default><default>
[uart_para2]
uart_used = 1
uart_port = 2
uart_type = 2
uart_tx = port:PI18<3><1><default><default>
uart_rx = port:PI19<3><1><default><default>
[uart_para3]
uart_used = 0
uart_port = 3
uart_type = 2
uart_tx = port:PG10<4><1><default><default>
uart_rx = port:PG11<4><1><default><default>
[uart_para4]
uart_used = 0
uart_port = 4
uart_type = 2
uart_tx = port:PI10<4><1><default><default>
uart_rx = port:PI11<4><1><default><default>
[uart_para5]
uart_used = 1
uart_port = 5
uart_type = 2
uart_tx = port:PI10<3><1><default><default>
uart_rx = port:PI11<3><1><default><default>
[uart_para6]
uart_used = 1
uart_port = 6
uart_type = 2
uart_tx = port:PI12<3><1><default><default>
uart_rx = port:PI13<3><1><default><default>
[uart_para7]
uart_used = 0
uart_port = 7
uart_type = 2
uart_tx = port:PA14<4><1><default><default>
uart_rx = port:PA15<4><1><default><default>
[spi0_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PI10<2><default><default><default>
spi_cs1 = port:PI14<2><default><default><default>
spi_sclk = port:PI11<2><default><default><default>
spi_mosi = port:PI12<2><default><default><default>
spi_miso = port:PI13<2><default><default><default>
[spi1_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA00<3><default><default><default>
spi_cs1 = port:PA04<3><default><default><default>
spi_sclk = port:PA01<3><default><default><default>
spi_mosi = port:PA02<3><default><default><default>
spi_miso = port:PA03<3><default><default><default>
[spi2_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PC19<3><default><default><default>
spi_cs1 = port:PB13<2><default><default><default>
spi_sclk = port:PC20<3><default><default><default>
spi_mosi = port:PC21<3><default><default><default>
spi_miso = port:PC22<3><default><default><default>
[spi3_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA05<3><default><default><default>
spi_cs1 = port:PA09<3><default><default><default>
spi_sclk = port:PA06<3><default><default><default>
spi_mosi = port:PA07<3><default><default><default>
spi_miso = port:PA08<3><default><default><default>
[ctp_para]
ctp_used = 0
ctp_name = "gt811"
ctp_twi_id = 2
ctp_twi_addr = 0x40
ctp_screen_max_x = 1024
ctp_screen_max_y = 600
ctp_revert_x_flag = 0
ctp_revert_y_flag = 0
ctp_exchange_x_y_flag = 1
ctp_firm = 1
ctp_int_port = port:PH21<6><default><default><default>
ctp_wakeup = port:PB13<1><default><default><1>
[ctp_list_para]
ctp_det_used = 0
ft5x_ts = 0
gt82x = 0
gslX680 = 0
gt9xx_ts = 0
gt811 = 0
[tkey_para]
tkey_used = 0
tkey_twi_id = 2
tkey_twi_addr = 0x62
tkey_int = port:PI13<6><default><default><default>
[motor_para]
motor_used = 0
motor_shake = port:PB03<1><default><default><1>
[gpio_para]
gpio_used = 1
gpio_num = 6
gpio_pin_1 = port:PB10<1><default><default><1>
gpio_pin_2 = port:PB11<1><default><default><1>
gpio_pin_3 = port:PH18<6><default><default><default>
gpio_pin_4 = port:PH19<6><default><default><default>
gpio_pin_5 = port:PH20<6><default><default><default>
gpio_pin_6 = port:PH21<6><default><default><default>
[gpio_init]
gpio_pin_1 = port:PB10<1><default><default><1>
gpio_pin_2 = port:PB11<1><default><default><1>
gpio_pin_3 = port:PH18<6><default><default><default>
gpio_pin_4 = port:PH19<6><default><default><default>
gpio_pin_5 = port:PH20<6><default><default><default>
gpio_pin_6 = port:PH21<6><default><default><default>
[nand_para]
nand_used = 1
nand_we = port:PC00<2><default><default><default>
nand_ale = port:PC01<2><default><default><default>
nand_cle = port:PC02<2><default><default><default>
nand_ce1 = port:PC03<2><default><default><default>
nand_ce0 = port:PC04<2><default><default><default>
nand_nre = port:PC05<2><default><default><default>
nand_rb0 = port:PC06<2><default><default><default>
nand_rb1 = port:PC07<2><default><default><default>
nand_d0 = port:PC08<2><default><default><default>
nand_d1 = port:PC09<2><default><default><default>
nand_d2 = port:PC10<2><default><default><default>
nand_d3 = port:PC11<2><default><default><default>
nand_d4 = port:PC12<2><default><default><default>
nand_d5 = port:PC13<2><default><default><default>
nand_d6 = port:PC14<2><default><default><default>
nand_d7 = port:PC15<2><default><default><default>
nand_wp = port:PC16<2><default><default><default>
nand_ce2 = port:PC17<2><default><default><default>
nand_ce3 = port:PC18<2><default><default><default>
nand_ce4 =
nand_ce5 =
nand_ce6 =
nand_ce7 =
nand_spi = port:PC23<3><default><default><default>
nand_ndqs = port:PC24<2><default><default><default>
good_block_ratio = 0
[disp_init]
disp_init_enable = 0
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 4
screen1_output_type = 0
screen1_output_mode = 4
fb0_width = 1024
fb0_height = 768
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_width = 1024
fb1_height = 768
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_backlight = 197
lcd1_backlight = 197
lcd0_bright = 50
lcd0_contrast = 50
lcd0_saturation = 57
lcd0_hue = 50
lcd1_bright = 50
lcd1_contrast = 50
lcd1_saturation = 57
lcd1_hue = 50
[lcd0_para]
lcd_used = 0
lcd_x = 1024
lcd_y = 600
lcd_dclk_freq = 51
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 1
lcd_max_bright = 240
lcd_min_bright = 64
lcd_if = 0
lcd_hbp = 158
lcd_ht = 1344
lcd_vbp = 25
lcd_vt = 1270
lcd_vspw = 3
lcd_hspw = 20
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 1
lcd_io_cfg0 = 0
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 0
lcd_bl_en = port:PH07<1><0><default><1>
lcd_power_used = 0
lcd_power = port:PH08<1><0><default><1>
lcd_pwm_used = 0
lcd_pwm = port:PB02<2><0><default><default>
lcdd0 = port:PD00<2><0><default><default>
lcdd1 = port:PD01<2><0><default><default>
lcdd2 = port:PD02<2><0><default><default>
lcdd3 = port:PD03<2><0><default><default>
lcdd4 = port:PD04<2><0><default><default>
lcdd5 = port:PD05<2><0><default><default>
lcdd6 = port:PD06<2><0><default><default>
lcdd7 = port:PD07<2><0><default><default>
lcdd8 = port:PD08<2><0><default><default>
lcdd9 = port:PD09<2><0><default><default>
lcdd10 = port:PD10<2><0><default><default>
lcdd11 = port:PD11<2><0><default><default>
lcdd12 = port:PD12<2><0><default><default>
lcdd13 = port:PD13<2><0><default><default>
lcdd14 = port:PD14<2><0><default><default>
lcdd15 = port:PD15<2><0><default><default>
lcdd16 = port:PD16<2><0><default><default>
lcdd17 = port:PD17<2><0><default><default>
lcdd18 = port:PD18<2><0><default><default>
lcdd19 = port:PD19<2><0><default><default>
lcdd20 = port:PD20<2><0><default><default>
lcdd21 = port:PD21<2><0><default><default>
lcdd22 = port:PD22<2><0><default><default>
lcdd23 = port:PD23<2><0><default><default>
lcdclk = port:PD24<2><0><default><default>
lcdde = port:PD25<2><0><default><default>
lcdhsync = port:PD26<2><0><default><default>
lcdvsync = port:PD27<2><0><default><default>
[lcd1_para]
lcd_used = 0
lcd_x = 0
lcd_y = 0
lcd_dclk_freq = 0
lcd_pwm_not_used = 0
lcd_pwm_ch = 1
lcd_pwm_freq = 0
lcd_pwm_pol = 0
lcd_max_bright = 240
lcd_min_bright = 64
lcd_if = 0
lcd_hbp = 0
lcd_ht = 0
lcd_vbp = 0
lcd_vt = 0
lcd_vspw = 0
lcd_hspw = 0
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_cfg0 = 0
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 0
lcd_bl_en =
lcd_power_used = 0
lcd_power =
lcd_pwm_used = 1
lcd_pwm = port:PI03<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PH00<2><0><default><default>
lcdd1 = port:PH01<2><0><default><default>
lcdd2 = port:PH02<2><0><default><default>
lcdd3 = port:PH03<2><0><default><default>
lcdd4 = port:PH04<2><0><default><default>
lcdd5 = port:PH05<2><0><default><default>
lcdd6 = port:PH06<2><0><default><default>
lcdd7 = port:PH07<2><0><default><default>
lcdd8 = port:PH08<2><0><default><default>
lcdd9 = port:PH09<2><0><default><default>
lcdd10 = port:PH10<2><0><default><default>
lcdd11 = port:PH11<2><0><default><default>
lcdd12 = port:PH12<2><0><default><default>
lcdd13 = port:PH13<2><0><default><default>
lcdd14 = port:PH14<2><0><default><default>
lcdd15 = port:PH15<2><0><default><default>
lcdd16 = port:PH16<2><0><default><default>
lcdd17 = port:PH17<2><0><default><default>
lcdd18 = port:PH18<2><0><default><default>
lcdd19 = port:PH19<2><0><default><default>
lcdd20 = port:PH20<2><0><default><default>
lcdd21 = port:PH21<2><0><default><default>
lcdd22 = port:PH22<2><0><default><default>
lcdd23 = port:PH23<2><0><default><default>
lcdclk = port:PH24<2><0><default><default>
lcdde = port:PH25<2><0><default><default>
lcdhsync = port:PH26<2><0><default><default>
lcdvsync = port:PH27<2><0><default><default>
[tv_out_dac_para]
dac_used = 0
dac0_src = 4
dac1_src = 5
dac2_src = 6
dac3_src = 0
[hdmi_para]
hdmi_used = 0
[camera_list_para]
camera_list_para_used = 0
ov7670 = 0
gc0308 = 1
gt2005 = 1
hi704 = 0
sp0838 = 0
mt9m112 = 0
mt9m113 = 0
ov2655 = 0
hi253 = 0
gc0307 = 0
mt9d112 = 0
ov5640 = 0
gc2015 = 0
ov2643 = 0
gc0329 = 0
gc0309 = 0
tvp5150 = 0
s5k4ec = 0
ov5650_mv9335 = 0
siv121d = 0
gc2035 = 0
[csi0_para]
csi_used = 0
csi_dev_qty = 2
csi_stby_mode = 0
csi_mname = "gc0308"
csi_twi_id = 1
csi_twi_addr = 0x42
csi_if = 0
csi_vflip = 0
csi_hflip = 0
csi_iovdd = "axp20_pll"
csi_avdd = ""
csi_dvdd = ""
csi_vol_iovdd = 2800
csi_vol_dvdd =
csi_vol_avdd =
csi_flash_pol = 0
csi_mname_b = "gt2005"
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 0
csi_hflip_b = 0
csi_iovdd_b = "axp20_pll"
csi_avdd_b = ""
csi_dvdd_b = ""
csi_vol_iovdd_b = 2800
csi_vol_avdd_b =
csi_vol_dvdd_b =
csi_flash_pol_b = 0
csi_pck = port:PE00<3><default><default><default>
csi_ck = port:PE01<3><default><default><default>
csi_hsync = port:PE02<3><default><default><default>
csi_vsync = port:PE03<3><default><default><default>
csi_d0 = port:PE04<3><default><default><default>
csi_d1 = port:PE05<3><default><default><default>
csi_d2 = port:PE06<3><default><default><default>
csi_d3 = port:PE07<3><default><default><default>
csi_d4 = port:PE08<3><default><default><default>
csi_d5 = port:PE09<3><default><default><default>
csi_d6 = port:PE10<3><default><default><default>
csi_d7 = port:PE11<3><default><default><default>
csi_reset = port:PH14<1><default><default><0>
csi_power_en = port:PH17<1><default><default><0>
csi_stby = port:PH19<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b = port:PH14<1><default><default><0>
csi_power_en_b = port:PH17<1><default><default><0>
csi_stby_b = port:PH18<1><default><default><0>
csi_flash_b =
csi_af_en_b =
[csi1_para]
csi_used = 0
csi_dev_qty = 1
csi_stby_mode = 0
csi_mname = "gc0308"
csi_if = 0
csi_iovdd = "axp20_pll"
csi_avdd = ""
csi_dvdd = ""
csi_vol_iovdd = 2800
csi_vol_dvdd =
csi_vol_avdd =
csi_vflip = 0
csi_hflip = 0
csi_flash_pol = 0
csi_facing = 1
csi_twi_id = 1
csi_twi_addr = 0x42
csi_pck = port:PG00<3><default><default><default>
csi_ck = port:PG01<3><default><default><default>
csi_hsync = port:PG02<3><default><default><default>
csi_vsync = port:PG03<3><default><default><default>
csi_d0 = port:PG04<3><default><default><default>
csi_d1 = port:PG05<3><default><default><default>
csi_d2 = port:PG06<3><default><default><default>
csi_d3 = port:PG07<3><default><default><default>
csi_d4 = port:PG08<3><default><default><default>
csi_d5 = port:PG09<3><default><default><default>
csi_d6 = port:PG10<3><default><default><default>
csi_d7 = port:PG11<3><default><default><default>
csi_reset = port:PH13<1><default><default><0>
csi_power_en = port:PH16<1><default><default><0>
csi_stby = port:PH19<1><default><default><0>
[tvout_para]
tvout_used = 0
tvout_channel_num = 1
[tvin_para]
tvin_used = 0
tvin_channel_num = 4
[pwm0_para]
pwm_used = 1
pwm_period = 20
pwm_duty_percent = 50
[pwm1_para]
pwm_used = 1
pwm_period = 20
pwm_duty_percent = 50
[sata_para]
sata_used = 0
sata_power_en = port:PB08<1><default><default><0>
[mmc0_para]
sdc_used = 1
sdc_detmode = 1
sdc_buswidth = 4
sdc_clk = port:PF02<2><1><2><default>
sdc_cmd = port:PF03<2><1><2><default>
sdc_d0 = port:PF01<2><1><2><default>
sdc_d1 = port:PF00<2><1><2><default>
sdc_d2 = port:PF05<2><1><2><default>
sdc_d3 = port:PF04<2><1><2><default>
sdc_det = port:PB09<0><1><default><default>
sdc_use_wp = 0
sdc_wp =
sdc_isio = 0
sdc_regulator = "none"
[mmc1_para]
sdc_used = 0
sdc_detmode = 4
sdc_buswidth = 4
sdc_clk = port:PG00<2><1><2><default>
sdc_cmd = port:PG01<2><1><2><default>
sdc_d0 = port:PG02<2><1><2><default>
sdc_d1 = port:PG03<2><1><2><default>
sdc_d2 = port:PG04<2><1><2><default>
sdc_d3 = port:PG05<2><1><2><default>
sdc_det =
sdc_use_wp = 0
sdc_wp =
sdc_isio = 0
sdc_regulator = "none"
[mmc2_para]
sdc_used = 0
sdc_detmode = 3
sdc_buswidth = 4
sdc_cmd = port:PC06<3><1><2><default>
sdc_clk = port:PC07<3><1><2><default>
sdc_d0 = port:PC08<3><1><2><default>
sdc_d1 = port:PC09<3><1><2><default>
sdc_d2 = port:PC10<3><1><2><default>
sdc_d3 = port:PC11<3><1><2><default>
sdc_det =
sdc_use_wp = 0
sdc_wp =
sdc_isio = 0
sdc_regulator = "none"
[mmc3_para]
sdc_used = 1
sdc_detmode = 3
sdc_buswidth = 4
sdc_cmd = port:PI04<2><1><2><default>
sdc_clk = port:PI05<2><1><2><default>
sdc_d0 = port:PI06<2><1><2><default>
sdc_d1 = port:PI07<2><1><2><default>
sdc_d2 = port:PI08<2><1><2><default>
sdc_d3 = port:PI09<2><1><2><default>
sdc_det =
sdc_use_wp = 0
sdc_wp =
sdc_isio = 0
sdc_regulator = "none"
[ms_para]
ms_used = 0
ms_bs = port:PH06<5><default><default><default>
ms_clk = port:PH07<5><default><default><default>
ms_d0 = port:PH08<5><default><default><default>
ms_d1 = port:PH09<5><default><default><default>
ms_d2 = port:PH10<5><default><default><default>
ms_d3 = port:PH11<5><default><default><default>
ms_det =
[smc_para]
smc_used = 0
smc_rst = port:PH13<5><default><default><default>
smc_vppen = port:PH14<5><default><default><default>
smc_vppp = port:PH15<5><default><default><default>
smc_det = port:PH16<5><default><default><default>
smc_vccen = port:PH17<5><default><default><default>
smc_sck = port:PH18<5><default><default><default>
smc_sda = port:PH19<5><default><default><default>
[ps2_0_para]
ps2_used = 0
ps2_scl = port:PI20<2><1><default><default>
ps2_sda = port:PI21<2><1><default><default>
[ps2_1_para]
ps2_used = 0
ps2_scl = port:PI14<3><1><default><default>
ps2_sda = port:PI15<3><1><default><default>
[can_para]
can_used = 0
can_tx = port:PA16<3><default><default><default>
can_rx = port:PA17<3><default><default><default>
[keypad_para]
kp_used = 0
kp_in_size = 8
kp_out_size = 8
kp_in0 = port:PH08<4><1><default><default>
kp_in1 = port:PH09<4><1><default><default>
kp_in2 = port:PH10<4><1><default><default>
kp_in3 = port:PH11<4><1><default><default>
kp_in4 = port:PH14<4><1><default><default>
kp_in5 = port:PH15<4><1><default><default>
kp_in6 = port:PH16<4><1><default><default>
kp_in7 = port:PH17<4><1><default><default>
kp_out0 = port:PH18<4><1><default><default>
kp_out1 = port:PH19<4><1><default><default>
kp_out2 = port:PH22<4><1><default><default>
kp_out3 = port:PH23<4><1><default><default>
kp_out4 = port:PH24<4><1><default><default>
kp_out5 = port:PH25<4><1><default><default>
kp_out6 = port:PH26<4><1><default><default>
kp_out7 = port:PH27<4><1><default><default>
[usbc0]
usb_used = 1
usb_port_type = 2
usb_detect_type = 1
usb_id_gpio = port:PC19<0><1><default><default>
usb_det_vbus_gpio = "axp_ctrl"
usb_det_vbus_gpio = port:PC20<0><0><default><default>
usb_drv_vbus_gpio = port:PC21<1><0><default><0>
usb_restrict_gpio = 0
usb_host_init_state = 1
usb_restric_flag = 0
usb_restric_voltage = 3550000
usb_restric_capacity = 5
[usbc1]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_drv_vbus_gpio = port:PB10<1><0><default><0>
usb_restrict_gpio =
usb_host_init_state = 1
usb_restric_flag = 0
[usbc2]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_drv_vbus_gpio = port:PB11<1><0><default><0>
usb_restrict_gpio =
usb_host_init_state = 1
usb_restric_flag = 0
[usb_feature]
vendor_id = 6353
mass_storage_id = 1
adb_id = 2
manufacturer_name = "USB Developer"
product_name = "Android"
serial_number = "20080411"
[msc_feature]
vendor_name = "USB 2.0"
product_name = "USB Flash Driver"
release = 100
luns = 2
[gsensor_para]
gsensor_used = 0
gsensor_twi_id = 1
gsensor_int1 =
gsensor_int2 =
[gsensor_list_para]
gsensor_det_used = 0
bma250 = 1
mma8452 = 1
mma7660 = 1
mma865x = 1
afa750 = 1
lis3de_acc = 1
lis3dh_acc = 1
kxtik = 1
dmard10 = 0
dmard06 = 1
mxc622x = 1
fxos8700 = 1
lsm303d = 1
[gps_para]
gps_used = 0
gps_spi_id = 2
gps_spi_cs_num = 0
gps_lradc = 1
gps_clk = port:PI00<2><default><default><default>
gps_sign = port:PI01<2><default><default><default>
gps_mag = port:PI02<2><default><default><default>
gps_vcc_en = port:PC22<1><default><default><0>
gps_osc_en = port:PI14<1><default><default><0>
gps_rx_en = port:PI15<1><default><default><0>
[wifi_para]
wifi_used = 1
wifi_usbc_id = 2
wifi_usbc_type = 1
wifi_power = ""
[usb_wifi_para]
usb_wifi_used = 1
usb_wifi_usbc_num = 2
[3g_para]
3g_used = 0
3g_usbc_num = 2
3g_uart_num = 0
3g_pwr =
3g_wakeup =
3g_int =
[gy_para]
gy_used = 0
gy_twi_id = 1
gy_twi_addr = 0
gy_int1 = port:PH18<6><1><default><default>
gy_int2 = port:PH19<6><1><default><default>
[ls_para]
ls_used = 0
ls_twi_id = 1
ls_twi_addr = 0
ls_int = port:PH20<6><1><default><default>
[compass_para]
compass_used = 0
compass_twi_id = 1
compass_twi_addr = 0
compass_int = port:PI13<6><1><default><default>
[bt_para]
bt_used = 1
[i2s_para]
i2s_used = 0
i2s_channel = 2
i2s_mclk = port:PB05<2><1><default><default>
i2s_bclk = port:PB06<2><1><default><default>
i2s_lrclk = port:PB07<2><1><default><default>
i2s_dout0 = port:PB08<2><1><default><default>
i2s_dout1 =
i2s_dout2 =
i2s_dout3 =
i2s_din = port:PB12<2><1><default><default>
[spdif_para]
spdif_used = 0
spdif_mclk =
spdif_dout = port:PB13<4><1><default><default>
spdif_din =
[audio_para]
audio_used = 1
audio_pa_ctrl = port:PH15<1><default><default><1>
[switch_para]
switch_used = 1
[leds_para]
leds_used = 1
leds_num = 2
leds_pin_1 = port:PE06<1><default><default><0>
leds_name_1 = "green:pe06:led1"
leds_default_1 = 1
leds_trigger_1 = "cpu0"
leds_pin_2 = port:PE07<1><default><default><0>
leds_name_2 = "yellow:pe07:led2"
leds_default_2 = 1
leds_trigger_2 = "heartbeat"
[ir_para]
ir_used = 0
ir0_rx = port:PB04<2><default><default><default>
[pmu_para]
pmu_used = 1
pmu_twi_addr = 52
pmu_twi_id = 0
pmu_irq_id = 32
pmu_battery_rdc = 120
pmu_battery_cap = 2200
pmu_init_chgcur = 500
pmu_earlysuspend_chgcur = 600
pmu_suspend_chgcur = 1000
pmu_resume_chgcur = 300
pmu_shutdown_chgcur = 1000
pmu_init_chgvol = 4200
pmu_init_chgend_rate = 15
pmu_init_chg_enabled = 1
pmu_init_adc_freq = 100
pmu_init_adc_freqc = 100
pmu_init_chg_pretime = 50
pmu_init_chg_csttime = 720
pmu_bat_para1 = 0
pmu_bat_para2 = 0
pmu_bat_para3 = 0
pmu_bat_para4 = 0
pmu_bat_para5 = 5
pmu_bat_para6 = 11
pmu_bat_para7 = 13
pmu_bat_para8 = 15
pmu_bat_para9 = 19
pmu_bat_para10 = 32
pmu_bat_para11 = 50
pmu_bat_para12 = 58
pmu_bat_para13 = 71
pmu_bat_para14 = 81
pmu_bat_para15 = 89
pmu_bat_para16 = 100
pmu_usbvol_limit = 1
pmu_usbcur_limit = 0
pmu_usbvol = 4000
pmu_usbcur = 0
pmu_usbvol_pc = 4200
pmu_usbcur_pc = 0
pmu_pwroff_vol = 3300
pmu_pwron_vol = 2900
pmu_pekoff_time = 6000
pmu_pekoff_en = 1
pmu_peklong_time = 1500
pmu_pekon_time = 1000
pmu_pwrok_time = 64
pmu_pwrnoe_time = 2000
pmu_intotp_en = 1
pmu_used2 = 0
pmu_adpdet = port:PH02<0><default><default><default>
pmu_init_chgcur2 = 400
pmu_earlysuspend_chgcur2 = 600
pmu_suspend_chgcur2 = 1200
pmu_resume_chgcur2 = 400
pmu_shutdown_chgcur2 = 1200
pmu_suspendpwroff_vol = 3500
pmu_batdeten = 1
pmu_backupen = 1
pmu_backup_rtc_enabled = 1
pmu_backup_chgvol = 3000
pmu_backup_chgcur = 50
[recovery_key]
key_min = 4
key_max = 40
[dvfs_table]
max_freq = 1008000000
min_freq = 312000000
normal_freq = 528000000
LV_count = 7
LV1_freq = 1008000000
LV1_volt = 1450
LV2_freq = 912000000
LV2_volt = 1425
LV3_freq = 864000000
LV3_volt = 1350
LV4_freq = 720000000
LV4_volt = 1250
LV5_freq = 528000000
LV5_volt = 1150
LV6_freq = 312000000
LV6_volt = 1100
LV7_freq = 144000000
LV7_volt = 1050

View file

@ -277,6 +277,7 @@ ctp_firm = 1
ctp_int_port = port:PH21<6><default><default><default> ctp_int_port = port:PH21<6><default><default><default>
ctp_wakeup = port:PB13<1><default><default><1> ctp_wakeup = port:PB13<1><default><default><1>
[ctp_list_para] [ctp_list_para]
ctp_det_used = 0 ctp_det_used = 0
ft5x_ts = 0 ft5x_ts = 0
@ -895,19 +896,12 @@ gps_vcc_en = port:PC22<1><default><default><0>
gps_osc_en = port:PI14<1><default><default><0> gps_osc_en = port:PI14<1><default><default><0>
gps_rx_en = port:PI15<1><default><default><0> gps_rx_en = port:PI15<1><default><default><0>
[wifi_para] [sdio_wifi_pro_para]
wifi_used = 0 sdio_wifi_pro_used = 1
wifi_sdc_id = 3 sdio_wifi_pro_sdc_id = 3
wifi_usbc_id = 2 sdio_wifi_pro_mod_sel = 7
wifi_usbc_type = 1 ap6xxx_wl_regon = port:PH22<1><default><default><0>
wifi_mod_sel = 6 ap6xxx_wl_vdd_en = port:PH27<1><default><default><0>
wifi_power = ""
ap6xxx_wl_regon = port:PH09<1><default><default><0>
ap6xxx_wl_host_wake = port:PH10<0><default><default><0>
ap6xxx_bt_regon = port:PH18<1><default><default><0>
ap6xxx_bt_wake = port:PH24<1><default><default><0>
ap6xxx_bt_host_wake = port:PH25<0><default><default><0>
ap6xxx_lpo = port:PI12<4><1><default><1>
[usb_wifi_para] [usb_wifi_para]
usb_wifi_used = 1 usb_wifi_used = 1
@ -948,7 +942,7 @@ bt_gpio = port:PI21<1><default><default><default>
bt_rst = port:PB05<1><default><default><default> bt_rst = port:PB05<1><default><default><default>
[i2s_para] [i2s_para]
i2s_used = 1 i2s_used = 0
i2s_channel = 2 i2s_channel = 2
i2s_mclk = port:PB05<2><1><default><default> i2s_mclk = port:PB05<2><1><default><default>
i2s_bclk = port:PB06<2><1><default><default> i2s_bclk = port:PB06<2><1><default><default>

1066
config/bananapilcd7.fex Normal file

File diff suppressed because it is too large Load diff

1066
config/bananapipro.fex Normal file

File diff suppressed because it is too large Load diff

1063
config/bananapiprolcd7.fex Normal file

File diff suppressed because it is too large Load diff

4
config/boot-cubox.cmd Normal file
View file

@ -0,0 +1,4 @@
setenv bootargs root=/dev/mmcblk0p1 rootfstype=ext4 rootwait console=tty1 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 rd.dm=0 rd.luks=0 rd.lvm=0 raid=noautodetect pci=nomsi ahci_imx.hotplug=1 consoleblank=0 vt.global_cursor_default=0 quiet
ext2load mmc 0 0x18000000 /boot/dtb/${fdt_file}
ext2load mmc 0 0x12000000 /boot/zImage
bootz 0x12000000 - 0x18000000

5
config/boot-guitar.cmd Normal file
View file

@ -0,0 +1,5 @@
setenv bootargs "earlyprintk clk_ignore_unused selinux=0 scandelay root=/dev/mmcblk1p2 rw console=tty0 rootfstype=ext4 console=ttyS3 loglevel=4 rootwait"
setenv os_type linux
fatload mmc 0:1 0x04000000 dtb/lemaker_guitar_bbb.dtb
fatload mmc 0:1 0x7fc0 zImage
bootz 0x7fc0 - 0x04000000

5
config/boot-next.cmd Normal file
View file

@ -0,0 +1,5 @@
setenv bootargs console=tty1 root=/dev/mmcblk0p1 rootwait panic=10 consoleblank=0
ext4load mmc 0 0x49000000 /boot/dtb/${fdtfile}
ext4load mmc 0 0x46000000 /boot/zImage
env set fdt_high ffffffff
bootz 0x46000000 - 0x49000000

9
config/boot-udoo-neo.cmd Normal file
View file

@ -0,0 +1,9 @@
setenv fdt_file imx6sx-udoo-neo-hdmi-m4.dtb
setenv bootargs root=/dev/mmcblk0p1 rootfstype=ext4 rootwait console=ttymxc0,115200 rd.dm=0 rd.luks=0 rd.lvm=0 rw uart_from_osc loglevel=1
ext2load mmc ${mmcdev}:${mmcpart} 0x84000000 /boot/bin/m4startup.fw
ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot${image}
ext2load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/dtb/${fdt_file}
bootaux 0x84000000
bootz ${loadaddr} - ${fdt_addr}
# Recompile: mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
# (c) www.armbian.com

View file

@ -0,0 +1,5 @@
setenv bootargs root=/dev/mmcblk0p1 rootfstype=ext4 rootwait console=tty1 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 ahci_imx.hotplug=1 quiet loglevel=1
ext2load mmc 0 0x18000000 /boot/dtb/imx6q-udoo.dtb
ext2load mmc 0 0x12000000 /boot/zImage
bootz 0x12000000 - 0x18000000
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

7
config/boot-udoo.cmd Normal file
View file

@ -0,0 +1,7 @@
setenv bootargs root=/dev/mmcblk0p1 rootfstype=ext4 rootwait console=tty1 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 rd.dm=0 rd.luks=0 rd.lvm=0 raid=noautodetect pci=nomsi ahci_imx.hotplug=1 quiet
setenv fdt_file imx6q-udoo.dtb
ext2load mmc 0 ${fdt_addr} /boot/dtb/${fdt_file} || fatload mmc 0 ${fdt_addr} dtb/${fdt_file}
ext2load mmc 0 ${loadaddr} /boot/${image} || fatload mmc 0 ${loadaddr} ${image}
bootz ${loadaddr} - ${fdt_addr}
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

View file

@ -1,5 +1,25 @@
setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10 # if you want to boot jessie with systemd: setenv bootargs init=/bin/systemd console=tty1 ...
ext4load mmc 0 0x46000000 /boot/uImage # remember to disable ramlog prior switching to systemd
ext4load mmc 0 0x49000000 /boot/dtb/WHICH setenv bootargs "console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1"
#--------------------------------------------------------------------------------------------------------------------------------
# Boot loader script to boot with different boot methods for old and new kernel
#--------------------------------------------------------------------------------------------------------------------------------
if ext4load mmc 0 0x00000000 /boot/.next || fatload mmc 0 0x00000000 .next
then
# sunxi mainline kernel
#--------------------------------------------------------------------------------------------------------------------------------
ext4load mmc 0 0x49000000 /boot/dtb/${fdtfile} || fatload mmc 0 0x49000000 /dtb/${fdtfile}
ext4load mmc 0 0x46000000 /boot/zImage || fatload mmc 0 0x46000000 zImage
env set fdt_high ffffffff env set fdt_high ffffffff
bootm 0x46000000 - 0x49000000 bootz 0x46000000 - 0x49000000
#--------------------------------------------------------------------------------------------------------------------------------
else
# sunxi android kernel
#--------------------------------------------------------------------------------------------------------------------------------
ext4load mmc 0 0x43000000 /boot/script.bin || fatload mmc 0 0x43000000 script.bin
ext4load mmc 0 0x48000000 /boot/zImage || fatload mmc 0 0x48000000 zImage
bootz 0x48000000
#--------------------------------------------------------------------------------------------------------------------------------
fi
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

941
config/cubieboard.fex Normal file
View file

@ -0,0 +1,941 @@
[product]
version = "1.0"
machine = "A10-EVB-V1.2"
[target]
boot_clock = 1008
dcdc2_vol = 1400
dcdc3_vol = 1250
ldo2_vol = 3000
ldo3_vol = 2800
ldo4_vol = 2800
pll4_freq = 960
pll6_freq = 960
power_start = 0
storage_type = 0
[card_boot]
logical_start = 40960
sprite_gpio0 =
[card_boot0_para]
card_ctrl = 0
card_high_speed = 1
card_line = 4
sdc_d1 = port:PF00<2><1><default><default>
sdc_d0 = port:PF01<2><1><default><default>
sdc_clk = port:PF02<2><1><default><default>
sdc_cmd = port:PF03<2><1><default><default>
sdc_d3 = port:PF04<2><1><default><default>
sdc_d2 = port:PF05<2><1><default><default>
[card_boot2_para]
card_ctrl = 2
card_high_speed = 1
card_line = 4
sdc_cmd = port:PC06<3><1><default><default>
sdc_clk = port:PC07<3><1><default><default>
sdc_d0 = port:PC08<3><1><default><default>
sdc_d1 = port:PC09<3><1><default><default>
sdc_d2 = port:PC10<3><1><default><default>
sdc_d3 = port:PC11<3><1><default><default>
[twi_para]
twi_port = 0
twi_scl = port:PB00<2><default><default><default>
twi_sda = port:PB01<2><default><default><default>
[uart_para]
uart_debug_port = 0
uart_debug_tx = port:PB22<2><1><default><default>
uart_debug_rx = port:PB23<2><1><default><default>
[uart_force_debug]
uart_debug_port = 0
uart_debug_tx = port:PF02<4><default><default><default>
uart_debug_rx = port:PF04<4><default><default><default>
[jtag_para]
jtag_enable = 1
jtag_ms = port:PB14<3><default><default><default>
jtag_ck = port:PB15<3><default><default><default>
jtag_do = port:PB16<3><default><default><default>
jtag_di = port:PB17<3><default><default><default>
[dram_para]
dram_baseaddr = 0x40000000
dram_clk = 480
dram_type = 3
dram_rank_num = 1
dram_chip_density = 4096
dram_io_width = 16
dram_bus_width = 32
dram_cas = 6
dram_zq = 0x7b
dram_odt_en = 0
dram_size = 1024
dram_tpr0 = 0x30926692
dram_tpr1 = 0x1090
dram_tpr2 = 0x1a0c8
dram_tpr3 = 0x0
dram_tpr4 = 0x0
dram_tpr5 = 0x0
dram_emr1 = 0x0
dram_emr2 = 0x0
dram_emr3 = 0x0
[mali_para]
mali_used = 1
mali_clkdiv = 3
[g2d_para]
g2d_used = 1
g2d_size = 0x1000000
[emac_para]
emac_used = 1
emac_rxd3 = port:PA00<2><default><default><default>
emac_rxd2 = port:PA01<2><default><default><default>
emac_rxd1 = port:PA02<2><default><default><default>
emac_rxd0 = port:PA03<2><default><default><default>
emac_txd3 = port:PA04<2><default><default><default>
emac_txd2 = port:PA05<2><default><default><default>
emac_txd1 = port:PA06<2><default><default><default>
emac_txd0 = port:PA07<2><default><default><default>
emac_rxclk = port:PA08<2><default><default><default>
emac_rxerr = port:PA09<2><default><default><default>
emac_rxdV = port:PA10<2><default><default><default>
emac_mdc = port:PA11<2><default><default><default>
emac_mdio = port:PA12<2><default><default><default>
emac_txen = port:PA13<2><default><default><default>
emac_txclk = port:PA14<2><default><default><default>
emac_crs = port:PA15<2><default><default><default>
emac_col = port:PA16<2><default><default><default>
emac_reset = port:PA17<1><default><default><default>
[twi0_para]
twi0_used = 1
twi0_scl = port:PB00<2><default><default><default>
twi0_sda = port:PB01<2><default><default><default>
[twi1_para]
twi1_used = 1
twi1_scl = port:PB18<2><default><default><default>
twi1_sda = port:PB19<2><default><default><default>
[twi2_para]
twi2_used = 1
twi2_scl = port:PB20<2><default><default><default>
twi2_sda = port:PB21<2><default><default><default>
[uart_para0]
uart_used = 1
uart_port = 0
uart_type = 2
uart_tx = port:PB22<2><1><default><default>
uart_rx = port:PB23<2><1><default><default>
[uart_para1]
uart_used = 0
uart_port = 1
uart_type = 8
uart_tx = port:PA10<4><1><default><default>
uart_rx = port:PA11<4><1><default><default>
uart_rts = port:PA12<4><1><default><default>
uart_cts = port:PA13<4><1><default><default>
uart_dtr = port:PA14<4><1><default><default>
uart_dsr = port:PA15<4><1><default><default>
uart_dcd = port:PA16<4><1><default><default>
uart_ring = port:PA17<4><1><default><default>
[uart_para2]
uart_used = 1
uart_port = 2
uart_type = 4
uart_tx = port:PI18<3><1><default><default>
uart_rx = port:PI19<3><1><default><default>
uart_rts = port:PI16<3><1><default><default>
uart_cts = port:PI17<3><1><default><default>
[uart_para3]
uart_used = 0
uart_port = 3
uart_type = 4
uart_tx = port:PH00<4><1><default><default>
uart_rx = port:PH01<4><1><default><default>
uart_rts = port:PH02<4><1><default><default>
uart_cts = port:PH03<4><1><default><default>
[uart_para4]
uart_used = 0
uart_port = 4
uart_type = 2
uart_tx = port:PH04<4><1><default><default>
uart_rx = port:PH05<4><1><default><default>
[uart_para5]
uart_used = 0
uart_port = 5
uart_type = 2
uart_tx = port:PH06<4><1><default><default>
uart_rx = port:PH07<4><1><default><default>
[uart_para6]
uart_used = 0
uart_port = 6
uart_type = 2
uart_tx = port:PA12<4><1><default><default>
uart_rx = port:PA13<4><1><default><default>
[uart_para7]
uart_used = 0
uart_port = 7
uart_type = 2
uart_tx = port:PA14<4><1><default><default>
uart_rx = port:PA15<4><1><default><default>
[spi0_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PI10<3><default><default><default>
spi_sclk = port:PI11<3><default><default><default>
spi_mosi = port:PI12<3><default><default><default>
spi_miso = port:PI13<3><default><default><default>
[spi1_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA00<4><default><default><default>
spi_sclk = port:PA01<4><default><default><default>
spi_mosi = port:PA02<4><default><default><default>
spi_miso = port:PA03<4><default><default><default>
[spi2_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PB14<2><default><default><default>
spi_sclk = port:PB15<2><default><default><default>
spi_mosi = port:PB16<2><default><default><default>
spi_miso = port:PB17<2><default><default><default>
spi_cs0 = port:PC19<3><default><default><default>
spi_sclk = port:PC20<3><default><default><default>
spi_mosi = port:PC21<3><default><default><default>
spi_miso = port:PC22<3><default><default><default>
[spi3_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA05<3><default><default><default>
spi_sclk = port:PI06<3><default><default><default>
spi_mosi = port:PI07<3><default><default><default>
spi_miso = port:PI08<3><default><default><default>
spi_cs1 = port:PA09<3><default><default><default>
[spi_devices]
spi_dev_num = 0
[spi_board0]
modalias = "aaa"
max_speed_hz = 12000000
bus_num = 1
chip_select = 0
mode = 3
full_duplex = 0
manual_cs = 0
[rtp_para]
rtp_used = 1
rtp_screen_size = 5
rtp_regidity_level = 5
rtp_press_threshold_enable = 0
rtp_press_threshold = 0x1f40
rtp_sensitive_level = 0xf
rtp_exchange_x_y_flag = 0
[ctp_para]
ctp_used = 0
ctp_name = "ft5x_ts"
ctp_twi_id = 2
ctp_twi_addr = 0x70
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 0
ctp_revert_y_flag = 0
ctp_exchange_x_y_flag = 0
ctp_int_port = port:PH21<6><default><default><default>
ctp_wakeup = port:PB13<1><default><default><1>
ctp_io_port = port:PH21<0><default><default><default>
[tkey_para]
tkey_used = 0
tkey_name = "hv_keypad"
tkey_twi_id = 2
tkey_twi_addr = 0x62
tkey_int = port:PI13<6><default><default><default>
[motor_para]
motor_used = 0
motor_shake = port:PB03<1><default><default><1>
[nand_para]
nand_used = 1
nand_we = port:PC00<2><default><default><default>
nand_ale = port:PC01<2><default><default><default>
nand_cle = port:PC02<2><default><default><default>
nand_ce1 = port:PC03<2><default><default><default>
nand_ce0 = port:PC04<2><default><default><default>
nand_nre = port:PC05<2><default><default><default>
nand_rb0 = port:PC06<2><default><default><default>
nand_rb1 = port:PC07<2><default><default><default>
nand_d0 = port:PC08<2><default><default><default>
nand_d1 = port:PC09<2><default><default><default>
nand_d2 = port:PC10<2><default><default><default>
nand_d3 = port:PC11<2><default><default><default>
nand_d4 = port:PC12<2><default><default><default>
nand_d5 = port:PC13<2><default><default><default>
nand_d6 = port:PC14<2><default><default><default>
nand_d7 = port:PC15<2><default><default><default>
nand_wp = port:PC16<2><default><default><default>
nand_ce2 = port:PC17<2><default><default><default>
nand_ce3 = port:PC18<2><default><default><default>
nand_ce4 =
nand_ce5 =
nand_ce6 =
nand_ce7 =
nand_spi = port:PC23<3><default><default><default>
nand_ndqs = port:PC24<2><default><default><default>
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 4
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_bright = 197
lcd1_bright = 197
lcd0_screen_bright = 50
lcd0_screen_contrast = 50
lcd0_screen_saturation = 57
lcd0_screen_hue = 50
lcd1_screen_bright = 50
lcd1_screen_contrast = 50
lcd1_screen_saturation = 57
lcd1_screen_hue = 50
[lcd0_para]
lcd_used = 1
lcd_x = 800
lcd_y = 480
lcd_dclk_freq = 33
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 0
lcd_if = 0
lcd_hbp = 46
lcd_ht = 1055
lcd_vbp = 23
lcd_vt = 1050
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_cfg0 = 268435456
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 1
lcd_bl_en = port:PH07<1><0><default><1>
lcd_power_used = 1
lcd_power = port:PH08<1><0><default><1>
lcd_pwm_used = 1
lcd_pwm = port:PB02<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PD00<2><0><default><default>
lcdd1 = port:PD01<2><0><default><default>
lcdd2 = port:PD02<2><0><default><default>
lcdd3 = port:PD03<2><0><default><default>
lcdd4 = port:PD04<2><0><default><default>
lcdd5 = port:PD05<2><0><default><default>
lcdd6 = port:PD06<2><0><default><default>
lcdd7 = port:PD07<2><0><default><default>
lcdd8 = port:PD08<2><0><default><default>
lcdd9 = port:PD09<2><0><default><default>
lcdd10 = port:PD10<2><0><default><default>
lcdd11 = port:PD11<2><0><default><default>
lcdd12 = port:PD12<2><0><default><default>
lcdd13 = port:PD13<2><0><default><default>
lcdd14 = port:PD14<2><0><default><default>
lcdd15 = port:PD15<2><0><default><default>
lcdd16 = port:PD16<2><0><default><default>
lcdd17 = port:PD17<2><0><default><default>
lcdd18 = port:PD18<2><0><default><default>
lcdd19 = port:PD19<2><0><default><default>
lcdd20 = port:PD20<2><0><default><default>
lcdd21 = port:PD21<2><0><default><default>
lcdd22 = port:PD22<2><0><default><default>
lcdd23 = port:PD23<2><0><default><default>
lcdclk = port:PD24<2><0><default><default>
lcdde = port:PD25<2><0><default><default>
lcdhsync = port:PD26<2><0><default><default>
lcdvsync = port:PD27<2><0><default><default>
[lcd1_para]
lcd_used = 0
lcd_x = 0
lcd_y = 0
lcd_dclk_freq = 0
lcd_pwm_not_used = 0
lcd_pwm_ch = 1
lcd_pwm_freq = 0
lcd_pwm_pol = 0
lcd_if = 0
lcd_hbp = 0
lcd_ht = 0
lcd_vbp = 0
lcd_vt = 0
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_cfg0 = 0
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 0
lcd_bl_en =
lcd_power_used = 0
lcd_power =
lcd_pwm_used = 1
lcd_pwm = port:PI03<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PH00<2><0><default><default>
lcdd1 = port:PH01<2><0><default><default>
lcdd2 = port:PH02<2><0><default><default>
lcdd3 = port:PH03<2><0><default><default>
lcdd4 = port:PH04<2><0><default><default>
lcdd5 = port:PH05<2><0><default><default>
lcdd6 = port:PH06<2><0><default><default>
lcdd7 = port:PH07<2><0><default><default>
lcdd8 = port:PH08<2><0><default><default>
lcdd9 = port:PH09<2><0><default><default>
lcdd10 = port:PH10<2><0><default><default>
lcdd11 = port:PH11<2><0><default><default>
lcdd12 = port:PH12<2><0><default><default>
lcdd13 = port:PH13<2><0><default><default>
lcdd14 = port:PH14<2><0><default><default>
lcdd15 = port:PH15<2><0><default><default>
lcdd16 = port:PH16<2><0><default><default>
lcdd17 = port:PH17<2><0><default><default>
lcdd18 = port:PH18<2><0><default><default>
lcdd19 = port:PH19<2><0><default><default>
lcdd20 = port:PH20<2><0><default><default>
lcdd21 = port:PH21<2><0><default><default>
lcdd22 = port:PH22<2><0><default><default>
lcdd23 = port:PH23<2><0><default><default>
lcdclk = port:PH24<2><0><default><default>
lcdde = port:PH25<2><0><default><default>
lcdhsync = port:PH26<2><0><default><default>
lcdvsync = port:PH27<2><0><default><default>
[tv_out_dac_para]
dac_used = 1
dac0_src = 4
dac1_src = 5
dac2_src = 6
dac3_src = 0
[csi0_para]
csi_used = 1
csi_mode = 0
csi_dev_qty = 1
csi_stby_mode = 0
csi_mname = "gc0308"
csi_twi_id = 1
csi_twi_addr = 0x42
csi_if = 0
csi_vflip = 0
csi_hflip = 1
csi_iovdd = ""
csi_avdd = ""
csi_dvdd = ""
csi_flash_pol = 1
csi_mname_b = ""
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 1
csi_hflip_b = 0
csi_iovdd_b = ""
csi_avdd_b = ""
csi_dvdd_b = ""
csi_flash_pol_b = 1
csi_pck = port:PE00<3><default><default><default>
csi_ck = port:PE01<3><default><default><default>
csi_hsync = port:PE02<3><default><default><default>
csi_vsync = port:PE03<3><default><default><default>
csi_d0 = port:PE04<3><default><default><default>
csi_d1 = port:PE05<3><default><default><default>
csi_d2 = port:PE06<3><default><default><default>
csi_d3 = port:PE07<3><default><default><default>
csi_d4 = port:PE08<3><default><default><default>
csi_d5 = port:PE09<3><default><default><default>
csi_d6 = port:PE10<3><default><default><default>
csi_d7 = port:PE11<3><default><default><default>
csi_d8 =
csi_d9 =
csi_d10 =
csi_d11 =
csi_d12 =
csi_d13 =
csi_d14 =
csi_d15 =
csi_reset = port:PH13<1><default><default><0>
csi_power_en =
csi_stby = port:PH16<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b =
csi_power_en_b =
csi_stby_b =
csi_flash_b =
csi_af_en_b =
[csi1_para]
csi_used = 0
csi_mode = 0
csi_dev_qty = 1
csi_stby_mode = 1
csi_mname = ""
csi_twi_id = 1
csi_twi_addr = 0xba
csi_if = 0
csi_vflip = 0
csi_hflip = 0
csi_iovdd = ""
csi_avdd = ""
csi_dvdd = ""
csi_flash_pol = 1
csi_mname_b = ""
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 1
csi_hflip_b = 0
csi_iovdd_b = ""
csi_avdd_b = ""
csi_dvdd_b = ""
csi_flash_pol_b = 1
csi_pck = port:PG00<3><default><default><default>
csi_ck = port:PG01<3><default><default><default>
csi_hsync = port:PG02<3><default><default><default>
csi_vsync = port:PG03<3><default><default><default>
csi_field =
csi_d0 = port:PG04<3><default><default><default>
csi_d1 = port:PG05<3><default><default><default>
csi_d2 = port:PG06<3><default><default><default>
csi_d3 = port:PG07<3><default><default><default>
csi_d4 = port:PG08<3><default><default><default>
csi_d5 = port:PG09<3><default><default><default>
csi_d6 = port:PG10<3><default><default><default>
csi_d7 = port:PG11<3><default><default><default>
csi_d8 =
csi_d9 =
csi_d10 =
csi_d11 =
csi_d12 =
csi_d13 =
csi_d14 =
csi_d15 =
csi_d16 =
csi_d17 =
csi_d18 =
csi_d19 =
csi_d20 =
csi_d21 =
csi_d22 =
csi_d23 =
csi_reset = port:PH14<1><default><default><0>
csi_power_en =
csi_stby = port:PH17<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b =
csi_power_en_b =
csi_stby_b =
csi_flash_b =
csi_af_en_b =
[tvout_para]
tvout_used = 1
tvout_channel_num = 1
tv_en = port:PI12<1><default><default><0>
[tvin_para]
tvin_used = 0
tvin_channel_num = 4
[sata_para]
sata_used = 1
sata_power_en = port:PB08<1><default><default><0>
[mmc0_para]
sdc_used = 1
sdc_detmode = 1
bus_width = 4
sdc_d1 = port:PF00<2><1><2><default>
sdc_d0 = port:PF01<2><1><2><default>
sdc_clk = port:PF02<2><1><2><default>
sdc_cmd = port:PF03<2><1><2><default>
sdc_d3 = port:PF04<2><1><2><default>
sdc_d2 = port:PF05<2><1><2><default>
sdc_det = port:PH01<0><1><default><default>
sdc_use_wp = 0
sdc_wp =
[mmc1_para]
sdc_used = 1
sdc_detmode = 1
bus_width = 4
sdc_cmd = port:PH22<5><1><2><default>
sdc_clk = port:PH23<5><1><2><default>
sdc_d0 = port:PH24<5><1><2><default>
sdc_d1 = port:PH25<5><1><2><default>
sdc_d2 = port:PH26<5><1><2><default>
sdc_d3 = port:PH27<5><1><2><default>
sdc_det = port:PH02<0><1><default><default>
sdc_use_wp = 0
sdc_wp =
[mmc2_para]
sdc_used = 0
[mmc3_para]
sdc_used = 1
sdc_detmode = 4
bus_width = 4
sdc_cmd = port:PI04<2><1><2><default>
sdc_clk = port:PI05<2><1><2><default>
sdc_d0 = port:PI06<2><1><2><default>
sdc_d1 = port:PI07<2><1><2><default>
sdc_d2 = port:PI08<2><1><2><default>
sdc_d3 = port:PI09<2><1><2><default>
sdc_det =
sdc_use_wp = 0
sdc_wp =
[ms_para]
ms_used = 0
ms_bs = port:PH06<5><default><default><default>
ms_clk = port:PH07<5><default><default><default>
ms_d0 = port:PH08<5><default><default><default>
ms_d1 = port:PH09<5><default><default><default>
ms_d2 = port:PH10<5><default><default><default>
ms_d3 = port:PH11<5><default><default><default>
ms_det =
[smc_para]
smc_used = 0
smc_rst = port:PH13<5><default><default><default>
smc_vppen = port:PH14<5><default><default><default>
smc_vppp = port:PH15<5><default><default><default>
smc_det = port:PH16<5><default><default><default>
smc_vccen = port:PH17<5><default><default><default>
smc_sck = port:PH18<5><default><default><default>
smc_sda = port:PH19<5><default><default><default>
[ps2_0_para]
ps2_used = 0
ps2_scl = port:PI20<2><1><default><default>
ps2_sda = port:PI21<2><1><default><default>
[ps2_1_para]
ps2_used = 0
ps2_scl = port:PI14<3><1><default><default>
ps2_sda = port:PI15<3><1><default><default>
[can_para]
can_used = 0
can_tx = port:PA16<3><default><default><default>
can_rx = port:PA17<3><default><default><default>
[keypad_para]
kp_used = 0
kp_in_size = 8
kp_out_size = 8
kp_in0 = port:PH08<4><1><default><default>
kp_in1 = port:PH09<4><1><default><default>
kp_in2 = port:PH10<4><1><default><default>
kp_in3 = port:PH11<4><1><default><default>
kp_in4 = port:PH14<4><1><default><default>
kp_in5 = port:PH15<4><1><default><default>
kp_in6 = port:PH16<4><1><default><default>
kp_in7 = port:PH17<4><1><default><default>
kp_out0 = port:PH18<4><1><default><default>
kp_out1 = port:PH19<4><1><default><default>
kp_out2 = port:PH22<4><1><default><default>
kp_out3 = port:PH23<4><1><default><default>
kp_out4 = port:PH24<4><1><default><default>
kp_out5 = port:PH25<4><1><default><default>
kp_out6 = port:PH26<4><1><default><default>
kp_out7 = port:PH27<4><1><default><default>
[usbc0]
usb_used = 1
usb_port_type = 2
usb_detect_type = 0
usb_id_gpio = port:PH04<0><1><default><default>
usb_det_vbus_gpio = port:PH05<0><0><default><default>
usb_drv_vbus_gpio = port:PB09<1><0><default><0>
usb_host_init_state = 0
[usbc1]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PH06<1><0><default><0>
usb_host_init_state = 1
[usbc2]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PH03<1><0><default><0>
usb_host_init_state = 1
[usb_feature]
vendor_id = 6353
mass_storage_id = 1
adb_id = 2
manufacturer_name = "USB Developer"
product_name = "Android"
serial_number = "20080411"
[msc_feature]
vendor_name = "USB 2.0"
product_name = "USB Flash Driver"
release = 100
luns = 3
[gsensor_para]
gsensor_used = 0
gsensor_name = "bma250"
gsensor_twi_id = 1
gsensor_twi_addr = 0x18
gsensor_int1 = port:PH00<6><1><default><default>
gsensor_int2 = port:PI10<6><1><default><default>
[gps_para]
gps_used = 0
gps_spi_id = 2
gps_spi_cs_num = 0
gps_lradc = 1
gps_clk = port:PI00<2><default><default><default>
gps_sign = port:PI01<2><default><default><default>
gps_mag = port:PI02<2><default><default><default>
gps_vcc_en = port:PC22<1><default><default><0>
gps_osc_en = port:PI14<1><default><default><0>
gps_rx_en = port:PI15<1><default><default><0>
[sdio_wifi_para]
sdio_wifi_used = 0
sdio_wifi_sdc_id = 3
sdio_wifi_mod_sel = 1
swl_n20_shdn = port:PH09<1><default><default><0>
swl_n20_host_wakeup = port:PH10<1><default><default><1>
swl_n20_vdd_en = port:PH11<1><default><default><0>
swl_n20_vcc_en = port:PH12<1><default><default><0>
[usb_wifi_para]
usb_wifi_used = 0
usb_wifi_usbc_num = 2
[3g_para]
3g_used = 0
3g_usbc_num = 2
3g_uart_num = 0
3g_pwr =
3g_wakeup =
3g_int =
[gy_para]
gy_used = 0
gy_twi_id = 1
gy_twi_addr = 0
gy_int1 = port:PH18<6><1><default><default>
gy_int2 = port:PH19<6><1><default><default>
[ls_para]
ls_used = 0
ls_twi_id = 1
ls_twi_addr = 0
ls_int = port:PH20<6><1><default><default>
[compass_para]
compass_used = 0
compass_twi_id = 1
compass_twi_addr = 0
compass_int = port:PI13<6><1><default><default>
[bt_para]
bt_used = 0
bt_uart_id = 2
bt_mod_type = 1
[i2s_para]
i2s_used = 1
i2s_channel = 2
i2s_mclk = port:PB05<2><1><default><default>
i2s_bclk = port:PB06<2><1><default><default>
i2s_lrclk = port:PB07<2><1><default><default>
i2s_dout0 = port:PB08<2><1><default><default>
i2s_dout1 =
i2s_dout2 =
i2s_dout3 =
i2s_din = port:PB12<2><1><default><default>
[spdif_para]
spdif_used = 0
spdif_mclk =
spdif_dout = port:PB13<4><1><default><default>
spdif_din =
[audio_para]
audio_used = 1
capture_used = 1
audio_lr_change = 0
audio_pa_ctrl = port:PH15<1><default><default><0>
[switch_para]
switch_used = 0
[ir_para]
ir_used = 1
ir0_rx = port:PB04<2><default><default><default>
[pmu_para]
pmu_used = 1
pmu_twi_addr = 52
pmu_twi_id = 0
pmu_irq_id = 0
pmu_battery_rdc = 100
pmu_battery_cap = 3200
pmu_init_chgcur = 300
pmu_earlysuspend_chgcur = 600
pmu_suspend_chgcur = 1000
pmu_resume_chgcur = 300
pmu_shutdown_chgcur = 1000
pmu_init_chgvol = 4200
pmu_init_chgend_rate = 15
pmu_init_chg_enabled = 1
pmu_init_adc_freq = 100
pmu_init_adc_freqc = 100
pmu_init_chg_pretime = 50
pmu_init_chg_csttime = 720
pmu_bat_para1 = 0
pmu_bat_para2 = 0
pmu_bat_para3 = 0
pmu_bat_para4 = 0
pmu_bat_para5 = 5
pmu_bat_para6 = 8
pmu_bat_para7 = 11
pmu_bat_para8 = 22
pmu_bat_para9 = 33
pmu_bat_para10 = 43
pmu_bat_para11 = 50
pmu_bat_para12 = 59
pmu_bat_para13 = 71
pmu_bat_para14 = 83
pmu_bat_para15 = 92
pmu_bat_para16 = 100
pmu_usbvol_limit = 1
pmu_usbcur_limit = 0
pmu_usbvol = 4000
pmu_usbcur = 0
pmu_usbvol_pc = 4000
pmu_usbcur_pc = 0
pmu_pwroff_vol = 3300
pmu_pwron_vol = 2900
pmu_pekoff_time = 6000
pmu_pekoff_en = 1
pmu_peklong_time = 1500
pmu_pekon_time = 1000
pmu_pwrok_time = 64
pmu_pwrnoe_time = 2000
pmu_intotp_en = 1
pmu_used2 = 0
pmu_adpdet = port:PH02<0><default><default><default>
pmu_init_chgcur2 = 400
pmu_earlysuspend_chgcur2 = 600
pmu_suspend_chgcur2 = 1200
pmu_resume_chgcur2 = 400
pmu_shutdown_chgcur2 = 1200
pmu_suspendpwroff_vol = 3500
pmu_batdeten = 1
[recovery_key]
key_min = 4
key_max = 6
[dvfs_table]
max_freq = 1008000000
min_freq = 60000000
LV_count = 5
LV1_freq = 1056000000
LV1_volt = 1500
LV2_freq = 1008000000
LV2_volt = 1400
LV3_freq = 912000000
LV3_volt = 1350
LV4_freq = 864000000
LV4_volt = 1300
LV5_freq = 624000000
LV5_volt = 1250
[leds_para]
leds_used = 1
leds_num = 2
leds_pin_1 = port:PH20<1><default><default><0>
leds_name_1 = "green:ph20:led1"
leds_default_1 = 1
leds_trigger_1 = "mmc0"
leds_pin_2 = port:PH21<1><default><default><0>
leds_name_2 = "blue:ph21:led2"
leds_trigger_2 = "none"

View file

@ -1204,7 +1204,7 @@ leds_default_1 = 1
leds_pin_2 = port:PH21<1><default><default><0> leds_pin_2 = port:PH21<1><default><default><0>
leds_name_2 = "blue:ph21:led2" leds_name_2 = "blue:ph21:led2"
leds_default_2 = 0 leds_default_2 = 0
leds_trigger_2 = "heartbeat" leds_trigger_2 = "none"
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
;ir --- infra remote configuration ;ir --- infra remote configuration

1387
config/cubieboard2dual.fex Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -322,10 +322,11 @@ motor_shake = port:PB03<1><default><default><1>
[gpio_para] [gpio_para]
gpio_used = 1 gpio_used = 1
gpio_num = 2 gpio_num = 4
gpio_pin_1 = port:PH20<1><default><default><1> gpio_pin_1 = port:PH20<1><default><default><1>
gpio_pin_2 = port:PH10<0><default><default><0> gpio_pin_2 = port:PH10<0><default><default><0>
gpio_pin_68 = port:PH18<0><default><default><0>
gpio_pin_69 = port:PH24<0><default><default><0>
[leds_para] [leds_para]
leds_used = 1 leds_used = 1
@ -333,15 +334,15 @@ leds_num = 4
leds_pin_1 = port:PH21<1><default><default><0> leds_pin_1 = port:PH21<1><default><default><0>
leds_name_1 = "blue:ph21:led1" leds_name_1 = "blue:ph21:led1"
leds_default_1 = 0 leds_default_1 = 0
leds_trigger_1 = "heartbeat" leds_trigger_1 = "none"
leds_pin_2 = port:PH20<1><default><default><0> leds_pin_2 = port:PH20<1><default><default><0>
leds_name_2 = "orange:ph20:led2" leds_name_2 = "orange:ph20:led2"
leds_default_2 = 0 leds_default_2 = 0
leds_trigger_2 = "cpu0" leds_trigger_2 = "none"
leds_pin_3 = port:PH11<1><default><default><0> leds_pin_3 = port:PH11<1><default><default><0>
leds_name_3 = "white:ph11:led3" leds_name_3 = "white:ph11:led3"
leds_default_3 = 0 leds_default_3 = 0
leds_trigger_3 = "cpu1" leds_trigger_3 = "none"
leds_pin_4 = port:PH07<1><default><default><0> leds_pin_4 = port:PH07<1><default><default><0>
leds_name_4 = "green:ph07:led4" leds_name_4 = "green:ph07:led4"
leds_default_4 = 1 leds_default_4 = 1
@ -397,7 +398,7 @@ good_block_ratio = 0
disp_init_enable = 1 disp_init_enable = 1
disp_mode = 0 disp_mode = 0
screen0_output_type = 4 screen0_output_type = 3
screen0_output_mode = 4 screen0_output_mode = 4
screen1_output_type = 0 screen1_output_type = 0

View file

@ -1,12 +1,13 @@
ssid=BOARD ssid=SSID
interface=wlan0 interface=wlan0
hw_mode=g hw_mode=g
channel=1 channel=5
driver=nl80211 driver=nl80211
bridge=br0 bridge=br0
logger_syslog=0 logger_syslog=0
logger_syslog_level=0 logger_syslog_level=0
wmm_enabled=1 wmm_enabled=1
ieee80211n=1
wpa=2 wpa=2
preamble=1 preamble=1
wpa_psk=66eb31d2b48d19ba216f2e50c6831ee11be98e2fa3a8075e30b866f4a5ccda27 wpa_psk=66eb31d2b48d19ba216f2e50c6831ee11be98e2fa3a8075e30b866f4a5ccda27
@ -16,7 +17,7 @@ wpa_pairwise=TKIP
rsn_pairwise=CCMP rsn_pairwise=CCMP
auth_algs=1 auth_algs=1
macaddr_acl=0 macaddr_acl=0
#noscan=1 noscan=1
#ht_capab=[HT40-][SHORT-GI-40][SHORT-GI-40][DSSS_CCK-40][TX-STBC][RX-STBC1] #ht_capab=[HT40-][SHORT-GI-40][SHORT-GI-40][DSSS_CCK-40]
#country_code=SI #country_code=SI
#ieee80211d=1 #ieee80211d=1

View file

@ -0,0 +1,19 @@
ssid=SSID
interface=wlan0
ctrl_interface=/var/run/hostapd
channel=5
noscan=1
wpa=2
wpa_passphrase=12345678
bridge=br0
wmm_enabled=0
driver=rtl871xdrv
beacon_int=100
hw_mode=g
ieee80211n=1
wme_enabled=1
ht_capab=[SHORT-GI-40][HT40+][HT40-][DSSS_CCK-40]
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
max_num_sta=8
wpa_group_rekey=86400

View file

@ -12,7 +12,6 @@ auto eth0
# #
# Wireless adapter #1 # Wireless adapter #1
#auto wlan0 #auto wlan0
# allow-hotplug wlan0
# iface wlan0 inet dhcp # iface wlan0 inet dhcp
# wpa-ssid SSID # wpa-ssid SSID
# wpa-psk xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # wpa-psk xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

View file

@ -1,10 +1,10 @@
auto lo br0 auto lo br0
iface lo inet loopback iface lo inet loopback
allow-hotplug eth0 auto eth0
iface eth0 inet manual iface eth0 inet manual
allow-hotplug wlan0 auto wlan0
iface wlan0 inet manual iface wlan0 inet manual
iface br0 inet dhcp iface br0 inet dhcp

21
config/interfaces.r1 Normal file
View file

@ -0,0 +1,21 @@
auto lo
iface lo inet loopback
auto eth0.101
iface eth0.101 inet manual
pre-up swconfig dev eth0 set reset 1
pre-up swconfig dev eth0 set enable_vlan 1
pre-up swconfig dev eth0 vlan 101 set ports '3 8t'
pre-up swconfig dev eth0 set apply 1
auto eth0.102
iface eth0.102 inet manual
pre-up swconfig dev eth0 vlan 102 set ports '0 1 2 4 8t'
pre-up swconfig dev eth0 set apply 1
auto wlan0
iface wlan0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0.101 wlan0

View file

@ -0,0 +1,28 @@
auto lo
iface lo inet loopback
auto eth0.101
iface eth0.101 inet manual
pre-up swconfig dev eth0 set reset 1
pre-up swconfig dev eth0 set enable_vlan 1
pre-up swconfig dev eth0 vlan 101 set ports '3 8t'
pre-up swconfig dev eth0 set apply 1
auto eth0.102
iface eth0.102 inet manual
pre-up swconfig dev eth0 vlan 102 set ports '0 1 2 4 8t'
pre-up swconfig dev eth0 set apply 1
allow-hotplug wlan0
iface wlan0 inet manual
# WAN
auto eth0.101
iface eth0.101 inet dhcp
# LAN
auto br0
iface br0 inet static
bridge_ports eth0.102 wlan0
address 192.168.2.254
netmask 255.255.255.0

View file

@ -0,0 +1,16 @@
auto lo
iface lo inet loopback
auto eth0.101
iface eth0.101 inet manual
pre-up swconfig dev eth0 set reset 1
pre-up swconfig dev eth0 set enable_vlan 1
pre-up swconfig dev eth0 vlan 101 set ports '0 1 2 3 4 8t'
pre-up swconfig dev eth0 set apply 1
auto wlan0
iface wlan0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0.101 wlan0

1074
config/lamobo-r1.fex Normal file

File diff suppressed because it is too large Load diff

937
config/lime-a10.fex Normal file
View file

@ -0,0 +1,937 @@
[product]
version = "1.0"
machine = "A10-EVB-V1.2"
[target]
boot_clock = 1008
dcdc2_vol = 1400
dcdc3_vol = 1250
ldo2_vol = 3000
ldo3_vol = 2800
ldo4_vol = 2800
pll4_freq = 960
pll6_freq = 960
power_start = 0
storage_type = 0
[card_boot]
logical_start = 40960
sprite_gpio0 =
[card_boot0_para]
card_ctrl = 0
card_high_speed = 1
card_line = 4
sdc_d1 = port:PF00<2><1><default><default>
sdc_d0 = port:PF01<2><1><default><default>
sdc_clk = port:PF02<2><1><default><default>
sdc_cmd = port:PF03<2><1><default><default>
sdc_d3 = port:PF04<2><1><default><default>
sdc_d2 = port:PF05<2><1><default><default>
[card_boot2_para]
card_ctrl = 2
card_high_speed = 1
card_line = 4
sdc_cmd = port:PC06<3><1><default><default>
sdc_clk = port:PC07<3><1><default><default>
sdc_d0 = port:PC08<3><1><default><default>
sdc_d1 = port:PC09<3><1><default><default>
sdc_d2 = port:PC10<3><1><default><default>
sdc_d3 = port:PC11<3><1><default><default>
[twi_para]
twi_port = 0
twi_scl = port:PB00<2><default><default><default>
twi_sda = port:PB01<2><default><default><default>
[uart_para]
uart_debug_port = 0
uart_debug_tx = port:PB22<2><1><default><default>
uart_debug_rx = port:PB23<2><1><default><default>
[uart_force_debug]
uart_debug_port = 0
uart_debug_tx = port:PF02<4><default><default><default>
uart_debug_rx = port:PF04<4><default><default><default>
[jtag_para]
jtag_enable = 0
jtag_ms = port:PB14<3><default><default><default>
jtag_ck = port:PB15<3><default><default><default>
jtag_do = port:PB16<3><default><default><default>
jtag_di = port:PB17<3><default><default><default>
[dram_para]
dram_baseaddr = 0x40000000
dram_clk = 480
dram_type = 3
dram_rank_num = 1
dram_chip_density = 4096
dram_io_width = 16
dram_bus_width = 16
dram_cas = 6
dram_zq = 0x7b
dram_odt_en = 0
dram_size = 512
dram_tpr0 = 0x30926692
dram_tpr1 = 0x1090
dram_tpr2 = 0x1a0c8
dram_tpr3 = 0x0
dram_tpr4 = 0x0
dram_tpr5 = 0x0
dram_emr1 = 0x4
dram_emr2 = 0x0
dram_emr3 = 0x0
[mali_para]
mali_used = 1
mali_clkdiv = 3
[g2d_para]
g2d_used = 1
g2d_size = 0x1000000
[emac_para]
emac_used = 1
emac_rxd3 = port:PA00<2><default><default><default>
emac_rxd2 = port:PA01<2><default><default><default>
emac_rxd1 = port:PA02<2><default><default><default>
emac_rxd0 = port:PA03<2><default><default><default>
emac_txd3 = port:PA04<2><default><default><default>
emac_txd2 = port:PA05<2><default><default><default>
emac_txd1 = port:PA06<2><default><default><default>
emac_txd0 = port:PA07<2><default><default><default>
emac_rxclk = port:PA08<2><default><default><default>
emac_rxerr = port:PA09<2><default><default><default>
emac_rxdV = port:PA10<2><default><default><default>
emac_mdc = port:PA11<2><default><default><default>
emac_mdio = port:PA12<2><default><default><default>
emac_txen = port:PA13<2><default><default><default>
emac_txclk = port:PA14<2><default><default><default>
emac_crs = port:PA15<2><default><default><default>
emac_col = port:PA16<2><default><default><default>
emac_reset = port:PA17<1><default><default><default>
[twi0_para]
twi0_used = 1
twi0_scl = port:PB00<2><default><default><default>
twi0_sda = port:PB01<2><default><default><default>
[twi1_para]
twi1_used = 0
twi1_scl = port:PB18<2><default><default><default>
twi1_sda = port:PB19<2><default><default><default>
[twi2_para]
twi2_used = 0
twi2_scl = port:PB20<2><default><default><default>
twi2_sda = port:PB21<2><default><default><default>
[uart_para0]
uart_used = 1
uart_port = 0
uart_type = 2
uart_tx = port:PB22<2><1><default><default>
uart_rx = port:PB23<2><1><default><default>
[uart_para1]
uart_used = 0
uart_port = 1
uart_type = 8
uart_tx = port:PA10<4><1><default><default>
uart_rx = port:PA11<4><1><default><default>
uart_rts = port:PA12<4><1><default><default>
uart_cts = port:PA13<4><1><default><default>
uart_dtr = port:PA14<4><1><default><default>
uart_dsr = port:PA15<4><1><default><default>
uart_dcd = port:PA16<4><1><default><default>
uart_ring = port:PA17<4><1><default><default>
[uart_para2]
uart_used = 0
uart_port = 2
uart_type = 4
uart_tx = port:PI18<3><1><default><default>
uart_rx = port:PI19<3><1><default><default>
uart_rts = port:PI16<3><1><default><default>
uart_cts = port:PI17<3><1><default><default>
[uart_para3]
uart_used = 0
uart_port = 3
uart_type = 4
uart_tx = port:PH00<4><1><default><default>
uart_rx = port:PH01<4><1><default><default>
uart_rts = port:PH02<4><1><default><default>
uart_cts = port:PH03<4><1><default><default>
[uart_para4]
uart_used = 0
uart_port = 4
uart_type = 2
uart_tx = port:PH04<4><1><default><default>
uart_rx = port:PH05<4><1><default><default>
[uart_para5]
uart_used = 0
uart_port = 5
uart_type = 2
uart_tx = port:PH06<4><1><default><default>
uart_rx = port:PH07<4><1><default><default>
[uart_para6]
uart_used = 0
uart_port = 6
uart_type = 2
uart_tx = port:PA12<4><1><default><default>
uart_rx = port:PA13<4><1><default><default>
[uart_para7]
uart_used = 0
uart_port = 7
uart_type = 2
uart_tx = port:PA14<4><1><default><default>
uart_rx = port:PA15<4><1><default><default>
[spi0_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PI10<3><default><default><default>
spi_sclk = port:PI11<3><default><default><default>
spi_mosi = port:PI12<3><default><default><default>
spi_miso = port:PI13<3><default><default><default>
[spi1_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA00<4><default><default><default>
spi_sclk = port:PA01<4><default><default><default>
spi_mosi = port:PA02<4><default><default><default>
spi_miso = port:PA03<4><default><default><default>
[spi2_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PB14<2><default><default><default>
spi_sclk = port:PB15<2><default><default><default>
spi_mosi = port:PB16<2><default><default><default>
spi_miso = port:PB17<2><default><default><default>
spi_cs0 = port:PC19<3><default><default><default>
spi_sclk = port:PC20<3><default><default><default>
spi_mosi = port:PC21<3><default><default><default>
spi_miso = port:PC22<3><default><default><default>
[spi3_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA05<3><default><default><default>
spi_sclk = port:PI06<3><default><default><default>
spi_mosi = port:PI07<3><default><default><default>
spi_miso = port:PI08<3><default><default><default>
spi_cs1 = port:PA09<3><default><default><default>
[spi_devices]
spi_dev_num = 0
[spi_board0]
modalias = "aaa"
max_speed_hz = 12000000
bus_num = 1
chip_select = 0
mode = 3
full_duplex = 0
manual_cs = 0
[rtp_para]
rtp_used = 0
rtp_screen_size = 5
rtp_regidity_level = 5
rtp_press_threshold_enable = 0
rtp_press_threshold = 0x1f40
rtp_sensitive_level = 0xf
rtp_exchange_x_y_flag = 0
[ctp_para]
ctp_used = 0
ctp_name = "ft5x_ts"
ctp_twi_id = 2
ctp_twi_addr = 0x70
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 0
ctp_revert_y_flag = 0
ctp_exchange_x_y_flag = 0
ctp_int_port = port:PH21<6><default><default><default>
ctp_wakeup = port:PB13<1><default><default><1>
ctp_io_port = port:PH21<0><default><default><default>
[tkey_para]
tkey_used = 0
tkey_name = "hv_keypad"
tkey_twi_id = 2
tkey_twi_addr = 0x62
tkey_int = port:PI13<6><default><default><default>
[motor_para]
motor_used = 0
motor_shake = port:PB03<1><default><default><1>
[nand_para]
nand_used = 0
nand_we = port:PC00<2><default><default><default>
nand_ale = port:PC01<2><default><default><default>
nand_cle = port:PC02<2><default><default><default>
nand_ce1 = port:PC03<2><default><default><default>
nand_ce0 = port:PC04<2><default><default><default>
nand_nre = port:PC05<2><default><default><default>
nand_rb0 = port:PC06<2><default><default><default>
nand_rb1 = port:PC07<2><default><default><default>
nand_d0 = port:PC08<2><default><default><default>
nand_d1 = port:PC09<2><default><default><default>
nand_d2 = port:PC10<2><default><default><default>
nand_d3 = port:PC11<2><default><default><default>
nand_d4 = port:PC12<2><default><default><default>
nand_d5 = port:PC13<2><default><default><default>
nand_d6 = port:PC14<2><default><default><default>
nand_d7 = port:PC15<2><default><default><default>
nand_wp = port:PC16<2><default><default><default>
nand_ce2 = port:PC17<2><default><default><default>
nand_ce3 = port:PC18<2><default><default><default>
nand_ce4 =
nand_ce5 =
nand_ce6 =
nand_ce7 =
nand_spi = port:PC23<3><default><default><default>
nand_ndqs = port:PC24<2><default><default><default>
[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 4
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_bright = 197
lcd1_bright = 197
lcd0_screen_bright = 50
lcd0_screen_contrast = 50
lcd0_screen_saturation = 57
lcd0_screen_hue = 50
lcd1_screen_bright = 50
lcd1_screen_contrast = 50
lcd1_screen_saturation = 57
lcd1_screen_hue = 50
[lcd0_para]
lcd_used = 1
lcd_x = 800
lcd_y = 480
lcd_dclk_freq = 33
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 0
lcd_if = 0
lcd_hbp = 46
lcd_ht = 1055
lcd_vbp = 23
lcd_vt = 1050
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_cfg0 = 268435456
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 1
lcd_bl_en = port:PH07<1><0><default><1>
lcd_power_used = 1
lcd_power = port:PH08<1><0><default><1>
lcd_pwm_used = 1
lcd_pwm = port:PB02<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PD00<2><0><default><default>
lcdd1 = port:PD01<2><0><default><default>
lcdd2 = port:PD02<2><0><default><default>
lcdd3 = port:PD03<2><0><default><default>
lcdd4 = port:PD04<2><0><default><default>
lcdd5 = port:PD05<2><0><default><default>
lcdd6 = port:PD06<2><0><default><default>
lcdd7 = port:PD07<2><0><default><default>
lcdd8 = port:PD08<2><0><default><default>
lcdd9 = port:PD09<2><0><default><default>
lcdd10 = port:PD10<2><0><default><default>
lcdd11 = port:PD11<2><0><default><default>
lcdd12 = port:PD12<2><0><default><default>
lcdd13 = port:PD13<2><0><default><default>
lcdd14 = port:PD14<2><0><default><default>
lcdd15 = port:PD15<2><0><default><default>
lcdd16 = port:PD16<2><0><default><default>
lcdd17 = port:PD17<2><0><default><default>
lcdd18 = port:PD18<2><0><default><default>
lcdd19 = port:PD19<2><0><default><default>
lcdd20 = port:PD20<2><0><default><default>
lcdd21 = port:PD21<2><0><default><default>
lcdd22 = port:PD22<2><0><default><default>
lcdd23 = port:PD23<2><0><default><default>
lcdclk = port:PD24<2><0><default><default>
lcdde = port:PD25<2><0><default><default>
lcdhsync = port:PD26<2><0><default><default>
lcdvsync = port:PD27<2><0><default><default>
[lcd1_para]
lcd_used = 0
lcd_x = 0
lcd_y = 0
lcd_dclk_freq = 0
lcd_pwm_not_used = 0
lcd_pwm_ch = 1
lcd_pwm_freq = 0
lcd_pwm_pol = 0
lcd_if = 0
lcd_hbp = 0
lcd_ht = 0
lcd_vbp = 0
lcd_vt = 0
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 0
lcd_lvds_ch = 0
lcd_lvds_mode = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 0
lcd_io_cfg0 = 0
lcd_gamma_correction_en = 0
lcd_gamma_tbl_0 = 0x0
lcd_gamma_tbl_1 = 0x10101
lcd_gamma_tbl_255 = 0xffffff
lcd_bl_en_used = 0
lcd_bl_en =
lcd_power_used = 0
lcd_power =
lcd_pwm_used = 1
lcd_pwm = port:PI03<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
lcdd0 = port:PH00<2><0><default><default>
lcdd1 = port:PH01<2><0><default><default>
lcdd2 = port:PH02<2><0><default><default>
lcdd3 = port:PH03<2><0><default><default>
lcdd4 = port:PH04<2><0><default><default>
lcdd5 = port:PH05<2><0><default><default>
lcdd6 = port:PH06<2><0><default><default>
lcdd7 = port:PH07<2><0><default><default>
lcdd8 = port:PH08<2><0><default><default>
lcdd9 = port:PH09<2><0><default><default>
lcdd10 = port:PH10<2><0><default><default>
lcdd11 = port:PH11<2><0><default><default>
lcdd12 = port:PH12<2><0><default><default>
lcdd13 = port:PH13<2><0><default><default>
lcdd14 = port:PH14<2><0><default><default>
lcdd15 = port:PH15<2><0><default><default>
lcdd16 = port:PH16<2><0><default><default>
lcdd17 = port:PH17<2><0><default><default>
lcdd18 = port:PH18<2><0><default><default>
lcdd19 = port:PH19<2><0><default><default>
lcdd20 = port:PH20<2><0><default><default>
lcdd21 = port:PH21<2><0><default><default>
lcdd22 = port:PH22<2><0><default><default>
lcdd23 = port:PH23<2><0><default><default>
lcdclk = port:PH24<2><0><default><default>
lcdde = port:PH25<2><0><default><default>
lcdhsync = port:PH26<2><0><default><default>
lcdvsync = port:PH27<2><0><default><default>
[tv_out_dac_para]
dac_used = 0
dac0_src = 4
dac1_src = 5
dac2_src = 6
dac3_src = 0
[csi0_para]
csi_used = 0
csi_mode = 0
csi_dev_qty = 1
csi_stby_mode = 0
csi_mname = "gc0308"
csi_twi_id = 1
csi_twi_addr = 0x42
csi_if = 0
csi_vflip = 0
csi_hflip = 1
csi_iovdd = ""
csi_avdd = ""
csi_dvdd = ""
csi_flash_pol = 1
csi_mname_b = ""
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 1
csi_hflip_b = 0
csi_iovdd_b = ""
csi_avdd_b = ""
csi_dvdd_b = ""
csi_flash_pol_b = 1
csi_pck = port:PE00<3><default><default><default>
csi_ck = port:PE01<3><default><default><default>
csi_hsync = port:PE02<3><default><default><default>
csi_vsync = port:PE03<3><default><default><default>
csi_d0 = port:PE04<3><default><default><default>
csi_d1 = port:PE05<3><default><default><default>
csi_d2 = port:PE06<3><default><default><default>
csi_d3 = port:PE07<3><default><default><default>
csi_d4 = port:PE08<3><default><default><default>
csi_d5 = port:PE09<3><default><default><default>
csi_d6 = port:PE10<3><default><default><default>
csi_d7 = port:PE11<3><default><default><default>
csi_d8 =
csi_d9 =
csi_d10 =
csi_d11 =
csi_d12 =
csi_d13 =
csi_d14 =
csi_d15 =
csi_reset = port:PH13<1><default><default><0>
csi_power_en =
csi_stby = port:PH16<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b =
csi_power_en_b =
csi_stby_b =
csi_flash_b =
csi_af_en_b =
[csi1_para]
csi_used = 0
csi_mode = 0
csi_dev_qty = 1
csi_stby_mode = 1
csi_mname = ""
csi_twi_id = 1
csi_twi_addr = 0xba
csi_if = 0
csi_vflip = 0
csi_hflip = 0
csi_iovdd = ""
csi_avdd = ""
csi_dvdd = ""
csi_flash_pol = 1
csi_mname_b = ""
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 1
csi_hflip_b = 0
csi_iovdd_b = ""
csi_avdd_b = ""
csi_dvdd_b = ""
csi_flash_pol_b = 1
csi_pck = port:PG00<3><default><default><default>
csi_ck = port:PG01<3><default><default><default>
csi_hsync = port:PG02<3><default><default><default>
csi_vsync = port:PG03<3><default><default><default>
csi_field =
csi_d0 = port:PG04<3><default><default><default>
csi_d1 = port:PG05<3><default><default><default>
csi_d2 = port:PG06<3><default><default><default>
csi_d3 = port:PG07<3><default><default><default>
csi_d4 = port:PG08<3><default><default><default>
csi_d5 = port:PG09<3><default><default><default>
csi_d6 = port:PG10<3><default><default><default>
csi_d7 = port:PG11<3><default><default><default>
csi_d8 =
csi_d9 =
csi_d10 =
csi_d11 =
csi_d12 =
csi_d13 =
csi_d14 =
csi_d15 =
csi_d16 =
csi_d17 =
csi_d18 =
csi_d19 =
csi_d20 =
csi_d21 =
csi_d22 =
csi_d23 =
csi_reset = port:PH14<1><default><default><0>
csi_power_en =
csi_stby = port:PH17<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b =
csi_power_en_b =
csi_stby_b =
csi_flash_b =
csi_af_en_b =
[tvout_para]
tvout_used = 0
tvout_channel_num = 1
tv_en = port:PI12<1><default><default><0>
[tvin_para]
tvin_used = 0
tvin_channel_num = 4
[sata_para]
sata_used = 1
sata_power_en = port:PC03<1><default><default><0>
[mmc0_para]
sdc_used = 1
sdc_detmode = 1
bus_width = 4
sdc_d1 = port:PF00<2><1><2><default>
sdc_d0 = port:PF01<2><1><2><default>
sdc_clk = port:PF02<2><1><2><default>
sdc_cmd = port:PF03<2><1><2><default>
sdc_d3 = port:PF04<2><1><2><default>
sdc_d2 = port:PF05<2><1><2><default>
sdc_det = port:PH01<0><1><default><default>
sdc_use_wp = 0
sdc_wp =
[mmc1_para]
sdc_used = 0
sdc_detmode = 1
bus_width = 4
sdc_cmd = port:PH22<5><1><2><default>
sdc_clk = port:PH23<5><1><2><default>
sdc_d0 = port:PH24<5><1><2><default>
sdc_d1 = port:PH25<5><1><2><default>
sdc_d2 = port:PH26<5><1><2><default>
sdc_d3 = port:PH27<5><1><2><default>
sdc_det = port:PH02<0><1><default><default>
sdc_use_wp = 0
sdc_wp =
[mmc2_para]
sdc_used = 0
[mmc3_para]
sdc_used = 0
sdc_detmode = 4
bus_width = 4
sdc_cmd = port:PI04<2><1><2><default>
sdc_clk = port:PI05<2><1><2><default>
sdc_d0 = port:PI06<2><1><2><default>
sdc_d1 = port:PI07<2><1><2><default>
sdc_d2 = port:PI08<2><1><2><default>
sdc_d3 = port:PI09<2><1><2><default>
sdc_det =
sdc_use_wp = 0
sdc_wp =
[ms_para]
ms_used = 0
ms_bs = port:PH06<5><default><default><default>
ms_clk = port:PH07<5><default><default><default>
ms_d0 = port:PH08<5><default><default><default>
ms_d1 = port:PH09<5><default><default><default>
ms_d2 = port:PH10<5><default><default><default>
ms_d3 = port:PH11<5><default><default><default>
ms_det =
[smc_para]
smc_used = 0
smc_rst = port:PH13<5><default><default><default>
smc_vppen = port:PH14<5><default><default><default>
smc_vppp = port:PH15<5><default><default><default>
smc_det = port:PH16<5><default><default><default>
smc_vccen = port:PH17<5><default><default><default>
smc_sck = port:PH18<5><default><default><default>
smc_sda = port:PH19<5><default><default><default>
[ps2_0_para]
ps2_used = 0
ps2_scl = port:PI20<2><1><default><default>
ps2_sda = port:PI21<2><1><default><default>
[ps2_1_para]
ps2_used = 0
ps2_scl = port:PI14<3><1><default><default>
ps2_sda = port:PI15<3><1><default><default>
[can_para]
can_used = 0
can_tx = port:PA16<3><default><default><default>
can_rx = port:PA17<3><default><default><default>
[keypad_para]
kp_used = 0
kp_in_size = 8
kp_out_size = 8
kp_in0 = port:PH08<4><1><default><default>
kp_in1 = port:PH09<4><1><default><default>
kp_in2 = port:PH10<4><1><default><default>
kp_in3 = port:PH11<4><1><default><default>
kp_in4 = port:PH14<4><1><default><default>
kp_in5 = port:PH15<4><1><default><default>
kp_in6 = port:PH16<4><1><default><default>
kp_in7 = port:PH17<4><1><default><default>
kp_out0 = port:PH18<4><1><default><default>
kp_out1 = port:PH19<4><1><default><default>
kp_out2 = port:PH22<4><1><default><default>
kp_out3 = port:PH23<4><1><default><default>
kp_out4 = port:PH24<4><1><default><default>
kp_out5 = port:PH25<4><1><default><default>
kp_out6 = port:PH26<4><1><default><default>
kp_out7 = port:PH27<4><1><default><default>
[usbc0]
usb_used = 1
usb_port_type = 2
usb_detect_type = 1
usb_id_gpio = port:PH04<0><1><default><default>
usb_det_vbus_gpio = port:PH05<0><0><default><default>
usb_drv_vbus_gpio = port:PB09<1><0><default><0>
usb_host_init_state = 0
[usbc1]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PH06<1><0><default><0>
usb_host_init_state = 1
[usbc2]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PH03<1><0><default><0>
usb_host_init_state = 1
[usb_feature]
vendor_id = 6353
mass_storage_id = 1
adb_id = 2
manufacturer_name = "USB Developer"
product_name = "Android"
serial_number = "20080411"
[msc_feature]
vendor_name = "USB 2.0"
product_name = "USB Flash Driver"
release = 100
luns = 3
[gsensor_para]
gsensor_used = 0
gsensor_name = "bma250"
gsensor_twi_id = 1
gsensor_twi_addr = 0x18
gsensor_int1 = port:PH00<6><1><default><default>
gsensor_int2 = port:PI10<6><1><default><default>
[gps_para]
gps_used = 0
gps_spi_id = 2
gps_spi_cs_num = 0
gps_lradc = 1
gps_clk = port:PI00<2><default><default><default>
gps_sign = port:PI01<2><default><default><default>
gps_mag = port:PI02<2><default><default><default>
gps_vcc_en = port:PC22<1><default><default><0>
gps_osc_en = port:PI14<1><default><default><0>
gps_rx_en = port:PI15<1><default><default><0>
[sdio_wifi_para]
sdio_wifi_used = 0
sdio_wifi_sdc_id = 3
sdio_wifi_mod_sel = 1
swl_n20_shdn = port:PH09<1><default><default><0>
swl_n20_host_wakeup = port:PH10<1><default><default><1>
swl_n20_vdd_en = port:PH11<1><default><default><0>
swl_n20_vcc_en = port:PH12<1><default><default><0>
[usb_wifi_para]
usb_wifi_used = 0
usb_wifi_usbc_num = 2
[3g_para]
3g_used = 0
3g_usbc_num = 2
3g_uart_num = 0
3g_pwr =
3g_wakeup =
3g_int =
[gy_para]
gy_used = 0
gy_twi_id = 1
gy_twi_addr = 0
gy_int1 = port:PH18<6><1><default><default>
gy_int2 = port:PH19<6><1><default><default>
[ls_para]
ls_used = 0
ls_twi_id = 1
ls_twi_addr = 0
ls_int = port:PH20<6><1><default><default>
[compass_para]
compass_used = 0
compass_twi_id = 1
compass_twi_addr = 0
compass_int = port:PI13<6><1><default><default>
[bt_para]
bt_used = 0
bt_uart_id = 2
bt_mod_type = 1
[i2s_para]
i2s_used = 1
i2s_channel = 2
i2s_mclk = port:PB05<2><1><default><default>
i2s_bclk = port:PB06<2><1><default><default>
i2s_lrclk = port:PB07<2><1><default><default>
i2s_dout0 = port:PB08<2><1><default><default>
i2s_dout1 =
i2s_dout2 =
i2s_dout3 =
i2s_din = port:PB12<2><1><default><default>
[spdif_para]
spdif_used = 0
spdif_mclk =
spdif_dout = port:PB13<4><1><default><default>
spdif_din =
[audio_para]
audio_used = 0
capture_used = 0
audio_lr_change = 0
audio_pa_ctrl = port:PH15<1><default><default><0>
[switch_para]
switch_used = 0
[ir_para]
ir_used = 0
ir0_rx = port:PB04<2><default><default><default>
[pmu_para]
pmu_used = 1
pmu_twi_addr = 52
pmu_twi_id = 0
pmu_irq_id = 0
pmu_battery_rdc = 100
pmu_battery_cap = 3200
pmu_init_chgcur = 300
pmu_earlysuspend_chgcur = 600
pmu_suspend_chgcur = 1000
pmu_resume_chgcur = 300
pmu_shutdown_chgcur = 1000
pmu_init_chgvol = 4200
pmu_init_chgend_rate = 15
pmu_init_chg_enabled = 1
pmu_init_adc_freq = 100
pmu_init_adc_freqc = 100
pmu_init_chg_pretime = 50
pmu_init_chg_csttime = 720
pmu_bat_para1 = 0
pmu_bat_para2 = 0
pmu_bat_para3 = 0
pmu_bat_para4 = 0
pmu_bat_para5 = 5
pmu_bat_para6 = 8
pmu_bat_para7 = 11
pmu_bat_para8 = 22
pmu_bat_para9 = 33
pmu_bat_para10 = 43
pmu_bat_para11 = 50
pmu_bat_para12 = 59
pmu_bat_para13 = 71
pmu_bat_para14 = 83
pmu_bat_para15 = 92
pmu_bat_para16 = 100
pmu_usbvol_limit = 1
pmu_usbcur_limit = 0
pmu_usbvol = 4000
pmu_usbcur = 0
pmu_usbvol_pc = 4000
pmu_usbcur_pc = 0
pmu_pwroff_vol = 3300
pmu_pwron_vol = 2900
pmu_pekoff_time = 6000
pmu_pekoff_en = 1
pmu_peklong_time = 1500
pmu_pekon_time = 1000
pmu_pwrok_time = 64
pmu_pwrnoe_time = 2000
pmu_intotp_en = 1
pmu_used2 = 0
pmu_adpdet = port:PH02<0><default><default><default>
pmu_init_chgcur2 = 400
pmu_earlysuspend_chgcur2 = 600
pmu_suspend_chgcur2 = 1200
pmu_resume_chgcur2 = 400
pmu_shutdown_chgcur2 = 1200
pmu_suspendpwroff_vol = 3500
pmu_batdeten = 1
[recovery_key]
key_min = 4
key_max = 6
[dvfs_table]
max_freq = 1008000000
min_freq = 60000000
LV_count = 5
LV1_freq = 1056000000
LV1_volt = 1500
LV2_freq = 1008000000
LV2_volt = 1400
LV3_freq = 912000000
LV3_volt = 1350
LV4_freq = 864000000
LV4_volt = 1300
LV5_freq = 624000000
LV5_volt = 1250
[leds_para]
leds_used = 1
leds_num = 1
leds_pin_1 = port:PH2<1><default><default><0>
leds_name_1 = "green:ph2:led1"
leds_default_1 = 1

View file

@ -303,7 +303,7 @@ leds_num = 1
leds_pin_1 = port:PH02<1><default><default><0> leds_pin_1 = port:PH02<1><default><default><0>
leds_name_1 = "green:ph02:led1" leds_name_1 = "green:ph02:led1"
leds_default_1 = 0 leds_default_1 = 0
leds_trigger_1 = "heartbeat" leds_trigger_1 = "mmc0"
[nand_para] [nand_para]
nand_used = 1 nand_used = 1

View file

@ -312,7 +312,7 @@ leds_num = 1
leds_pin_1 = port:PH02<1><default><default><0> leds_pin_1 = port:PH02<1><default><default><0>
leds_name_1 = "green:ph02:led1" leds_name_1 = "green:ph02:led1"
leds_default_1 = 0 leds_default_1 = 0
leds_trigger_1 = "heartbeat" leds_trigger_1 = "mmc0"
[nand_para] [nand_para]
nand_used = 1 nand_used = 1

File diff suppressed because it is too large Load diff

6003
config/linux-cubox.config Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

4001
config/linux-sun4i.config Normal file

File diff suppressed because it is too large Load diff

4054
config/linux-sun7i.config Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm 3.4.105 Kernel Configuration # Linux/arm 3.4.110 Kernel Configuration
# #
CONFIG_ARM=y CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@ -161,7 +161,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set # CONFIG_SLAB is not set
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
CONFIG_TRACEPOINTS=y
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set # CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y CONFIG_JUMP_LABEL=y
@ -945,7 +944,49 @@ CONFIG_LLC=m
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set # CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_PLUG=m
#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
# CONFIG_NET_CLS_CGROUP is not set
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set # CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV=m
@ -963,7 +1004,6 @@ CONFIG_HAVE_BPF_JIT=y
# Network testing # Network testing
# #
CONFIG_NET_PKTGEN=m CONFIG_NET_PKTGEN=m
# CONFIG_NET_DROP_MONITOR is not set
# CONFIG_HAMRADIO is not set # CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set # CONFIG_CAN is not set
CONFIG_IRDA=m CONFIG_IRDA=m
@ -1162,7 +1202,7 @@ CONFIG_SUNXI_PWM=y
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
CONFIG_TI_DAC7512=m CONFIG_TI_DAC7512=m
# CONFIG_UID_STAT is not set # CONFIG_UID_STAT is not set
# CONFIG_BMP085 is not set CONFIG_BMP085=m
# CONFIG_USB_SWITCH_FSA9480 is not set # CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_WL127X_RFKILL is not set # CONFIG_WL127X_RFKILL is not set
# CONFIG_C2PORT is not set # CONFIG_C2PORT is not set
@ -1242,7 +1282,7 @@ CONFIG_SCSI_OSD_DPRINT_SENSE=1
CONFIG_ATA=y CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set # CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_VERBOSE_ERROR=y
# CONFIG_SATA_PMP is not set CONFIG_SATA_PMP=y
# #
# Controllers with non-SFF native interface # Controllers with non-SFF native interface
@ -1341,9 +1381,11 @@ CONFIG_SUNXI_EMAC=y
CONFIG_SUNXI_GMAC=y CONFIG_SUNXI_GMAC=y
CONFIG_GMAC_SCRIPT_SYS=y CONFIG_GMAC_SCRIPT_SYS=y
CONFIG_GMAC_CLK_SYS=y CONFIG_GMAC_CLK_SYS=y
CONFIG_GMAC_FOR_BANANAPI=y
CONFIG_GMAC_RING=y CONFIG_GMAC_RING=y
# CONFIG_GMAC_CHAINED is not set # CONFIG_GMAC_CHAINED is not set
CONFIG_PHYLIB=y CONFIG_PHYLIB=y
CONFIG_SWCONFIG=y
# #
# MII PHY device drivers # MII PHY device drivers
@ -1363,8 +1405,14 @@ CONFIG_PHYLIB=y
# CONFIG_STE10XP is not set # CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set # CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set # CONFIG_MICREL_PHY is not set
# CONFIG_FIXED_PHY is not set CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set CONFIG_MDIO_BITBANG=y
# CONFIG_MDIO_GPIO is not set
CONFIG_B53=y
CONFIG_B53_SPI_DRIVER=y
CONFIG_B53_PHY_DRIVER=y
CONFIG_B53_SRAB_DRIVER=y
CONFIG_B53_PHY_FIXUP=y
CONFIG_MICREL_KS8995MA=m CONFIG_MICREL_KS8995MA=m
CONFIG_PLIP=m CONFIG_PLIP=m
CONFIG_PPP=y CONFIG_PPP=y
@ -1395,6 +1443,7 @@ CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_AX88179_178A=m
CONFIG_USB_NET_QF9700=m CONFIG_USB_NET_QF9700=m
CONFIG_USB_NET_CDCETHER=m CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m CONFIG_USB_NET_CDC_EEM=m
@ -1459,6 +1508,11 @@ CONFIG_BCMDHD_FW_PATH="/lib/firmware/ap6210/fw_bcmxxxx.bin"
CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/ap6210/nvram_apxxxx.txt" CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/ap6210/nvram_apxxxx.txt"
CONFIG_BCMDHD_OOB=y CONFIG_BCMDHD_OOB=y
# CONFIG_BCMDHD_SDIO_IRQ is not set # CONFIG_BCMDHD_SDIO_IRQ is not set
CONFIG_AP6210=m
CONFIG_AP6210_FW_PATH="/lib/firmware/ap6210/fw_bcmxxxx.bin"
CONFIG_AP6210_NVRAM_PATH="/lib/firmware/ap6210/nvram_apxxxx.txt"
CONFIG_AP6210_OOB=y
# CONFIG_AP6210_SDIO_IRQ is not set
CONFIG_BRCMUTIL=m CONFIG_BRCMUTIL=m
CONFIG_BRCMFMAC=m CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_SDIO=y CONFIG_BRCMFMAC_SDIO=y
@ -1784,6 +1838,7 @@ CONFIG_PPDEV=m
# CONFIG_DCC_TTY is not set # CONFIG_DCC_TTY is not set
# CONFIG_RAMOOPS is not set # CONFIG_RAMOOPS is not set
CONFIG_SUNXI_G2D=y CONFIG_SUNXI_G2D=y
# CONFIG_SUNXI_PHYS_MEM_ALLOCATOR is not set
CONFIG_I2C=y CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y CONFIG_I2C_COMPAT=y
@ -1975,6 +2030,7 @@ CONFIG_HWMON=y
# Native drivers # Native drivers
# #
# CONFIG_SENSORS_MMA7660 is not set # CONFIG_SENSORS_MMA7660 is not set
CONFIG_SENSORS_A20_TP_HWMON=m
# CONFIG_SENSORS_AD7314 is not set # CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_AD7418 is not set
@ -2006,7 +2062,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_LM63 is not set # CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set # CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set # CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set CONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not set # CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set # CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set # CONFIG_SENSORS_LM80 is not set
@ -2642,15 +2698,8 @@ CONFIG_DRM_UDL=m
# CONFIG_ION is not set # CONFIG_ION is not set
CONFIG_MALI=m CONFIG_MALI=m
CONFIG_MALI400=m CONFIG_MALI400=m
# CONFIG_MALI450 is not set
CONFIG_MALI400_DEBUG=y CONFIG_MALI400_DEBUG=y
CONFIG_MALI400_PROFILING=y # CONFIG_MALI400_GPU_UTILIZATION is not set
# CONFIG_MALI400_INTERNAL_PROFILING is not set
# CONFIG_MALI400_UMP is not set
# CONFIG_MALI400_POWER_PERFORMANCE_POLICY is not set
CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y
# CONFIG_MALI_SHARED_INTERRUPTS is not set
# CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set
CONFIG_UMP=m CONFIG_UMP=m
CONFIG_UMP_DEBUG=y CONFIG_UMP_DEBUG=y
# CONFIG_VGASTATE is not set # CONFIG_VGASTATE is not set
@ -2724,31 +2773,38 @@ CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set # CONFIG_LOGO is not set
CONFIG_SOUND=y CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE is not set CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y CONFIG_SND=y
CONFIG_SND_TIMER=y CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=m CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y CONFIG_SND_JACK=y
# CONFIG_SND_SEQUENCER is not set CONFIG_SND_SEQUENCER=m
# CONFIG_SND_MIXER_OSS is not set # CONFIG_SND_SEQ_DUMMY is not set
# CONFIG_SND_PCM_OSS is not set CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_HRTIMER=y CONFIG_SND_HRTIMER=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y CONFIG_SND_VMASTER=y
# CONFIG_SND_RAWMIDI_SEQ is not set CONFIG_SND_RAWMIDI_SEQ=m
# CONFIG_SND_OPL3_LIB_SEQ is not set # CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set # CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set # CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set # CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_DRIVERS=y CONFIG_SND_DRIVERS=y
# CONFIG_SND_DUMMY is not set CONFIG_SND_DUMMY=m
# CONFIG_SND_ALOOP is not set CONFIG_SND_ALOOP=m
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set # CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set # CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_SERIAL_U16550 is not set
@ -3184,7 +3240,7 @@ CONFIG_RTC_INTF_DEV=y
# #
# I2C RTC drivers # I2C RTC drivers
# #
# CONFIG_RTC_DRV_DS1307 is not set CONFIG_RTC_DRV_DS1307=y
# CONFIG_RTC_DRV_DS1374 is not set # CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set # CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set # CONFIG_RTC_DRV_DS3232 is not set
@ -3380,7 +3436,7 @@ CONFIG_IIO=m
# Light sensors # Light sensors
# #
# CONFIG_SENSORS_ISL29018 is not set # CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_TSL2563=m
# CONFIG_TSL2583 is not set # CONFIG_TSL2583 is not set
# #
@ -3408,6 +3464,9 @@ CONFIG_IIO=m
# Triggers - standalone # Triggers - standalone
# #
# CONFIG_IIO_SIMPLE_DUMMY is not set # CONFIG_IIO_SIMPLE_DUMMY is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set
CONFIG_ZSMALLOC=m
CONFIG_FB_SM7XX=m CONFIG_FB_SM7XX=m
CONFIG_USB_ENESTORAGE=m CONFIG_USB_ENESTORAGE=m
CONFIG_BCM_WIMAX=m CONFIG_BCM_WIMAX=m
@ -3514,7 +3573,11 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set CONFIG_JFS_FS=y
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y CONFIG_XFS_FS=y
CONFIG_XFS_QUOTA=y CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_POSIX_ACL=y
@ -3543,6 +3606,7 @@ CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y CONFIG_FUSE_FS=y
CONFIG_OVERLAYFS_FS=m
CONFIG_CUSE=y CONFIG_CUSE=y
CONFIG_GENERIC_ACL=y CONFIG_GENERIC_ACL=y
@ -3748,8 +3812,7 @@ CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set # CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set # CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_MEMORY_INIT=y
@ -3779,6 +3842,16 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_ENABLE_DEFAULT_TRACERS is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
CONFIG_DYNAMIC_DEBUG=y CONFIG_DYNAMIC_DEBUG=y
# CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_ATOMIC64_SELFTEST is not set

4331
config/linux-udoo-neo.config Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

3882
config/linux-udoo.config Normal file

File diff suppressed because it is too large Load diff

View file

@ -60,8 +60,8 @@ uart_debug_rx = port:PB23<2><1><default><default>
[uart_force_debug] [uart_force_debug]
uart_debug_port = 0 uart_debug_port = 0
uart_debug_tx = port:PF02<4><1><default><default> uart_debug_tx = port:PB22<2><1><default><default>
uart_debug_rx = port:PF04<4><1><default><default> uart_debug_rx = port:PB23<2><1><default><default>
[jtag_para] [jtag_para]
jtag_enable = 0 jtag_enable = 0
@ -71,7 +71,7 @@ jtag_do = port:PB16<3><default><default><default>
jtag_di = port:PB17<3><default><default><default> jtag_di = port:PB17<3><default><default><default>
[pm_para] [pm_para]
standby_mode = 1 standby_mode = 0
[dram_para] [dram_para]
dram_baseaddr = 0x40000000 dram_baseaddr = 0x40000000
@ -135,6 +135,16 @@ twi2_used = 1
twi2_scl = port:PB20<2><default><default><default> twi2_scl = port:PB20<2><default><default><default>
twi2_sda = port:PB21<2><default><default><default> twi2_sda = port:PB21<2><default><default><default>
[twi3_para]
twi3_used = 0
twi3_scl = port:PI00<3><default><default><default>
twi3_sda = port:PI01<3><default><default><default>
[twi4_para]
twi4_used = 0
twi4_scl = port:PI02<3><default><default><default>
twi4_sda = port:PI03<3><default><default><default>
[uart_para0] [uart_para0]
uart_used = 1 uart_used = 1
uart_port = 0 uart_port = 0
@ -177,8 +187,8 @@ uart_cts = port:PH03<4><1><default><default>
uart_used = 0 uart_used = 0
uart_port = 4 uart_port = 4
uart_type = 2 uart_type = 2
uart_tx = port:PH04<4><1><default><default> uart_tx = port:PG10<4><1><default><default>
uart_rx = port:PH05<4><1><default><default> uart_rx = port:PG11<4><1><default><default>
[uart_para5] [uart_para5]
uart_used = 0 uart_used = 0
@ -191,15 +201,15 @@ uart_rx = port:PH07<4><1><default><default>
uart_used = 1 uart_used = 1
uart_port = 6 uart_port = 6
uart_type = 2 uart_type = 2
uart_tx = port:PI12<4><1><default><default> uart_tx = port:PI12<3><1><default><default>
uart_rx = port:PI13<4><1><default><default> uart_rx = port:PI13<3><1><default><default>
[uart_para7] [uart_para7]
uart_used = 1 uart_used = 1
uart_port = 7 uart_port = 7
uart_type = 2 uart_type = 2
uart_tx = port:PI20<4><1><default><default> uart_tx = port:PI20<3><1><default><default>
uart_rx = port:PI21<4><1><default><default> uart_rx = port:PI21<3><1><default><default>
[spi0_para] [spi0_para]
spi_used = 0 spi_used = 0
@ -235,6 +245,28 @@ spi_sclk = port:PA06<3><default><default><default>
spi_mosi = port:PA07<3><default><default><default> spi_mosi = port:PA07<3><default><default><default>
spi_miso = port:PA08<3><default><default><default> spi_miso = port:PA08<3><default><default><default>
[spi_devices]
spi_dev_num = 2
[spi_board0]
modalias = "spidev"
max_speed_hz = 1000000
bus_num = 2
chip_select = 0
mode = 3
full_duplex = 0
manual_cs = 0
[spi_board1]
modalias = "spidev"
max_speed_hz = 1000000
bus_num = 1
chip_select = 0
mode = 3
full_duplex = 0
manual_cs = 0
[rtp_para] [rtp_para]
rtp_used = 1 rtp_used = 1
rtp_screen_size = 5 rtp_screen_size = 5
@ -266,6 +298,14 @@ tkey_int = port:PI13<6><default><default><default>
motor_used = 0 motor_used = 0
motor_shake = port:PB03<1><default><default><1> motor_shake = port:PB03<1><default><default><1>
[leds_para]
leds_used = 1
leds_num = 1
leds_pin_1 = port:PH02<1><default><default><0>
leds_name_1 = "green:ph02:led1"
leds_default_1 = 0
leds_trigger_1 = "heartbeat"
[nand_para] [nand_para]
nand_used = 1 nand_used = 1
nand_we = port:PC00<2><default><default><default> nand_we = port:PC00<2><default><default><default>
@ -818,6 +858,8 @@ spdif_din =
[audio_para] [audio_para]
audio_used = 1 audio_used = 1
capture_used = 1 capture_used = 1
playback_used = 1
audio_lr_change = 0
[switch_para] [switch_para]
switch_used = 1 switch_used = 1
@ -891,7 +933,7 @@ key_min = 4
key_max = 6 key_max = 6
[dvfs_table] [dvfs_table]
max_freq = 912000000 max_freq = 1008000000
min_freq = 408000000 min_freq = 408000000
LV_count = 7 LV_count = 7
LV1_freq = 1008000000 LV1_freq = 1008000000
@ -908,171 +950,139 @@ LV6_freq = 312000000
LV6_volt = 1000 LV6_volt = 1000
LV7_freq = 144000000 LV7_freq = 144000000
LV7_volt = 1000 LV7_volt = 1000
[gpio_para] [gpio_para]
gpio_used = 1 gpio_used = 1
gpio_num = 76 gpio_num = 61
gpio_pin_1 = port:PE00<0><default><default><default> gpio_pin_1 = port:PG00<0><default><default><default>
gpio_pin_2 = port:PE01<0><default><default><default> gpio_pin_2 = port:PG01<0><default><default><default>
gpio_pin_3 = port:PE02<0><default><default><default> gpio_pin_3 = port:PG02<0><default><default><default>
gpio_pin_4 = port:PE03<0><default><default><default> gpio_pin_4 = port:PG03<0><default><default><default>
gpio_pin_5 = port:PE04<0><default><default><default> gpio_pin_5 = port:PG04<0><default><default><default>
gpio_pin_6 = port:PE05<0><default><default><default> gpio_pin_6 = port:PG05<0><default><default><default>
gpio_pin_7 = port:PE06<0><default><default><default> gpio_pin_7 = port:PG06<0><default><default><default>
gpio_pin_8 = port:PE07<0><default><default><default> gpio_pin_8 = port:PG07<0><default><default><default>
gpio_pin_9 = port:PE08<0><default><default><default> gpio_pin_9 = port:PG08<0><default><default><default>
gpio_pin_10 = port:PE09<0><default><default><default> gpio_pin_10 = port:PG09<0><default><default><default>
gpio_pin_11 = port:PE10<0><default><default><default> gpio_pin_11 = port:PC07<0><default><default><default>
gpio_pin_12 = port:PE11<0><default><default><default> gpio_pin_12 = port:PC17<0><default><default><default>
gpio_pin_13 = port:PI14<0><default><default><default> gpio_pin_13 = port:PC18<0><default><default><default>
gpio_pin_14 = port:PI15<0><default><default><default> gpio_pin_14 = port:PC23<0><default><default><default>
gpio_pin_15 = port:PI00<0><default><default><default> gpio_pin_15 = port:PC24<0><default><default><default>
gpio_pin_16 = port:PI01<0><default><default><default> gpio_pin_16 = port:PH00<0><default><default><default>
gpio_pin_17 = port:PI02<0><default><default><default> gpio_pin_17 = port:PH02<0><default><default><default>
gpio_pin_18 = port:PI03<0><default><default><default> gpio_pin_18 = port:PH09<0><default><default><default>
gpio_pin_19 = port:PI10<0><default><default><default> gpio_pin_19 = port:PH10<0><default><default><default>
gpio_pin_20 = port:PI11<0><default><default><default> gpio_pin_20 = port:PH11<0><default><default><default>
gpio_pin_21 = port:PC03<0><default><default><default> gpio_pin_21 = port:PH14<0><default><default><default>
gpio_pin_22 = port:PC07<0><default><default><default> gpio_pin_22 = port:PH15<0><default><default><default>
gpio_pin_23 = port:PC16<0><default><default><default> gpio_pin_23 = port:PH16<0><default><default><default>
gpio_pin_24 = port:PC17<0><default><default><default> gpio_pin_24 = port:PH17<0><default><default><default>
gpio_pin_25 = port:PC18<0><default><default><default> gpio_pin_25 = port:PH18<0><default><default><default>
gpio_pin_26 = port:PC23<0><default><default><default> gpio_pin_26 = port:PH19<0><default><default><default>
gpio_pin_27 = port:PC24<0><default><default><default> gpio_pin_27 = port:PH20<0><default><default><default>
gpio_pin_28 = port:PB03<0><default><default><default> gpio_pin_28 = port:PH21<0><default><default><default>
gpio_pin_29 = port:PB04<0><default><default><default> gpio_pin_29 = port:PH22<0><default><default><default>
gpio_pin_30 = port:PB05<0><default><default><default> gpio_pin_30 = port:PH23<0><default><default><default>
gpio_pin_31 = port:PB06<0><default><default><default> gpio_pin_31 = port:PH24<0><default><default><default>
gpio_pin_32 = port:PB07<0><default><default><default> gpio_pin_32 = port:PH25<0><default><default><default>
gpio_pin_33 = port:PB08<0><default><default><default> gpio_pin_33 = port:PH26<0><default><default><default>
gpio_pin_34 = port:PB10<0><default><default><default> gpio_pin_34 = port:PH27<0><default><default><default>
gpio_pin_35 = port:PB11<0><default><default><default> gpio_pin_35 = port:PB03<0><default><default><default>
gpio_pin_36 = port:PB12<0><default><default><default> gpio_pin_36 = port:PB04<0><default><default><default>
gpio_pin_37 = port:PB13<0><default><default><default> gpio_pin_37 = port:PB05<0><default><default><default>
gpio_pin_38 = port:PB14<0><default><default><default> gpio_pin_38 = port:PB06<0><default><default><default>
gpio_pin_39 = port:PB15<0><default><default><default> gpio_pin_39 = port:PB07<0><default><default><default>
gpio_pin_40 = port:PB16<0><default><default><default> gpio_pin_40 = port:PB10<0><default><default><default>
gpio_pin_41 = port:PB17<0><default><default><default> gpio_pin_41 = port:PB11<0><default><default><default>
gpio_pin_42 = port:PH24<0><default><default><default> gpio_pin_42 = port:PB12<0><default><default><default>
gpio_pin_43 = port:PH25<0><default><default><default> gpio_pin_43 = port:PB13<0><default><default><default>
gpio_pin_44 = port:PH26<0><default><default><default> gpio_pin_44 = port:PB14<0><default><default><default>
gpio_pin_45 = port:PH27<0><default><default><default> gpio_pin_45 = port:PB15<0><default><default><default>
gpio_pin_46 = port:PH00<0><default><default><default> gpio_pin_46 = port:PB16<0><default><default><default>
gpio_pin_47 = port:PH02<0><default><default><default> gpio_pin_47 = port:PB17<0><default><default><default>
gpio_pin_48 = port:PH07<0><default><default><default> gpio_pin_48 = port:PI00<0><default><default><default>
gpio_pin_49 = port:PH09<0><default><default><default> gpio_pin_49 = port:PI01<0><default><default><default>
gpio_pin_50 = port:PH10<0><default><default><default> gpio_pin_50 = port:PI02<0><default><default><default>
gpio_pin_51 = port:PH11<0><default><default><default> gpio_pin_51 = port:PI03<0><default><default><default>
gpio_pin_52 = port:PH12<0><default><default><default> gpio_pin_52 = port:PI04<0><default><default><default>
gpio_pin_53 = port:PH13<0><default><default><default> gpio_pin_53 = port:PI05<0><default><default><default>
gpio_pin_54 = port:PH14<0><default><default><default> gpio_pin_54 = port:PI06<0><default><default><default>
gpio_pin_55 = port:PH15<0><default><default><default> gpio_pin_55 = port:PI07<0><default><default><default>
gpio_pin_56 = port:PH16<0><default><default><default> gpio_pin_56 = port:PI08<0><default><default><default>
gpio_pin_57 = port:PH17<0><default><default><default> gpio_pin_57 = port:PI09<0><default><default><default>
gpio_pin_58 = port:PH18<0><default><default><default> gpio_pin_58 = port:PI10<0><default><default><default>
gpio_pin_59 = port:PH19<0><default><default><default> gpio_pin_59 = port:PI11<0><default><default><default>
gpio_pin_60 = port:PH20<0><default><default><default> gpio_pin_60 = port:PI14<0><default><default><default>
gpio_pin_61 = port:PH21<0><default><default><default> gpio_pin_61 = port:PI15<0><default><default><default>
gpio_pin_62 = port:PH22<0><default><default><default>
gpio_pin_63 = port:PH23<0><default><default><default>
gpio_pin_64 = port:PG00<0><default><default><default>
gpio_pin_65 = port:PG01<0><default><default><default>
gpio_pin_66 = port:PG02<0><default><default><default>
gpio_pin_67 = port:PG03<0><default><default><default>
gpio_pin_68 = port:PG04<0><default><default><default>
gpio_pin_69 = port:PG05<0><default><default><default>
gpio_pin_70 = port:PG06<0><default><default><default>
gpio_pin_71 = port:PG07<0><default><default><default>
gpio_pin_72 = port:PG08<0><default><default><default>
gpio_pin_73 = port:PG09<0><default><default><default>
gpio_pin_74 = port:PG10<0><default><default><default>
gpio_pin_75 = port:PG11<0><default><default><default>
gpio_pin_76 = port:PH08<1><default><default><1>
[gpio_init] [gpio_init]
pin_1 = port:PE00<0><default><default><default> pin_1 = port:PG00<0><default><default><default>
pin_2 = port:PE01<0><default><default><default> pin_2 = port:PG01<0><default><default><default>
pin_3 = port:PE02<0><default><default><default> pin_3 = port:PG02<0><default><default><default>
pin_4 = port:PE03<0><default><default><default> pin_4 = port:PG03<0><default><default><default>
pin_5 = port:PE04<0><default><default><default> pin_5 = port:PG04<0><default><default><default>
pin_6 = port:PE05<0><default><default><default> pin_6 = port:PG05<0><default><default><default>
pin_7 = port:PE06<0><default><default><default> pin_7 = port:PG06<0><default><default><default>
pin_8 = port:PE07<0><default><default><default> pin_8 = port:PG07<0><default><default><default>
pin_9 = port:PE08<0><default><default><default> pin_9 = port:PG08<0><default><default><default>
pin_10 = port:PE09<0><default><default><default> pin_10 = port:PG09<0><default><default><default>
pin_11 = port:PE10<0><default><default><default> pin_11 = port:PC07<0><default><default><default>
pin_12 = port:PE11<0><default><default><default> pin_12 = port:PC17<0><default><default><default>
pin_13 = port:PI14<0><default><default><default> pin_13 = port:PC18<0><default><default><default>
pin_14 = port:PI15<0><default><default><default> pin_14 = port:PC23<0><default><default><default>
pin_15 = port:PI00<0><default><default><default> pin_15 = port:PC24<0><default><default><default>
pin_16 = port:PI01<0><default><default><default> pin_16 = port:PH00<0><default><default><default>
pin_17 = port:PI02<0><default><default><default> pin_17 = port:PH02<0><default><default><default>
pin_18 = port:PI03<0><default><default><default> pin_18 = port:PH09<0><default><default><default>
pin_19 = port:PI10<0><default><default><default> pin_19 = port:PH10<0><default><default><default>
pin_20 = port:PI11<0><default><default><default> pin_20 = port:PH11<0><default><default><default>
pin_21 = port:PC03<0><default><default><default> pin_21 = port:PH14<0><default><default><default>
pin_22 = port:PC07<0><default><default><default> pin_22 = port:PH15<0><default><default><default>
pin_23 = port:PC16<0><default><default><default> pin_23 = port:PH16<0><default><default><default>
pin_24 = port:PC17<0><default><default><default> pin_24 = port:PH17<0><default><default><default>
pin_25 = port:PC18<0><default><default><default> pin_25 = port:PH18<0><default><default><default>
pin_26 = port:PC23<0><default><default><default> pin_26 = port:PH19<0><default><default><default>
pin_27 = port:PC24<0><default><default><default> pin_27 = port:PH20<0><default><default><default>
pin_28 = port:PB03<0><default><default><default> pin_28 = port:PH21<0><default><default><default>
pin_29 = port:PB04<0><default><default><default> pin_29 = port:PH22<0><default><default><default>
pin_30 = port:PB05<0><default><default><default> pin_30 = port:PH23<0><default><default><default>
pin_31 = port:PB06<0><default><default><default> pin_31 = port:PH24<0><default><default><default>
pin_32 = port:PB07<0><default><default><default> pin_32 = port:PH25<0><default><default><default>
pin_33 = port:PB08<0><default><default><default> pin_33 = port:PH26<0><default><default><default>
pin_34 = port:PB10<0><default><default><default> pin_34 = port:PH27<0><default><default><default>
pin_35 = port:PB11<0><default><default><default> pin_35 = port:PB03<0><default><default><default>
pin_36 = port:PB12<0><default><default><default> pin_36 = port:PB04<0><default><default><default>
pin_37 = port:PB13<0><default><default><default> pin_37 = port:PB05<0><default><default><default>
pin_38 = port:PB14<0><default><default><default> pin_38 = port:PB06<0><default><default><default>
pin_39 = port:PB15<0><default><default><default> pin_39 = port:PB07<0><default><default><default>
pin_40 = port:PB16<0><default><default><default> pin_40 = port:PB10<0><default><default><default>
pin_41 = port:PB17<0><default><default><default> pin_41 = port:PB11<0><default><default><default>
pin_42 = port:PH24<0><default><default><default> pin_42 = port:PB12<0><default><default><default>
pin_43 = port:PH25<0><default><default><default> pin_43 = port:PB13<0><default><default><default>
pin_44 = port:PH26<0><default><default><default> pin_44 = port:PB14<0><default><default><default>
pin_45 = port:PH27<0><default><default><default> pin_45 = port:PB15<0><default><default><default>
pin_46 = port:PH00<0><default><default><default> pin_46 = port:PB16<0><default><default><default>
pin_47 = port:PH02<0><default><default><default> pin_47 = port:PB17<0><default><default><default>
pin_48 = port:PH07<0><default><default><default> pin_48 = port:PI00<0><default><default><default>
pin_49 = port:PH09<0><default><default><default> pin_49 = port:PI01<0><default><default><default>
pin_50 = port:PH10<0><default><default><default> pin_50 = port:PI02<0><default><default><default>
pin_51 = port:PH11<0><default><default><default> pin_51 = port:PI03<0><default><default><default>
pin_52 = port:PH12<0><default><default><default> pin_52 = port:PI04<0><default><default><default>
pin_53 = port:PH13<0><default><default><default> pin_53 = port:PI05<0><default><default><default>
pin_54 = port:PH14<0><default><default><default> pin_54 = port:PI06<0><default><default><default>
pin_55 = port:PH15<0><default><default><default> pin_55 = port:PI07<0><default><default><default>
pin_56 = port:PH16<0><default><default><default> pin_56 = port:PI08<0><default><default><default>
pin_57 = port:PH17<0><default><default><default> pin_57 = port:PI09<0><default><default><default>
pin_58 = port:PH18<0><default><default><default> pin_58 = port:PI10<0><default><default><default>
pin_59 = port:PH19<0><default><default><default> pin_59 = port:PI11<0><default><default><default>
pin_60 = port:PH20<0><default><default><default> pin_60 = port:PI14<0><default><default><default>
pin_61 = port:PH21<0><default><default><default> pin_61 = port:PI15<0><default><default><default>
pin_62 = port:PH22<0><default><default><default>
pin_63 = port:PH23<0><default><default><default> [softpwm_para]
pin_64 = port:PG00<0><default><default><default> softpwm_used = 1
pin_65 = port:PG01<0><default><default><default> pwm_pin = port:PD23<0><default><default><default>
pin_66 = port:PG02<0><default><default><default> dcr_pin = port:PD24<0><default><default><default>
pin_67 = port:PG03<0><default><default><default>
pin_68 = port:PG04<0><default><default><default>
pin_69 = port:PG05<0><default><default><default>
pin_70 = port:PG06<0><default><default><default>
pin_71 = port:PG07<0><default><default><default>
pin_72 = port:PG08<0><default><default><default>
pin_73 = port:PG09<0><default><default><default>
pin_74 = port:PG10<0><default><default><default>
pin_75 = port:PG11<0><default><default><default>
pin_76 = port:PH08<1><default><default><1>
[leds_para]
leds_used = 1
leds_num = 1
leds_pin_1 = port:PH02<1><default><default><0>
leds_name_1 = "green:ph02:led1"
leds_default_1 = 1
[tabletkeys_para] [tabletkeys_para]
tabletkeys_used = 1 tabletkeys_used = 1

View file

@ -1,7 +0,0 @@
hci_uart
gpio_sunxi
rfcomm
hidp
sunxi-ir
bonding
spi_sun7i

View file

@ -1,21 +0,0 @@
hci_uart
gpio_sunxi
bt_gpio
wifi_gpio
rfcomm
hidp
sunxi-ir
sunxi_ss
bonding
spi_sun7i
bcmdhd
# if you want access point mode, load wifi module this way: bcmdhd op_mode=2
# in Jessie load module without option and add: nano /etc/modprobe.d/bcmdhd.conf and put in: options bcmdhd op_mode=2
# and edit /etc/init.d/hostapd change DAEMON_CONF=/etc/hostapd.conf ; edit your wifi net settings in hostapd.conf ; reboot
#
# w1_sunxi
#
# Advanced LIRC driver: https://github.com/matzrh/sunxi-lirc
#
# lirc_gpio
# sunxi_lirc

View file

@ -1 +0,0 @@
brcmfmac

View file

@ -1 +0,0 @@
bonding

View file

@ -1,7 +0,0 @@
hci_uart
gpio_sunxi
rfcomm
hidp
sunxi_ss
bonding
spi_sun7i

View file

@ -1,7 +0,0 @@
hci_uart
gpio_sunxi
rfcomm
hidp
sunxi_ss
bonding
spi_sun7i

1072
config/orangepi.fex Normal file

File diff suppressed because it is too large Load diff

1067
config/pcduino3nano.fex Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,9 @@
deb http://ftp.de.debian.org/debian testing main contrib non-free deb http://httpredir.debian.org/debian jessie main contrib non-free
deb-src http://ftp.de.debian.org/debian testing main contrib non-free deb-src http://httpredir.debian.org/debian jessie main contrib non-free
deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://httpredir.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://httpredir.debian.org/debian/ jessie-updates main contrib non-free
# security packages come always from main repository
deb http://security.debian.org/ jessie/updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free

View file

@ -1,3 +1,4 @@
deb http://ports.ubuntu.com/ubuntu-ports/ trusty main universe multiverse deb http://ports.ubuntu.com/ trusty main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main universe multiverse deb http://ports.ubuntu.com/ trusty-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-proposed main universe multiverse deb http://ports.ubuntu.com/ trusty-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ trusty-backports main restricted universe multiverse

View file

@ -1,9 +1,12 @@
deb http://ftp.de.debian.org/debian stable main contrib non-free deb http://httpredir.debian.org/debian wheezy main contrib non-free
deb-src http://ftp.de.debian.org/debian stable main contrib non-free deb-src http://httpredir.debian.org/debian wheezy main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free deb http://httpredir.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://httpredir.debian.org/debian/ wheezy-updates main contrib non-free
deb http://httpredir.debian.org/debian wheezy-backports main contrib non-free
deb-src http://httpredir.debian.org/debian wheezy-backports main contrib non-free
# security packages come always from main repository
deb http://security.debian.org/ wheezy/updates main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free

5
config/ttyS0.conf Normal file
View file

@ -0,0 +1,5 @@
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty --noclear 115200 ttyS0

View file

@ -1,5 +0,0 @@
console=tty1
root=/dev/mmcblk0p1 rootwait
extraargs=rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 panic=10 consoleblank=0
script=bananapi.bin
kernel=uImage

View file

@ -1,5 +0,0 @@
console=tty1
root=/dev/mmcblk0p1 rootwait
extraargs=rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 panic=10 consoleblank=0
script=cubieboard2.bin
kernel=uImage

View file

@ -1,5 +0,0 @@
console=tty1
root=/dev/mmcblk0p1 rootwait
extraargs=rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 panic=10 consoleblank=0
script=cubietruck.bin
kernel=uImage

View file

@ -1 +0,0 @@
mmcargs=setenv bootargs root=/dev/mmcblk0p1 rootfstype=ext4 rootwait console=ttymxc0,115200 cma=32M video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 rd.dm=0 rd.luks=0 rd.lvm=0 raid=noautodetect pci=nomsi ahci_imx.hotplug=1 quiet

455
configuration.sh Normal file
View file

@ -0,0 +1,455 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
#
# Board configurations
#
#
# vaid options for automatic building
#
# build 0 = don't build
# build 1 = old kernel
# build 2 = next kernel
# build 3 = both kernels
#---------------------------------------------------------------------------------------------------------------------------------
# common options
#---------------------------------------------------------------------------------------------------------------------------------
REVISION="4.71" # all boards have same revision
SDSIZE="4000" # SD image size in MB
TZDATA=`cat /etc/timezone` # Timezone for target is taken from host or defined here.
USEALLCORES="yes" # Use all CPU cores for compiling
SYSTEMD="no" # Enable or disable systemd on Jessie.
OFFSET="1" # Bootloader space in MB (1 x 2048 = default)
BOOTSIZE="0" # Mb size of boot partition
UBOOTTAG="v2015.10" # U-boot TAG
BOOTLOADER="git://git.denx.de/u-boot.git" # mainline u-boot sources
BOOTSOURCE="u-boot" # mainline u-boot local directory
BOOTDEFAULT="master" # default branch that git checkout works properly
LINUXDEFAULT="HEAD" # default branch that git checkout works properly
MISC1="https://github.com/linux-sunxi/sunxi-tools.git" # Allwinner fex compiler / decompiler
MISC1_DIR="sunxi-tools" # local directory
MISC2="" # Reserved
MISC2_DIR="" # local directory
MISC3="https://github.com/dz0ny/rt8192cu --depth 1" # Realtek drivers
MISC3_DIR="rt8192cu" # local directory
MISC4="https://github.com/notro/fbtft" # Small TFT display driver
MISC4_DIR="fbtft-drivers" # local directory
MISC5="https://github.com/hglm/a10disp/ --depth 1" # Display changer for Allwinner
MISC5_DIR="sunxi-display-changer" # local directory
#---------------------------------------------------------------------------------------------------------------------------------
# If KERNELTAG is not defined, let's compile latest stable. Vanilla kernel only
#---------------------------------------------------------------------------------------------------------------------------------
[[ -z "$KERNELTAG" ]] && KERNELTAG="v"`wget -qO- https://www.kernel.org/finger_banner | grep "The latest st" | awk '{print $NF}'`
#---------------------------------------------------------------------------------------------------------------------------------
# common for legacy allwinner kernel-source
#---------------------------------------------------------------------------------------------------------------------------------
# dan and me
LINUXKERNEL="https://github.com/dan-and/linux-sunxi --depth 1"
LINUXSOURCE="linux-sunxi"
LINUXFAMILY="sunxi"
LINUXCONFIG="linux-sunxi"
# linux-sunxi
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi -b sunxi-3.4 --depth 1"
LINUXSOURCE="linux-sunxi-dev"
LINUXFAMILY="sun7i"
LINUXCONFIG="linux-sun7i"
CPUMIN="480000"
CPUMAX="1010000"
#---------------------------------------------------------------------------------------------------------------------------------
# choose configuration
#---------------------------------------------------------------------------------------------------------------------------------
case $BOARD in
cubieboard4)#disabled
#---------------------------------------------------------------------------------------------------------------------------------
# Cubieboards 3.4.x
#---------------------------------------------------------------------------------------------------------------------------------
OFFSET="20"
BOOTSIZE="16"
BOOTCONFIG="Bananapi_defconfig" # we don't use it. binnary
CPUMIN="1200000"
CPUMAX="1800000"
LINUXFAMILY="sun9i"
LINUXKERNEL="https://github.com/cubieboard/CC-A80-kernel-source"
LINUXSOURCE="linux-sun9i"
LINUXCONFIG="linux-sun9i"
;;
aw-som-a20)#enabled
#description A20 dual core SoM
#build 0
#---------------------------------------------------------------------------------------------------------------------------------
# https://aw-som.com/
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Awsom_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp bonding spi_sun7i"
MODULES_NEXT="bonding"
;;
cubieboard)#enabled
#description A10 single core 1Gb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Cubieboard
#---------------------------------------------------------------------------------------------------------------------------------
LINUXFAMILY="sun4i"
LINUXCONFIG="linux-sun4i"
BOOTCONFIG="Cubieboard_config"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sunxi"
MODULES_NEXT="bonding"
;;
cubieboard2)#enabled
#description A20 dual core 1Gb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Cubieboard
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Cubieboard2_config"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i"
MODULES_NEXT="bonding"
;;
cubietruck)#enabled
#description A20 dual core 2Gb SoC Wifi
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Cubieboard
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Cubietruck_config"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i ap6210"
MODULES_NEXT="brcmfmac rfcomm hidp bonding"
;;
lime-a10)#enabled
#description A10 single core 512Mb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime
#---------------------------------------------------------------------------------------------------------------------------------
LINUXKERNEL="https://github.com/linux-sunxi/linux-sunxi"
LINUXSOURCE="linux-sunxi-dev"
LINUXFAMILY="sun4i"
LINUXCONFIG="linux-sun4i"
BOOTCONFIG="A10-OLinuXino-Lime_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="bonding"
;;
lime)#enabled
#description A20 dual core 512Mb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="A20-OLinuXino-Lime_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="bonding"
;;
lime2)#enabled
#description A20 dual core 1Gb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime 2
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="A20-OLinuXino-Lime2_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="bonding"
;;
micro)#enabled
#description A20 dual core 1Gb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Olimex Lime mainline kernel / experimental
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="A20-OLinuXino_MICRO_config"
MODULES="hci_uart gpio_sunxi rfcomm hidp bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="bonding"
;;
pcduino3nano)#enabled
#description A20 dual core 1Gb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# pcduino3nano
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Linksprite_pcDuino3_Nano_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i"
MODULES_NEXT="bonding"
;;
bananapim2)#enabled
#description A31 quad core 1Gb SoC Wifi
#build 2
#---------------------------------------------------------------------------------------------------------------------------------
# Bananapi M2
#---------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/BPI-SINOVOIP/BPI-Mainline-uboot"
BOOTCONFIG="Bananapi_M2_defconfig"
BOOTSOURCE="u-boot-bpi-m2"
BOOTDEFAULT="master"
UBOOTTAG=""
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="brcmfmac bonding"
;;
bananapi)#enabled
#description A20 dual core 1Gb SoC
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Bananapi
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Bananapi_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="brcmfmac bonding"
;;
bananapipro)#enabled
#description A20 dual core 1Gb SoC Wifi
#build 0
#---------------------------------------------------------------------------------------------------------------------------------
# Bananapi
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Bananapro_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q a20_tp ap6210"
MODULES_NEXT="brcmfmac bonding"
;;
lamobo-r1)#enabled
#description A20 dual core 1Gb SoC Switch
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Bananapi
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Lamobo_R1_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q"
MODULES_NEXT="brcmfmac bonding"
;;
orangepi)#enabled
#description A20 dual core 1Gb SoC Wifi USB hub
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Bananapi
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Orangepi_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="bonding"
;;
orangepimini)#enabled
#description A20 dual core 1Gb SoC Wifi
#build 0
#---------------------------------------------------------------------------------------------------------------------------------
# Bananapi
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="Orangepi_mini_defconfig"
MODULES="hci_uart gpio_sunxi rfcomm hidp sunxi-ir bonding spi_sun7i 8021q a20_tp"
MODULES_NEXT="bonding"
;;
orangepiplus)#enabled
#description H3 quad core 1Gb SoC Wifi USB hub
#build 2wip
#---------------------------------------------------------------------------------------------------------------------------------
# Orange pi plus H3
#---------------------------------------------------------------------------------------------------------------------------------
KERNELTAG="v4.4-rc2"
BOOTCONFIG="orangepi_plus_defconfig"
LINUXFAMILY="sun8i"
CPUMIN="1200000"
CPUMAX="1200000"
UBOOTTAG=""
LINUXCONFIG="linux-sunxi-dev"
;;
cubox-i)#enabled
#description Freescale iMx dual/quad core Wifi
#build 1
#---------------------------------------------------------------------------------------------------------------------------------
# cubox-i & hummingboard 3.14.xx
#---------------------------------------------------------------------------------------------------------------------------------
BOOTLOADER="https://github.com/SolidRun/u-boot-imx6 --depth 1"
BOOTDEFAULT="HEAD"
UBOOTTAG=""
BOOTSOURCE="u-boot-cubox"
BOOTCONFIG="mx6_cubox-i_config"
CPUMIN="396000"
CPUMAX="996000"
MODULES="bonding"
MODULES_NEXT="bonding"
LINUXKERNEL="https://github.com/linux4kix/linux-linaro-stable-mx6 --depth 1"
LINUXFAMILY="cubox"
LINUXCONFIG="linux-cubox"
LINUXSOURCE="linux-cubox"
if [[ $BRANCH == *next* ]];then
LINUXKERNEL="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git"
LINUXSOURCE="linux-mainline"
LINUXCONFIG="linux-cubox-next"
fi
;;
udoo)#enabled
#description Freescale iMx dual/quad core Wifi
#build 3
#---------------------------------------------------------------------------------------------------------------------------------
# Udoo quad
#---------------------------------------------------------------------------------------------------------------------------------
BOOTCONFIG="udoo_quad_config"
BOOTLOADER="https://github.com/UDOOboard/uboot-imx"
BOOTSOURCE="u-boot-neo"
UBOOTTAG=""
BOOTDEFAULT="master"
CPUMIN="392000"
CPUMAX="996000"
MODULES="bonding"
MODULES_NEXT=""
KERNELTAG=""
LINUXKERNEL="https://github.com/UDOOboard/linux_kernel --depth 1"
LINUXCONFIG="linux-udoo"
LINUXSOURCE="linux-udoo"
LINUXDEFAULT="3.14-1.0.x-udoo"
LINUXFAMILY="udoo"
;;
udoo-neo)#enabled
#description Freescale iMx singe core Wifi
#build 0
#---------------------------------------------------------------------------------------------------------------------------------
# Udoo Neo
#---------------------------------------------------------------------------------------------------------------------------------
#BOOTSIZE="32"
BOOTCONFIG="udoo_neo_config"
BOOTLOADER="https://github.com/UDOOboard/uboot-imx"
BOOTSOURCE="u-boot-neo"
UBOOTTAG=""
CPUMIN="198000"
CPUMAX="996000"
MODULES="bonding"
MODULES_NEXT=""
LINUXKERNEL="--depth 1 https://github.com/UDOOboard/linux_kernel -b imx_3.14.28_1.0.0_ga_neo_dev"
LINUXCONFIG="linux-udoo-neo"
LINUXSOURCE="linux-neo"
LINUXFAMILY="neo"
;;
guitar)#enabled
#description S500 Lemaker Guitar Action quad core
#build 1wip
#---------------------------------------------------------------------------------------------------------------------------------
# Lemaker Guitar
#---------------------------------------------------------------------------------------------------------------------------------
OFFSET="16"
BOOTSIZE="16"
BOOTCONFIG="s500_defconfig"
BOOTLOADER="https://github.com/LeMaker/u-boot-actions"
BOOTSOURCE="u-boot-guitar"
UBOOTTAG=""
CPUMIN="198000"
CPUMAX="996000"
MODULES="ethernet wlan_8723bs bonding"
MODULES_NEXT=""
LINUXKERNEL="https://github.com/LeMaker/linux-actions --depth 1"
LINUXCONFIG="linux-guitar"
LINUXSOURCE="linux-guitar"
LINUXFAMILY="s500"
;;
rpi)#disabled
#---------------------------------------------------------------------------------------------------------------------------------
# RPi
#---------------------------------------------------------------------------------------------------------------------------------
BOOTSIZE="32"
BOOTLOADER="https://github.com/UDOOboard/uboot-imx"
BOOTSOURCE="u-boot-neo"
BOOTCONFIG="udoo_neo_config"
CPUMIN="198000"
CPUMAX="996000"
MODULES="bonding"
MODULES_NEXT=""
LINUXKERNEL="https://github.com/raspberrypi/linux"
LINUXCONFIG="linux-rpi.config"
LINUXSOURCE="linux-rpi"
LINUXFAMILY="rpi"
;;
*) echo "Board configuration not found"
exit
;;
esac
#---------------------------------------------------------------------------------------------------------------------------------
# Vanilla Linux, second option, ...
#---------------------------------------------------------------------------------------------------------------------------------
if [[ $BRANCH == *next* ]];then
# All next compilations are using mainline u-boot & kernel
LINUXKERNEL="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git --depth 1"
LINUXSOURCE="linux-mainline"
LINUXCONFIG="linux-sunxi-next"
LINUXDEFAULT="master"
LINUXFAMILY="sunxi"
FIRMWARE=""
#LINUXSOURCE="linux-mainline-dac"
#LINUXKERNEL="https://github.com/ssvb/linux-sunxi -b 20151014-4.3.0-rc5-pcduino2-otg-test --depth 1"
#LINUXCONFIG="linux-sunxi-dac"
#KERNELTAG=""
if [[ $BOARD == "udoo" ]];then
LINUXKERNEL="https://github.com/patrykk/linux-udoo --depth 1"
LINUXSOURCE="linux-udoo-next"
LINUXCONFIG="linux-udoo-next"
LINUXDEFAULT="HEAD"
KERNELTAG=""
LINUXFAMILY="udoo"
fi
fi

203
deboostrap.sh Normal file
View file

@ -0,0 +1,203 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
#
# Create system template
#
#
custom_debootstrap (){
#---------------------------------------------------------------------------------------------------------------------------------
# Create clean and fresh Debian and Ubuntu image template if it does not exists
#---------------------------------------------------------------------------------------------------------------------------------
# is boot partition to big?
if [ "$SDSIZE" -le "$(($OFFSET+$BOOTSIZE))" ]; then
display_alert "Image size too small." "$BOOTSIZE > $SDSIZE" "err"
exit
fi
# create needed directories and mount image to next free loop device
rm -rf $DEST/cache/sdcard/
mkdir -p $DEST/cache/rootfs $DEST/cache/sdcard
cd $DEST/cache
# We need to re-calculate from human to machine
BOOTSTART=$(($OFFSET*2048))
ROOTSTART=$(($BOOTSTART+($BOOTSIZE*2048)))
BOOTEND=$(($ROOTSTART-1))
# Create image file
while read line;do
[[ "$line" =~ "records out" ]] &&
echo "$(( ${line%+*}*100/$SDSIZE +1 ))" | dialog --backtitle "$backtitle" --title "Creating blank image ($SDSIZE Mb), please wait ..." --gauge "" 5 70
done< <( dd if=/dev/zero of=$DEST/cache/tmprootfs.raw bs=1M count=$SDSIZE 2>&1 &
pid=$!
sleep 1
while kill -USR1 $pid 2>/dev/null;do
sleep 1
done )
# Find first available free device
LOOP=$(losetup -f)
if [[ "$LOOP" != "/dev/loop0" && "$LOOP" != "/dev/loop1" ]]; then
display_alert "You run out of loop devices" "pleese reboot" "error"
exit
fi
# Mount image as block device
losetup $LOOP $DEST/cache/tmprootfs.raw
sync
# Create partitions and file-system
parted -s $LOOP -- mklabel msdos
if [ "$BOOTSIZE" -eq "0" ]; then
parted -s $LOOP -- mkpart primary ext4 $ROOTSTART"s" -1s
partprobe $LOOP
mkfs.ext4 -q $LOOP"p1"
mount $LOOP"p1" $DEST/cache/sdcard/
else
parted -s $LOOP -- mkpart primary fat16 $BOOTSTART"s" $BOOTEND"s"
parted -s $LOOP -- mkpart primary ext4 $ROOTSTART"s" -1s
partprobe $LOOP
mkfs.vfat -n "$IMAGEVOLUME" $LOOP"p1" >/dev/null 2>&1
mkfs.ext4 -q $LOOP"p2"
mount $LOOP"p2" $DEST/cache/sdcard/
mkdir -p $DEST/cache/sdcard/boot
mount $LOOP"p1" $DEST/cache/sdcard/boot
fi
# Uncompress from cache
if [ -f "$DEST/cache/rootfs/$RELEASE.tgz" ]; then
filemtime=`stat -c %Y $DEST/cache/rootfs/$RELEASE.tgz`
currtime=`date +%s`
diff=$(( (currtime - filemtime) / 86400 ))
display_alert "Extracting $RELEASE from cache" "$diff days old" "info"
tar xpfz "$DEST/cache/rootfs/$RELEASE.tgz" -C $DEST/cache/sdcard/
if [ "$diff" -gt "3" ]; then
chroot $DEST/cache/sdcard /bin/bash -c "apt-get update" | dialog --backtitle "$backtitle" --title "Force package update ..." --progressbox 20 70
fi
fi
# If we don't have a filesystem cached, let's make em
if [ ! -f "$DEST/cache/rootfs/$RELEASE.tgz" ]; then
# debootstrap base system
if [[ $RELEASE == "jessie" && $SYSTEMD == "no" ]]; then sysvinit=",sysvinit-core"; fi
debootstrap --include=openssh-server,debconf-utils$sysvinit --arch=armhf --foreign $RELEASE $DEST/cache/sdcard/ | dialog --backtitle "$backtitle" --title "Debootstrap $DISTRIBUTION $RELEASE base system to image template ..." --progressbox 20 70
# remove systemd default load. It's installed and can be used with kernel parameter
if [[ $RELEASE == "jessie" && $SYSTEMD == "no" ]]; then
sed -i -e 's/systemd-sysv //g' $DEST/cache/sdcard/debootstrap/required
fi
# we need emulator for second stage
cp /usr/bin/qemu-arm-static $DEST/cache/sdcard/usr/bin/
# and keys
d=$DEST/cache/sdcard/usr/share/keyrings/
test -d "$d" || mkdir -p "$d" && cp /usr/share/keyrings/debian-archive-keyring.gpg "$d"
# enable arm binary format so that the cross-architecture chroot environment will work
test -e /proc/sys/fs/binfmt_misc/qemu-arm || update-binfmts --enable qemu-arm
# debootstrap second stage
chroot $DEST/cache/sdcard /bin/bash -c "/debootstrap/debootstrap --second-stage" | dialog --backtitle "$backtitle" --title "Installing $DISTRIBUTION $RELEASE base system to image template ..." --progressbox 20 70
# mount proc, sys and dev
mount -t proc chproc $DEST/cache/sdcard/proc
mount -t sysfs chsys $DEST/cache/sdcard/sys
mount -t devtmpfs chdev $DEST/cache/sdcard/dev || mount --bind /dev $DEST/cache/sdcard/dev
mount -t devpts chpts $DEST/cache/sdcard/dev/pts
# choose proper apt list
cp $SRC/lib/config/sources.list.$RELEASE $DEST/cache/sdcard/etc/apt/sources.list
# add armbian key
echo "deb http://apt.armbian.com $RELEASE main" > $DEST/cache/sdcard/etc/apt/sources.list.d/armbian.list
cp $SRC/lib/bin/armbian.key $DEST/cache/sdcard
chroot $DEST/cache/sdcard /bin/bash -c "cat armbian.key | apt-key add -"
rm $DEST/cache/sdcard/armbian.key
# update and upgrade
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y update" | dialog --progressbox "Updating package databases ..." 20 70
# install aditional packages
PAKETKI="alsa-utils automake btrfs-tools bash-completion bc bridge-utils bluez build-essential cmake cpufrequtils curl \
device-tree-compiler dosfstools evtest figlet fbset fping git haveged hddtemp hdparm hostapd htop i2c-tools ifenslave-2.6 \
iperf ir-keytable iotop iozone3 iw less libbluetooth-dev libbluetooth3 libtool libwrap0-dev libfuse2 libssl-dev lirc lsof makedev \
module-init-tools mtp-tools nano ntfs-3g ntp parted pkg-config pciutils pv python-smbus rfkill rsync screen stress sudo subversion \
sysfsutils toilet u-boot-tools unattended-upgrades unzip usbutils vlan wireless-tools weather-util weather-util-data wget \
wpasupplicant iptables dvb-apps libdigest-sha-perl libproc-processtable-perl w-scan apt-transport-https sysbench libusb-dev dialog"
# generate locales and install packets
display_alert "Install locales" "$DEST_LANG" "info"
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y -qq install locales"
if [ -f $DEST/cache/sdcard/etc/locale.gen ]; then sed -i "s/^# $DEST_LANG/$DEST_LANG/" $DEST/cache/sdcard/etc/locale.gen; fi
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "locale-gen $DEST_LANG"
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "export CHARMAP=$CONSOLE_CHAR FONTFACE=8x16 LANG=$DEST_LANG LANGUAGE=$DEST_LANG DEBIAN_FRONTEND=noninteractive"
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "update-locale LANG=$DEST_LANG LANGUAGE=$DEST_LANG LC_MESSAGES=POSIX"
install_packet "$PAKETKI" "Installing Armbian on the top of $DISTRIBUTION $RELEASE base system ..."
install_packet "console-setup console-data kbd console-common unicode-data" "Installing console packages"
# configure the system for unattended upgrades
cp $SRC/lib/scripts/50unattended-upgrades $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
cp $SRC/lib/scripts/02periodic $DEST/cache/sdcard/etc/apt/apt.conf.d/02periodic
# copy hostapd configurations
install -m 755 $SRC/lib/config/hostapd.conf $DEST/cache/sdcard/etc/hostapd.conf
install -m 755 $SRC/lib/config/hostapd.realtek.conf $DEST/cache/sdcard/etc/hostapd.conf-rt
# set up 'apt
cat <<END > $DEST/cache/sdcard/etc/apt/apt.conf.d/71-no-recommends
APT::Install-Recommends "0";
APT::Install-Suggests "0";
END
# console fix due to Debian bug
sed -e 's/CHARMAP=".*"/CHARMAP="'$CONSOLE_CHAR'"/g' -i $DEST/cache/sdcard/etc/default/console-setup
# root-fs modifications
rm -f $DEST/cache/sdcard/etc/motd
touch $DEST/cache/sdcard/etc/motd
chroot $DEST/cache/sdcard /bin/bash -c "apt-get clean"
chroot $DEST/cache/sdcard /bin/bash -c "sync"
chroot $DEST/cache/sdcard /bin/bash -c "unset DEBIAN_FRONTEND"
sync
sleep 3
# unmount proc, sys and dev from chroot
umount -l $DEST/cache/sdcard/dev/pts
umount -l $DEST/cache/sdcard/dev
umount -l $DEST/cache/sdcard/proc
umount -l $DEST/cache/sdcard/sys
# kill process inside
KILLPROC=$(ps -uax | pgrep ntpd | tail -1); if [ -n "$KILLPROC" ]; then kill -9 $KILLPROC; fi
KILLPROC=$(ps -uax | pgrep dbus-daemon | tail -1); if [ -n "$KILLPROC" ]; then kill -9 $KILLPROC; fi
display_alert "Closing deboostrap process and preparing cache." "" "info"
tar czpf $DEST/cache/rootfs/$RELEASE.tgz --directory=$DEST/cache/sdcard/ \
--exclude=dev/* --exclude=proc/* --exclude=run/* --exclude=tmp/* --exclude=mnt/* .
fi
#
# mount proc, sys and dev
mount -t proc chproc $DEST/cache/sdcard/proc
mount -t sysfs chsys $DEST/cache/sdcard/sys
mount -t devtmpfs chdev $DEST/cache/sdcard/dev || mount --bind /dev $DEST/cache/sdcard/dev
mount -t devpts chpts $DEST/cache/sdcard/dev/pts
}

140
desktop.sh Normal file
View file

@ -0,0 +1,140 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
install_desktop (){
#--------------------------------------------------------------------------------------------------------------------------------
# Install desktop with HW acceleration
#--------------------------------------------------------------------------------------------------------------------------------
display_alert "Installing desktop" "XFCE" "info"
umount $DEST/cache/sdcard/tmp >/dev/null 2>&1
mount --bind $SRC/lib/bin/ $DEST/cache/sdcard/tmp
# Declare office packages if any
OFFICE_PACKETS="libreoffice-writer libreoffice-java-common"
# Debian Wheezy
#--------------------------------------------------------------------------------------------------------------------------------
if [[ $RELEASE == "wheezy" ]]; then
BASIC_PACKETS="xserver-xorg xserver-xorg-core xfonts-base xinit nodm x11-xserver-utils xfce4 mozo pluma wicd thunar-volman \
galculator iceweasel libgnome2-perl gcj-jre-headless gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf libgtk2.0-bin \
xfce4-screenshooter icedove radiotray mirage xterm lxtask"
# copy wallpapers and default desktop settings
d=$DEST/cache/sdcard/usr/share/xfce4/backdrops/
test -d "$d" || mkdir -p "$d" && cp $SRC/lib/bin/armbian*.jpg "$d"
#cp $SRC/lib/config/wheezy-desktop.tgz /tmp/kernel # start configuration
chroot $DEST/cache/sdcard /bin/bash -c "tar xfz /tmp/wheezy-desktop.tgz -C /root/"
fi
# Debian Jessie
#--------------------------------------------------------------------------------------------------------------------------------
if [[ $RELEASE == "jessie" ]]; then
BASIC_PACKETS="xserver-xorg xserver-xorg-core xfonts-base xinit nodm x11-xserver-utils xfce4 mozo pluma wicd thunar-volman \
galculator iceweasel libgnome2-perl gcj-jre-headless gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf libgtk2.0-bin \
$OFFICE_PACKETS xfce4-screenshooter icedove radiotray mirage xterm lxtask"
# copy wallpapers
d=$DEST/cache/sdcard/usr/share/backgrounds/xfce/
test -d "$d" || mkdir -p "$d" && cp $SRC/lib/bin/armbian*.jpg "$d"
#cp $SRC/lib/config/jessie-desktop.tgz /tmp/kernel # start configuration
chroot $DEST/cache/sdcard /bin/bash -c "tar xfz /tmp/jessie-desktop.tgz -C /root/"
fi
# Ubuntu trusty
#--------------------------------------------------------------------------------------------------------------------------------
if [[ $RELEASE == "trusty" ]]; then
BASIC_PACKETS="xserver-xorg xserver-xorg-core xfonts-base xinit nodm x11-xserver-utils xfce4 wicd thunar-volman galculator \
libgnome2-perl gcj-jre-headless gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf libgtk2.0-bin \
$OFFICE_PACKETS xfce4-screenshooter thunderbird firefox radiotray mirage gnome-icon-theme-full \
tango-icon-theme xterm lxtask gvfs-backends"
# copy wallpapers and default desktop settings
d=$DEST/cache/sdcard/usr/share/backgrounds/xfce/
test -d "$d" || mkdir -p "$d" && cp $SRC/lib/bin/armbian*.jpg "$d"
#cp $SRC/lib/config/trusty-desktop.tgz /tmp/kernel # start configuration
chroot $DEST/cache/sdcard /bin/bash -c "tar xfz /tmp/trusty-desktop.tgz -C /root/"
fi
install_packet "$BASIC_PACKETS" "Installing desktop"
# Install custom icons and theme
#cp $SRC/lib/bin/vibrancy-colors_2.4-trusty-Noobslab.com_all.deb /tmp/kernel
#cp $SRC/lib/bin/NumixHolo.zip /tmp/kernel
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/vibrancy-colors_2.4-trusty-Noobslab.com_all.deb >/dev/null 2>&1"
chroot $DEST/cache/sdcard /bin/bash -c "unzip -qq /tmp/NumixHolo.zip -d /usr/share/themes"
# cleanup
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y autoremove >/dev/null 2>&1"
chroot $DEST/cache/sdcard /bin/bash -c "apt-get clean >/dev/null 2>&1"
umount $DEST/cache/sdcard/tmp >/dev/null 2>&1
# fix for udoo
if [[ $BOARD != "udoo" ]]; then
echo "[Settings]" > $DEST/cache/sdcard/etc/wicd/manager-settings.conf
echo "wireless_interface = wlan0" >> $DEST/cache/sdcard/etc/wicd/manager-settings.conf
fi
# Enable desktop moode autostart without password
sed "s/NODM_ENABLED=\(.*\)/NODM_ENABLED=true/g" -i $DEST/cache/sdcard/etc/default/nodm
# Compile Turbo Frame buffer for sunxi
if [[ $LINUXCONFIG == *sun* && $BRANCH != "next" ]]; then
install_packet "xorg-dev xutils-dev x11proto-dri2-dev xutils-dev libdrm-dev libvdpau-dev" "Installing support libraries"
# quemu bug walkaround
git clone https://github.com/ssvb/xf86-video-fbturbo.git $DEST/cache/sdcard/tmp/xf86-video-fbturbo
chroot $DEST/cache/sdcard /bin/bash -c "cd /tmp/xf86-video-fbturbo && autoreconf -vi"
chroot $DEST/cache/sdcard /bin/bash -c "cd /tmp/xf86-video-fbturbo && ./configure --prefix=/usr"
chroot $DEST/cache/sdcard /bin/bash -c "cd /tmp/xf86-video-fbturbo && make && make install && cp xorg.conf /etc/X11/xorg.conf"
# compile video acceleration
# A
git clone https://github.com/linux-sunxi/libvdpau-sunxi.git $DEST/cache/sdcard/tmp/libvdpau-sunxi
# temporaly fix
chroot $DEST/cache/sdcard /bin/bash -c "git checkout 906c36ed45ceb53fecd5fc72e821c11849eeb1a3"
chroot $DEST/cache/sdcard /bin/bash -c "cd /tmp/libvdpau-sunxi && make"
d=$DEST/cache/sdcard/usr/lib/vdpau
test -d "$d" || mkdir -p "$d" && cp $DEST/cache/sdcard/tmp/libvdpau-sunxi/libvdpau_sunxi.so.1 "$d"
ln -s $d/libvdpau_sunxi.so $d/libvdpau_sunxi.so.1
# B
# git clone https://github.com/Snaipe/libcsptr.git $DEST/cache/sdcard/usr/local/src/libcsptr
# chroot $DEST/cache/sdcard /bin/bash -c "cd /usr/local/src/libcsptr && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. && make && make install"
# chroot $DEST/cache/sdcard /bin/bash -c "cd /usr/local/src/libcsptr && make"
# chroot $DEST/cache/sdcard /bin/bash -c "cd /usr/local/src/libcsptr && make install"
# display_alert "GIT clone" "libvdpau-sunxi" "info"
# echo -e "[\e[0;34m git cloning \x1B[0m] libvdpau-sunxi ..."
# git clone -b staging https://github.com/rellla/libvdpau-sunxi.git $DEST/cache/sdcard/usr/local/src/libvdpau-sunxi
# chroot $DEST/cache/sdcard /bin/bash -c "cd /usr/local/src/libvdpau-sunxi && make clean && make $CTHREADS ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- && make install"
# That we can just play
echo "export VDPAU_DRIVER=sunxi" >> $DEST/cache/sdcard/etc/profile
# enable memory reservations
sed "s/sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 //g" -i $DEST/cache/sdcard/boot/boot.cmd
mkimage -C none -A arm -T script -d $DEST/cache/sdcard/boot/boot.cmd $DEST/cache/sdcard/boot/boot.scr >> /dev/null
# clean deb cache
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y clean >/dev/null 2>&1"
fi
if [[ $LINUXCONFIG == *sunxi* ]]; then
# disable DPMS for sunxi because screen doesn't resume
cat >> $DEST/cache/sdcard/etc/X11/xorg.conf <<EOT
Section "Monitor"
Identifier "Monitor0"
Option "DPMS" "false"
EndSection
Section "ServerFlags"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
EOT
fi
}

191
distributions.sh Normal file
View file

@ -0,0 +1,191 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
install_distribution_specific (){
#---------------------------------------------------------------------------------------------------------------------------------
# Install board common applications
#---------------------------------------------------------------------------------------------------------------------------------
display_alert "Fixing release custom applications." "$RELEASE" "info"
case $RELEASE in
# Debian Wheezy
wheezy)
# specifics packets
install_packet "libnl-dev" "Installing Wheezy packages" "" "quiet"
# add serial console
echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 >> $DEST/cache/sdcard/etc/inittab
# don't clear screen on boot console
sed -e 's/getty 38400 tty1/getty --noclear 38400 tty1/g' -i $DEST/cache/sdcard/etc/inittab
# disable some getties
sed -e 's/5:23:respawn/#5:23:respawn/g' -i $DEST/cache/sdcard/etc/inittab
sed -e 's/6:23:respawn/#6:23:respawn/g' -i $DEST/cache/sdcard/etc/inittab
# auto upgrading
sed -e "s/ORIGIN/Debian/g" -i $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
sed -e "s/n=CODENAME/a=old-stable/g" -i $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
# install ramlog
cp $SRC/lib/bin/ramlog_2.0.0_all.deb $DEST/cache/sdcard/tmp
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/ramlog_2.0.0_all.deb >/dev/null 2>&1"
# enabled back at first run. To remove errors
chroot $DEST/cache/sdcard /bin/bash -c "service ramlog disable >/dev/null 2>&1"
rm $DEST/cache/sdcard/tmp/ramlog_2.0.0_all.deb
sed -e 's/TMPFS_RAMFS_SIZE=/TMPFS_RAMFS_SIZE=512m/g' -i $DEST/cache/sdcard/etc/default/ramlog
sed -e 's/$remote_fs $time/$remote_fs $time ramlog/g' -i $DEST/cache/sdcard/etc/init.d/rsyslog
sed -e 's/umountnfs $time/umountnfs $time ramlog/g' -i $DEST/cache/sdcard/etc/init.d/rsyslog
;;
# Debian Jessie
jessie)
# specifics packets add and remove
install_packet "thin-provisioning-tools libnl-3-dev libnl-genl-3-dev libpam-systemd \
software-properties-common python-software-properties libnss-myhostname" "Installing Jessie packages" "" "quiet"
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "apt-get autoremove >/dev/null 2>&1"
# enable root login for latest ssh on jessie
sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' $DEST/cache/sdcard/etc/ssh/sshd_config
# auto upgrading
sed -e "s/ORIGIN/Debian/g" -i $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
sed -e "s/CODENAME/$RELEASE/g" -i $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
# mount 256Mb tmpfs to /tmp
echo "tmpfs /tmp tmpfs nodev,nosuid,size=256M 0 0" >> $DEST/cache/sdcard/etc/fstab
# fix selinux error
chroot $DEST/cache/sdcard /bin/bash -c "mkdir /selinux"
# configuration for systemd
# add serial console
local systemdpath="$DEST/cache/sdcard/lib/systemd/system"
cp $SRC/lib/config/ttyS0.conf $DEST/cache/sdcard/etc/init/ttyS0.conf
cp $systemdpath/serial-getty@.service $systemdpath/getty.target.wants/serial-getty@ttyS0.service
sed -e s/"--keep-baud 115200,38400,9600"/"-L 115200"/g -i $systemdpath/getty.target.wants/serial-getty@ttyS0.service
# don't clear screen tty1
sed -e s,"TTYVTDisallocate=yes","TTYVTDisallocate=no",g -i $DEST/cache/sdcard/lib/systemd/system/getty@.service
# configuration for sysvinit
# add serial console
echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 >> $DEST/cache/sdcard/etc/inittab
# don't clear screen on boot console
sed -e 's/getty 38400 tty1/getty --noclear 38400 tty1/g' -i $DEST/cache/sdcard/etc/inittab
# disable some getties
sed -e 's/5:23:respawn/#5:23:respawn/g' -i $DEST/cache/sdcard/etc/inittab
sed -e 's/6:23:respawn/#6:23:respawn/g' -i $DEST/cache/sdcard/etc/inittab
# install ramlog if we don't have systemd
if [[ $SYSTEMD == "no" ]]; then
cp $SRC/lib/bin/ramlog_2.0.0_all.deb $DEST/cache/sdcard/tmp
chroot $DEST/cache/sdcard /bin/bash -c "dpkg -i /tmp/ramlog_2.0.0_all.deb >/dev/null 2>&1"
# enabled back at first run. To remove errors
chroot $DEST/cache/sdcard /bin/bash -c "service ramlog disable >/dev/null 2>&1"
rm $DEST/cache/sdcard/tmp/ramlog_2.0.0_all.deb
sed -e 's/TMPFS_RAMFS_SIZE=/TMPFS_RAMFS_SIZE=512m/g' -i $DEST/cache/sdcard/etc/default/ramlog
# supress warning
sed -e 's/update-rc.d $prog.*/update-rc.d $prog defaults/g' -i $DEST/cache/sdcard/etc/init.d/ramlog
sed -e 's/$remote_fs $time/$remote_fs $time ramlog/g' -i $DEST/cache/sdcard/etc/init.d/rsyslog
sed -e 's/umountnfs $time/umountnfs $time ramlog/g' -i $DEST/cache/sdcard/etc/init.d/rsyslog
fi
;;
# Ubuntu Trusty
trusty)
# specifics packets add and remove
install_packet "libnl-3-dev libnl-genl-3-dev software-properties-common \
python-software-properties" "Installing Trusty packages" "" "quiet"
LC_ALL=C LANGUAGE=C LANG=C chroot $DEST/cache/sdcard /bin/bash -c "apt-get autoremove >/dev/null 2>&1"
# add serial console
cp $SRC/lib/config/ttyS0.conf $DEST/cache/sdcard/etc/init/ttyS0.conf
# don't clear screen tty1
sed -e s,"exec /sbin/getty","exec /sbin/getty --noclear",g -i $DEST/cache/sdcard/etc/init/tty1.conf
# disable some getties
chroot $DEST/cache/sdcard /bin/bash -c "rm /etc/init/tty5.conf"
chroot $DEST/cache/sdcard /bin/bash -c "rm /etc/init/tty6.conf"
# enable root login for latest ssh on trusty
sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' $DEST/cache/sdcard/etc/ssh/sshd_config
# fix selinux error
chroot $DEST/cache/sdcard /bin/bash -c "mkdir /selinux"
# that my custom motd works well
if [ -d "$DEST/cache/sdcard/etc/update-motd.d" ]; then
chroot $DEST/cache/sdcard /bin/bash -c "mv /etc/update-motd.d /etc/update-motd.d-backup"
fi
# auto upgrading
sed -e "s/ORIGIN/Ubuntu/g" -i $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
sed -e "s/CODENAME/$RELEASE/g" -i $DEST/cache/sdcard/etc/apt/apt.conf.d/50unattended-upgrades
# remove what's anyway not working
rm $DEST/cache/sdcard/etc/init/ureadahead*
rm $DEST/cache/sdcard/etc/init/plymouth*
;;
*) echo "Release hasn't been choosen"
exit
;;
esac
# Common
# change time zone data
echo $TZDATA > $DEST/cache/sdcard/etc/timezone
chroot $DEST/cache/sdcard /bin/bash -c "dpkg-reconfigure -f noninteractive tzdata >/dev/null 2>&1"
# set root password
chroot $DEST/cache/sdcard /bin/bash -c "(echo $ROOTPWD;echo $ROOTPWD;) | passwd root >/dev/null 2>&1"
# create proper fstab
if [ "$BOOTSIZE" -eq "0" ]; then
local device="/dev/mmcblk0p1 / ext4 defaults,noatime,nodiratime,data=writeback,commit=600,errors=remount-ro"
else
local device="/dev/mmcblk0p2 / ext4 defaults,noatime,nodiratime,data=writeback,commit=600,errors=remount-ro"
fi
echo "$device 0 0" >> $DEST/cache/sdcard/etc/fstab
# flash media tunning
if [ -f "$DEST/cache/sdcard/etc/default/tmpfs" ]; then
sed -e 's/#RAMTMP=no/RAMTMP=yes/g' -i $DEST/cache/sdcard/etc/default/tmpfs
sed -e 's/#RUN_SIZE=10%/RUN_SIZE=128M/g' -i $DEST/cache/sdcard/etc/default/tmpfs
sed -e 's/#LOCK_SIZE=/LOCK_SIZE=/g' -i $DEST/cache/sdcard/etc/default/tmpfs
sed -e 's/#SHM_SIZE=/SHM_SIZE=128M/g' -i $DEST/cache/sdcard/etc/default/tmpfs
sed -e 's/#TMP_SIZE=/TMP_SIZE=1G/g' -i $DEST/cache/sdcard/etc/default/tmpfs
fi
# add custom bashrc loading
cat <<END >> $DEST/cache/sdcard/etc/bash.bashrc
if [ -f /etc/bash.bashrc.custom ]; then
. /etc/bash.bashrc.custom
fi
END
# remove hostapd because it's replaced with ours
chroot $DEST/cache/sdcard /bin/bash -c "apt-get -y -qq remove hostapd >/dev/null 2>&1"
}

173
documentation/geek-faq.md Normal file
View file

@ -0,0 +1,173 @@
# How to build Armbian? #
You will need to setup development environment within [Ubuntu 14.04 LTS x64 server image](http://releases.ubuntu.com/14.04/) and cca. 20G of free space.
Login as root and run:
apt-get -y -qq install git
git clone --depth 1 https://github.com/igorpecovnik/lib
cp lib/compile.sh .
nano compile.sh # alter if necessary
Make it executable.
chmod +x compile.sh
Run the script
./compile.sh
# What is behind the build process?
Build process summary:
- creates development environment on the top of X86/AMD64 Ubuntu 14.04 LTS,
- download proven sources, applies patches and use tested configurations,
- cross-compile universal boot loader (u-boot), kernel and other tools and drivers,
- pack kernel, uboot, dtb and root customizations into debs,
- debootstrap minimalistic Debian Wheezy, Jessie and Ubuntu Trusty into SD card image,
- install additional packets, apply customizations and shrink image to it's actual size.
Switches clarification:
- **KERNEL_ONLY** - if we want to compile kernel, u-boot, headers and dtbs package only.
- **KERNEL_CONFIGURE** will bring up kernel configurator otherwise kernel will be compiled with script presets located in lib/config/linux-*.config
- **KERNEL\_KEEP\_CONFIG** overwrite kernel config before compilation
- **CLEAN_LEVEL** defines what should be cached. This is useful when we are rebuilind images or builind more than one image.
- 0 = executes make clean and delete previously created deb files [default]
- 1 = executes make clean
- 2 = does nothing
- 3 = provide kernel selection if any present
- 4 = delete all output files (rootfs cache, debs)
- **USE_CCACHE** use a C compiler cache to speed up the build process
- **BUILD_DESKTOP** builds a desktop on the top of the system with hw acceleration for some boards.
- **AFTERINSTALL** is a variable with command executed in a process of building just before closing image to insert some of your custom applications or fixes.
- **FBTFT** is a [driver for small displays](https://github.com/notro/fbtft). Only applicable for old kernels (3.4-3.14)
- **EXTERNAL** compiles custom drivers
- **FORCE** ignore manual changes to source
- **BUILD_ALL** cycle through selected boards and make images
Image compiling example with partial cache:
[su_youtube_advanced url="https:\/\/youtu.be\/zeShf12MNLg" controls="yes" showinfo="no" loop="yes" rel="no" modestbranding="yes"]
## Creating compile environment ##
At first run we are downloading all necessary dependencies.
## Using board configuration ##
We need to get some predefined variables about selected board. Which kernel & uboot source to use, modules to load, which is the build number, do we need to have a single partition or dual with boot on fat, which extra drivers to compile out of the kernel tree, ...
**Board configuration example:**
REVISION="1.1" # Version number is altered by board maintainer
BOOTSIZE="16" # FAT boot partition in MB, 0 for none
BOOTLOADER="https://github.com/UDOOboard/uboot-imx" # Uboot source location
BOOTSOURCE="u-boot-neo" # Local folder where to download it
BOOTCONFIG="udoo_neo_config" # Which compile config to use
CPUMIN="198000" # CPU minimum frequency
CPUMAX="996000" # CPU minimum frequency
MODULES="bonding" # old kernel modules
MODULES_NEXT="" # new kernel modules
LINUXKERNEL="https://github.com/UDOOboard/linux_kernel" # kernel source location
LINUXCONFIG="linux-udoo-neo" # kernel configuration
LINUXSOURCE="linux-neo" # Local folder where to download it
LINUXFAMILY="udoo" # boards share kernel
This **isn't ment to be user configurable** but you can alter variables if you know what you are doing.
## Downloading sources ##
When we know where are the sources and where they need to be the download / update process starts. This might take from several minutes to several hours.
## Patching ##
In patching process we are appling patches to sources. The process is defined in:
lib/patching.sh
## User patching ##
You can add your own patches outside build script. Place your patches inside appropriate directory, for kernel or u-boot. There are no limitations except all patches must have ending **.patch**
userpatches/kernel
userpatches/u-boot
## Compiling or choosing from cache ##
- compile from scratch with additional source cleaning and menu config.
- select cached / already made kernel
## Debootstrap ##
Debootstrap creates fresh Debian / Ubuntu root filesystem templates or use cached under:
output/cache/rootfs/$DISTRIBUTION.tgz
To recreate those files you need to remove them manually.
## Kernel install ##
When root filesystem is ready we need to instal kernel image with modules, board definitions, firmwares. Along with this we set the CPU frequency min/max, hostname, modules, network interfaces templates. Here is also the place to install headers and fix + native compile them on the way.
## Distribution fixes ##
Each distributin has it's own way of doing things:
- serial console
- different packets
- configuration locations
## Board fixes ##
Each board has their own tricks: **different device names, firmware loaders, configuration (de)compilers, hardware configurators**
## Desktop installation ##
You can build a desktop withing the image. Consider this feature as experimental. Hardware acceleration on Allwinner boards is working within kernel 3.4.x only.
## External applications ##
This place is reserved for custom applications. There is one example of application - USB redirector.
## Closing image ##
There is an option to add some extra commands just before closing an image which is also automaticaly shrink to it's actual size with some small reserve.
## Directory structure ##
It will be something like this:
compile.sh compile execution script
lib/bin/ blobs, firmwares, static compiled, bootsplash
lib/config/ kernel, board, u-boot, hostapd, package list
lib/documentation/ user and developers manual
lib/patch/ collection of kernel and u-boot patches
lib/scripts/ firstrun, arm hardware info, firmware loaders
lib/LICENSE licence description
lib/README.md quick manual
lib/boards.sh board specfic installation, kernel install, desktop install
lib/common.sh creates environment, compiles, shrink image
lib/configuration.sh boards presets - kernel source, config, modules, ...
lib/deboostrap.sh basic system template creation
lib/distributions.sh system specific installation and fixes
lib/main.sh user input and script calls
lib/patching.sh board and system dependend kernel & u-boot patch calls
lib/repo-update.sh creates and updates your local repository
lib/repo-show-sh show packets in your local repository
lib/upgrade.sh script to upgrade older images
sources/ source code for kernel, uboot and other utilities
output/repository repository
output/cache cache for root filesystem and headers compilation
output/debs deb packeges
output/images zip packed RAW image
userpatches/kernel put your kernel patches here
userpatches/u-boot put your u-boot patches here
## Additional info ##
- [Allwinner SBC community](https://linux-sunxi.org/)

332
documentation/logbook.md Normal file
View file

@ -0,0 +1,332 @@
# Release history
**v4.5 / 14.10.2015**
- vanilla kernel upgraded to 4.2.3 for Allwinner based boards
- legacy kernel for Allwinner compiled from new sources (linux-sunxi)
- udoo vanilla upgraded to 4.2.3
- cubox / hummingboard upgraded to 3.14.54
- changed kernel naming: A10 = linux-image-sun4i, A20 = linux-image-sun7i
- new boards: Banana M2, Orange+(A31S), Cubieboard 1, Cubieboard 2 Dual SD, Lime A10
- fixed Udoo legacy wireless problems
- fixed Jessie boot problems by disabling systemd. Its possible to re-enable within boot scripts
- added ramlog to Jessie because we dont have systemd anymore
- changed wireless driver for Cubietruck and Banana PRO (now its ap6210)
- added ZRAM to vanilla kernel
- fixed dvbsky modules
and a bunch of small fixes.
**v4.4 / 1.10.2015**
Images:
- vanilla kernel upgrade to 4.2.2 (Allwinner, Udoo Quad),
- legacy kernel upgraded to 3.4.109 (Allwinner),
- added I2C support and bunch of multimedia modules (DVB) (vanilla Allwinner),
- Udoo quad images with fixed legacy kernel 3.14.28,
- Cubox and Hummingboard kernel upgrade to 3.14.53,
- brcmfmac driver fixes for vanilla kernel (Banana PRO / Cubietruck)
- performance tweak: choosing a closest Debian mirror (Debian images)
- added Astrometa DVB firmware and dvb-tools
- added Nikkov SPDIF / I2S recent patch (legacy Allwinner)
- added patch for rtl8192cu: Add missing case in rtl92cu_get_hw_reg (Lamobo R1)
- bigger NAND boot partition on install
- install script bug fixes
Script:
- force apt-get update on older rootfs cache,
- image harden manipulation security,
- packages NAND/FAT/same version install faling fixed,
- image shrinking function rework,
- better packages installation install checking,
- added Debian keys to suppress warnings in debootstrap process,
- added fancy progress bars,
- added whiptail downloading prior to usage (bugfix).
**v4.3 / 17.9.2015**
- kernel 4.2 for Allwinner based boards
- kernel 4.2 for Udoo Quad
- walk-around if ethernet is not detected on some boards due to RTC not set(?)
- update is done (semi) automatic if you are using Armbian 4.2. You only need to issue command: apt-get update && apt-get upgrade. If you are coming from older system, check Documentation
- U-boot on R1 is now updated to latest stable version (2015.07)
- Fixed AW SOM. Working with latest u-boot but you need to build image by yourself.
- Enabled whole USB net and HID section in kernel for Allwinner boards v4.2
- Fixed upgrade script only some minor bugs remains.
- Fixes to build script that its working under Ubuntu 15.04
- Adding Bananapi Wireless driver (ap6210) back to legacy kernel
- Udoo official kernel (3.14.28) not updated due too many troubles.
**v4.2 / 1.9.2015**
Images:
- Upgraded NAND / SATA installer. Possible to install to SATA/NAND boot in one step.
- Easy kernel switching between old 3.4 and 4.x
- Automatic kernel updating (to disable comment armbian repo /etc/apt/sources.list)
- Allwinner boards share one 4.x kernel and two 3.4
- All boards share the same revision number
- One minimal Ubuntu Desktop per board (Wicd, Firefox, Word)
- u-boot v2015.07 for most boards
- Aufs file system support
- kernel 4.1.6 and 3.4.108
- Added Orangepi Mini, Cubieboard 1 (4.x only), Udoo with official kernel
- Repository for Wheezy, Jessie and Trusty
- enabled USB audio in kernel 4.x
- kernel headers fixed. No need to rebuild when you update the kernel.
- fixed boot scripts that can load from FAT partition too
- removed Cubox binnary repository because of troubles
- Docker support (kernel 4.x). Already here for a while / forget to mention.
- nodm change default login
Build script:
- changed structure: sources now in folder sources, output is what we produce, deb in one folder
- expanded desktop part
- possible to build all images at once, create package repository
- SD card initial size is 4Gb, variable transfered into configuration.sh
- Avaliable board list is now created from file configuration.sh
- Fixed image shrinking problem
- Patching part rework
- Using first FAT boot partition now fixes boot scripts
- Uboot TAG moved to configuration.sh and differs for some boards
- new variables for source branches. Only too remove errors when checking out
**v4.1 / 5.8.2015**
- Added desktop image
- U-Boot 2015.07 with many new features
- Added auto system update via repository apt.armbian.com
- Root password change is initialized at first boot.
- 3.4.108 kernel fixes, 4.1.4 Allwinner Security System
**v4.0 / 12.7.2015**
- Fixed stability issues, temperature display in 4.x
- Kernel upgrades to 3.4.108 and 4.1.2
**v3.9 / 11.6.2015**
- Bugfix release
- Kernel 4.0.5 traffic control support
- SATA / USB install fixed on kernel 4.x
- Added 256Mb emergency swap area, created automatically @first boot
**v3.8 / 21.5.2015**
- Bugfix release: Cubietruck images successfully booted on Cubietruck. I waited for automatic reboot than tested remote login.
- Kernel 4.0.4 added support for power on/off button
- Both: Jessie fixed, Ethernet init fixed (uboot)
- armbian.com introduction
**v3.7 / 14.5.2015**
- Kernel 4.0.3 some new functionality
- Kernel 3.4.107 added sunxi display manager to change FB on demand
- Both: Ubuntu and jessie install errors fixed, removed busybox-syslogd and changed to default logger due to problems in Jessie and Ubuntu, apt-get upgrade fixed, documentations update, Uboot fixed to 2015.4 no more from dev branch
- Build script rework - image size shrink to actual size, possible to have fat boot partition on SD card, several script bug fixes
**v3.6 / 29.4.2015**
- Kernel 3.19.6
- Kernel 3.4.107 with better BT loading solution
**v3.5 / 18.4.2015**
- Kernel 3.19.4: fixed AP mode, fixed USB, added 8192CU module
- Common: apt-get upgrade ready but not enabled yet, serial console fixed, fixed hostapd under jessie, easy kernel switching, latest patched hostapd for best performance normal and for realtek adaptors, auto IO scheduler script
- Build script: everything packed as DEB
**v3.4 / 28.3.2015**
- Kernel 3.19.3: docker support, apple hid, pmp, nfsd, sata peformance fix
- Kernel 3.4.106: pmp, a20_tp - soc temp sensor
- Common: console setup fixed, headers bugfix, nand install fix
- Build script: kernel build only, custom packets install, hardware accelerated desktop build as option
**v3.3 / 28.2.2015**
- Kernel 3.19.0: many new functionality and fixes.
- Bugfixes: CT wireless works in all kernels
**v3.2 / 24.1.2015**
- Possible to compile external modules on both kernels
- Kernel 3.19.0 RC5
- Bugfixes: install script, headers, bashrc, spi
**v3.1 / 16.1.2015**
- Kernel 3.19.0 RC4
- Added Cubieboard 1 images
- Dualboot for CB2 and CT dropped due to u-boot change. Now separate images.
- New user friendly SATA + USB installer, also on mainline
**v3.0 / 29.12.2014**
- Kernel 3.18.1 for mainline image
- Added Ubuntu Trusty (14.04 LTS) image
- Bugfixes: auto packages update
**v2.9 / 3.12.2014**
- Kernel 3.4.105 with new MALI driver and other fixes
- Added: Jessie image
- Major build script rewrite - much faster image building
- Fixed: failed MIN/MAX settings
**v2.8 / 17.10.2014**
- Added: ondemand governor, fhandle, squashfs and btrfs
- Removed: bootsplash, lvm, version numbering in issue
- Fixed: custom scripts, Jessie upgrade
- Disabled: BT firmware loading, enable back with: insserv brcm40183-patch
- Added working driver for RT 8188C, 8192C
**v2.7 / 1.10.2014**
- Kernel 3.4.104
- Automatic Debian system updates
- VGA output is now default but if HDMI is attached at first boot than it switch to HDMI for good. After first restart!
- Fixed NAND install script. /boot is mounted by default. Kernel upgrade is now the same as on SD systems.
Cubieboard2 - disabled Cubietruck dedicated scripts (BT firmware, LED disable)
- Added network bonding and configuration for "notebook" mode (/etc/network/interfaces.bonding)
- IR receiver is preconfigured with default driver and LG remote (/etc/lirc/lircd.conf), advanced driver is present but disabled
- Added SPI and LVM functionality
- Added Debian logo boot splash image
- Added build essentials package
**v2.6 / 22.8.2014**
- Kernel 3.4.103 and 3.17.0-RC1
- Added GPIO patch (only for 3.4.103)
**v2.5 / 2.8.2014**
- Kernel 3.4.101 and 3.16.0-RC4
- major build script rewrite
**v2.4 / 11.7.2014**
- Kernel 3.4.98
- default root password (1234) expires at first login
- build script rewrite, now 100% non-interactive process, time zone as config option
- bug fixes: removed non-existing links in /lib/modules
**v2.3 / 2.7.2014**
- Kernel 3.4.96
- cpuinfo serial number added
- bug fixes: stability issues - downclocked to factory defaults, root SSH login enabled in Jessie, dedicated core for eth0 fix
- disp_vsync kernel patch
**v2.2 / 26.6.2014**
- Kernel 3.4.94
- Added Jessie distro image
- Updated hostapd, bashrc, build script
- bug fixes: disabled upgrade and best mirror search @firstboot, bluetooth enabler fix
- MD5 hash image protection
**v2.1 / 13.6.2014**
- Kernel 3.4.93
- Onboard Bluetooth finally works
- Small performance fix
- Allwinner Security System cryptographic accelerator
**v2.0 / 2.6.2014**
- Kernel 3.4.91 with many fixes
- Cubieboard 2 stability issues fix
- eth0 interrupts are using dedicated core
- Global bashrc /etc/bash.bashrc
- Verbose output and package upgrade @ first run
**v1.9 / 27.4.2014**
- Kernel headers included
- Clustering support
- Advanced IR driver with RAW RX and TX
- Bluetooth ready (working only with supported USB devices)
- Bugfixes: VLAN, login script, build script
- New packages: lirc, bluetooth
**v1.8 / 27.3.2014**
- Kernel 3.4.79
- Alsa I2S patch + basic ALSA utils
- Performance tweaks: CPU O.C. to 1.2Ghz, IO scheduler NOOP for SD, CFQ for sda, journal data writeback enabled
- Avaliable memory = 2000MB
- Minimized console output at boot
- MAC address from chip ID, manual optional
- Latest (Access point) hostapd, 2.1 final release
- Login script shows current CPU temp, hard drive temp & actual free memory
- Fastest Debian mirror auto selection @first boot
- New packages: alsa-utils netselect-apt sysfsutils hddtemp bc
**v1.7 / 26.2.2014**
- Flash media performance tweaks, reduced writings, tmp & logging to RAM with ramlog app sync logs on shutdown
- SATA install script
- Dynamic MOTD: Cubieboard / Cubietruck
- Disabled Debian logo at startup
- New packages: figlet toilet screen hdparm libfuse2 ntfs-3g bash-completion
**v1.6 / 9.2.2014**
- Added support for Cubieboard 2
- Build script creates separate images for VGA and HDMI
- NAND install script added support for Cubieboard 2
**v1.52 / 7.2.2014**
- Various kernel tweaks, more modules enabled
- Root filesystem can be moved to USB drive
- Bugfixes: NAND install script
**v1.5 / 22.1.2014**
- Hotspot Wifi Access Point / Hostapd 2.1
- Bugfixes: MAC creation script, SSH keys creation, removed double packages, …
- Graphics desktop environment upgrade ready
**v1.4 / 12.1.2014**
- Patwoods kernel 3.4.75+ with many features
- Optimized CPU frequency scaling 480-1010Mhz with interactive governor
- NAND install script included
- Cubietruck MOTD
- USB redirector  for sharing USB over TCP/IP
**v1.3 / 3.1.2014**
- CPU frequency scaling 30-1000Mhz
- Patch for gpio
**v1.23 / 1.1.2014**
- added HDMI version
- added sunxi-tools
- build.sh transfered to Github repository
- disabled LED blinking
**v1.2 / 26.12.2013**
- changed kernel and hardware config repository
- kernel 3.4.61+
- wi-fi working
- updated manual how-to
**v1.0 / 24.12.2013**
- total memory available is 2G (disabled memory for GPU by default)
- gigabit ethernet is fully operational
- sata driver enabled
- root filesystem autoresize
- MAC address fixed at first boot
- Kernel 3.4.75
- root password=1234
- Bugs: wifi and BT not working

333
documentation/user-faq.md Normal file
View file

@ -0,0 +1,333 @@
# What to download?
Each board is fully supported with three basic system options: Debian Wheezy, Jessie and Ubuntu Trusty desktop build per board.
# Which kernel to use?
All stable kernels are production ready, but you should use them for different purpuses:
* for headless server or light desktop operations use vanilla kernel (linux-image-next-[kernelfamily](http://forum.armbian.com/index.php/topic/211-kernel-update-procedure-has-been-changed/))
* for using video acceleration, audio, IR, NAND, ... you should stick to legacy (linux-image-[kernelfamily](http://forum.armbian.com/index.php/topic/211-kernel-update-procedure-has-been-changed/))
# How to prepare SD card?
Unzipped .raw images can be written with supplied imagewriter.exe on Windows XP/2003/Win7, with [Win32Diskimager](http://sourceforge.net/projects/win32diskimager/) on Windows 8.x or with DD command in Linux/Mac:
dd bs=1M if=filename.raw of=/dev/sdx
# /dev/sdx is your sd card device
Image writting takes around 3 minutes on a slow, class 6 SD card.
# How to boot?
Insert SD card into a slot and power the board. First boot takes around 3 minutes than it reboots and you will need to wait another one minute to login. This delay is because system updates package list and creates 128Mb emergency SWAP on the SD card.
Normal boot (with DHCP) takes up to 35 seconds with a class 6 SD CARD and cheapest board.
# How to login?
Login as **root** on console or via SSH and use password **1234**. You will be prompted to change this password at first login. This is the only pre-installed user.
Desktop images starts into desktop without asking for password. To change this add some display manager:
apt-get install lightdm
... or edit the contents of file:
/etc/default/nodm
and change the autologin user.
# How to update kernel?
For Armbian 4.2 and newer.
apt-get update
apt-get upgrade
reboot
For all other cases. Note that this procedure upgrades only kernel with hardware definitions (bin, dtb, firmware and headers. Operating system and modifications remain as is.
wget -q -O - http://upgrade.armbian.com | bash
You will be prompted to select and confirm some actions. It's possible to upgrade **from any other distribution**.
[su_youtube_advanced url="https:\/\/youtu.be\/iPAlPW3sv3I" controls="yes" showinfo="no" loop="yes" rel="no" modestbranding="yes"]
# How to troubleshoot?
If you broke the system you can try to get in this way. You have to get to u-boot command prompt, using either a serial adapter or monitor and usb keyboard.
After switching power on or rebooting, when u-boot loads up, press some key on the keyboard (or send some key presses via terminal) to abort default boot sequence and get to the command prompt:
U-Boot SPL 2015.07-dirty (Oct 01 2015 - 15:05:21)
...
Hit any key to stop autoboot: 0
sunxi#
Enter these commands, replacing root device path if necessary. Select setenv line with ttyS0 for serial, tty1 for keyboard+monitor:
setenv bootargs init=/bin/bash root=/dev/mmcblk0p1 rootwait console=ttyS0,115200
# or
setenv bootargs init=/bin/bash root=/dev/mmcblk0p1 rootwait console=tty1
ext4load mmc 0 0x49000000 /boot/dtb/${fdtfile}
ext4load mmc 0 0x46000000 /boot/zImage
env set fdt_high ffffffff
bootz 0x46000000 - 0x49000000
System should eventually boot to bash shell:
root@(none):/#
Now you can try to fix your broken system.
- [Fix a Jessie systemd problem due to upgrade from 3.4 to 4.x](https://github.com/igorpecovnik/lib/issues/111)
# How to unbrick the system?
When something goes terribly wrong and you are not able to boot the system, this is the way to proceed. You need some linux machine, where you can mount the failed SD card. With this procedure you will reinstall the u-boot, kernel and hardware settings. In most cases this should be enought to unbrick the board. It's recommended to issue a filesystem check before mounting:
fsck /dev/sdX -f
Than mount the SD card and download those files (This example is only for Banana R1):
http://apt.armbian.com/pool/main/l/linux-trusty-root-next-lamobo-r1/linux-trusty-root-next-lamobo-r1_4.5_armhf.deb
http://apt.armbian.com/pool/main/l/linux-upstream/linux-image-next-sunxi_4.5_armhf.deb
http://apt.armbian.com/pool/main/l/linux-upstream/linux-firmware-image-next-sunxi_4.5_armhf.deb
http://apt.armbian.com/pool/main/l/linux-upstream/linux-dtb-next-sunxi_4.5_armhf.deb
This is just an example for: **Ubuntu Trusty, Lamobo R1, Vanilla kernel** (next). Alter packages naming according to [this](http://forum.armbian.com/index.php/topic/211-kernel-update-procedure-has-been-changed/).
Mount SD card and extract all those deb files to it's mount point.
dpkg -x DEB_FILE /mnt
Go to /mnt/boot and link (or copy) **vmlinuz-4.x.x-sunxi** kernel file to **zImage**.
Unmount SD card, move it to the board and power on.
# How to add users?
To create a normal user do this:
adduser MyNewUsername
Put user to sudo group:
usermod -aG sudo MyNewUsername
# How to customize keyboard, time zone?
keyboard:
dpkg-reconfigure keyboard-configuration
system language:
dpkg-reconfigure locales
time zone:
dpkg-reconfigure tzdata
screen resolution:
nano /boot/boot.cmd
# example:
# change example from
# disp.screen0_output_mode=1920x1080p60
# to
# disp.screen0_output_mode=1280x720p60
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
screen resolution interactive - only Allwinner boards with A10 and A20 with legacy kernel:
# Example to set console framebuffer resolution to 1280 x 720
a10disp changehdmimodeforce 4
Other modes:
0 480i
1 576i
2 480p
3 576p
4 720p 50Hz
5 720p 60Hz
6 1080i 50 Hz
7 1080i 60 Hz
8 1080p 24 Hz
9 1080p 50 Hz
10 1080p 60 Hz
# How to alter CPU frequency?
Some boards allow to adjust CPU speed.
nano /etc/init.d/cpufrequtils
Alter **min_speed** or **max_speed** variable.
service cpufrequtils restart
# How to upgrade into simple desktop environment?
apt-get -y install xorg lightdm xfce4 tango-icon-theme gnome-icon-theme
reboot
Check [this site](http://namhuy.net/1085/install-gui-on-debian-7-wheezy.html) for others.
# How to upgrade Debian from Wheezy to Jessie?
dpkg -r ramlog
cp /etc/apt/sources.list{,.bak}
sed -i -e 's/ \(old-stable\|wheezy\)/ jessie/ig' /etc/apt/sources.list
apt-get update
apt-get --download-only dist-upgrade
apt-get dist-upgrade
# How to upgrade from Ubuntu Trusty to next LTS?
... when available.
apt-get install update-manager-core
do-release-upgrade -d
# further to vivid
apt-get dist-upgrade
# How to toggle boot output?
Edit and change [boot parameters](http://redsymbol.net/linux-kernel-boot-parameters/) in /boot/boot.cmd:
- console=ttyS0,115200
+ console=tty1
and convert it to boot.scr with this command:
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
Reboot.
Serial console on imx6 boards are ttymxc0 (Hummingboard, Cubox-i) or ttymxc1 (Udoo).
# How to install to NAND, SATA & USB?
[su_youtube_advanced url="https:\/\/youtu.be\/6So8MA-qru8" controls="yes" showinfo="no" loop="yes" rel="no" modestbranding="yes"]
Required condition:
NAND:
* kernel 3.4.x and NAND storage
* pre-installed system on NAND (stock Android or other Linux)
SATA/USB:
* any kernel
* pre-partitioned SATA or USB storage
Start the install script:
nand-sata-install
and follow the guide. You can create up to three scenarios:
* boot from SD, system on SATA / USB
* boot from NAND, system on NAND
* boot from NAND, system on SATA / USB
# How to change network configuration?
There are five predefined configurations, you can find them in those files:
/etc/network/interfaces.default
/etc/network/interfaces.hostapd
/etc/network/interfaces.bonding
/etc/network/interfaces.r1
/etc/network/interfaces.r1switch
By default **/etc/network/interfaces** is symlinked to **/etc/network/interfaces.default**
1. DEFAULT: your network adapters are connected classical way.
2. HOSTAPD: your network adapters are bridged together and bridge is connected to the network. This allows you to have your AP connected directly to your router.
3. BONDING: your network adapters are bonded in fail safe / "notebook" way.
4. Router configuration for Lamobo R1 / Banana R1.
5. Switch configuration for Lamobo R1 / Banana R1.
You can switch configuration with re-linking.
cd /etc/network
ln -sf interfaces.x interfaces
(x = default,hostapd,bonding,r1)
Than check / alter your interfaces:
nano /etc/network/interfaces
# How to set fixed IP?
By default your main network adapter's IP is assigned by your router DHCP server.
iface eth0 inet dhcp
change to - for example:
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
# How to set wireless access point?
There are two different hostap daemons. One is **default** and the other one is for some **Realtek** wifi cards. Both have their own basic configurations and both are patched to gain maximum performances.
Sources: [https://github.com/igorpecovnik/hostapd](https://github.com/igorpecovnik/hostapd "https://github.com/igorpecovnik/hostapd")
Default binary and configuration location:
/usr/sbin/hostapd
/etc/hostapd.conf
Realtek binary and configuration location:
/usr/sbin/hostapd-rt
/etc/hostapd.conf-rt
Since its hard to define when to use which you always try both combinations in case of troubles. To start AP automatically:
1. Edit /etc/init.d/hostapd and add/alter location of your conf file **DAEMON_CONF=/etc/hostapd.conf** and binary **DAEMON_SBIN=/usr/sbin/hostapd**
2. Link **/etc/network/interfaces.hostapd** to **/etc/network/interfaces**
3. Reboot
4. Predefined network name: "BOARD NAME" password: 12345678
5. To change parameters, edit /etc/hostapd.conf BTW: You can get WPAPSK the long blob from wpa_passphrase YOURNAME YOURPASS
# How to connect IR remote?
Required conditions:
- IR hardware
- loaded driver
Get your [remote configuration](http://lirc.sourceforge.net/remotes/) (lircd.conf) or [learn](http://kodi.wiki/view/HOW-TO:Setup_Lirc#Learning_Commands). You are going to need the list of all possible commands which you can map to your IR remote keys:
irrecord --list-namespace
To start with learning process you need to delete old config:
rm /etc/lircd.conf
Than start the process with:
irrecord --driver=default --device=/dev/lirc0 /etc/lircd.conf
And finally start your service when done with learning:
service lirc start
Test your remote:
irw /dev/lircd

281
general.sh Normal file
View file

@ -0,0 +1,281 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
cleaning()
#--------------------------------------------------------------------------------------------------------------------------------
# Let's clean stuff
#--------------------------------------------------------------------------------------------------------------------------------
{
case $1 in
1) # Clean u-boot and kernel sources
[ -d "$SOURCES/$BOOTSOURCE" ] && display_alert "Cleaning" "$SOURCES/$BOOTSOURCE" "info" && cd $SOURCES/$BOOTSOURCE && make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
[ -d "$SOURCES/$LINUXSOURCE" ] && display_alert "Cleaning" "$SOURCES/$LINUXSOURCE" "info" && cd $SOURCES/$LINUXSOURCE && make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
[ -f $DEST/cache/building/$HEADERS_CACHE.tgz ] && display_alert "Cleaning" "$HEADERS_CACHE.tgz" "info" && rm -f $DEST/cache/building/$HEADERS_CACHE.tgz
;;
2) display_alert "No cleaning" "sources" "info"
;;
3) # Choosing kernel if debs are present
if [[ $BRANCH == "next" ]]; then
MYARRAY=($(ls -1 $DEST/debs/linux-image* | awk '/next/' | sed ':a;N;$!ba;s/\n/;/g'))
else
MYARRAY=($(ls -1 $DEST/debs/linux-image* | awk '!/next/' | sed ':a;N;$!ba;s/\n/;/g'))
fi
if [[ ${#MYARRAY[@]} != "0" && $KERNEL_ONLY != "yes" ]]; then choosing_kernel; fi
;;
4) # Delete all in output except repository
display_alert "Removing deb packages" "$DEST/debs/" "info"
rm -rf $DEST/debs
display_alert "Removing root filesystem cache" "$DEST/cache" "info"
rm -rf $DEST/cache
display_alert "Removing SD card images" "$DEST/images" "info"
rm -rf $DEST/images
;;
*) # Clean u-boot and kernel sources and remove debs
[ -d "$SOURCES/$BOOTSOURCE" ] &&
display_alert "Cleaning" "$SOURCES/$BOOTSOURCE" "info" && cd $SOURCES/$BOOTSOURCE && make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
[ -f "$DEST/debs/$CHOOSEN_UBOOT" ] &&
display_alert "Removing" "$DEST/debs/$CHOOSEN_UBOOT" "info" && rm $DEST/debs/$CHOOSEN_UBOOT
[ -d "$SOURCES/$LINUXSOURCE" ] &&
display_alert "Cleaning" "$SOURCES/$LINUXSOURCE" "info" && cd $SOURCES/$LINUXSOURCE && make -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
[ -f "$DEST/debs/$CHOOSEN_KERNEL" ] &&
display_alert "Removing" "$DEST/debs/$CHOOSEN_KERNEL" "info" && rm $DEST/debs/$CHOOSEN_KERNEL
[ -f $DEST/cache/building/$HEADERS_CACHE.tgz ] && display_alert "Cleaning" "$HEADERS_CACHE.tgz" "info" && rm -f $DEST/cache/building/$HEADERS_CACHE.tgz
;;
esac
}
fetch_from_github (){
#--------------------------------------------------------------------------------------------------------------------------------
# Download or updates sources from Github
#--------------------------------------------------------------------------------------------------------------------------------
if [ -d "$SOURCES/$2" ]; then
cd $SOURCES/$2
if [[ "$3" != "" ]]; then
PULL=$(git checkout $FORCE -q $3)
fi
display_alert "... updating" "$2" "info"
PULL=$(git pull)
cd $SRC
else
display_alert "... downloading" "$2" "info"
git clone $1 $SOURCES/$2
fi
if [ $? -ne 0 ]; then display_alert "Github download failed" "$1" "err"; exit 1; fi
}
display_alert()
#--------------------------------------------------------------------------------------------------------------------------------
# Let's have unique way of displaying alerts
#--------------------------------------------------------------------------------------------------------------------------------
{
if [[ $2 != "" ]]; then TMPARA="[\e[0;33m $2 \x1B[0m]"; else unset TMPARA; fi
if [ $3 == "err" ]; then
echo -e "[\e[0;31m error \x1B[0m] $1 $TMPARA"
elif [ $3 == "wrn" ]; then
echo -e "[\e[0;35m warn \x1B[0m] $1 $TMPARA"
else
echo -e "[\e[0;32m o.k. \x1B[0m] $1 $TMPARA"
fi
}
check_error ()
# check last command and display warning only
{
if [ $? -ne 0 ]; then
# display warning if patching fails
display_alert "... failed. More info: debug/install.log" "$1" "wrn";
fi
}
install_packet ()
{
#--------------------------------------------------------------------------------------------------------------------------------
# Install packets inside chroot
#--------------------------------------------------------------------------------------------------------------------------------
i=0
j=1
declare -a PACKETS=($1)
skupaj=${#PACKETS[@]}
while [[ $i -lt $skupaj ]]; do
procent=$(echo "scale=2;($j/$skupaj)*100"|bc)
procent=${procent%.*}
x=${PACKETS[$i]}
if [[ $3 == "host" ]]; then
DEBIAN_FRONTEND=noninteractive apt-get -qq -y install $x >> $DEST/debug/install.log 2>&1
else
chroot $DEST/cache/sdcard /bin/bash -c "DEBIAN_FRONTEND=noninteractive apt-get -qq -y install $x" >> $DEST/debug/install.log 2>&1
fi
if [ $? -ne 0 ]; then display_alert "Installation of package failed" "$INSTALL" "err"; exit 1; fi
if [[ $4 != "quiet" ]]; then
printf '%.0f\n' $procent | dialog --backtitle "$backtitle" --title "$2" --gauge "\n\n$x" 9 70
fi
i=$[$i+1]
j=$[$j+1]
done
}
grab_kernel_version (){
#--------------------------------------------------------------------------------------------------------------------------------
# extract linux kernel version from Makefile
#--------------------------------------------------------------------------------------------------------------------------------
VER=$(cat $SOURCES/$LINUXSOURCE/Makefile | grep VERSION | head -1 | awk '{print $(NF)}')
VER=$VER.$(cat $SOURCES/$LINUXSOURCE/Makefile | grep PATCHLEVEL | head -1 | awk '{print $(NF)}')
VER=$VER.$(cat $SOURCES/$LINUXSOURCE/Makefile | grep SUBLEVEL | head -1 | awk '{print $(NF)}')
EXTRAVERSION=$(cat $SOURCES/$LINUXSOURCE/Makefile | grep EXTRAVERSION | head -1 | awk '{print $(NF)}' | cut -d '-' -f 2)
if [ "$EXTRAVERSION" != "=" ]; then VER=$VER$EXTRAVERSION; fi
}
grab_u-boot_version (){
#--------------------------------------------------------------------------------------------------------------------------------
# extract uboot version from Makefile
#--------------------------------------------------------------------------------------------------------------------------------
UBOOTVER=$(cat $SOURCES/$BOOTSOURCE/Makefile | grep VERSION | head -1 | awk '{print $(NF)}')
UBOOTVER=$UBOOTVER.$(cat $SOURCES/$BOOTSOURCE/Makefile | grep PATCHLEVEL | head -1 | awk '{print $(NF)}')
UBOOTSUB=$(cat $SOURCES/$BOOTSOURCE/Makefile | grep SUBLEVEL | head -1 | awk '{print $(NF)}' | cut -d '=' -f 2)
[ "$UBOOTSUB" != "" ] && UBOOTVER=$UBOOTVER.$UBOOTSUB
EXTRAVERSION=$(cat $SOURCES/$BOOTSOURCE/Makefile | grep EXTRAVERSION | head -1 | awk '{print $(NF)}' | cut -d '-' -f 2)
if [ "$EXTRAVERSION" != "=" ]; then UBOOTVER=$UBOOTVER$EXTRAVERSION; fi
}
choosing_kernel (){
#--------------------------------------------------------------------------------------------------------------------------------
# Choose which kernel to use
#--------------------------------------------------------------------------------------------------------------------------------
IFS=";"
cd $DEST"/debs/"
if [[ $BRANCH == "next" ]]; then
MYARRAY=($(ls -1 linux-image* | awk '/next/' | sed ':a;N;$!ba;s/\n/;/g'))
else
MYARRAY=($(ls -1 linux-image* | awk '!/next/' | sed ':a;N;$!ba;s/\n/;/g'))
fi
# if there are no precompiled kernels proceed with compilation
if [[ ${#MYARRAY[@]} == "0" ]]; then
SOURCE_COMPILE="yes"
fi
MYPARAMS=( --title "Choose a kernel" --backtitle $backtitle --menu "\n Prebuild packages:" 25 60 16 )
i=0
while [[ $i -lt ${#MYARRAY[@]} ]]
do
MYPARAMS+=( "${MYARRAY[$i]}" " -" )
i=$[$i+1]
done
whiptail "${MYPARAMS[@]}" 2>results
CHOOSEN_KERNEL=$(<results)
rm results
unset MYARRAY
}
fingerprint_image (){
#--------------------------------------------------------------------------------------------------------------------------------
# Saving build summary to the image
#--------------------------------------------------------------------------------------------------------------------------------
display_alert "Fingerprinting." "$VERSION Linux $VER" "info"
#echo -e "[\e[0;32m ok \x1B[0m] Fingerprinting"
echo "--------------------------------------------------------------------------------" > $1
echo "" >> $1
echo "" >> $1
echo "" >> $1
echo "Title: $VERSION (unofficial)" >> $1
echo "Kernel: Linux $VER" >> $1
now="$(date +'%d.%m.%Y')" >> $1
printf "Build date: %s\n" "$now" >> $1
echo "Author: Igor Pecovnik, www.igorpecovnik.com" >> $1
echo "Sources: http://github.com/igorpecovnik" >> $1
echo "" >> $1
echo "Support: http://www.armbian.com" >> $1
echo "" >> $1
echo "" >> $1
echo "--------------------------------------------------------------------------------" >> $1
echo "" >> $1
cat $SRC/lib/LICENSE >> $1
echo "" >> $1
echo "--------------------------------------------------------------------------------" >> $1
}
umount_image (){
FBTFTMOUNT=$(mount | grep fbtft | awk '{ print $3 }')
umount $FBTFTMOUNT >/dev/null 2>&1
umount $SOURCES/$LINUXSOURCE/drivers/video/fbtft >/dev/null 2>&1
umount -l $DEST/cache/sdcard/dev/pts >/dev/null 2>&1
umount -l $DEST/cache/sdcard/dev >/dev/null 2>&1
umount -l $DEST/cache/sdcard/proc >/dev/null 2>&1
umount -l $DEST/cache/sdcard/sys >/dev/null 2>&1
umount -l $DEST/cache/sdcard/tmp >/dev/null 2>&1
umount -l $DEST/cache/sdcard >/dev/null 2>&1
IFS=" "
x=$(losetup -a |awk '{ print $1 }' | rev | cut -c 2- | rev | tac);
for x in $x; do
losetup -d $x
done
}
addtorepo ()
{
# add all deb files to repository
# parameter "remove" dumps all and creates new
# function: cycle trough distributions
DISTROS=("wheezy" "jessie" "trusty")
IFS=" "
j=0
while [[ $j -lt ${#DISTROS[@]} ]]
do
# add each packet to distribution
DIS=${DISTROS[$j]}
# let's drop from publish if exits
if [ "$(aptly publish list -config=config/aptly.conf -raw | awk '{print $(NF)}' | grep $DIS)" != "" ]; then
aptly publish drop -config=config/aptly.conf $DIS > /dev/null 2>&1
fi
#aptly db cleanup -config=config/aptly.conf
if [ "$1" == "remove" ]; then
# remove repository
aptly repo drop -config=config/aptly.conf $DIS > /dev/null 2>&1
aptly db cleanup -config=config/aptly.conf > /dev/null 2>&1
fi
# create repository if not exist
OUT=$(aptly repo list -config=config/aptly.conf -raw | awk '{print $(NF)}' | grep $DIS)
if [[ "$OUT" != "$DIS" ]]; then
display_alert "Creating section" "$DIS" "info"
aptly repo create -config=config/aptly.conf -distribution=$DIS -component=main -comment="Armbian stable" $DIS > /dev/null 2>&1
fi
# add all packages
aptly repo add -force-replace=true -config=config/aptly.conf $DIS $POT/*.deb
# add all distribution packages
if [ -d "$POT/$DIS" ]; then
aptly repo add -force-replace=true -config=config/aptly.conf $DIS $POT/$DIS/*.deb
fi
aptly publish -passphrase=$GPG_PASS -force-overwrite=true -config=config/aptly.conf -component="main" --distribution=$DIS repo $DIS > /dev/null 2>&1
#aptly repo show -config=config/aptly.conf $DIS
j=$[$j+1]
done
}

315
main.sh
View file

@ -1,10 +1,188 @@
#!/bin/bash #!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
#
# Main program
#
#
# currently there is no option to create an image without root
# you can compile a kernel but you can complete the whole process
# if you find a way, please submit code corrections. Thanks.
if [ "$UID" -ne 0 ]
then echo "Please run as root"; exit
fi
# We'll use this tittle on all menus
backtitle="Armbian building script, http://www.armbian.com | Author: Igor Pecovnik"
mkdir -p $DEST/debug $SRC/userpatches/kernel $SRC/userpatches/u-boot
echo "Place your patches here. They'll be automaticly included during patching process!" > $SRC/userpatches/readme.txt
# Install some basic support if not here yet
if [ $(dpkg-query -W -f='${Status}' whiptail 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
apt-get install -qq -y whiptail bc >/dev/null 2>&1
fi
if [ $(dpkg-query -W -f='${Status}' bc 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
apt-get install -qq -y bc >/dev/null 2>&1
fi
if [ $(dpkg-query -W -f='${Status}' dialog 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
apt-get install -qq -y dialog >/dev/null 2>&1
fi
# if language not set, set to english
[ "$LANGUAGE" == "" ] && export LANGUAGE="en_US:en"
# default console if not set
[ "$CONSOLE_CHAR" == "" ] && export CONSOLE_CHAR="UTF-8"
# Add aptly repository for repo handling
if [ ! -f "/etc/apt/sources.list.d/aptly.list" ]; then
echo "deb http://repo.aptly.info/ squeeze main" > /etc/apt/sources.list.d/aptly.list
apt-key adv --keyserver keys.gnupg.net --recv-keys E083A3782A194991
apt-get update
fi
# Choose destination - creating board list from file configuration.sh
if [ "$BOARD" == "" ]; then
IFS=";"
MYARRAY=($(cat $SRC/lib/configuration.sh | awk '/\)#enabled/ || /#des/' | sed 's/)#enabled//g' \
| sed 's/#description //g' | sed ':a;N;$!ba;s/\n/;/g'))
MYPARAMS=( --title "Choose a board" --backtitle $backtitle --menu "\n Supported:" 34 67 24 )
i=0; j=1
while [[ $i -lt ${#MYARRAY[@]} ]]; do
MYPARAMS+=( "${MYARRAY[$i]}" " ${MYARRAY[$j]}" )
i=$[$i+2]; j=$[$j+2]
done
whiptail "${MYPARAMS[@]}" 2>results
BOARD=$(<results)
rm results
unset MYARRAY
fi
if [ "$BOARD" == "" ]; then echo "ERROR: You have to choose one board"; exit; fi
# This section is left out if we only compile kernel
if [ "$KERNEL_ONLY" != "yes" ]; then
# Choose for which distribution you want to compile
if [ "$RELEASE" == "" ]; then
IFS=";"
declare -a MYARRAY=('wheezy' 'Debian 7 Wheezy | oldstable' 'jessie' 'Debian 8 Jessie | stable' \
'trusty' 'Ubuntu Trusty Tahr 14.04.x LTS');
MYPARAMS=( --title "Choose a distribution" --backtitle $backtitle --menu "\n Root file system:" 10 60 3 )
i=0; j=1
while [[ $i -lt ${#MYARRAY[@]} ]]; do
MYPARAMS+=( "${MYARRAY[$i]}" " ${MYARRAY[$j]}" )
i=$[$i+2]; j=$[$j+2]
done
whiptail "${MYPARAMS[@]}" 2>results
RELEASE=$(<results)
rm results
unset MYARRAY
fi
if [ "$RELEASE" == "" ]; then echo "ERROR: You have to choose one distribution"; exit; fi
# Choose to build a desktop
if [ "$BUILD_DESKTOP" == "" ]; then
IFS=";"
declare -a MYARRAY=('No' 'Command line interface' 'Yes' 'XFCE graphical interface');
MYPARAMS=( --title "Install desktop?" --backtitle $backtitle --menu "" 10 60 3 )
i=0; j=1
while [[ $i -lt ${#MYARRAY[@]} ]]; do
MYPARAMS+=( "${MYARRAY[$i]}" " ${MYARRAY[$j]}" )
i=$[$i+2]; j=$[$j+2]
done
whiptail "${MYPARAMS[@]}" 2>results
BUILD_DESKTOP=$(<results)
BUILD_DESKTOP=${BUILD_DESKTOP,,}
rm results
unset MYARRAY
fi
if [ "$BUILD_DESKTOP" == "" ]; then echo "ERROR: You need to choose"; exit; fi
fi
# Choose for which branch you want to compile
if [ "$BRANCH" == "" ]; then
# get info crom configuration which kernel can be build for certain board
line_number=$(grep -n "$BOARD)" $SRC/lib/configuration.sh | grep -Eo '^[^:]+')
display_para=$(tail -n +$line_number $SRC/lib/configuration.sh | grep -in "#build" | head -1 | awk '{print $NF}')
if [[ "$display_para" == *wip ]]; then
display_para=${display_para//[!0-9]/}
whiptail --title "Warning Warning Warning" --msgbox "This is a work in progress. \
Building might not succeed. \n\nYou must hit OK to continue." 9 63
fi
IFS=";"
declare -a MYARRAY=('default' '3.4.x - 3.14.x most supported' 'next' 'Vanilla / mainline latest stable');
if [[ $display_para == "1" ]]; then declare -a MYARRAY=('default' '3.4.x - 3.14.x most supported'); fi
if [[ $display_para == "2" ]]; then declare -a MYARRAY=('next' 'Latest stable from www.kernel.org'); fi
MYPARAMS=( --title "Choose a branch" --backtitle "$backtitle" --menu "\n Kernel:" 11 60 2 )
i=0; j=1
while [[ $i -lt ${#MYARRAY[@]} ]]; do
MYPARAMS+=( "${MYARRAY[$i]}" " ${MYARRAY[$j]}" )
i=$[$i+2]; j=$[$j+2]
done
whiptail "${MYPARAMS[@]}" 2>results
BRANCH=$(<results)
rm results
unset MYARRAY
fi
if [ "$BRANCH" == "" ]; then echo "ERROR: You have to choose one branch"; exit; fi
# don't compile external modules on mainline
if [ "$BRANCH" == "next" ]; then EXTERNAL="no"; fi
# back to normal
unset IFS
# naming to distro
if [[ "$RELEASE" == "precise" || "$RELEASE" == "trusty" ]]; then DISTRIBUTION="Ubuntu"; else DISTRIBUTION="Debian"; fi
# set hostname to the board
HOST="$BOARD"
# Load libraries
source $SRC/lib/general.sh # General functions
source $SRC/lib/configuration.sh # Board configuration
source $SRC/lib/deboostrap.sh # System specific install
source $SRC/lib/distributions.sh # System specific install
source $SRC/lib/patching.sh # Source patching
source $SRC/lib/boards.sh # Board specific install
source $SRC/lib/desktop.sh # Desktop specific install
source $SRC/lib/common.sh # Functions
source $SRC/lib/makeboarddeb.sh # Create board support package
# needed if process failed in the middle
umount_image
# The name of the job
VERSION="Armbian $REVISION ${BOARD^} $DISTRIBUTION $RELEASE $BRANCH"
echo `date +"%d.%m.%Y %H:%M:%S"` $VERSION > $DEST/debug/install.log
#--------------------------------------------------------------------------------------------------------------------------------
# let's start with fresh screen # let's start with fresh screen
clear clear
display_alert "Dependencies check" "@host" "info"
#--------------------------------------------------------------------------------------------------------------------------------
# optimize build time with 100% CPU usage # optimize build time with 100% CPU usage
CPUS=$(grep -c 'processor' /proc/cpuinfo) CPUS=$(grep -c 'processor' /proc/cpuinfo)
if [ "$USEALLCORES" = "yes" ]; then if [ "$USEALLCORES" = "yes" ]; then
@ -13,89 +191,106 @@ else
CTHREADS="-j${CPUS}"; CTHREADS="-j${CPUS}";
fi fi
#-------------------------------------------------------------------------------------------------------------------------------- # Use C compiler cache
# to display build time at the end if [ "$USE_CCACHE" = "yes" ]; then
CCACHE="ccache";
else
CCACHE="";
fi
# display what we do
if [ "$KERNEL_ONLY" == "yes" ]; then
display_alert "Compiling kernel" "$BOARD" "info"
else
display_alert "Building" "$VERSION" "info"
fi
# download packages for host
PAK="aptly device-tree-compiler pv bc lzop zip binfmt-support bison build-essential ccache debootstrap flex ntpdate "
PAK=$PAK"gawk gcc-arm-linux-gnueabihf lvm2 qemu-user-static u-boot-tools uuid-dev zlib1g-dev unzip libusb-1.0-0-dev "
PAK=$PAK"parted pkg-config expect gcc-arm-linux-gnueabi libncurses5-dev whiptail debian-keyring debian-archive-keyring"
if [ "$(LANGUAGE=english apt-get -s install $PAK | grep "0 newly installed")" == "" ]; then
install_packet "$PAK" "Checking and installing host dependencies" "host"
fi
# sync clock
if [ "$SYNC_CLOCK" != "no" ]; then
display_alert "Synching clock" "host" "info"
ntpdate -s time.ijs.si
fi
start=`date +%s` start=`date +%s`
#--------------------------------------------------------------------------------------------------------------------------------
# display what we are doing
echo "Building $VERSION."
#--------------------------------------------------------------------------------------------------------------------------------
# Download packages for host
#
download_host_packages
#--------------------------------------------------------------------------------------------------------------------------------
# fetch_from_github [repository, sub directory] # fetch_from_github [repository, sub directory]
# mkdir -p $DEST -p $SOURCES
mkdir -p $DEST/output
fetch_from_github "$BOOTLOADER" "$BOOTSOURCE" if [ "$FORCE_CHECKOUT" = "yes" ]; then FORCE="-f"; else FORCE=""; fi
fetch_from_github "$LINUXKERNEL" "$LINUXSOURCE" display_alert "source downloading" "@host" "info"
if [[ -n "$DOCS" ]]; then fetch_from_github "$DOCS" "$DOCSDIR"; fi
fetch_from_github "$BOOTLOADER" "$BOOTSOURCE" "$BOOTDEFAULT"
fetch_from_github "$LINUXKERNEL" "$LINUXSOURCE" "$LINUXDEFAULT"
if [[ -n "$MISC1" ]]; then fetch_from_github "$MISC1" "$MISC1_DIR"; fi if [[ -n "$MISC1" ]]; then fetch_from_github "$MISC1" "$MISC1_DIR"; fi
if [[ -n "$MISC2" ]]; then fetch_from_github "$MISC2" "$MISC2_DIR"; fi if [[ -n "$MISC2" ]]; then fetch_from_github "$MISC2" "$MISC2_DIR"; fi
if [[ -n "$MISC3" ]]; then fetch_from_github "$MISC3" "$MISC3_DIR"; fi if [[ -n "$MISC3" ]]; then fetch_from_github "$MISC3" "$MISC3_DIR"; fi
if [[ -n "$MISC4" ]]; then fetch_from_github "$MISC4" "$MISC4_DIR"; fi if [[ -n "$MISC4" ]]; then fetch_from_github "$MISC4" "$MISC4_DIR" "master"; fi
if [[ -n "$MISC5" ]]; then fetch_from_github "$MISC5" "$MISC5_DIR"; fi
#-------------------------------------------------------------------------------------------------------------------------------- # compile sunxi tools
# grab linux kernel version from Makefile if [[ $LINUXFAMILY == *sun* ]]; then
# compile_sunxi_tools
VER=$(cat $DEST/$LINUXSOURCE/Makefile | grep VERSION | head -1 | awk '{print $(NF)}')
VER=$VER.$(cat $DEST/$LINUXSOURCE/Makefile | grep PATCHLEVEL | head -1 | awk '{print $(NF)}')
VER=$VER.$(cat $DEST/$LINUXSOURCE/Makefile | grep SUBLEVEL | head -1 | awk '{print $(NF)}')
EXTRAVERSION=$(cat $DEST/$LINUXSOURCE/Makefile | grep EXTRAVERSION | head -1 | awk '{print $(NF)}')
if [ "$EXTRAVERSION" != "=" ]; then VER=$VER$EXTRAVERSION; fi
# always compile boot loader
compile_uboot
if [ "$SOURCE_COMPILE" = "yes" ]; then
#--------------------------------------------------------------------------------------------------------------------------------
# Patching sources
patching_sources
# compile kernel and create archives
compile_kernel
# create tar file
packing_kernel
else
# choose kernel from ready made
choosing_kernel
#--------------------------------------------------------------------------------------------------------------------------------
fi fi
# define some packages
if [[ $BRANCH == "next" ]] ; then KERNEL_BRACH="-next"; UBOOT_BRACH="-next"; else KERNEL_BRACH=""; UBOOT_BRACH=""; fi
CHOOSEN_UBOOT=linux-u-boot"$UBOOT_BRACH"-"$BOARD"_"$REVISION"_armhf.deb
CHOOSEN_KERNEL=linux-image"$KERNEL_BRACH"-"$CONFIG_LOCALVERSION$LINUXFAMILY"_"$REVISION"_armhf.deb
CHOOSEN_ROOTFS=linux-"$RELEASE"-root"$ROOT_BRACH"-"$BOARD"_"$REVISION"_armhf
HEADERS_CACHE="${CHOOSEN_KERNEL/image/cache}"
# cleaning level 0,1,2,3
cleaning "$CLEAN_LEVEL"
# patching sources
patching_sources
# Compile source if packed not exits
[ ! -f "$DEST/debs/$CHOOSEN_UBOOT" ] && compile_uboot
[ ! -f "$DEST/debs/$CHOOSEN_KERNEL" ] && compile_kernel
if [ "$KERNEL_ONLY" == "yes" ]; then
[[ -n "$RELEASE" ]] && create_board_package
display_alert "Kernel building done" "@host" "info"
display_alert "Target directory" "$DEST/debs/" "info"
display_alert "File name" "$CHOOSEN_KERNEL" "info"
else
#--------------------------------------------------------------------------------------------------------------------------------
# create or use prepared root file-system # create or use prepared root file-system
create_debian_template custom_debootstrap
#--------------------------------------------------------------------------------------------------------------------------------
# add kernel to the image # add kernel to the image
install_kernel install_kernel
#--------------------------------------------------------------------------------------------------------------------------------
# install board specific applications # install board specific applications
install_distribution_specific
create_board_package
install_board_specific install_board_specific
#-------------------------------------------------------------------------------------------------------------------------------- # install desktop
if [ "$BUILD_DESKTOP" = "yes" ]; then
install_desktop
fi
# install external applications # install external applications
if [ "$EXTERNAL" = "yes" ]; then if [ "$EXTERNAL" = "yes" ]; then
install_external_applications install_external_applications
fi fi
#--------------------------------------------------------------------------------------------------------------------------------
# add some summary to the image
fingerprint_image "$DEST/output/sdcard/root/readme.txt"
#--------------------------------------------------------------------------------------------------------------------------------
# closing image # closing image
closing_image closing_image
fi
end=`date +%s` end=`date +%s`
runtime=$(((end-start)/60)) runtime=$(((end-start)/60))
echo "Runtime $runtime min." umount $SOURCES/$LINUXSOURCE/drivers/video/fbtft >/dev/null 2>&1
display_alert "Runtime" "$runtime min" "info"

130
makeboarddeb.sh Normal file
View file

@ -0,0 +1,130 @@
#!/bin/bash
#
# Copyright (c) 2015 Igor Pecovnik, igor.pecovnik@gma**.com
#
# This file is licensed under the terms of the GNU General Public
# License version 2. This program is licensed "as is" without any
# warranty of any kind, whether express or implied.
#
# This file is a part of tool chain https://github.com/igorpecovnik/lib
#
#
# Create board support packages
#
#
create_board_package (){
#---------------------------------------------------------------------------------------------------------------------------------
# create .deb package for the rest
#---------------------------------------------------------------------------------------------------------------------------------
display_alert "Creating board support package." "$BOARD" "info"
if [[ $BRANCH == "next" ]]; then
ROOT_BRACH="-next";
else
ROOT_BRACH="";
fi
# construct a package name
CHOOSEN_ROOTFS=linux-"$RELEASE"-root"$ROOT_BRACH"-"$BOARD"_"$REVISION"_armhf
local destination=$DEST/debs/$RELEASE/$CHOOSEN_ROOTFS
local controlfile=$destination/DEBIAN/control
mkdir -p $destination/DEBIAN
echo "Package: linux-$RELEASE-root$ROOT_BRACH-$BOARD" > $controlfile
echo "Version: $REVISION" >> $controlfile
echo "Architecture: armhf" >> $controlfile
echo "Maintainer: $MAINTAINER <$MAINTAINERMAIL>" >> $controlfile
echo "Installed-Size: 1" >> $controlfile
echo "Section: kernel" >> $controlfile
echo "Priority: optional" >> $controlfile
echo "Description: Root file system tweaks for $BOARD" >> $controlfile
# set up post install script
echo "#!/bin/bash" > $destination/DEBIAN/postinst
chmod 755 $destination/DEBIAN/postinst
# scripts for autoresize at first boot
mkdir -p $destination/etc/init.d
mkdir -p $destination/etc/default
install -m 755 $SRC/lib/scripts/resize2fs $destination/etc/init.d
install -m 755 $SRC/lib/scripts/firstrun $destination/etc/init.d
# install custom bashrc and hardware dependent motd
install $SRC/lib/scripts/bashrc $destination/etc/bash.bashrc.custom
install -m 755 $SRC/lib/scripts/armhwinfo $destination/etc/init.d
echo "set -e" >> $destination/DEBIAN/postinst
echo "update-rc.d armhwinfo defaults >/dev/null 2>&1" >> $destination/DEBIAN/postinst
echo "update-rc.d -f motd remove >/dev/null 2>&1" >> $destination/DEBIAN/postinst
echo "[[ -f /root/.nand1-allwinner.tgz ]] && rm /root/.nand1-allwinner.tgz" >> $destination/DEBIAN/postinst
echo "[[ -f /root/nand-sata-install ]] && rm /root/nand-sata-install" >> $destination/DEBIAN/postinst
echo "exit 0" >> $destination/DEBIAN/postinst
# temper binary for USB temp meter
mkdir -p $destination/usr/local/bin
tar xfz $SRC/lib/bin/temper.tgz -C $destination/usr/local/bin
# replace hostapd from latest self compiled & patched
mkdir -p $destination/usr/sbin/
tar xfz $SRC/lib/bin/hostapd25-rt.tgz -C $destination/usr/sbin/
tar xfz $SRC/lib/bin/hostapd25.tgz -C $destination/usr/sbin/
# module evbug is loaded automagically at boot time but we don't want that
mkdir -p $destination/etc/modprobe.d/
echo "blacklist evbug" > $destination/etc/modprobe.d/ev-debug-blacklist.conf
# script to install to SATA
cp -R $SRC/lib/scripts/nand-sata-install/usr $destination/
chmod +x $destination/usr/lib/nand-sata-install/nand-sata-install.sh
ln -s ../lib/nand-sata-install/nand-sata-install.sh $destination/usr/sbin/nand-sata-install
# first login and reboot note when updated
mkdir -p $destination/root $destination/tmp $destination/etc/profile.d
install -m 755 $SRC/lib/scripts/check_first_login_reboot.sh $destination/etc/profile.d
install -m 755 $SRC/lib/scripts/check_first_login.sh $destination/etc/profile.d
touch $destination/root/.not_logged_in_yet
touch $destination/tmp/.reboot_required
if [[ $LINUXCONFIG == *sun* ]] ; then
# add sunxi tools
tar xfz $SRC/lib/bin/sunxitools.tgz -C $destination/usr/local/bin
if [ "$BRANCH" != "next" ]; then
# add soc temperature app
arm-linux-gnueabihf-gcc $SRC/lib/scripts/sunxi-temp/sunxi_tp_temp.c -o $destination/usr/local/bin/sunxi_tp_temp
fi
# lamobo R1 router switch config
tar xfz $SRC/lib/bin/swconfig.tgz -C $destination/usr/local/bin
# convert and add fex files
unset IFS
mkdir -p $destination/boot/bin
for i in $(ls -w1 $SRC/lib/config/*.fex | xargs -n1 basename); do
fex2bin $SRC/lib/config/${i%*.fex}.fex $destination/boot/bin/${i%*.fex}.bin;
done
# bluetooth device enabler - for cubietruck
install -m 755 $SRC/lib/bin/brcm_patchram_plus $destination/usr/local/bin
install $SRC/lib/scripts/brcm40183 $destination/etc/default
install -m 755 $SRC/lib/scripts/brcm40183-patch $destination/etc/init.d
fi
# add some summary to the image
fingerprint_image "$destination/etc/armbian.txt"
# create board DEB file
cd $DEST/debs/$RELEASE/
display_alert "Building deb package." "$CHOOSEN_ROOTFS"".deb" "info"
dpkg -b $CHOOSEN_ROOTFS >/dev/null 2>&1
# clean up
rm -rf $CHOOSEN_ROOTFS
rm -f ../.reboot_required
}

62
patch/devices/sun4i-a10.h Normal file
View file

@ -0,0 +1,62 @@
/*
* Copyright 2014 Maxime Ripard
*
* Maxime Ripard <maxime.ripard@free-electrons.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file 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 file 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 General Public
* License along with this file; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
* MA 02110-1301 USA
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef __DT_BINDINGS_PINCTRL_SUN4I_A10_H_
#define __DT_BINDINGS_PINCTRL_SUN4I_A10_H_
#define SUN4I_PINCTRL_10_MA 0
#define SUN4I_PINCTRL_20_MA 1
#define SUN4I_PINCTRL_30_MA 2
#define SUN4I_PINCTRL_40_MA 3
#define SUN4I_PINCTRL_NO_PULL 0
#define SUN4I_PINCTRL_PULL_UP 1
#define SUN4I_PINCTRL_PULL_DOWN 2
#endif /* __DT_BINDINGS_PINCTRL_SUN4I_A10_H_ */

View file

@ -0,0 +1,244 @@
/*
* Copyright 2015 Hans de Goede <hdegoede@redhat.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file 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 file 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.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "sun6i-a31.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>
/ {
model = "Banana Pi BPI-M2";
compatible = "sinovoip,bpi-m2", "allwinner,sun6i-a31";
aliases {
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_bananapi>;
green {
label = "bananapi:green:usr";
gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
blue {
label = "bananapi:blue:usr";
gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "mmc0";
};
red {
label = "bananapi:red:usr";
gpios = <&pio 6 5 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
};
g40_leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&g40_pins_bananapi>;
pm2 {
label = "bananapi:pm2:usr";
gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
reg_vmmc2: vmmc2 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&vmmc2_pin_bananapi>;
regulator-name = "vmmc2";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
enable-active-high;
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
// gpio = <&r_pio 1 0 GPIO_ACTIVE_HIGH>; /* PM0 */
};
};
&ohci0 {
status = "okay";
};
&ehci0 {
status = "okay";
};
&gmac {
pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>;
phy = <&phy1>;
phy-mode = "rgmii";
snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>;
snps,reset-active-low;
snps,reset-delays-us = <0 10000 30000>;
status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
/* pull-ups and devices require AXP221 DLDO3 */
status = "failed";
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins_a>;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay";
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
vmmc-supply = <&reg_vcc3v0>;
bus-width = <4>;
cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */
cd-inverted;
status = "okay";
};
&mmc2 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins_a>;
vmmc-supply = <&reg_vmmc2>;
bus-width = <4>;
non-removable;
enable-sdio-wakeup;
status = "okay";
/*
brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&pio>;
interrupts = <5 0>;
interrupt-names = "host-wake";
status = "okay";
};
*/
};
&mmc0_pins_a {
/* external pull-ups missing for some pins */
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
&mmc2_pins_a {
/* external pull-ups missing for some pins */
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
&pio {
led_pins_bananapi: led_pins@0 {
allwinner,pins = "PG10", "PG5", "PG11";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
allwinner,pins = "PA4";
allwinner,function = "gpio_in";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
mmc2_pins_a: mmc2@0 {
allwinner,pins = "PC6","PC7","PC8","PC9","PC10","PC11";
allwinner,function = "mmc2";
allwinner,drive = <SUN4I_PINCTRL_30_MA>;
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
};
&r_pio {
g40_pins_bananapi: g40_pins@0 {
allwinner,pins = "PM2";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
vmmc2_pin_bananapi: vmmc2_pin@0 {
allwinner,pins = "PL8";
// allwinner,pins = "PM0";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&usbphy {
status = "okay";
};

View file

@ -0,0 +1,294 @@
/*
* Copyright 2015 Hans de Goede <hdegoede@redhat.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file 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 file 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.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "sun7i-a20.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {
model = "Banana Pi BPI-M1-Plus";
compatible = "sinovoip,bpi-m1-plus", "allwinner,sun7i-a20";
aliases {
serial0 = &uart0;
serial1 = &uart2;
serial2 = &uart3;
serial3 = &uart7;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_bananapi>;
red {
label = "bananapi:red:usr";
gpios = <&pio 7 25 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
green {
label = "bananapi:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gmac_power_pin_bananapi>;
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
};
reg_vmmc3: vmmc3 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&vmmc3_pin_bananapi>;
regulator-name = "vmmc3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
enable-active-high;
gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>;
};
};
&ahci {
status = "okay";
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&gmac {
pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>;
phy = <&phy1>;
phy-mode = "rgmii";
phy-supply = <&reg_gmac_3v3>;
status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
axp209: pmic@34 {
compatible = "x-powers,axp209";
reg = <0x34>;
interrupt-parent = <&nmi_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <1>;
};
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay";
};
&ir0 {
pinctrl-names = "default";
pinctrl-0 = <&ir0_rx_pins_a>;
status = "okay";
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
cd-inverted;
status = "okay";
};
&mmc3 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins_a>;
vmmc-supply = <&reg_vmmc3>;
bus-width = <4>;
non-removable;
enable-sdio-wakeup;
status = "okay";
/*
brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
interrupt-parent = <&pio>;
interrupts = <15 8>;
interrupt-names = "host-wake";
};
*/
};
&pio {
gmac_power_pin_bananapi: gmac_power_pin@0 {
allwinner,pins = "PH23";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
led_pins_bananapi: led_pins@0 {
allwinner,pins = "PH24", "PG2";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
allwinner,pins = "PH10";
allwinner,function = "gpio_in";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
usb1_vbus_pin_bananapi: usb1_vbus_pin@0 {
allwinner,pins = "PH0";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
usb2_vbus_pin_bananapi: usb2_vbus_pin@0 {
allwinner,pins = "PH1";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
vmmc3_pin_bananapi: vmmc3_pin@0 {
allwinner,pins = "PH22";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
};
&reg_usb1_vbus {
pinctrl-0 = <&usb1_vbus_pin_bananapi>;
gpio = <&pio 7 0 GPIO_ACTIVE_HIGH>; /* PH0 */
status = "okay";
};
&reg_usb2_vbus {
pinctrl-0 = <&usb2_vbus_pin_bananapi>;
gpio = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
status = "okay";
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>,
<&spi0_cs0_pins_a>,
<&spi0_cs1_pins_a>;
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_a>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_b>;
status = "okay";
};
&uart7 {
pinctrl-names = "default";
pinctrl-0 = <&uart7_pins_a>;
status = "okay";
};
&usbphy {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};

View file

@ -0,0 +1,229 @@
/*
* Copyright 2015 Hans de Goede <hdegoede@redhat.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file 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 file 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.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "sun7i-a20.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/sun4i-a10.h>
/ {
model = "Banana Pi BPI-R1";
compatible = "sinovoip,bpi-r1", "allwinner,sun7i-a20";
aliases {
serial0 = &uart0;
serial1 = &uart2;
serial2 = &uart3;
serial3 = &uart7;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins_bananapi>;
green {
label = "bananapi:green:usr";
gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
};
reg_gmac_3v3: gmac-3v3 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&gmac_power_pin_bananapi>;
regulator-name = "gmac-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <100000>;
enable-active-high;
gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
};
};
&ahci {
status = "okay";
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&gmac {
pinctrl-names = "default";
pinctrl-0 = <&gmac_pins_rgmii_a>;
phy = <&phy1>;
phy-mode = "rgmii";
phy-supply = <&reg_gmac_3v3>;
status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
};
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
axp209: pmic@34 {
compatible = "x-powers,axp209";
reg = <0x34>;
interrupt-parent = <&nmi_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <1>;
};
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins_a>;
status = "okay";
};
&ir0 {
pinctrl-names = "default";
pinctrl-0 = <&ir0_rx_pins_a>;
status = "okay";
};
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
cd-inverted;
status = "okay";
};
&pio {
mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
allwinner,pins = "PH10";
allwinner,function = "gpio_in";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
};
gmac_power_pin_bananapi: gmac_power_pin@0 {
allwinner,pins = "PH23";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
led_pins_bananapi: led_pins@0 {
allwinner,pins = "PH24";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
};
&reg_usb1_vbus {
status = "okay";
};
&reg_usb2_vbus {
status = "okay";
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>,
<&spi0_cs0_pins_a>,
<&spi0_cs1_pins_a>;
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_a>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_b>;
status = "okay";
};
&uart7 {
pinctrl-names = "default";
pinctrl-0 = <&uart7_pins_a>;
status = "okay";
};
&usbphy {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
status = "okay";
};

Some files were not shown because too many files have changed in this diff Show more