# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/imx8qxp-lpcg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP i.MX8QXP LPCG (Low-Power Clock Gating) Clock bindings

maintainers:
  - Aisheng Dong <aisheng.dong@nxp.com>

description: |
  The Low-Power Clock Gate (LPCG) modules contain a local programming
  model to control the clock gates for the peripherals. An LPCG module
  is used to locally gate the clocks for the associated peripheral.

  This level of clock gating is provided after the clocks are generated
  by the SCU resources and clock controls. Thus even if the clock is
  enabled by these control bits, it might still not be running based
  on the base resource.

  The clock consumer should specify the desired clock by having the clock
  ID in its "clocks" phandle cell. See the full list of clock IDs from:
  include/dt-bindings/clock/imx8-lpcg.h

properties:
  compatible:
    oneOf:
      - const: fsl,imx8qxp-lpcg
      - items:
          - enum:
              - fsl,imx8qm-lpcg
          - const: fsl,imx8qxp-lpcg
      - enum:
          - fsl,imx8qxp-lpcg-adma
          - fsl,imx8qxp-lpcg-conn
          - fsl,imx8qxp-lpcg-dc
          - fsl,imx8qxp-lpcg-dsp
          - fsl,imx8qxp-lpcg-gpu
          - fsl,imx8qxp-lpcg-hsio
          - fsl,imx8qxp-lpcg-img
          - fsl,imx8qxp-lpcg-lsio
          - fsl,imx8qxp-lpcg-vpu
        deprecated: true
  reg:
    maxItems: 1

  '#clock-cells':
    const: 1

  clocks:
    description: |
      Input parent clocks phandle array for each clock
    minItems: 1
    maxItems: 8

  clock-indices:
    description: |
      An integer array indicating the bit offset for each clock.
      Refer to <include/dt-bindings/clock/imx8-lpcg.h> for the
      supported LPCG clock indices.
    minItems: 1
    maxItems: 8

  clock-output-names:
    description: |
      Shall be the corresponding names of the outputs.
      NOTE this property must be specified in the same order
      as the clock-indices property.
    minItems: 1
    maxItems: 8

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx8-lpcg.h>
    #include <dt-bindings/firmware/imx/rsrc.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    sdhc0_lpcg: clock-controller@5b200000 {
        compatible = "fsl,imx8qxp-lpcg";
        reg = <0x5b200000 0x10000>;
        #clock-cells = <1>;
        clocks = <&sdhc0_clk IMX_SC_PM_CLK_PER>,
                 <&conn_ipg_clk>,
                 <&conn_axi_clk>;
        clock-indices = <IMX_LPCG_CLK_0>,
                        <IMX_LPCG_CLK_4>,
                        <IMX_LPCG_CLK_5>;
        clock-output-names = "sdhc0_lpcg_per_clk",
                             "sdhc0_lpcg_ipg_clk",
                             "sdhc0_lpcg_ahb_clk";
        power-domains = <&pd IMX_SC_R_SDHC_0>;
    };

    mmc@5b010000 {
        compatible = "fsl,imx8qxp-usdhc", "fsl,imx7d-usdhc";
        interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>;
        reg = <0x5b010000 0x10000>;
        clocks = <&sdhc0_lpcg IMX_LPCG_CLK_4>,
                 <&sdhc0_lpcg IMX_LPCG_CLK_5>,
                 <&sdhc0_lpcg IMX_LPCG_CLK_0>;
        clock-names = "ipg", "ahb", "per";
        power-domains = <&pd IMX_SC_R_SDHC_0>;
    };
