From 2fc554d3e37c27c5b8d2540d7a571dc53152a301 Mon Sep 17 00:00:00 2001 From: Jelle van der Waa Date: Mon, 5 Dec 2016 19:47:21 +0100 Subject: sunxi: enable H3 EMAC for the nanopi neo The nanopi already had the CONFIG_SUN8I_EMAC=y enabled in it's defconfig file, but was missing the &emac the device tree entry. Signed-off-by: Jelle van der Waa Acked-by: Maxime Ripard Reviewed-by: Jagan Teki diff --git a/arch/arm/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/dts/sun8i-h3-nanopi-neo.dts index 3d64caf..096ff0b 100644 --- a/arch/arm/dts/sun8i-h3-nanopi-neo.dts +++ b/arch/arm/dts/sun8i-h3-nanopi-neo.dts @@ -123,3 +123,14 @@ /* USB VBUS is always on */ status = "okay"; }; + +&emac { + phy = <&phy1>; + phy-mode = "mii"; + allwinner,use-internal-phy; + allwinner,leds-active-low; + status = "okay"; + phy1: ethernet-phy@1 { + reg = <1>; + }; +}; -- cgit v0.10.2 From 59603d026b9ad3f51a8d69c2a94d3a511639c525 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Fri, 16 Dec 2016 22:35:01 +0800 Subject: sunxi: add proper device tree for Orange Pi Zero boards Add a proper device tree file for Orange Pi Zero boards from Xunlong, which come with a Allwinner H2+ SoC (similar to H3). Signed-off-by: Icenowy Zheng Reviewed-by: Jagan Teki diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 3ee608b..66ea0b3 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -271,6 +271,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-cubietruck-plus.dtb \ sun8i-a83t-sinovoip-bpi-m3.dtb dtb-$(CONFIG_MACH_SUN8I_H3) += \ + sun8i-h2-plus-orangepi-zero.dtb \ sun8i-h3-bananapi-m2-plus.dtb \ sun8i-h3-orangepi-2.dtb \ sun8i-h3-orangepi-lite.dtb \ diff --git a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts new file mode 100644 index 0000000..0989434 --- /dev/null +++ b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2016 Icenowy Zheng + * + * Based on sun8i-h3-orangepi-one.dts, which is: + * Copyright (C) 2016 Hans de Goede + * + * 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 +#include +#include + +/ { + 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 */ + ethernet1 = &xr819; + }; + + 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>; + }; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; + }; +}; + +&ehci1 { + status = "okay"; +}; + +&mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins_a>; + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ + cd-inverted; + status = "okay"; +}; + +&mmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_a>; + vmmc-supply = <®_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>; + }; +}; + +&ohci1 { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +}; + +&usbphy { + /* USB VBUS is always on */ + status = "okay"; +}; -- cgit v0.10.2 From 485329a578edc768cdaa4081f1b8aeb29c5f44af Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Fri, 16 Dec 2016 22:35:02 +0800 Subject: sunxi: add orangepi zero defconfig Orange Pi Zero is a board designed by Xunlong. It has an Allwinner H2+ SoC (similar to H3, which shares the same SoC ID), 256MB/512MB RAM, Allwinner XR819 SDIO Wi-Fi, a MicroUSB port which is used to power the board (also capable of OTG), a USB Type-A socket and a MicroSD slot. Signed-off-by: Icenowy Zheng Reviewed-by: Jagan Teki diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS index e23d45e..2321b8b 100644 --- a/board/sunxi/MAINTAINERS +++ b/board/sunxi/MAINTAINERS @@ -237,6 +237,11 @@ M: FUKAUMI Naoki S: Maintained F: configs/Nintendo_NES_Classic_Edition_defconfig +ORANGEPI ZERO BOARD +M: Icenowy Zheng +S: Maintained +F: configs/orangepi_zero_defconfig + R16 EVB PARROT BOARD M: Quentin Schulz S: Maintained diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig new file mode 100644 index 0000000..8813927 --- /dev/null +++ b/configs/orangepi_zero_defconfig @@ -0,0 +1,15 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_MACH_SUN8I_H3=y +CONFIG_DRAM_CLK=672 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y +CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-orangepi-zero" +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_CONSOLE_MUX=y +CONFIG_SPL=y +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_FPGA is not set +CONFIG_SUN8I_EMAC=y +CONFIG_USB_EHCI_HCD=y -- cgit v0.10.2 From 8b15f8eb67a48a98d5c131c1d44aa78c236c064d Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Sat, 14 Jan 2017 02:06:09 +0000 Subject: sunxi: dts: OrangePi Zero: add Ethernet node The OrangePi Zero can happily use the EMAC along with its integrated PHY to use Ethernet (for TFTP booting, for instance). Add the emac node to the board .dts by copying it from the OrangePi One DT. Signed-off-by: Andre Przywara Acked-by: Maxime Ripard Reviewed-by: Jagan Teki diff --git a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts index 0989434..20d489c 100644 --- a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts +++ b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts @@ -99,6 +99,17 @@ status = "okay"; }; +&emac { + phy = <&phy1>; + phy-mode = "mii"; + allwinner,use-internal-phy; + allwinner,leds-active-low; + status = "okay"; + phy1: ethernet-phy@1 { + reg = <1>; + }; +}; + &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins_a>; -- cgit v0.10.2 From 7490130c9f8a4e17e858a38c767ad9ed64bd777b Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Sat, 14 Jan 2017 02:06:10 +0000 Subject: sunxi: OrangePi Zero: defconfig: enable SPI flash Newer OrangePi Zero boards all come with 16 Mib SPI flash soldered, from which the board can actually boot from. Enable the SPL support for the SPI controller and SPI flash to allow putting the SPL, the DT and U-Boot proper into there. This will let a board boot without an SD card inserted. The flash chip can be written with a version of the sunxi-fel tool. Signed-off-by: Andre Przywara Tested-by: Priit Laes Acked-by: Maxime Ripard Reviewed-by: Jagan Teki diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig index 8813927..abb3fcf 100644 --- a/configs/orangepi_zero_defconfig +++ b/configs/orangepi_zero_defconfig @@ -13,3 +13,5 @@ CONFIG_SPL=y # CONFIG_CMD_FPGA is not set CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y +CONFIG_SPL_SPI_SUNXI=y +CONFIG_SPL_SPI_FLASH_SUPPORT=y -- cgit v0.10.2