From patchwork Wed Aug 2 22:02:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Botka X-Patchwork-Id: 130178 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f41:0:b0:3e4:2afc:c1 with SMTP id v1csp763280vqx; Wed, 2 Aug 2023 15:23:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlH7v5RboLHqRonKZWSbt8eEbw9Vr2f7H7alwfCqnOyMPiuQtEB5Lz3RM+lJy/RonWn45a5V X-Received: by 2002:a05:6402:5216:b0:521:cca6:449a with SMTP id s22-20020a056402521600b00521cca6449amr17905388edd.4.1691014995339; Wed, 02 Aug 2023 15:23:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691014995; cv=none; d=google.com; s=arc-20160816; b=EJq92R1Ohid/s8bZ3evh5784VuD343AMnwmCHoTB0EIozUToxBcHOx8MZzSYYG3n/1 i634foQc2v3VBHiAVwsJ+Pi+xQbEt6Vae1C6aH9rVgZ6u9b9FWv2chURVFdvIdSFSYAb uypmfpw3ffYo5c2Jyes4KVJ4N/c9OEexjibj8Kz+P1riBSWUR6FrUwewBfCPsA6/IZ3C Cyzr3Zcpm3nCF+wqMoO5fd0ws6A4D3cFThneuVA7uhC0FTHJL1gWfvS/AGdlY2bnIGyG uE9wmU2BZ1hVfHbVSoGidjAITmlNQaBoYSwnc8DlmRR3fqWGaivACbD+Wi1AvOQQM2eX D/Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:feedback-id:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:from :dkim-signature; bh=qLjsAZb4hmR+HCqRv0i2FQA3g3jSAZUpS8OyHaZ3/t4=; fh=vjENXlcAOtMw2k0qeWbawpxecd2N9h7wDYrgmnAGN+o=; b=oNHAeM0K6lVsu8lqYR063HelwWRh4qPVU0PIWJozwEeuaY70XZQA+xhj5QI0eN/Ha2 EpPaLjnZqJrgxgmNu0fRWJ6fptC5dOXQhZZJxMTovZUwNvED8YRugg+ZfI88oBq3YSVS 7H+5IQUJ8boG22STywF01f6bV09XsYDsO2LavIHa2nq2QCuPkQhuXbc0GqAnGE7LF95t TiKLgA+XNboyPvLGSEhgk/ABDSmI+1IuY3kFWHjGP6XTN5lLRxTPqpus0dNiZ6OO56zG t6xex2zTU0yWxdqAD6W3NNawcDKpIleGAa7zUr3XkgQo1hkP1AQIUYFEDtsP/rVSwzn4 GvjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@biqu3d.com header.s=tfld2305 header.b=oV5f2iGs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=biqu3d.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dy27-20020a05640231fb00b0051e031046a1si1386589edb.444.2023.08.02.15.22.52; Wed, 02 Aug 2023 15:23:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@biqu3d.com header.s=tfld2305 header.b=oV5f2iGs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=biqu3d.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233800AbjHBWGr (ORCPT + 99 others); Wed, 2 Aug 2023 18:06:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233055AbjHBWGm (ORCPT ); Wed, 2 Aug 2023 18:06:42 -0400 Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.155.65.254]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EFFDE269E for ; Wed, 2 Aug 2023 15:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=biqu3d.com; s=tfld2305; t=1691013977; bh=qLjsAZb4hmR+HCqRv0i2FQA3g3jSAZUpS8OyHaZ3/t4=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=oV5f2iGsSzj8nh64XjSeko7NMUnogYqzf0MJrM5Lkydv8B9E3pypRtAyxk6xRieJP CVhe32z+pRA+Gempvr1zuzgi+PBCEaaxsRPrebLE9sIBKXuXBFKbmiHQJqf2SQ6k7t c0WQrxs1ZmGW+YcRdRmUuC0Uxe6Hz1QeyFuMJFV0= X-QQ-mid: bizesmtp89t1691013894tpfj4qzc Received: from TimeMachine.lan ( [178.41.211.221]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 03 Aug 2023 06:04:40 +0800 (CST) X-QQ-SSF: 01400000008000301000B00A0000000 X-QQ-FEAT: bhet8yMU7vm1KqeAnORJgX9t82gxFMk15zhpHXn3716e+E0HsEE7Q4xWGUrqL yp/EJgK//vhHFCIfNTzrDGw4crir4C4qWe5yJU+bykCzUmURrfDc+AjDfShF1fb4pr+6eCZ MBqFDEVyLUS7UWoWXcjjsX4FHejTl034X5Le06RV4WmQBysZwPuh/bsT//B4HSBQrKSZxUg BzCdvEcvTDf3zZr4YFZMnc3JEF613LG8O7fRHvPzQezFIM4KdE0DAaLBbpSaCcBT+7c5cVE y7DHOOmAZZpbB72vpIRwTFy9nHgxfV8uKTy3O5CaSotn0mrHbgX5HHUB4mgt41ZMhQe8eXg h5t8c2O3WGx9tLpkuX+Q4CPF5yAN0+ZP9zGE1ygujJcsGsFIqwyi7f38hR5gw== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4070493775033392211 From: Martin Botka Cc: Konrad Dybcio , AngeloGioacchino Del Regno , Marijn Suijten , Jami Kettunen , Paul Bouchara , Martin Botka , Andre Przywara , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Icenowy Zheng , Ludwig Kormann , Andrew Lunn , 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: [PATCH v1 5/6] arm64: dts: allwinner: h616: Add BigTreeTech CB1 SoM & boards support Date: Thu, 3 Aug 2023 00:02:38 +0200 Message-ID: <85E425AED000D34C+20230802220309.163804-6-martin@biqu3d.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230802220309.163804-1-martin@biqu3d.com> References: <20230802220309.163804-1-martin@biqu3d.com> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:biqu3d.com:qybglogicsvrgz:qybglogicsvrgz5a-1 X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773157739370898482 X-GMAIL-MSGID: 1773157739370898482 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 --- arch/arm64/boot/dts/allwinner/Makefile | 1 + .../sun50i-h616-bigtreetech-cb1-manta.dts | 20 +++ .../sun50i-h616-bigtreetech-cb1.dtsi | 164 ++++++++++++++++++ 3 files changed, 185 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..dff5b592a97a --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-manta.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (C) 2023 Martin Botka . + */ + +/dts-v1/; + +#include "sun50i-h616-bigtreetech-cb1.dtsi" + +/ { + compatible = "bigtreetech,cb1-manta", "bigtreetech,cb1", "allwinner,sun50i-h616"; +}; + +&ehci1 { + status = "okay"; +}; + +&ohci1 { + 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..e630114f0ce4 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (C) 2023 Martin Botka . + */ + +/dts-v1/; + +#include "sun50i-h616.dtsi" + +#include +#include +#include + +/ { + model = "BigTreeTech CB1"; + compatible = "bigtreetech,cb1", "allwinner,sun50i-h616"; + + aliases { + serial0 = &uart0; + ethernet0 = &rtl8189ftv; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + 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 directly from the USB-C socket */ + compatible = "regulator-fixed"; + regulator-name = "vcc-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_usb1_vbus: regulator-usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_vcc5v>; + enable-active-high; + gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */ + }; + + reg_vcc33_wifi: vcc33-wifi { + /* Always on 3.3V regulator for WiFi and BT */ + 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 and BT IO */ + 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>; + 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: sdio_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"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <3400000>; + regulator-always-on; + }; + + reg_dcdc2: dcdc2 { + regulator-name = "vdd-cpu"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1540000>; + regulator-ramp-delay = <200>; + regulator-always-on; + }; + + reg_dcdc3: dcdc3 { + regulator-name = "vcc-dram"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1840000>; + regulator-always-on; + }; + + reg_aldo1: aldo1 { + regulator-name = "vcc-1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + reg_dldo1: dldo1 { + regulator-name = "vcc-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + }; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_ph_pins>; + status = "okay"; +}; + +&usbphy { + usb1_vbus-supply = <®_usb1_vbus>; + status = "okay"; +};