162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci// tbs-nec.h - Keytable for tbs_nec Remote Controller
362306a36Sopenharmony_ci//
462306a36Sopenharmony_ci// keymap imported from ir-keymaps.c
562306a36Sopenharmony_ci//
662306a36Sopenharmony_ci// Copyright (c) 2010 by Mauro Carvalho Chehab
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <media/rc-map.h>
962306a36Sopenharmony_ci#include <linux/module.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_cistatic struct rc_map_table tbs_nec[] = {
1262306a36Sopenharmony_ci	{ 0x84, KEY_POWER2},		/* power */
1362306a36Sopenharmony_ci	{ 0x94, KEY_MUTE},		/* mute */
1462306a36Sopenharmony_ci	{ 0x87, KEY_NUMERIC_1},
1562306a36Sopenharmony_ci	{ 0x86, KEY_NUMERIC_2},
1662306a36Sopenharmony_ci	{ 0x85, KEY_NUMERIC_3},
1762306a36Sopenharmony_ci	{ 0x8b, KEY_NUMERIC_4},
1862306a36Sopenharmony_ci	{ 0x8a, KEY_NUMERIC_5},
1962306a36Sopenharmony_ci	{ 0x89, KEY_NUMERIC_6},
2062306a36Sopenharmony_ci	{ 0x8f, KEY_NUMERIC_7},
2162306a36Sopenharmony_ci	{ 0x8e, KEY_NUMERIC_8},
2262306a36Sopenharmony_ci	{ 0x8d, KEY_NUMERIC_9},
2362306a36Sopenharmony_ci	{ 0x92, KEY_NUMERIC_0},
2462306a36Sopenharmony_ci	{ 0xc0, KEY_10CHANNELSUP},	/* 10+ */
2562306a36Sopenharmony_ci	{ 0xd0, KEY_10CHANNELSDOWN},	/* 10- */
2662306a36Sopenharmony_ci	{ 0x96, KEY_CHANNELUP},		/* ch+ */
2762306a36Sopenharmony_ci	{ 0x91, KEY_CHANNELDOWN},	/* ch- */
2862306a36Sopenharmony_ci	{ 0x93, KEY_VOLUMEUP},		/* vol+ */
2962306a36Sopenharmony_ci	{ 0x8c, KEY_VOLUMEDOWN},	/* vol- */
3062306a36Sopenharmony_ci	{ 0x83, KEY_RECORD},		/* rec */
3162306a36Sopenharmony_ci	{ 0x98, KEY_PAUSE},		/* pause, yellow */
3262306a36Sopenharmony_ci	{ 0x99, KEY_OK},		/* ok */
3362306a36Sopenharmony_ci	{ 0x9a, KEY_CAMERA},		/* snapshot */
3462306a36Sopenharmony_ci	{ 0x81, KEY_UP},
3562306a36Sopenharmony_ci	{ 0x90, KEY_LEFT},
3662306a36Sopenharmony_ci	{ 0x82, KEY_RIGHT},
3762306a36Sopenharmony_ci	{ 0x88, KEY_DOWN},
3862306a36Sopenharmony_ci	{ 0x95, KEY_FAVORITES},		/* blue */
3962306a36Sopenharmony_ci	{ 0x97, KEY_SUBTITLE},		/* green */
4062306a36Sopenharmony_ci	{ 0x9d, KEY_ZOOM},
4162306a36Sopenharmony_ci	{ 0x9f, KEY_EXIT},
4262306a36Sopenharmony_ci	{ 0x9e, KEY_MENU},
4362306a36Sopenharmony_ci	{ 0x9c, KEY_EPG},
4462306a36Sopenharmony_ci	{ 0x80, KEY_PREVIOUS},		/* red */
4562306a36Sopenharmony_ci	{ 0x9b, KEY_MODE},
4662306a36Sopenharmony_ci};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_cistatic struct rc_map_list tbs_nec_map = {
4962306a36Sopenharmony_ci	.map = {
5062306a36Sopenharmony_ci		.scan     = tbs_nec,
5162306a36Sopenharmony_ci		.size     = ARRAY_SIZE(tbs_nec),
5262306a36Sopenharmony_ci		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
5362306a36Sopenharmony_ci		.name     = RC_MAP_TBS_NEC,
5462306a36Sopenharmony_ci	}
5562306a36Sopenharmony_ci};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cistatic int __init init_rc_map_tbs_nec(void)
5862306a36Sopenharmony_ci{
5962306a36Sopenharmony_ci	return rc_map_register(&tbs_nec_map);
6062306a36Sopenharmony_ci}
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_cistatic void __exit exit_rc_map_tbs_nec(void)
6362306a36Sopenharmony_ci{
6462306a36Sopenharmony_ci	rc_map_unregister(&tbs_nec_map);
6562306a36Sopenharmony_ci}
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_cimodule_init(init_rc_map_tbs_nec)
6862306a36Sopenharmony_cimodule_exit(exit_rc_map_tbs_nec)
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciMODULE_LICENSE("GPL");
7162306a36Sopenharmony_ciMODULE_AUTHOR("Mauro Carvalho Chehab");
72