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 + -
显示快捷键?