ps3av.h

来自「linux 内核源代码」· C头文件 代码 · 共 728 行 · 第 1/2 页

H
728
字号
/* *  PS3 AV backend support. * *  Copyright (C) 2007 Sony Computer Entertainment Inc. *  Copyright 2007 Sony Corp. * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; version 2 of the License. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef _ASM_POWERPC_PS3AV_H_#define _ASM_POWERPC_PS3AV_H_/** command for ioctl() **/#define PS3AV_VERSION 0x205	/* version of ps3av command */#define PS3AV_CID_AV_INIT              0x00000001#define PS3AV_CID_AV_FIN               0x00000002#define PS3AV_CID_AV_GET_HW_CONF       0x00000003#define PS3AV_CID_AV_GET_MONITOR_INFO  0x00000004#define PS3AV_CID_AV_ENABLE_EVENT      0x00000006#define PS3AV_CID_AV_DISABLE_EVENT     0x00000007#define PS3AV_CID_AV_TV_MUTE           0x0000000a#define PS3AV_CID_AV_VIDEO_CS          0x00010001#define PS3AV_CID_AV_VIDEO_MUTE        0x00010002#define PS3AV_CID_AV_VIDEO_DISABLE_SIG 0x00010003#define PS3AV_CID_AV_AUDIO_PARAM       0x00020001#define PS3AV_CID_AV_AUDIO_MUTE        0x00020002#define PS3AV_CID_AV_HDMI_MODE         0x00040001#define PS3AV_CID_VIDEO_INIT           0x01000001#define PS3AV_CID_VIDEO_MODE           0x01000002#define PS3AV_CID_VIDEO_FORMAT         0x01000004#define PS3AV_CID_VIDEO_PITCH          0x01000005#define PS3AV_CID_AUDIO_INIT           0x02000001#define PS3AV_CID_AUDIO_MODE           0x02000002#define PS3AV_CID_AUDIO_MUTE           0x02000003#define PS3AV_CID_AUDIO_ACTIVE         0x02000004#define PS3AV_CID_AUDIO_INACTIVE       0x02000005#define PS3AV_CID_AUDIO_SPDIF_BIT      0x02000006#define PS3AV_CID_AUDIO_CTRL           0x02000007#define PS3AV_CID_EVENT_UNPLUGGED      0x10000001#define PS3AV_CID_EVENT_PLUGGED        0x10000002#define PS3AV_CID_EVENT_HDCP_DONE      0x10000003#define PS3AV_CID_EVENT_HDCP_FAIL      0x10000004#define PS3AV_CID_EVENT_HDCP_AUTH      0x10000005#define PS3AV_CID_EVENT_HDCP_ERROR     0x10000006#define PS3AV_CID_AVB_PARAM            0x04000001/* max backend ports */#define PS3AV_HDMI_MAX                 2	/* HDMI_0 HDMI_1 */#define PS3AV_AVMULTI_MAX              1	/* AVMULTI_0 */#define PS3AV_AV_PORT_MAX              (PS3AV_HDMI_MAX + PS3AV_AVMULTI_MAX)#define PS3AV_OPT_PORT_MAX             1	/* SPDIF0 */#define PS3AV_HEAD_MAX                 2	/* HEAD_A HEAD_B *//* num of pkt for PS3AV_CID_AVB_PARAM */#define PS3AV_AVB_NUM_VIDEO            PS3AV_HEAD_MAX#define PS3AV_AVB_NUM_AUDIO            0	/* not supported */#define PS3AV_AVB_NUM_AV_VIDEO         PS3AV_AV_PORT_MAX#define PS3AV_AVB_NUM_AV_AUDIO         PS3AV_HDMI_MAX#define PS3AV_MUTE_PORT_MAX            1	/* num of ports in mute pkt *//* event_bit */#define PS3AV_CMD_EVENT_BIT_UNPLUGGED			(1 << 0)#define PS3AV_CMD_EVENT_BIT_PLUGGED			(1 << 1)#define PS3AV_CMD_EVENT_BIT_HDCP_DONE			(1 << 2)#define PS3AV_CMD_EVENT_BIT_HDCP_FAIL			(1 << 3)#define PS3AV_CMD_EVENT_BIT_HDCP_REAUTH			(1 << 4)#define PS3AV_CMD_EVENT_BIT_HDCP_TOPOLOGY		(1 << 5)/* common params *//* mute */#define PS3AV_CMD_MUTE_OFF				0x0000#define PS3AV_CMD_MUTE_ON				0x0001/* avport */#define PS3AV_CMD_AVPORT_HDMI_0				0x0000#define PS3AV_CMD_AVPORT_HDMI_1				0x0001#define PS3AV_CMD_AVPORT_AVMULTI_0			0x0010#define PS3AV_CMD_AVPORT_SPDIF_0			0x0020#define PS3AV_CMD_AVPORT_SPDIF_1			0x0021/* for av backend *//* av_mclk */#define PS3AV_CMD_AV_MCLK_128				0x0000#define PS3AV_CMD_AV_MCLK_256				0x0001#define PS3AV_CMD_AV_MCLK_512				0x0003/* av_inputlen */#define PS3AV_CMD_AV_INPUTLEN_16			0x02#define PS3AV_CMD_AV_INPUTLEN_20			0x0a#define PS3AV_CMD_AV_INPUTLEN_24			0x0b/* alayout */#define PS3AV_CMD_AV_LAYOUT_32				(1 << 0)#define PS3AV_CMD_AV_LAYOUT_44				(1 << 1)#define PS3AV_CMD_AV_LAYOUT_48				(1 << 2)#define PS3AV_CMD_AV_LAYOUT_88				(1 << 3)#define PS3AV_CMD_AV_LAYOUT_96				(1 << 4)#define PS3AV_CMD_AV_LAYOUT_176				(1 << 5)#define PS3AV_CMD_AV_LAYOUT_192				(1 << 6)/* hdmi_mode */#define PS3AV_CMD_AV_HDMI_MODE_NORMAL			0xff#define PS3AV_CMD_AV_HDMI_HDCP_OFF			0x01#define PS3AV_CMD_AV_HDMI_EDID_PASS			0x80#define PS3AV_CMD_AV_HDMI_DVI				0x40/* for video module *//* video_head */#define PS3AV_CMD_VIDEO_HEAD_A				0x0000#define PS3AV_CMD_VIDEO_HEAD_B				0x0001/* video_cs_out video_cs_in */#define PS3AV_CMD_VIDEO_CS_NONE				0x0000#define PS3AV_CMD_VIDEO_CS_RGB_8			0x0001#define PS3AV_CMD_VIDEO_CS_YUV444_8			0x0002#define PS3AV_CMD_VIDEO_CS_YUV422_8			0x0003#define PS3AV_CMD_VIDEO_CS_XVYCC_8			0x0004#define PS3AV_CMD_VIDEO_CS_RGB_10			0x0005#define PS3AV_CMD_VIDEO_CS_YUV444_10			0x0006#define PS3AV_CMD_VIDEO_CS_YUV422_10			0x0007#define PS3AV_CMD_VIDEO_CS_XVYCC_10			0x0008#define PS3AV_CMD_VIDEO_CS_RGB_12			0x0009#define PS3AV_CMD_VIDEO_CS_YUV444_12			0x000a#define PS3AV_CMD_VIDEO_CS_YUV422_12			0x000b#define PS3AV_CMD_VIDEO_CS_XVYCC_12			0x000c/* video_vid */#define PS3AV_CMD_VIDEO_VID_NONE			0x0000#define PS3AV_CMD_VIDEO_VID_480I			0x0001#define PS3AV_CMD_VIDEO_VID_576I			0x0003#define PS3AV_CMD_VIDEO_VID_480P			0x0005#define PS3AV_CMD_VIDEO_VID_576P			0x0006#define PS3AV_CMD_VIDEO_VID_1080I_60HZ			0x0007#define PS3AV_CMD_VIDEO_VID_1080I_50HZ			0x0008#define PS3AV_CMD_VIDEO_VID_720P_60HZ			0x0009#define PS3AV_CMD_VIDEO_VID_720P_50HZ			0x000a#define PS3AV_CMD_VIDEO_VID_1080P_60HZ			0x000b#define PS3AV_CMD_VIDEO_VID_1080P_50HZ			0x000c#define PS3AV_CMD_VIDEO_VID_WXGA			0x000d#define PS3AV_CMD_VIDEO_VID_SXGA			0x000e#define PS3AV_CMD_VIDEO_VID_WUXGA			0x000f#define PS3AV_CMD_VIDEO_VID_480I_A			0x0010/* video_format */#define PS3AV_CMD_VIDEO_FORMAT_BLACK			0x0000#define PS3AV_CMD_VIDEO_FORMAT_ARGB_8BIT		0x0007/* video_order */#define PS3AV_CMD_VIDEO_ORDER_RGB			0x0000#define PS3AV_CMD_VIDEO_ORDER_BGR			0x0001/* video_fmt */#define PS3AV_CMD_VIDEO_FMT_X8R8G8B8			0x0000/* video_out_format */#define PS3AV_CMD_VIDEO_OUT_FORMAT_RGB_12BIT		0x0000/* video_cl_cnv */#define PS3AV_CMD_VIDEO_CL_CNV_ENABLE_LUT		0x0000#define PS3AV_CMD_VIDEO_CL_CNV_DISABLE_LUT		0x0010/* video_sync */#define PS3AV_CMD_VIDEO_SYNC_VSYNC			0x0001#define PS3AV_CMD_VIDEO_SYNC_CSYNC			0x0004#define PS3AV_CMD_VIDEO_SYNC_HSYNC			0x0010/* for audio module *//* num_of_ch */#define PS3AV_CMD_AUDIO_NUM_OF_CH_2			0x0000#define PS3AV_CMD_AUDIO_NUM_OF_CH_3			0x0001#define PS3AV_CMD_AUDIO_NUM_OF_CH_4			0x0002#define PS3AV_CMD_AUDIO_NUM_OF_CH_5			0x0003#define PS3AV_CMD_AUDIO_NUM_OF_CH_6			0x0004#define PS3AV_CMD_AUDIO_NUM_OF_CH_7			0x0005#define PS3AV_CMD_AUDIO_NUM_OF_CH_8			0x0006/* audio_fs */#define PS3AV_CMD_AUDIO_FS_32K				0x0001#define PS3AV_CMD_AUDIO_FS_44K				0x0002#define PS3AV_CMD_AUDIO_FS_48K				0x0003#define PS3AV_CMD_AUDIO_FS_88K				0x0004#define PS3AV_CMD_AUDIO_FS_96K				0x0005#define PS3AV_CMD_AUDIO_FS_176K				0x0006#define PS3AV_CMD_AUDIO_FS_192K				0x0007/* audio_word_bits */#define PS3AV_CMD_AUDIO_WORD_BITS_16			0x0001#define PS3AV_CMD_AUDIO_WORD_BITS_20			0x0002#define PS3AV_CMD_AUDIO_WORD_BITS_24			0x0003/* audio_format */#define PS3AV_CMD_AUDIO_FORMAT_PCM			0x0001#define PS3AV_CMD_AUDIO_FORMAT_BITSTREAM		0x00ff/* audio_source */#define PS3AV_CMD_AUDIO_SOURCE_SERIAL			0x0000#define PS3AV_CMD_AUDIO_SOURCE_SPDIF			0x0001/* audio_swap */#define PS3AV_CMD_AUDIO_SWAP_0				0x0000#define PS3AV_CMD_AUDIO_SWAP_1				0x0000/* audio_map */#define PS3AV_CMD_AUDIO_MAP_OUTPUT_0			0x0000#define PS3AV_CMD_AUDIO_MAP_OUTPUT_1			0x0001#define PS3AV_CMD_AUDIO_MAP_OUTPUT_2			0x0002#define PS3AV_CMD_AUDIO_MAP_OUTPUT_3			0x0003/* audio_layout */#define PS3AV_CMD_AUDIO_LAYOUT_2CH			0x0000#define PS3AV_CMD_AUDIO_LAYOUT_6CH			0x000b	/* LREClr */#define PS3AV_CMD_AUDIO_LAYOUT_8CH			0x001f	/* LREClrXY *//* audio_downmix */#define PS3AV_CMD_AUDIO_DOWNMIX_PERMITTED		0x0000#define PS3AV_CMD_AUDIO_DOWNMIX_PROHIBITED		0x0001/* audio_port */#define PS3AV_CMD_AUDIO_PORT_HDMI_0			( 1 << 0 )#define PS3AV_CMD_AUDIO_PORT_HDMI_1			( 1 << 1 )#define PS3AV_CMD_AUDIO_PORT_AVMULTI_0			( 1 << 10 )#define PS3AV_CMD_AUDIO_PORT_SPDIF_0			( 1 << 20 )#define PS3AV_CMD_AUDIO_PORT_SPDIF_1			( 1 << 21 )/* audio_ctrl_id */#define PS3AV_CMD_AUDIO_CTRL_ID_DAC_RESET		0x0000#define PS3AV_CMD_AUDIO_CTRL_ID_DAC_DE_EMPHASIS		0x0001#define PS3AV_CMD_AUDIO_CTRL_ID_AVCLK			0x0002/* audio_ctrl_data[0] reset */#define PS3AV_CMD_AUDIO_CTRL_RESET_NEGATE		0x0000#define PS3AV_CMD_AUDIO_CTRL_RESET_ASSERT		0x0001/* audio_ctrl_data[0] de-emphasis */#define PS3AV_CMD_AUDIO_CTRL_DE_EMPHASIS_OFF		0x0000#define PS3AV_CMD_AUDIO_CTRL_DE_EMPHASIS_ON		0x0001/* audio_ctrl_data[0] avclk */#define PS3AV_CMD_AUDIO_CTRL_AVCLK_22			0x0000#define PS3AV_CMD_AUDIO_CTRL_AVCLK_18			0x0001/* av_vid *//* do not use these params directly, use vid_video2av */#define PS3AV_CMD_AV_VID_480I				0x0000#define PS3AV_CMD_AV_VID_480P				0x0001#define PS3AV_CMD_AV_VID_720P_60HZ			0x0002#define PS3AV_CMD_AV_VID_1080I_60HZ			0x0003#define PS3AV_CMD_AV_VID_1080P_60HZ			0x0004#define PS3AV_CMD_AV_VID_576I				0x0005#define PS3AV_CMD_AV_VID_576P				0x0006#define PS3AV_CMD_AV_VID_720P_50HZ			0x0007#define PS3AV_CMD_AV_VID_1080I_50HZ			0x0008#define PS3AV_CMD_AV_VID_1080P_50HZ			0x0009#define PS3AV_CMD_AV_VID_WXGA				0x000a#define PS3AV_CMD_AV_VID_SXGA				0x000b#define PS3AV_CMD_AV_VID_WUXGA				0x000c/* av_cs_out av_cs_in *//* use cs_video2av() */#define PS3AV_CMD_AV_CS_RGB_8				0x0000#define PS3AV_CMD_AV_CS_YUV444_8			0x0001#define PS3AV_CMD_AV_CS_YUV422_8			0x0002#define PS3AV_CMD_AV_CS_XVYCC_8				0x0003#define PS3AV_CMD_AV_CS_RGB_10				0x0004#define PS3AV_CMD_AV_CS_YUV444_10			0x0005#define PS3AV_CMD_AV_CS_YUV422_10			0x0006#define PS3AV_CMD_AV_CS_XVYCC_10			0x0007#define PS3AV_CMD_AV_CS_RGB_12				0x0008#define PS3AV_CMD_AV_CS_YUV444_12			0x0009#define PS3AV_CMD_AV_CS_YUV422_12			0x000a#define PS3AV_CMD_AV_CS_XVYCC_12			0x000b#define PS3AV_CMD_AV_CS_8				0x0000#define PS3AV_CMD_AV_CS_10				0x0001#define PS3AV_CMD_AV_CS_12				0x0002/* dither */#define PS3AV_CMD_AV_DITHER_OFF				0x0000#define PS3AV_CMD_AV_DITHER_ON				0x0001#define PS3AV_CMD_AV_DITHER_8BIT			0x0000#define PS3AV_CMD_AV_DITHER_10BIT			0x0002#define PS3AV_CMD_AV_DITHER_12BIT			0x0004/* super_white */#define PS3AV_CMD_AV_SUPER_WHITE_OFF			0x0000#define PS3AV_CMD_AV_SUPER_WHITE_ON			0x0001/* aspect */#define PS3AV_CMD_AV_ASPECT_16_9			0x0000#define PS3AV_CMD_AV_ASPECT_4_3				0x0001/* video_cs_cnv() */#define PS3AV_CMD_VIDEO_CS_RGB				0x0001#define PS3AV_CMD_VIDEO_CS_YUV422			0x0002#define PS3AV_CMD_VIDEO_CS_YUV444			0x0003/* for broadcast automode */#define PS3AV_RESBIT_720x480P			0x0003	/* 0x0001 | 0x0002 */#define PS3AV_RESBIT_720x576P			0x0003	/* 0x0001 | 0x0002 */#define PS3AV_RESBIT_1280x720P			0x0004#define PS3AV_RESBIT_1920x1080I			0x0008#define PS3AV_RESBIT_1920x1080P			0x4000#define PS3AV_RES_MASK_60			(PS3AV_RESBIT_720x480P \						| PS3AV_RESBIT_1280x720P \						| PS3AV_RESBIT_1920x1080I \						| PS3AV_RESBIT_1920x1080P)#define PS3AV_RES_MASK_50			(PS3AV_RESBIT_720x576P \						| PS3AV_RESBIT_1280x720P \						| PS3AV_RESBIT_1920x1080I \						| PS3AV_RESBIT_1920x1080P)/* for VESA automode */#define PS3AV_RESBIT_VGA			0x0001#define PS3AV_RESBIT_WXGA			0x0002#define PS3AV_RESBIT_SXGA			0x0004#define PS3AV_RESBIT_WUXGA			0x0008#define PS3AV_RES_MASK_VESA			(PS3AV_RESBIT_WXGA |\						 PS3AV_RESBIT_SXGA |\						 PS3AV_RESBIT_WUXGA)#define PS3AV_MONITOR_TYPE_HDMI			1	/* HDMI */#define PS3AV_MONITOR_TYPE_DVI			2	/* DVI */#define PS3AV_DEFAULT_HDMI_MODE_ID_REG_60	2	/* 480p */#define PS3AV_DEFAULT_AVMULTI_MODE_ID_REG_60	1	/* 480i */#define PS3AV_DEFAULT_HDMI_MODE_ID_REG_50	7	/* 576p */#define PS3AV_DEFAULT_AVMULTI_MODE_ID_REG_50	6	/* 576i */#define PS3AV_REGION_60				0x01#define PS3AV_REGION_50				0x02#define PS3AV_REGION_RGB			0x10#define get_status(buf)				(((__u32 *)buf)[2])#define PS3AV_HDR_SIZE				4	/* version + size *//* for video mode */#define PS3AV_MODE_MASK				0x000F#define PS3AV_MODE_HDCP_OFF			0x1000	/* Retail PS3 product doesn't support this */#define PS3AV_MODE_DITHER			0x0800#define PS3AV_MODE_COLOR			0x0400#define PS3AV_MODE_WHITE			0x0200#define PS3AV_MODE_FULL				0x0080#define PS3AV_MODE_DVI				0x0040#define PS3AV_MODE_RGB				0x0020/** command packet structure **/struct ps3av_send_hdr {	u16 version;	u16 size;		/* size of command packet */	u32 cid;		/* command id */};struct ps3av_reply_hdr {	u16 version;	u16 size;	u32 cid;	u32 status;};/* backend: initialization */struct ps3av_pkt_av_init {	struct ps3av_send_hdr send_hdr;	u32 event_bit;};/* backend: finalize */struct ps3av_pkt_av_fin {	struct ps3av_send_hdr send_hdr;	/* recv */	u32 reserved;};/* backend: get port */struct ps3av_pkt_av_get_hw_conf {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?