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 <[email protected]>
---
.../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"
-
-®_aldo3 {
- regulator-always-on;
- regulator-min-microvolt = <2700000>;
- regulator-max-microvolt = <3300000>;
- regulator-name = "avcc";
-};
-
-®_dcdc1 {
- regulator-always-on;
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- regulator-name = "vcc-3v0";
-};
-
-®_dcdc2 {
- regulator-always-on;
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1300000>;
- regulator-name = "vdd-cpu";
-};
-
-®_dcdc3 {
- regulator-always-on;
- regulator-min-microvolt = <1000000>;
- regulator-max-microvolt = <1300000>;
- regulator-name = "vdd-sys";
-};
-
-®_dcdc5 {
- regulator-always-on;
- regulator-min-microvolt = <1500000>;
- regulator-max-microvolt = <1500000>;
- regulator-name = "vcc-dram";
-};
-
-®_dldo1 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
- regulator-name = "vcc-wifi-io";
};
-®_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 = <®_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 = <®_dldo2>;
- vqmmc-supply = <®_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 = <®_vcc5v0>;
- status = "okay";
+ /* See comments at &ehci2 */
+ /delete-property/ usb2_vbus-supply;
};
--
2.18.0
On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
> 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.
Good idea! I know that Ultra came first and then the cut-down Berry.
But from a device tree point of view, wouldn't it make more sense to
take M2 Berry as the base and just add the hardware for M2 Ultra?
On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
> Banana Pi designs the BPi M2 Berry board to be software compatible with
> BPi M2 Ultra,
Do you have a reference for this?
> 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.
Is it the exhaustive list?
I'm a bit reluctant to merge that kind of patches usually, since that
would also imply that each time someone will commit something to the
M2-Ultra, it would automatically apply to the M2-Berry, without any
easy way to tell and / or test.
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
于 2018年7月26日 GMT+08:00 下午8:41:19, Maxime Ripard <[email protected]> 写到:
>On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
>> Banana Pi designs the BPi M2 Berry board to be software compatible
>with
>> BPi M2 Ultra,
>
>Do you have a reference for this?
See [1], it says "BPI-M2U and BPI-M2 Berry share the same image".
[1] http://www.banana-pi.org/download.html
>
>> 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.
>
>Is it the exhaustive list?
Sorry, but I forgot one thing -- LiPo battery connector.
The list can be examined with [2], except LED difference.
[2] https://bananapi.gitbooks.io/bpi-m2-ultra-open-source-single-board-computer/content/
>
>I'm a bit reluctant to merge that kind of patches usually, since that
>would also imply that each time someone will commit something to the
>M2-Ultra, it would automatically apply to the M2-Berry, without any
>easy way to tell and / or test.
>
>Maxime
On Thu, Jul 26, 2018 at 08:47:34PM +0800, Icenowy Zheng wrote:
>
>
> 于 2018年7月26日 GMT+08:00 下午8:41:19, Maxime Ripard <[email protected]> 写到:
> >On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
> >> Banana Pi designs the BPi M2 Berry board to be software compatible
> >with
> >> BPi M2 Ultra,
> >
> >Do you have a reference for this?
>
> See [1], it says "BPI-M2U and BPI-M2 Berry share the same image".
>
> [1] http://www.banana-pi.org/download.html
Debian supports different SoC from different vendor using the same
image, so it's not really a good argument to share the device tree. I
mean, you can even boot an H3 to a shell using an A33 device tree.
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
于 2018年7月26日 GMT+08:00 下午11:24:27, Maxime Ripard <[email protected]> 写到:
>On Thu, Jul 26, 2018 at 08:47:34PM +0800, Icenowy Zheng wrote:
>>
>>
>> 于 2018年7月26日 GMT+08:00 下午8:41:19, Maxime Ripard
><[email protected]> 写到:
>> >On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
>> >> Banana Pi designs the BPi M2 Berry board to be software compatible
>> >with
>> >> BPi M2 Ultra,
>> >
>> >Do you have a reference for this?
>>
>> See [1], it says "BPI-M2U and BPI-M2 Berry share the same image".
>>
>> [1] http://www.banana-pi.org/download.html
>
>Debian supports different SoC from different vendor using the same
>image, so it's not really a good argument to share the device tree. I
>mean, you can even boot an H3 to a shell using an A33 device tree.
Please note that the vendor image is fully functional BSP
image, neither a function limited one nor one without
HW configuration.
>
>Maxime
在 2018-07-26四的 14:41 +0200,Maxime Ripard写道:
> On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
> > Banana Pi designs the BPi M2 Berry board to be software compatible
> > with
> > BPi M2 Ultra,
>
> Do you have a reference for this?
>
> > 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.
>
> Is it the exhaustive list?
I have asked Mikey from Sinovoip, and he has agreed this.
Here's a list provided by him, which covers some things I forgot:
- 2GiB -> 1GiB
- no eMMC
- no onboard microphone
- no IR
- no charging (and power jack to USB)
- USB change
- one less LED
Should I add this to the device tree's comment?
>
> I'm a bit reluctant to merge that kind of patches usually, since that
> would also imply that each time someone will commit something to the
> M2-Ultra, it would automatically apply to the M2-Berry, without any
> easy way to tell and / or test.
>
> Maxime
>
> --
> Maxime Ripard, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Hi!
On Wed, Aug 08, 2018 at 06:36:56PM +0800, Icenowy Zheng wrote:
> 在 2018-07-26四的 14:41 +0200,Maxime Ripard写道:
> > On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
> > > Banana Pi designs the BPi M2 Berry board to be software compatible
> > > with
> > > BPi M2 Ultra,
> >
> > Do you have a reference for this?
> >
> > > 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.
> >
> > Is it the exhaustive list?
>
> I have asked Mikey from Sinovoip, and he has agreed this.
>
> Here's a list provided by him, which covers some things I forgot:
> - 2GiB -> 1GiB
> - no eMMC
> - no onboard microphone
> - no IR
> - no charging (and power jack to USB)
> - USB change
> - one less LED
>
> Should I add this to the device tree's comment?
Not really, because...
> >
> > I'm a bit reluctant to merge that kind of patches usually, since that
> > would also imply that each time someone will commit something to the
> > M2-Ultra, it would automatically apply to the M2-Berry, without any
> > easy way to tell and / or test.
... this still applies.
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
于 2018年8月20日 GMT+08:00 下午8:00:46, Maxime Ripard <[email protected]> 写到:
>Hi!
>
>On Wed, Aug 08, 2018 at 06:36:56PM +0800, Icenowy Zheng wrote:
>> 在 2018-07-26四的 14:41 +0200,Maxime Ripard写道:
>> > On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
>> > > Banana Pi designs the BPi M2 Berry board to be software
>compatible
>> > > with
>> > > BPi M2 Ultra,
>> >
>> > Do you have a reference for this?
>> >
>> > > 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.
>> >
>> > Is it the exhaustive list?
>>
>> I have asked Mikey from Sinovoip, and he has agreed this.
>>
>> Here's a list provided by him, which covers some things I forgot:
>> - 2GiB -> 1GiB
>> - no eMMC
>> - no onboard microphone
>> - no IR
>> - no charging (and power jack to USB)
>> - USB change
>> - one less LED
>>
>> Should I add this to the device tree's comment?
>
>Not really, because...
>
>> >
>> > I'm a bit reluctant to merge that kind of patches usually, since
>that
>> > would also imply that each time someone will commit something to
>the
>> > M2-Ultra, it would automatically apply to the M2-Berry, without any
>> > easy way to tell and / or test.
>
>... this still applies.
But I think few developers will have both boards at the same time.
>
>Maxime
On Mon, Aug 20, 2018 at 08:06:21PM +0800, Icenowy Zheng wrote:
>
>
> 于 2018年8月20日 GMT+08:00 下午8:00:46, Maxime Ripard <[email protected]> 写到:
> >Hi!
> >
> >On Wed, Aug 08, 2018 at 06:36:56PM +0800, Icenowy Zheng wrote:
> >> 在 2018-07-26四的 14:41 +0200,Maxime Ripard写道:
> >> > On Wed, Jul 25, 2018 at 12:36:55AM +0800, Icenowy Zheng wrote:
> >> > > Banana Pi designs the BPi M2 Berry board to be software
> >compatible
> >> > > with
> >> > > BPi M2 Ultra,
> >> >
> >> > Do you have a reference for this?
> >> >
> >> > > 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.
> >> >
> >> > Is it the exhaustive list?
> >>
> >> I have asked Mikey from Sinovoip, and he has agreed this.
> >>
> >> Here's a list provided by him, which covers some things I forgot:
> >> - 2GiB -> 1GiB
> >> - no eMMC
> >> - no onboard microphone
> >> - no IR
> >> - no charging (and power jack to USB)
> >> - USB change
> >> - one less LED
> >>
> >> Should I add this to the device tree's comment?
> >
> >Not really, because...
> >
> >> >
> >> > I'm a bit reluctant to merge that kind of patches usually, since
> >that
> >> > would also imply that each time someone will commit something to
> >the
> >> > M2-Ultra, it would automatically apply to the M2-Berry, without any
> >> > easy way to tell and / or test.
> >
> >... this still applies.
>
> But I think few developers will have both boards at the same time.
Which is only making it worse, because then someone with only the BPI
m2-ultra, when changing the DT, will not be able to tell that:
- it's applied to the M2-Berry too,
- if it works on the M2-Berry.
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com