mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
400 lines
9.6 KiB
400 lines
9.6 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: X-Powers AXP PMIC Device Tree Bindings |
|
|
|
maintainers: |
|
- Chen-Yu Tsai <[email protected]> |
|
|
|
allOf: |
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
enum: |
|
- x-powers,axp152 |
|
- x-powers,axp202 |
|
- x-powers,axp209 |
|
|
|
then: |
|
properties: |
|
regulators: |
|
properties: |
|
x-powers,dcdc-freq: |
|
minimum: 750 |
|
maximum: 1875 |
|
default: 1500 |
|
|
|
else: |
|
properties: |
|
regulators: |
|
properties: |
|
x-powers,dcdc-freq: |
|
minimum: 1800 |
|
maximum: 4050 |
|
default: 3000 |
|
|
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
enum: |
|
- x-powers,axp152 |
|
- x-powers,axp202 |
|
- x-powers,axp209 |
|
|
|
then: |
|
not: |
|
required: |
|
- x-powers,drive-vbus-en |
|
|
|
- if: |
|
not: |
|
properties: |
|
compatible: |
|
contains: |
|
const: x-powers,axp806 |
|
|
|
then: |
|
allOf: |
|
- not: |
|
required: |
|
- x-powers,self-working-mode |
|
|
|
- not: |
|
required: |
|
- x-powers,master-mode |
|
|
|
- if: |
|
not: |
|
properties: |
|
compatible: |
|
contains: |
|
const: x-powers,axp305 |
|
|
|
then: |
|
required: |
|
- interrupts |
|
|
|
properties: |
|
compatible: |
|
oneOf: |
|
- enum: |
|
- x-powers,axp152 |
|
- x-powers,axp202 |
|
- x-powers,axp209 |
|
- x-powers,axp221 |
|
- x-powers,axp223 |
|
- x-powers,axp803 |
|
- x-powers,axp806 |
|
- x-powers,axp809 |
|
- x-powers,axp813 |
|
- items: |
|
- const: x-powers,axp805 |
|
- const: x-powers,axp806 |
|
- items: |
|
- const: x-powers,axp305 |
|
- const: x-powers,axp805 |
|
- const: x-powers,axp806 |
|
- items: |
|
- const: x-powers,axp818 |
|
- const: x-powers,axp813 |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
interrupts: |
|
maxItems: 1 |
|
|
|
interrupt-controller: true |
|
|
|
"#interrupt-cells": |
|
const: 1 |
|
|
|
x-powers,drive-vbus-en: |
|
type: boolean |
|
description: > |
|
Set this when the N_VBUSEN pin is used as an output pin to control an |
|
external regulator to drive the OTG VBus, rather then as an input pin |
|
which signals whether the board is driving OTG VBus or not. |
|
|
|
x-powers,self-working-mode: |
|
type: boolean |
|
description: > |
|
Set this when the PMIC is wired for self-working mode through the MODESET |
|
pin. |
|
|
|
x-powers,master-mode: |
|
type: boolean |
|
description: > |
|
Set this when the PMIC is wired for master mode through the MODESET pin. |
|
|
|
vin1-supply: |
|
description: > |
|
DCDC1 power supply node, if present. |
|
|
|
vin2-supply: |
|
description: > |
|
DCDC2 power supply node, if present. |
|
|
|
vin3-supply: |
|
description: > |
|
DCDC3 power supply node, if present. |
|
|
|
vin4-supply: |
|
description: > |
|
DCDC4 power supply node, if present. |
|
|
|
vin5-supply: |
|
description: > |
|
DCDC5 power supply node, if present. |
|
|
|
vin6-supply: |
|
description: > |
|
DCDC6 power supply node, if present. |
|
|
|
vin7-supply: |
|
description: > |
|
DCDC7 power supply node, if present. |
|
|
|
vina-supply: |
|
description: > |
|
DCDCA power supply node, if present. |
|
|
|
vinb-supply: |
|
description: > |
|
DCDCB power supply node, if present. |
|
|
|
vinc-supply: |
|
description: > |
|
DCDCC power supply node, if present. |
|
|
|
vind-supply: |
|
description: > |
|
DCDCD power supply node, if present. |
|
|
|
vine-supply: |
|
description: > |
|
DCDCE power supply node, if present. |
|
|
|
acin-supply: |
|
description: > |
|
LDO1 power supply node, if present. |
|
|
|
ldo24in-supply: |
|
description: > |
|
LDO2 and LDO4 power supply node, if present. |
|
|
|
ldo3in-supply: |
|
description: > |
|
LDO3 power supply node, if present. |
|
|
|
ldo5in-supply: |
|
description: > |
|
LDO5 power supply node, if present. |
|
|
|
aldoin-supply: |
|
description: > |
|
ALDO* power supply node, if present. |
|
|
|
bldoin-supply: |
|
description: > |
|
BLDO* power supply node, if present. |
|
|
|
cldoin-supply: |
|
description: > |
|
CLDO* power supply node, if present. |
|
|
|
dldoin-supply: |
|
description: > |
|
DLDO* power supply node, if present. |
|
|
|
eldoin-supply: |
|
description: > |
|
ELDO* power supply node, if present. |
|
|
|
fldoin-supply: |
|
description: > |
|
FLDO* power supply node, if present. |
|
|
|
ips-supply: |
|
description: > |
|
LDO_IO0, LDO_IO1 and RTC_LDO power supply node, if present. |
|
|
|
drivevbus-supply: |
|
description: > |
|
DRIVEVBUS power supply node, if present. |
|
|
|
swin-supply: |
|
description: > |
|
SW power supply node, if present. |
|
|
|
adc: |
|
$ref: /schemas/iio/adc/x-powers,axp209-adc.yaml# |
|
|
|
gpio: |
|
$ref: /schemas/gpio/x-powers,axp209-gpio.yaml# |
|
|
|
ac-power: |
|
$ref: /schemas/power/supply/x-powers,axp20x-ac-power-supply.yaml# |
|
|
|
battery-power: |
|
$ref: /schemas/power/supply/x-powers,axp20x-battery-power-supply.yaml# |
|
|
|
usb-power: |
|
$ref: /schemas/power/supply/x-powers,axp20x-usb-power-supply.yaml# |
|
|
|
regulators: |
|
type: object |
|
|
|
properties: |
|
x-powers,dcdc-freq: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
description: > |
|
Defines the work frequency of DC-DC in kHz. |
|
|
|
patternProperties: |
|
"^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|drivevbus|dc5ldo)$": |
|
$ref: /schemas/regulator/regulator.yaml# |
|
type: object |
|
|
|
properties: |
|
regulator-ramp-delay: |
|
description: > |
|
Only 800 and 1600 are valid for the DCDC2 and LDO3 regulators on |
|
the AXP209. |
|
|
|
regulator-soft-start: |
|
description: > |
|
Only valid for the LDO3 regulator. |
|
|
|
x-powers,dcdc-workmode: |
|
$ref: /schemas/types.yaml#/definitions/uint32 |
|
enum: [0, 1] |
|
description: > |
|
Only valid for DCDC regulators. Setup 1 for PWM mode, 0 |
|
for AUTO (PWM/PFM) mode. The DCDC regulators work in a |
|
mixed PWM/PFM mode, using PFM under light loads and |
|
switching to PWM for heavier loads. Forcing PWM mode |
|
trades efficiency under light loads for lower output |
|
noise. This probably makes sense for HiFi audio related |
|
applications that aren't battery constrained. |
|
|
|
additionalProperties: false |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- "#interrupt-cells" |
|
- interrupt-controller |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
i2c0 { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
pmic@30 { |
|
compatible = "x-powers,axp152"; |
|
reg = <0x30>; |
|
interrupts = <0>; |
|
interrupt-controller; |
|
#interrupt-cells = <1>; |
|
}; |
|
}; |
|
|
|
- | |
|
#include <dt-bindings/interrupt-controller/irq.h> |
|
|
|
i2c0 { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
pmic@34 { |
|
compatible = "x-powers,axp209"; |
|
reg = <0x34>; |
|
interrupt-parent = <&nmi_intc>; |
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; |
|
interrupt-controller; |
|
#interrupt-cells = <1>; |
|
|
|
ac_power_supply: ac-power { |
|
compatible = "x-powers,axp202-ac-power-supply"; |
|
}; |
|
|
|
axp_adc: adc { |
|
compatible = "x-powers,axp209-adc"; |
|
#io-channel-cells = <1>; |
|
}; |
|
|
|
axp_gpio: gpio { |
|
compatible = "x-powers,axp209-gpio"; |
|
gpio-controller; |
|
#gpio-cells = <2>; |
|
|
|
gpio0-adc-pin { |
|
pins = "GPIO0"; |
|
function = "adc"; |
|
}; |
|
}; |
|
|
|
battery_power_supply: battery-power { |
|
compatible = "x-powers,axp209-battery-power-supply"; |
|
}; |
|
|
|
regulators { |
|
/* Default work frequency for buck regulators */ |
|
x-powers,dcdc-freq = <1500>; |
|
|
|
reg_dcdc2: dcdc2 { |
|
regulator-always-on; |
|
regulator-min-microvolt = <1000000>; |
|
regulator-max-microvolt = <1450000>; |
|
regulator-name = "vdd-cpu"; |
|
}; |
|
|
|
reg_dcdc3: dcdc3 { |
|
regulator-always-on; |
|
regulator-min-microvolt = <1000000>; |
|
regulator-max-microvolt = <1400000>; |
|
regulator-name = "vdd-int-dll"; |
|
}; |
|
|
|
reg_ldo1: ldo1 { |
|
/* LDO1 is a fixed output regulator */ |
|
regulator-always-on; |
|
regulator-min-microvolt = <1300000>; |
|
regulator-max-microvolt = <1300000>; |
|
regulator-name = "vdd-rtc"; |
|
}; |
|
|
|
reg_ldo2: ldo2 { |
|
regulator-always-on; |
|
regulator-min-microvolt = <3000000>; |
|
regulator-max-microvolt = <3000000>; |
|
regulator-name = "avcc"; |
|
}; |
|
|
|
reg_ldo3: ldo3 { |
|
regulator-name = "ldo3"; |
|
}; |
|
|
|
reg_ldo4: ldo4 { |
|
regulator-name = "ldo4"; |
|
}; |
|
|
|
reg_ldo5: ldo5 { |
|
regulator-name = "ldo5"; |
|
}; |
|
}; |
|
|
|
usb_power_supply: usb-power { |
|
compatible = "x-powers,axp202-usb-power-supply"; |
|
}; |
|
}; |
|
};
|
|
|