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