| @@ -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. */ |
371 | struct wsdisplay_fbinfo { | | 372 | struct 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. */ |
380 | struct wsdisplay_cmap { | | 381 | struct 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 | |
653 | struct wsdisplayio_fbinfo { | | 655 | struct 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; |