198 lines
4.4 KiB
Diff
198 lines
4.4 KiB
Diff
|
From 1efe0eecf0919bfb33af8430521991c57b5b35ef Mon Sep 17 00:00:00 2001
|
||
|
From: The-going <48602507+The-going@users.noreply.github.com>
|
||
|
Date: Mon, 24 Jan 2022 15:45:43 +0300
|
||
|
Subject: [PATCH 061/153] arm:dts: h3-nanopi-neo-air Add regulator camera wifi
|
||
|
bluetooth otg
|
||
|
|
||
|
---
|
||
|
arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts | 153 ++++++++++++++++++
|
||
|
1 file changed, 153 insertions(+)
|
||
|
|
||
|
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts
|
||
|
index 9e1a33f94..bff96ae65 100644
|
||
|
--- a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts
|
||
|
+++ b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-neo-air.dts
|
||
|
@@ -70,12 +70,92 @@ led-0 {
|
||
|
led-1 {
|
||
|
label = "nanopi:blue:status";
|
||
|
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||
|
+ linux,default-trigger = "heartbeat";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+ vdd_cpux: gpio-regulator {
|
||
|
+ compatible = "regulator-gpio";
|
||
|
+ pinctrl-names = "default";
|
||
|
+ 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>; /* PL6 */
|
||
|
+ gpios-states = <0x1>;
|
||
|
+ states = <1100000 0x0
|
||
|
+ 1300000 0x1>;
|
||
|
+ };
|
||
|
+
|
||
|
wifi_pwrseq: wifi_pwrseq {
|
||
|
compatible = "mmc-pwrseq-simple";
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&wifi_en_npi>;
|
||
|
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||
|
+ post-power-on-delay-ms = <200>;
|
||
|
+ };
|
||
|
+
|
||
|
+ rfkill_bt {
|
||
|
+ compatible = "rfkill-gpio";
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&bt_pwr_pin>;
|
||
|
+ reset-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
|
||
|
+ clocks = <&osc32k>;
|
||
|
+ clock-frequency = <32768>;
|
||
|
+ rfkill-name = "sunxi-bt";
|
||
|
+ rfkill-type = "bluetooth";
|
||
|
+ };
|
||
|
+
|
||
|
+ cam_xclk: cam-xclk {
|
||
|
+ #clock-cells = <0>;
|
||
|
+ compatible = "fixed-clock";
|
||
|
+ clock-frequency = <24000000>;
|
||
|
+ clock-output-names = "cam-xclk";
|
||
|
+ };
|
||
|
+
|
||
|
+ reg_cam_avdd: cam-avdd {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "cam500b-avdd";
|
||
|
+ regulator-min-microvolt = <2800000>;
|
||
|
+ regulator-max-microvolt = <2800000>;
|
||
|
+ vin-supply = <®_vcc3v3>;
|
||
|
+ };
|
||
|
+
|
||
|
+ reg_cam_dovdd: cam-dovdd {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "cam500b-dovdd";
|
||
|
+ regulator-min-microvolt = <1800000>;
|
||
|
+ regulator-max-microvolt = <1800000>;
|
||
|
+ vin-supply = <®_vcc3v3>;
|
||
|
+ };
|
||
|
+
|
||
|
+ reg_cam_dvdd: cam-dvdd {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "cam500b-dvdd";
|
||
|
+ regulator-min-microvolt = <1500000>;
|
||
|
+ regulator-max-microvolt = <1500000>;
|
||
|
+ vin-supply = <®_vcc3v3>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&cpu0 {
|
||
|
+ cpu-supply = <&vdd_cpux>;
|
||
|
+};
|
||
|
+
|
||
|
+&pio {
|
||
|
+ bt_pwr_pin: bt_pwr_pin@0 {
|
||
|
+ pins = "PG13";
|
||
|
+ function = "gpio_out";
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&r_pio {
|
||
|
+ wifi_en_npi: wifi_en_pin {
|
||
|
+ pins = "PL7";
|
||
|
+ function = "gpio_out";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
@@ -110,6 +190,74 @@ &mmc2 {
|
||
|
vqmmc-supply = <®_vcc3v3>;
|
||
|
bus-width = <8>;
|
||
|
non-removable;
|
||
|
+ cap-mmc-hw-reset;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&mmc2_8bit_pins {
|
||
|
+ /* Increase drive strength for DDR modes */
|
||
|
+ drive-strength = <40>;
|
||
|
+ /* eMMC is missing pull-ups */
|
||
|
+ bias-pull-up;
|
||
|
+};
|
||
|
+
|
||
|
+&csi {
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ port {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+
|
||
|
+ /* Parallel bus endpoint */
|
||
|
+ csi_from_ov5640: endpoint {
|
||
|
+ remote-endpoint = <&ov5640_to_csi>;
|
||
|
+ bus-width = <8>;
|
||
|
+ data-shift = <2>;
|
||
|
+ hsync-active = <1>; /* Active high */
|
||
|
+ vsync-active = <0>; /* Active low */
|
||
|
+ data-active = <1>; /* Active high */
|
||
|
+ pclk-sample = <1>; /* Rising */
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&i2c2 {
|
||
|
+ status = "okay";
|
||
|
+ ov5640: camera@3c {
|
||
|
+ compatible = "ovti,ov5640";
|
||
|
+ reg = <0x3c>;
|
||
|
+ clocks = <&cam_xclk>;
|
||
|
+ clock-names = "xclk";
|
||
|
+
|
||
|
+ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>;
|
||
|
+ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>;
|
||
|
+ AVDD-supply = <®_cam_avdd>;
|
||
|
+ DOVDD-supply = <®_cam_dovdd>;
|
||
|
+ DVDD-supply = <®_cam_dvdd>;
|
||
|
+
|
||
|
+ port {
|
||
|
+ ov5640_to_csi: endpoint {
|
||
|
+ remote-endpoint = <&csi_from_ov5640>;
|
||
|
+ bus-width = <8>;
|
||
|
+ data-shift = <2>;
|
||
|
+ hsync-active = <1>; /* Active high */
|
||
|
+ vsync-active = <0>; /* Active low */
|
||
|
+ data-active = <1>; /* Active high */
|
||
|
+ pclk-sample = <1>; /* Rising */
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&i2c2_pins {
|
||
|
+ bias-pull-up;
|
||
|
+};
|
||
|
+
|
||
|
+&ehci0 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&ohci0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
@@ -137,6 +285,11 @@ bluetooth {
|
||
|
};
|
||
|
};
|
||
|
|
||
|
+&usb_otg {
|
||
|
+ dr_mode = "peripheral";
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
&usbphy {
|
||
|
/* USB VBUS is always on */
|
||
|
status = "okay";
|
||
|
--
|
||
|
2.35.3
|
||
|
|