Message ID | 20180724163655.61365-1-icenowy@aosc.io (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: dts: sun8i: r40/v40: rewrite BPi M2 Berry DTS to rebase on M2 Ultra | expand |
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
于 2018年7月26日 GMT+08:00 下午8:41:19, Maxime Ripard <maxime.ripard@bootlin.com> 写到: >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 <maxime.ripard@bootlin.com> 写到: > >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
于 2018年7月26日 GMT+08:00 下午11:24:27, Maxime Ripard <maxime.ripard@bootlin.com> 写到: >On Thu, Jul 26, 2018 at 08:47:34PM +0800, Icenowy Zheng wrote: >> >> >> 于 2018年7月26日 GMT+08:00 下午8:41:19, Maxime Ripard ><maxime.ripard@bootlin.com> 写到: >> >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
于 2018年8月20日 GMT+08:00 下午8:00:46, Maxime Ripard <maxime.ripard@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. 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 <maxime.ripard@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. > > 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
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; };
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@aosc.io> --- .../boot/dts/sun8i-v40-bananapi-m2-berry.dts | 141 +++--------------- 1 file changed, 24 insertions(+), 117 deletions(-)