From c971b4eeeaf628b1688ac4fc4bff9d4aab369f42 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Tue, 2 Jan 2018 00:37:26 +0100 Subject: [PATCH] uboot-sunxi: dts: Update orange Pi R1 integration This syncs the Orange Pi R1 device tree files with the one from the upstream kernel and also uses the default configuration from the Orange Pi Zero. Signed-off-by: Hauke Mehrtens --- .../301-sunxi-add-orangepi-R1-defconfig.patch | 48 ----- ...-sunxi-Add-support-for-Orange-Pi-R1.patch} | 171 ++++++++---------- 2 files changed, 73 insertions(+), 146 deletions(-) delete mode 100644 package/boot/uboot-sunxi/patches/301-sunxi-add-orangepi-R1-defconfig.patch rename package/boot/uboot-sunxi/patches/{300-sunxi-add-device-tree-for-Orange-Pi-R1-board.patch => 320-sunxi-Add-support-for-Orange-Pi-R1.patch} (55%) diff --git a/package/boot/uboot-sunxi/patches/301-sunxi-add-orangepi-R1-defconfig.patch b/package/boot/uboot-sunxi/patches/301-sunxi-add-orangepi-R1-defconfig.patch deleted file mode 100644 index 6240fe3f57..0000000000 --- a/package/boot/uboot-sunxi/patches/301-sunxi-add-orangepi-R1-defconfig.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 231201c71b902b5999ed9b143f2a54674cfae88a Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Tue, 26 Sep 2017 22:17:33 +0200 -Subject: sunxi: add orangepi R1 defconfig - -Signed-off-by: Hauke Mehrtens ---- - board/sunxi/MAINTAINERS | 5 +++++ - configs/orangepi_r1_defconfig | 19 +++++++++++++++++++ - 2 files changed, 24 insertions(+) - create mode 100644 configs/orangepi_r1_defconfig - ---- a/board/sunxi/MAINTAINERS -+++ b/board/sunxi/MAINTAINERS -@@ -302,6 +302,11 @@ M: Jagan Teki -+S: Maintained -+F: configs/orangepi_r1_defconfig -+ - PINE64 BOARDS - M: Andre Przywara - S: Maintained ---- /dev/null -+++ b/configs/orangepi_r1_defconfig -@@ -0,0 +1,19 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_SPL_SPI_FLASH_SUPPORT=y -+CONFIG_MACH_SUN8I_H3=y -+CONFIG_DRAM_CLK=624 -+CONFIG_DRAM_ZQ=3881979 -+CONFIG_DRAM_ODT_EN=y -+# CONFIG_VIDEO_DE2 is not set -+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-orangepi-r1" -+# 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_SPL_SPI_SUNXI=y -+CONFIG_SUN8I_EMAC=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y diff --git a/package/boot/uboot-sunxi/patches/300-sunxi-add-device-tree-for-Orange-Pi-R1-board.patch b/package/boot/uboot-sunxi/patches/320-sunxi-Add-support-for-Orange-Pi-R1.patch similarity index 55% rename from package/boot/uboot-sunxi/patches/300-sunxi-add-device-tree-for-Orange-Pi-R1-board.patch rename to package/boot/uboot-sunxi/patches/320-sunxi-Add-support-for-Orange-Pi-R1.patch index 65ae63c64d..af459823ee 100644 --- a/package/boot/uboot-sunxi/patches/300-sunxi-add-device-tree-for-Orange-Pi-R1-board.patch +++ b/package/boot/uboot-sunxi/patches/320-sunxi-Add-support-for-Orange-Pi-R1.patch @@ -1,14 +1,20 @@ -From 1f92596cc520f760589289059a5aa739366dd19c Mon Sep 17 00:00:00 2001 +From 068fb0d5728c5ec93cb961718d59e7c718886edd Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Tue, 26 Sep 2017 22:16:59 +0200 -Subject: sunxi: add device tree for Orange Pi R1 board +Subject: sunxi: Add support for Orange Pi R1 + +The device tree files are also submitted for inclusion into the Linux +kernel. Signed-off-by: Hauke Mehrtens --- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/sun8i-h2-plus-orangepi-r1.dts | 157 +++++++++++++++++++++++++++++ - 2 files changed, 158 insertions(+) + arch/arm/dts/Makefile | 1 + + arch/arm/dts/sun8i-h2-plus-orangepi-r1.dts | 77 ++++++++++++++++++++++++++++++ + board/sunxi/MAINTAINERS | 5 ++ + configs/orangepi_r1_defconfig | 26 ++++++++++ + 4 files changed, 109 insertions(+) create mode 100644 arch/arm/dts/sun8i-h2-plus-orangepi-r1.dts + create mode 100644 configs/orangepi_r1_defconfig --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -22,15 +28,9 @@ Signed-off-by: Hauke Mehrtens sun8i-h3-orangepi-2.dtb \ --- /dev/null +++ b/arch/arm/dts/sun8i-h2-plus-orangepi-r1.dts -@@ -0,0 +1,157 @@ +@@ -0,0 +1,91 @@ +/* -+ * Copyright (C) 2017 Hauke Mehrtens -+ * -+ * Based on sun8i-h2-plus-orangepi-zero.dts, which is: -+ * Copyright (C) 2016 Icenowy Zheng -+ * -+ * Based on sun8i-h3-orangepi-one.dts, which is: -+ * Copyright (C) 2016 Hans de Goede ++ * Copyright (C) 2017 Icenowy Zheng + * + * 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 @@ -71,112 +71,87 @@ Signed-off-by: Hauke Mehrtens + * OTHER DEALINGS IN THE SOFTWARE. + */ + -+/dts-v1/; -+#include "sun8i-h3.dtsi" -+#include "sunxi-common-regulators.dtsi" -+ -+#include -+#include -+#include ++/* Orange Pi R1 is based on Orange Pi Zero design */ ++#include "sun8i-h2-plus-orangepi-zero.dts" + +/ { + model = "Xunlong Orange Pi R1"; + compatible = "xunlong,orangepi-r1", "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"; ++ /delete-node/ reg_vcc_wifi; + -+ 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 { ++ /* ++ * Ths pin of this regulator is the same with the Wi-Fi extra ++ * regulator on the original Zero. However it's used for USB ++ * Ethernet rather than the Wi-Fi now. ++ */ ++ reg_vcc_usb_eth: reg-vcc-usb-ethernet { + compatible = "regulator-fixed"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-wifi"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-name = "vcc-usb-ethernet"; + 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"; -+}; -+ -+&emac { -+ phy = <&phy1>; -+ phy-mode = "mii"; -+ allwinner,use-internal-phy; -+ allwinner,leds-active-low; -+ status = "okay"; -+ phy1: ethernet-phy@1 { -+ reg = <1>; ++ aliases { ++ ethernet1 = &rtl8189etv; + }; +}; + -+&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"; ++&ohci1 { ++ /* ++ * RTL8152B USB-Ethernet adapter is connected to USB1, ++ * and it's a USB 2.0 device. So the OHCI1 controller ++ * can be left disabled. ++ */ ++ status = "disabled"; +}; + +&mmc1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins_a>; -+ vmmc-supply = <®_vcc_wifi>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; ++ vmmc-supply = <®_vcc3v3>; ++ vqmmc-supply = <®_vcc3v3>; + -+ /* -+ * 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 { ++ rtl8189etv: 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"; ++ usb1_vbus-supply = <®_vcc_usb_eth>; +}; +--- a/board/sunxi/MAINTAINERS ++++ b/board/sunxi/MAINTAINERS +@@ -302,6 +302,11 @@ M: Jagan Teki ++S: Maintained ++F: configs/orangepi_r1_defconfig ++ + PINE64 BOARDS + M: Andre Przywara + S: Maintained +--- /dev/null ++++ b/configs/orangepi_r1_defconfig +@@ -0,0 +1,18 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_SUNXI=y ++CONFIG_SPL_SPI_FLASH_SUPPORT=y ++CONFIG_MACH_SUN8I_H3=y ++CONFIG_DRAM_CLK=624 ++CONFIG_DRAM_ZQ=3881979 ++CONFIG_DRAM_ODT_EN=y ++# CONFIG_VIDEO_DE2 is not set ++CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-orangepi-r1" ++# 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_SPL_SPI_SUNXI=y ++CONFIG_SUN8I_EMAC=y ++CONFIG_USB_EHCI_HCD=y