wjkj 发表于 2021-3-24 22:31:22

LS1046在uboot中无法操作GPIO

在uboot中采用多种方法无法操作GPIO1_30
   在uboot中添加源码如下:
u32 __iomem *pGPDIR = (u32 *)GPIO1_BASE_ADDR;
        u32 __iomem *pGPODR = (u32 *)(GPIO1_BASE_ADDR+4);
        u32 __iomem *pGPDAT = (u32 *)(GPIO1_BASE_ADDR+8);

        setbits_le32(pGPDIR,(1<<30));
        clrbits_le32(pGPODR,(1<<30));
        clrbits_le32(pGPDAT,(1<<30));编译烧写之后,进入uboot,使用printf打印相应寄存器的值,确认值是写进寄存器了的,但是GPIO1_30输出的一直是1.6V。
进入uboot命令交互之后,使用md.l 2300000 查看相应寄存器的值,再次确认值是写进寄存器了的。同时使用mw.l命令写GPIODAT寄存器,IO输出一直是1.6V。
确定RCW是配置成功了的,因为进入内核后,能够通过echo 1 >/sys/class/gpio510/value 操作gpio。

510235506 发表于 2022-11-23 12:53:49

1046 gpio寄存器有点怪 是大端 ,可能是移位错
页: [1]
查看完整版本: LS1046在uboot中无法操作GPIO