Sat Jan 20 00:23:13 2024 UTC (121d)
wscons: Add HOLLYWOOD display and YUY2 pixel format types


(jmcneill)
diff -r1.126 -r1.127 src/sys/dev/wscons/wsconsio.h

cvs diff -r1.126 -r1.127 src/sys/dev/wscons/wsconsio.h (expand / switch to unified diff)

--- src/sys/dev/wscons/wsconsio.h 2021/09/28 06:14:27 1.126
+++ src/sys/dev/wscons/wsconsio.h 2024/01/20 00:23:12 1.127
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: wsconsio.h,v 1.126 2021/09/28 06:14:27 nia Exp $ */ 1/* $NetBSD: wsconsio.h,v 1.127 2024/01/20 00:23:12 jmcneill Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved. 4 * Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright 11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the 12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution. 13 * documentation and/or other materials provided with the distribution.
14 * 3. All advertising materials mentioning features or use of this software 14 * 3. All advertising materials mentioning features or use of this software
@@ -356,26 +356,27 @@ struct wsmouse_parameters { @@ -356,26 +356,27 @@ struct wsmouse_parameters {
356#define WSDISPLAY_TYPE_VALKYRIE 54 /* Apple onboard video 'valkyrie' */ 356#define WSDISPLAY_TYPE_VALKYRIE 54 /* Apple onboard video 'valkyrie' */
357#define WSDISPLAY_TYPE_IMXIPU 55 /* i.MX ipu */ 357#define WSDISPLAY_TYPE_IMXIPU 55 /* i.MX ipu */
358#define WSDISPLAY_TYPE_VC4 56 /* Broadcom VideoCore 4 */ 358#define WSDISPLAY_TYPE_VC4 56 /* Broadcom VideoCore 4 */
359#define WSDISPLAY_TYPE_OMAP3 57 /* OMAP 3530 */ 359#define WSDISPLAY_TYPE_OMAP3 57 /* OMAP 3530 */
360#define WSDISPLAY_TYPE_WINDERMERE 58 /* SoC for EPOC32 Series 5mx */ 360#define WSDISPLAY_TYPE_WINDERMERE 58 /* SoC for EPOC32 Series 5mx */
361#define WSDISPLAY_TYPE_CLPS711X 59 /* CL PS-711x */ 361#define WSDISPLAY_TYPE_CLPS711X 59 /* CL PS-711x */
362#define WSDISPLAY_TYPE_ALLWINNER 60 /* Allwinner ARM SoC */ 362#define WSDISPLAY_TYPE_ALLWINNER 60 /* Allwinner ARM SoC */
363#define WSDISPLAY_TYPE_MGX 61 /* SSB 4096V-MGX */ 363#define WSDISPLAY_TYPE_MGX 61 /* SSB 4096V-MGX */
364#define WSDISPLAY_TYPE_MESON 62 /* Amlogic Meson ARM SoC */ 364#define WSDISPLAY_TYPE_MESON 62 /* Amlogic Meson ARM SoC */
365#define WSDISPLAY_TYPE_TEGRA 63 /* NVIDIA Tegra ARM SoC */ 365#define WSDISPLAY_TYPE_TEGRA 63 /* NVIDIA Tegra ARM SoC */
366#define WSDISPLAY_TYPE_PLATINUM 64 /* onboard fb in PowerMac 7200 */ 366#define WSDISPLAY_TYPE_PLATINUM 64 /* onboard fb in PowerMac 7200 */
367#define WSDISPLAY_TYPE_PLFB 65 /* ARM PrimeCell PL11x */ 367#define WSDISPLAY_TYPE_PLFB 65 /* ARM PrimeCell PL11x */
368#define WSDISPLAY_TYPE_SSDFB 66 /* ssdfb(4) */ 368#define WSDISPLAY_TYPE_SSDFB 66 /* ssdfb(4) */
 369#define WSDISPLAY_TYPE_HOLLYWOOD 67 /* Nintendo Wii "Hollywood" SoC */
