Merge tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / imx6qdl-sabresd.dtsi
1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
3  * Copyright 2011 Linaro Ltd.
4  *
5  * The code contained herein is licensed under the GNU General Public
6  * License. You may obtain a copy of the GNU General Public License
7  * Version 2 or later at the following locations:
8  *
9  * http://www.opensource.org/licenses/gpl-license.html
10  * http://www.gnu.org/copyleft/gpl.html
11  */
12
13 / {
14         memory {
15                 reg = <0x10000000 0x40000000>;
16         };
17
18         regulators {
19                 compatible = "simple-bus";
20
21                 reg_usb_otg_vbus: usb_otg_vbus {
22                         compatible = "regulator-fixed";
23                         regulator-name = "usb_otg_vbus";
24                         regulator-min-microvolt = <5000000>;
25                         regulator-max-microvolt = <5000000>;
26                         gpio = <&gpio3 22 0>;
27                         enable-active-high;
28                 };
29
30                 reg_audio: wm8962_supply {
31                         compatible = "regulator-fixed";
32                         regulator-name = "wm8962-supply";
33                         gpio = <&gpio4 10 0>;
34                         enable-active-high;
35                 };
36         };
37
38         gpio-keys {
39                 compatible = "gpio-keys";
40
41                 volume-up {
42                         label = "Volume Up";
43                         gpios = <&gpio1 4 0>;
44                         linux,code = <115>; /* KEY_VOLUMEUP */
45                 };
46
47                 volume-down {
48                         label = "Volume Down";
49                         gpios = <&gpio1 5 0>;
50                         linux,code = <114>; /* KEY_VOLUMEDOWN */
51                 };
52         };
53
54         sound {
55                 compatible = "fsl,imx6q-sabresd-wm8962",
56                            "fsl,imx-audio-wm8962";
57                 model = "wm8962-audio";
58                 ssi-controller = <&ssi2>;
59                 audio-codec = <&codec>;
60                 audio-routing =
61                         "Headphone Jack", "HPOUTL",
62                         "Headphone Jack", "HPOUTR",
63                         "Ext Spk", "SPKOUTL",
64                         "Ext Spk", "SPKOUTR",
65                         "MICBIAS", "AMIC",
66                         "IN3R", "MICBIAS",
67                         "DMIC", "MICBIAS",
68                         "DMICDAT", "DMIC";
69                 mux-int-port = <2>;
70                 mux-ext-port = <3>;
71         };
72 };
73
74 &audmux {
75         pinctrl-names = "default";
76         pinctrl-0 = <&pinctrl_audmux_2>;
77         status = "okay";
78 };
79
80 &fec {
81         pinctrl-names = "default";
82         pinctrl-0 = <&pinctrl_enet_1>;
83         phy-mode = "rgmii";
84         status = "okay";
85 };
86
87 &i2c1 {
88         clock-frequency = <100000>;
89         pinctrl-names = "default";
90         pinctrl-0 = <&pinctrl_i2c1_2>;
91         status = "okay";
92
93         codec: wm8962@1a {
94                 compatible = "wlf,wm8962";
95                 reg = <0x1a>;
96                 clocks = <&clks 169>;
97                 DCVDD-supply = <&reg_audio>;
98                 DBVDD-supply = <&reg_audio>;
99                 AVDD-supply = <&reg_audio>;
100                 CPVDD-supply = <&reg_audio>;
101                 MICVDD-supply = <&reg_audio>;
102                 PLLVDD-supply = <&reg_audio>;
103                 SPKVDD1-supply = <&reg_audio>;
104                 SPKVDD2-supply = <&reg_audio>;
105                 gpio-cfg = <
106                         0x0000 /* 0:Default */
107                         0x0000 /* 1:Default */
108                         0x0013 /* 2:FN_DMICCLK */
109                         0x0000 /* 3:Default */
110                         0x8014 /* 4:FN_DMICCDAT */
111                         0x0000 /* 5:Default */
112                 >;
113        };
114 };
115
116 &ssi2 {
117         fsl,mode = "i2s-slave";
118         status = "okay";
119 };
120
121 &uart1 {
122         pinctrl-names = "default";
123         pinctrl-0 = <&pinctrl_uart1_1>;
124         status = "okay";
125 };
126
127 &usbh1 {
128         status = "okay";
129 };
130
131 &usbotg {
132         vbus-supply = <&reg_usb_otg_vbus>;
133         pinctrl-names = "default";
134         pinctrl-0 = <&pinctrl_usbotg_2>;
135         disable-over-current;
136         status = "okay";
137 };
138
139 &usdhc2 {
140         pinctrl-names = "default";
141         pinctrl-0 = <&pinctrl_usdhc2_1>;
142         cd-gpios = <&gpio2 2 0>;
143         wp-gpios = <&gpio2 3 0>;
144         status = "okay";
145 };
146
147 &usdhc3 {
148         pinctrl-names = "default";
149         pinctrl-0 = <&pinctrl_usdhc3_1>;
150         cd-gpios = <&gpio2 0 0>;
151         wp-gpios = <&gpio2 1 0>;
152         status = "okay";
153 };