mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
dt-bindings: mfd: Add MediaTek MT6370
Add MediaTek MT6370 binding documentation. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com> Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com> Signed-off-by: Lee Jones <lee@kernel.org> Link: https://lore.kernel.org/r/20220805070610.3516-7-peterwu.pub@gmail.com
This commit is contained in:
parent
2d48bfca42
commit
7f915eef50
280
Documentation/devicetree/bindings/mfd/mediatek,mt6370.yaml
Normal file
280
Documentation/devicetree/bindings/mfd/mediatek,mt6370.yaml
Normal file
|
|
@ -0,0 +1,280 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/mediatek,mt6370.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek MT6370 SubPMIC
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
MT6370 is a highly-integrated smart power management IC, which includes a
|
||||
single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C &
|
||||
Power Delivery (PD) controller, dual flash LED current sources, a RGB LED
|
||||
driver, a backlight WLED driver, a display bias driver and a general LDO for
|
||||
portable devices.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt6370
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
wakeup-source: true
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
"#interrupt-cells":
|
||||
const: 1
|
||||
|
||||
adc:
|
||||
type: object
|
||||
description: |
|
||||
Provides 9 channels for system monitoring, including VBUSDIV5 (lower
|
||||
accuracy, higher measure range), VBUSDIV2 (higher accuracy, lower
|
||||
measure range), VBAT, VSYS, CHG_VDDP, TS_BAT, IBUS, IBAT, and TEMP_JC.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt6370-adc
|
||||
|
||||
"#io-channel-cells":
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#io-channel-cells"
|
||||
|
||||
backlight:
|
||||
type: object
|
||||
$ref: /schemas/leds/backlight/mediatek,mt6370-backlight.yaml#
|
||||
|
||||
charger:
|
||||
type: object
|
||||
$ref: /schemas/power/supply/mediatek,mt6370-charger.yaml#
|
||||
|
||||
tcpc:
|
||||
type: object
|
||||
$ref: /schemas/usb/mediatek,mt6370-tcpc.yaml#
|
||||
|
||||
indicator:
|
||||
type: object
|
||||
$ref: /schemas/leds/mediatek,mt6370-indicator.yaml#
|
||||
|
||||
flashlight:
|
||||
type: object
|
||||
$ref: /schemas/leds/mediatek,mt6370-flashlight.yaml#
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: |
|
||||
List all supported regulators, which support the control for DisplayBias
|
||||
voltages and one general purpose LDO which commonly used to drive the
|
||||
vibrator.
|
||||
|
||||
patternProperties:
|
||||
"^(dsvbst|vibldo)$":
|
||||
$ref: /schemas/regulator/regulator.yaml#
|
||||
type: object
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^(dsvpos|dsvneg)$":
|
||||
$ref: /schemas/regulator/regulator.yaml#
|
||||
type: object
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
enable-gpios:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- interrupt-controller
|
||||
- "#interrupt-cells"
|
||||
- regulators
|
||||
- adc
|
||||
- backlight
|
||||
- indicator
|
||||
- tcpc
|
||||
- charger
|
||||
- flashlight
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/iio/adc/mediatek,mt6370_adc.h>
|
||||
#include <dt-bindings/usb/pd.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@34 {
|
||||
compatible = "mediatek,mt6370";
|
||||
reg = <0x34>;
|
||||
wakeup-source;
|
||||
interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
mt6370_adc: adc {
|
||||
compatible = "mediatek,mt6370-adc";
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
backlight {
|
||||
compatible = "mediatek,mt6370-backlight";
|
||||
mediatek,bled-channel-use = /bits/ 8 <15>;
|
||||
};
|
||||
|
||||
charger {
|
||||
compatible = "mediatek,mt6370-charger";
|
||||
interrupts = <48>, <68>, <6>;
|
||||
interrupt-names = "attach_i", "uvp_d_evt", "mivr";
|
||||
io-channels = <&mt6370_adc MT6370_CHAN_IBUS>;
|
||||
|
||||
mt6370_otg_vbus: usb-otg-vbus-regulator {
|
||||
regulator-name = "mt6370-usb-otg-vbus";
|
||||
regulator-min-microvolt = <4350000>;
|
||||
regulator-max-microvolt = <5800000>;
|
||||
regulator-min-microamp = <500000>;
|
||||
regulator-max-microamp = <3000000>;
|
||||
};
|
||||
};
|
||||
|
||||
indicator {
|
||||
compatible = "mediatek,mt6370-indicator";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
multi-led@0 {
|
||||
reg = <0>;
|
||||
function = LED_FUNCTION_INDICATOR;
|
||||
color = <LED_COLOR_ID_RGB>;
|
||||
led-max-microamp = <24000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
};
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
};
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
};
|
||||
};
|
||||
led@3 {
|
||||
reg = <3>;
|
||||
function = LED_FUNCTION_INDICATOR;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
led-max-microamp = <6000>;
|
||||
};
|
||||
};
|
||||
|
||||
flashlight {
|
||||
compatible = "mediatek,mt6370-flashlight";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
led-sources = <0>;
|
||||
function = LED_FUNCTION_FLASH;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function-enumerator = <1>;
|
||||
led-max-microamp = <200000>;
|
||||
flash-max-microamp = <500000>;
|
||||
flash-max-timeout-us = <1248000>;
|
||||
};
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
led-sources = <1>;
|
||||
function = LED_FUNCTION_FLASH;
|
||||
color = <LED_COLOR_ID_WHITE>;
|
||||
function-enumerator = <2>;
|
||||
led-max-microamp = <200000>;
|
||||
flash-max-microamp = <500000>;
|
||||
flash-max-timeout-us = <1248000>;
|
||||
};
|
||||
};
|
||||
|
||||
tcpc {
|
||||
compatible = "mediatek,mt6370-tcpc";
|
||||
interrupts-extended = <&gpio26 4 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
label = "USB-C";
|
||||
vbus-supply = <&mt6370_otg_vbus>;
|
||||
data-role = "dual";
|
||||
power-role = "dual";
|
||||
try-power-role = "sink";
|
||||
source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
|
||||
sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
|
||||
op-sink-microwatt = <10000000>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
endpoint {
|
||||
remote-endpoint = <&usb_hs>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
endpoint {
|
||||
remote-endpoint = <&usb_ss>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
endpoint {
|
||||
remote-endpoint = <&dp_aux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
regulators {
|
||||
dsvbst {
|
||||
regulator-name = "mt6370-dsv-vbst";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6200000>;
|
||||
};
|
||||
dsvpos {
|
||||
regulator-name = "mt6370-dsv-vpos";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
dsvneg {
|
||||
regulator-name = "mt6370-dsv-vneg";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
vibldo {
|
||||
regulator-name = "mt6370-vib-ldo";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <4000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
18
include/dt-bindings/iio/adc/mediatek,mt6370_adc.h
Normal file
18
include/dt-bindings/iio/adc/mediatek,mt6370_adc.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
|
||||
|
||||
#ifndef __DT_BINDINGS_MEDIATEK_MT6370_ADC_H__
|
||||
#define __DT_BINDINGS_MEDIATEK_MT6370_ADC_H__
|
||||
|
||||
/* ADC Channel Index */
|
||||
#define MT6370_CHAN_VBUSDIV5 0
|
||||
#define MT6370_CHAN_VBUSDIV2 1
|
||||
#define MT6370_CHAN_VSYS 2
|
||||
#define MT6370_CHAN_VBAT 3
|
||||
#define MT6370_CHAN_TS_BAT 4
|
||||
#define MT6370_CHAN_IBUS 5
|
||||
#define MT6370_CHAN_IBAT 6
|
||||
#define MT6370_CHAN_CHG_VDDP 7
|
||||
#define MT6370_CHAN_TEMP_JC 8
|
||||
#define MT6370_CHAN_MAX 9
|
||||
|
||||
#endif
|
||||
Loading…
Reference in New Issue
Block a user