From 260e0bc5a424bf1927a348c1141fb8bebdd6220a Mon Sep 17 00:00:00 2001 From: Mihai Serban Date: Wed, 5 Jul 2017 19:43:42 +0300 Subject: MLK-15316: ARM64: dts: fsl-imx8qxp-lpddr4-arm2-wm8962: enable WM8962 codec Add DTS configuration for enabling WM8962 codec with iMX8QXP validation board and the iMX8 debug board V2. The connection in debug base board v2 is: CODEC_PWR_EN: SEAF_B_A18 CODEC_I2C_CLK: SEAF_B_J32 CODEC_I2C_DAT: SEAF_B_J31 AUD_MCLK: SEAF_B_H24 AUD_TXC: SEAF_B_B35 AUD_TXFS: SEAF_B_B36 AUD_TXD: SEAF_B_B37 AUD_RXD: SEAF_B_A36 HEADPHONE_DET: SEAF_B_A19 MICROPHONE_DET: SEAF_B_A20 Signed-off-by: Mihai Serban Reviewed-by: Shengjiu Wang --- .../freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts (limited to 'arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts') diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts new file mode 100644 index 000000000000..bcf8bf36a7b2 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts @@ -0,0 +1,108 @@ +/* + * 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-imx8qxp-lpddr4-arm2.dts" + +/ { + regulators { + reg_wm8962: regulator-wm8962 { + compatible = "regulator-fixed"; + regulator-name = "wm8962-supply"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>; + regulator-always-on; + enable-active-high; + }; + }; + + sound-cs42888 { + 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", + "Playback", "CPU-Playback", + "CPU-Capture", "Capture"; + codec-master; + hp-det-gpios = <&gpio1 2 1>; + mic-det-gpios = <&gpio1 3 1>; + }; +}; + +&esai0 { + status = "disabled"; +}; + +&iomuxc { + imx8qxp-lpddr4-arm2 { + pinctrl_sai0: sai0grp { + fsl,pins = < + SC_P_SAI0_TXFS_ADMA_SAI0_TXFS 0xc600004c + SC_P_SAI0_TXC_ADMA_SAI0_TXC 0xc600004c + SC_P_SAI0_TXD_ADMA_SAI0_TXD 0xc600004c + SC_P_SAI0_RXD_ADMA_SAI0_RXD 0xc600004c + SC_P_SPI2_SDO_LSIO_GPIO1_IO01 0xc600004c + SC_P_SPI2_SDI_LSIO_GPIO1_IO02 0xc600004c + SC_P_SPI2_SCK_LSIO_GPIO1_IO03 0xc600004c + SC_P_MCLK_OUT0_ADMA_ACM_MCLK_OUT0 0xc600004c + >; + }; + }; +}; + +&i2c0_csi0 { + + wm8962: wm8962@1a { + compatible = "wlf,wm8962"; + reg = <0x1a>; + clocks = <&clk IMX8QXP_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; + }; +}; + +&sai0 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai0>; + status = "okay"; +}; -- cgit v1.2.3