arm64: dts: mediatek: mt7988a-bpi-r4: allow hw variants of bpi-r4
Subsystems (2)
PATCH v2 1/1 arm64: dts: mediatek: mt7988a-bpi-r4: allow hw variants of bpi-r4
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
---
v2:
- added basic dts for 2g5 variant
- moved i2c used for sfp-lan to board dts
--- arch/arm64/boot/dts/mediatek/Makefile | 2 + .../mediatek/mt7988a-bananapi-bpi-r4-2g5.dts | 5 + .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 4 files changed, 414 insertions(+), 400 deletions(-) create mode 100644 arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts create mode 100644 arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
arch/arm64/boot/dts/mediatek/Makefile +2 -0
@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986b-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4.dtb +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-2g5.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-emmc.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt8167-pumpkin.dtb
@@ -107,4 +108,5 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8516-pumpkin.dtb DTC_FLAGS_mt7986a-bananapi-bpi-r3 := -@ DTC_FLAGS_mt7986a-bananapi-bpi-r3-mini := -@ DTC_FLAGS_mt7988a-bananapi-bpi-r4 := -@ +DTC_FLAGS_mt7988a-bananapi-bpi-r4-2g5 := -@ DTC_FLAGS_mt8395-radxa-nio-12l := -@
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +5 -0
@@ -0,0 +1,5 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/; + +#include "mt7988a-bananapi-bpi-r4.dtsi"
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts +4 -400
412 lines not on this page · raw message
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +403 -0
403 lines not on this page · raw message
Signature · 1 line
2.43.0
AngeloGioacchino Del Regno
maintainerIl 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 47 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
Signed-off-by Frank Wunderlich <[email protected]>---
v2:
- added basic dts for 2g5 variant
- moved i2c used for sfp-lan to board dts--- arch/arm64/boot/dts/mediatek/Makefile | 2 + .../mediatek/mt7988a-bananapi-bpi-r4-2g5.dts | 5 + .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 4 files changed, 414 insertions(+), 400 deletions(-)create mode 100644
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dtscreate mode 100644arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsiarch/arm64/boot/dts/mediatek/Makefile +2
-0@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986b-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4.dtb +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-2g5.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-emmc.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt8167-pumpkin.dtb@@ -107,4 +108,5 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8516-pumpkin.dtb DTC_FLAGS_mt7986a-bananapi-bpi-r3 := -@ DTC_FLAGS_mt7986a-bananapi-bpi-r3-mini := -@ DTC_FLAGS_mt7988a-bananapi-bpi-r4 := -@ +DTC_FLAGS_mt7988a-bananapi-bpi-r4-2g5 := -@ DTC_FLAGS_mt8395-radxa-nio-12l := -@arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +0
-0
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts line 5
Quoted 5 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +5
-0@@ -0,0 +1,5 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/; + +#include "mt7988a-bananapi-bpi-r4.dtsi"
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a"; model = "Banana Pi BPI-R4 (2.5GbE)"; chassis-type = "embedded";
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts
Quoted 4 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dts +0
-0
..snip..
a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi b/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi
Quoted 8 lines
new file mode 100644
index 000000000000..1ab09ed2f151arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +3
-0@@ -0,0 +1,403 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/;
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi line 13
Quoted 10 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +10
-0+ +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/regulator/richtek,rt5190a-regulator.h> + +#include "mt7988a.dtsi" + +/ { + compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; + model = "Banana Pi BPI-R4"; + chassis-type = "embedded";
Please keep compatible/model/chassis-type in dts files.
Cheers,
Angelo
Am 14. April 2025 11:27:23 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 3 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 2 lines
From: Frank Wunderlich <[email protected]>
snip
Quoted 22 lines
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a"; model = "Banana Pi BPI-R4 (2.5GbE)"; chassis-type = "embedded";..snip..
a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsib/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsiQuoted 12 lines
new file mode 100644
index 000000000000..1ab09ed2f151arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +7
-0@@ -0,0 +1,403 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/regulator/richtek,rt5190a-regulator.h> +
Quoted 8 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi line 13
Quoted 6 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +6
-0+#include "mt7988a.dtsi" + +/ { + compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; + model = "Banana Pi BPI-R4"; + chassis-type = "embedded";Please keep compatible/model/chassis-type in dts files.
Ok, should i add specific compatible to existing board (like 2sfp)? Just thinking how binding should look like.
Else is there an example for adding optional compatible without adding a complete block in binding?
Quoted 2 lines
Cheers,
Angelo
regards Frank
AngeloGioacchino Del Regno
maintainerIl 14/04/25 12:19, Frank Wunderlich ha scritto:
Quoted 36 lines
Am 14. April 2025 11:27:23 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 3 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 2 lines
From: Frank Wunderlich <[email protected]>
snip
Quoted 22 lines
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a"; model = "Banana Pi BPI-R4 (2.5GbE)"; chassis-type = "embedded";..snip..
a/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsib/arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsiQuoted 12 lines
new file mode 100644
index 000000000000..1ab09ed2f151arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +7
-0@@ -0,0 +1,403 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/regulator/richtek,rt5190a-regulator.h> +Quoted 8 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi line 13
Quoted 6 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi new file +6
-0+#include "mt7988a.dtsi" + +/ { + compatible = "bananapi,bpi-r4", "mediatek,mt7988a"; + model = "Banana Pi BPI-R4"; + chassis-type = "embedded";Please keep compatible/model/chassis-type in dts files.
Quoted 2 lines
Ok, should i add specific compatible to existing board (like 2sfp)? Just thinking how binding should look like.
No, the existing board compatibles should not be touched.
I would imagine the bootloader reading the compatibles of all DTs and:
- On the 2G5 device, prefer a devicetree having that machine compatible;
- 2G5: If no 2G5 specific DT exists, fall back to using bananapi,bpi-r4
- On the 2sfp device, use DT that has bananapi,bpi-r4 but not the 2g5 compat.
So all of the DTs can be present, and the bootloader chooses the right one for whatever device it is running on.
If it's not possible for the bootloader to do so... well, that still doesn't change anything: you need two different DTS with a difference in machine compatible because those are two different machines :-)
Quoted 1 line
Else is there an example for adding optional compatible without adding a complete block in binding?
I'm not sure if you can nest oneOf statements in bindings... but that anyway doesn't really solve anything, so just add a full block....
Just to be sure, though:
krzk/Rob/Conor, am I right on this?
Thanks!>
Quoted 5 lines
Quoted 2 lines
Cheers,
Angeloregards Frank
Quoted 57 lines · AngeloGioacchino Del Regno
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 47 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
Signed-off-by Frank Wunderlich <[email protected]>---
v2:
- added basic dts for 2g5 variant
- moved i2c used for sfp-lan to board dts--- arch/arm64/boot/dts/mediatek/Makefile | 2 + .../mediatek/mt7988a-bananapi-bpi-r4-2g5.dts | 5 + .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 4 files changed, 414 insertions(+), 400 deletions(-)create mode 100644
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dtscreate mode 100644arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsiarch/arm64/boot/dts/mediatek/Makefile +2
-0@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986b-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4.dtb +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-2g5.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-emmc.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt8167-pumpkin.dtb@@ -107,4 +108,5 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8516-pumpkin.dtb DTC_FLAGS_mt7986a-bananapi-bpi-r3 := -@ DTC_FLAGS_mt7986a-bananapi-bpi-r3-mini := -@ DTC_FLAGS_mt7988a-bananapi-bpi-r4 := -@ +DTC_FLAGS_mt7988a-bananapi-bpi-r4-2g5 := -@ DTC_FLAGS_mt8395-radxa-nio-12l := -@arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +0
-0arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts line 5
Quoted 5 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +5
-0@@ -0,0 +1,5 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/; + +#include "mt7988a-bananapi-bpi-r4.dtsi"This should at least have some different compatible, if not probably also a different model string - as it's a different device.
Quoted 1 line
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a";
Imho it doesn't make sense to declare compatibility with the "bananapi,bpi-r4" as the "bananapi,bpi-r4-2g5" is NOT compatible with the "bananapi,bpi-r4". It's a different board and using firmware meant for the "bananapi,bpi-r4-2g5" on the "bananapi,bpi-r4" (or vice versa) will result in a non-working Ethernet port.
AngeloGioacchino Del Regno
maintainerIl 14/04/25 14:32, Daniel Golle ha scritto:
Quoted 58 lines · AngeloGioacchino Del Regno
Quoted 57 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 47 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
Signed-off-by Frank Wunderlich <[email protected]>---
v2:
- added basic dts for 2g5 variant
- moved i2c used for sfp-lan to board dts--- arch/arm64/boot/dts/mediatek/Makefile | 2 + .../mediatek/mt7988a-bananapi-bpi-r4-2g5.dts | 5 + .../dts/mediatek/mt7988a-bananapi-bpi-r4.dts | 404 +----------------- .../dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi | 403 +++++++++++++++++ 4 files changed, 414 insertions(+), 400 deletions(-)create mode 100644
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dtscreate mode 100644arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsiarch/arm64/boot/dts/mediatek/Makefile +2
-0@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986b-rfb.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4.dtb +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-2g5.dtb dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-emmc.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt7988a-bananapi-bpi-r4-sd.dtbo dtb-$(CONFIG_ARCH_MEDIATEK) += mt8167-pumpkin.dtb@@ -107,4 +108,5 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8516-pumpkin.dtb DTC_FLAGS_mt7986a-bananapi-bpi-r3 := -@ DTC_FLAGS_mt7986a-bananapi-bpi-r3-mini := -@ DTC_FLAGS_mt7988a-bananapi-bpi-r4 := -@ +DTC_FLAGS_mt7988a-bananapi-bpi-r4-2g5 := -@ DTC_FLAGS_mt8395-radxa-nio-12l := -@arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +0
-0arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts line 5
Quoted 5 lines
arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4-2g5.dts new file +5
-0@@ -0,0 +1,5 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT + +/dts-v1/; + +#include "mt7988a-bananapi-bpi-r4.dtsi"This should at least have some different compatible, if not probably also a different model string - as it's a different device.
Quoted 8 lines
Quoted 1 line
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a";Imho it doesn't make sense to declare compatibility with the "bananapi,bpi-r4" as the "bananapi,bpi-r4-2g5" is NOT compatible with the "bananapi,bpi-r4". It's a different board and using firmware meant for the "bananapi,bpi-r4-2g5" on the "bananapi,bpi-r4" (or vice versa) will result in a non-working Ethernet port.
Is this device a BananaPi R4 variant, or is it a completely different device?
If this is a completely different device, then it's not even a BananaPi R4, otherwise this is compatible with BananaPi R4, with a small variation :-)
Cheers,
Angelo
Am 15. April 2025 09:36:43 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 17 lines
Il 14/04/25 14:32, Daniel Golle ha scritto:
Quoted 16 lines · AngeloGioacchino Del Regno
Quoted 14 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 8 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a";
Quoted 8 lines
Quoted 6 lines
Imho it doesn't make sense to declare compatibility with the "bananapi,bpi-r4" as the "bananapi,bpi-r4-2g5" is NOT compatible with the "bananapi,bpi-r4". It's a different board and using firmware meant for the "bananapi,bpi-r4-2g5" on the "bananapi,bpi-r4" (or vice versa) will result in a non-working Ethernet port.
Is this device a BananaPi R4 variant, or is it a completely different device?
The only difference is that sfp-lan is replaced by RJ45 socket with mt7988 internal phy.
Quoted 2 lines
If this is a completely different device, then it's not even a BananaPi R4, otherwise this is compatible with BananaPi R4, with a small variation :-)
Sinovoip now announces a R4Pro with some more changes (e.g. an external 2.5g switch),but we have no detailed shematic yet. It looks they also plan a R4lite which is based on different SoC (afair mt7987),but this is for sure different device (and so not using this bpi-r4.dtsi).
But basicly all are named BPi-R4. I guess R4Pro will also get own dts as too much changed.
Quoted 2 lines
Cheers,
Angelo
regards Frank
AngeloGioacchino Del Regno
maintainerIl 15/04/25 10:07, Frank Wunderlich ha scritto:
Quoted 25 lines
Am 15. April 2025 09:36:43 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 24 lines
Il 14/04/25 14:32, Daniel Golle ha scritto:
Quoted 22 lines · AngeloGioacchino Del Regno
Quoted 7 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 6 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Quoted 7 lines
Quoted 2 lines
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a";Imho it doesn't make sense to declare compatibility with the "bananapi,bpi-r4" as the "bananapi,bpi-r4-2g5" is NOT compatible with the "bananapi,bpi-r4". It's a different board and using firmware meant for the "bananapi,bpi-r4-2g5" on the "bananapi,bpi-r4" (or vice versa) will result in a non-working Ethernet port.
Quoted 4 lines
Quoted 1 line
Is this device a BananaPi R4 variant, or is it a completely different device?
The only difference is that sfp-lan is replaced by RJ45 socket with mt7988 internal phy.
Perfect, then:
- The only difference is one routing
- The base board is the same
- Same hw project
- The two machines are compatible with each other ...bar one difference
...then the compatibles shall be as I said before :-)
Quoted 4 lines
Quoted 2 lines
If this is a completely different device, then it's not even a BananaPi R4, otherwise this is compatible with BananaPi R4, with a small variation :-)
Sinovoip now announces a R4Pro with some more changes (e.g. an external 2.5g switch),but we have no detailed shematic yet. It looks they also plan a R4lite which is based on different SoC (afair mt7987),but this is for sure different device (and so not using this
bpi-r4.dtsi).
In that case, R4Lite shall not be compatible with R4, as the name may be the same, but in practice it's a different machine.
Quoted 2 lines
But basicly all are named BPi-R4. I guess R4Pro will also get own dts as too much changed.
If R4pro is a redesign of the R4 board, that would not be compatible, as it would not be the same base design; otherwise, I'm sure you have well understood how it works for the compatibles, anyway :D
Cheers!
Quoted 6 lines
Quoted 3 lines
Cheers,
Angeloregards Frank
Am 15. April 2025 11:56:37 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 49 lines
Il 15/04/25 10:07, Frank Wunderlich ha scritto:
Quoted 25 lines
Am 15. April 2025 09:36:43 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 24 lines
Il 14/04/25 14:32, Daniel Golle ha scritto:
Quoted 22 lines · AngeloGioacchino Del Regno
Quoted 7 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 6 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Quoted 7 lines
Quoted 2 lines
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a";Imho it doesn't make sense to declare compatibility with the "bananapi,bpi-r4" as the "bananapi,bpi-r4-2g5" is NOT compatible with the "bananapi,bpi-r4". It's a different board and using firmware meant for the "bananapi,bpi-r4-2g5" on the "bananapi,bpi-r4" (or vice versa) will result in a non-working Ethernet port.
Quoted 4 lines
Quoted 1 line
Is this device a BananaPi R4 variant, or is it a completely different device?
The only difference is that sfp-lan is replaced by RJ45 socket with mt7988 internal phy.
Perfect, then:
- The only difference is one routing
- The base board is the same
- Same hw project
- The two machines are compatible with each other ...bar one difference...then the compatibles shall be as I said before :-)
Quoted 4 lines
Quoted 2 lines
If this is a completely different device, then it's not even a BananaPi R4, otherwise this is compatible with BananaPi R4, with a small variation :-)
Sinovoip now announces a R4Pro with some more changes (e.g. an external 2.5g switch),but we have no detailed shematic yet. It looks they also plan a R4lite which is based on different SoC (afair mt7987),but this is for sure different device (and so not using this
bpi-r4.dtsi).In that case, R4Lite shall not be compatible with R4, as the name may be the same, but in practice it's a different machine.
Quoted 1 line
Quoted 5 lines
Quoted 1 line
But basicly all are named BPi-R4. I guess R4Pro will also get own dts as too much changed.
If R4pro is a redesign of the R4 board, that would not be compatible, as it would not be the same base design; otherwise, I'm sure you have well understood how it works for the compatibles, anyway :D
Yes, should i use 3 const in the binding (as i do not expect another hw variant of current R4) or still enum for the first compatible?
Quoted 10 lines
Cheers!
Quoted 6 lines
Quoted 3 lines
Cheers,
Angeloregards Frank
regards Frank
AngeloGioacchino Del Regno
maintainerIl 15/04/25 12:30, Frank Wunderlich ha scritto:
Quoted 50 lines
Am 15. April 2025 11:56:37 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 49 lines
Il 15/04/25 10:07, Frank Wunderlich ha scritto:
Quoted 25 lines
Am 15. April 2025 09:36:43 MESZ schrieb AngeloGioacchino Del Regno <[email protected]>:
Quoted 24 lines
Il 14/04/25 14:32, Daniel Golle ha scritto:
Quoted 22 lines · AngeloGioacchino Del Regno
Quoted 7 lines
Il 12/04/25 12:21, Frank Wunderlich ha scritto:
Quoted 6 lines
From: Frank Wunderlich <[email protected]>
Sinovoip has released other variants of Bananapi-R4 board. The known changes affecting only the LAN SFP+ slot which is replaced by a 2.5G phy with optional PoE.
Quoted 7 lines
Quoted 2 lines
Just move the common parts to a new dtsi and keep differences (only i2c for lan-sfp) in dts.
This should at least have some different compatible, if not probably also a different model string - as it's a different device.
compatible = "bananapi,bpi-r4-2g5", "bananapi,bpi-r4", "mediatek,mt7988a";Imho it doesn't make sense to declare compatibility with the "bananapi,bpi-r4" as the "bananapi,bpi-r4-2g5" is NOT compatible with the "bananapi,bpi-r4". It's a different board and using firmware meant for the "bananapi,bpi-r4-2g5" on the "bananapi,bpi-r4" (or vice versa) will result in a non-working Ethernet port.
Quoted 4 lines
Quoted 1 line
Is this device a BananaPi R4 variant, or is it a completely different device?
The only difference is that sfp-lan is replaced by RJ45 socket with mt7988 internal phy.
Perfect, then:
- The only difference is one routing
- The base board is the same
- Same hw project
- The two machines are compatible with each other ...bar one difference...then the compatibles shall be as I said before :-)
Quoted 4 lines
Quoted 2 lines
If this is a completely different device, then it's not even a BananaPi R4, otherwise this is compatible with BananaPi R4, with a small variation :-)
Sinovoip now announces a R4Pro with some more changes (e.g. an external 2.5g switch),but we have no detailed shematic yet. It looks they also plan a R4lite which is based on different SoC (afair mt7987),but this is for sure different device (and so not using this
bpi-r4.dtsi).In that case, R4Lite shall not be compatible with R4, as the name may be the same, but in practice it's a different machine.
Quoted 1 line
Quoted 7 lines
Quoted 5 lines
Quoted 1 line
But basicly all are named BPi-R4. I guess R4Pro will also get own dts as too much changed.
If R4pro is a redesign of the R4 board, that would not be compatible, as it would not be the same base design; otherwise, I'm sure you have well understood how it works for the compatibles, anyway :D
Yes, should i use 3 const in the binding (as i do not expect another hw variant of current R4) or still enum for the first compatible?
Use 3 consts please :-)
Besides, if a variant comes up later, we can always change the first const to an enum, so no worries.
Quoted 14 lines
Quoted 11 lines
Cheers!
Quoted 6 lines
Quoted 3 lines
Cheers,
Angeloregards Frank
regards Frank