Commit 8fa91c8e authored by Dmitry Lavnikevich's avatar Dmitry Lavnikevich Committed by Shawn Guo

ARM: dts: pbab01: enable I2S audio on phyFLEX-i.MX6 boards

Audio on phyFLEX boards is presented by tlv320aic3007 codec connected
over SSI interface.
Signed-off-by: default avatarDmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
parent d76fab80
......@@ -9,10 +9,96 @@
* http://www.gnu.org/copyleft/gpl.html
*/
#include <dt-bindings/sound/fsl-imx-audmux.h>
/ {
chosen {
linux,stdout-path = &uart4;
};
regulators {
sound_1v8: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "i2s-audio-1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
sound_3v3: regulator@3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "i2s-audio-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
};
tlv320_mclk: oscillator {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <19200000>;
clock-output-names = "tlv320-mclk";
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "OnboardTLV320AIC3007";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Line", "Line In",
"Line", "Line Out",
"Speaker", "Speaker",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Line Out", "LLOUT",
"Line Out", "RLOUT",
"Speaker", "SPOP",
"Speaker", "SPOM",
"Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT",
"MIC3L", "Mic Jack",
"MIC3R", "Mic Jack",
"Mic Jack", "Mic Bias",
"LINE1L", "Line In",
"LINE1R", "Line In";
simple-audio-card,cpu {
sound-dai = <&ssi2>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&codec>;
clocks = <&tlv320_mclk>;
};
};
};
&audmux {
status = "okay";
ssi2 {
fsl,audmux-port = <1>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TFSEL(4) |
IMX_AUDMUX_V2_PTCR_TCLKDIR |
IMX_AUDMUX_V2_PTCR_TCSEL(4))
IMX_AUDMUX_V2_PDCR_RXDSEL(4)
>;
};
pins5 {
fsl,audmux-port = <4>;
fsl,port-config = <
0x00000000
IMX_AUDMUX_V2_PDCR_RXDSEL(1)
>;
};
};
&fec {
......@@ -30,9 +116,16 @@ &hdmi {
&i2c2 {
status = "okay";
tlv320@18 {
compatible = "ti,tlv320aic3x";
codec: tlv320@18 {
compatible = "ti,tlv320aic3007";
#sound-dai-cells = <0>;
reg = <0x18>;
ai3x-micbias-vg = <2>;
AVDD-supply = <&sound_3v3>;
IOVDD-supply = <&sound_3v3>;
DRVDD-supply = <&sound_3v3>;
DVDD-supply = <&sound_1v8>;
};
stmpe@41 {
......@@ -55,6 +148,10 @@ &i2c3 {
status = "okay";
};
&ssi2 {
status = "okay";
};
&uart3 {
status = "okay";
};
......
......@@ -58,6 +58,12 @@ red {
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "disabled";
};
&ecspi3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi3>;
......@@ -319,6 +325,15 @@ MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000
MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
>;
};
pinctrl_audmux: audmuxgrp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT16__AUD5_TXC 0x130b0
MX6QDL_PAD_DISP0_DAT17__AUD5_TXD 0x110b0
MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS 0x130b0
MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
>;
};
};
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment