Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  4 * Copyright (C) 2018 Robert Bosch Power Tools GmbH
  5 */
  6/dts-v1/;
  7
  8#include "am33xx.dtsi"
  9#include <dt-bindings/input/input.h>
 10#include <dt-bindings/interrupt-controller/irq.h>
 11
 12/ {
 13	model = "Bosch AM335x Guardian";
 14	compatible = "bosch,am335x-guardian", "ti,am33xx";
 15
 16	chosen {
 17		stdout-path = &uart0;
 18		tick-timer = &timer2;
 19	};
 20
 21	cpus {
 22		cpu@0 {
 23			cpu0-supply = <&dcdc2_reg>;
 24		};
 25	};
 26
 27	memory@80000000 {
 28		device_type = "memory";
 29		reg = <0x80000000 0x10000000>; /* 256 MB */
 30	};
 31
 32	guardian_buttons: gpio-keys {
 33		pinctrl-names = "default";
 34		pinctrl-0 = <&guardian_button_pins>;
 35		compatible = "gpio-keys";
 
 
 
 
 36
 37		select-button {
 38			label = "guardian-select-button";
 39			linux,code = <KEY_5>;
 40			gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
 41			wakeup-source;
 42		};
 43
 44		power-button {
 45			label = "guardian-power-button";
 46			linux,code = <KEY_POWER>;
 47			gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
 48			wakeup-source;
 49		};
 50	};
 51
 52	guardian_leds: gpio-leds {
 53		pinctrl-names = "default";
 54		pinctrl-0 = <&guardian_led_pins>;
 55		compatible = "gpio-leds";
 
 
 56
 57		life-led {
 58			label = "guardian:life-led";
 59			gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
 60			linux,default-trigger = "heartbeat";
 61			default-state = "off";
 62		};
 63	};
 64
 65	gpio-poweroff {
 66		compatible = "gpio-poweroff";
 67		gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
 
 
 
 68	};
 69
 70	panel {
 71		compatible = "ti,tilcdc,panel";
 72		pinctrl-names = "default", "sleep";
 73		pinctrl-0 = <&lcd_pins_default &lcd_disen_pins>;
 74		pinctrl-1 = <&lcd_pins_sleep>;
 75
 76		display-timings {
 77			320x240 {
 78				hactive         = <320>;
 79				vactive         = <240>;
 80				hback-porch     = <68>;
 81				hfront-porch    = <20>;
 82				hsync-len       = <1>;
 83				vback-porch     = <18>;
 84				vfront-porch    = <4>;
 85				vsync-len       = <1>;
 86				clock-frequency = <9000000>;
 87				hsync-active    = <0>;
 88				vsync-active    = <0>;
 89			};
 90		};
 91		panel-info {
 92			ac-bias           = <255>;
 93			ac-bias-intrpt    = <0>;
 94			dma-burst-sz      = <16>;
 95			bpp               = <24>;
 96			bus-width         = <16>;
 97			fdd               = <0x80>;
 98			sync-edge         = <0>;
 99			sync-ctrl         = <1>;
100			raster-order      = <0>;
101			fifo-th           = <0>;
102		};
103
104	};
105
106	guardian_beeper: pwm-7 {
107		compatible = "ti,omap-dmtimer-pwm";
108		#pwm-cells = <3>;
109		ti,timers = <&timer7>;
110		pinctrl-names = "default";
111		pinctrl-0 = <&guardian_beeper_pins>;
112		ti,clock-source = <0x01>;
113	};
114
115	vmmcsd_fixed: fixedregulator0 {
116		compatible = "regulator-fixed";
117		regulator-name = "vmmcsd_fixed";
118		regulator-min-microvolt = <3300000>;
119		regulator-max-microvolt = <3300000>;
120	};
121
122	mt_keypad: mt_keypad@0 {
123		compatible = "gpio-mt-keypad";
124		debounce-delay-ms = <10>;
125		col-scan-delay-us = <2>;
126		keypad,num-lines = <5>;
127		linux,no-autorepeat;
128		gpio-activelow;
129		line-gpios = <
130			&gpio1 24 GPIO_ACTIVE_LOW    /*gpio_56*/
131			&gpio1 23 GPIO_ACTIVE_LOW    /*gpio_55*/
132			&gpio1 22 GPIO_ACTIVE_LOW    /*gpio_54*/
133			&gpio1 20 GPIO_ACTIVE_LOW    /*gpio_52*/
134			&gpio1 16 GPIO_ACTIVE_LOW    /*gpio_48*/
135		>;
136	};
137};
138
139&elm {
140	status = "okay";
141};
142
143&gpmc {
144	pinctrl-names = "default";
145	pinctrl-0 = <&nandflash_pins>;
146	ranges = <0 0 0x08000000 0x1000000>;  /* CS0: 16MB for NAND */
147	status = "okay";
148
149	nand@0,0 {
150		compatible = "ti,omap2-nand";
151		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
152		interrupt-parent = <&gpmc>;
153		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
154			     <1 IRQ_TYPE_NONE>; /* termcount */
155		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
156		ti,nand-xfer-type = "prefetch-dma";
157		ti,nand-ecc-opt = "bch16";
158		ti,elm-id = <&elm>;
159		nand-bus-width = <8>;
160		gpmc,device-width = <1>;
161		gpmc,sync-clk-ps = <0>;
162		gpmc,cs-on-ns = <0>;
163		gpmc,cs-rd-off-ns = <30>;
164		gpmc,cs-wr-off-ns = <30>;
165		gpmc,adv-on-ns = <0>;
166		gpmc,adv-rd-off-ns = <30>;
167		gpmc,adv-wr-off-ns = <30>;
168		gpmc,we-on-ns = <0>;
169		gpmc,we-off-ns = <15>;
170		gpmc,oe-on-ns = <1>;
171		gpmc,oe-off-ns = <15>;
172		gpmc,access-ns = <30>;
173		gpmc,rd-cycle-ns = <30>;
174		gpmc,wr-cycle-ns = <30>;
175		gpmc,bus-turnaround-ns = <0>;
176		gpmc,cycle2cycle-delay-ns = <0>;
177		gpmc,clk-activation-ns = <0>;
178		gpmc,wr-access-ns = <0>;
179		gpmc,wr-data-mux-bus-ns = <0>;
180
181		/*
182		 * MTD partition table
183		 *
184		 * All SPL-* partitions are sized to minimal length which can
185		 * be independently programmable. For NAND flash this is equal
186		 * to size of erase-block.
187		 */
188		#address-cells = <1>;
189		#size-cells = <1>;
190
191		partition@0 {
192			label = "SPL";
193			reg = <0x0 0x40000>;
194		};
195
196		partition@1 {
197			label = "SPL.backup1";
198			reg = <0x40000  0x40000>;
199		};
200
201		partition@2 {
202			label = "SPL.backup2";
203			reg = <0x80000  0x40000>;
204		};
205
206		partition@3 {
207			label = "SPL.backup3";
208			reg = <0xc0000  0x40000>;
209		};
210
211		partition@4 {
212			label = "u-boot";
213			reg = <0x100000 0x100000>;
214		};
215
216		partition@5 {
217			label = "u-boot.backup1";
218			reg = <0x200000 0x100000>;
219		};
220
221		partition@6 {
222			label = "u-boot-2";
223			reg = <0x300000 0x100000>;
224		};
225
226		partition@7 {
227			label = "u-boot-2.backup1";
228			reg = <0x400000 0x100000>;
229		};
230
231		partition@8 {
232			label = "u-boot-env";
233			reg = <0x500000 0x40000>;
234		};
235
236		partition@9 {
237			label = "u-boot-env.backup1";
238			reg = <0x540000 0x40000>;
239		};
240
241		partition@10 {
242			label = "splash-screen";
243			reg = <0x580000 0x40000>;
244		};
245
246		partition@11 {
247			label = "UBI";
248			reg = <0x5c0000 0x1fa40000>;
249		};
250	};
251};
252
253&i2c0 {
254	pinctrl-names = "default";
255	pinctrl-0 = <&i2c0_pins>;
256	clock-frequency = <400000>;
257	status = "okay";
258
259	tps: tps@24 {
260		reg = <0x24>;
261	};
262};
263
264&lcdc {
265	blue-and-red-wiring = "crossed";
266	status = "okay";
267	port {
268		lcdc_0: endpoint@0 {
269			remote-endpoint = <0>;
270		};
271	};
272};
273
274&mmc1 {
275	bus-width = <0x4>;
276	pinctrl-names = "default";
277	pinctrl-0 = <&mmc1_pins>;
278	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
279	vmmc-supply = <&vmmcsd_fixed>;
280	status = "okay";
281};
282
283&rtc {
284	clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
285	clock-names = "ext-clk", "int-clk";
 
286};
287
288&spi0 {
289	ti,pindir-d0-out-d1-in;
290	pinctrl-names = "default";
291	pinctrl-0 = <&spi0_pins>;
292	status = "okay";
293};
294
295#include "tps65217.dtsi"
296
297&tps {
298  /*
299   * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
300   * mode") at poweroff.  Most BeagleBone versions do not support RTC-only
301   * mode and risk hardware damage if this mode is entered.
302   *
303   * For details, see linux-omap mailing list May 2015 thread
304   *  [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
305   * In particular, messages:
306   *  http://www.spinics.net/lists/linux-omap/msg118585.html
307   *  http://www.spinics.net/lists/linux-omap/msg118615.html
308   *
309   * You can override this later with
310   *  &tps {  /delete-property/ ti,pmic-shutdown-controller;  }
311   * if you want to use RTC-only mode and made sure you are not affected
312   * by the hardware problems. (Tip: double-check by performing a current
313   * measurement after shutdown: it should be less than 1 mA.)
314   */
315	ti,pmic-shutdown-controller;
316	interrupt-parent = <&intc>;
317	interrupts = <7>; /* NMI */
318
319	backlight {
320		isel = <1>;  /* 1 - ISET1, 2 ISET2 */
321		fdim = <500>; /* TPS65217_BL_FDIM_500HZ */
322		default-brightness = <50>;
323		/* 1(on) - enable current sink, while initialization */
324		/* 0(off) - disable current sink, while initialization */
325		isink-en = <1>;
326	};
327
328	regulators {
329		dcdc1_reg: regulator@0 {
330			regulator-name = "vdds_dpr";
331			regulator-always-on;
332		};
333
334		dcdc2_reg: regulator@1 {
335			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
336			regulator-name = "vdd_mpu";
337			regulator-min-microvolt = <925000>;
338			regulator-max-microvolt = <1351500>;
339			regulator-boot-on;
340			regulator-always-on;
341		};
342
343		dcdc3_reg: regulator@2 {
344			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
345			regulator-name = "vdd_core";
346			regulator-min-microvolt = <925000>;
347			regulator-max-microvolt = <1150000>;
348			regulator-boot-on;
349			regulator-always-on;
350		};
351
352		ldo1_reg: regulator@3 {
353			regulator-name = "vio,vrtc,vdds";
354			regulator-always-on;
355		};
356
357		ldo2_reg: regulator@4 {
358			regulator-name = "vdd_3v3aux";
359			regulator-always-on;
360		};
361
362		ldo3_reg: regulator@5 {
363			regulator-name = "vdd_1v8";
364			regulator-min-microvolt = <1800000>;
365			regulator-max-microvolt = <1800000>;
366			regulator-always-on;
367		};
368
369		ldo4_reg: regulator@6 {
370			regulator-name = "vdd_3v3a";
371			regulator-always-on;
372		};
373	};
374};
375
376&tscadc {
377	status = "okay";
378
379	adc {
380		ti,adc-channels = <0 1 2 3 4 5 6>;
381	};
382};
383
384&gpio0 {
385	gpio-line-names =
386		"",
387		"",
388		"",
389		"",
390		"",
391		"",
392		"",
393		"",
394		"",
395		"",
396		"",
397		"",
398		"",
399		"",
400		"",
401		"",
402		"",
403		"",
404		"",
405		"",
406		"",
407		"",
408		"",
409		"",
410		"",
411		"",
412		"",
413		"",
414		"",
415		"MirxWakeup",
416		"",
417		"";
418};
419
420&gpio3 {
421	ti,gpio-always-on;
422	ti,no-reset-on-init;
423	gpio-line-names =
424		"",
425		"MirxBtReset",
426		"",
427		"CcVolAdcEn",
428		"MirxBlePause",
429		"",
430		"",
431		"",
432		"",
433		"",
434		"",
435		"",
436		"",
437		"",
438		"AspEn",
439		"",
440		"",
441		"",
442		"",
443		"",
444		"",
445		"BatVolAdcEn",
446		"",
447		"",
448		"",
449		"",
450		"",
451		"",
452		"",
453		"",
454		"",
455		"";
456};
457
458&uart0 {
459	pinctrl-names = "default";
460	pinctrl-0 = <&uart0_pins>;
461	status = "okay";
462};
463
464&uart2 {
465	pinctrl-names = "default";
466	pinctrl-0 = <&uart2_pins>;
467	status = "okay";
468};
469
470&usb0 {
471	dr_mode = "peripheral";
472};
473
474&usb1 {
475	dr_mode = "host";
476	/delete-property/dmas;
477	/delete-property/dma-names;
478};
479
480&am33xx_pinmux {
481	pinctrl-names = "default";
482	pinctrl-0 = <&clkout2_pin &guardian_interface_pins>;
483
484	clkout2_pin: pinmux_clkout2_pin {
485		pinctrl-single,pins = <
486			/* xdma_event_intr1.clkout2 */
487			AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3)
488		>;
489	};
490
491	guardian_interface_pins: pinmux_interface_pins {
492		pinctrl-single,pins = <
493			/* ADC_BATSENSE_EN */
494			/* (A14) MCASP0_AHCLKx.gpio3[21] */
495			AM33XX_IOPAD(0x9ac, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
496			/* ADC_COINCELL_EN */
497			/* (J16) MII1_TX_EN.gpio3[3] */
498			AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
499			/* ASP_ENABLE */
500			/* (A13) MCASP0_ACLKx.gpio3[14] */
501			AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLUP | MUX_MODE7)
502			/* (D16) uart1_rxd.uart1_rxd */
503			AM33XX_IOPAD(0x980, PIN_INPUT | MUX_MODE7)
504			/* (D15) uart1_txd.uart1_txd */
505			AM33XX_IOPAD(0x984, PIN_INPUT | MUX_MODE7)
506			/*SWITCH-OFF_3V6*/
507			/* (M18) gpio0[1] */
508			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE7)
509			/* MIRACULIX */
510			/* (H17) gmii1_crs.gpio3[1] */
511			AM33XX_IOPAD(0x90c, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
512			/* (H18) rmii1_refclk.gpio0[29] */
513			AM33XX_IOPAD(0x944, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
514			/* (J18) gmii1_txd3.gpio0[16] */
515			AM33XX_IOPAD(0x91c, PIN_INPUT           | MUX_MODE7 )
516			/* (J17) gmii1_rxdv.gpio3[4] */
517			AM33XX_IOPAD(0x918, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
518		>;
519	};
520
521	guardian_beeper_pins: pinmux_dmtimer7_pins {
522		pinctrl-single,pins = <
523			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5) /* (E18) timer7 */
524		>;
525	};
526
527	guardian_button_pins: pinmux_guardian_button_pins {
528		pinctrl-single,pins = <
529			AM33XX_IOPAD(0x940, PIN_INPUT | MUX_MODE7) /* (M16) gmii1_rxd0.gpio2[21] */
530			AM33XX_IOPAD(0x884, PIN_INPUT | MUX_MODE7) /* (V9)  gpmc_csn2.gpio1[31] */
531		>;
532	};
533
534
535	i2c0_pins: pinmux_i2c0_pins {
536		pinctrl-single,pins = <
537			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
538			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
539		>;
540	};
541
542	led_bl_pins: gpio_led_bl_pins {
543		pinctrl-single,pins = <
544			/* P9_14, gpmc_a[2].GPIO1[18] (backlight control) */
545			AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE7)
546		>;
547	};
548
549	lcd_disen_pins: pinmux_lcd_disen_pins {
550		pinctrl-single,pins = <
551			/* P9_27, mcasp0_fsr.gpio3[19] (lcd_disen) */
552			AM33XX_IOPAD(0x9a4, PIN_OUTPUT_PULLUP | SLEWCTRL_SLOW | MUX_MODE7)
553		>;
554	};
555
556	lcd_pins_default: pinmux_lcd_pins_default {
557		pinctrl-single,pins = <
558			/* (U10) gpmc_ad8.lcd_data23 */
559			AM33XX_IOPAD(0x820, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
560			/* (T10) gpmc_ad9.lcd_data22 */
561			AM33XX_IOPAD(0x824, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
562			/* (T11) gpmc_ad10.lcd_data21 */
563			AM33XX_IOPAD(0x828, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
564			/* (U12) gpmc_ad11.lcd_data20 */
565			AM33XX_IOPAD(0x82c, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
566			/* (T12) gpmc_ad12.lcd_data19 */
567			AM33XX_IOPAD(0x830, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
568			/* (R12) gpmc_ad13.lcd_data18 */
569			AM33XX_IOPAD(0x834, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
570			/* (V13) gpmc_ad14.lcd_data17 */
571			AM33XX_IOPAD(0x838, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
572			/* (U13) gpmc_ad15.lcd_data16 */
573			AM33XX_IOPAD(0x83c, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
574			/* lcd_data0.lcd_data0 */
575			AM33XX_IOPAD(0x8a0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
576			/* lcd_data1.lcd_data1 */
577			AM33XX_IOPAD(0x8a4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
578			/* lcd_data2.lcd_data2 */
579			AM33XX_IOPAD(0x8a8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
580			/* lcd_data3.lcd_data3 */
581			AM33XX_IOPAD(0x8ac, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
582			/* lcd_data4.lcd_data4 */
583			AM33XX_IOPAD(0x8b0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
584			/* lcd_data5.lcd_data5 */
585			AM33XX_IOPAD(0x8b4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
586			/* lcd_data6.lcd_data6 */
587			AM33XX_IOPAD(0x8b8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
588			/* lcd_data7.lcd_data7 */
589			AM33XX_IOPAD(0x8bc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
590			/* lcd_data8.lcd_data8 */
591			AM33XX_IOPAD(0x8c0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
592			/* lcd_data9.lcd_data9 */
593			AM33XX_IOPAD(0x8c4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
594			/* lcd_data10.lcd_data10 */
595			AM33XX_IOPAD(0x8c8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
596			/* lcd_data11.lcd_data11 */
597			AM33XX_IOPAD(0x8cc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
598			/* lcd_data12.lcd_data12 */
599			AM33XX_IOPAD(0x8d0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
600			/* lcd_data13.lcd_data13 */
601			AM33XX_IOPAD(0x8d4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
602			/* lcd_data14.lcd_data14 */
603			AM33XX_IOPAD(0x8d8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
604			/* lcd_data15.lcd_data15 */
605			AM33XX_IOPAD(0x8dc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
606			/* lcd_vsync.lcd_vsync */
607			AM33XX_IOPAD(0x8e0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
608			/* lcd_hsync.lcd_hsync */
609			AM33XX_IOPAD(0x8e4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
610			/* lcd_pclk.lcd_pclk */
611			AM33XX_IOPAD(0x8e8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
612			/* lcd_ac_bias_en.lcd_ac_bias_en */
613			AM33XX_IOPAD(0x8ec, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
614		>;
615	};
616
617	lcd_pins_sleep: pinmux_lcd_pins_sleep {
618		pinctrl-single,pins = <
619			/* lcd_data0.lcd_data0 */
620			AM33XX_IOPAD(0x8a0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
621			/* lcd_data1.lcd_data1 */
622			AM33XX_IOPAD(0x8a4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
623			/* lcd_data2.lcd_data2 */
624			AM33XX_IOPAD(0x8a8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
625			/* lcd_data3.lcd_data3 */
626			AM33XX_IOPAD(0x8ac, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
627			/* lcd_data4.lcd_data4 */
628			AM33XX_IOPAD(0x8b0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
629			/* lcd_data5.lcd_data5 */
630			AM33XX_IOPAD(0x8b4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
631			/* lcd_data6.lcd_data6 */
632			AM33XX_IOPAD(0x8b8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
633			/* lcd_data7.lcd_data7 */
634			AM33XX_IOPAD(0x8bc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
635			/* lcd_data8.lcd_data8 */
636			AM33XX_IOPAD(0x8c0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
637			/* lcd_data9.lcd_data9 */
638			AM33XX_IOPAD(0x8c4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
639			/* lcd_data10.lcd_data10 */
640			AM33XX_IOPAD(0x8c8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
641			/* lcd_data11.lcd_data11 */
642			AM33XX_IOPAD(0x8cc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
643			/* lcd_data12.lcd_data12 */
644			AM33XX_IOPAD(0x8d0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
645			/* lcd_data13.lcd_data13 */
646			AM33XX_IOPAD(0x8d4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
647			/* lcd_data14.lcd_data14 */
648			AM33XX_IOPAD(0x8d8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
649			/* lcd_data15.lcd_data15 */
650			AM33XX_IOPAD(0x8dc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
651			/* lcd_vsync.lcd_vsync */
652			AM33XX_IOPAD(0x8e0, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
653			/* lcd_hsync.lcd_hsync */
654			AM33XX_IOPAD(0x8e4, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
655			/* lcd_pclk.lcd_pclk */
656			AM33XX_IOPAD(0x8e8, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
657			/* lcd_ac_bias_en.lcd_ac_bias_en */
658			AM33XX_IOPAD(0x8ec, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
659		>;
660	};
661
662	guardian_led_pins: pinmux_guardian_led_pins {
663		pinctrl-single,pins = <
664			AM33XX_IOPAD(0x868, PIN_OUTPUT | MUX_MODE7) /* (T16) gpmc_a10.gpio1[26] */
 
665		>;
666	};
667
668	mmc1_pins: pinmux_mmc1_pins {
669		pinctrl-single,pins = <
670			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)  /* mmc0_dat3.mmc0_dat3 */
671			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)  /* mmc0_dat2.mmc0_dat2 */
672			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)  /* mmc0_dat1.mmc0_dat1 */
673			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)  /* mmc0_dat0.mmc0_dat0 */
674			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)  /* mmc0_clk.mmc0_clk */
675			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)  /* mmc0_cmd.mmc0_cmd */
676			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)         /* GPIO0_6 */
677		>;
678	};
679
680	spi0_pins: pinmux_spi0_pins {
681		pinctrl-single,pins = <
682			/* SPI0_CLK  - spi0_clk.spi */
683			AM33XX_IOPAD(0x950, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
684			/* SPI0_MOSI - spi0_d0.spi0 */
685			AM33XX_IOPAD(0x954, PIN_OUTPUT_PULLUP | MUX_MODE0)
686			/* SPI0_MISO - spi0_d1.spi0 */
687			AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0)
688			/* SPI0_CS0 - spi */
689			AM33XX_IOPAD(0x95c, PIN_OUTPUT_PULLUP | MUX_MODE0)
690		>;
691	};
692
693	uart0_pins: pinmux_uart0_pins {
694		pinctrl-single,pins = <
695			/* uart0_rxd.uart0_rxd */
696			AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)
697			/* uart0_txd.uart0_txd */
698			AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
699		>;
700	};
701
702	uart2_pins: pinmux_uart2_pins {
703		pinctrl-single,pins = <
704			/* K18 uart2_rxd.mirx_txd */
705			AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE1)
706			/* L18 uart2_txd.mirx_rxd */
707			AM33XX_IOPAD(0x930, PIN_OUTPUT_PULLDOWN | MUX_MODE1)
708		>;
709	};
710
711	nandflash_pins: pinmux_nandflash_pins {
712		pinctrl-single,pins = <
713			/* (U7) gpmc_ad0.gpmc_ad0 */
714			AM33XX_IOPAD(0x800, PIN_INPUT | MUX_MODE0)
715			/* (V7) gpmc_ad1.gpmc_ad1 */
716			AM33XX_IOPAD(0x804, PIN_INPUT | MUX_MODE0)
717			/* (R8) gpmc_ad2.gpmc_ad2 */
718			AM33XX_IOPAD(0x808, PIN_INPUT | MUX_MODE0)
719			/* (T8) gpmc_ad3.gpmc_ad3 */
720			AM33XX_IOPAD(0x80c, PIN_INPUT | MUX_MODE0)
721			/* (U8) gpmc_ad4.gpmc_ad4 */
722			AM33XX_IOPAD(0x810, PIN_INPUT | MUX_MODE0)
723			/* (V8) gpmc_ad5.gpmc_ad5 */
724			AM33XX_IOPAD(0x814, PIN_INPUT | MUX_MODE0)
725			/* (R9) gpmc_ad6.gpmc_ad6 */
726			AM33XX_IOPAD(0x818, PIN_INPUT | MUX_MODE0)
727			/* (T9) gpmc_ad7.gpmc_ad7 */
728			AM33XX_IOPAD(0x81c, PIN_INPUT | MUX_MODE0)
729			/* (T17) gpmc_wait0.gpmc_wait0 */
730			AM33XX_IOPAD(0x870, PIN_INPUT | MUX_MODE0)
731			/* (U17) gpmc_wpn.gpmc_wpn */
732			AM33XX_IOPAD(0x874, PIN_OUTPUT | MUX_MODE0)
733			/* (V6) gpmc_csn0.gpmc_csn0 */
734			AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)
735			/* (R7) gpmc_advn_ale.gpmc_advn_ale */
736			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)
737			/* (T7) gpmc_oen_ren.gpmc_oen_ren */
738			AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)
739			/* (U6) gpmc_wen.gpmc_wen */
740			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)
741			/* (T6) gpmc_be0n_cle.gpmc_be0n_cle */
742			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)
743		>;
744	};
745};
v5.14.15
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  4 * Copyright (C) 2018 Robert Bosch Power Tools GmbH
  5 */
  6/dts-v1/;
  7
  8#include "am33xx.dtsi"
  9#include <dt-bindings/input/input.h>
 10#include <dt-bindings/interrupt-controller/irq.h>
 11
 12/ {
 13	model = "Bosch AM335x Guardian";
 14	compatible = "bosch,am335x-guardian", "ti,am33xx";
 15
 16	chosen {
 17		stdout-path = &uart0;
 18		tick-timer = &timer2;
 19	};
 20
 21	cpus {
 22		cpu@0 {
 23			cpu0-supply = <&dcdc2_reg>;
 24		};
 25	};
 26
 27	memory@80000000 {
 28		device_type = "memory";
 29		reg = <0x80000000 0x10000000>; /* 256 MB */
 30	};
 31
 32	gpio_keys {
 
 
 33		compatible = "gpio-keys";
 34		#address-cells = <1>;
 35		#size-cells = <0>;
 36		pinctrl-names = "default";
 37		pinctrl-0 = <&gpio_keys_pins>;
 38
 39		button21 {
 
 
 
 
 
 
 
 40			label = "guardian-power-button";
 41			linux,code = <KEY_POWER>;
 42			gpios = <&gpio2 21 0>;
 43			wakeup-source;
 44		};
 45	};
 46
 47	leds {
 
 
 48		compatible = "gpio-leds";
 49		pinctrl-names = "default";
 50		pinctrl-0 = <&leds_pins>;
 51
 52		led1 {
 53			label = "green:heartbeat";
 54			gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
 55			linux,default-trigger = "heartbeat";
 56			default-state = "off";
 57		};
 
 58
 59		led2 {
 60			label = "green:mmc0";
 61			gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
 62			linux,default-trigger = "mmc0";
 63			default-state = "off";
 64		};
 65	};
 66
 67	panel {
 68		compatible = "ti,tilcdc,panel";
 69		pinctrl-names = "default", "sleep";
 70		pinctrl-0 = <&lcd_pins_default &lcd_disen_pins>;
 71		pinctrl-1 = <&lcd_pins_sleep>;
 72
 73		display-timings {
 74			320x240 {
 75				hactive         = <320>;
 76				vactive         = <240>;
 77				hback-porch     = <68>;
 78				hfront-porch    = <20>;
 79				hsync-len       = <1>;
 80				vback-porch     = <18>;
 81				vfront-porch    = <4>;
 82				vsync-len       = <1>;
 83				clock-frequency = <9000000>;
 84				hsync-active    = <0>;
 85				vsync-active    = <0>;
 86			};
 87		};
 88		panel-info {
 89			ac-bias           = <255>;
 90			ac-bias-intrpt    = <0>;
 91			dma-burst-sz      = <16>;
 92			bpp               = <24>;
 93			bus-width         = <16>;
 94			fdd               = <0x80>;
 95			sync-edge         = <0>;
 96			sync-ctrl         = <1>;
 97			raster-order      = <0>;
 98			fifo-th           = <0>;
 99		};
100
101	};
102
103	pwm7: dmtimer-pwm {
104		compatible = "ti,omap-dmtimer-pwm";
 
105		ti,timers = <&timer7>;
106		pinctrl-names = "default";
107		pinctrl-0 = <&dmtimer7_pins>;
108		ti,clock-source = <0x01>;
109	};
110
111	vmmcsd_fixed: regulator-3v3 {
112		compatible = "regulator-fixed";
113		regulator-name = "vmmcsd_fixed";
114		regulator-min-microvolt = <3300000>;
115		regulator-max-microvolt = <3300000>;
116	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117};
118
119&elm {
120	status = "okay";
121};
122
123&gpmc {
124	pinctrl-names = "default";
125	pinctrl-0 = <&nandflash_pins>;
126	ranges = <0 0 0x08000000 0x1000000>;  /* CS0: 16MB for NAND */
127	status = "okay";
128
129	nand@0,0 {
130		compatible = "ti,omap2-nand";
131		reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
132		interrupt-parent = <&gpmc>;
133		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
134			     <1 IRQ_TYPE_NONE>; /* termcount */
135		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
 
136		ti,nand-ecc-opt = "bch16";
137		ti,elm-id = <&elm>;
138		nand-bus-width = <8>;
139		gpmc,device-width = <1>;
140		gpmc,sync-clk-ps = <0>;
141		gpmc,cs-on-ns = <0>;
142		gpmc,cs-rd-off-ns = <44>;
143		gpmc,cs-wr-off-ns = <44>;
144		gpmc,adv-on-ns = <6>;
145		gpmc,adv-rd-off-ns = <34>;
146		gpmc,adv-wr-off-ns = <44>;
147		gpmc,we-on-ns = <0>;
148		gpmc,we-off-ns = <40>;
149		gpmc,oe-on-ns = <0>;
150		gpmc,oe-off-ns = <54>;
151		gpmc,access-ns = <64>;
152		gpmc,rd-cycle-ns = <82>;
153		gpmc,wr-cycle-ns = <82>;
154		gpmc,bus-turnaround-ns = <0>;
155		gpmc,cycle2cycle-delay-ns = <0>;
156		gpmc,clk-activation-ns = <0>;
157		gpmc,wr-access-ns = <40>;
158		gpmc,wr-data-mux-bus-ns = <0>;
159
160		/*
161		 * MTD partition table
162		 *
163		 * All SPL-* partitions are sized to minimal length which can
164		 * be independently programmable. For NAND flash this is equal
165		 * to size of erase-block.
166		 */
167		#address-cells = <1>;
168		#size-cells = <1>;
169
170		partition@0 {
171			label = "SPL";
172			reg = <0x0 0x40000>;
173		};
174
175		partition@1 {
176			label = "SPL.backup1";
177			reg = <0x40000  0x40000>;
178		};
179
180		partition@2 {
181			label = "SPL.backup2";
182			reg = <0x80000  0x40000>;
183		};
184
185		partition@3 {
186			label = "SPL.backup3";
187			reg = <0xc0000  0x40000>;
188		};
189
190		partition@4 {
191			label = "u-boot";
192			reg = <0x100000 0x100000>;
193		};
194
195		partition@5 {
196			label = "u-boot.backup1";
197			reg = <0x200000 0x100000>;
198		};
199
200		partition@6 {
 
 
 
 
 
 
 
 
 
 
201			label = "u-boot-env";
202			reg = <0x300000 0x40000>;
203		};
204
205		partition@7 {
206			label = "u-boot-env.backup1";
207			reg = <0x340000 0x40000>;
 
 
 
 
 
208		};
209
210		partition@8 {
211			label = "UBI";
212			reg = <0x380000 0x1fc80000>;
213		};
214	};
215};
216
217&i2c0 {
218	pinctrl-names = "default";
219	pinctrl-0 = <&i2c0_pins>;
220	clock-frequency = <400000>;
221	status = "okay";
222
223	tps: tps@24 {
224		reg = <0x24>;
225	};
226};
227
228&lcdc {
229	blue-and-red-wiring = "crossed";
230	status = "okay";
 
 
 
 
 
231};
232
233&mmc1 {
234	bus-width = <0x4>;
235	pinctrl-names = "default";
236	pinctrl-0 = <&mmc1_pins>;
237	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
238	vmmc-supply = <&vmmcsd_fixed>;
239	status = "okay";
240};
241
242&rtc {
243	clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
244	clock-names = "ext-clk", "int-clk";
245	system-power-controller;
246};
247
248&spi0 {
249	ti,pindir-d0-out-d1-in;
250	pinctrl-names = "default";
251	pinctrl-0 = <&spi0_pins>;
252	status = "okay";
253};
254
255#include "tps65217.dtsi"
256
257&tps {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258	ti,pmic-shutdown-controller;
259	interrupt-parent = <&intc>;
260	interrupts = <7>; /* NMI */
261
262	backlight {
263		isel = <1>;  /* 1 - ISET1, 2 ISET2 */
264		fdim = <100>; /* TPS65217_BL_FDIM_100HZ */
265		default-brightness = <100>;
 
 
 
266	};
267
268	regulators {
269		dcdc1_reg: regulator@0 {
270			regulator-name = "vdds_dpr";
271			regulator-always-on;
272		};
273
274		dcdc2_reg: regulator@1 {
 
275			regulator-name = "vdd_mpu";
276			regulator-min-microvolt = <925000>;
277			regulator-max-microvolt = <1351500>;
278			regulator-boot-on;
279			regulator-always-on;
280		};
281
282		dcdc3_reg: regulator@2 {
 
283			regulator-name = "vdd_core";
284			regulator-min-microvolt = <925000>;
285			regulator-max-microvolt = <1150000>;
286			regulator-boot-on;
287			regulator-always-on;
288		};
289
290		ldo1_reg: regulator@3 {
291			regulator-name = "vio,vrtc,vdds";
292			regulator-always-on;
293		};
294
295		ldo2_reg: regulator@4 {
296			regulator-name = "vdd_3v3aux";
297			regulator-always-on;
298		};
299
300		ldo3_reg: regulator@5 {
301			regulator-name = "vdd_1v8";
302			regulator-min-microvolt = <1800000>;
303			regulator-max-microvolt = <1800000>;
304			regulator-always-on;
305		};
306
307		ldo4_reg: regulator@6 {
308			regulator-name = "vdd_3v3a";
309			regulator-always-on;
310		};
311	};
312};
313
314&tscadc {
315	status = "okay";
316
317	adc {
318		ti,adc-channels = <0 1 2 3 4 5 6>;
319	};
320};
321
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
322&uart0 {
323	pinctrl-names = "default";
324	pinctrl-0 = <&uart0_pins>;
325	status = "okay";
326};
327
 
 
 
 
 
 
328&usb0 {
329	dr_mode = "peripheral";
330};
331
332&usb1 {
333	dr_mode = "host";
 
 
334};
335
336&am33xx_pinmux {
337	pinctrl-names = "default";
338	pinctrl-0 = <&clkout2_pin &gpio_pins>;
339
340	clkout2_pin: pinmux_clkout2_pin {
341		pinctrl-single,pins = <
 
342			AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3)
343		>;
344	};
345
346	dmtimer7_pins: pinmux_dmtimer7_pins {
347		pinctrl-single,pins = <
348			AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349		>;
350	};
351
352	gpio_keys_pins: pinmux_gpio_keys_pins {
353		pinctrl-single,pins = <
354			AM33XX_IOPAD(0x940, PIN_INPUT | MUX_MODE7)
355		>;
356	};
357
358	gpio_pins: pinmux_gpio_pins {
359		pinctrl-single,pins = <
360			AM33XX_IOPAD(0x928, PIN_OUTPUT | MUX_MODE7)
361			AM33XX_IOPAD(0x990, PIN_OUTPUT | MUX_MODE7)
362		>;
363	};
364
 
365	i2c0_pins: pinmux_i2c0_pins {
366		pinctrl-single,pins = <
367			AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)
368			AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)
 
 
 
 
 
 
 
369		>;
370	};
371
372	lcd_disen_pins: pinmux_lcd_disen_pins {
373		pinctrl-single,pins = <
 
374			AM33XX_IOPAD(0x9a4, PIN_OUTPUT_PULLUP | SLEWCTRL_SLOW | MUX_MODE7)
375		>;
376	};
377
378	lcd_pins_default: pinmux_lcd_pins_default {
379		pinctrl-single,pins = <
 
380			AM33XX_IOPAD(0x820, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
381			AM33XX_IOPAD(0x824, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
382			AM33XX_IOPAD(0x828, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
383			AM33XX_IOPAD(0x82c, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
384			AM33XX_IOPAD(0x830, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
385			AM33XX_IOPAD(0x834, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
386			AM33XX_IOPAD(0x838, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
387			AM33XX_IOPAD(0x83c, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
 
388			AM33XX_IOPAD(0x8a0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
389			AM33XX_IOPAD(0x8a4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
390			AM33XX_IOPAD(0x8a8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
391			AM33XX_IOPAD(0x8ac, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
392			AM33XX_IOPAD(0x8b0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
393			AM33XX_IOPAD(0x8b4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
394			AM33XX_IOPAD(0x8b8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
395			AM33XX_IOPAD(0x8bc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
396			AM33XX_IOPAD(0x8c0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
397			AM33XX_IOPAD(0x8c4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
398			AM33XX_IOPAD(0x8c8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
399			AM33XX_IOPAD(0x8cc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
400			AM33XX_IOPAD(0x8d0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
401			AM33XX_IOPAD(0x8d4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
402			AM33XX_IOPAD(0x8d8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
403			AM33XX_IOPAD(0x8dc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
404			AM33XX_IOPAD(0x8e0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
405			AM33XX_IOPAD(0x8e4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
406			AM33XX_IOPAD(0x8e8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
 
407			AM33XX_IOPAD(0x8ec, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
408		>;
409	};
410
411	lcd_pins_sleep: pinmux_lcd_pins_sleep {
412		pinctrl-single,pins = <
 
413			AM33XX_IOPAD(0x8a0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
414			AM33XX_IOPAD(0x8a4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
415			AM33XX_IOPAD(0x8a8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
416			AM33XX_IOPAD(0x8ac, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
417			AM33XX_IOPAD(0x8b0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
418			AM33XX_IOPAD(0x8b4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
419			AM33XX_IOPAD(0x8b8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
420			AM33XX_IOPAD(0x8bc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
421			AM33XX_IOPAD(0x8c0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
422			AM33XX_IOPAD(0x8c4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
423			AM33XX_IOPAD(0x8c8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
424			AM33XX_IOPAD(0x8cc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
425			AM33XX_IOPAD(0x8d0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
426			AM33XX_IOPAD(0x8d4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
427			AM33XX_IOPAD(0x8d8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
428			AM33XX_IOPAD(0x8dc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
 
429			AM33XX_IOPAD(0x8e0, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
 
430			AM33XX_IOPAD(0x8e4, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
 
431			AM33XX_IOPAD(0x8e8, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
 
432			AM33XX_IOPAD(0x8ec, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
433		>;
434	};
435
436	leds_pins: pinmux_leds_pins {
437		pinctrl-single,pins = <
438			AM33XX_IOPAD(0x868, PIN_OUTPUT | MUX_MODE7)
439			AM33XX_IOPAD(0x86c, PIN_OUTPUT | MUX_MODE7)
440		>;
441	};
442
443	mmc1_pins: pinmux_mmc1_pins {
444		pinctrl-single,pins = <
445			AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)
446			AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)
447			AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)
448			AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)
449			AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)
450			AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)
451			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7)
452		>;
453	};
454
455	spi0_pins: pinmux_spi0_pins {
456		pinctrl-single,pins = <
 
457			AM33XX_IOPAD(0x950, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
 
458			AM33XX_IOPAD(0x954, PIN_OUTPUT_PULLUP | MUX_MODE0)
 
459			AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0)
 
460			AM33XX_IOPAD(0x95c, PIN_OUTPUT_PULLUP | MUX_MODE0)
461		>;
462	};
463
464	uart0_pins: pinmux_uart0_pins {
465		pinctrl-single,pins = <
 
466			AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)
 
467			AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
468		>;
469	};
470
 
 
 
 
 
 
 
 
 
471	nandflash_pins: pinmux_nandflash_pins {
472		pinctrl-single,pins = <
 
473			AM33XX_IOPAD(0x800, PIN_INPUT | MUX_MODE0)
 
474			AM33XX_IOPAD(0x804, PIN_INPUT | MUX_MODE0)
 
475			AM33XX_IOPAD(0x808, PIN_INPUT | MUX_MODE0)
 
476			AM33XX_IOPAD(0x80c, PIN_INPUT | MUX_MODE0)
 
477			AM33XX_IOPAD(0x810, PIN_INPUT | MUX_MODE0)
 
478			AM33XX_IOPAD(0x814, PIN_INPUT | MUX_MODE0)
 
479			AM33XX_IOPAD(0x818, PIN_INPUT | MUX_MODE0)
 
480			AM33XX_IOPAD(0x81c, PIN_INPUT | MUX_MODE0)
 
481			AM33XX_IOPAD(0x870, PIN_INPUT | MUX_MODE0)
 
482			AM33XX_IOPAD(0x874, PIN_OUTPUT | MUX_MODE0)
 
483			AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)
 
484			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)
 
485			AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)
 
486			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)
 
487			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)
488		>;
489	};
490};