11 Commits
thud ... sumo

Author SHA1 Message Date
fd625c6ada Merge pull request #241 from nandra/sumo-backports
Add kernel build fix + wifi support to sumo
2019-03-07 07:12:14 +01:00
6408de735c xradio: Drop unnecessary patch when fix module compilation
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2018-12-04 10:52:56 +01:00
76a5f2b367 linux-mainline: Added wifi dts changes for orange-pi-zero wifi
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
2018-12-04 10:52:56 +01:00
89714be769 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-12-04 10:52:56 +01:00
15ad39d0e1 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-12-04 10:52:56 +01:00
d1e20fbe84 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-12-04 10:47:53 +01:00
29b20da5e8 orange-pi-pc-plus: update preferred U-boot version to v2018.03
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
2018-09-27 21:04:14 +02:00
214b4dbce6 Merge pull request #229 from floion/enable_nanopi-neo-air_emmc_support_in_uboot
u-boot_2018.03.bb: Enable eMMC support for Nanopi Neo Air
2018-09-25 19:32:22 +02:00
7f0f6c99cf Merge pull request #228 from floion/add_back_emmc_support_for_nanopi-neo-air
linux-mainline: Add back eMMC support for Nanopi Neo Air
2018-09-25 19:30:12 +02:00
3818d72941 u-boot_2018.03.bb: Enable eMMC support for Nanopi Neo Air
Signed-off-by: Florin Sarbu <florin@resin.io>
2018-09-12 14:50:33 +02:00
c8dbcebcfd linux-mainline: Add back eMMC support for Nanopi Neo Air
Signed-off-by: Florin Sarbu <florin@resin.io>
2018-09-12 11:57:05 +02:00
9 changed files with 181 additions and 5 deletions

View File

@ -4,7 +4,7 @@
require conf/machine/include/sun8i.inc
PREFERRED_VERSION_u-boot = "v2017.03%"
PREFERRED_VERSION_u-boot = "v2018.03%"
KERNEL_DEVICETREE = "sun8i-h3-orangepi-pc-plus.dtb"
UBOOT_MACHINE = "orangepi_pc_plus_defconfig"

View File

@ -0,0 +1,26 @@
From f4a77da23b3890b53efab6a927cbe99b76ef3b26 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 ca9c2dd..74ce044 100644
--- a/configs/nanopi_neo_air_defconfig
+++ b/configs/nanopi_neo_air_defconfig
@@ -10,6 +10,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air"
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
CONFIG_CONSOLE_MUX=y
CONFIG_SPL=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
# CONFIG_CMD_FLASH is not set
# CONFIG_SPL_DOS_PARTITION is not set
# CONFIG_SPL_ISO_PARTITION is not set
--
2.7.4

View File

@ -18,6 +18,7 @@ DEFAULT_PREFERENCE_sun50i="1"
SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
file://u-boot-pylibfdt-native-build.patch \
file://0001-nanopi_neo_air_defconfig-Enable-eMMC-support.patch \
file://boot.cmd \
"

View File

@ -9,18 +9,22 @@ 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 | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
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 03ff6f8b93ff..920849092cc8 100644
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 @@
@ -35,7 +39,7 @@ index 03ff6f8b93ff..920849092cc8 100644
};
&mmc0 {
@@ -84,6 +89,25 @@
@@ -84,6 +89,35 @@
status = "okay";
};
@ -57,6 +61,16 @@ index 03ff6f8b93ff..920849092cc8 100644
+ 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";

View File

@ -0,0 +1,79 @@
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 6713d0f2b3f4..ad0829e8f716 100644
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
@@ -80,19 +80,22 @@
};
};
- 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;
};
- wifi_pwrseq: wifi_pwrseq {
+ pwrseq_wifi: pwrseq_wifi@0 {
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>;
};
};
@@ -124,9 +127,11 @@
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins_a>;
- 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";
@@ -136,9 +141,30 @@
*/
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];
};
};
+&pio {
+ wifi_wake: wifi_wake {
+ pins = "PG10";
+ function = "gpio_in";
+ };
+};
+
+&r_pio {
+ wifi_rst: wifi_rst {
+ pins = "PL7";
+ function = "gpio_out";
+ };
+};
+
&mmc1_pins_a {
bias-pull-up;
};

View File

@ -26,3 +26,7 @@ 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-add-wifi-support.patch \
"

View File

@ -35,6 +35,10 @@ kernel_conf_variable() {
fi
}
do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot"
do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot"
do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot"
do_configure_prepend() {
CONF_SED_SCRIPT=""

View File

@ -0,0 +1,25 @@
DESCRIPTION = "Xradio xr819 WiFi firmware"
LICENSE = "CC0-1.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=0ceb3372c9595f0a8067e55da801e4a1"
PV = "1.0"
PR = "r0"
SRCREV = "8b4a4ed16f7f9d12e59ff2f9ceba3cc335374dbe"
COMPATIBLE_MACHINE = "orange-pi-zero"
SRC_URI = "git://github.com/armbian/build.git;protocol=https"
S = "${WORKDIR}/git"
do_install() {
install -d ${D}${base_libdir}/firmware/xr819
install -m 0644 ${S}/bin/firmware-overlay/xr819/boot_xr819.bin ${D}${base_libdir}/firmware/xr819/
install -m 0644 ${S}/bin/firmware-overlay/xr819/sdd_xr819.bin ${D}${base_libdir}/firmware/xr819/
install -m 0644 ${S}/bin/firmware-overlay/xr819/fw_xr819.bin ${D}${base_libdir}/firmware/xr819/
}
FILES_${PN} = "${base_libdir}/*"
PACKAGES = "${PN}"

View File

@ -0,0 +1,23 @@
SUMMARY = "Xradio WiFi driver for orangepi-zero"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a23a74b3f4caf9616230789d94217acb"
inherit module
PV = "0.1"
PR = "r0"
RDEPENDS_${PN} += "xradio-firmware"
COMPATIBLE_MACHINE = "orange-pi-zero"
SRCREV = "d649e5a78efdc56ecd0951e35ca60db175650232"
SRC_URI = "git://github.com/fifteenhex/xradio.git;protocol=https \
"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += "-C ${STAGING_KERNEL_DIR} M=${S}"
KERNEL_MODULE_AUTOLOAD += "xradio_wlan"