ARM: dts: omap2420-n810: Correct the audio codec (tlv320aic33) node
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 27 Apr 2018 08:17:11 +0000 (11:17 +0300)
committerTony Lindgren <tony@atomide.com>
Tue, 1 May 2018 15:36:05 +0000 (08:36 -0700)
- The n810 uses tlv320aic33 codec.
- GPIO118 is used as reset GPIO for the codec, which was missing.
- The MCLK of the codec is connected to the SYS_CLKOUT2 of omap2420. The
  SYS_CLKOUT2 needs to be running at 12MHz.
- Add the pinctrl entries to configure the pins for GPIO118 and SYS_CLKOUT2
- Set DMIC clk mode for GPIO1
- Set DMIC data in for GPIO2
- Select 2V for the DMIC bias
- Add fixed regulators for the codec

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap2420-n810.dts

index 4c412a4..96b9913 100644 (file)
@@ -6,6 +6,20 @@
 / {
        model = "Nokia N810";
        compatible = "nokia,n810", "nokia,n8x0", "ti,omap2420", "ti,omap2";
+
+       vio_ape: vio_ape {
+               compatible = "regulator-fixed";
+               regulator-name = "vio_ape";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+       };
+
+       v28_aic: v28_aic {
+               compatible = "regulator-fixed";
+               regulator-name = "v28_aic";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+       };
 };
 
 &omap2420_pmx {
                        OMAP2420_CORE_IOPAD(0x0127, PIN_OUTPUT | MUX_MODE1)     /* eac_ac_dout.mcbsp2_dx */
                >;
        };
+
+       aic33_pins: aic33_pins {
+               pinctrl-single,pins = <
+                       OMAP2420_CORE_IOPAD(0x0129, PIN_OUTPUT | MUX_MODE3)     /* eac_ac_rst.gpio118 */
+                       OMAP2420_CORE_IOPAD(0x00e8, PIN_OUTPUT | MUX_MODE2)     /* vlynq_tx1.sys_clkout2 */
+               >;
+       };
 };
 
 &i2c2 {
-       aic3x@18 {
-               compatible = "tlv320aic3x";
+       aic33@18 {
+               compatible = "ti,tlv320aic33";
                reg = <0x18>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&aic33_pins>;
+
+               gpio-reset = <&gpio4 22 GPIO_ACTIVE_LOW>; /* gpio118 */
+
+               ai3x-gpio-func = <
+                       10 /* AIC3X_GPIO1_FUNC_DIGITAL_MIC_MODCLK */
+                       5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
+               >;
+               ai3x-micbias-vg = <1>; /* 2V */
+
+               AVDD-supply = <&v28_aic>;
+               DRVDD-supply = <&v28_aic>;
+               IOVDD-supply = <&vio_ape>;
+               DVDD-supply = <&vio_ape>;
+
+               assigned-clocks = <&sys_clkout2_src>, <&sys_clkout2>;
+               assigned-clock-parents = <&func_96m_ck>;
+               assigned-clock-rates = <0>, <12000000>;
        };
 };
+
 &mcbsp2 {
        pinctrl-names = "default";
        pinctrl-0 = <&mcbsp2_pins>;