Linux Audio

Check our new training course

Loading...
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Device Tree Source for the iWave-RZ/G1M/G1N Qseven carrier board
  4 *
  5 * Copyright (C) 2017 Renesas Electronics Corp.
  6 */
  7
  8/*
  9 * SSI-SGTL5000
 10 *
 11 * This command is required when Playback/Capture
 12 *
 13 *      amixer set "DVC Out" 100%
 14 *      amixer set "DVC In" 100%
 15 *
 16 * You can use Mute
 17 *
 18 *      amixer set "DVC Out Mute" on
 19 *      amixer set "DVC In Mute" on
 20 *
 21 * You can use Volume Ramp
 22 *
 23 *      amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
 24 *      amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
 25 *      amixer set "DVC Out Ramp" on
 26 *      aplay xxx.wav &
 27 *      amixer set "DVC Out"  80%  // Volume Down
 28 *      amixer set "DVC Out" 100%  // Volume Up
 29 */
 30
 31/ {
 32	aliases {
 33		serial0 = &scif0;
 34		serial3 = &scifb1;
 35		ethernet0 = &avb;
 36	};
 37
 38	chosen {
 39		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
 40		stdout-path = "serial0:115200n8";
 41	};
 42
 43	audio_clock: audio_clock {
 44		compatible = "fixed-clock";
 45		#clock-cells = <0>;
 46		clock-frequency = <26000000>;
 47	};
 48
 49	lcd_backlight: backlight {
 50		compatible = "pwm-backlight";
 51
 52		pwms = <&pwm3 0 5000000 0>;
 53		brightness-levels = <0 4 8 16 32 64 128 255>;
 54		default-brightness-level = <7>;
 55		enable-gpios = <&gpio5 14 GPIO_ACTIVE_HIGH>;
 56	};
 57
 58	lvds-receiver {
 59		compatible = "ti,ds90cf384a", "lvds-decoder";
 60		power-supply = <&vcc_3v3_tft1>;
 61
 62		ports {
 63			#address-cells = <1>;
 64			#size-cells = <0>;
 65
 66			port@0 {
 67				reg = <0>;
 68				lvds_receiver_in: endpoint {
 69					remote-endpoint = <&lvds0_out>;
 70				};
 71			};
 72			port@1 {
 73				reg = <1>;
 74				lvds_receiver_out: endpoint {
 75					remote-endpoint = <&panel_in>;
 76				};
 77			};
 78		};
 79	};
 80
 81	panel {
 82		compatible = "edt,etm0700g0dh6";
 83		backlight = <&lcd_backlight>;
 84		power-supply = <&vcc_3v3_tft1>;
 85
 86		port {
 87			panel_in: endpoint {
 88				remote-endpoint = <&lvds_receiver_out>;
 89			};
 90		};
 91	};
 92
 93	reg_1p5v: 1p5v {
 94		compatible = "regulator-fixed";
 95		regulator-name = "1P5V";
 96		regulator-min-microvolt = <1500000>;
 97		regulator-max-microvolt = <1500000>;
 98		regulator-always-on;
 99	};
100
101	rsnd_sgtl5000: sound {
102		compatible = "simple-audio-card";
103
104		simple-audio-card,format = "i2s";
105		simple-audio-card,bitclock-master = <&sndcodec>;
106		simple-audio-card,frame-master = <&sndcodec>;
107
108		sndcpu: simple-audio-card,cpu {
109			sound-dai = <&rcar_sound>;
110		};
111
112		sndcodec: simple-audio-card,codec {
113			sound-dai = <&sgtl5000>;
114		};
115	};
116
117	vcc_3v3_tft1: regulator-panel {
118		compatible = "regulator-fixed";
119
120		regulator-name = "vcc-3v3-tft1";
121		regulator-min-microvolt = <3300000>;
122		regulator-max-microvolt = <3300000>;
123		enable-active-high;
124		startup-delay-us = <500>;
125		gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
126	};
127
128	vcc_sdhi1: regulator-vcc-sdhi1 {
129		compatible = "regulator-fixed";
130
131		regulator-name = "SDHI1 Vcc";
132		regulator-min-microvolt = <3300000>;
133		regulator-max-microvolt = <3300000>;
134
135		gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
136	};
137
138	vccq_sdhi1: regulator-vccq-sdhi1 {
139		compatible = "regulator-gpio";
140
141		regulator-name = "SDHI1 VccQ";
142		regulator-min-microvolt = <1800000>;
143		regulator-max-microvolt = <3300000>;
144
145		gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
146		gpios-states = <1>;
147		states = <3300000 1>, <1800000 0>;
 
148	};
149};
150
151&avb {
152	pinctrl-0 = <&avb_pins>;
153	pinctrl-names = "default";
154
155	phy-handle = <&phy3>;
156	phy-mode = "gmii";
157	renesas,no-ether-link;
158	status = "okay";
159
160	phy3: ethernet-phy@3 {
161		reg = <3>;
162		micrel,led-mode = <1>;
163	};
164};
165
166&can0 {
167	pinctrl-0 = <&can0_pins>;
168	pinctrl-names = "default";
169
170	status = "okay";
171};
172
173&cmt0 {
174	status = "okay";
175};
176
177&du {
178	status = "okay";
179};
180
181&gpio2 {
182	touch-interrupt {
183		gpio-hog;
184		gpios = <12 GPIO_ACTIVE_LOW>;
185		input;
186	};
187};
188
189&hsusb {
190	status = "okay";
191	pinctrl-0 = <&usb0_pins>;
192	pinctrl-names = "default";
193};
194
195&i2c2 {
196	pinctrl-0 = <&i2c2_pins>;
197	pinctrl-names = "default";
198
199	status = "okay";
200	clock-frequency = <400000>;
201
202	rtc@68 {
203		compatible = "ti,bq32000";
204		reg = <0x68>;
205	};
206
207	sgtl5000: codec@a {
208		compatible = "fsl,sgtl5000";
209		#sound-dai-cells = <0>;
210		reg = <0x0a>;
211		clocks = <&audio_clock>;
212		VDDA-supply = <&reg_3p3v>;
213		VDDIO-supply = <&reg_3p3v>;
214		VDDD-supply = <&reg_1p5v>;
215	};
216
217	touch: touchpanel@38 {
218		compatible = "edt,edt-ft5406";
219		reg = <0x38>;
220		interrupt-parent = <&gpio2>;
221		interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
222		vcc-supply = <&vcc_3v3_tft1>;
223	};
224};
225
226&lvds0 {
227	status = "okay";
228
229	ports {
230		port@1 {
231			lvds0_out: endpoint {
232				remote-endpoint = <&lvds_receiver_in>;
233			};
234		};
235	};
236};
237
238&pci0 {
239	pinctrl-0 = <&usb0_pins>;
240	pinctrl-names = "default";
241};
242
243&pci1 {
244	status = "okay";
245	pinctrl-0 = <&usb1_pins>;
246	pinctrl-names = "default";
247};
248
249&pcie_bus_clk {
250	clock-frequency = <100000000>;
251};
252
253&pfc {
254	can0_pins: can0 {
255		groups = "can0_data_d";
256		function = "can0";
257	};
258
259	avb_pins: avb {
260		groups = "avb_mdio", "avb_gmii";
261		function = "avb";
262	};
263
264	i2c2_pins: i2c2 {
265		groups = "i2c2";
266		function = "i2c2";
267	};
268
269	pwm3_pins: pwm3 {
270		groups = "pwm3";
271		function = "pwm3";
272	};
273
274	scif0_pins: scif0 {
275		groups = "scif0_data_d";
276		function = "scif0";
277	};
278
279	scifb1_pins: scifb1 {
280		groups = "scifb1_data_d", "scifb1_ctrl";
281		function = "scifb1";
282	};
283
284	sdhi1_pins: sd1 {
285		groups = "sdhi1_data4", "sdhi1_ctrl";
286		function = "sdhi1";
287		power-source = <3300>;
288	};
289
290	sdhi1_pins_uhs: sd1_uhs {
291		groups = "sdhi1_data4", "sdhi1_ctrl";
292		function = "sdhi1";
293		power-source = <1800>;
294	};
295
296	sound_pins: sound {
297		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
298		function = "ssi";
299	};
300
301	usb0_pins: usb0 {
302		groups = "usb0";
303		function = "usb0";
304	};
305
306	usb1_pins: usb1 {
307		groups = "usb1";
308		function = "usb1";
309	};
310};
311
312&pwm3 {
313	pinctrl-0 = <&pwm3_pins>;
314	pinctrl-names = "default";
315	status = "okay";
316};
317
318&rcar_sound {
319	pinctrl-0 = <&sound_pins>;
320	pinctrl-names = "default";
321	status = "okay";
322
323	/* Single DAI */
324	#sound-dai-cells = <0>;
325
326	rcar_sound,dai {
327		dai0 {
328			playback = <&ssi1>, <&src3>, <&dvc1>;
329			capture = <&ssi0>, <&src2>, <&dvc0>;
330		};
331	};
332};
333
334&rwdt {
335	timeout-sec = <60>;
336	status = "okay";
337};
338
339&scif0 {
340	pinctrl-0 = <&scif0_pins>;
341	pinctrl-names = "default";
342
343	status = "okay";
344};
345
346&scifb1 {
347	pinctrl-0 = <&scifb1_pins>;
348	pinctrl-names = "default";
349
350	uart-has-rtscts;
351	status = "okay";
352};
353
354&sdhi1 {
355	pinctrl-0 = <&sdhi1_pins>;
356	pinctrl-1 = <&sdhi1_pins_uhs>;
357	pinctrl-names = "default", "state_uhs";
358
359	vmmc-supply = <&vcc_sdhi1>;
360	vqmmc-supply = <&vccq_sdhi1>;
361	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
362	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
363	sd-uhs-sdr50;
364	status = "okay";
365};
366
367&ssi1 {
368	shared-pin;
369};
370
371&usbphy {
372	status = "okay";
373};
v5.4
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Device Tree Source for the iWave-RZ/G1M/G1N Qseven carrier board
  4 *
  5 * Copyright (C) 2017 Renesas Electronics Corp.
  6 */
  7
  8/*
  9 * SSI-SGTL5000
 10 *
 11 * This command is required when Playback/Capture
 12 *
 13 *      amixer set "DVC Out" 100%
 14 *      amixer set "DVC In" 100%
 15 *
 16 * You can use Mute
 17 *
 18 *      amixer set "DVC Out Mute" on
 19 *      amixer set "DVC In Mute" on
 20 *
 21 * You can use Volume Ramp
 22 *
 23 *      amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
 24 *      amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
 25 *      amixer set "DVC Out Ramp" on
 26 *      aplay xxx.wav &
 27 *      amixer set "DVC Out"  80%  // Volume Down
 28 *      amixer set "DVC Out" 100%  // Volume Up
 29 */
 30
 31/ {
 32	aliases {
 33		serial0 = &scif0;
 34		serial3 = &scifb1;
 35		ethernet0 = &avb;
 36	};
 37
 38	chosen {
 39		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
 40		stdout-path = "serial0:115200n8";
 41	};
 42
 43	audio_clock: audio_clock {
 44		compatible = "fixed-clock";
 45		#clock-cells = <0>;
 46		clock-frequency = <26000000>;
 47	};
 48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 49	reg_1p5v: 1p5v {
 50		compatible = "regulator-fixed";
 51		regulator-name = "1P5V";
 52		regulator-min-microvolt = <1500000>;
 53		regulator-max-microvolt = <1500000>;
 54		regulator-always-on;
 55	};
 56
 57	rsnd_sgtl5000: sound {
 58		compatible = "simple-audio-card";
 59
 60		simple-audio-card,format = "i2s";
 61		simple-audio-card,bitclock-master = <&sndcodec>;
 62		simple-audio-card,frame-master = <&sndcodec>;
 63
 64		sndcpu: simple-audio-card,cpu {
 65			sound-dai = <&rcar_sound>;
 66		};
 67
 68		sndcodec: simple-audio-card,codec {
 69			sound-dai = <&sgtl5000>;
 70		};
 71	};
 72
 
 
 
 
 
 
 
 
 
 
 
 73	vcc_sdhi1: regulator-vcc-sdhi1 {
 74		compatible = "regulator-fixed";
 75
 76		regulator-name = "SDHI1 Vcc";
 77		regulator-min-microvolt = <3300000>;
 78		regulator-max-microvolt = <3300000>;
 79
 80		gpio = <&gpio1 16 GPIO_ACTIVE_LOW>;
 81	};
 82
 83	vccq_sdhi1: regulator-vccq-sdhi1 {
 84		compatible = "regulator-gpio";
 85
 86		regulator-name = "SDHI1 VccQ";
 87		regulator-min-microvolt = <1800000>;
 88		regulator-max-microvolt = <3300000>;
 89
 90		gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
 91		gpios-states = <1>;
 92		states = <3300000 1
 93			  1800000 0>;
 94	};
 95};
 96
 97&avb {
 98	pinctrl-0 = <&avb_pins>;
 99	pinctrl-names = "default";
100
101	phy-handle = <&phy3>;
102	phy-mode = "gmii";
103	renesas,no-ether-link;
104	status = "okay";
105
106	phy3: ethernet-phy@3 {
107		reg = <3>;
108		micrel,led-mode = <1>;
109	};
110};
111
112&can0 {
113	pinctrl-0 = <&can0_pins>;
114	pinctrl-names = "default";
115
116	status = "okay";
117};
118
119&cmt0 {
120	status = "okay";
121};
122
 
 
 
 
 
 
 
 
 
 
 
 
123&hsusb {
124	status = "okay";
125	pinctrl-0 = <&usb0_pins>;
126	pinctrl-names = "default";
127};
128
129&i2c2 {
130	pinctrl-0 = <&i2c2_pins>;
131	pinctrl-names = "default";
132
133	status = "okay";
134	clock-frequency = <400000>;
135
136	rtc@68 {
137		compatible = "ti,bq32000";
138		reg = <0x68>;
139	};
140
141	sgtl5000: codec@a {
142		compatible = "fsl,sgtl5000";
143		#sound-dai-cells = <0>;
144		reg = <0x0a>;
145		clocks = <&audio_clock>;
146		VDDA-supply = <&reg_3p3v>;
147		VDDIO-supply = <&reg_3p3v>;
148		VDDD-supply = <&reg_1p5v>;
149	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150};
151
152&pci0 {
153	pinctrl-0 = <&usb0_pins>;
154	pinctrl-names = "default";
155};
156
157&pci1 {
158	status = "okay";
159	pinctrl-0 = <&usb1_pins>;
160	pinctrl-names = "default";
161};
162
163&pcie_bus_clk {
164	clock-frequency = <100000000>;
165};
166
167&pfc {
168	can0_pins: can0 {
169		groups = "can0_data_d";
170		function = "can0";
171	};
172
173	avb_pins: avb {
174		groups = "avb_mdio", "avb_gmii";
175		function = "avb";
176	};
177
178	i2c2_pins: i2c2 {
179		groups = "i2c2";
180		function = "i2c2";
181	};
182
 
 
 
 
 
183	scif0_pins: scif0 {
184		groups = "scif0_data_d";
185		function = "scif0";
186	};
187
188	scifb1_pins: scifb1 {
189		groups = "scifb1_data_d", "scifb1_ctrl";
190		function = "scifb1";
191	};
192
193	sdhi1_pins: sd1 {
194		groups = "sdhi1_data4", "sdhi1_ctrl";
195		function = "sdhi1";
196		power-source = <3300>;
197	};
198
199	sdhi1_pins_uhs: sd1_uhs {
200		groups = "sdhi1_data4", "sdhi1_ctrl";
201		function = "sdhi1";
202		power-source = <1800>;
203	};
204
205	sound_pins: sound {
206		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
207		function = "ssi";
208	};
209
210	usb0_pins: usb0 {
211		groups = "usb0";
212		function = "usb0";
213	};
214
215	usb1_pins: usb1 {
216		groups = "usb1";
217		function = "usb1";
218	};
219};
220
 
 
 
 
 
 
221&rcar_sound {
222	pinctrl-0 = <&sound_pins>;
223	pinctrl-names = "default";
224	status = "okay";
225
226	/* Single DAI */
227	#sound-dai-cells = <0>;
228
229	rcar_sound,dai {
230		dai0 {
231			playback = <&ssi1 &src3 &dvc1>;
232			capture = <&ssi0 &src2 &dvc0>;
233		};
234	};
235};
236
237&rwdt {
238	timeout-sec = <60>;
239	status = "okay";
240};
241
242&scif0 {
243	pinctrl-0 = <&scif0_pins>;
244	pinctrl-names = "default";
245
246	status = "okay";
247};
248
249&scifb1 {
250	pinctrl-0 = <&scifb1_pins>;
251	pinctrl-names = "default";
252
253	uart-has-rtscts;
254	status = "okay";
255};
256
257&sdhi1 {
258	pinctrl-0 = <&sdhi1_pins>;
259	pinctrl-1 = <&sdhi1_pins_uhs>;
260	pinctrl-names = "default", "state_uhs";
261
262	vmmc-supply = <&vcc_sdhi1>;
263	vqmmc-supply = <&vccq_sdhi1>;
264	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
265	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
266	sd-uhs-sdr50;
267	status = "okay";
268};
269
270&ssi1 {
271	shared-pin;
272};
273
274&usbphy {
275	status = "okay";
276};