-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
ChiYuan Huang
authored and
Lee Jones
committed
Aug 15, 2022
1 parent
08613a6
commit 76f52f8
Showing
2 changed files
with
298 additions
and
0 deletions.
There are no files selected for viewing
280 changes: 280 additions & 0 deletions
280
Documentation/devicetree/bindings/mfd/mediatek,mt6370.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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>; | ||
}; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |