龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5101|回复: 3

请教智龙V2如何使用引脚复用

[复制链接]

5

主题

11

帖子

478

积分

中级会员

Rank: 3Rank: 3

积分
478
发表于 2015-10-27 16:14:54 | 显示全部楼层 |阅读模式
请教智龙V2如何使用引脚复用

内核/arch/mips/include/asm/mach-loongson/ls1x/regs-mux.h中定义了引脚复用地址
#define LS1X_CBUS_FIRST0                ((void __iomem *)0xbfd011c0)
#define LS1X_CBUS_SECOND0                ((void __iomem *)0xbfd011d0)
#define LS1X_CBUS_THIRD0                ((void __iomem *)0xbfd011e0)
#define LS1X_CBUS_FOURTHT0                ((void __iomem *)0xbfd011f0)

......

#define LS1X_CBUS_FIRST3                ((void __iomem *)0xbfd011cc)
#define LS1X_CBUS_SECOND3                ((void __iomem *)0xbfd011dc)
#define LS1X_CBUS_THIRD3                ((void __iomem *)0xbfd011ec)
#define LS1X_CBUS_FOURTHT3                ((void __iomem *)0xbfd011fc)

查阅《Loongson1C300_user_manual_v1.3》 《Loongson1C300_datasheet_v1.2》有关复用的说明
对这些寄存器写入值后,读出的总是0,引脚复用也没有实现,怎么样才能启用引脚复用呢?


5

主题

11

帖子

478

积分

中级会员

Rank: 3Rank: 3

积分
478
 楼主| 发表于 2015-11-13 09:51:45 | 显示全部楼层
查龙芯1c的datasheet,复用的pad就是指gpio。比如使用UAR1,复用GPIO2,3
         __raw_writel(readl(LS1X_CBUS_FOURTHT0) | ( 1 << (2)) ,LS1X_CBUS_FOURTHT0);
         __raw_writel(readl(LS1X_CBUS_FOURTHT0) | ( 1 << (3)) ,LS1X_CBUS_FOURTHT0);

比如使用I2C-2,gpio 50 51的第四复用
        __raw_writel(readl(LS1X_CBUS_FOURTHT1) |( 1 << (50 -  32)) ,LS1X_CBUS_FOURTHT1);
        __raw_writel(readl(LS1X_CBUS_FOURTHT1) |( 1 << (51 -  32)) ,LS1X_CBUS_FOURTHT1);

0

主题

6

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2016-11-16 11:00:33 | 显示全部楼层
你好  请问引脚复用在哪里添加啊   具体怎么添加  能举个完整的例子么  不理解上面的( 1 << (50 -  32)), ( 1 << (51 -  32))是什么意思  

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2016-11-16 14:35:03 | 显示全部楼层
智龙V2通过I2C连接DS3231时钟模块
http://www.openloongson.org/foru ... &extra=page%3D1

这是个很好的例子
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-11-28 07:40 , Processed in 0.133484 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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