1 /* 2 * Copyright (C) 2017 Sanechips Technology Co., Ltd. 3 * Copyright 2017 Linaro Ltd. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 */ 9 10 #include <linux/module.h> 11 #include <media/rc-map.h> 12 13 static struct rc_map_table zx_irdec_table[] = { 14 { 0x01, KEY_1 }, 15 { 0x02, KEY_2 }, 16 { 0x03, KEY_3 }, 17 { 0x04, KEY_4 }, 18 { 0x05, KEY_5 }, 19 { 0x06, KEY_6 }, 20 { 0x07, KEY_7 }, 21 { 0x08, KEY_8 }, 22 { 0x09, KEY_9 }, 23 { 0x31, KEY_0 }, 24 { 0x16, KEY_DELETE }, 25 { 0x0a, KEY_MODE }, /* Input method */ 26 { 0x0c, KEY_VOLUMEUP }, 27 { 0x18, KEY_VOLUMEDOWN }, 28 { 0x0b, KEY_CHANNELUP }, 29 { 0x15, KEY_CHANNELDOWN }, 30 { 0x0d, KEY_PAGEUP }, 31 { 0x13, KEY_PAGEDOWN }, 32 { 0x46, KEY_FASTFORWARD }, 33 { 0x43, KEY_REWIND }, 34 { 0x44, KEY_PLAYPAUSE }, 35 { 0x45, KEY_STOP }, 36 { 0x49, KEY_OK }, 37 { 0x47, KEY_UP }, 38 { 0x4b, KEY_DOWN }, 39 { 0x48, KEY_LEFT }, 40 { 0x4a, KEY_RIGHT }, 41 { 0x4d, KEY_MENU }, 42 { 0x56, KEY_APPSELECT }, /* Application */ 43 { 0x4c, KEY_BACK }, 44 { 0x1e, KEY_INFO }, 45 { 0x4e, KEY_F1 }, 46 { 0x4f, KEY_F2 }, 47 { 0x50, KEY_F3 }, 48 { 0x51, KEY_F4 }, 49 { 0x1c, KEY_AUDIO }, 50 { 0x12, KEY_MUTE }, 51 { 0x11, KEY_DOT }, /* Location */ 52 { 0x1d, KEY_SETUP }, 53 { 0x40, KEY_POWER }, 54 }; 55 56 static struct rc_map_list zx_irdec_map = { 57 .map = { 58 .scan = zx_irdec_table, 59 .size = ARRAY_SIZE(zx_irdec_table), 60 .rc_proto = RC_PROTO_NEC, 61 .name = RC_MAP_ZX_IRDEC, 62 } 63 }; 64 65 static int __init init_rc_map_zx_irdec(void) 66 { 67 return rc_map_register(&zx_irdec_map); 68 } 69 70 static void __exit exit_rc_map_zx_irdec(void) 71 { 72 rc_map_unregister(&zx_irdec_map); 73 } 74 75 module_init(init_rc_map_zx_irdec) 76 module_exit(exit_rc_map_zx_irdec) 77 78 MODULE_AUTHOR("Shawn Guo <shawn.guo@linaro.org>"); 79 MODULE_LICENSE("GPL v2"); 80