Real6410默认的键盘驱动是gpio键盘驱动,现在要取消gpio键盘,实现矩阵键盘。6410的矩阵键盘驱动对应的是samsung-keypad.c,位于driver/input/keyboard目录,可按照下面步骤进行移植。
1、 在arch/arm/mach-s3c64xx/mach-real6410.c中签加
添加头文件:
#include 添加struct定义 static uint32_t smdk6410_keymap[] __initdata = { /* KEY(row, col, keycode) */ /*S00(0,0), S01(0,1), S02(0,2), S03(0,3)*/ KEY(0, 0, KEY_F1), KEY(0, 1, KEY_F2), KEY(0, 2, KEY_F3), KEY(0,3,KEY_F4), /*S04(0,4), S05(0,5), S06(4,0), S07(5,0)*/ KEY(0, 4, KEY_1), KEY(0, 5, KEY_2), KEY(4, 0, KEY_3), KEY(5,0,KEY_UP), /*S08(1,0), S09(1,1), S0A(1,2), S0B(1,3)*/ KEY(1, 0, KEY_F5), KEY(1, 1, KEY_F6), KEY(1, 2, KEY_F7), KEY(1,3,KEY_F8), /*S0C(1,4), S0D(1,5), S0E(4,1), S0F(5,1)*/ KEY(1, 4, KEY_4), KEY(1, 5, KEY_5), KEY(4, 1, KEY_6), KEY(5,1,KEY_LEFT), /*S10(2,0), S11(2,1), S12(2,2), S13(2,3)*/ KEY(2, 0, KEY_F9), KEY(2, 1, KEY_F10), KEY(2, 2, KEY_F11), KEY(2,3,KEY_F12), /*S14(2,4), S15(2,5), S16(4,2), S17(5,2)*/ KEY(2, 4, KEY_7), KEY(2, 5, KEY_8), KEY(4, 2, KEY_9), KEY(5,2,KEY_DOWN), /*S18(3,0), S19(3,1), S1A(3,2), S1B(3,3)*/ KEY(3, 0, KEY_DOT), KEY(3, 1, KEY_0), KEY(3, 2, KEY_MINUS), KEY(3,3,KEY_ESC), /*S1C(3,4), S1D(3,5), S1E(4,3), S1F(5,3)*/ KEY(3, 4, KEY_TAB), KEY(3, 5, KEY_BACKSPACE), KEY(4, 3, KEY_ENTER), KEY(5,3,KEY_RIGHT) }; static struct matrix_keymap_data smdk6410_keymap_data __initdata = { .keymap = smdk6410_keymap, .keymap_size = ARRAY_SIZE(smdk6410_keymap), }; static struct samsung_keypad_platdata smdk6410_keypad_data __initdata = { .keymap_data = &smdk6410_keymap_data, .rows = 6, .cols = 6, }; 2、 在static struct platform_device *real6410_devices[] __initdata结构中增加 &samsung_device_keypad, 同时屏蔽&s3c_device_gpio_button, /* &s3c_device_gpio_button, */ 3、在static void __init real6410_machine_init(void)函数中加上 samsung_keypad_set_platdata(&smdk6410_keypad_data); 设置键盘参数。samsung_keypad_set_platdata在arch/arm/plat-samsung/dev-keypap.c中实现。 4、 修改配置,在linux目录下执行make xconfig, 进入input device support->keyboards, 取消掉S3C6410 GPIO Buttons 选上Samsung keypad support 保存并退出xconfig,重新make即可。
上一篇:LINUX 3.0.8支持RT3070 USB Wifi(S3C6410)
下一篇:s3c6410 RomCode文档读后总结
推荐阅读最新更新时间:2024-11-09 10:54
设计资源 培训 开发板 精华推荐
- LGT8F328P_LQFP48_BoB核心板
- ADR530B 3V 输出高精度并联模式参考电压的典型应用,用于输出电压调整
- L7824C高输入电压电路的典型应用(配置1)
- RX5808-Div
- EVAL-ADuC7020QSZ,ADuC7020 MCU 开发系统
- 【模拟电路】RDA5807调频收音机设计
- 基于 ST1PS02DQTR 400 mA 纳米静态同步降压转换器的评估板,带 AUX 开关
- 使用 NXP Semiconductors 的 MCZ33742 的参考设计
- LT3758A、8V 至 72V 输入、12V 输出 SEPIC 转换器的典型应用电路
- 使用 ON Semiconductor 的 ADP3154 的参考设计