289 lines
6.9 KiB
YAML
289 lines
6.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/fsl,mc13xxx.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Freescale MC13xxx Power Management Integrated Circuits (PMIC)
|
|
|
|
maintainers:
|
|
- Alexander Kurz <akurz@blala.de>
|
|
|
|
description: >
|
|
The MC13xxx PMIC series consists of the three models MC13783, MC13892
|
|
and MC34708 and provide regulators and other features like RTC, ADC,
|
|
LED, touchscreen, codec and input buttons.
|
|
|
|
Link to datasheets
|
|
https://www.nxp.com/docs/en/data-sheet/MC13783.pdf
|
|
https://www.nxp.com/docs/en/data-sheet/MC13892.pdf
|
|
https://www.nxp.com/docs/en/data-sheet/MC34708.pdf
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- fsl,mc13783
|
|
- fsl,mc13892
|
|
- fsl,mc34708
|
|
|
|
reg:
|
|
description: I2C slave address or SPI chip select number.
|
|
maxItems: 1
|
|
|
|
spi-max-frequency: true
|
|
|
|
spi-cs-high: true
|
|
|
|
system-power-controller: true
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
buttons:
|
|
type: object
|
|
properties:
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
patternProperties:
|
|
"^onkey@[0-2]$":
|
|
$ref: /schemas/input/input.yaml#
|
|
unevaluatedProperties: false
|
|
type: object
|
|
|
|
properties:
|
|
reg:
|
|
description: |
|
|
One of
|
|
MC13783 BUTTON IDs:
|
|
0: ONOFD1
|
|
1: ONOFD2
|
|
2: ONOFD3
|
|
|
|
MC13892 BUTTON IDs:
|
|
0: PWRON1
|
|
1: PWRON2
|
|
2: PWRON3
|
|
|
|
MC34708 BUTTON IDs:
|
|
0: PWRON1
|
|
1: PWRON2
|
|
maximum: 2
|
|
|
|
debounce-delay-ms:
|
|
enum: [0, 30, 150, 750]
|
|
default: 30
|
|
description:
|
|
Sets the debouncing delay in milliseconds.
|
|
|
|
active-low:
|
|
description: Set active when pin is pulled low.
|
|
|
|
linux,code: true
|
|
|
|
fsl,enable-reset:
|
|
description:
|
|
Setting of the global reset option.
|
|
type: boolean
|
|
|
|
unevaluatedProperties: false
|
|
|
|
leds:
|
|
type: object
|
|
$ref: /schemas/leds/common.yaml#
|
|
|
|
properties:
|
|
reg:
|
|
description: |
|
|
One of
|
|
MC13783 LED IDs
|
|
0: Main display
|
|
1: AUX display
|
|
2: Keypad
|
|
3: Red 1
|
|
4: Green 1
|
|
5: Blue 1
|
|
6: Red 2
|
|
7: Green 2
|
|
8: Blue 2
|
|
9: Red 3
|
|
10: Green 3
|
|
11: Blue 3
|
|
|
|
MC13892 LED IDs
|
|
0: Main display
|
|
1: AUX display
|
|
2: Keypad
|
|
3: Red
|
|
4: Green
|
|
5: Blue
|
|
|
|
MC34708 LED IDs
|
|
0: Charger Red
|
|
1: Charger Green
|
|
maxItems: 1
|
|
|
|
led-control:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
description: |
|
|
Setting for LED-Control register array length depends on model,
|
|
mc13783: 6, mc13892: 4, mc34708: 1
|
|
|
|
regulators:
|
|
type: object
|
|
|
|
additionalProperties:
|
|
type: object
|
|
|
|
description: |
|
|
List of child nodes specifying the regulators, depending on chip variant.
|
|
Each child node is defined using the standard binding for regulators and
|
|
the optional regulator properties defined below.
|
|
|
|
fsl,mc13xxx-uses-adc:
|
|
type: boolean
|
|
description: Indicate the ADC is being used
|
|
|
|
fsl,mc13xxx-uses-codec:
|
|
type: boolean
|
|
description: Indicate the Audio Codec is being used
|
|
|
|
fsl,mc13xxx-uses-rtc:
|
|
type: boolean
|
|
description: Indicate the RTC is being used
|
|
|
|
fsl,mc13xxx-uses-touch:
|
|
type: boolean
|
|
description: Indicate the touchscreen controller is being used
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: fsl,mc13783
|
|
then:
|
|
properties:
|
|
leds:
|
|
properties:
|
|
led-control:
|
|
minItems: 6
|
|
maxItems: 6
|
|
regulators:
|
|
patternProperties:
|
|
"^gpo[1-4]|pwgt[12]spi|sw[12][ab]|sw3|vaudio|vcam|vdig|vesim|vgen|viohi|violo|vmmc[12]|vrf[12]|vrfbg|vrfcp|vrfdig|vrfref|vsim|vvib$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
|
|
unevaluatedProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: fsl,mc13892
|
|
then:
|
|
properties:
|
|
leds:
|
|
properties:
|
|
led-control:
|
|
minItems: 4
|
|
maxItems: 4
|
|
regulators:
|
|
patternProperties:
|
|
"^gpo[1-4]|pwgt[12]spi|sw[1-4]|swbst|vaudio|vcam|vcoincell|vdig|vgen[1-3]|viohi|vpll|vsd|vusb|vusb2|vvideo$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
|
|
unevaluatedProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: fsl,mc34708
|
|
then:
|
|
properties:
|
|
buttons:
|
|
patternProperties:
|
|
"^onkey@[0-2]$":
|
|
properties:
|
|
reg:
|
|
maximum: 1
|
|
leds:
|
|
properties:
|
|
led-control:
|
|
minItems: 1
|
|
maxItems: 1
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pmic: mc13892@0 {
|
|
compatible = "fsl,mc13892";
|
|
reg = <0>;
|
|
spi-max-frequency = <1000000>;
|
|
spi-cs-high;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
|
|
fsl,mc13xxx-uses-rtc;
|
|
fsl,mc13xxx-uses-adc;
|
|
|
|
buttons {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
onkey@0 {
|
|
reg = <0>;
|
|
debounce-delay-ms = <30>;
|
|
active-low;
|
|
fsl,enable-reset;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
led-control = <0x000 0x000 0x0e0 0x000>;
|
|
|
|
sysled@3 {
|
|
reg = <3>;
|
|
label = "system:red:live";
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
};
|
|
|
|
regulators {
|
|
sw1_reg: sw1 {
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1375000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw2_reg: sw2 {
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1850000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
};
|