Linux Audio

Check our new training course

Loading...
v4.17
  1// SPDX-License-Identifier: GPL-2.0+
  2/*
  3 * at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board
  4 *
  5 * Copyright (C) 2017 Axentia Technologies AB
  6 *
  7 * Author: Peter Rosin <peda@axentia.se>
  8 */
  9/dts-v1/;
 10#include "at91-linea.dtsi"
 11#include "sama5d3_lcd.dtsi"
 12#include "at91-natte.dtsi"
 13
 14/ {
 15	model = "Axentia Linea-Nattis v2 Natte v2";
 16	compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
 17		     "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
 18
 19	ahb {
 20		apb {
 21			pinctrl@fffff200 {
 22				nattis {
 23					pinctrl_usba_vbus: usba_vbus {
 24						atmel,pins =
 25							<AT91_PIOD 28
 26							 AT91_PERIPH_GPIO
 27							 AT91_PINCTRL_DEGLITCH>;
 28					};
 29
 30					pinctrl_mmc0_cd: mmc0_cd {
 31						atmel,pins =
 32							<AT91_PIOD 5
 33							 AT91_PERIPH_GPIO
 34							 AT91_PINCTRL_PULL_UP_DEGLITCH>;
 35					};
 36
 37					pinctrl_lcd_prlud0: lcd_prlud0 {
 38						atmel,pins =
 39							<AT91_PIOA 21
 40							 AT91_PERIPH_GPIO
 41							 AT91_PINCTRL_OUTPUT_VAL(0)>;
 42					};
 43
 44					pinctrl_lcd_hipow0: lcd_hipow0 {
 45						atmel,pins =
 46							<AT91_PIOA 23
 47							 AT91_PERIPH_GPIO
 48							 AT91_PINCTRL_OUTPUT_VAL(0)>;
 49					};
 50				};
 51			};
 52
 53			watchdog@fffffe40 {
 54				status = "okay";
 55			};
 56		};
 57	};
 58
 59	gpio-keys {
 60		compatible = "gpio-keys";
 61
 62		wakeup {
 63			label = "Wakeup";
 64			linux,code = <10>;
 65			gpio-key,wakeup;
 66			gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
 67		};
 68	};
 69
 70	panel_reg: panel-regulator {
 71		compatible = "regulator-fixed";
 72		regulator-name = "panel-VCC";
 73		regulator-min-microvolt = <3300000>;
 74		regulator-max-microvolt = <3300000>;
 75	};
 76
 77	bl_reg: backlight-regulator {
 78		compatible = "regulator-fixed";
 79		regulator-name = "panel-VDD";
 80		regulator-min-microvolt = <12000000>;
 81		regulator-max-microvolt = <12000000>;
 82	};
 83
 84	panel_bl: backlight {
 85		compatible = "pwm-backlight";
 86		pwms = <&hlcdc_pwm 0 100000 0>;
 87
 88		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
 89				     10 11 12 13 14 15 16 17 18 19
 90				     20 21 22 23 24 25 26 27 28 29
 91				     30 31 32 33 34 35 36 37 38 39
 92				     40 41 42 43 44 45 46 47 48 49
 93				     50 51 52 53 54 55 56 57 58 59
 94				     60 61 62 63 64 65 66 67 68 69
 95				     70 71 72 73 74 75 76 77 78 79
 96				     80 81 82 83 84 85 86 87 88 89
 97				     90 91 92 93 94 95 96 97 98 99
 98				    100>;
 99		default-brightness-level = <40>;
100
101		power-supply = <&bl_reg>;
102		enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
 
 
103	};
104
105	panel: panel {
106		compatible = "sharp,lq150x1lg11";
 
107		backlight = <&panel_bl>;
108		power-supply = <&panel_reg>;
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110		port {
111			panel_input: endpoint {
112				remote-endpoint = <&lvds_encoder_output>;
113			};
114		};
115	};
116
117	lvds-encoder {
118		compatible = "lvds-encoder";
 
 
 
119
120		ports {
121			#address-cells = <1>;
122			#size-cells = <0>;
123
124			port@0 {
125				reg = <0>;
126
127				lvds_encoder_input: endpoint {
128					remote-endpoint = <&hlcdc_output>;
129				};
130			};
131
132			port@1 {
133				reg = <1>;
134
135				lvds_encoder_output: endpoint {
136					remote-endpoint = <&panel_input>;
137				};
138			};
139		};
140	};
141
142	sound {
143		compatible = "simple-audio-card";
144
145		simple-audio-card,name = "nattis-tfa9879";
146		simple-audio-card,format = "i2s";
147		simple-audio-card,bitclock-master = <&cpu_dai>;
148		simple-audio-card,frame-master = <&cpu_dai>;
149		simple-audio-card,widgets = "Line", "Line Out Jack";
150		simple-audio-card,routing = "Line Out Jack", "LINEOUT";
151
152		cpu_dai: simple-audio-card,cpu {
153			sound-dai = <&ssc0>;
154		};
155
156		simple-audio-card,codec {
157			sound-dai = <&amp>;
158		};
159	};
160};
161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162&i2c0 {
163	status = "okay";
164
165	clock-frequency = <100000>;
166
167	temp@18 {
168		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
169		reg = <0x18>;
170		smbus-timeout-disable;
171	};
172
173	eeprom@50 {
174		compatible = "nxp,se97b", "atmel,24c02";
175		reg = <0x50>;
176		pagesize = <16>;
177	};
178
179	amp: amplifier@6c {
180		 compatible = "nxp,tfa9879";
181		 reg = <0x6c>;
182		 #sound-dai-cells = <0>;
183	};
184};
185
186&ssc0 {
187	status = "okay";
188
189	atmel,clk-from-rk-pin;
190	#sound-dai-cells = <0>;
191};
192
193&hlcdc {
194	status = "okay";
195
196	hlcdc-display-controller {
197		pinctrl-names = "default";
198		pinctrl-0 = <&pinctrl_lcd_base
199			     &pinctrl_lcd_rgb565
200			     &pinctrl_lcd_prlud0
201			     &pinctrl_lcd_hipow0>;
202
203		port@0 {
204			hlcdc_output: endpoint {
205				remote-endpoint = <&lvds_encoder_input>;
 
206			};
207		};
208	};
209};
210
211&mmc0 {
212	status = "okay";
213
214	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
215		     &pinctrl_mmc0_dat1_3
216		     &pinctrl_mmc0_cd>;
217
218	slot@0 {
219		reg = <0>;
220		bus-width = <4>;
221		cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
 
222	};
223};
224
225&usart0 {
226	status = "okay";
227
228	pinctrl-names = "default";
229	pinctrl-0 = <&pinctrl_usart0>;
230	atmel,use-dma-rx;
231};
232
233&nand {
234	partitions {
235		compatible = "fixed-partitions";
236		#address-cells = <1>;
237		#size-cells = <1>;
238
239		at91bootstrap@0 {
240			label = "at91bootstrap";
241			reg = <0x0 0x40000>;
242		};
243
244		barebox@40000 {
245			label = "barebox";
246			reg = <0x40000 0x60000>;
247		};
248
249		bareboxenv@c0000 {
250			label = "bareboxenv";
251			reg = <0xc0000 0x40000>;
252		};
253
254		bareboxenv2@100000 {
255			label = "bareboxenv2";
256			reg = <0x100000 0x40000>;
257		};
258
259		oftree@180000 {
260			label = "oftree";
261			reg = <0x180000 0x20000>;
262		};
263
264		kernel@200000 {
265			label = "kernel";
266			reg = <0x200000 0x500000>;
267		};
268
269		rootfs@800000 {
270			label = "rootfs";
271			reg = <0x800000 0x1f800000>;
272		};
273	};
274};
275
276&dbgu {
277	status = "okay";
278
279	atmel,use-dma-rx;
280};
281
282&usb0 {
283	status = "okay";
284
285	atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
286	pinctrl-names = "default";
287	pinctrl-0 = <&pinctrl_usba_vbus>;
288};
v5.4
  1// SPDX-License-Identifier: GPL-2.0+
  2/*
  3 * at91-nattis-2-natte-2.dts - Device Tree file for the Linea/Nattis board
  4 *
  5 * Copyright (C) 2017 Axentia Technologies AB
  6 *
  7 * Author: Peter Rosin <peda@axentia.se>
  8 */
  9/dts-v1/;
 10#include "at91-linea.dtsi"
 11#include "sama5d3_lcd.dtsi"
 12#include "at91-natte.dtsi"
 13
 14/ {
 15	model = "Axentia Linea-Nattis v2 Natte v2";
 16	compatible = "axentia,nattis-2", "axentia,natte-2", "axentia,linea",
 17		     "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
 18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 19	gpio-keys {
 20		compatible = "gpio-keys";
 21
 22		wakeup {
 23			label = "Wakeup";
 24			linux,code = <10>;
 25			wakeup-source;
 26			gpios = <&pioB 27 GPIO_ACTIVE_LOW>;
 27		};
 28	};
 29
 30	panel_reg: panel-regulator {
 31		compatible = "regulator-fixed";
 32		regulator-name = "panel-VCC";
 33		regulator-min-microvolt = <3300000>;
 34		regulator-max-microvolt = <3300000>;
 35	};
 36
 37	bl_reg: backlight-regulator {
 38		compatible = "regulator-fixed";
 39		regulator-name = "panel-VDD";
 40		regulator-min-microvolt = <12000000>;
 41		regulator-max-microvolt = <12000000>;
 42	};
 43
 44	panel_bl: backlight {
 45		compatible = "pwm-backlight";
 46		pwms = <&hlcdc_pwm 0 100000 0>;
 47
 48		brightness-levels = < 0  1  2  3  4  5  6  7  8  9
 49				     10 11 12 13 14 15 16 17 18 19
 50				     20 21 22 23 24 25 26 27 28 29
 51				     30 31 32 33 34 35 36 37 38 39
 52				     40 41 42 43 44 45 46 47 48 49
 53				     50 51 52 53 54 55 56 57 58 59
 54				     60 61 62 63 64 65 66 67 68 69
 55				     70 71 72 73 74 75 76 77 78 79
 56				     80 81 82 83 84 85 86 87 88 89
 57				     90 91 92 93 94 95 96 97 98 99
 58				    100>;
 59		default-brightness-level = <40>;
 60
 61		power-supply = <&bl_reg>;
 62		enable-gpios = <&pioA 20 GPIO_ACTIVE_HIGH>;
 63		pinctrl-names = "default";
 64		pinctrl-0 = <&pinctrl_blon>;
 65	};
 66
 67	panel: panel {
 68		compatible = "sharp,lq150x1lg11", "panel-lvds";
 69
 70		backlight = <&panel_bl>;
 71		power-supply = <&panel_reg>;
 72
 73		width-mm = <304>;
 74		height-mm = <228>;
 75
 76		data-mapping = "jeida-18";
 77
 78		panel-timing {
 79			// 1024x768 @ 60Hz (typical)
 80			clock-frequency = <50000000 65000000 80000000>;
 81			hactive = <1024>;
 82			vactive = <768>;
 83			hfront-porch = <48 88 88>;
 84			hback-porch = <96 168 168>;
 85			hsync-len = <32 64 64>;
 86			vsync-len = <3 13 74>;
 87			vfront-porch = <3 13 74>;
 88			vback-porch = <3 12 74>;
 89		};
 90
 91		port {
 92			panel_input: endpoint {
 93				remote-endpoint = <&lvds_encoder_output>;
 94			};
 95		};
 96	};
 97
 98	lvds-encoder {
 99		compatible = "ti,ds90c185", "lvds-encoder";
100
101		pinctrl-names = "default";
102		pinctrl-0 = <&pinctrl_lvds_prlud0 &pinctrl_lvds_hipow0>;
103
104		ports {
105			#address-cells = <1>;
106			#size-cells = <0>;
107
108			port@0 {
109				reg = <0>;
110
111				lvds_encoder_input: endpoint {
112					remote-endpoint = <&hlcdc_output>;
113				};
114			};
115
116			port@1 {
117				reg = <1>;
118
119				lvds_encoder_output: endpoint {
120					remote-endpoint = <&panel_input>;
121				};
122			};
123		};
124	};
125
126	sound {
127		compatible = "simple-audio-card";
128
129		simple-audio-card,name = "nattis-tfa9879";
130		simple-audio-card,format = "i2s";
131		simple-audio-card,bitclock-master = <&cpu_dai>;
132		simple-audio-card,frame-master = <&cpu_dai>;
133		simple-audio-card,widgets = "Line", "Line Out Jack";
134		simple-audio-card,routing = "Line Out Jack", "LINEOUT";
135
136		cpu_dai: simple-audio-card,cpu {
137			sound-dai = <&ssc0>;
138		};
139
140		simple-audio-card,codec {
141			sound-dai = <&amp>;
142		};
143	};
144};
145
146&pinctrl {
147	nattis {
148		pinctrl_usba_vbus: usba_vbus {
149			atmel,pins = <AT91_PIOD 28 AT91_PERIPH_GPIO
150				      AT91_PINCTRL_DEGLITCH>;
151		};
152
153		pinctrl_mmc0_cd: mmc0_cd {
154			atmel,pins = <AT91_PIOD  5 AT91_PERIPH_GPIO
155				      AT91_PINCTRL_PULL_UP_DEGLITCH>;
156		};
157
158		pinctrl_lvds_prlud0: lvds_prlud0 {
159			atmel,pins = <AT91_PIOA 21 AT91_PERIPH_GPIO
160				      (AT91_PINCTRL_OUTPUT |
161				       AT91_PINCTRL_OUTPUT_VAL(0))>;
162		};
163
164		pinctrl_lvds_hipow0: lvds_hipow0 {
165			atmel,pins = <AT91_PIOA 23 AT91_PERIPH_GPIO
166				      (AT91_PINCTRL_OUTPUT |
167				       AT91_PINCTRL_OUTPUT_VAL(0))>;
168		};
169
170		pinctrl_blon: blon {
171			atmel,pins = <AT91_PIOA 20 AT91_PERIPH_GPIO
172				      (AT91_PINCTRL_OUTPUT |
173				       AT91_PINCTRL_OUTPUT_VAL(0))>;
174		};
175	};
176};
177
178&watchdog {
179	status = "okay";
180};
181
182&i2c0 {
183	status = "okay";
184
185	clock-frequency = <100000>;
186
187	temp@18 {
188		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
189		reg = <0x18>;
190		smbus-timeout-disable;
191	};
192
193	eeprom@50 {
194		compatible = "nxp,se97b", "atmel,24c02";
195		reg = <0x50>;
196		pagesize = <16>;
197	};
198
199	amp: amplifier@6c {
200		 compatible = "nxp,tfa9879";
201		 reg = <0x6c>;
202		 #sound-dai-cells = <0>;
203	};
204};
205
206&ssc0 {
207	status = "okay";
208
209	atmel,clk-from-rk-pin;
210	#sound-dai-cells = <0>;
211};
212
213&hlcdc {
214	status = "okay";
215
216	hlcdc-display-controller {
217		pinctrl-names = "default";
218		pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
 
 
 
219
220		port@0 {
221			hlcdc_output: endpoint {
222				remote-endpoint = <&lvds_encoder_input>;
223				bus-width = <16>;
224			};
225		};
226	};
227};
228
229&mmc0 {
230	status = "okay";
231
232	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0
233		     &pinctrl_mmc0_dat1_3
234		     &pinctrl_mmc0_cd>;
235
236	slot@0 {
237		reg = <0>;
238		bus-width = <4>;
239		cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
240		cd-inverted;
241	};
242};
243
244&usart0 {
245	status = "okay";
246
247	pinctrl-names = "default";
248	pinctrl-0 = <&pinctrl_usart0>;
249	atmel,use-dma-rx;
250};
251
252&nand {
253	partitions {
254		compatible = "fixed-partitions";
255		#address-cells = <1>;
256		#size-cells = <1>;
257
258		at91bootstrap@0 {
259			label = "at91bootstrap";
260			reg = <0x0 0x40000>;
261		};
262
263		barebox@40000 {
264			label = "barebox";
265			reg = <0x40000 0x60000>;
266		};
267
268		bareboxenv@c0000 {
269			label = "bareboxenv";
270			reg = <0xc0000 0x40000>;
271		};
272
273		bareboxenv2@100000 {
274			label = "bareboxenv2";
275			reg = <0x100000 0x40000>;
276		};
277
278		oftree@180000 {
279			label = "oftree";
280			reg = <0x180000 0x20000>;
281		};
282
283		kernel@200000 {
284			label = "kernel";
285			reg = <0x200000 0x500000>;
286		};
287
288		rootfs@800000 {
289			label = "rootfs";
290			reg = <0x800000 0x1f800000>;
291		};
292	};
293};
294
295&dbgu {
296	status = "okay";
297
298	atmel,use-dma-rx;
299};
300
301&usb0 {
302	status = "okay";
303
304	atmel,vbus-gpio = <&pioD 28 GPIO_ACTIVE_HIGH>;
305	pinctrl-names = "default";
306	pinctrl-0 = <&pinctrl_usba_vbus>;
307};