18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/clock/imx8qxp-lpcg.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: NXP i.MX8QXP LPCG (Low-Power Clock Gating) Clock bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Aisheng Dong <aisheng.dong@nxp.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci The Low-Power Clock Gate (LPCG) modules contain a local programming 148c2ecf20Sopenharmony_ci model to control the clock gates for the peripherals. An LPCG module 158c2ecf20Sopenharmony_ci is used to locally gate the clocks for the associated peripheral. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci This level of clock gating is provided after the clocks are generated 188c2ecf20Sopenharmony_ci by the SCU resources and clock controls. Thus even if the clock is 198c2ecf20Sopenharmony_ci enabled by these control bits, it might still not be running based 208c2ecf20Sopenharmony_ci on the base resource. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci The clock consumer should specify the desired clock by having the clock 238c2ecf20Sopenharmony_ci ID in its "clocks" phandle cell. See the full list of clock IDs from: 248c2ecf20Sopenharmony_ci include/dt-bindings/clock/imx8-clock.h 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciproperties: 278c2ecf20Sopenharmony_ci compatible: 288c2ecf20Sopenharmony_ci enum: 298c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-adma 308c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-conn 318c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-dc 328c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-dsp 338c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-gpu 348c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-hsio 358c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-img 368c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-lsio 378c2ecf20Sopenharmony_ci - fsl,imx8qxp-lpcg-vpu 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci reg: 408c2ecf20Sopenharmony_ci maxItems: 1 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci '#clock-cells': 438c2ecf20Sopenharmony_ci const: 1 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_cirequired: 468c2ecf20Sopenharmony_ci - compatible 478c2ecf20Sopenharmony_ci - reg 488c2ecf20Sopenharmony_ci - '#clock-cells' 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciadditionalProperties: false 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciexamples: 538c2ecf20Sopenharmony_ci - | 548c2ecf20Sopenharmony_ci #include <dt-bindings/clock/imx8-clock.h> 558c2ecf20Sopenharmony_ci #include <dt-bindings/firmware/imx/rsrc.h> 568c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci clock-controller@5b200000 { 598c2ecf20Sopenharmony_ci compatible = "fsl,imx8qxp-lpcg-conn"; 608c2ecf20Sopenharmony_ci reg = <0x5b200000 0xb0000>; 618c2ecf20Sopenharmony_ci #clock-cells = <1>; 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci mmc@5b010000 { 658c2ecf20Sopenharmony_ci compatible = "fsl,imx8qxp-usdhc", "fsl,imx7d-usdhc"; 668c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>; 678c2ecf20Sopenharmony_ci reg = <0x5b010000 0x10000>; 688c2ecf20Sopenharmony_ci clocks = <&conn_lpcg IMX_CONN_LPCG_SDHC0_IPG_CLK>, 698c2ecf20Sopenharmony_ci <&conn_lpcg IMX_CONN_LPCG_SDHC0_PER_CLK>, 708c2ecf20Sopenharmony_ci <&conn_lpcg IMX_CONN_LPCG_SDHC0_HCLK>; 718c2ecf20Sopenharmony_ci clock-names = "ipg", "per", "ahb"; 728c2ecf20Sopenharmony_ci power-domains = <&pd IMX_SC_R_SDHC_0>; 738c2ecf20Sopenharmony_ci }; 74