From patchwork Tue Sep 19 10:43:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chen-Yu Tsai X-Patchwork-Id: 141987 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp3510458vqi; Tue, 19 Sep 2023 09:17:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHhAkwCeuvGBPEbFZDGBYS0UmScRB2l6ScdQBkOul0dbPvVGHkRPrMdwlrOXK7D0LWf/ZiB X-Received: by 2002:a17:903:4285:b0:1c3:4565:225 with SMTP id ju5-20020a170903428500b001c345650225mr12656467plb.10.1695140239368; Tue, 19 Sep 2023 09:17:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695140239; cv=none; d=google.com; s=arc-20160816; b=tl0CGMD/E4ZmjN/yHcDIsFL238F3DVa1ruzL0yp3JkOR95kyN4CjT1Jozabaa3UthL s7bpnnriqKWhkfUJt4dGU+qWNcXgNJLdrmgxeWwqE43mrHAoZQP3xiThGEMsTOEvTf0P 6XBJaEpTWKUd+D54N1i2B8SRlBp6M4rp3KqmWMkLXAOY9zv/xvBbg2gEFIKCl+0wGTui O+BQt+ki8mCMeZ/gOLJOCLaP3T8GOmt1EIO4H3Me/hwI/18AehHGe9QxAAOR1iJ4CUrj lSmfzUq2F0MuVfQTH7iQIohR1M1m4X8tB/HKojaQqp2pOwaDVvXrjVV9sZzz7enuD7ab la5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=c9zFZh0h9p1kqtm0gG5rSkGty3VYPPZg4qkioRraJ/c=; fh=TlO5KlKappqSrmqhP9zwp2vC20iYAyktNq5CSxppUkc=; b=X2MK44h4zhs17TdOl5/0ujEiYjrkc1h/my7BOT3lK8gerAPKDdAketT311HdLJjXbJ swhTCBDvPFJuatkbpdU05MKGnisRDOg3eX0GzWDZvT75b5fMtvDFDTwcuv8OyNfCF+8q ztqpfBk6p6Oq6v3uBRR3zlUOy47yeVhoG/ILq4heZG70GPSszJhbEH4Gks5jxw7wn1i2 iPcuJaQAkT+vjnIJZ7pVq23Z9tadVpVoFTTH3fsOLtSDzpsXPIm+wPoFUja+TQQhR7gD lYzpFdoSblcsrJjlMzkEzbm2+PQR1bcJmahynbmT8tzLUVo5HjnYGzwzcnCtA8aJOM8c 4kvw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=myfoGqli; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id m3-20020a1709026bc300b001b876d46162si9873843plt.38.2023.09.19.09.17.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 09:17:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=myfoGqli; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 77CFB802D3D0; Tue, 19 Sep 2023 03:48:05 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231933AbjISKr7 (ORCPT + 26 others); Tue, 19 Sep 2023 06:47:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52994 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231916AbjISKrq (ORCPT ); Tue, 19 Sep 2023 06:47:46 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A46FA13A for ; Tue, 19 Sep 2023 03:47:37 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1c46b30a1ceso22021665ad.3 for ; Tue, 19 Sep 2023 03:47:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1695120457; x=1695725257; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c9zFZh0h9p1kqtm0gG5rSkGty3VYPPZg4qkioRraJ/c=; b=myfoGqli94TBKfLh/E5g4h5z+yuXWyrJQNYQhmmNrTRsbOiqvUQyUh55/olyMQ19G4 DjFmZf/+Y6++esgX8mFYlekBuvP8ZS/+D5KVkoLm+2sFfmViPWo7f6dCuc9zGGsKQXmG s1iyo7Y/x/ETS3Fyc5aRJkPivi+bjDBALUzi0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695120457; x=1695725257; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c9zFZh0h9p1kqtm0gG5rSkGty3VYPPZg4qkioRraJ/c=; b=cUWmX4lbR+uX/Nw6w8fCAmo/fVghsibvvpNAASF9XiLhmqbw6HLNQ3VHd0nUCnYQQh FLHumCl2oZ32WBcuZQMIN2zVLAWS/VxdmlwzTISChKviXQCPSJ02PDd/koSIbQ/LJbQJ 9bE6VbvxqxGFFKeO3p7UIPQBdlwMiBv0BH4ggpGHPmmei+WUx5JrGW4ANP9x0zNeEzOo iR5qChG8ERITtK2j+5zby1LVPaE93mha9iHF+Suv64WAXP4m07P4FsZAwC/BNayX+q3A WIFUAOufDRgNt0NFyHLjafaQs4PTk0xikUxWdhQsFc7fYZVbpES+XlnvXhLrmOHHwpmI QGdg== X-Gm-Message-State: AOJu0YwhIeq25tUwSIfhkgLmpcuvwWYHQadrtIf25j4lWdpMpjcIuGig QxQyuprAi0aXZGwF++1Dj6PrqQ== X-Received: by 2002:a17:902:e74d:b0:1bd:c931:8c47 with SMTP id p13-20020a170902e74d00b001bdc9318c47mr10812191plf.68.1695120457075; Tue, 19 Sep 2023 03:47:37 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:40a:900d:e731:5a43]) by smtp.gmail.com with ESMTPSA id c10-20020a170902d48a00b001bc445e249asm6719578plg.124.2023.09.19.03.47.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 03:47:36 -0700 (PDT) From: Chen-Yu Tsai To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Mark Brown Cc: Zhiyong Tao , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Chen-Yu Tsai Subject: [PATCH v3 05/12] regulator: dt-bindings: mt6358: Add MT6366 PMIC Date: Tue, 19 Sep 2023 18:43:48 +0800 Message-ID: <20230919104357.3971512-6-wenst@chromium.org> X-Mailer: git-send-email 2.42.0.459.ge4e396fd5e-goog In-Reply-To: <20230919104357.3971512-1-wenst@chromium.org> References: <20230919104357.3971512-1-wenst@chromium.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Tue, 19 Sep 2023 03:48:05 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777483371462938686 X-GMAIL-MSGID: 1777483371462938686 From: Zhiyong Tao The MediaTek MT6366 PMIC is similar to the MT6358 PMIC. It is designed to be paired with the MediaTek MT8186 SoC. It has 9 buck regulators and 29 LDO regulators, not counting ones that feed internally and basically have no controls. The regulators are named after their intended usage for the SoC and system design, thus not named generically as ldoX or dcdcX, but as vcn33 or vgpu. The differences compared to the MT6358 are minimal: - Regulators removed: VCAMA1, VCAMA2, VCAMD, VCAMIO, VLDO28 - Regulators added: VM18, VMDDR, VSRAM_CORE Add a binding document describing all the regulators and their supplies. Signed-off-by: Zhiyong Tao [wens@chromium.org: major rework and added commit message] Signed-off-by: Chen-Yu Tsai --- Changes since v2: - Merged all the propertyPatterns together; the if-then sections now only block out invalid properties Changes since v1: - Replaced underscores in supply names to hyphens - Merged with MT6358 regulator binding - Added MT6358 fallback compatible to MT6366 regulator Changes since Zhiyong's last version (v4) [1]: - simplified regulator names - added descriptions to regulators - removed bogus regulators (*_sshub) - merged vcn33-wifi and vcn33-bt as vcn33 - added missing regulators (vm18, vmddr, vsram-core) - cut down examples to a handful of cases and made them complete - expanded commit message a lot [1] https://lore.kernel.org/linux-arm-kernel/20220823123745.14061-1-zhiyong.tao@mediatek.com/ .../regulator/mediatek,mt6358-regulator.yaml | 120 +++++++++++++++--- 1 file changed, 104 insertions(+), 16 deletions(-) diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml index c5f336318ec2..05e381899d08 100644 --- a/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6358-regulator.yaml @@ -16,14 +16,18 @@ description: properties: compatible: - const: mediatek,mt6358-regulator + oneOf: + - const: mediatek,mt6358-regulator + - items: + - const: mediatek,mt6366-regulator + - const: mediatek,mt6358-regulator vsys-ldo1-supply: description: Supply for LDOs vfe28, vxo22, vcn28, vaux18, vaud28, vsim1, vusb, vbif28 vsys-ldo2-supply: - description: Supply for LDOs vldo28, vio28, vmc, vmch, vsim2 + description: Supply for LDOs vldo28 (MT6358 only), vio28, vmc, vmch, vsim2 vsys-ldo3-supply: - description: Supply for LDOs vcn33, vcama1, vcama2, vemc, vibr + description: Supply for LDOs vcn33, vcama[12] (MT6358 only), vemc, vibr vsys-vcore-supply: description: Supply for buck regulator vcore vsys-vdram1-supply: @@ -43,18 +47,20 @@ properties: vsys-vs2-supply: description: Supply for buck regulator vs2 vs1-ldo1-supply: - description: Supply for LDOs vrf18, vefuse, vcn18, vcamio, vio18 + description: + Supply for LDOs vrf18, vefuse, vcn18, vcamio (MT6358 only), vio18, vm18 (MT6366 only) vs2-ldo1-supply: - description: Supply for LDOs vdram2 + description: Supply for LDOs vdram2, vmddr (MT6366 only) vs2-ldo2-supply: description: Supply for LDOs vrf12, va12 vs2-ldo3-supply: - description: Supply for LDOs vsram-gpu, vsram-others, vsram-proc11, vsram-proc12 + description: + Supply for LDOs vsram-core (MT6366 only), vsram-gpu, vsram-others, vsram-proc11, vsram-proc12 vs2-ldo4-supply: description: Supply for LDO vcamd patternProperties: - "^buck_v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$": + "^(buck_)?v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$": description: Buck regulators type: object $ref: regulator.yaml# @@ -69,7 +75,7 @@ patternProperties: enum: [0, 1] unevaluatedProperties: false - "^ldo_v(a|rf)12$": + "^(ldo_)?v(a|rf)12$": description: LDOs with fixed 1.2V output and 0~100/10mV tuning type: object $ref: regulator.yaml# @@ -77,15 +83,16 @@ patternProperties: regulator-allowed-modes: false unevaluatedProperties: false - "^ldo_v((aux|cn|io|rf)18|camio)$": - description: LDOs with fixed 1.8V output and 0~100/10mV tuning + "^(ldo_)?v((aux|cn|io|rf)18|camio)$": + description: + LDOs with fixed 1.8V output and 0~100/10mV tuning (vcn18 on MT6366 has variable output) type: object $ref: regulator.yaml# properties: regulator-allowed-modes: false unevaluatedProperties: false - "^ldo_vxo22$": + "^(ldo_)?vxo22$": description: LDOs with fixed 2.2V output and 0~100/10mV tuning type: object $ref: regulator.yaml# @@ -93,7 +100,7 @@ patternProperties: regulator-allowed-modes: false unevaluatedProperties: false - "^ldo_v(aud|bif|cn|fe|io)28$": + "^(ldo_)?v(aud|bif|cn|fe|io)28$": description: LDOs with fixed 2.8V output and 0~100/10mV tuning type: object $ref: regulator.yaml# @@ -101,7 +108,7 @@ patternProperties: regulator-allowed-modes: false unevaluatedProperties: false - "^ldo_vusb$": + "^(ldo_)?vusb$": description: LDOs with fixed 3.0V output and 0~100/10mV tuning type: object $ref: regulator.yaml# @@ -109,7 +116,7 @@ patternProperties: regulator-allowed-modes: false unevaluatedProperties: false - "^ldo_vsram_(gpu|others|proc1[12])$": + "^(ldo_)?vsram[_-](core|gpu|others|proc1[12])$": description: LDOs with variable output type: object $ref: regulator.yaml# @@ -117,7 +124,7 @@ patternProperties: regulator-allowed-modes: false unevaluatedProperties: false - "^ldo_v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|mc|mch|sim[12])$": + "^(ldo_)?v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|m18|mc|mch|mddr|sim[12])$": description: LDOs with variable output and 0~100/10mV tuning type: object $ref: regulator.yaml# @@ -130,11 +137,50 @@ required: additionalProperties: false +allOf: + - if: + properties: + compatible: + const: mediatek,mt6358-regulator + then: + patternProperties: + # Old regulator node name scheme (with prefix and underscores) only + # ([^y-] is used to avoid matching -supply + "^(? - regulator { + mt6358-regulator { compatible = "mediatek,mt6358-regulator"; buck_vgpu { @@ -156,4 +202,46 @@ examples: }; }; + mt6366-regulator { + compatible = "mediatek,mt6366-regulator", "mediatek,mt6358-regulator"; + + vdram1 { + regulator-name = "pp1125_emi_vdd2"; + regulator-min-microvolt = <1125000>; + regulator-max-microvolt = <1125000>; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <0>; + regulator-allowed-modes = ; + regulator-always-on; + }; + + vproc11 { + regulator-name = "ppvar_dvdd_proc_bc_mt6366"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1200000>; + regulator-ramp-delay = <6250>; + regulator-enable-ramp-delay = <200>; + regulator-allowed-modes = ; + regulator-always-on; + }; + + vmddr { + regulator-name = "pm0750_emi_vmddr"; + regulator-min-microvolt = <700000>; + regulator-max-microvolt = <750000>; + regulator-enable-ramp-delay = <325>; + regulator-always-on; + }; + + vsram-proc11 { + regulator-name = "pp0900_dvdd_sram_bc"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1120000>; + regulator-ramp-delay = <6250>; + regulator-enable-ramp-delay = <240>; + regulator-always-on; + }; + }; ...