Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.17.
  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};