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.

[参考译文] AM5728:在定制电路板上运行的 TI am5728 9.03 SDK 上、键盘驱动程序探头无法正常工作

Guru**** 2484615 points
Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board

主题:AM5728 中讨论的其他器件

您好、

我有一个运行 TI 的基于 am5728 SOC 的定制板 Linux SDK 9.03 我正在尝试移植键盘驱动程序。 这是我在  arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi 中添加的 dts 条目

  keypad: keypad@4ae1c000 {
    compatible = "ti,omap4-keypad";
    reg = <0x4ae1c000 0x80>;  // Correct 4-cell format
    interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
    keypad,num-rows = <4>;
    keypad,num-columns = <4>;
    linux,input-no-autorepeat;
    linux,keymap = <
        0x00000041 0x00010042 0x00020043 0x00030044
        0x01000045 0x01010046 0x01020047 0x01030048
        0x02000049 0x0201004a 0x0202004b 0x0203004c
        0x0300004d 0x0301004e 0x0302004f 0x03030050
    >;
    status = "okay";
};

我已 在.config 文件中设置 CONFIG_KEYBOARD_OMAP4=y、并将打印内容放入的每个功能中

/opt/ti-processor-sdk-linux-am57xx-evm-09_03_06_05/board-support/ti-linux-kernel-6.1.119 +gitAUTOINC+e4e8b16e66-ti/drivers/input/keyboard/OMAP4-keypad.c

编译后启动电路板时、我在 dmesg 日志中收到以下错误


root@am57xx-evm:~# dmesg | grep omap4
[    0.325897] VM********************* File: drivers/input/keyboard/omap4-keypad.c, Line: 358, Function: omap4_keypad_probe ****************************
[    0.325927] omap4-keypad 4ae1c00000000080.keypad: no base address specified
[    0.325927] omap4-keypad: probe of 4ae1c00000000080.keypad failed with error -22

 

我没有做过的改变,如在文章中提到(在结尾)由托马斯·麦克马努斯,因为我没有面临的错误,他所面临的。  

DTS 条目是否正常?
正如我在 9.03 SDK 中看到的那样 arch/arm/boot/dts/dra7-L4.dtsi 包含以下内容  

target-module@c000 { /* 0x4ae1c000, ap 11 38.0 */
compatible = "ti,sysc";
status = "disabled";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0xc000 0x1000>;
};


我是否需要在中的此节点下添加键盘条目  arch/arm/boot/dts/dra7-L4.dtsi  四个字节 0x4ae1c000  

