aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/arm/exynos/power_domain.txt13
-rw-r--r--Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt (renamed from Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt)8
-rw-r--r--Documentation/devicetree/bindings/power/power_domain.txt49
-rw-r--r--Documentation/devicetree/bindings/power/rockchip-io-domain.txt83
4 files changed, 142 insertions, 11 deletions
diff --git a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
index 8b4f7b7fe88b..abde1ea8a119 100644
--- a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
+++ b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
@@ -8,6 +8,8 @@ Required Properties:
8 * samsung,exynos4210-pd - for exynos4210 type power domain. 8 * samsung,exynos4210-pd - for exynos4210 type power domain.
9- reg: physical base address of the controller and length of memory mapped 9- reg: physical base address of the controller and length of memory mapped
10 region. 10 region.
11- #power-domain-cells: number of cells in power domain specifier;
12 must be 0.
11 13
12Optional Properties: 14Optional Properties:
13- clocks: List of clock handles. The parent clocks of the input clocks to the 15- clocks: List of clock handles. The parent clocks of the input clocks to the
@@ -29,6 +31,7 @@ Example:
29 lcd0: power-domain-lcd0 { 31 lcd0: power-domain-lcd0 {
30 compatible = "samsung,exynos4210-pd"; 32 compatible = "samsung,exynos4210-pd";
31 reg = <0x10023C00 0x10>; 33 reg = <0x10023C00 0x10>;
34 #power-domain-cells = <0>;
32 }; 35 };
33 36
34 mfc_pd: power-domain@10044060 { 37 mfc_pd: power-domain@10044060 {
@@ -37,12 +40,8 @@ Example:
37 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_SW_ACLK333>, 40 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_SW_ACLK333>,
38 <&clock CLK_MOUT_USER_ACLK333>; 41 <&clock CLK_MOUT_USER_ACLK333>;
39 clock-names = "oscclk", "pclk0", "clk0"; 42 clock-names = "oscclk", "pclk0", "clk0";
43 #power-domain-cells = <0>;
40 }; 44 };
41 45
42Example of the node using power domain: 46See Documentation/devicetree/bindings/power/power_domain.txt for description
43 47of consumer-side bindings.
44 node {
45 /* ... */
46 samsung,power-domain = <&lcd0>;
47 /* ... */
48 };
diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt b/Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt
index 366690cb86a3..e41c98ffbccb 100644
--- a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
+++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt
@@ -1,8 +1,8 @@
1Generic CPU0 cpufreq driver 1Generic cpufreq driver
2 2
3It is a generic cpufreq driver for CPU0 frequency management. It 3It is a generic DT based cpufreq driver for frequency management. It supports
4supports both uniprocessor (UP) and symmetric multiprocessor (SMP) 4both uniprocessor (UP) and symmetric multiprocessor (SMP) systems which share
5systems which share clock and voltage across all CPUs. 5clock and voltage across all CPUs.
6 6
7Both required and optional properties listed below must be defined 7Both required and optional properties listed below must be defined
8under node /cpus/cpu@0. 8under node /cpus/cpu@0.
diff --git a/Documentation/devicetree/bindings/power/power_domain.txt b/Documentation/devicetree/bindings/power/power_domain.txt
new file mode 100644
index 000000000000..98c16672ab5f
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/power_domain.txt
@@ -0,0 +1,49 @@
1* Generic PM domains
2
3System on chip designs are often divided into multiple PM domains that can be
4used for power gating of selected IP blocks for power saving by reduced leakage
5current.
6
7This device tree binding can be used to bind PM domain consumer devices with
8their PM domains provided by PM domain providers. A PM domain provider can be
9represented by any node in the device tree and can provide one or more PM
10domains. A consumer node can refer to the provider by a phandle and a set of
11phandle arguments (so called PM domain specifiers) of length specified by the
12#power-domain-cells property in the PM domain provider node.
13
14==PM domain providers==
15
16Required properties:
17 - #power-domain-cells : Number of cells in a PM domain specifier;
18 Typically 0 for nodes representing a single PM domain and 1 for nodes
19 providing multiple PM domains (e.g. power controllers), but can be any value
20 as specified by device tree binding documentation of particular provider.
21
22Example:
23
24 power: power-controller@12340000 {
25 compatible = "foo,power-controller";
26 reg = <0x12340000 0x1000>;
27 #power-domain-cells = <1>;
28 };
29
30The node above defines a power controller that is a PM domain provider and
31expects one cell as its phandle argument.
32
33==PM domain consumers==
34
35Required properties:
36 - power-domains : A phandle and PM domain specifier as defined by bindings of
37 the power controller specified by phandle.
38
39Example:
40
41 leaky-device@12350000 {
42 compatible = "foo,i-leak-current";
43 reg = <0x12350000 0x1000>;
44 power-domains = <&power 0>;
45 };
46
47The node above defines a typical PM domain consumer device, which is located
48inside a PM domain with index 0 of a power controller represented by a node
49with the label "power".
diff --git a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
new file mode 100644
index 000000000000..6fbf6e7ecde6
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
@@ -0,0 +1,83 @@
1Rockchip SRAM for IO Voltage Domains:
2-------------------------------------
3
4IO domain voltages on some Rockchip SoCs are variable but need to be
5kept in sync between the regulators and the SoC using a special
6register.
7
8A specific example using rk3288:
9- If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then
10 bit 7 of GRF_IO_VSEL needs to be 0. If the regulator hooked up to
11 that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1.
12
13Said another way, this driver simply handles keeping bits in the SoC's
14general register file (GRF) in sync with the actual value of a voltage
15hooked up to the pins.
16
17Note that this driver specifically doesn't include:
18- any logic for deciding what voltage we should set regulators to
19- any logic for deciding whether regulators (or internal SoC blocks)
20 should have power or not have power
21
22If there were some other software that had the smarts of making
23decisions about regulators, it would work in conjunction with this
24driver. When that other software adjusted a regulator's voltage then
25this driver would handle telling the SoC about it. A good example is
26vqmmc for SD. In that case the dw_mmc driver simply is told about a
27regulator. It changes the regulator between 3.3V and 1.8V at the
28right time. This driver notices the change and makes sure that the
29SoC is on the same page.
30
31
32Required properties:
33- compatible: should be one of:
34 - "rockchip,rk3188-io-voltage-domain" for rk3188
35 - "rockchip,rk3288-io-voltage-domain" for rk3288
36- rockchip,grf: phandle to the syscon managing the "general register files"
37
38
39You specify supplies using the standard regulator bindings by including
40a phandle the the relevant regulator. All specified supplies must be able
41to report their voltage. The IO Voltage Domain for any non-specified
42supplies will be not be touched.
43
44Possible supplies for rk3188:
45- ap0-supply: The supply connected to AP0_VCC.
46- ap1-supply: The supply connected to AP1_VCC.
47- cif-supply: The supply connected to CIF_VCC.
48- flash-supply: The supply connected to FLASH_VCC.
49- lcdc0-supply: The supply connected to LCD0_VCC.
50- lcdc1-supply: The supply connected to LCD1_VCC.
51- vccio0-supply: The supply connected to VCCIO0.
52- vccio1-supply: The supply connected to VCCIO1.
53 Sometimes also labeled VCCIO1 and VCCIO2.
54
55Possible supplies for rk3288:
56- audio-supply: The supply connected to APIO4_VDD.
57- bb-supply: The supply connected to APIO5_VDD.
58- dvp-supply: The supply connected to DVPIO_VDD.
59- flash0-supply: The supply connected to FLASH0_VDD. Typically for eMMC
60- flash1-supply: The supply connected to FLASH1_VDD. Also known as SDIO1.
61- gpio30-supply: The supply connected to APIO1_VDD.
62- gpio1830 The supply connected to APIO2_VDD.
63- lcdc-supply: The supply connected to LCDC_VDD.
64- sdcard-supply: The supply connected to SDMMC0_VDD.
65- wifi-supply: The supply connected to APIO3_VDD. Also known as SDIO0.
66
67
68Example:
69
70 io-domains {
71 compatible = "rockchip,rk3288-io-voltage-domain";
72 rockchip,grf = <&grf>;
73
74 audio-supply = <&vcc18_codec>;
75 bb-supply = <&vcc33_io>;
76 dvp-supply = <&vcc_18>;
77 flash0-supply = <&vcc18_flashio>;
78 gpio1830-supply = <&vcc33_io>;
79 gpio30-supply = <&vcc33_pmuio>;
80 lcdc-supply = <&vcc33_lcd>;
81 sdcard-supply = <&vccio_sd>;
82 wifi-supply = <&vcc18_wl>;
83 };