115 Commits

Author SHA1 Message Date
849a2266d5 olinuxino-a20lime2: fix UBOOT_MACHINE
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2016-02-13 20:01:25 +01:00
e51d5cfdee Merge pull request #128 from jlucius/master
Bump kernel versions
2015-12-16 14:48:31 +01:00
d2ccb1d993 Bump kernel versions
Bump stable kernel to 4.1.15
Bump git kernel to 4.4rc5

Signed-off-by: Jens Lucius info@jenslucius.com
2015-12-16 06:23:35 +01:00
e238cc158a Merge pull request #127 from jlucius/master
Remove image dependency on fex for mainline
2015-12-08 21:38:12 +01:00
07c07fcd78 use RDEPENDS instead of DEPENDS for sunxi-kernel
Signed-off-by: Jens Lucius info@jenslucius.com
2015-11-21 18:11:46 +01:00
b05f2dbb8b Remove image dependency on fex for mainline
Remove image dependency on building fex files which are not needed
any more for mainline kernel (replaced by devicetree).
Add dependency for fex to linux-sunxi kernel.
Also update to latest sunxi-linux revision.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-11-19 16:58:24 +01:00
b9acc14280 Merge pull request #124 from Noxenious/master
Update kernel and u-boot
2015-10-24 23:43:11 +02:00
b5e93023fb update u-boot, kernel
- Update U-Boot from 2015.07 to 2015.10
- Update mainline kernel from 4.1.7 to 4.1.10
- Update git kernel from 4.3rc2 to 4.3rc6

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-10-23 09:48:58 +02:00
4f75b81ab2 Merge pull request #3 from linux-sunxi/master
Update from Master
2015-10-22 16:11:07 +02:00
14da837096 Merge pull request #121 from twoerner/contrib/twoerner/patches-v2
linux-sunxi_3.4: bump kernel version
2015-09-26 11:04:14 +02:00
b4357af03b sunxi-mali test
The sunxi-mali repository includes a test application, enable support for
building and generating a new package (sunxi-mali-test) so it can be included
in an image at the user's discretion.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-25 22:46:33 -04:00
888ddfd531 more gcc5 fixes
gcc5 is pickier about inline code in header files.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-25 22:46:33 -04:00
72ea1fe7df linux-sunxi_3.4: bump kernel version
Update to the latest linux-sunxi kernel on the sunxi-3.4 branch.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-25 22:46:33 -04:00
54d3993da4 Merge pull request #123 from twoerner/contrib/twoerner/maliopengl
sunxi-mali: remove opengl requirement
2015-09-26 01:46:39 +02:00
2f8da55176 sunxi-mali: remove opengl requirement
The mali driver supports OpenGL ES and doesn't require OpenGL in any way. It
is completely feasible to install mali and run OpenGL ES-only apps against it
without any need for OpenGL whatsoever.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-25 18:10:54 -04:00
fe162b176d Merge pull request #122 from twoerner/contrib/twoerner/turbodep
xf86-video-fbturbo: add DEPENDS
2015-09-25 23:58:20 +02:00
b660f3a9dc xf86-video-fbturbo: add DEPENDS
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-25 17:50:04 -04:00
f6b855d948 Merge pull request #119 from twoerner/master
linux-sunxi_3.4.bb: allow rm to fail
2015-09-23 23:43:22 +02:00
43a6a5ecc8 linux-sunxi_3.4.bb: allow rm to fail
When building a second time, allow the 'rm' command to fail silently since
these files may have been removed from a failed previous build.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-23 14:15:48 -04:00
17645719ad Merge pull request #118 from twoerner/master
linux-sunxi_3.4.bb: add line continuation
2015-09-23 17:50:29 +02:00
08c5a4bfb8 linux-sunxi_3.4.bb: add line continuation
ERROR: ParseError at meta-sunxi/recipes-kernel/linux/linux-sunxi_3.4.bb:17:
       unparsed line: SRC_URI

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-23 11:24:05 -04:00
1cdd083d2b Merge pull request #117 from Noxenious/master
linux-sunxi: add patches for gcc5
2015-09-23 13:24:14 +02:00
062c1477cf linux-sunxi: add patches for gcc5
The linux-sunxi 3.4 kernel could not be compiled with gcc5 (which
is standard in master now). Add two patches to make it compile again.

- Add missing compiler-gcc5.h
- Fix "multiple definition of `return_address'" errors

Open issue: All realtek wifi drivers fail to compile. Because of this
keep info to switch back to gcc4 in readme.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-23 12:06:26 +02:00
7372a11da5 Merge pull request #116 from Noxenious/master
sunxi-mali: fix build errors with current master
2015-09-23 10:04:11 +02:00
318e9aa826 sunxi-mali: fix build errors with current master
When trying to build sunxi-mali with current master there is a strip
error introduced in a patch trying to strip the rootfs. Disable striping.
Also fix an error where external recipes would not find the libaries.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-23 09:00:24 +02:00
50b4227876 Merge pull request #114 from Noxenious/master
sunxi-mali fixes
2015-09-22 20:35:06 +02:00
0a2034bb3c sunxi-mali: install .pc files, add patches
Add installation of .pc and header files. Add compile patches to fix errors.
Original fix by raoulh, already included in meta-sunxi dora branch by naguirre.

Ported to master branch and no not switch away from sunxi-mali git repo, instead just
add the needed patches on top of it.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-22 17:02:09 +02:00
8f1c8f67cf fbturbo: increase version, depend libump
- increase version number to correct version (0.5.1)
- depend on libump

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-22 16:58:44 +02:00
9d864e2510 Merge pull request #112 from Noxenious/master
Update kernel, sunxi-board-fex, sunxi-tools, fbturbo, switch from ext3 to ext4
2015-09-22 12:49:06 +02:00
eac21d7734 Merge pull request #113 from twoerner/master
README.md: improve instructions for sunxi versions
2015-09-22 08:16:14 +02:00
d32866858f README.md: improve instructions for sunxi versions
If the user wants to build the sunxi version of the kernel they can specify
the PREFERRED_PROVIDER block in their conf/local.conf (i.e. they don't need to
edit the layer explicitly).

Also, now that gcc-5.2 is the default on master, inform the user how they can
continue to build the sunxi version (3.4%) version of the kernel by forcing
the compiler to version 4.9.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-09-21 22:04:36 -04:00
82672a440b adjust git kernel version 2015-09-21 16:59:07 +02:00
0693369edc update fbturbo to latest version
Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-21 15:55:45 +02:00
b66da9c3bb update sunxi-tools
The complete fel boot has been reworked, making it possible to boot
mainline u-boot via fel mode, also supports Allwinner H3, A80 and A88.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-21 15:54:00 +02:00
4e261ffb96 update kernel versions
- Update kernel from 4.1.3 to 4.1.7
- Update git kernel from 4.2rc4 to 4.3rc2
- Sync defconfig with latest version

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-21 15:51:59 +02:00
5127517a14 update to latest sunxi-board-fex
Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-21 14:34:35 +02:00
784e893ac5 change filesystem from ext3 to ext4
ext3 filesystem is getting deprecated in favor of ext4 and openembedded
will default to ext4 in the next release, so switch to ext4 as well.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-09-21 14:32:41 +02:00
92b8be8139 Merge pull request #2 from linux-sunxi/master
Update from Master
2015-09-16 11:15:45 +02:00
8a9c1d688c linux: set "S" variable
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2015-08-22 15:25:08 +02:00
9ac263ebab Merge pull request #108 from Noxenious/master
Use correct u-boot name for meleg
2015-08-10 16:38:31 +02:00
4d45bd5262 add missing _config to meleg
Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-08-10 15:02:07 +02:00
012655af8d Merge pull request #102 from Noxenious/master
kernel: use tar.xz, git optional
2015-08-10 14:58:36 +02:00
2df4c1b23d Use correct u-boot name for meleg
Mainline u-boot uses a different name for the configuration for the Mele G.
Use correct name for mainline, use old name for sunxi u-boot.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-08-10 14:11:04 +02:00
211d55b437 Merge pull request #105 from koenkooi/defconfig-enhancements
Defconfig enhancements, part 3
2015-07-31 12:46:54 +02:00
2e8a4b71cf linux defconfig: tun/tap/bond/ppp and more networking options
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:35:35 +02:00
08143b5735 linux defconfig: more block options
RAID, LVM, DM, blk-mq and more

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:34:23 +02:00
25a65df5a3 linux defconfig: enable more assembler and NEON code and blocklevel
security

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:32:02 +02:00
7952eb7f17 linux defconfig: more led triggers and i2c led drivers
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:29:01 +02:00
9ae2eecab8 linux defconfig: enable more cpufreq governors, cpuidle and hibernation
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:27:20 +02:00
ef3a203e02 linux defconfig: v4l usb/spi/i2c/sdio driver support
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:26:09 +02:00
1ef92fd0d2 linux defconfig: 6lowpan protocol support
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:22:15 +02:00
f3d9254f7f linux defconfig: networking options
95% is {ip,nf,x,eb}tables support, the rest is things like fq_codel and
htb for better latency.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:20:23 +02:00
5a23591b24 linux defconfig: enable IO tracing
Among other things, this enables htop to show IO per process.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 20:14:31 +02:00
bd263f945d kernel: set correct PV for git version 2015-07-30 14:45:32 +02:00
05769afd3b Merge pull request #104 from koenkooi/defconfig-enhancements
Make the kernel more usable, patch set #2
2015-07-30 11:18:45 +02:00
08dfe98af6 linux defconfig: add more kernel features:
* Fhandle: unbreak serial port console in systemd
* ikconfig: have /proc/config.gz available for reference

sysvipc, mqueues and bpf are useful for userspace that is more than just
busybox.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 10:43:15 +02:00
6fd8f0e07a linux defconfig: enable BT and BLE support and drivers
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 10:41:32 +02:00
12db242d7e linux defconfig: enable all SDIO/SPI/USB wifi drivers
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 10:40:22 +02:00
49ada71639 linux defconfig: turn on wireless networking
This is only the support for wireless in the networking stack, not the
actual drivers.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 10:36:48 +02:00
9f031779ca Merge pull request #103 from koenkooi/defconfig-enhancements
Make the kernel more usable, patch set #1
2015-07-30 10:27:08 +02:00
af112e2f1c linux defconfig: enable IPv6 as module
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 10:10:58 +02:00
dcb2166a1c linux defconfig: turn on autofs, fuse and fanotify
Systemd works a lot better with autofs, fuse and fanotify, so turn those
on.
Fuse and fanotify are also useful outside of systemd.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2015-07-30 10:05:56 +02:00
31be4cf6ee kernel: use tar.xz, git optional
Per default use stable kernel by downloading tar.xz (fast download).
Optional use latest mainline kernel by git fetch. Must be enabled
in linux_git.bb by setting DEFAULT_PREFERENCE to "1".

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-07-29 14:15:22 +02:00
79a65ac2a1 Merge pull request #101 from net147/master
olinuxino-a20: fix KERNEL_DEVICETREE
2015-07-29 08:43:38 +02:00
c5ee8d779f olinuxino-a20: fix KERNEL_DEVICETREE
Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-07-29 14:29:40 +10:00
fab2a652d2 Merge pull request #100 from Noxenious/master
Fix build error with new dosfstools
2015-07-22 13:03:32 +02:00
ec8d7afb9c fix alignment in sdcard class 2015-07-22 10:21:35 +02:00
f4ebd29a50 Remove unused PREFFERED_VERSIONS and let the virtual/kernel preffered provider be overriden. 2015-07-18 16:45:17 +02:00
d8934807c6 Merge pull request #98 from Noxenious/master
Update kernel and u-boot
2015-07-18 16:43:49 +02:00
6e6e7bdc45 Fix Typos in README.md 2015-07-16 22:46:03 +02:00
73377c0bc6 Merge pull request #96 from whirm/fix_cubie2_config
Fix cubieboard2.conf.
2015-06-26 14:29:55 +02:00
b326149b1b Fix build error with new dosfstools
oe-core has updated dosfstools to the latest version 3.0.28 with mkfs.vfat
returning an error when a file already exists. Remove the old file before
creating a new one.

