From eeb2c9fbef493e67cbf974b5bf77213fddfd9395 Mon Sep 17 00:00:00 2001 From: Zidan Wang Date: Wed, 2 Sep 2015 14:02:37 +0800 Subject: MLK-11487 ARM: dts: add sound card support for imx6ul-14x14-ddr3-arm2 board add mqs, spdif and wm8958 sound card support for imx6ul-14x14-ddr3-arm2 board. Signed-off-by: Zidan Wang --- arch/arm/boot/dts/Makefile | 3 + arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-mqs.dts | 41 +++++++++ arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-spdif.dts | 38 ++++++++ .../arm/boot/dts/imx6ul-14x14-ddr3-arm2-wm8958.dts | 102 +++++++++++++++++++++ 4 files changed, 184 insertions(+) create mode 100644 arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-mqs.dts create mode 100644 arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-spdif.dts create mode 100644 arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-wm8958.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index b4fff2050eee..b27cb3233ab4 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -489,6 +489,9 @@ dtb-$(CONFIG_SOC_IMX6UL) += \ imx6ul-tx6ul-mainboard.dtb \ imx6ul-14x14-ddr3-arm2.dtb \ imx6ul-14x14-ddr3-arm2-gpmi-weim.dtb \ + imx6ul-14x14-ddr3-arm2-mqs.dtb \ + imx6ul-14x14-ddr3-arm2-spdif.dtb \ + imx6ul-14x14-ddr3-arm2-wm8958.dtb \ imx6ull-14x14-evk.dtb dtb-$(CONFIG_SOC_IMX7D) += \ imx7d-cl-som-imx7.dtb \ diff --git a/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-mqs.dts b/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-mqs.dts new file mode 100644 index 000000000000..3427bc330638 --- /dev/null +++ b/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-mqs.dts @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2015 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "imx6ul-14x14-ddr3-arm2.dts" + +/ { + sound-mqs { + compatible = "fsl,imx6ul-ddr3-arm2-mqs", + "fsl,imx-audio-mqs"; + model = "mqs-audio"; + cpu-dai = <&sai1>; + asrc-controller = <&asrc>; + audio-codec = <&mqs>; + }; +}; + +&clks { + assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; + assigned-clock-rates = <786432000>; +}; + +&sai1 { + assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>, + <&clks IMX6UL_CLK_SAI1>; + assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; + assigned-clock-rates = <0>, <24576000>; + status = "okay"; +}; + +&mqs { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_mqs>; + clocks = <&clks IMX6UL_CLK_SAI1>; + clock-names = "mclk"; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-spdif.dts b/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-spdif.dts new file mode 100644 index 000000000000..ee530736a557 --- /dev/null +++ b/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-spdif.dts @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2015 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "imx6ul-14x14-ddr3-arm2.dts" + +/ { + sound-spdif { + compatible = "fsl,imx-audio-spdif"; + model = "imx-spdif"; + spdif-controller = <&spdif>; + spdif-in; + spdif-out; + }; +}; + +&iomuxc { + pinctrl-0 = <&pinctrl_hog &pinctrl_hog1>; +}; + +&usdhc1 { + no-1-8-v; + vmmc-supply = <>; +}; + +&usdhc2 { + no-1-8-v; +}; + +&spdif { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spdif>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-wm8958.dts b/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-wm8958.dts new file mode 100644 index 000000000000..3e53604bf691 --- /dev/null +++ b/arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2-wm8958.dts @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2015 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "imx6ul-14x14-ddr3-arm2.dts" + +/ { + + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + reg_codec_5v: codec_5v { + compatible = "regulator-fixed"; + regulator-name = "CODEC_5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + }; + + reg_aud_3v3: aud_3v3 { + compatible = "regulator-fixed"; + regulator-name = "AUD_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + }; + + reg_aud_1v8: aud_1v8 { + compatible = "regulator-fixed"; + regulator-name = "AUD_1V8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + enable-active-high; + }; + }; + + sound-wm8958 { + compatible = "fsl,imx6ul-ddr3-arm2-wm8958", + "fsl,imx-audio-wm8958"; + model = "wm8958-audio"; + cpu-dai = <&sai2>; + audio-codec = <&codec>; + codec-master; + gpr = <&gpr>; + hp-det-gpios = <&gpio5 0 1>; + }; +}; + +&clks { + assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; + assigned-clock-rates = <786432000>; +}; + +&i2c4 { + clock-frequency = <100000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c4>; + status = "okay"; + + codec: wm8958@1a { + compatible = "wlf,wm8958"; + reg = <0x1a>; + clocks = <&clks IMX6UL_CLK_SAI2>, + <&clks IMX6UL_CLK_DUMMY>; + clock-names = "mclk1", "mclk2"; + + DBVDD1-supply = <®_aud_1v8>; + DBVDD2-supply = <®_aud_1v8>; + DBVDD3-supply = <®_aud_3v3>; + AVDD2-supply = <®_aud_1v8>; + CPVDD-supply = <®_aud_1v8>; + SPKVDD1-supply = <®_codec_5v>; + SPKVDD2-supply = <®_codec_5v>; + + wlf,ldo1ena; + wlf,ldo2ena; + }; +}; + +&sai2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai2>; + assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>, + <&clks IMX6UL_CLK_SAI2>; + assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; + assigned-clock-rates = <0>, <24576000>; + status = "okay"; +}; + +&uart2 { + status = "disabled"; +}; + +&usdhc1 { + status = "disabled"; +}; -- cgit v1.2.3