【Android驱动】 spi0测试

news/2024/7/16 6:53:14
背景:
        msm8909平台,c文件测试spi_0的一次记录
测试文件就是写个c文件,编译进内核,引用dtsi里的spi_0,主要probe里面这个函数,进行的SPI的环测试:

static int spi_test_transfer(struct spi_device* spi)
{
    spi->mode |= SPI_LOOP;

    //初始化spi_message
    spi_message_init(&spi_msg);

    //初始化spi_tansfer
    spi_xfer.tx_buf = tx_buf;
    spi_xfer.len = BUFFER_SIZE;
    spi_xfer.bits_per_word = 8;
    spi_xfer.speed_hz = spi->max_speed_hz;

    //将新的spi_transfer添加到spi_msg队列尾部
    spi_message_add_tail(&spi_xfer, &spi_msg);

    //调用spi_master发送spi_message
    return spi_sync(spi, &spi_msg);
}
没用串口线,开机查看的dmesg, 中间遇到过几个问题。虽然是简单的问题,但是实际中还是会遇到。

1.没看到log,module_init好像没进

    a.检查compatible, 发现没问题,driver和dtsi(device)是一样的
    b.惯性思维,去设置CONFIG_LOG_BUF_SHIFT为16,我以为够了,以前都是够的,好久才想过来。为什么不设置成18呢,然后看了下log时间,保险的肯定要从0开始看的,因为kernel起来后,我们也不知道这个module_init到底什么时候进。之前都是3秒左右开始的(前面几秒的环形区刷了)

2.probe跑了后遇到后面截图的问题

错误时SPI transation timeout, 然后 SPI sync return -5。 正常时是返回0 .

 

然后也想了好一会儿,一开始我以为是irq gpio有问题, 因为这个数字太大了。

但是我在dtsi里面换了个gpio,实际中这个数字还是会变化,所以这个没问题。这个跟实际的硬件gpio的num应该不是一样的。(为毛我看别的文档是一样的,还有是tp的irq在log和dtsi里面怎么是一样的,暂时没想明白)

然后我实在没办法了,这里也是一个惯性思维的错。

spi的几个脚是sdk默认默认配置的。后面去检查了,发现CLK错了。。。。这。。。。

查看msm8909 BLSP配置:

 

所以,当实在没办法是,还是从可以信赖的基础开始排查吧。

不迷信以前别人改的,不迷信之前的代码,不要惯性思维。

 


http://www.niftyadmin.cn/n/3876797.html

相关文章

I2S的记录

先记着,后面再加 介绍: https://www.pianshen.com/article/6461715634/

微信小程序中name和value的意义

这里的name和value就好比是变量名和变量值 例如在c中我们定义:int a 1; 如果在html中,就是name"a",value"1"

音频的总结

Audio Codec: Audio Codec - 简书 (jianshu.com) ---------------------------- 音频编解码器(codec): 播放: 数字信号------->模拟声音信号 ---------> 扬声器 录音: 麦克风------>模拟信号------->数字信号 codec…

【C语言】三子棋----详解

目录 前言 一、游戏规则 二、创建文件 1.test.c文件 😄菜单函数的实现 😄main函数的实现 😄game游戏函数的实现 2.game.c文件 😄书写初始化棋盘的函数: 😄书写打印棋盘的函数 😄书写玩家…

前端html,css,js中的相对路径与绝对路径

绝对路径: 主页上的文件或目录在硬盘上真正的路径,如:c:/Users/mytxt.txt完整的网址,如:https://www.baidu.com/ 相对路径: 相对于当前文件的路径 相对路径的目录结构索引 ./:代表文件所在的目录../&…

js中正则表达式验证URL 网址,亲测有效

/^(?:http(s)?:\/\/)?[\w.-](?:\.[\w\.-])[\w\-\._~:/?#[\]!\$&\(\)\*\,;.]$/ 大家可直接复制上面的正则表达式 上面正则表达式验证对以下类型网址都有效,可以去https://regexr.com/在线验证下 https://www.example.com http://www.example.com www.exam…

获取后端数据,以表格形式输出到前端

大家要用到Handlebars 这里推荐教程网站 http://www.cnblogs.com/iyangyuan/p/3471300.html

【Android系统】hardware下so编译不生成的问题

问题背景:aosp/hardware/libhardware/modules/下面创建目录,里面一个c文件一个android.bp我之前usbdebug版本也是,编译很多次,在out/target/product/msm8953_64/vendor/lib/和out/target/product/msm8953_64/vendor/lib64/下面不生…