[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240918115651c1475d36@mail.local>
Date: Wed, 18 Sep 2024 13:56:51 +0200
From: Alexandre Belloni <alexandre.belloni@...tlin.com>
To: Macpaul Lin <macpaul.lin@...iatek.com>
Cc: Andrew Lunn <andrew@...n.ch>, Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>, Sean Wang <sean.wang@...iatek.com>,
Sen Chu <sen.chu@...iatek.com>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Pavel Machek <pavel@....cz>, Lee Jones <lee@...nel.org>,
Sebastian Reichel <sre@...nel.org>,
Chen Zhong <chen.zhong@...iatek.com>, linux-input@...r.kernel.org,
linux-leds@...r.kernel.org, linux-pm@...r.kernel.org,
linux-rtc@...r.kernel.org, linux-sound@...r.kernel.org,
Alexandre Mergnat <amergnat@...libre.com>,
Bear Wang <bear.wang@...iatek.com>,
Pablo Sun <pablo.sun@...iatek.com>, Macpaul Lin <macpaul@...il.com>,
Chris-qj chen <chris-qj.chen@...iatek.com>,
MediaTek Chromebook Upstream <Project_Global_Chrome_Upstream_Group@...iatek.com>,
Chen-Yu Tsai <wenst@...omium.org>
Subject: Re: [PATCH v6 2/2] dt-bindings: mfd: mediatek: mt6397: Convert to DT
schema format
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@...iatek.com>
> > + - Macpaul Lin <macpaul.lin@...iatek.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@...0f000 {
> > - 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@...iatek.com>
> > M: Sean Wang <sean.wang@...iatek.com>
> > +M: Macpaul Lin <macpaul.lin@...iatek.com>
> > L: linux-pm@...r.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@...iatek.com>
> > M: Sean Wang <sean.wang@...iatek.com>
> > +M: Macpaul Lin <macpaul.lin@...iatek.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
Powered by blists - more mailing lists