DT bindings for the Renesas R-Mobile System Controller == System Controller Node == The R-Mobile System Controller provides the following functions: - Boot mode management, - Reset generation, - Power management. Required properties: - compatible: Should be "renesas,sysc-", "renesas,sysc-rmobile" as fallback. Examples with soctypes are: - "renesas,sysc-r8a73a4" (R-Mobile APE6) - "renesas,sysc-r8a7740" (R-Mobile A1) - "renesas,sysc-sh73a0" (SH-Mobile AG5) - reg: Two address start and address range blocks for the device: - The first block refers to the normally accessible registers, - the second block refers to the registers protected by the HPB semaphore. Optional nodes: - pm-domains: This node contains a hierarchy of PM domain nodes, which should match the Power Area Hierarchy in the Power Domain Specifications section of the device's datasheet. == PM Domain Nodes == Each of the PM domain nodes represents a PM domain, as documented by the generic PM domain bindings in Documentation/devicetree/bindings/power/power_domain.txt. The nodes should be named by the real power area names, and thus their names should be unique. Required properties: - #power-domain-cells: Must be 0. Optional properties: - reg: If the PM domain is not always-on, this property must contain the bit index number for the corresponding power area in the various Power Control and Status Registers. The parent's node must contain the following two properties: - #address-cells: Must be 1, - #size-cells: Must be 0. If the PM domain is always-on, this property must be omitted. Example: This shows a subset of the r8a7740 PM domain hierarchy, containing the C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain, which is a subdomain of A4S. sysc: system-controller@e6180000 { compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile"; reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>; pm-domains { pd_c5: c5 { #address-cells = <1>; #size-cells = <0>; #power-domain-cells = <0>; pd_a4s: a4s@10 { reg = <10>; #address-cells = <1>; #size-cells = <0>; #power-domain-cells = <0>; pd_a3sp: a3sp@11 { reg = <11>; #power-domain-cells = <0>; }; }; pd_a4su: a4su@20 { reg = <20>; #power-domain-cells = <0>; }; }; }; }; == PM Domain Consumers == Hardware blocks belonging to a PM domain should contain a "power-domains" property that is a phandle pointing to the corresponding PM domain node. Example: tpu: pwm@e6600000 { compatible = "renesas,tpu-r8a7740", "renesas,tpu"; reg = <0xe6600000 0x100>; clocks = <&mstp3_clks R8A7740_CLK_TPU0>; power-domains = <&pd_a3sp>; #pwm-cells = <3>; };