mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
e62fc18213
Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present. Add unevaluatedProperties or additionalProperties as appropriate, and then add any missing properties flagged by the addition. Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Lee Jones <lee@kernel.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230124230228.372305-1-robh@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
283 lines
7.4 KiB
YAML
283 lines
7.4 KiB
YAML
# 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
|
|
additionalProperties: false
|
|
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
|
|
additionalProperties: false
|
|
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 = <68>, <48>, <6>;
|
|
interrupt-names = "uvp_d_evt", "attach_i", "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>;
|
|
};
|
|
};
|
|
};
|
|
};
|