imx6 iomux相关

gpio相关的几种寄存器

pad control register :pad控制
pad mux register:pad 复用
select input register:输入模式选择

比如
EIM_D16

imx6 iomux相关_第1张图片


imx6 iomux相关_第2张图片 imx6 iomux相关_第3张图片



imx6 iomux相关_第4张图片




imx6 iomux相关_第5张图片





比如要把MX53_PAD_EIM_OE设置为输入模式并且上拉:

uboot下
u32 reg;
mxc_request_iomux(MX53_PIN_EIM_OE, IOMUX_CONFIG_ALT1);
mxc_iomux_set_pad(MX53_PIN_EIM_OE, PAD_CTL_22K_PU|PAD_CTL_PUE_PULL|PAD_CTL_PKE_ENABLE); 
reg = readl(GPIO2_BASE_ADDR + GPIO_GDIR);
reg &= ~(1<<25);
writel(reg, GPIO2_BASE_ADDR + GPIO_GDIR);


内核下
在mx53_smd.c
static iomux_v3_cfg_t mx53_smd_pads[] = {
      /*LCD5V_EN*/
       MX53_PAD_EIM_OE__GPIO2_25,
...
}

在iomux-mx53.h中
#define MX53_PAD_EIM_OE__GPIO2_25 (_MX53_PAD_EIM_OE__GPIO2_25 | MUX_PAD_CTRL(PAD_CTL_PUS_22K_UP|PAD_CTL_PKE|PAD_CTL_PUE)) 

然后进入文件系统之后,直接
echo 57 > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio57/direction
cat /sys/class/gpio/gpio57/value

你可能感兴趣的:(cpu-a9-mx6)