From patchwork Tue Mar 19 17:50:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamil Kasperski X-Patchwork-Id: 13596965 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4D13CC54E71 for ; Tue, 19 Mar 2024 17:50:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3TKsi/qHojES6Hc6IQnn7GhmZkMwYSyyyITanjyPVSU=; b=Ujw3ql1V0AjTYE pMZZqpX7YwtXWf8WbueCKldluQaTuUmuPTiqy4rt723wautrCDT80XW5bePGiu0rzqSbRF5+mCfrc ZMC/qdPT0B3YpYKNv+fxFneEimprSrsBUFXrRFiAizVKHjuDt7MRyFqGLctv2I1rsP39FaIe2JCux Xs47mPjrWILy+f4P8kc8iYIPtLW587po4CQfsKqbM0VNHZD2+S7krJvgunj0LciuhBIPk5pZXvnky lEm6qkhGROXTQBGTqHOW1Qwgf+J58h0/nsFSbprnkg2AKIV/YjJ+/c9fCs5TPH7q28dEsgW5NBJgN 9k4IEhux1VD/S1eiVlwA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmdbi-0000000DfqC-1AZp; Tue, 19 Mar 2024 17:50:38 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmdbb-0000000DfmF-0z8n for linux-arm-kernel@lists.infradead.org; Tue, 19 Mar 2024 17:50:32 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-563c403719cso7187683a12.2 for ; Tue, 19 Mar 2024 10:50:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710870628; x=1711475428; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=K4h88E15TbnHDt476ZSp+9Jvp1kaoXpMk+VIBAfvxeU=; b=kkaJT05I6TnYzZKV3m2TvtA8jigSYWBzDGP+LNAuqfSxdpPRxbGIVDcS2L1rQWJWKy n/lZNhUKmOurZf+v0e5a1ramas7xeOini4rSu6p3AMcpnYxVMjI/lbfstQEjlsU8zUIr NlCF2QTkm1z96K10OXKKCu4W2f9eGFYPnnoZ2nhYvNu6QMsfEtQaH5gj9bOr/J942dhA DBZuLxWh52Rxlnq4Uqbqk3uZOaMQiNdxX6V9NvDwLpRqlVGu1O3W2zaHrvHkB3QnkWgm N5MOv2rkwWxFGgYSotBecZ7K5+is6AsPAMdwozzGG8jbJqUcoQgeT0X5CfGe6rB8qePL eUbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710870628; x=1711475428; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K4h88E15TbnHDt476ZSp+9Jvp1kaoXpMk+VIBAfvxeU=; b=qUVajUwoY4280oZi/mGGMoT780H75xG8VSPcKJGDTZCQo3bvs5rvdAxfOW2y3e/Heb ooR6PF6EICl7cd7sIN1W1DD6eyBzIw2EirC/ueeEjLubO3lm3Yw55VKZgsByKL/B1Rr/ DAt79d7AyIxnZfJqNTQJNunNFKfzBw4Z9xrD+vnPOrzzMa1QFZ9c4vazxAeXtbewHA2S Yr+qvFCQrn2uuFkz56rLozVyFed9d18j6L9GArmWMarcHm2Q28JtqABDmwI7b0A/Ta5+ pss0lzle1aSyyQdF23NdM8ejTFK49KMGBXZ4bsJ42VCErEy3kwCwRCmbWcN5FnQAmQoB MTHA== X-Forwarded-Encrypted: i=1; AJvYcCVusFSQeDnEdvNfEAfHg4Ca9zdDaYn2YM8nKoDuiQLeaTp/ldPsmSap3aHya2V87LZkG75WaPHUMn7FjAnDl7Djy1Js76Cdx8d1ygKwaseP6iZ6NVM= X-Gm-Message-State: AOJu0YwPRglZeVKO192/MfWItGCgj3lGW2ttzGdOM1HiIAYGxk9iro8h wxMmSLx7fD5p642aA4TOq8XDGu8wxsy+J5P0MnGQE8FUPCQ7ZDOi X-Google-Smtp-Source: AGHT+IGUxW7sLCdPNkkhZgR3NWA+XFmNyD07eHPGxgXx/8PSxWImUGKO+3nXDlH3LLPOVG8k4GqxQw== X-Received: by 2002:a50:c04a:0:b0:567:45e2:c4db with SMTP id u10-20020a50c04a000000b0056745e2c4dbmr11207171edd.39.1710870628405; Tue, 19 Mar 2024 10:50:28 -0700 (PDT) Received: from ALDERLEJK. (89-76-44-138.dynamic.chello.pl. [89.76.44.138]) by smtp.gmail.com with ESMTPSA id et5-20020a056402378500b0056ba8b68505sm84329edb.92.2024.03.19.10.50.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Mar 2024 10:50:28 -0700 (PDT) From: Kamil Kasperski Date: Tue, 19 Mar 2024 18:50:24 +0100 Subject: [PATCH v4 3/3] arm64: dts: allwinner: h616: add support for T95 tv boxes MIME-Version: 1.0 Message-Id: <20240319-add-t95-axp313-support-v4-3-6204b6d23229@gmail.com> References: <20240319-add-t95-axp313-support-v4-0-6204b6d23229@gmail.com> In-Reply-To: <20240319-add-t95-axp313-support-v4-0-6204b6d23229@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Maxime Ripard Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, Kamil Kasperski X-Mailer: b4 0.13.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240319_105031_459500_EFC59E2D X-CRM114-Status: GOOD ( 16.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add dtsi file for T95 tv boxes and add initial support for T95 5G AXP313A variant with a board name H616-T95MAX-AXP313A-v3.0 Internal storage is not accessible due to lack of support for H616 NAND controller. Signed-off-by: Kamil Kasperski Reviewed-by: Andre Przywara --- arch/arm64/boot/dts/allwinner/Makefile | 1 + arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi | 109 +++++++++++++++++++++ .../dts/allwinner/sun50i-h616-t95max-axp313.dts | 84 ++++++++++++++++ 3 files changed, 194 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile index 21149b346a60..294921f12b73 100644 --- a/arch/arm64/boot/dts/allwinner/Makefile +++ b/arch/arm64/boot/dts/allwinner/Makefile @@ -42,6 +42,7 @@ 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-bigtreetech-pi.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb +dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-t95max-axp313.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-longanpi-3h.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h618-orangepi-zero2w.dtb diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi new file mode 100644 index 000000000000..4c02408733bc --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95.dtsi @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Kamil Kasperski + * + * Common DT nodes for H616-based T95 TV boxes + * There are two versions reported with different PMIC variants. + */ + +#include "sun50i-h616.dtsi" + +#include +#include + +/ { + aliases { + ethernet1 = &sdio_wifi; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + reg_vcc5v: vcc5v { + /* board wide 5V supply directly from the DC input */ + compatible = "regulator-fixed"; + regulator-name = "vcc-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_vcc3v3: vcc3v3 { + /* discrete 3.3V regulator */ + compatible = "regulator-fixed"; + regulator-name = "vcc-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + wifi_pwrseq: pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc CLK_OSC32K_FANOUT>; + clock-names = "ext_clock"; + pinctrl-0 = <&x32clk_fanout_pin>; + pinctrl-names = "default"; + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ + }; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci2 { + status = "okay"; +}; + +&ir { + status = "okay"; +}; + +&mmc0 { + cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */ + bus-width = <4>; + status = "okay"; +}; + +&mmc1 { + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + status = "okay"; + + sdio_wifi: wifi@1 { + reg = <1>; + }; +}; + +&ohci0 { + status = "okay"; +}; + +&ohci2 { + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_ph_pins>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + uart-has-rtscts; + status = "okay"; +}; + +&usbotg { + dr_mode = "host"; /* USB A type receptable */ + status = "okay"; +}; + +&usbphy { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts new file mode 100644 index 000000000000..08a6b4fcc235 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-t95max-axp313.dts @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2024 Kamil Kasperski + * + * Configuration for T95 TV box with board label H616-T95MAX-AXP313A-v3.0 + */ + +/dts-v1/; + +#include "sun50i-h616-t95.dtsi" + +/ { + model = "T95 5G (AXP313)"; + compatible = "t95,t95max-axp313", "allwinner,sun50i-h616"; +}; + +&mmc0 { + vmmc-supply = <®_dldo1>; +}; + +&mmc1 { + vmmc-supply = <®_dldo1>; + vqmmc-supply = <®_aldo1>; +}; + +&r_i2c { + status = "okay"; + + axp313: pmic@36 { + compatible = "x-powers,axp313a"; + reg = <0x36>; + #interrupt-cells = <1>; + interrupt-controller; + + vin1-supply = <®_vcc5v>; + vin2-supply = <®_vcc5v>; + vin3-supply = <®_vcc5v>; + + regulators { + reg_aldo1: aldo1 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc1v8"; + }; + + reg_dldo1: dldo1 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc3v3"; + }; + + reg_dcdc1: dcdc1 { + regulator-always-on; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <990000>; + regulator-name = "vdd-gpu-sys"; + }; + + reg_dcdc2: dcdc2 { + regulator-always-on; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1100000>; + regulator-name = "vdd-cpu"; + }; + + reg_dcdc3: dcdc3 { + regulator-always-on; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <1500000>; + regulator-name = "vdd-dram"; + }; + }; + }; +}; + +&pio { + vcc-pc-supply = <®_aldo1>; + vcc-pf-supply = <®_dldo1>; + vcc-pg-supply = <®_aldo1>; + vcc-ph-supply = <®_dldo1>; + vcc-pi-supply = <®_dldo1>; +};