175 lines
3.8 KiB
Diff
175 lines
3.8 KiB
Diff
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
|
|
index 3d64cafc..dab0bfe0 100644
|
|
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
|
|
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
|
|
@@ -45,7 +45,9 @@
|
|
#include "sunxi-common-regulators.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
+#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
|
+#include <dt-bindings/thermal/thermal.h>
|
|
|
|
/ {
|
|
model = "FriendlyARM NanoPi NEO";
|
|
@@ -75,6 +77,89 @@
|
|
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
|
};
|
|
};
|
|
+
|
|
+ wifi_pwrseq: wifi_pwrseq {
|
|
+ compatible = "mmc-pwrseq-simple";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&wifi_en_neoair>;
|
|
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
|
+ };
|
|
+
|
|
+ vdd_cpux: gpio-regulator {
|
|
+ compatible = "regulator-gpio";
|
|
+
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vdd_cpux_r_opc>;
|
|
+
|
|
+ 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>;
|
|
+ states = <1100000 0x0
|
|
+ 1300000 0x1>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&cpu0 {
|
|
+ operating-points = <
|
|
+ 1008000 1300000
|
|
+ 816000 1100000
|
|
+ 624000 1100000
|
|
+ 480000 1100000
|
|
+ 312000 1100000
|
|
+ 240000 1100000
|
|
+ 120000 1100000
|
|
+ >;
|
|
+ #cooling-cells = <2>;
|
|
+ cooling-min-level = <0>;
|
|
+ cooling-max-level = <6>;
|
|
+ cpu0-supply = <&vdd_cpux>;
|
|
+};
|
|
+
|
|
+&cpu_thermal {
|
|
+ trips {
|
|
+ cpu_warm: cpu_warm {
|
|
+ temperature = <65000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_hot: cpu_hot {
|
|
+ temperature = <75000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_very_hot: cpu_very_hot {
|
|
+ temperature = <90000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "passive";
|
|
+ };
|
|
+ cpu_crit: cpu_crit {
|
|
+ temperature = <105000>;
|
|
+ hysteresis = <2000>;
|
|
+ type = "critical";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cooling-maps {
|
|
+ cpu_warm_limit_cpu {
|
|
+ trip = <&cpu_warm>;
|
|
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT 1>;
|
|
+ };
|
|
+ cpu_hot_limit_cpu {
|
|
+ trip = <&cpu_hot>;
|
|
+ cooling-device = <&cpu0 2 3>;
|
|
+ };
|
|
+ cpu_very_hot_limit_cpu {
|
|
+ trip = <&cpu_very_hot>;
|
|
+ cooling-device = <&cpu0 5 THERMAL_NO_LIMIT>;
|
|
+ };
|
|
+ };
|
|
};
|
|
|
|
&ehci3 {
|
|
@@ -91,12 +176,41 @@
|
|
status = "okay";
|
|
};
|
|
|
|
+&mmc1 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&mmc1_pins_a>;
|
|
+ vmmc-supply = <®_vcc3v3>;
|
|
+ vqmmc-supply = <®_vcc3v3>;
|
|
+ mmc-pwrseq = <&wifi_pwrseq>;
|
|
+ bus-width = <4>;
|
|
+ non-removable;
|
|
+ status = "okay";
|
|
+
|
|
+ brcmf: bcrmf@1 {
|
|
+ reg = <1>;
|
|
+ compatible = "brcm,bcm4329-fmac";
|
|
+ interrupt-parent = <&pio>;
|
|
+ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
|
|
+ interrupt-names = "host-wake";
|
|
+ };
|
|
+};
|
|
+
|
|
+&mmc2 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
|
+ vmmc-supply = <®_vcc3v3>;
|
|
+ vqmmc-supply = <®_vcc3v3>;
|
|
+ bus-width = <8>;
|
|
+ non-removable;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
&ohci3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pio {
|
|
- leds_opc: led-pins {
|
|
+ leds_opc: led-pins@0 {
|
|
allwinner,pins = "PA10";
|
|
allwinner,function = "gpio_out";
|
|
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
|
@@ -105,12 +219,25 @@
|
|
};
|
|
|
|
&r_pio {
|
|
- leds_r_opc: led-pins {
|
|
+ leds_r_opc: led-pins@0 {
|
|
allwinner,pins = "PL10";
|
|
allwinner,function = "gpio_out";
|
|
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
|
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
|
};
|
|
+ wifi_en_neoair: wifi_en_pin@0 {
|
|
+ allwinner,pins = "PL7";
|
|
+ allwinner,function = "gpio_out";
|
|
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
|
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
|
+ };
|
|
+
|
|
+ vdd_cpux_r_opc: regulator_pins@0 {
|
|
+ allwinner,pins = "PL6";
|
|
+ allwinner,function = "gpio_out";
|
|
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
|
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
|
+ };
|
|
};
|
|
|
|
&uart0 {
|