Linux Audio

Check our new training course

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