Add support for OrangePi Plus2 board
Signed-off-by: Sebastian Panceac <sebastian@resin.io>
This commit is contained in:
parent
a205c887d0
commit
d665afba57
15 changed files with 342 additions and 3 deletions
|
@ -1,6 +1,8 @@
|
|||
Change log
|
||||
-----------
|
||||
|
||||
* Add support for the OrangePi Plus2 device [Sebastian]
|
||||
|
||||
# v2.12.6+rev1
|
||||
## (2018-05-02)
|
||||
|
||||
|
|
|
@ -8,3 +8,4 @@ include conf/machine/bananapi.conf
|
|||
|
||||
KERNEL_DEVICETREE = "sun7i-a20-bananapi-m1-plus.dtb"
|
||||
UBOOT_MACHINE = "bananapi_m1_plus_config"
|
||||
PREFERRED_VERSION_linux-mainline = "4.14.15"
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
#@TYPE: Machine
|
||||
#@NAME: Orange Pi Plus 2
|
||||
#@DESCRIPTION: Machine configuration for the Orange Pi Plus2, based on allwinner H3 CPU http://www.orangepi.org/
|
||||
|
||||
require conf/machine/include/sun8i.inc
|
||||
|
||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-plus.dtb"
|
||||
UBOOT_MACHINE = "orangepi_plus_defconfig"
|
||||
PREFERRED_VERSION_linux-mainline = "4.15.18"
|
|
@ -0,0 +1,7 @@
|
|||
do_install_append() {
|
||||
cat << EOF >> ${D}${sysconfdir}/NetworkManager/NetworkManager.conf
|
||||
|
||||
[device]
|
||||
wifi.scan-rand-mac-address=no
|
||||
EOF
|
||||
}
|
|
@ -1,3 +1,22 @@
|
|||
#
|
||||
# Orange Pi Plus2
|
||||
#
|
||||
|
||||
IMAGE_FSTYPES_append_orangepi-plus2 = " resinos-img"
|
||||
|
||||
# Customize resinos-img
|
||||
RESIN_IMAGE_BOOTLOADER_orangepi-plus2 = "u-boot"
|
||||
RESIN_BOOT_PARTITION_FILES_orangepi-plus2 = " \
|
||||
${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin:/${KERNEL_IMAGETYPE} \
|
||||
uImage-sun8i-h3-orangepi-plus.dtb:/dtb/sun8i-h3-orangepi-plus.dtb \
|
||||
u-boot-sunxi-with-spl.bin: \
|
||||
"
|
||||
IMAGE_CMD_resinos-img_append_orangepi-plus2 () {
|
||||
# Orange Pi Plus2 needs uboot written at a specific location
|
||||
dd if=${DEPLOY_DIR_IMAGE}/u-boot-sunxi-with-spl.bin of=${RESIN_RAW_IMG} conv=notrunc seek=8 bs=1024
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# bananapi-M1+
|
||||
#
|
||||
|
|
|
@ -1 +1 @@
|
|||
CONNECTIVITY_FIRMWARES_append = " linux-firmware-ap6212 linux-firmware-brcm43362"
|
||||
CONNECTIVITY_MODULES_append = " rtl8189"
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_CMA=y
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPUFREQ_DT=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_CAN=y
|
||||
CONFIG_CAN_SUN4I=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_AHCI_SUNXI=y
|
||||
CONFIG_NETDEVICES=y
|
||||
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_WLAN is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_KEYBOARD_SUN4I_LRADC=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_SUN4I=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_AXP20X_PEK=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=8
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
|
||||
CONFIG_SERIAL_8250_DW=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MV64XXX=y
|
||||
CONFIG_I2C_SUN6I_P2WI=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_SUN4I=y
|
||||
CONFIG_SPI_SUN6I=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_CHARGER_AXP20X=y
|
||||
CONFIG_BATTERY_AXP20X=y
|
||||
CONFIG_AXP20X_POWER=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_CPU_THERMAL=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_SUNXI_WATCHDOG=y
|
||||
CONFIG_MFD_AC100=y
|
||||
CONFIG_MFD_AXP20X_I2C=y
|
||||
CONFIG_MFD_AXP20X_RSB=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_AXP20X=y
|
||||
CONFIG_REGULATOR_GPIO=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_RC_CORE=y
|
||||
CONFIG_RC_DEVICES=y
|
||||
CONFIG_IR_SUNXI=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_SUN4I=y
|
||||
CONFIG_DRM_DUMB_VGA_DAC=y
|
||||
CONFIG_FB_SIMPLE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SUN4I_CODEC=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_MUSB_HDRC=y
|
||||
CONFIG_USB_MUSB_SUNXI=y
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SUNXI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_INTF_SYSFS is not set
|
||||
# CONFIG_RTC_INTF_PROC is not set
|
||||
CONFIG_RTC_DRV_AC100=y
|
||||
CONFIG_RTC_DRV_SUNXI=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_DMA_SUN6I=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_EXTCON=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_AXP20X_ADC=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_SUN4I=y
|
||||
CONFIG_PHY_SUN4I_USB=y
|
||||
CONFIG_PHY_SUN9I_USB=y
|
||||
CONFIG_NVMEM=y
|
||||
CONFIG_NVMEM_SUNXI_SID=y
|
||||
CONFIG_EXT4_FS=y
|
||||
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_DEBUG_FS=y
|
||||
CONFIG_CRYPTO_DEV_SUN4I_SS=y
|
|
@ -0,0 +1,33 @@
|
|||
From 1752aabbc60776b8ff887fe6049f0eaab8e57bff Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Panceac <sebastian@resin.io>
|
||||
Date: Fri, 4 May 2018 11:48:13 +0200
|
||||
Subject: [PATCH] Don't activate by default CFG80211_REQUIRE_SIGNED_REGDB
|
||||
|
||||
This kernel configuartion option gets enabled by default when enabling CFG80211 and pulls many other unwanted
|
||||
configs.
|
||||
Because it cannot be deactivated through usual means, we make it's activation dependent to its parent config: CFG80211_CERTIFICATION_ONUS.
|
||||
|
||||
Inspired by: https://patchwork.kernel.org/patch/10172165/
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Sebastian Panceac <sebastian@resin.io>
|
||||
---
|
||||
net/wireless/Kconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
|
||||
index 1abcc4f..11f270a 100644
|
||||
--- a/net/wireless/Kconfig
|
||||
+++ b/net/wireless/Kconfig
|
||||
@@ -89,7 +89,7 @@ config CFG80211_CERTIFICATION_ONUS
|
||||
|
||||
config CFG80211_REQUIRE_SIGNED_REGDB
|
||||
bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
|
||||
- default y
|
||||
+ default CFG80211_CERTIFICATION_ONUS
|
||||
select SYSTEM_DATA_VERIFICATION
|
||||
help
|
||||
Require that in addition to the "regulatory.db" file a
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -12,3 +12,11 @@ RESIN_CONFIGS_DEPS[axp_power] = "\
|
|||
RESIN_CONFIGS[axp_power] ="\
|
||||
CONFIG_AXP20X_POWER=y \
|
||||
"
|
||||
|
||||
RESIN_CONFIGS_append_orangepi-plus2 = " wifi"
|
||||
RESIN_CONFIGS[wifi] ="\
|
||||
CONFIG_WIRELESS=y \
|
||||
CONFIG_RFKILL=y \
|
||||
CONFIG_CFG80211=m \
|
||||
CONFIG_CFG80211_WEXT=y \
|
||||
"
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
SECTION = "kernel"
|
||||
DESCRIPTION = "Mainline Linux kernel"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i|sun50i)"
|
||||
|
||||
inherit kernel
|
||||
|
||||
# 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] = "2c7a9404ddf29580f14c61eb87e50c6e"
|
||||
|
||||
SRC_URI = "https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${PV}.tar.xz \
|
||||
file://defconfig \
|
||||
file://don-t-default-activate-regdb.patch \
|
||||
"
|
|
@ -0,0 +1,16 @@
|
|||
SUMMARY = "Realtek 8189ETV Wi-Fi driver"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://Kconfig;md5=042567f397b1c4b5cc35ab0a0cfdfb38"
|
||||
|
||||
inherit module
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/jwrdegoede/rtl8189ES_linux.git;protocol=https \
|
||||
file://0001-Use-modules_install-as-wanted-by-yocto.patch \
|
||||
"
|
||||
|
||||
SRCREV ="3dfd3e9ca67405bdd6352d5c2f887382859e0861"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE_append = " KSRC=${STAGING_KERNEL_DIR}"
|
|
@ -0,0 +1,29 @@
|
|||
From 8e13d9ad5e31ece37f281fa16801dda9d2ffb345 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Panceac <sebastian@resin.io>
|
||||
Date: Wed, 2 May 2018 15:14:14 +0200
|
||||
Subject: [PATCH] Use modules_install as wanted by yocto
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Sebastian Panceac <sebastian@resin.io>
|
||||
---
|
||||
Makefile | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index d44e822..8b24b3d 100755
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1639,6 +1639,9 @@ all: modules
|
||||
modules:
|
||||
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd) modules
|
||||
|
||||
+modules_install:
|
||||
+ $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KSRC) M=$(shell pwd) modules_install
|
||||
+
|
||||
strip:
|
||||
$(CROSS_COMPILE)strip $(MODULE_NAME).ko --strip-unneeded
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -11,7 +11,7 @@ uboot_file="u-boot-sunxi-with-spl.bin"
|
|||
uboot_block_size=1024
|
||||
uboot_seek_blocks=8
|
||||
|
||||
device="/dev/mmcblk0"
|
||||
device="/dev/`$(findmnt --noheadings --canonicalize --output SOURCE /mnt/boot/ | xargs lsblk -no pkname)`"
|
||||
|
||||
update_files="uboot"
|
||||
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
# Flash to internal eMMC - kernel always enumerates emmc as mmcblk2
|
||||
INTERNAL_DEVICE_KERNEL_nanopi-neo-air = "mmcblk2"
|
||||
INTERNAL_DEVICE_KERNEL_nanopi-neo-air = "mmcblk2"
|
||||
|
||||
INTERNAL_DEVICE_KERNEL_orangepi-plus2 = "mmcblk2"
|
||||
|
|
35
orangepi-plus2.coffee
Normal file
35
orangepi-plus2.coffee
Normal file
|
@ -0,0 +1,35 @@
|
|||
|
||||
deviceTypesCommon = require '@resin.io/device-types/common'
|
||||
{ networkOptions, commonImg, instructions } = deviceTypesCommon
|
||||
|
||||
module.exports =
|
||||
version: 1
|
||||
slug: 'orangepi-plus2'
|
||||
name: 'Orange Pi Plus2'
|
||||
arch: 'armv7hf'
|
||||
state: 'experimental'
|
||||
|
||||
instructions: commonImg.instructions
|
||||
gettingStartedLink:
|
||||
windows: 'https://docs.resin.io/orangepi-plus2/nodejs/getting-started/#adding-your-first-device'
|
||||
osx: 'https://docs.resin.io/orangepi-plus2/nodejs/getting-started/#adding-your-first-device'
|
||||
linux: 'https://docs.resin.io/orangepi-plus2/nodejs/getting-started/#adding-your-first-device'
|
||||
supportsBlink: true
|
||||
|
||||
options: [ networkOptions.group ]
|
||||
|
||||
yocto:
|
||||
machine: 'orangepi-plus2'
|
||||
image: 'resin-image-flasher'
|
||||
fstype: 'resinos-img'
|
||||
version: 'yocto-rocko'
|
||||
deployArtifact: 'resin-image-flasher-orangepi-plus2.resinos-img'
|
||||
compressed: true
|
||||
|
||||
configuration:
|
||||
config:
|
||||
partition:
|
||||
primary: 1
|
||||
path: '/config.json'
|
||||
|
||||
initialization: commonImg.initialization
|
Loading…
Add table
Reference in a new issue