我想读取dts中定义的某个引脚的寄存器值,确认下其设定成功,步骤如下:
1、dts中定义了 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b0a8
2、查看datasheet找到最后一个0x4001b0a8的寄存器地址为Address: 20E_0000h base + 368h offset = 20E_0368h
3、内核中使用readl(ioremap(0x020e0368, 0x1000))并不能打印出0x4001b0a8的值?结果是0x10b0?读取方式有问题?
对啊, IOMUX PAD寄存器的值在dts中被定义为 0x4001b0a8,我现在想在内核中读取IOMUX PAD寄存器,理论上IOMUX PAD寄存器里面的值应该是0x4001b0a8吧? 可是读取出来是0x10b0, 我是ioremap 20e0368后取4个字节, 20e0368是datasheet中标明的 IOMUX PAD的寄存器地址。
Hi,
MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b0a8的含义是把0x4001b0a8写入到IOMUX PAD寄存器,你的理解不对。
Have a great day,
Rita
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
我帖子中的表达有些问题,0x4001b0a8这个值是IOMUX PAD的值,那么我从datasheet中找 IOMUX PAD的地址,然后读取这个地址中的值应该是0x4001b0a8?可它读取出来是0x10b0并不是0x4001b0a8