dt-bindings: regulator: Add QCOM AMOLED regulator bindings

Add bindings for QCOM AMOLED regulator which is used to configure
triple power supply for amoled displays.

This is a snapshot of the bindings taken as of qcom-6.1
commit 6f13701949ee ("dt-bindings: qpnp-amoled: Fix the IBB Spur mitigation example code")
and converted from .txt to .yaml file.

Change-Id: I51f6029f2a140e5a6d2a53d3b1a2d468a8721bfa
Signed-off-by: Anjelique Melendez <quic_amelende@quicinc.com>
This commit is contained in:
Anjelique Melendez
2023-12-07 11:36:34 -08:00
parent d8ab22901a
commit 50c5b79dbe

View File

@@ -0,0 +1,200 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/regulator/qcom,amoled-regulator.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: Qualcomm Technologies, Inc. AMOLED Triple power supply regulator devices
maintainers:
- Anjelique Melendez <quic_amelende@quicinc.com>
description: |
OLED module provides AVDD voltage rail output for bias and AB/IBB
module provides ELVDD/ELVSS voltage rail output to power up AMOLED panels.
properties:
compatible:
const: qcom,amoled-regulator
nvmem-cells:
items:
- description: IBB spur mitigation SQM timer value nvmem cell phandle.
nvmem-cell-names:
items:
- const: ibb_spur_sqm_timer
'#address-cells':
const: 1
'#size-cells':
const: 0
patternProperties:
"^oledb@[0-9a-f]+$":
description: OLEDB regulator
type: object
$ref: "regulator.yaml#"
unevaluatedProperties: false
properties:
reg:
maxItems: 1
qcom,swire-control:
description: |
Boolean flag indicating that the regulator output is controlled by an SWIRE
signal, not software.
type: boolean
required:
- reg
"^ab@[0-9a-f]+$":
description: AB regulator
type: object
$ref: "regulator.yaml#"
unevaluatedProperties: false
properties:
reg:
maxItems: 1
qcom,swire-control:
description: |
Boolean flag indicating that the regulator output is controlled by an SWIRE
signal, not software.
type: boolean
qcom,aod-pd-control:
description: |
Boolean flag indicating that pull down control needs to be configured
during AOD mode.
type: boolean
required:
- reg
"^ibb@[0-9a-f]+$":
description: IBB regulator
type: object
$ref: "regulator.yaml#"
unevaluatedProperties: false
properties:
reg:
maxItems: 1
qcom,swire-control:
description: |
Boolean flag indicating that the regulator output is controlled by an SWIRE
signal, not software.
type: boolean
qcom,aod-pd-control:
description: |
Boolean flag indicating that pull down control needs to be configured
during AOD mode.
type: boolean
qcom,ibb-single-phase:
description: |
Boolean flag indicating that the IBB regulator needs to always be
configured for single phase.
type: boolean
qcom,ibb-spur-mitigation-level:
description: |
IBB spur mitigation level selection options.
0 - IBB spur mitigation disabled
1 - IBB spur mitigation enabled without SQM mode
2 - IBB spur mitigation enabled with SQM mode.
$ref: /schemas/types.yaml#/definitions/uint32
enum: [ 0, 1, 2 ]
qcom,ibb-spur-sqm-timer-ms:
description: |
Time HW stays in SQM mode before re-evulating the exit condition.
This property is only valid when qcom,ibb-spur-mitigation-level is set to 2.
default: 1000
minimum: 100
maximum: 10000
qcom,ibb-spur-2khz-step-size:
description: |
Boolean flag indicating that the frequency will use 2 kHz step size
instead of 1 kHz. This will double the frequency selection range from
1-248 kHz to 2-496 kHz, for all the frequency band thresholds.
type: boolean
qcom,ibb-spur-freq-thresholds:
description: |
Specifies the range of thresholds for 3 frequency bands
with each tuple representing a low and high threshold.
Valid ranges are from 1-248 kHz and 2-496 kHz(step size 2 kHz).
To disable a frequency band set both low and high thresholds to max
threshold value.
$ref: /schemas/types.yaml#/definitions/uint32-matrix
minItems: 3
maxItems: 3
items:
items:
- description: Frequency range min frequency (kHz)
minimum: 1
maximum: 496
- description: Frequency range max frequency (kHz)
minimum: 1
maximum: 496
required:
- reg
required:
- compatible
unevaluatedProperties: false
examples:
- |
qcom-amoled {
compatible = "qcom,amoled-regulator";
#address-cells = <1>;
#size-cells = <0>;
nvmem-cells = <&ibb_spur_sqm_timer>;
nvmem-cell-names = "ibb_spur_sqm_timer";
oledb_vreg: oledb@e000 {
reg = <0xe000>;
regulator-name = "oled_vreg";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <8000000>;
qcom,swire-control;
};
ab_vreg: ab@de00 {
reg = <0xde00>;
regulator-name = "ab_vreg";
regulator-min-microvolt = <4600000>;
regulator-max-microvolt = <5200000>;
qcom,swire-control;
qcom,aod-pd-control;
};
ibb_vreg: ibb@dc00 {
reg = <0xdc00>;
regulator-name = "ibb_vreg";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <5400000>;
qcom,swire-control;
qcom,aod-pd-control;
qcom,ibb-spur-mitigation-level = <2>;
qcom,ibb-spur-sqm-timer-ms = <1000>;
qcom,ibb-spur-2khz-step-size;
qcom,ibb-spur-freq-thresholds = <100 120>,
<150 170>,
<496 496>;
};
};