Re: [PATCH v2 1/1] dt-bindings: soc: fsl: Convert rcpm to yaml format

From: Frank Li
Date: Wed Jul 31 2024 - 11:07:50 EST


On Wed, Jul 31, 2024 at 11:04:20AM -0400, Frank Li wrote:
> Convert dt-binding rcpm from txt to yaml format.
> Add fsl,ls1028a-rcpm compatible string.
>
> Additional changes:
> - Add missed compatible string fsl,<chip>-rcpm.
> - Remove map fsl,<chip>-rcpm to fsl,qoriq-rcpm-<version>.
>
> Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> Change from v1 to v2
> - add missed compatible string
> - Remove compatible string map table
> - use oneof Item to align compatible string map table
> - Fix typo 1045a
> ---
> .../bindings/rtc/fsl,ls-ftm-alarm.yaml | 2 +-
> .../devicetree/bindings/soc/fsl/fsl,rcpm.yaml | 101 ++++++++++++++++++
> .../devicetree/bindings/soc/fsl/rcpm.txt | 69 ------------
> 3 files changed, 102 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..762316ef4d150
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml
> @@ -0,0 +1,101 @@
> +# 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:
> + oneOf:
> + - items:
> + - enum:
> + - fsl,ls1012a-rcpm
> + - fsl,ls1021a-rcpm
> + - fsl,ls1028a-rcpm
> + - fsl,ls1043a-rcpm
> + - fsl,ls1045a-rcpm

Sorry, I missed commit last change. I will fix 1045a at next version.

Frank

> + - enum:
> + - fsl,qoriq-rcpm-2.1+
> + minItems: 1
> + - items:
> + - enum:
> + - fsl,p2041-rcpm
> + - fsl,p3041-rcpm
> + - fsl,p4080-rcpm
> + - fsl,p5020-rcpm
> + - fsl,p5040-rcpm
> + - enum:
> + - fsl,qoriq-rcpm-1.0
> + minItems: 1
> + - items:
> + - enum:
> + - fsl,b4420-rcpm
> + - fsl,b4860-rcpm
> + - fsl,t4240-rcpm
> + - enum:
> + - fsl,qoriq-rcpm-2.0
> + minItems: 1
> + - items:
> + - enum:
> + - fsl,t1040-rcpm
> + - enum:
> + - fsl,qoriq-rcpm-2.1
> + minItems: 1
> +
> + 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>;
> + };
> diff --git a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt b/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> deleted file mode 100644
> index 5a33619d881d0..0000000000000
> --- a/Documentation/devicetree/bindings/soc/fsl/rcpm.txt
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -* Run Control and Power Management
> --------------------------------------------
> -The RCPM performs all device-level tasks associated with device run control
> -and power management.
> -
> -Required properites:
> - - reg : Offset and length of the register set of the RCPM block.
> - - #fsl,rcpm-wakeup-cells : The number of IPPDEXPCR register cells in the
> - fsl,rcpm-wakeup property.
> - - compatible : Must contain a chip-specific RCPM block compatible string
> - and (if applicable) may contain a chassis-version RCPM compatible
> - string. Chip-specific strings are of the form "fsl,<chip>-rcpm",
> - such as:
> - * "fsl,p2041-rcpm"
> - * "fsl,p5020-rcpm"
> - * "fsl,t4240-rcpm"
> -
> - Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>",
> - such as:
> - * "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm
> - * "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm
> - * "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm
> - * "fsl,qoriq-rcpm-2.1+": for chassis 2.1+ rcpm
> -
> -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
> -
> -Optional properties:
> - - little-endian : RCPM register block is Little Endian. Without it RCPM
> - will be Big Endian (default case).
> -
> -Example:
> -The RCPM node for T4240:
> - rcpm: global-utilities@e2000 {
> - compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0";
> - reg = <0xe2000 0x1000>;
> - #fsl,rcpm-wakeup-cells = <2>;
> - };
> -
> -* 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.
> -
> -Example:
> - lpuart0: serial@2950000 {
> - compatible = "fsl,ls1021a-lpuart";
> - reg = <0x0 0x2950000 0x0 0x1000>;
> - interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
> - clocks = <&sysclk>;
> - clock-names = "ipg";
> - fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>;
> - };
> --
> 2.34.1
>