Blame view

arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts 2.95 KB
b5fe523bb   Chen-Yu Tsai   sunxi: H3/H5 Sync...
1
2
3
  // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  // Copyright (C) 2017 Antony Antony <antony@phenome.org>
  // Copyright (C) 2016 ARM Ltd.
6130b1f6b   Antony Antony   sun50i: h5: Add N...
4
5
  
  /dts-v1/;
6130b1f6b   Antony Antony   sun50i: h5: Add N...
6
7
8
  #include "sun50i-h5.dtsi"
  
  #include <dt-bindings/gpio/gpio.h>
1caeae375   Andre Przywara   sunxi: DT: H5: up...
9
10
  #include <dt-bindings/input/input.h>
  #include <dt-bindings/pinctrl/sun4i-a10.h>
6130b1f6b   Antony Antony   sun50i: h5: Add N...
11
12
  
  / {
1caeae375   Andre Przywara   sunxi: DT: H5: up...
13
  	model = "FriendlyARM NanoPi NEO Plus2";
6130b1f6b   Antony Antony   sun50i: h5: Add N...
14
15
16
  	compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
  
  	aliases {
1caeae375   Andre Przywara   sunxi: DT: H5: up...
17
  		ethernet0 = &emac;
6130b1f6b   Antony Antony   sun50i: h5: Add N...
18
19
20
21
22
23
  		serial0 = &uart0;
  	};
  
  	chosen {
  		stdout-path = "serial0:115200n8";
  	};
1caeae375   Andre Przywara   sunxi: DT: H5: up...
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  	leds {
  		compatible = "gpio-leds";
  
  		pwr {
  			label = "nanopi:green:pwr";
  			gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
  			default-state = "on";
  		};
  
  		status {
  			label = "nanopi:red:status";
  			gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
  		};
  	};
  
  	reg_gmac_3v3: gmac-3v3 {
  		compatible = "regulator-fixed";
1caeae375   Andre Przywara   sunxi: DT: H5: up...
41
42
43
44
45
46
47
  		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>;
  	};
6130b1f6b   Antony Antony   sun50i: h5: Add N...
48
49
50
51
52
53
  	reg_vcc3v3: vcc3v3 {
  		compatible = "regulator-fixed";
  		regulator-name = "vcc3v3";
  		regulator-min-microvolt = <3300000>;
  		regulator-max-microvolt = <3300000>;
  	};
1caeae375   Andre Przywara   sunxi: DT: H5: up...
54
55
56
  
  	vdd_cpux: gpio-regulator {
  		compatible = "regulator-gpio";
1caeae375   Andre Przywara   sunxi: DT: H5: up...
57
58
59
60
61
62
63
64
65
  		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>; /* 4ms */
  		gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>;
  		gpios-states = <0x1>;
b5fe523bb   Chen-Yu Tsai   sunxi: H3/H5 Sync...
66
  		states = <1100000 0>, <1300000 1>;
1caeae375   Andre Przywara   sunxi: DT: H5: up...
67
68
69
70
  	};
  
  	wifi_pwrseq: wifi_pwrseq {
  		compatible = "mmc-pwrseq-simple";
1caeae375   Andre Przywara   sunxi: DT: H5: up...
71
72
73
74
75
76
77
78
79
80
81
  		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
  		post-power-on-delay-ms = <200>;
  	};
  };
  
  &codec {
  	allwinner,audio-routing =
  		"Line Out", "LINEOUT",
  		"MIC1", "Mic",
  		"Mic",  "MBIAS";
  	status = "okay";
6130b1f6b   Antony Antony   sun50i: h5: Add N...
82
  };
1caeae375   Andre Przywara   sunxi: DT: H5: up...
83
  &ehci0 {
6130b1f6b   Antony Antony   sun50i: h5: Add N...
84
85
  	status = "okay";
  };
1caeae375   Andre Przywara   sunxi: DT: H5: up...
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  &ehci3 {
  	status = "okay";
  };
  
  &emac {
  	pinctrl-names = "default";
  	pinctrl-0 = <&emac_rgmii_pins>;
  	phy-supply = <&reg_gmac_3v3>;
  	phy-handle = <&ext_rgmii_phy>;
  	phy-mode = "rgmii";
  	status = "okay";
  };
  
  &external_mdio {
  	ext_rgmii_phy: ethernet-phy@7 {
  		compatible = "ethernet-phy-ieee802.3-c22";
  		reg = <7>;
  	};
  };
6130b1f6b   Antony Antony   sun50i: h5: Add N...
105
  &mmc0 {
6130b1f6b   Antony Antony   sun50i: h5: Add N...
106
107
  	vmmc-supply = <&reg_vcc3v3>;
  	bus-width = <4>;
1caeae375   Andre Przywara   sunxi: DT: H5: up...
108
109
110
111
112
113
114
115
116
117
  	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
  	status = "okay";
  };
  
  &mmc1 {
  	vmmc-supply = <&reg_vcc3v3>;
  	vqmmc-supply = <&reg_vcc3v3>;
  	mmc-pwrseq = <&wifi_pwrseq>;
  	bus-width = <4>;
  	non-removable;
6130b1f6b   Antony Antony   sun50i: h5: Add N...
118
  	status = "okay";
1caeae375   Andre Przywara   sunxi: DT: H5: up...
119
120
121
122
123
  
  	brcmf: wifi@1 {
  		reg = <1>;
  		compatible = "brcm,bcm4329-fmac";
  	};
6130b1f6b   Antony Antony   sun50i: h5: Add N...
124
125
126
127
128
129
130
131
132
133
134
  };
  
  &mmc2 {
  	pinctrl-names = "default";
  	pinctrl-0 = <&mmc2_8bit_pins>;
  	vmmc-supply = <&reg_vcc3v3>;
  	bus-width = <8>;
  	non-removable;
  	cap-mmc-hw-reset;
  	status = "okay";
  };
1caeae375   Andre Przywara   sunxi: DT: H5: up...
135
136
137
138
139
  &ohci0 {
  	status = "okay";
  };
  
  &ohci3 {
6130b1f6b   Antony Antony   sun50i: h5: Add N...
140
141
142
143
144
  	status = "okay";
  };
  
  &uart0 {
  	pinctrl-names = "default";
b5fe523bb   Chen-Yu Tsai   sunxi: H3/H5 Sync...
145
  	pinctrl-0 = <&uart0_pa_pins>;
6130b1f6b   Antony Antony   sun50i: h5: Add N...
146
147
  	status = "okay";
  };
1caeae375   Andre Przywara   sunxi: DT: H5: up...
148
149
150
151
  &usb_otg {
  	dr_mode = "host";
  	status = "okay";
  };
6130b1f6b   Antony Antony   sun50i: h5: Add N...
152
  &usbphy {
1caeae375   Andre Przywara   sunxi: DT: H5: up...
153
  	/* USB Type-A ports' VBUS is always on */
6130b1f6b   Antony Antony   sun50i: h5: Add N...
154
155
  	status = "okay";
  };