555 Commits

Author SHA1 Message Date
b99cc59cfc Use mainline atf
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2022-03-01 08:01:07 +01:00
f367a1ff2c xradio-firmware: Update to latest master
Old version seems to have random crashes when using softap functionality

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2021-06-30 11:10:02 +02:00
7b7c64f8ef Added support for bananapi-m64 machine
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2021-06-30 11:09:57 +02:00
a3848d2e23 Merge pull request #323 from MitchGaines/opi-plus2e-machine
Orange Pi Plus 2E Machine Configuration
2021-06-23 16:51:41 +02:00
eae1cd6122 machine added 2021-06-23 09:28:43 -04:00
91ddc99c98 default to 'boot' as boot partition label
Defaulting to the $MACHINE may lead to failure if the name was
longer than the limit of allowed volume label of fat (11 chars).

Signed-off-by: Marius Kriegerowski <marius.kriegerowski@gmail.com>
2021-05-17 13:30:28 +02:00
ea508b4f10 Merge pull request #316 from linux-sunxi/mbe-dunfell
Misc fixes
2021-04-17 09:39:17 +02:00
e76d39e3d2 linux-mainline: Bump to 4.x and 5.x to lastest stable releases
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2021-04-13 15:58:03 +02:00
a1a6504789 Added bananapi-m2m machine
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2021-04-13 13:17:57 +02:00
c47c7dcc61 u-boot: Fix orange-pi-zero booting
Without this patch booting ends with Starting kernel ...

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2021-03-30 21:53:22 +02:00
b1db4fbfc7 Merge pull request #304 from mfrydrysiak/dunfell-m2plus
conf: machine: add bananapi-m2plus
2020-11-12 11:49:18 +01:00
e4d5c7323e conf: machine: add bananapi-m2plus
Add machine configuration for H3 based Banana Pi M2+.

Signed-off-by: Marek Frydrysiak <marek.frydrysiak@gmail.com>
2020-11-11 16:44:08 +01:00
37bfb7c8cd xradio: Use updated driver from armbian
Current xradio driver have an issue that with 5.x kernel doesn't work properly.
Bump it to more maintained one which support also 5.x kernel.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2020-10-15 19:51:21 +02:00
648484cd2c Merge pull request #296 from Kynetics/dunfell
linux-mainline: update to lt 5.4.69
2020-10-01 20:00:39 +02:00
296735769d linux-mainline: update to lt 5.4.69
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-10-01 16:55:48 +00:00
f3243b56d2 xradio: Bump revision to have it compilable with later 5.x kernel
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2020-09-18 10:43:53 +02:00
8b7ee077bf Merge pull request #291 from Kynetics/dunfell
Revert "u-boot: rebase patch against v2020.04"
2020-06-25 21:30:02 +02:00
6787fdcc4a Revert "u-boot: rebase patch against v2020.04"
This reverts commit ebde1a411c.
Dunfell uses U-Boot 2020.01, so this patch shouldn't be applied in the
dunfell branch.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-06-19 12:38:08 +00:00
56bfc99b03 linux-mainline: Added fix for bananapi
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2020-06-01 08:44:07 +02:00
ebde1a411c u-boot: rebase patch against v2020.04
Signed-off-by: Jonathan Liu <net147@gmail.com>
2020-06-01 08:44:02 +02:00
ee0b2699ee Merge pull request #287 from Kynetics/master
layer.conf: add "dunfell" compatibility
2020-05-08 20:33:59 +02:00
d46ff454d0 layer.conf: add "dunfell" compatibility
Update the layer compatibility information to indicate this layer is
compatible with "dunfell".

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-04-28 21:12:04 +00:00
ee3a551b83 Merge pull request #285 from Kynetics/use-mainline-graphics
Enable open source GPU drivers
2020-03-19 07:49:36 +01:00
74a488e2ef README.md: document how to select gfx drivers
Update documentation to clarify how to select the use of mainline graphics
drivers lima and panfrost.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-03-18 22:45:30 +01:00
1d6ef084db Enable open source GPU support
Enable open source GPU support for Mali Utgard GPUs (lima driver) and
Mali Midgard and Bifrost GPUs (panfrost driver).
The support is enabled by:
- enabling DRM kernel CONFIGs
- enabling lima, panfrost and kmsro in Mesa
- disabling the specific mali driver overrides in sunxi-mali.inc
To enable open source mainline graphics support just add the following
line in your local.conf:

MACHINEOVERRIDES .= ":use-mailine-graphics"

Please note that some machines may need a bigger CMA value to be able to
start Weston. To do that, add e.g. "cma=128M" to the kernel parameters.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-03-18 21:36:14 +01:00
fa0846c0eb Merge pull request #284 from Kynetics/master
Kernel recipe improvements
2020-03-05 22:14:02 +01:00
e9d4b90576 linux-mainline: use .inc for common code
Use .inc file to share common code and parameters. Also, always apply
orange-pi-zero wifi patch unconditionally: it is easier to spot build
issues while updating recipes if patch is applied regardless of the
machine we're building on.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-03-03 20:58:15 +00:00
620c66eac5 linux-mainline: enable keyboard and mouse
Enable keyboard and mouse support in arm defconfig.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-02-28 20:55:44 +00:00
4b928c5b72 Merge pull request #283 from Kynetics/master
conf: machine: add orange-pi-zero-plus2-h3
2020-02-14 08:02:49 +01:00
6eab521310 conf: machine: add orange-pi-zero-plus2-h3
Add machine configuration for H3 variant of Orange Pi Zero Plus2.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-02-13 23:14:28 +00:00
c82b2f8612 Merge pull request #277 from Kynetics/master
linux-mainline: update lt to 5.4.12, rc to 5.5-rc6
2020-02-11 22:31:32 +01:00
02e3e7fba8 linux-mainline: add lt 5.4.18, stable 5.5.3
According to:
https://www.kernel.org/category/releases.html
version 5.4 is a longterm release, so:
- add longterm 5.4 series at 5.4.18
- update longterm 4.19 series to 4.19.103
- update stable to 5.5.3
- remove rc, as it quickly gets out of date. rc users will likely build
kernel from master outside of OE anyway
- set 5.4 as the preferred version for linux-mainline

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-02-11 20:54:54 +00:00
12cbb60a76 Merge pull request #280 from Kynetics/python2-removal
pya20: update to 0.2.12 and python3
2020-01-30 09:49:10 +01:00
2398d55ad4 pya20: update to 0.2.12 and python3
Update pya20 to version 0.2.12:
- support for Python2 has been removed in oe-core master (see commit
390f3edabfb1f68ed9766245291c5f44ea00cc38) so dependencies and classes
have been changed to use Python3. Without this change recipe parsing
fails on master, as distutils class doesn't exist anymore
- license has been fixed to be GPLv3 as declared in pyA20/__init__.py
- setup.py.patch is no longer needed
- pya20som has been removed, as machine olinuxino-a20som is supported by
pya20

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2020-01-29 22:50:09 +00:00
f9060cda38 Merge pull request #278 from kedder/master
Fix compilation of legacy linux-sunxi-3.4 kernel under zeus
2020-01-26 10:35:38 +01:00
f25203c936 Mention that devicetree needs to be disabled for old kernel 2020-01-26 11:02:00 +02:00
b2f0d28f49 Correctly generate .config file for the compilation 2020-01-26 11:02:00 +02:00
89be65d931 u-boot-sunxi: fix compilation under gcc, newer than 4 2020-01-26 11:01:56 +02:00
802857ee59 linux-sunxi: fix compilation issue on gcc-9
Error comes in form of

/tmp/ccCGMQmS.s:648: Error: .err encountered

Tested on zeus branch of linux-sunxi.
2020-01-26 10:57:58 +02:00
fbf5ac3e31 Merge pull request #276 from cz7asm/master
fixing missing 'compatible' property in reg_vcc_wifi node
2020-01-12 09:16:23 +01:00
c9527c099d fixing missing 'compatible' property in reg_vcc_wifi node 2020-01-11 22:59:27 +01:00
21462a47a2 Merge pull request #274 from Kynetics/master
ap6212a.inc: add support for AMPAK 6212A
2019-12-31 18:38:46 +01:00
7fdbe68c1f ap6212a.inc: add support for AMPAK 6212A
Add support for AMPAK 6212A module:
1) install kernel module
2) install firmware
3) create the required symlink with the AP6212 NVRAM file
Enable the support in the boards with the module, according to:
https://linux-sunxi.org/Table_of_Allwinner_based_boards
The link creation with compatible name works on kernels >= 5.0.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2019-12-05 10:05:54 +00:00
b7b8764c8f Merge pull request #271 from Kynetics/master
machine: remove U-Boot PREFERRED_VERSION
2019-11-07 11:24:48 +01:00
504fa1bb71 machine: remove U-Boot PREFERRED_VERSION
Remove pointless U-Boot PREFERRED_VERSION, as meta-sunxi no longer
provides its own u-boot recipe.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2019-11-06 12:44:11 +00:00
902841dcd4 Merge pull request #272 from Kynetics/kernel-update/master
Update kernel recipes to latest revisions
2019-11-06 12:58:23 +01:00
9fef250ca8 linux-mainline: update rc to 5.4-rc6
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2019-11-06 11:19:00 +00:00
0419afad79 linux-mainline: update stable to 5.3.8
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2019-11-06 11:19:00 +00:00
444672b854 linux-mainline: update longterm to 4.19.81
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2019-11-06 11:19:00 +00:00
f1378e33af Merge pull request #270 from twoerner/contrib/twoerner/fixes-05
LAYERSERIES_COMPAT: warrior -> zeus
2019-10-16 14:05:56 +02:00
efe6aef33f LAYERSERIES_COMPAT: warrior -> zeus
Update the layer compatibility information to indicate this layer is
compatible with "zeus".

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2019-10-09 08:00:20 -04:00
b20940edd0 linux-sunxi: disable glamor build if Mali is used
Unless somebody writes libgbm replacement for binary Mali driver
(sort of converter for gbm-UMB) there is no glamor for us.

Closes #227
2019-09-07 22:16:50 +02:00
63ee6333dc Fix soname in Mali.so to make auto-RDEPENDS work
The auto-RDEPENDs system reqires that all .so libraries have
proper soname set. If library soes not have soname set, it will
not be added to RDEPENDs list of other elf files.

Closes #240
2019-09-07 16:38:48 +02:00
23acf5bc61 Merge pull request #266 from twoerner/contrib/twoerner/fixes-04
Contrib/twoerner/fixes 04
2019-09-02 07:52:42 +02:00
d0bbc7334d U-Boot: patch refresh
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2019-08-30 14:06:41 -04:00
7964ef28bd U-Boot: switch to upstream
Use the upstream U-Boot and simply bbappend the changes that are needed.

U-Boot 2018.09 no longer builds against master.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2019-08-30 14:06:41 -04:00
e10f05d494 Merge pull request #264 from nandra/mbe-fix-wifi-patch
linux: refresh orange-pi-zero wifi patch
2019-08-07 08:17:00 +02:00
1f46cadd4c linux: refresh orange-pi-zero wifi patch
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-08-07 08:16:15 +02:00
a5cecabb42 Merge pull request #265 from nandra/mbe-update-kernels
Update mainline kernels
2019-08-07 08:14:03 +02:00
d034a64bc4 linux-mainline: Added bleeding edge kernel 5.3-rc2
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-08-07 08:13:19 +02:00
6bfa745149 linux-mainline: Drop 5.0 and use 5.2 as latest release
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-08-07 08:13:19 +02:00
70d37fa203 linux-mainline: Bump 4.19 to latest stable
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-08-07 08:13:19 +02:00
741b6238b6 Merge pull request #262 from MdeVries86/feature/olinuxino-a64-wifi
Add wifi support for olinuxino-a64
2019-07-09 11:35:36 +02:00
917850e01d Merge pull request #261 from lorem-ipsum/sun50i-tune
sun50i: change tuning params to cortex-a53
2019-07-04 10:00:17 +02:00
5e1a2937bd Add wifi support for olinuxino-a64 2019-06-25 23:50:52 +02:00
be78fab082 drop layers older than warrior from layercompat 2019-06-25 16:23:08 +02:00
f4e059ee3d sun50i: change tuning params to cortex-a53 2019-06-25 16:17:10 +02:00
7c6cefcfe6 conf: machine: Add Machine Nano Pi M1 Plus
Signed-off-by: Thinh Nguyen <nguyen.trong.thinh@styl.solutions>
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-06-15 16:28:07 +02:00
5ba77e0981 Add machine config for olinuxino-a64 2019-06-15 16:23:54 +02:00
e698148963 Added pcDuino3 Board 2019-06-15 16:22:20 +02:00
c0ece4613d Update maintainer section + section about kernel
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-06-07 10:25:15 +02:00
4921234ed7 Merge pull request #257 from nandra/sunxi-kernel-bump
Sunxi kernel bump
2019-06-07 10:18:41 +02:00
2e5db363c2 linux-mainline: Added latest stable version
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-05-30 15:57:09 +02:00
e93d74767e sunxi.inc: Set kernel version to latest LTS version
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-05-30 15:56:54 +02:00
7983549705 linux-mainline: Add bleeding edge kernel version
Useful for testing new stuff.
There is one patch which was necessary see:

http://lists.openembedded.org/pipermail/openembedded-core/2019-May/283034.html

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-05-30 15:20:44 +02:00
3bb0abd730 linux-mainline: Bump to latest LTS kernel
In sync with warrior branch

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-05-30 15:19:11 +02:00
c4a2923380 xorg-server: xf86-video-fbturbo: Replace xf86driproto with xorgproto
xf86driproto was dropped and replaced by xorgproto

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-05-29 22:30:40 +02:00
9bcd991e74 Merge pull request #256 from 3mdeb/layerdepends
Layerdepends
2019-05-29 20:30:27 +02:00
628b14b9fd README.md: meta-openembedded/meta-oe as dependency
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2019-05-29 19:14:33 +02:00
abd1463aa9 conf/layer.conf: add LAYERDEPENDS
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2019-05-29 19:09:40 +02:00
84961a9521 conf/layer.conf: add LAYERVERSION
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
2019-05-29 19:09:30 +02:00
8fcc6136d0 Merge pull request #252 from nandra/nandra-dri2proto-replacement
misc: Replace dri2proto with xorgproto
2019-05-28 10:20:27 +02:00
9b32d6a61c misc: Replace dri2proto with xorgproto
dri2proto and xextproto was replaced by xorgproto
see: https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#migration

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2019-05-27 16:26:37 +02:00
aa36e417e2 Merge pull request #249 from darekp/dev
sunxi-tools: add inherit pkgconfig
2019-04-19 16:58:50 +02:00
54c75110b4 Merge pull request #247 from twoerner/contrib/twoerner/warrior
layer.conf: add warrior to COMPAT list
2019-04-19 16:58:20 +02:00
81f6a30ac9 sunxi-tools: add inherit pkgconfig
sunxi-tools requires pkg-config native binary
which may be missing wihen pkgconfig class
is not inherited.

Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com>
2019-04-17 15:45:37 +00:00
b6288e15ad layer.conf: add warrior to COMPAT list
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2019-04-03 16:12:25 -04:00
6b9ef7519c Merge pull request #246 from XevoInc/master
machine: use armv8a, not armv8
2019-03-07 07:13:49 +01:00
837aeefae3 Merge pull request #245 from mwohlert/update-xradio-firmware
xradio-firmware: Update git repository und paths
2019-03-07 07:13:19 +01:00
bfcf51f595 Merge pull request #243 from konsulko/pine64-plus
Add pine64-plus machine
2019-03-07 07:12:43 +01:00
efe4acdeff machine: use armv8-a, not armv8
In the latest OE, this file has been renamed. Since this board is
ARMv8-A, we should use the armv8-a config instead of the armv8 config.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2019-03-05 15:35:52 -08:00
42fd81b2b8 recipes-kernel: xradio-firmware: Update git repository und paths 2019-02-09 21:37:20 +01:00
064257654a Add pine64-plus machine
Adds A64-based pine64-plus machine.

Signed-off-by: Matt Porter <mporter@konsulko.com>
2019-01-13 08:37:06 -05:00
72ece33639 Merge pull request #238 from geomatsi/update-u-boot-to-2018.09
u-boot: upgrade to 2018.09
2018-11-21 18:23:40 +01:00
a66f824d6f Merge pull request #236 from geomatsi/fix-dtb-filenames
sdcard_image-sunxi.bbclass: fix dtb naming conventions
2018-11-21 18:20:20 +01:00
d57301be50 Merge pull request #234 from geomatsi/fix-bison-native-dep
linux: specify explicit dependencies to configme task
2018-11-21 18:17:19 +01:00
4e0c7e2a6c Merge pull request #233 from nandra/opi-zero-wifi-support
Adde orange-pi-zero wifi support
2018-11-21 18:15:08 +01:00
6b536f1083 u-boot: upgrade to 2018.09
Bump u-boot version. Notes:
- pylibfdt fix is not needed anymore
- add bison and flex as depenedencies
- update license info

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2018-11-10 21:58:32 +03:00
f9ad5fa55b sdcard_image-sunxi.bbclass: fix dtb naming conventions
DTB naming conventions has been changed on deploy, see:
poky: c5b70d7155a76b727400db225c446d1b2f7072a6
oe-core: 1860d9d3c62e2e94cd68a809385873ffd8270b6d

Modify sdcard_image-sunxi.bbclass accordingly.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2018-11-09 23:09:54 +03:00
eb72b91844 xradio: Drop unnecessary patch when fix module compilation
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2018-11-03 22:43:29 +01:00
df2236f3f7 linux: specify explicit dependencies to configme task
This change is an adaptation of commit 81e8a52e8e40e47 from poky/master.

Linux kernel build dependencies include bison since v4.16.
There were two different commits in poky adding those dependencies:
- poky/master: 81e8a52e8e40e47
- poky/sumo:   20e4d309e12bf10

However just adding bison-native to DEPENDS in linux or linux-yocto
class (as in poky/sumo) appears to be insufficient. The reason has
been clarified in 81e8a52e8e40e47 commit message:

"For linux-yocto, we also need to specify the compiler/tools dependencies
for the configme task since it executes before configure and hence the
main kernel build DEPENDS will not always be in the sysroot before it
executes. Without those dependencies the kernel will be incorrectly
configured (i.e. bison is missing) or the configuration will fail
the mitigation tests."

