Implementing Dual-Function GPIO Key Mapping for Display Control and System Restart on i.MX8QXP SoM

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Implementing Dual-Function GPIO Key Mapping for Display Control and System Restart on i.MX8QXP SoM

283 次查看
adnan_dst
Contributor III

Hi,

We are using an i.MX8QXP SoM and have built the OS image with the following Yocto configuration:

  • MACHINE = imx8qxpc0mek

  • DISTRO = fsl-imx-wayland

  • DISTRO_VERSION = 6.6-scarthgap

  • Kernel Version: 6.6.36

A GPIO expander is connected over I2C, and we have successfully mapped several GPIOs to key events like number keys and letters.

Now, we want to assign a dual-functionality to one GPIO key:

  • Short press: Turns off the display.

  • Long press (≥5 seconds): Restarts the system.

We are looking for the appropriate Linux input event keycode to assign this behavior with dual functionality and device tree configuration.

Regads,
Adnan

0 项奖励
回复
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-2140650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9C%A8%20i.MX8QXP%20SoM%20%E4%B8%8A%E5%AE%9E%E7%8E%B0%E7%94%A8%E4%BA%8E%E6%98%BE%E7%A4%BA%E6%8E%A7%E5%88%B6%E5%92%8C%E7%B3%BB%E7%BB%9F%E9%87%8D%E5%90%AF%E7%9A%84%E5%8F%8C%E5%8A%9F%E8%83%BD%20GPIO%20%E9%94%AE%E6%98%A0%E5%B0%84%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2140650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20%3CSTRONG%3Ei.mx8QXP%20SoM%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%3C%2FSTRONG%3E%E4%BB%A5%E4%B8%8B%20Yocto%20%E9%85%8D%E7%BD%AE%E7%89%88%E6%9C%AC%E4%BA%86%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%EF%BC%9A%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%3E%E6%9C%BA%E5%99%A8%20%3D%20imx8qxpc0mek%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%E5%8F%91%E8%A1%8C%E7%89%88%20%3D%20fsl-imx-wayland%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3EDISTRO_VERSION%20%3D%206.6-scarthgap%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%3CSTRONG%3E%E5%86%85%E6%A0%B8%E7%89%88%E6%9C%AC%3C%2FSTRONG%3E%EF%BC%9A%206.6.36%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E6%88%91%E4%BB%AC%3CSTRONG%3E%E9%80%9A%E8%BF%87%20I2C%20%E8%BF%9E%E6%8E%A5%E4%BA%86%20GPIO%20%E6%89%A9%E5%B1%95%E5%99%A8%3C%2FSTRONG%3E%EF%BC%8C%E5%B9%B6%E6%88%90%E5%8A%9F%E5%9C%B0%E5%B0%86%E5%87%A0%E4%B8%AA%20GPIO%20%E6%98%A0%E5%B0%84%E5%88%B0%E6%95%B0%E5%AD%97%E9%94%AE%E5%92%8C%E5%AD%97%E6%AF%8D%E7%AD%89%E5%85%B3%E9%94%AE%E4%BA%8B%E4%BB%B6%E4%B8%8A%E3%80%82%3C%2FP%3E%3CP%3E%E7%8E%B0%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%3CSTRONG%3E%E4%B8%BA%E4%B8%80%E4%B8%AA%20GPIO%20%E9%94%AE%3C%2FSTRONG%3E%E5%88%86%E9%85%8D%E5%8F%8C%E9%87%8D%E5%8A%9F%E8%83%BD%EF%BC%9A%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%3E%3CSTRONG%3E%E7%9F%AD%E6%8C%89%3C%2FSTRONG%3E%EF%BC%9A%E5%85%B3%E9%97%AD%3CSTRONG%3E%E6%98%BE%E7%A4%BA%E5%B1%8F%3C%2FSTRONG%3E%E3%80%82%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%3CSTRONG%3E%E9%95%BF%E6%8C%89%EF%BC%88%E2%89%A55%20%E7%A7%92%EF%BC%89%3C%2FSTRONG%3E%EF%BC%9A%3CSTRONG%3E%E9%87%8D%E5%90%AF%E7%B3%BB%E7%BB%9F%3C%2FSTRONG%3E%E3%80%82%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%AF%BB%E6%89%BE%E5%90%88%E9%80%82%E7%9A%84%20%3CSTRONG%3ELinux%20%E8%BE%93%E5%85%A5%E4%BA%8B%E4%BB%B6%E5%AF%86%E9%92%A5%E7%A0%81%3C%2FSTRONG%3E%EF%BC%8C%E9%80%9A%E8%BF%87%E5%8F%8C%E9%87%8D%E5%8A%9F%E8%83%BD%E5%92%8C%E8%AE%BE%E5%A4%87%E6%A0%91%E9%85%8D%E7%BD%AE%E6%9D%A5%E5%88%86%E9%85%8D%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3ERegads%2C%3CBR%20%2F%3EAdnan%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2140650%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20%E7%B3%BB%E5%88%97%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EYocto%20Project%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E