1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (C) 2019 Igor Pecovnik <igor@armbian.com> 4 * Copyright (C) 2020 Jayantajit Gogoi <jayanta.gogoi525@gmail.com> 5 * Copyright (C) 2020 Yu-Tung Chang <mtwget@gmail.com> 6*/ 7 8#include "sun8i-h3-nanopi.dtsi" 9#include <dt-bindings/leds/common.h> 10 11/ { 12 model = "FriendlyARM NanoPi R1"; 13 compatible = "friendlyarm,nanopi-r1", "allwinner,sun8i-h3"; 14 15 aliases { 16 serial1 = &uart1; 17 ethernet0 = &emac; 18 ethernet1 = &wifi; 19 }; 20 21 reg_gmac_3v3: gmac-3v3 { 22 compatible = "regulator-fixed"; 23 regulator-name = "gmac-3v3"; 24 regulator-min-microvolt = <3300000>; 25 regulator-max-microvolt = <3300000>; 26 startup-delay-us = <100000>; 27 enable-active-high; 28 gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ 29 }; 30 31 reg_vdd_cpux: gpio-regulator { 32 compatible = "regulator-gpio"; 33 regulator-name = "vdd-cpux"; 34 regulator-type = "voltage"; 35 regulator-boot-on; 36 regulator-always-on; 37 regulator-min-microvolt = <1100000>; 38 regulator-max-microvolt = <1300000>; 39 regulator-ramp-delay = <50>; 40 gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ 41 gpios-states = <0x1>; 42 states = <1100000 0x0>, 43 <1300000 0x1>; 44 }; 45 46 wifi_pwrseq: wifi_pwrseq { 47 compatible = "mmc-pwrseq-simple"; 48 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ 49 clocks = <&rtc CLK_OSC32K_FANOUT>; 50 clock-names = "ext_clock"; 51 }; 52 53 leds { 54 led-2 { 55 function = LED_FUNCTION_WAN; 56 color = <LED_COLOR_ID_GREEN>; 57 gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ 58 }; 59 60 led-3 { 61 function = LED_FUNCTION_LAN; 62 color = <LED_COLOR_ID_GREEN>; 63 gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>; /* PA9 */ 64 }; 65 }; 66}; 67 68&cpu0 { 69 cpu-supply = <®_vdd_cpux>; 70}; 71 72&ehci1 { 73 status = "okay"; 74}; 75 76&ehci2 { 77 status = "okay"; 78}; 79 80&emac { 81 pinctrl-names = "default"; 82 pinctrl-0 = <&emac_rgmii_pins>; 83 phy-supply = <®_gmac_3v3>; 84 phy-handle = <&ext_rgmii_phy>; 85 phy-mode = "rgmii-id"; 86 status = "okay"; 87}; 88 89&external_mdio { 90 ext_rgmii_phy: ethernet-phy@7 { 91 compatible = "ethernet-phy-ieee802.3-c22"; 92 reg = <7>; 93 }; 94}; 95 96&mmc1 { 97 vmmc-supply = <®_vcc3v3>; 98 vqmmc-supply = <®_vcc3v3>; 99 mmc-pwrseq = <&wifi_pwrseq>; 100 bus-width = <4>; 101 non-removable; 102 status = "okay"; 103 104 wifi: wifi@1 { 105 reg = <1>; 106 compatible = "brcm,bcm4329-fmac"; 107 interrupt-parent = <&pio>; 108 interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ 109 interrupt-names = "host-wake"; 110 }; 111}; 112 113&mmc2 { 114 pinctrl-names = "default"; 115 pinctrl-0 = <&mmc2_8bit_pins>; 116 vmmc-supply = <®_vcc3v3>; 117 vqmmc-supply = <®_vcc3v3>; 118 bus-width = <8>; 119 non-removable; 120 status = "okay"; 121}; 122 123&ohci1 { 124 status = "okay"; 125}; 126 127&ohci2 { 128 status = "okay"; 129}; 130 131®_usb0_vbus { 132 gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ 133 status = "okay"; 134}; 135 136&uart1 { 137 pinctrl-names = "default"; 138 pinctrl-0 = <&uart1_pins>; 139 status = "okay"; 140}; 141 142&uart3 { 143 pinctrl-names = "default"; 144 pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>; 145 uart-has-rtscts; 146 status = "okay"; 147 148 bluetooth { 149 compatible = "brcm,bcm43438-bt"; 150 clocks = <&rtc CLK_OSC32K_FANOUT>; 151 clock-names = "lpo"; 152 vbat-supply = <®_vcc3v3>; 153 vddio-supply = <®_vcc3v3>; 154 device-wakeup-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ 155 host-wakeup-gpios = <&pio 0 7 GPIO_ACTIVE_HIGH>; /* PA7 */ 156 shutdown-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */ 157 }; 158}; 159 160&usb_otg { 161 status = "okay"; 162 dr_mode = "otg"; 163}; 164 165&usbphy { 166 usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ 167 usb0_vbus-supply = <®_usb0_vbus>; 168 status = "okay"; 169}; 170