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