diff mbox

[1/3] ARM: dts: sun7i-a20: Rename bananapi as bananapi m1

Message ID 1496086228-2806-1-git-send-email-jagan@openedev.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jagan Teki May 29, 2017, 7:30 p.m. UTC
From: Jagan Teki <jagan@amarulasolutions.com>

from BPI(BIPAI KEJI LIMITED) products the Bananapi board
is named as 'Bananapi M1' and this is the starting
bananapi board from M1 series.

So rename dts and suffix 'M1' on model for the same,
so-that next sequence on bananapi starts like M1 Plus, M2 and so..on

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Note: Bananapi BPI product site
http://www.banana-pi.org/product.html

 arch/arm/boot/dts/Makefile                  |   2 +-
 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts | 286 ++++++++++++++++++++++++++++
 arch/arm/boot/dts/sun7i-a20-bananapi.dts    | 286 ----------------------------
 3 files changed, 287 insertions(+), 287 deletions(-)
 create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
 delete mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts

Comments

Icenowy Zheng May 29, 2017, 7:45 p.m. UTC | #1
于 2017年5月30日 GMT+08:00 上午3:30:26, Jagan Teki <jagan@openedev.com> 写到:
>From: Jagan Teki <jagan@amarulasolutions.com>
>
>from BPI(BIPAI KEJI LIMITED) products the Bananapi board
>is named as 'Bananapi M1' and this is the starting
>bananapi board from M1 series.
>
>So rename dts and suffix 'M1' on model for the same,
>so-that next sequence on bananapi starts like M1 Plus, M2 and so..on
>
>Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>---
>Note: Bananapi BPI product site
>http://www.banana-pi.org/product.html
>
> arch/arm/boot/dts/Makefile                  |   2 +-
>arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts | 286
>++++++++++++++++++++++++++++
>arch/arm/boot/dts/sun7i-a20-bananapi.dts    | 286
>----------------------------
> 3 files changed, 287 insertions(+), 287 deletions(-)
> create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> delete mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
>
>diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>index 45c6e65..1b086f0 100644
>--- a/arch/arm/boot/dts/Makefile
>+++ b/arch/arm/boot/dts/Makefile
>@@ -851,7 +851,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
> 	sun6i-a31s-sinovoip-bpi-m2.dtb \
> 	sun6i-a31s-yones-toptech-bs1078-v2.dtb
> dtb-$(CONFIG_MACH_SUN7I) += \
>-	sun7i-a20-bananapi.dtb \
>+	sun7i-a20-bananapi-m1.dtb \
> 	sun7i-a20-bananapi-m1-plus.dtb \
> 	sun7i-a20-bananapro.dtb \
> 	sun7i-a20-cubieboard2.dtb \
>diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>new file mode 100644
>index 0000000..8b97b89
>--- /dev/null
>+++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>@@ -0,0 +1,286 @@
>+/*
>+ * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
>+ *
>+ * Hans de Goede <hdegoede@redhat.com>
>+ *
>+ * This file is dual-licensed: you can use it either under the terms
>+ * of the GPL or the X11 license, at your option. Note that this dual
>+ * licensing only applies to this file, and not this project as a
>+ * whole.
>+ *
>+ *  a) This file is free software; you can redistribute it and/or
>+ *     modify it under the terms of the GNU General Public License as
>+ *     published by the Free Software Foundation; either version 2 of
>the
>+ *     License, or (at your option) any later version.
>+ *
>+ *     This file is distributed in the hope that it will be useful,
>+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
>+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>+ *     GNU General Public License for more details.
>+ *
>+ * Or, alternatively,
>+ *
>+ *  b) Permission is hereby granted, free of charge, to any person
>+ *     obtaining a copy of this software and associated documentation
>+ *     files (the "Software"), to deal in the Software without
>+ *     restriction, including without limitation the rights to use,
>+ *     copy, modify, merge, publish, distribute, sublicense, and/or
>+ *     sell copies of the Software, and to permit persons to whom the
>+ *     Software is furnished to do so, subject to the following
>+ *     conditions:
>+ *
>+ *     The above copyright notice and this permission notice shall be
>+ *     included in all copies or substantial portions of the Software.
>+ *
>+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
>+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
>+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
>+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>+ *     OTHER DEALINGS IN THE SOFTWARE.
>+ */
>+
>+/dts-v1/;
>+#include "sun7i-a20.dtsi"
>+#include "sunxi-common-regulators.dtsi"
>+
>+#include <dt-bindings/gpio/gpio.h>
>+#include <dt-bindings/interrupt-controller/irq.h>
>+
>+/ {
>+	model = "LeMaker Banana Pi M1";
>+	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";

LeMaker never name this BPI M1.

The M1 tag is made by Sinovoip and Bipai.

I suggest you just set model to "Banana Pi M1" and compatible to
three:
"bananapi,bpi-m1", "lemaker,bananapi" (Sinovoip BPi
M1 is fully compatible with the original Banana Pi by LeMaker,
so here're these compatibles) and "allwinner,sun7i-a20".

>+
>+	aliases {
>+		serial0 = &uart0;
>+		serial1 = &uart3;
>+		serial2 = &uart7;
>+	};
>+
>+	chosen {
>+		stdout-path = "serial0:115200n8";
>+	};
>+
>+	leds {
>+		compatible = "gpio-leds";
>+		pinctrl-names = "default";
>+		pinctrl-0 = <&led_pins_bananapi>;
>+
>+		green {
>+			label = "bananapi:green:usr";
>+			gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
>+		};
>+	};
>+
>+	reg_gmac_3v3: gmac-3v3 {
>+		compatible = "regulator-fixed";
>+		pinctrl-names = "default";
>+		pinctrl-0 = <&gmac_power_pin_bananapi>;
>+		regulator-name = "gmac-3v3";
>+		regulator-min-microvolt = <3300000>;
>+		regulator-max-microvolt = <3300000>;
>+		startup-delay-us = <100000>;
>+		enable-active-high;
>+		gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
>+	};
>+};
>+
>+&ahci {
>+	status = "okay";
>+};
>+
>+&codec {
>+	status = "okay";
>+};
>+
>+&cpu0 {
>+	cpu-supply = <&reg_dcdc2>;
>+	operating-points = <
>+		/* kHz	  uV */
>+		960000	1400000
>+		912000	1400000
>+		864000	1350000
>+		720000	1250000
>+		528000	1150000
>+		312000	1100000
>+		144000	1050000
>+		>;
>+};
>+
>+&ehci0 {
>+	status = "okay";
>+};
>+
>+&ehci1 {
>+	status = "okay";
>+};
>+
>+&gmac {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&gmac_pins_rgmii_a>;
>+	phy = <&phy1>;
>+	phy-mode = "rgmii";
>+	phy-supply = <&reg_gmac_3v3>;
>+	status = "okay";
>+
>+	phy1: ethernet-phy@1 {
>+		reg = <1>;
>+	};
>+};
>+
>+&i2c0 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&i2c0_pins_a>;
>+	status = "okay";
>+
>+	axp209: pmic@34 {
>+		reg = <0x34>;
>+		interrupt-parent = <&nmi_intc>;
>+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
>+	};
>+};
>+
>+&i2c2 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&i2c2_pins_a>;
>+	status = "okay";
>+};
>+
>+&ir0 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&ir0_rx_pins_a>;
>+	status = "okay";
>+};
>+
>+&mmc0 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
>+	vmmc-supply = <&reg_vcc3v3>;
>+	bus-width = <4>;
>+	cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
>+	cd-inverted;
>+	status = "okay";
>+};
>+
>+&ohci0 {
>+	status = "okay";
>+};
>+
>+&ohci1 {
>+	status = "okay";
>+};
>+
>+&otg_sram {
>+	status = "okay";
>+};
>+
>+&pio {
>+	usb0_id_detect_pin: usb0_id_detect_pin@0 {
>+		pins = "PH4";
>+		function = "gpio_in";
>+		bias-pull-up;
>+	};
>+
>+	mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
>+		pins = "PH10";
>+		function = "gpio_in";
>+		bias-pull-up;
>+	};
>+
>+	gmac_power_pin_bananapi: gmac_power_pin@0 {
>+		pins = "PH23";
>+		function = "gpio_out";
>+	};
>+
>+	led_pins_bananapi: led_pins@0 {
>+		pins = "PH24";
>+		function = "gpio_out";
>+	};
>+};
>+
>+#include "axp209.dtsi"
>+
>+&reg_dcdc2 {
>+	regulator-always-on;
>+	regulator-min-microvolt = <1000000>;
>+	regulator-max-microvolt = <1400000>;
>+	regulator-name = "vdd-cpu";
>+};
>+
>+&reg_dcdc3 {
>+	regulator-always-on;
>+	regulator-min-microvolt = <1000000>;
>+	regulator-max-microvolt = <1400000>;
>+	regulator-name = "vdd-int-dll";
>+};
>+
>+&reg_ldo1 {
>+	regulator-name = "vdd-rtc";
>+};
>+
>+&reg_ldo2 {
>+	regulator-always-on;
>+	regulator-min-microvolt = <3000000>;
>+	regulator-max-microvolt = <3000000>;
>+	regulator-name = "avcc";
>+};
>+
>+&reg_usb0_vbus {
>+	status = "okay";
>+};
>+
>+&reg_usb1_vbus {
>+	status = "okay";
>+};
>+
>+&reg_usb2_vbus {
>+	status = "okay";
>+};
>+
>+&spi0 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&spi0_pins_a>,
>+		    <&spi0_cs0_pins_a>,
>+		    <&spi0_cs1_pins_a>;
>+	status = "okay";
>+};
>+
>+&uart0 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&uart0_pins_a>;
>+	status = "okay";
>+};
>+
>+&uart3 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&uart3_pins_b>;
>+	status = "okay";
>+};
>+
>+&uart7 {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&uart7_pins_a>;
>+	status = "okay";
>+};
>+
>+&usb_otg {
>+	dr_mode = "otg";
>+	status = "okay";
>+};
>+
>+&usb_power_supply {
>+	status = "okay";
>+};
>+
>+&usbphy {
>+	pinctrl-names = "default";
>+	pinctrl-0 = <&usb0_id_detect_pin>;
>+	usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
>+	usb0_vbus_power-supply = <&usb_power_supply>;
>+	usb0_vbus-supply = <&reg_usb0_vbus>;
>+	usb1_vbus-supply = <&reg_usb1_vbus>;
>+	usb2_vbus-supply = <&reg_usb2_vbus>;
>+	status = "okay";
>+};
>diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
>b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
>deleted file mode 100644
>index ed2f35a..0000000
>--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
>+++ /dev/null
>@@ -1,286 +0,0 @@
>-/*
>- * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
>- *
>- * Hans de Goede <hdegoede@redhat.com>
>- *
>- * This file is dual-licensed: you can use it either under the terms
>- * of the GPL or the X11 license, at your option. Note that this dual
>- * licensing only applies to this file, and not this project as a
>- * whole.
>- *
>- *  a) This file is free software; you can redistribute it and/or
>- *     modify it under the terms of the GNU General Public License as
>- *     published by the Free Software Foundation; either version 2 of
>the
>- *     License, or (at your option) any later version.
>- *
>- *     This file is distributed in the hope that it will be useful,
>- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
>- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>- *     GNU General Public License for more details.
>- *
>- * Or, alternatively,
>- *
>- *  b) Permission is hereby granted, free of charge, to any person
>- *     obtaining a copy of this software and associated documentation
>- *     files (the "Software"), to deal in the Software without
>- *     restriction, including without limitation the rights to use,
>- *     copy, modify, merge, publish, distribute, sublicense, and/or
>- *     sell copies of the Software, and to permit persons to whom the
>- *     Software is furnished to do so, subject to the following
>- *     conditions:
>- *
>- *     The above copyright notice and this permission notice shall be
>- *     included in all copies or substantial portions of the Software.
>- *
>- *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>- *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
>- *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
>- *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
>- *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
>- *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
>- *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
>- *     OTHER DEALINGS IN THE SOFTWARE.
>- */
>-
>-/dts-v1/;
>-#include "sun7i-a20.dtsi"
>-#include "sunxi-common-regulators.dtsi"
>-
>-#include <dt-bindings/gpio/gpio.h>
>-#include <dt-bindings/interrupt-controller/irq.h>
>-
>-/ {
>-	model = "LeMaker Banana Pi";
>-	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
>-
>-	aliases {
>-		serial0 = &uart0;
>-		serial1 = &uart3;
>-		serial2 = &uart7;
>-	};
>-
>-	chosen {
>-		stdout-path = "serial0:115200n8";
>-	};
>-
>-	leds {
>-		compatible = "gpio-leds";
>-		pinctrl-names = "default";
>-		pinctrl-0 = <&led_pins_bananapi>;
>-
>-		green {
>-			label = "bananapi:green:usr";
>-			gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
>-		};
>-	};
>-
>-	reg_gmac_3v3: gmac-3v3 {
>-		compatible = "regulator-fixed";
>-		pinctrl-names = "default";
>-		pinctrl-0 = <&gmac_power_pin_bananapi>;
>-		regulator-name = "gmac-3v3";
>-		regulator-min-microvolt = <3300000>;
>-		regulator-max-microvolt = <3300000>;
>-		startup-delay-us = <100000>;
>-		enable-active-high;
>-		gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
>-	};
>-};
>-
>-&ahci {
>-	status = "okay";
>-};
>-
>-&codec {
>-	status = "okay";
>-};
>-
>-&cpu0 {
>-	cpu-supply = <&reg_dcdc2>;
>-	operating-points = <
>-		/* kHz	  uV */
>-		960000	1400000
>-		912000	1400000
>-		864000	1350000
>-		720000	1250000
>-		528000	1150000
>-		312000	1100000
>-		144000	1050000
>-		>;
>-};
>-
>-&ehci0 {
>-	status = "okay";
>-};
>-
>-&ehci1 {
>-	status = "okay";
>-};
>-
>-&gmac {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&gmac_pins_rgmii_a>;
>-	phy = <&phy1>;
>-	phy-mode = "rgmii";
>-	phy-supply = <&reg_gmac_3v3>;
>-	status = "okay";
>-
>-	phy1: ethernet-phy@1 {
>-		reg = <1>;
>-	};
>-};
>-
>-&i2c0 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&i2c0_pins_a>;
>-	status = "okay";
>-
>-	axp209: pmic@34 {
>-		reg = <0x34>;
>-		interrupt-parent = <&nmi_intc>;
>-		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
>-	};
>-};
>-
>-&i2c2 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&i2c2_pins_a>;
>-	status = "okay";
>-};
>-
>-&ir0 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&ir0_rx_pins_a>;
>-	status = "okay";
>-};
>-
>-&mmc0 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
>-	vmmc-supply = <&reg_vcc3v3>;
>-	bus-width = <4>;
>-	cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
>-	cd-inverted;
>-	status = "okay";
>-};
>-
>-&ohci0 {
>-	status = "okay";
>-};
>-
>-&ohci1 {
>-	status = "okay";
>-};
>-
>-&otg_sram {
>-	status = "okay";
>-};
>-
>-&pio {
>-	usb0_id_detect_pin: usb0_id_detect_pin@0 {
>-		pins = "PH4";
>-		function = "gpio_in";
>-		bias-pull-up;
>-	};
>-
>-	mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
>-		pins = "PH10";
>-		function = "gpio_in";
>-		bias-pull-up;
>-	};
>-
>-	gmac_power_pin_bananapi: gmac_power_pin@0 {
>-		pins = "PH23";
>-		function = "gpio_out";
>-	};
>-
>-	led_pins_bananapi: led_pins@0 {
>-		pins = "PH24";
>-		function = "gpio_out";
>-	};
>-};
>-
>-#include "axp209.dtsi"
>-
>-&reg_dcdc2 {
>-	regulator-always-on;
>-	regulator-min-microvolt = <1000000>;
>-	regulator-max-microvolt = <1400000>;
>-	regulator-name = "vdd-cpu";
>-};
>-
>-&reg_dcdc3 {
>-	regulator-always-on;
>-	regulator-min-microvolt = <1000000>;
>-	regulator-max-microvolt = <1400000>;
>-	regulator-name = "vdd-int-dll";
>-};
>-
>-&reg_ldo1 {
>-	regulator-name = "vdd-rtc";
>-};
>-
>-&reg_ldo2 {
>-	regulator-always-on;
>-	regulator-min-microvolt = <3000000>;
>-	regulator-max-microvolt = <3000000>;
>-	regulator-name = "avcc";
>-};
>-
>-&reg_usb0_vbus {
>-	status = "okay";
>-};
>-
>-&reg_usb1_vbus {
>-	status = "okay";
>-};
>-
>-&reg_usb2_vbus {
>-	status = "okay";
>-};
>-
>-&spi0 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&spi0_pins_a>,
>-		    <&spi0_cs0_pins_a>,
>-		    <&spi0_cs1_pins_a>;
>-	status = "okay";
>-};
>-
>-&uart0 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&uart0_pins_a>;
>-	status = "okay";
>-};
>-
>-&uart3 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&uart3_pins_b>;
>-	status = "okay";
>-};
>-
>-&uart7 {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&uart7_pins_a>;
>-	status = "okay";
>-};
>-
>-&usb_otg {
>-	dr_mode = "otg";
>-	status = "okay";
>-};
>-
>-&usb_power_supply {
>-	status = "okay";
>-};
>-
>-&usbphy {
>-	pinctrl-names = "default";
>-	pinctrl-0 = <&usb0_id_detect_pin>;
>-	usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
>-	usb0_vbus_power-supply = <&usb_power_supply>;
>-	usb0_vbus-supply = <&reg_usb0_vbus>;
>-	usb1_vbus-supply = <&reg_usb1_vbus>;
>-	usb2_vbus-supply = <&reg_usb2_vbus>;
>-	status = "okay";
>-};
Karsten Merker May 29, 2017, 9:45 p.m. UTC | #2
On Mon, May 29, 2017 at 07:30:26PM +0000, Jagan Teki wrote:
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> from BPI(BIPAI KEJI LIMITED) products the Bananapi board
> is named as 'Bananapi M1' and this is the starting
> bananapi board from M1 series.
> 
> So rename dts and suffix 'M1' on model for the same,
> so-that next sequence on bananapi starts like M1 Plus, M2 and so..on
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
> Note: Bananapi BPI product site
> http://www.banana-pi.org/product.html
> 
>  arch/arm/boot/dts/Makefile                  |   2 +-
>  arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts | 286 ++++++++++++++++++++++++++++
>  arch/arm/boot/dts/sun7i-a20-bananapi.dts    | 286 ----------------------------
>  3 files changed, 287 insertions(+), 287 deletions(-)
>  create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>  delete mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 45c6e65..1b086f0 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -851,7 +851,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
>  	sun6i-a31s-sinovoip-bpi-m2.dtb \
>  	sun6i-a31s-yones-toptech-bs1078-v2.dtb
>  dtb-$(CONFIG_MACH_SUN7I) += \
> -	sun7i-a20-bananapi.dtb \
> +	sun7i-a20-bananapi-m1.dtb \
>  	sun7i-a20-bananapi-m1-plus.dtb \
>  	sun7i-a20-bananapro.dtb \
>  	sun7i-a20-cubieboard2.dtb \
> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> new file mode 100644
> index 0000000..8b97b89
> --- /dev/null
> +++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> @@ -0,0 +1,286 @@
> +/*
> + * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
> + *
> + * Hans de Goede <hdegoede@redhat.com>
[...]
> +/dts-v1/;
> +#include "sun7i-a20.dtsi"
> +#include "sunxi-common-regulators.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +/ {
> +	model = "LeMaker Banana Pi M1";
> +	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
[...]
> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> deleted file mode 100644
> index ed2f35a..0000000
> --- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> +++ /dev/null

NACK!

Please neither rename the dts nor change the model string. Such a
change would make newer kernels unusable on many existing
installations without manual fixups by the end user.  Linux
distributions use databases with model-specific setup information
(such as the dtb file name, the platform-specific bootscript to
use, usable kernel flavours (lpae or non-lpae), etc.) on kernel
installations and kernel upgrades, and those use the model string
as their key for finding the relevant information.  If you change
either the dts file name or the model string inside the dts,
you'll effectively break the proper installation of newer kernel
versions on existing end user systems.

For an example of such a database, please cf.
https://anonscm.debian.org/cgit/d-i/flash-kernel.git/tree/db/all.db#n731

Regards,
Karsten
Jagan Teki May 30, 2017, 4:30 a.m. UTC | #3
On Tue, May 30, 2017 at 3:15 AM, Karsten Merker <merker@debian.org> wrote:
> On Mon, May 29, 2017 at 07:30:26PM +0000, Jagan Teki wrote:
>> From: Jagan Teki <jagan@amarulasolutions.com>
>>
>> from BPI(BIPAI KEJI LIMITED) products the Bananapi board
>> is named as 'Bananapi M1' and this is the starting
>> bananapi board from M1 series.
>>
>> So rename dts and suffix 'M1' on model for the same,
>> so-that next sequence on bananapi starts like M1 Plus, M2 and so..on
>>
>> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>> ---
>> Note: Bananapi BPI product site
>> http://www.banana-pi.org/product.html
>>
>>  arch/arm/boot/dts/Makefile                  |   2 +-
>>  arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts | 286 ++++++++++++++++++++++++++++
>>  arch/arm/boot/dts/sun7i-a20-bananapi.dts    | 286 ----------------------------
>>  3 files changed, 287 insertions(+), 287 deletions(-)
>>  create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>>  delete mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
>>
>> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
>> index 45c6e65..1b086f0 100644
>> --- a/arch/arm/boot/dts/Makefile
>> +++ b/arch/arm/boot/dts/Makefile
>> @@ -851,7 +851,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
>>       sun6i-a31s-sinovoip-bpi-m2.dtb \
>>       sun6i-a31s-yones-toptech-bs1078-v2.dtb
>>  dtb-$(CONFIG_MACH_SUN7I) += \
>> -     sun7i-a20-bananapi.dtb \
>> +     sun7i-a20-bananapi-m1.dtb \
>>       sun7i-a20-bananapi-m1-plus.dtb \
>>       sun7i-a20-bananapro.dtb \
>>       sun7i-a20-cubieboard2.dtb \
>> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>> new file mode 100644
>> index 0000000..8b97b89
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
>> @@ -0,0 +1,286 @@
>> +/*
>> + * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
>> + *
>> + * Hans de Goede <hdegoede@redhat.com>
> [...]
>> +/dts-v1/;
>> +#include "sun7i-a20.dtsi"
>> +#include "sunxi-common-regulators.dtsi"
>> +
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/interrupt-controller/irq.h>
>> +
>> +/ {
>> +     model = "LeMaker Banana Pi M1";
>> +     compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
> [...]
>> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
>> deleted file mode 100644
>> index ed2f35a..0000000
>> --- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
>> +++ /dev/null
>
> NACK!
>
> Please neither rename the dts nor change the model string. Such a
> change would make newer kernels unusable on many existing
> installations without manual fixups by the end user.  Linux
> distributions use databases with model-specific setup information
> (such as the dtb file name, the platform-specific bootscript to
> use, usable kernel flavours (lpae or non-lpae), etc.) on kernel
> installations and kernel upgrades, and those use the model string
> as their key for finding the relevant information.  If you change
> either the dts file name or the model string inside the dts,
> you'll effectively break the proper installation of newer kernel
> versions on existing end user systems.

I understand your concerns about distribution change, but with new
change in 'bananapi' brand owned by BIPAI KEJI(BPI) the model must
need to update and this is not technically as Bananapi board it is
Bananapi  M1 [1]

These are generic changes based on the hardware vendor info.

[1] http://www.banana-pi.org/m1.html

thanks!
Karsten Merker May 30, 2017, 6:22 a.m. UTC | #4
On Tue, May 30, 2017 at 10:00:49AM +0530, Jagan Teki wrote:
> On Tue, May 30, 2017 at 3:15 AM, Karsten Merker <merker@debian.org> wrote:
> > On Mon, May 29, 2017 at 07:30:26PM +0000, Jagan Teki wrote:
> >> From: Jagan Teki <jagan@amarulasolutions.com>
> >>
> >> from BPI(BIPAI KEJI LIMITED) products the Bananapi board
> >> is named as 'Bananapi M1' and this is the starting
> >> bananapi board from M1 series.
> >>
> >> So rename dts and suffix 'M1' on model for the same,
> >> so-that next sequence on bananapi starts like M1 Plus, M2 and so..on
> >>
> >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> >> ---
> >> Note: Bananapi BPI product site
> >> http://www.banana-pi.org/product.html
> >>
> >>  arch/arm/boot/dts/Makefile                  |   2 +-
> >>  arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts | 286 ++++++++++++++++++++++++++++
> >>  arch/arm/boot/dts/sun7i-a20-bananapi.dts    | 286 ----------------------------
> >>  3 files changed, 287 insertions(+), 287 deletions(-)
> >>  create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> >>  delete mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
> >>
> >> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> >> index 45c6e65..1b086f0 100644
> >> --- a/arch/arm/boot/dts/Makefile
> >> +++ b/arch/arm/boot/dts/Makefile
> >> @@ -851,7 +851,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
> >>       sun6i-a31s-sinovoip-bpi-m2.dtb \
> >>       sun6i-a31s-yones-toptech-bs1078-v2.dtb
> >>  dtb-$(CONFIG_MACH_SUN7I) += \
> >> -     sun7i-a20-bananapi.dtb \
> >> +     sun7i-a20-bananapi-m1.dtb \
> >>       sun7i-a20-bananapi-m1-plus.dtb \
> >>       sun7i-a20-bananapro.dtb \
> >>       sun7i-a20-cubieboard2.dtb \
> >> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> >> new file mode 100644
> >> index 0000000..8b97b89
> >> --- /dev/null
> >> +++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> >> @@ -0,0 +1,286 @@
> >> +/*
> >> + * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
> >> + *
> >> + * Hans de Goede <hdegoede@redhat.com>
> > [...]
> >> +/dts-v1/;
> >> +#include "sun7i-a20.dtsi"
> >> +#include "sunxi-common-regulators.dtsi"
> >> +
> >> +#include <dt-bindings/gpio/gpio.h>
> >> +#include <dt-bindings/interrupt-controller/irq.h>
> >> +
> >> +/ {
> >> +     model = "LeMaker Banana Pi M1";
> >> +     compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
> > [...]
> >> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> >> deleted file mode 100644
> >> index ed2f35a..0000000
> >> --- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> >> +++ /dev/null
> >
> > NACK!
> >
> > Please neither rename the dts nor change the model string. Such a
> > change would make newer kernels unusable on many existing
> > installations without manual fixups by the end user.  Linux
> > distributions use databases with model-specific setup information
> > (such as the dtb file name, the platform-specific bootscript to
> > use, usable kernel flavours (lpae or non-lpae), etc.) on kernel
> > installations and kernel upgrades, and those use the model string
> > as their key for finding the relevant information.  If you change
> > either the dts file name or the model string inside the dts,
> > you'll effectively break the proper installation of newer kernel
> > versions on existing end user systems.
> 
> I understand your concerns about distribution change, but with new
> change in 'bananapi' brand owned by BIPAI KEJI(BPI) the model must
> need to update and this is not technically as Bananapi board it is
> Bananapi  M1 [1]
> 
> These are generic changes based on the hardware vendor info.
> 
> [1] http://www.banana-pi.org/m1.html

Hello Jagan,

I have to disagree here. Whatever BIPAI KEJI(BPI) chooses to name
their products today or in the future doesn't change history. 
The "original" Banana Pi was sold under the LeMaker brand and it
was named "Banana Pi" and not "Banana Pi M1".  The fact that
LeMaker has stopped selling their Banana Pi board and BIPAI
KEJI(BPI) (a different company than LeMaker!) now sells a board
that is compatible to the original "LeMaker Banana Pi" under the
name "Banana Pi M1" (and not "LeMaker Banana Pi M1" as you claim
in your modified dts) doesn't matter at all for an existing dts
and is in no way a valid reason to make an incompatible change
that breaks existing systems.

If you wanted to add a new (technically identical) dts with a
different model string under a new dts file name and keep the
existing one unchanged, I would find that unneccessary but at
least acceptable insofar as it wouldn't break existing end user
systems, but breaking existing systems in the wild is clearly
unacceptable.  I assume that the kernel dts maintainers would
probably still object to such an addition as it is unneccessary
from a purely technical point of view if the boards are 100%
compatible, but that would of course be their decision to make.

Regards,
Karsten
Maxime Ripard May 30, 2017, 6:38 a.m. UTC | #5
On Tue, May 30, 2017 at 08:22:44AM +0200, Karsten Merker wrote:
> On Tue, May 30, 2017 at 10:00:49AM +0530, Jagan Teki wrote:
> > On Tue, May 30, 2017 at 3:15 AM, Karsten Merker <merker@debian.org> wrote:
> > > On Mon, May 29, 2017 at 07:30:26PM +0000, Jagan Teki wrote:
> > >> From: Jagan Teki <jagan@amarulasolutions.com>
> > >>
> > >> from BPI(BIPAI KEJI LIMITED) products the Bananapi board
> > >> is named as 'Bananapi M1' and this is the starting
> > >> bananapi board from M1 series.
> > >>
> > >> So rename dts and suffix 'M1' on model for the same,
> > >> so-that next sequence on bananapi starts like M1 Plus, M2 and so..on
> > >>
> > >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> > >> ---
> > >> Note: Bananapi BPI product site
> > >> http://www.banana-pi.org/product.html
> > >>
> > >>  arch/arm/boot/dts/Makefile                  |   2 +-
> > >>  arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts | 286 ++++++++++++++++++++++++++++
> > >>  arch/arm/boot/dts/sun7i-a20-bananapi.dts    | 286 ----------------------------
> > >>  3 files changed, 287 insertions(+), 287 deletions(-)
> > >>  create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> > >>  delete mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
> > >>
> > >> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > >> index 45c6e65..1b086f0 100644
> > >> --- a/arch/arm/boot/dts/Makefile
> > >> +++ b/arch/arm/boot/dts/Makefile
> > >> @@ -851,7 +851,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
> > >>       sun6i-a31s-sinovoip-bpi-m2.dtb \
> > >>       sun6i-a31s-yones-toptech-bs1078-v2.dtb
> > >>  dtb-$(CONFIG_MACH_SUN7I) += \
> > >> -     sun7i-a20-bananapi.dtb \
> > >> +     sun7i-a20-bananapi-m1.dtb \
> > >>       sun7i-a20-bananapi-m1-plus.dtb \
> > >>       sun7i-a20-bananapro.dtb \
> > >>       sun7i-a20-cubieboard2.dtb \
> > >> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> > >> new file mode 100644
> > >> index 0000000..8b97b89
> > >> --- /dev/null
> > >> +++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
> > >> @@ -0,0 +1,286 @@
> > >> +/*
> > >> + * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
> > >> + *
> > >> + * Hans de Goede <hdegoede@redhat.com>
> > > [...]
> > >> +/dts-v1/;
> > >> +#include "sun7i-a20.dtsi"
> > >> +#include "sunxi-common-regulators.dtsi"
> > >> +
> > >> +#include <dt-bindings/gpio/gpio.h>
> > >> +#include <dt-bindings/interrupt-controller/irq.h>
> > >> +
> > >> +/ {
> > >> +     model = "LeMaker Banana Pi M1";
> > >> +     compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
> > > [...]
> > >> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> > >> deleted file mode 100644
> > >> index ed2f35a..0000000
> > >> --- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> > >> +++ /dev/null
> > >
> > > NACK!
> > >
> > > Please neither rename the dts nor change the model string. Such a
> > > change would make newer kernels unusable on many existing
> > > installations without manual fixups by the end user.  Linux
> > > distributions use databases with model-specific setup information
> > > (such as the dtb file name, the platform-specific bootscript to
> > > use, usable kernel flavours (lpae or non-lpae), etc.) on kernel
> > > installations and kernel upgrades, and those use the model string
> > > as their key for finding the relevant information.  If you change
> > > either the dts file name or the model string inside the dts,
> > > you'll effectively break the proper installation of newer kernel
> > > versions on existing end user systems.
> > 
> > I understand your concerns about distribution change, but with new
> > change in 'bananapi' brand owned by BIPAI KEJI(BPI) the model must
> > need to update and this is not technically as Bananapi board it is
> > Bananapi  M1 [1]
> > 
> > These are generic changes based on the hardware vendor info.
> > 
> > [1] http://www.banana-pi.org/m1.html
> 
> Hello Jagan,
> 
> I have to disagree here. Whatever BIPAI KEJI(BPI) chooses to name
> their products today or in the future doesn't change history. 
> The "original" Banana Pi was sold under the LeMaker brand and it
> was named "Banana Pi" and not "Banana Pi M1".  The fact that
> LeMaker has stopped selling their Banana Pi board and BIPAI
> KEJI(BPI) (a different company than LeMaker!) now sells a board
> that is compatible to the original "LeMaker Banana Pi" under the
> name "Banana Pi M1" (and not "LeMaker Banana Pi M1" as you claim
> in your modified dts) doesn't matter at all for an existing dts
> and is in no way a valid reason to make an incompatible change
> that breaks existing systems.
> 
> If you wanted to add a new (technically identical) dts with a
> different model string under a new dts file name and keep the
> existing one unchanged, I would find that unneccessary but at
> least acceptable insofar as it wouldn't break existing end user
> systems, but breaking existing systems in the wild is clearly
> unacceptable.  I assume that the kernel dts maintainers would
> probably still object to such an addition as it is unneccessary
> from a purely technical point of view if the boards are 100%
> compatible, but that would of course be their decision to make.

I fully agree, we shouldn't have to modify either the DT itself, the
compatibles, or anything really, to keep up with the crazy naming
scheme some random vendor invents.

Maxime
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 45c6e65..1b086f0 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -851,7 +851,7 @@  dtb-$(CONFIG_MACH_SUN6I) += \
 	sun6i-a31s-sinovoip-bpi-m2.dtb \
 	sun6i-a31s-yones-toptech-bs1078-v2.dtb
 dtb-$(CONFIG_MACH_SUN7I) += \
-	sun7i-a20-bananapi.dtb \
+	sun7i-a20-bananapi-m1.dtb \
 	sun7i-a20-bananapi-m1-plus.dtb \
 	sun7i-a20-bananapro.dtb \
 	sun7i-a20-cubieboard2.dtb \
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
new file mode 100644
index 0000000..8b97b89
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1.dts
@@ -0,0 +1,286 @@ 
+/*
+ * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
+ *
+ * Hans de Goede <hdegoede@redhat.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun7i-a20.dtsi"
+#include "sunxi-common-regulators.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+	model = "LeMaker Banana Pi M1";
+	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
+
+	aliases {
+		serial0 = &uart0;
+		serial1 = &uart3;
+		serial2 = &uart7;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pins_bananapi>;
+
+		green {
+			label = "bananapi:green:usr";
+			gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
+		};
+	};
+
+	reg_gmac_3v3: gmac-3v3 {
+		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&gmac_power_pin_bananapi>;
+		regulator-name = "gmac-3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		startup-delay-us = <100000>;
+		enable-active-high;
+		gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
+	};
+};
+
+&ahci {
+	status = "okay";
+};
+
+&codec {
+	status = "okay";
+};
+
+&cpu0 {
+	cpu-supply = <&reg_dcdc2>;
+	operating-points = <
+		/* kHz	  uV */
+		960000	1400000
+		912000	1400000
+		864000	1350000
+		720000	1250000
+		528000	1150000
+		312000	1100000
+		144000	1050000
+		>;
+};
+
+&ehci0 {
+	status = "okay";
+};
+
+&ehci1 {
+	status = "okay";
+};
+
+&gmac {
+	pinctrl-names = "default";
+	pinctrl-0 = <&gmac_pins_rgmii_a>;
+	phy = <&phy1>;
+	phy-mode = "rgmii";
+	phy-supply = <&reg_gmac_3v3>;
+	status = "okay";
+
+	phy1: ethernet-phy@1 {
+		reg = <1>;
+	};
+};
+
+&i2c0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c0_pins_a>;
+	status = "okay";
+
+	axp209: pmic@34 {
+		reg = <0x34>;
+		interrupt-parent = <&nmi_intc>;
+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+	};
+};
+
+&i2c2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c2_pins_a>;
+	status = "okay";
+};
+
+&ir0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&ir0_rx_pins_a>;
+	status = "okay";
+};
+
+&mmc0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
+	vmmc-supply = <&reg_vcc3v3>;
+	bus-width = <4>;
+	cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
+	cd-inverted;
+	status = "okay";
+};
+
+&ohci0 {
+	status = "okay";
+};
+
+&ohci1 {
+	status = "okay";
+};
+
+&otg_sram {
+	status = "okay";
+};
+
+&pio {
+	usb0_id_detect_pin: usb0_id_detect_pin@0 {
+		pins = "PH4";
+		function = "gpio_in";
+		bias-pull-up;
+	};
+
+	mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
+		pins = "PH10";
+		function = "gpio_in";
+		bias-pull-up;
+	};
+
+	gmac_power_pin_bananapi: gmac_power_pin@0 {
+		pins = "PH23";
+		function = "gpio_out";
+	};
+
+	led_pins_bananapi: led_pins@0 {
+		pins = "PH24";
+		function = "gpio_out";
+	};
+};
+
+#include "axp209.dtsi"
+
+&reg_dcdc2 {
+	regulator-always-on;
+	regulator-min-microvolt = <1000000>;
+	regulator-max-microvolt = <1400000>;
+	regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc3 {
+	regulator-always-on;
+	regulator-min-microvolt = <1000000>;
+	regulator-max-microvolt = <1400000>;
+	regulator-name = "vdd-int-dll";
+};
+
+&reg_ldo1 {
+	regulator-name = "vdd-rtc";
+};
+
+&reg_ldo2 {
+	regulator-always-on;
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+	regulator-name = "avcc";
+};
+
+&reg_usb0_vbus {
+	status = "okay";
+};
+
+&reg_usb1_vbus {
+	status = "okay";
+};
+
+&reg_usb2_vbus {
+	status = "okay";
+};
+
+&spi0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&spi0_pins_a>,
+		    <&spi0_cs0_pins_a>,
+		    <&spi0_cs1_pins_a>;
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_pins_a>;
+	status = "okay";
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins_b>;
+	status = "okay";
+};
+
+&uart7 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart7_pins_a>;
+	status = "okay";
+};
+
+&usb_otg {
+	dr_mode = "otg";
+	status = "okay";
+};
+
+&usb_power_supply {
+	status = "okay";
+};
+
+&usbphy {
+	pinctrl-names = "default";
+	pinctrl-0 = <&usb0_id_detect_pin>;
+	usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
+	usb0_vbus_power-supply = <&usb_power_supply>;
+	usb0_vbus-supply = <&reg_usb0_vbus>;
+	usb1_vbus-supply = <&reg_usb1_vbus>;
+	usb2_vbus-supply = <&reg_usb2_vbus>;
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
deleted file mode 100644
index ed2f35a..0000000
--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
+++ /dev/null
@@ -1,286 +0,0 @@ 
-/*
- * Copyright 2014 Hans de Goede <hdegoede@redhat.com>
- *
- * Hans de Goede <hdegoede@redhat.com>
- *
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
- * licensing only applies to this file, and not this project as a
- * whole.
- *
- *  a) This file is free software; you can redistribute it and/or
- *     modify it under the terms of the GNU General Public License as
- *     published by the Free Software Foundation; either version 2 of the
- *     License, or (at your option) any later version.
- *
- *     This file is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- *
- * Or, alternatively,
- *
- *  b) Permission is hereby granted, free of charge, to any person
- *     obtaining a copy of this software and associated documentation
- *     files (the "Software"), to deal in the Software without
- *     restriction, including without limitation the rights to use,
- *     copy, modify, merge, publish, distribute, sublicense, and/or
- *     sell copies of the Software, and to permit persons to whom the
- *     Software is furnished to do so, subject to the following
- *     conditions:
- *
- *     The above copyright notice and this permission notice shall be
- *     included in all copies or substantial portions of the Software.
- *
- *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *     OTHER DEALINGS IN THE SOFTWARE.
- */
-
-/dts-v1/;
-#include "sun7i-a20.dtsi"
-#include "sunxi-common-regulators.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/interrupt-controller/irq.h>
-
-/ {
-	model = "LeMaker Banana Pi";
-	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
-
-	aliases {
-		serial0 = &uart0;
-		serial1 = &uart3;
-		serial2 = &uart7;
-	};
-
-	chosen {
-		stdout-path = "serial0:115200n8";
-	};
-
-	leds {
-		compatible = "gpio-leds";
-		pinctrl-names = "default";
-		pinctrl-0 = <&led_pins_bananapi>;
-
-		green {
-			label = "bananapi:green:usr";
-			gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
-		};
-	};
-
-	reg_gmac_3v3: gmac-3v3 {
-		compatible = "regulator-fixed";
-		pinctrl-names = "default";
-		pinctrl-0 = <&gmac_power_pin_bananapi>;
-		regulator-name = "gmac-3v3";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		startup-delay-us = <100000>;
-		enable-active-high;
-		gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
-	};
-};
-
-&ahci {
-	status = "okay";
-};
-
-&codec {
-	status = "okay";
-};
-
-&cpu0 {
-	cpu-supply = <&reg_dcdc2>;
-	operating-points = <
-		/* kHz	  uV */
-		960000	1400000
-		912000	1400000
-		864000	1350000
-		720000	1250000
-		528000	1150000
-		312000	1100000
-		144000	1050000
-		>;
-};
-
-&ehci0 {
-	status = "okay";
-};
-
-&ehci1 {
-	status = "okay";
-};
-
-&gmac {
-	pinctrl-names = "default";
-	pinctrl-0 = <&gmac_pins_rgmii_a>;
-	phy = <&phy1>;
-	phy-mode = "rgmii";
-	phy-supply = <&reg_gmac_3v3>;
-	status = "okay";
-
-	phy1: ethernet-phy@1 {
-		reg = <1>;
-	};
-};
-
-&i2c0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&i2c0_pins_a>;
-	status = "okay";
-
-	axp209: pmic@34 {
-		reg = <0x34>;
-		interrupt-parent = <&nmi_intc>;
-		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	};
-};
-
-&i2c2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&i2c2_pins_a>;
-	status = "okay";
-};
-
-&ir0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&ir0_rx_pins_a>;
-	status = "okay";
-};
-
-&mmc0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
-	vmmc-supply = <&reg_vcc3v3>;
-	bus-width = <4>;
-	cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
-	cd-inverted;
-	status = "okay";
-};
-
-&ohci0 {
-	status = "okay";
-};
-
-&ohci1 {
-	status = "okay";
-};
-
-&otg_sram {
-	status = "okay";
-};
-
-&pio {
-	usb0_id_detect_pin: usb0_id_detect_pin@0 {
-		pins = "PH4";
-		function = "gpio_in";
-		bias-pull-up;
-	};
-
-	mmc0_cd_pin_bananapi: mmc0_cd_pin@0 {
-		pins = "PH10";
-		function = "gpio_in";
-		bias-pull-up;
-	};
-
-	gmac_power_pin_bananapi: gmac_power_pin@0 {
-		pins = "PH23";
-		function = "gpio_out";
-	};
-
-	led_pins_bananapi: led_pins@0 {
-		pins = "PH24";
-		function = "gpio_out";
-	};
-};
-
-#include "axp209.dtsi"
-
-&reg_dcdc2 {
-	regulator-always-on;
-	regulator-min-microvolt = <1000000>;
-	regulator-max-microvolt = <1400000>;
-	regulator-name = "vdd-cpu";
-};
-
-&reg_dcdc3 {
-	regulator-always-on;
-	regulator-min-microvolt = <1000000>;
-	regulator-max-microvolt = <1400000>;
-	regulator-name = "vdd-int-dll";
-};
-
-&reg_ldo1 {
-	regulator-name = "vdd-rtc";
-};
-
-&reg_ldo2 {
-	regulator-always-on;
-	regulator-min-microvolt = <3000000>;
-	regulator-max-microvolt = <3000000>;
-	regulator-name = "avcc";
-};
-
-&reg_usb0_vbus {
-	status = "okay";
-};
-
-&reg_usb1_vbus {
-	status = "okay";
-};
-
-&reg_usb2_vbus {
-	status = "okay";
-};
-
-&spi0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&spi0_pins_a>,
-		    <&spi0_cs0_pins_a>,
-		    <&spi0_cs1_pins_a>;
-	status = "okay";
-};
-
-&uart0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&uart0_pins_a>;
-	status = "okay";
-};
-
-&uart3 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&uart3_pins_b>;
-	status = "okay";
-};
-
-&uart7 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&uart7_pins_a>;
-	status = "okay";
-};
-
-&usb_otg {
-	dr_mode = "otg";
-	status = "okay";
-};
-
-&usb_power_supply {
-	status = "okay";
-};
-
-&usbphy {
-	pinctrl-names = "default";
-	pinctrl-0 = <&usb0_id_detect_pin>;
-	usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
-	usb0_vbus_power-supply = <&usb_power_supply>;
-	usb0_vbus-supply = <&reg_usb0_vbus>;
-	usb1_vbus-supply = <&reg_usb1_vbus>;
-	usb2_vbus-supply = <&reg_usb2_vbus>;
-	status = "okay";
-};