From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Macpaul Lin <macpaul.lin@mediatek.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Sean Wang <sean.wang@mediatek.com>,
Sen Chu <sen.chu@mediatek.com>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Pavel Machek <pavel@ucw.cz>, Lee Jones <lee@kernel.org>,
Sebastian Reichel <sre@kernel.org>,
Chen Zhong <chen.zhong@mediatek.com>,
linux-input@vger.kernel.org, linux-leds@vger.kernel.org,
linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org,
linux-sound@vger.kernel.org,
Alexandre Mergnat <amergnat@baylibre.com>,
Bear Wang <bear.wang@mediatek.com>,
Pablo Sun <pablo.sun@mediatek.com>,
Macpaul Lin <macpaul@gmail.com>,
Chris-qj chen <chris-qj.chen@mediatek.com>,
MediaTek Chromebook Upstream
<Project_Global_Chrome_Upstream_Group@mediatek.com>,
Chen-Yu Tsai <wenst@chromium.org>
Subject: Re: [PATCH v6 2/2] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
Date: Wed, 18 Sep 2024 13:56:51 +0200 [thread overview]
Message-ID: <20240918115651c1475d36@mail.local> (raw)
In-Reply-To: <20240918115151c896f33f@mail.local>
On 18/09/2024 13:51:51+0200, Alexandre Belloni wrote:
> > 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"
>
> Maybe, instead of dropping the property, you should add support in the
> driver by setting range_min and range_max.
Looking at this even more, the driver can probably be simplified by
setting start_year in probe and dropping RTC_MIN_YEAR_OFFSET.
>
> > - 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.
> >
> > diff --git a/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml b/Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml
> > index 70567d9..466566a 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 052dccb8..0000000
> > --- 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 0000000..953358b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
> > @@ -0,0 +1,601 @@
> > +# 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
> > + - 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
> > + additionalProperties: false
> > + description:
> > + Audio codec support with MT6397 and MT6358.
> > +
> > + properties:
> > + compatible:
> > + oneOf:
> > + - enum:
> > + - mediatek,mt6397-codec
> > + - mediatek,mt6358-sound
> > + - items:
> > + - enum:
> > + - mediatek,mt6366-sound
> > + - const: mediatek,mt6358-sound
> > +
> > + mediatek,dmic-mode:
> > + description: |
> > + Indicates how many data pins are used to transmit two channels of PDM
> > + signal.
> > + 0 - two wires;
> > + 1 - one wire;
> > + Default value is 0.
> > + enum: [0, 1]
> > + default: 0
> > +
> > + Avdd-supply:
> > + description: Power source of AVDD.
> > +
> > + 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 10540aa..0000000
> > --- 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 933f0c4..0000000
> > --- 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 7212076..0000000
> > --- 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/Documentation/devicetree/bindings/sound/mt6358.txt b/Documentation/devicetree/bindings/sound/mt6358.txt
> > deleted file mode 100644
> > index fbe9e55..0000000
> > --- 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/MAINTAINERS b/MAINTAINERS
> > index 2cdd7ca..e97b5ae 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -14418,10 +14418,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
> > @@ -14582,9 +14584,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
> >
> >
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2024-09-18 11:56 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-18 6:49 [PATCH v6 1/2] regulator: dt-bindings: mt6323: Convert to DT schema Macpaul Lin
2024-09-18 6:49 ` [PATCH v6 2/2] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format Macpaul Lin
2024-09-18 11:51 ` Alexandre Belloni
2024-09-18 11:56 ` Alexandre Belloni [this message]
2024-09-18 14:18 ` Macpaul Lin
2024-09-20 7:31 ` AngeloGioacchino Del Regno
2024-09-20 13:37 ` Alexandre Belloni
2024-09-23 10:43 ` Macpaul Lin
2024-09-20 13:07 ` Krzysztof Kozlowski
2024-09-27 9:44 ` Krzysztof Kozlowski
2024-09-23 9:53 ` AngeloGioacchino Del Regno
2024-09-27 9:45 ` Krzysztof Kozlowski
2024-09-27 10:41 ` Macpaul Lin
2024-09-27 12:10 ` Krzysztof Kozlowski
2024-09-18 12:20 ` [PATCH v6 1/2] regulator: dt-bindings: mt6323: Convert to DT schema AngeloGioacchino Del Regno
2024-09-20 12:08 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240918115651c1475d36@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=amergnat@baylibre.com \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bear.wang@mediatek.com \
--cc=broonie@kernel.org \
--cc=chen.zhong@mediatek.com \
--cc=chris-qj.chen@mediatek.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=macpaul.lin@mediatek.com \
--cc=macpaul@gmail.com \
--cc=matthias.bgg@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=pablo.sun@mediatek.com \
--cc=pavel@ucw.cz \
--cc=robh@kernel.org \
--cc=sean.wang@mediatek.com \
--cc=sen.chu@mediatek.com \
--cc=sre@kernel.org \
--cc=wenst@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.