Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp3180144rwb; Mon, 7 Aug 2023 09:19:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHMCwWkXKy58wdFa3KCBVfMsorw6U3yreKKlgW764KSZOKt62EQsC5xWZ8ctZmZVdILxtvz X-Received: by 2002:a17:906:290:b0:99c:ae35:8cc with SMTP id 16-20020a170906029000b0099cae3508ccmr9508614ejf.26.1691425179451; Mon, 07 Aug 2023 09:19:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691425179; cv=none; d=google.com; s=arc-20160816; b=rCsh2YYjmjI71trqa4pcOJyA2SYfRStHLuJdc9qa6ZSfJEVXY7f3WFwLkGmo7XfI1d azThjJAxEoWwG7Bq7BdQg4+9Rgfm0UlC1ilF2zLWFLqxO+W1EVn0UhRrxhUO07MWoVfr H6DmfdxyMHUh09ThT61MtlZwk404DxR0SeR17sOaPe6RUU7ajtsgQusgxiShhymC+99c N9usCLhaNNeZIPd8/E4/KDTcUzG/kmC2QaSfefu4If7phKnwVrzP4hBKBVQ++PuQZ82S V3M0qZd/V0rE1j23DbO22Esf7wEk5wLMVBvLHUmO7j+vDZDznU9L3pGy6WGZlZGRsMuA W1dQ== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z27-20020a170906715b00b0099bcde0f1b1si5181330ejj.152.2023.08.07.09.19.13; Mon, 07 Aug 2023 09:19:39 -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 S231127AbjHGO63 (ORCPT + 99 others); Mon, 7 Aug 2023 10:58:29 -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 Content-Transfer-Encoding: 8bit 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 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 --- 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"; +}; -- 2.41.0