0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
0004 * Copyright (C) 2018 Robert Bosch Power Tools GmbH
0005 */
0006 /dts-v1/;
0007
0008 #include "am33xx.dtsi"
0009 #include <dt-bindings/input/input.h>
0010 #include <dt-bindings/interrupt-controller/irq.h>
0011
0012 / {
0013 model = "Bosch AM335x Guardian";
0014 compatible = "bosch,am335x-guardian", "ti,am33xx";
0015
0016 chosen {
0017 stdout-path = &uart0;
0018 tick-timer = &timer2;
0019 };
0020
0021 cpus {
0022 cpu@0 {
0023 cpu0-supply = <&dcdc2_reg>;
0024 };
0025 };
0026
0027 memory@80000000 {
0028 device_type = "memory";
0029 reg = <0x80000000 0x10000000>; /* 256 MB */
0030 };
0031
0032 guardian_buttons: gpio-keys {
0033 pinctrl-names = "default";
0034 pinctrl-0 = <&guardian_button_pins>;
0035 compatible = "gpio-keys";
0036
0037 select-button {
0038 label = "guardian-select-button";
0039 linux,code = <KEY_5>;
0040 gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
0041 wakeup-source;
0042 };
0043
0044 power-button {
0045 label = "guardian-power-button";
0046 linux,code = <KEY_POWER>;
0047 gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
0048 wakeup-source;
0049 };
0050 };
0051
0052 guardian_leds: gpio-leds {
0053 pinctrl-names = "default";
0054 pinctrl-0 = <&guardian_led_pins>;
0055 compatible = "gpio-leds";
0056
0057 life-led {
0058 label = "guardian:life-led";
0059 gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
0060 linux,default-trigger = "heartbeat";
0061 default-state = "off";
0062 };
0063 };
0064
0065 gpio-poweroff {
0066 compatible = "gpio-poweroff";
0067 gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
0068 };
0069
0070 panel {
0071 compatible = "ti,tilcdc,panel";
0072 pinctrl-names = "default", "sleep";
0073 pinctrl-0 = <&lcd_pins_default &lcd_disen_pins>;
0074 pinctrl-1 = <&lcd_pins_sleep>;
0075
0076 display-timings {
0077 320x240 {
0078 hactive = <320>;
0079 vactive = <240>;
0080 hback-porch = <68>;
0081 hfront-porch = <20>;
0082 hsync-len = <1>;
0083 vback-porch = <18>;
0084 vfront-porch = <4>;
0085 vsync-len = <1>;
0086 clock-frequency = <9000000>;
0087 hsync-active = <0>;
0088 vsync-active = <0>;
0089 };
0090 };
0091 panel-info {
0092 ac-bias = <255>;
0093 ac-bias-intrpt = <0>;
0094 dma-burst-sz = <16>;
0095 bpp = <24>;
0096 bus-width = <16>;
0097 fdd = <0x80>;
0098 sync-edge = <0>;
0099 sync-ctrl = <1>;
0100 raster-order = <0>;
0101 fifo-th = <0>;
0102 };
0103
0104 };
0105
0106 guardian_beeper: dmtimer-pwm@7 {
0107 compatible = "ti,omap-dmtimer-pwm";
0108 ti,timers = <&timer7>;
0109 pinctrl-names = "default";
0110 pinctrl-0 = <&guardian_beeper_pins>;
0111 ti,clock-source = <0x01>;
0112 };
0113
0114 vmmcsd_fixed: fixedregulator0 {
0115 compatible = "regulator-fixed";
0116 regulator-name = "vmmcsd_fixed";
0117 regulator-min-microvolt = <3300000>;
0118 regulator-max-microvolt = <3300000>;
0119 };
0120
0121 mt_keypad: mt_keypad@0 {
0122 compatible = "gpio-mt-keypad";
0123 debounce-delay-ms = <10>;
0124 col-scan-delay-us = <2>;
0125 keypad,num-lines = <5>;
0126 linux,no-autorepeat;
0127 gpio-activelow;
0128 line-gpios = <
0129 &gpio1 24 GPIO_ACTIVE_LOW /*gpio_56*/
0130 &gpio1 23 GPIO_ACTIVE_LOW /*gpio_55*/
0131 &gpio1 22 GPIO_ACTIVE_LOW /*gpio_54*/
0132 &gpio1 20 GPIO_ACTIVE_LOW /*gpio_52*/
0133 &gpio1 16 GPIO_ACTIVE_LOW /*gpio_48*/
0134 >;
0135 };
0136 };
0137
0138 &elm {
0139 status = "okay";
0140 };
0141
0142 &gpmc {
0143 pinctrl-names = "default";
0144 pinctrl-0 = <&nandflash_pins>;
0145 ranges = <0 0 0x08000000 0x1000000>; /* CS0: 16MB for NAND */
0146 status = "okay";
0147
0148 nand@0,0 {
0149 compatible = "ti,omap2-nand";
0150 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
0151 interrupt-parent = <&gpmc>;
0152 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
0153 <1 IRQ_TYPE_NONE>; /* termcount */
0154 rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 */
0155 ti,nand-xfer-type = "prefetch-dma";
0156 ti,nand-ecc-opt = "bch16";
0157 ti,elm-id = <&elm>;
0158 nand-bus-width = <8>;
0159 gpmc,device-width = <1>;
0160 gpmc,sync-clk-ps = <0>;
0161 gpmc,cs-on-ns = <0>;
0162 gpmc,cs-rd-off-ns = <30>;
0163 gpmc,cs-wr-off-ns = <30>;
0164 gpmc,adv-on-ns = <0>;
0165 gpmc,adv-rd-off-ns = <30>;
0166 gpmc,adv-wr-off-ns = <30>;
0167 gpmc,we-on-ns = <0>;
0168 gpmc,we-off-ns = <15>;
0169 gpmc,oe-on-ns = <1>;
0170 gpmc,oe-off-ns = <15>;
0171 gpmc,access-ns = <30>;
0172 gpmc,rd-cycle-ns = <30>;
0173 gpmc,wr-cycle-ns = <30>;
0174 gpmc,bus-turnaround-ns = <0>;
0175 gpmc,cycle2cycle-delay-ns = <0>;
0176 gpmc,clk-activation-ns = <0>;
0177 gpmc,wr-access-ns = <0>;
0178 gpmc,wr-data-mux-bus-ns = <0>;
0179
0180 /*
0181 * MTD partition table
0182 *
0183 * All SPL-* partitions are sized to minimal length which can
0184 * be independently programmable. For NAND flash this is equal
0185 * to size of erase-block.
0186 */
0187 #address-cells = <1>;
0188 #size-cells = <1>;
0189
0190 partition@0 {
0191 label = "SPL";
0192 reg = <0x0 0x40000>;
0193 };
0194
0195 partition@1 {
0196 label = "SPL.backup1";
0197 reg = <0x40000 0x40000>;
0198 };
0199
0200 partition@2 {
0201 label = "SPL.backup2";
0202 reg = <0x80000 0x40000>;
0203 };
0204
0205 partition@3 {
0206 label = "SPL.backup3";
0207 reg = <0xc0000 0x40000>;
0208 };
0209
0210 partition@4 {
0211 label = "u-boot";
0212 reg = <0x100000 0x100000>;
0213 };
0214
0215 partition@5 {
0216 label = "u-boot.backup1";
0217 reg = <0x200000 0x100000>;
0218 };
0219
0220 partition@6 {
0221 label = "u-boot-2";
0222 reg = <0x300000 0x100000>;
0223 };
0224
0225 partition@7 {
0226 label = "u-boot-2.backup1";
0227 reg = <0x400000 0x100000>;
0228 };
0229
0230 partition@8 {
0231 label = "u-boot-env";
0232 reg = <0x500000 0x40000>;
0233 };
0234
0235 partition@9 {
0236 label = "u-boot-env.backup1";
0237 reg = <0x540000 0x40000>;
0238 };
0239
0240 partition@10 {
0241 label = "splash-screen";
0242 reg = <0x580000 0x40000>;
0243 };
0244
0245 partition@11 {
0246 label = "UBI";
0247 reg = <0x5c0000 0x1fa40000>;
0248 };
0249 };
0250 };
0251
0252 &i2c0 {
0253 pinctrl-names = "default";
0254 pinctrl-0 = <&i2c0_pins>;
0255 clock-frequency = <400000>;
0256 status = "okay";
0257
0258 tps: tps@24 {
0259 reg = <0x24>;
0260 };
0261 };
0262
0263 &lcdc {
0264 blue-and-red-wiring = "crossed";
0265 status = "okay";
0266 port {
0267 lcdc_0: endpoint@0 {
0268 remote-endpoint = <0>;
0269 };
0270 };
0271 };
0272
0273 &mmc1 {
0274 bus-width = <0x4>;
0275 pinctrl-names = "default";
0276 pinctrl-0 = <&mmc1_pins>;
0277 cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
0278 vmmc-supply = <&vmmcsd_fixed>;
0279 status = "okay";
0280 };
0281
0282 &rtc {
0283 clocks = <&clk_32768_ck>, <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
0284 clock-names = "ext-clk", "int-clk";
0285 };
0286
0287 &spi0 {
0288 ti,pindir-d0-out-d1-in;
0289 pinctrl-names = "default";
0290 pinctrl-0 = <&spi0_pins>;
0291 status = "okay";
0292 };
0293
0294 #include "tps65217.dtsi"
0295
0296 &tps {
0297 /*
0298 * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
0299 * mode") at poweroff. Most BeagleBone versions do not support RTC-only
0300 * mode and risk hardware damage if this mode is entered.
0301 *
0302 * For details, see linux-omap mailing list May 2015 thread
0303 * [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
0304 * In particular, messages:
0305 * http://www.spinics.net/lists/linux-omap/msg118585.html
0306 * http://www.spinics.net/lists/linux-omap/msg118615.html
0307 *
0308 * You can override this later with
0309 * &tps { /delete-property/ ti,pmic-shutdown-controller; }
0310 * if you want to use RTC-only mode and made sure you are not affected
0311 * by the hardware problems. (Tip: double-check by performing a current
0312 * measurement after shutdown: it should be less than 1 mA.)
0313 */
0314 ti,pmic-shutdown-controller;
0315 interrupt-parent = <&intc>;
0316 interrupts = <7>; /* NMI */
0317
0318 backlight {
0319 isel = <1>; /* 1 - ISET1, 2 ISET2 */
0320 fdim = <500>; /* TPS65217_BL_FDIM_500HZ */
0321 default-brightness = <50>;
0322 /* 1(on) - enable current sink, while initialization */
0323 /* 0(off) - disable current sink, while initialization */
0324 isink-en = <1>;
0325 };
0326
0327 regulators {
0328 dcdc1_reg: regulator@0 {
0329 regulator-name = "vdds_dpr";
0330 regulator-always-on;
0331 };
0332
0333 dcdc2_reg: regulator@1 {
0334 /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
0335 regulator-name = "vdd_mpu";
0336 regulator-min-microvolt = <925000>;
0337 regulator-max-microvolt = <1351500>;
0338 regulator-boot-on;
0339 regulator-always-on;
0340 };
0341
0342 dcdc3_reg: regulator@2 {
0343 /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
0344 regulator-name = "vdd_core";
0345 regulator-min-microvolt = <925000>;
0346 regulator-max-microvolt = <1150000>;
0347 regulator-boot-on;
0348 regulator-always-on;
0349 };
0350
0351 ldo1_reg: regulator@3 {
0352 regulator-name = "vio,vrtc,vdds";
0353 regulator-always-on;
0354 };
0355
0356 ldo2_reg: regulator@4 {
0357 regulator-name = "vdd_3v3aux";
0358 regulator-always-on;
0359 };
0360
0361 ldo3_reg: regulator@5 {
0362 regulator-name = "vdd_1v8";
0363 regulator-min-microvolt = <1800000>;
0364 regulator-max-microvolt = <1800000>;
0365 regulator-always-on;
0366 };
0367
0368 ldo4_reg: regulator@6 {
0369 regulator-name = "vdd_3v3a";
0370 regulator-always-on;
0371 };
0372 };
0373 };
0374
0375 &tscadc {
0376 status = "okay";
0377
0378 adc {
0379 ti,adc-channels = <0 1 2 3 4 5 6>;
0380 };
0381 };
0382
0383 &gpio0 {
0384 gpio-line-names =
0385 "",
0386 "",
0387 "",
0388 "",
0389 "",
0390 "",
0391 "",
0392 "",
0393 "",
0394 "",
0395 "",
0396 "",
0397 "",
0398 "",
0399 "",
0400 "",
0401 "",
0402 "",
0403 "",
0404 "",
0405 "",
0406 "",
0407 "",
0408 "",
0409 "",
0410 "",
0411 "",
0412 "",
0413 "",
0414 "MirxWakeup",
0415 "",
0416 "";
0417 };
0418
0419 &gpio3 {
0420 ti,gpio-always-on;
0421 ti,no-reset-on-init;
0422 gpio-line-names =
0423 "",
0424 "MirxBtReset",
0425 "",
0426 "CcVolAdcEn",
0427 "MirxBlePause",
0428 "",
0429 "",
0430 "",
0431 "",
0432 "",
0433 "",
0434 "",
0435 "",
0436 "",
0437 "AspEn",
0438 "",
0439 "",
0440 "",
0441 "",
0442 "",
0443 "",
0444 "BatVolAdcEn",
0445 "",
0446 "",
0447 "",
0448 "",
0449 "",
0450 "",
0451 "",
0452 "",
0453 "",
0454 "";
0455 };
0456
0457 &uart0 {
0458 pinctrl-names = "default";
0459 pinctrl-0 = <&uart0_pins>;
0460 status = "okay";
0461 };
0462
0463 &uart2 {
0464 pinctrl-names = "default";
0465 pinctrl-0 = <&uart2_pins>;
0466 status = "okay";
0467 };
0468
0469 &usb0 {
0470 dr_mode = "peripheral";
0471 };
0472
0473 &usb1 {
0474 dr_mode = "host";
0475 /delete-property/dmas;
0476 /delete-property/dma-names;
0477 };
0478
0479 &am33xx_pinmux {
0480 pinctrl-names = "default";
0481 pinctrl-0 = <&clkout2_pin &guardian_interface_pins>;
0482
0483 clkout2_pin: pinmux_clkout2_pin {
0484 pinctrl-single,pins = <
0485 /* xdma_event_intr1.clkout2 */
0486 AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3)
0487 >;
0488 };
0489
0490 guardian_interface_pins: pinmux_interface_pins {
0491 pinctrl-single,pins = <
0492 /* ADC_BATSENSE_EN */
0493 /* (A14) MCASP0_AHCLKx.gpio3[21] */
0494 AM33XX_IOPAD(0x9ac, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
0495 /* ADC_COINCELL_EN */
0496 /* (J16) MII1_TX_EN.gpio3[3] */
0497 AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
0498 /* ASP_ENABLE */
0499 /* (A13) MCASP0_ACLKx.gpio3[14] */
0500 AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLUP | MUX_MODE7)
0501 /* (D16) uart1_rxd.uart1_rxd */
0502 AM33XX_IOPAD(0x980, PIN_INPUT | MUX_MODE7)
0503 /* (D15) uart1_txd.uart1_txd */
0504 AM33XX_IOPAD(0x984, PIN_INPUT | MUX_MODE7)
0505 /*SWITCH-OFF_3V6*/
0506 /* (M18) gpio0[1] */
0507 AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE7)
0508 /* MIRACULIX */
0509 /* (H17) gmii1_crs.gpio3[1] */
0510 AM33XX_IOPAD(0x90c, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
0511 /* (H18) rmii1_refclk.gpio0[29] */
0512 AM33XX_IOPAD(0x944, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
0513 /* (J18) gmii1_txd3.gpio0[16] */
0514 AM33XX_IOPAD(0x91c, PIN_INPUT | MUX_MODE7 )
0515 /* (J17) gmii1_rxdv.gpio3[4] */
0516 AM33XX_IOPAD(0x918, PIN_OUTPUT_PULLDOWN | MUX_MODE7 )
0517 >;
0518 };
0519
0520 guardian_beeper_pins: pinmux_dmtimer7_pins {
0521 pinctrl-single,pins = <
0522 AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5) /* (E18) timer7 */
0523 >;
0524 };
0525
0526 guardian_button_pins: pinmux_guardian_button_pins {
0527 pinctrl-single,pins = <
0528 AM33XX_IOPAD(0x940, PIN_INPUT | MUX_MODE7) /* (M16) gmii1_rxd0.gpio2[21] */
0529 AM33XX_IOPAD(0x884, PIN_INPUT | MUX_MODE7) /* (V9) gpmc_csn2.gpio1[31] */
0530 >;
0531 };
0532
0533
0534 i2c0_pins: pinmux_i2c0_pins {
0535 pinctrl-single,pins = <
0536 AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
0537 AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
0538 >;
0539 };
0540
0541 led_bl_pins: gpio_led_bl_pins {
0542 pinctrl-single,pins = <
0543 /* P9_14, gpmc_a[2].GPIO1[18] (backlight control) */
0544 AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE7)
0545 >;
0546 };
0547
0548 lcd_disen_pins: pinmux_lcd_disen_pins {
0549 pinctrl-single,pins = <
0550 /* P9_27, mcasp0_fsr.gpio3[19] (lcd_disen) */
0551 AM33XX_IOPAD(0x9a4, PIN_OUTPUT_PULLUP | SLEWCTRL_SLOW | MUX_MODE7)
0552 >;
0553 };
0554
0555 lcd_pins_default: pinmux_lcd_pins_default {
0556 pinctrl-single,pins = <
0557 /* (U10) gpmc_ad8.lcd_data23 */
0558 AM33XX_IOPAD(0x820, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0559 /* (T10) gpmc_ad9.lcd_data22 */
0560 AM33XX_IOPAD(0x824, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0561 /* (T11) gpmc_ad10.lcd_data21 */
0562 AM33XX_IOPAD(0x828, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0563 /* (U12) gpmc_ad11.lcd_data20 */
0564 AM33XX_IOPAD(0x82c, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0565 /* (T12) gpmc_ad12.lcd_data19 */
0566 AM33XX_IOPAD(0x830, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0567 /* (R12) gpmc_ad13.lcd_data18 */
0568 AM33XX_IOPAD(0x834, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0569 /* (V13) gpmc_ad14.lcd_data17 */
0570 AM33XX_IOPAD(0x838, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0571 /* (U13) gpmc_ad15.lcd_data16 */
0572 AM33XX_IOPAD(0x83c, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE1)
0573 /* lcd_data0.lcd_data0 */
0574 AM33XX_IOPAD(0x8a0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0575 /* lcd_data1.lcd_data1 */
0576 AM33XX_IOPAD(0x8a4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0577 /* lcd_data2.lcd_data2 */
0578 AM33XX_IOPAD(0x8a8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0579 /* lcd_data3.lcd_data3 */
0580 AM33XX_IOPAD(0x8ac, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0581 /* lcd_data4.lcd_data4 */
0582 AM33XX_IOPAD(0x8b0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0583 /* lcd_data5.lcd_data5 */
0584 AM33XX_IOPAD(0x8b4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0585 /* lcd_data6.lcd_data6 */
0586 AM33XX_IOPAD(0x8b8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0587 /* lcd_data7.lcd_data7 */
0588 AM33XX_IOPAD(0x8bc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0589 /* lcd_data8.lcd_data8 */
0590 AM33XX_IOPAD(0x8c0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0591 /* lcd_data9.lcd_data9 */
0592 AM33XX_IOPAD(0x8c4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0593 /* lcd_data10.lcd_data10 */
0594 AM33XX_IOPAD(0x8c8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0595 /* lcd_data11.lcd_data11 */
0596 AM33XX_IOPAD(0x8cc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0597 /* lcd_data12.lcd_data12 */
0598 AM33XX_IOPAD(0x8d0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0599 /* lcd_data13.lcd_data13 */
0600 AM33XX_IOPAD(0x8d4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0601 /* lcd_data14.lcd_data14 */
0602 AM33XX_IOPAD(0x8d8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0603 /* lcd_data15.lcd_data15 */
0604 AM33XX_IOPAD(0x8dc, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0605 /* lcd_vsync.lcd_vsync */
0606 AM33XX_IOPAD(0x8e0, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0607 /* lcd_hsync.lcd_hsync */
0608 AM33XX_IOPAD(0x8e4, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0609 /* lcd_pclk.lcd_pclk */
0610 AM33XX_IOPAD(0x8e8, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0611 /* lcd_ac_bias_en.lcd_ac_bias_en */
0612 AM33XX_IOPAD(0x8ec, PIN_OUTPUT | SLEWCTRL_SLOW | MUX_MODE0)
0613 >;
0614 };
0615
0616 lcd_pins_sleep: pinmux_lcd_pins_sleep {
0617 pinctrl-single,pins = <
0618 /* lcd_data0.lcd_data0 */
0619 AM33XX_IOPAD(0x8a0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0620 /* lcd_data1.lcd_data1 */
0621 AM33XX_IOPAD(0x8a4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0622 /* lcd_data2.lcd_data2 */
0623 AM33XX_IOPAD(0x8a8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0624 /* lcd_data3.lcd_data3 */
0625 AM33XX_IOPAD(0x8ac, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0626 /* lcd_data4.lcd_data4 */
0627 AM33XX_IOPAD(0x8b0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0628 /* lcd_data5.lcd_data5 */
0629 AM33XX_IOPAD(0x8b4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0630 /* lcd_data6.lcd_data6 */
0631 AM33XX_IOPAD(0x8b8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0632 /* lcd_data7.lcd_data7 */
0633 AM33XX_IOPAD(0x8bc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0634 /* lcd_data8.lcd_data8 */
0635 AM33XX_IOPAD(0x8c0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0636 /* lcd_data9.lcd_data9 */
0637 AM33XX_IOPAD(0x8c4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0638 /* lcd_data10.lcd_data10 */
0639 AM33XX_IOPAD(0x8c8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0640 /* lcd_data11.lcd_data11 */
0641 AM33XX_IOPAD(0x8cc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0642 /* lcd_data12.lcd_data12 */
0643 AM33XX_IOPAD(0x8d0, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0644 /* lcd_data13.lcd_data13 */
0645 AM33XX_IOPAD(0x8d4, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0646 /* lcd_data14.lcd_data14 */
0647 AM33XX_IOPAD(0x8d8, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0648 /* lcd_data15.lcd_data15 */
0649 AM33XX_IOPAD(0x8dc, PULL_DISABLE | SLEWCTRL_SLOW | MUX_MODE7)
0650 /* lcd_vsync.lcd_vsync */
0651 AM33XX_IOPAD(0x8e0, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
0652 /* lcd_hsync.lcd_hsync */
0653 AM33XX_IOPAD(0x8e4, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
0654 /* lcd_pclk.lcd_pclk */
0655 AM33XX_IOPAD(0x8e8, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
0656 /* lcd_ac_bias_en.lcd_ac_bias_en */
0657 AM33XX_IOPAD(0x8ec, PIN_INPUT_PULLDOWN | SLEWCTRL_SLOW | MUX_MODE7)
0658 >;
0659 };
0660
0661 guardian_led_pins: pinmux_guardian_led_pins {
0662 pinctrl-single,pins = <
0663 AM33XX_IOPAD(0x868, PIN_OUTPUT | MUX_MODE7) /* (T16) gpmc_a10.gpio1[26] */
0664 >;
0665 };
0666
0667 mmc1_pins: pinmux_mmc1_pins {
0668 pinctrl-single,pins = <
0669 AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
0670 AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
0671 AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
0672 AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
0673 AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
0674 AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
0675 AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* GPIO0_6 */
0676 >;
0677 };
0678
0679 spi0_pins: pinmux_spi0_pins {
0680 pinctrl-single,pins = <
0681 /* SPI0_CLK - spi0_clk.spi */
0682 AM33XX_IOPAD(0x950, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
0683 /* SPI0_MOSI - spi0_d0.spi0 */
0684 AM33XX_IOPAD(0x954, PIN_OUTPUT_PULLUP | MUX_MODE0)
0685 /* SPI0_MISO - spi0_d1.spi0 */
0686 AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0)
0687 /* SPI0_CS0 - spi */
0688 AM33XX_IOPAD(0x95c, PIN_OUTPUT_PULLUP | MUX_MODE0)
0689 >;
0690 };
0691
0692 uart0_pins: pinmux_uart0_pins {
0693 pinctrl-single,pins = <
0694 /* uart0_rxd.uart0_rxd */
0695 AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)
0696 /* uart0_txd.uart0_txd */
0697 AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
0698 >;
0699 };
0700
0701 uart2_pins: pinmux_uart2_pins {
0702 pinctrl-single,pins = <
0703 /* K18 uart2_rxd.mirx_txd */
0704 AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE1)
0705 /* L18 uart2_txd.mirx_rxd */
0706 AM33XX_IOPAD(0x930, PIN_OUTPUT_PULLDOWN | MUX_MODE1)
0707 >;
0708 };
0709
0710 nandflash_pins: pinmux_nandflash_pins {
0711 pinctrl-single,pins = <
0712 /* (U7) gpmc_ad0.gpmc_ad0 */
0713 AM33XX_IOPAD(0x800, PIN_INPUT | MUX_MODE0)
0714 /* (V7) gpmc_ad1.gpmc_ad1 */
0715 AM33XX_IOPAD(0x804, PIN_INPUT | MUX_MODE0)
0716 /* (R8) gpmc_ad2.gpmc_ad2 */
0717 AM33XX_IOPAD(0x808, PIN_INPUT | MUX_MODE0)
0718 /* (T8) gpmc_ad3.gpmc_ad3 */
0719 AM33XX_IOPAD(0x80c, PIN_INPUT | MUX_MODE0)
0720 /* (U8) gpmc_ad4.gpmc_ad4 */
0721 AM33XX_IOPAD(0x810, PIN_INPUT | MUX_MODE0)
0722 /* (V8) gpmc_ad5.gpmc_ad5 */
0723 AM33XX_IOPAD(0x814, PIN_INPUT | MUX_MODE0)
0724 /* (R9) gpmc_ad6.gpmc_ad6 */
0725 AM33XX_IOPAD(0x818, PIN_INPUT | MUX_MODE0)
0726 /* (T9) gpmc_ad7.gpmc_ad7 */
0727 AM33XX_IOPAD(0x81c, PIN_INPUT | MUX_MODE0)
0728 /* (T17) gpmc_wait0.gpmc_wait0 */
0729 AM33XX_IOPAD(0x870, PIN_INPUT | MUX_MODE0)
0730 /* (U17) gpmc_wpn.gpmc_wpn */
0731 AM33XX_IOPAD(0x874, PIN_OUTPUT | MUX_MODE0)
0732 /* (V6) gpmc_csn0.gpmc_csn0 */
0733 AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)
0734 /* (R7) gpmc_advn_ale.gpmc_advn_ale */
0735 AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)
0736 /* (T7) gpmc_oen_ren.gpmc_oen_ren */
0737 AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)
0738 /* (U6) gpmc_wen.gpmc_wen */
0739 AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)
0740 /* (T6) gpmc_be0n_cle.gpmc_be0n_cle */
0741 AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)
0742 >;
0743 };
0744 };