aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gaudio/vs1053/vs1053.h
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2014-04-29 16:35:57 +1000
committerinmarket <andrewh@inmarket.com.au>2014-04-29 16:35:57 +1000
commit81c19da89f6055ee19ebcb7c5fc786bd82dadbe8 (patch)
treedfd23b6b98ef83d1cf310aed697106e85b41e7fc /drivers/gaudio/vs1053/vs1053.h
parent70c96543fcd20a0d323170e4f8392a0494de2cd4 (diff)
downloaduGFX-81c19da89f6055ee19ebcb7c5fc786bd82dadbe8.tar.gz
uGFX-81c19da89f6055ee19ebcb7c5fc786bd82dadbe8.tar.bz2
uGFX-81c19da89f6055ee19ebcb7c5fc786bd82dadbe8.zip
First version vs1053 audio play driver. Compiles but not tested yet.
Diffstat (limited to 'drivers/gaudio/vs1053/vs1053.h')
-rw-r--r--drivers/gaudio/vs1053/vs1053.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/drivers/gaudio/vs1053/vs1053.h b/drivers/gaudio/vs1053/vs1053.h
new file mode 100644
index 00000000..1ae613be
--- /dev/null
+++ b/drivers/gaudio/vs1053/vs1053.h
@@ -0,0 +1,101 @@
+/*
+ * 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.org/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 */