ARM: dts: am335x-wega: Add audio support
authorStefan Müller-Klieser <s.mueller-klieser@phytec.de>
Wed, 10 Aug 2016 15:12:15 +0000 (17:12 +0200)
committerTony Lindgren <tony@atomide.com>
Fri, 26 Aug 2016 15:23:52 +0000 (08:23 -0700)
The wega board has a TLV320AIC3007 connected via McASP0. In the default
configuration, no external crystal is mounted. We run a system clock of
25 MHz, so we use the audio codec PLL for audio clock generation.

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/am335x-wega.dtsi

index d5fdf6244af8bb1f4ede01c9773ebef459f69289..02c67365c4e1611cb6413b7a0cd0fa115a8a5e75 100644 (file)
        model = "Phytec AM335x phyBOARD-WEGA";
        compatible = "phytec,am335x-wega", "phytec,am335x-phycore-som", "ti,am33xx";
 
+       sound: sound_iface {
+               compatible = "ti,da830-evm-audio";
+       };
+
        regulators {
                compatible = "simple-bus";
 
        };
 };
 
+/* Audio */
+&am33xx_pinmux {
+       mcasp0_pins: pinmux_mcasp0 {
+               pinctrl-single,pins = <
+                       AM33XX_IOPAD(0x9AC, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_ahclkx.mcasp0_ahclkx */
+                       AM33XX_IOPAD(0x990, PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_aclkx.mcasp0_aclkx */
+                       AM33XX_IOPAD(0x994, PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_fsx.mcasp0_fsx */
+                       AM33XX_IOPAD(0x998, PIN_INPUT_PULLDOWN | MUX_MODE0)  /* mcasp0_axr0.mcasp0_axr0 */
+                       AM33XX_IOPAD(0x9A8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_axr1.mcasp0_axr1 */
+               >;
+       };
+};
+
+&i2c0 {
+       tlv320aic3007: tlv320aic3007@18 {
+               compatible = "ti,tlv320aic3007";
+               reg = <0x18>;
+               AVDD-supply = <&vcc3v3>;
+               IOVDD-supply = <&vcc3v3>;
+               DRVDD-supply = <&vcc3v3>;
+               DVDD-supply = <&vdig1_reg>;
+               status = "okay";
+       };
+};
+
+&mcasp0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcasp0_pins>;
+       op-mode = <0>; /* DAVINCI_MCASP_IIS_MODE */
+       tdm-slots = <2>;
+       serial-dir = <
+               2 1 0 0 /* # 0: INACTIVE, 1: TX, 2: RX */
+       >;
+       tx-num-evt = <16>;
+       rt-num-evt = <16>;
+       status = "okay";
+};
+
+&sound {
+       ti,model = "AM335x-Wega";
+       ti,audio-codec = <&tlv320aic3007>;
+       ti,mcasp-controller = <&mcasp0>;
+       ti,audio-routing =
+               "Line Out",             "LLOUT",
+               "Line Out",             "RLOUT",
+               "LINE1L",               "Line In",
+               "LINE1R",               "Line In";
+       clocks = <&mcasp0_fck>;
+       clock-names = "mclk";
+       status = "okay";
+};
+
 /* CAN Busses */
 &am33xx_pinmux {
        dcan1_pins: pinmux_dcan1 {
        status = "okay";
 };
 
+/* Power */
+&vdig1_reg {
+       regulator-boot-on;
+       regulator-always-on;
+};
+
 /* UARTs */
 &am33xx_pinmux {
        uart0_pins: pinmux_uart0 {