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-RZG1E SODIMM 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/dts-v1/;
 32#include "r8a7745-iwg22m.dtsi"
 33#include <dt-bindings/pwm/pwm.h>
 34
 35/ {
 36	model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
 37	compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
 38
 39	aliases {
 40		ethernet0 = &avb;
 41		serial3 = &scif4;
 42		serial5 = &hscif1;
 43	};
 44
 45	chosen {
 46		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
 47		stdout-path = "serial3:115200n8";
 48	};
 49
 50	audio_clock: audio_clock {
 51		compatible = "fixed-clock";
 52		#clock-cells = <0>;
 53		clock-frequency = <26000000>;
 54	};
 55
 56	backlight_lcd: backlight {
 57		compatible = "pwm-backlight";
 58		pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>;
 59		brightness-levels = <0 4 8 16 32 64 128 255>;
 60		default-brightness-level = <7>;
 61	};
 62
 63	lcd_panel: lcd {
 64		compatible = "edt,etm043080dh6gp";
 65		power-supply = <&vccq_panel>;
 66		backlight = <&backlight_lcd>;
 67
 68		port {
 69			lcd_in: endpoint {
 70				remote-endpoint = <&du_out_rgb0>;
 71			};
 72		};
 73	};
 74
 75	vccq_panel: regulator-vccq-panel {
 76		compatible = "regulator-fixed";
 77		regulator-name = "Panel VccQ";
 78		regulator-min-microvolt = <3300000>;
 79		regulator-max-microvolt = <3300000>;
 80		gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
 81		enable-active-high;
 82	};
 83
 84	vccq_sdhi0: regulator-vccq-sdhi0 {
 85		compatible = "regulator-gpio";
 86
 87		regulator-name = "SDHI0 VccQ";
 88		regulator-min-microvolt = <1800000>;
 89		regulator-max-microvolt = <3300000>;
 90
 91		gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
 92		gpios-states = <1>;
 93		states = <3300000 1>, <1800000 0>;
 94	};
 95
 96	rsnd_sgtl5000: sound {
 97		compatible = "simple-audio-card";
 98		simple-audio-card,format = "i2s";
 99		simple-audio-card,bitclock-master = <&sndcodec>;
100		simple-audio-card,frame-master = <&sndcodec>;
101
102		sndcpu: simple-audio-card,cpu {
103			sound-dai = <&rcar_sound>;
104		};
105
106		sndcodec: simple-audio-card,codec {
107			sound-dai = <&sgtl5000>;
108		};
109	};
 
 
 
 
 
 
 
 
 
 
 
 
 
110};
111
112&avb {
113	pinctrl-0 = <&avb_pins>;
114	pinctrl-names = "default";
115
116	phy-handle = <&phy3>;
117	phy-mode = "gmii";
118	renesas,no-ether-link;
119	status = "okay";
120
121	phy3: ethernet-phy@3 {
122	/*
123	 * On some older versions of the platform (before R4.0) the phy address
124	 * may be 1 or 3. The address is fixed to 3 for R4.0 onwards.
125	 */
126		reg = <3>;
127		micrel,led-mode = <1>;
128	};
129};
130
131&can0 {
132	pinctrl-0 = <&can0_pins>;
133	pinctrl-names = "default";
134
135	status = "okay";
136};
137
138&du {
139	pinctrl-0 = <&du0_pins>;
140	pinctrl-names = "default";
141
142	status = "okay";
143
144	ports {
145		port@0 {
146			endpoint {
147				remote-endpoint = <&lcd_in>;
148			};
149		};
150	};
151};
152
153&hscif1 {
154	pinctrl-0 = <&hscif1_pins>;
155	pinctrl-names = "default";
156
157	uart-has-rtscts;
158	status = "okay";
159};
160
161&hsusb {
162	status = "okay";
163	pinctrl-0 = <&usb0_pins>;
164	pinctrl-names = "default";
165};
166
167&i2c5 {
168	pinctrl-0 = <&i2c5_pins>;
169	pinctrl-names = "default";
170
171	status = "okay";
172	clock-frequency = <400000>;
173
174	sgtl5000: codec@a {
175		compatible = "fsl,sgtl5000";
176		#sound-dai-cells = <0>;
177		reg = <0x0a>;
178		clocks = <&audio_clock>;
179		VDDA-supply = <&reg_3p3v>;
180		VDDIO-supply = <&reg_3p3v>;
181	};
182
183	stmpe811@44 {
184		compatible = "st,stmpe811";
185		reg = <0x44>;
186		interrupt-parent = <&gpio4>;
187		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
188
189		/* 3.25 MHz ADC clock speed */
190		st,adc-freq = <1>;
191		/* ADC conversion time: 80 clocks */
192		st,sample-time = <4>;
193		/* 12-bit ADC */
194		st,mod-12b = <1>;
195		/* internal ADC reference */
196		st,ref-sel = <0>;
197
198		stmpe_touchscreen {
199			compatible = "st,stmpe-ts";
200			/* 8 sample average control */
201			st,ave-ctrl = <3>;
202			/* 7 length fractional part in z */
203			st,fraction-z = <7>;
204			/*
205			 * 50 mA typical 80 mA max touchscreen drivers
206			 * current limit value
207			 */
208			st,i-drive = <1>;
209			/* 1 ms panel driver settling time */
210			st,settling = <3>;
211			/* 5 ms touch detect interrupt delay */
212			st,touch-det-delay = <5>;
213		};
214	};
215};
216
217&pci1 {
218	status = "okay";
219	pinctrl-0 = <&usb1_pins>;
220	pinctrl-names = "default";
221};
222
223&pfc {
224	avb_pins: avb {
225		groups = "avb_mdio", "avb_gmii";
226		function = "avb";
227	};
228
229	backlight_pins: backlight {
230		groups = "tpu_to3_c";
231		function = "tpu";
232	};
233
234	can0_pins: can0 {
235		groups = "can0_data";
236		function = "can0";
237	};
238
239	du0_pins: du0 {
240		groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out";
241		function = "du0";
242	};
243
244	hscif1_pins: hscif1 {
245		groups = "hscif1_data", "hscif1_ctrl";
246		function = "hscif1";
247	};
248
249	i2c5_pins: i2c5 {
250		groups = "i2c5_b";
251		function = "i2c5";
252	};
253
254	scif4_pins: scif4 {
255		groups = "scif4_data_b";
256		function = "scif4";
257	};
258
259	sdhi0_pins: sd0 {
260		groups = "sdhi0_data4", "sdhi0_ctrl";
261		function = "sdhi0";
262		power-source = <3300>;
263	};
264
265	sound_pins: sound {
266		groups = "ssi34_ctrl", "ssi3_data", "ssi4_data";
267		function = "ssi";
268	};
269
270	usb0_pins: usb0 {
271		groups = "usb0";
272		function = "usb0";
273	};
274
275	usb1_pins: usb1 {
276		groups = "usb1";
277		function = "usb1";
278	};
279};
280
281&rcar_sound {
282	pinctrl-0 = <&sound_pins>;
283	pinctrl-names = "default";
284	status = "okay";
285
286	/* Single DAI */
287
288	#sound-dai-cells = <0>;
289
290	rcar_sound,dai {
291		dai0 {
292			playback = <&ssi3>, <&src3>, <&dvc0>;
293			capture = <&ssi4>, <&src4>, <&dvc1>;
294		};
295	};
296};
297
298&scif4 {
299	pinctrl-0 = <&scif4_pins>;
300	pinctrl-names = "default";
301
302	status = "okay";
303};
304
305&sdhi0 {
306	pinctrl-0 = <&sdhi0_pins>;
307	pinctrl-names = "default";
308
309	vmmc-supply = <&reg_3p3v>;
310	vqmmc-supply = <&vccq_sdhi0>;
311	cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
312	status = "okay";
313};
314
315&ssi4 {
316	shared-pin;
317};
318
319&tpu {
320	pinctrl-0 = <&backlight_pins>;
321	pinctrl-names = "default";
322	status = "okay";
323};
324
325&usbphy {
326	status = "okay";
327};
v4.17
 
  1/*
  2 * Device Tree Source for the iWave-RZG1E SODIMM carrier board
  3 *
  4 * Copyright (C) 2017 Renesas Electronics Corp.
  5 *
  6 * This file is licensed under the terms of the GNU General Public License
  7 * version 2.  This program is licensed "as is" without any warranty of any
  8 * kind, whether express or implied.
  9 */
 10
 11/*
 12 * SSI-SGTL5000
 13 *
 14 * This command is required when Playback/Capture
 15 *
 16 *      amixer set "DVC Out" 100%
 17 *      amixer set "DVC In" 100%
 18 *
 19 * You can use Mute
 20 *
 21 *      amixer set "DVC Out Mute" on
 22 *      amixer set "DVC In Mute" on
 23 *
 24 * You can use Volume Ramp
 25 *
 26 *      amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
 27 *      amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
 28 *      amixer set "DVC Out Ramp" on
 29 *      aplay xxx.wav &
 30 *      amixer set "DVC Out"  80%  // Volume Down
 31 *      amixer set "DVC Out" 100%  // Volume Up
 32 */
 33
 34/dts-v1/;
 35#include "r8a7745-iwg22m.dtsi"
 
 36
 37/ {
 38	model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
 39	compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
 40
 41	aliases {
 42		ethernet0 = &avb;
 43		serial3 = &scif4;
 44		serial5 = &hscif1;
 45	};
 46
 47	chosen {
 48		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
 49		stdout-path = "serial3:115200n8";
 50	};
 51
 52	audio_clock: audio_clock {
 53		compatible = "fixed-clock";
 54		#clock-cells = <0>;
 55		clock-frequency = <26000000>;
 56	};
 57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 58	rsnd_sgtl5000: sound {
 59		compatible = "simple-audio-card";
 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	vccq_sdhi0: regulator-vccq-sdhi0 {
 74		compatible = "regulator-gpio";
 75
 76		regulator-name = "SDHI0 VccQ";
 77		regulator-min-microvolt = <1800000>;
 78		regulator-max-microvolt = <3300000>;
 79
 80		gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
 81		gpios-states = <1>;
 82		states = <3300000 1
 83			  1800000 0>;
 84	};
 85};
 86
 87&avb {
 88	pinctrl-0 = <&avb_pins>;
 89	pinctrl-names = "default";
 90
 91	phy-handle = <&phy3>;
 92	phy-mode = "gmii";
 93	renesas,no-ether-link;
 94	status = "okay";
 95
 96	phy3: ethernet-phy@3 {
 97	/*
 98	 * On some older versions of the platform (before R4.0) the phy address
 99	 * may be 1 or 3. The address is fixed to 3 for R4.0 onwards.
100	 */
101		reg = <3>;
102		micrel,led-mode = <1>;
103	};
104};
105
106&can0 {
107	pinctrl-0 = <&can0_pins>;
108	pinctrl-names = "default";
109
110	status = "okay";
111};
112
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113&hscif1 {
114	pinctrl-0 = <&hscif1_pins>;
115	pinctrl-names = "default";
116
117	uart-has-rtscts;
118	status = "okay";
119};
120
121&hsusb {
122	status = "okay";
123	pinctrl-0 = <&usb0_pins>;
124	pinctrl-names = "default";
125};
126
127&i2c5 {
128	pinctrl-0 = <&i2c5_pins>;
129	pinctrl-names = "default";
130
131	status = "okay";
132	clock-frequency = <400000>;
133
134	sgtl5000: codec@a {
135		compatible = "fsl,sgtl5000";
136		#sound-dai-cells = <0>;
137		reg = <0x0a>;
138		clocks = <&audio_clock>;
139		VDDA-supply = <&reg_3p3v>;
140		VDDIO-supply = <&reg_3p3v>;
141	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142};
143
144&pci1 {
145	status = "okay";
146	pinctrl-0 = <&usb1_pins>;
147	pinctrl-names = "default";
148};
149
150&pfc {
151	avb_pins: avb {
152		groups = "avb_mdio", "avb_gmii";
153		function = "avb";
154	};
155
 
 
 
 
 
156	can0_pins: can0 {
157		groups = "can0_data";
158		function = "can0";
159	};
160
 
 
 
 
 
161	hscif1_pins: hscif1 {
162		groups = "hscif1_data", "hscif1_ctrl";
163		function = "hscif1";
164	};
165
166	i2c5_pins: i2c5 {
167		groups = "i2c5_b";
168		function = "i2c5";
169	};
170
171	scif4_pins: scif4 {
172		groups = "scif4_data_b";
173		function = "scif4";
174	};
175
176	sdhi0_pins: sd0 {
177		groups = "sdhi0_data4", "sdhi0_ctrl";
178		function = "sdhi0";
179		power-source = <3300>;
180	};
181
182	sound_pins: sound {
183		groups = "ssi34_ctrl", "ssi3_data", "ssi4_data";
184		function = "ssi";
185	};
186
187	usb0_pins: usb0 {
188		groups = "usb0";
189		function = "usb0";
190	};
191
192	usb1_pins: usb1 {
193		groups = "usb1";
194		function = "usb1";
195	};
196};
197
198&rcar_sound {
199	pinctrl-0 = <&sound_pins>;
200	pinctrl-names = "default";
201	status = "okay";
202
203	/* Single DAI */
204
205	#sound-dai-cells = <0>;
206
207	rcar_sound,dai {
208		dai0 {
209			playback = <&ssi3 &src3 &dvc0>;
210			capture = <&ssi4 &src4 &dvc1>;
211		};
212	};
213};
214
215&scif4 {
216	pinctrl-0 = <&scif4_pins>;
217	pinctrl-names = "default";
218
219	status = "okay";
220};
221
222&sdhi0 {
223	pinctrl-0 = <&sdhi0_pins>;
224	pinctrl-names = "default";
225
226	vmmc-supply = <&reg_3p3v>;
227	vqmmc-supply = <&vccq_sdhi0>;
228	cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
229	status = "okay";
230};
231
232&ssi4 {
233	shared-pin;
 
 
 
 
 
 
234};
235
236&usbphy {
237	status = "okay";
238};