1*4882a593SmuzhiyunDT bindings for the Renesas R-Mobile System Controller 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun== System Controller Node == 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThe R-Mobile System Controller provides the following functions: 6*4882a593Smuzhiyun - Boot mode management, 7*4882a593Smuzhiyun - Reset generation, 8*4882a593Smuzhiyun - Power management. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunRequired properties: 11*4882a593Smuzhiyun- compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as 12*4882a593Smuzhiyun fallback. 13*4882a593Smuzhiyun Examples with soctypes are: 14*4882a593Smuzhiyun - "renesas,sysc-r8a73a4" (R-Mobile APE6) 15*4882a593Smuzhiyun - "renesas,sysc-r8a7740" (R-Mobile A1) 16*4882a593Smuzhiyun - "renesas,sysc-sh73a0" (SH-Mobile AG5) 17*4882a593Smuzhiyun- reg: Two address start and address range blocks for the device: 18*4882a593Smuzhiyun - The first block refers to the normally accessible registers, 19*4882a593Smuzhiyun - the second block refers to the registers protected by the HPB 20*4882a593Smuzhiyun semaphore. 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunOptional nodes: 23*4882a593Smuzhiyun- pm-domains: This node contains a hierarchy of PM domain nodes, which should 24*4882a593Smuzhiyun match the Power Area Hierarchy in the Power Domain Specifications section of 25*4882a593Smuzhiyun the device's datasheet. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun== PM Domain Nodes == 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunEach of the PM domain nodes represents a PM domain, as documented by the 31*4882a593Smuzhiyungeneric PM domain bindings in 32*4882a593SmuzhiyunDocumentation/devicetree/bindings/power/power-domain.yaml. 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunThe nodes should be named by the real power area names, and thus their names 35*4882a593Smuzhiyunshould be unique. 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunRequired properties: 38*4882a593Smuzhiyun - #power-domain-cells: Must be 0. 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunOptional properties: 41*4882a593Smuzhiyun- reg: If the PM domain is not always-on, this property must contain the bit 42*4882a593Smuzhiyun index number for the corresponding power area in the various Power 43*4882a593Smuzhiyun Control and Status Registers. The parent's node must contain the 44*4882a593Smuzhiyun following two properties: 45*4882a593Smuzhiyun - #address-cells: Must be 1, 46*4882a593Smuzhiyun - #size-cells: Must be 0. 47*4882a593Smuzhiyun If the PM domain is always-on, this property must be omitted. 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun 50*4882a593SmuzhiyunExample: 51*4882a593Smuzhiyun 52*4882a593SmuzhiyunThis shows a subset of the r8a7740 PM domain hierarchy, containing the 53*4882a593SmuzhiyunC5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain, 54*4882a593Smuzhiyunwhich is a subdomain of A4S. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun sysc: system-controller@e6180000 { 57*4882a593Smuzhiyun compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile"; 58*4882a593Smuzhiyun reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun pm-domains { 61*4882a593Smuzhiyun pd_c5: c5 { 62*4882a593Smuzhiyun #address-cells = <1>; 63*4882a593Smuzhiyun #size-cells = <0>; 64*4882a593Smuzhiyun #power-domain-cells = <0>; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun pd_a4s: a4s@10 { 67*4882a593Smuzhiyun reg = <10>; 68*4882a593Smuzhiyun #address-cells = <1>; 69*4882a593Smuzhiyun #size-cells = <0>; 70*4882a593Smuzhiyun #power-domain-cells = <0>; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun pd_a3sp: a3sp@11 { 73*4882a593Smuzhiyun reg = <11>; 74*4882a593Smuzhiyun #power-domain-cells = <0>; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun pd_a4su: a4su@20 { 79*4882a593Smuzhiyun reg = <20>; 80*4882a593Smuzhiyun #power-domain-cells = <0>; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun== PM Domain Consumers == 88*4882a593Smuzhiyun 89*4882a593SmuzhiyunHardware blocks belonging to a PM domain should contain a "power-domains" 90*4882a593Smuzhiyunproperty that is a phandle pointing to the corresponding PM domain node. 91*4882a593Smuzhiyun 92*4882a593SmuzhiyunExample: 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun tpu: pwm@e6600000 { 95*4882a593Smuzhiyun compatible = "renesas,tpu-r8a7740", "renesas,tpu"; 96*4882a593Smuzhiyun reg = <0xe6600000 0x100>; 97*4882a593Smuzhiyun clocks = <&mstp3_clks R8A7740_CLK_TPU0>; 98*4882a593Smuzhiyun power-domains = <&pd_a3sp>; 99*4882a593Smuzhiyun #pwm-cells = <3>; 100*4882a593Smuzhiyun }; 101