mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2025-07-16 13:59:46 +02:00
Compare commits
49 Commits
Author | SHA1 | Date | |
---|---|---|---|
318c872680 | |||
3fd8a3fcc7 | |||
41e1179afb | |||
12e77f9741 | |||
941171c912 | |||
7fad64eefd | |||
7bfffa0671 | |||
54164a628a | |||
1848d697ad | |||
d94f784d4d | |||
7f791bd576 | |||
7f88e6c78e | |||
0a77e55428 | |||
e372befda7 | |||
10f37db26c | |||
2b1cafc104 | |||
fe66ceacb5 | |||
75fe4617ce | |||
3ef9217ad7 | |||
0dcdc4edf9 | |||
0b21d3bd2f | |||
3bd237ac1b | |||
1c38e7fa72 | |||
49f7a659b4 | |||
72d35fc0a6 | |||
11e16d173f | |||
f246bc943a | |||
6dfe134952 | |||
4ab93061c2 | |||
3dc1fc4103 | |||
1a840570a9 | |||
0c6af07690 | |||
54321d7854 | |||
b87043d683 | |||
bb8656b63e | |||
93ec9da1e4 | |||
1c06816a26 | |||
f6417032a0 | |||
26c32a3228 | |||
0da0fd6531 | |||
5564b58b56 | |||
53712dd3bb | |||
63410209ad | |||
a3b6faa731 | |||
b00caff43d | |||
11dee5bc94 | |||
f74be86e4a | |||
7c1e4b303b | |||
9e15c68634 |
@ -31,13 +31,7 @@ If you want to switch back to sunxi versions for some reasons (no device tree av
|
||||
|
||||
If you already have built the mainline versions it might be necessary to reset the build directories with:
|
||||
|
||||
bitbake -c clean linux
|
||||
bitbake -c clean u-boot
|
||||
|
||||
Also, older kernel versions such as this don't build successfully with any gcc version 5.0 or newer. Since gcc-5.2 is the current
|
||||
default compiler on master, if you wish to build this kernel with master you'll need to add the following to your conf/local.conf:
|
||||
|
||||
GCCVERSION = "4.9%"
|
||||
bitbake -c clean linux u-boot
|
||||
|
||||
Performance
|
||||
===========
|
||||
|
@ -27,22 +27,18 @@ IMAGE_ROOTFS_ALIGNMENT = "2048"
|
||||
|
||||
# Use an uncompressed ext3 by default as rootfs
|
||||
SDIMG_ROOTFS_TYPE ?= "ext4"
|
||||
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
||||
SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
||||
|
||||
IMAGE_DEPENDS_sunxi-sdimg += " \
|
||||
parted-native \
|
||||
mtools-native \
|
||||
dosfstools-native \
|
||||
virtual/kernel \
|
||||
virtual/bootloader \
|
||||
virtual/kernel:do_deploy \
|
||||
virtual/bootloader:do_deploy \
|
||||
"
|
||||
|
||||
rootfs[depends] += "virtual/kernel:do_deploy"
|
||||
|
||||
# SD card image name
|
||||
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
||||
|
||||
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
|
||||
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
||||
|
||||
IMAGE_CMD_sunxi-sdimg () {
|
||||
|
||||
@ -74,9 +70,9 @@ IMAGE_CMD_sunxi-sdimg () {
|
||||
if test -n "${KERNEL_DEVICETREE}"; then
|
||||
for DTS_FILE in ${KERNEL_DEVICETREE}; do
|
||||
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
|
||||
if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
|
||||
kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
|
||||
kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/"${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
|
||||
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
|
||||
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
|
||||
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
|
||||
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
|
||||
fi
|
||||
@ -95,8 +91,8 @@ IMAGE_CMD_sunxi-sdimg () {
|
||||
|
||||
|
||||
# Add stamp file
|
||||
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
|
||||
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
|
||||
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
|
||||
|
5
conf/machine/include/sun8i.inc
Normal file
5
conf/machine/include/sun8i.inc
Normal 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"
|
13
conf/machine/nanopi-neo.conf
Normal file
13
conf/machine/nanopi-neo.conf
Normal file
@ -0,0 +1,13 @@
|
||||
#@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
|
||||
|
||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo.dtb"
|
||||
UBOOT_MACHINE = "nanopi_neo_defconfig"
|
||||
|
||||
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
|
@ -5,5 +5,6 @@
|
||||
|
||||
require conf/machine/include/sun7i.inc
|
||||
|
||||
UBOOT_MACHINE = "Olimex_A20-SOM_config"
|
||||
SUNXI_FEX_FILE = "sys_config/a20/olimex_a20_som.fex"
|
||||
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"
|
||||
|
13
conf/machine/orange-pi-one.conf
Normal file
13
conf/machine/orange-pi-one.conf
Normal file
@ -0,0 +1,13 @@
|
||||
#@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
|
||||
|
||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-one.dtb"
|
||||
UBOOT_MACHINE = "orangepi_one_defconfig"
|
||||
|
||||
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
|
@ -4,6 +4,9 @@
|
||||
|
||||
require conf/machine/include/sun4i.inc
|
||||
|
||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
||||
|
||||
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb"
|
||||
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
|
||||
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"
|
||||
|
@ -21,6 +21,7 @@ UBOOT_MACHINE_meleg = "Mele_A1000G_config"
|
||||
SRC_URI = " \
|
||||
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
|
||||
file://0002-gcc5-fixes.patch \
|
||||
file://0003-gcc6-fixes.patch \
|
||||
"
|
||||
|
||||
PE = "1"
|
||||
|
@ -1,8 +1,7 @@
|
||||
Index: git/include/linux/compiler-gcc5.h
|
||||
===================================================================
|
||||
--- git/include/linux/compiler-gcc5.h 2015-09-19 20:11:27.999423338 +0200
|
||||
+++ git/include/linux/compiler-gcc5.h 2015-09-23 10:26:05.000000000 +0200
|
||||
@@ -0,0 +1,66 @@
|
||||
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
|
||||
@ -58,7 +57,6 @@ Index: git/include/linux/compiler-gcc5.h
|
||||
+ * 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.)
|
||||
+ */
|
@ -19,20 +19,23 @@ file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
|
||||
file://Licenses/x11.txt;md5=b46f176c847b8742db02126fb8af92e2 \
|
||||
"
|
||||
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
||||
|
||||
DEFAULT_PREFERENCE_sun4i="1"
|
||||
DEFAULT_PREFERENCE_sun5i="1"
|
||||
DEFAULT_PREFERENCE_sun7i="1"
|
||||
DEFAULT_PREFERENCE_sun8i="1"
|
||||
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
|
||||
file://boot.cmd"
|
||||
|
||||
SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa"
|
||||
SRCREV = "29e0cfb4f77f7aa369136302cee14a91e22dca71"
|
||||
|
||||
PV = "v2016.03${SRCPV}"
|
||||
PV = "v2016.11+git${SRCPV}"
|
||||
|
||||
PE = "1"
|
||||
PE = "2"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SPL_BINARY="u-boot-sunxi-with-spl.bin"
|
||||
|
||||
@ -40,5 +43,5 @@ UBOOT_ENV_SUFFIX = "scr"
|
||||
UBOOT_ENV = "boot"
|
||||
|
||||
do_compile_append() {
|
||||
${S}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
||||
${B}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
||||
}
|
265
recipes-devtools/python/files/olinuxino-a20som/mapping.h
Normal file
265
recipes-devtools/python/files/olinuxino-a20som/mapping.h
Normal 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
|
@ -1,5 +1,5 @@
|
||||
--- pyA20-0.2.0/setup.py 2014-09-04 12:17:18.000000000 +0200
|
||||
+++ pyA20-0.2.0/setup.py 2014-11-24 17:44:37.000000000 +0100
|
||||
--- pyA20-0.2.1/setup.py 2014-09-04 12:17:18.000000000 +0200
|
||||
+++ pyA20-0.2.1/setup.py 2014-11-24 17:44:37.000000000 +0100
|
||||
@@ -43,31 +43,31 @@
|
||||
Detect processor type
|
||||
:return:
|
||||
|
@ -2,11 +2,11 @@ DESCRIPTION = "A module to control Allwinner GPIO,SPI and I2C channels"
|
||||
HOMEPAGE = "https://pypi.python.org/pypi/pyA20"
|
||||
SECTION = "devel/python"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b4cb7d5da6f1efc1d0bf487169e83985"
|
||||
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=bfe0261ded6cff75086193ec2f79129e"
|
||||
DEPENDS = "python"
|
||||
|
||||
# No GPIO mappings for other machines yet
|
||||
COMPATIBLE_MACHINE = "(olinuxino-a13|olinuxino-a10|olinuxino-a20|olinuxino-a10lime|olinuxino-a20lime|olinuxino-a20lime2|olinuxino-a13som)"
|
||||
COMPATIBLE_MACHINE = "(olinuxino-a13|olinuxino-a10|olinuxino-a20|olinuxino-a10lime|olinuxino-a20lime|olinuxino-a20lime2|olinuxino-a13som|olinuxino-a20som)"
|
||||
|
||||
SRC_URI = "http://pypi.python.org/packages/source/p/pyA20/pyA20-${PV}.tar.gz \
|
||||
file://setup.py.patch \
|
||||
@ -20,5 +20,5 @@ do_compile_prepend() {
|
||||
cp ${WORKDIR}/mapping.h ${S}/pyA20/gpio/mapping.h
|
||||
}
|
||||
|
||||
SRC_URI[md5sum] = "b4115859834f09ebd389f810f2ffefb9"
|
||||
SRC_URI[sha256sum] = "9855747d9bbdfcce6b460fcd67d953155e39f4e002a9a4c573910248b451dad8"
|
||||
SRC_URI[md5sum] = "2290066bbe274000c53693959a8005b4"
|
||||
SRC_URI[sha256sum] = "b15e4ee1016b7eb52001cbccde3751868624a88d2adbb9adc5404628f7e59e7e"
|
24
recipes-devtools/python/pya20som_0.2.1.bb
Normal file
24
recipes-devtools/python/pya20som_0.2.1.bb
Normal file
@ -0,0 +1,24 @@
|
||||
DESCRIPTION = "A module to control Allwinner GPIO,SPI and I2C channels"
|
||||
HOMEPAGE = "https://pypi.python.org/pypi/pyA20SOM"
|
||||
SECTION = "devel/python"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=cf6345f2cb2acee98b01c493d68b8322"
|
||||
DEPENDS = "python"
|
||||
|
||||
# No GPIO mappings for other machines yet
|
||||
COMPATIBLE_MACHINE = "olinuxino-a20som"
|
||||
|
||||
SRC_URI = "http://pypi.python.org/packages/source/p/pyA20SOM/pyA20SOM-${PV}.tar.gz \
|
||||
file://setup.py.patch \
|
||||
file://mapping.h \
|
||||
"
|
||||
S = "${WORKDIR}/pyA20SOM-${PV}"
|
||||
|
||||
inherit distutils
|
||||
|
||||
do_compile_prepend() {
|
||||
cp ${WORKDIR}/mapping.h ${S}/pyA20SOM/gpio/mapping.h
|
||||
}
|
||||
|
||||
SRC_URI[md5sum] = "a720115ef1d3dffe82f42f2157ca1c56"
|
||||
SRC_URI[sha256sum] = "1ac1025596cc112964f7caac9a6a523d5da61623c248ccc178c6cbb4bc1b4549"
|
@ -3,13 +3,23 @@ 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)"
|
||||
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"
|
||||
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
||||
|
||||
# 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 \
|
||||
@ -79,8 +89,14 @@ do_install() {
|
||||
|
||||
# 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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -12,7 +12,7 @@ SRCREV_pn-${PN} = "d47d367036be38c5180632ec8a3ad169a4593a88"
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
|
||||
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
|
||||
file://0001-compiler-gcc5.patch \
|
||||
file://0001-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch \
|
||||
file://0002-use-static-inline-in-ARM-ftrace.patch \
|
||||
file://0001-gcc5-fixes.patch \
|
||||
file://defconfig \
|
||||
|
@ -16,8 +16,8 @@ KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
||||
|
||||
S = "${WORKDIR}/linux-${PV}"
|
||||
|
||||
SRC_URI[md5sum] = "efc822dad2149e40cc908718a4fea1d3"
|
||||
SRC_URI[sha256sum] = "a3bccec4c28939355cd415672414583ecaf5531a87ddb44c9dc036aeacec577d"
|
||||
SRC_URI[md5sum] = "2944984c89c272115649c4a08b43f8d0"
|
||||
SRC_URI[sha256sum] = "c4bc5ed6e73ed7393cc1b3714b822664224ab866db114eed663de1315718a4e1"
|
||||
|
||||
SRC_URI = "https://www.kernel.org/pub/linux/kernel/v4.x/linux-${PV}.tar.xz \
|
||||
file://defconfig \
|
@ -2,7 +2,7 @@ SECTION = "kernel"
|
||||
DESCRIPTION = "Mainline Linux kernel"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
||||
|
||||
inherit kernel
|
||||
|
||||
@ -18,9 +18,9 @@ DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
||||
|
||||
# 4.5.0
|
||||
PV = "4.4+4.5.0.git${SRCPV}"
|
||||
SRCREV_pn-${PN} = "b562e44f507e863c6792946e4e1b1449fbbac85d"
|
||||
# 4.9.0
|
||||
PV = "4.9.0+git${SRCPV}"
|
||||
SRCREV_pn-${PN} = "69973b830859bc6529a7a0468ba0d80ee5117826"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;branch=master \
|
||||
file://defconfig \
|
||||
|
@ -1,16 +1,14 @@
|
||||
DESCRIPTION = "Tools to help hacking Allwinner A10 and A20"
|
||||
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=97bd67b5d0309e452b637f76e1c9a23c"
|
||||
|
||||
PV = "1.0+git${SRCPV}"
|
||||
PKGV = "1.0+git${GITPKGV}"
|
||||
PR = "r3"
|
||||
SRCREV = "568c7a0e81fc5d52189710c6d832677aa8770b16"
|
||||
PR = "r0"
|
||||
|
||||
DEPENDS += "libusb"
|
||||
|
||||
SRC_URI = "git://github.com/linux-sunxi/sunxi-tools;protocol=git"
|
||||
SRCREV = "9a3d62aa0c820b3dd42ba3409b2043f4143683cd"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@ -23,12 +21,12 @@ CFLAGS_class-native = "-std=c99 -D_POSIX_C_SOURCE=200112L -I./include"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${bindir}
|
||||
install -m 755 ${S}/bootinfo ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-bootinfo ${D}/${bindir}
|
||||
install -m 755 ${S}/bin2fex ${D}/${bindir}
|
||||
install -m 755 ${S}/fel ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-fel ${D}/${bindir}
|
||||
install -m 755 ${S}/fel-gpio ${D}/${bindir}
|
||||
install -m 755 ${S}/fex2bin ${D}/${bindir}
|
||||
install -m 755 ${S}/fexc ${D}/${bindir}
|
||||
install -m 755 ${S}/nand-part ${D}/${bindir}
|
||||
install -m 755 ${S}/pio ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-fexc ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-nand-part ${D}/${bindir}
|
||||
install -m 755 ${S}/sunxi-pio ${D}/${bindir}
|
||||
}
|
||||
|
Reference in New Issue
Block a user