Skip to main content

imx6ul GPIO pin multiplexing


1. GPIO Pin Allocation


SNO
BALL
PAD NAME
DEFAULT
DEFAULT  DIRECTION
DEFAULT VALUE
LINUX PIN NO
TESDED
1
B9
LCD_DATA00
GPIO3_IO05
IN
0
69
OK
2
E10
LCD_DATA02
GPIO3_IO07
IN
0
71
OK
3
D10
LCD_DATA03
GPIO3_IO08
IN
0
72
OK
4
B10
LCD_DATA05
GPIO3_IO10
IN
0
74
OK
5
D11
LCD_DATA07
GPIO3_IO12
IN
0
76
OK

2. Probing piont (Development Board)



3. DTS File Configuration

pinctrl_lcdif_dat: lcdifdatgrp {
                        fsl,pins = <
                                    MX6UL_PAD_LCD_DATA00__GPIO3_IO05    0xb0
                                    MX6UL_PAD_LCD_DATA01__LCDIF_DATA01  0x79
                                    MX6UL_PAD_LCD_DATA02__GPIO3_IO07    0xb0
                                    MX6UL_PAD_LCD_DATA03__GPIO3_IO08    0xb0
                                    MX6UL_PAD_LCD_DATA04__LCDIF_DATA04  0x79
                                    MX6UL_PAD_LCD_DATA05__GPIO3_IO10    0xb0
                                    MX6UL_PAD_LCD_DATA06__LCDIF_DATA06  0x79
                                    MX6UL_PAD_LCD_DATA07__GPIO3_IO12    0xb0
                                    MX6UL_PAD_LCD_DATA08__LCDIF_DATA08  0x79
                                    MX6UL_PAD_LCD_DATA09__LCDIF_DATA09  0x79
                                    MX6UL_PAD_LCD_DATA10__LCDIF_DATA10  0x79
                                    MX6UL_PAD_LCD_DATA11__LCDIF_DATA11  0x79
                                    MX6UL_PAD_LCD_DATA12__LCDIF_DATA12  0x79
                                    MX6UL_PAD_LCD_DATA13__LCDIF_DATA13  0x79
                                    MX6UL_PAD_LCD_DATA14__LCDIF_DATA14  0x79
                                    MX6UL_PAD_LCD_DATA15__LCDIF_DATA15  0x79
                                    MX6UL_PAD_LCD_DATA16__LCDIF_DATA16  0x79
                                    MX6UL_PAD_LCD_DATA17__LCDIF_DATA17  0x79
                                    MX6UL_PAD_LCD_DATA18__LCDIF_DATA18  0x79
                                    MX6UL_PAD_LCD_DATA19__LCDIF_DATA19  0x79
                                    MX6UL_PAD_LCD_DATA20__LCDIF_DATA20  0x79
                                    MX6UL_PAD_LCD_DATA21__LCDIF_DATA21  0x79
                                    MX6UL_PAD_LCD_DATA22__LCDIF_DATA22  0x79
                                    MX6UL_PAD_LCD_DATA23__LCDIF_DATA23  0x79
                        >;
           };


4. Linux File Location

 File         :   imx6ul-14x14-evk.dts

5. Linux commands to test GPIO

 5.1 Gpio Status
           cat /sys/kernel/debug/gpio

 5.2 To export GPIO port
          echo 1 > /sys/class/gpio/export

 5.3 To check GPIO value:
          cat /sys/class/gpio/gpio1/value

 5.4 To check direction:
           cat /sys/class/gpio/gpio1/direction

 5.5 To change  GPIO Direction:
          a) echo "out" > /sys/class/gpio/gpio1/direction
          b) echo "in" > /sys/class/gpio/gpio1/direction

5.6       To change  GPIO Value:  
         a) echo 1 > /sys/class/gpio/gpio1/value
         b) echo 0 > /sys/class/gpio/gpio1/value




Comments

Popular posts from this blog

CPU wake-up from hardware interrupt. DTS configuration imx6ul

Wakeup code from hardware Interrupt /* GPIO_Wakeup Pin configuration vikneshwar */         gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_keys>; power { label = "Wakeup Button";                          gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; linux,code = <KEY_WAKEUP>; /*  143  under input-event-codes.h*/          gpio-key,wakeup;                   }; };

Linux GPIO pin Calculation:

Linux GPIO pin Calculation:              Formula                  linux gpio number = (gpio bank – 1)x 32 + gpiopin no Example                 GPIO3 _ IO05                            gpio bank     =   GPIO 3        gpio pin no      =   IO0 5              (3-1) x 32 + 5 = 69