ugfx/drivers/gaudio/vs1053/vs1053.h

102 lines
2.8 KiB
C

/*
* This file is subject to the terms of the GFX License. If a copy of
* the license was not distributed with this file, you can obtain one at:
*
* http://ugfx.io/license.html
*/
#ifndef _VS1053_H
#define _VS1053_H
// Registers
#define SCI_MODE 0x00
#define SM_DIFF 0x0001
#define SM_LAYER12 0x0002
#define SM_RESET 0x0004
#define SM_CANCEL 0x0008
#define SM_EARSPEAKER_LO 0x0010
#define SM_TESTS 0x0020
#define SM_STREAM 0x0040
#define SM_EARSPEAKER_HI 0x0080
#define SM_DACT 0x0100
#define SM_SDIORD 0x0200
#define SM_SDISHARE 0x0400
#define SM_SDINEW 0x0800
#define SM_ADPCM 0x1000
#define SM_LINE1 0x4000
#define SM_CLK_RANGE 0x8000
#define SCI_MODE_DEFAULTS (SM_LINE1|SM_SDINEW)
#define SCI_STATUS 0x01
#define SS_DO_NOT_JUMP 0x8000
#define SS_SWING_MASK 0x7000
#define SS_SWING_SHIFT 12
#define SS_VCM_OVERLOAD 0x0800
#define SS_VCM_DISABLE 0x0400
#define SS_VER_MASK 0x00F0
#define SS_VER_SHIFT 4
#define SS_APDOWN2 0x0008
#define SS_APDOWN1 0x0004
#define SS_SS_AD_CLOCK 0x0002
#define SS_REFERENCE_SEL 0x0001
#define SCI_BASS 0x02
#define ST_AMPLITUDE_MASK 0xF000
#define ST_AMPLITUDE_SHIFT 12
#define ST_FREQLIMIT_MASK 0x0F00
#define ST_FREQLIMIT_SHIFT 8
#define SB_AMPLITUDE_MASK 0x00F0
#define SB_AMPLITUDE_SHIFT 4
#define SB_FREQLIMIT_MASK 0x000F
#define SB_FREQLIMIT_SHIFT 0
#define SCI_CLOCKF 0x03
#define SC_MULT_1 0x0000
#define SC_MULT_2 0x2000
#define SC_MULT_2_5 0x4000
#define SC_MULT_3 0x6000
#define SC_MULT_3_5 0x8000
#define SC_MULT_4 0xa000
#define SC_MULT_4_5 0xc000
#define SC_MULT_5 0xe000
#define SC_ADD_NONE 0x0000
#define SC_ADD_1 0x0800
#define SC_ADD_1_5 0x1000
#define SC_ADD_2 0x1800
#define SC_FREQ_MASK 0x07FF
#define SCI_DECODE_TIME 0x04
#define SCI_AUDATA 0x05
#define SR_RATE_MASK 0xFFFE
#define SR_IS_STEREO 0x0001
#define SCI_WRAM 0x06
#define SCI_WRAMADDR 0x07
#define WRAMADDR_XDATA 0x1800
#define WRAMADDR_YDATA 0x5800
#define WRAMADDR_INSTR 0x8040
#define WRAMADDR_IO 0xC000
#define WRAMADDR_EXTRAPARAMS 0x1E02
#define SCI_HDAT0 0x08
#define SCI_HDAT1 0x09
#define HD_FMT_NONE 0x0000
#define HD_FMT_WAV 0x7665
#define HD_FMT_AAC_ADTS 0x4154
#define HD_FMT_AAC_ADIF 0x4144
#define HD_FMT_AAC_M4A 0x4D34
#define HD_FMT_WMA 0x574D
#define HD_FMT_MIDI 0x4D54
#define HD_FMT_OGG 0x4F67
#define HD_FMT_MP3_MIN 0xFFE0
#define HD_FMT_MP3_MAX 0xFFFF
#define SCI_AIADDR 0x0A
#define SCI_VOL 0x0B
#define VOL_LEFT_MASK 0xFF00
#define VOL_LEFT_SHIFT 8
#define VOL_RIGHT_MASK 0x00FF
#define VOL_RIGHT_SHIFT 0
#define VOL_POWERDOWN 0xFFFF
#define VOL_MAX 0x0000
#define VOL_MIN 0xFEFE
#define SCI_AICTRL0 0x0C
#define SCI_AICTRL1 0x0D
#define SCI_AICTRL2 0x0E
#define SCI_AICTRL3 0x0F
#endif /* _VS1053_H */