On Mon, Jul 29, 2024 at 03:11:42PM -0400, Frank Li wrote: > Convert dt-binding rcpm from txt to yaml format. > Add fsl,ls1028a-rcpm compatible string. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > .../bindings/rtc/fsl,ls-ftm-alarm.yaml | 2 +- > .../devicetree/bindings/soc/fsl/fsl,rcpm.yaml | 91 +++++++++++++++++++ > .../devicetree/bindings/soc/fsl/rcpm.txt | 69 -------------- > 3 files changed, 92 insertions(+), 70 deletions(-) > create mode 100644 Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml > delete mode 100644 Documentation/devicetree/bindings/soc/fsl/rcpm.txt > > diff --git a/Documentation/devicetree/bindings/rtc/fsl,ls-ftm-alarm.yaml b/Documentation/devicetree/bindings/rtc/fsl,ls-ftm-alarm.yaml > index 388102ae30cd8..3ec111f2fdc40 100644 > --- a/Documentation/devicetree/bindings/rtc/fsl,ls-ftm-alarm.yaml > +++ b/Documentation/devicetree/bindings/rtc/fsl,ls-ftm-alarm.yaml > @@ -42,7 +42,7 @@ properties: > minItems: 1 > description: > phandle to rcpm node, Please refer > - Documentation/devicetree/bindings/soc/fsl/rcpm.txt > + Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml > > big-endian: > $ref: /schemas/types.yaml#/definitions/flag > diff --git a/Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml b/Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml > new file mode 100644 > index 0000000000000..6c6cda7f2b220 > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml > @@ -0,0 +1,91 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/soc/fsl/fsl,rcpm.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Run Control and Power Management > + > +description: > + The RCPM performs all device-level tasks associated with device run control > + and power management. > + > +maintainers: > + - Frank Li <Frank.Li@xxxxxxx> > + > +properties: > + compatible: > + items: > + - enum: > + - fsl,ls1012a-rcpm > + - fsl,ls1021a-rcpm > + - fsl,ls1028a-rcpm > + - fsl,ls1043a-rcpm > + - fsl,ls1045a-rcpm > + - fsl,p2041-rcpm > + - fsl,p5020-rcpm > + - fsl,t4240-rcpm > + - enum: > + - fsl,qoriq-rcpm-1.0 > + - fsl,qoriq-rcpm-2.0 > + - fsl,qoriq-rcpm-2.1 > + - fsl,qoriq-rcpm-2.1+ You can't just allow any combination. > + minItems: 1 > + description: | > + All references to "1.0" and "2.0" refer to the QorIQ chassis version to > + which the chip complies. > + Chassis Version Example Chips > + --------------- ------------------------------- > + 1.0 p4080, p5020, p5040, p2041, p3041 > + 2.0 t4240, b4860, b4420 > + 2.1 t1040, > + 2.1+ ls1021a, ls1012a, ls1043a, ls1046a The compatible lists above needs to match this. > + > + reg: > + maxItems: 1 > + > + "#fsl,rcpm-wakeup-cells": > + description: | > + The number of IPPDEXPCR register cells in the > + fsl,rcpm-wakeup property. > + > + Freescale RCPM Wakeup Source Device Tree Bindings > + > + Required fsl,rcpm-wakeup property should be added to a device node if > + the device can be used as a wakeup source. > + > + fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR > + register cells. The number of IPPDEXPCR register cells is defined in > + "#fsl,rcpm-wakeup-cells" in the rcpm node. The first register cell is > + the bit mask that should be set in IPPDEXPCR0, and the second register > + cell is for IPPDEXPCR1, and so on. > + > + Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a > + mechanism for keeping certain blocks awake during STANDBY and MEM, in > + order to use them as wake-up sources. > + > + little-endian: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + RCPM register block is Little Endian. Without it RCPM > + will be Big Endian (default case). > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + rcpm: global-utilities@e2000 { > + compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0"; > + reg = <0xe2000 0x1000>; > + #fsl,rcpm-wakeup-cells = <2>; > + }; > + > + serial@2950000 { > + compatible = "fsl,ls1021a-lpuart"; > + reg = <0x2950000 0x1000>; > + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&sysclk>; > + clock-names = "ipg"; > + fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>; > + };