6008ca578f80d77e940d075796cbc207161ad428
[librecmc/open-ath9k-htc-firmware.wiki.git] / usb-regs.md
1 # 0x00 ZM_MAIN_CTRL_OFFSET
2 * BIT6 - 1 = HighSpeed is set (read only?)
3 * BIT2 - 1 = enable global Int
4 * BIT0 - 1 = set Remote Wake Up;
5
6 # 0x01 ZM_DEVICE_ADDRESS_OFFSET
7 # 0x02 ZM_TEST_OFFSET
8 # 0x08 ZM_PHY_TEST_SELECT_OFFSET
9 # 0x0A ZM_VDR_SPECIFIC_MODE_OFFSET
10 # 0x0B ZM_CX_CONFIG_STATUS_OFFSET
11 # 0x0C ZM_EP0_DATA1_OFFSET
12 # 0x0D ZM_EP0_DATA2_OFFSET
13 # 0x0C ZM_EP0_DATA_OFFSET
14
15 # 0x11 ZM_INTR_MASK_BYTE_0_OFFSET
16 # 0x12 ZM_INTR_MASK_BYTE_1_OFFSET
17 # 0x13 ZM_INTR_MASK_BYTE_2_OFFSET
18 # 0x14 ZM_INTR_MASK_BYTE_3_OFFSET
19 # 0x15 ZM_INTR_MASK_BYTE_4_OFFSET
20 # 0x16 ZM_INTR_MASK_BYTE_5_OFFSET
21 # 0x17 ZM_INTR_MASK_BYTE_6_OFFSET
22 # 0x18 ZM_INTR_MASK_BYTE_7_OFFSET
23
24 # 0x20 ZM_INTR_GROUP_OFFSET
25 # 0x21 ZM_INTR_SOURCE_0_OFFSET
26 # 0x22 ZM_INTR_SOURCE_1_OFFSET
27 # 0x23 ZM_INTR_SOURCE_2_OFFSET
28 # 0x24 ZM_INTR_SOURCE_3_OFFSET
29 # 0x25 ZM_INTR_SOURCE_4_OFFSET
30 # 0x26 ZM_INTR_SOURCE_5_OFFSET
31 # 0x27 ZM_INTR_SOURCE_6_OFFSET
32 # 0x28 ZM_INTR_SOURCE_7_OFFSET
33
34 # 0x3F ZM_EP_IN_MAX_SIZE_HIGH_OFFSET
35 # 0x3E ZM_EP_IN_MAX_SIZE_LOW_OFFSET
36
37 # 0x5F ZM_EP_OUT_MAX_SIZE_HIGH_OFFSET
38 # 0x5E ZM_EP_OUT_MAX_SIZE_LOW_OFFSET
39
40 # 0xAE ZM_EP3_BYTE_COUNT_HIGH_OFFSET
41     BIT3 - 1 xfer done?
42     comments: after sending data from target to host, set BIT3
43 # 0xBE ZM_EP3_BYTE_COUNT_LOW_OFFSET
44 # 0xAF ZM_EP4_BYTE_COUNT_HIGH_OFFSET
45     BIT4 - 1 - reset fifo; 0 - disable reset?
46     comments: probably compatible with ZM_EP3_BYTE_COUNT_HIGH_OFFSET
47 # 0xBF ZM_EP4_BYTE_COUNT_LOW_OFFSET
48     size of data in fifo buffer
49
50 # 0xF8 ZM_EP3_DATA_OFFSET
51 # 0xFC ZM_EP4_DATA_OFFSET
52
53 # 0x108 ZM_SOC_USB_MODE_CTRL_OFFSET
54     BIT10 - 1 - enable MP (EP6) downstream stream mode
55     BIT9 - 1 - enable MP (EP6) downstream DMA mode
56     BIT8 - 1 - enable HP (EP5) downstream DMA mode
57     BIT7 - 1 - enable HP (EP5) downstream stream mode
58     BIT6 - 1 - enable LP downstream stream mode
59     BIT5 - define the host dma buffer size - 4096(00) 8192 (01) 16384(10) 32768(11) bytes
60     BIT4 - ^
61     BIT3 - 0 - enable upstream stream mode: 1 - enable upstream packed mode;
62     BIT2 - 0 - Set into 64 byte mode (full speed) 1 - Set into 512 byte mode (usb highspeed)
63     BIT1 - 0 - disable upstream dma mode; 1 - enable upstream dma mode
64     BIT0 - 0 - disable LP down stream dma mode; 1 - eanble LP down stream dma mode
65 comments:
66 ryan: 04/01: bit0 could disable lpdn dma, which is good at debugging while async_fifo have problem,    we could disable this and check the fifo_rcv_size to see if we have correct at fifo or not
67 LP - lo priotiry; MP - middle priority; HP - High priority;
68     
69
70 # 0x110 ZM_SOC_USB_MAX_AGGREGATE_OFFSET
71     set stream mode packet buffer critirea
72     0x0 = disable stream mode or 1 packet. So 0x9 is 10 packets?
73 # 0x114 ZM_SOC_USB_TIME_CTRL_OFFSET
74     set stream mode timeout critirea. the unit is 32 USB (30Mhz) clock cycles.