Merge tag 'for-linus-5.15-1' of git://github.com/cminyard/linux-ipmi
[linux-2.6-microblaze.git] / arch / arm / boot / dts / mt2701-evb.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2015 MediaTek Inc.
4  * Author: Erin Lo <erin.lo@mediatek.com>
5  *
6  */
7
8 /dts-v1/;
9 #include <dt-bindings/gpio/gpio.h>
10 #include "mt2701.dtsi"
11
12 / {
13         model = "MediaTek MT2701 evaluation board";
14         compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
15
16         memory {
17                 device_type = "memory";
18                 reg = <0 0x80000000 0 0x40000000>;
19         };
20
21         sound:sound {
22                 compatible = "mediatek,mt2701-cs42448-machine";
23                 mediatek,platform = <&afe>;
24                 /* CS42448 Machine name */
25                 audio-routing =
26                 "Line Out Jack", "AOUT1L",
27                 "Line Out Jack", "AOUT1R",
28                 "Line Out Jack", "AOUT2L",
29                 "Line Out Jack", "AOUT2R",
30                 "Line Out Jack", "AOUT3L",
31                 "Line Out Jack", "AOUT3R",
32                 "Line Out Jack", "AOUT4L",
33                 "Line Out Jack", "AOUT4R",
34                 "AIN1L", "AMIC",
35                 "AIN1R", "AMIC",
36                 "AIN2L", "Tuner In",
37                 "AIN2R", "Tuner In",
38                 "AIN3L", "Satellite Tuner In",
39                 "AIN3R", "Satellite Tuner In",
40                 "AIN3L", "AUX In",
41                 "AIN3R", "AUX In";
42                 mediatek,audio-codec = <&cs42448>;
43                 mediatek,audio-codec-bt-mrg = <&bt_sco_codec>;
44                 pinctrl-names = "default";
45                 pinctrl-0 = <&aud_pins_default>;
46                 i2s1-in-sel-gpio1 = <&pio 53 0>;
47                 i2s1-in-sel-gpio2 = <&pio 54 0>;
48                 status = "okay";
49         };
50
51         bt_sco_codec:bt_sco_codec {
52                 compatible = "linux,bt-sco";
53         };
54
55         backlight_lcd: backlight_lcd {
56                 compatible = "pwm-backlight";
57                 pwms = <&bls 0 100000>;
58                 brightness-levels = <
59                           0  16  32  48  64  80  96 112
60                         128 144 160 176 192 208 224 240
61                         255
62                 >;
63                 default-brightness-level = <9>;
64         };
65
66         usb_vbus: regulator@0 {
67                 compatible = "regulator-fixed";
68                 regulator-name = "usb_vbus";
69                 regulator-min-microvolt = <5000000>;
70                 regulator-max-microvolt = <5000000>;
71                 gpio = <&pio 45 GPIO_ACTIVE_HIGH>;
72                 enable-active-high;
73         };
74 };
75
76 &auxadc {
77         status = "okay";
78 };
79
80 &bls {
81         status = "okay";
82         pinctrl-names = "default";
83         pinctrl-0 = <&pwm_bls_gpio>;
84 };
85
86 &i2c0 {
87         pinctrl-names = "default";
88         pinctrl-0 = <&i2c0_pins_a>;
89         status = "okay";
90 };
91
92 &i2c1 {
93         pinctrl-names = "default";
94         pinctrl-0 = <&i2c1_pins_a>;
95         status = "okay";
96 };
97
98 &i2c2 {
99         pinctrl-names = "default";
100         pinctrl-0 = <&i2c2_pins_a>;
101         status = "okay";
102         cs42448: cs42448@48 {
103                 compatible = "cirrus,cs42448";
104                 reg = <0x48>;
105                 clocks = <&topckgen CLK_TOP_AUD_I2S1_MCLK>;
106                 clock-names = "mclk";
107         };
108 };
109
110 &pio {
111         i2c0_pins_a: i2c0@0 {
112                 pins1 {
113                         pinmux = <MT2701_PIN_75_SDA0__FUNC_SDA0>,
114                                  <MT2701_PIN_76_SCL0__FUNC_SCL0>;
115                         bias-disable;
116                 };
117         };
118
119         i2c1_pins_a: i2c1@0 {
120                 pins1 {
121                         pinmux = <MT2701_PIN_57_SDA1__FUNC_SDA1>,
122                                  <MT2701_PIN_58_SCL1__FUNC_SCL1>;
123                         bias-disable;
124                 };
125         };
126
127         i2c2_pins_a: i2c2@0 {
128                 pins1 {
129                         pinmux = <MT2701_PIN_77_SDA2__FUNC_SDA2>,
130                                  <MT2701_PIN_78_SCL2__FUNC_SCL2>;
131                         bias-disable;
132                 };
133         };
134
135         pwm_bls_gpio: pwm_bls_gpio {
136                 pins_cmd_dat {
137                         pinmux = <MT2701_PIN_208_AUD_EXT_CK1__FUNC_DISP_PWM>;
138                 };
139         };
140
141         spi_pins_a: spi0@0 {
142                 pins_spi {
143                         pinmux = <MT2701_PIN_53_SPI0_CSN__FUNC_SPI0_CS>,
144                                  <MT2701_PIN_54_SPI0_CK__FUNC_SPI0_CK>,
145                                  <MT2701_PIN_55_SPI0_MI__FUNC_SPI0_MI>,
146                                  <MT2701_PIN_56_SPI0_MO__FUNC_SPI0_MO>;
147                         bias-disable;
148                 };
149         };
150
151         aud_pins_default: audiodefault {
152                 pins_cmd_dat {
153                         pinmux = <MT2701_PIN_49_I2S0_DATA__FUNC_I2S0_DATA>,
154                                  <MT2701_PIN_72_I2S0_DATA_IN__FUNC_I2S0_DATA_IN>,
155                                  <MT2701_PIN_73_I2S0_LRCK__FUNC_I2S0_LRCK>,
156                                  <MT2701_PIN_74_I2S0_BCK__FUNC_I2S0_BCK>,
157                                  <MT2701_PIN_126_I2S0_MCLK__FUNC_I2S0_MCLK>,
158                                  <MT2701_PIN_33_I2S1_DATA__FUNC_I2S1_DATA>,
159                                  <MT2701_PIN_34_I2S1_DATA_IN__FUNC_I2S1_DATA_IN>,
160                                  <MT2701_PIN_35_I2S1_BCK__FUNC_I2S1_BCK>,
161                                  <MT2701_PIN_36_I2S1_LRCK__FUNC_I2S1_LRCK>,
162                                  <MT2701_PIN_37_I2S1_MCLK__FUNC_I2S1_MCLK>,
163                                  <MT2701_PIN_203_PWM0__FUNC_I2S2_DATA>,
164                                  <MT2701_PIN_204_PWM1__FUNC_I2S3_DATA>,
165                                  <MT2701_PIN_53_SPI0_CSN__FUNC_GPIO53>,
166                                  <MT2701_PIN_54_SPI0_CK__FUNC_GPIO54>,
167                                  <MT2701_PIN_18_PCM_CLK__FUNC_MRG_CLK>,
168                                  <MT2701_PIN_19_PCM_SYNC__FUNC_MRG_SYNC>,
169                                  <MT2701_PIN_20_PCM_RX__FUNC_MRG_TX>,
170                                  <MT2701_PIN_21_PCM_TX__FUNC_MRG_RX>;
171                         drive-strength = <MTK_DRIVE_12mA>;
172                         bias-pull-down;
173                 };
174         };
175
176         spi_pins_b: spi1@0 {
177                 pins_spi {
178                         pinmux = <MT2701_PIN_7_SPI1_CSN__FUNC_SPI1_CS>,
179                                  <MT2701_PIN_8_SPI1_MI__FUNC_SPI1_MI>,
180                                  <MT2701_PIN_9_SPI1_MO__FUNC_SPI1_MO>,
181                                  <MT2701_PIN_199_SPI1_CLK__FUNC_SPI1_CK>;
182                         bias-disable;
183                 };
184         };
185
186         spi_pins_c: spi2@0 {
187                 pins_spi {
188                         pinmux = <MT2701_PIN_101_SPI2_CSN__FUNC_SPI2_CS>,
189                                  <MT2701_PIN_102_SPI2_MI__FUNC_SPI2_MI>,
190                                  <MT2701_PIN_103_SPI2_MO__FUNC_SPI2_MO>,
191                                  <MT2701_PIN_104_SPI2_CLK__FUNC_SPI2_CK>;
192                         bias-disable;
193                 };
194         };
195 };
196
197 &spi0 {
198         pinctrl-names = "default";
199         pinctrl-0 = <&spi_pins_a>;
200         status = "disabled";
201 };
202
203 &spi1 {
204         pinctrl-names = "default";
205         pinctrl-0 = <&spi_pins_b>;
206         status = "disabled";
207 };
208
209 &spi2 {
210         pinctrl-names = "default";
211         pinctrl-0 = <&spi_pins_c>;
212         status = "disabled";
213 };
214
215 &nor_flash {
216         pinctrl-names = "default";
217         pinctrl-0 = <&nor_pins_default>;
218         status = "okay";
219         flash@0 {
220                 compatible = "jedec,spi-nor";
221                 reg = <0>;
222         };
223 };
224
225 &pio {
226         nor_pins_default: nor {
227                 pins1 {
228                         pinmux = <MT2701_PIN_240_EXT_XCS__FUNC_EXT_XCS>,
229                                  <MT2701_PIN_241_EXT_SCK__FUNC_EXT_SCK>,
230                                  <MT2701_PIN_239_EXT_SDIO0__FUNC_EXT_SDIO0>,
231                                  <MT2701_PIN_238_EXT_SDIO1__FUNC_EXT_SDIO1>,
232                                  <MT2701_PIN_237_EXT_SDIO2__FUNC_EXT_SDIO2>,
233                                  <MT2701_PIN_236_EXT_SDIO3__FUNC_EXT_SDIO3>;
234                         drive-strength = <MTK_DRIVE_4mA>;
235                         bias-pull-up;
236                 };
237         };
238 };
239
240 &uart0 {
241         status = "okay";
242 };
243
244 &usb2 {
245         status = "okay";
246         usb-role-switch;
247         connector{
248                 compatible = "gpio-usb-b-connector", "usb-b-connector";
249                 type = "micro";
250                 id-gpios = <&pio 44 GPIO_ACTIVE_HIGH>;
251                 vbus-supply = <&usb_vbus>;
252         };
253 };