* [PATCH v7 1/3] regulator: dt-bindings: mt6323: Convert to DT schema
@ 2024-09-30 7:33 Macpaul Lin
2024-09-30 7:33 ` [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema Macpaul Lin
2024-09-30 7:33 ` [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format Macpaul Lin
0 siblings, 2 replies; 11+ messages in thread
From: Macpaul Lin @ 2024-09-30 7:33 UTC (permalink / raw)
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, linux-input,
devicetree, linux-kernel, linux-leds, linux-arm-kernel,
linux-mediatek, linux-pm, netdev, linux-rtc, linux-sound,
Alexandre Mergnat
Cc: Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
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 <sen.chu@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Mark Brown <broonie@kernel.org>
---
.../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.
Change for v7:
- Add "Acked-by" tag, Thanks for the review.
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 <john@phrozen.org>
+ - Sen Chu <sen.chu@mediatek.com>
+ - Macpaul Lin <macpaul.lin@mediatek.com>
+
+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_<name> and ldo_<name>. 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>;
- };
- };
- };
--
2.45.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema
2024-09-30 7:33 [PATCH v7 1/3] regulator: dt-bindings: mt6323: Convert to DT schema Macpaul Lin
@ 2024-09-30 7:33 ` Macpaul Lin
2024-10-01 6:34 ` Krzysztof Kozlowski
2024-09-30 7:33 ` [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format Macpaul Lin
1 sibling, 1 reply; 11+ messages in thread
From: Macpaul Lin @ 2024-09-30 7:33 UTC (permalink / raw)
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, linux-input,
devicetree, linux-kernel, linux-leds, linux-arm-kernel,
linux-mediatek, linux-pm, netdev, linux-rtc, linux-sound,
Alexandre Mergnat
Cc: Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
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'.
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
---
.../devicetree/bindings/sound/mt6358.txt | 26 ------------
.../devicetree/bindings/sound/mt6358.yaml | 41 +++++++++++++++++++
2 files changed, 41 insertions(+), 26 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/sound/mt6358.txt
create mode 100644 Documentation/devicetree/bindings/sound/mt6358.yaml
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'
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>;
-};
diff --git a/Documentation/devicetree/bindings/sound/mt6358.yaml b/Documentation/devicetree/bindings/sound/mt6358.yaml
new file mode 100644
index 000000000000..5f7611e26a89
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/mt6358.yaml
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/mt6358.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mediatek MT6358 Audio Codec
+
+maintainers:
+ - Jiaxin Yu <jiaxin.yu@mediatek.com>
+ - Macpaul Lin <macpaul.lin@mediatek.com>
+
+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:
+ enum:
+ - mediatek,mt6366-sound
+ - mediatek,mt6358-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
--
2.45.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
2024-09-30 7:33 [PATCH v7 1/3] regulator: dt-bindings: mt6323: Convert to DT schema Macpaul Lin
2024-09-30 7:33 ` [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema Macpaul Lin
@ 2024-09-30 7:33 ` Macpaul Lin
2024-10-01 6:29 ` Krzysztof Kozlowski
1 sibling, 1 reply; 11+ messages in thread
From: Macpaul Lin @ 2024-09-30 7:33 UTC (permalink / raw)
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, linux-input,
devicetree, linux-kernel, linux-leds, linux-arm-kernel,
linux-mediatek, linux-pm, netdev, linux-rtc, linux-sound,
Alexandre Mergnat
Cc: Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
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.
- Add a new 'mt6359-regulator' to the compatibles of regulators.
Merge from the other patch [1].
3. ADC:
- Add a new 'adc' property and include a $ref for sub-device node of
MT6359 PMIC AUXADC: 'mediatek,mt6359-auxadc'.
Merge from the other patch [1].
4. Audio Codec:
- Simplify Audio Codec part with updating compatible items.
- Add 'mt6359-codec' to the compatible.
5. Clocks:
- Align to generic name "clocks" for clockbuffer subdevices.
6. LEDs:
- Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema.
- Update LED binding.
7. Keys:
- Add detailed descriptions for power and home keys.
- Add compatible: mediatek,mt6358-keys.
8. 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".
9. Pinctrl:
- Align to generic name "pinctrl" instead of "pin-controller".
10. Compatible:
- Drop "mediatek,mt6357" since there is a separated DT Schema
for PMIC MT6357.
11. 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.
References:
[1] https://lore.kernel.org/all/20240925171156.9115-1-macpaul.lin@mediatek.com/
Signed-off-by: Sen Chu <sen.chu@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
---
.../bindings/input/mediatek,pmic-keys.yaml | 2 +-
.../devicetree/bindings/leds/leds-mt6323.txt | 63 --
.../bindings/mfd/mediatek,mt6397.yaml | 596 ++++++++++++++++++
.../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, 603 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.
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..adbe4d64844b
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
@@ -0,0 +1,596 @@
+# 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 <sen.chu@mediatek.com>
+ - Macpaul Lin <macpaul.lin@mediatek.com>
+
+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
+ - ADC
+ - 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,mt6359-regulator
+ - mediatek,mt6397-regulator
+ - items:
+ - enum:
+ - mediatek,mt6366-regulator
+ - const: mediatek,mt6358-regulator
+
+ required:
+ - compatible
+
+ adc:
+ type: object
+ $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml#
+ unevaluatedProperties: false
+
+ audio-codec:
+ type: object
+ description:
+ Audio codec support with MT6358, MT6359, and MT6397.
+ additionalProperties: true
+
+ properties:
+ compatible:
+ oneOf:
+ - enum:
+ - mediatek,mt6358-sound
+ - mediatek,mt6359-codec
+ - 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 <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/leds/common.h>
+
+ 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 <dt-bindings/input/input.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ 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 = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ home {
+ linux,keycodes = <KEY_HOME>;
+ };
+ };
+ };
+
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ 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 3f3ed5600769..1d1ea25fc2e1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14421,10 +14421,12 @@ F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.ya
F: drivers/bluetooth/btmtkuart.c
MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
+M: Sen Chu <sen.chu@mediatek.com>
M: Sean Wang <sean.wang@mediatek.com>
+M: Macpaul Lin <macpaul.lin@mediatek.com>
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
@@ -14585,9 +14587,11 @@ F: Documentation/devicetree/bindings/mtd/mediatek,mtk-nfc.yaml
F: drivers/mtd/nand/raw/mtk_*
MEDIATEK PMIC LED DRIVER
+M: Sen Chu <sen.chu@mediatek.com>
M: Sean Wang <sean.wang@mediatek.com>
+M: Macpaul Lin <macpaul.lin@mediatek.com>
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
--
2.45.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
2024-09-30 7:33 ` [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format Macpaul Lin
@ 2024-10-01 6:29 ` Krzysztof Kozlowski
2024-10-01 6:35 ` Krzysztof Kozlowski
0 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-01 6:29 UTC (permalink / raw)
To: Macpaul Lin
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On Mon, Sep 30, 2024 at 03:33:11PM +0800, Macpaul Lin wrote:
> 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.
> - Add a new 'mt6359-regulator' to the compatibles of regulators.
Why?
> Merge from the other patch [1].
>
> 3. ADC:
> - Add a new 'adc' property and include a $ref for sub-device node of
> MT6359 PMIC AUXADC: 'mediatek,mt6359-auxadc'.
> Merge from the other patch [1].
>
> 4. Audio Codec:
> - Simplify Audio Codec part with updating compatible items.
> - Add 'mt6359-codec' to the compatible
Why?
.
>
> 5. Clocks:
> - Align to generic name "clocks" for clockbuffer subdevices.
>
> 6. LEDs:
> - Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema.
> - Update LED binding.
>
> 7. Keys:
> - Add detailed descriptions for power and home keys.
> - Add compatible: mediatek,mt6358-keys.
>
> 8. 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".
>
> 9. Pinctrl:
> - Align to generic name "pinctrl" instead of "pin-controller".
>
> 10. Compatible:
> - Drop "mediatek,mt6357" since there is a separated DT Schema
> for PMIC MT6357.
>
> 11. 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.
>
> References:
> [1] https://lore.kernel.org/all/20240925171156.9115-1-macpaul.lin@mediatek.com/
>
> Signed-off-by: Sen Chu <sen.chu@mediatek.com>
> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
> ---
> +
> + adc:
> + type: object
> + $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml#
> + unevaluatedProperties: false
> +
> + audio-codec:
> + type: object
> + description:
> + Audio codec support with MT6358, MT6359, and MT6397.
> + additionalProperties: true
No, this cannot be true. Schema is incomplete for listed compatibles.
> +
> + properties:
> + compatible:
> + oneOf:
> + - enum:
> + - mediatek,mt6358-sound
> + - mediatek,mt6359-codec
There was no such compatible.
Why do you add non-existing compatibles during conversion?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema
2024-09-30 7:33 ` [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema Macpaul Lin
@ 2024-10-01 6:34 ` Krzysztof Kozlowski
2024-10-01 7:05 ` Macpaul Lin
0 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-01 6:34 UTC (permalink / raw)
To: Macpaul Lin
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On Mon, Sep 30, 2024 at 03:33:10PM +0800, Macpaul Lin wrote:
> 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'.
>
> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
> ---
> .../devicetree/bindings/sound/mt6358.txt | 26 ------------
> .../devicetree/bindings/sound/mt6358.yaml | 41 +++++++++++++++++++
> 2 files changed, 41 insertions(+), 26 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/mt6358.txt
> create mode 100644 Documentation/devicetree/bindings/sound/mt6358.yaml
>
> 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'
>
> 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>;
> -};
> diff --git a/Documentation/devicetree/bindings/sound/mt6358.yaml b/Documentation/devicetree/bindings/sound/mt6358.yaml
> new file mode 100644
> index 000000000000..5f7611e26a89
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/mt6358.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/mt6358.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Mediatek MT6358 Audio Codec
> +
> +maintainers:
> + - Jiaxin Yu <jiaxin.yu@mediatek.com>
> + - Macpaul Lin <macpaul.lin@mediatek.com>
> +
> +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:
> + enum:
> + - mediatek,mt6366-sound
> + - mediatek,mt6358-sound
> + const: mediatek,mt6358-sound
This wasn't ever tested.
Do not send untested code, it's a waste of reviewers' time.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
2024-10-01 6:29 ` Krzysztof Kozlowski
@ 2024-10-01 6:35 ` Krzysztof Kozlowski
2024-10-01 7:56 ` Macpaul Lin
0 siblings, 1 reply; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-01 6:35 UTC (permalink / raw)
To: Macpaul Lin
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On 01/10/2024 08:29, Krzysztof Kozlowski wrote:
> On Mon, Sep 30, 2024 at 03:33:11PM +0800, Macpaul Lin wrote:
>> 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.
>> - Add a new 'mt6359-regulator' to the compatibles of regulators.
>
> Why?
>
>> Merge from the other patch [1].
>>
>> 3. ADC:
>> - Add a new 'adc' property and include a $ref for sub-device node of
>> MT6359 PMIC AUXADC: 'mediatek,mt6359-auxadc'.
>> Merge from the other patch [1].
>>
>> 4. Audio Codec:
>> - Simplify Audio Codec part with updating compatible items.
>> - Add 'mt6359-codec' to the compatible
>
> Why?
> .
>>
>> 5. Clocks:
>> - Align to generic name "clocks" for clockbuffer subdevices.
>>
>> 6. LEDs:
>> - Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema.
>> - Update LED binding.
>>
>> 7. Keys:
>> - Add detailed descriptions for power and home keys.
>> - Add compatible: mediatek,mt6358-keys.
>>
>> 8. 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".
>>
>> 9. Pinctrl:
>> - Align to generic name "pinctrl" instead of "pin-controller".
>>
>> 10. Compatible:
>> - Drop "mediatek,mt6357" since there is a separated DT Schema
>> for PMIC MT6357.
>>
>> 11. 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.
>>
>> References:
>> [1] https://lore.kernel.org/all/20240925171156.9115-1-macpaul.lin@mediatek.com/
>>
>> Signed-off-by: Sen Chu <sen.chu@mediatek.com>
>> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
>> ---
>
>> +
>> + adc:
>> + type: object
>> + $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml#
>> + unevaluatedProperties: false
>> +
>> + audio-codec:
>> + type: object
>> + description:
>> + Audio codec support with MT6358, MT6359, and MT6397.
>> + additionalProperties: true
>
> No, this cannot be true. Schema is incomplete for listed compatibles.
I saw now your patch for ASoC, so this is fine.
All my other questions stay valid - why are you adding new devices in
patch which is supposed to be ONLY conversion.
>
>> +
>> + properties:
>> + compatible:
>> + oneOf:
>> + - enum:
>> + - mediatek,mt6358-sound
>> + - mediatek,mt6359-codec
>
> There was no such compatible.
>
> Why do you add non-existing compatibles during conversion?
>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema
2024-10-01 6:34 ` Krzysztof Kozlowski
@ 2024-10-01 7:05 ` Macpaul Lin
2024-10-01 7:50 ` Macpaul Lin
2024-10-01 8:56 ` Krzysztof Kozlowski
0 siblings, 2 replies; 11+ messages in thread
From: Macpaul Lin @ 2024-10-01 7:05 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On 10/1/24 14:34, Krzysztof Kozlowski wrote:
[snip]
>> +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:
>> + enum:
>> + - mediatek,mt6366-sound
>> + - mediatek,mt6358-sound
>> + const: mediatek,mt6358-sound
>
> This wasn't ever tested.
Hum, I have indeed tested it with linux-next/master branch.
Ran dt_binding_check with dtschema trunk with this single file
but didn't get any warning or errors.
'make dt_binding_check DT_SCHEMA_FILES=mt6358.yaml'
Could you please help to paste the error log for me?
If there are new errors, I need to check if there is any
environment issue.
> Do not send untested code, it's a waste of reviewers' time.
>
> Best regards,
> Krzysztof
>
>
Thanks
Macpaul Lin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema
2024-10-01 7:05 ` Macpaul Lin
@ 2024-10-01 7:50 ` Macpaul Lin
2024-10-01 9:19 ` Krzysztof Kozlowski
2024-10-01 8:56 ` Krzysztof Kozlowski
1 sibling, 1 reply; 11+ messages in thread
From: Macpaul Lin @ 2024-10-01 7:50 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On 10/1/24 15:05, Macpaul Lin wrote:
> On 10/1/24 14:34, Krzysztof Kozlowski wrote:
>
> [snip]
>
>>> +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:
>>> + enum:
>>> + - mediatek,mt6366-sound
>>> + - mediatek,mt6358-sound
>>> + const: mediatek,mt6358-sound
>>
>> This wasn't ever tested.
>
> Hum, I have indeed tested it with linux-next/master branch.
> Ran dt_binding_check with dtschema trunk with this single file
> but didn't get any warning or errors.
> 'make dt_binding_check DT_SCHEMA_FILES=mt6358.yaml'
>
> Could you please help to paste the error log for me?
> If there are new errors, I need to check if there is any
> environment issue.
I've both tested both of the following format pass dt_binding_check.
#1.
properties:
compatible:
items:
- enum:
- mediatek,mt6366-sound
- mediatek,mt6358-sound
- const: mediatek,mt6358-sound
#2.
properties:
compatible:
enum:
- mediatek,mt6366-sound
- mediatek,mt6358-sound
const: mediatek,mt6358-sound
>> Do not send untested code, it's a waste of reviewers' time.
>>
>> Best regards,
>> Krzysztof
>>
>>
> Thanks
> Macpaul Lin
Should I update it with format #1?
Thanks
Macpaul Lin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
2024-10-01 6:35 ` Krzysztof Kozlowski
@ 2024-10-01 7:56 ` Macpaul Lin
0 siblings, 0 replies; 11+ messages in thread
From: Macpaul Lin @ 2024-10-01 7:56 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On 10/1/24 14:35, Krzysztof Kozlowski wrote:
>
>
> External email : Please do not click links or open attachments until you
> have verified the sender or the content.
>
> On 01/10/2024 08:29, Krzysztof Kozlowski wrote:
>> On Mon, Sep 30, 2024 at 03:33:11PM +0800, Macpaul Lin wrote:
>>> 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.
>>> - Add a new 'mt6359-regulator' to the compatibles of regulators.
>>
>> Why?
>>
>>> Merge from the other patch [1].
>>>
>>> 3. ADC:
>>> - Add a new 'adc' property and include a $ref for sub-device node of
>>> MT6359 PMIC AUXADC: 'mediatek,mt6359-auxadc'.
>>> Merge from the other patch [1].
>>>
>>> 4. Audio Codec:
>>> - Simplify Audio Codec part with updating compatible items.
>>> - Add 'mt6359-codec' to the compatible
>>
>> Why?
>> .
>>>
>>> 5. Clocks:
>>> - Align to generic name "clocks" for clockbuffer subdevices.
>>>
>>> 6. LEDs:
>>> - Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema.
>>> - Update LED binding.
>>>
>>> 7. Keys:
>>> - Add detailed descriptions for power and home keys.
>>> - Add compatible: mediatek,mt6358-keys.
>>>
>>> 8. 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".
>>>
>>> 9. Pinctrl:
>>> - Align to generic name "pinctrl" instead of "pin-controller".
>>>
>>> 10. Compatible:
>>> - Drop "mediatek,mt6357" since there is a separated DT Schema
>>> for PMIC MT6357.
>>>
>>> 11. 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.
>>>
>>> References:
>>> [1] https://lore.kernel.org/all/20240925171156.9115-1-macpaul.lin@mediatek.com/
>>>
>>> Signed-off-by: Sen Chu <sen.chu@mediatek.com>
>>> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
>>> ---
>>
>>> +
>>> + adc:
>>> + type: object
>>> + $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml#
>>> + unevaluatedProperties: false
>>> +
>>> + audio-codec:
>>> + type: object
>>> + description:
>>> + Audio codec support with MT6358, MT6359, and MT6397.
>>> + additionalProperties: true
>>
>> No, this cannot be true. Schema is incomplete for listed compatibles.
>
> I saw now your patch for ASoC, so this is fine.
>
> All my other questions stay valid - why are you adding new devices in
> patch which is supposed to be ONLY conversion.
>
Ok, I'll drop adding new devices from other reviewed patch for this ONLY
conversion.
>>
>>> +
>>> + properties:
>>> + compatible:
>>> + oneOf:
>>> + - enum:
>>> + - mediatek,mt6358-sound
>>> + - mediatek,mt6359-codec
>>
>> There was no such compatible.
>>
>> Why do you add non-existing compatibles during conversion?
>>
Same here, will drop it in this conversion.
> Best regards,
> Krzysztof
>
>
Thanks
Macpaul Lin
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema
2024-10-01 7:05 ` Macpaul Lin
2024-10-01 7:50 ` Macpaul Lin
@ 2024-10-01 8:56 ` Krzysztof Kozlowski
1 sibling, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-01 8:56 UTC (permalink / raw)
To: Macpaul Lin
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On 01/10/2024 09:05, Macpaul Lin wrote:
> On 10/1/24 14:34, Krzysztof Kozlowski wrote:
>
> [snip]
>
>>> +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:
>>> + enum:
>>> + - mediatek,mt6366-sound
>>> + - mediatek,mt6358-sound
>>> + const: mediatek,mt6358-sound
>>
>> This wasn't ever tested.
>
> Hum, I have indeed tested it with linux-next/master branch.
> Ran dt_binding_check with dtschema trunk with this single file
> but didn't get any warning or errors.
> 'make dt_binding_check DT_SCHEMA_FILES=mt6358.yaml'
>
> Could you please help to paste the error log for me?
> If there are new errors, I need to check if there is any
> environment issue.
Hm, I don't know, indeed Rob's does not report failure here, so my
comment was not right. Syntax is unexpected or wrong - const with enum.
Is this a list? If list then you duplicated compatible. Then maybe
implicit oneOf?
BTW, filenames are expected to match compatible.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema
2024-10-01 7:50 ` Macpaul Lin
@ 2024-10-01 9:19 ` Krzysztof Kozlowski
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-01 9:19 UTC (permalink / raw)
To: Macpaul Lin
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Pavel Machek, Lee Jones, Matthias Brugger,
AngeloGioacchino Del Regno, Sen Chu, Sean Wang, Andrew Lunn,
Florian Fainelli, Vladimir Oltean, David S . Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Sebastian Reichel, Liam Girdwood,
Mark Brown, Alexandre Belloni, linux-input, devicetree,
linux-kernel, linux-leds, linux-arm-kernel, linux-mediatek,
linux-pm, netdev, linux-rtc, linux-sound, Alexandre Mergnat,
Bear Wang, Pablo Sun, Macpaul Lin, Chris-qj chen,
MediaTek Chromebook Upstream, Chen-Yu Tsai
On 01/10/2024 09:50, Macpaul Lin wrote:
>
>
> On 10/1/24 15:05, Macpaul Lin wrote:
>> On 10/1/24 14:34, Krzysztof Kozlowski wrote:
>>
>> [snip]
>>
>>>> +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:
>>>> + enum:
>>>> + - mediatek,mt6366-sound
>>>> + - mediatek,mt6358-sound
>>>> + const: mediatek,mt6358-sound
>>>
>>> This wasn't ever tested.
>>
>> Hum, I have indeed tested it with linux-next/master branch.
>> Ran dt_binding_check with dtschema trunk with this single file
>> but didn't get any warning or errors.
>> 'make dt_binding_check DT_SCHEMA_FILES=mt6358.yaml'
>>
>> Could you please help to paste the error log for me?
>> If there are new errors, I need to check if there is any
>> environment issue.
>
> I've both tested both of the following format pass dt_binding_check.
> #1.
> properties:
> compatible:
> items:
> - enum:
> - mediatek,mt6366-sound
> - mediatek,mt6358-sound
> - const: mediatek,mt6358-sound
I don't understand what you wanted here. neither oneOf nor ietms make
any sense. Why "mediatek,mt6358-sound", "mediatek,mt6358-sound" is a
correct compatible?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-10-01 9:19 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-30 7:33 [PATCH v7 1/3] regulator: dt-bindings: mt6323: Convert to DT schema Macpaul Lin
2024-09-30 7:33 ` [PATCH v7 2/3] ASoC: dt-bindings: mt6358: Convert to DT Schema Macpaul Lin
2024-10-01 6:34 ` Krzysztof Kozlowski
2024-10-01 7:05 ` Macpaul Lin
2024-10-01 7:50 ` Macpaul Lin
2024-10-01 9:19 ` Krzysztof Kozlowski
2024-10-01 8:56 ` Krzysztof Kozlowski
2024-09-30 7:33 ` [PATCH v7 3/3] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format Macpaul Lin
2024-10-01 6:29 ` Krzysztof Kozlowski
2024-10-01 6:35 ` Krzysztof Kozlowski
2024-10-01 7:56 ` Macpaul Lin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).