请帮助我解决此问题!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Vishal、

    不幸的是,我们没有一个键盘参考来帮助你在我们身边。  我假设您的旧内核上有一个可正常工作的版本、并且此 dts 条目可以正常工作?

    您能否确认?

    是否已确保在 Config 文件中处理了所有依赖项?

    例如、键盘矩阵具有以下相关性:

    资料来源: https://cateee.net/lkddb/web-lkddb/KEYBOARD_MATRIX.html

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5932335

    不幸的是,我们没有一个键盘参考来帮助你在我们身边。  我假设您的旧内核上有一个可正常工作的版本、并且此 dts 条目可以正常工作?

    您能否确认?

    [/报价]

    是的、它在 6.03 SDK 上运行正常。


    您是否已确保在配置文件中处理了所有依赖项?

    是、CONFIG_GPIOLIB 和 CONFIG_COMPILE_TEST 都设置为“y",“,但、但探头失败。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Vishal、

    驱动程序是否有任何变化?

    您是否有可能通过 DTS 为此器件进行任何引脚多路复用?

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vishal、

    如果你正在关注这个线程,我认为值得尝试做同样的更改,包括 dra7.dtsi 文件。  

    您应该尝试一下、看看它是否起作用。  

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vishal、

    该 DTS 是否正常工作? 我会在内部商量这会去哪里,并返回给你。  希望由星期五提供。

    您只添加了尝试使键盘正常工作?

    keypad: keypad@4ae1c000 {
    		compatible = "ti,omap4-keypad";
    		reg = <0x4ae1c000 0x80>;
    		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
    		keypad,num-rows = <4>;
    		keypad,num-columns = <4>;
    		linux,keymap = <
    			0x00000041 0x00010042 0x00020043 0x00030044
    			0x01000045 0x01010046 0x01020047 0x01030048
    			0x02000049 0x0201004a 0x0202004b 0x0203004c
    			0x0300004d 0x0301004e 0x0302004f 0x03030050
    			>;
    		status="okay";
    	};

    您的 DTS 中是否有此键盘的其他条目?

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Josue,  

    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5940520

    该 DTS 是否正常工作? 我会在内部商量这会去哪里,并返回给你。  希望由星期五提供。

    [/报价]

    就像我说的,键盘驱动器探头功能在做了驱动器的更改后失败了,如下所示:-  
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/634114/linux-am5728-keypad-driver-not-working?tisearch=e2e-sitesearch&keymatch=am5728%252525252520keypad%252525252520devashish%252525252520tiwari# 

     实际上 读取了 dts 文件。 但问题可能在于 DTS 定位/引脚多路复用条目/可能缺少 DTS 功能。 不知道问题的确切位置。

    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5940520

    您只添加了尝试使键盘正常工作?

    [/报价]

    是的

    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5940520

    您的 DTS 中是否有此键盘的其他条目?

    [/报价]

    不是!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vishal、

    由于目前带宽较低、目前我无法为您提供帮助。 我将尝试在下周再次访问。

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Josue,  

    好的、我们正在等待您的答复!

    - Vishal  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vishal、

    您是否尝试过使用 devmem 读取时钟? ()

    这样做会发生什么情况? 您 是否尝试过此帖子中的实验?  

    您能提醒我此键盘是如何连接到您的主板的吗?

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5947509

    您是否尝试过使用 devmem 读取时钟? ()

    [quote userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5947509

    这样做会发生什么情况? 您 是否尝试过此帖子中的实验?  

    [/报价]

    root@am57xx-evm:~# devmem2 0x4ae1c000 32
    /dev/mem opened.
    Memory mapped at address 0xb6f0f000.
    Illegal data type '3'.
    
    root@am57xx-evm:~# devmem2 0x4ae1c000
    /dev/mem opened.
    Memory mapped at address 0xb6fb2000.
    Read at address 0x4AE1C000 (0xb6fb2000): 0x5FFF2200
    
    

    因为我没有得到错误,似乎这不是任何时钟问题!  您还需要我进行测试吗?

     

    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5947509

    您能提醒我此键盘是如何连接到您的主板的吗?

    [/报价]

    SoC 上使用配置为 4x4 矩阵的键盘 (KBD) 接口。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vishal、

    您 是否也可以读取 0x4AE0 7878?
    您能看到使用 lsmod 的模块吗?

    您是否在更新 Linux 映像后加载了这些模块?

    小型 devmem2 指南:

    devmem2 地址【类型】
    • address
      这是要读取的存储器地址。  应以十六进制格式提供(例如) 0x48004B48
    • type (可选):
      这将确定访问操作类型、从而影响读取的字节数。
      • b:读取一个字节(8 位)。
      • h:读取一个半字(16 位)。
      • w:读取一个字(32 位)。
      • 如果 type 省略 devmem2 、则默认读取一个字(32 位)。

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Josue,

    在一些工作中被抓紧了。

    您是否也可以阅读 0x4AE0 7878?

    devmem2 0x4ae07878
    /dev/mem opened.
    Memory mapped at address 0xb6f36000.
    Read at address  0x4AE07878 (0xb6f36878): 0x00000002
    

    [报价 userid=“504839" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542185/am5728-keypad-driver-probe-failing-on-ti-am5728-9-03-sdk-running-on-custom-board/5950383

    您能看到使用 lsmod 的模块吗?

    您是否在更新 Linux 映像后加载了这些模块?

    [/报价]

    在.config 中将 CONFIG_KEYBOARD_OMAP4 值设置为 y。 因此、模块会自动加载。 但探头出现故障、如下所示。

    root@am57xx-evm:~# dmesg | grep keypad
    [ 0.327209] VM********************* File: drivers/input/keyboard/omap4-keypad.c, Line: 364, Function: omap4_keypad_probe ****************************
    [ 0.327239] omap4-keypad 4ae1c00000000080.keypad: no base address specified
    [ 0.327239] VM********************* File: drivers/input/keyboard/omap4-keypad.c, Line: 382, Function: omap4_keypad_probe ****************************
    [ 0.327239] omap4-keypad: probe of 4ae1c00000000080.keypad failed with error -22

    - Vishal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Vishal、

    我会回到速度,并试图回到你明天。

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vishal、

    正如我之前讨论过的、我们的标准 SDK 不支持此键盘、我目前没有可用的带宽。

    抱歉。

    参见  :AM5728:键盘 4x4 在 evtest 中未显示为事件 

    -Josue