Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/media/pci/saa7164/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quelle  saa7164-reg.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 *  Driver for the NXP SAA7164 PCIe bridge
 *
 *  Copyright (c) 2010-2015 Steven Toth <stoth@kernellabs.com>
 */


/* TODO: Retest the driver with errors expressed as negatives */

/* Result codes */
#define SAA_OK    0
#define SAA_ERR_BAD_PARAMETER  0x09
#define SAA_ERR_NO_RESOURCES  0x0c
#define SAA_ERR_NOT_SUPPORTED  0x13
#define SAA_ERR_BUSY   0x15
#define SAA_ERR_READ   0x17
#define SAA_ERR_TIMEOUT   0x1f
#define SAA_ERR_OVERFLOW  0x20
#define SAA_ERR_EMPTY   0x22
#define SAA_ERR_NOT_STARTED  0x23
#define SAA_ERR_ALREADY_STARTED  0x24
#define SAA_ERR_NOT_STOPPED  0x25
#define SAA_ERR_ALREADY_STOPPED  0x26
#define SAA_ERR_INVALID_COMMAND  0x3e
#define SAA_ERR_NULL_PACKET  0x59

/* Errors and flags from the silicon */
#define PVC_ERRORCODE_UNKNOWN  0x00
#define PVC_ERRORCODE_INVALID_COMMAND 0x01
#define PVC_ERRORCODE_INVALID_CONTROL 0x02
#define PVC_ERRORCODE_INVALID_DATA 0x03
#define PVC_ERRORCODE_TIMEOUT  0x04
#define PVC_ERRORCODE_NAK  0x05
#define PVC_RESPONSEFLAG_ERROR  0x01
#define PVC_RESPONSEFLAG_OVERFLOW 0x02
#define PVC_RESPONSEFLAG_RESET  0x04
#define PVC_RESPONSEFLAG_INTERFACE 0x08
#define PVC_RESPONSEFLAG_CONTINUED 0x10
#define PVC_CMDFLAG_INTERRUPT  0x02
#define PVC_CMDFLAG_INTERFACE  0x04
#define PVC_CMDFLAG_SERIALIZE  0x08
#define PVC_CMDFLAG_CONTINUE  0x10

/* Silicon Commands */
#define GET_DESCRIPTORS_CONTROL  0x01
#define GET_STRING_CONTROL  0x03
#define GET_LANGUAGE_CONTROL  0x05
#define SET_POWER_CONTROL  0x07
#define GET_FW_STATUS_CONTROL  0x08
#define GET_FW_VERSION_CONTROL  0x09
#define SET_DEBUG_LEVEL_CONTROL  0x0B
#define GET_DEBUG_DATA_CONTROL  0x0C
#define GET_PRODUCTION_INFO_CONTROL 0x0D

/* cmd defines */
#define SAA_CMDFLAG_CONTINUE  0x10
#define SAA_CMD_MAX_MSG_UNITS  256

/* Some defines */
#define SAA_BUS_TIMEOUT   50
#define SAA_DEVICE_TIMEOUT  5000
#define SAA_DEVICE_MAXREQUESTSIZE 256

/* Register addresses */
#define SAA_DEVICE_VERSION  0x30
#define SAA_DOWNLOAD_FLAGS  0x34
#define SAA_DOWNLOAD_FLAG  0x34
#define SAA_DOWNLOAD_FLAG_ACK  0x38
#define SAA_DATAREADY_FLAG  0x3C
#define SAA_DATAREADY_FLAG_ACK  0x40

/* Boot loader register and bit definitions */
#define SAA_BOOTLOADERERROR_FLAGS 0x44
#define SAA_DEVICE_IMAGE_SEARCHING 0x01
#define SAA_DEVICE_IMAGE_LOADING 0x02
#define SAA_DEVICE_IMAGE_BOOTING 0x03
#define SAA_DEVICE_IMAGE_CORRUPT 0x04
#define SAA_DEVICE_MEMORY_CORRUPT 0x08
#define SAA_DEVICE_NO_IMAGE  0x10

/* Register addresses */
#define SAA_DEVICE_2ND_VERSION   0x50
#define SAA_DEVICE_2ND_DOWNLOADFLAG_OFFSET 0x54

/* Register addresses */
#define SAA_SECONDSTAGEERROR_FLAGS  0x64

/* Bootloader regs and flags */
#define SAA_DEVICE_DEADLOCK_DETECTED_OFFSET 0x6C
#define SAA_DEVICE_DEADLOCK_DETECTED  0xDEADDEAD

/* Basic firmware status registers */
#define SAA_DEVICE_SYSINIT_STATUS_OFFSET 0x70
#define SAA_DEVICE_SYSINIT_STATUS  0x70
#define SAA_DEVICE_SYSINIT_MODE   0x74
#define SAA_DEVICE_SYSINIT_SPEC   0x78
#define SAA_DEVICE_SYSINIT_INST   0x7C
#define SAA_DEVICE_SYSINIT_CPULOAD  0x80
#define SAA_DEVICE_SYSINIT_REMAINHEAP  0x84

