-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
50 lines (33 loc) · 1.27 KB
/
README
File metadata and controls
50 lines (33 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
The tusb3200 is a USB1.1 controller used to build USB/audio interfaces.
It can send or receive data to or from up to 4 I²S audio DAC/ADCs or a AC97
codec. For this it runs a 8051 microcontroller core that configures the
USB engine which more-or-less takes care of the data-transport internally.
http://www.ti.com/product/tusb3200
Firmware is stored in a external I2C eeprom and prefixed with a short header
explained in the tusb3200 data sheet:
OFFSET TYPE SIZE VALUE
0 Signature 4 0x04513200
4 Header size 1 Header size
5 Version 1 Firmware version
6 EEPROM type 1 0x01 = Reserved
0x02 = Reserved
0x03 = Reserved
0x04 = Reserved
0x05 = Reserved
0x06 = Reserved
0x07 = Reserved
0x08 = Reserved
0x09 = 24C32
0x0A = 24C64
0x0B...0xFF Reserved
7 Data type 1 0x01 = Application code
0x02...0xFF = Reserved
8 Data size 2 Data payload only size
10 Check sum 2 Check sum of the data payload
12 Data - Data payload
Attached python script converts from raw firmware to the header-prefixed
format stored in the eeprom.
For storing data in the eeprom (or dumping the eprom) the
small eeprog utility is very useful:
eprog /dev/i2c-N 0x50 -r 0:8192 >dumpfile.bin
http://www.lm-sensors.org/wiki/I2CTools