mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2024-11-16 18:28:23 +01:00
237 lines
5.8 KiB
Diff
237 lines
5.8 KiB
Diff
|
From 692c8efb60d033fa0df3d79d4aee6e3e1d966425 Mon Sep 17 00:00:00 2001
|
||
|
From: Marek Belisko <marek.belisko@open-nandra.com>
|
||
|
Date: Wed, 13 Apr 2022 11:19:29 +0200
|
||
|
Subject: [PATCH] ARM: dts: sun8i: h3: Add initial NanoPi R1 support
|
||
|
|
||
|
The NanoPi R1 is a complete open source board developed
|
||
|
by FriendlyElec for makers, hobbyists, fans and etc.
|
||
|
|
||
|
NanoPi R1 key features
|
||
|
- Allwinner H3, Quad-core Cortex-A7@1.2GHz
|
||
|
- 512MB/1GB DDR3 RAM
|
||
|
- 8GB eMMC
|
||
|
- microSD slot
|
||
|
- 10/100/1000M Ethernet x 1
|
||
|
- 10/100 Ethernet x 1
|
||
|
- Wifi 802.11b/g/n
|
||
|
- Bluetooth 4.0
|
||
|
- Serial Debug Port
|
||
|
- 5V 2A DC power-supply
|
||
|
|
||
|
Signed-off-by: Yu-Tung Chang <mtwget@gmail.com>
|
||
|
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||
|
Link: https://lore.kernel.org/r/20201102100157.85801-2-mtwget@gmail.com
|
||
|
---
|
||
|
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +
|
||
|
arch/arm/boot/dts/Makefile | 1 +
|
||
|
arch/arm/boot/dts/sun8i-h3-nanopi-r1.dts | 169 +++++++++++++++++++++++
|
||
|
3 files changed, 175 insertions(+)
|
||
|
create mode 100644 arch/arm/boot/dts/sun8i-h3-nanopi-r1.dts
|
||
|
|
||
|
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||
|
index cab8e1b..5424bab 100644
|
||
|
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||
|
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||
|
@@ -251,6 +251,11 @@ properties:
|
||
|
- const: friendlyarm,nanopi-neo-plus2
|
||
|
- const: allwinner,sun50i-h5
|
||
|
|
||
|
+ - description: FriendlyARM NanoPi R1
|
||
|
+ items:
|
||
|
+ - const: friendlyarm,nanopi-r1
|
||
|
+ - const: allwinner,sun8i-h3
|
||
|
+
|
||
|
- description: Gemei G9 Tablet
|
||
|
items:
|
||
|
- const: gemei,g9
|
||
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||
|
index 4c3ba04..494639a 100644
|
||
|
--- a/arch/arm/boot/dts/Makefile
|
||
|
+++ b/arch/arm/boot/dts/Makefile
|
||
|
@@ -1240,6 +1240,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||
|
sun8i-h3-nanopi-m1-plus.dtb \
|
||
|
sun8i-h3-nanopi-neo.dtb \
|
||
|
sun8i-h3-nanopi-neo-air.dtb \
|
||
|
+ sun8i-h3-nanopi-r1.dtb \
|
||
|
sun8i-h3-orangepi-2.dtb \
|
||
|
sun8i-h3-orangepi-lite.dtb \
|
||
|
sun8i-h3-orangepi-one.dtb \
|
||
|
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-r1.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-r1.dts
|
||
|
new file mode 100644
|
||
|
index 0000000..204a39f
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-r1.dts
|
||
|
@@ -0,0 +1,169 @@
|
||
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
+/*
|
||
|
+ * Copyright (C) 2019 Igor Pecovnik <igor@armbian.com>
|
||
|
+ * Copyright (C) 2020 Jayantajit Gogoi <jayanta.gogoi525@gmail.com>
|
||
|
+ * Copyright (C) 2020 Yu-Tung Chang <mtwget@gmail.com>
|
||
|
+*/
|
||
|
+
|
||
|
+#include "sun8i-h3-nanopi.dtsi"
|
||
|
+#include <dt-bindings/leds/common.h>
|
||
|
+
|
||
|
+/ {
|
||
|
+ model = "FriendlyARM NanoPi R1";
|
||
|
+ compatible = "friendlyarm,nanopi-r1", "allwinner,sun8i-h3";
|
||
|
+
|
||
|
+ aliases {
|
||
|
+ serial1 = &uart1;
|
||
|
+ ethernet0 = &emac;
|
||
|
+ ethernet1 = &wifi;
|
||
|
+ };
|
||
|
+
|
||
|
+ reg_gmac_3v3: gmac-3v3 {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "gmac-3v3";
|
||
|
+ regulator-min-microvolt = <3300000>;
|
||
|
+ regulator-max-microvolt = <3300000>;
|
||
|
+ startup-delay-us = <100000>;
|
||
|
+ enable-active-high;
|
||
|
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
|
||
|
+ };
|
||
|
+
|
||
|
+ reg_vdd_cpux: gpio-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>;
|
||
|
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||
|
+ gpios-states = <0x1>;
|
||
|
+ states = <1100000 0x0
|
||
|
+ 1300000 0x1>;
|
||
|
+ };
|
||
|
+
|
||
|
+ wifi_pwrseq: wifi_pwrseq {
|
||
|
+ compatible = "mmc-pwrseq-simple";
|
||
|
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||
|
+ clocks = <&rtc 1>;
|
||
|
+ clock-names = "ext_clock";
|
||
|
+ };
|
||
|
+
|
||
|
+ leds {
|
||
|
+ led-2 {
|
||
|
+ function = LED_FUNCTION_WAN;
|
||
|
+ color = <LED_COLOR_ID_GREEN>;
|
||
|
+ gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
|
||
|
+ };
|
||
|
+
|
||
|
+ led-3 {
|
||
|
+ function = LED_FUNCTION_LAN;
|
||
|
+ color = <LED_COLOR_ID_GREEN>;
|
||
|
+ gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>; /* PA9 */
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&cpu0 {
|
||
|
+ cpu-supply = <®_vdd_cpux>;
|
||
|
+};
|
||
|
+
|
||
|
+&ehci1 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&ehci2 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&emac {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||
|
+ phy-supply = <®_gmac_3v3>;
|
||
|
+ phy-handle = <&ext_rgmii_phy>;
|
||
|
+ phy-mode = "rgmii-id";
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&external_mdio {
|
||
|
+ ext_rgmii_phy: ethernet-phy@7 {
|
||
|
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||
|
+ reg = <7>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&mmc1 {
|
||
|
+ vmmc-supply = <®_vcc3v3>;
|
||
|
+ vqmmc-supply = <®_vcc3v3>;
|
||
|
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||
|
+ bus-width = <4>;
|
||
|
+ non-removable;
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ wifi: wifi@1 {
|
||
|
+ reg = <1>;
|
||
|
+ compatible = "brcm,bcm4329-fmac";
|
||
|
+ interrupt-parent = <&pio>;
|
||
|
+ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
|
||
|
+ interrupt-names = "host-wake";
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&mmc2 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||
|
+ vmmc-supply = <®_vcc3v3>;
|
||
|
+ vqmmc-supply = <®_vcc3v3>;
|
||
|
+ bus-width = <8>;
|
||
|
+ non-removable;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&ohci1 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&ohci2 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+®_usb0_vbus {
|
||
|
+ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&uart1 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart1_pins>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&uart3 {
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
|
||
|
+ uart-has-rtscts;
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ bluetooth {
|
||
|
+ compatible = "brcm,bcm43438-bt";
|
||
|
+ clocks = <&rtc 1>;
|
||
|
+ clock-names = "lpo";
|
||
|
+ vbat-supply = <®_vcc3v3>;
|
||
|
+ vddio-supply = <®_vcc3v3>;
|
||
|
+ device-wakeup-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */
|
||
|
+ host-wakeup-gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */
|
||
|
+ shutdown-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&usb_otg {
|
||
|
+ status = "okay";
|
||
|
+ dr_mode = "otg";
|
||
|
+};
|
||
|
+
|
||
|
+&usbphy {
|
||
|
+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||
|
+ usb0_vbus-supply = <®_usb0_vbus>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
--
|
||
|
2.7.4
|
||
|
|