Re: [PATCH v1 6/6] arm64: dts: allwinner: h616: Add BigTreeTech Pi support

From: Martin Botka
Date: Thu Aug 03 2023 - 10:56:16 EST

On 8/3/23 4:49 PM, Andre Przywara wrote:
On Thu, 3 Aug 2023 16:30:06 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:

On 03/08/2023 00:02, Martin Botka wrote:
The BigTreeTech Pi is an H616 based board based on CB1.
Just in Rpi format board.

It features the same internals as BTT CB1 but adds:
- Fan port
- IR receiver
- 24V DC power supply via terminal plugs
- USB to CAN module connector (The actual USB to CAN happens on the external module)

List of currently working things is the same as BTT CB1.

Signed-off-by: Martin Botka <martin@xxxxxxxxxx>
.../allwinner/sun50i-h616-bigtreetech-pi.dts | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts
new file mode 100644
index 000000000000..05f39b3606ba
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-pi.dts
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+ * Copyright (C) 2023 Martin Botka <martin@xxxxxxxxxx>.
+ */
+#include "sun50i-h616-bigtreetech-cb1.dtsi"

If this is using CB1 DTSI, does it mean it uses CB1 SoM? If so, I think
this should be reflected in the compatibles.

It's a bit confusing because in previous patch you call it "CB1 board"
but then with name "Manta"... So what is CB1?

That's indeed a bit confusing, but from what I got from the BTT webpage:
"CB1" is the SoM. M8P (and its M4P/M5P siblings) are carrier boards with
extra hardware for 3D printer support, taking the CB1 SoM.
The "Bigtreetech BTT Pi" is embedding the same hardware as the SoM, but
without actually using the SoM, directly on a PCB, so similar to what we
have with the Pine64 SoPine and the Pine64 LTS board. It doesn't come with
the extra goodies of the more 3D printer related boards.

I *think* the "BIGTREETECH PI4B Adapter" is a normal dev board using the
actual SoM, but with an otherwise identical(?) functionality software wise
- so it can run with the same DTB. I wonder if we should have a separate
.dts for this, though, since I believe it's not really identical in every
aspect - starting with the USB ports, for instance.

But for this board and patch here I think it's fine to include the
cb1.dtsi, but not using the CB1 name in the compatibles list.

You got it perfectly Andre :) Yes CB1 is an SoM and Manta boards and BTT Pi4B adapter board are just carriers of this SoM. PI4B board uses the same DTB as manta boards. It also has the same USB hub and etc.

BTT Pi on the other hand is CB1 hardware but actually comes in Pi format with the CB1 hardware embedded on the boards directly. BTT Pi wires up the USB ports to their respective ports on SoC and thus the separate DTS (Also ofc the extra stuff like IR and fan port which will be enabled in the future)