Loading...
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};
1/*
2 * Copyright (c) 2015 MediaTek Inc.
3 * Author: Erin Lo <erin.lo@mediatek.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15/dts-v1/;
16#include "mt2701.dtsi"
17
18/ {
19 model = "MediaTek MT2701 evaluation board";
20 compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
21
22 memory {
23 reg = <0 0x80000000 0 0x40000000>;
24 };
25
26 sound:sound {
27 compatible = "mediatek,mt2701-cs42448-machine";
28 mediatek,platform = <&afe>;
29 /* CS42448 Machine name */
30 audio-routing =
31 "Line Out Jack", "AOUT1L",
32 "Line Out Jack", "AOUT1R",
33 "Line Out Jack", "AOUT2L",
34 "Line Out Jack", "AOUT2R",
35 "Line Out Jack", "AOUT3L",
36 "Line Out Jack", "AOUT3R",
37 "Line Out Jack", "AOUT4L",
38 "Line Out Jack", "AOUT4R",
39 "AIN1L", "AMIC",
40 "AIN1R", "AMIC",
41 "AIN2L", "Tuner In",
42 "AIN2R", "Tuner In",
43 "AIN3L", "Satellite Tuner In",
44 "AIN3R", "Satellite Tuner In",
45 "AIN3L", "AUX In",
46 "AIN3R", "AUX In";
47 mediatek,audio-codec = <&cs42448>;
48 mediatek,audio-codec-bt-mrg = <&bt_sco_codec>;
49 pinctrl-names = "default";
50 pinctrl-0 = <&aud_pins_default>;
51 i2s1-in-sel-gpio1 = <&pio 53 0>;
52 i2s1-in-sel-gpio2 = <&pio 54 0>;
53 status = "okay";
54 };
55
56 bt_sco_codec:bt_sco_codec {
57 compatible = "linux,bt-sco";
58 };
59
60 backlight_lcd: backlight_lcd {
61 compatible = "pwm-backlight";
62 pwms = <&bls 0 100000>;
63 brightness-levels = <
64 0 16 32 48 64 80 96 112
65 128 144 160 176 192 208 224 240
66 255
67 >;
68 default-brightness-level = <9>;
69 };
70};
71
72&auxadc {
73 status = "okay";
74};
75
76&bls {
77 status = "okay";
78 pinctrl-names = "default";
79 pinctrl-0 = <&pwm_bls_gpio>;
80};
81
82&i2c0 {
83 pinctrl-names = "default";
84 pinctrl-0 = <&i2c0_pins_a>;
85 status = "okay";
86};
87
88&i2c1 {
89 pinctrl-names = "default";
90 pinctrl-0 = <&i2c1_pins_a>;
91 status = "okay";
92};
93
94&i2c2 {
95 pinctrl-names = "default";
96 pinctrl-0 = <&i2c2_pins_a>;
97 status = "okay";
98 cs42448: cs42448@48 {
99 compatible = "cirrus,cs42448";
100 reg = <0x48>;
101 clocks = <&topckgen CLK_TOP_AUD_I2S1_MCLK>;
102 clock-names = "mclk";
103 };
104};
105
106&pio {
107 i2c0_pins_a: i2c0@0 {
108 pins1 {
109 pinmux = <MT2701_PIN_75_SDA0__FUNC_SDA0>,
110 <MT2701_PIN_76_SCL0__FUNC_SCL0>;
111 bias-disable;
112 };
113 };
114
115 i2c1_pins_a: i2c1@0 {
116 pins1 {
117 pinmux = <MT2701_PIN_57_SDA1__FUNC_SDA1>,
118 <MT2701_PIN_58_SCL1__FUNC_SCL1>;
119 bias-disable;
120 };
121 };
122
123 i2c2_pins_a: i2c2@0 {
124 pins1 {
125 pinmux = <MT2701_PIN_77_SDA2__FUNC_SDA2>,
126 <MT2701_PIN_78_SCL2__FUNC_SCL2>;
127 bias-disable;
128 };
129 };
130
131 pwm_bls_gpio: pwm_bls_gpio {
132 pins_cmd_dat {
133 pinmux = <MT2701_PIN_208_AUD_EXT_CK1__FUNC_DISP_PWM>;
134 };
135 };
136
137 spi_pins_a: spi0@0 {
138 pins_spi {
139 pinmux = <MT2701_PIN_53_SPI0_CSN__FUNC_SPI0_CS>,
140 <MT2701_PIN_54_SPI0_CK__FUNC_SPI0_CK>,
141 <MT2701_PIN_55_SPI0_MI__FUNC_SPI0_MI>,
142 <MT2701_PIN_56_SPI0_MO__FUNC_SPI0_MO>;
143 bias-disable;
144 };
145 };
146
147 aud_pins_default: audiodefault {
148 pins_cmd_dat {
149 pinmux = <MT2701_PIN_49_I2S0_DATA__FUNC_I2S0_DATA>,
150 <MT2701_PIN_72_I2S0_DATA_IN__FUNC_I2S0_DATA_IN>,
151 <MT2701_PIN_73_I2S0_LRCK__FUNC_I2S0_LRCK>,
152 <MT2701_PIN_74_I2S0_BCK__FUNC_I2S0_BCK>,
153 <MT2701_PIN_126_I2S0_MCLK__FUNC_I2S0_MCLK>,
154 <MT2701_PIN_33_I2S1_DATA__FUNC_I2S1_DATA>,
155 <MT2701_PIN_34_I2S1_DATA_IN__FUNC_I2S1_DATA_IN>,
156 <MT2701_PIN_35_I2S1_BCK__FUNC_I2S1_BCK>,
157 <MT2701_PIN_36_I2S1_LRCK__FUNC_I2S1_LRCK>,
158 <MT2701_PIN_37_I2S1_MCLK__FUNC_I2S1_MCLK>,
159 <MT2701_PIN_203_PWM0__FUNC_I2S2_DATA>,
160 <MT2701_PIN_204_PWM1__FUNC_I2S3_DATA>,
161 <MT2701_PIN_53_SPI0_CSN__FUNC_GPIO53>,
162 <MT2701_PIN_54_SPI0_CK__FUNC_GPIO54>,
163 <MT2701_PIN_18_PCM_CLK__FUNC_MRG_CLK>,
164 <MT2701_PIN_19_PCM_SYNC__FUNC_MRG_SYNC>,
165 <MT2701_PIN_20_PCM_RX__FUNC_MRG_TX>,
166 <MT2701_PIN_21_PCM_TX__FUNC_MRG_RX>;
167 drive-strength = <MTK_DRIVE_12mA>;
168 bias-pull-down;
169 };
170 };
171
172 spi_pins_b: spi1@0 {
173 pins_spi {
174 pinmux = <MT2701_PIN_7_SPI1_CSN__FUNC_SPI1_CS>,
175 <MT2701_PIN_8_SPI1_MI__FUNC_SPI1_MI>,
176 <MT2701_PIN_9_SPI1_MO__FUNC_SPI1_MO>,
177 <MT2701_PIN_199_SPI1_CLK__FUNC_SPI1_CK>;
178 bias-disable;
179 };
180 };
181
182 spi_pins_c: spi2@0 {
183 pins_spi {
184 pinmux = <MT2701_PIN_101_SPI2_CSN__FUNC_SPI2_CS>,
185 <MT2701_PIN_102_SPI2_MI__FUNC_SPI2_MI>,
186 <MT2701_PIN_103_SPI2_MO__FUNC_SPI2_MO>,
187 <MT2701_PIN_104_SPI2_CLK__FUNC_SPI2_CK>;
188 bias-disable;
189 };
190 };
191};
192
193&spi0 {
194 pinctrl-names = "default";
195 pinctrl-0 = <&spi_pins_a>;
196 status = "disabled";
197};
198
199&spi1 {
200 pinctrl-names = "default";
201 pinctrl-0 = <&spi_pins_b>;
202 status = "disabled";
203};
204
205&spi2 {
206 pinctrl-names = "default";
207 pinctrl-0 = <&spi_pins_c>;
208 status = "disabled";
209};
210
211&nor_flash {
212 pinctrl-names = "default";
213 pinctrl-0 = <&nor_pins_default>;
214 status = "okay";
215 flash@0 {
216 compatible = "jedec,spi-nor";
217 reg = <0>;
218 };
219};
220
221&pio {
222 nor_pins_default: nor {
223 pins1 {
224 pinmux = <MT2701_PIN_240_EXT_XCS__FUNC_EXT_XCS>,
225 <MT2701_PIN_241_EXT_SCK__FUNC_EXT_SCK>,
226 <MT2701_PIN_239_EXT_SDIO0__FUNC_EXT_SDIO0>,
227 <MT2701_PIN_238_EXT_SDIO1__FUNC_EXT_SDIO1>,
228 <MT2701_PIN_237_EXT_SDIO2__FUNC_EXT_SDIO2>,
229 <MT2701_PIN_236_EXT_SDIO3__FUNC_EXT_SDIO3>;
230 drive-strength = <MTK_DRIVE_4mA>;
231 bias-pull-up;
232 };
233 };
234};
235
236&uart0 {
237 status = "okay";
238};