#define SAA_DEVICE_DOWNLOAD_OFFSET  0x1000
#define SAA_DEVICE_BUFFERBLOCKSIZE  0x1000

#define SAA_DEVICE_2ND_BUFFERBLOCKSIZE  0x100000
#define SAA_DEVICE_2ND_DOWNLOAD_OFFSET  0x200000

/* Descriptors */
#define CS_INTERFACE 0x24

/* Descriptor subtypes */
#define VC_INPUT_TERMINAL  0x02
#define VC_OUTPUT_TERMINAL  0x03
#define VC_SELECTOR_UNIT  0x04
#define VC_PROCESSING_UNIT  0x05
#define FEATURE_UNIT   0x06
#define TUNER_UNIT   0x09
#define ENCODER_UNIT   0x0A
#define EXTENSION_UNIT   0x0B
#define VC_TUNER_PATH   0xF0
#define PVC_HARDWARE_DESCRIPTOR  0xF1
#define PVC_INTERFACE_DESCRIPTOR 0xF2
#define PVC_INFRARED_UNIT  0xF3
#define DRM_UNIT   0xF4
#define GENERAL_REQUEST   0xF5

/* Format Types */
#define VS_FORMAT_TYPE         0x02
#define VS_FORMAT_TYPE_I       0x01
#define VS_FORMAT_UNCOMPRESSED 0x04
#define VS_FRAME_UNCOMPRESSED  0x05
#define VS_FORMAT_MPEG2PS      0x09
#define VS_FORMAT_MPEG2TS      0x0A
#define VS_FORMAT_MPEG4SL      0x0B
#define VS_FORMAT_WM9          0x0C
#define VS_FORMAT_DIVX         0x0D
#define VS_FORMAT_VBI          0x0E
#define VS_FORMAT_RDS          0x0F

/* Device extension commands */
#define EXU_REGISTER_ACCESS_CONTROL 0x00
#define EXU_GPIO_CONTROL  0x01
#define EXU_GPIO_GROUP_CONTROL  0x02
#define EXU_INTERRUPT_CONTROL  0x03

/* State Transition and args */
#define SAA_PROBE_CONTROL 0x01
#define SAA_COMMIT_CONTROL 0x02
#define SAA_STATE_CONTROL 0x03
#define SAA_DMASTATE_STOP 0x00
#define SAA_DMASTATE_ACQUIRE 0x01
#define SAA_DMASTATE_PAUSE 0x02
#define SAA_DMASTATE_RUN 0x03

/* A/V Mux Input Selector */
#define SU_INPUT_SELECT_CONTROL 0x01

/* Encoder Profiles */
#define EU_PROFILE_PS_DVD 0x06
#define EU_PROFILE_TS_HQ 0x09
#define EU_VIDEO_FORMAT_MPEG_2 0x02

/* Tuner */
#define TU_AUDIO_MODE_CONTROL  0x17

/* Video Formats */
#define TU_STANDARD_CONTROL  0x00
#define TU_STANDARD_AUTO_CONTROL 0x01
#define TU_STANDARD_NONE  0x00
#define TU_STANDARD_NTSC_M  0x01
#define TU_STANDARD_PAL_I  0x08
#define TU_STANDARD_MANUAL  0x00
#define TU_STANDARD_AUTO  0x01

/* Video Controls */
#define PU_BRIGHTNESS_CONTROL 0x02
#define PU_CONTRAST_CONTROL 0x03
#define PU_HUE_CONTROL  0x06
#define PU_SATURATION_CONTROL 0x07
#define PU_SHARPNESS_CONTROL 0x08

/* Audio Controls */
#define MUTE_CONTROL  0x01
#define VOLUME_CONTROL  0x02
#define AUDIO_DEFAULT_CONTROL 0x0D

/* Default Volume Levels */
#define TMHW_LEV_ADJ_DECLEV_DEFAULT     0x00
#define TMHW_LEV_ADJ_MONOLEV_DEFAULT    0x00
#define TMHW_LEV_ADJ_NICLEV_DEFAULT     0x00
#define TMHW_LEV_ADJ_SAPLEV_DEFAULT     0x00
#define TMHW_LEV_ADJ_ADCLEV_DEFAULT     0x00

/* Encoder Related Commands */
#define EU_PROFILE_CONTROL  0x00
#define EU_VIDEO_FORMAT_CONTROL  0x01
#define EU_VIDEO_BIT_RATE_CONTROL 0x02
#define EU_VIDEO_RESOLUTION_CONTROL 0x03
#define EU_VIDEO_GOP_STRUCTURE_CONTROL 0x04
#define EU_VIDEO_INPUT_ASPECT_CONTROL 0x0A
#define EU_AUDIO_FORMAT_CONTROL  0x0C
#define EU_AUDIO_BIT_RATE_CONTROL 0x0D

/* Firmware Debugging */
#define SET_DEBUG_LEVEL_CONTROL 0x0B
#define GET_DEBUG_DATA_CONTROL 0x0C

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.