From patchwork Mon Aug 7 14:53:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Botka X-Patchwork-Id: 132187 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp1534226vqr; Mon, 7 Aug 2023 08:38:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFsLW8D1pSwS92gP4Go6mBuCrqxhAWcEFScYWlJKPBnJa7rQIs2C3/nCiwLBCUHYfEUJTkY X-Received: by 2002:a17:906:3f5b:b0:991:dc98:69ff with SMTP id f27-20020a1709063f5b00b00991dc9869ffmr9090975ejj.67.1691422729554; Mon, 07 Aug 2023 08:38:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691422729; cv=none; d=google.com; s=arc-20160816; b=rRAfKVnw+AEh2CGdmyZf3aCxGcDTknG/p4EUUZ8UrSaUaHae3Pv58mBUbts3kOg86z coccDX2g4qQok/B+5CGho5XmGsLNywJAgqNxkE0H9XbbhL1RH3F4sDWxxbmhNTCgexNK 4FygfDIYWSXW1Wdj0YKiaM7xOQihTVQ4mVyjbn/YVoWtBewTYcO7u7t4zXEjNAoC5CRc yYe2hGmVapIr7GHFppiLjvV6lijL3uemQnw0Kp1aAlT6Wpl+tGifLU/br5d2q1D82Swc pxn/7iKm3vzmRFhW9MIGhscJ84m/E2QTBz+Z1HFRuq32LzVP9HYumPA6Fbp4sMbAdAfp hmGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:feedback-id:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Q5DbjqnP+Qwpp9xb0Pn6d3WJiooWOW8c26QkZDf1ZS8=; fh=JbLMgUREa9QH+kxbOYtcGELEhlkBU2LwUxpL5KCVtps=; b=brzGWwuLWGzNsvVh6fk8tCOQE+s3Tg7Akk0xwBPrkXh08Wiu66rWajtMO/cu/JRzI7 ayO5HWiVCYKMHcoqDBeCuhu9nd6xaXMnTUoGoVz0Pi6NHTJLYTNZY6NHApNRPcd2ncbQ NNCanQ/bo6UP4Of0xqfyTrUsIvY24KSxCvD26nGAJZ1LLijUPp+8RcyIWasPSVLaK+or wj0FLqzo+7c7pKWokyyFp1VPRDN8VuLU79oXJWYQO1+mACiX5pYAvGGtnwkH0k0A2e/w L4WxngDXuBXgp4sScOsMkfM8obmgoQZFMQ4k0ccvN1EtPPaTBP6d0opQC5TKmLEP3p2o 4JTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@biqu3d.com header.s=tfld2305 header.b=jo+vyl7O; 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=pass (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 rk25-20020a170907215900b00991c8af7ba3si6139929ejb.148.2023.08.07.08.38.26; Mon, 07 Aug 2023 08:38:49 -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=pass header.i=@biqu3d.com header.s=tfld2305 header.b=jo+vyl7O; 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=pass (p=NONE sp=NONE dis=NONE) header.from=biqu3d.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230190AbjHGO6a (ORCPT + 99 others); Mon, 7 Aug 2023 10:58:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231528AbjHGO6H (ORCPT ); Mon, 7 Aug 2023 10:58:07 -0400 Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.154.54.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 565CC10F6 for ; Mon, 7 Aug 2023 07:58:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=biqu3d.com; s=tfld2305; t=1691420272; bh=Q5DbjqnP+Qwpp9xb0Pn6d3WJiooWOW8c26QkZDf1ZS8=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=jo+vyl7Oy16beCyxAsjrVcroINyynk7rJ0P9dXTI0+eI0e0G6BeLg+ERo4vtUMZwl enk8tJxiZR3i+sgEcau5gMbH22Rn/jFrSv/geLGmSTaw+Vh2/tVwNsTdlYWJDE4OqV mb/Fj2ouSEYmQIQKauCmkau4UvLUKiLAaklZOKMc= X-QQ-mid: bizesmtp83t1691420157tpjbmvxx Received: from localhost.localdomain ( [178.41.211.221]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 07 Aug 2023 22:55:43 +0800 (CST) X-QQ-SSF: 01400000000000803000000A0000000 X-QQ-FEAT: LE7C6P2vL8Tr6P/vYYK+pFUwSFPI4SwYKxUJtM95gQzlM+quKQkTspPpmNFkx P5fGA/ekvjDnxcNCzZLtL9PCIHjgPsQm0bEl/113nNiwcVvttEjDEFan12PQpqGtM8fBxzq 6YzjK57fpuGRq2KwWsRgU1iGIgfsbKlGfte+He1nOrki+9YHQ596RMwu1Wpv9bPnlnyingz EIUGd7LpkiTo6PNGd5OUzUZ4CSXtUF6pPgOKgH9MyPOcJJjBu/GUFmI7nPn+g97C7sGX89F jK4pU+ZjGASzsHmfJDft8x+oCMQpQYVahZdlxFhGIiD8khsN6PzGAsLlo2myzFAD2YxKHTT 3LY36U4ZQhV8Q46XE8kvfbTqPoCsvUqARnlyW9dhsAJnBlQZTQT2GeMjvBYB6uB/uXv3Zvu gR9xq2FyuiQ= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 8226830484798208280 From: Martin Botka To: 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 , Ludwig Kormann , Icenowy Zheng , 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 v4 3/4] arm64: dts: allwinner: h616: Add BigTreeTech CB1 SoM & boards support Date: Mon, 7 Aug 2023 16:53:23 +0200 Message-ID: <3017957701F1CF4A+20230807145349.2220490-4-martin@biqu3d.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230807145349.2220490-1-martin@biqu3d.com> References: <20230807145349.2220490-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 autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773585280082428006 X-GMAIL-MSGID: 1773585280082428006 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 Reviewed-by: Andre Przywara Reviewed-by: Jernej Skrabec --- 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 Changed in V4: - Extend the range of vcc-dram to 1.5V (1.35V max caused issues with booting up 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..5e756f217813 --- /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 = <1500000>; + 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"; +};