This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:

Subject: v4l-utils: sync with latest media_tree master repo
Author:  Hans Verkuil <[email protected]>
Date:    Wed Jan 6 10:15:54 2021 +0100

Signed-off-by: Hans Verkuil <[email protected]>

 contrib/freebsd/include/linux/videodev2.h          |  14 +--
 include/linux/bpf.h                                | 109 ++++++++++++++++++++-
 include/linux/media-bus-format.h                   |   3 +-
 include/linux/videodev2.h                          |  14 +--
 utils/keytable/rc_keymaps/khamsin.toml             |  34 +++++++
 utils/keytable/rc_keymaps/pine64.toml              |  30 ++++++
 utils/keytable/rc_keymaps/samsung_ak59_00125a.toml |  69 +++++++++++++
 utils/keytable/rc_maps.cfg                         |   1 +
 8 files changed, 252 insertions(+), 22 deletions(-)

---

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=f4316861d164a4fbd097eaf703e862835f396486
diff --git a/contrib/freebsd/include/linux/videodev2.h 
b/contrib/freebsd/include/linux/videodev2.h
index 9f3ef6f8d2d2..a4f6d62722c7 100644
--- a/contrib/freebsd/include/linux/videodev2.h
+++ b/contrib/freebsd/include/linux/videodev2.h
@@ -543,7 +543,7 @@ struct v4l2_pix_format {
 
 /*      Pixel format         FOURCC                          depth  
Description  */
 
-/* RGB formats */
+/* RGB formats (1 or 2 bytes per pixel) */
 #define V4L2_PIX_FMT_RGB332  v4l2_fourcc('R', 'G', 'B', '1') /*  8  RGB-3-3-2  
   */
 #define V4L2_PIX_FMT_RGB444  v4l2_fourcc('R', '4', '4', '4') /* 16  xxxxrrrr 
ggggbbbb */
 #define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16  aaaarrrr 
ggggbbbb */
@@ -552,12 +552,6 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') /* 16  rrrrgggg 
bbbbxxxx */
 #define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16  aaaabbbb 
ggggrrrr */
 #define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') /* 16  xxxxbbbb 
ggggrrrr */
-
-/*
- * Originally this had 'BA12' as fourcc, but this clashed with the older
- * V4L2_PIX_FMT_SGRBG12 which inexplicably used that same fourcc.
- * So use 'GA12' instead for V4L2_PIX_FMT_BGRA444.
- */
 #define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') /* 16  bbbbgggg 
rrrraaaa */
 #define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') /* 16  bbbbgggg 
rrrrxxxx */
 #define V4L2_PIX_FMT_RGB555  v4l2_fourcc('R', 'G', 'B', 'O') /* 16  RGB-5-5-5  
   */
@@ -574,6 +568,8 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16  
ARGB-5-5-5 BE */
 #define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16  
XRGB-5-5-5 BE */
 #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16  RGB-5-6-5 
BE  */
+
+/* RGB formats (3 or 4 bytes per pixel) */
 #define V4L2_PIX_FMT_BGR666  v4l2_fourcc('B', 'G', 'R', 'H') /* 18  BGR-6-6-6  
  */
 #define V4L2_PIX_FMT_BGR24   v4l2_fourcc('B', 'G', 'R', '3') /* 24  BGR-8-8-8  
   */
 #define V4L2_PIX_FMT_RGB24   v4l2_fourcc('R', 'G', 'B', '3') /* 24  RGB-8-8-8  
   */
@@ -623,8 +619,6 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_XYUV32  v4l2_fourcc('X', 'Y', 'U', 'V') /* 32  
XYUV-8-8-8-8  */
 #define V4L2_PIX_FMT_VUYA32  v4l2_fourcc('V', 'U', 'Y', 'A') /* 32  
VUYA-8-8-8-8  */
 #define V4L2_PIX_FMT_VUYX32  v4l2_fourcc('V', 'U', 'Y', 'X') /* 32  
VUYX-8-8-8-8  */
-#define V4L2_PIX_FMT_HI240   v4l2_fourcc('H', 'I', '2', '4') /*  8  8-bit 
color   */
-#define V4L2_PIX_FMT_HM12    v4l2_fourcc('H', 'M', '1', '2') /*  8  YUV 4:2:0 
16x16 macroblocks */
 #define V4L2_PIX_FMT_M420    v4l2_fourcc('M', '4', '2', '0') /* 12  YUV 4:2:0 
2 lines y, 1 line uv interleaved */
 
 /* two planes -- one Y, one Cr + Cb interleaved  */
@@ -634,6 +628,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_NV61    v4l2_fourcc('N', 'V', '6', '1') /* 16  Y/CrCb 
4:2:2  */
 #define V4L2_PIX_FMT_NV24    v4l2_fourcc('N', 'V', '2', '4') /* 24  Y/CbCr 
4:4:4  */
 #define V4L2_PIX_FMT_NV42    v4l2_fourcc('N', 'V', '4', '2') /* 24  Y/CrCb 
4:4:4  */
+#define V4L2_PIX_FMT_HM12    v4l2_fourcc('H', 'M', '1', '2') /*  8  YUV 4:2:0 
16x16 macroblocks */
 
 /* two non contiguous planes - one Y, one Cr + Cb interleaved  */
 #define V4L2_PIX_FMT_NV12M   v4l2_fourcc('N', 'M', '1', '2') /* 12  Y/CbCr 
4:2:0  */
@@ -767,6 +762,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_INZI     v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar 
Greyscale 10-bit and Depth 16-bit */
 #define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /* Sunxi 
Tiled NV12 Format */
 #define V4L2_PIX_FMT_CNF4     v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit 
packed depth confidence information */
+#define V4L2_PIX_FMT_HI240    v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit 
dithered RGB */
 
 /* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits 
unused */
 #define V4L2_PIX_FMT_IPU3_SBGGR10      v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 
packed 10-bit BGGR bayer */
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index eb407382de4f..bd28bc76d810 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -157,6 +157,7 @@ enum bpf_map_type {
        BPF_MAP_TYPE_STRUCT_OPS,
        BPF_MAP_TYPE_RINGBUF,
        BPF_MAP_TYPE_INODE_STORAGE,
+       BPF_MAP_TYPE_TASK_STORAGE,
 };
 
 /* Note that tracing related programs such as
@@ -556,7 +557,12 @@ union bpf_attr {
                __aligned_u64   line_info;      /* line info */
                __u32           line_info_cnt;  /* number of bpf_line_info 
records */
                __u32           attach_btf_id;  /* in-kernel BTF type id to 
attach to */
-               __u32           attach_prog_fd; /* 0 to attach to vmlinux */
+               union {
+                       /* valid prog_fd to attach to bpf prog */
+                       __u32           attach_prog_fd;
+                       /* or valid module BTF object fd or 0 to attach to 
vmlinux */
+                       __u32           attach_btf_obj_fd;
+               };
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -3742,6 +3748,88 @@ union bpf_attr {
  *     Return
  *             The helper returns **TC_ACT_REDIRECT** on success or
  *             **TC_ACT_SHOT** on error.
+ *
+ * void *bpf_task_storage_get(struct bpf_map *map, struct task_struct *task, 
void *value, u64 flags)
+ *     Description
+ *             Get a bpf_local_storage from the *task*.
+ *
+ *             Logically, it could be thought of as getting the value from
+ *             a *map* with *task* as the **key**.  From this
+ *             perspective,  the usage is not much different from
+ *             **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this
+ *             helper enforces the key must be an task_struct and the map must 
also
+ *             be a **BPF_MAP_TYPE_TASK_STORAGE**.
+ *
+ *             Underneath, the value is stored locally at *task* instead of
+ *             the *map*.  The *map* is used as the bpf-local-storage
+ *             "type". The bpf-local-storage "type" (i.e. the *map*) is
+ *             searched against all bpf_local_storage residing at *task*.
+ *
+ *             An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be
+ *             used such that a new bpf_local_storage will be
+ *             created if one does not exist.  *value* can be used
+ *             together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify
+ *             the initial value of a bpf_local_storage.  If *value* is
+ *             **NULL**, the new bpf_local_storage will be zero initialized.
+ *     Return
+ *             A bpf_local_storage pointer is returned on success.
+ *
+ *             **NULL** if not found or there was an error in adding
+ *             a new bpf_local_storage.
+ *
+ * long bpf_task_storage_delete(struct bpf_map *map, struct task_struct *task)
+ *     Description
+ *             Delete a bpf_local_storage from a *task*.
+ *     Return
+ *             0 on success.
+ *
+ *             **-ENOENT** if the bpf_local_storage cannot be found.
+ *
+ * struct task_struct *bpf_get_current_task_btf(void)
+ *     Description
+ *             Return a BTF pointer to the "current" task.
+ *             This pointer can also be used in helpers that accept an
+ *             *ARG_PTR_TO_BTF_ID* of type *task_struct*.
+ *     Return
+ *             Pointer to the current task.
+ *
+ * long bpf_bprm_opts_set(struct linux_binprm *bprm, u64 flags)
+ *     Description
+ *             Set or clear certain options on *bprm*:
+ *
+ *             **BPF_F_BPRM_SECUREEXEC** Set the secureexec bit
+ *             which sets the **AT_SECURE** auxv for glibc. The bit
+ *             is cleared if the flag is not specified.
+ *     Return
+ *             **-EINVAL** if invalid *flags* are passed, zero otherwise.
+ *
+ * u64 bpf_ktime_get_coarse_ns(void)
+ *     Description
+ *             Return a coarse-grained version of the time elapsed since
+ *             system boot, in nanoseconds. Does not include time the system
+ *             was suspended.
+ *
+ *             See: **clock_gettime**\ (**CLOCK_MONOTONIC_COARSE**)
+ *     Return
+ *             Current *ktime*.
+ *
+ * long bpf_ima_inode_hash(struct inode *inode, void *dst, u32 size)
+ *     Description
+ *             Returns the stored IMA hash of the *inode* (if it's avaialable).
+ *             If the hash is larger than *size*, then only *size*
+ *             bytes will be copied to *dst*
+ *     Return
+ *             The **hash_algo** is returned on success,
+ *             **-EOPNOTSUP** if IMA is disabled or **-EINVAL** if
+ *             invalid arguments are passed.
+ *
+ * struct socket *bpf_sock_from_file(struct file *file)
+ *     Description
+ *             If the given file represents a socket, returns the associated
+ *             socket.
+ *     Return
+ *             A pointer to a struct socket on success or NULL if the file is
+ *             not a socket.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -3897,9 +3985,16 @@ union bpf_attr {
        FN(seq_printf_btf),             \
        FN(skb_cgroup_classid),         \
        FN(redirect_neigh),             \
-       FN(bpf_per_cpu_ptr),            \
-       FN(bpf_this_cpu_ptr),           \
+       FN(per_cpu_ptr),                \
+       FN(this_cpu_ptr),               \
        FN(redirect_peer),              \
+       FN(task_storage_get),           \
+       FN(task_storage_delete),        \
+       FN(get_current_task_btf),       \
+       FN(bprm_opts_set),              \
+       FN(ktime_get_coarse_ns),        \
+       FN(ima_inode_hash),             \
+       FN(sock_from_file),             \
        /* */
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -4071,6 +4166,11 @@ enum bpf_lwt_encap_mode {
        BPF_LWT_ENCAP_IP,
 };
 
+/* Flags for bpf_bprm_opts_set helper */
+enum {
+       BPF_F_BPRM_SECUREEXEC   = (1ULL << 0),
+};
+
 #define __bpf_md_ptr(type, name)       \
 union {                                        \
        type name;                      \
@@ -4418,6 +4518,9 @@ struct bpf_btf_info {
        __aligned_u64 btf;
        __u32 btf_size;
        __u32 id;
+       __aligned_u64 name;
+       __u32 name_len;
+       __u32 kernel_btf;
 } __attribute__((aligned(8)));
 
 struct bpf_link_info {
diff --git a/include/linux/media-bus-format.h b/include/linux/media-bus-format.h
index 2ce3d891d344..0dfc11ee243a 100644
--- a/include/linux/media-bus-format.h
+++ b/include/linux/media-bus-format.h
@@ -34,7 +34,7 @@
 
 #define MEDIA_BUS_FMT_FIXED                    0x0001
 
-/* RGB - next is       0x101d */
+/* RGB - next is       0x101e */
 #define MEDIA_BUS_FMT_RGB444_1X12              0x1016
 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE      0x1001
 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE      0x1002
@@ -56,6 +56,7 @@
 #define MEDIA_BUS_FMT_RGB888_2X12_BE           0x100b
 #define MEDIA_BUS_FMT_RGB888_2X12_LE           0x100c
 #define MEDIA_BUS_FMT_RGB888_3X8               0x101c
+#define MEDIA_BUS_FMT_RGB888_3X8_DELTA         0x101d
 #define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG                0x1011
 #define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA       0x1012
 #define MEDIA_BUS_FMT_ARGB8888_1X32            0x100d
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 6e14ef7ac0e4..31d1747e2496 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -509,7 +509,7 @@ struct v4l2_pix_format {
 
 /*      Pixel format         FOURCC                          depth  
Description  */
 
-/* RGB formats */
+/* RGB formats (1 or 2 bytes per pixel) */
 #define V4L2_PIX_FMT_RGB332  v4l2_fourcc('R', 'G', 'B', '1') /*  8  RGB-3-3-2  
   */
 #define V4L2_PIX_FMT_RGB444  v4l2_fourcc('R', '4', '4', '4') /* 16  xxxxrrrr 
ggggbbbb */
 #define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16  aaaarrrr 
ggggbbbb */
@@ -518,12 +518,6 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') /* 16  rrrrgggg 
bbbbxxxx */
 #define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16  aaaabbbb 
ggggrrrr */
 #define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') /* 16  xxxxbbbb 
ggggrrrr */
-
-/*
- * Originally this had 'BA12' as fourcc, but this clashed with the older
- * V4L2_PIX_FMT_SGRBG12 which inexplicably used that same fourcc.
- * So use 'GA12' instead for V4L2_PIX_FMT_BGRA444.
- */
 #define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') /* 16  bbbbgggg 
rrrraaaa */
 #define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') /* 16  bbbbgggg 
rrrrxxxx */
 #define V4L2_PIX_FMT_RGB555  v4l2_fourcc('R', 'G', 'B', 'O') /* 16  RGB-5-5-5  
   */
@@ -540,6 +534,8 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16  
ARGB-5-5-5 BE */
 #define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16  
XRGB-5-5-5 BE */
 #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16  RGB-5-6-5 
BE  */
+
+/* RGB formats (3 or 4 bytes per pixel) */
 #define V4L2_PIX_FMT_BGR666  v4l2_fourcc('B', 'G', 'R', 'H') /* 18  BGR-6-6-6  
  */
 #define V4L2_PIX_FMT_BGR24   v4l2_fourcc('B', 'G', 'R', '3') /* 24  BGR-8-8-8  
   */
 #define V4L2_PIX_FMT_RGB24   v4l2_fourcc('R', 'G', 'B', '3') /* 24  RGB-8-8-8  
   */
@@ -589,8 +585,6 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_XYUV32  v4l2_fourcc('X', 'Y', 'U', 'V') /* 32  
XYUV-8-8-8-8  */
 #define V4L2_PIX_FMT_VUYA32  v4l2_fourcc('V', 'U', 'Y', 'A') /* 32  
VUYA-8-8-8-8  */
 #define V4L2_PIX_FMT_VUYX32  v4l2_fourcc('V', 'U', 'Y', 'X') /* 32  
VUYX-8-8-8-8  */
-#define V4L2_PIX_FMT_HI240   v4l2_fourcc('H', 'I', '2', '4') /*  8  8-bit 
color   */
-#define V4L2_PIX_FMT_HM12    v4l2_fourcc('H', 'M', '1', '2') /*  8  YUV 4:2:0 
16x16 macroblocks */
 #define V4L2_PIX_FMT_M420    v4l2_fourcc('M', '4', '2', '0') /* 12  YUV 4:2:0 
2 lines y, 1 line uv interleaved */
 
 /* two planes -- one Y, one Cr + Cb interleaved  */
@@ -600,6 +594,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_NV61    v4l2_fourcc('N', 'V', '6', '1') /* 16  Y/CrCb 
4:2:2  */
 #define V4L2_PIX_FMT_NV24    v4l2_fourcc('N', 'V', '2', '4') /* 24  Y/CbCr 
4:4:4  */
 #define V4L2_PIX_FMT_NV42    v4l2_fourcc('N', 'V', '4', '2') /* 24  Y/CrCb 
4:4:4  */
+#define V4L2_PIX_FMT_HM12    v4l2_fourcc('H', 'M', '1', '2') /*  8  YUV 4:2:0 
16x16 macroblocks */
 
 /* two non contiguous planes - one Y, one Cr + Cb interleaved  */
 #define V4L2_PIX_FMT_NV12M   v4l2_fourcc('N', 'M', '1', '2') /* 12  Y/CbCr 
4:2:0  */
@@ -733,6 +728,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_INZI     v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar 
Greyscale 10-bit and Depth 16-bit */
 #define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /* Sunxi 
Tiled NV12 Format */
 #define V4L2_PIX_FMT_CNF4     v4l2_fourcc('C', 'N', 'F', '4') /* Intel 4-bit 
packed depth confidence information */
+#define V4L2_PIX_FMT_HI240    v4l2_fourcc('H', 'I', '2', '4') /* BTTV 8-bit 
dithered RGB */
 
 /* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits 
unused */
 #define V4L2_PIX_FMT_IPU3_SBGGR10      v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 
packed 10-bit BGGR bayer */
diff --git a/utils/keytable/rc_keymaps/khamsin.toml 
b/utils/keytable/rc_keymaps/khamsin.toml
new file mode 100644
index 000000000000..0eb77fa333f5
--- /dev/null
+++ b/utils/keytable/rc_keymaps/khamsin.toml
@@ -0,0 +1,34 @@
+[[protocols]]
+name = "khamsin"
+protocol = "nec"
+variant = "necx"
+[protocols.scancodes]
+0x70702 = "KEY_POWER"
+0x70701 = "KEY_VIDEO"
+0x7076c = "KEY_RED"
+0x70714 = "KEY_GREEN"
+0x70715 = "KEY_YELLOW"
+0x70716 = "KEY_BLUE"
+0x7071a = "KEY_MENU"
+0x7074f = "KEY_EPG"
+0x70760 = "KEY_UP"
+0x70761 = "KEY_DOWN"
+0x70765 = "KEY_LEFT"
+0x70762 = "KEY_RIGHT"
+0x70768 = "KEY_ENTER"
+0x7072d = "KEY_ESC"
+0x70707 = "KEY_VOLUMEUP"
+0x7070b = "KEY_VOLUMEDOWN"
+0x7070f = "KEY_MUTE"
+0x70712 = "KEY_CHANNELUP"
+0x70710 = "KEY_CHANNELDOWN"
+0x70704 = "KEY_1"
+0x70705 = "KEY_2"
+0x70706 = "KEY_3"
+0x70708 = "KEY_4"
+0x70709 = "KEY_5"
+0x7070a = "KEY_6"
+0x7070c = "KEY_7"
+0x7070d = "KEY_8"
+0x7070e = "KEY_9"
+0x70711 = "KEY_0"
diff --git a/utils/keytable/rc_keymaps/pine64.toml 
b/utils/keytable/rc_keymaps/pine64.toml
new file mode 100644
index 000000000000..37616901de20
--- /dev/null
+++ b/utils/keytable/rc_keymaps/pine64.toml
@@ -0,0 +1,30 @@
+[[protocols]]
+name = "pine64"
+protocol = "nec"
+variant = "necx"
+[protocols.scancodes]
+0x40404d = "KEY_POWER"
+0x40401f = "KEY_WWW"
+0x40400a = "KEY_MUTE"
+0x404017 = "KEY_VOLUMEDOWN"
+0x404018 = "KEY_VOLUMEUP"
+0x404010 = "KEY_LEFT"
+0x404011 = "KEY_RIGHT"
+0x40400b = "KEY_UP"
+0x40400e = "KEY_DOWN"
+0x40400d = "KEY_OK"
+0x40401d = "KEY_MENU"
+0x40401a = "KEY_HOME"
+0x404045 = "KEY_BACK"
+0x404001 = "KEY_NUMERIC_1"
+0x404002 = "KEY_NUMERIC_2"
+0x404003 = "KEY_NUMERIC_3"
+0x404004 = "KEY_NUMERIC_4"
+0x404005 = "KEY_NUMERIC_5"
+0x404006 = "KEY_NUMERIC_6"
+0x404007 = "KEY_NUMERIC_7"
+0x404008 = "KEY_NUMERIC_8"
+0x404009 = "KEY_NUMERIC_9"
+0x40400c = "KEY_BACKSPACE"
+0x404000 = "KEY_NUMERIC_0"
+0x404047 = "KEY_EPG"
diff --git a/utils/keytable/rc_keymaps/samsung_ak59_00125a.toml 
b/utils/keytable/rc_keymaps/samsung_ak59_00125a.toml
new file mode 100644
index 000000000000..488c6237b7b0
--- /dev/null
+++ b/utils/keytable/rc_keymaps/samsung_ak59_00125a.toml
@@ -0,0 +1,69 @@
+[[protocols]]
+name = 'Samsung AK59-00125A'
+protocol = 'pulse_distance'
+header_pulse = 4500
+header_space = 4500
+bit_pulse = 600
+bit_0_space = 500
+bit_1_space = 1600
+bits = 32
+margin = 300
+trailer_pulse = 600
+[protocols.scancodes]
+0xe0e040bf = "KEY_POWER2"
+# input
+0xe0e0807f = "KEY_VIDEO"
+0xe0e0e01f = "KEY_VOLUMEUP"
+0xe0e0d02f = "KEY_VOLUMEDOWN"
+0xe0e0f00f = "KEY_MUTE"
+0xe0e048b7 = "KEY_CHANNELUP"
+0xe0e008f7 = "KEY_CHANNELDOWN"
+[[protocols]]
+protocol = 'samsung36'
+[protocols.scancodes]
+0x400e00ff = "KEY_POWER"
+# bonus view
+0x400ecc33 = "KEY_VENDOR"
+0x400e807f = "KEY_EJECTCD"
+0x400e40bf = "KEY_NUMERIC_1"
+0x400ec03f = "KEY_NUMERIC_2"
+0x400e20df = "KEY_NUMERIC_3"
+0x400ea05f = "KEY_NUMERIC_4"
+0x400e609f = "KEY_NUMERIC_5"
+0x400ee01f = "KEY_NUMERIC_6"
+0x400e10ef = "KEY_NUMERIC_7"
+0x400e906f = "KEY_NUMERIC_8"
+0x400e50af = "KEY_NUMERIC_9"
+0x400ed02f = "KEY_NUMERIC_0"
+0x400ea45b = "KEY_AUDIO"
+0x400e649b = "KEY_SUBTITLE"
+0x400eb04f = "KEY_PREVIOUS"
+0x400e8877 = "KEY_NEXT"
+0x400e48b7 = "KEY_FASTREVERSE"
+0x400ea857 = "KEY_FASTFORWARD"
+0x400ec837 = "KEY_STOP"
+0x400e28d7 = "KEY_PLAY"
+0x400e4cb3 = "KEY_PAUSE"
+# disc menu
+0x400eb847 = "KEY_ROOT_MENU"
+0x400e6897 = "KEY_MENU"
+# title menu/popup
+0x400e04fb = "KEY_TITLE"
+# tools
+0x400e5ca3 = "KEY_CONFIG"
+0x400e7887 = "KEY_INFO"
+0x400e18e7 = "KEY_UP"
+0x400ed827 = "KEY_LEFT"
+0x400e58a7 = "KEY_RIGHT"
+0x400e9867 = "KEY_DOWN"
+0x400e38c7 = "KEY_ENTER"
+0x400ee817 = "KEY_ESC"
+0x400ed42b = "KEY_EXIT"
+0x400e847b = "KEY_RED"
+0x400e44bb = "KEY_GREEN"
+0x400ec43b = "KEY_YELLOW"
+0x400e24db = "KEY_BLUE"
+# smart/hub
+0x400e1ce3 = "KEY_VENDOR"
+0x400ebc43 = "KEY_SEARCH"
+0x400ee41b = "KEY_MEDIA_REPEAT"
diff --git a/utils/keytable/rc_maps.cfg b/utils/keytable/rc_maps.cfg
index 39a347ac4866..4e45af2666e8 100644
--- a/utils/keytable/rc_maps.cfg
+++ b/utils/keytable/rc_maps.cfg
@@ -112,6 +112,7 @@
 *      rc-npgtech               npgtech.toml
 *      rc-odroid                odroid.toml
 *      rc-pctv-sedna            pctv_sedna.toml
+*      rc-pine64                pine64.toml
 *      rc-pinnacle-color        pinnacle_color.toml
 *      rc-pinnacle-grey         pinnacle_grey.toml
 *      rc-pinnacle-pctv-hd      pinnacle_pctv_hd.toml

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to