1*c66ec88fSEmmanuel Vadot* Run Control and Power Management 2*c66ec88fSEmmanuel Vadot------------------------------------------- 3*c66ec88fSEmmanuel VadotThe RCPM performs all device-level tasks associated with device run control 4*c66ec88fSEmmanuel Vadotand power management. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired properites: 7*c66ec88fSEmmanuel Vadot - reg : Offset and length of the register set of the RCPM block. 8*c66ec88fSEmmanuel Vadot - #fsl,rcpm-wakeup-cells : The number of IPPDEXPCR register cells in the 9*c66ec88fSEmmanuel Vadot fsl,rcpm-wakeup property. 10*c66ec88fSEmmanuel Vadot - compatible : Must contain a chip-specific RCPM block compatible string 11*c66ec88fSEmmanuel Vadot and (if applicable) may contain a chassis-version RCPM compatible 12*c66ec88fSEmmanuel Vadot string. Chip-specific strings are of the form "fsl,<chip>-rcpm", 13*c66ec88fSEmmanuel Vadot such as: 14*c66ec88fSEmmanuel Vadot * "fsl,p2041-rcpm" 15*c66ec88fSEmmanuel Vadot * "fsl,p5020-rcpm" 16*c66ec88fSEmmanuel Vadot * "fsl,t4240-rcpm" 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>", 19*c66ec88fSEmmanuel Vadot such as: 20*c66ec88fSEmmanuel Vadot * "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm 21*c66ec88fSEmmanuel Vadot * "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm 22*c66ec88fSEmmanuel Vadot * "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm 23*c66ec88fSEmmanuel Vadot * "fsl,qoriq-rcpm-2.1+": for chassis 2.1+ rcpm 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel VadotAll references to "1.0" and "2.0" refer to the QorIQ chassis version to 26*c66ec88fSEmmanuel Vadotwhich the chip complies. 27*c66ec88fSEmmanuel VadotChassis Version Example Chips 28*c66ec88fSEmmanuel Vadot--------------- ------------------------------- 29*c66ec88fSEmmanuel Vadot1.0 p4080, p5020, p5040, p2041, p3041 30*c66ec88fSEmmanuel Vadot2.0 t4240, b4860, b4420 31*c66ec88fSEmmanuel Vadot2.1 t1040, 32*c66ec88fSEmmanuel Vadot2.1+ ls1021a, ls1012a, ls1043a, ls1046a 33*c66ec88fSEmmanuel Vadot 34*c66ec88fSEmmanuel VadotOptional properties: 35*c66ec88fSEmmanuel Vadot - little-endian : RCPM register block is Little Endian. Without it RCPM 36*c66ec88fSEmmanuel Vadot will be Big Endian (default case). 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel VadotExample: 39*c66ec88fSEmmanuel VadotThe RCPM node for T4240: 40*c66ec88fSEmmanuel Vadot rcpm: global-utilities@e2000 { 41*c66ec88fSEmmanuel Vadot compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0"; 42*c66ec88fSEmmanuel Vadot reg = <0xe2000 0x1000>; 43*c66ec88fSEmmanuel Vadot #fsl,rcpm-wakeup-cells = <2>; 44*c66ec88fSEmmanuel Vadot }; 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadot* Freescale RCPM Wakeup Source Device Tree Bindings 47*c66ec88fSEmmanuel Vadot------------------------------------------- 48*c66ec88fSEmmanuel VadotRequired fsl,rcpm-wakeup property should be added to a device node if the device 49*c66ec88fSEmmanuel Vadotcan be used as a wakeup source. 50*c66ec88fSEmmanuel Vadot 51*c66ec88fSEmmanuel Vadot - fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR 52*c66ec88fSEmmanuel Vadot register cells. The number of IPPDEXPCR register cells is defined in 53*c66ec88fSEmmanuel Vadot "#fsl,rcpm-wakeup-cells" in the rcpm node. The first register cell is 54*c66ec88fSEmmanuel Vadot the bit mask that should be set in IPPDEXPCR0, and the second register 55*c66ec88fSEmmanuel Vadot cell is for IPPDEXPCR1, and so on. 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel Vadot Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a 58*c66ec88fSEmmanuel Vadot mechanism for keeping certain blocks awake during STANDBY and MEM, in 59*c66ec88fSEmmanuel Vadot order to use them as wake-up sources. 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel VadotExample: 62*c66ec88fSEmmanuel Vadot lpuart0: serial@2950000 { 63*c66ec88fSEmmanuel Vadot compatible = "fsl,ls1021a-lpuart"; 64*c66ec88fSEmmanuel Vadot reg = <0x0 0x2950000 0x0 0x1000>; 65*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 66*c66ec88fSEmmanuel Vadot clocks = <&sysclk>; 67*c66ec88fSEmmanuel Vadot clock-names = "ipg"; 68*c66ec88fSEmmanuel Vadot fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>; 69*c66ec88fSEmmanuel Vadot }; 70