Commit 5f459cb0 authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Thierry Reding

dt-bindings: soc: tegra-pmc: Document core power domain

All NVIDIA Tegra SoCs have a core power domain where majority of hardware
blocks reside. Document the new core power domain properties.
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent c4a41429
...@@ -301,6 +301,33 @@ patternProperties: ...@@ -301,6 +301,33 @@ patternProperties:
additionalProperties: false additionalProperties: false
core-domain:
type: object
description: |
The vast majority of hardware blocks of Tegra SoC belong to a
Core power domain, which has a dedicated voltage rail that powers
the blocks.
properties:
operating-points-v2:
description:
Should contain level, voltages and opp-supported-hw property.
The supported-hw is a bitfield indicating SoC speedo or process
ID mask.
"#power-domain-cells":
const: 0
required:
- operating-points-v2
- "#power-domain-cells"
additionalProperties: false
core-supply:
description:
Phandle to voltage regulator connected to the SoC Core power rail.
required: required:
- compatible - compatible
- reg - reg
...@@ -325,6 +352,7 @@ examples: ...@@ -325,6 +352,7 @@ examples:
tegra_pmc: pmc@7000e400 { tegra_pmc: pmc@7000e400 {
compatible = "nvidia,tegra210-pmc"; compatible = "nvidia,tegra210-pmc";
reg = <0x7000e400 0x400>; reg = <0x7000e400 0x400>;
core-supply = <&regulator>;
clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
clock-names = "pclk", "clk32k_in"; clock-names = "pclk", "clk32k_in";
#clock-cells = <1>; #clock-cells = <1>;
...@@ -338,17 +366,24 @@ examples: ...@@ -338,17 +366,24 @@ examples:
nvidia,core-power-req-active-high; nvidia,core-power-req-active-high;
nvidia,sys-clock-req-active-high; nvidia,sys-clock-req-active-high;
pd_core: core-domain {
operating-points-v2 = <&core_opp_table>;
#power-domain-cells = <0>;
};
powergates { powergates {
pd_audio: aud { pd_audio: aud {
clocks = <&tegra_car TEGRA210_CLK_APE>, clocks = <&tegra_car TEGRA210_CLK_APE>,
<&tegra_car TEGRA210_CLK_APB2APE>; <&tegra_car TEGRA210_CLK_APB2APE>;
resets = <&tegra_car 198>; resets = <&tegra_car 198>;
power-domains = <&pd_core>;
#power-domain-cells = <0>; #power-domain-cells = <0>;
}; };
pd_xusbss: xusba { pd_xusbss: xusba {
clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>; clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
resets = <&tegra_car TEGRA210_CLK_XUSB_SS>; resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
power-domains = <&pd_core>;
#power-domain-cells = <0>; #power-domain-cells = <0>;
}; };
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment