diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml
index 2aae8e9452a4..65a11867e0ae 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml
@@ -237,9 +237,9 @@ for a pixel lie next to each other in memory.
g4
g3
-
- V4L2_PIX_FMT_RGB555X
- 'RGBQ'
+
+ V4L2_PIX_FMT_ARGB555X
+ 'AR15' | (1 << 31)
a
r4
@@ -259,6 +259,28 @@ for a pixel lie next to each other in memory.
b1
b0
+
+ V4L2_PIX_FMT_XRGB555X
+ 'XR15' | (1 << 31)
+
+ -
+ r4
+ r3
+ r2
+ r1
+ r0
+ g4
+ g3
+
+ g2
+ g1
+ g0
+ b4
+ b3
+ b2
+ b1
+ b0
+
V4L2_PIX_FMT_RGB565X
'RGBR'
@@ -800,6 +822,28 @@ image
g4
g3
+
+ V4L2_PIX_FMT_RGB555X
+ 'RGBQ'
+
+ a
+ r4
+ r3
+ r2
+ r1
+ r0
+ g4
+ g3
+
+ g2
+ g1
+ g0
+ b4
+ b3
+ b2
+ b1
+ b0
+
V4L2_PIX_FMT_BGR32
'BGR4'
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 0b1ba5c6a8d2..1c2f84fd4d99 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -79,6 +79,7 @@
/* Four-character-code (FOURCC) */
#define v4l2_fourcc(a, b, c, d)\
((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24))
+#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
/*
* E N U M S
@@ -307,6 +308,8 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
+#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 */
#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 */