162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/clock/fsl,imx8-acm.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: NXP i.MX8 Audio Clock Mux 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Shengjiu Wang <shengjiu.wang@nxp.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci NXP i.MX8 Audio Clock Mux is dedicated clock muxing IP 1462306a36Sopenharmony_ci used to control Audio related clock on the SoC. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciproperties: 1762306a36Sopenharmony_ci compatible: 1862306a36Sopenharmony_ci enum: 1962306a36Sopenharmony_ci - fsl,imx8dxl-acm 2062306a36Sopenharmony_ci - fsl,imx8qm-acm 2162306a36Sopenharmony_ci - fsl,imx8qxp-acm 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci reg: 2462306a36Sopenharmony_ci maxItems: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci power-domains: 2762306a36Sopenharmony_ci minItems: 13 2862306a36Sopenharmony_ci maxItems: 21 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci '#clock-cells': 3162306a36Sopenharmony_ci const: 1 3262306a36Sopenharmony_ci description: 3362306a36Sopenharmony_ci The clock consumer should specify the desired clock by having the clock 3462306a36Sopenharmony_ci ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8-clock.h 3562306a36Sopenharmony_ci for the full list of i.MX8 ACM clock IDs. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci clocks: 3862306a36Sopenharmony_ci minItems: 13 3962306a36Sopenharmony_ci maxItems: 27 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci clock-names: 4262306a36Sopenharmony_ci minItems: 13 4362306a36Sopenharmony_ci maxItems: 27 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_cirequired: 4662306a36Sopenharmony_ci - compatible 4762306a36Sopenharmony_ci - reg 4862306a36Sopenharmony_ci - power-domains 4962306a36Sopenharmony_ci - '#clock-cells' 5062306a36Sopenharmony_ci - clocks 5162306a36Sopenharmony_ci - clock-names 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciallOf: 5462306a36Sopenharmony_ci - if: 5562306a36Sopenharmony_ci properties: 5662306a36Sopenharmony_ci compatible: 5762306a36Sopenharmony_ci contains: 5862306a36Sopenharmony_ci enum: 5962306a36Sopenharmony_ci - fsl,imx8qxp-acm 6062306a36Sopenharmony_ci then: 6162306a36Sopenharmony_ci properties: 6262306a36Sopenharmony_ci power-domains: 6362306a36Sopenharmony_ci items: 6462306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_CLK_0 6562306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_CLK_1 6662306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MCLK_OUT_0 6762306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MCLK_OUT_1 6862306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_PLL_0 6962306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_PLL_1 7062306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ASRC_0 7162306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ASRC_1 7262306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ESAI_0 7362306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_0 7462306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_1 7562306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_2 7662306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_3 7762306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_4 7862306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_5 7962306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SPDIF_0 8062306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MQS_0 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci clocks: 8362306a36Sopenharmony_ci minItems: 18 8462306a36Sopenharmony_ci maxItems: 18 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci clock-names: 8762306a36Sopenharmony_ci items: 8862306a36Sopenharmony_ci - const: aud_rec_clk0_lpcg_clk 8962306a36Sopenharmony_ci - const: aud_rec_clk1_lpcg_clk 9062306a36Sopenharmony_ci - const: aud_pll_div_clk0_lpcg_clk 9162306a36Sopenharmony_ci - const: aud_pll_div_clk1_lpcg_clk 9262306a36Sopenharmony_ci - const: ext_aud_mclk0 9362306a36Sopenharmony_ci - const: ext_aud_mclk1 9462306a36Sopenharmony_ci - const: esai0_rx_clk 9562306a36Sopenharmony_ci - const: esai0_rx_hf_clk 9662306a36Sopenharmony_ci - const: esai0_tx_clk 9762306a36Sopenharmony_ci - const: esai0_tx_hf_clk 9862306a36Sopenharmony_ci - const: spdif0_rx 9962306a36Sopenharmony_ci - const: sai0_rx_bclk 10062306a36Sopenharmony_ci - const: sai0_tx_bclk 10162306a36Sopenharmony_ci - const: sai1_rx_bclk 10262306a36Sopenharmony_ci - const: sai1_tx_bclk 10362306a36Sopenharmony_ci - const: sai2_rx_bclk 10462306a36Sopenharmony_ci - const: sai3_rx_bclk 10562306a36Sopenharmony_ci - const: sai4_rx_bclk 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci - if: 10862306a36Sopenharmony_ci properties: 10962306a36Sopenharmony_ci compatible: 11062306a36Sopenharmony_ci contains: 11162306a36Sopenharmony_ci enum: 11262306a36Sopenharmony_ci - fsl,imx8qm-acm 11362306a36Sopenharmony_ci then: 11462306a36Sopenharmony_ci properties: 11562306a36Sopenharmony_ci power-domains: 11662306a36Sopenharmony_ci items: 11762306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_CLK_0 11862306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_CLK_1 11962306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MCLK_OUT_0 12062306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MCLK_OUT_1 12162306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_PLL_0 12262306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_PLL_1 12362306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ASRC_0 12462306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ASRC_1 12562306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ESAI_0 12662306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ESAI_1 12762306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_0 12862306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_1 12962306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_2 13062306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_3 13162306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_4 13262306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_5 13362306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_6 13462306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_7 13562306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SPDIF_0 13662306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SPDIF_1 13762306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MQS_0 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci clocks: 14062306a36Sopenharmony_ci minItems: 27 14162306a36Sopenharmony_ci maxItems: 27 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci clock-names: 14462306a36Sopenharmony_ci items: 14562306a36Sopenharmony_ci - const: aud_rec_clk0_lpcg_clk 14662306a36Sopenharmony_ci - const: aud_rec_clk1_lpcg_clk 14762306a36Sopenharmony_ci - const: aud_pll_div_clk0_lpcg_clk 14862306a36Sopenharmony_ci - const: aud_pll_div_clk1_lpcg_clk 14962306a36Sopenharmony_ci - const: mlb_clk 15062306a36Sopenharmony_ci - const: hdmi_rx_mclk 15162306a36Sopenharmony_ci - const: ext_aud_mclk0 15262306a36Sopenharmony_ci - const: ext_aud_mclk1 15362306a36Sopenharmony_ci - const: esai0_rx_clk 15462306a36Sopenharmony_ci - const: esai0_rx_hf_clk 15562306a36Sopenharmony_ci - const: esai0_tx_clk 15662306a36Sopenharmony_ci - const: esai0_tx_hf_clk 15762306a36Sopenharmony_ci - const: esai1_rx_clk 15862306a36Sopenharmony_ci - const: esai1_rx_hf_clk 15962306a36Sopenharmony_ci - const: esai1_tx_clk 16062306a36Sopenharmony_ci - const: esai1_tx_hf_clk 16162306a36Sopenharmony_ci - const: spdif0_rx 16262306a36Sopenharmony_ci - const: spdif1_rx 16362306a36Sopenharmony_ci - const: sai0_rx_bclk 16462306a36Sopenharmony_ci - const: sai0_tx_bclk 16562306a36Sopenharmony_ci - const: sai1_rx_bclk 16662306a36Sopenharmony_ci - const: sai1_tx_bclk 16762306a36Sopenharmony_ci - const: sai2_rx_bclk 16862306a36Sopenharmony_ci - const: sai3_rx_bclk 16962306a36Sopenharmony_ci - const: sai4_rx_bclk 17062306a36Sopenharmony_ci - const: sai5_tx_bclk 17162306a36Sopenharmony_ci - const: sai6_rx_bclk 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci - if: 17462306a36Sopenharmony_ci properties: 17562306a36Sopenharmony_ci compatible: 17662306a36Sopenharmony_ci contains: 17762306a36Sopenharmony_ci enum: 17862306a36Sopenharmony_ci - fsl,imx8dxl-acm 17962306a36Sopenharmony_ci then: 18062306a36Sopenharmony_ci properties: 18162306a36Sopenharmony_ci power-domains: 18262306a36Sopenharmony_ci items: 18362306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_CLK_0 18462306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_CLK_1 18562306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MCLK_OUT_0 18662306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MCLK_OUT_1 18762306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_PLL_0 18862306a36Sopenharmony_ci - description: power domain of IMX_SC_R_AUDIO_PLL_1 18962306a36Sopenharmony_ci - description: power domain of IMX_SC_R_ASRC_0 19062306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_0 19162306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_1 19262306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_2 19362306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SAI_3 19462306a36Sopenharmony_ci - description: power domain of IMX_SC_R_SPDIF_0 19562306a36Sopenharmony_ci - description: power domain of IMX_SC_R_MQS_0 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci clocks: 19862306a36Sopenharmony_ci minItems: 13 19962306a36Sopenharmony_ci maxItems: 13 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci clock-names: 20262306a36Sopenharmony_ci items: 20362306a36Sopenharmony_ci - const: aud_rec_clk0_lpcg_clk 20462306a36Sopenharmony_ci - const: aud_rec_clk1_lpcg_clk 20562306a36Sopenharmony_ci - const: aud_pll_div_clk0_lpcg_clk 20662306a36Sopenharmony_ci - const: aud_pll_div_clk1_lpcg_clk 20762306a36Sopenharmony_ci - const: ext_aud_mclk0 20862306a36Sopenharmony_ci - const: ext_aud_mclk1 20962306a36Sopenharmony_ci - const: spdif0_rx 21062306a36Sopenharmony_ci - const: sai0_rx_bclk 21162306a36Sopenharmony_ci - const: sai0_tx_bclk 21262306a36Sopenharmony_ci - const: sai1_rx_bclk 21362306a36Sopenharmony_ci - const: sai1_tx_bclk 21462306a36Sopenharmony_ci - const: sai2_rx_bclk 21562306a36Sopenharmony_ci - const: sai3_rx_bclk 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ciadditionalProperties: false 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ciexamples: 22062306a36Sopenharmony_ci # Clock Control Module node: 22162306a36Sopenharmony_ci - | 22262306a36Sopenharmony_ci #include <dt-bindings/clock/imx8-lpcg.h> 22362306a36Sopenharmony_ci #include <dt-bindings/firmware/imx/rsrc.h> 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci clock-controller@59e00000 { 22662306a36Sopenharmony_ci compatible = "fsl,imx8qxp-acm"; 22762306a36Sopenharmony_ci reg = <0x59e00000 0x1d0000>; 22862306a36Sopenharmony_ci #clock-cells = <1>; 22962306a36Sopenharmony_ci power-domains = <&pd IMX_SC_R_AUDIO_CLK_0>, 23062306a36Sopenharmony_ci <&pd IMX_SC_R_AUDIO_CLK_1>, 23162306a36Sopenharmony_ci <&pd IMX_SC_R_MCLK_OUT_0>, 23262306a36Sopenharmony_ci <&pd IMX_SC_R_MCLK_OUT_1>, 23362306a36Sopenharmony_ci <&pd IMX_SC_R_AUDIO_PLL_0>, 23462306a36Sopenharmony_ci <&pd IMX_SC_R_AUDIO_PLL_1>, 23562306a36Sopenharmony_ci <&pd IMX_SC_R_ASRC_0>, 23662306a36Sopenharmony_ci <&pd IMX_SC_R_ASRC_1>, 23762306a36Sopenharmony_ci <&pd IMX_SC_R_ESAI_0>, 23862306a36Sopenharmony_ci <&pd IMX_SC_R_SAI_0>, 23962306a36Sopenharmony_ci <&pd IMX_SC_R_SAI_1>, 24062306a36Sopenharmony_ci <&pd IMX_SC_R_SAI_2>, 24162306a36Sopenharmony_ci <&pd IMX_SC_R_SAI_3>, 24262306a36Sopenharmony_ci <&pd IMX_SC_R_SAI_4>, 24362306a36Sopenharmony_ci <&pd IMX_SC_R_SAI_5>, 24462306a36Sopenharmony_ci <&pd IMX_SC_R_SPDIF_0>, 24562306a36Sopenharmony_ci <&pd IMX_SC_R_MQS_0>; 24662306a36Sopenharmony_ci clocks = <&aud_rec0_lpcg IMX_LPCG_CLK_0>, 24762306a36Sopenharmony_ci <&aud_rec1_lpcg IMX_LPCG_CLK_0>, 24862306a36Sopenharmony_ci <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>, 24962306a36Sopenharmony_ci <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>, 25062306a36Sopenharmony_ci <&clk_ext_aud_mclk0>, 25162306a36Sopenharmony_ci <&clk_ext_aud_mclk1>, 25262306a36Sopenharmony_ci <&clk_esai0_rx_clk>, 25362306a36Sopenharmony_ci <&clk_esai0_rx_hf_clk>, 25462306a36Sopenharmony_ci <&clk_esai0_tx_clk>, 25562306a36Sopenharmony_ci <&clk_esai0_tx_hf_clk>, 25662306a36Sopenharmony_ci <&clk_spdif0_rx>, 25762306a36Sopenharmony_ci <&clk_sai0_rx_bclk>, 25862306a36Sopenharmony_ci <&clk_sai0_tx_bclk>, 25962306a36Sopenharmony_ci <&clk_sai1_rx_bclk>, 26062306a36Sopenharmony_ci <&clk_sai1_tx_bclk>, 26162306a36Sopenharmony_ci <&clk_sai2_rx_bclk>, 26262306a36Sopenharmony_ci <&clk_sai3_rx_bclk>, 26362306a36Sopenharmony_ci <&clk_sai4_rx_bclk>; 26462306a36Sopenharmony_ci clock-names = "aud_rec_clk0_lpcg_clk", 26562306a36Sopenharmony_ci "aud_rec_clk1_lpcg_clk", 26662306a36Sopenharmony_ci "aud_pll_div_clk0_lpcg_clk", 26762306a36Sopenharmony_ci "aud_pll_div_clk1_lpcg_clk", 26862306a36Sopenharmony_ci "ext_aud_mclk0", 26962306a36Sopenharmony_ci "ext_aud_mclk1", 27062306a36Sopenharmony_ci "esai0_rx_clk", 27162306a36Sopenharmony_ci "esai0_rx_hf_clk", 27262306a36Sopenharmony_ci "esai0_tx_clk", 27362306a36Sopenharmony_ci "esai0_tx_hf_clk", 27462306a36Sopenharmony_ci "spdif0_rx", 27562306a36Sopenharmony_ci "sai0_rx_bclk", 27662306a36Sopenharmony_ci "sai0_tx_bclk", 27762306a36Sopenharmony_ci "sai1_rx_bclk", 27862306a36Sopenharmony_ci "sai1_tx_bclk", 27962306a36Sopenharmony_ci "sai2_rx_bclk", 28062306a36Sopenharmony_ci "sai3_rx_bclk", 28162306a36Sopenharmony_ci "sai4_rx_bclk"; 28262306a36Sopenharmony_ci }; 283