嵌入式爱好者

查看: 25735|回复: 2

[Linux] imx6q修改寄存器的值,用ioremap映射不可以,换成MX6_IO_ADDRESS就可以,为什么?

[复制链接]

5

主题

6

帖子

64

积分

i.MX6UL通行证i.MX6Q通行证

扫一扫,手机访问本帖
发表于 2018-12-18 15:29:15 | 显示全部楼层 |阅读模式
imx6q修改寄存器的值,用ioremap映射后writel写值修改不成功,换成MX6_IO_ADDRESS这个宏就可以,为什么?
回复

使用道具 举报

1

主题

3670

帖子

4157

积分

发表于 2018-12-21 13:30:44 | 显示全部楼层
您好
您那边是怎么配置的,可以给您看一看

点评

#define SPI_BASE_REG_ADDR 0x0200c000 unsigned int *spi_base_reg_addr = ioremap(SPI_BASE_REG_ADDR, 0x40); writel(0x00748828, spi_base_reg_addr+0x08); //复位SPI模块 writ  详情 回复 发表于 2019-1-19 21:15
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

5

主题

6

帖子

64

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2019-1-19 21:15:14 | 显示全部楼层
飞凌-chongzi 发表于 2018-12-21 13:30
您好
您那边是怎么配置的,可以给您看一看

        #define SPI_BASE_REG_ADDR    0x0200c000

        unsigned int *spi_base_reg_addr = ioremap(SPI_BASE_REG_ADDR, 0x40);
        writel(0x00748828, spi_base_reg_addr+0x08);    //复位SPI模块
       
        writel(0x00740029, spi_base_reg_addr+0x08);    //配置SPI寄存器,spi时钟频率在此寄存器设置
        writel(0x02200, spi_base_reg_addr+0x0c);      
       
        ccm_ccgr1 = ioremap(CCM_CCGR1, 4);             //使能SPI时钟
        writel(0x300c0c, ccm_ccgr1);
       
        val0 = readl(spi_base_reg_addr);       
        val1 = readl(spi_base_reg_addr+0x4);       
        val2 = readl(spi_base_reg_addr+0x8);       
        val3 = readl(spi_base_reg_addr+0xc);
        val4 = readl(spi_base_reg_addr+0x10);
        val5 = readl(spi_base_reg_addr+0x14);       
        val6 = readl(spi_base_reg_addr+0x18);
        val7 = readl(spi_base_reg_addr+0x1c);       
        val8 = readl(spi_base_reg_addr+0x20);       
        printk("<0>""%x\n %x\n %x\n %x\n", val0,val2,val3,val4);
        printk("<0>""\n %x\n %x\n %x\n %x\n", val5,val6,val7,val8);  
       
问题:我用的是imx6q-c开发板,Linux-3.0.35内核。
         unsigned int *spi_base_reg_addr = ioremap(SPI_BASE_REG_ADDR, 0x40);
       此函数映射后不能修改imx6q寄存器中的值 , 而经过下面的宏后,则读出来的数值是正确的!为什么?
        void __iomem *spi_base_reg_addr = MX6_IO_ADDRESS(SPI_BASE_REG_ADDR);

感谢技术支持的解答!
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-23 02:56

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表