mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 22:22:08 +02:00
dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
Convert the mfd: mediatek: mt6397 binding to DT schema format.
MT6323, MT6358, and MT6397 are PMIC devices with multiple function
subdevices. They share a common PMIC design but have variations in
subdevice combinations.
Key updates in this conversion:
1. RTC:
- Convert rtc-mt6397.txt and merge into parent MT6397 PMIC DT schema.
2. Regulators:
- Align to generic name "regulators".
- Update references from .txt to .yaml for mt6323, mt6358, and mt6397
regulators.
- Simplify regulator name labels in device tree examples.
3. Audio Codec:
- Simplify Audio Codec part with updating compatible items.
- Align to generic name "audio-codec" for codec and sound subdevices.
4. Clocks:
- Align to generic name "clocks" for clockbuffer subdevices.
5. LEDs:
- Convert leds-mt6323.txt and merge into parent MT6397 PMIC DT schema.
- Update LED binding.
6. Keys:
- Add detailed descriptions for power and home keys.
- Add compatible: mediatek,mt6358-keys.
7. Power Controller:
- Convert mt6323-poweroff.txt and merge into parent MT6397 PMIC DT
schema.
- Add #power-domain-cells property to fix dt-binding check error.
- Clarify "BBPU" as "Baseband power up".
8. Pinctrl:
- Align to generic name "pinctrl" instead of "pin-controller".
9. Compatible:
- Drop "mediatek,mt6357" since there is a separated DT Schema
for PMIC MT6357.
10. Examples:
- MT6323: Retain complete examples for this PMIC.
- MT6358 and MT6397: simplify settings in regulators.
- Preserve "audio-codec", "clocks", "pinctrl", "rtc", and "keys"
sections as they contain typical settings for different PMICs.
Additional updates:
- MAINTAINERS: Add co-maintainers and reference to
mfd/mediatek,mt6397.yaml for LED and power-controller drivers.
- input/mediatek,pmic-keys.yaml: Update reference to
mfd/mediatek,mt6397.yaml.
Signed-off-by: Sen Chu <sen.chu@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20241001104145.24054-3-macpaul.lin@mediatek.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
9852d85ec9
commit
6e357f5726
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
588
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
Normal file
588
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml
Normal file
|
|
@ -0,0 +1,588 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/mediatek,mt6397.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek MT6397/MT6323 PMIC
|
||||
|
||||
maintainers:
|
||||
- Sen Chu <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
|
||||
description:
|
||||
Audio codec support with MT6358 and MT6397.
|
||||
additionalProperties: true
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- mediatek,mt6358-sound
|
||||
- mediatek,mt6397-codec
|
||||
- items:
|
||||
- enum:
|
||||
- mediatek,mt6366-sound
|
||||
- const: mediatek,mt6358-sound
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
clocks:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description:
|
||||
This is a clock buffer node for mt6397. However, there are no sub nodes
|
||||
or any public document exposed in public.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt6397-clk
|
||||
|
||||
'#clock-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
leds:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description: |
|
||||
MT6323 LED controller is subfunction provided by MT6323 PMIC, so the LED
|
||||
controllers are defined as the subnode of the function node provided by MT6323
|
||||
PMIC controller that is being defined as one kind of Muti-Function Device (MFD)
|
||||
using shared bus called PMIC wrapper for each subfunction to access remote
|
||||
MT6323 PMIC hardware.
|
||||
|
||||
Each led is represented as a child node of the mediatek,mt6323-led that
|
||||
describes the initial behavior for each LED physically and currently only four
|
||||
LED child nodes can be supported.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mediatek,mt6323-led
|
||||
- mediatek,mt6331-led
|
||||
- mediatek,mt6332-led
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^led@[0-3]$":
|
||||
type: object
|
||||
$ref: /schemas/leds/common.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
LED channel number (0..3)
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
keys:
|
||||
type: object
|
||||
$ref: /schemas/input/mediatek,pmic-keys.yaml
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Power and Home keys.
|
||||
|
||||
power-controller:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description:
|
||||
The power controller which could be found on PMIC is responsible for
|
||||
externally powering off or on the remote MediaTek SoC through the
|
||||
circuit BBPU (baseband power up).
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt6323-pwrc
|
||||
|
||||
'#power-domain-cells':
|
||||
const: 0
|
||||
|
||||
pinctrl:
|
||||
type: object
|
||||
$ref: /schemas/pinctrl/mediatek,mt65xx-pinctrl.yaml
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Pin controller
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <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";
|
||||
};
|
||||
};
|
||||
|
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
|
@ -14420,10 +14420,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
|
||||
|
|
@ -14584,9 +14586,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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user