0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2013 Christian Hemp, Phytec Messtechnik GmbH
0004 */
0005
0006 #include <dt-bindings/sound/fsl-imx-audmux.h>
0007
0008 / {
0009 chosen {
0010 stdout-path = &uart4;
0011 };
0012
0013 regulators {
0014 sound_1v8: regulator@2 {
0015 compatible = "regulator-fixed";
0016 reg = <2>;
0017 regulator-name = "i2s-audio-1v8";
0018 regulator-min-microvolt = <1800000>;
0019 regulator-max-microvolt = <1800000>;
0020 };
0021
0022 sound_3v3: regulator@3 {
0023 compatible = "regulator-fixed";
0024 reg = <3>;
0025 regulator-name = "i2s-audio-3v3";
0026 regulator-min-microvolt = <3300000>;
0027 regulator-max-microvolt = <3300000>;
0028 };
0029 };
0030
0031 tlv320_mclk: oscillator {
0032 compatible = "fixed-clock";
0033 #clock-cells = <0>;
0034 clock-frequency = <19200000>;
0035 clock-output-names = "tlv320-mclk";
0036 };
0037
0038 sound {
0039 compatible = "simple-audio-card";
0040 simple-audio-card,name = "OnboardTLV320AIC3007";
0041 simple-audio-card,format = "i2s";
0042 simple-audio-card,bitclock-master = <&dailink_master>;
0043 simple-audio-card,frame-master = <&dailink_master>;
0044 simple-audio-card,widgets =
0045 "Microphone", "Mic Jack",
0046 "Line", "Line In",
0047 "Line", "Line Out",
0048 "Speaker", "Speaker",
0049 "Headphone", "Headphone Jack";
0050 simple-audio-card,routing =
0051 "Line Out", "LLOUT",
0052 "Line Out", "RLOUT",
0053 "Speaker", "SPOP",
0054 "Speaker", "SPOM",
0055 "Headphone Jack", "HPLOUT",
0056 "Headphone Jack", "HPROUT",
0057 "MIC3L", "Mic Jack",
0058 "MIC3R", "Mic Jack",
0059 "Mic Jack", "Mic Bias",
0060 "LINE1L", "Line In",
0061 "LINE1R", "Line In";
0062
0063 simple-audio-card,cpu {
0064 sound-dai = <&ssi2>;
0065 };
0066
0067 dailink_master: simple-audio-card,codec {
0068 sound-dai = <&codec>;
0069 clocks = <&tlv320_mclk>;
0070 };
0071 };
0072
0073 };
0074
0075 &audmux {
0076 status = "okay";
0077
0078 ssi2 {
0079 fsl,audmux-port = <1>;
0080 fsl,port-config = <
0081 (IMX_AUDMUX_V2_PTCR_SYN |
0082 IMX_AUDMUX_V2_PTCR_TFSDIR |
0083 IMX_AUDMUX_V2_PTCR_TFSEL(4) |
0084 IMX_AUDMUX_V2_PTCR_TCLKDIR |
0085 IMX_AUDMUX_V2_PTCR_TCSEL(4))
0086 IMX_AUDMUX_V2_PDCR_RXDSEL(4)
0087 >;
0088 };
0089
0090 pins5 {
0091 fsl,audmux-port = <4>;
0092 fsl,port-config = <
0093 IMX_AUDMUX_V2_PTCR_SYN
0094 IMX_AUDMUX_V2_PDCR_RXDSEL(1)
0095 >;
0096 };
0097 };
0098
0099 &can1 {
0100 status = "okay";
0101 };
0102
0103 &fec {
0104 status = "okay";
0105 };
0106
0107 &hdmi {
0108 status = "okay";
0109 };
0110
0111 &i2c2 {
0112 status = "okay";
0113
0114 codec: tlv320@18 {
0115 compatible = "ti,tlv320aic3007";
0116 #sound-dai-cells = <0>;
0117 reg = <0x18>;
0118 ai3x-micbias-vg = <2>;
0119
0120 AVDD-supply = <&sound_3v3>;
0121 IOVDD-supply = <&sound_3v3>;
0122 DRVDD-supply = <&sound_3v3>;
0123 DVDD-supply = <&sound_1v8>;
0124 };
0125
0126 stmpe@41 {
0127 compatible = "st,stmpe811";
0128 reg = <0x41>;
0129 };
0130
0131 rtc@51 {
0132 compatible = "epson,rtc8564";
0133 reg = <0x51>;
0134 };
0135
0136 adc@64 {
0137 compatible = "maxim,max1037";
0138 reg = <0x64>;
0139 };
0140 };
0141
0142 &i2c3 {
0143 status = "okay";
0144 };
0145
0146 &pcie {
0147 status = "okay";
0148 };
0149
0150 &ssi2 {
0151 status = "okay";
0152 };
0153
0154 &uart3 {
0155 status = "okay";
0156 };
0157
0158 &uart4 {
0159 status = "okay";
0160 };
0161
0162 &usbh1 {
0163 status = "okay";
0164 };
0165
0166 &usbotg {
0167 status = "okay";
0168 dr_mode = "peripheral";
0169 };
0170
0171 &usdhc2 {
0172 status = "okay";
0173 };
0174
0175 &usdhc3 {
0176 status = "okay";
0177 };