Merge branch 'main' of ssh://git.imaginaerraum.de:2200/apo/DoorPi into main

This commit is contained in:
Simon Pirkelmann 2021-04-10 13:57:42 +02:00
commit b6202c22d5
3 changed files with 290 additions and 30 deletions

View File

@ -47,7 +47,8 @@ clean:
rm -f root_overlay/root/.ssh/authorized_keys
rm -f root_overlay/bin/door.py
menuconfig:
menuconfig: buildroot/.config
make -C buildroot menuconfig
if [[ ! -L buildroot/.config ]]; then mv buildroot/.config config && ln -s ../config buildroot/.config; fi
.PHONY: all clean sdcard.img menuconfig root_overlay root_overlay/etc/dropbear/dropbear_ecdsa_host_key

81
config
View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Buildroot 2021.02-rc2 Configuration
# Buildroot 2021.02-177-g2b3ceddd87 Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_EXTERNAL_DOOR_PI_PATH="/home/apo/Projects/Hackerspace/DoorPi/br_external"
@ -252,9 +252,11 @@ BR2_KERNEL_HEADERS_AS_KERNEL=y
# BR2_KERNEL_HEADERS_4_19 is not set
# BR2_KERNEL_HEADERS_5_4 is not set
# BR2_KERNEL_HEADERS_5_10 is not set
# BR2_KERNEL_HEADERS_5_11 is not set
# BR2_KERNEL_HEADERS_VERSION is not set
# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set
# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set
# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11 is not set
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9 is not set
# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8 is not set
@ -422,7 +424,6 @@ BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y
BR2_TOOLCHAIN_HEADERS_LATEST=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10"
BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y
@ -536,8 +537,8 @@ BR2_LINUX_KERNEL_GZIP=y
# BR2_LINUX_KERNEL_ZSTD is not set
BR2_LINUX_KERNEL_DTS_SUPPORT=y
# BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT is not set
BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero"
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH=""
BR2_LINUX_KERNEL_INTREE_DTS_NAME=""
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="../sun8i-h2-plus-orangepi-zero.dts"
# BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME is not set
# BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT is not set
# BR2_LINUX_KERNEL_INSTALL_TARGET is not set
@ -613,11 +614,11 @@ BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y
BR2_PACKAGE_KODI_ARCH_SUPPORTS=y
#
# kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8
# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9
#
#
# kodi needs an OpenGL EGL backend with OpenGL support
# kodi needs an OpenGL EGL backend with OpenGL or GLES support
#
# BR2_PACKAGE_LAME is not set
# BR2_PACKAGE_MADPLAY is not set
@ -858,6 +859,7 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
# BR2_PACKAGE_JQ is not set
# BR2_PACKAGE_LIBTOOL is not set
# BR2_PACKAGE_MAKE is not set
# BR2_PACKAGE_MAWK is not set
# BR2_PACKAGE_PATCH is not set
# BR2_PACKAGE_PKGCONF is not set
# BR2_PACKAGE_RIPGREP is not set
@ -1033,7 +1035,7 @@ BR2_PACKAGE_MTD_UBIBLOCK=y
#
#
# cage needs udev, mesa3d w/ EGL and GLES support
# cage needs udev, EGL w/ Wayland backend and OpenGL ES support
#
#
@ -1384,6 +1386,7 @@ BR2_PACKAGE_GAUCHE_ARCH_SUPPORTS=y
# BR2_PACKAGE_GAUCHE is not set
# BR2_PACKAGE_GUILE is not set
# BR2_PACKAGE_HASERL is not set
# BR2_PACKAGE_JANET is not set
# BR2_PACKAGE_JIMTCL is not set
# BR2_PACKAGE_LUA is not set
BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua"
@ -1484,10 +1487,12 @@ BR2_PACKAGE_PYTHON3_SQLITE=y
# BR2_PACKAGE_PYTHON_AVRO is not set
# BR2_PACKAGE_PYTHON_BABEL is not set
# BR2_PACKAGE_PYTHON_BACKCALL is not set
# BR2_PACKAGE_PYTHON_BCRYPT is not set
BR2_PACKAGE_PYTHON_BCRYPT=y
# BR2_PACKAGE_PYTHON_BEAUTIFULSOUP4 is not set
# BR2_PACKAGE_PYTHON_BITSTRING is not set
BR2_PACKAGE_PYTHON_BLEACH=y
# BR2_PACKAGE_PYTHON_BLEAK is not set
BR2_PACKAGE_PYTHON_BLINKER=y
# BR2_PACKAGE_PYTHON_BLUEZERO is not set
# BR2_PACKAGE_PYTHON_BOTO3 is not set
# BR2_PACKAGE_PYTHON_BOTOCORE is not set
@ -1504,7 +1509,7 @@ BR2_PACKAGE_PYTHON3_SQLITE=y
# python-cchardet needs a toolchain w/ C++
#
# BR2_PACKAGE_PYTHON_CERTIFI is not set
# BR2_PACKAGE_PYTHON_CFFI is not set
BR2_PACKAGE_PYTHON_CFFI=y
#
# python-channels needs a toolchain w/ C++
@ -1518,7 +1523,7 @@ BR2_PACKAGE_PYTHON3_SQLITE=y
# BR2_PACKAGE_PYTHON_CHEETAH is not set
# BR2_PACKAGE_PYTHON_CHEROOT is not set
# BR2_PACKAGE_PYTHON_CHERRYPY is not set
# BR2_PACKAGE_PYTHON_CLICK is not set
BR2_PACKAGE_PYTHON_CLICK=y
# BR2_PACKAGE_PYTHON_COLORAMA is not set
# BR2_PACKAGE_PYTHON_COLORLOG is not set
# BR2_PACKAGE_PYTHON_COLORZERO is not set
@ -1554,7 +1559,7 @@ BR2_PACKAGE_PYTHON3_SQLITE=y
# BR2_PACKAGE_PYTHON_DICTTOXML is not set
# BR2_PACKAGE_PYTHON_DJANGO is not set
# BR2_PACKAGE_PYTHON_DJANGO_ENUMFIELDS is not set
# BR2_PACKAGE_PYTHON_DNSPYTHON is not set
BR2_PACKAGE_PYTHON_DNSPYTHON=y
# BR2_PACKAGE_PYTHON_DOCKER is not set
# BR2_PACKAGE_PYTHON_DOCKER_PYCREDS is not set
# BR2_PACKAGE_PYTHON_DOCKERPTY is not set
@ -1563,18 +1568,23 @@ BR2_PACKAGE_PYTHON3_SQLITE=y
# BR2_PACKAGE_PYTHON_DOMINATE is not set
# BR2_PACKAGE_PYTHON_DPKT is not set
# BR2_PACKAGE_PYTHON_ECDSA is not set
BR2_PACKAGE_PYTHON_EMAIL_VALIDATOR=y
# BR2_PACKAGE_PYTHON_ENGINEIO is not set
# BR2_PACKAGE_PYTHON_ENTRYPOINTS is not set
# BR2_PACKAGE_PYTHON_ESPTOOL is not set
# BR2_PACKAGE_PYTHON_FALCON is not set
# BR2_PACKAGE_PYTHON_FILELOCK is not set
# BR2_PACKAGE_PYTHON_FIRE is not set
# BR2_PACKAGE_PYTHON_FLASK is not set
BR2_PACKAGE_PYTHON_FLASK=y
# BR2_PACKAGE_PYTHON_FLASK_BABEL is not set
# BR2_PACKAGE_PYTHON_FLASK_CORS is not set
# BR2_PACKAGE_PYTHON_FLASK_JSONRPC is not set
# BR2_PACKAGE_PYTHON_FLASK_LOGIN is not set
# BR2_PACKAGE_PYTHON_FLASK_SQLALCHEMY is not set
BR2_PACKAGE_PYTHON_FLASK_LOGIN=y
BR2_PACKAGE_PYTHON_FLASK_MAIL=y
BR2_PACKAGE_PYTHON_FLASK_SECURITY_TOO=y
BR2_PACKAGE_PYTHON_FLASK_SQLALCHEMY=y
BR2_PACKAGE_PYTHON_FLASK_PRINCIPAL=y
BR2_PACKAGE_PYTHON_FLASK_WTF=y
# BR2_PACKAGE_PYTHON_FLATBUFFERS is not set
# BR2_PACKAGE_PYTHON_FROZENLIST is not set
# BR2_PACKAGE_PYTHON_FUTURE is not set
@ -1594,7 +1604,7 @@ BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS=y
# BR2_PACKAGE_PYTHON_HYPERFRAME is not set
# BR2_PACKAGE_PYTHON_HYPERLINK is not set
# BR2_PACKAGE_PYTHON_IBMIOTF is not set
# BR2_PACKAGE_PYTHON_IDNA is not set
BR2_PACKAGE_PYTHON_IDNA=y
# BR2_PACKAGE_PYTHON_IFADDR is not set
# BR2_PACKAGE_PYTHON_INCREMENTAL is not set
# BR2_PACKAGE_PYTHON_INFLECTION is not set
@ -1608,12 +1618,12 @@ BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS=y
# BR2_PACKAGE_PYTHON_IPYTHON is not set
# BR2_PACKAGE_PYTHON_IPYTHON_GENUTILS is not set
# BR2_PACKAGE_PYTHON_ISO8601 is not set
# BR2_PACKAGE_PYTHON_ITSDANGEROUS is not set
BR2_PACKAGE_PYTHON_ITSDANGEROUS=y
# BR2_PACKAGE_PYTHON_JANUS is not set
# BR2_PACKAGE_PYTHON_JARACO_CLASSES is not set
# BR2_PACKAGE_PYTHON_JARACO_FUNCTOOLS is not set
# BR2_PACKAGE_PYTHON_JEDI is not set
# BR2_PACKAGE_PYTHON_JINJA2 is not set
BR2_PACKAGE_PYTHON_JINJA2=y
# BR2_PACKAGE_PYTHON_JMESPATH is not set
# BR2_PACKAGE_PYTHON_JSON_SCHEMA_VALIDATOR is not set
# BR2_PACKAGE_PYTHON_JSONMODELS is not set
@ -1626,6 +1636,7 @@ BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS=y
#
# python-kiwisolver needs a toolchain w/ C++
#
BR2_PACKAGE_PYTHON_LDAP3=y
#
# python-libconfig needs a glibc or uClibc toolchain w/ C++, threads
@ -1641,7 +1652,7 @@ BR2_PACKAGE_PYTHON_GREENLET_ARCH_SUPPORTS=y
# BR2_PACKAGE_PYTHON_MAKO is not set
# BR2_PACKAGE_PYTHON_MARKDOWN is not set
# BR2_PACKAGE_PYTHON_MARKDOWN2 is not set
# BR2_PACKAGE_PYTHON_MARKUPSAFE is not set
BR2_PACKAGE_PYTHON_MARKUPSAFE=y
#
# python-matplotlib needs a toolchain w/ C++
@ -1670,14 +1681,14 @@ BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS=y
# BR2_PACKAGE_PYTHON_NUMPY is not set
# BR2_PACKAGE_PYTHON_OAUTHLIB is not set
# BR2_PACKAGE_PYTHON_OPCUA_ASYNCIO is not set
# BR2_PACKAGE_PYTHON_PACKAGING is not set
BR2_PACKAGE_PYTHON_PACKAGING=y
BR2_PACKAGE_PYTHON_PAHO_MQTT=y
#
# python-paramiko needs a toolchain w/ C++
#
# BR2_PACKAGE_PYTHON_PARSO is not set
# BR2_PACKAGE_PYTHON_PASSLIB is not set
BR2_PACKAGE_PYTHON_PASSLIB=y
# BR2_PACKAGE_PYTHON_PATHPY is not set
# BR2_PACKAGE_PYTHON_PATHTOOLS is not set
# BR2_PACKAGE_PYTHON_PATHVALIDATE is not set
@ -1702,13 +1713,13 @@ BR2_PACKAGE_PYTHON_PAHO_MQTT=y
# BR2_PACKAGE_PYTHON_PY is not set
# BR2_PACKAGE_PYTHON_PYAES is not set
# BR2_PACKAGE_PYTHON_PYALSA is not set
# BR2_PACKAGE_PYTHON_PYASN1 is not set
BR2_PACKAGE_PYTHON_PYASN1=y
# BR2_PACKAGE_PYTHON_PYASN1_MODULES is not set
# BR2_PACKAGE_PYTHON_PYBIND is not set
# BR2_PACKAGE_PYTHON_PYCAIRO is not set
# BR2_PACKAGE_PYTHON_PYCARES is not set
# BR2_PACKAGE_PYTHON_PYCLI is not set
# BR2_PACKAGE_PYTHON_PYCPARSER is not set
BR2_PACKAGE_PYTHON_PYCPARSER=y
# BR2_PACKAGE_PYTHON_PYCRYPTODOMEX is not set
# BR2_PACKAGE_PYTHON_PYDAL is not set
# BR2_PACKAGE_PYTHON_PYDANTIC is not set
@ -1732,7 +1743,7 @@ BR2_PACKAGE_PYTHON_PAHO_MQTT=y
#
# python-pyopenssl needs a toolchain w/ C++
#
# BR2_PACKAGE_PYTHON_PYPARSING is not set
BR2_PACKAGE_PYTHON_PYPARSING=y
# BR2_PACKAGE_PYTHON_PYPARTED is not set
# BR2_PACKAGE_PYTHON_PYQRCODE is not set
@ -1803,7 +1814,7 @@ BR2_PACKAGE_PYTHON_SERIAL=y
# BR2_PACKAGE_PYTHON_SIMPLEJSON is not set
# BR2_PACKAGE_PYTHON_SIMPLELOGGING is not set
# BR2_PACKAGE_PYTHON_SIMPLESQLITE is not set
# BR2_PACKAGE_PYTHON_SIX is not set
BR2_PACKAGE_PYTHON_SIX=y
#
# python-slob needs a toolchain w/ C++, gcc >= 4.9, host gcc >= 4.9
@ -1819,7 +1830,7 @@ BR2_PACKAGE_PYTHON_SERIAL=y
# BR2_PACKAGE_PYTHON_SORTEDCONTAINERS is not set
# BR2_PACKAGE_PYTHON_SOUPSIEVE is not set
# BR2_PACKAGE_PYTHON_SPIDEV is not set
# BR2_PACKAGE_PYTHON_SQLALCHEMY is not set
BR2_PACKAGE_PYTHON_SQLALCHEMY=y
# BR2_PACKAGE_PYTHON_SQLITESCHEMA is not set
# BR2_PACKAGE_PYTHON_SQLPARSE is not set
@ -1863,17 +1874,17 @@ BR2_PACKAGE_PYTHON_SERIAL=y
# BR2_PACKAGE_PYTHON_WATCHDOG is not set
# BR2_PACKAGE_PYTHON_WCWIDTH is not set
# BR2_PACKAGE_PYTHON_WEB2PY is not set
# BR2_PACKAGE_PYTHON_WEBENCODINGS is not set
BR2_PACKAGE_PYTHON_WEBENCODINGS=y
# BR2_PACKAGE_PYTHON_WEBOB is not set
# BR2_PACKAGE_PYTHON_WEBPY is not set
# BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT is not set
# BR2_PACKAGE_PYTHON_WEBSOCKETS is not set
# BR2_PACKAGE_PYTHON_WERKZEUG is not set
BR2_PACKAGE_PYTHON_WERKZEUG=y
# BR2_PACKAGE_PYTHON_WHOOSH is not set
# BR2_PACKAGE_PYTHON_WRAPT is not set
# BR2_PACKAGE_PYTHON_WS4PY is not set
# BR2_PACKAGE_PYTHON_WSACCEL is not set
# BR2_PACKAGE_PYTHON_WTFORMS is not set
BR2_PACKAGE_PYTHON_WTFORMS=y
# BR2_PACKAGE_PYTHON_XLIB is not set
# BR2_PACKAGE_PYTHON_XLRD is not set
# BR2_PACKAGE_PYTHON_XLSXWRITER is not set
@ -2052,8 +2063,10 @@ BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="arm-unknown-linux-gnueabi"
# BR2_PACKAGE_LIBSSH2 is not set
# BR2_PACKAGE_LIBTOMCRYPT is not set
# BR2_PACKAGE_LIBUECC is not set
# BR2_PACKAGE_LIBXCRYPT is not set
# BR2_PACKAGE_MBEDTLS is not set
# BR2_PACKAGE_NETTLE is not set
BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS=y
BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_LIBOPENSSL=y
BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH="linux-armv4"
@ -2332,7 +2345,7 @@ BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y
# BR2_PACKAGE_WEBP is not set
#
# wlroots needs udev, mesa3d w/ EGL and GLES support
# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support
#
#
@ -3673,6 +3686,9 @@ BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
# BR2_PACKAGE_WIRESHARK is not set
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
# BR2_PACKAGE_WPA_SUPPLICANT_WEXT is not set
# BR2_PACKAGE_WPA_SUPPLICANT_WIRED is not set
# BR2_PACKAGE_WPA_SUPPLICANT_IBSS_RSN is not set
# BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT is not set
# BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN is not set
# BR2_PACKAGE_WPA_SUPPLICANT_EAP is not set
@ -3683,6 +3699,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
# BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO is not set
# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE=y
# BR2_PACKAGE_WPA_SUPPLICANT_DBUS is not set
# BR2_PACKAGE_WPAN_TOOLS is not set
# BR2_PACKAGE_XINETD is not set
@ -4222,6 +4239,11 @@ BR2_PACKAGE_HOST_UTIL_LINUX=y
# Legacy config options
#
#
# Legacy options removed in 2021.05
#
# BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH is not set
#
# Legacy options removed in 2021.02
#
@ -4801,3 +4823,4 @@ BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR=""
#
BR2_PACKAGE_POLL_DESFIRE=y
BR2_PACKAGE_LIBFREEFARE_GIT=y
BR2_PACKAGE_PYTHON_DOOR_ADMIN=y

View File

@ -0,0 +1,236 @@
/*
* Copyright (C) 2016 Icenowy Zheng <icenowy@aosc.xyz>
*
* Based on sun8i-h3-orangepi-one.dts, which is:
* Copyright (C) 2016 Hans de Goede <hdegoede@redhat.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file 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 file 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.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "sun8i-h3.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
model = "Xunlong Orange Pi Zero";
compatible = "xunlong,orangepi-zero", "allwinner,sun8i-h2-plus";
aliases {
serial0 = &uart0;
/* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
ethernet0 = &emac;
ethernet1 = &xr819;
spi1 = &spi1;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
pwr_led {
label = "orangepi:green:pwr";
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
status_led {
label = "orangepi:red:status";
gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>;
};
};
reg_vcc_wifi: reg_vcc_wifi {
compatible = "regulator-fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi";
enable-active-high;
gpio = <&pio 0 20 GPIO_ACTIVE_HIGH>;
};
reg_vdd_cpux: vdd-cpux-regulator {
compatible = "regulator-gpio";
regulator-name = "vdd-cpux";
regulator-type = "voltage";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <50>; /* 4ms */
gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
enable-active-high;
gpios-states = <1>;
states = <1100000 0>, <1300000 1>;
};
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>;
post-power-on-delay-ms = <200>;
};
};
&cpu0 {
cpu-supply = <&reg_vdd_cpux>;
};
&ehci0 { status = "okay"; };
&ehci1 { status = "okay"; };
&ehci2 { status = "okay"; };
&ehci3 { status = "okay"; };
&ohci0 { status = "okay"; };
&ohci1 { status = "okay"; };
&ohci2 { status = "okay"; };
&ohci3 { status = "okay"; };
&emac {
phy-handle = <&int_mii_phy>;
phy-mode = "mii";
allwinner,leds-active-low;
status = "okay";
};
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";
};
&mmc1 {
vmmc-supply = <&reg_vcc_wifi>;
mmc-pwrseq = <&wifi_pwrseq>;
bus-width = <4>;
non-removable;
status = "okay";
/*
* Explicitly define the sdio device, so that we can add an ethernet
* alias for it (which e.g. makes u-boot set a mac-address).
*/
xr819: sdio_wifi@1 {
reg = <1>;
compatible = "xradio,xr819";
interrupt-parent = <&pio>;
interrupts = <6 10 IRQ_TYPE_EDGE_RISING>;
};
};
&spi0 {
/* Disable SPI NOR by default: it optional on Orange Pi Zero boards */
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mxicy,mx25l1606e", "winbond,w25q128";
reg = <0>;
spi-max-frequency = <40000000>;
partition@00000000 {
reg = <0x00000000 0x200000>; /* 2Mb */
};
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pa_pins>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
status = "okay";
};
&usb_otg {
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
/*
* USB Type-A port VBUS is always on. However, MicroUSB VBUS can only
* power up the board; when it's used as OTG port, this VBUS is
* always off even if the board is powered via GPIO pins.
*/
status = "okay";
usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
};
&spi0 {
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mxicy,mx25l1606e", "winbond,w25q128";
reg = <0>;
spi-max-frequency = <40000000>;
partition@00000000 {
reg = <0x00000000 0x200000>; /* 2Mb */
};
};
};
&spi1 {
status = "okay";
spidev@0 {
compatible = "rohm,dh2228fv";
reg = <0>;
spi-max-frequency = <10000000>;
};
};