请问dm8168 dvr 4.1 AVS驱动有没有自己加载?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
默认是开的。
你看看启动的log
有米有这样的关键字 smartreflex smartreflex: Driver initialized
prev_volt is 1010000 之类的,或者提示failed之类
ALSA device list:
#0: TI81XX_DVR_CARD0
#1: TI81XX_DVR_CARD1
oprofile: using arm/armv7
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_voltage_late_init: Voltage driver support not added
Power Management for TI81XX.
smartreflex smartreflex: Driver initialized
davinci_emac_probe: using random MAC addr: d6:6c:1e:ce:10:72
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
hub 2-0:1.0: over-current change on port 1
ata1: SATA link down (SStatus 0 SControl 300)
貌似没有成功吧?
打印了的话至少去加载了,有没有正常在跑,请问:
1. 请问具体你用了那种AVS的芯片? 是完全按照开发板,还是用的是TPS40400。不同AVS的芯片需要加载的东西不同的,在menuconfig里面需要对应选择。
2. 有没有打印prev_volt这类的东西? (有打印reasonable的电压值那就一定是OK的,不打印也不一定不行,因为很可能AVS算法当时情况不要求调整)
3. 实测AVS的电压,是否观察到了上电后约1.05V,当打印driver初始化后drop到1V左右或者更小电压值的情形?
TPS40041,我们精简了单片机的电压监测电路。是否要修改AVS驱动.
AVS电压看手册是0.75~1.2V之间浮动, 我们是否可以固定1.2V供电,如果对功耗控制要求不高的话。
Hi ,
AVS 电压不要用固定的,这样会增加系统不稳定性。
0.75~1.2V这个范围是指的是AVS电压可能浮动的范围,而不是说在这个范围内系统都能用。
AVS 调节,有根据芯片的体质不同的因素,也有实际运行的环境和负荷因素的综合考虑。 所以是需要采用AVS来保证系统的稳定的。
你用的是开发板的电源,所以AVS本身没有什么区别,软件目前看来不用修改。
单片机这个只是电压电流检测所以是独立开来的,应该没有影响。(你也可以把你的修改分享出来一起看看是否存在影响的可能性)
在实际操作中,能够观察到AVS频繁调整的,就是在driver起来之后这一段。此后系统趋于稳定,调整是相对较慢难以观察到的。
只要你能观察到上电后这一调整过程,AVS基本认定是在工作正常的。
初始电压推荐是1.05V。而推荐的参考电路上其实是有通过电阻来设定初始电压的,所以如果这套初始电压设定有一些区别,那也是可能的。
关键就还是在于你的kernel打印有没有提到prev_volt这些关键字。
或者你直接追到代码里面去加打印就可以确认了。 参考
也可以用debug fs直接敲命令看的。
另外,你加散热风扇没有?
启动的时候没有看见 prev_volt 字样附件是我们的启动信息:
请问评估板启动时有没有一下红色的信息。
ALSA device list:
#0: TI81XX_DVR_CARD0
#1: TI81XX_DVR_CARD1
oprofile: using arm/armv7
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
omap_voltage_late_init: Voltage driver support not added
Power Management for TI81XX.
smartreflex smartreflex: Driver initialized
davinci_emac_probe: using random MAC addr: 0e:da:bf:3b:82:e6
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
hub 2-0:1.0: over-current change on port 1
怎么在内核驱动代码里没有搜索到prev_volt打印信息。
smartreflex-ti816x.c 里面就有prev_volt 啊
请问版主能不能把你们的启动信息帖上来,包括出现打印prev_volt信息的地方。
谢谢版主,我在代码里没有看见printk 什么prev_volt的信息啊。
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
omap_voltage_add_dev: VDD specified does not exist!
OMAP GPIO hardware version 0.1
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0
3-wired eeprom init done. (H/W ver:00)
hwver < 0x50
Hi ,
My EVM is not working under DVRRDK 4.1 there days. I will upload the log as soon as I finished using it...
But from the log you provided, your board might have some issues...
Would you let me know what difference you made, comparied to EVM AVS circuit, and DVRRDK SW?
And , btw, what is the silicon revision of your DM8168. BCYG or CCYG ?
BR,
Eason
芯片型号:TMS320DM8168SCYGA2
硬件方便主要是没有电压监测的单片那一块电路。
软件是直接拿DVR4.1跑的,貌似有eeprom监测hw的版本信息,我们这边也没有
board-ti8168dvr.c 这段代码貌似也没起到作用
static int __init ti816x_dvr_i2c_init(void)
{
#ifdef CONFIG_REGULATOR_TPS40400
int hwver = eeprom_uddvr_get_hwver(); //# must get after eeprom_init()
if(hwver < 0x50) //# use not tps40400
ti816x_i2c_boardinfo0[2].platform_data = NULL;
printk("hwver < 0x50\n");
#endif
omap_register_i2c_bus(1, 100, ti816x_i2c_boardinfo0,
ARRAY_SIZE(ti816x_i2c_boardinfo0));
omap_register_i2c_bus(2, 100, ti816x_i2c_boardinfo1,
ARRAY_SIZE(ti816x_i2c_boardinfo1));
return 0;
}
曾经在make menuconfig 里把TPS40400去掉或者打开,貌似都没有作用。
Hi ,
你给出的原理图是基于TPS40041的。而你的驱动用的是TPS40400?
文件也不对。基于TPS40041的DM8168EVM,用的应该是board-ti8168evm.c ,也就是说Rules.make文件里面板子请指定用TI_8168_EVM才对。
你检查一下这个吧。
版主有空跑个dvr4.1版本的程序测试一下啊。我感觉没什么要改的啊,貌似选择gpio-regulator就可以了啊。发晕。
下周我给你贴。
你可以看看TI81XX_PSP_PM_AVS_Driver_User_Guide.pdf 里面debugfs的部分,可以直接在linux下面通过GPIO来读电压值。
看你的描述好像GPIO是不对的。。。
期待啊,测试测加过也是1.01V。
dm816x login: root
root@dm816x:~# mount -t debugfs debugfs /sys/kernel/debug/
root@dm816x:~# cat /sys/kernel/debug/smartreflex/initial_voltage
1010000
root@dm816x:~# cat /sys/kernel/debug/smartreflex/current_voltage
1010000
root@dm816x:~# cat /sys/kernel/debug/smartreflex/current_voltage
1010000
root@dm816x:~# cat /sys/kernel/debug/smartreflex/sr_hvt/err2voltgain
0x0000000d
root@dm816x:~# cat /sys/kernel/debug/smartreflex/sr_svt/err2voltgain
0x00000012
root@dm816x:~#
谢谢版主回复。辛苦了。
是DVR4.1的程序了吧,可以正常调节电压吗?
版主再辛苦一下吧,帮忙测试一下电压看看还对呢。嘻嘻。
我还要再看看。。。之前有prev_volt的打印,现在也没有了。
但是电压还是调节过了