Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3195692pxj; Mon, 24 May 2021 00:35:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwoPgyj1229W4F8P+BPvwvJ1qIWTx6UUMIKcFQpucVbSoVliFwXLurnzXZvtHfi0UVksOjc X-Received: by 2002:aa7:cfcd:: with SMTP id r13mr24487564edy.177.1621841722911; Mon, 24 May 2021 00:35:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621841722; cv=none; d=google.com; s=arc-20160816; b=Sz0byFaYXrvhMG9/S4sHO4TNH5IVMSrQHnFwznuula0ZwLT6PY4VgUYGU53AXxY1Fk 6258bEyn4vO8A5Xl8VUDLUckGiQITmsKqxcjE4GXPUpQbBZRoij6dZQWo2fIZbXlhavo KfMflT4xrJ8pc2JZwiPayrAUt2wrKcPA1TQPyWdvX+0PRSnhNc/fFASgloakYGURUg79 DJpp7RIc6nFydmTqYoRiUr5/k6F7lC1eWo0Yhl2Msbos3VFi79ruOEH+Bh31LOAPajmD 7ZCTlxa91M5eLVNOuPsGS9VvzYGL+KrtPJ2Skq7+hKzQ9ajxnUZHRX4JAdEqR7CPEjoc kMpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=tguiYgHtPVaAzE6o2ibei196m6hJ6oIxxPt555Fv3+Y=; b=YeBB/hIjwpDJGNvYmw8lbnkFqkyNtp/hzaJrxwLEhJ54Adb6YEK/78DLmnp1/IEwt6 6Pb1mYpcebsLVdxj39tgig4UXLCByU04H/GSxO1w/RN5uPoJ2M9dpwpHdv0xccdfmnTD ut595Oh8gTsC5bYfv4Rx9u6JKh+sx6HvnnYu/Gh4VkxD/PEBtqdgGE0QeczdAf7pPiH/ ea1B7ZGlb2M8io24YGJLPz/FX9JjnAbXHVJG8MFlH9U1ckD/6Zc3wH/JNTMdABHBB8+9 e7FDz5QXh7vk4xKUxvtKpK9IWD0z6gc5vqkQPqqf+eG13vEmOF08hl6TQHPLrplLbKPC 9x+Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dn20si7540591ejc.545.2021.05.24.00.35.00; Mon, 24 May 2021 00:35:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232326AbhEXHfV (ORCPT + 99 others); Mon, 24 May 2021 03:35:21 -0400 Received: from twspam01.aspeedtech.com ([211.20.114.71]:17857 "EHLO twspam01.aspeedtech.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232307AbhEXHfS (ORCPT ); Mon, 24 May 2021 03:35:18 -0400 Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 14O7KH31005013; Mon, 24 May 2021 15:20:17 +0800 (GMT-8) (envelope-from steven_lee@aspeedtech.com) Received: from slee-VirtualBox.localdomain (192.168.100.253) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 24 May 2021 15:33:11 +0800 From: Steven Lee To: Rob Herring , Joel Stanley , "Andrew Jeffery" , Adrian Hunter , "Ulf Hansson" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/ASPEED MACHINE SUPPORT" , "moderated list:ARM/ASPEED MACHINE SUPPORT" , open list , "moderated list:ASPEED SD/MMC DRIVER" , "open list:ASPEED SD/MMC DRIVER" CC: , , , Subject: [PATCH v5 1/4] ARM: dts: aspeed: ast2600evb: Add sdhci node and gpio regulator for A2 evb. Date: Mon, 24 May 2021 15:32:53 +0800 Message-ID: <20210524073308.9328-2-steven_lee@aspeedtech.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210524073308.9328-1-steven_lee@aspeedtech.com> References: <20210524073308.9328-1-steven_lee@aspeedtech.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [192.168.100.253] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 14O7KH31005013 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org AST2600 A2(or newer) EVB has gpio regulators for toggling signal voltage between 3.3v and 1.8v, the patch adds sdhci node and gpio regulator in the dts file and adds comment for describing the reference design. Signed-off-by: Steven Lee --- arch/arm/boot/dts/aspeed-ast2600-evb.dts | 84 ++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/arch/arm/boot/dts/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed-ast2600-evb.dts index 2772796e215e..401034da6dcc 100644 --- a/arch/arm/boot/dts/aspeed-ast2600-evb.dts +++ b/arch/arm/boot/dts/aspeed-ast2600-evb.dts @@ -4,6 +4,7 @@ /dts-v1/; #include "aspeed-g6.dtsi" +#include / { model = "AST2600 EVB"; @@ -21,6 +22,46 @@ device_type = "memory"; reg = <0x80000000 0x80000000>; }; + + vcc_sdhci0: regulator-vcc-sdhci0 { + compatible = "regulator-fixed"; + regulator-name = "SDHCI0 Vcc"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpios = <&gpio0 ASPEED_GPIO(V, 0) GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vccq_sdhci0: regulator-vccq-sdhci0 { + compatible = "regulator-gpio"; + regulator-name = "SDHCI0 VccQ"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_HIGH>; + gpios-states = <1>; + states = <3300000 1>, + <1800000 0>; + }; + + vcc_sdhci1: regulator-vcc-sdhci1 { + compatible = "regulator-fixed"; + regulator-name = "SDHCI1 Vcc"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vccq_sdhci1: regulator-vccq-sdhci1 { + compatible = "regulator-gpio"; + regulator-name = "SDHCI1 VccQ"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + gpios = <&gpio0 ASPEED_GPIO(V, 3) GPIO_ACTIVE_HIGH>; + gpios-states = <1>; + states = <3300000 1>, + <1800000 0>; + }; }; &mdio0 { @@ -245,3 +286,46 @@ &uhci { status = "okay"; }; + +&sdc { + status = "okay"; +}; + +/* + * The signal voltage of sdhci0 and sdhci1 on AST2600-A2 EVB is able to be + * toggled by GPIO pins. + * In the reference design, GPIOV0 of AST2600-A2 EVB is connected to the + * power load switch that provides 3.3v to sdhci0 vdd, GPIOV1 is connected to + * a 1.8v and a 3.3v power load switch that provides signal voltage to + * sdhci0 bus. + * If GPIOV0 is active high, sdhci0 is enabled, otherwise, sdhci0 is disabled. + * If GPIOV1 is active high, 3.3v power load switch is enabled, sdhci0 signal + * voltage is 3.3v, otherwise, 1.8v power load switch will be enabled, + * sdhci0 signal voltage becomes 1.8v. + * AST2600-A2 EVB also supports toggling signal voltage for sdhci1. + * The design is the same as sdhci0, it uses GPIOV2 as power-gpio and GPIOV3 + * as power-switch-gpio. + */ +&sdhci0 { + status = "okay"; + bus-width = <4>; + max-frequency = <100000000>; + sdhci-drive-type = /bits/ 8 <3>; + sdhci-caps-mask = <0x7 0x0>; + sdhci,wp-inverted; + vmmc-supply = <&vcc_sdhci0>; + vqmmc-supply = <&vccq_sdhci0>; + clk-phase-sd-hs = <7>, <200>; +}; + +&sdhci1 { + status = "okay"; + bus-width = <4>; + max-frequency = <100000000>; + sdhci-drive-type = /bits/ 8 <3>; + sdhci-caps-mask = <0x7 0x0>; + sdhci,wp-inverted; + vmmc-supply = <&vcc_sdhci1>; + vqmmc-supply = <&vccq_sdhci1>; + clk-phase-sd-hs = <7>, <200>; +}; -- 2.17.1