From patchwork Tue Oct 1 10:41:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Macpaul Lin X-Patchwork-Id: 13817748 Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D72F1A08BD; Tue, 1 Oct 2024 10:42:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727779367; cv=none; b=lW9QZeguUk5LYjVl9a4XDDdTe3IadRrcRK8vn22yfpwoBcUlEixJvQgXUld/KE1bbCD/3odaR89214KTojAZz9ASgs9zcEInJOazaY1xoBUfenJrcfb0PQVCrExiXbNx2whZcjlef52IR4sS2FRPif34qPS+gyX4To2+70VDPzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727779367; c=relaxed/simple; bh=PBR2XbLbwEgZTvbKy4D8ETn+7ULQJ9J3luy9HzPVZ1k=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=h2IF3dP32ke6qR1QceAZd+pOZCR/3oHwxeNcriZ/eNC71QUFv8uc2hL8W81EkdwlNTy3PxAI5+VjVvbwZHaqW6V50Dw4K+eryzOpga5AWHbGN5RZ23w8AnWOjm4DAfAAeaUQUZ7CCiVDO0an26nRnzN6fcz4jEIOvGYYWimbnGU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=C1NGsjKl; arc=none smtp.client-ip=210.61.82.184 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="C1NGsjKl" X-UUID: e0ccc6487fe111ef8b96093e013ec31c-20241001 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=c8MJ6ThBy74cyDGkTROWXQuwTZC3fJ/77mQ0JIWUhxg=; b=C1NGsjKlY6P+kQ+7K4KaNtsmo4YtPqlHfm8m2OZCggWh2ltnl4SQTKrXY21sK2NbRweThi0zul9pztDb4DLX9un64cxmaakdHNYTbnUzaGUbtT6bhFDgPF1KrWrQUaQIDblv3EHAdRJYJZ4GtCBuoRzfhnCrXIB0XII5aki3G6s=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.41,REQID:31999dc5-c90a-4a8b-a403-3c80e123eeb1,IP:0,U RL:25,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:25 X-CID-META: VersionHash:6dc6a47,CLOUDID:9b6c0dd1-7921-4900-88a1-3aef019a55ce,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:11|1,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES :1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULN X-UUID: e0ccc6487fe111ef8b96093e013ec31c-20241001 Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1804667157; Tue, 01 Oct 2024 18:42:38 +0800 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by mtkmbs11n2.mediatek.inc (172.21.101.187) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 1 Oct 2024 18:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Tue, 1 Oct 2024 18:42:37 +0800 From: Macpaul Lin To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Pavel Machek , Lee Jones , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Sebastian Reichel , Liam Girdwood , Mark Brown , Alexandre Belloni , , , , , , , , , , , Alexandre Mergnat CC: Bear Wang , Pablo Sun , Macpaul Lin , Chris-qj chen , MediaTek Chromebook Upstream , Chen-Yu Tsai Subject: [PATCH v8 1/3] regulator: dt-bindings: mt6323: Convert to DT schema Date: Tue, 1 Oct 2024 18:41:43 +0800 Message-ID: <20241001104145.24054-1-macpaul.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MTK: N Convert the MT6323 regulator binding from the old text-based format to the new DT schema style. The property "regulator-name" has been added as required property to reflect current usage in mt6323.dtsi. Examples have been streamlined and relocated to the parent schema file: mfd/mediatek,mt6397.yaml. Update maintainer and submitter information with new entries from MediaTek. The reference document cited in "mediatek,mt7530.yaml" has been updated to point to this new DT schema file Signed-off-by: Sen Chu Signed-off-by: Macpaul Lin Reviewed-by: Krzysztof Kozlowski Acked-by: Mark Brown Reviewed-by: AngeloGioacchino Del Regno --- .../bindings/net/dsa/mediatek,mt7530.yaml | 4 +- .../regulator/mediatek,mt6323-regulator.yaml | 119 +++++++++ .../bindings/regulator/mt6323-regulator.txt | 237 ------------------ 3 files changed, 121 insertions(+), 239 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6323-regulator.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/mt6323-regulator.txt Changes for v1 and v2: - This is the first version of converting mt6323-regulator. This is because converting mt6323-regulator together with mfd/mediatek,mt6397.yaml, so we've create a patch set instead of single patch for each skydives. - This patch has been made base on linux-next/master git repo. Changes for v3: - Rebased on linux-next/master git repo near next-20240906. - Added 'regulator-name' to 'requried' property to reflect current usage. - replace ^(buck_)? and ^(ldo_)? to ^buck_ and ^ldo_ prefix. - Update file name of 'mediatek,mt6323-regulator.yaml' in 'mediatek,mt7530.yaml' Changes for v4: - No change. Changes for v5: - Add "Reviewed-by" in commit message. Thanks for the review! - Remove a blank line at EOF whcih causes whitespace warning when 'git am' the patch. Changes for v6: - No change. Changes for v7: - Add "Acked-by" tag, Thanks for the review. Changes for v8: - No change diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml index ea979bcae1d6..413db386f090 100644 --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml @@ -129,8 +129,8 @@ properties: io-supply: description: | Phandle to the regulator node necessary for the I/O power. - See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt for - details for the regulator setup on these boards. + See Documentation/devicetree/bindings/regulator/mediatek,mt6323-regulator.yaml + for details for the regulator setup on these boards. mediatek,mcm: type: boolean diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6323-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6323-regulator.yaml new file mode 100644 index 000000000000..9bc9aa9a4eb7 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6323-regulator.yaml @@ -0,0 +1,119 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/mediatek,mt6323-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek MT6323 Regulator + +maintainers: + - John Crispin + - Sen Chu + - Macpaul Lin + +description: | + Regulator node of the PMIC. This node should under the PMIC's device node. + All voltage regulators provided by the PMIC are described as sub-nodes of + this node. + +properties: + compatible: + items: + - const: mediatek,mt6323-regulator + +patternProperties: + "^buck_v(pa|proc|sys)$": + description: Buck regulators + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + + "^ldo_v(camio|cn18)$": + description: LDO with fixed 1.8V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + + "^ldo_v((io|rf)18)$": + description: LDOs with fixed 1.825V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + + "^ldo_v(a|rtc|tcxo|(cn|io)28)$": + description: LDOs with fixed 2.8V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + + "^ldo_v(usb)$": + description: LDOs with fixed 3.3V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + + "^ldo_v(cn33_(bt|wifi))$": + description: LDOs with variable 3.3V output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + + "^ldo_v(cama|camaf|camd|emc3v3|gp[123]|ibr|m|mc|mch|sim[12])$": + description: LDOs with variable output and 0~100/10mV tuning + type: object + $ref: regulator.yaml# + + properties: + regulator-allowed-modes: false + + unevaluatedProperties: false + + required: + - regulator-name + +required: + - compatible + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/regulator/mt6323-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6323-regulator.txt deleted file mode 100644 index a48749db4df3..000000000000 --- a/Documentation/devicetree/bindings/regulator/mt6323-regulator.txt +++ /dev/null @@ -1,237 +0,0 @@ -Mediatek MT6323 Regulator - -All voltage regulators are defined as subnodes of the regulators node. A list -of regulators provided by this controller are defined as subnodes of the -PMIC's node. Each regulator is named according to its regulator type, -buck_ and ldo_. The definition for each of these nodes is defined -using the standard binding for regulators at -Documentation/devicetree/bindings/regulator/regulator.txt. - -The valid names for regulators are:: -BUCK: - buck_vproc, buck_vsys, buck_vpa -LDO: - ldo_vtcxo, ldo_vcn28, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_va, ldo_vcama, - ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch, ldo_vemc3v3, ldo_vgp1, ldo_vgp2, - ldo_vgp3, ldo_vcn18, ldo_vsim1, ldo_vsim2, ldo_vrtc, ldo_vcamaf, ldo_vibr, - ldo_vrf18, ldo_vm, ldo_vio18, ldo_vcamd, ldo_vcamio - -Example: - - pmic: mt6323 { - mt6323regulator: regulators { - mt6323_vproc_reg: buck_vproc{ - regulator-name = "vproc"; - regulator-min-microvolt = < 700000>; - regulator-max-microvolt = <1350000>; - regulator-ramp-delay = <12500>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vsys_reg: buck_vsys{ - regulator-name = "vsys"; - regulator-min-microvolt = <1400000>; - regulator-max-microvolt = <2987500>; - regulator-ramp-delay = <25000>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vpa_reg: buck_vpa{ - regulator-name = "vpa"; - regulator-min-microvolt = < 500000>; - regulator-max-microvolt = <3650000>; - }; - - mt6323_vtcxo_reg: ldo_vtcxo{ - regulator-name = "vtcxo"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-enable-ramp-delay = <90>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vcn28_reg: ldo_vcn28{ - regulator-name = "vcn28"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-enable-ramp-delay = <185>; - }; - - mt6323_vcn33_bt_reg: ldo_vcn33_bt{ - regulator-name = "vcn33_bt"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3600000>; - regulator-enable-ramp-delay = <185>; - }; - - mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{ - regulator-name = "vcn33_wifi"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3600000>; - regulator-enable-ramp-delay = <185>; - }; - - mt6323_va_reg: ldo_va{ - regulator-name = "va"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-enable-ramp-delay = <216>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vcama_reg: ldo_vcama{ - regulator-name = "vcama"; - regulator-min-microvolt = <1500000>; - regulator-max-microvolt = <2800000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vio28_reg: ldo_vio28{ - regulator-name = "vio28"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-enable-ramp-delay = <216>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vusb_reg: ldo_vusb{ - regulator-name = "vusb"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <216>; - regulator-boot-on; - }; - - mt6323_vmc_reg: ldo_vmc{ - regulator-name = "vmc"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <36>; - regulator-boot-on; - }; - - mt6323_vmch_reg: ldo_vmch{ - regulator-name = "vmch"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <36>; - regulator-boot-on; - }; - - mt6323_vemc3v3_reg: ldo_vemc3v3{ - regulator-name = "vemc3v3"; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <36>; - regulator-boot-on; - }; - - mt6323_vgp1_reg: ldo_vgp1{ - regulator-name = "vgp1"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vgp2_reg: ldo_vgp2{ - regulator-name = "vgp2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3000000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vgp3_reg: ldo_vgp3{ - regulator-name = "vgp3"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1800000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vcn18_reg: ldo_vcn18{ - regulator-name = "vcn18"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vsim1_reg: ldo_vsim1{ - regulator-name = "vsim1"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3000000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vsim2_reg: ldo_vsim2{ - regulator-name = "vsim2"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3000000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vrtc_reg: ldo_vrtc{ - regulator-name = "vrtc"; - regulator-min-microvolt = <2800000>; - regulator-max-microvolt = <2800000>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vcamaf_reg: ldo_vcamaf{ - regulator-name = "vcamaf"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vibr_reg: ldo_vibr{ - regulator-name = "vibr"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <36>; - }; - - mt6323_vrf18_reg: ldo_vrf18{ - regulator-name = "vrf18"; - regulator-min-microvolt = <1825000>; - regulator-max-microvolt = <1825000>; - regulator-enable-ramp-delay = <187>; - }; - - mt6323_vm_reg: ldo_vm{ - regulator-name = "vm"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1800000>; - regulator-enable-ramp-delay = <216>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vio18_reg: ldo_vio18{ - regulator-name = "vio18"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-enable-ramp-delay = <216>; - regulator-always-on; - regulator-boot-on; - }; - - mt6323_vcamd_reg: ldo_vcamd{ - regulator-name = "vcamd"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1800000>; - regulator-enable-ramp-delay = <216>; - }; - - mt6323_vcamio_reg: ldo_vcamio{ - regulator-name = "vcamio"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-enable-ramp-delay = <216>; - }; - }; - }; From patchwork Tue Oct 1 10:41:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Macpaul Lin X-Patchwork-Id: 13817750 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B67121BD4FF; Tue, 1 Oct 2024 10:42:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.244.123.138 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727779371; cv=none; b=sHeVtY8NOnecWCUgUI4qY2cELjpOSXUZ3KNMLHknT2wSVk2HvctlGIi7SwbhKbuU3LK9DpBP0/9azZPVUu7az1y/ojQA67/k0AibFBVufouhVfpGuavxezE9QZM02e4/HCc4qQisNOGqCTLH1nRdSTbbspnkS5+Vl9xoiVJk/gI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727779371; c=relaxed/simple; bh=dJs6EcxL4K8pt1yMgHkUTHHoTrM4ZNUfe5zYSZbGF8M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=N9ZXB+SBsl+Kujbayknt6eTSoDii/njScoEAs3UJdnsAnHoQN1W62gjD64jDk+B8fz7QaDCygm79vztmO6LB3UVleQxmXOZWBqS6suHKgEC2DqSQwZFpoyWKETCHeXcUhiVxtP9M5fmj08hie9rY9nvkYmOtOD7MhGAHClcB/88= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=t7pcaRrs; arc=none smtp.client-ip=60.244.123.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="t7pcaRrs" X-UUID: e29438da7fe111efb66947d174671e26-20241001 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=9h2AN7Pq2LenjUFdInGpO8HzlSkTBGgn5u5KpjpvMF4=; b=t7pcaRrsAqKeEW/zl4z7w4t7BFIROuOt7SVnpDgGRyGJNKY6euPTdNGtOJMuGbaFKe61FL02acDnPt2whmfaSeEfjw+1XiH4ZHO3C4lkQ76cObfoPOdMAzv9oMZyNiwt1F4OejCsJD/jFBe0DZHPfS/z6RIRRoW33H02RUKGXq8=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.41,REQID:3e198948-bdfa-4d8e-8ed6-c02ee9eca8df,IP:0,U RL:25,TC:0,Content:0,EDM:-30,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:-5 X-CID-META: VersionHash:6dc6a47,CLOUDID:c66c0dd1-7921-4900-88a1-3aef019a55ce,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:2,IP:nil,UR L:11|1,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES: 1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULN X-UUID: e29438da7fe111efb66947d174671e26-20241001 Received: from mtkmbs10n2.mediatek.inc [(172.21.101.183)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 369096409; Tue, 01 Oct 2024 18:42:41 +0800 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 1 Oct 2024 18:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Tue, 1 Oct 2024 18:42:37 +0800 From: Macpaul Lin To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Pavel Machek , Lee Jones , Matthias Brugger , "AngeloGioacchino Del Regno" , Sen Chu , Sean Wang , Macpaul Lin , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S . Miller" , Eric Dumazet , "Jakub Kicinski" , Paolo Abeni , "Sebastian Reichel" , Liam Girdwood , Mark Brown , Alexandre Belloni , , , , , , , , , , , Alexandre Mergnat CC: Bear Wang , Pablo Sun , Macpaul Lin , Chris-qj chen , MediaTek Chromebook Upstream , Chen-Yu Tsai Subject: [PATCH v8 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema Date: Tue, 1 Oct 2024 18:41:44 +0800 Message-ID: <20241001104145.24054-2-macpaul.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20241001104145.24054-1-macpaul.lin@mediatek.com> References: <20241001104145.24054-1-macpaul.lin@mediatek.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--8.258200-8.000000 X-TMASE-MatchedRID: JuwS8u+P+pA1BACrQFB3pa+dYEguu4aVklihY7W5fUxUjspoiX02Fwn9 ofQNoBQFt+ki9vYAWeaIJs0Up7vkWKo77AcuQhw7dARARTk4h59U+YqtAU+F2SgVbxW7FDOVHi5 rbi6X2h2JTSQ4G0hWQLL0CwDGT5MlADAYgCjdKFvvVbHa5Rs8t1ObpRiWjuVrIsN8PGi3TSwRZc CYVXElTpwCAg0q+xEsSr0hcvT6aq8EdG16FO0c4qngbqTYC4GHy3fMd7pCml7FHcwKL6UE/596w YYIuKaFfKdRUvnWmGDApfx+k77KMl3IljUA3Oevk3ewifG2MNN9LQinZ4QefIWH8POvJNOW9zw4 lzv7RUmOhzOa6g8KrbTiaXyQDQEp0UbSnLRuekR0IPWaIbWG/t0CF3bDbbc2OCk+r9kDgUo= X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--8.258200-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: CBCD299509747FDA9833C30EF7C0EDCC9C5364A8636212AAA745C74A5B310BA42000:8 X-MTK: N Convert the MediaTek MT6358 Audio CODEC bindings to DT schema. This change implements the following updates: 1. Compatible property: Added the const 'mediatek,mt6358-sound' to ensure alignment with the schema in the actual (DTS) file "mt8186-corsola.dtsi" with 'mediatek,mt6366-sound'. 2. Example: Removed the example section, as it should be relocated to the MT6397 PMIC file 'mfd/mediatek,mt6397.yaml'. 3. Use filename 'mediatek,mt6358-sound.yaml' to align the compatible name. Signed-off-by: Macpaul Lin Reviewed-by: Krzysztof Kozlowski --- .../bindings/sound/mediatek,mt6358-sound.yaml | 44 +++++++++++++++++++ .../devicetree/bindings/sound/mt6358.txt | 26 ----------- 2 files changed, 44 insertions(+), 26 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt6358-sound.yaml delete mode 100644 Documentation/devicetree/bindings/sound/mt6358.txt Changess for v1~v6: - It was not in the origin patch set. Changes for v7: - It is seperated from the origin patch set (2/2, v6). It could simplifies the audio-codec node in next patch (3/3, v7) of 'mfd/mediatek,mt6397.yaml' Changes for v8: - Update compatible property with 'oneOf:' and 'items' syntax. Thanks for the suggestion. - Replace 'mt6358.yaml' with 'mediatek,mt6358-sound.yaml' to align the compatible name. diff --git a/Documentation/devicetree/bindings/sound/mediatek,mt6358-sound.yaml b/Documentation/devicetree/bindings/sound/mediatek,mt6358-sound.yaml new file mode 100644 index 000000000000..36eb111f5746 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/mediatek,mt6358-sound.yaml @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/mediatek,mt6358-sound.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mediatek MT6358 Audio Codec + +maintainers: + - Jiaxin Yu + - Macpaul Lin + +description: | + The communication between MT6358 and SoC is through Mediatek PMIC wrapper. + For more detail, please visit Mediatek PMIC wrapper documentation. + Must be a child node of PMIC wrapper. + +properties: + compatible: + oneOf: + - enum: + - mediatek,mt6358-sound + - items: + - enum: + - mediatek,mt6366-sound + - const: mediatek,mt6358-sound + + Avdd-supply: + description: Power source of AVDD + + mediatek,dmic-mode: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Indicates how many data pins are used to transmit two channels of PDM + signal. 0 means two wires, 1 means one wire. Default value is 0. + enum: + - 0 # two wires + - 1 # one wire + +required: + - compatible + - Avdd-supply + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/sound/mt6358.txt b/Documentation/devicetree/bindings/sound/mt6358.txt deleted file mode 100644 index fbe9e55c68f5..000000000000 --- a/Documentation/devicetree/bindings/sound/mt6358.txt +++ /dev/null @@ -1,26 +0,0 @@ -Mediatek MT6358 Audio Codec - -The communication between MT6358 and SoC is through Mediatek PMIC wrapper. -For more detail, please visit Mediatek PMIC wrapper documentation. - -Must be a child node of PMIC wrapper. - -Required properties: - -- compatible - "string" - One of: - "mediatek,mt6358-sound" - "mediatek,mt6366-sound" -- Avdd-supply : power source of AVDD - -Optional properties: -- mediatek,dmic-mode : Indicates how many data pins are used to transmit two - channels of PDM signal. 0 means two wires, 1 means one wire. Default - value is 0. - -Example: - -mt6358_snd { - compatible = "mediatek,mt6358-sound"; - Avdd-supply = <&mt6358_vaud28_reg>; - mediatek,dmic-mode = <0>; -}; From patchwork Tue Oct 1 10:41:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Macpaul Lin X-Patchwork-Id: 13817749 Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 007021A0AF4; Tue, 1 Oct 2024 10:42:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727779369; cv=none; b=U3iaF1veJso4H+QacmBDI3cuJ1Xt4a3AWy3VMclYyU64zgCE9qx75Qotv+Lgu3nzeUTbJKOQpE/Ll+byQK0Jbo61LCgRn3NPp2IoJXjnIXuKrYVfLFC3q9TS9bLtp8ThvqX01k7ZgsfWxXh/MYJo9F30jv+8n8omCM0yJJIQF84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727779369; c=relaxed/simple; bh=4V38gsD7YjogMVG594FGn0SaX5x/DGP2mAr95G2BdH0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qeptmnh4mNphBPqr8DbQyoIa6HFbraolHxwTaZd7stPp7BOJLrOP/sFV3f4b2/jLFc5KbC/uFojz3axox9rx8P26zu+ZEF4NrKP5aouasBpazNr7lGwY5Cjvo5N8cMEftukWiEj6zMcsVhkGvQtW9qTp+Hy+zisaHSSc0Z4MRbo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=VpZF4/qy; arc=none smtp.client-ip=210.61.82.184 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="VpZF4/qy" X-UUID: e1b5af2a7fe111ef8b96093e013ec31c-20241001 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=9lU2szfnDPjcB0wvoIKPgdyqbJ7sKvip3AhwsvX4wrk=; b=VpZF4/qyhkl8a+Hh/bHwuNRWx9emwHf7ARquAnwmCmPu1bSDRXyhOnAdmUn7LWw+K6S+Iu0KIMjgJWFEvPTLMs+y1lmr8P77vQDWJVb9QHD4K87H6eeb5sMsL9eRl2R9LIUuOqOtG+brThCVwibEUbN6+JCZZD8BIDXmVvG2X/0=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.41,REQID:3edcbfd4-081a-44e5-a949-695d75932254,IP:0,U RL:25,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION :release,TS:25 X-CID-META: VersionHash:6dc6a47,CLOUDID:9c6c0dd1-7921-4900-88a1-3aef019a55ce,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:11|1,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES :1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_ULN,TF_CID_SPAM_SNR X-UUID: e1b5af2a7fe111ef8b96093e013ec31c-20241001 Received: from mtkmbs09n1.mediatek.inc [(172.21.101.35)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 723668289; Tue, 01 Oct 2024 18:42:40 +0800 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 1 Oct 2024 18:42:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Tue, 1 Oct 2024 18:42:37 +0800 From: Macpaul Lin To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Pavel Machek , Lee Jones , Matthias Brugger , "AngeloGioacchino Del Regno" , Sen Chu , Sean Wang , Macpaul Lin , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S . Miller" , Eric Dumazet , "Jakub Kicinski" , Paolo Abeni , "Sebastian Reichel" , Liam Girdwood , Mark Brown , Alexandre Belloni , , , , , , , , , , , Alexandre Mergnat CC: Bear Wang , Pablo Sun , Macpaul Lin , Chris-qj chen , MediaTek Chromebook Upstream , Chen-Yu Tsai Subject: [PATCH v8 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format Date: Tue, 1 Oct 2024 18:41:45 +0800 Message-ID: <20241001104145.24054-3-macpaul.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20241001104145.24054-1-macpaul.lin@mediatek.com> References: <20241001104145.24054-1-macpaul.lin@mediatek.com> Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--19.996600-8.000000 X-TMASE-MatchedRID: t5e3TaqpQRhIGJIfj527f1VN8laWo90MoBevD9xxU5ktxWNuz6R5rHik i0zUgl6qqoVr5ivdQnVRoKA1TMJV00MpVZZsZyZG85L5JHGOAXAK3n1SHen81VwpnAAvAwazD3J fu36QI2HvmThdkOSubpKEiVMnqHfSWMdM9kuqT+XMU6h4F0f+fRZO94uK1VSB75LC8k9qx9Fm+j 6YVbX2YMrdT5sfS91sTn5ltUJ9XHKp2D+ysBQGeXQEQEU5OIef+KgiyLtJrSBh2fnHe1cilwOHl es/nBwnQjVCTOXMe43vj10wo6VVaxU6ICSJjf97jNvYZHpO13dQCOsAlaxN7wsIL6sgb35loafp y00KpJeOG+2Qey2wgBy97tOZ2mTwWoXrGgep62bylEfNwb6iLcMdI0UcXEHzWabPstVV86kRRuB BgUeHeFCehr6keVKNJFhwJyCl9Ze+insCPcWTgQwfhKwa9GwDHzdbEmjUgfVsmSfP7d/dpcRPjG SZfgG8raEVmNLmFzoVcSmwSe8BTEN64DZ+6OgVB7TqRAYVohb+yhO1yCoLfGmj1qXcLu1iXvbV/ VnUv0rIW7wgrBu8QYIsX5MNkTx7AhuD3vb9A1v7wup9zY+8A7/MqlpyYVLBc/7vk3B9VOwKrrBp 7/odmelBmedFcLqgNgNt8XFlSSpM4VjZ76ar2KDH6drx3JPVCI3p+Ju8mqryBb/8Xo9bM236EKe h67GWnmkKx4n0E8ixf6SQK/AFGFxxDx5qbkR9FEUknJ/kEl5oFT3KzpHqEzOrHoO19Vm2joczmu oPCq2UTGVAhB5EbQ== X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--19.996600-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: 559DBBF1DEDDC85B5F9BAD58E527CD515145607AC51F05EB5345D3CFB978FB632000:8 X-MTK: N Convert the mfd: mediatek: mt6397 binding to DT schema format. MT6323, MT6358, and MT6397 are PMIC devices with multiple function subdevices. They share a common PMIC design but have variations in subdevice combinations. Key updates in this conversion: 1. RTC: - Convert rtc-mt6397.txt and merge into parent MT6397 PMIC DT schema. 2. Regulators: - Align to generic name "regulators". - Update references from .txt to .yaml for mt6323, mt6358, and mt6397 regulators. - Simplify regulator name labels in device tree examples. 3. Audio Codec: - Simplify Audio Codec part with updating compatible items. - Align to generic name "audio-codec" for codec and sound subdevices. 4. Clocks: - Align to generic name "clocks" for clockbuffer subdevices. 5. LEDs: - Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema. - Update LED binding. 6. Keys: - Add detailed descriptions for power and home keys. - Add compatible: mediatek,mt6358-keys. 7. Power Controller: - Convert mt6323-poweroff.txt and merge into parent MT6397 PMIC DT schema. - Add #power-domain-cells property to fix dt-binding check error. - Clarify "BBPU" as "Baseband power up". 8. Pinctrl: - Align to generic name "pinctrl" instead of "pin-controller". 9. Compatible: - Drop "mediatek,mt6357" since there is a separated DT Schema for PMIC MT6357. 10. Examples: - MT6323: Retain complete examples for this PMIC. - MT6358 and MT6397: simplify settings in regulators. - Preserve "audio-codec", "clocks", "pinctrl", "rtc", and "keys" sections as they contain typical settings for different PMICs. Additional updates: - MAINTAINERS: Add co-maintainers and reference to mfd/mediatek,mt6397.yaml for LED and power-controller drivers. - input/mediatek,pmic-keys.yaml: Update reference to mfd/mediatek,mt6397.yaml. Signed-off-by: Sen Chu Signed-off-by: Macpaul Lin Reviewed-by: Krzysztof Kozlowski Acked-by: Sebastian Reichel --- .../bindings/input/mediatek,pmic-keys.yaml | 2 +- .../devicetree/bindings/leds/leds-mt6323.txt | 63 -- .../bindings/mfd/mediatek,mt6397.yaml | 588 ++++++++++++++++++ .../devicetree/bindings/mfd/mt6397.txt | 110 ---- .../bindings/power/reset/mt6323-poweroff.txt | 20 - .../devicetree/bindings/rtc/rtc-mt6397.txt | 31 - MAINTAINERS | 8 +- 7 files changed, 595 insertions(+), 227 deletions(-) delete mode 100644 Documentation/devicetree/bindings/leds/leds-mt6323.txt create mode 100644 Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/mt6397.txt delete mode 100644 Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt delete mode 100644 Documentation/devicetree/bindings/rtc/rtc-mt6397.txt Changes for v1: - This patch depends on conversion of mediatek,mt6397-regulator.yaml [1] https://lore.kernel.org/lkml/20240807091738.18387-1-macpaul.lin@mediatek.com/T/ Changes for v2: - This patch has been made base on linux-next/master git repo. - Keep the parent and child relationship with mediatek,pwrap in description. [2] https://lore.kernel.org/all/20240826-slurp-earphone-0d5173923ae8@spud/ - Keep the $ref for regulators since dt_binding_check didn't report any issue based on linux-next/master repo. - Fix description of mt6397/mt6323 devices, use "power management chip" instead of "multifunction device" - Drop unnecessary comments or description according to the review. - Convert sub-modules to DT Schema: - RTC, LEDs, power-controllers, regulators - Drop duplicate sub node name and description for sub-modules - RTC, Keys - examples: - drop parent pwrap node - Add examples from mediatek,mt6323-regulator.yaml - Add examples from mediatek,mt6358-regulator.yaml - Add examples from mediatek,mt6397-regulator.yaml - Complete the examples as could as possible. Changes for v3: - Rebased on linux-next/master git repo near next-20240906. - Revise commit message. - Regulators: - Use "additionalProperties: true" and add "contains" for matching $ref DT bindings. - Simplify regulator name labels in device tree examples. - LEDs: - Use LED bindings. - Squash following patches in v2 for removing old text format DT bindings into this patch, includes: - leds-mt6323.txt, mt6323-poweroff.txt, rtc-mt6397.txt, sound/mt6358.txt. - Fix file format of DT schemas, add blank between properties. - Fix 'make checkrefdoc' errors, update reference in mediatek,pmic-keys.yaml. Changes for v4: - Remove "mediatek,mt6357" from PMIC's compatible string since there is a seperated DT schema for PMIC mt6357. Changes for v5: - Rebase to next-20240913 (linux-next/master). - Fix the "title" (device type) of mfd/mediatek,mt6397.yaml to "PMIC". - RTC: - Drop "start-year" - Regulators: - Add blank lines between description and properties. - Drop allOf for the $ref section on property. - clocks: - Fix no need '|' in descriptoin. - Add blank lines between description and properties. - Keys: - Drop compatible since these enums are already in $ref. - pinctrl: - Drop compatible since it is already in $ref. - examples: - Fix indentations for leds and keys. Changes for v6: - Commit message: - Add note for simplifying examples of mt6358 and mt6397. - examples: - Fix indentations for mt6323-keys. - MT6358 and MT6397: simplify settings in regulators. - Preserve "audio-codec", "clocks", "pinctrl", "rtc", and "keys" sections as they contain typical settings for different PMICs. Changes for v7: - Add reference patch in commit message - https://lore.kernel.org/all/20240925171156.9115-1-macpaul.lin@mediatek.com/ - adc: - Merge adc property from patch [1], which is newly added and was not in the origin text format bindings. - Re-order items in commit messages. - regulators: - Merge new compatible 'mt6359-regulator' from patch [1], which is newly added and was not in the origin text format bindings. - audio-codec: - Simplify Audio Codec part with updating compatible items. - Add 'mt6359-codec' to the compatible. - Depends on the newly added mt6358.yaml (2/3 of v7) in this v7 patch set. Changes for v8: - Keep this patch as simple as the DT schema conversion. - Drop adc node and newly added 'mt6359-regulator' and 'mt6359-codec'. diff --git a/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml index 70567d92c746..466566ae7f10 100644 --- a/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml +++ b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml @@ -19,7 +19,7 @@ description: | by the PMIC that is defined as a Multi-Function Device (MFD). For MediaTek MT6323/MT6397 PMIC bindings see - Documentation/devicetree/bindings/mfd/mt6397.txt + Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml properties: compatible: diff --git a/Documentation/devicetree/bindings/leds/leds-mt6323.txt b/Documentation/devicetree/bindings/leds/leds-mt6323.txt deleted file mode 100644 index 052dccb8f2ce..000000000000 --- a/Documentation/devicetree/bindings/leds/leds-mt6323.txt +++ /dev/null @@ -1,63 +0,0 @@ -Device Tree Bindings for LED support on MT6323 PMIC - -MT6323 LED controller is subfunction provided by MT6323 PMIC, so the LED -controllers are defined as the subnode of the function node provided by MT6323 -PMIC controller that is being defined as one kind of Muti-Function Device (MFD) -using shared bus called PMIC wrapper for each subfunction to access remote -MT6323 PMIC hardware. - -For MT6323 MFD bindings see: -Documentation/devicetree/bindings/mfd/mt6397.txt -For MediaTek PMIC wrapper bindings see: -Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml - -Required properties: -- compatible : Must be one of - - "mediatek,mt6323-led" - - "mediatek,mt6331-led" - - "mediatek,mt6332-led" -- address-cells : Must be 1 -- size-cells : Must be 0 - -Each led is represented as a child node of the mediatek,mt6323-led that -describes the initial behavior for each LED physically and currently only four -LED child nodes can be supported. - -Required properties for the LED child node: -- reg : LED channel number (0..3) - -Optional properties for the LED child node: -- label : See Documentation/devicetree/bindings/leds/common.txt -- linux,default-trigger : See Documentation/devicetree/bindings/leds/common.txt -- default-state: See Documentation/devicetree/bindings/leds/common.txt - -Example: - - mt6323: pmic { - compatible = "mediatek,mt6323"; - - ... - - mt6323led: leds { - compatible = "mediatek,mt6323-led"; - #address-cells = <1>; - #size-cells = <0>; - - led@0 { - reg = <0>; - label = "LED0"; - linux,default-trigger = "timer"; - default-state = "on"; - }; - led@1 { - reg = <1>; - label = "LED1"; - default-state = "off"; - }; - led@2 { - reg = <2>; - label = "LED2"; - default-state = "on"; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml new file mode 100644 index 000000000000..1f2b78707614 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml @@ -0,0 +1,588 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/mediatek,mt6397.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek MT6397/MT6323 PMIC + +maintainers: + - Sen Chu + - Macpaul Lin + +description: | + MT6397/MT6323 is a power management system chip. + Please see the sub-modules below for supported features. + + MT6397/MT6323 is a multifunction device with the following sub modules: + - Regulators + - RTC + - Audio codec + - GPIO + - Clock + - LED + - Keys + - Power controller + + It is interfaced to host controller using SPI interface by a proprietary hardware + called PMIC wrapper or pwrap. MT6397/MT6323 PMIC is a child device of pwrap. + See the following for pwrap node definitions: + Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml + +properties: + compatible: + oneOf: + - enum: + - mediatek,mt6323 + - mediatek,mt6331 # "mediatek,mt6331" for PMIC MT6331 and MT6332. + - mediatek,mt6358 + - mediatek,mt6359 + - mediatek,mt6397 + - items: + - enum: + - mediatek,mt6366 + - const: mediatek,mt6358 + + interrupts: + maxItems: 1 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + rtc: + type: object + $ref: /schemas/rtc/rtc.yaml# + unevaluatedProperties: false + description: + MT6397 Real Time Clock. + + properties: + compatible: + oneOf: + - enum: + - mediatek,mt6323-rtc + - mediatek,mt6331-rtc + - mediatek,mt6358-rtc + - mediatek,mt6397-rtc + - items: + - enum: + - mediatek,mt6366-rtc + - const: mediatek,mt6358-rtc + + required: + - compatible + + regulators: + type: object + description: + List of child nodes that specify the regulators. + additionalProperties: true + + properties: + compatible: + oneOf: + - enum: + - mediatek,mt6323-regulator + - mediatek,mt6358-regulator + - mediatek,mt6397-regulator + - items: + - enum: + - mediatek,mt6366-regulator + - const: mediatek,mt6358-regulator + + required: + - compatible + + audio-codec: + type: object + description: + Audio codec support with MT6358 and MT6397. + additionalProperties: true + + properties: + compatible: + oneOf: + - enum: + - mediatek,mt6358-sound + - mediatek,mt6397-codec + - items: + - enum: + - mediatek,mt6366-sound + - const: mediatek,mt6358-sound + + required: + - compatible + + clocks: + type: object + additionalProperties: false + description: + This is a clock buffer node for mt6397. However, there are no sub nodes + or any public document exposed in public. + + properties: + compatible: + const: mediatek,mt6397-clk + + '#clock-cells': + const: 1 + + required: + - compatible + + leds: + type: object + additionalProperties: false + description: | + MT6323 LED controller is subfunction provided by MT6323 PMIC, so the LED + controllers are defined as the subnode of the function node provided by MT6323 + PMIC controller that is being defined as one kind of Muti-Function Device (MFD) + using shared bus called PMIC wrapper for each subfunction to access remote + MT6323 PMIC hardware. + + Each led is represented as a child node of the mediatek,mt6323-led that + describes the initial behavior for each LED physically and currently only four + LED child nodes can be supported. + + properties: + compatible: + enum: + - mediatek,mt6323-led + - mediatek,mt6331-led + - mediatek,mt6332-led + + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + patternProperties: + "^led@[0-3]$": + type: object + $ref: /schemas/leds/common.yaml# + unevaluatedProperties: false + + properties: + reg: + description: + LED channel number (0..3) + minimum: 0 + maximum: 3 + + required: + - reg + + required: + - compatible + - "#address-cells" + - "#size-cells" + + keys: + type: object + $ref: /schemas/input/mediatek,pmic-keys.yaml + unevaluatedProperties: false + description: + Power and Home keys. + + power-controller: + type: object + additionalProperties: false + description: + The power controller which could be found on PMIC is responsible for + externally powering off or on the remote MediaTek SoC through the + circuit BBPU (baseband power up). + + properties: + compatible: + const: mediatek,mt6323-pwrc + + '#power-domain-cells': + const: 0 + + pinctrl: + type: object + $ref: /schemas/pinctrl/mediatek,mt65xx-pinctrl.yaml + unevaluatedProperties: false + description: + Pin controller + +required: + - compatible + - regulators + +additionalProperties: false + +examples: + - | + #include + #include + + pmic { + compatible = "mediatek,mt6323"; + interrupt-parent = <&pio>; + interrupts = <150 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <2>; + + leds { + compatible = "mediatek,mt6323-led"; + #address-cells = <1>; + #size-cells = <0>; + }; + + regulators { + compatible = "mediatek,mt6323-regulator"; + + buck_vproc { + regulator-name = "vproc"; + regulator-min-microvolt = < 700000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <12500>; + regulator-always-on; + regulator-boot-on; + }; + + buck_vsys { + regulator-name = "vsys"; + regulator-min-microvolt = <1400000>; + regulator-max-microvolt = <2987500>; + regulator-ramp-delay = <25000>; + regulator-always-on; + regulator-boot-on; + }; + + buck_vpa { + regulator-name = "vpa"; + regulator-min-microvolt = < 500000>; + regulator-max-microvolt = <3650000>; + }; + + ldo_vtcxo { + regulator-name = "vtcxo"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <90>; + regulator-always-on; + regulator-boot-on; + }; + + ldo_vcn28 { + regulator-name = "vcn28"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <185>; + }; + + ldo_vcn33_bt { + regulator-name = "vcn33_bt"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3600000>; + regulator-enable-ramp-delay = <185>; + }; + + ldo_vcn33_wifi { + regulator-name = "vcn33_wifi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3600000>; + regulator-enable-ramp-delay = <185>; + }; + + ldo_va { + regulator-name = "va"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <216>; + regulator-always-on; + regulator-boot-on; + }; + + ldo_vcama { + regulator-name = "vcama"; + regulator-min-microvolt = <1500000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vio28 { + regulator-name = "vio28"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <216>; + regulator-always-on; + regulator-boot-on; + }; + + ldo_vusb { + regulator-name = "vusb"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <216>; + regulator-boot-on; + }; + + ldo_vmc { + regulator-name = "vmc"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <36>; + regulator-boot-on; + }; + + ldo_vmch { + regulator-name = "vmch"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <36>; + regulator-boot-on; + }; + + ldo_vemc3v3 { + regulator-name = "vemc3v3"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <36>; + regulator-boot-on; + }; + + ldo_vgp1 { + regulator-name = "vgp1"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vgp2 { + regulator-name = "vgp2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3000000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vgp3 { + regulator-name = "vgp3"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vcn18 { + regulator-name = "vcn18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vsim1 { + regulator-name = "vsim1"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3000000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vsim2 { + regulator-name = "vsim2"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3000000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vrtc { + regulator-name = "vrtc"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-always-on; + regulator-boot-on; + }; + + ldo_vcamaf { + regulator-name = "vcamaf"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vibr { + regulator-name = "vibr"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <36>; + }; + + ldo_vrf18 { + regulator-name = "vrf18"; + regulator-min-microvolt = <1825000>; + regulator-max-microvolt = <1825000>; + regulator-enable-ramp-delay = <187>; + }; + + ldo_vm { + regulator-name = "vm"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <216>; + regulator-always-on; + regulator-boot-on; + }; + + ldo_vio18 { + regulator-name = "vio18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <216>; + regulator-always-on; + regulator-boot-on; + }; + + ldo_vcamd { + regulator-name = "vcamd"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <216>; + }; + + ldo_vcamio { + regulator-name = "vcamio"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <216>; + }; + }; + + keys { + compatible = "mediatek,mt6323-keys"; + mediatek,long-press-mode = <1>; + power-off-time-sec = <0>; + + power { + linux,keycodes = <116>; + wakeup-source; + }; + + home { + linux,keycodes = <114>; + }; + }; + + power-controller { + compatible = "mediatek,mt6323-pwrc"; + #power-domain-cells = <0>; + }; + + rtc { + compatible = "mediatek,mt6323-rtc"; + }; + }; + + - | + #include + #include + + pmic { + compatible = "mediatek,mt6358"; + interrupt-controller; + #interrupt-cells = <2>; + + audio-codec { + compatible = "mediatek,mt6358-sound"; + Avdd-supply = <&mt6358_vaud28_reg>; + mediatek,dmic-mode = <0>; + }; + + regulators { + compatible = "mediatek,mt6358-regulator"; + + buck_vdram1 { + regulator-name = "vdram1"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <2087500>; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <0>; + regulator-always-on; + regulator-allowed-modes = <0 1>; + }; + + // ... + + ldo_vsim2 { + regulator-name = "vsim2"; + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <3100000>; + regulator-enable-ramp-delay = <540>; + }; + }; + + rtc { + compatible = "mediatek,mt6358-rtc"; + }; + + keys { + compatible = "mediatek,mt6358-keys"; + + power { + linux,keycodes = ; + wakeup-source; + }; + + home { + linux,keycodes = ; + }; + }; + }; + + - | + #include + + pmic { + compatible = "mediatek,mt6397"; + + interrupt-parent = <&pio>; + interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <2>; + + audio-codec { + compatible = "mediatek,mt6397-codec"; + }; + + clocks { + compatible = "mediatek,mt6397-clk"; + #clock-cells = <1>; + }; + + pinctrl { + compatible = "mediatek,mt6397-pinctrl"; + gpio-controller; + #gpio-cells = <2>; + }; + + regulators { + compatible = "mediatek,mt6397-regulator"; + + buck_vpca15 { + regulator-name = "vpca15"; + regulator-min-microvolt = < 850000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <12500>; + regulator-enable-ramp-delay = <200>; + }; + + // ... + + ldo_vibr { + regulator-name = "vibr"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <218>; + }; + }; + + rtc { + compatible = "mediatek,mt6397-rtc"; + }; + }; diff --git a/Documentation/devicetree/bindings/mfd/mt6397.txt b/Documentation/devicetree/bindings/mfd/mt6397.txt deleted file mode 100644 index 10540aa7afa1..000000000000 --- a/Documentation/devicetree/bindings/mfd/mt6397.txt +++ /dev/null @@ -1,110 +0,0 @@ -MediaTek MT6397/MT6323 Multifunction Device Driver - -MT6397/MT6323 is a multifunction device with the following sub modules: -- Regulator -- RTC -- Audio codec -- GPIO -- Clock -- LED -- Keys -- Power controller - -It is interfaced to host controller using SPI interface by a proprietary hardware -called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap. -See the following for pwarp node definitions: -../soc/mediatek/mediatek,pwrap.yaml - -This document describes the binding for MFD device and its sub module. - -Required properties: -compatible: - "mediatek,mt6323" for PMIC MT6323 - "mediatek,mt6331" for PMIC MT6331 and MT6332 - "mediatek,mt6357" for PMIC MT6357 - "mediatek,mt6358" for PMIC MT6358 - "mediatek,mt6359" for PMIC MT6359 - "mediatek,mt6366", "mediatek,mt6358" for PMIC MT6366 - "mediatek,mt6397" for PMIC MT6397 - -Optional subnodes: - -- rtc - Required properties: Should be one of follows - - compatible: "mediatek,mt6323-rtc" - - compatible: "mediatek,mt6331-rtc" - - compatible: "mediatek,mt6358-rtc" - - compatible: "mediatek,mt6397-rtc" - For details, see ../rtc/rtc-mt6397.txt -- regulators - Required properties: - - compatible: "mediatek,mt6323-regulator" - see ../regulator/mt6323-regulator.txt - - compatible: "mediatek,mt6358-regulator" - - compatible: "mediatek,mt6366-regulator", "mediatek-mt6358-regulator" - see ../regulator/mt6358-regulator.txt - - compatible: "mediatek,mt6397-regulator" - see ../regulator/mt6397-regulator.txt -- codec - Required properties: - - compatible: "mediatek,mt6397-codec" or "mediatek,mt6358-sound" -- clk - Required properties: - - compatible: "mediatek,mt6397-clk" -- led - Required properties: - - compatible: "mediatek,mt6323-led" - see ../leds/leds-mt6323.txt - -- keys - Required properties: Should be one of the following - - compatible: "mediatek,mt6323-keys" - - compatible: "mediatek,mt6331-keys" - - compatible: "mediatek,mt6397-keys" - see ../input/mtk-pmic-keys.txt - -- power-controller - Required properties: - - compatible: "mediatek,mt6323-pwrc" - For details, see ../power/reset/mt6323-poweroff.txt - -- pin-controller - Required properties: - - compatible: "mediatek,mt6397-pinctrl" - For details, see ../pinctrl/pinctrl-mt65xx.txt - -Example: - pwrap: pwrap@1000f000 { - compatible = "mediatek,mt8135-pwrap"; - - ... - - pmic { - compatible = "mediatek,mt6397"; - - codec: mt6397codec { - compatible = "mediatek,mt6397-codec"; - }; - - regulators { - compatible = "mediatek,mt6397-regulator"; - - mt6397_vpca15_reg: buck_vpca15 { - regulator-compatible = "buck_vpca15"; - regulator-name = "vpca15"; - regulator-min-microvolt = <850000>; - regulator-max-microvolt = <1400000>; - regulator-ramp-delay = <12500>; - regulator-always-on; - }; - - mt6397_vgp4_reg: ldo_vgp4 { - regulator-compatible = "ldo_vgp4"; - regulator-name = "vgp4"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <218>; - }; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt b/Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt deleted file mode 100644 index 933f0c48e887..000000000000 --- a/Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt +++ /dev/null @@ -1,20 +0,0 @@ -Device Tree Bindings for Power Controller on MediaTek PMIC - -The power controller which could be found on PMIC is responsible for externally -powering off or on the remote MediaTek SoC through the circuit BBPU. - -Required properties: -- compatible: Should be one of follows - "mediatek,mt6323-pwrc": for MT6323 PMIC - -Example: - - pmic { - compatible = "mediatek,mt6323"; - - ... - - power-controller { - compatible = "mediatek,mt6323-pwrc"; - }; - } diff --git a/Documentation/devicetree/bindings/rtc/rtc-mt6397.txt b/Documentation/devicetree/bindings/rtc/rtc-mt6397.txt deleted file mode 100644 index 7212076a8f1b..000000000000 --- a/Documentation/devicetree/bindings/rtc/rtc-mt6397.txt +++ /dev/null @@ -1,31 +0,0 @@ -Device-Tree bindings for MediaTek PMIC based RTC - -MediaTek PMIC based RTC is an independent function of MediaTek PMIC that works -as a type of multi-function device (MFD). The RTC can be configured and set up -with PMIC wrapper bus which is a common resource shared with the other -functions found on the same PMIC. - -For MediaTek PMIC MFD bindings, see: -../mfd/mt6397.txt - -For MediaTek PMIC wrapper bus bindings, see: -../soc/mediatek/pwrap.txt - -Required properties: -- compatible: Should be one of follows - "mediatek,mt6323-rtc": for MT6323 PMIC - "mediatek,mt6358-rtc": for MT6358 PMIC - "mediatek,mt6366-rtc", "mediatek,mt6358-rtc": for MT6366 PMIC - "mediatek,mt6397-rtc": for MT6397 PMIC - -Example: - - pmic { - compatible = "mediatek,mt6323"; - - ... - - rtc { - compatible = "mediatek,mt6323-rtc"; - }; - }; diff --git a/MAINTAINERS b/MAINTAINERS index a77770cd96b8..258892b1810c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14430,10 +14430,12 @@ F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.ya F: drivers/bluetooth/btmtkuart.c MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS +M: Sen Chu M: Sean Wang +M: Macpaul Lin L: linux-pm@vger.kernel.org S: Maintained -F: Documentation/devicetree/bindings/power/reset/mt6323-poweroff.txt +F: Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml F: drivers/power/reset/mt6323-poweroff.c MEDIATEK CIR DRIVER @@ -14594,9 +14596,11 @@ F: Documentation/devicetree/bindings/mtd/mediatek,mtk-nfc.yaml F: drivers/mtd/nand/raw/mtk_* MEDIATEK PMIC LED DRIVER +M: Sen Chu M: Sean Wang +M: Macpaul Lin S: Maintained -F: Documentation/devicetree/bindings/leds/leds-mt6323.txt +F: Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml F: drivers/leds/leds-mt6323.c MEDIATEK RANDOM NUMBER GENERATOR SUPPORT