搜索
bottom↓
回复: 28

AM1808如何实现leds驱动?linux

[复制链接]

出0入0汤圆

发表于 2012-5-16 16:14:32 | 显示全部楼层 |阅读模式
我发现AM1808的源码里面没有led的驱动。用的是linux 2.6.37,源码是从官网下的。
之前用过at91,它下面的led驱动是现成的,有个leds.c文件。
大家有没有谁搞过啊?
谢谢分享。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-5-17 11:05:45 | 显示全部楼层
感觉BSP中应该有例子吧

出0入0汤圆

 楼主| 发表于 2012-5-17 14:45:27 | 显示全部楼层
呵呵,没有例子。
我有两个LED,一个连的GP6[1]一个是GP6[3]。
我现在GP6[1]能正常控制,但是GP6[3]不行。不知道什么原因。定义和分配都是一样的,就是名字不同。名字对调了也不行。
不知道问题出在哪。
难道是GP6[3]又被别人用了,该如何查啊。

出0入0汤圆

发表于 2012-5-17 17:34:46 | 显示全部楼层
MARK,稍后有时间帮你看看

出0入0汤圆

发表于 2012-5-17 17:45:15 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-17 14:45
呵呵,没有例子。
我有两个LED,一个连的GP6[1]一个是GP6[3]。
我现在GP6[1]能正常控制,但是GP6[3]不行。 ...

GP6[3]应该是被MMC/SD1接口中的DAT[2]占用了,如果MMC/SD1没有使用,那么取消MMC/SD1接口,添加GP6[3]的相关配置后,就可以使用GP6[3]了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-17 22:54:20 | 显示全部楼层
楼主为什么从ATARM切换到AM1808?有什么区别吗

出0入0汤圆

 楼主| 发表于 2012-5-18 08:41:52 | 显示全部楼层
wudideai 发表于 2012-5-17 17:45
GP6[3]应该是被MMC/SD1接口中的DAT[2]占用了,如果MMC/SD1没有使用,那么取消MMC/SD1接口,添加GP6[3]的 ...

非常感谢。和你的方法一样。我解决了。
不过别的问题又来了,因为我的系统还是要用MMCSD的,不过不是MMCSD1,是MMCSD0。
所以应该还是需要修改源码,让系统能支持MMCSD0,释放MMCSD1的引脚。

同样,还有一个问题。
我还用到了AXR3-6做为输出,同样不能被我控制。我看了下,好像被MCBSP占用了,但是我在xconfig里面把mcbsp选项去掉了,还是不能解决。
请指点一下再。

谢谢。

出0入0汤圆

 楼主| 发表于 2012-5-18 08:43:42 | 显示全部楼层
EmbededSwordman 发表于 2012-5-17 22:54
楼主为什么从ATARM切换到AM1808?有什么区别吗

我之前用的是at91sam9261,主要原因是速度慢,只有200M,和串口少。

出0入0汤圆

 楼主| 发表于 2012-5-18 08:44:58 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-18 08:41
非常感谢。和你的方法一样。我解决了。
不过别的问题又来了,因为我的系统还是要用MMCSD的,不过不是MMCS ...

我用的方法是在xconfig里面把mmcsd support选项去掉了。
因为我要用到mmcsd0,所以这个选项应该不能去掉,只能是在代码里面把mmcsd1的内容去掉。
是这样吗?

出0入0汤圆

 楼主| 发表于 2012-5-18 08:49:43 | 显示全部楼层
wudideai 发表于 2012-5-17 17:45
GP6[3]应该是被MMC/SD1接口中的DAT[2]占用了,如果MMC/SD1没有使用,那么取消MMC/SD1接口,添加GP6[3]的 ...

wudideai,你好。
你给的图片是不是管脚分配软件显示的内容。
我没有用这个软件。没了解过。

出0入0汤圆

发表于 2012-5-18 11:59:01 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-18 08:49
wudideai,你好。
你给的图片是不是管脚分配软件显示的内容。
我没有用这个软件。没了解过。  ...

嗯,这个软在在官方提供的开发包里边就有。主要是看引脚复用配置的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-18 12:03:26 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-18 08:41
非常感谢。和你的方法一样。我解决了。
不过别的问题又来了,因为我的系统还是要用MMCSD的,不过不是MMCS ...

这个还需要在内核源码中修改相关的配置代码,有关文件都在arch/arm/mach-davinci中,我现在有点事,等我有空帮你看看。

