Merge tag 'timers-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / sun8i-h3-nanopi-r1.dts
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 1>;
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 = <&reg_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 = <&reg_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 = <&reg_vcc3v3>;
98         vqmmc-supply = <&reg_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 = <&reg_vcc3v3>;
117         vqmmc-supply = <&reg_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 &reg_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 1>;
151                 clock-names = "lpo";
152                 vbat-supply = <&reg_vcc3v3>;
153                 vddio-supply = <&reg_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 = <&reg_usb0_vbus>;
168         status = "okay";
169 };