Blame view

arch/arm64/boot/dts/freescale/fsl-imx8qxp-lpddr4-arm2-wm8962.dts 2.77 KB
81f7e3824   Eric Lee   Initial Release, ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  /*
   * Copyright 2017 NXP
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License
   * as published by the Free Software Foundation; either version 2
   * of the License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU General Public License for more details.
   */
  
  #include "fsl-imx8qxp-lpddr4-arm2.dts"
  
  / {
  	regulators {
  		reg_wm8962: regulator-wm8962 {
  			compatible = "regulator-fixed";
  			regulator-name = "wm8962-supply";
  			regulator-min-microvolt = <3300000>;
  			regulator-max-microvolt = <3300000>;
  			gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
  			regulator-always-on;
  			enable-active-high;
  		};
  	};
  
  	sound-cs42888 {
  		status = "disabled";
  	};
  
  	sound-wm8962 {
  		compatible = "fsl,imx6q-sabresd-wm8962",
  			   "fsl,imx-audio-wm8962";
  		model = "wm8962-audio";
  		cpu-dai = <&sai0>;
  		audio-codec = <&wm8962>;
  		audio-routing =
  			"Headphone Jack", "HPOUTL",
  			"Headphone Jack", "HPOUTR",
  			"Ext Spk", "SPKOUTL",
  			"Ext Spk", "SPKOUTR",
  			"AMIC", "MICBIAS",
  			"IN3R", "AMIC",
  			"DMIC", "MICBIAS",
  			"DMICDAT", "DMIC",
  			"Playback", "CPU-Playback",
  			"CPU-Capture", "Capture";
  		codec-master;
  		hp-det-gpios = <&gpio1 2 1>;
  		mic-det-gpios = <&gpio1 3 1>;
  	};
  };
  
  &esai0 {
  	status = "disabled";
  };
  
  &iomuxc {
  	imx8qxp-lpddr4-arm2 {
  		pinctrl_sai0: sai0grp {
  			fsl,pins = <
  				SC_P_SAI0_TXFS_ADMA_SAI0_TXFS		0xc6000040
  				SC_P_SAI0_TXC_ADMA_SAI0_TXC		0xc6000040
  				SC_P_SAI0_TXD_ADMA_SAI0_TXD		0xc6000060
  				SC_P_SAI0_RXD_ADMA_SAI0_RXD		0xc6000040
  				SC_P_SPI2_SDO_LSIO_GPIO1_IO01		0xc6000040
  				SC_P_SPI2_SDI_LSIO_GPIO1_IO02		0xc6000040
  				SC_P_SPI2_SCK_LSIO_GPIO1_IO03		0xc6000040
  				SC_P_MCLK_OUT0_ADMA_ACM_MCLK_OUT0	0xc6000040
  			>;
  		};
  	};
  };
  
  &i2c0_csi0 {
  
  	wm8962: wm8962@1a {
  		compatible = "wlf,wm8962";
  		reg = <0x1a>;
  		clocks = <&clk IMX8QXP_AUD_MCLKOUT0>;
  		DCVDD-supply = <&reg_wm8962>;
  		DBVDD-supply = <&reg_wm8962>;
  		AVDD-supply = <&reg_wm8962>;
  		CPVDD-supply = <&reg_wm8962>;
  		MICVDD-supply = <&reg_wm8962>;
  		PLLVDD-supply = <&reg_wm8962>;
  		SPKVDD1-supply = <&reg_wm8962>;
  		SPKVDD2-supply = <&reg_wm8962>;
  		gpio-cfg = <
  			0x0000 /* 0:Default */
  			0x0000 /* 1:Default */
  			0x0013 /* 2:FN_DMICCLK */
  			0x0000 /* 3:Default */
  			0x8014 /* 4:FN_DMICCDAT */
  			0x0000 /* 5:Default */
  		>;
  		amic-mono;
  		power-domains = <&pd_mclk_out0>;
  	};
  };
  
  &sai0 {
  	pinctrl-names = "default";
  	pinctrl-0 = <&pinctrl_sai0>;
  	assigned-clocks = <&clk IMX8QXP_AUD_PLL0_DIV>,
  			<&clk IMX8QXP_AUD_ACM_AUD_PLL_CLK0_DIV>,
  			<&clk IMX8QXP_AUD_ACM_AUD_REC_CLK0_DIV>;
  	assigned-clock-rates = <786432000>, <49152000>, <24576000>;
  	status = "okay";
  };