出0入0汤圆

 楼主| 发表于 2012-5-18 13:08:27 | 显示全部楼层
wudideai 发表于 2012-5-18 12:03
这个还需要在内核源码中修改相关的配置代码,有关文件都在arch/arm/mach-davinci中,我现在有点事,等我 ...

谢谢我已经改好了,都能用了。
我现在碰到了AXR3-6不能被控制的问题。
要多花时间了。

你弄过PRUSS_SUART吗?我在弄这个,没有思路。

出0入0汤圆

 楼主| 发表于 2012-5-22 13:36:34 | 显示全部楼层
今天在弄AXR3-6为gpio-leds。发现:
dump了AXR3-6的pinmux寄存器的值,发现为0x0。
我这里是要把AXR3-6作为gpio_leds。当我把pinmux中相应AXR306的位设为gpio的时候,他们正常为gpio-leds了。
难道platform_device_register函数不会把pinmux中的相应的值设定吗,在注册gpio-leds的时候?
我看了一下board-da850evm.c中对其他外设的定义,好像也没有发现对pinmux的定义。这个操作是在哪里进行的?

出0入0汤圆

发表于 2012-5-22 14:34:38 | 显示全部楼层
单独搞一个char驱动,控制LED也行,这个太容易了

出0入0汤圆

 楼主| 发表于 2012-5-22 15:29:13 | 显示全部楼层
abnerle 发表于 2012-5-22 14:34
单独搞一个char驱动,控制LED也行,这个太容易了

呵呵,谢谢!
我经验欠缺。还需要琢磨。对AM1808 管脚的分配流程不清楚。
不知道linux是如何去分配这些管脚的,逻辑上。

出0入0汤圆

发表于 2012-5-23 15:33:30 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-18 13:08
谢谢我已经改好了,都能用了。
我现在碰到了AXR3-6不能被控制的问题。
要多花时间了。

PRU这块我也没有研究过,等待高人出现。

出0入0汤圆

发表于 2012-5-23 15:52:23 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-22 13:36
今天在弄AXR3-6为gpio-leds。发现:
dump了AXR3-6的pinmux寄存器的值,发现为0x0。
我这里是要把AXR3-6作为 ...

在arch/arm/mach-davinci/da850.c 中有个数组,名为 da850_pins ,在这里添加MUX参数,并注意下方的每个接口引脚数组中,是否有与其冲突的引脚。
在arch/arm/mach-davinci/include/mach/mux.h 中,添加GPIO定义。
在arch/arm/mach-davinci/board-da850-evm.c 中,添加GPIO的初始化配置,具体可参考LCD的背光控制引脚初始化步骤。
PS:以上均指2.6.33版内核,其他版本可能会略有不同。

出0入0汤圆

 楼主| 发表于 2012-5-23 16:19:51 | 显示全部楼层
wudideai 发表于 2012-5-23 15:52
在arch/arm/mach-davinci/da850.c 中有个数组,名为 da850_pins ,在这里添加MUX参数,并注意下方的每个 ...

wudideai,
谢谢。按照你的方法,这块已经全部搞定了。非常感谢。
接下来就是难点的难点pruss suart了。(可惜你没弄过这个,否则可以向你请教请教了。)

这弄这个之前先弄下i2c rtc,过度一下。

出0入0汤圆

发表于 2012-5-23 16:42:55 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-23 16:19
wudideai,
谢谢。按照你的方法,这块已经全部搞定了。非常感谢。
接下来就是难点的难点pruss suart了。 ...

客气了!等我现在的项目结项了回头再研究研究AM1808的PRU这块,这个PRU确实是个好东西。
我现在正在研究ATMEL的9260,和LZ正好反过来,真是巧啊!

出0入0汤圆

 楼主| 发表于 2012-5-23 17:14:52 | 显示全部楼层
wudideai 发表于 2012-5-23 16:42
客气了!等我现在的项目结项了回头再研究研究AM1808的PRU这块,这个PRU确实是个好东西。
我现在正在研究A ...

哈哈,是啊。正好反过来了。
我用的是9261。当时9261的wince和linux都弄过了。不过最后用在产品上的是wince。
9261上需要自己弄的东西比较少,很多都是现成的。
只是后面弄两个16c554扩串口。

出0入0汤圆

发表于 2012-5-25 19:25:31 | 显示全部楼层
demoxiedemoxie 发表于 2012-5-18 08:43
我之前用的是at91sam9261,主要原因是速度慢,只有200M,和串口少。

