From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48DE9C04A94 for ; Sat, 5 Aug 2023 14:19:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229567AbjHEOTi (ORCPT ); Sat, 5 Aug 2023 10:19:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46778 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229379AbjHEOTg (ORCPT ); Sat, 5 Aug 2023 10:19:36 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 65CC03C16; Sat, 5 Aug 2023 07:19:34 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B67C51FB; Sat, 5 Aug 2023 07:20:16 -0700 (PDT) Received: from slackpad.lan (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6F4963F59C; Sat, 5 Aug 2023 07:19:30 -0700 (PDT) Date: Sat, 5 Aug 2023 15:18:33 +0100 From: Andre Przywara To: Martin Botka Cc: martin.botka1@gmail.com, Konrad Dybcio , AngeloGioacchino Del Regno , Marijn Suijten , Jami Kettunen , Paul Bouchara , Martin Botka , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Ludwig Kormann , Andrew Lunn , Icenowy Zheng , Heiko Stuebner , Shawn Guo , Bjorn Andersson , Chris Morgan , Jagan Teki , Maxime Ripard , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 3/4] arm64: dts: allwinner: h616: Add BigTreeTech CB1 SoM & boards support Message-ID: <20230805151833.4adcb6b5@slackpad.lan> In-Reply-To: References: <20230805083636.788048-1-martin@biqu3d.com> Organization: Arm Ltd. X-Mailer: Claws Mail 4.1.1 (GTK 3.24.31; x86_64-slackware-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 5 Aug 2023 10:36:06 +0200 Martin Botka wrote: Hi, > From: Martin Botka > > CB1 is Compute Module style board that plugs into Rpi board style adapter or > Manta 3D printer boards (M4P/M8P). > > The SoM features: > - H616 SoC > - 1GiB of RAM > - AXP313A PMIC > - RTL8189FTV WiFi > > Boards feature: > - 4x USB via USB2 hub (usb1 on SoM). > - SDcard slot for loading images. > - Ethernet port wired to the internal PHY. (100M) > - 2x HDMI 2.0. (Only 1 usable on CB1) > - Power and Status LEDs. (Only Status LED usable on CB1) > - 40 pin GPIO header > > Currently working: > - Booting > - USB > - UART > - MMC > - Status LED > - WiFi (RTL8189FS via out of tree driver) > > I didnt want to duplicate things so the manta DTS can also be used on BTT pi4b adapter. > CB1 SoM has its own DTSI file in case other boards shows up that accept this SoM. > > Signed-off-by: Martin Botka Thanks, looks good now, git am, dtc, checkpatch and dt-validate all pass (given the "interrupt optional" binding patch): Reviewed-by: Andre Przywara Cheers, Andre > --- > Changes in V2: > - Fixed whitespace errors > - Move UART into carrier boards and BTT Pi > - Remove usb1-vbus regulator > - Fix ranges and naming of AXP313A rails > - Add comment specifying why broken-cd in mmc0 is needed > - Rename sdio_wifi to wifi > - Specify in commit description that USB-OTG doesnt work > Changes in V3: > - Add missed semicolons > - Move model string from dtsi to board dts > - Add cb1 compatible > - Remove extra empty line > > arch/arm64/boot/dts/allwinner/Makefile | 1 + > .../sun50i-h616-bigtreetech-cb1-manta.dts | 35 +++++ > .../sun50i-h616-bigtreetech-cb1.dtsi | 140 ++++++++++++++++++ > 3 files changed, 176 insertions(+) > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-manta.dts > create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi > > diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile > index 6a96494a2e0a..7b386428510b 100644 > --- a/arch/arm64/boot/dts/allwinner/Makefile > +++ b/arch/arm64/boot/dts/allwinner/Makefile > @@ -38,5 +38,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb > +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb > dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-manta.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-manta.dts > new file mode 100644 > index 000000000000..dbce61b355d6 > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-manta.dts > @@ -0,0 +1,35 @@ > +// SPDX-License-Identifier: (GPL-2.0+ or MIT) > +/* > + * Copyright (C) 2023 Martin Botka . > + */ > + > +/dts-v1/; > + > +#include "sun50i-h616-bigtreetech-cb1.dtsi" > + > +/ { > + model = "BigTreeTech CB1"; > + compatible = "bigtreetech,cb1-manta", "bigtreetech,cb1", "allwinner,sun50i-h616"; > + > + aliases { > + serial0 = &uart0; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > +}; > + > +&ehci1 { > + status = "okay"; > +}; > + > +&ohci1 { > + status = "okay"; > +}; > + > +&uart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart0_ph_pins>; > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi > new file mode 100644 > index 000000000000..5f606fcce97c > --- /dev/null > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi > @@ -0,0 +1,140 @@ > +// SPDX-License-Identifier: (GPL-2.0+ or MIT) > +/* > + * Copyright (C) 2023 Martin Botka . > + */ > + > +/dts-v1/; > + > +#include "sun50i-h616.dtsi" > + > +#include > +#include > +#include > + > +/ { > + aliases { > + ethernet0 = &rtl8189ftv; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led-0 { > + function = LED_FUNCTION_STATUS; > + color = ; > + gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ > + }; > + }; > + > + reg_vcc5v: regulator-vcc5v { > + /* board wide 5V supply from carrier boards */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc-5v"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + regulator-always-on; > + }; > + > + reg_vcc33_wifi: vcc33-wifi { > + /* Always on 3.3V regulator for WiFi */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc33-wifi"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + vin-supply = <®_vcc5v>; > + }; > + > + reg_vcc_wifi_io: vcc-wifi-io { > + /* Always on 1.8V/300mA regulator for WiFi */ > + compatible = "regulator-fixed"; > + regulator-name = "vcc-wifi-io"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + vin-supply = <®_vcc33_wifi>; > + }; > + > + wifi_pwrseq: wifi-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + clocks = <&rtc 1>; > + clock-names = "ext_clock"; > + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ > + post-power-on-delay-ms = <200>; > + }; > +}; > + > +&mmc0 { > + vmmc-supply = <®_dldo1>; > + /* Card detection pin is not connected */ > + broken-cd; > + bus-width = <4>; > + status = "okay"; > +}; > + > +&mmc1 { > + vmmc-supply = <®_vcc33_wifi>; > + vqmmc-supply = <®_vcc_wifi_io>; > + mmc-pwrseq = <&wifi_pwrseq>; > + bus-width = <4>; > + non-removable; > + mmc-ddr-1_8v; > + status = "okay"; > + > + rtl8189ftv: wifi@1 { > + reg = <1>; > + }; > +}; > + > +&r_i2c { > + status = "okay"; > + > + axp313a: pmic@36 { > + compatible = "x-powers,axp313a"; > + reg = <0x36>; > + interrupt-controller; > + #interrupt-cells = <1>; > + > + regulators{ > + reg_dcdc1: dcdc1 { > + regulator-name = "vdd-gpu-sys"; > + regulator-min-microvolt = <810000>; > + regulator-max-microvolt = <990000>; > + regulator-always-on; > + }; > + > + reg_dcdc2: dcdc2 { > + regulator-name = "vdd-cpu"; > + regulator-min-microvolt = <810000>; > + regulator-max-microvolt = <1100000>; > + regulator-ramp-delay = <200>; > + regulator-always-on; > + }; > + > + reg_dcdc3: dcdc3 { > + regulator-name = "vcc-dram"; > + regulator-min-microvolt = <1350000>; > + regulator-max-microvolt = <1350000>; > + regulator-always-on; > + }; > + > + reg_aldo1: aldo1 { > + regulator-name = "vcc-1v8-pll"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-always-on; > + }; > + > + reg_dldo1: dldo1 { > + regulator-name = "vcc-3v3-io"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + }; > + }; > +}; > + > +&usbphy { > + status = "okay"; > +};