369 370
370/* Basic display information. Not applicable to all display types. */ 371/* Basic display information. Not applicable to all display types. */
371struct wsdisplay_fbinfo { 372struct wsdisplay_fbinfo {
372 u_int height; /* height in pixels */ 373 u_int height; /* height in pixels */
373 u_int width; /* width in pixels */ 374 u_int width; /* width in pixels */
374 u_int depth; /* bits per pixel */ 375 u_int depth; /* bits per pixel */
375 u_int cmsize; /* color map size (entries) */ 376 u_int cmsize; /* color map size (entries) */
376}; 377};
377#define WSDISPLAYIO_GINFO _IOR('W', 65, struct wsdisplay_fbinfo) 378#define WSDISPLAYIO_GINFO _IOR('W', 65, struct wsdisplay_fbinfo)
378 379
379/* Colormap operations. Not applicable to all display types. */ 380/* Colormap operations. Not applicable to all display types. */
380struct wsdisplay_cmap { 381struct wsdisplay_cmap {
381 u_int index; /* first element (0 origin) */ 382 u_int index; /* first element (0 origin) */
@@ -639,26 +640,27 @@ struct wsdisplayio_edid_info { @@ -639,26 +640,27 @@ struct wsdisplayio_edid_info {
639#define WSDISPLAYIO_SET_POLLING _IOW('W', 103, int) 640#define WSDISPLAYIO_SET_POLLING _IOW('W', 103, int)
640#define WSDISPLAYIOMGWEHITANDKILLEDASKUNK WSDISPLAYIO_SET_POLLING 641#define WSDISPLAYIOMGWEHITANDKILLEDASKUNK WSDISPLAYIO_SET_POLLING
641 642
642/* 643/*
643 * this is supposed to replace WSDISPLAYIO_GINFO, WSDISPLAYIO_GTYPE, 644 * this is supposed to replace WSDISPLAYIO_GINFO, WSDISPLAYIO_GTYPE,
644 * WSDISPLAYIO_LINEBYTES etc. 645 * WSDISPLAYIO_LINEBYTES etc.
645 */ 646 */
646 647
647/* format type - colour index, 'true' colour etc. */ 648/* format type - colour index, 'true' colour etc. */
648#define WSFB_RGB 0 649#define WSFB_RGB 0
649#define WSFB_CI 1 /* colour indexed, see subtype */ 650#define WSFB_CI 1 /* colour indexed, see subtype */
650#define WSFB_GREYSCALE 2 651#define WSFB_GREYSCALE 2
651#define WSFB_YUV 3 652#define WSFB_YUV 3
 653#define WSFB_YUY2 4
652 654
653struct wsdisplayio_fbinfo { 655struct wsdisplayio_fbinfo {
654 uint64_t fbi_fbsize; /* framebuffer size in bytes */ 656 uint64_t fbi_fbsize; /* framebuffer size in bytes */
655 uint64_t fbi_fboffset; /* start of visible fb, in bytes */  657 uint64_t fbi_fboffset; /* start of visible fb, in bytes */
656 uint32_t fbi_width; /* in pixels */ 658 uint32_t fbi_width; /* in pixels */
657 uint32_t fbi_height; /* in lines */ 659 uint32_t fbi_height; /* in lines */
658 uint32_t fbi_stride; /* in bytes */ 660 uint32_t fbi_stride; /* in bytes */
659 uint32_t fbi_bitsperpixel; 661 uint32_t fbi_bitsperpixel;
660 uint32_t fbi_pixeltype; /* see above */ 662 uint32_t fbi_pixeltype; /* see above */
661 union _fbi_subtype { 663 union _fbi_subtype {
662 struct _fbi_rgbmasks { 664 struct _fbi_rgbmasks {
663 /* offsets from the right, size in bits */ 665 /* offsets from the right, size in bits */
664 uint32_t red_offset; 666 uint32_t red_offset;