lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