Layer meta-sunxi is compatible with multiple Yocto releases. Some of
those releases have been developed and tested with earlier kernels.
So they may not include new bison kernel build dependencies. That
is why it  makes sense to specify new kernel build dependencies
explicitely in meta-sunxi kernel recipes rather than rely upon
upper layers.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2018-10-31 09:08:32 +03:00
0bc0be4186 linux-mainline: Added wifi dts changes for orange-pi-zero wifi
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2018-10-30 20:43:28 +01:00
991567e017 recipes-kernel: xradio-firmware: Added wifi firmware for orange-pi-zero
Taken from:
https://github.com/Halolo/orange-pi-distro.git

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2018-10-30 20:43:28 +01:00
318e609f65 recipes-kernel: xradio: Added wifi driver for orange-pi-zero wifi
Driver taken from:
https://github.com/Halolo/orange-pi-distro.git

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2018-10-30 20:43:28 +01:00
712229cbe4 Merge pull request #230 from floion/enable_emmc_in_kernel_and_uboot
Enable emmc in kernel and uboot for Nanopi Neo Air
2018-09-27 20:58:07 +02:00
5e1b5a9f86 u-boot_2018.03.bb: Enable eMMC support for Nanopi Neo Air
Signed-off-by: Florin Sarbu <florin@resin.io>
2018-09-25 20:27:12 +02:00
a1297419fe linux-mainline: Add back eMMC support for Nanopi Neo Air
Signed-off-by: Florin Sarbu <florin@resin.io>
2018-09-25 20:27:11 +02:00
7d770d3061 Merge pull request #225 from mirzak/orange-pi-pc-plus-update-u-boot-version
orange-pi-pc-plus: update preferred U-boot version to v2018.03
2018-09-25 19:34:40 +02:00
0c6e53be97 Merge pull request #226 from mirzak/fix-loadaddress
remove UBOOT_LOADADDRES
2018-09-25 19:34:05 +02:00
a28dffd16d machine: sunxi: remove UBOOT_LOADADDRESS
This has been assigned a value containing a typo since 2015, my
assumption is that this is not used and hence we can simply drop
it. The typo is that the address contains a 'O' character instead
of '0', the last one is a zero.

Either way the kernel.bbclass will set a default value, that is:

     UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"

Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
2018-08-06 16:02:13 +02:00
47c3e21ace orange-pi-pc-plus: update preferred U-boot version to v2018.03
v2017.03 no longer exists and produces warnings if set as preferred:

NOTE: Resolving any missing task queue dependencies
NOTE: preferred version v2017.03% of u-boot not available (for item virtual/bootloader)
NOTE: versions of u-boot available: 1:2018.01 2:v2018.03+gitAUTOINC+f95ab1fb6e
NOTE: preferred version v2017.03% of u-boot not available (for item u-boot-dev)
NOTE: versions of u-boot available: 1:2018.01 2:v2018.03+gitAUTOINC+f95ab1fb6e
NOTE: preferred version v2017.03% of u-boot not available (for item u-boot)
NOTE: versions of u-boot available: 1:2018.01 2:v2018.03+gitAUTOINC+f95ab1fb6e

Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
2018-08-06 12:50:50 +02:00
df468d72d7 Merge pull request #215 from XevoInc/nanopi-neo-plus2
Add the nanopi neo 2 and plus2
2018-06-10 23:40:08 +02:00
fef6da2d86 Merge pull request #220 from Kynetics/master
Update kernel to latest versions
2018-06-10 23:38:58 +02:00
85cc70a3fa Merge pull request #214 from XevoInc/layerseries-compat
add LAYERSERIES_COMPAT declaration
2018-06-10 23:38:33 +02:00
f54a652383 Merge pull request #216 from leon-anavi/master
README.md: Update Kernel / U-Boot Version
2018-06-10 23:37:46 +02:00
927dd91361 Merge pull request #221 from koenkooi/master-oe.utils
Fix parse failure with sumo and master
2018-06-10 22:31:31 +02:00
9bd942ab3b linux.inc: base_conditional -> oe.utils.conditional
Fixes parsing with e.g. 'sumo' and 'master' branch of OE-core

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
2018-06-10 08:55:39 +02:00
6759ac4ce6 linux-mainline: update stable to 4.16.13
Update stable kernel to 4.16.13 and git kernel to 4.17-rc7.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2018-06-01 11:59:44 +00:00
cf8eb364a0 add LAYERSERIES_COMPAT declaration
In current Yocto master, it's now a warning not to include
LAYERSERIES_COMPAT in layer.conf. See below for more information:

https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-LAYERSERIES_COMPAT

Add this information for all current development and stable releases.

Tested-by: Sergey Matyukevich <geomatsi@gmail.com>
Tested-by: Diego Rondini <diego.rondini@kynetics.com>
Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-05-30 09:16:42 -07:00
4900e75a6a nanopi-neo2: add new board
Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-05-01 10:11:57 -07:00
d419cfe0a1 nanopi-neo-plus2: enable the second USB port
Currently, only one of the exposed USB ports works because we haven't
loaded the sunxi musb driver, which enables the OTG port to act in host
mode.

After enabling this driver in the config, both ports work correctly.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-04-30 16:54:47 -07:00
c0f804f573 nanopi-neo-plus2: add new board
Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-04-30 16:54:43 -07:00
8cd113bdd8 README.md: Update Kernel / U-Boot Version
Update and improve the information in section
"Kernel / U-Boot Version".

Signed-off-by: Leon Anavi <leon@anavi.org>
2018-04-13 03:20:45 +03:00
5e61ba92e3 u-boot: upgrade to 2018.03
This version of u-boot includes nanopi-neo-plus2 support.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-04-12 15:18:56 -07:00
7df74e3847 add LAYERSERIES_COMPAT declaration
In current Yocto master, it's now a warning not to include
LAYERSERIES_COMPAT in layer.conf. See below for more information:

https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-LAYERSERIES_COMPAT

Add this information for all current development and stable releases.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-04-10 13:45:56 -07:00
073dbda366 Merge pull request #208 from geomatsi/kernel-update
linux: bump kernel version to 4.15
2018-03-09 08:48:42 +01:00
7bbd1ea6fa linux: bump kernel version to 4.15
Bump Linux kernel version to 4.15.

Notes:
- orange-pi-zero-plus2: drop patch fixing sdcard detect
  -- this fix is already in 4.15
- H2+/H3 SoCs: in 4.15 ethernet works right out of the box

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2018-02-03 21:11:09 +03:00
09b67e1d65 Merge pull request #204 from XevoInc/nanopi-neo-air-wifi
nanopi-neo-air: add wifi DT patch
2018-01-26 19:22:17 +01:00
beee11ba81 nanopi-neo-air: add wifi DT patch
Backport a devicetree patch to enable wifi on the nanopi neo air.

The patch comes from here:

https://www.spinics.net/lists/arm-kernel/msg630904.html

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-25 11:43:06 -08:00
c549fc237d Merge branch 'XevoInc-update-kernel' 2018-01-23 23:29:17 +01:00
29eb4d3de7 Merge branch 'update-kernel' of https://github.com/XevoInc/meta-sunxi into XevoInc-update-kernel 2018-01-23 23:28:34 +01:00
c83ad689e3 Merge pull request #201 from Kynetics/master
linux-mainline: update RDEPENDS to match kernel naming
2018-01-23 23:23:56 +01:00
c351ae2786 Merge pull request #200 from XevoInc/fix-kernel-fragments
linux: fix kernel config fragment support
2018-01-23 23:23:30 +01:00
20864bd184 Merge pull request #198 from XevoInc/add-nanopi-neo-air
nanopi-neo-air: add new board
2018-01-23 23:20:52 +01:00
8875f3cc9a Merge pull request #197 from XevoInc/comment-fix
sdimage: fix incorrect comment
2018-01-23 23:20:06 +01:00
b5e1851242 linux-mainline: update to 4.14.15
This fixes an important brcmfmac use-after-free error:
brcmfmac: change driver unbind order of the sdio function devices
commit 5c3de777bdaf48bd0cfb43097c0d0fb85056cab7 upstream.
commit 01b43f2e3cad60c626daa9b174667a202cee6987 in linux-4.14.y

Without this change, I notice this error regularly when loading the wifi
firmware on the nanopi neo air.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-23 13:13:05 -08:00
874c9ff224 linux-mainline: update RDEPENDS to match kernel naming
The kernel-devicetree class now sets RDEPENDS_${KERNEL_PACKAGE_NAME}-base so we
needs to do the same, otherwise bitbake emits a warning. Reference change is
6c8c899 commit in oe-core.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2018-01-16 09:25:12 +00:00
1495b5e567 linux: fix kernel config fragment support
Currently, using kernel config fragments is not working. If you try
adding one as documented in the Yocto Mega Manual [1], it will be
ignored.

There are two reasons for this:
- The config fragment logic is in kernel-yocto.bbclass, so we need to inherit
  that (this is similar to what linux-raspberrypi does in meta-raspberrypi).
- We remove ${B}/.config, which undoes any config created by
  kernel-yocto.

Fix this by inheriting kernel-yocto and not removing ${B}/.config. With
this patch, fragments are working. Note that we also need to add a few
variables (like KERNEL_KBUILD) to make kernel-yocto happy.

[1]
http://www.yoctoproject.org/docs/2.5/mega-manual/mega-manual.html#creating-the-append-file

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-12 13:07:17 -08:00
17c1731264 nanopi-neo-air: add new board
We have devicetree and u-boot configs for the nanopi-neo-air, so add
them. As a basic test, this boots correctly on my nanopi-neo-air.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-10 12:56:57 -08:00
418ea17239 sdimage: fix incorrect comment
The comment says ext3 but the code says ext4, so fix the comment.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
2018-01-10 12:21:59 -08:00
2c85181c92 drop DEFAULTTUNE from machine recipes
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2017-12-21 17:40:55 +01:00
f3cba0b6b0 Merge pull request #196 from nandra/nandra-orangepi-pc-plus
Add configuration for orangepi pc plus
2017-12-21 17:39:34 +01:00
9e04cc3782 Merge pull request #193 from geomatsi/orange-pi-zero-plus2-wip
aarch64: sun50i: add support for orange-pi-zero-plus2 board
2017-12-21 17:34:42 +01:00
97ba08e3b6 conf: Added configuration for orangepi pc plus
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2017-12-20 21:20:03 +01:00
72c0f7aa6e orange-pi-zero-plus2: add new board
Orange Pi Zero Plus2 board is based on AllWinner H5 SoC.
For more details on its hardware see linux-sunxi wiki:
http://linux-sunxi.org/Xunlong_Orange_Pi_Zero_Plus_2

This patch enables basic support for orange-pi-zero-plus2 board:
- mainline kernel 4.14.2
- mainline u-boot 2017.11
- dts kernel patch that fixes boot from SD card
- dts kernel patch enabling AP6212 WiFi/BT chip

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 22:41:36 +03:00
416af351cb sdimage: add support for sun50i sunxi boards
Modify sdcard_image-sunxi bbclass to support both sun50i and older
SoC families. Major changes are as follows:
- update comments: disk layout info
- increase boot partition size: aarch64 unified kernels can be large
- kernel image in boot partition: replace explicit name by KERNEL_IMAGETYPE
- SPL image: replace explicit name by SPL_BINARY
- implement flexible DTB file location in boot partition
  -- e.g. by defaut sun50i u-boot looks for dtb in allwinner subdirectory
  -- follow kernel dtb naming conventions, e.g. allwinner/<board>.dtb
- copy aarch64 u-boot image to image
  -- sunxi arm boards use unified u-boot/spl image
  -- sunxi aarch64 boards use two different images

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 22:32:13 +03:00
e85a48c611 linux: enable sun50i support
There is no common kernel defconfig for both arm and aarch64.
Create separate kernel defconfigs in arm and aarch64 subdirectories.
Proper defconfig will be selected in build time
according to target architecture.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 22:28:10 +03:00
684a800c86 u-boot: enable support for sun50i
Add support of sun50i SoC family to u-boot recipe:
- move SPL_BINARY to sunxi.inc and sunxi64.inc
  -- different SoC families have different SPL_BINARY names
- create separate boot.cmd files for arm and aarch64
  -- different kernel image types require different boot commands
- add atf-sunxi dependency
  -- u-boot for aarch64 needs ATF BL31 binary

- add do_compile_sun50i[depends]
  -- make sure that BL31 binary is already deployed before u-boot build

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 22:24:12 +03:00
da0e7e0ed1 atf-sunxi: add new recipe
Add ARM Trusted Firmware package for Allwinner arm64 chips.
There are different approaches to build bootloaders for aarch64
platforms. Allwinner approach is to build ATF first, and then
to build U-Boot using BL31 binary from ATF build.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 22:21:21 +03:00
3434ae8c66 sun50i: add support for aarch64 sun50i SoC family
Follow the same approach as in 32-bit sunxi SoC families:
- create sunxi64.inc: umbrella description for aarch64 sunxi
  -- specify proper u-boot/spl image types
  -- specify proper kernel image type
  -- specify u-boot/kernel preferred providers
- create basic description of sun50i SoC family
  -- sun50i SoC family is based on armv8

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 22:18:23 +03:00
4d9466c131 linux: update kernel recipes
- remove older stable release recipes
- bump stable linux recipe to 4.14.2
- bump git linux recipe to 4.15-rc1
- rename linux to linux-mainline

Renaming kernel recipe from 'linux' to 'linux-mainline' is needed to
get ready for adding aarch64 support. The reason is in the value of
OVERRIDES environment variable. BitBake uses OVERRIDES to control what
variables are overridden after BitBake parses recipes and configuration
files. So packages names are not allowed to take values listed in
OVERRIDES. One of the OVERRIDES values is TARGET_OS:
  TARGET_OS = linux${LIBCEXTENSION}${ABIEXTENSION}
