| /* |
| * Copyright 2017 NXP |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version 2 |
| * of the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include "fsl-imx8qm-lpddr4-arm2.dts" |
| |
| / { |
| |
| leds { |
| status = "disabled"; |
| }; |
| |
| regulators { |
| |
| reg_spdif_en: regulator-spdif-en { |
| compatible = "regulator-fixed"; |
| regulator-name = "spdif-en"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&pca9557_d 0 GPIO_ACTIVE_HIGH>; |
| regulator-always-on; |
| enable-active-high; |
| }; |
| |
| reg_wm8962: regulator-wm8962 { |
| compatible = "regulator-fixed"; |
| regulator-name = "wm8962-supply"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&gpio4 12 GPIO_ACTIVE_HIGH>; |
| regulator-always-on; |
| enable-active-high; |
| }; |
| |
| reg_bb2: regulator-bb2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "bb2-supply"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>; |
| regulator-always-on; |
| enable-active-high; |
| }; |
| }; |
| |
| sound-cs42888 { |
| status = "disabled"; |
| }; |
| |
| sound-spdif { |
| compatible = "fsl,imx-audio-spdif"; |
| model = "imx-spdif"; |
| spdif-controller = <&spdif0>; |
| spdif-in; |
| spdif-out; |
| }; |
| |
| sound-mqs { |
| compatible = "fsl,imx8qm-lpddr4-arm2-mqs", |
| "fsl,imx-audio-mqs"; |
| model = "mqs-audio"; |
| cpu-dai = <&sai1>; |
| audio-codec = <&mqs>; |
| status = "disabled"; |
| }; |
| |
| sound-wm8962 { |
| compatible = "fsl,imx6q-sabresd-wm8962", |
| "fsl,imx-audio-wm8962"; |
| model = "wm8962-audio"; |
| cpu-dai = <&sai0>; |
| audio-codec = <&wm8962>; |
| audio-routing = |
| "Headphone Jack", "HPOUTL", |
| "Headphone Jack", "HPOUTR", |
| "Ext Spk", "SPKOUTL", |
| "Ext Spk", "SPKOUTR", |
| "AMIC", "MICBIAS", |
| "IN3R", "AMIC", |
| "DMIC", "MICBIAS", |
| "DMICDAT", "DMIC", |
| "CPU-Playback", "ASRC-Playback", |
| "Playback", "CPU-Playback", |
| "ASRC-Capture", "CPU-Capture", |
| "CPU-Capture", "Capture"; |
| hp-det-gpios = <&gpio5 26 1>; |
| mic-det-gpios = <&gpio5 27 1>; |
| codec-master; |
| }; |
| }; |
| |
| &esai0 { |
| status = "disabled"; |
| }; |
| |
| &iomuxc { |
| |
| imx8qm-arm2 { |
| |
| pinctrl_spdif0: spdif0grp { |
| fsl,pins = < |
| SC_P_SPDIF0_TX_AUD_SPDIF0_TX 0xc6000040 |
| SC_P_SPDIF0_RX_AUD_SPDIF0_RX 0xc6000040 |
| >; |
| }; |
| |
| pinctrl_mqs: mqsgrp { |
| fsl,pins = < |
| SC_P_SPDIF0_TX_AUD_MQS_L 0xc6000061 |
| SC_P_SPDIF0_RX_AUD_MQS_R 0xc6000061 |
| >; |
| }; |
| |
| pinctrl_sai0: sai0grp { |
| fsl,pins = < |
| SC_P_SAI1_RXC_AUD_SAI0_TXD 0xc6000060 |
| SC_P_SAI1_RXFS_AUD_SAI0_RXD 0xc6000040 |
| SC_P_SAI1_TXC_AUD_SAI0_TXC 0xc6000040 |
| SC_P_SPI2_CS1_AUD_SAI0_TXFS 0xc6000040 |
| |
| SC_P_USDHC2_CD_B_LSIO_GPIO4_IO12 0xc6000040 |
| SC_P_USDHC2_DATA0_LSIO_GPIO5_IO26 0xc6000040 |
| SC_P_USDHC2_DATA1_LSIO_GPIO5_IO27 0xc6000040 |
| SC_P_LVDS1_I2C0_SDA_LSIO_GPIO1_IO13 0xc6000040 |
| SC_P_MCLK_OUT0_AUD_ACM_MCLK_OUT0 0xc6000040 |
| >; |
| }; |
| }; |
| }; |
| |
| &esai0 { |
| status = "disabled"; |
| }; |
| |
| &i2c0 { |
| |
| wm8962: wm8962@1a { |
| compatible = "wlf,wm8962"; |
| reg = <0x1a>; |
| clocks = <&clk IMX8QM_AUD_MCLKOUT0>; |
| DCVDD-supply = <®_wm8962>; |
| DBVDD-supply = <®_wm8962>; |
| AVDD-supply = <®_wm8962>; |
| CPVDD-supply = <®_wm8962>; |
| MICVDD-supply = <®_wm8962>; |
| PLLVDD-supply = <®_wm8962>; |
| SPKVDD1-supply = <®_wm8962>; |
| SPKVDD2-supply = <®_wm8962>; |
| gpio-cfg = < |
| 0x0000 /* 0:Default */ |
| 0x0000 /* 1:Default */ |
| 0x0013 /* 2:FN_DMICCLK */ |
| 0x0000 /* 3:Default */ |
| 0x8014 /* 4:FN_DMICCDAT */ |
| 0x0000 /* 5:Default */ |
| >; |
| amic-mono; |
| power-domains = <&pd_mclk_out0>; |
| }; |
| }; |
| |
| |
| &mqs { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_mqs>; |
| status = "disabled"; |
| }; |
| |
| &spdif0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_spdif0>; |
| assigned-clocks =<&clk IMX8QM_AUD_PLL0_DIV>, |
| <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>, |
| <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>; |
| assigned-clock-rates = <786432000>, <49152000>, <24576000>; |
| status = "okay"; |
| }; |
| |
| &sai1 { |
| assigned-clocks =<&clk IMX8QM_AUD_PLL0_DIV>, |
| <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>, |
| <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>; |
| assigned-clock-rates = <786432000>, <49152000>, <24576000>; |
| status = "okay"; |
| }; |
| |
| &sai0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_sai0>; |
| assigned-clocks =<&clk IMX8QM_AUD_PLL0_DIV>, |
| <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>, |
| <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>; |
| assigned-clock-rates = <786432000>, <49152000>, <24576000>; |
| status = "okay"; |
| }; |