mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 14:12:51 +00:00
d3dc362b3a
'#interrupt-cells' is a required provided for interrupt providers,
hence make it required.
While at it, move '#interrupt-cells' in the example to match common sort
order.
Fixes: 361104b056
("dt-bindings: mfd: Convert da9063 to yaml")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/f512045738d2102c771a171a514ed7cf612c6d6f.1708944455.git.geert+renesas@glider.be
Signed-off-by: Lee Jones <lee@kernel.org>
328 lines
8.0 KiB
YAML
328 lines
8.0 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/dlg,da9063.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Dialog DA906{3L,3,2,1} Power Management Integrated Circuit (PMIC)
|
|
|
|
maintainers:
|
|
- Steve Twiss <stwiss.opensource@diasemi.com>
|
|
|
|
description: |
|
|
For device-tree bindings of other sub-modules refer to the binding documents
|
|
under the respective sub-system directories.
|
|
Using regulator-{uv,ov}-{warn,error,protection}-microvolt requires special
|
|
handling: First, when GP_FB2 is used, it must be ensured that there is no
|
|
moment where all voltage monitors are disabled. Next, as da9063 only supports
|
|
UV *and* OV monitoring, both must be set to the same severity and value
|
|
(0: disable, 1: enable).
|
|
Product information for the DA906{3L,3,2,1} devices can be found here:
|
|
- https://www.dialog-semiconductor.com/products/da9063l
|
|
- https://www.dialog-semiconductor.com/products/da9063
|
|
- https://www.dialog-semiconductor.com/products/da9062
|
|
- https://www.dialog-semiconductor.com/products/da9061
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- dlg,da9061
|
|
- dlg,da9062
|
|
- dlg,da9063
|
|
- dlg,da9063l
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
interrupt-controller: true
|
|
|
|
"#interrupt-cells":
|
|
const: 2
|
|
|
|
gpio-controller: true
|
|
|
|
"#gpio-cells":
|
|
const: 2
|
|
|
|
gpio:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
compatible:
|
|
const: dlg,da9062-gpio
|
|
|
|
onkey:
|
|
$ref: /schemas/input/dlg,da9062-onkey.yaml
|
|
|
|
regulators:
|
|
type: object
|
|
additionalProperties: false
|
|
patternProperties:
|
|
"^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck[1-4])$":
|
|
$ref: /schemas/regulator/regulator.yaml
|
|
unevaluatedProperties: false
|
|
|
|
rtc:
|
|
type: object
|
|
$ref: /schemas/rtc/rtc.yaml#
|
|
unevaluatedProperties: false
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- dlg,da9062-rtc
|
|
- dlg,da9063-rtc
|
|
|
|
thermal:
|
|
$ref: /schemas/thermal/dlg,da9062-thermal.yaml
|
|
|
|
watchdog:
|
|
$ref: /schemas/watchdog/dlg,da9062-watchdog.yaml
|
|
|
|
patternProperties:
|
|
"^(.+-hog(-[0-9]+)?)$":
|
|
type: object
|
|
|
|
required:
|
|
- gpio-hog
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- dlg,da9063
|
|
- dlg,da9063l
|
|
then:
|
|
properties:
|
|
gpio-controller: false
|
|
"#gpio-cells": false
|
|
gpio: false
|
|
regulators:
|
|
patternProperties:
|
|
"^buck[1-4]$": false
|
|
thermal: false
|
|
required:
|
|
- interrupts
|
|
- interrupt-controller
|
|
- '#interrupt-cells'
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- dlg,da9062
|
|
then:
|
|
properties:
|
|
regulators:
|
|
patternProperties:
|
|
"^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$": false
|
|
required:
|
|
- gpio
|
|
- onkey
|
|
- rtc
|
|
- thermal
|
|
- watchdog
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- dlg,da9061
|
|
then:
|
|
properties:
|
|
gpio-controller: false
|
|
"#gpio-cells": false
|
|
gpio: false
|
|
regulators:
|
|
patternProperties:
|
|
"^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck4)$": false
|
|
rtc: false
|
|
required:
|
|
- onkey
|
|
- thermal
|
|
- watchdog
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pmic@58 {
|
|
compatible = "dlg,da9063";
|
|
reg = <0x58>;
|
|
interrupt-parent = <&gpio6>;
|
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
|
|
rtc {
|
|
compatible = "dlg,da9063-rtc";
|
|
};
|
|
|
|
watchdog {
|
|
compatible = "dlg,da9063-watchdog";
|
|
};
|
|
|
|
onkey {
|
|
compatible = "dlg,da9063-onkey";
|
|
dlg,disable-key-power;
|
|
};
|
|
|
|
regulators {
|
|
bcore1 {
|
|
regulator-name = "BCORE1";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <1570000>;
|
|
regulator-min-microamp = <500000>;
|
|
regulator-max-microamp = <2000000>;
|
|
regulator-boot-on;
|
|
};
|
|
ldo6 {
|
|
/* UNUSED */
|
|
regulator-name = "LDO_6";
|
|
regulator-uv-protection-microvolt = <0>;
|
|
regulator-ov-protection-microvolt = <0>;
|
|
};
|
|
ldo11 {
|
|
regulator-name = "LDO_11";
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <900000>;
|
|
regulator-uv-protection-microvolt = <1>;
|
|
regulator-ov-protection-microvolt = <1>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/regulator/dlg,da9063-regulator.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pmic@58 {
|
|
compatible = "dlg,da9062";
|
|
reg = <0x58>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
sd0-pwr-sel-hog {
|
|
gpio-hog;
|
|
gpios = <1 0>;
|
|
input;
|
|
line-name = "SD0_PWR_SEL";
|
|
};
|
|
|
|
sd1-pwr-sel-hog {
|
|
gpio-hog;
|
|
gpios = <2 0>;
|
|
input;
|
|
line-name = "SD1_PWR_SEL";
|
|
};
|
|
|
|
sw-et0-en-hog {
|
|
gpio-hog;
|
|
gpios = <3 0>;
|
|
input;
|
|
line-name = "SW_ET0_EN#";
|
|
};
|
|
|
|
pmic-good-hog {
|
|
gpio-hog;
|
|
gpios = <4 0>;
|
|
output-high;
|
|
line-name = "PMIC_PGOOD";
|
|
};
|
|
|
|
gpio {
|
|
compatible = "dlg,da9062-gpio";
|
|
};
|
|
|
|
onkey {
|
|
compatible = "dlg,da9062-onkey";
|
|
};
|
|
|
|
regulators {
|
|
buck1 {
|
|
regulator-name = "vdd_arm";
|
|
regulator-min-microvolt = <925000>;
|
|
regulator-max-microvolt = <1380000>;
|
|
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
|
regulator-always-on;
|
|
};
|
|
buck2 {
|
|
regulator-name = "vdd_soc";
|
|
regulator-min-microvolt = <1150000>;
|
|
regulator-max-microvolt = <1380000>;
|
|
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
|
regulator-always-on;
|
|
};
|
|
buck3 {
|
|
regulator-name = "vdd_ddr3";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
|
regulator-always-on;
|
|
};
|
|
buck4 {
|
|
regulator-name = "vdd_eth";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
|
|
regulator-always-on;
|
|
};
|
|
ldo1 {
|
|
regulator-name = "vdd_snvs";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-always-on;
|
|
};
|
|
ldo2 {
|
|
regulator-name = "vdd_high";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-always-on;
|
|
};
|
|
ldo3 {
|
|
regulator-name = "vdd_eth_io";
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
};
|
|
ldo4 {
|
|
regulator-name = "vdd_emmc";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
rtc {
|
|
compatible = "dlg,da9062-rtc";
|
|
};
|
|
|
|
thermal {
|
|
compatible = "dlg,da9062-thermal";
|
|
};
|
|
|
|
watchdog {
|
|
compatible = "dlg,da9062-watchdog";
|
|
dlg,use-sw-pm;
|
|
};
|
|
};
|
|
};
|
|
...
|