For arm architecture TARGET_OS = "linux-gnueabi". However for aarch64
architecture TARGET_OS = "linux". As a result, in the case of aarch64
kernel package can not be named 'linux'. This patch renames kernel
package name to 'linux-mainline' in order to be able to maintain the
same kernel recipes for both arm and aarch64 boards.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 21:57:31 +03:00
1af0ae84d1 u-boot: fix binman/libfdt/pylibfdt build issue
Binman host tool in u-boot depends on libfdt library and pylibfdt module.
All the needed libraries and python modules are a part of u-boot.
This patch adds libfdt and pylibfdt to u-boot build:
- add required dependencies swig-native and python3-native
- fix python setup-tools issue: pass proper shared lib linker

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 21:53:46 +03:00
6499191c36 u-boot: simplify recipe license section
Remove the complete list of U-Boot licenses. Follow the poky and OE-core
approach and keep only umbrella reference to Licenses/README.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 21:46:10 +03:00
35e264f9fe u-boot: bump version to 2017.11
Remove patch adding OLinuxino-Lime2-eMMC defconfig:
it already merged to uboot mainline.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-12-03 21:44:48 +03:00
cee0b74ce4 pypi requires a https connection
(cherry picked from commit 7f5aae9d1c)
2017-10-27 13:46:41 +02:00
f7169d0855 Merge pull request #191 from Kynetics/master
Kernels update (4.13.4, 4.4.89)
2017-10-05 21:20:24 +02:00
7a5d385087 linux: update 4.4 to 4.4.89
Update 4.4 series from 4.4.40 to 4.4.89.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2017-10-02 11:27:38 +00:00
4b43209a92 linux: update to 4.13.4
Update stable to 4.13.4 version thus removing backported patch and requirement
of git version for several boards (current stable 4.13 is newer than previous
git 4.11).
Additionally update git version to 4.14-rc3.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2017-10-02 11:23:06 +00:00
2b4fc8f546 Merge pull request #190 from Kynetics/master
linux: remove linux-dtb.inc
2017-10-01 20:31:10 +02:00
0c69f0fb5b linux: remove linux-dtb.inc
Adapt to upstream change in oe-core commit 03a00be: now Device Tree support is
automatically enabled when KERNEL_DEVICETREE is set.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2017-09-29 10:06:44 +00:00
fcda1c7baa Merge pull request #186 from twoerner/contrib/twoerner/deprecated-depends
sdcard_image-sunxi.bbclass: fix deprecated notation
2017-07-17 19:09:14 +02:00
77c1026676 sdcard_image-sunxi.bbclass: fix deprecated notation
The older "IMAGE_DEPENDS_*" notation has been deprecated in favour of the
"do_image_...[depends]" notation.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2017-07-17 09:01:30 -04:00
a84d6a40c1 sdcard_image-sunxi: fix dependency loop
As suggested by Andrei Gherzan (see #178):

"The current implementation inherits sdcard_image-sunxi.bbclass
unconditionally which in turn, sets two depends on do_rootfs
unconditionally again.

This means that if I want to build an initramfs image in the
kernel image I will get a dependency loop."

Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2017-04-26 23:34:47 +02:00
4740d3fe2d Merge pull request #175 from Kynetics/master
Add support for eMMC variant of OLinuXino Lime2
2017-04-26 14:01:45 +02:00
0ebd445fbd olinuxino-a20lime2-emmc: add configuration
Add machine configuration file for Olimex A20-OLinuXino Lime2 Board with 4GB
eMMC.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2017-04-26 08:46:45 +00:00
32aad38a16 linux: backport patch for Lime2 eMMC support
Backport patch from v4.10 to fix eMMC support on OLinuXino Lime2.
2017-04-26 08:46:45 +00:00
febf35474a u-boot: adjust root for eMMC boot
Adjust the bootscript so that if U-Boot is loaded from the eMMC, then
kernel "root" parameter is set to use eMMC second partition.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2017-04-26 08:46:45 +00:00
54bc239a3f u-boot: add support for eMMC for OLinuXino Lime2
Add support for eMMC for Olimex A20-OLinuXino Lime2 eMMC board by adding the
appropriate defconfig while waiting it is upstreamed in mainline U-Boot.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2017-04-26 08:46:45 +00:00
6705d227ad Merge pull request #180 from koenkooi/kernel-config-master
Kernel config changes (usb storage/serial, filesystems as modules)
2017-04-25 23:42:48 +02:00
229b714fdf linux: enable filesystems as modules
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2017-04-25 07:51:35 +02:00
df1d78041d linux: enable popular USB serial drivers
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2017-04-25 07:51:35 +02:00
912fe78aa3 linux: enable support for USB storage
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2017-04-25 07:51:35 +02:00
7249f90834 Merge pull request #176 from fdlg/master
Add support for Orange Pi PC board
2017-04-24 14:37:59 +02:00
dec3faadd9 Bump versions kernel and u-boot versions for orange pi pc 2017-04-19 17:02:16 -07:00
6b0661dff2 Add support for Orange Pi PC board 2017-04-19 13:33:50 -07:00
aaf413d6a7 Merge pull request #166 from xpete/disabletslib
Disable tslib bbappend

Its usefulness is unknown and it's the only recipe that make us depend on meta-oe
2017-04-11 21:32:08 +02:00
679053489c Merge pull request #172 from twoerner/contrib/twoerner/gcc6-uboot-fix
u-boot-sunxi: gcc6 fix
2017-04-10 22:13:12 +02:00
f2db7fb88e Merge pull request #171 from geomatsi/orange-pi-zero-and-misc-updates
bump u-boot, kernel, enable CONFIG_THERMAL_OF, add new orange-pi-zero board
2017-04-10 22:12:50 +02:00
9d34c6f2f6 u-boot-sunxi: gcc6 fix
Fix the following build error when compiling u-boot-sunxi with gcc6:

	linux/compiler-gcc6.h: No such file or directory

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2017-04-09 20:04:00 -04:00
7037d13e6a Add support for Orange Pi Zero board
Add machine description for Orange Pi Zero board. Detailed hardware
overview is available at the following linux-sunxi wiki page:
http://linux-sunxi.org/Orange_Pi_Zero

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-04-09 19:13:15 +03:00
a6d2bb6b9e Bump versions of kernel and u-boot
Bump preferred u-boot release version and kernel git version:
- kernel 4.11.0-rc5
- u-boot 2017.03

Update preferred versions of u-boot and kernel for all the
boards that are using them: nanopi-neo, orange-pi-one, pcduino.

The purpose of this update is to get the latest features for
sun8i cores including SPI support and orange-pi-zero support

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-04-09 19:13:12 +03:00
8eb8602a76 update kernel defconfig: add CONFIG_THERMAL_OF
This enables CONFIG_THERMAL_OF by default for kernel config. It is
required to get Allwinner SoCs' temperature from the GPADC driver.

For detailed description see mainline kernel commit:
11937f69b65b08d3184b1ebc864668be4b6c5427

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2017-04-09 19:13:09 +03:00
eb6cb19b84 sdcard_image-sunxi: build fix
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
(cherry picked from commit 941171c912)
2017-04-06 23:12:24 +02:00
d47fa32013 linux: update to 4.9.20
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2017-04-02 23:23:07 +02:00
f5756a588e Merge branch 'morty' 2017-04-02 23:19:32 +02:00
7fad64eefd Merge pull request #170 from xpete/sunxi-tools_1.4_update
fixes sunxi-tools build and updates to lastest version (1.4)
2017-04-02 23:13:41 +02:00
f0efcf45a9 Merge pull request #167 from xpete/updatekernelto49
Adds the lastest longterm kernel version
2017-04-02 23:13:23 +02:00
7bfffa0671 PR reset to 0 2017-04-01 16:02:53 +01:00
54164a628a fixes sunxi-tools build and updates to lastest version (1.4) 2017-03-31 18:16:36 +01:00
6c696b22d3 Adds the lastest longterm kernel version 2017-02-21 16:26:09 +00:00
12a0cffe6a Disables tslib 2017-02-13 09:39:29 +00:00
9bfe3ca1ad fixed recipe name, updated version and A20-SOM support added
(cherry picked from commit 88b2d34302)
2017-02-07 13:27:11 +01:00
ff23db6e55 added a20som support to pyA20
(cherry picked from commit d1593cf467)
2017-02-07 13:27:08 +01:00
1848d697ad fixed recipe name, updated version and A20-SOM support added
(cherry picked from commit 88b2d34302)
2017-02-07 13:26:43 +01:00
d94f784d4d added a20som support to pyA20
(cherry picked from commit d1593cf467)
2017-02-07 13:26:26 +01:00
7f791bd576 Fix Olimex A20 SOM configuration
* Added missing kernel device tree definition.
* Updated U-Boot definiton.

(cherry picked from commit be22a388db)
2017-01-18 21:39:50 +01:00
7f88e6c78e Merge pull request #159 from jamespettigrew/master
Add support for FriendlyARM NanoPi Neo board
2017-01-12 18:30:37 +01:00
0a77e55428 Add support for FriendlyARM NanoPi Neo board
Signed-off-by: James Pettigrew <james@innovum.com.au>
2017-01-12 11:24:59 +11:00
e372befda7 Bump Linux kernel version to 4.4.40
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2017-01-08 20:59:29 +01:00
10f37db26c Merge pull request #157 from geomatsi/orange-pi-one-support
Add support for Orange Pi One board
2016-12-16 17:32:14 +01:00
2b1cafc104 pcduino: bump preferred u-boot and kernel versions
Bump preferred u-boot and kernel versions:
- kernel 4.9
- u-boot 2016.11

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2016-12-15 23:10:24 +03:00
fe66ceacb5 sunxi-mail: fix bitbake QA issues for sunxi-mali
Fix QA issues for sunxi-mali-test package:
- add proper RDEPENDS
- don't check closed binary for sections, relocations, etc

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2016-12-14 22:55:47 +03:00
75fe4617ce Add support for Orange Pi One board
Add machine description for Orange Pi One board.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2016-12-14 22:53:24 +03:00
3ef9217ad7 Change PV for kernel git version
Bump kernel git version to enable support for sun8i boards.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2016-12-14 22:52:24 +03:00
0dcdc4edf9 sun8i: add new SoC family
Add config for sun8i SoC family and specify preferred BSP components.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2016-12-14 22:49:57 +03:00
0b21d3bd2f Merge pull request #156 from net147/getvar-fixes
sunxi-mali: Use d.getVar
2016-12-05 11:31:24 +01:00
3bd237ac1b sunxi-mali: Use d.getVar
The bb.data API is deprecated, use d.getVar instead.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-12-03 22:34:28 +11:00
1c38e7fa72 Merge pull request #154 from net147/doc-fixes
README.md: Clean up build instructions
2016-11-28 13:12:45 +01:00
49f7a659b4 Merge pull request #153 from net147/u-boot-2016.11
u-boot: update to 2016.11
2016-11-28 13:12:14 +01:00
72d35fc0a6 README.md: Clean up build instructions
The linux-sunxi can now be built with GCC 6 so the GCCVERSION variable
doesn't need to be set anymore.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-11-26 12:38:44 +11:00
11e16d173f u-boot: update to 2016.11
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-11-17 12:40:19 +11:00
f246bc943a Merge pull request #152 from gizero/fix-u-boot-build
u-boot_2016.09.01: fix build with new upstream u-boot.inc
2016-11-03 21:17:22 +01:00
6dfe134952 u-boot_2016.09.01: fix build with new upstream u-boot.inc
Commit b36056af20e981433f143556d511dec5644930fc in oe-core master
(matching commit in poky master is a40f5d34065129ab19a3c981cbb38f854e9ae0ec)
moved some bits out of u-boot.inc (from oe-core) into u-boot-common_${PV}.inc. This
breaks many u-boot recipes in the wild, including u-boot_2016.09.01 from this layer
since the variable S itself results undefined.

Explicitly setting S fixes the issue.
2016-11-03 18:07:44 +01:00
4ab93061c2 Merge pull request #150 from net147/u-boot-2016.09
u-boot: update to 2016.09.01
2016-09-26 09:45:28 +02:00
3dc1fc4103 u-boot: update to 2016.09.01
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-26 17:29:51 +10:00
1a840570a9 Merge pull request #149 from net147/gcc6-fixes
linux-sunxi: fix compiling with GCC 6
2016-09-26 09:23:58 +02:00
0c6af07690 linux-sunxi: fix compiling with GCC 6
Fixes the following compile error with GCC 6:
[...]/kernel-source/include/linux/compiler-gcc.h:103:30: fatal error: linux/compiler-gcc6.h: No such file or directory

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-25 21:53:32 +10:00
54321d7854 Merge pull request #147 from twoerner/contrib/twoerner/fixes-01
tslib: remove un-referenced patch
2016-09-17 13:58:08 +02:00
b87043d683 tslib: remove un-referenced patch
This patch is no longer referenced in any recipe, therefore remove it.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2016-09-15 08:53:48 -04:00
bb8656b63e Merge pull request #146 from net147/image-class-fixes
sdcard_image-sunxi.bbclass: remove redundant IMAGEDATESTAMP
2016-09-13 08:01:33 +02:00
93ec9da1e4 sdcard_image-sunxi.bbclass: remove redundant IMAGEDATESTAMP
The IMAGE_NAME variable already contains the date and time so it is
redundant to also include the date again with IMAGEDATESTAMP
when writing to image-version-info in the boot partition.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-13 12:04:05 +10:00
1c06816a26 Merge pull request #145 from net147/image-class-fixes
Image class fixes
2016-09-12 10:50:47 +02:00
f6417032a0 sdcard_image-sunxi.bbclass: add vardepsexclude to fix taskhash mismatch
IMAGEDATESTAMP may change while bitbake is running which can result in
a taskhash mismatch error for do_image_sunxi_sdimg.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-11 22:18:11 +10:00
26c32a3228 sdcard_image-sunxi.bbclass: fix copying device tree files not working
The image class assumes the working directory is the directory
containg the kernel and device tree files but this isn't always the
case.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-09 22:43:21 +10:00
0da0fd6531 sdcard_image-sunxi.bbclass: change deployment dir to IMGDEPLOYIDR
This fixes building images after OE-Core revision
6d969bacc718e21a5246d4da9bf9639dcae29b02.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-09-09 22:23:12 +10:00
5564b58b56 Merge pull request #142 from net147/u-boot-out-of-tree
u-boot: fix out-of-tree builds
2016-09-07 08:21:47 +02:00
53712dd3bb Merge pull request #143 from koenkooi/mali-float
sunxi-mali: error out earlier on non-hf builds
2016-09-07 08:21:07 +02:00
63410209ad sunxi-mali: error out earlier on non-hf builds
This will now error out during parsing instead of during do_compile as
well as having a better error message.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2016-09-06 11:53:08 +02:00
a3b6faa731 u-boot: fix out-of-tree builds
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-08-23 21:48:08 +10:00
b00caff43d Merge pull request #140 from jlucius/master
Update Kernel and U-Boot versions
2016-06-25 16:16:17 +02:00
11dee5bc94 Change PV for kernel git version
Signed-off-by: Jens Lucius <info@jenslucius.com>
2016-06-25 14:02:53 +02:00
f74be86e4a Update Mainline, Git Kernel
Update Mainline kernel from 4.4.6 to 4.4.13
Update Git kernel from 4.5.0 to 4.7 rc4

Signed-off-by: Jens Lucius <info@jenslucius.com>
2016-06-21 13:25:53 +02:00
7c1e4b303b Update U-Boot to 2016.05
Update to 2016.05 from 2016.03.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2016-06-21 13:17:58 +02:00
9e15c68634 Merge pull request #5 from linux-sunxi/master
Merge sunxi-master
2016-06-12 11:52:23 +02:00
69f56d3f94 Merge pull request #136 from twoerner/master
sunxi-mali: build fixes
2016-06-05 09:59:02 +02:00
9b77af849d sunxi-mali_git: base_contains() -> bb.utils.contains()
base_contains() is deprecated in favour of bb.utils.contains().

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2016-06-04 18:00:15 -04:00
3830f90aaa sunxi-mali_git: fix make args
Previously ${EXTRA_OECONF} had been added to the 'make' invocations, but this
doesn't work if, say, EXTRA_OECONF is set to '--disable-shared'. What was
probably meant was to add ${EXTRA_OEMAKE}.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2016-06-04 17:58:10 -04:00
35d98632f3 Merge pull request #135 from geomatsi/add-pcduino-support
Add support for pcduino devices
2016-05-20 13:13:49 +02:00
941e978370 Add support for pcduino devices
Add support for LinkSprite pcDuino1 device and its flavors
including pcduino-lite and pcduino-lite-wifi:

- add pcduino machine description
- enable CONFIG_SPI_SPIDEV in upstream kernel defconfig to provide simple userspace access
  to SPI devices on Arduino shields

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
2016-05-18 22:17:42 +03:00
51fe0eecc6 Merge pull request #132 from jlucius/master
Bump kernel and U-Boot
2016-03-24 10:17:22 +01:00
8c13f0de1b Bump Kernel versions
Stable kernel to 4.4.6
Git kernel to 4.5

Signed-off-by: Jens Lucius <info@jenslucius.com>
2016-03-20 19:17:19 +01:00
06828aab99 Remove old U-Boot 2016-03-20 19:16:33 +01:00
5d98843b7d Bump U-Boot to 2016.03 2016-03-20 19:15:03 +01:00
eb616d74b2 Add CONFIG_INPUT_EVDEV to kernel config
Signed-off-by: Jens Lucius info@jenslucius.com
2016-03-01 15:02:22 +01:00
ae9ea2876a fix u-boot build break with current master
The current yocto master adds a patch for the beaglebone to the u-boot.inc, which breaks the build.
Explicitly set SRC_URI to prevent that.

Signed-off-by: Jens Lucius info@jenslucius.com
2016-03-01 14:51:37 +01:00
a5a6479522 set default preference to mainline kernel
Signed-off-by: Jens Lucius info@jenslucius.com
2016-03-01 14:42:19 +01:00
50aaadc70d Bump kernel and U-Boot
Bump mainline kernel to 4.4.3 (from 4.1.15)
Bump git kernel to 4.5 rc6 (from 4.4 rc5)
Bump U-Boot to 2016.01 (from 2015.10)

Signed-off-by: Jens Lucius info@jenslucius.com
2016-02-29 21:15:28 +01:00
3eea4723ba Merge pull request #4 from linux-sunxi/master
Merge sunxi-master
2016-02-29 20:54:00 +01:00
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
0ed1eadb95 libdri2: added missing pkgconfig inherit
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2014-11-11 19:55:32 +01:00
715f2ace5b Merge pull request #74 from cybertux/fixed_u-boot_version
Append the shortened git revision to the u-boot version
2014-10-02 07:29:39 +02:00
56f00d5e20 Merge pull request #75 from net147/master
sunxi-mali: fix typos in COMPATIBLE_MACHINE
2014-10-02 07:29:25 +02:00
2c587ebf73 sunxi-mali: fix typos in COMPATIBLE_MACHINE 2014-10-02 13:20:57 +10:00
62d877b9e9 Append the shortened git revision to the u-boot version
This add the first 7 characters of the git sha-1 to the compiled in
u-boot version.

With  this change the serial console displays the following version information:

U-Boot 2014.04-gee425f9 (Oct 01 2014 - 22:20:35) Allwinner Technology

Without the version looks like this:

U-Boot 2014.04 (Oct 01 2014 - 21:55:57) Allwinner Technology


Signed-off-by: Christian Ege <k4230r6@gmail.com>
2014-10-01 22:42:20 +02:00
998cbf3544 Merge pull request #73 from cybertux/olimex-a20-lime_v3
This adds support to build for the Olimex A20-OLinuXino-LIME
2014-10-01 11:34:43 +02:00
d5461fdab9 This adds support to build for the Olimex A20-OLinuXino-LIME
- Added a "olinuxino-a20lime" machine configuration

Signed-off-by: Christian Ege <k4230r6@gmail.com>
2014-09-29 22:19:37 +02:00
0dc2ccf234 Merge pull request #69 from net147/master
sunxi-mali: set LICENSE to Proprietary
2014-09-25 22:07:04 +02:00
edd823ca05 sunxi-mali: set LICENSE to Proprietary
Fixes the following warning:
"WARNING: sunxi-mali: No generic license file exists for:
proprietary-binary in any provider"

Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-09-25 21:50:00 +10:00
a743b7d5e5 Merge pull request #68 from Noxenious/master
Update u-boot_git.bb, Correct U-Boot machine names
2014-09-24 11:47:11 +02:00
049349756c Merge pull request #67 from net147/master
Use FILESEXTRAPATHS_prepend for correct assignment
2014-09-24 11:46:52 +02:00
2b7341d260 Merge pull request #66 from dnmeid/master
Add support for Olimex A20 SOM
2014-09-21 15:12:42 +02:00
c8782fa7fd Removed double KERNEL_IMAGETYPE
KERNEL_IMAGETYPE is defined in kernel (linux_3.4.bb) and machine
(conf/machine/include/sunxi.inc). This can lead to problems when
trying to change the image type. Removed from kernel.

Signed-off-by: Jens Lucius <info@jenslucius.com>
2014-09-18 19:39:38 +02:00
dc03e94587 Update u-boot_git.bb, Correct U-Boot machine names
The latest revision of U-Boot requires changing the U-Boot machine names for
olimex based boards, as these were changed in U-Boot.

U-Boot tested on Olimex A20 Olinuxino

Signed-off-by: Jens Lucius <info@jenslucius.com>
2014-09-18 18:36:25 +02:00
dfe5e55274 Update u-boot_git.bb 2014-09-15 19:33:01 +02:00
e1969f71e9 olinuxino-a20som: add machine config 2014-09-08 12:16:10 +02:00
537386dcfc olinuxino-a20som: add fex file 2014-09-08 12:16:10 +02:00
d809a6ecdb olinuxino-a20som: include a20som 2014-09-08 12:16:10 +02:00
bcc4283b09 added A20 to description 2014-09-08 12:16:10 +02:00
b81aa265ed olinuxino-a20som: add kernel configuration 2014-09-08 12:16:10 +02:00
1eb006ed26 olinuxino-a20som: include a20som 2014-09-08 12:16:09 +02:00
b918724761 olinuxino-a20som: add u-boot option 2014-09-08 12:16:09 +02:00
6c0b99fce8 tslib: use FILESEXTRAPATHS_prepend for correct assignment
Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-09-04 23:30:20 +10:00
dfa712ea4b xserver-xf86-config: use FILESEXTRAPATHS_prepend for correct assignment
Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-09-04 23:29:47 +10:00
bb3a53941a Merge pull request #65 from SaskatoonTechworks/systemd
linux-3.4: update to 3.4.90
2014-07-31 08:24:52 +02:00
dea1bac947 linux-3.4: add cgroup xattr patch
This should have been part of the previous commit.

Acquired from Arch Linux.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2014-07-30 18:33:14 -06:00
e408b5024f linux-3.4: update to 3.4.90
This fixes an issue with systemd >= 213, where it can't mount a
filesystem in /sys/fs/cgroups/systemd because sysfs didn't support
xattr.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2014-07-30 17:06:24 -06:00
5900774287 README: update email
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2014-07-26 14:27:02 +02:00
4e2383470e sunxi-mali: Update, fixed conflict with libump recipe 2014-07-02 00:30:42 +04:00
05a803caac Merge pull request #63 from vonfritz/upstream-master
olinuxino-a10.conf: Remove MACHINE_EXTRA_RRECOMMENDS
2014-05-31 14:36:02 +02:00
8c6f8c9392 olinuxino-a10.conf: Remove MACHINE_EXTRA_RRECOMMENDS 2014-05-30 20:18:46 +02:00
620311104b Merge pull request #57 from RehiveTech/fix-sunxi-board-fex
Simple fixes for sunxi-board-fex
2014-04-23 18:18:19 +02:00
8f1f5535ab sunxi-board-fex: trivial: Remove invalid comment
Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2014-04-23 16:56:02 +02:00
969a4e6b0b sunxi-board-fex: Fix recipe versioning
Git repository sunxi-boards is not versioned. For now there is no
tracking of a git revision in the recipe. This patch fixes it. Related
discussion:
http://article.gmane.org/gmane.comp.handhelds.openembedded/62130

Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2014-04-23 16:46:51 +02:00
00b9ae419e Merge pull request #56 from koenkooi/ubootmachine-fix
machines: sync u-boot config name with boards.cfg
2014-04-16 09:48:29 +02:00
944e8111b8 machines: sync u-boot config name with boards.cfg
Recent u-boots (e.g. 2014.04-rc) need the _config appended to work, so
add that and sync the names with boards.cfg as well.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-04-12 19:14:36 +02:00
ec4b40754e Update libump: remove PE 2014-04-11 07:49:41 +02:00
1d2299057b Sunxi-mali depends on libump 2014-04-08 15:05:53 +00:00
3867ea9cb3 Add libump from here : https://github.com/linux-sunxi/libump 2014-04-08 15:05:08 +00:00
1b5c971774 Detect x11 and wayland support in distro and install framebuffer libs in case of wayland and x11 ones otherwise. 2014-04-08 10:07:15 +00:00
f1e777d552 Merge pull request #55 from koenkooi/kernel-update
linux 3.4: update to latest git
2014-04-08 11:35:47 +02:00
070639d970 linux 3.4: update to latest git
Changes include, but are not limited to:

* 32bit hdmi audio support
* MMC support for sun41
* SPI fixes
* AXP thermal support

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-04-08 09:55:42 +02:00
c59ae55bd0 Merge pull request #54 from vonfritz/upstream-master
remove unnedded patches and confs
2014-04-07 01:19:28 +02:00
9eb93456ae Merge pull request #53 from SaskatoonTechworks/fix_princ
Remove PRINCs
2014-03-28 18:35:19 +01:00
cafb3cec05 Remove PRINCs
The PR server is expected to be used now, so use it
for all meta-sunxi's bbappends.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2014-03-25 16:13:55 -06:00
9bf053c15a remove unnedded patches and confs 2014-03-23 10:18:57 +01:00
9f46a07305 linux: prepare defconfigs for axp20x thermal support 2014-03-21 07:53:02 +01:00
6e04e84948 Merge pull request #49 from peolsson/master
Added Olinuxino A10 LIME
2014-03-21 07:51:04 +01:00
43fe715ea4 Merge pull request #50 from KristofRobot/libdri2
libdri2 patch (resolves #23)
2014-03-21 07:44:00 +01:00
013766a96a Merge pull request #51 from koenkooi/master
linux: prepare defconfigs for axp20x thermal support
2014-03-20 20:25:54 +01:00
b54a46166e linux: prepare defconfigs for axp20x thermal support
Drop CONFIG_HWMON=m and CONFIG_HWMON=n and use the default value. This
mirrors:

	5a467f646b

and prepares for:

	fcec507519

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-03-19 10:12:19 +01:00
1d4e496b9d libdri2: adding missing dri2proto dependency (resolves #23) 2014-03-08 19:08:25 +01:00
48556c8603 sunxi-mali: removing unused patch (resolves #23) 2014-03-08 19:07:44 +01:00
7f1c185828 Added Olinuxino A10 LIME 2014-03-07 16:05:47 +01:00
48ab2dfe72 Merge pull request #48 from net147/sunxi-sdimg-typedep
sdcard_image-sunxi.bbclass: make sunxi-sdimg image dependent on rootfs type
2014-03-05 17:11:15 +01:00
aecfa42445 sdcard_image-sunxi.bbclass: make sunxi-sdimg image dependent on rootfs type
The rootfs may be using a filesystem type other than ext3 so it should
not be hardcoded.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-03-06 00:39:47 +11:00
dd2ef3c27d Merge pull request #47 from KristofRobot/ext3-dep
sdcard_image-sunxi.bbclass: adding ext3 dependency (resolves #46)
2014-03-04 22:55:13 +01:00
9a2692fcde sdcard_image-sunxi.bbclass: adding ext3 dependency (resolves #46)
Without this explicit dependency,
a race condition would be present between the generation of the sd image
and the generation of the ext3 file,
which leads to corrupt SD images in some circumstances.

Based on meta-raspberrypi commit a760ea5fa2
2014-03-04 22:37:31 +01:00
1ebcb0778f Merge pull request #43 from koenkooi/kernel-defconfig
linux: run all defconfigs through 'make savedefconfig'
2014-02-23 11:44:33 +01:00
5b29d5f75a linux: run all defconfigs through 'make savedefconfig'
This tidies the cubieboard and olinuxino defconfigs and converts the
cubie2, truck and mele defconfig to the savedefconfig format.

This has no functional changes, only cosmetic ones.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-23 08:44:58 +01:00
dc663bd5d8 Merge pull request #42 from koenkooi/kernel-debugsize
linux: disable CONFIG_DEBUG_INFO
2014-02-20 13:36:03 +01:00
5fa994b656 linux: disable CONFIG_DEBUG_INFO
This options adds a ton of debug symbols leading to *very* large
binaries:

5.2M kernel-module-8188eu_3.4.79-r0.8_olinuxino_a20.ipk
4.9M kernel-module-8189es_3.4.79-r0.8_olinuxino_a20.ipk
3.6M kernel-module-8192cu_3.4.79-r0.8_olinuxino_a20.ipk

After this change:

244K kernel-module-8188eu_3.4.79-r0.12_olinuxino_a20.ipk
224K kernel-module-8189es_3.4.79-r0.12_olinuxino_a20.ipk
208K kernel-module-8192cu_3.4.79-r0.12_olinuxino_a20.ipk

End users don't need such detailed debug symbols.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-20 12:13:30 +01:00
855aeac558 Merge pull request #41 from koenkooi/udev-fix
linux: enable CONFIG_FHANDLE
2014-02-19 23:14:15 +01:00
1d69d49a69 linux: enable CONFIG_FHANDLE
Udev has race conditions without it enabled, see
https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg16660.html
for more details.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-19 12:36:54 +01:00
52344b5328 Merge pull request #40 from koenkooi/fbturbo
xf86-video-fbturbo: fix PE
2014-02-18 14:13:19 +01:00
f59feea04b Merge pull request #38 from net147/sdcard
classes/sdcard_image-sunxi: use absolute path to rootfs
2014-02-18 14:12:27 +01:00
53f58d38b5 xf86-video-fbturbo: fix PE
The OE-core .inc already has PE=2, so increase it to 3 to fix upgrade
path.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-18 13:02:15 +01:00
7b27e69651 Merge pull request #39 from koenkooi/linux-3.4.79
linux: update to latest git/3.4.79
2014-02-18 12:22:19 +01:00
4c40f31901 linux: import EHCI defconfig changes from upstream for olinuxino-a20
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-18 10:44:36 +01:00
a992bf3a06 linux: enable cpufreq for olinuxino-a13
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-18 10:43:05 +01:00
c8e0d44307 linux: disable TI and Whiteheat serial drivers
The firmware for these drivers breaks parallel make install with recent
versions of make:

| make[1]: *** No rule to make target
`/build/v2013.12/build/tmp-angstrom_v2013_12-eglibc/work/olinuxino_a20-angstrom-linux-gnueabi/linux/3.4.79-r0/image/lib/firmware/./',
needed by
`/build/v2013.12/build/tmp-angstrom_v2013_12-eglibc/work/olinuxino_a20-angstrom-linux-gnueabi/linux/3.4.79-r0/image/lib/firmware/ti_3410.fw'.
Stop.

Since both of them are rarely used and virtually never on ARM systems
just disable them.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-18 09:16:05 +01:00
59d8ed7275 linux: update to latest git/3.4.79
Also update defconfigs with upstream changes to enable CMA.

Runtime tested on Olinuxino-a13/Angstrom

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-17 10:12:18 +01:00
2c36a963ba classes/sdcard_image-sunxi: use absolute path to rootfs 2014-02-17 18:07:26 +11:00
58aa63f365 Merge pull request #37 from koenkooi/ump
sunxi-mali: overhaul recipe
2014-02-15 11:11:13 +01:00
f453d52175 sunxi-mali: overhaul recipe
The most important change is shipping the .so files in ${PN}, this is
needed for things like xf86-video-fbturbo to work properly. Also disable
the QA check this triggers.

Other fixes include:

* make recipe conform to OE style guide
* update to latest git
* remove unused INC_PR
* RPROVIDES_* is about packages, not about files, remove it
* Use default git protocol ('git') instead of 'http', which isn't
  officially supported by github
* Add libUMP.so symlink for xf86-video-fbturbo

Runtime tested on olinuxino-a13/Angstrom

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-15 10:40:32 +01:00
f87cc88b95 Merge pull request #35 from koenkooi/kernel
linux: enable autofs and ipv6 for all boards
2014-02-14 16:59:33 +03:00
fe1c3b66c3 Merge pull request #36 from koenkooi/PV-fixes
PV fixes
2014-02-14 16:53:17 +03:00
9222ada5fc xf86-video-fbturbo: fix PV
Also cleanup recipe

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-14 13:56:51 +01:00
985f6cc0a1 libdri2: fix PV
And clean up recipe as well.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-14 13:52:08 +01:00
fb3d9ceeb0 linux: enable autofs and ipv6 for all boards
The olinuxino-a20 defconfig was used as template.

This is needed for proper systemd support

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-14 13:51:36 +01:00
05b450a022 u-boot: fix PV
And drop PR as well since it isn't needed anymore.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-14 13:23:25 +01:00
b726aa234f Merge pull request #33 from vonfritz/upstream-master
kernel-modules to include are now defined in sunxi.inc
2014-02-13 08:54:03 +01:00
18c0552982 kernel-modules to include are now defined in sunxi.inc 2014-02-12 20:40:02 +01:00
1ece45aa7e olinuxino a13 doesn't have an ethernet controller, so build all known usb ethernet drivers
Also added spidev and all modules needed to get lcd screen working.
2014-02-11 19:37:28 +01:00
c02fbb7b92 Install all modules built in images 2014-02-11 19:36:40 +01:00
f7f3e05b4d Merge pull request #31 from vonfritz/upstream-master
Upstream master
2014-02-05 19:08:58 +01:00
920a7c3100 Merge branch 'upstream-master' of https://github.com/vonfritz/meta-sunxi into upstream-master 2014-02-05 18:09:11 +01:00
31341dc3ef removed unneeded definition in sunxi.inc 2014-02-05 17:44:59 +01:00
889813ce8a Update olinuxino-a13.conf
Set the right u-boot machine for olinuxino-a13
2014-02-05 17:10:08 +01:00
ff44353d49 Merge pull request #22 from chenbd/master
update "sunxi-board-fex" and "u-boot" version
2014-02-05 17:06:42 +01:00
f8bef0bc77 Merge pull request #30 from net147/sunxi-emac-compiled-in
Compile sunxi-emac into kernel for booting from network over NFS
2014-02-05 17:06:27 +01:00
0a3c6d46a9 Merge pull request #27 from KristofRobot/CPU
README.md: added performance options (resolves #25)
2014-02-05 17:05:35 +01:00
12d866fc92 Merge pull request #26 from ebutera/master
gst-plugin-cedar: import PoC gstreamer 0.10 plugin
2014-02-05 17:05:15 +01:00
e97c80ba18 Merge pull request #29 from net147/olinuxino-a20-nic
linux: enable CONFIG_SUNXI_EMAC for olinuxino-a20 NIC
2014-02-05 17:03:47 +01:00
1b9656c39d linux: compile sunxi-emac into kernel for cubietruck
The network driver needs to be compiled into the kernel for booting from
network over NFS.
2014-02-05 09:10:48 +11:00
e7d8f0c856 linux: compile sunxi-emac into kernel for cubieboard2
The network driver needs to be compiled into the kernel for booting from
network over NFS.
2014-02-05 09:10:33 +11:00
e6cd6c0ff6 linux: compile sunxi-emac into kernel for cubieboard
The network driver needs to be compiled into the kernel for booting from
network over NFS.
2014-02-05 09:09:26 +11:00
613b9080d7 README.md: added performance options (resolves #25) 2014-02-03 18:37:56 +01:00
99f8bdf099 linux: enable CONFIG_SUNXI_EMAC for olinuxino-a20 NIC 2014-01-31 17:01:44 +11:00
217e80e133 Merge pull request #28 from KristofRobot/avahi-remove
avahi: remove recipe
2014-01-23 14:00:00 -08:00
e67b61652d avahi: remove recipe
Removing recipe append to configure avahi-daemon.
This does not belong in a machine layer,
but should be handled in a distro layer.
2014-01-20 20:47:48 +01:00
7f47fa5e99 gst-plugin-cedar: import PoC gstreamer 0.10 plugin
GStreamer 0.10 plugin for Cedar H264 hardware encoding with no
binary blobs.

Based on PoC h264 encoder by Jens Kuske:
https://github.com/jemk/cedrus/tree/master/h264enc

Tested on OLinuXino A20 micro, kernel sunxi-3.4

Signed-off-by: Enrico Butera <ebutera@users.berlios.de>
2014-01-16 13:52:23 +01:00
37a4b06332 removed unneeded definition in sunxi.inc 2014-01-12 06:47:57 +01:00
c0c2046432 Merge pull request #1 from chenbd/master
update "sunxi-board-fex" and "u-boot" version
2014-01-05 00:10:21 -08:00
0369653b14 update "sunxi-board-fex" and "u-boot" version 2014-01-02 16:36:44 +08:00
1101a2da80 Merge pull request #20 from KristofRobot/issue14
linux_3.4.bb: fix QA warnings/errors (resolves #14)
2014-01-01 10:44:12 -08:00
ef312d09c8 Merge pull request #21 from vonfritz/upstream-master
set the right uboot-machine
2014-01-01 10:43:59 -08:00
e8ac28f073 set the right uboot-machine 2014-01-01 18:50:31 +01:00
25c8f6f528 linux_3.4.bb: fix QA warnings/errors (resolves #14) 2014-01-01 10:44:10 +01:00
6fe6aef4c9 Merge pull request #18 from chenbd/master
Add support for cubietruck
2013-12-31 02:43:20 -08:00
0f6f87ed12 Merge pull request #16 from KristofRobot/sdcard_race_cond2
sdcard_image-sunxi.bbclass: fixing race condition with virtual/kernel (r...
2013-12-31 02:36:17 -08:00
166d278aac Add missing RPROVIDES
RPROVIDES specifies the libraries that are dynamically loaded
at runtime. This patch fixes "no package provides libGLESv2.so"
similar errors that occur when including packages like layer-management
of meta-ivi layer.
2013-12-31 18:35:17 +08:00
db3d191f28 Add support for cubietruck 2013-12-31 10:52:13 +08:00
a248d37b35 sdcard_image-sunxi.bbclass: fixing race condition with virtual/kernel (resolves #15)
Fixing a race condition with virtual/kernel:do_deploy,
which needs to deploy the image before the IMAGE_CMD_sunxi-sdimg () code is being run
as part of image:do_rootfs, otherwise the following error would sometimes occur
when compiling with multiple threads (BB_NUMBER_THREADS=2):
"[..]/deploy/images/cubieboard2/uImage-cubieboard2.bin: No such file or directory"

Fixing this by using the kernel image in sysrootfs instead.

At the same time, also adding an explicit rootfs dependency on sunxi-board-fex:do_deploy because of
"${DEPLOY_DIR_IMAGE}/fex.bin", although this never seems to pose problems in practice.
2013-12-19 10:06:55 +01:00
92d1408c46 Merge pull request #13 from KristofRobot/xz-fix
sdcard_image-sunxi.bbclass: fixed .xz check
2013-12-15 23:03:53 -08:00
7880894810 sdcard_image-sunxi.bbclass: fixed .xz check
.xz check was relying on a bash check that was not working,
returning "]] : not found" error.
Replaced that check with an sh-compatible check,
from https://github.com/djwillis/meta-raspberrypi/blob/master/classes/sdcard_image-rpi.bbclass
2013-12-14 20:31:36 +01:00
694420f4d4 Merge pull request #12 from vonfritz/upstream
Add support for the olinuxino-A20 board
2013-12-13 01:54:17 -08:00
c80c4d24b9 Add support for the olinuxino-A20 board 2013-12-11 18:54:31 +01:00
ea2055061f Merge pull request #11 from raoulh/master
sunxi layer fixes and updates
2013-12-11 01:31:10 -08:00
9829ea6fac Fix module requirements 2013-12-11 09:34:53 +01:00
3bfe889a0b Merge pull request #9 from KristofRobot/clean_kernel
linux_3.4: removed all kernel module references (resolves #8)
2013-12-10 11:33:15 -08:00
be13b6bf68 fix mali module inclusion 2013-12-10 16:01:49 +01:00
ad154f64fa Update fbturbo driver 2013-12-10 15:43:01 +01:00
f2bc290430 remove modules that cause a build failure 2013-12-10 15:36:18 +01:00
0781dae5ea install mali and mali-drm module 2013-12-10 15:36:08 +01:00
39eec3a80a fix wrong layer name 2013-12-10 15:19:09 +01:00
b8d303b000 recipes-kernel/linux/linux_3.4.bb: removed all kernel module references (resolves #8)
Kernel module references should be put in machine.conf instead
2013-12-09 18:34:55 +01:00
7b836320a2 add mali dependency to cubieboard2 2013-12-09 18:03:42 +01:00
ba9330350f Update linux-sunxi kernel to the latest revision v3.4.67 2013-12-03 18:58:22 +01:00
3a8616d932 new machine meleg : Add support for mele a1000g and a2000g 2013-12-02 15:19:18 +01:00
a33372936b Add emac driver for cubieboard and try to load it at startup 2013-11-25 08:38:06 +01:00
ef1284c09e Change filename for sunxi-img class to match the new one. 2013-11-15 18:57:41 +01:00
9acddf8bb8 Factorise sunxi machines definition 2013-11-15 18:56:26 +01:00
16a80ed3ea Rename a10-sdimg with sunxi-sdimg 2013-11-15 18:45:10 +01:00
dd157cc4f1 Simplify IMAGE_DEPENDS of a10-sdimg class, install fex file wathever the board selected. 2013-11-15 18:40:23 +01:00
e95d4dfd39 Install fex file for mele board. 2013-11-15 18:38:45 +01:00
18cb5f40fa Fix support for olinuxino-a13 board. 2013-11-15 18:35:16 +01:00
5674c623ae Fix dependecies and description of libdri2 recipe. 2013-11-15 18:23:42 +01:00
e6415635f6 Merge pull request #7 from ebutera/master
Update README
2013-11-08 09:49:30 -08:00
65462e01dd README: fix formatting
Signed-off-by: Enrico Butera <ebutera@users.berlios.de>
2013-11-08 00:02:35 +01:00
38f6804f9f README: updated, now it's official and with maintainers
Signed-off-by: Enrico Butera <ebutera@users.berlios.de>
2013-11-07 23:39:53 +01:00
8fecb82a40 Merge pull request #6 from slapin/master
added cubieboard support and proper IMAGE_DEPENDS overrides
2013-11-06 05:00:41 -08:00
a3d83e799d cubieboard: updated defconfig 2013-11-06 09:12:00 +04:00
ae117be24a update for new u-boot and OE 2013-11-06 01:13:14 +04:00
5c3dfe18e1 Merge pull request #5 from KristofRobot/cubieboard2
Cubieboard2 enhancements
2013-10-31 09:23:56 -07:00
c49767d57a sdcard_image-a10: fixed file existance test for script.bin 2013-10-31 16:54:15 +01:00
d00d34c8e4 sunxi-board-fex: fixed typo in COMPATIBLE_MACHINE 2013-10-31 14:47:01 +01:00
c91658f3dc sdcard_image-a10: removed u-boot.bin - replaced by u-boot-sunxi-with-spl.bin 2013-10-31 14:35:13 +01:00
3e381905ea sdcard_image-a10: added fex support for cubieboard2 2013-10-31 13:50:53 +01:00
63a3484230 Added config file for avahi-daemon
Without this config file, avahi-daemon would not startup because of "Failed to create server: No suitable network protocol available" error, which is fixed by following configuration setting in /etc/avahi/avahi-daemon.conf:
disallow-other-stacks=yes
2013-10-31 13:31:09 +01:00
6f0fb62383 Updated based on latest sun7i-defconfig from jwrdegoede
URL:https://github.com/jwrdegoede/linux-sunxi/blob/sunxi-3.4/arch/arm/configs/sun7i_defconfig

Also enabled CONFIG_VFPv3
2013-10-31 13:30:44 +01:00
25cd18f212 sunxi-board-fex: added cubieboard2 support 2013-10-31 13:29:15 +01:00
25621a78d3 linux_3.4: added cubieboard2 support 2013-10-31 13:28:34 +01:00
31b4184017 cubieboard2: added network kernel module as essential dependency
Adding sunxi_emac network driver as recommended *essential* machine dependency, rather than recommended *extra* dependency, to make sure it is included, even if packagegroup-base is not included.

See also https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-MACHINE_EXTRA_RDEPENDS

Also removed kernel26, as this is deprecated, see http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core
2013-10-31 13:26:08 +01:00
51fe9392f2 Correctly install mali and fbturbo driver:
- add correct xorg config
- For mali-sunxi driver to work it also need library files from sunxi-mali-dev
  package. Adding sunxi-mali-dev to XSERVER force the installation of
  the -dev
2013-10-29 22:38:45 +01:00
2352ee9620 add kernel module for usb to serial devices 2013-10-29 22:37:52 +01:00
cff5750359 Merge pull request #4 from RehiveTech/fex-support
Add compiled fex file into the image (just for OLinuXino A10S now)
2013-10-29 06:43:55 -07:00
62df94f1b7 fix typo 2013-10-29 08:14:24 +01:00
33c8f1c32b Use the rightmele machine configuration for u-boot 2013-10-29 08:14:24 +01:00
bf1e58d4ba Merge pull request #3 from RehiveTech/master
Add support for A10S-OLinuXino-MICRO board
2013-10-28 01:13:52 -07:00
429929f209 Add ability to put the compiled fex file into the SD image
There is a new recipe called sunxi-board-fex which cares about the
compiling of the FEX file for each machine. If there is a fex.bin file
available in the deploy directory and machine depends on it (see SD
image class) it will be added.

Only OLinuXino A10S uses it for now.

Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2013-10-25 14:18:16 +02:00
3d98d44f35 sunxi-tools: Fix build of sunxi-tools-native
Also add missing newline at the eof.

Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2013-10-25 14:18:12 +02:00
a982c07f5e sunxi-tools: Fix typo in the directory name
Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
2013-10-25 14:18:05 +02:00
7d7ff35204 Add support for A10S-OLinuXino-MICRO board 2013-10-23 15:28:55 +02:00
3fbb13499b Change sunxifb to the new repository 2013-10-19 09:42:05 +02:00
7b3b7ca8ac Install sunxi-mali libraries correctly 2013-10-19 09:12:31 +02:00
e49b51acea Update sunxi-tools repository, and install all tools 2013-10-19 08:31:10 +02:00
a4f0732c12 Fix kernel version number and cleanup package 2013-10-19 08:30:57 +02:00
e46a72cf39 Update u-boot to the lates sunxi version. They changed the sdcard layout so update a10 sdcard image class to reflect these changes. 2013-10-19 07:42:23 +02:00
91ee5beccc Remove evas bbappend, it's not BSP related 2013-10-19 07:10:47 +02:00
72032b2c20 add opengl deps when building for mele/cubieboard 2013-10-17 15:01:12 +02:00
f8d920108a fix configure/compile of sunxi-mali 2013-10-17 13:54:29 +02:00
1a7f72a8e6 Add cubieboard2 support, first work 2013-10-16 22:12:12 +02:00
e7042a339a Use sunxifb driver in xorg conf 2013-10-11 13:48:04 +02:00
43efb1d306 Add xf86-video-sunxifb recipe 2013-10-11 13:47:29 +02:00
91d16e9443 Add libdri2 recipe 2013-10-11 13:46:57 +02:00
45d5895c27 Add sunxi-mali recipe 2013-10-11 13:46:34 +02:00
9f79a10437 Remove old recipe 2013-09-12 08:22:07 +02:00
ddc46e4b9c Update defconfig for mele 2013-09-12 08:21:37 +02:00
8840d1a82a Change linux to use 3.4 branch 2013-09-12 08:20:59 +02:00
0d2df1c041 Merge pull request #2 from vonfritz/master
merge vonfritz:master
2013-08-06 05:24:00 -07:00
ef43815dfd added MACHINE_EXTRA_RRECOMMENDS 2013-07-10 16:23:16 +02:00
812baa7788 update olinuxino defconfig (a13-defconfig) 2013-07-10 15:22:27 +02:00
f0e0de4099 update defconfig and kernel recipe 2013-07-09 23:30:47 +02:00
2f4ba4cd79 update kernel rev 2013-07-09 23:12:55 +02:00
bd09d63e72 add PACKAGE_ARCH 2013-07-05 10:23:29 +02:00
cd1369bc74 update rev 2013-07-05 10:22:06 +02:00
a148b4e7dc add u-boot.inc from oe-core 2013-07-05 10:16:23 +02:00
7b28c282fa Merge remote-tracking branch 'origin/dylan' 2013-07-05 09:59:55 +02:00
74c1713211 Add tar.gz as image format for this machine 2013-06-28 07:12:05 +02:00
7d1ef3907e Use dylan linux.inc file 2013-05-18 21:10:55 +02:00
ba10495e94 update linux to the latest working version on 3.0 branch 2013-05-18 21:10:25 +02:00
207 changed files with 19495 additions and 36062 deletions

View File

@ -1,12 +1,82 @@
meta-allwinner
meta-sunxi
==============
UNOFFICIAL OE-core layer for Allwinner A10 boards
Official sunxi OpenEmbedded layer for Allwinner-based boards.
Author: Enrico Butera <ebutera@users.berlios.de>
This layer depends on the additional layers:
This layer depends on the additional layer:
* [meta-openembedded/meta-oe](http://git.openembedded.org/meta-openembedded/tree/meta-oe)
Tested with core-image-base.
Maintainers:
* Nicolas Aguirre <aguirre.nicolas@gmail.com>
* Enrico Butera <ebutera@users.sourceforge.net>
* Sergey Lapin <slapin@ossfans.org>
* Marek Belisko <marek.belisko@gmail.com>
Kernel / U-Boot Version
===========
Most Allwinner devices and hardware are supported in mainline kernel and U-Boot, so this layer builds mainline by default.
Legacy sunxi Kernel / U-Boot
-----------
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"
KERNEL_DEVICETREE = ""
If you already have built the mainline versions it might be necessary to reset the build directories with:
bitbake -c clean virtual/kernel virtual/bootloader
Mainline Kernel / U-Boot
-----------
For mainline kernel we have now support for latest LTS and stable.
By default we use latest LTS. If you would like to change version please update ```PREFERRED_VERSION_linux-mainline``` in:
* [conf/machine/include/sunxi.inc](https://github.com/linux-sunxi/meta-sunxi/blob/fa0846c0eb23e3424b89acb4d5a327e921f73497/conf/machine/include/sunxi.inc#L16)
When using mainline kernel ≥ 5.2 it is now possible to use the mainline graphics drivers *lima* and *panfrost*, instead of the *mali* driver provided by ARM. To enable open source mainline graphics support add the following line in your `local.conf`:
MACHINEOVERRIDES .= ":use-mailine-graphics"
Performance
===========
The default machine settings are meant to be the lowest common denominator, maximizing generality.
Significantly better performance (2x-3x) can be achieved with the following settings:
**_Allwinner A20_**
For Allwinner A20 (Cubieboard2/CubieTruck), the following tuning options are recommended:
_Enable hardfloat, thumb2 and neon capabilities_
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
This tuning profile takes advantage of the Allwinner A20 hardfloat, neon and vfpv4 capabilities.
_Change CPU governor to ondemand, and tune settings_
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 336000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 912000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#More aggressive
#echo 1008000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 40 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 200000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
This code changes the default CPU governor from _fantasy_ to _ondemand_, and tunes its settings, as recommended at http://linux-sunxi.org/Cpufreq
For additional discussion, see https://github.com/linux-sunxi/meta-sunxi/issues/25
meta-openembedded: git://git.openembedded.org/meta-openembedded
Build tested with core-image-base.

View File

@ -1,85 +0,0 @@
inherit image_types
#
# Create an image that can by written onto a SD card using dd.
# Originally written for rasberrypi adapt for the needs of allwinner a10 based boards
#
# The disk layout used is:
#
# 0 -> 8*1024 - reserverd
# 8*1024 -> 32*1024 -
# 32*1024 -> 2048*1024 -
# 2048*1024 -> BOOT_SPACE - bootloader and kernel
#
#
# Boot partition volume id
BOOTDD_VOLUME_ID ?= "${MACHINE}"
# Boot partition size [in KiB]
BOOT_SPACE ?= "20480"
# First partition begin at sector 2048 : 2048*1024 = 2097152
IMAGE_ROOTFS_ALIGNMENT = "2048"
# Use an uncompressed ext3 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext3"
SDIMG_ROOTFS = "${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
IMAGE_DEPENDS_a10-sdimg = " \
parted-native \
mtools-native \
dosfstools-native \
virtual/kernel \
virtual/bootloader \
"
# SD card image name
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.a10-sdimg"
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
IMAGE_CMD_a10-sdimg () {
# Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
# Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* ${SDIMG_SIZE})
# Create partition table
parted -s ${SDIMG} mklabel msdos
# Create boot partition and mark it as bootable
parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on
# Create rootfs partition
parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
parted ${SDIMG} print
# 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 }')
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::uImage
# Add stamp file
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
# Burn Partitions
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
if [[ "$SDIMG_ROOTFS_TYPE" == *.xz ]]
then
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
fi
#write u-boot-spl.bin and u-boot
dd if=${DEPLOY_DIR_IMAGE}/sunxi-spl.bin of=${SDIMG} bs=1024 seek=8 conv=notrunc
dd if=${DEPLOY_DIR_IMAGE}/u-boot.bin of=${SDIMG} bs=1024 seek=32 conv=notrunc
}

View File

@ -0,0 +1,124 @@
inherit image_types
#
# Create an image that can by written onto a SD card using dd.
# Originally written for rasberrypi adapt for the needs of allwinner sunxi based boards
#
# The disk layout used is:
#
# 0 -> 8*1024 - reserverd
# 8*1024 -> - arm combined spl/u-boot or aarch64 spl
# 40*1024 -> - aarch64 u-boot
# 2048*1024 -> BOOT_SPACE - bootloader and kernel
#
#
# This image depends on the rootfs image
IMAGE_TYPEDEP_sunxi-sdimg = "${SDIMG_ROOTFS_TYPE}"
# Boot partition volume id
BOOTDD_VOLUME_ID ?= "boot"
# Boot partition size [in KiB]
BOOT_SPACE ?= "40960"
# First partition begin at sector 2048 : 2048*1024 = 2097152
IMAGE_ROOTFS_ALIGNMENT = "2048"
# Use an uncompressed ext4 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext4"
SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
do_image_sunxi_sdimg[depends] += " \
parted-native:do_populate_sysroot \
mtools-native:do_populate_sysroot \
dosfstools-native:do_populate_sysroot \
virtual/kernel:do_deploy \
virtual/bootloader:do_deploy \
"
# SD card image name
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
IMAGE_CMD_sunxi-sdimg () {
# Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
# Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* ${SDIMG_SIZE})
# Create partition table
parted -s ${SDIMG} mklabel msdos
# Create boot partition and mark it as bootable
parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on
# Create rootfs partition
parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
parted ${SDIMG} print
# 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 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::${KERNEL_IMAGETYPE}
# 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}'`
DTS_DIR_NAME=`dirname ${DTS_FILE}`
if [ -e ${DEPLOY_DIR_IMAGE}/"${DTS_BASE_NAME}.dtb" ]; then
if [ ${DTS_FILE} != ${DTS_BASE_NAME}.dtb ]; then
mmd -i ${WORKDIR}/boot.img ::/${DTS_DIR_NAME}
fi
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${KERNEL_IMAGETYPE},g;s,\.dtb$,.bin,g"`"
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${DTS_BASE_NAME}.dtb ::/${DTS_FILE}
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}" > ${WORKDIR}/image-version-info
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
# Burn Partitions
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
then
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
fi
# write u-boot-spl at the begining of sdcard in one shot
SPL_FILE=$(basename ${SPL_BINARY})
dd if=${DEPLOY_DIR_IMAGE}/${SPL_FILE} of=${SDIMG} bs=1024 seek=8 conv=notrunc
}
# write uboot.itb for arm64 boards
IMAGE_CMD_sunxi-sdimg_append_sun50i () {
if [ -e "${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}" ]
then
dd if=${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY} of=${SDIMG} bs=1024 seek=40 conv=notrunc
fi
}

View File

@ -4,6 +4,14 @@ BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-allwinner"
BBFILE_PATTERN_meta-allwinner := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-allwinner = "10"
BBFILE_COLLECTIONS += "meta-sunxi"
BBFILE_PATTERN_meta-sunxi := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-sunxi = "10"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_meta-sunxi = "1"
LAYERDEPENDS_meta-sunxi = "core openembedded-layer"
LAYERSERIES_COMPAT_meta-sunxi = "zeus dunfell"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: bananapi-m2m
#@DESCRIPTION: Machine configuration for the Banana Pi M2M, base on Allwinner H8 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-r16-bananapi-m2m.dtb"
UBOOT_MACHINE = "Bananapi_m2m_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: bananapi-m2plus
#@DESCRIPTION: Machine configuration for the Banana Pi M2+, base on Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-bananapi-m2-plus.dtb"
UBOOT_MACHINE = "bananapi_m2_plus_h3_defconfig"

View File

@ -0,0 +1,8 @@
#@TYPE: Machine
#@NAME: pine64-plus
#@DESCRIPTION: Machine configuration for the pine64-plus, based on Allwinner A64 CPU
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-a64-bananapi-m64.dtb"
UBOOT_MACHINE = "bananapi_m64_defconfig"

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,33 +2,8 @@
#@NAME: CubieBoard
#@DESCRIPTION: Machine configuration for the cubieboard, based on allwinner a10 CPU http://cubieboard.org/
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard"
require conf/machine/include/sun4i.inc
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.0.8"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "cubieboard"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SPL_BINARY = "sunxi-spl.bin"
IMAGE_CLASSES += "sdcard_image-a10"
IMAGE_FSTYPES += "ext3 a10-sdimg"
# Guesswork
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
KERNEL_DEVICETREE = "sun4i-a10-cubieboard.dtb"
UBOOT_MACHINE = "Cubieboard_config"
SUNXI_FEX_FILE = "sys_config/a10/cubieboard.fex"

View File

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

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: Cubietruck
#@DESCRIPTION: Machine configuration for the Cubietruck, based on allwinner A20 CPU http://cubieboard.org/
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-cubietruck.dtb"
UBOOT_MACHINE = "Cubietruck_config"
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 @@
# Include for boards with AMPAK 6212A Wifi / Bluetooth module
# https://linux-sunxi.org/Wifi#Ampak
MACHINE_EXTRA_RRECOMMENDS_append = " kernel-module-brcmfmac"
MACHINE_EXTRA_RDEPENDS_append = " linux-firmware-bcm43430"

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,6 @@
require conf/machine/include/sunxi64.inc
DEFAULTTUNE ?= "cortexa53-crypto"
require conf/machine/include/tune-cortexa53.inc
SOC_FAMILY = "sun50i"

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

@ -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 = "sun8i"

View File

@ -0,0 +1,15 @@
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgles1 ?= "sunxi-mali"
PREFERRED_PROVIDER_virtual/libgles2 ?= "sunxi-mali"
PREFERRED_PROVIDER_virtual/egl ?= "sunxi-mali"
PACKAGECONFIG_remove_pn-xserver-xorg = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glamor', '', d)}"
XSERVER += "sunxi-mali \
sunxi-mali-dev"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "\
kernel-module-mali \
kernel-module-mali-drm \
"

View File

@ -0,0 +1,5 @@
# The "sunxi-mailine-graphics-drivers.inc" doesn't exist, but it can be created
# in the future if needed. Using include directive ensures build doesn't fail
# if .inc file doesn't exist:
# https://www.yoctoproject.org/pipermail/yocto/2019-August/046484.html
include ${@'sunxi-mali-driver.inc' if 'use-mailine-graphics' not in d.getVar("MACHINEOVERRIDES").split(":") else 'sunxi-mailine-graphics-drivers.inc' }

View File

@ -0,0 +1,34 @@
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 \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_VERSION_linux-mainline ?= "5.4.%"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
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_ENTRYPOINT ?= "0x40008000"
SPL_BINARY ?= "u-boot-sunxi-with-spl.bin"
SERIAL_CONSOLE ?= "115200 ttyS0"
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"

View File

@ -0,0 +1,24 @@
SOC_FAMILY ??= ""
include conf/machine/include/soc-family.inc
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mainline"
PREFERRED_PROVIDER_u-boot ?= "u-boot"
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
KERNEL_IMAGETYPE ?= "Image"
IMAGE_CLASSES += "sdcard_image-sunxi"
IMAGE_FSTYPES += "ext4 tar.gz sunxi-sdimg"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
UBOOT_LOCALVERSION = "-g${@d.getVar('SRCPV', True).partition('+')[2][0:7]}"
UBOOT_ENTRYPOINT ?= "0x40008000"
UBOOT_LOADADDRESS ?= "0x400080OB00"
UBOOT_BINARY ?= "u-boot.itb"
SPL_BINARY ?= "spl/sunxi-spl.bin"
SERIAL_CONSOLE ?= "115200 ttyS0"
MACHINE_FEATURES ?= "alsa apm keyboard rtc serial screen usbgadget usbhost vfat"

View File

@ -2,32 +2,8 @@
#@NAME: Mele a1000/a2000
#@DESCRIPTION: Machine configuration for the Mele a1000 and a2000, base on allwinner a10 CPU
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard"
require conf/machine/include/sun4i.inc
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.0.8"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "cubieboard"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SPL_BINARY = "sunxi-spl.bin"
IMAGE_CLASSES += "sdcard_image-a10"
IMAGE_FSTYPES += "ext3 a10-sdimg"
# Guesswork
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
KERNEL_DEVICETREE = "sun4i-a10-a1000.dtb"
UBOOT_MACHINE = "Mele_A1000_config"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000.fex"

8
conf/machine/meleg.conf Normal file
View File

@ -0,0 +1,8 @@
#@TYPE: Machine
#@NAME: Mele a1000g/a2000g
#@DESCRIPTION: Machine configuration for the Mele a1000g and a2000g, base on allwinner a10 CPU
require conf/machine/include/sun4i.inc
UBOOT_MACHINE = "Mele_A1000G_quad_config"
SUNXI_FEX_FILE = "sys_config/a10/mele_a1000g.fex"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: nanopi M1 Plus
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-nanopi-m1-plus.dtb"
UBOOT_MACHINE = "nanopi_m1_plus_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: nanopi-neo-air
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo Air, based
# on the Allwinner H3 CPU.
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo-air.dtb"
UBOOT_MACHINE = "nanopi_neo_air_defconfig"

View File

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: nanopi-neo-plus2
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo Plus2, based
# on the Allwinner H5 SoC.
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-nanopi-neo-plus2.dtb"
UBOOT_MACHINE = "nanopi_neo_plus2_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: nanopi-neo
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on the Allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo.dtb"
UBOOT_MACHINE = "nanopi_neo_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: nanopi-neo2
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo 2, based on
# the Allwinner H5 SoC.
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-nanopi-neo2.dtb"
UBOOT_MACHINE = "nanopi_neo2_defconfig"

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

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Olimex A10S-OLinuXino-MICRO Board
#@DESCRIPTION: Machine configuration for Olimex A10S-OLinuXino-MICRO Board, based on Allwinner A10s CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun5i.inc
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,36 +3,8 @@
#@DESCRIPTION: Machine configuration for the Olime A13-OLinuXino Board, base on allwinner a13 CPU
#https://github.com/OLIMEX/OLINUXINO
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-tslib \
tslib-calibrate \
tslib-tests \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard \
xf86-video-fbdev \
"
require conf/machine/include/sun5i.inc
# Only has DVI connector for external screen
GUI_MACHINE_CLASS = "bigscreen"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux-libc-headers = "3.0.8"
KERNEL_IMAGETYPE = "uImage"
UBOOT_MACHINE = "a13_olinuxino"
UBOOT_ENTRYPOINT = "0x40008000"
UBOOT_LOADADDRESS = "0x40008000"
SPL_BINARY = "sunxi-spl.bin"
IMAGE_FSTYPES += "tar.bz2 squashfs a10-sdimg"
# Guesswork
SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
KERNEL_DEVICETREE = "sun5i-a13-olinuxino.dtb"
UBOOT_MACHINE = "A13-OLinuXino_config"
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

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Board
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
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

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

View File

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Olimex A20-OLinuXino Lime2 Board with 4GB eMMC
#@DESCRIPTION: Machine configuration for the Olimex A20-OLinuXino Lime2 Board with 4GB eMMC, based on Allwinner A20 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-olinuxino-lime2-emmc.dtb"
UBOOT_MACHINE = "A20-OLinuXino-Lime2-eMMC_config"
SUNXI_FEX_FILE = "sys_config/a20/a20-olinuxino_lime2.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

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: Olimex A20-SOM
#@DESCRIPTION: Machine configuration for the Olimex A20-SOM Evaluation Board, based on Allwinner A20 CPU
#https://github.com/OLIMEX/SOM
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-olimex-som-evb.dtb"
UBOOT_MACHINE = "A20-Olimex-SOM-EVB_config"
SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex"

View File

@ -0,0 +1,13 @@
#@TYPE: Machine
#@NAME: Olimex A64-OLinuXino Board
#@DESCRIPTION: Machine configuration for the Olimex A64-OLinuXino Board, based on Allwinner A64 CPU
#https://github.com/OLIMEX/OLINUXINO
require conf/machine/include/sun50i.inc
PREFFERED_VERSION_u-boot = "v2018.09%"
MACHINE_EXTRA_RRECOMMENDS += " linux-firmware-rtl8723"
KERNEL_DEVICETREE = "allwinner/sun50i-a64-olinuxino.dtb"
UBOOT_MACHINE = "a64-olinuxino_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: orange-pi-one
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-orangepi-one.dtb"
UBOOT_MACHINE = "orangepi_one_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: orange-pi-pc-plus
#@DESCRIPTION: Machine configuration for the orange-pi-pc-plus, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc-plus.dtb"
UBOOT_MACHINE = "orangepi_pc_plus_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: orange-pi-one
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc.dtb"
UBOOT_MACHINE = "orangepi_pc_defconfig"

View File

@ -0,0 +1,8 @@
#@TYPE: Machine
#@NAME: orange-pi-plus2e
#@DESCRIPTION: Machine configuration for the orange-pi-plus2e, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h3-orangepi-plus2e.dtb"
UBOOT_MACHINE = "orangepi_plus2e_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: orange-pi-zero-plus2-h3
#@DESCRIPTION: Machine configuration for the orange-pi-zero-plus2, based on Allwinner H3 CPU
require conf/machine/include/sun8i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "sun8i-h3-orangepi-zero-plus2.dtb"
UBOOT_MACHINE = "orangepi_zero_plus2_h3_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: orange-pi-zero-plus2
#@DESCRIPTION: Machine configuration for the orange-pi-zero-plus2, base on Allwinner H5 CPU
require conf/machine/include/sun50i.inc
require conf/machine/include/hardware/ap6212a.inc
KERNEL_DEVICETREE = "allwinner/sun50i-h5-orangepi-zero-plus2.dtb"
UBOOT_MACHINE = "orangepi_zero_plus2_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: orange-pi-one
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
require conf/machine/include/sun8i.inc
KERNEL_DEVICETREE = "sun8i-h2-plus-orangepi-zero.dtb"
UBOOT_MACHINE = "orangepi_zero_defconfig"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: pcduino-lite-wifi
#@DESCRIPTION: Machine configuration for the pcDuino-Lite-Wifi, base on allwinner a10 CPU
require conf/machine/include/sun4i.inc
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb"
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: Linksprite A20-pcduino3 Board
#@DESCRIPTION: Machine configuration for the pcDuino 3, based on Allwinner A20 CPU
require conf/machine/include/sun7i.inc
KERNEL_DEVICETREE = "sun7i-a20-pcduino3.dtb"
UBOOT_MACHINE = "Linksprite_pcDuino3_defconfig"
SUNXI_FEX_FILE = "sys_config/a20/linksprite_pcduino3.fex"

View File

@ -0,0 +1,9 @@
#@TYPE: Machine
#@NAME: pine64-plus
#@DESCRIPTION: Machine configuration for the pine64-plus, based on Allwinner A64 CPU
require conf/machine/include/sun50i.inc
KERNEL_DEVICETREE = "allwinner/sun50i-a64-pine64-plus.dtb"
UBOOT_MACHINE = "pine64_plus_defconfig"

View File

@ -0,0 +1,39 @@
inherit deploy
DESCRIPTION = "ARM Trusted Firmware"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
SRC_URI = " \
git://github.com/ARM-software/arm-trusted-firmware.git;nobranch=1 \
"
SRCREV_sun50iw2 = "c390ecd6db5fadb054466a8d4168d9bbbff2fa95"
SRCREV_sun50iw6 = "c390ecd6db5fadb054466a8d4168d9bbbff2fa95"
SRCREV_sun50i = "c390ecd6db5fadb054466a8d4168d9bbbff2fa95"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
COMPATIBLE_MACHINE = "(sun50iw2|sun50iw6|sun50i)"
PLATFORM_sun50iw2 = "sun50i_a64"
PLATFORM_sun50i = "sun50i_a64"
PLATFORM_sun50iw6 = "sun50i_h6"
LDFLAGS[unexport] = "1"
do_compile() {
oe_runmake -C ${S} BUILD_BASE=${B} \
CROSS_COMPILE=${TARGET_PREFIX} \
PLAT=${PLATFORM} \
bl31 \
all
}
do_deploy() {
install -D -p -m 0644 ${B}/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31.bin
}
addtask deploy after do_compile

View File

@ -0,0 +1,47 @@
# Copyright (C) 2013 Tomas Novotny <novotny@rehivetech.com>
# Released under BSD-2-Clause or MIT license
DESCRIPTION = "Handler for Allwinner's FEX files"
LICENSE = "CC0-1.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=0ceb3372c9595f0a8067e55da801e4a1"
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 = "496ef0fbd166cc2395daa76dd3c359357420963d"
S = "${WORKDIR}/git"
SUNXI_FEX_BIN_IMAGE = "fex-${MACHINE}-${PV}-${PR}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK = "fex-${MACHINE}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK_SIMPLE = "fex.bin"
inherit deploy
do_compile() {
fex2bin "${S}/${SUNXI_FEX_FILE}" > "${B}/${SUNXI_FEX_BIN_IMAGE}"
}
do_deploy() {
install -m 0644 ${B}/${SUNXI_FEX_BIN_IMAGE} ${DEPLOYDIR}/
cd ${DEPLOYDIR}
ln -sf ${SUNXI_FEX_BIN_IMAGE} ${SUNXI_FEX_BIN_IMAGE_SYMLINK}
ln -sf ${SUNXI_FEX_BIN_IMAGE} ${SUNXI_FEX_BIN_IMAGE_SYMLINK_SIMPLE}
}
addtask deploy before do_build after do_compile
PACKAGES = ""
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_install[noexec] = "1"
do_package[noexec] = "1"
do_packagedata[noexec] = "1"
do_package_write[noexec] = "1"
do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_populate_sysroot[noexec] = "1"

View File

@ -0,0 +1,21 @@
From 6adb2ebdc4022c24497e9ee4dccab41d18e3105d Mon Sep 17 00:00:00 2001
From: Florin Sarbu <florin@resin.io>
Date: Wed, 12 Sep 2018 14:22:49 +0200
Subject: [PATCH] nanopi_neo_air_defconfig: Enable eMMC support
Upstream-status: Pending
Signed-off-by: Florin Sarbu <florin@resin.io>
---
configs/nanopi_neo_air_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig
index 5ad90ddd16..8b7a4eb45d 100644
--- a/configs/nanopi_neo_air_defconfig
+++ b/configs/nanopi_neo_air_defconfig
@@ -15,3 +15,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air"
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2

View File

@ -0,0 +1,67 @@
From bb6f500c10cc8f5f31245626899e0732b7b287c5 Mon Sep 17 00:00:00 2001
From: Marek Belisko <marek.belisko@open-nandra.com>
Date: Wed, 19 Aug 2020 13:39:49 +0200
Subject: [PATCH] Revert "sunxi: psci: avoid error address-of-packed-member"
This reverts commit 9bd34a69a453d409792e08c00953ce8862145e65.
---
arch/arm/cpu/armv7/sunxi/psci.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/arch/arm/cpu/armv7/sunxi/psci.c b/arch/arm/cpu/armv7/sunxi/psci.c
index 5b68900..2c5d99e 100644
--- a/arch/arm/cpu/armv7/sunxi/psci.c
+++ b/arch/arm/cpu/armv7/sunxi/psci.c
@@ -75,7 +75,7 @@ static void __secure __mdelay(u32 ms)
isb();
}
-static void __secure clamp_release(void __maybe_unused *clamp)
+static void __secure clamp_release(u32 __maybe_unused *clamp)
{
#if defined(CONFIG_MACH_SUN6I) || defined(CONFIG_MACH_SUN7I) || \
defined(CONFIG_MACH_SUN8I_H3) || \
@@ -90,7 +90,7 @@ static void __secure clamp_release(void __maybe_unused *clamp)
#endif
}
-static void __secure clamp_set(void __maybe_unused *clamp)
+static void __secure clamp_set(u32 __maybe_unused *clamp)
{
#if defined(CONFIG_MACH_SUN6I) || defined(CONFIG_MACH_SUN7I) || \
defined(CONFIG_MACH_SUN8I_H3) || \
@@ -99,28 +99,22 @@ static void __secure clamp_set(void __maybe_unused *clamp)
#endif
}
-static void __secure sunxi_power_switch(void *clamp, void *pwroff_ptr, bool on,
+static void __secure sunxi_power_switch(u32 *clamp, u32 *pwroff, bool on,
int cpu)
{
- u32 pwroff;
-
- memcpy(&pwroff, pwroff_ptr, sizeof(u32));
-
if (on) {
/* Release power clamp */
clamp_release(clamp);
/* Clear power gating */
- clrbits_le32(&pwroff, BIT(cpu));
+ clrbits_le32(pwroff, BIT(cpu));
} else {
/* Set power gating */
- setbits_le32(&pwroff, BIT(cpu));
+ setbits_le32(pwroff, BIT(cpu));
/* Activate power clamp */
clamp_set(clamp);
}
-
- memcpy(pwroff_ptr, &pwroff, sizeof(u32));
}
#ifdef CONFIG_MACH_SUN8I_R40
--
2.7.4

View File

@ -0,0 +1,11 @@
# Default to (primary) SD
rootdev=mmcblk0p2
if itest.b *0x28 == 0x02 ; then
# U-Boot loaded from eMMC or secondary SD so use it for rootfs too
echo "U-boot loaded from eMMC or secondary SD"
rootdev=mmcblk1p2
fi
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} rootwait panic=10 ${extra}
load mmc 0:1 ${fdt_addr_r} ${fdtfile}
load mmc 0:1 ${kernel_addr_r} Image
booti ${kernel_addr_r} - ${fdt_addr_r}

View File

@ -0,0 +1,11 @@
# Default to (primary) SD
rootdev=mmcblk0p2
if itest.b *0x28 == 0x02 ; then
# U-Boot loaded from eMMC or secondary SD so use it for rootfs too
echo "U-boot loaded from eMMC or secondary SD"
rootdev=mmcblk1p2
fi
setenv bootargs console=${console} console=tty1 root=/dev/${rootdev} 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,42 @@
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://0001-gcc5-fixes.patch \
file://0002-gcc6-fixes.patch \
file://0003-No-gcc-version-specific-includes.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"
do_configure () {
oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
}

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

@ -0,0 +1,69 @@
diff -urN git-ORIG/include/linux/compiler-gcc6.h git/include/linux/compiler-gcc6.h
--- git-ORIG/include/linux/compiler-gcc6.h 1969-12-31 19:00:00.000000000 -0500
+++ git/include/linux/compiler-gcc6.h 2017-04-09 19:50:16.920945874 -0400
@@ -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 */

View File

@ -0,0 +1,24 @@
From bc4aa5814cbedbfaa1c79dfe7ea2571fee7f2d51 Mon Sep 17 00:00:00 2001
From: Andrey Lebedev <andrey@lebedev.lt>
Date: Wed, 22 Jan 2020 20:00:11 +0200
Subject: [PATCH] No gcc version-specific includes
In order to support gcc-5 and above. Fixes compilation errors like
linux/compiler-gcc9.h: No such file or directory
---
include/linux/compiler-gcc.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 9896e547b9..5f0bd65f3a 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -90,4 +90,3 @@
#define __gcc_header(x) #x
#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
#define gcc_header(x) _gcc_header(x)
-#include gcc_header(__GNUC__)
--
2.20.1

View File

@ -0,0 +1,31 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
DEPENDS += " bc-native dtc-native swig-native python3-native flex-native bison-native "
DEPENDS_append_sun50i = " atf-sunxi "
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
DEFAULT_PREFERENCE_sun4i="1"
DEFAULT_PREFERENCE_sun5i="1"
DEFAULT_PREFERENCE_sun7i="1"
DEFAULT_PREFERENCE_sun8i="1"
DEFAULT_PREFERENCE_sun50i="1"
SRC_URI += " \
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
file://boot.cmd \
"
# fix booting issue on orange pi zero
SRC_URI_append_orange-pi-zero = " file://0002-Revert-sunxi-psci-avoid-error-address-of-packed-memb.patch"
UBOOT_ENV_SUFFIX = "scr"
UBOOT_ENV = "boot"
EXTRA_OEMAKE += ' HOSTLDSHARED="${BUILD_CC} -shared ${BUILD_LDFLAGS} ${BUILD_CFLAGS}" '
EXTRA_OEMAKE_append_sun50i = " BL31=${DEPLOY_DIR_IMAGE}/bl31.bin "
do_compile_sun50i[depends] += "atf-sunxi:do_deploy"
do_compile_append() {
${B}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
}

View File

@ -1,23 +0,0 @@
require recipes-bsp/u-boot/u-boot.inc
LICENSE = "GPL"
# No patches for other machines yet
COMPATIBLE_MACHINE = "(mele|olinuxino-a13|cubieboard)"
DEFAULT_PREFERENCE_mele= "1"
DEFAULT_PREFERENCE_olinuxino-a13= "1"
DEFAULT_PREFERENCE_cubieboard="1"
SRC_URI = "git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi"
SRCREV = "7aa9f04f571247a6bb999c168b49e09f05b86465"
PR = "r5"
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
S = "${WORKDIR}/git"
do_install_prepend() {
cp ${S}/spl/sunxi-spl.bin ${S}
}

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,265 @@
/*
*
* This file is part of pyA20SOM.
* mapping.h is python GPIO extension.
*
* Copyright (c) 2014 Stefan Mavrodiev @ OLIMEX LTD, <support@olimex.com>
*
* pyA20SOM 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 },
{ "PH7", SUNXI_GPH(7), 35 },
{ "PB2", SUNXI_GPB(2), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio1",
{
{ "PB9", SUNXI_GPB(9), 7 },
{ "PH5", SUNXI_GPH(5), 9 },
{ "PH4", SUNXI_GPH(4), 11 },
{ "PH6", SUNXI_GPH(6), 13 },
{ "PH3", SUNXI_GPH(3), 15 },
{ "PI0", SUNXI_GPI(0), 29 },
{ "PI1", SUNXI_GPI(1), 31 },
{ "PI2", SUNXI_GPI(2), 33 },
{ "PI3", SUNXI_GPI(3), 35 },
{ "PI10", SUNXI_GPI(10), 37 },
{ "PI11", SUNXI_GPI(11), 39 },
{ "PI14", SUNXI_GPI(14), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio2",
{
{ "PB22", SUNXI_GPB(22), 21 },
{ "PB23", SUNXI_GPB(23), 22 },
{ "PA0", SUNXI_GPA(0), 29 },
{ "PA1", SUNXI_GPA(1), 27 },
{ "PA2", SUNXI_GPA(2), 25 },
{ "PA3", SUNXI_GPA(3), 23 },
{ "PA4", SUNXI_GPA(4), 30 },
{ "PA5", SUNXI_GPA(5), 28 },
{ "PA6", SUNXI_GPA(6), 26 },
{ "PA7", SUNXI_GPA(7), 24 },
{ "PA8", SUNXI_GPA(8), 33 },
{ "PA9", SUNXI_GPA(9), 35 },
{ "PA10", SUNXI_GPA(10), 31 },
{ "PA11", SUNXI_GPA(11), 37 },
{ "PA12", SUNXI_GPA(12), 39 },
{ "PA13", SUNXI_GPA(13), 32 },
{ "PA14", SUNXI_GPA(14), 34 },
{ "PA15", SUNXI_GPA(15), 36 },
{ "PA16", SUNXI_GPA(16), 38 },
{ "PA17", SUNXI_GPA(17), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio3",
{
{ "PH0", SUNXI_GPH(0), 5 },
{ "PH2", SUNXI_GPH(2), 7 },
{ "PH8", SUNXI_GPH(8), 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 },
{ "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 },
{ "PH24", SUNXI_GPH(24), 34 },
{ "PH25", SUNXI_GPH(25), 36 },
{ "PH26", SUNXI_GPH(26), 38 },
{ "PH27", SUNXI_GPH(27), 40 },
{
{ 0, 0, 0}
},
}
},
{"gpio4",
{
{ "PB0", SUNXI_GPB(0), 5 },
{ "PB1", SUNXI_GPB(1), 7 },
{ "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(0), 18 },
{ "PE7", SUNXI_GPE(0), 9 },
{ "PE8", SUNXI_GPE(0), 11 },
{ "PE9", SUNXI_GPE(0), 13 },
{ "PE10", SUNXI_GPE(0), 15 },
{ "PE11", SUNXI_GPE(0), 17 },
{ "PI20", SUNXI_GPI(20), 19 },
{ "PI21", SUNXI_GPI(21), 20 },
{ "PB18", SUNXI_GPB(18), 21 },
{ "PB19", SUNXI_GPB(19), 22 },
{ "PI16", SUNXI_GPI(16), 23 },
{ "PI17", SUNXI_GPI(17), 24 },
{ "PI18", SUNXI_GPI(18), 25 },
{ "PI19", SUNXI_GPI(19), 26 },
{ "PI12", SUNXI_GPI(12), 27 },
{ "PI13", SUNXI_GPI(13), 28 },
{ "PB20", SUNXI_GPB(20), 29 },
{ "PB21", SUNXI_GPB(21), 30 },
{ "PC22", SUNXI_GPC(22), 31 },
{ "PC21", SUNXI_GPC(21), 32 },
{ "PC20", SUNXI_GPC(20), 33 },
{ "PC19", SUNXI_GPC(21), 34 },
{ "PI15", SUNXI_GPI(15), 36 },
{
{ 0, 0, 0}
},
}
},
{"gpio5",
{
{ "PG0", SUNXI_GPG(0), 1 },
{ "PG1", SUNXI_GPG(1), 3 },
{ "PG2", SUNXI_GPG(2), 5 },
{ "PG3", SUNXI_GPG(3), 7 },
{ "PG4", SUNXI_GPG(4), 9 },
{ "PG5", SUNXI_GPG(5), 11 },
{ "PG6", SUNXI_GPG(6), 13 },
{ "PG7", SUNXI_GPG(7), 15 },
{ "PG8", SUNXI_GPG(8), 17 },
{ "PG9", SUNXI_GPG(9), 19 },
{ "PG10", SUNXI_GPG(10), 21 },
{ "PG11", SUNXI_GPG(11), 23 },
{ "PC8", SUNXI_GPC(8), 25 },
{ "PC9", SUNXI_GPC(9), 27 },
{ "PC10", SUNXI_GPC(10), 29 },
{ "PC11", SUNXI_GPC(11), 31 },
{ "PC12", SUNXI_GPC(12), 33 },
{ "PC13", SUNXI_GPC(13), 35 },
{ "PC14", SUNXI_GPC(14), 37 },
{ "PC15", SUNXI_GPC(15), 39 },
{ "PI6", SUNXI_GPI(6), 4 },
{ "PI7", SUNXI_GPI(7), 6 },
{ "PI8", SUNXI_GPI(8), 8 },
{ "PI9", SUNXI_GPI(9), 10 },
{ "PI4", SUNXI_GPI(4), 12 },
{ "PI5", SUNXI_GPI(5), 14 },
{ "PC16", SUNXI_GPC(16), 16 },
{ "PC17", SUNXI_GPC(17), 18 },
{ "PC18", SUNXI_GPC(18), 20 },
{ "PC23", SUNXI_GPC(23), 22 },
{ "PC24", SUNXI_GPC(24), 24 },
{ "PC7", SUNXI_GPC(7), 26 },
{ "PC6", SUNXI_GPC(6), 28 },
{ "PC5", SUNXI_GPC(5), 30 },
{ "PC3", SUNXI_GPC(3), 32 },
{ "PC2", SUNXI_GPC(2), 34 },
{ "PC1", SUNXI_GPC(1), 36 },
{ "PC0", SUNXI_GPC(0), 38 },
{ "PC4", SUNXI_GPC(4), 40 },
{
{ 0, 0, 0}
},
}
},
};
#endif

View File

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

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

@ -0,0 +1,104 @@
DESCRIPTION = "libGLES for the A10/A13 Allwinner processor with Mali 400 (X11)"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://README;md5=1b81a178e80ee888ee4571772699ab2c"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
# 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"
# There's only hardfp version available
python __anonymous() {
tunes = d.getVar("TUNE_FEATURES", True)
if not tunes:
return
if "callconvention-hard" not in tunes:
pkgn = d.getVar("PN", True)
pkgv = d.getVar("PV", True)
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
}
SRCREV_pn-${PN} = "d343311efc8db166d8371b28494f0f27b6a58724"
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"
DEPENDS = "libdrm xorgproto libump patchelf-native"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', 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 make ${EXTRA_OEMAKE} 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}
make libdir=${D}${libdir}/ includedir=${D}${includedir}/ install
make libdir=${D}${libdir}/ includedir=${D}${includedir}/ install -C include
rm -f ${D}${includedir}/KHR/khrplatform.h
# Fix .so name and create symlinks, binary package provides .so wich can't be included directly in package without triggering the 'dev-so' QA check
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
mv ${D}${libdir}/libMali.so ${D}${libdir}/libMali.so.3
patchelf --set-soname libMali.so.3 ${D}${libdir}/libMali.so.3
ln -sf libMali.so.3 ${D}${libdir}/libMali.so
for flib in libEGL.so.1.4 libGLESv1_CM.so.1.1 libGLESv2.so.2.0 ; do
rm ${D}${libdir}/$flib
ln -sf libMali.so.3 ${D}${libdir}/$flib
done
DESTDIR=${D}/ VERSION=r3p0 ABI=armhf make ${EXTRA_OEMAKE} 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"
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
RDEPENDS_${PN}-test = "${PN}"
FILES_${PN} += "${libdir}/lib*.so"
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"
INSANE_SKIP_${PN}-test = "dev-so ldflags textrel"

View File

@ -0,0 +1,15 @@
DESCRIPTION = "Unified Memory Provider userspace API source code needed for xf86-video-mali compilation"
LICENSE = "Apache-2"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=edf7fb6071cae7ec80d537a05ee17198"
inherit autotools
PV = "r4p0-00rel0+git${SRCPV}"
SRCREV_pn-${PN} = "ec0680628744f30b8fac35e41a7bd8e23e59c39f"
SRC_URI = "git://github.com/linux-sunxi/libump.git"
S = "${WORKDIR}/git"

View File

@ -0,0 +1,5 @@
# Enable lima and panfrost Mesa drivers
PACKAGECONFIG_append_use-mailine-graphics = " lima panfrost"
# Enable KMS renderonly Mesa support
# See https://cgit.freedesktop.org/mesa/mesa/commit/?id=2b780fe89300199f2334539aa1678e9b68f0434f
GALLIUMDRIVERS_append_use-mailine-graphics = ",kmsro"

View File

@ -1,79 +0,0 @@
From c525c0b5d8eada982c99442454fcf7b8364e10b3 Mon Sep 17 00:00:00 2001
From: Florian Boor <florian@kernelconcepts.de>
Date: Fri, 1 Apr 2011 23:30:21 +0200
Subject: [PATCH] Support reading coordinates from multitouch devices.
Signed-off-by: Florian Boor <florian@kernelconcepts.de>
Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
plugins/input-raw.c | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/plugins/input-raw.c b/plugins/input-raw.c
index 4396eab..1e48505 100644
--- a/plugins/input-raw.c
+++ b/plugins/input-raw.c
@@ -40,6 +40,11 @@
# define KEY_CNT (KEY_MAX+1)
#endif
+#ifndef ABS_MT_POSITION_X
+# define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
+# define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
+#endif
+
#include "tslib-private.h"
#define GRAB_EVENTS_WANTED 1
@@ -160,16 +165,17 @@ static int ts_input_read(struct tslib_module_info *inf,
}
break;
case EV_SYN:
- /* Fill out a new complete event */
- if (pen_up) {
- samp->x = 0;
- samp->y = 0;
- samp->pressure = 0;
- pen_up = 0;
- } else {
- samp->x = i->current_x;
- samp->y = i->current_y;
- samp->pressure = i->current_p;
+ if (ev.code == SYN_REPORT) {
+ /* Fill out a new complete event */
+ if (pen_up) {
+ samp->x = 0;
+ samp->y = 0;
+ samp->pressure = 0;
+ pen_up = 0;
+ } else {
+ samp->x = i->current_x;
+ samp->y = i->current_y;
+ samp->pressure = i->current_p;
}
samp->tv = ev.time;
#ifdef DEBUG
@@ -179,6 +185,7 @@ static int ts_input_read(struct tslib_module_info *inf,
#endif /* DEBUG */
samp++;
total++;
+ }
break;
case EV_ABS:
switch (ev.code) {
@@ -188,6 +195,12 @@ static int ts_input_read(struct tslib_module_info *inf,
case ABS_Y:
i->current_y = ev.value;
break;
+ case ABS_MT_POSITION_X:
+ i->current_x = ev.value;
+ break;
+ case ABS_MT_POSITION_Y:
+ i->current_y = ev.value;
+ break;
case ABS_PRESSURE:
i->current_p = ev.value;
break;
--
1.8.1.4

View File

@ -0,0 +1,4 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://tslib.patch"

View File

@ -1,7 +0,0 @@
FILESEXTRAPATHS := "${THISDIR}/${PN}"
PRINC := "${@int(PRINC) + 1}"
SRC_URI += "file://0001-Support-reading-coordinates-from-multitouch-devices.patch \
file://tslib.patch"

View File

@ -0,0 +1,17 @@
DESCRIPTION = "Library for the DRI2 extension to the X Window System"
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://COPYING;md5=827da9afab1f727f2a66574629e0f39c"
DEPENDS = "libdrm libxext libxfixes xorgproto"
PE = "1"
PV = "1.0.0+git${SRCPV}"
SRC_URI = "git://github.com/robclark/libdri2.git;protocol=http;branch=master"
SRCREV_pn-${PN} = "4f1eef3183df2b270c3d5cbef07343ee5127a6a4"
S = "${WORKDIR}/git"
inherit autotools pkgconfig

View File

@ -0,0 +1,7 @@
Section "Device"
Identifier "Allwinner A10/A13 FBDEV"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "SwapbuffersWait" "false"
EndSection

View File

@ -0,0 +1,26 @@
require recipes-graphics/xorg-driver/xorg-driver-video.inc
DESCRIPTION = "X.Org X server -- A10/A13 display driver"
LICENSE = "MIT-X"
LIC_FILES_CHKSUM = "file://COPYING;md5=f91dc3ee5ce59eb4b528e67e98a31266"
DEPENDS += "sunxi-mali libump xorgproto"
PE = "3"
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"
S = "${WORKDIR}/git"
CFLAGS += " -I${STAGING_INCDIR}/xorg "
do_install_append() {
install -d ${D}${datadir}/X11/xorg.conf.d
install -m 0644 ${WORKDIR}/20-fbturbo.conf ${D}${datadir}/X11/xorg.conf.d
}
FILES_${PN} += "${datadir}/X11/xorg.conf.d/20-fbturbo.conf"

View File

@ -0,0 +1,4 @@
include xorg-driver-common.inc
DEPENDS =+ "renderproto videoproto xextproto fontsproto"

View File

@ -1,22 +0,0 @@
Section "Device"
Identifier "Generic Fbdev Driver"
Driver "fbdev"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Fbdev Driver"
Monitor "Generic Monitor"
DefaultDepth 24
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
EndSection

View File

@ -1,4 +1 @@
FILESEXTRAPATHS := "${THISDIR}/${PN}"
PRINC := "${@int(PRINC) + 1}"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

View File

@ -0,0 +1,13 @@
# The brcmfmac driver looks for NVRAM files using the first entry in board
# compatible since kernel >= 5.0:
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0ad4b55b2f29784f93875e6231bf57cd233624a2
# We create a link to the AP6212 module NVRAM file so that firmware is
# autodetected by the driver.
# WARNING: The following commit is required for NVRAM files to be included in
# linux-firmware-bcm43430 package:
# http://git.openembedded.org/openembedded-core/commit/?id=dde0f79f32fa6bab045ef60199903f74c4cc3393
do_install_append() {
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.xunlong,orangepi-zero-plus2.txt
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.xunlong,orangepi-zero-plus2-h3.txt
ln -sf -r ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.friendlyarm,nanopi-neo-plus2.txt
}

View File

@ -0,0 +1,32 @@
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
inherit kernel
require linux.inc
# Since we're not using git, this doesn't make a difference, but we need to fill
# in something or kernel-yocto.bbclass will fail.
KBRANCH ?= "master"
DEPENDS += "rsync-native"
# Pull in the devicetree files into the rootfs
RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
S = "${WORKDIR}/linux-${PV}"
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v5.x/linux-${PV}.tar.xz \
file://0003-ARM-dts-nanopi-neo-air-Add-WiFi-eMMC.patch \
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
file://defconfig \
"
SRC_URI_append_use-mailine-graphics = " file://drm.cfg"
SRC_URI_append_bananapi = " file://axp20x.cfg"
FILES_${KERNEL_PACKAGE_NAME}-base_append = " ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"

View File

@ -0,0 +1,87 @@
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
index 84cd9c061..917986cce 100644
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
@@ -80,13 +80,15 @@
};
};
- reg_vcc_wifi: reg_vcc_wifi {
+ vdd_wifi: vdd_wifi {
compatible = "regulator-fixed";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-name = "vcc-wifi";
- enable-active-high;
+ regulator-name = "wifi";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
gpio = <&pio 0 20 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <70000>;
+ enable-active-high;
+
};
reg_vdd_cpux: vdd-cpux-regulator {
@@ -106,10 +108,12 @@
1300000 1>;
};
- wifi_pwrseq: wifi_pwrseq {
+ pwrseq_wifi: pwrseq_wifi {
compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_rst>;
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>;
- post-power-on-delay-ms = <200>;
+ post-power-on-delay-ms = <50>;
};
};
@@ -140,9 +144,11 @@
};
&mmc1 {
- vmmc-supply = <&reg_vcc_wifi>;
- mmc-pwrseq = <&wifi_pwrseq>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&vdd_wifi>;
+ mmc-pwrseq = <&pwrseq_wifi>;
bus-width = <4>;
+ max-frequency = <16000000>;
non-removable;
status = "okay";
@@ -152,6 +158,13 @@
*/
xr819: sdio_wifi@1 {
reg = <1>;
+ compatible = "xradio,xr819";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_wake>;
+ interrupt-parent = <&pio>;
+ interrupts = <6 10 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "host-wake";
+ local-mac-address = [dc 44 6d c0 ff ee];
};
};
@@ -208,3 +221,18 @@
status = "okay";
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
};
+
+&pio {
+ wifi_wake: wifi_wake {
+ pins = "PG10";
+ function = "gpio_in";
+ };
+};
+
+&r_pio {
+ wifi_rst: wifi_rst {
+ pins = "PL7";
+ function = "gpio_out";
+ };
+};
+

View File

@ -0,0 +1,80 @@
From 4ca766a768e783ee5198f1935b7f46a5df9b4a35 Mon Sep 17 00:00:00 2001
From: Jelle van der Waa <jelle@vdwaa.nl>
Date: Tue, 23 Jan 2018 15:58:44 -0800
Subject: [PATCH] ARM: dts: nanopi-neo-air: Add WiFi / eMMC
Enable the WiFi (AP6212) chip and eMMC support for the NanoPi NEO Air.
This patch was originally submitted by Jelle van der Waa. Martin Kelly
modified it to compile on the latest kernel, fixed up some review
comments from Maxime Ripard, and re-tested the patch.
The patch has been reworked to add back eMMC support which has been left
out at the last backport.
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: linux-sunxi@googlegroups.com
Cc: devicetree@vger.kernel.org
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Florin Sarbu <florin@resin.io>
---
arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts | 34 +++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
index 03ff6f8..a9331fe 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
@@ -72,6 +72,11 @@
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
};
};
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
+ };
};
&mmc0 {
@@ -84,6 +89,35 @@
status = "okay";
};
+&mmc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins_a>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+
+ brcmf: bcrmf@1 {
+ reg = <1>;
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&pio>;
+ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
+ interrupt-names = "host-wake";
+ };
+};
+
+&mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_8bit_pins>;
+ vmmc-supply = <&reg_vcc3v3>;
+ vqmmc-supply = <&reg_vcc3v3>;
+ bus-width = <8>;
+ non-removable;
+ status = "okay";
+};
+
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
--
2.11.0

View File

@ -0,0 +1,619 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IRQ_TIME_ACCOUNTING=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_NUMA_BALANCING=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_USER_NS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_ALPINE=y
CONFIG_ARCH_BCM2835=y
CONFIG_ARCH_BCM_IPROC=y
CONFIG_ARCH_BERLIN=y
CONFIG_ARCH_BRCMSTB=y
CONFIG_ARCH_EXYNOS=y
CONFIG_ARCH_LAYERSCAPE=y
CONFIG_ARCH_LG1K=y
CONFIG_ARCH_HISI=y
CONFIG_ARCH_MEDIATEK=y
CONFIG_ARCH_MESON=y
CONFIG_ARCH_MVEBU=y
CONFIG_ARCH_QCOM=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_ARCH_SEATTLE=y
CONFIG_ARCH_RENESAS=y
CONFIG_ARCH_R8A7795=y
CONFIG_ARCH_R8A7796=y
CONFIG_ARCH_STRATIX10=y
CONFIG_ARCH_TEGRA=y
CONFIG_ARCH_SPRD=y
CONFIG_ARCH_THUNDER=y
CONFIG_ARCH_THUNDER2=y
CONFIG_ARCH_UNIPHIER=y
CONFIG_ARCH_VEXPRESS=y
CONFIG_ARCH_XGENE=y
CONFIG_ARCH_ZX=y
CONFIG_ARCH_ZYNQMP=y
CONFIG_PCI=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCI_IOV=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_PCI_LAYERSCAPE=y
CONFIG_PCI_HISI=y
CONFIG_PCIE_QCOM=y
CONFIG_PCIE_KIRIN=y
CONFIG_PCIE_ARMADA_8K=y
CONFIG_PCI_AARDVARK=y
CONFIG_PCIE_RCAR=y
CONFIG_PCIE_ROCKCHIP=m
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_XGENE=y
CONFIG_ARM64_VA_BITS_48=y
CONFIG_SCHED_MC=y
CONFIG_NUMA=y
CONFIG_PREEMPT=y
CONFIG_KSM=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_CMA=y
CONFIG_SECCOMP=y
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_XEN=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_COMPAT=y
CONFIG_HIBERNATION=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_ARM_CPUIDLE=y
CONFIG_CPU_FREQ=y
CONFIG_CPUFREQ_DT=y
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
CONFIG_ARM_SCPI_CPUFREQ=y
CONFIG_ACPI_CPPC_CPUFREQ=m
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IPV6=m
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_MANGLE=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_BPF_JIT=y
CONFIG_BT=m
CONFIG_BT_HIDP=m
# CONFIG_BT_HS is not set
# CONFIG_BT_LE is not set
CONFIG_BT_LEDS=y
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_LL=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
CONFIG_MAC80211=m
CONFIG_MAC80211_LEDS=y
CONFIG_RFKILL=m
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DMA_CMA=y
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_DENALI_DT=y
CONFIG_MTD_SPI_NOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=m
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_NVME=m
CONFIG_SRAM=y
CONFIG_EEPROM_AT25=m
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_HISI_SAS=y
CONFIG_SCSI_HISI_SAS_PCI=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_AHCI_CEVA=y
CONFIG_AHCI_MVEBU=y
CONFIG_AHCI_XGENE=y
CONFIG_AHCI_QORIQ=y
CONFIG_SATA_SIL24=y
CONFIG_SATA_RCAR=y
CONFIG_PATA_PLATFORM=y
CONFIG_PATA_OF_PLATFORM=y
CONFIG_NETDEVICES=y
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_TUN=y
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_AMD_XGBE=y
CONFIG_NET_XGENE=y
CONFIG_MACB=y
CONFIG_HNS_DSAF=y
CONFIG_HNS_ENET=y
CONFIG_E1000E=y
CONFIG_IGB=y
CONFIG_IGBVF=y
CONFIG_MVNETA=y
CONFIG_MVPP2=y
CONFIG_SKY2=y
CONFIG_QCOM_EMAC=m
CONFIG_RAVB=y
CONFIG_SMC91X=y
CONFIG_SMSC911X=y
CONFIG_STMMAC_ETH=m
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_AT803X_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_MESON_GXL_PHY=m
CONFIG_MICREL_PHY=y
CONFIG_REALTEK_PHY=m
CONFIG_ROCKCHIP_PHY=y
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SR9800=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_BRCMFMAC=m
CONFIG_WL18XX=m
CONFIG_WLCORE_SDIO=m
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_ADC=m
CONFIG_KEYBOARD_CROS_EC=y
CONFIG_KEYBOARD_GPIO=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PM8941_PWRKEY=y
CONFIG_INPUT_HISI_POWERKEY=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_AMBAKMI=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_8250_MT6577=y
CONFIG_SERIAL_8250_UNIPHIER=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_MESON=y
CONFIG_SERIAL_MESON_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_TEGRA=y
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=11
CONFIG_SERIAL_SH_SCI_CONSOLE=y
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_SERIAL_XILINX_PS_UART=y
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_BCM2835=m
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_IMX=y
CONFIG_I2C_MESON=y
CONFIG_I2C_MV64XXX=y
CONFIG_I2C_PXA=y
CONFIG_I2C_QUP=y
CONFIG_I2C_RK3X=y
CONFIG_I2C_SH_MOBILE=y
CONFIG_I2C_TEGRA=y
CONFIG_I2C_UNIPHIER_F=y
CONFIG_I2C_RCAR=y
CONFIG_I2C_CROS_EC_TUNNEL=y
CONFIG_SPI=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
CONFIG_SPI_BCM2835=m
CONFIG_SPI_BCM2835AUX=m
CONFIG_SPI_ORION=y
CONFIG_SPI_PL022=y
CONFIG_SPI_QUP=y
CONFIG_SPI_ROCKCHIP=y
CONFIG_SPI_S3C64XX=y
CONFIG_SPI_SPIDEV=m
CONFIG_SPMI=y
CONFIG_PINCTRL_IPQ8074=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_MAX77620=y
CONFIG_PINCTRL_MSM8916=y
CONFIG_PINCTRL_MSM8994=y
CONFIG_PINCTRL_MSM8996=y
CONFIG_PINCTRL_QDF2XXX=y
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
CONFIG_GPIO_DWAPB=y
CONFIG_GPIO_PL061=y
CONFIG_GPIO_RCAR=y
CONFIG_GPIO_XGENE=y
CONFIG_GPIO_XGENE_SB=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_MAX77620=y
CONFIG_POWER_RESET_MSM=y
CONFIG_POWER_RESET_XGENE=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_BATTERY_BQ27XXX=y
CONFIG_SENSORS_ARM_SCPI=y
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_INA2XX=m
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_THERMAL_EMULATION=y
CONFIG_BRCMSTB_THERMAL=m
CONFIG_EXYNOS_THERMAL=y
CONFIG_ROCKCHIP_THERMAL=m
CONFIG_WATCHDOG=y
CONFIG_S3C2410_WATCHDOG=y
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_WATCHDOG=m
CONFIG_RENESAS_WDT=y
CONFIG_UNIPHIER_WATCHDOG=y
CONFIG_BCM2835_WDT=y
CONFIG_MFD_AXP20X_RSB=y
CONFIG_MFD_CROS_EC=y
CONFIG_MFD_CROS_EC_I2C=y
CONFIG_MFD_CROS_EC_SPI=y
CONFIG_MFD_EXYNOS_LPASS=m
CONFIG_MFD_HI6421_PMIC=y
CONFIG_MFD_HI655X_PMIC=y
CONFIG_MFD_MAX77620=y
CONFIG_MFD_SPMI_PMIC=y
CONFIG_MFD_RK808=y
CONFIG_MFD_SEC_CORE=y
CONFIG_REGULATOR_AXP20X=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_HI6421V530=y
CONFIG_REGULATOR_HI655X=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_SMD_RPM=y
CONFIG_REGULATOR_QCOM_SPMI=y
CONFIG_REGULATOR_RK808=y
CONFIG_REGULATOR_S2MPS11=y
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_RC_CORE=m
CONFIG_RC_DEVICES=y
CONFIG_RC_DECODERS=y
CONFIG_IR_MESON=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_DVB_NET is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
CONFIG_VIDEO_RENESAS_FCP=m
CONFIG_VIDEO_RENESAS_VSP1=m
CONFIG_DRM=m
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_EXYNOS=m
CONFIG_DRM_EXYNOS5433_DECON=y
CONFIG_DRM_EXYNOS7_DECON=y
CONFIG_DRM_EXYNOS_DSI=y
# CONFIG_DRM_EXYNOS_DP is not set
CONFIG_DRM_EXYNOS_HDMI=y
CONFIG_DRM_EXYNOS_MIC=y
CONFIG_DRM_ROCKCHIP=m
CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_DRM_RCAR_DU=m
CONFIG_DRM_RCAR_LVDS=y
CONFIG_DRM_RCAR_VSP=y
CONFIG_DRM_TEGRA=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_VC4=m
CONFIG_DRM_HISI_KIRIN=m
CONFIG_DRM_MESON=m
CONFIG_FB=y
CONFIG_FB_ARMCLCD=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_PWM=m
CONFIG_BACKLIGHT_LP855X=m
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_BCM2835_SOC_I2S=m
CONFIG_SND_SOC_SAMSUNG=y
CONFIG_SND_SOC_RCAR=m
CONFIG_SND_SOC_AK4613=m
CONFIG_SND_SIMPLE_CARD=y
CONFIG_USB=y
CONFIG_USB_OTG=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_TEGRA=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_MSM=y
CONFIG_USB_EHCI_EXYNOS=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_EXYNOS=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_RENESAS_USBHS=m
CONFIG_USB_STORAGE=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC2=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_ISP1760=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_MSM_OTG=y
CONFIG_USB_QCOM_8X16_PHY=y
CONFIG_USB_ULPI=y
CONFIG_USB_GADGET=y
CONFIG_USB_RENESAS_USBHS_UDC=m
CONFIG_USB_MUSB_HDRC=y
# Restrict to host mode, as it is hard-coded that way in the device tree
# (dr_mode = "host" in the &usb_otg node)
CONFIG_USB_MUSB_HOST=y
CONFIG_USB_MUSB_SUNXI=y
CONFIG_MMC=y
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_ARMMMCI=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_OF_ESDHC=y
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_SDHCI_TEGRA=y
CONFIG_MMC_MESON_GX=y
CONFIG_MMC_SDHCI_MSM=y
CONFIG_MMC_SPI=y
CONFIG_MMC_SDHI=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_EXYNOS=y
CONFIG_MMC_DW_K3=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SUNXI=y
CONFIG_MMC_BCM2835=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y
CONFIG_LEDS_SYSCON=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_EDAC=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_MAX77686=y
CONFIG_RTC_DRV_RK808=m
CONFIG_RTC_DRV_S5M=y
CONFIG_RTC_DRV_DS3232=y
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_S3C=y
CONFIG_RTC_DRV_PL031=y
CONFIG_RTC_DRV_SUN6I=y
CONFIG_RTC_DRV_TEGRA=y
CONFIG_RTC_DRV_XGENE=y
CONFIG_DMADEVICES=y
CONFIG_DMA_BCM2835=m
CONFIG_K3_DMA=y
CONFIG_MV_XOR_V2=y
CONFIG_PL330_DMA=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_QCOM_BAM_DMA=y
CONFIG_QCOM_HIDMA_MGMT=y
CONFIG_QCOM_HIDMA=y
CONFIG_RCAR_DMAC=y
CONFIG_VFIO=y
CONFIG_VFIO_PCI=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MMIO=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_STAGING=y
CONFIG_RTL8723BS=m
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_SCPI=y
CONFIG_COMMON_CLK_CS2000_CP=y
CONFIG_COMMON_CLK_S2MPS11=y
CONFIG_CLK_QORIQ=y
CONFIG_COMMON_CLK_PWM=y
CONFIG_COMMON_CLK_QCOM=y
CONFIG_QCOM_CLK_SMD_RPM=y
CONFIG_IPQ_GCC_8074=y
CONFIG_MSM_GCC_8916=y
CONFIG_MSM_GCC_8994=y
CONFIG_MSM_MMCC_8996=y
CONFIG_HWSPINLOCK=y
CONFIG_HWSPINLOCK_QCOM=y
CONFIG_ARM_MHU=y
CONFIG_PLATFORM_MHU=y
CONFIG_BCM2835_MBOX=y
CONFIG_HI6220_MBOX=y
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SMMU_V3=y
CONFIG_RPMSG_QCOM_SMD=y
CONFIG_RASPBERRYPI_POWER=y
CONFIG_QCOM_SMEM=y
CONFIG_QCOM_SMD_RPM=y
CONFIG_QCOM_SMP2P=y
CONFIG_QCOM_SMSM=y
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ARCH_TEGRA_132_SOC=y
CONFIG_ARCH_TEGRA_210_SOC=y
CONFIG_ARCH_TEGRA_186_SOC=y
CONFIG_EXTCON_USB_GPIO=y
CONFIG_IIO=y
CONFIG_EXYNOS_ADC=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_PWM=y
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
CONFIG_PWM_MESON=m
CONFIG_PWM_ROCKCHIP=y
CONFIG_PWM_SAMSUNG=y
CONFIG_PWM_TEGRA=m
CONFIG_PHY_RCAR_GEN3_USB2=y
CONFIG_PHY_HI6220_USB=y
CONFIG_PHY_SUN4I_USB=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PHY_ROCKCHIP_EMMC=y
CONFIG_PHY_ROCKCHIP_PCIE=m
CONFIG_PHY_XGENE=y
CONFIG_PHY_TEGRA_XUSB=y
CONFIG_QCOM_L2_PMU=y
CONFIG_QCOM_L3_PMU=y
CONFIG_TEE=y
CONFIG_OPTEE=y
CONFIG_ARM_SCPI_PROTOCOL=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_EFI_CAPSULE_LOADER=y
CONFIG_ACPI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_OVERLAY_FS=m
CONFIG_VFAT_FS=y
CONFIG_HUGETLBFS=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
CONFIG_SQUASHFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_ROOT_NFS=y
CONFIG_9P_FS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_FS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOCKUP_DETECTOR=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_FTRACE is not set
CONFIG_MEMTEST=y
CONFIG_SECURITY=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_ARM64_CRYPTO=y
CONFIG_CRYPTO_SHA256_ARM64=m
CONFIG_CRYPTO_SHA512_ARM64=m
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
CONFIG_CRYPTO_GHASH_ARM64_CE=y
CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_CE=m
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_AES_ARM64_BS=m

View File

@ -0,0 +1,786 @@
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=y
CONFIG_INPUT_MOUSE=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_SUN4I=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AXP20X_PEK=y
CONFIG_INPUT_EVDEV=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_SPIDEV=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_THERMAL_OF=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_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
CONFIG_USB_SERIAL_PL2303=m
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_XFS_FS=m
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FANOTIFY=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_OVERLAY_FS=m
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y
CONFIG_CACHEFILES=m
CONFIG_CACHEFILES_HISTOGRAM=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_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
CONFIG_USB_STORAGE=y

View File

@ -0,0 +1,4 @@
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X=y
CONFIG_IIO=y
CONFIG_AXP20X_POWER=y

View File

@ -0,0 +1,8 @@
CONFIG_DRM=y
CONFIG_DRM_SUN4I=y
CONFIG_DRM_SUN8I_DW_HDMI=y
CONFIG_DRM_SUN8I_MIXER=y
CONFIG_DRM_LIMA=y
CONFIG_DRM_PANFROST=y
CONFIG_CMA=y
CONFIG_DMA_CMA=y

View File

@ -0,0 +1,32 @@
SECTION = "kernel"
DESCRIPTION = "Mainline Longterm Linux kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
inherit kernel
require linux.inc
# Since we're not using git, this doesn't make a difference, but we need to fill
# in something or kernel-yocto.bbclass will fail.
KBRANCH ?= "master"
# Pull in the devicetree files into the rootfs
RDEPENDS_${KERNEL_PACKAGE_NAME}-base += "kernel-devicetree"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
S = "${WORKDIR}/linux-${PV}"
SRC_URI[md5sum] = "dfb4db3d95bdcd8114281e32eb0be5cd"
SRC_URI[sha256sum] = "d8c5d7844214510e85ceb9f5236f27f63fc03535a143f3aaa0c1677a8f92e631"
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v4.x/linux-${PV}.tar.xz \
file://0003-ARM-dts-nanopi-neo-air-Add-WiFi-eMMC.patch \
file://defconfig \
"
SRC_URI_append_orange-pi-zero += "\
file://0001-dts-orange-pi-zero-Add-wifi-support.patch \
"

View File

@ -0,0 +1,6 @@
require linux-mainline.inc
DESCRIPTION = "Mainline Longterm Linux kernel"
SRC_URI[md5sum] = "a3820e9aa56af51c0331b7f427e6f71b"
SRC_URI[sha256sum] = "21626132658dc34cb41b7aa7b80ecf83751890a71ac1a63d77aea9d488271a03"

View File

@ -0,0 +1,6 @@
require linux-mainline.inc
DESCRIPTION = "Mainline Stable Linux kernel"
SRC_URI[md5sum] = "3ea50025d8c679a327cf2fc225d81a46"
SRC_URI[sha256sum] = "2bef3edcf44c746383045f4a809b2013e18c52319c827875ed8e89138951cab2"

View File

@ -0,0 +1,276 @@
From a66aaac889f09425ff0f3ddb27aca46ae02d6eea Mon Sep 17 00:00:00 2001
From: Joe Perches <joe@perches.com>
Date: Thu, 25 Jun 2015 15:01:02 -0700
Subject: [PATCH] compiler-gcc: integrate the various compiler-gcc[345].h files
As gcc major version numbers are going to advance rather rapidly in the
future, there's no real value in separate files for each compiler
version.
Deduplicate some of the macros #defined in each file too.
Neaten comments using normal kernel commenting style.
Upstream-Status: Backport
Signed-off-by: Joe Perches <joe@perches.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Sasha Levin <levinsasha928@gmail.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Alan Modra <amodra@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jonathan Liu <net147@gmail.com>
---
include/linux/compiler-gcc.h | 120 ++++++++++++++++++++++++++++++++++++++++--
include/linux/compiler-gcc3.h | 23 --------
include/linux/compiler-gcc4.h | 74 --------------------------
3 files changed, 116 insertions(+), 101 deletions(-)
delete mode 100644 include/linux/compiler-gcc3.h
delete mode 100644 include/linux/compiler-gcc4.h
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 7970e31..727add9 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -97,10 +97,122 @@
#define __maybe_unused __attribute__((unused))
#define __always_unused __attribute__((unused))
-#define __gcc_header(x) #x
-#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
-#define gcc_header(x) _gcc_header(x)
-#include gcc_header(__GNUC__)
+/* gcc version specific checks */
+
+#if GCC_VERSION < 30200
+# error Sorry, your compiler is too old - please upgrade it.
+#endif
+
+#if GCC_VERSION < 30300
+# define __used __attribute__((__unused__))
+#else
+# define __used __attribute__((__used__))
+#endif
+
+#ifdef CONFIG_GCOV_KERNEL
+# if GCC_VERSION < 30400
+# error "GCOV profiling support for gcc versions below 3.4 not included"
+# endif /* __GNUC_MINOR__ */
+#endif /* CONFIG_GCOV_KERNEL */
+
+#if GCC_VERSION >= 30400
+#define __must_check __attribute__((warn_unused_result))
+#endif
+
+#if GCC_VERSION >= 40000
+
+/* GCC 4.1.[01] miscompiles __weak */
+#ifdef __KERNEL__
+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
+# error Your version of gcc miscompiles the __weak directive
+# endif
+#endif
+
+#define __used __attribute__((__used__))
+#define __compiler_offsetof(a, b) \
+ __builtin_offsetof(a, b)
+
+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
+#endif
+
+#if GCC_VERSION >= 40300
+/* 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__ */
+#endif /* GCC_VERSION >= 40300 */
+
+#if GCC_VERSION >= 40500
+/*
+ * 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__))
+
+#endif /* GCC_VERSION >= 40500 */
+
+#if GCC_VERSION >= 40600
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+#endif
+
+/*
+ * 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
+#if GCC_VERSION >= 40400
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#endif
+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
+#define __HAVE_BUILTIN_BSWAP16__
+#endif
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
+
+#if GCC_VERSION >= 50000
+#define KASAN_ABI_VERSION 4
+#elif GCC_VERSION >= 40902
+#define KASAN_ABI_VERSION 3
+#endif
+
+#endif /* gcc version >= 40000 specific checks */
#if !defined(__noclone)
#define __noclone /* not needed */
diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h
deleted file mode 100644
index 37d4124..0000000
--- a/include/linux/compiler-gcc3.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __LINUX_COMPILER_H
-#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
-#endif
-
-#if __GNUC_MINOR__ < 2
-# error Sorry, your compiler is too old - please upgrade it.
-#endif
-
-#if __GNUC_MINOR__ >= 3
-# define __used __attribute__((__used__))
-#else
-# define __used __attribute__((__unused__))
-#endif
-
-#if __GNUC_MINOR__ >= 4
-#define __must_check __attribute__((warn_unused_result))
-#endif
-
-#ifdef CONFIG_GCOV_KERNEL
-# if __GNUC_MINOR__ < 4
-# error "GCOV profiling support for gcc versions below 3.4 not included"
-# endif /* __GNUC_MINOR__ */
-#endif /* CONFIG_GCOV_KERNEL */
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
deleted file mode 100644
index 91b1aa8..0000000
--- a/include/linux/compiler-gcc4.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef __LINUX_COMPILER_H
-#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead."
-#endif
-
-/* GCC 4.1.[01] miscompiles __weak */
-#ifdef __KERNEL__
-# if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1
-# error Your version of gcc miscompiles the __weak directive
-# endif
-#endif
-
-#define __used __attribute__((__used__))
-#define __must_check __attribute__((warn_unused_result))
-#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
-
-#if __GNUC_MINOR__ >= 3
-/* 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 __linktime_error(message) __attribute__((__error__(message)))
-
-/*
- * 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.)
- */
-#if GCC_VERSION <= 40801
-# define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
-#else
-# define asm_volatile_goto(x...) do { asm goto(x); } while (0)
-#endif
-
-#if __GNUC_MINOR__ >= 5
-/*
- * 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__))
-
-#endif
-#endif
-
-#if __GNUC_MINOR__ > 0
-#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-#endif
-#if __GNUC_MINOR__ >= 4 && !defined(__CHECKER__)
-#define __compiletime_warning(message) __attribute__((warning(message)))
-#define __compiletime_error(message) __attribute__((error(message)))
-#endif
--
2.10.0

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 */

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

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