1*1a88a04eSAndreas DannenbergTexas Instruments TI SCI Generic Power Domain 2*1a88a04eSAndreas Dannenberg============================================= 3*1a88a04eSAndreas Dannenberg 4*1a88a04eSAndreas DannenbergSome TI SoCs contain a system controller (like the SYSFW, etc...) that is 5*1a88a04eSAndreas Dannenbergresponsible for controlling the state of the IPs that are present. 6*1a88a04eSAndreas DannenbergCommunication between the host processor running an OS and the system 7*1a88a04eSAndreas Dannenbergcontroller happens through a protocol known as TI SCI [1]. 8*1a88a04eSAndreas Dannenberg 9*1a88a04eSAndreas Dannenberg[1] http://processors.wiki.ti.com/index.php/TISCI 10*1a88a04eSAndreas Dannenberg 11*1a88a04eSAndreas DannenbergPM Domain Node 12*1a88a04eSAndreas Dannenberg============== 13*1a88a04eSAndreas DannenbergThe PM domain node represents the global PM domain managed by the SYSFW. Because 14*1a88a04eSAndreas Dannenbergthis relies on the TI SCI protocol to communicate with the SYSFW it must be a 15*1a88a04eSAndreas Dannenbergchild of the sysfw node. 16*1a88a04eSAndreas Dannenberg 17*1a88a04eSAndreas DannenbergRequired Properties: 18*1a88a04eSAndreas Dannenberg-------------------- 19*1a88a04eSAndreas Dannenberg- compatible: Must be "ti,sci-pm-domain" 20*1a88a04eSAndreas Dannenberg- #power-domain-cells: Must be 1 so that an id can be provided in each 21*1a88a04eSAndreas Dannenberg device node. 22*1a88a04eSAndreas Dannenberg 23*1a88a04eSAndreas DannenbergExample (AM65x): 24*1a88a04eSAndreas Dannenberg---------------- 25*1a88a04eSAndreas Dannenberg sysfw: sysfw { 26*1a88a04eSAndreas Dannenberg compatible = "ti,am654-system-controller"; 27*1a88a04eSAndreas Dannenberg ... 28*1a88a04eSAndreas Dannenberg k3_pds: power-controller { 29*1a88a04eSAndreas Dannenberg compatible = "ti,sci-pm-domain"; 30*1a88a04eSAndreas Dannenberg #power-domain-cells = <1>; 31*1a88a04eSAndreas Dannenberg }; 32*1a88a04eSAndreas Dannenberg }; 33*1a88a04eSAndreas Dannenberg 34*1a88a04eSAndreas DannenbergPM Domain Consumers 35*1a88a04eSAndreas Dannenberg=================== 36*1a88a04eSAndreas DannenbergHardware blocks belonging to a PM domain should contain a "power-domains" 37*1a88a04eSAndreas Dannenbergproperty that is a phandle pointing to the corresponding PM domain node 38*1a88a04eSAndreas Dannenbergalong with an index representing the device id to be passed to the PMMC 39*1a88a04eSAndreas Dannenbergfor device control. 40*1a88a04eSAndreas Dannenberg 41*1a88a04eSAndreas DannenbergRequired Properties: 42*1a88a04eSAndreas Dannenberg-------------------- 43*1a88a04eSAndreas Dannenberg- power-domains: phandle pointing to the corresponding PM domain node 44*1a88a04eSAndreas Dannenberg and an ID representing the device. 45*1a88a04eSAndreas Dannenberg 46*1a88a04eSAndreas DannenbergExample (AM65x): 47*1a88a04eSAndreas Dannenberg---------------- 48*1a88a04eSAndreas Dannenberg uart2: serial@02800000 { 49*1a88a04eSAndreas Dannenberg compatible = "ti,omap4-uart"; 50*1a88a04eSAndreas Dannenberg ... 51*1a88a04eSAndreas Dannenberg power-domains = <&k3_pds 0x3f>; 52*1a88a04eSAndreas Dannenberg }; 53