dt-bindings: regulator: add gdsc-regulator bindings
Add bindings for gdsc-regulator on Sun Soc. Change-Id: I50eda2575b97580696ae5d91ce155c2ce21353cf Signed-off-by: Xubin Bai <quic_xubibai@quicinc.com>
This commit is contained in:
170
bindings/regulator/gdsc-regulator.yaml
Normal file
170
bindings/regulator/gdsc-regulator.yaml
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/regulator/gdsc-regulator.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm Technologies, Inc. Global Distributed Switch Controller Regulator
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Xubin Bai <quic_xubibai@quicinc.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The GDSC driver, implemented under the regulator framework,
|
||||||
|
is responsible for safely collapsing and restoring power to
|
||||||
|
peripheral and multimedia cores on chipsets for power savings.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: qcom,gdsc
|
||||||
|
|
||||||
|
regulator-name:
|
||||||
|
description: A string used as a descriptive name for regulator outputs.
|
||||||
|
|
||||||
|
reg:
|
||||||
|
description: The address of the GDSCR register.
|
||||||
|
|
||||||
|
parent-supply:
|
||||||
|
description: phandle to the parent supply regulator node.
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
description: phandle to clock used by GDSC.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
description: List of string names for core clocks.
|
||||||
|
|
||||||
|
qcom,retain-regs:
|
||||||
|
description: |
|
||||||
|
Presence denotes a hardware requirement to enable the
|
||||||
|
usage of retention registers which maintain their state
|
||||||
|
after the GDSC is disabled and re-enabled.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,skip-logic-collapse:
|
||||||
|
description: |
|
||||||
|
Presence denotes a requirement to leave power to
|
||||||
|
the core's logic enabled.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,support-hw-trigger:
|
||||||
|
description: |
|
||||||
|
Presence denotes a hardware feature to switch on/off this
|
||||||
|
regulator based on internal HW signals to save more power.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,enable-root-clk:
|
||||||
|
description: |
|
||||||
|
Presence denotes that the clocks in the "clocks"
|
||||||
|
property are required to be enabled before gdsc is
|
||||||
|
turned on and disabled before turning off gdsc. This
|
||||||
|
will be used in subsystems where reset is synchronous
|
||||||
|
and root clk is active without sw being aware of its
|
||||||
|
state. The clock-name which denotes the root clock
|
||||||
|
should be named as "core_root_clk".
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,force-enable-root-clk:
|
||||||
|
description: |
|
||||||
|
If set, denotes that the root clock should be force enabled
|
||||||
|
before turning on the GDSC and then be immediately force
|
||||||
|
disabled. Likewise for GDSC disable. This is used in cases
|
||||||
|
where the core root clock needs to be force-enabled prior
|
||||||
|
to turning on the core. The clock-name which denotes the
|
||||||
|
root clock should be "core_root_clk".
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,clk-dis-wait-val:
|
||||||
|
description: |
|
||||||
|
Input value for CLK_DIS_WAIT controls state transition
|
||||||
|
delay after halting clock in the collapsible core.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
description: |
|
||||||
|
Names of the bases for the above "reg" registers.
|
||||||
|
Ex. "base", "domain-addr", "sw-reset", "hw-ctrl-addr".
|
||||||
|
|
||||||
|
qcom,no-status-check-on-disable:
|
||||||
|
description: Do not poll the status bit when GDSC is disabled.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,gds-timeout:
|
||||||
|
description: |
|
||||||
|
Maximum time (in usecs) that might be taken by a GDSC to enable.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
qcom,reset-aon-logic:
|
||||||
|
description: |
|
||||||
|
If present, the GPU DEMET cells need to be reset while
|
||||||
|
enabling the GX GDSC.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,support-cfg-gdscr:
|
||||||
|
description: |
|
||||||
|
Presence denotes HW supports CFG_GDSCR register
|
||||||
|
when checking the status of gdsc.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,collapse-vote:
|
||||||
|
description: |
|
||||||
|
Phandle pointer to the register APCS_GDSC_BRANCH_ENA_VOTE
|
||||||
|
that collapse GDSCs.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
|
qcom,skip-disable:
|
||||||
|
description: |
|
||||||
|
If the disable skipping feature is allowed, then use mode
|
||||||
|
control to enable and disable the feature at runtime instead
|
||||||
|
of using it to enable and disable hardware triggering.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
vdd_parent-supply:
|
||||||
|
description: |
|
||||||
|
phandle to the regulator that this GDSC gates. If present,
|
||||||
|
need to vote for a minimum operational voltage (LOW_SVS) on
|
||||||
|
the GDSC parent regulator prior to configuring it. The vote
|
||||||
|
is removed once the GDSC FSM has latched on to the new state.
|
||||||
|
|
||||||
|
resets:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
description: |
|
||||||
|
reset specifier pair consisting of phandle for the reset
|
||||||
|
controller and reset lines used by this controller. These
|
||||||
|
can be supplied only if we support qcom,skip-logic-collapse.
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
description: |
|
||||||
|
reset signal name strings sorted in the same order as
|
||||||
|
the resets property. These can be supplied only if we
|
||||||
|
support qcom,skip-logic-collapse.
|
||||||
|
|
||||||
|
qcom,skip-disable-before-sw-enable:
|
||||||
|
description: |
|
||||||
|
Presence denotes a hardware requirement to leave the
|
||||||
|
GDSC on that has been enabled by an entity external to HLOS.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
qcom,no-config-gdscr:
|
||||||
|
description: |
|
||||||
|
Presence denotes HW only supports a single register per GDSC.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- regulator-name
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
gdsc_oxili_gx: qcom,gdsc@fd8c4024 {
|
||||||
|
compatible = "qcom,gdsc";
|
||||||
|
regulator-name = "gdsc_oxili_gx";
|
||||||
|
parent-supply = <&pm8841_s4>;
|
||||||
|
reg = <0xfd8c4024 0x4>;
|
||||||
|
clock-names = "core_clk";
|
||||||
|
};
|
||||||
|
...
|
||||||
|
|
Reference in New Issue
Block a user