Linux Audio

Check our new training course

Buildroot integration, development and maintenance

Need a Buildroot system for your embedded project?
Loading...
v4.17
 
  1/*
  2 * Copyright 2014 Linaro Ltd.
  3 *
  4 * The code contained herein is licensed under the GNU General Public
  5 * License. You may obtain a copy of the GNU General Public License
  6 * Version 2 or later at the following locations:
  7 *
  8 * http://www.opensource.org/licenses/gpl-license.html
  9 * http://www.gnu.org/copyleft/gpl.html
 10 */
 11
 
 
 12/ {
 13	soc {
 14		prcmu@80157000 {
 15			ab8500 {
 16				ab8500-gpio {
 17					/* Hog a few default settings */
 18					pinctrl-names = "default";
 19					pinctrl-0 = <&gpio2_default_mode>,
 20						    <&gpio4_default_mode>,
 21						    <&gpio10_default_mode>,
 22						    <&gpio11_default_mode>,
 23						    <&gpio12_default_mode>,
 24						    <&gpio13_default_mode>,
 25						    <&gpio16_default_mode>,
 26						    <&gpio24_default_mode>,
 27						    <&gpio25_default_mode>,
 28						    <&gpio36_default_mode>,
 29						    <&gpio37_default_mode>,
 30						    <&gpio38_default_mode>,
 31						    <&gpio39_default_mode>,
 32						    <&gpio42_default_mode>,
 33						    <&gpio26_default_mode>,
 34						    <&gpio35_default_mode>,
 35						    <&ycbcr_default_mode>,
 36						    <&pwm_default_mode>,
 37						    <&adi1_default_mode>,
 38						    <&usbuicc_default_mode>,
 39						    <&dmic_default_mode>,
 40						    <&extcpena_default_mode>,
 41						    <&modsclsda_default_mode>;
 42
 43					/*
 44					 * Pins 2, 4, 10, 11, 12, 13, 16, 24, 25, 36, 37, 38, 39 and 42
 45					 * are muxed in as GPIO, and configured as INPUT PULL DOWN
 46					 */
 47					gpio2 {
 48						gpio2_default_mode: gpio2_default {
 49							default_mux {
 50								function = "gpio";
 51								groups = "gpio2_a_1";
 52							};
 53							default_cfg {
 54								pins = "GPIO2_T9";
 55								input-enable;
 56								bias-pull-down;
 57							};
 58						};
 59					};
 60					gpio4 {
 61						gpio4_default_mode: gpio4_default {
 62							default_mux {
 63								function = "gpio";
 64								groups = "gpio4_a_1";
 65							};
 66							default_cfg {
 67								pins = "GPIO4_W2";
 68								input-enable;
 69								bias-pull-down;
 70							};
 71						};
 72					};
 73					gpio10 {
 74						gpio10_default_mode: gpio10_default {
 75							default_mux {
 76								function = "gpio";
 77								groups = "gpio10_d_1";
 78							};
 79							default_cfg {
 80								pins = "GPIO10_U17";
 81								input-enable;
 82								bias-pull-down;
 83							};
 84						};
 85					};
 86					gpio11 {
 87						gpio11_default_mode: gpio11_default {
 88							default_mux {
 89								function = "gpio";
 90								groups = "gpio11_d_1";
 91							};
 92							default_cfg {
 93								pins = "GPIO11_AA18";
 94								input-enable;
 95								bias-pull-down;
 96							};
 97						};
 98					};
 99					gpio12 {
100						gpio12_default_mode: gpio12_default {
101							default_mux {
102								function = "gpio";
103								groups = "gpio12_d_1";
104							};
105							default_cfg {
106								pins = "GPIO12_U16";
107								input-enable;
108								bias-pull-down;
109							};
110						};
111					};
112					gpio13 {
113						gpio13_default_mode: gpio13_default {
114							default_mux {
115								function = "gpio";
116								groups = "gpio13_d_1";
117							};
118							default_cfg {
119								pins = "GPIO13_W17";
120								input-enable;
121								bias-pull-down;
122							};
123						};
124					};
125					gpio16 {
126						gpio16_default_mode: gpio16_default {
127							default_mux {
128								function = "gpio";
129								groups = "gpio16_a_1";
130							};
131							default_cfg {
132								pins = "GPIO16_F15";
133								input-enable;
134								bias-pull-down;
135							};
136						};
137					};
138					gpio24 {
139						gpio24_default_mode: gpio24_default {
140							default_mux {
141								function = "gpio";
142								groups = "gpio24_a_1";
143							};
144							default_cfg {
145								pins = "GPIO24_T14";
146								input-enable;
147								bias-pull-down;
148							};
149						};
150					};
151					gpio25 {
152						gpio25_default_mode: gpio25_default {
153							default_mux {
154								function = "gpio";
155								groups = "gpio25_a_1";
156							};
157							default_cfg {
158								pins = "GPIO25_R16";
159								input-enable;
160								bias-pull-down;
161							};
162						};
163					};
164					gpio36 {
165						gpio36_default_mode: gpio36_default {
166							default_mux {
167								function = "gpio";
168								groups = "gpio36_a_1";
169							};
170							default_cfg {
171								pins = "GPIO36_A17";
172								input-enable;
173								bias-pull-down;
174							};
175						};
176					};
177					gpio37 {
178						gpio37_default_mode: gpio37_default {
179							default_mux {
180								function = "gpio";
181								groups = "gpio37_a_1";
182							};
183							default_cfg {
184								pins = "GPIO37_E15";
185								input-enable;
186								bias-pull-down;
187							};
188						};
189					};
190					gpio38 {
191						gpio38_default_mode: gpio38_default {
192							default_mux {
193								function = "gpio";
194								groups = "gpio38_a_1";
195							};
196							default_cfg {
197								pins = "GPIO38_C17";
198								input-enable;
199								bias-pull-down;
200							};
201						};
202					};
203					gpio39 {
204						gpio39_default_mode: gpio39_default {
205							default_mux {
206								function = "gpio";
207								groups = "gpio39_a_1";
208							};
209							default_cfg {
210								pins = "GPIO39_E16";
211								input-enable;
212								bias-pull-down;
213							};
214						};
215					};
216					gpio42 {
217						gpio42_default_mode: gpio42_default {
218							default_mux {
219								function = "gpio";
220								groups = "gpio42_a_1";
221							};
222							default_cfg {
223								pins = "GPIO42_U2";
224								input-enable;
225								bias-pull-down;
226							};
227						};
228					};
229					/*
230					 * Pins 26 and 35 muxed in as GPIO, and configured as OUTPUT LOW
231					 */
232					gpio26 {
233						gpio26_default_mode: gpio26_default {
234							default_mux {
235								function = "gpio";
236								groups = "gpio26_d_1";
237							};
238							default_cfg {
239								pins = "GPIO26_M16";
240								output-low;
241							};
242						};
243					};
244					gpio35 {
245						gpio35_default_mode: gpio35_default {
246							default_mux {
247								function = "gpio";
248								groups = "gpio35_d_1";
249							};
250							default_cfg {
251								pins = "GPIO35_W15";
252								output-low;
253							};
254						};
255					};
256					/*
257					 * This sets up the YCBCR connector pins, i.e. analog video out.
258					 * Set as input with no bias.
259					 */
260					ycbcr {
261						ycbcr_default_mode: ycbcr_default {
262							default_mux {
263								function = "ycbcr";
264								groups = "ycbcr0123_d_1";
265							};
266							default_cfg {
267								pins = "GPIO6_Y18",
268									 "GPIO7_AA20",
269									 "GPIO8_W18",
270									 "GPIO9_AA19";
271								input-enable;
272								bias-disable;
273							};
274						};
275					};
276					/* This sets up the PWM pins 14 and 15 */
277					pwm {
278						pwm_default_mode: pwm_default {
279							default_mux {
280								function = "pwmout";
281								groups = "pwmout1_d_1", "pwmout2_d_1";
282							};
283							default_cfg {
284								pins = "GPIO14_F14",
285									 "GPIO15_B17";
286								input-enable;
287								bias-pull-down;
288							};
289						};
290					};
291					/* This sets up audio interface 1 */
292					adi1 {
293						adi1_default_mode: adi1_default {
294							default_mux {
295								function = "adi1";
296								groups = "adi1_d_1";
297							};
298							default_cfg {
299								pins = "GPIO17_P5",
300									 "GPIO18_R5",
301									 "GPIO19_U5",
302									 "GPIO20_T5";
303								input-enable;
304								bias-pull-down;
305							};
306						};
307					};
308					/* This sets up the USB UICC pins */
309					usbuicc {
310						usbuicc_default_mode: usbuicc_default {
311							default_mux {
312								function = "usbuicc";
313								groups = "usbuicc_d_1";
314							};
315							default_cfg {
316								pins = "GPIO21_H19",
317									 "GPIO22_G20",
318									 "GPIO23_G19";
319								input-enable;
320								bias-pull-down;
321							};
322						};
323					};
324					/* This sets up the microphone pins */
325					dmic {
326						dmic_default_mode: dmic_default {
327							default_mux {
328								function = "dmic";
329								groups = "dmic12_d_1",
330									 "dmic34_d_1",
331									 "dmic56_d_1";
332							};
333							default_cfg {
334								pins = "GPIO27_J6",
335									 "GPIO28_K6",
336									 "GPIO29_G6",
337									 "GPIO30_H6",
338									 "GPIO31_F5",
339									 "GPIO32_G5";
340								input-enable;
341								bias-pull-down;
342							};
343						};
344					};
345					extcpena {
346						extcpena_default_mode: extcpena_default {
347							default_mux {
348								function = "extcpena";
349								groups = "extcpena_d_1";
350							};
351							default_cfg {
352								pins = "GPIO34_R17";
353								input-enable;
354								bias-pull-down;
355							};
356						};
357					};
358					/* Modem I2C setup (SCL and SDA pins) */
359					modsclsda {
360						modsclsda_default_mode: modsclsda_default {
361							default_mux {
362								function = "modsclsda";
363								groups = "modsclsda_d_1";
364							};
365							default_cfg {
366								pins = "GPIO40_T19",
367									"GPIO41_U19";
368								input-enable;
369								bias-pull-down;
370							};
371						};
372					};
373					/*
374					 * Clock output pins associated with regulators.
375					 */
376					sysclkreq2 {
377						sysclkreq2_default_mode: sysclkreq2_default {
378							default_mux {
379								function = "sysclkreq";
380								groups = "sysclkreq2_d_1";
381							};
382							default_cfg {
383								pins = "GPIO1_T10";
384								input-enable;
385								bias-disable;
386							};
387						};
388						sysclkreq2_sleep_mode: sysclkreq2_sleep {
389							default_mux {
390								function = "gpio";
391								groups = "gpio1_a_1";
392							};
393							default_cfg {
394								pins = "GPIO1_T10";
395								input-enable;
396								bias-pull-down;
397							};
398						};
399					};
400					sysclkreq4 {
401						sysclkreq4_default_mode: sysclkreq4_default {
402							default_mux {
403								function = "sysclkreq";
404								groups = "sysclkreq4_d_1";
405							};
406							default_cfg {
407								pins = "GPIO3_U9";
408								input-enable;
409								bias-disable;
410							};
411						};
412						sysclkreq4_sleep_mode: sysclkreq4_sleep {
413							default_mux {
414								function = "gpio";
415								groups = "gpio3_a_1";
416							};
417							default_cfg {
418								pins = "GPIO3_U9";
419								input-enable;
420								bias-pull-down;
421							};
422						};
423					};
424				};
425			};
426		};
427	};
428};
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * Copyright 2014 Linaro Ltd.
 
 
 
 
 
 
 
  4 */
  5
  6#include "ste-ab8500.dtsi"
  7
  8/ {
  9	soc {
 10		prcmu@80157000 {
 11			ab8500 {
 12				ab8500-gpiocontroller {
 13					/* Hog a few default settings */
 14					pinctrl-names = "default";
 15					pinctrl-0 = <&gpio2_default_mode>,
 16						    <&gpio4_default_mode>,
 17						    <&gpio10_default_mode>,
 18						    <&gpio11_default_mode>,
 19						    <&gpio12_default_mode>,
 20						    <&gpio13_default_mode>,
 21						    <&gpio16_default_mode>,
 22						    <&gpio24_default_mode>,
 23						    <&gpio25_default_mode>,
 24						    <&gpio36_default_mode>,
 25						    <&gpio37_default_mode>,
 26						    <&gpio38_default_mode>,
 27						    <&gpio39_default_mode>,
 28						    <&gpio42_default_mode>,
 29						    <&gpio26_default_mode>,
 30						    <&gpio35_default_mode>,
 31						    <&ycbcr_default_mode>,
 32						    <&pwm_default_mode>,
 33						    <&adi1_default_mode>,
 34						    <&usbuicc_default_mode>,
 35						    <&dmic_default_mode>,
 36						    <&extcpena_default_mode>,
 37						    <&modsclsda_default_mode>;
 38
 39					/*
 40					 * Pins 2, 4, 10, 11, 12, 13, 16, 24, 25, 36, 37, 38, 39 and 42
 41					 * are muxed in as GPIO, and configured as INPUT PULL DOWN
 42					 */
 43					gpio2 {
 44						gpio2_default_mode: gpio2_default {
 45							default_mux {
 46								function = "gpio";
 47								groups = "gpio2_a_1";
 48							};
 49							default_cfg {
 50								pins = "GPIO2_T9";
 51								input-enable;
 52								bias-pull-down;
 53							};
 54						};
 55					};
 56					gpio4 {
 57						gpio4_default_mode: gpio4_default {
 58							default_mux {
 59								function = "gpio";
 60								groups = "gpio4_a_1";
 61							};
 62							default_cfg {
 63								pins = "GPIO4_W2";
 64								input-enable;
 65								bias-pull-down;
 66							};
 67						};
 68					};
 69					gpio10 {
 70						gpio10_default_mode: gpio10_default {
 71							default_mux {
 72								function = "gpio";
 73								groups = "gpio10_d_1";
 74							};
 75							default_cfg {
 76								pins = "GPIO10_U17";
 77								input-enable;
 78								bias-pull-down;
 79							};
 80						};
 81					};
 82					gpio11 {
 83						gpio11_default_mode: gpio11_default {
 84							default_mux {
 85								function = "gpio";
 86								groups = "gpio11_d_1";
 87							};
 88							default_cfg {
 89								pins = "GPIO11_AA18";
 90								input-enable;
 91								bias-pull-down;
 92							};
 93						};
 94					};
 95					gpio12 {
 96						gpio12_default_mode: gpio12_default {
 97							default_mux {
 98								function = "gpio";
 99								groups = "gpio12_d_1";
100							};
101							default_cfg {
102								pins = "GPIO12_U16";
103								input-enable;
104								bias-pull-down;
105							};
106						};
107					};
108					gpio13 {
109						gpio13_default_mode: gpio13_default {
110							default_mux {
111								function = "gpio";
112								groups = "gpio13_d_1";
113							};
114							default_cfg {
115								pins = "GPIO13_W17";
116								input-enable;
117								bias-pull-down;
118							};
119						};
120					};
121					gpio16 {
122						gpio16_default_mode: gpio16_default {
123							default_mux {
124								function = "gpio";
125								groups = "gpio16_a_1";
126							};
127							default_cfg {
128								pins = "GPIO16_F15";
129								input-enable;
130								bias-pull-down;
131							};
132						};
133					};
134					gpio24 {
135						gpio24_default_mode: gpio24_default {
136							default_mux {
137								function = "gpio";
138								groups = "gpio24_a_1";
139							};
140							default_cfg {
141								pins = "GPIO24_T14";
142								input-enable;
143								bias-pull-down;
144							};
145						};
146					};
147					gpio25 {
148						gpio25_default_mode: gpio25_default {
149							default_mux {
150								function = "gpio";
151								groups = "gpio25_a_1";
152							};
153							default_cfg {
154								pins = "GPIO25_R16";
155								input-enable;
156								bias-pull-down;
157							};
158						};
159					};
160					gpio36 {
161						gpio36_default_mode: gpio36_default {
162							default_mux {
163								function = "gpio";
164								groups = "gpio36_a_1";
165							};
166							default_cfg {
167								pins = "GPIO36_A17";
168								input-enable;
169								bias-pull-down;
170							};
171						};
172					};
173					gpio37 {
174						gpio37_default_mode: gpio37_default {
175							default_mux {
176								function = "gpio";
177								groups = "gpio37_a_1";
178							};
179							default_cfg {
180								pins = "GPIO37_E15";
181								input-enable;
182								bias-pull-down;
183							};
184						};
185					};
186					gpio38 {
187						gpio38_default_mode: gpio38_default {
188							default_mux {
189								function = "gpio";
190								groups = "gpio38_a_1";
191							};
192							default_cfg {
193								pins = "GPIO38_C17";
194								input-enable;
195								bias-pull-down;
196							};
197						};
198					};
199					gpio39 {
200						gpio39_default_mode: gpio39_default {
201							default_mux {
202								function = "gpio";
203								groups = "gpio39_a_1";
204							};
205							default_cfg {
206								pins = "GPIO39_E16";
207								input-enable;
208								bias-pull-down;
209							};
210						};
211					};
212					gpio42 {
213						gpio42_default_mode: gpio42_default {
214							default_mux {
215								function = "gpio";
216								groups = "gpio42_a_1";
217							};
218							default_cfg {
219								pins = "GPIO42_U2";
220								input-enable;
221								bias-pull-down;
222							};
223						};
224					};
225					/*
226					 * Pins 26 and 35 muxed in as GPIO, and configured as OUTPUT LOW
227					 */
228					gpio26 {
229						gpio26_default_mode: gpio26_default {
230							default_mux {
231								function = "gpio";
232								groups = "gpio26_d_1";
233							};
234							default_cfg {
235								pins = "GPIO26_M16";
236								output-low;
237							};
238						};
239					};
240					gpio35 {
241						gpio35_default_mode: gpio35_default {
242							default_mux {
243								function = "gpio";
244								groups = "gpio35_d_1";
245							};
246							default_cfg {
247								pins = "GPIO35_W15";
248								output-low;
249							};
250						};
251					};
252					/*
253					 * This sets up the YCBCR connector pins, i.e. analog video out.
254					 * Set as input with no bias.
255					 */
256					ycbcr {
257						ycbcr_default_mode: ycbcr_default {
258							default_mux {
259								function = "ycbcr";
260								groups = "ycbcr0123_d_1";
261							};
262							default_cfg {
263								pins = "GPIO6_Y18",
264									 "GPIO7_AA20",
265									 "GPIO8_W18",
266									 "GPIO9_AA19";
267								input-enable;
268								bias-disable;
269							};
270						};
271					};
272					/* This sets up the PWM pins 14 and 15 */
273					pwm {
274						pwm_default_mode: pwm_default {
275							default_mux {
276								function = "pwmout";
277								groups = "pwmout1_d_1", "pwmout2_d_1";
278							};
279							default_cfg {
280								pins = "GPIO14_F14",
281									 "GPIO15_B17";
282								input-enable;
283								bias-pull-down;
284							};
285						};
286					};
287					/* This sets up audio interface 1 */
288					adi1 {
289						adi1_default_mode: adi1_default {
290							default_mux {
291								function = "adi1";
292								groups = "adi1_d_1";
293							};
294							default_cfg {
295								pins = "GPIO17_P5",
296									 "GPIO18_R5",
297									 "GPIO19_U5",
298									 "GPIO20_T5";
299								input-enable;
300								bias-pull-down;
301							};
302						};
303					};
304					/* This sets up the USB UICC pins */
305					usbuicc {
306						usbuicc_default_mode: usbuicc_default {
307							default_mux {
308								function = "usbuicc";
309								groups = "usbuicc_d_1";
310							};
311							default_cfg {
312								pins = "GPIO21_H19",
313									 "GPIO22_G20",
314									 "GPIO23_G19";
315								input-enable;
316								bias-pull-down;
317							};
318						};
319					};
320					/* This sets up the microphone pins */
321					dmic {
322						dmic_default_mode: dmic_default {
323							default_mux {
324								function = "dmic";
325								groups = "dmic12_d_1",
326									 "dmic34_d_1",
327									 "dmic56_d_1";
328							};
329							default_cfg {
330								pins = "GPIO27_J6",
331									 "GPIO28_K6",
332									 "GPIO29_G6",
333									 "GPIO30_H6",
334									 "GPIO31_F5",
335									 "GPIO32_G5";
336								input-enable;
337								bias-pull-down;
338							};
339						};
340					};
341					extcpena {
342						extcpena_default_mode: extcpena_default {
343							default_mux {
344								function = "extcpena";
345								groups = "extcpena_d_1";
346							};
347							default_cfg {
348								pins = "GPIO34_R17";
349								input-enable;
350								bias-pull-down;
351							};
352						};
353					};
354					/* Modem I2C setup (SCL and SDA pins) */
355					modsclsda {
356						modsclsda_default_mode: modsclsda_default {
357							default_mux {
358								function = "modsclsda";
359								groups = "modsclsda_d_1";
360							};
361							default_cfg {
362								pins = "GPIO40_T19",
363									"GPIO41_U19";
364								input-enable;
365								bias-pull-down;
366							};
367						};
368					};
369					/*
370					 * Clock output pins associated with regulators.
371					 */
372					sysclkreq2 {
373						sysclkreq2_default_mode: sysclkreq2_default {
374							default_mux {
375								function = "sysclkreq";
376								groups = "sysclkreq2_d_1";
377							};
378							default_cfg {
379								pins = "GPIO1_T10";
380								input-enable;
381								bias-disable;
382							};
383						};
384						sysclkreq2_sleep_mode: sysclkreq2_sleep {
385							default_mux {
386								function = "gpio";
387								groups = "gpio1_a_1";
388							};
389							default_cfg {
390								pins = "GPIO1_T10";
391								input-enable;
392								bias-pull-down;
393							};
394						};
395					};
396					sysclkreq4 {
397						sysclkreq4_default_mode: sysclkreq4_default {
398							default_mux {
399								function = "sysclkreq";
400								groups = "sysclkreq4_d_1";
401							};
402							default_cfg {
403								pins = "GPIO3_U9";
404								input-enable;
405								bias-disable;
406							};
407						};
408						sysclkreq4_sleep_mode: sysclkreq4_sleep {
409							default_mux {
410								function = "gpio";
411								groups = "gpio3_a_1";
412							};
413							default_cfg {
414								pins = "GPIO3_U9";
415								input-enable;
416								bias-pull-down;
417							};
418						};
419					};
420				};
421			};
422		};
423	};
424};