Commit b295c229 authored by Philipp Zabel's avatar Philipp Zabel
Browse files

Add LVDS RGB media bus formats



This patch adds three new RGB media bus formats that describe
18-bit or 24-bit samples transferred over an LVDS bus with three
or four differential data pairs, serialized into 7 time slots,
using standard SPWG/PSWG/VESA or JEIDA data ordering.

Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Acked-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
parent 4b3a81a9
Loading
Loading
Loading
Loading
+255 −0
Original line number Diff line number Diff line
@@ -622,6 +622,261 @@ see <xref linkend="colorspaces" />.</entry>
	  </tbody>
	</tgroup>
      </table>

      <para>On LVDS buses, usually each sample is transferred serialized in
      seven time slots per pixel clock, on three (18-bit) or four (24-bit)
      differential data pairs at the same time. The remaining bits are used for
      control signals as defined by SPWG/PSWG/VESA or JEIDA standards.
      The 24-bit RGB format serialized in seven time slots on four lanes using
      JEIDA defined bit mapping will be named
      <constant>MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA</constant>, for example.
      </para>

      <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb-lvds">
	<title>LVDS RGB formats</title>
	<tgroup cols="8">
	  <colspec colname="id" align="left" />
	  <colspec colname="code" align="center" />
	  <colspec colname="slot" align="center" />
	  <colspec colname="lane" />
	  <colspec colnum="5" colname="l03" align="center" />
	  <colspec colnum="6" colname="l02" align="center" />
	  <colspec colnum="7" colname="l01" align="center" />
	  <colspec colnum="8" colname="l00" align="center" />
	  <spanspec namest="l03" nameend="l00" spanname="l0" />
	  <thead>
	    <row>
	      <entry>Identifier</entry>
	      <entry>Code</entry>
	      <entry></entry>
	      <entry></entry>
	      <entry spanname="l0">Data organization</entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>Timeslot</entry>
	      <entry>Lane</entry>
	      <entry>3</entry>
	      <entry>2</entry>
	      <entry>1</entry>
	      <entry>0</entry>
	    </row>
	  </thead>
	  <tbody valign="top">
	    <row id="MEDIA-BUS-FMT-RGB666-1X7X3-SPWG">
	      <entry>MEDIA_BUS_FMT_RGB666_1X7X3_SPWG</entry>
	      <entry>0x1010</entry>
	      <entry>0</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>d</entry>
	      <entry>b<subscript>1</subscript></entry>
	      <entry>g<subscript>0</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>1</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>d</entry>
	      <entry>b<subscript>0</subscript></entry>
	      <entry>r<subscript>5</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>2</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>d</entry>
	      <entry>g<subscript>5</subscript></entry>
	      <entry>r<subscript>4</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>3</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>b<subscript>5</subscript></entry>
	      <entry>g<subscript>4</subscript></entry>
	      <entry>r<subscript>3</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>4</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>b<subscript>4</subscript></entry>
	      <entry>g<subscript>3</subscript></entry>
	      <entry>r<subscript>2</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>5</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>b<subscript>3</subscript></entry>
	      <entry>g<subscript>2</subscript></entry>
	      <entry>r<subscript>1</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>6</entry>
	      <entry></entry>
	      <entry>-</entry>
	      <entry>b<subscript>2</subscript></entry>
	      <entry>g<subscript>1</subscript></entry>
	      <entry>r<subscript>0</subscript></entry>
	    </row>
	    <row id="MEDIA-BUS-FMT-RGB888-1X7X4-SPWG">
	      <entry>MEDIA_BUS_FMT_RGB888_1X7X4_SPWG</entry>
	      <entry>0x1011</entry>
	      <entry>0</entry>
	      <entry></entry>
	      <entry>d</entry>
	      <entry>d</entry>
	      <entry>b<subscript>1</subscript></entry>
	      <entry>g<subscript>0</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>1</entry>
	      <entry></entry>
	      <entry>b<subscript>7</subscript></entry>
	      <entry>d</entry>
	      <entry>b<subscript>0</subscript></entry>
	      <entry>r<subscript>5</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>2</entry>
	      <entry></entry>
	      <entry>b<subscript>6</subscript></entry>
	      <entry>d</entry>
	      <entry>g<subscript>5</subscript></entry>
	      <entry>r<subscript>4</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>3</entry>
	      <entry></entry>
	      <entry>g<subscript>7</subscript></entry>
	      <entry>b<subscript>5</subscript></entry>
	      <entry>g<subscript>4</subscript></entry>
	      <entry>r<subscript>3</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>4</entry>
	      <entry></entry>
	      <entry>g<subscript>6</subscript></entry>
	      <entry>b<subscript>4</subscript></entry>
	      <entry>g<subscript>3</subscript></entry>
	      <entry>r<subscript>2</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>5</entry>
	      <entry></entry>
	      <entry>r<subscript>7</subscript></entry>
	      <entry>b<subscript>3</subscript></entry>
	      <entry>g<subscript>2</subscript></entry>
	      <entry>r<subscript>1</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>6</entry>
	      <entry></entry>
	      <entry>r<subscript>6</subscript></entry>
	      <entry>b<subscript>2</subscript></entry>
	      <entry>g<subscript>1</subscript></entry>
	      <entry>r<subscript>0</subscript></entry>
	    </row>
	    <row id="MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA">
	      <entry>MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA</entry>
	      <entry>0x1012</entry>
	      <entry>0</entry>
	      <entry></entry>
	      <entry>d</entry>
	      <entry>d</entry>
	      <entry>b<subscript>3</subscript></entry>
	      <entry>g<subscript>2</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>1</entry>
	      <entry></entry>
	      <entry>b<subscript>1</subscript></entry>
	      <entry>d</entry>
	      <entry>b<subscript>2</subscript></entry>
	      <entry>r<subscript>7</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>2</entry>
	      <entry></entry>
	      <entry>b<subscript>0</subscript></entry>
	      <entry>d</entry>
	      <entry>g<subscript>7</subscript></entry>
	      <entry>r<subscript>6</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>3</entry>
	      <entry></entry>
	      <entry>g<subscript>1</subscript></entry>
	      <entry>b<subscript>7</subscript></entry>
	      <entry>g<subscript>6</subscript></entry>
	      <entry>r<subscript>5</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>4</entry>
	      <entry></entry>
	      <entry>g<subscript>0</subscript></entry>
	      <entry>b<subscript>6</subscript></entry>
	      <entry>g<subscript>5</subscript></entry>
	      <entry>r<subscript>4</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>5</entry>
	      <entry></entry>
	      <entry>r<subscript>1</subscript></entry>
	      <entry>b<subscript>5</subscript></entry>
	      <entry>g<subscript>4</subscript></entry>
	      <entry>r<subscript>3</subscript></entry>
	    </row>
	    <row>
	      <entry></entry>
	      <entry></entry>
	      <entry>6</entry>
	      <entry></entry>
	      <entry>r<subscript>0</subscript></entry>
	      <entry>b<subscript>4</subscript></entry>
	      <entry>g<subscript>3</subscript></entry>
	      <entry>r<subscript>2</subscript></entry>
	    </row>
	  </tbody>
	</tgroup>
      </table>
    </section>

    <section>
+4 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@

#define MEDIA_BUS_FMT_FIXED			0x0001

/* RGB - next is	0x1010 */
/* RGB - next is	0x1013 */
#define MEDIA_BUS_FMT_RGB444_1X12		0x100e
#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE	0x1001
#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE	0x1002
@@ -45,9 +45,12 @@
#define MEDIA_BUS_FMT_RGB565_2X8_BE		0x1007
#define MEDIA_BUS_FMT_RGB565_2X8_LE		0x1008
#define MEDIA_BUS_FMT_RGB666_1X18		0x1009
#define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG		0x1010
#define MEDIA_BUS_FMT_RGB888_1X24		0x100a
#define MEDIA_BUS_FMT_RGB888_2X12_BE		0x100b
#define MEDIA_BUS_FMT_RGB888_2X12_LE		0x100c
#define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG		0x1011
#define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA	0x1012
#define MEDIA_BUS_FMT_ARGB8888_1X32		0x100d

/* YUV (including grey) - next is	0x2024 */