Issue discovered and fixed by Gary Thomas <gary@mlbassoc.com> for
RaspberryPi and Freescale layers.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-26 12:50:19 +02:00
966a7cf417 Fix cubieboard2.conf.
Closes #95
2015-06-26 12:16:52 +02:00
9125a7a903 Merge pull request #93 from whirm/patch-1
Fix typo in cubieboard2.conf
2015-06-25 10:44:51 +02:00
c6b0194806 Fix typo in cubieboard2.conf 2015-06-25 10:34:00 +02:00
be0e113009 u-boot: add stable 2015.07 mainline
Add new stable 2015.07 mainline u-boot version.
Add correct mainline u-boot names to machine configs.
Add overwrite for different names for old sunxi u-boot.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-21 18:08:00 +02:00
1092ae5117 kernel: add recipe for 4.1.2
Add new stable linux kernel 4.1.2

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-21 18:06:18 +02:00
bea5512317 Merge pull request #1 from linux-sunxi/master
Update
2015-07-17 13:33:38 +02:00
32243d4dc9 Merge pull request #92 from Noxenious/master
kernel: fix missing device tree, switch to mainline
2015-06-17 15:09:30 +02:00
207b25ecf1 Fix various error in GLES includes while building EFL 1.14 2015-06-16 23:36:45 +02:00
d60ad7f615 fix README line feeds 2015-06-16 16:38:30 +02:00
8107abbdee kernel: fix missing device tree, switch to mainline
- Add back missing device tree definitions in machine files
- Switch to mainline kernel by default
- Add description to switch back to sunxi versions in README

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-16 16:33:57 +02:00
4240612f21 Use SOC_FAMILY to avoid the long list of COMPATIBLE_MACHINE
It uses 3 different SOC_FAMILY sun4i,sun5i,sun7i this list come from here http://sunxi.org/Allwinner_SoC_Family
Adding a new machine should be now more easy, as we have now to only create a new machine.conf file, set the right SOC_FAMILY and include the right arch inclue.
2015-06-16 00:45:08 +02:00
cb66c3eafb Merge pull request #91 from Noxenious/master
Add mainline linux
2015-06-16 00:19:37 +02:00
c7adafe8ac Merge pull request #90 from whirm/upstream_u-boot
Upstream u-boot recipe
2015-06-16 00:18:43 +02:00
dfb9413049 Rename u-boot_git.bb to u-boot-sunxi.bb.
So upstream recipe takes precedence.
2015-06-11 14:52:29 +02:00
d5fa6bc501 Add boot.scr to sdcard image's boot/ if found. 2015-06-11 14:51:54 +02:00
46c2d5d4a1 New recipe for upstream u-boot
Also add a basic boot.cmd with support for both uImage and zImage.
2015-06-11 14:51:54 +02:00
55b9d9ae5e kernel: don´t set default to mainline 2015-06-10 22:05:01 +02:00
b10c844cb2 kernel: move devicetree to machine files, include in sd-card
Move device tree configuration to machine files. Check for device tree
in sd card creation and include device tree file in first partition.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-10 22:01:24 +02:00
38edd14b04 Revert "kernel: use make defconfig for mainline"
This reverts commit 5c7ffb35f2.
2015-06-10 12:18:51 +02:00
5c7ffb35f2 kernel: use make defconfig for mainline
Always use the sunxi_defconfig supplied by the kernel.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-09 18:33:43 +02:00
82d0172433 kernel: use sunxi_defconfig for all boards
Do not use individual files for mainline kernel config but
sunxi_defconfig.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-09 15:55:36 +02:00
d271c8130a Add mainline linux
Add recipe and configuration files for mainline linux.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-06-08 13:56:40 +02:00
59437d24b1 Merge pull request #89 from Noxenious/master
Fixes for lime2 board and set default u-boot to u-boot
2015-04-28 14:05:25 +02:00
091001b76d lime2: remove double kernel config entry
An earlier patch introduced a double kernel config line. Remove it.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-04-02 14:27:42 +02:00
90c7651e64 lime2: fix u-boot name
Fix wrong u-boot name in lime2 config.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-04-02 14:26:32 +02:00
91a61a8de4 set default u-boot to u-boot
Set the PREFERRED_PROVIDER_u-boot and _virtual/bootloader to u-boot.
Preperation for adding mainline u-boot.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-03-09 14:13:03 +01:00
7b424b6ec9 lime2: fix gmac vs emac kernel issue
The Olimex lime2 has gigabit ethernet instead of fast ethernet of other
limes. So it uses the gmac driver instead of the emac driver in linux
kernel.
2015-03-09 12:42:58 +01:00
4f66286422 Merge pull request #87 from Noxenious/master
Add support for more boards and prepare for mainline kernel
2015-03-04 07:39:53 +01:00
eeb41f14c8 Add more devices (LimeA10, Lime2, A13SOM, Forfun Q88DB)
Add Olimex Boards Olinuxino A10 Lime, A20 Lime2, A13SOM and Forfun
A13 Tablet. Sort all machine names in recipes alphabetically.
2015-03-03 18:09:46 +01:00
2de81b3de0 sunxi: set preferred kernel to 3.4
Set the preferred kernel to 3.4 in sunxi.inc. This makes it easier
to upgrade the kernel in a later commit without breaking build.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-03-03 18:03:48 +01:00
c27b5d3555 pyA20: Add more olimex boards
pyA20 allows controlling gpio via python. Add more olimex boards:
- A10 Lime
- A20 Lime
- A20 Lime2
- A13 SOM

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-03-02 16:39:10 +01:00
e8e6552b17 Merge pull request #86 from Noxenious/master
linux: add linux.inc again
2015-03-02 08:46:44 +01:00
196f800f7d linux: add linux.inc again
Removing the linux.inc introduced an unnecessary dependency on meta-oe.
Add the latest linux.inc from meta-oe to the layer and change path.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2015-03-02 01:05:58 +01:00
732bb19214 Merge pull request #84 from KristofRobot/linux-remove
linux: replacing custom linux.inc by openembedded linux.inc reference (r...
2015-02-22 12:01:07 +01:00
c663594470 Use u-boot.inc from OpenEmbedded directory instead of our own file 2015-02-22 11:59:46 +01:00
5727515f10 Add support for banapi machine
Conflicts:
	recipes-bsp/sunxi-board-fex/sunxi-board-fex.bb
	recipes-bsp/u-boot/u-boot_git.bb
	recipes-graphics/libgles/sunxi-mali_git.bb
	recipes-kernel/linux/linux_3.4.bb
2015-02-22 11:59:46 +01:00
9a8031a8c2 Merge pull request #82 from KristofRobot/uImage-fix
sdcard_image-sunxi.bbclass: reverting to deploy dir instead of staging d...
2015-02-14 19:48:14 +01:00
e25b18fd0b linux: replacing custom linux.inc by openembedded linux.inc reference (resolves #79) 2015-02-02 20:16:53 +01:00
a27c9aa7e4 sdcard_image-sunxi.bbclass: reverting to deploy dir instead of staging dir (resolves #81)
To resolve the race condition described in #15,
a patch was introduced to use the kernel source from staging dir
rather than deploy dir.

After the reorganization of the kernel source location by
6a1ff0e7ea
this no longer works.

Reverting the previous patch,
and introducing explicit rootfs dependency instead.

Signed-off-by: Kristof Robot <krirobo@gmail.com>
2015-02-01 13:22:11 +01:00
5b875e911c Merge pull request #77 from Noxenious/master
python: added pyA20 for controlling GPIO
2014-12-06 17:38:44 +01:00
31b7c4c8e2 python: pyA20 depend on python and only for olimex boards
Add dependency on python and COMPATIBLE_MACHINE as pyA20 is only
compatible to three olimex boards right now.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2014-11-28 17:37:09 +01:00
5699690a98 python: pyA20 added different GPIO mappings
Unfortunately there is a difference between different boards when using pyA20
- the GPIO mappings.
Olimex tried to solve this by providing different packages for different boards.
Just made the receipe use different mappings.h, so it can be easily adjusted
to different boards in one receipe.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2014-11-28 12:23:22 +01:00
339dc8af45 python: added pyA20 for controlling GPIO
pyA20 allows controlling GPIO, SPI and I2C on Allwinner boards from python.
Although it is named A20 it should work on A10, A13 and other CPUs.
Provided by Olimex for their boards but should work for others as well.
Tested on A20-OLinuXino-MICRO.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2014-11-28 09:22:02 +01:00
70 changed files with 6963 additions and 457 deletions

View File

@ -15,7 +15,29 @@ Maintainers:
* Enrico Butera <ebutera@users.sourceforge.net>
* Sergey Lapin <slapin@ossfans.org>
Kernel / U-Boot Version
===========
Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default.
There is a custom U-Boot and Kernel version for sunxi devices which includes some special drivers not mainlined.
These versions are rather old (3.4 for kernel and 2014.04 for U-Boot), but may support more functions and devices than current mainline
If you want to switch back to sunxi versions for some reasons (no device tree available, unsupported hardware), either:
- change the file conf/machine/include/sunxi.inc to include the following block
- edit your conf/local.conf to add the following block
PREFERRED_PROVIDER_u-boot="u-boot-sunxi"
PREFERRED_PROVIDER_virtual/bootloader="u-boot-sunxi"
PREFERRED_PROVIDER_virtual/kernel="linux-sunxi"
If you already have built the mainline versions it might be necessary to reset the build directories with:
bitbake -c clean linux
bitbake -c clean u-boot
Also, older kernel versions such as this don't build successfully with any gcc version 5.0 or newer. Since gcc-5.2 is the current
default compiler on master, if you wish to build this kernel with master you'll need to add the following to your conf/local.conf:
GCCVERSION = "4.9%"
Performance
===========

View File

@ -26,7 +26,7 @@ BOOT_SPACE ?= "20480"
IMAGE_ROOTFS_ALIGNMENT = "2048"
# Use an uncompressed ext3 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext3"
SDIMG_ROOTFS_TYPE ?= "ext4"
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
IMAGE_DEPENDS_sunxi-sdimg += " \
@ -35,10 +35,9 @@ IMAGE_DEPENDS_sunxi-sdimg += " \
dosfstools-native \
virtual/kernel \
virtual/bootloader \
sunxi-board-fex \
"
rootfs[depends] += "sunxi-board-fex:do_deploy"
rootfs[depends] += "virtual/kernel:do_deploy"
# SD card image name
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
@ -66,12 +65,34 @@ IMAGE_CMD_sunxi-sdimg () {
# Create a vfat image with boot files
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${STAGING_DIR_HOST}/usr/src/kernel/${KERNEL_IMAGETYPE} ::uImage
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::uImage
# Copy device tree file
if test -n "${KERNEL_DEVICETREE}"; then
for DTS_FILE in ${KERNEL_DEVICETREE}; do
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
fi
fi
done
fi
if [ -e "${DEPLOY_DIR_IMAGE}/fex.bin" ]
then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/fex.bin ::script.bin
fi
if [ -e "${DEPLOY_DIR_IMAGE}/boot.scr" ]
then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
fi
# Add stamp file
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: Bananapi
#@DESCRIPTION: Machine configuration for the bananapi, based on allwinner A20 CPU http://bananapi.org/
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-bananapi.dtb"
UBOOT_MACHINE = "Bananapi_config"
SUNXI_FEX_FILE = "sys_config/a20/Bananapi.fex"

View File

@ -2,17 +2,8 @@
#@NAME: CubieBoard
#@DESCRIPTION: Machine configuration for the cubieboard, based on allwinner a10 CPU http://cubieboard.org/
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-cubieboard.dtb"
UBOOT_MACHINE = "Cubieboard_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
SUNXI_FEX_FILE = "sys_config/a10/cubieboard.fex"

View File

@ -2,17 +2,8 @@
#@NAME: CubieBoard2
#@DESCRIPTION: Machine configuration for the cubieboard2, based on allwinner A20 CPU http://cubieboard.org/
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa7.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-cubieboard2.dtb"
UBOOT_MACHINE = "Cubieboard2_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "screen apm usbgadget usbhost vfat"
SUNXI_FEX_FILE = "sys_config/a20/cubieboard2.fex"

View File

@ -2,17 +2,8 @@
#@NAME: Cubietruck
#@DESCRIPTION: Machine configuration for the Cubietruck, based on allwinner A20 CPU http://cubieboard.org/
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa7.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-cubietruck.dtb"
UBOOT_MACHINE = "Cubietruck_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "screen apm usbgadget usbhost vfat"
SUNXI_FEX_FILE = "sys_config/a20/cubietruck.fex"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: Forfun Q88DB
#@DESCRIPTION: Machine configuration for the Forfun Q88DB Tablet with A13 CPU
#http://linux-sunxi.org/Forfun_Q88DB
require conf/machine/include/sun5i.inc
UBOOT_MACHINE = "forfun_q88db_defconfig"
SUNXI_FEX_FILE = "sys_config/a13/forfun_q88db.fex"

View File

@ -0,0 +1,5 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/tune-cortexa8.inc
SOC_FAMILY = "sun4i"

View File

@ -0,0 +1,5 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/tune-cortexa8.inc
SOC_FAMILY = "sun5i"

View File

@ -0,0 +1,5 @@
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/tune-cortexa7.inc
SOC_FAMILY = "sun7i"

View File

@ -1,3 +1,10 @@
SOC_FAMILY ??= ""
include conf/machine/include/soc-family.inc
# Sub-architecture support
MACHINE_SOCARCH_SUFFIX ?= ""
MACHINE_SOCARCH_SUFFIX_sun4i = "-sun4i"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-video-fbturbo \
@ -5,14 +12,21 @@ XSERVER = "xserver-xorg \
xf86-input-mouse \
xf86-input-keyboard"
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.4.61"
PREFERRED_PROVIDER_virtual/kernel ?= "linux"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
KERNEL_IMAGETYPE = "uImage"
KERNEL_IMAGETYPE ?= "uImage"
IMAGE_CLASSES += "sdcard_image-sunxi"
IMAGE_FSTYPES += "ext3 tar.gz sunxi-sdimg"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_ENTRYPOINT ?= "0x40008000"
UBOOT_LOADADDRESS ?= "0x400080OB00"
SERIAL_CONSOLE ?= "115200 ttyS0"
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"

View File

@ -2,17 +2,8 @@
#@NAME: Mele a1000/a2000
#@DESCRIPTION: Machine configuration for the Mele a1000 and a2000, base on allwinner a10 CPU
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-a1000.dtb"
UBOOT_MACHINE = "Mele_A1000_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex"

View File

@ -2,17 +2,7 @@
#@NAME: Mele a1000g/a2000g
#@DESCRIPTION: Machine configuration for the Mele a1000g and a2000g, base on allwinner a10 CPU
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/sun4i.inc
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
UBOOT_MACHINE = "Mele_A1000G_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
UBOOT_MACHINE = "Mele_A1000G_quad_config"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000g.fex"

View File

@ -1,20 +0,0 @@
#@TYPE: Machine
#@NAME: Olimex A10-OLinuXino-LIME Board
#@DESCRIPTION: Machine configuration for Olimex A10-OLinuXino-LIME Board, based on Allwinner A10 CPU
#https://github.com/OLIMEX/OLINUXINO
# There are also LCD possibilities
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
UBOOT_MACHINE = "A10-OLinuXino-Lime_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"

View File

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Olimex A10-OLinuXino Lime (4GB) Board
#@DESCRIPTION: Machine configuration for the Olimex A10-OLinuXino Lime Board, based on Allwinner A10 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-olinuxino-lime.dtb"
UBOOT_MACHINE = "A10-OLinuXino-Lime_config"
SUNXI_FEX_FILE = "sys_config/a10/a10-olinuxino-lime.fex"

View File

@ -3,17 +3,8 @@
#@DESCRIPTION: Machine configuration for Olimex A10S-OLinuXino-MICRO Board, based on Allwinner A10s CPU
#https://github.com/OLIMEX/OLINUXINO
# There are also LCD possibilities
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/sun5i.inc
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/sunxi.inc
UBOOT_MACHINE = "A10s-OLinuXino-Micro_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
KERNEL_DEVICETREE = "sun5i-a10s-olinuxino-micro.dtb"
UBOOT_MACHINE = "A10s-OLinuXino-M_config"
SUNXI_FEX_FILE = "sys_config/a10s/a10s-olinuxino-m.fex"

View File

@ -3,17 +3,8 @@
#@DESCRIPTION: Machine configuration for the Olime A13-OLinuXino Board, base on allwinner a13 CPU
#https://github.com/OLIMEX/OLINUXINO
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun5i.inc
KERNEL_DEVICETREE = "sun5i-a13-olinuxino.dtb"
UBOOT_MACHINE = "A13-OLinuXino_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxino.fex"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: Olimex A13-SOM
#@DESCRIPTION: Machine configuration for the Olimex A13-SOM Evaluation Board, based on Allwinner A13 CPU
#https://github.com/OLIMEX/SOM
require conf/machine/include/sun5i.inc
UBOOT_MACHINE = "OLIMEX-A13-SOM_config"
SUNXI_FEX_FILE = "sys_config/a13/olimex_a13_som.fex"

View File

@ -3,14 +3,8 @@
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/tune-cortexa7.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun7i.inc
UBOOT_MACHINE = "A20-OLinuXino-Micro_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-micro.dtb"
UBOOT_MACHINE = "A20-OLinuXino_MICRO_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_micro.fex"

View File

@ -3,14 +3,8 @@
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Lime Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/tune-cortexa7.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-lime.dtb"
UBOOT_MACHINE = "A20-OLinuXino-Lime_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime.fex"

View File

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Lime2 (4GB) Board
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Lime2 Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-lime2.dtb"
UBOOT_MACHINE = "A20-OLinuXino-Lime2_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.fex"

View File

@ -3,14 +3,7 @@
#@DESCRIPTION: Machine configuration for the Olimex A20-SOM Evaluation Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/SOM
require conf/machine/include/tune-cortexa7.inc
require conf/machine/include/sunxi.inc
require conf/machine/include/sunxi-mali.inc
require conf/machine/include/sun7i.inc
UBOOT_MACHINE = "Olimex_A20-SOM_config"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex"

View File

@ -7,22 +7,13 @@ DEPENDS = "sunxi-tools-native"
PV = "1.1+git${SRCPV}"
PR = "r0"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
SRC_URI = "git://github.com/linux-sunxi/sunxi-boards.git;protocol=git"
# Increase PV with SRCREV change
SRCREV = "442f0669fec0689dda3e529bcd8be9e554868b5f"
SRCREV = "496ef0fbd166cc2395daa76dd3c359357420963d"
S = "${WORKDIR}/git"
SUNXI_FEX_FILE_mele = "sys_config/a10/mele_a1000.fex"
SUNXI_FEX_FILE_meleg = "sys_config/a10/mele_a1000g.fex"
SUNXI_FEX_FILE_olinuxino-a10s = "sys_config/a10s/a10s-olinuxino-m.fex"
SUNXI_FEX_FILE_olinuxino-a10 = "sys_config/a10/a10-olinuxino-lime.fex"
SUNXI_FEX_FILE_olinuxino-a13 = "sys_config/a13/a13-olinuxino.fex"
SUNXI_FEX_FILE_olinuxino-a20 = "sys_config/a20/a20-olinuxino_micro.fex"
SUNXI_FEX_FILE_olinuxino-a20som = "sys_config/a20/olimex_a20_som.fex"
SUNXI_FEX_FILE_olinuxino-a20lime = "sys_config/a20/a20-olinuxino_lime.fex"
SUNXI_FEX_FILE_cubieboard = "sys_config/a10/cubieboard.fex"
SUNXI_FEX_FILE_cubieboard2 = "sys_config/a20/cubieboard2.fex"
SUNXI_FEX_FILE_cubietruck= "sys_config/a20/cubietruck.fex"
SUNXI_FEX_BIN_IMAGE = "fex-${MACHINE}-${PV}-${PR}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK = "fex-${MACHINE}.bin"
@ -54,5 +45,3 @@ do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_populate_sysroot[noexec] = "1"
COMPATIBLE_MACHINE = "(mele|meleg|olinuxino-a10s|olinuxino-a10|olinuxino-a13|olinuxino-a20|olinuxino-a20som|olinuxino-a20lime|cubieboard|cubieboard2|cubietruck)"

View File

@ -0,0 +1,4 @@
setenv bootargs console=${console} console=tty1 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
load mmc 0:1 ${fdt_addr_r} ${fdtfile} || load mmc 0:1 ${fdt_addr_r} boot/${fdtfile}
load mmc 0:1 ${kernel_addr_r} zImage || load mmc 0:1 ${kernel_addr_r} boot/zImage || load mmc 0:1 ${kernel_addr_r} uImage || load mmc 0:1 ${kernel_addr_r} boot/uImage
bootz ${kernel_addr_r} - ${fdt_addr_r} || bootm ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -0,0 +1,36 @@
DESCRIPTION = "U-Boot port for sunxi"
require recipes-bsp/u-boot/u-boot.inc
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# No patches for other machines yet
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
DEFAULT_PREFERENCE_sun4i="1"
DEFAULT_PREFERENCE_sun5i="1"
DEFAULT_PREFERENCE_sun7i="1"
# Sunxi U-Boot uses different names for some boards
UBOOT_MACHINE_olinuxino-a20 = "A20-OLinuXino-Micro_config"
UBOOT_MACHINE_olinuxino-a10s = "A10s-OLinuXino-Micro_config"
UBOOT_MACHINE_meleg = "Mele_A1000G_config"
SRC_URI = " \
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
file://0002-gcc5-fixes.patch \
"
PE = "1"
PV = "v2014.04+git${SRCPV}"
# Corresponds 2014.04 in Makefile
SRCREV = "ea1ac32bf76eb60baef474c2516fc431b381d952"
S = "${WORKDIR}/git"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SPL_BINARY="u-boot-sunxi-with-spl.bin"

View File

@ -0,0 +1,197 @@
From a5e50d6fd7321d0bc60fda2db938c170d09f9dee Mon Sep 17 00:00:00 2001
From: Trevor Woerner <twoerner@gmail.com>
Date: Thu, 24 Sep 2015 22:36:02 -0400
Subject: [PATCH] gcc5 fixes
gcc5 is pickier about inline functions defined in headers.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
arch/arm/include/asm/io.h | 12 ++++----
common/board_f.c | 18 ++++++------
common/main.c | 2 +-
include/linux/compiler-gcc5.h | 65 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 81 insertions(+), 16 deletions(-)
create mode 100644 include/linux/compiler-gcc5.h
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index 6a1f05a..2f6925b 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -75,7 +75,7 @@ static inline phys_addr_t virt_to_phys(void * vaddr)
#define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v))
#define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v))
-extern inline void __raw_writesb(unsigned long addr, const void *data,
+static inline void __raw_writesb(unsigned long addr, const void *data,
int bytelen)
{
uint8_t *buf = (uint8_t *)data;
@@ -83,7 +83,7 @@ extern inline void __raw_writesb(unsigned long addr, const void *data,
__arch_putb(*buf++, addr);
}
-extern inline void __raw_writesw(unsigned long addr, const void *data,
+static inline void __raw_writesw(unsigned long addr, const void *data,
int wordlen)
{
uint16_t *buf = (uint16_t *)data;
@@ -91,7 +91,7 @@ extern inline void __raw_writesw(unsigned long addr, const void *data,
__arch_putw(*buf++, addr);
}
-extern inline void __raw_writesl(unsigned long addr, const void *data,
+static inline void __raw_writesl(unsigned long addr, const void *data,
int longlen)
{
uint32_t *buf = (uint32_t *)data;
@@ -99,21 +99,21 @@ extern inline void __raw_writesl(unsigned long addr, const void *data,
__arch_putl(*buf++, addr);
}
-extern inline void __raw_readsb(unsigned long addr, void *data, int bytelen)
+static inline void __raw_readsb(unsigned long addr, void *data, int bytelen)
{
uint8_t *buf = (uint8_t *)data;
while(bytelen--)
*buf++ = __arch_getb(addr);
}
-extern inline void __raw_readsw(unsigned long addr, void *data, int wordlen)
+static inline void __raw_readsw(unsigned long addr, void *data, int wordlen)
{
uint16_t *buf = (uint16_t *)data;
while(wordlen--)
*buf++ = __arch_getw(addr);
}
-extern inline void __raw_readsl(unsigned long addr, void *data, int longlen)
+static inline void __raw_readsl(unsigned long addr, void *data, int longlen)
{
uint32_t *buf = (uint32_t *)data;
while(longlen--)
diff --git a/common/board_f.c b/common/board_f.c
index f285bad..72b421c 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -78,24 +78,24 @@ DECLARE_GLOBAL_DATA_PTR;
************************************************************************
* May be supplied by boards if desired
*/
-inline void __coloured_LED_init(void) {}
+void __coloured_LED_init(void) {}
void coloured_LED_init(void)
__attribute__((weak, alias("__coloured_LED_init")));
-inline void __red_led_on(void) {}
+void __red_led_on(void) {}
void red_led_on(void) __attribute__((weak, alias("__red_led_on")));
-inline void __red_led_off(void) {}
+void __red_led_off(void) {}
void red_led_off(void) __attribute__((weak, alias("__red_led_off")));
-inline void __green_led_on(void) {}
+void __green_led_on(void) {}
void green_led_on(void) __attribute__((weak, alias("__green_led_on")));
-inline void __green_led_off(void) {}
+void __green_led_off(void) {}
void green_led_off(void) __attribute__((weak, alias("__green_led_off")));
-inline void __yellow_led_on(void) {}
+void __yellow_led_on(void) {}
void yellow_led_on(void) __attribute__((weak, alias("__yellow_led_on")));
-inline void __yellow_led_off(void) {}
+void __yellow_led_off(void) {}
void yellow_led_off(void) __attribute__((weak, alias("__yellow_led_off")));
-inline void __blue_led_on(void) {}
+void __blue_led_on(void) {}
void blue_led_on(void) __attribute__((weak, alias("__blue_led_on")));
-inline void __blue_led_off(void) {}
+void __blue_led_off(void) {}
void blue_led_off(void) __attribute__((weak, alias("__blue_led_off")));
/*
diff --git a/common/main.c b/common/main.c
index 8b6f274..3312b90 100644
--- a/common/main.c
+++ b/common/main.c
@@ -27,7 +27,7 @@ DECLARE_GLOBAL_DATA_PTR;
/*
* Board-specific Platform code can reimplement show_boot_progress () if needed
*/
-void inline __show_boot_progress (int val) {}
+void __show_boot_progress (int val) {}
void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
#define MAX_DELAY_STOP_STR 32
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
new file mode 100644
index 0000000..c8c5659
--- /dev/null
+++ b/include/linux/compiler-gcc5.h
@@ -0,0 +1,65 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
+ in the preprocessor, but we can live with this because they're unreleased.
+ Maketime probing would be overkill here.
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
--
2.6.0.rc3

View File

@ -1,97 +0,0 @@
DESCRIPTION = "U-Boot - the Universal Boot Loader"
HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
SECTION = "bootloaders"
PROVIDES = "virtual/bootloader"
inherit deploy
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
python () {
if not d.getVar("UBOOT_MACHINE", True):
PN = d.getVar("PN", True)
FILE = os.path.basename(d.getVar("FILE", True))
bb.debug(1, "To build %s, see %s for instructions on \
setting up your machine config" % (PN, FILE))
raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set")
}
# Allow setting an additional version string that will be picked up by the
# u-boot build system and appended to the u-boot version. If the .scmversion
# file already exists it will not be overwritten.
UBOOT_LOCALVERSION ?= ""
# Some versions of u-boot use .bin and others use .img. By default use .bin
# but enable individual recipes to change this value.
UBOOT_SUFFIX ?= "bin"
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
UBOOT_MAKE_TARGET ?= "all"
# Some versions of u-boot build an SPL (Second Program Loader) image that
# should be packaged along with the u-boot binary as well as placed in the
# deploy directory. For those versions they can set the following variables
# to allow packaging the SPL.
SPL_BINARY ?= ""
SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}"
SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
do_compile () {
if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk
fi
unset LDFLAGS
unset CFLAGS
unset CPPFLAGS
if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
then
echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
fi
oe_runmake ${UBOOT_MACHINE}
oe_runmake ${UBOOT_MAKE_TARGET}
}
do_install () {
install -d ${D}/boot
install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
if [ -e ${WORKDIR}/fw_env.config ] ; then
install -d ${D}${sysconfdir}
install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
fi
if [ "x${SPL_BINARY}" != "x" ]
then
install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
fi
}
FILES_${PN} = "/boot ${sysconfdir}"
FILESPATH =. "${FILE_DIRNAME}/u-boot-git/${MACHINE}:"
do_deploy () {
install -d ${DEPLOYDIR}
install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
cd ${DEPLOYDIR}
rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
if [ "x${SPL_BINARY}" != "x" ]
then
install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
}
addtask deploy before do_build after do_compile

View File

@ -0,0 +1,44 @@
DESCRIPTION="Upstream's U-boot configured for sunxi devices"
require recipes-bsp/u-boot/u-boot.inc
DEPENDS += "dtc-native"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "\
file://Licenses/Exceptions;md5=338a7cb1e52d0d1951f83e15319a3fe7 \
file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
file://Licenses/eCos-2.0.txt;md5=b338cb12196b5175acd3aa63b0a0805c \
file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://Licenses/ibm-pibs.txt;md5=c49502a55e35e0a8a1dc271d944d6dba \
file://Licenses/isc.txt;md5=ec65f921308235311f34b79d844587eb \
file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
file://Licenses/x11.txt;md5=b46f176c847b8742db02126fb8af92e2 \
"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
DEFAULT_PREFERENCE_sun4i="1"
DEFAULT_PREFERENCE_sun5i="1"
DEFAULT_PREFERENCE_sun7i="1"
SRC_URI += "file://boot.cmd \
"
SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
PV = "v2015.10${SRCPV}"
PE = "1"
SPL_BINARY="u-boot-sunxi-with-spl.bin"
UBOOT_ENV_SUFFIX = "scr"
UBOOT_ENV = "boot"
do_compile_append() {
${S}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
}

View File

@ -1,33 +0,0 @@
require u-boot.inc
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# No patches for other machines yet
COMPATIBLE_MACHINE = "(mele|meleg|olinuxino-a13|olinuxino-a10s|olinuxino-a10|olinuxino-a20|olinuxino-a20som|olinuxino-a20lime|cubieboard|cubieboard2|cubietruck)"
DEFAULT_PREFERENCE_mele= "1"
DEFAULT_PREFERENCE_meleg= "1"
DEFAULT_PREFERENCE_olinuxino-a13= "1"
DEFAULT_PREFERENCE_olinuxino-a10s= "1"
DEFAULT_PREFERENCE_olinuxino-a10= "1"
DEFAULT_PREFERENCE_olinuxino-a20= "1"
DEFAULT_PREFERENCE_olinuxino-a20som= "1"
DEFAULT_PREFERENCE_olinuxino-a20lime= "1"
DEFAULT_PREFERENCE_cubieboard="1"
DEFAULT_PREFERENCE_cubieboard2="1"
DEFAULT_PREFERENCE_cubietruck="1"
SRC_URI = "git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi"
PE = "1"
PV = "v2014.04+git${SRCPV}"
SRCREV = "ee425f94b488a4304c136a171bb8fdec0d835032"
S = "${WORKDIR}/git"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SPL_BINARY="u-boot-sunxi-with-spl.bin"

View File

@ -0,0 +1,221 @@
/*
*
* This file is part of pyA10Lime.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA10Lime is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,221 @@
/*
*
* This file is part of pyA10Lime.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA10Lime is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,146 @@
/*
*
* This file is part of pyA13.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA13 is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD18", SUNXI_GPD(18), 5 },
{ "PD18", SUNXI_GPD(18), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD10", SUNXI_GPD(10), 13 },
{ "PD10", SUNXI_GPD(10), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD2", SUNXI_GPD(2), 21 },
{ "PD2", SUNXI_GPD(2), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PB3", SUNXI_GPB(3), 33 },
{ "PB4", SUNXI_GPB(4), 34 },
{ "PB10", SUNXI_GPB(10), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PB0", SUNXI_GPB(0), 5 },
{ "PG11", SUNXI_GPG(11), 6 },
{ "PB1", SUNXI_GPB(1), 7 },
{ "PG10", SUNXI_GPG(10), 8 },
{ "PB2", SUNXI_GPB(2), 9 },
{ "PG9", SUNXI_GPG(9), 10 },
{ "PB3", SUNXI_GPB(3), 11 },
{ "PE11", SUNXI_GPE(11), 12 },
{ "PB4", SUNXI_GPB(4), 13 },
{ "PE10", SUNXI_GPE(10), 14 },
{ "PB10", SUNXI_GPB(10), 15 },
{ "PE9", SUNXI_GPE(9), 16 },
{ "PB15", SUNXI_GPB(15), 17 },
{ "PE8", SUNXI_GPE(8), 18 },
{ "PB16", SUNXI_GPB(16), 19 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PC0", SUNXI_GPC(0), 21 },
{ "PE6", SUNXI_GPE(6), 22 },
{ "PC1", SUNXI_GPC(1), 23 },
{ "PE5", SUNXI_GPE(5), 24 },
{ "PC2", SUNXI_GPC(2), 25 },
{ "PE4", SUNXI_GPE(4), 26 },
{ "PC3", SUNXI_GPC(3), 27 },
{ "PC19", SUNXI_GPC(19), 28 },
{ "PC4", SUNXI_GPC(4), 29 },
{ "PC15", SUNXI_GPC(15), 30 },
{ "PC5", SUNXI_GPC(5), 31 },
{ "PC14", SUNXI_GPC(14), 32 },
{ "PC6", SUNXI_GPC(6), 33 },
{ "PC13", SUNXI_GPC(13), 34 },
{ "PC7", SUNXI_GPC(7), 35 },
{ "PC12", SUNXI_GPC(12), 36 },
{ "PC8", SUNXI_GPC(8), 37 },
{ "PC11", SUNXI_GPC(11), 38 },
{ "PC9", SUNXI_GPC(9), 39 },
{ "PC10", SUNXI_GPC(10), 40 },
{
{ 0, 0, 0}
},
}
},
{"uext",
{
{ "PG3", SUNXI_GPG(3), 3 },
{ "PG3", SUNXI_GPG(4), 4 },
{ "PB17", SUNXI_GPB(17), 5 },
{ "PB18", SUNXI_GPB(18), 6 },
{ "PE3", SUNXI_GPE(3), 7 },
{ "PE2", SUNXI_GPE(2), 8 },
{ "PE1", SUNXI_GPE(1), 9 },
{ "PE0", SUNXI_GPE(0), 10 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,147 @@
/*
*
* This file is part of pyA13SOM.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA13SOM is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD18", SUNXI_GPD(18), 5 },
{ "PD18", SUNXI_GPD(18), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD10", SUNXI_GPD(10), 13 },
{ "PD10", SUNXI_GPD(10), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD2", SUNXI_GPD(2), 21 },
{ "PD2", SUNXI_GPD(2), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PB3", SUNXI_GPB(3), 33 },
{ "PB4", SUNXI_GPB(4), 34 },
{ "PB10", SUNXI_GPB(10), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PB0", SUNXI_GPB(0), 5 },
{ "PG11", SUNXI_GPG(11), 6 },
{ "PB1", SUNXI_GPB(1), 7 },
{ "PG10", SUNXI_GPG(10), 8 },
{ "PB2", SUNXI_GPB(2), 9 },
{ "PG9", SUNXI_GPG(9), 10 },
{ "PB3", SUNXI_GPB(3), 11 },
{ "PE11", SUNXI_GPE(11), 12 },
{ "PB4", SUNXI_GPB(4), 13 },
{ "PE10", SUNXI_GPE(10), 14 },
{ "PB10", SUNXI_GPB(10), 15 },
{ "PE9", SUNXI_GPE(9), 16 },
{ "PB15", SUNXI_GPB(15), 17 },
{ "PE8", SUNXI_GPE(8), 18 },
{ "PB16", SUNXI_GPB(16), 19 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PC0", SUNXI_GPC(0), 21 },
{ "PE6", SUNXI_GPE(6), 22 },
{ "PC1", SUNXI_GPC(1), 23 },
{ "PE5", SUNXI_GPE(5), 24 },
{ "PC2", SUNXI_GPC(2), 25 },
{ "PE4", SUNXI_GPE(4), 26 },
{ "PC3", SUNXI_GPC(3), 27 },
{ "PC19", SUNXI_GPC(19), 28 },
{ "PC4", SUNXI_GPC(4), 29 },
{ "PC15", SUNXI_GPC(15), 30 },
{ "PC5", SUNXI_GPC(5), 31 },
{ "PC14", SUNXI_GPC(14), 32 },
{ "PC6", SUNXI_GPC(6), 33 },
{ "PC13", SUNXI_GPC(13), 34 },
{ "PC7", SUNXI_GPC(7), 35 },
{ "PC12", SUNXI_GPC(12), 36 },
{ "PC8", SUNXI_GPC(8), 37 },
{ "PC11", SUNXI_GPC(11), 38 },
{ "PC9", SUNXI_GPC(9), 39 },
{ "PC10", SUNXI_GPC(10), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PE0", SUNXI_GPE(0), 1 },
{ "PG1", SUNXI_GPG(1), 2 },
{ "PE1", SUNXI_GPE(1), 3 },
{ "PG2", SUNXI_GPG(2), 4 },
{ "PE2", SUNXI_GPE(2), 5 },
{ "PG12", SUNXI_GPG(12), 6 },
{ "PE3", SUNXI_GPE(3), 7 },
{ "PB17", SUNXI_GPB(17), 8 },
{ "PB18", SUNXI_GPB(18), 10 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,303 @@
/*
*
* This file is part of pyA20.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20 is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
/*
#define PIN_PG0 SUNXI_GPG(0)
#define PIN_PG1 SUNXI_GPG(1)
#define PIN_PG2 SUNXI_GPG(2)
#define PIN_PG3 SUNXI_GPG(3)
#define PIN_PG4 SUNXI_GPG(4)
#define PIN_PG5 SUNXI_GPG(5)
#define PIN_PG6 SUNXI_GPG(6)
#define PIN_PG7 SUNXI_GPG(7)
#define PIN_PG8 SUNXI_GPG(8)
#define PIN_PG9 SUNXI_GPG(9)
#define PIN_PG10 SUNXI_GPG(10)
#define PIN_PG11 SUNXI_GPG(11)
*/ {"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(0), 7 },
{ "PG2", SUNXI_GPG(0), 9 },
{ "PG3", SUNXI_GPG(0), 11 },
{ "PG4", SUNXI_GPG(0), 13 },
{ "PG5", SUNXI_GPG(0), 15 },
{ "PG6", SUNXI_GPG(0), 17 },
{ "PG7", SUNXI_GPG(0), 19 },
{ "PG8", SUNXI_GPG(0), 21 },
{ "PG9", SUNXI_GPG(0), 23 },
{ "PG10", SUNXI_GPG(0), 25 },
{ "PG11", SUNXI_GPG(0), 27 },
{
{ 0, 0, 0}
},
}
},
/*
//GPIO 2
#define PIN_PE0 SUNXI_GPE(0)
#define PIN_PE1 SUNXI_GPE(1)
#define PIN_PI0 SUNXI_GPI(0)
#define PIN_PE2 SUNXI_GPE(2)
#define PIN_PI1 SUNXI_GPI(1)
#define PIN_PE3 SUNXI_GPE(3)
#define PIN_PI2 SUNXI_GPI(2)
#define PIN_PE4 SUNXI_GPE(4)
#define PIN_PI3 SUNXI_GPI(3)
#define PIN_PE5 SUNXI_GPE(5)
#define PIN_PI10 SUNXI_GPI(10)
#define PIN_PE6 SUNXI_GPE(6)
#define PIN_PI11 SUNXI_GPI(11)
#define PIN_PE7 SUNXI_GPE(7)
#define PIN_PC3 SUNXI_GPC(3)
#define PIN_PE8 SUNXI_GPE(8)
#define PIN_PC7 SUNXI_GPC(7)
#define PIN_PE9 SUNXI_GPE(9)
#define PIN_PC16 SUNXI_GPC(16)
#define PIN_PE10 SUNXI_GPE(10)
#define PIN_PC17 SUNXI_GPC(17)
#define PIN_PE11 SUNXI_GPE(11)
#define PIN_PC18 SUNXI_GPC(18)
#define PIN_PI14 SUNXI_GPI(14)
#define PIN_PC23 SUNXI_GPC(23)
#define PIN_PI15 SUNXI_GPI(15)
#define PIN_PC24 SUNXI_GPC(24)
#define PIN_PB23 SUNXI_GPB(23)
#define PIN_PB22 SUNXI_GPB(22)
*/
{"gpio2",
{
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PI0", SUNXI_GPI(0), 9 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PI10", SUNXI_GPI(10), 17 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PI11", SUNXI_GPI(11), 19 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PC3", SUNXI_GPC(3), 21 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PC7", SUNXI_GPC(7), 23 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PC16", SUNXI_GPC(16), 25 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PC17", SUNXI_GPC(17), 27 },
{ "PE11", SUNXI_GPE(11), 28 },
{ "PC18", SUNXI_GPC(18), 29 },
{ "PI14", SUNXI_GPI(14), 30 },
{ "PC23", SUNXI_GPC(23), 31 },
{ "PI15", SUNXI_GPI(15), 32 },
{ "PC24", SUNXI_GPC(24), 33 },
{ "PB23", SUNXI_GPB(23), 34 },
{ "PB22", SUNXI_GPB(22), 36 },
{
{ 0, 0, 0}
},
}
},
/*
//GPIO 3
#define PIN_PH0 SUNXI_GPH(0)
#define PIN_PB3 SUNXI_GPB(3)
#define PIN_PH2 SUNXI_GPH(2)
#define PIN_PB4 SUNXI_GPB(4)
#define PIN_PH7 SUNXI_GPH(7)
#define PIN_PB5 SUNXI_GPB(5)
#define PIN_PH9 SUNXI_GPH(9)
#define PIN_PB6 SUNXI_GPB(6)
#define PIN_PH10 SUNXI_GPH(10)
#define PIN_PB7 SUNXI_GPB(7)
#define PIN_PH11 SUNXI_GPH(11)
#define PIN_PB8 SUNXI_GPB(8)
#define PIN_PH12 SUNXI_GPH(12)
#define PIN_PB10 SUNXI_GPB(10)
#define PIN_PH13 SUNXI_GPH(13)
#define PIN_PB11 SUNXI_GPB(11)
#define PIN_PH14 SUNXI_GPH(14)
#define PIN_PB12 SUNXI_GPB(12)
#define PIN_PH15 SUNXI_GPH(15)
#define PIN_PB13 SUNXI_GPB(13)
#define PIN_PH16 SUNXI_GPH(16)
#define PIN_PB14 SUNXI_GPB(14)
#define PIN_PH17 SUNXI_GPH(17)
#define PIN_PB15 SUNXI_GPB(15)
#define PIN_PH18 SUNXI_GPH(18)
#define PIN_PB16 SUNXI_GPB(16)
#define PIN_PH19 SUNXI_GPH(19)
#define PIN_PB17 SUNXI_GPB(17)
#define PIN_PH20 SUNXI_GPH(20)
#define PIN_PH24 SUNXI_GPH(24)
#define PIN_PH21 SUNXI_GPH(21)
#define PIN_PH25 SUNXI_GPH(25)
#define PIN_PH22 SUNXI_GPH(22)
#define PIN_PH26 SUNXI_GPH(26)
#define PIN_PH23 SUNXI_GPH(23)
#define PIN_PH27 SUNXI_GPH(27)
*/
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 5 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PH2", SUNXI_GPH(2), 7 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PB17", SUNXI_GPB(17), 32 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH27", SUNXI_GPH(27), 40 },
{
{ 0, 0, 0}
},
}
},
{"uext1",
{
{ "PI12", SUNXI_GPI(12), 3 },
{ "PI13", SUNXI_GPI(13), 4 },
{ "PB20", SUNXI_GPB(20), 5 },
{ "PB21", SUNXI_GPB(21), 6 },
{ "PC22", SUNXI_GPC(22), 7 },
{ "PC21", SUNXI_GPC(21), 8 },
{ "PC20", SUNXI_GPC(20), 9 },
{ "PC19", SUNXI_GPC(19), 10 },
{
{ 0, 0, 0}
},
}
},
{"uext2",
{
{ "PI20", SUNXI_GPI(20), 3 },
{ "PI21", SUNXI_GPI(21), 4 },
{ "PB18", SUNXI_GPB(18), 5 },
{ "PB19", SUNXI_GPB(19), 6 },
{ "PI19", SUNXI_GPI(19), 7 },
{ "PI18", SUNXI_GPI(18), 8 },
{ "PI17", SUNXI_GPI(17), 9 },
{ "PI16", SUNXI_GPI(16), 10 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,221 @@
/*
*
* This file is part of pyA20Lime.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20Lime is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 6 },
{ "PB4", SUNXI_GPB(4), 8 },
{ "PB5", SUNXI_GPB(5), 10 },
{ "PB6", SUNXI_GPB(6), 12 },
{ "PB7", SUNXI_GPB(7), 14 },
{ "PB8", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,224 @@
/*
*
* This file is part of pyA20Lime2.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20Lime2 is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef __MAPPING_H
#define __MAPPING_H
#include "gpio_lib.h"
/**
Structure that describe all gpio
*/
typedef struct _pin {
char name[10]; // The processor pin
int offset; // Memory offset for the pin
int pin_number; // Number on the connector
}pin_t;
typedef struct _gpio {
char connector_name[10];
pin_t pins[41];
}gpio_t;
gpio_t gpio[] = {
{"lcd",
{
{ "PD16", SUNXI_GPD(16), 5 },
{ "PD17", SUNXI_GPD(17), 6 },
{ "PD18", SUNXI_GPD(18), 7 },
{ "PD19", SUNXI_GPD(19), 8 },
{ "PD20", SUNXI_GPD(20), 9 },
{ "PD21", SUNXI_GPD(21), 10 },
{ "PD22", SUNXI_GPD(22), 11 },
{ "PD23", SUNXI_GPD(23), 12 },
{ "PD8", SUNXI_GPD(8), 13 },
{ "PD9", SUNXI_GPD(9), 14 },
{ "PD10", SUNXI_GPD(10), 15 },
{ "PD11", SUNXI_GPD(11), 16 },
{ "PD12", SUNXI_GPD(12), 17 },
{ "PD13", SUNXI_GPD(13), 18 },
{ "PD14", SUNXI_GPD(14), 19 },
{ "PD15", SUNXI_GPD(15), 20 },
{ "PD0", SUNXI_GPD(0), 21 },
{ "PD1", SUNXI_GPD(1), 22 },
{ "PD2", SUNXI_GPD(2), 23 },
{ "PD3", SUNXI_GPD(3), 24 },
{ "PD4", SUNXI_GPD(4), 25 },
{ "PD5", SUNXI_GPD(5), 26 },
{ "PD6", SUNXI_GPD(6), 27 },
{ "PD7", SUNXI_GPD(7), 28 },
{ "PD26", SUNXI_GPD(26), 29 },
{ "PD27", SUNXI_GPD(27), 30 },
{ "PD24", SUNXI_GPD(24), 31 },
{ "PD25", SUNXI_GPD(25), 32 },
{ "PH8", SUNXI_GPH(8), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PG0", SUNXI_GPG(0), 5 },
{ "PG1", SUNXI_GPG(1), 7 },
{ "PG2", SUNXI_GPG(2), 9 },
{ "PG3", SUNXI_GPG(3), 11 },
{ "PG4", SUNXI_GPG(4), 13 },
{ "PG5", SUNXI_GPG(5), 15 },
{ "PG6", SUNXI_GPG(6), 17 },
{ "PG7", SUNXI_GPG(7), 19 },
{ "PG8", SUNXI_GPG(8), 21 },
{ "PG9", SUNXI_GPG(9), 23 },
{ "PG10", SUNXI_GPG(10), 25 },
{ "PG11", SUNXI_GPG(11), 27 },
{ "PC3", SUNXI_GPC(3), 29 },
{ "PC18", SUNXI_GPC(18), 31 },
{ "PC19", SUNXI_GPC(19), 33 },
{ "PC20", SUNXI_GPC(20), 35 },
{ "PC21", SUNXI_GPC(21), 37 },
{ "PC22", SUNXI_GPC(22), 39 },
{ "PC23", SUNXI_GPC(23), 40 },
{ "PC24", SUNXI_GPC(24), 38 },
{ "PB18", SUNXI_GPB(18), 36 },
{ "PB19", SUNXI_GPB(19), 34 },
{ "PB20", SUNXI_GPB(20), 32 },
{ "PB21", SUNXI_GPB(21), 30 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PI0", SUNXI_GPI(0), 9 },
{ "PI1", SUNXI_GPI(1), 11 },
{ "PI2", SUNXI_GPI(2), 13 },
{ "PI3", SUNXI_GPI(3), 15 },
{ "PI4", SUNXI_GPI(4), 17 },
{ "PI5", SUNXI_GPI(5), 19 },
{ "PI6", SUNXI_GPI(6), 21 },
{ "PI7", SUNXI_GPI(7), 23 },
{ "PI8", SUNXI_GPI(8), 25 },
{ "PI9", SUNXI_GPI(9), 27 },
{ "PI10", SUNXI_GPI(10), 29 },
{ "PI11", SUNXI_GPI(11), 31 },
{ "PI12", SUNXI_GPI(12), 33 },
{ "PI13", SUNXI_GPI(13), 35 },
{ "PI14", SUNXI_GPI(14), 37 },
{ "PI15", SUNXI_GPI(15), 39 },
{ "PI16", SUNXI_GPI(16), 40 },
{ "PI17", SUNXI_GPI(17), 38 },
{ "PI18", SUNXI_GPI(18), 36 },
{ "PI19", SUNXI_GPI(19), 34 },
{ "PI20", SUNXI_GPI(20), 32 },
{ "PI21", SUNXI_GPI(21), 30 },
{ "PE0", SUNXI_GPE(0), 6 },
{ "PE1", SUNXI_GPE(1), 8 },
{ "PE2", SUNXI_GPE(2), 10 },
{ "PE3", SUNXI_GPE(3), 12 },
{ "PE4", SUNXI_GPE(4), 14 },
{ "PE5", SUNXI_GPE(5), 16 },
{ "PE6", SUNXI_GPE(6), 18 },
{ "PE7", SUNXI_GPE(7), 20 },
{ "PE8", SUNXI_GPE(8), 22 },
{ "PE9", SUNXI_GPE(9), 24 },
{ "PE10", SUNXI_GPE(10), 26 },
{ "PE11", SUNXI_GPE(11), 28 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 7 },
{ "PH7", SUNXI_GPH(7), 9 },
{ "PH9", SUNXI_GPH(9), 11 },
{ "PH10", SUNXI_GPH(10), 13 },
{ "PH11", SUNXI_GPH(11), 15 },
{ "PH12", SUNXI_GPH(12), 17 },
{ "PH13", SUNXI_GPH(13), 19 },
{ "PH14", SUNXI_GPH(14), 21 },
{ "PH15", SUNXI_GPH(15), 23 },
{ "PH16", SUNXI_GPH(16), 25 },
{ "PH17", SUNXI_GPH(17), 27 },
{ "PH18", SUNXI_GPH(18), 29 },
{ "PH19", SUNXI_GPH(19), 31 },
{ "PH20", SUNXI_GPH(20), 33 },
{ "PH21", SUNXI_GPH(21), 35 },
{ "PH22", SUNXI_GPH(22), 37 },
{ "PH23", SUNXI_GPH(23), 39 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{ "PB3", SUNXI_GPB(3), 4 },
{ "PB4", SUNXI_GPB(4), 6 },
{ "PB5", SUNXI_GPB(5), 8 },
{ "PB6", SUNXI_GPB(6), 10 },
{ "PB7", SUNXI_GPB(7), 12 },
{ "PB8", SUNXI_GPB(8), 14 },
{ "PB9", SUNXI_GPB(8), 16 },
{ "PB10", SUNXI_GPB(10), 18 },
{ "PB11", SUNXI_GPB(11), 20 },
{ "PB12", SUNXI_GPB(12), 22 },
{ "PB13", SUNXI_GPB(13), 24 },
{ "PB14", SUNXI_GPB(14), 26 },
{ "PB15", SUNXI_GPB(15), 28 },
{ "PB16", SUNXI_GPB(16), 30 },
{ "PB17", SUNXI_GPB(17), 32 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PA9", SUNXI_GPA(9), 12 },
{ "PA14", SUNXI_GPA(14), 14 },
{ "PC7", SUNXI_GPC(7), 16 },
{ "PC16", SUNXI_GPC(16), 18 },
{ "PC17", SUNXI_GPC(17), 20 },
{
{ 0, 0, 0}
},
}
},
{"led",
{
{ "PH2", SUNXI_GPH(2), 1},
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

@ -0,0 +1,51 @@
--- pyA20-0.2.0/setup.py 2014-09-04 12:17:18.000000000 +0200
+++ pyA20-0.2.0/setup.py 2014-11-24 17:44:37.000000000 +0100
@@ -43,31 +43,31 @@
Detect processor type
:return:
"""
- cpuinfo = open("/proc/cpuinfo", 'r')
- for line in cpuinfo:
- if "Hardware" in line:
- processor = line.split(":")[1].rstrip()
+ #cpuinfo = open("/proc/cpuinfo", 'r')
+ #for line in cpuinfo:
+ # if "Hardware" in line:
+ # processor = line.split(":")[1].rstrip()
- if "sun4i" in processor:
- print ("Detected processor: " + print_color(processor) + " (Probably Allwinner A10)")
+ # if "sun4i" in processor:
+ # print ("Detected processor: " + print_color(processor) + " (Probably Allwinner A10)")
- elif "sun5i" in processor:
- print ("Detected processor: " + print_color(processor) + " (Probably Allwinner A13)")
+ # elif "sun5i" in processor:
+ # print ("Detected processor: " + print_color(processor) + " (Probably Allwinner A13)")
- elif "sun7i" in processor:
- print ("Detected processor: " + print_color(processor) + " (Probably Allwinner A20)")
+ # elif "sun7i" in processor:
+ # print ("Detected processor: " + print_color(processor) + " (Probably Allwinner A20)")
- else:
- print ("Detected processor: " + print_color("unknown"))
+ # else:
+ # print ("Detected processor: " + print_color("unknown"))
- if processor_type not in processor:
- print_warning()
+ # if processor_type not in processor:
+ # print_warning()
- return
+ return
- print ("No processor detected")
- print_warning()
+ #print ("No processor detected")
+ #print_warning()
class build_ext(_build_ext):

View File

@ -0,0 +1,24 @@
DESCRIPTION = "A module to control Allwinner GPIO,SPI and I2C channels"
HOMEPAGE = "https://pypi.python.org/pypi/pyA20"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b4cb7d5da6f1efc1d0bf487169e83985"
DEPENDS = "python"
# No GPIO mappings for other machines yet
COMPATIBLE_MACHINE = "(olinuxino-a13|olinuxino-a10|olinuxino-a20|olinuxino-a10lime|olinuxino-a20lime|olinuxino-a20lime2|olinuxino-a13som)"
SRC_URI = "http://pypi.python.org/packages/source/p/pyA20/pyA20-${PV}.tar.gz \
file://setup.py.patch \
file://mapping.h \
"
S = "${WORKDIR}/pyA20-${PV}"
inherit distutils
do_compile_prepend() {
cp ${WORKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h
}
SRC_URI[md5sum] = "b4115859834f09ebd389f810f2ffefb9"
SRC_URI[sha256sum] = "9855747d9bbdfcce6b460fcd67d953155e39f4e002a9a4c573910248b451dad8"

View File

@ -0,0 +1,47 @@
From fcdde5440976bb2c204789e13313c4d77cb263b7 Mon Sep 17 00:00:00 2001
From: Nicolas Aguirre <aguirre.nicolas@gmail.com>
Date: Tue, 16 Jun 2015 23:06:29 +0200
Subject: [PATCH] Add EGLSyncKHR EGLTimeKHR and GLChar definition
---
include/EGL/eglext.h | 4 +++-
include/GLES2/gl2.h | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/EGL/eglext.h b/include/EGL/eglext.h
index 25cfcb8..ec482d8 100644
--- a/include/EGL/eglext.h
+++ b/include/EGL/eglext.h
@@ -36,7 +36,6 @@ extern "C" {
/* Current version at http://www.khronos.org/registry/egl/ */
/* $Revision: 7244 $ on $Date: 2009-01-20 17:06:59 -0800 (Tue, 20 Jan 2009) $ */
#define EGL_EGLEXT_VERSION 3
-
#ifndef EGL_KHR_config_attribs
#define EGL_KHR_config_attribs 1
#define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */
@@ -44,6 +43,9 @@ extern "C" {
#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */
#endif
+typedef void *EGLSyncKHR;
+typedef uint64_t EGLTimeKHR;
+
#ifndef EGL_KHR_lock_surface
#define EGL_KHR_lock_surface 1
#define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */
diff --git a/include/GLES2/gl2.h b/include/GLES2/gl2.h
index 59e376c..90d96bb 100644
--- a/include/GLES2/gl2.h
+++ b/include/GLES2/gl2.h
@@ -32,6 +32,7 @@ typedef unsigned int GLuint;
typedef khronos_float_t GLfloat;
typedef khronos_float_t GLclampf;
typedef khronos_int32_t GLfixed;
+typedef char GLchar;
/* GL types for handling large vertex buffer objects */
typedef khronos_intptr_t GLintptr;
--
1.9.1

View File

@ -0,0 +1,28 @@
From 054886253f4f559b351a94e1e6ebfd5eb504461f Mon Sep 17 00:00:00 2001
From: Trevor Woerner <twoerner@gmail.com>
Date: Thu, 24 Sep 2015 23:38:11 -0400
Subject: [PATCH] fix test build
Allow the test application to build and link successfully.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
test/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/Makefile b/test/Makefile
index 700416e..51481c9 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -5,7 +5,7 @@ CFLAGS ?= -Wall
all: test
test: ../config.mk test.c
- $(CC) $(CFLAGS) -o $@ test.c -lEGL -lGLESv2
+ $(CC) $(CFLAGS) -I../include -L../../image/usr/lib -o $@ test.c -lEGL -lGLESv2 -lX11
clean:
rm -f test
--
2.6.0.rc3

View File

@ -0,0 +1,136 @@
From 15d91ef25234ff402f4288273989693f2d402d9d Mon Sep 17 00:00:00 2001
From: Raoul Hecky <raoul.hecky@gmail.com>
Date: Fri, 10 Jan 2014 14:44:53 +0100
Subject: [PATCH] Add missing GLchar definition, some gl/gles apps needs that
to compile correctly
Build pkg-config files for gles and egl and install them
Fix .pc creation
add correct driver version in .pc
---
.gitignore | 1 +
Makefile | 1 +
Makefile.pc | 21 +++++++++++++++++++++
egl.pc.in | 11 +++++++++++
gles_cm.pc.in | 11 +++++++++++
glesv2.pc.in | 11 +++++++++++
include/GLES/gl.h | 1 +
include/GLES2/gl2.h | 1 +
8 files changed, 58 insertions(+)
create mode 100644 Makefile.pc
create mode 100644 egl.pc.in
create mode 100644 gles_cm.pc.in
create mode 100644 glesv2.pc.in
diff --git a/.gitignore b/.gitignore
index 6865abf..e8a3713 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
config.mk
*~
+*.pc
diff --git a/Makefile b/Makefile
index 60d4a0f..94845ea 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,7 @@ clean:
install: config.mk
$(MAKE) -C lib install
$(MAKE) -C include install
+ $(MAKE) -f Makefile.pc
test: config.mk
$(MAKE) -C test test
diff --git a/Makefile.pc b/Makefile.pc
new file mode 100644
index 0000000..01097fd
--- /dev/null
+++ b/Makefile.pc
@@ -0,0 +1,21 @@
+include Makefile.setup
+include config.mk
+
+all:
+ echo "prefix=$(prefix)" > egl.pc
+ cat egl.pc.in >> egl.pc
+ sed -i "s/MVERSION/$MALI_VERSION/g" egl.pc
+ echo "prefix=$(prefix)" > gles_cm.pc
+ cat gles_cm.pc.in >> gles_cm.pc
+ sed -i "s/MVERSION/$MALI_VERSION/g" gles_cm.pc
+ echo "prefix=$(prefix)" > glesv2.pc
+ cat glesv2.pc.in >> glesv2.pc
+ sed -i "s/MVERSION/$MALI_VERSION/g" glesv2.pc
+
+install: egl.pc gles_cm.pc glesv2.pc
+ $(MKDIR) $(libdir)/pkgconfig
+ $(INSTALL_DATA) $^ $(libdir)/pkgconfig
+
+clean:
+ $(RM) egl.pc gles_cm.pc glesv2.pc
+
diff --git a/egl.pc.in b/egl.pc.in
new file mode 100644
index 0000000..0697183
--- /dev/null
+++ b/egl.pc.in
@@ -0,0 +1,11 @@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: egl
+Description: Mali EGL library
+Requires.private:
+Version: MVERSION
+Libs: -L${libdir} -lEGL
+Libs.private: -lm -lpthread -ldl
+Cflags: -I${includedir}
diff --git a/gles_cm.pc.in b/gles_cm.pc.in
new file mode 100644
index 0000000..22bc348
--- /dev/null
+++ b/gles_cm.pc.in
@@ -0,0 +1,11 @@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: gles_cm
+Description: Mali OpenGL ES 1.1 CM library
+Requires.private:
+Version: MVERSION
+Libs: -L${libdir} -lGLES_CM
+Libs.private: -lm -lpthread -ldl
+Cflags: -I${includedir}
diff --git a/glesv2.pc.in b/glesv2.pc.in
new file mode 100644
index 0000000..efef2ed
--- /dev/null
+++ b/glesv2.pc.in
@@ -0,0 +1,11 @@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: glesv2
+Description: Mali OpenGL ES 2.0 library
+Requires.private:
+Version: MVERSION
+Libs: -L${libdir} -lGLESv2
+Libs.private: -lm -lpthread -ldl
+Cflags: -I${includedir}
diff --git a/include/GLES/gl.h b/include/GLES/gl.h
index 858f394..a6bb591 100644
--- a/include/GLES/gl.h
+++ b/include/GLES/gl.h
@@ -29,6 +29,7 @@ typedef float GLfloat;
typedef float GLclampf;
typedef signed int GLfixed;
typedef signed int GLclampx;
+typedef char GLchar;
typedef int * GLintptr;
typedef int * GLsizeiptr;

View File

@ -0,0 +1,30 @@
From 95bbd40135f96b473d4c713317e485d0049580cd Mon Sep 17 00:00:00 2001
From: Raoul Hecky <raoul.hecky@gmail.com>
Date: Tue, 8 Apr 2014 08:10:12 +0200
Subject: [PATCH] Fix sed to replace by the correct var
---
Makefile.pc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.pc b/Makefile.pc
index 01097fd..c51d18c 100644
--- a/Makefile.pc
+++ b/Makefile.pc
@@ -4,13 +4,13 @@ include config.mk
all:
echo "prefix=$(prefix)" > egl.pc
cat egl.pc.in >> egl.pc
- sed -i "s/MVERSION/$MALI_VERSION/g" egl.pc
+ sed -i "s/MVERSION/${MALI_VERSION}/g" egl.pc
echo "prefix=$(prefix)" > gles_cm.pc
cat gles_cm.pc.in >> gles_cm.pc
- sed -i "s/MVERSION/$MALI_VERSION/g" gles_cm.pc
+ sed -i "s/MVERSION/${MALI_VERSION}/g" gles_cm.pc
echo "prefix=$(prefix)" > glesv2.pc
cat glesv2.pc.in >> glesv2.pc
- sed -i "s/MVERSION/$MALI_VERSION/g" glesv2.pc
+ sed -i "s/MVERSION/${MALI_VERSION}/g" glesv2.pc
install: egl.pc gles_cm.pc glesv2.pc
$(MKDIR) $(libdir)/pkgconfig

View File

@ -3,18 +3,21 @@ DESCRIPTION = "libGLES for the A10/A13 Allwinner processor with Mali 400 (X11)"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://README;md5=1b81a178e80ee888ee4571772699ab2c"
COMPATIBLE_MACHINE = "(mele|meleg|cubieboard|cubieboard2|cubietruck|olinuxino-a10|olinuxino-a13|olinuxino-a20|olinuxino-a20som|olinuxino-a20lime)"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
# These libraries shouldn't get installed in world builds unless something
# explicitly depends upon them.
EXCLUDE_FROM_WORLD = "1"
PROVIDES = "virtual/libgles1 virtual/libgles2 virtual/egl"
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "opengl"
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
SRCREV_pn-${PN} = "d343311efc8db166d8371b28494f0f27b6a58724"
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git"
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \
file://0001-Add-EGLSyncKHR-EGLTimeKHR-and-GLChar-definition.patch \
file://0002-Add-missing-GLchar-definition.patch \
file://0003-Fix-sed-to-replace-by-the-correct-var.patch \
file://0001-fix-test-build.patch \
"
S = "${WORKDIR}/git"
@ -24,13 +27,34 @@ PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} ${@
PACKAGECONFIG[wayland] = "EGL_TYPE=framebuffer,,,"
PACKAGECONFIG[x11] = "EGL_TYPE=x11,,virtual/libx11 libxau libxdmcp libdri2,"
# Inhibit warnings about files being stripped, we can't do anything about it.
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
do_configure() {
DESTDIR=${D}/ VERSION=r3p0 ABI=armhf ${EXTRA_OECONF} make config
}
do_install() {
make -f Makefile.pc
# install headers
install -d -m 0755 ${D}${includedir}/EGL
install -m 0755 ${S}/include/EGL/*.h ${D}${includedir}/EGL/
install -d -m 0755 ${D}${includedir}/GLES
install -m 0755 ${S}/include/GLES/*.h ${D}${includedir}/GLES/
install -d -m 0755 ${D}${includedir}/GLES2
install -m 0755 ${S}/include/GLES2/*.h ${D}${includedir}/GLES2/
install -d -m 0755 ${D}${includedir}/KHR
install -m 0755 ${S}/include/KHR/*.h ${D}${includedir}/KHR/
# Copy the .pc files
install -d -m 0755 ${D}${libdir}/pkgconfig
install -m 0644 ${S}/egl.pc ${D}${libdir}/pkgconfig/
install -m 0644 ${S}/gles_cm.pc ${D}${libdir}/pkgconfig/
install -m 0644 ${S}/glesv2.pc ${D}${libdir}/pkgconfig/
install -d ${D}${libdir}
install -d ${D}${includedir}
@ -47,10 +71,16 @@ do_install() {
rm ${D}${libdir}/$flib
ln -sf libMali.so.3 ${D}${libdir}/$flib
done
DESTDIR=${D}/ VERSION=r3p0 ABI=armhf ${EXTRA_OECONF} make test
install -d ${D}${bindir}
install -m 0755 ${S}/test/test ${D}${bindir}/sunximali-test
}
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
PACKAGES =+ "${PN}-test"
FILES_${PN} += "${libdir}/lib*.so"
FILES_${PN}-dev = "${includedir}"
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
FILES_${PN}-test = "${bindir}/sunximali-test"
# These are closed binaries generated elsewhere so don't check ldflags & text relocations
INSANE_SKIP_${PN} = "dev-so ldflags textrel"

View File

@ -5,11 +5,11 @@ DESCRIPTION = "X.Org X server -- A10/A13 display driver"
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://COPYING;md5=f91dc3ee5ce59eb4b528e67e98a31266"
DEPENDS += "sunxi-mali"
DEPENDS += "sunxi-mali libump xf86driproto"
PE = "3"
PV = "0.3.1+git${SRCPV}"
SRCREV_pn-${PN} = "eed17d5586c3b4dfcf0b5976e8b947b171d4897c"
PV = "0.5.1+git${SRCPV}"
SRCREV_pn-${PN} = "e094e3c8f9004ca3347694bd05b99d136e8621b9"
SRC_URI = "git://github.com/ssvb/xf86-video-fbturbo.git;protocol=http;branch=master \
file://20-fbturbo.conf"

View File

@ -0,0 +1,71 @@
Index: git/include/linux/compiler-gcc5.h
===================================================================
--- git/include/linux/compiler-gcc5.h 2015-09-19 20:11:27.999423338 +0200
+++ git/include/linux/compiler-gcc5.h 2015-09-23 10:26:05.000000000 +0200
@@ -0,0 +1,66 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
+ in the preprocessor, but we can live with this because they're unreleased.
+ Maketime probing would be overkill here.
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ * Fixed in GCC 4.8.2 and later versions.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

View File

@ -0,0 +1,135 @@
From 83b0b8a7b9cb658d3cc980b4fbcbb2cc8b257ccf Mon Sep 17 00:00:00 2001
From: Trevor Woerner <twoerner@gmail.com>
Date: Thu, 24 Sep 2015 17:07:26 -0400
Subject: [PATCH] gcc5 fixes
gcc5 is pickier about inline functions defined in headers.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
drivers/net/wireless/rtl8188eu/include/ieee80211.h | 4 ++--
drivers/net/wireless/rtl8189es/include/ieee80211.h | 4 ++--
drivers/net/wireless/rtl8192cu/include/ieee80211.h | 8 ++++----
drivers/net/wireless/rtl8723as/include/ieee80211.h | 4 ++--
drivers/staging/rtl8712/ieee80211.h | 4 ++--
5 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/net/wireless/rtl8188eu/include/ieee80211.h b/drivers/net/wireless/rtl8188eu/include/ieee80211.h
index 1ae96a5..7a301c5 100644
--- a/drivers/net/wireless/rtl8188eu/include/ieee80211.h
+++ b/drivers/net/wireless/rtl8188eu/include/ieee80211.h
@@ -1188,12 +1188,12 @@ enum ieee80211_state {
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
(((Addr[5]) & 0xff) == 0xff))
#else
-extern __inline int is_multicast_mac_addr(const u8 *addr)
+static __inline int is_multicast_mac_addr(const u8 *addr)
{
return ((addr[0] != 0xff) && (0x01 & addr[0]));
}
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
+static __inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
diff --git a/drivers/net/wireless/rtl8189es/include/ieee80211.h b/drivers/net/wireless/rtl8189es/include/ieee80211.h
index 1ae96a5..7a301c5 100644
--- a/drivers/net/wireless/rtl8189es/include/ieee80211.h
+++ b/drivers/net/wireless/rtl8189es/include/ieee80211.h
@@ -1188,12 +1188,12 @@ enum ieee80211_state {
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
(((Addr[5]) & 0xff) == 0xff))
#else
-extern __inline int is_multicast_mac_addr(const u8 *addr)
+static __inline int is_multicast_mac_addr(const u8 *addr)
{
return ((addr[0] != 0xff) && (0x01 & addr[0]));
}
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
+static __inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
diff --git a/drivers/net/wireless/rtl8192cu/include/ieee80211.h b/drivers/net/wireless/rtl8192cu/include/ieee80211.h
index 86e9726..950691d 100644
--- a/drivers/net/wireless/rtl8192cu/include/ieee80211.h
+++ b/drivers/net/wireless/rtl8192cu/include/ieee80211.h
@@ -1149,12 +1149,12 @@ enum ieee80211_state {
#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]
-extern __inline int is_multicast_mac_addr(const u8 *addr)
+static __inline int is_multicast_mac_addr(const u8 *addr)
{
return ((addr[0] != 0xff) && (0x01 & addr[0]));
}
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
+static __inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
@@ -1177,7 +1177,7 @@ typedef struct tx_pending_t{
#define IEEE_G (1<<2)
#define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
-extern __inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
+static __inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
{
/* Single white space is for Linksys APs */
if (essid_len == 1 && essid[0] == ' ')
@@ -1193,7 +1193,7 @@ extern __inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
return 1;
}
-extern __inline int ieee80211_get_hdrlen(u16 fc)
+static __inline int ieee80211_get_hdrlen(u16 fc)
{
int hdrlen = 24;
diff --git a/drivers/net/wireless/rtl8723as/include/ieee80211.h b/drivers/net/wireless/rtl8723as/include/ieee80211.h
index bf24c3b..f8046ee 100644
--- a/drivers/net/wireless/rtl8723as/include/ieee80211.h
+++ b/drivers/net/wireless/rtl8723as/include/ieee80211.h
@@ -1176,12 +1176,12 @@ enum ieee80211_state {
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
(((Addr[5]) & 0xff) == 0xff))
#else
-extern __inline int is_multicast_mac_addr(const u8 *addr)
+static __inline int is_multicast_mac_addr(const u8 *addr)
{
return ((addr[0] != 0xff) && (0x01 & addr[0]));
}
-extern __inline int is_broadcast_mac_addr(const u8 *addr)
+static __inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h
index 3c0092b..1e7b55b 100644
--- a/drivers/staging/rtl8712/ieee80211.h
+++ b/drivers/staging/rtl8712/ieee80211.h
@@ -734,7 +734,7 @@ enum ieee80211_state {
#define IEEE_G (1<<2)
#define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
{
/* Single white space is for Linksys APs */
if (essid_len == 1 && essid[0] == ' ')
@@ -748,7 +748,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
return 1;
}
-extern inline int ieee80211_get_hdrlen(u16 fc)
+static inline int ieee80211_get_hdrlen(u16 fc)
{
int hdrlen = 24;
--
2.6.0.rc3

View File

@ -0,0 +1,50 @@
From ef4fea130eeb70eff4f3a549fd3f6e9b11437550 Mon Sep 17 00:00:00 2001
From: ZaneZam <cyxman@yahoo.com>
Date: Thu, 26 Mar 2015 14:50:10 +0100
Subject: [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address in return_address.c does
the right thing.
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
source: http://www.serverphorums.com/read.php?12,880351,880351#msg-880351
---
arch/arm/include/asm/ftrace.h | 2 +-
arch/arm/kernel/return_address.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index f89515a..2bb8cac 100644
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
#else
-extern inline void *return_address(unsigned int level)
+static inline void *return_address(unsigned int level)
{
return NULL;
}
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
index f1aef84..49477f0 100644
--- a/arch/arm/kernel/return_address.c
+++ b/arch/arm/kernel/return_address.c
@@ -62,10 +62,12 @@ void *return_address(unsigned int level)
/* #warning "TODO: return_address should use unwind tables" */
#endif
+/*
void *return_address(unsigned int level)
{
return NULL;
}
+*/
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,327 @@
CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_BLK_CGROUP=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PERF_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_SGI_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_ARCH_SUN4I=y
CONFIG_SWP_EMULATE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
CONFIG_HIGHMEM=y
CONFIG_COMPACTION=y
CONFIG_KSM=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE=" debug"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_FANTASY=y
CONFIG_CPU_FREQ_DVFS=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_BINFMT_MISC=y
CONFIG_PM_RUNTIME=y
CONFIG_PM_DEBUG=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_NET_IPIP=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
# CONFIG_INET_DIAG is not set
CONFIG_IPV6=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_IPV6_SIT=m
# CONFIG_ANDROID_PARANOID_NETWORK is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_NET_PKTGEN=m
CONFIG_BT=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_LL=y
CONFIG_CFG80211=y
CONFIG_RFKILL=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_CMA=y
CONFIG_CMA_SIZE_MBYTES=192
CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=2
CONFIG_SUNXI_DBGREG=m
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_ATA=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_SW_SATA_AHCI_PLATFORM=m
CONFIG_NETDEVICES=y
CONFIG_TUN=m
CONFIG_SUNXI_EMAC=y
CONFIG_PHYLIB=y
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_USBNET=m
CONFIG_USB_HSO=m
CONFIG_USB_IPHETH=m
CONFIG_RTL8192CU_SW=m
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_KEYRESET=y
CONFIG_KEYBOARD_SUN4IKEYPAD=m
CONFIG_KEYBOARD_SUN4I_KEYBOARD=m
CONFIG_KEYBOARD_HV2605_KEYBOARD=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_GT801=m
CONFIG_TOUCHSCREEN_GT811=m
CONFIG_TOUCHSCREEN_GT818=m
CONFIG_TOUCHSCREEN_SUN4I_TS=m
CONFIG_TOUCHSCREEN_FT5X_TS=m
CONFIG_TOUCHSCREEN_ZT8031=m
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_SUNXI=m
CONFIG_W1=m
CONFIG_W1_SUNXI=m
CONFIG_W1_MASTER_GPIO=m
CONFIG_POWER_SUPPLY=y
CONFIG_AW_AXP=y
CONFIG_REGULATOR=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_TUNER_CUSTOMISE=y
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_VIDEO_CAPTURE_DRIVERS is not set
CONFIG_CSI_OV7670=m
CONFIG_CSI_GT2005=m
CONFIG_CSI_GC0308=m
CONFIG_CSI_HI704=m
CONFIG_CSI_SP0838=m
CONFIG_CSI_MT9M112=m
CONFIG_CSI_MT9M113=m
CONFIG_CSI_OV2655=m
CONFIG_CSI_HI253=m
CONFIG_CSI_MT9D112=m
CONFIG_CSI_GC0307=m
CONFIG_CSI_OV5640=m
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_AUDIO_ENGINE=y
CONFIG_PA_CONTROL=y
CONFIG_DRM=m
CONFIG_DRM_MALI=m
CONFIG_MALI=m
CONFIG_FB=y
CONFIG_FB_SUNXI=y
CONFIG_FB_SUNXI_LCD=y
CONFIG_FB_SUNXI_HDMI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_GADGET=y
CONFIG_USB_FILE_STORAGE=m
CONFIG_USB_FILE_STORAGE_TEST=y
CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_BLOCK_BOUNCE is not set
CONFIG_MMC_SUNXI_POWER_CONTROL=y
CONFIG_MMC_SUNXI=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_SUNXI=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_SUN4I=y
CONFIG_STAGING=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_QFMT_V2=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_FSCACHE=y
CONFIG_FSCACHE_STATS=y
CONFIG_CACHEFILES=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_NTFS_FS=y
CONFIG_NTFS_RW=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_CIFS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_LIST=y
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
# CONFIG_FTRACE is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_STRICT_DEVMEM=y
CONFIG_DEBUG_LL=y
CONFIG_EARLY_PRINTK=y
CONFIG_SECURITYFS=y
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ZLIB=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_LIBCRC32C=y
CONFIG_AVERAGE=y

View File

@ -0,0 +1,330 @@
CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_BLK_CGROUP=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PERF_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_SGI_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_ARCH_SUN5I=y
CONFIG_SW_DEBUG_UART=1
CONFIG_SWP_EMULATE=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_HIGHMEM=y
CONFIG_COMPACTION=y
CONFIG_KSM=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE=" debug"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_USR_EVNT_NOTIFY=y
CONFIG_CPU_FREQ_DVFS=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_BINFMT_MISC=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_NET_IPIP=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
# CONFIG_INET_DIAG is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_ANDROID_PARANOID_NETWORK is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_NET_PKTGEN=m
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_CMA=y
CONFIG_CMA_SIZE_MBYTES=192
CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_UB=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=4
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_MULTIPATH=y
CONFIG_MD_FAULTY=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
CONFIG_NETDEVICES=y
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_PHYLIB=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_RTL8192CU_SW=m
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_SUN4IKEYPAD=m
CONFIG_KEYBOARD_SUN4I_KEYBOARD=m
CONFIG_KEYBOARD_HV2605_KEYBOARD=m
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_GT801=m
CONFIG_TOUCHSCREEN_GT811=m
CONFIG_TOUCHSCREEN_GT818=m
CONFIG_TOUCHSCREEN_SUN4I_TS=m
CONFIG_TOUCHSCREEN_FT5X_TS=m
CONFIG_TOUCHSCREEN_ZT8031=m
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_SPI=y
CONFIG_SPI_SUN5I=y
CONFIG_SUN5I_SPI_NDMA=y
CONFIG_SPI_SPIDEV=m
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_SUNXI=m
CONFIG_W1=m
CONFIG_W1_SUNXI=m
CONFIG_W1_MASTER_GPIO=m
CONFIG_POWER_SUPPLY=y
CONFIG_AW_AXP=y
# CONFIG_SENSORS_MMA7660 is not set
CONFIG_REGULATOR=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_PA_CONTROL=y
CONFIG_DRM=m
CONFIG_DRM_MALI=m
CONFIG_MALI=m
# CONFIG_UMP_DEBUG is not set
CONFIG_FB=y
CONFIG_FB_SUNXI=m
CONFIG_FB_SUNXI_LCD=m
CONFIG_FB_SUNXI_HDMI=m
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_GADGET=y
CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_BLOCK_BOUNCE is not set
CONFIG_MMC_SUNXI_POWER_CONTROL=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_SUNXI=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_SWITCH=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_SUN5I=y
CONFIG_STAGING=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_FSCACHE=y
CONFIG_FSCACHE_STATS=y
CONFIG_CACHEFILES=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_NTFS_RW=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
CONFIG_CIFS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_LIST=y
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
# CONFIG_FTRACE is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_STRICT_DEVMEM=y
CONFIG_DEBUG_LL=y
CONFIG_SECURITYFS=y
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ZLIB=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_CRC_ITU_T=y
CONFIG_LIBCRC32C=y

View File

@ -0,0 +1,330 @@
CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_BLK_CGROUP=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PERF_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_SGI_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_ARCH_SUN5I=y
CONFIG_SW_DEBUG_UART=1
CONFIG_SWP_EMULATE=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_HIGHMEM=y
CONFIG_COMPACTION=y
CONFIG_KSM=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE=" debug"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_USR_EVNT_NOTIFY=y
CONFIG_CPU_FREQ_DVFS=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_BINFMT_MISC=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_NET_IPIP=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
# CONFIG_INET_DIAG is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_ANDROID_PARANOID_NETWORK is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_NET_PKTGEN=m
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_CMA=y
CONFIG_CMA_SIZE_MBYTES=192
CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_BLK_DEV_UB=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=4
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_MULTIPATH=y
CONFIG_MD_FAULTY=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
CONFIG_NETDEVICES=y
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_PHYLIB=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_RTL8192CU_SW=m
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_SUN4IKEYPAD=m
CONFIG_KEYBOARD_SUN4I_KEYBOARD=m
CONFIG_KEYBOARD_HV2605_KEYBOARD=m
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_GT801=m
CONFIG_TOUCHSCREEN_GT811=m
CONFIG_TOUCHSCREEN_GT818=m
CONFIG_TOUCHSCREEN_SUN4I_TS=m
CONFIG_TOUCHSCREEN_FT5X_TS=m
CONFIG_TOUCHSCREEN_ZT8031=m
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_SPI=y
CONFIG_SPI_SUN5I=y
CONFIG_SUN5I_SPI_NDMA=y
CONFIG_SPI_SPIDEV=m
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_SUNXI=m
CONFIG_W1=m
CONFIG_W1_SUNXI=m
CONFIG_W1_MASTER_GPIO=m
CONFIG_POWER_SUPPLY=y
CONFIG_AW_AXP=y
# CONFIG_SENSORS_MMA7660 is not set
CONFIG_REGULATOR=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_PA_CONTROL=y
CONFIG_DRM=m
CONFIG_DRM_MALI=m
CONFIG_MALI=m
# CONFIG_UMP_DEBUG is not set
CONFIG_FB=y
CONFIG_FB_SUNXI=m
CONFIG_FB_SUNXI_LCD=m
CONFIG_FB_SUNXI_HDMI=m
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_GADGET=y
CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_BLOCK_BOUNCE is not set
CONFIG_MMC_SUNXI_POWER_CONTROL=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_SUNXI=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_SWITCH=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_SUN5I=y
CONFIG_STAGING=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_FSCACHE=y
CONFIG_FSCACHE_STATS=y
CONFIG_CACHEFILES=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_NTFS_RW=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=y
CONFIG_CIFS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_LIST=y
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
# CONFIG_FTRACE is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_STRICT_DEVMEM=y
CONFIG_DEBUG_LL=y
CONFIG_SECURITYFS=y
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ZLIB=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_CRC_ITU_T=y
CONFIG_LIBCRC32C=y

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
require linux.inc
DESCRIPTION = "Linux kernel for Allwinner a10/a20 processors"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
RDEPENDS_${PN} += "sunxi-board-fex"
PV = "3.4.104"
PR = "r1"
SRCREV_pn-${PN} = "d47d367036be38c5180632ec8a3ad169a4593a88"
MACHINE_KERNEL_PR_append = "a"
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
file://0001-compiler-gcc5.patch \
file://0002-use-static-inline-in-ARM-ftrace.patch \
file://0001-gcc5-fixes.patch \
file://defconfig \
"
S = "${WORKDIR}/git"
#fix QA issue "Files/directories were installed but not shipped: /usr/src/debug"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
do_configure_prepend() {
#fix arch QA issues ("Architecture did not match")
rm -f ${S}/drivers/net/wireless/rtxx7x/tools/bin2h
rm -f ${S}/modules/wifi/ar6302/AR6K_SDK_ISC.build_3.1_RC.329/host/lib/wac/wac
rm -f ${S}/modules/wifi/ar6302/AR6K_SDK_ISC.build_3.1_RC.329/host/tools/pal_host_intf/pal_app
rm -f ${S}/modules/wifi/nano-c047.12/obj/hic-proxy
rm -f ${S}/modules/wifi/nano-c047.12/obj/x_mac_4.69.axf
rm -f ${S}/modules/wifi/nano-c047.12/obj/x_mac_patch_4_65.axf
rm -f ${S}/modules/wifi/nano-c047.12/obj/x_mac_4.66.axf
rm -f ${S}/modules/wifi/nano-c047.12/obj/x_mac-v4.68.axf
rm -f ${S}/modules/wifi/nano-c047.12/obj/x_mac.axf
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/wl
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/socket_noasd/x86/wl_server_socket
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/wifi_noasd/x86/wl_server_serial
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/wifi_noasd/x86/wl_server_wifi
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/wl
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/socket_noasd/x86/wl_server_socket
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/wifi_noasd/x86/wl_server_serial
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/wifi_noasd/x86/wl_server_wifi
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/dongle_noasd/x86/wl_server_dongle
rm -f ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/dongle_noasd/x86/wl_server_dongle
rm -f ${S}/modules/wifi/bcm40181/apps/tc_cli
rm -f ${S}/modules/wifi/bcm40181/apps/wfa_ca
rm -f ${S}/modules/wifi/bcm40181/apps/dhd
rm -f ${S}/modules/wifi/bcm40181/apps/ca_cli
#fix ldflags QA issues ("No GNU_HASH in the elf binary")
rm -f ${S}/modules/wifi/usi-bcm4329/v4.218.248.15/apps/epi_ttcp
rm -f ${S}/modules/wifi/bcm40181/apps/epi_ttcp
}

View File

@ -1,131 +1,131 @@
DESCRIPTION = "Linux Kernel"
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
INC_PR = "r0"
inherit kernel siteinfo
# Enable OABI compat for people stuck with obsolete userspace
ARM_KEEP_OABI ?= "1"
# Quirk for udev greater or equal 141
UDEV_GE_141 ?= "1"
ARM_KEEP_OABI ?= "0"
# Set the verbosity of kernel messages during runtime
# You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour
CMDLINE_DEBUG ?= '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug", d)}'
CMDLINE_append = " ${CMDLINE_DEBUG}"
CMDLINE_DEBUG ?= "loglevel=3"
# Set a variable in .configure
# $1 - Configure variable to be set
# $2 - value [n/y/value]
kernel_configure_variable() {
# Remove the config
CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
if test "$2" = "n"
then
echo "# CONFIG_$1 is not set" >> ${S}/.config
else
echo "CONFIG_$1=$2" >> ${S}/.config
fi
# Kernel bootlogo is distro-specific (default is OE logo).
# Logo resolution (qvga, vga, ...) is machine-specific.
LOGO_SIZE ?= '${@base_conditional("MACHINE_GUI_CLASS", "bigscreen", "vga", "qvga", d)}'
# To use this, add file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 or similar
# to your kernel recipe, and then structure your logos for each resolution
# accordingly.
LOCALVERSION ?= ""
#kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\""
kernel_conf_variable() {
CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
if test "$2" = "n"
then
echo "# CONFIG_$1 is not set" >> ${B}/.config
else
echo "CONFIG_$1=$2" >> ${B}/.config
fi
}
do_configure_prepend() {
# Clean .config
echo "" > ${S}/.config
CONF_SED_SCRIPT=""
echo "" > ${B}/.config
CONF_SED_SCRIPT=""
# oabi / eabi support
if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibceabi" ]; then
kernel_configure_variable AEABI y
if [ "${ARM_KEEP_OABI}" = "1" ] ; then
kernel_configure_variable OABI_COMPAT y
else
kernel_configure_variable OABI_COMPAT n
fi
else
kernel_configure_variable AEABI n
kernel_configure_variable OABI_COMPAT n
fi
#
# logo support, if you supply logo_linux_clut224.ppm in SRC_URI, then it's going to be used
#
if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then
install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
kernel_conf_variable LOGO y
kernel_conf_variable LOGO_LINUX_CLUT224 y
fi
# Set cmdline
kernel_configure_variable CMDLINE "\"${CMDLINE}\""
#
# oabi / eabi support
#
kernel_conf_variable AEABI y
if [ "${ARM_KEEP_OABI}" = "1" ] ; then
kernel_conf_variable OABI_COMPAT y
else
kernel_conf_variable OABI_COMPAT n
fi
# Localversion
kernel_configure_variable LOCALVERSION "\"\""
kernel_configure_variable LOCALVERSION_AUTO n
# When enabling thumb for userspace we also need thumb support in the kernel
if [ "${ARM_INSTRUCTION_SET}" = "thumb" ] ; then
kernel_conf_variable ARM_THUMB y
fi
# Udev quirks
# Newer versions of udev mandate that sysfs doesn't have deprecated entries
if [ "${UDEV_GE_141}" = "1" ] ; then
kernel_configure_variable SYSFS_DEPRECATED n
kernel_configure_variable SYSFS_DEPRECATED_V2 n
kernel_configure_variable HOTPLUG y
kernel_configure_variable UEVENT_HELPER_PATH "\"\""
kernel_configure_variable UNIX y
kernel_configure_variable SYSFS y
kernel_configure_variable PROC_FS y
kernel_configure_variable TMPFS y
kernel_configure_variable INOTIFY_USER y
kernel_configure_variable SIGNALFD y
kernel_configure_variable TMPFS_POSIX_ACL y
kernel_configure_variable BLK_DEV_BSG y
kernel_configure_variable DEVTMPFS y
kernel_configure_variable DEVTMPFS_MOUNT y
fi
kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\""
# Newer inits like systemd need cgroup support
if [ "${KERNEL_ENABLE_CGROUPS}" = "1" ] ; then
kernel_configure_variable CGROUP_SCHED y
kernel_configure_variable CGROUPS y
kernel_configure_variable CGROUP_NS y
kernel_configure_variable CGROUP_FREEZER y
kernel_configure_variable CGROUP_DEVICE y
kernel_configure_variable CPUSETS y
kernel_configure_variable PROC_PID_CPUSET y
kernel_configure_variable CGROUP_CPUACCT y
kernel_configure_variable RESOURCE_COUNTERS y
fi
kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
kernel_conf_variable LOCALVERSION_AUTO n
# root-over-nfs-over-usb-eth support. Limited, but should cover some cases
# Enable this by setting a proper CMDLINE_NFSROOT_USB.
if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then
oenote "Configuring the kernel for root-over-nfs-over-usb-eth with CMDLINE ${CMDLINE_NFSROOT_USB}"
kernel_configure_variable INET y
kernel_configure_variable IP_PNP y
kernel_configure_variable USB_GADGET y
kernel_configure_variable USB_GADGET_SELECTED y
kernel_configure_variable USB_ETH y
kernel_configure_variable NFS_FS y
kernel_configure_variable ROOT_NFS y
kernel_configure_variable ROOT_NFS y
kernel_configure_variable CMDLINE "\"${CMDLINE_NFSROOT_USB}\""
fi
kernel_conf_variable SYSFS_DEPRECATED n
kernel_conf_variable SYSFS_DEPRECATED_V2 n
kernel_conf_variable HOTPLUG y
kernel_conf_variable UEVENT_HELPER_PATH \"\"
kernel_conf_variable UNIX y
kernel_conf_variable SYSFS y
kernel_conf_variable PROC_FS y
kernel_conf_variable TMPFS y
kernel_conf_variable INOTIFY_USER y
kernel_conf_variable SIGNALFD y
kernel_conf_variable TMPFS_POSIX_ACL y
kernel_conf_variable BLK_DEV_BSG y
kernel_conf_variable DEVTMPFS y
kernel_conf_variable DEVTMPFS_MOUNT y
# Activate CONFIG_LEGACY_PTYS
kernel_configure_variable LEGACY_PTYS y
# Newer inits like systemd need cgroup support
if [ "${KERNEL_ENABLE_CGROUPS}" = "1" ] ; then
kernel_conf_variable CGROUP_SCHED y
kernel_conf_variable CGROUPS y
kernel_conf_variable CGROUP_NS y
kernel_conf_variable CGROUP_FREEZER y
kernel_conf_variable CGROUP_DEVICE y
kernel_conf_variable CPUSETS y
kernel_conf_variable PROC_PID_CPUSET y
kernel_conf_variable CGROUP_CPUACCT y
kernel_conf_variable RESOURCE_COUNTERS y
fi
# Keep this the last line
# Remove all modified configs and add the rest to .config
sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${S}/.config'
#
# root-over-nfs-over-usb-eth support. Limited, but should cover some cases.
# Enable this by setting a proper CMDLINE_NFSROOT_USB.
#
if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then
bbnote "Configuring the kernel for root-over-nfs-over-usb-eth with CMDLINE ${CMDLINE_NFSROOT_USB}"
kernel_conf_variable INET y
kernel_conf_variable IP_PNP y
kernel_conf_variable USB_GADGET y
kernel_conf_variable USB_GADGET_SELECTED y
kernel_conf_variable USB_ETH y
kernel_conf_variable NFS_FS y
kernel_conf_variable ROOT_NFS y
kernel_conf_variable CMDLINE \"${CMDLINE_NFSROOT_USB} ${CMDLINE_DEBUG}\"
fi
yes '' | oe_runmake oldconfig
sed -e "${CONF_SED_SCRIPT}" \
< '${WORKDIR}/defconfig' >>'${B}/.config'
yes '' | oe_runmake -C ${S} O=${B} oldconfig
}
# Automatically depend on lzop-native if CONFIG_KERNEL_LZO is enabled
python () {
try:
defconfig = bb.fetch2.localpath('file://defconfig', d)
except bb.fetch2.FetchError:
return
try:
configfile = open(defconfig)
except IOError:
return
if 'CONFIG_KERNEL_LZO=y\n' in configfile.readlines():
depends = d.getVar('DEPENDS', False)
d.setVar('DEPENDS', depends + ' lzop-native')
do_configure_append() {
if test -e scripts/Makefile.fwinst ; then
sed -i -e "s:-m0644:-m 0644:g" scripts/Makefile.fwinst
fi
}
do_install_append() {
oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix}/src/linux-${KERNEL_VERSION} ARCH=$ARCH
}
PACKAGES =+ "kernel-headers"
FILES_kernel-headers = "${exec_prefix}/src/linux*"

View File

@ -0,0 +1,747 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CGROUPS=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BPF_SYSCALL=y
CONFIG_PERF_EVENTS=y
CONFIG_MODULES=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_MAC_PARTITION=y
CONFIG_LDM_PARTITION=y
CONFIG_ARCH_SUNXI=y
CONFIG_SMP=y
CONFIG_NR_CPUS=8
CONFIG_AEABI=y
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
CONFIG_CPUFREQ_DT=y
CONFIG_CPU_IDLE=y
CONFIG_ARM_CPUIDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_KERNEL_MODE_NEON=y
CONFIG_HIBERNATION=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_FOU=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=m
CONFIG_INET_DIAG=m
CONFIG_INET_UDP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_IPV6_VTI=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=m
CONFIG_NFT_EXTHDR=m
CONFIG_NFT_META=m
CONFIG_NFT_CT=m
CONFIG_NFT_RBTREE=m
CONFIG_NFT_HASH=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_COMPAT=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_PE_SIP=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NFT_CHAIN_ROUTE_IPV4=m
CONFIG_NF_TABLES_ARP=m
CONFIG_NF_LOG_ARP=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_MASQ_IPV4=m
CONFIG_NFT_REDIR_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NFT_MASQ_IPV6=m
CONFIG_NFT_REDIR_IPV6=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_TARGET_SYNPROXY=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=m
CONFIG_L2TP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_6LOWPAN=m
CONFIG_IEEE802154=m
CONFIG_IEEE802154_6LOWPAN=m
CONFIG_MAC802154=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
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_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_PLUG=m
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_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_CLS_BPF=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=m
CONFIG_NET_ACT_CONNMARK=m
CONFIG_VSOCKETS=m
CONFIG_NETLINK_MMAP=y
CONFIG_NETLINK_DIAG=y
CONFIG_BPF_JIT=y
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_BCM=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_BT_ATH3K=m
CONFIG_CFG80211=m
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_MESH=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_WCACHE=y
CONFIG_EEPROM_SUNXI_SID=y
CONFIG_SCSI_MQ_DEFAULT=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_ATA=y
CONFIG_AHCI_SUNXI=y
CONFIG_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BCACHE=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_MQ_DEFAULT=y
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_CACHE=m
CONFIG_DM_ERA=m
CONFIG_DM_MIRROR=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_DELAY=m
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
CONFIG_DM_SWITCH=m
CONFIG_DM_LOG_WRITES=m
CONFIG_NETDEVICES=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_NET_TEAM=m
CONFIG_NET_TEAM_MODE_BROADCAST=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TEAM_MODE_RANDOM=m
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_IPVLAN=m
CONFIG_VXLAN=m
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_NLMON=m
CONFIG_SUN4I_EMAC=y
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_CADENCE is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SMSC is not set
CONFIG_STMMAC_ETH=y
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPPOL2TP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AT76C50X_USB=m
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8187=m
CONFIG_ATH_CARDS=m
CONFIG_ATH9K=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_HTC=m
CONFIG_CARL9170=m
CONFIG_ATH6KL=m
CONFIG_ATH6KL_SDIO=m
CONFIG_ATH6KL_USB=m
CONFIG_AR5523=m
CONFIG_ATH10K=m
CONFIG_WCN36XX=m
CONFIG_B43=m
CONFIG_B43_SDIO=y
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_USB=y
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_SPI=m
CONFIG_P54_COMMON=m
CONFIG_P54_USB=m
CONFIG_P54_SPI=m
CONFIG_RT2X00=m
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT3573=y
CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_RT55XX=y
CONFIG_RT2800USB_UNKNOWN=y
CONFIG_RTL8192CU=m
CONFIG_WL_TI=y
CONFIG_WL1251=m
CONFIG_WL1251_SPI=m
CONFIG_WL1251_SDIO=m
CONFIG_WL12XX=m
CONFIG_WL18XX=m
CONFIG_WLCORE_SPI=m
CONFIG_WLCORE_SDIO=m
CONFIG_ZD1211RW=m
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
CONFIG_MWIFIEX_USB=m
CONFIG_CW1200=m
CONFIG_CW1200_WLAN_SDIO=m
CONFIG_CW1200_WLAN_SPI=m
CONFIG_RSI_91X=m
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_SUN4I=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AXP20X_PEK=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MV64XXX=y
CONFIG_I2C_SUN6I_P2WI=y
CONFIG_SPI=y
CONFIG_SPI_SUN4I=y
CONFIG_SPI_SUN6I=y
CONFIG_GPIO_SYSFS=y
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_RESET=y
CONFIG_THERMAL=y
CONFIG_CPU_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_SUNXI_WATCHDOG=y
CONFIG_MFD_AXP20X=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_AXP20X=y
CONFIG_REGULATOR_GPIO=y
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_ADV_DEBUG=y
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_M5602=m
CONFIG_USB_STV06XX=m
CONFIG_USB_GL860=m
CONFIG_USB_GSPCA_BENQ=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_CPIA1=m
CONFIG_USB_GSPCA_DTCS033=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_JEILINJ=m
CONFIG_USB_GSPCA_JL2005BCD=m
CONFIG_USB_GSPCA_KINECT=m
CONFIG_USB_GSPCA_KONICA=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_MR97310A=m
CONFIG_USB_GSPCA_NW80X=m
CONFIG_USB_GSPCA_OV519=m
CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_OV534_9=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7302=m
CONFIG_USB_GSPCA_PAC7311=m
CONFIG_USB_GSPCA_SE401=m
CONFIG_USB_GSPCA_SN9C2028=m
CONFIG_USB_GSPCA_SN9C20X=m
CONFIG_USB_GSPCA_SONIXB=m
CONFIG_USB_GSPCA_SONIXJ=m
CONFIG_USB_GSPCA_SPCA500=m
CONFIG_USB_GSPCA_SPCA501=m
CONFIG_USB_GSPCA_SPCA505=m
CONFIG_USB_GSPCA_SPCA506=m
CONFIG_USB_GSPCA_SPCA508=m
CONFIG_USB_GSPCA_SPCA561=m
CONFIG_USB_GSPCA_SPCA1528=m
CONFIG_USB_GSPCA_SQ905=m
CONFIG_USB_GSPCA_SQ905C=m
CONFIG_USB_GSPCA_SQ930X=m
CONFIG_USB_GSPCA_STK014=m
CONFIG_USB_GSPCA_STK1135=m
CONFIG_USB_GSPCA_STV0680=m
CONFIG_USB_GSPCA_SUNPLUS=m
CONFIG_USB_GSPCA_T613=m
CONFIG_USB_GSPCA_TOPRO=m
CONFIG_USB_GSPCA_TOUPTEK=m
CONFIG_USB_GSPCA_TV8532=m
CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
CONFIG_USB_PWC=m
CONFIG_VIDEO_CPIA2=m
CONFIG_USB_ZR364XX=m
CONFIG_USB_STKWEBCAM=m
CONFIG_USB_S2255=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_USBVISION=m
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_DVB=m
CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_DVB_USB=m
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIB0700=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_M920X=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_GP8PSK=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
CONFIG_DVB_USB_PCTV452E=m
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_DTV5100=m
CONFIG_DVB_USB_FRIIO=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_TECHNISAT_USB2=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_AF9035=m
CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_AU6610=m
CONFIG_DVB_USB_AZ6007=m
CONFIG_DVB_USB_CE6230=m
CONFIG_DVB_USB_EC168=m
CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
CONFIG_DVB_USB_DVBSKY=m
CONFIG_SMS_USB_DRV=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
CONFIG_DVB_AS102=m
CONFIG_USB_AIRSPY=m
CONFIG_USB_HACKRF=m
CONFIG_USB_MSI2500=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_PLATFORM=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_VIM2M=m
CONFIG_SMS_SDIO_DRV=m
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
CONFIG_I2C_SI470X=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_SI4713=m
CONFIG_PLATFORM_SI4713=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_SHARK=m
CONFIG_RADIO_SHARK2=m
CONFIG_USB_KEENE=m
CONFIG_USB_RAREMONO=m
CONFIG_USB_MA901=m
CONFIG_RADIO_TEA5764=m
CONFIG_RADIO_SAA7706H=m
CONFIG_RADIO_TEF6862=m
CONFIG_RADIO_WL1273=m
CONFIG_SOC_CAMERA_IMX074=m
CONFIG_SOC_CAMERA_MT9M001=m
CONFIG_SOC_CAMERA_MT9M111=m
CONFIG_SOC_CAMERA_MT9T031=m
CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
CONFIG_SOC_CAMERA_OV2640=m
CONFIG_SOC_CAMERA_OV5642=m
CONFIG_SOC_CAMERA_OV6650=m
CONFIG_SOC_CAMERA_OV772X=m
CONFIG_SOC_CAMERA_OV9640=m
CONFIG_SOC_CAMERA_OV9740=m
CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
CONFIG_FB=y
CONFIG_FB_SIMPLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_MMC=y
CONFIG_MMC_SUNXI=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=y
CONFIG_LEDS_LM3530=m
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP5521=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_LP5562=m
CONFIG_LEDS_LP8501=m
CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA963X=m
CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_REGULATOR=y
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_LT3593=m
CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_TRANSIENT=y
CONFIG_LEDS_TRIGGER_CAMERA=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_INTF_SYSFS is not set
# CONFIG_RTC_INTF_PROC is not set
CONFIG_RTC_DRV_SUN6I=y
CONFIG_RTC_DRV_SUNXI=y
CONFIG_DMADEVICES=y
CONFIG_DMA_SUN6I=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXTCON=y
CONFIG_PWM=y
CONFIG_PWM_SUN4I=y
CONFIG_PHY_SUN4I_USB=y
CONFIG_PHY_SUN9I_USB=y
CONFIG_EXT4_FS=y
CONFIG_FANOTIFY=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_PRINTK_TIME=y
CONFIG_CRYPTO_DEV_SUN4I_SS=y
CONFIG_ARM_CRYPTO=y
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA512_ARM_NEON=y
CONFIG_CRYPTO_AES_ARM_BS=y

View File

@ -1,56 +0,0 @@
require linux.inc
DESCRIPTION = "Linux kernel for Allwinner a10/a20 processors"
COMPATIBLE_MACHINE = "(mele|meleg|olinuxino-a13|olinuxino-a10s|olinuxino-a10|olinuxino-a20|olinuxino-a20som|olinuxino-a20lime|cubieboard|cubieboard2|cubietruck)"
PV = "3.4.90"
PR = "r1"
# Last tested version by myself
SRCREV_pn-${PN} = "e37d760b363888f3a65cd6455c99a75cac70a7b8"
MACHINE_KERNEL_PR_append = "a"
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
http://archlinuxarm.org/builder/src/0001-cgroup-add-xattr-support-sunxi.patch;name=cgroup-patch \
file://defconfig \
"
SRC_URI[cgroup-patch.md5sum] = "4aa5087e3396f3179b61ccd478e9e604"
SRC_URI[cgroup-patch.sha256sum] = "f9f9cb55eb6f8abf322830afd7a5f4a090e539add75e0ed1f1016b5351a9b533"
S = "${WORKDIR}/git"
#fix QA issue "Files/directories were installed but not shipped: /usr/src/debug"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
do_configure_prepend() {
#fix arch QA issues ("Architecture did not match")
rm ${S}/drivers/net/wireless/rtxx7x/tools/bin2h
rm ${S}/modules/wifi/ar6302/AR6K_SDK_ISC.build_3.1_RC.329/host/lib/wac/wac
rm ${S}/modules/wifi/ar6302/AR6K_SDK_ISC.build_3.1_RC.329/host/tools/pal_host_intf/pal_app
rm ${S}/modules/wifi/nano-c047.12/obj/hic-proxy
rm ${S}/modules/wifi/nano-c047.12/obj/x_mac_4.69.axf
rm ${S}/modules/wifi/nano-c047.12/obj/x_mac_patch_4_65.axf
rm ${S}/modules/wifi/nano-c047.12/obj/x_mac_4.66.axf
rm ${S}/modules/wifi/nano-c047.12/obj/x_mac-v4.68.axf
rm ${S}/modules/wifi/nano-c047.12/obj/x_mac.axf
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/wl
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/socket_noasd/x86/wl_server_socket
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/wifi_noasd/x86/wl_server_serial
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/wifi_noasd/x86/wl_server_wifi
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/wl
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/socket_noasd/x86/wl_server_socket
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/wifi_noasd/x86/wl_server_serial
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/wifi_noasd/x86/wl_server_wifi
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/make/dongle_noasd/x86/wl_server_dongle
rm ${S}/modules/wifi/bcm40181/open-src/src/wl/exe/dongle_noasd/x86/wl_server_dongle
rm ${S}/modules/wifi/bcm40181/apps/tc_cli
rm ${S}/modules/wifi/bcm40181/apps/wfa_ca
rm ${S}/modules/wifi/bcm40181/apps/dhd
rm ${S}/modules/wifi/bcm40181/apps/ca_cli
#fix ldflags QA issues ("No GNU_HASH in the elf binary")
rm ${S}/modules/wifi/usi-bcm4329/v4.218.248.15/apps/epi_ttcp
rm ${S}/modules/wifi/bcm40181/apps/epi_ttcp
}

View File

@ -0,0 +1,24 @@
SECTION = "kernel"
DESCRIPTION = "Mainline Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
inherit kernel
require recipes-kernel/linux/linux-dtb.inc
require linux.inc
# Pull in the devicetree files into the rootfs
RDEPENDS_kernel-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
S = "${WORKDIR}/linux-${PV}"
SRC_URI[md5sum] = "b227333912b161c96ff3e30f5041e1c0"
SRC_URI[sha256sum] = "472288cc966188c5d7c511c6be0f78682843c9ca2d5d6c4d67d77455680359a3"
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v4.x/linux-${PV}.tar.xz \
file://defconfig \
"

View File

@ -0,0 +1,28 @@
SECTION = "kernel"
DESCRIPTION = "Mainline Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
inherit kernel
require recipes-kernel/linux/linux-dtb.inc
require linux.inc
# Pull in the devicetree files into the rootfs
RDEPENDS_kernel-base += "kernel-devicetree"
# Default is to use stable kernel version
# If you want to use latest git version set to "1"
DEFAULT_PREFERENCE = "-1"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
# 4.4 rc5
PV = "4.3+4.4rc5.git${SRCPV}"
SRCREV_pn-${PN} = "9f9499ae8e6415cefc4fe0a96ad0e27864353c89"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;branch=master \
file://defconfig \
"
S = "${WORKDIR}/git"

View File

@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PV = "1.0+git${SRCPV}"
PKGV = "1.0+git${GITPKGV}"
PR = "r3"
SRCREV = "ed6f7969d80b91048b0ed95ccb61cc98f46fead7"
SRCREV = "568c7a0e81fc5d52189710c6d832677aa8770b16"
DEPENDS += "libusb"
@ -31,5 +31,4 @@ do_install() {
install -m 755 ${S}/fexc ${D}/${bindir}
install -m 755 ${S}/nand-part ${D}/${bindir}
install -m 755 ${S}/pio ${D}/${bindir}
install -m 755 ${S}/usb-boot ${D}/${bindir}
}