9G20频率和1808差不多吧,而且和9261兼容吧

请教一下,AM1808是不是只支持DDR RAM啊?

PRU应该功能还比较强大,我感觉用起来难度也蛮大的。

上传个PRUSS的文档

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-5-29 11:21:06 | 显示全部楼层
jameszxj 发表于 2012-5-25 19:25
9G20频率和1808差不多吧,而且和9261兼容吧

请教一下,AM1808是不是只支持DDR RAM啊?

谢谢了。
AM1808,支持DDR2,和mobile DDR。
是不是还支持其他的就不是能确定了。

出0入0汤圆

 楼主| 发表于 2012-6-1 15:32:28 | 显示全部楼层
wudideai 发表于 2012-5-23 15:52
在arch/arm/mach-davinci/da850.c 中有个数组,名为 da850_pins ,在这里添加MUX参数,并注意下方的每个 ...

碰到个问题,请教一下:
我用AXR3-6做为GPIO的输出。按理复位后这几个管脚应该是三态。但是我量得复位后以及u-boot启动后他们的电压是高电平。很奇怪。
u-boot应该没有对他们初始化。
pinmux复位后每位的值都是0

19-16 PINMUX2_19_16 AXR3/FSX0/GP1[11]/MII_TXD[3] Control
0 Pin is 3-stated. Z
1h Selects Function AXR3 I/O
2h Selects Function FSX0 I/O
3h Reserved X
4h Selects Function GP1[11] I/O
5h-7h Reserved X
8h Selects Function MII_TXD[3] O
9h-Fh Reserved X

15-12 PINMUX2_15_12 AXR4/FSR0/GP1[12]/MII_COL Control
0 Pin is 3-stated. Z
1h Selects Function AXR4 I/O
2h Selects Function FSR0 I/O
3h Reserved X
4h Selects Function GP1[12] I/O
5h-7h Reserved X
8h Selects Function MII_COL I
9h-Fh Reserved X

11-8 PINMUX2_11_8 AXR5/CLKX0/GP1[13]/MII_TXCLK Control
0 Pin is 3-stated. Z
1h Selects Function AXR5 I/O
2h Selects Function CLKX0 I/O
3h Reserved X
4h Selects Function GP1[13] I/O
5h-7h Reserved X
8h Selects Function MII_TXCLK I
9h-Fh Reserved X

出0入0汤圆

 楼主| 发表于 2012-6-1 15:52:22 | 显示全部楼层
补充一下,我用的rmii不是mii,所以u-boot不会初始化axr3-5.

出0入0汤圆

 楼主| 发表于 2012-6-6 13:34:24 | 显示全部楼层
我今天在U-BOOT上加入了pinmux的值显示,显示pinmux(2)的值为0x0,这时AXR3-5应该是高阻态此时,但为何会有3.3v电压呢?

AM1808 initialization passed!

Booting TI User Boot Loader

   UBL Version: 1.65

   UBL Flashtype: NAND

Starting NAND Copy...

Valid magicnum, 0x55424CBB, found in block 0x00000006.

  DONE

.ere is pinmux(19): is 0x808000.000.

here is pinmux(2): 0x0.

NAND:  128 MiB

MMC:   davinci: 0

Bad block table found at page 65472, version 0x01

Bad block table found at page 65408, version 0x01

In:    serial

Out:   serial

Err:   serial

ARM Clock : 456000000 Hz

DDR Clock : 150000000 Hz

here is pinmux(19)1: is 0x808000.

here is pinmux(2)1: 0x0.

Net:   Ethernet PHY: GENERIC @ 0x00

DaVinci-EMAC

Hit any key to stop autoboot:  0

reading boot.scr

出0入0汤圆

发表于 2012-7-20 09:11:51 | 显示全部楼层
果断mark。。。。。。。。。

出0入0汤圆

发表于 2012-7-20 09:14:27 | 显示全部楼层
wudideai 发表于 2012-5-18 11:59
嗯,这个软在在官方提供的开发包里边就有。主要是看引脚复用配置的。

请问一下你们这个开发包哪来的。。。。。

出0入0汤圆

发表于 2012-8-31 11:38:09 | 显示全部楼层
youthdou 发表于 2012-7-20 09:14
请问一下你们这个开发包哪来的。。。。。

TI的官网上,传送门:http://www.ti.com.cn/product/cn/am1808
关于1808的所有资料都在这个页面了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 16:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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