18c2ecf20Sopenharmony_ciDT bindings for the Renesas R-Mobile System Controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci== System Controller Node == 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciThe R-Mobile System Controller provides the following functions: 68c2ecf20Sopenharmony_ci - Boot mode management, 78c2ecf20Sopenharmony_ci - Reset generation, 88c2ecf20Sopenharmony_ci - Power management. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciRequired properties: 118c2ecf20Sopenharmony_ci- compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as 128c2ecf20Sopenharmony_ci fallback. 138c2ecf20Sopenharmony_ci Examples with soctypes are: 148c2ecf20Sopenharmony_ci - "renesas,sysc-r8a73a4" (R-Mobile APE6) 158c2ecf20Sopenharmony_ci - "renesas,sysc-r8a7740" (R-Mobile A1) 168c2ecf20Sopenharmony_ci - "renesas,sysc-sh73a0" (SH-Mobile AG5) 178c2ecf20Sopenharmony_ci- reg: Two address start and address range blocks for the device: 188c2ecf20Sopenharmony_ci - The first block refers to the normally accessible registers, 198c2ecf20Sopenharmony_ci - the second block refers to the registers protected by the HPB 208c2ecf20Sopenharmony_ci semaphore. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciOptional nodes: 238c2ecf20Sopenharmony_ci- pm-domains: This node contains a hierarchy of PM domain nodes, which should 248c2ecf20Sopenharmony_ci match the Power Area Hierarchy in the Power Domain Specifications section of 258c2ecf20Sopenharmony_ci the device's datasheet. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci== PM Domain Nodes == 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciEach of the PM domain nodes represents a PM domain, as documented by the 318c2ecf20Sopenharmony_cigeneric PM domain bindings in 328c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/power/power-domain.yaml. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciThe nodes should be named by the real power area names, and thus their names 358c2ecf20Sopenharmony_cishould be unique. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciRequired properties: 388c2ecf20Sopenharmony_ci - #power-domain-cells: Must be 0. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciOptional properties: 418c2ecf20Sopenharmony_ci- reg: If the PM domain is not always-on, this property must contain the bit 428c2ecf20Sopenharmony_ci index number for the corresponding power area in the various Power 438c2ecf20Sopenharmony_ci Control and Status Registers. The parent's node must contain the 448c2ecf20Sopenharmony_ci following two properties: 458c2ecf20Sopenharmony_ci - #address-cells: Must be 1, 468c2ecf20Sopenharmony_ci - #size-cells: Must be 0. 478c2ecf20Sopenharmony_ci If the PM domain is always-on, this property must be omitted. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciExample: 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciThis shows a subset of the r8a7740 PM domain hierarchy, containing the 538c2ecf20Sopenharmony_ciC5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain, 548c2ecf20Sopenharmony_ciwhich is a subdomain of A4S. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci sysc: system-controller@e6180000 { 578c2ecf20Sopenharmony_ci compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile"; 588c2ecf20Sopenharmony_ci reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci pm-domains { 618c2ecf20Sopenharmony_ci pd_c5: c5 { 628c2ecf20Sopenharmony_ci #address-cells = <1>; 638c2ecf20Sopenharmony_ci #size-cells = <0>; 648c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci pd_a4s: a4s@10 { 678c2ecf20Sopenharmony_ci reg = <10>; 688c2ecf20Sopenharmony_ci #address-cells = <1>; 698c2ecf20Sopenharmony_ci #size-cells = <0>; 708c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci pd_a3sp: a3sp@11 { 738c2ecf20Sopenharmony_ci reg = <11>; 748c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci pd_a4su: a4su@20 { 798c2ecf20Sopenharmony_ci reg = <20>; 808c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 818c2ecf20Sopenharmony_ci }; 828c2ecf20Sopenharmony_ci }; 838c2ecf20Sopenharmony_ci }; 848c2ecf20Sopenharmony_ci }; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci== PM Domain Consumers == 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ciHardware blocks belonging to a PM domain should contain a "power-domains" 908c2ecf20Sopenharmony_ciproperty that is a phandle pointing to the corresponding PM domain node. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciExample: 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci tpu: pwm@e6600000 { 958c2ecf20Sopenharmony_ci compatible = "renesas,tpu-r8a7740", "renesas,tpu"; 968c2ecf20Sopenharmony_ci reg = <0xe6600000 0x100>; 978c2ecf20Sopenharmony_ci clocks = <&mstp3_clks R8A7740_CLK_TPU0>; 988c2ecf20Sopenharmony_ci power-domains = <&pd_a3sp>; 998c2ecf20Sopenharmony_ci #pwm-cells = <3>; 1008c2ecf20Sopenharmony_ci }; 101