请教智龙V2如何使用引脚复用
请教智龙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,引脚复用也没有实现,怎么样才能启用引脚复用呢?
查龙芯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);
你好请问引脚复用在哪里添加啊 具体怎么添加能举个完整的例子么不理解上面的( 1 << (50 -32)), ( 1 << (51 -32))是什么意思 智龙V2通过I2C连接DS3231时钟模块
http://www.openloongson.org/forum.php?mod=viewthread&tid=149&extra=page%3D1
这是个很好的例子
页:
[1]