Linux Audio

Check our new training course

Loading...
v6.2
  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};
v4.17
 
  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};