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