[PATCH] ARM: dts: sun8i: r40/v40: rewrite BPi M2 Berry DTS to rebase on M2 Ultra

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Banana Pi designs the BPi M2 Berry board to be software compatible with
BPi M2 Ultra, so it's based on M2 Ultra with some function cuts,
including:

- 2048MiB DRAM -> 1024MiB (this should be proceed by the bootloader);
- dropped a LED;
- dropped eMMC;
- dropped USB2 and connect USB1 to a 4-port HUB.

Thus we can make the M2 Berry device tree based on the M2 Ultra, rather
than write one from scratch.

Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx>
---
 .../boot/dts/sun8i-v40-bananapi-m2-berry.dts  | 141 +++---------------
 1 file changed, 24 insertions(+), 117 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
index 35859d8f3267..b740c659e623 100644
--- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
+++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
@@ -40,143 +40,50 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
-/dts-v1/;
-#include "sun8i-r40.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
+#include "sun8i-r40-bananapi-m2-ultra.dts"
 
 / {
 	model = "Banana Pi M2 Berry";
 	compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40";
 
-	aliases {
-		serial0 = &uart0;
-	};
-
-	chosen {
-		stdout-path = "serial0:115200n8";
-	};
-
 	leds {
-		compatible = "gpio-leds";
-
-		pwr-led {
-			label = "bananapi:red:pwr";
-			gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>;
-			default-state = "on";
-		};
-
-		user-led {
-			label = "bananapi:green:user";
-			gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>;
-		};
-	};
-
-	reg_vcc5v0: vcc5v0 {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc5v0";
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-		gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>; /* PH23 */
-		enable-active-high;
-	};
-
-	wifi_pwrseq: wifi_pwrseq {
-		compatible = "mmc-pwrseq-simple";
-		reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */
+		/* M2 Berry dropped blue LED due to size */
+		/delete-node/ user-led-blue;
 	};
 };
 
 &ehci1 {
 	/* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */
-	status = "okay";
-};
-
-&i2c0 {
-	status = "okay";
-
-	axp22x: pmic@68 {
-		compatible = "x-powers,axp221";
-		reg = <0x34>;
-		interrupt-parent = <&nmi_intc>;
-		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	};
-};
-
-#include "axp22x.dtsi"
-
-&reg_aldo3 {
-	regulator-always-on;
-	regulator-min-microvolt = <2700000>;
-	regulator-max-microvolt = <3300000>;
-	regulator-name = "avcc";
-};
-
-&reg_dcdc1 {
-	regulator-always-on;
-	regulator-min-microvolt = <3000000>;
-	regulator-max-microvolt = <3000000>;
-	regulator-name = "vcc-3v0";
-};
-
-&reg_dcdc2 {
-	regulator-always-on;
-	regulator-min-microvolt = <1000000>;
-	regulator-max-microvolt = <1300000>;
-	regulator-name = "vdd-cpu";
-};
-
-&reg_dcdc3 {
-	regulator-always-on;
-	regulator-min-microvolt = <1000000>;
-	regulator-max-microvolt = <1300000>;
-	regulator-name = "vdd-sys";
-};
-
-&reg_dcdc5 {
-	regulator-always-on;
-	regulator-min-microvolt = <1500000>;
-	regulator-max-microvolt = <1500000>;
-	regulator-name = "vcc-dram";
-};
-
-&reg_dldo1 {
-	regulator-min-microvolt = <1800000>;
-	regulator-max-microvolt = <3300000>;
-	regulator-name = "vcc-wifi-io";
 };
 
-&reg_dldo2 {
-	regulator-min-microvolt = <3300000>;
-	regulator-max-microvolt = <3300000>;
-	regulator-name = "vcc-wifi";
+&ehci2 {
+	/*
+	 * M2 Berry dropped wiring out USB2, due to all USB port is
+	 * from a hub at USB1.
+	 */
+	status = "disabled";
 };
 
-&mmc0 {
-	vmmc-supply = <&reg_dcdc1>;
-	bus-width = <4>;
-	cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
-	status = "okay";
+&mmc2 {
+	/* M2 Berry has no eMMC */
+	status = "disabled";
 };
 
-&mmc1 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&mmc1_pg_pins>;
-	vmmc-supply = <&reg_dldo2>;
-	vqmmc-supply = <&reg_dldo1>;
-	mmc-pwrseq = <&wifi_pwrseq>;
-	bus-width = <4>;
-	non-removable;
-	status = "okay";
+&ohci1 {
+	/*
+	 * M2 Berry have a Hub connected to the USB1 pins, so no USB1.1 device
+	 * can be directly connected to the USB1 port, thus the OHCI controller
+	 * can be disabled.
+	 */
+	status = "disabled";
 };
 
-&uart0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&uart0_pb_pins>;
-	status = "okay";
+&ohci2 {
+	/* See comments at &ehci2 */
+	status = "disabled";
 };
 
 &usbphy {
-	usb1_vbus-supply = <&reg_vcc5v0>;
-	status = "okay";
+	/* See comments at &ehci2 */
+	/delete-property/ usb2_vbus-supply;
 };
-- 
2.18.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux