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

From: Icenowy Zheng
Date: Tue Jul 24 2018 - 12:37:42 EST


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