MT7686 Reference Manual

MT7686_Reference_Manual

MT7686_Reference_Manual

MT7686_Reference_Manual

MT7686_Reference_Manual

MT7686_Reference_Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 544

DownloadMT7686 Reference Manual
Open PDF In BrowserView PDF
MT7686 Reference Manual
Version:

1.1

Release date:

16 August 2017

© 2016 - 2017 MediaTek Inc.
This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s). MediaTek cannot grant you
permission for any material that is owned by third parties. You may only use or reproduce this document if you have agreed to and been
bound by the applicable license agreement with MediaTek (“License Agreement”) and been granted explicit permission within the License
Agreement (“Permitted User”). If you are not a Permitted User, please cease any access or use of this document immediately. Any
unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited. THIS DOCUMENT IS PROVIDED ON AN
“AS-IS” BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF ANY KIND AND SHALL IN NO EVENT BE LIABLE FOR ANY
CLAIMS RELATING TO OR ARISING OUT OF THIS DOCUMENT OR ANY USE OR INABILITY TO USE THEREOF. Specifications contained herein are
subject to change without notice.

MT7686 Reference Manual

Document Revision History
Revision

Date

Description

1.0

30 June 2017

Initial draft

1.1

16 August 2017

Modified section 5.5

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page i of vii

MT7686 Reference Manual

Table of Contents
1.

Documentation General Conventions .................................................................................................... 1
1.1.
1.2.

Abbreviations for control modules ..................................................................................................... 1
Abbreviations for registers ................................................................................................................. 2

2.

Bus Architecture and Memory Map ....................................................................................................... 3

3.

External Interrupt Controller ................................................................................................................. 7
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.

4.

Direct Memory Access ..........................................................................................................................20
4.1.
4.2.
4.3.
4.4.
4.5.

5.

Features ............................................................................................................................................ 83
Block diagram ................................................................................................................................... 85
Functions .......................................................................................................................................... 85
Register mapping .............................................................................................................................. 89

Inter-Integrated Circuit Controller ........................................................................................................98
8.1.
8.2.
8.3.
8.4.
8.5.
8.6.
8.7.

9.

Features ............................................................................................................................................ 70
Block diagram ................................................................................................................................... 72
Functions .......................................................................................................................................... 72
Register mapping .............................................................................................................................. 74

Serial Peripheral Interface Slave Controller ..........................................................................................83
7.1.
7.2.
7.3.
7.4.

8.

Overview ........................................................................................................................................... 52
Features ............................................................................................................................................ 52
Block diagram ................................................................................................................................... 52
Functions .......................................................................................................................................... 53
Register mapping .............................................................................................................................. 55

Serial Peripheral Interface Master Controller .......................................................................................70
6.1.
6.2.
6.3.
6.4.

7.

Overview ........................................................................................................................................... 20
Features ............................................................................................................................................ 20
Functions .......................................................................................................................................... 21
Application and programming sequence .......................................................................................... 23
Register mapping .............................................................................................................................. 24

Universal Asynchronous Receiver/Transmitter .....................................................................................52
5.1.
5.2.
5.3.
5.4.
5.5.

6.

Overview ............................................................................................................................................. 7
Features .............................................................................................................................................. 7
Block diagram ..................................................................................................................................... 7
Wakeup event management .............................................................................................................. 7
Functions ............................................................................................................................................ 8
External interrupt or event line mapping ........................................................................................... 9
Register mapping .............................................................................................................................. 10

Overview ........................................................................................................................................... 98
Features ............................................................................................................................................ 98
Block diagram ................................................................................................................................... 98
Functions .......................................................................................................................................... 99
Programming guide ........................................................................................................................ 101
Manual and DMA transfer modes for I2C controller ...................................................................... 102
Register mapping ............................................................................................................................ 102

SD/SDIO Card Controller .....................................................................................................................115
9.1.
9.2.
9.3.

Overview ......................................................................................................................................... 115
Features .......................................................................................................................................... 115
Block diagram ................................................................................................................................. 116
© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page ii of vii

MT7686 Reference Manual
9.4.
9.5.
9.6.
10.

I2S0 ..................................................................................................................................................... 149
10.1.
10.2.
10.3.
10.4.
10.5.
10.6.
10.7.

11.

Overview ......................................................................................................................................... 331
Features .......................................................................................................................................... 331
Limitations ...................................................................................................................................... 331
Block diagram ................................................................................................................................. 332
Functions ........................................................................................................................................ 332
Programming sequence .................................................................................................................. 332
Register mapping ............................................................................................................................ 333

Pulse Width Modulation .....................................................................................................................354
15.1.
15.2.
15.3.
15.4.
15.5.

16.

Overview ......................................................................................................................................... 187
Features .......................................................................................................................................... 187
Block diagram ................................................................................................................................. 188
Functions ........................................................................................................................................ 188
Register mapping ............................................................................................................................ 191

General Purpose Timer .......................................................................................................................331
14.1.
14.2.
14.3.
14.4.
14.5.
14.6.
14.7.

15.

XPLL block diagram ......................................................................................................................... 180
Fractional-N PLL power on sequence ............................................................................................. 180
XPLL frequency setting (Integer) .................................................................................................... 181
DDS PCW setting ............................................................................................................................. 182
XPLL frequency change sequence................................................................................................... 182
XPLL turn on programming sequence............................................................................................. 182
XPLL turn off programming sequence ............................................................................................ 186

SDIO ................................................................................................................................................... 187
13.1.
13.2.
13.3.
13.4.
13.5.

14.

Overview ......................................................................................................................................... 164
IO interface ..................................................................................................................................... 164
I2S OUT and I2S IN .......................................................................................................................... 165
DL FIFO and UL FIFO ....................................................................................................................... 166
Data format of FIFO ........................................................................................................................ 166
Programming guide ........................................................................................................................ 167
Register mapping ............................................................................................................................ 169

I2S0 and I2S1 Audio PLL Settings.........................................................................................................180
12.1.
12.2.
12.3.
12.4.
12.5.
12.6.
12.7.

13.

Overview ......................................................................................................................................... 149
IO interface ..................................................................................................................................... 149
I2S OUT and I2S IN .......................................................................................................................... 151
DL FIFO and UL FIFO ....................................................................................................................... 152
Data format of FIFO ........................................................................................................................ 152
Programming guide ........................................................................................................................ 153
Register mapping ............................................................................................................................ 156

I2S1 ..................................................................................................................................................... 164
11.1.
11.2.
11.3.
11.4.
11.5.
11.6.
11.7.

12.

Functions ........................................................................................................................................ 116
Programming sequence .................................................................................................................. 117
Register mapping ............................................................................................................................ 117

Overview ......................................................................................................................................... 354
Features .......................................................................................................................................... 354
Block diagram ................................................................................................................................. 354
Functions ........................................................................................................................................ 355
Register mapping ............................................................................................................................ 356

Cortex-M4 L1 Cache Controller ...........................................................................................................359
16.1. Overview ......................................................................................................................................... 359
16.2. Cache optimization ......................................................................................................................... 361
16.3. Register mapping ............................................................................................................................ 366
© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page iii of vii

MT7686 Reference Manual
16.4. Cacheable region controller ........................................................................................................... 372
16.5. Remapping ...................................................................................................................................... 375
17.

Auxiliary ADC Unit ..............................................................................................................................379
17.1.
17.2.
17.3.
17.4.
17.5.

18.

Reset Generation Unit ........................................................................................................................386
18.1.
18.2.
18.3.
18.4.

19.

Overview ......................................................................................................................................... 398
Features .......................................................................................................................................... 398
Block diagram ................................................................................................................................. 398
Function description ....................................................................................................................... 399
Programming sequence .................................................................................................................. 400
Register mapping ............................................................................................................................ 401

Real Time Clock (RTC) .........................................................................................................................405
20.1.
20.2.
20.3.
20.4.
20.5.

21.

Features .......................................................................................................................................... 386
Block diagram ................................................................................................................................. 386
WDT timeout and interval source .................................................................................................. 386
Register mapping ............................................................................................................................ 387

True Random Number Generator .......................................................................................................398
19.1.
19.2.
19.3.
19.4.
19.5.
19.6.

20.

Features .......................................................................................................................................... 379
Block diagram ................................................................................................................................. 379
Functions ........................................................................................................................................ 380
Programming sequence .................................................................................................................. 380
Register mapping ............................................................................................................................ 382

Features .......................................................................................................................................... 405
Block diagram ................................................................................................................................. 405
Functions ........................................................................................................................................ 406
Programming sequence .................................................................................................................. 406
Register mapping ............................................................................................................................ 406

General Purpose Inputs/Outputs ........................................................................................................417
21.1. Overview ......................................................................................................................................... 417
21.2. IO pull up or down control truth table ........................................................................................... 417
21.3. Register mapping ............................................................................................................................ 419

22.

Clock Configuration ............................................................................................................................482
22.1. Clock configuration programming guide ........................................................................................ 482
22.2. Register mapping ............................................................................................................................ 488

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page iv of vii

MT7686 Reference Manual

Lists of Tables and Figures
Table 2.1-1. MT7686 bus connection......................................................................................................................3
Table 2.1-2. Top view memory map .......................................................................................................................3
Table 2.1-3. Always-on domain peripherals ...........................................................................................................4
Table 2.1-4. Power-down domain peripherals........................................................................................................5
Table 3.6-1. External interrupt sources...................................................................................................................9
Table 4.4-1. Virtual FIFO access ports ...................................................................................................................23
Table 5.5-1. SPI master controller interface .........................................................................................................70
Table 6.4-1. SPI slave controller interface ............................................................................................................83
Table 7.3-1. SPI slave controller interface ............................................................................................................85
Table 7.3-2. SPI slave status description (use RS command to poll SPI slave status) ...........................................87
Table 9.4-1. Sharing of pins for SD memory card controller ...............................................................................116
Table 9.6-1. MSDC register definition .................................................................................................................117
Table 10.2-1. I2S mode interface – master mode ...............................................................................................149
Table 10.2-2. I2S mode interface – slave mode ..................................................................................................150
Table 10.2-3. TDM mode interface – master mode ............................................................................................150
Table 10.2-4. TDM mode interface – slave mode ...............................................................................................150
Table 10.2-5. Relationship between MCLK and sample rate ..............................................................................150
Table 10.3-1. Down rate example for slave mode ..............................................................................................151
Table 10.5-1. 16bits I2S data format of FIFO .....................................................................................................152
Table 10.5-2. 16bits TDM 4 channel data format of FIFO ..................................................................................152
Table 11.2-1. I2S mode interface – master mode ...............................................................................................164
Table 11.2-2. I2S mode interface – slave mode ..................................................................................................165
Table 11.2-3. Relationship between MCLK and sample rate ..............................................................................165
Table 11.5-1. 16bits I2S data format of FIFO ......................................................................................................166
Table 11.5-2. 24bits I2S data format of FIFO ......................................................................................................167
Table 13.4-1. SDIO pin definitions.......................................................................................................................188
Table 13.4-2. Bus signal voltage ..........................................................................................................................189
Table 13.4-3. Bus timing parameter values (default)..........................................................................................190
Table 13.4-4. High-speed timing parameter values ............................................................................................191
Table 14.5-1. GPT operation modes ...................................................................................................................332
Table 16.1-1. TCM address spaces for different cache size settings ...................................................................360
Table 16.2-1. Write-back mode cache read or write operations ........................................................................365
Table 16.2-2. Write-through mode cache R/W action summary ........................................................................366
Table 16.4-1. Cacheable attribute bit encoding ..................................................................................................373
Table 16.5-1. Region size and bit encoding.........................................................................................................377
Table 17.3-1. AUXADC channel description ........................................................................................................380
Table 22.1-1. Clock switch...................................................................................................................................483
Table 22.1-2. Relationship between XO_PDN_COND0 bit number and configuration register .........................484
Table 22.1-3. Clock multiplexer switch method of HF_FSYS_CK .........................................................................485
Table 22.1-4. Relationship between PDN_COND0 bit number and configuration register ................................485
© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page v of vii

MT7686 Reference Manual
Table 22.1-5. Clock multiplexer switch method of HF_FSFC_CK ........................................................................486
Table 22.1-6. Clock multiplexer switch method of F_FSDIOMST_CK ..................................................................486
Table 22.1-7. Clock multiplexer switch method of F_FSDIOMST_CK ..................................................................487
Table 22.1-8. Clock multiplexer switch method of F_FSDIOMST_CK ..................................................................487
Table 22.1-9. Clock multiplexer switch method of F_FSDIOMST_CK ..................................................................488
Figure 3.3-1. EINT block diagram ............................................................................................................................7
Figure 4.1-1. Variety data paths of DMA transfers ...............................................................................................20
Figure 4.2-1. DMA block diagram..........................................................................................................................21
Figure 4.3-1. Ring buffer and double buffer memory data movement ................................................................22
Figure 4.3-2. Unaligned word accesses .................................................................................................................22
Figure 4.3-3. Virtual FIFO DMA .............................................................................................................................23
Figure 5.3-1. UART block diagram .........................................................................................................................53
Figure 5.4-1. UART data format ............................................................................................................................54
Figure 5.5-1. Pin connection between SPI master and SPI slave ..........................................................................70
Figure 6.1-1. SPI transmission formats .................................................................................................................71
Figure 6.1-2. Operation flow with or without PAUSE mode .................................................................................71
Figure 6.1-3. CS de-assert mode ...........................................................................................................................71
Figure 6.1-4. SPI master controller delay sample .................................................................................................72
Figure 6.2-1. Block diagram of SPI master controller............................................................................................72
Figure 6.3-1. SPI master single mode ....................................................................................................................73
Figure 6.3-2. SPI master dual mode write data.....................................................................................................73
Figure 6.3-3. SPI master dual mode read data ......................................................................................................73
Figure 6.3-4. SPI master quad mode write data ...................................................................................................73
Figure 6.3-5. SPI master quad mode read data.....................................................................................................74
Figure 6.4-1. Pin connection between SPI master and SPI slave ..........................................................................83
Figure 7.1-1. SPI transmission formats .................................................................................................................84
Figure 7.1-2. SPI slave controller early transmit ...................................................................................................84
Figure 7.2-1. Block diagram of SPI slave controller ...............................................................................................85
Figure 7.3-1. SPI slave controller commands waveform .......................................................................................86
Figure 7.3-2. Config read/write (CR/CW) command format .................................................................................86
Figure 7.3-3. SPI slave control flow diagram .........................................................................................................87
Figure 7.3-4. SPI slave single mode write data .....................................................................................................88
Figure 7.3-5. SPI slave single mode read data.......................................................................................................88
Figure 7.3-6. SPI slave dual mode write data ........................................................................................................88
Figure 7.3-7. SPI slave dual mode read data .........................................................................................................88
Figure 7.3-8. SPI slave quad mode write data .......................................................................................................89
Figure 7.3-9. SPI slave quad mode read data ........................................................................................................89
Figure 8.3-1. I2C block diagram.............................................................................................................................99
Figure 8.4-1. I2C single transfer single byte access ...............................................................................................99
Figure 8.4-2. I2C single transfer multi byte access..............................................................................................100
Figure 8.4-3. I2C multi transfer multi byte access ..............................................................................................100
Figure 8.4-4. I2C multi transfer multi byte access with RS..................................................................................100
Figure 8.4-5. I2C multi transfer multi byte access with direction-change function ............................................101
© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page vi of vii

MT7686 Reference Manual
Figure 8.5-1. I2C transfer format programming guide ........................................................................................101
Figure 8.5-2. I2C timing format programming guide ..........................................................................................102
Figure 9.3-1. MSDC block diagram ......................................................................................................................116
Figure 10.1-1. I2S block diagram .........................................................................................................................149
Figure 10.3-1. I2S protocol waveform.................................................................................................................151
Figure 10.3-2. Sample m of TDM32 with nT delay ..............................................................................................151
Figure 10.3-3. Sample m of TDM32 with nT delay and bclk inverse ...................................................................152
Figure 10.3-4. Sample m of TDM64 with nT delay ..............................................................................................152
Figure 11.1-1. I2S block diagram .........................................................................................................................164
Figure 11.3-1. I2S protocol waveform.................................................................................................................166
Figure 12.1-1. XPLL block diagram ......................................................................................................................180
Figure 12.2-1. Fractional-N PLL power on sequence ..........................................................................................181
Figure 12.4-1. DDS PCW settings ........................................................................................................................182
Figure 12.5-1. XPLL frequency change sequence ................................................................................................182
Figure 13.3-1. SDIO controller block diagram .....................................................................................................188
Figure 13.4-1. Signal connections to 4-bit SDIO cards ........................................................................................188
Figure 13.4-2. Bus signal levels ...........................................................................................................................189
Figure 13.4-3. Bus timing diagram (default) .......................................................................................................190
Figure 13.4-4. High-speed timing diagram ..........................................................................................................191
Figure 14.4-1. GPT block diagram .......................................................................................................................332
Figure 15.1-1. PWM waveform ...........................................................................................................................354
Figure 15.3-1. PWM block diagram .....................................................................................................................355
Figure 15.4-1. PWM waveform with register values...........................................................................................356
Figure 16.1-1. MCU, Cache, TCM and AHB bus connectivity ..............................................................................359
Figure 16.1-2. Cache size and TCM settings ........................................................................................................360
Figure 16.2-1. Cache lookup for 4-way set associative .......................................................................................362
Figure 16.2-2. Cache miss/refill criteria ..............................................................................................................364
Figure 16.4-1. Cacheable setting example ..........................................................................................................372
Figure 16.5-1. Example settings of cache remapping .........................................................................................375
Figure 16.5-1. SAR ADC waveform ......................................................................................................................379
Figure 17.2-1. AUXADC block diagram ................................................................................................................380
Figure 17.4-1. Immediate mode programming sequence ..................................................................................381
Figure 18.2-1. Block diagram of RGU ..................................................................................................................386
Figure 18.3-1. WDT timeout length and interval time ........................................................................................387
Figure 19.3-1. TRNG block diagram ....................................................................................................................398
Figure 19.3-2. Ring Oscillator ..............................................................................................................................399
Figure 19.3-3. Inverter Core ................................................................................................................................399
Figure 19.4-1. TRNG operation flow ...................................................................................................................400
Figure 20.2-1. RTC block diagram .......................................................................................................................406
Figure 21.1-1. GPIO block diagram .....................................................................................................................417
Figure 22.1-1. Clock source architecture ............................................................................................................483

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page vii of vii

MT7686 Reference Manual

1.
1.1.

Documentation General Conventions
Abbreviations for control modules

Abbreviation

Full name

EINT

External interrupt controller

DMA

Direct memory access

UART

Universal asynchronous receiver transmitter

SPI master

Serial peripheral interface master controller

SPI slave

Serial peripheral interface slave controller

I2C

Inter-integrated circuit interface

MSDC

SD memory card controller

I2S0

Inter-IC sound channel 0

XPLL

Audio phase-locked loop

SDIO

Secure digital input/output

I2S1

Inter-IC sound channel 1

GPT

General purpose timer

PWM

Pulse width modulation

AUXADC

Auxiliary ADC

RGU

Reset generation unit

RTC

Real-time clock

TRNG

True random number generator

GPIO

General purpose input/output

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 1 of 536

MT7686 Reference Manual
1.2.

Abbreviations for registers

Abbreviation

Full name

RW

Read and write

RO

Read only

WO

Write only

RC

Read 1 to clear

WC

Write 1 to clear

RWC

Read or write 1 to clear

FM

Frequency measurement

FRC

Free running counter

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 2 of 536

MT7686 Reference Manual

2.

Bus Architecture and Memory Map

MediaTek MT7686 adopts 32-bit multi-AHB matrix to provide low power, fast and flexible data operation for IoT
and Wearables applications. Table 2.1-1 shows the interconnections between bus masters (Cortex-M4, four SPI
masters, SPI slave, debug system, Wi-Fi connectivity system, crypto engine and direct memory access (DMA)
controller) and slaves (AO APB peripherals, PD APB peripherals, TCM, SFC, EMI, SYSRAM, RTC RAM, Wi-Fi
connectivity system).
Table 2.1-1. MT7686 bus connection
Master

ARM

Crypto

CONNSYS

Master

Slave

Engine

Master

●

●

●

●

●

●

●

●

TCM

●

●

●

●

EMI

●

●

●

SFC

●

●

●

SYSRAM

●

●

●

●

●

●

●

●

●

RTC SRAM

●

●

●

●

●

●

●

●

●

CONNSYS

●

●

●

Cortex-M4

AO

APB

Peripherals
PD

APB

Peripherals

●

SPI Slave

SDIO

SPM

Slave

SPI Master

SDIO

PD DMA

●

●

●

●

●

●

●

Table 2.1-2. Top view memory map
Start Address

End Address

Module

0x0000_0000

0x03FF_FFFF

EMI

0x0400_0000

0x0400_7FFF

Cortex-M4 TCM/cache

0x0400_8000

0x0401_7FFF

Cortex-M4 TCM

0x0410_0000

0x041F_FFFF

Boot ROM

0x0420_0000

0x0425_FFFF

SYSRAM

0x0430_0000

0x043F_FFFF

Retention SRAM

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 3 of 536

MT7686 Reference Manual
Start Address

End Address

Module

0x0440_0000

0x044F_FFFF

Wi-Fi ROM

0x0800_0000

0x0FFF_FFFF

SFC

0xA000_0000

0xA0FF_FFFF

PD APB peripherals

0xA100_0000

0xA1FF_FFFF

PD AHB peripherals

0xA200_0000

0xA20F_FFFF

AO APB peripherals

0xC000_0000

0xCFFF_FFFF

CONNSYS

0xE000_0000

0xE003_FFFF

Cortex-M4 private peripheral bus
- internal

0xE004_0000

0xE00F_FFFF

Cortex-M4 private peripheral bus
- external

0xE010_0000

0xE01F_FFFF

Cortex-M4 peripheral

Table 2.1-3. Always-on domain peripherals
Start Address

Module

Bus Interface

Notes

A200_0000

VERSION_CTRL

APB

Mapped to 0x8000_0000

A201_0000

Configuration registers

APB

Clock, power down, version and
reset

A202_0000

BBPLL control

APB

A203_0000

XPLL control

APB

A204_0000

Analog chip interface controller

APB

PLL, CLKSQ, FH, CLKSW and
SIMLS

A205_0000

Top clock control

APB

DCM, CG

A206_0000

RF XTAL control

APB

A207_0000

PMU configuration

APB

A208_0000

Real-time clock

APB

A209_0000

Reset generation unit

APB

A20A_0000

eFuse

APB

A20B_0000

General purpose inputs/outputs

APB

A20C_0000

IO configuration 0

APB

A20D_0000

IO configuration 1

APB

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 4 of 536

MT7686 Reference Manual
Start Address

Module

Bus Interface

A20E_0000

SEJ

APB

A20F_0000

SPM

APB

A210_0000

Interrupt controller (EINT)

APB

A211_0000

GP Timer

APB

A212_0000

Pulse width modulation outputs 0

APB

A213_0000

Pulse width modulation outputs 1

APB

A214_0000

Pulse width modulation outputs 2

APB

A215_0000

Pulse width modulation outputs 3

APB

A216_0000

Pulse width modulation outputs 4

APB

A217_0000

Pulse width modulation outputs 5

APB

A21D_0000

Configuration Registers

APB

A21E_0000

CM4_CFG_PRIVATE

APB

A21F_0000

INFRA BUS configuration

APB

Notes

Clock, 96MHz

Table 2.1-4. Power-down domain peripherals
Start Address

Module

Bus Interface

A001_0000

TRNG

APB

A002_0000

DMA controller

APB

A003_0000

INFRA MBIST configuration

APB

A004_0000

Serial flash

APB

A005_0000

External memory interface

APB

A006_0000

Crypto Engine

APB

A007_0000

ADUIO

APB

A008_0000

ASYS

APB

A00A_0000

SPI_MASTER 0

APB

A00B_0000

SPI_SLAVE

APB

A00C_0000

UART 0

APB

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 5 of 536

MT7686 Reference Manual
Start Address

Module

Bus Interface

A00D_0000

UART 1

APB

A00E_0000

UART 2

APB

A010_0000

I2C_0

APB

A011_0000

I2C_1

APB

A012_0000

Auxiliary ADC Unit

APB

A100_0000

PD DMA

AHB

A101_0000

ADUIO

AHB

A102_0000

ASYS

AHB

A103_0000

SDIO Master

AHB

A104_0000

SDIO Slave

AHB

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 6 of 536

MT7686 Reference Manual

3.

External Interrupt Controller

3.1.

Overview

The external interrupt controller (EINT) consists of up to 32 edge detectors to generate event or interrupt
requests. Each input line can be independently configured to select type (event or interrupt) and the
corresponding trigger event (rising edge or falling edge or both or level). Each line can also be masked
independently. A pending register maintains the status line of the interrupt requests.

3.2.

Features

The EINT controller offers the following main features:
•

Independent trigger and mask on each interrupt/event line.

•

Dedicated status bit for each interrupt line.

•

Generation of up to 32 software interrupt/event requests.

3.3.

Block diagram

Figure 3.3-1 shows the block diagram of the EINT controller.
AMBA APB bus

32
Interrupt
mask
set/clear
register

32

Interrupt
mask
set/clear
register

32

32

Wakeup
event mask
set/clear
register

1

Sync circuit

1

Edge detect
circuit

32

32

32

Sensitivity
set/clear
register

32

Polarity
detect
circuit

Dual edge
sensitivity
set/clear
register

32

De-bounce
circuit

De-bounce
config
register

32

32

32
Software
interrupt
register

32

32
Polarity
set/clear
register

32

32

Peripheral interface

To NVIC
interrupt
controller
To SPM event
cotroller

Figure 3.3-1. EINT block diagram

3.4.

Wakeup event management

MT7686 is able to handle external or internal events in order to wake up the core (WFI). The wakeup event can be
generated by:
•

Configuring an external or internal EINT line in event mode. When the CPU resumes from WFI, it is not
necessary to clear the peripheral interrupt pending bit or the NVIC IRQ channel pending bit as the pending
bit corresponding to the event line is not set.

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 7 of 536

MT7686 Reference Manual
3.5.

Functions

To generate an interrupt, an interrupt line should be configured and enabled. Program two trigger registers with
desired edge detection (EINT_SENS, EINT_DUALEDGE_SENS, EINT_POL) and enable an interrupt request by
writing “1” to the corresponding bit in the interrupt mask clear register (EINT_MASK_CLR). When the selected
trigger occurs on the external interrupt line, an interrupt request is generated. The pending bit corresponding to
the interrupt line is also set in the EINT interrupt status register (EINT_STA). This request is reset by writing “1” in
the EINT interrupt acknowledge register (EINT_INTACK).
To generate the event, the event line should be configured and enabled. Program three trigger registers with
desired edge detection (EINT_SENS, EINT_DUALEDGE_SENS, EINT_POL) and enable the event request by
writing “1” to the corresponding bit in the event mask clear register (EINT_WACKUP_MASK_CLR) and interrupt
mask clear register (EINT_MASK_CLR). When the selected trigger occurs on the event line, an event request is
generated. The pending bit corresponding to the event line is also set in the EINT interrupt status register
(EINT_STA). This request is reset by writing “1” in the EINT interrupt acknowledge register (EINT_INTACK).

3.5.1.

Hardware interrupt

To configure the 32 lines as interrupt sources:
•

Configure the mask bits of the 32 interrupt lines (EINT_MASK_CLR).

•

Configure the trigger selection bits of the interrupt lines (EINT_SENS_SET, EINT_SENS_CLR,
EINT_DUALEDGE_SENS_SET, EINT_DUALEDGE_SENS_CLR, EINT_POL_SET, EINT_POL_CLR).

Register setting
Trigger Type

EINT_SENS_SET

EINT_SENS_CLR

EINT_DUALEDGE
_SENS_SET

EINT_DUALEDGE
_SENS_CLR

EINT_POL_SET

EINT_POL_CLR

↑(Rising Edge)
↓(Falling Edge)
↑↓(Dual Edge)
(High Level)
(Low Level)

0
0
0
1
1

1
1
1
0
0

0
0
1
Don’t care
Don’t care

1
1
0
Don’t care
Don’t care

1
0
Don’t care
1
0

0
1
Don’t care
0
1

•

3.5.2.

Configure the enable and mask bits that control the NVIC IRQ channel mapped to the external interrupt
controller (EINT) so that an interrupt coming from one of the 32 lines can be correctly acknowledged.

Hardware events

To configure the 32 lines as event sources:
•

Configure the mask bits of the 32 event lines (EINT_WACKUP_MASK_CLR and EINT_MASK_CLR).

•

Configure the trigger selection bits of the event lines (EINT_SENS_SET, EINT_SENS_CLR,
EINT_DUALEDGE_SENS_SET, EINT_DUALEDGE_SENS_CLR, EINT_POL_SET, EINT_POL_CLR).

3.5.3.

Software interrupt

The 32 lines can be configured as software interrupt lines. To generate a software interrupt:
•

Configure the mask bits of the 32 interrupt lines (EINT_MASK_CLR).

•

Set the required bit in the software interrupt register (EINT_SOFT_SET).

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 8 of 536

MT7686 Reference Manual
3.6.

External interrupt or event line mapping

Up to 21 GPIOs are connected to the 20 external interrupt/event lines, as shown in Table 3.6-1.
Table 3.6-1. External interrupt sources
EINT

Source pin

EINT0

PAD_GPIO_0 if (GPIO0_MODE==1)

EINT1

PAD_GPIO_1 if (GPIO1_MODE==1)

EINT2

PAD_GPIO_2 if (GPIO2_MODE==1)

EINT3

PAD_GPIO_3 if (GPIO3_MODE==1)

EINT4

PAD_GPIO_4 if (GPIO4_MODE==3)

EINT5

PAD_GPIO_5 if (GPIO5_MODE==3)

EINT6

PAD_GPIO_6 if (GPIO6_MODE==3)

EINT7

PAD_GPIO_7 if (GPIO7_MODE==3)

EINT8

PAD_GPIO_8 if (GPIO8_MODE==3)

EINT9

PAD_GPIO_9 if (GPIO9_MODE==3)

EINT10

PAD_GPIO_10 if (GPIO10_MODE==1)

EINT11

PAD_GPIO_11 if (GPIO11_MODE==1)

EINT12

PAD_GPIO_12 if (GPIO12_MODE==6)

EINT13

PAD_GPIO_13 if (GPIO13_MODE==8)

EINT14

PAD_GPIO_14 if (GPIO14_MODE==8)

EINT15

PAD_GPIO_15 if (GPIO15_MODE==8)

EINT16

PAD_GPIO_16 if (GPIO16_MODE==8)

EINT17

PAD_GPIO_17 if (GPIO17_MODE==8)

EINT18

PAD_GPIO_18 if (GPIO18_MODE==8)

EINT19

PAD_GPIO_19 if (GPIO19_MODE==2)
PAD_GPIO_21 if (GPIO19_MODE==2) in MT5932

EINT20

PAD_GPIO_20 if (GPIO20_MODE==2)
PAD_GPIO_22 if (GPIO20_MODE==2) in MT5932

EINT21

uart0_rxd

EINT22

uart1_rxd

EINT23

uart2_rxd

EINT24

rtc_event_b

EINT25

conn2ap_hif_int_b

EINT26

conn2ap_pse_irq_b

EINT27

conn2ap_wdt_irq_b

EINT28

conn2ap_mac_irq_b

EINT29

pmu_int_b

EINT30
EINT31

© 2016 - 2017 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

Page 9 of 536

MT7686 Reference Manual
3.7.

Register mapping

Module name: EINT Base address: (+A2100000h)
Address

Name

A2100300
A2100308
A2100310
A2100320
A2100328
A2100330
A2100340

EINT_STA
EINT_INTACK
EINT_EEVT
EINT_MASK
EINT_MASK_SET
EINT_MASK_CLR
EINT_WAKEUP_MA
SK
EINT_WAKEUP_MA
SK_SET
EINT_WACKUP_MA
SK_CLR
EINT_SENS
EINT_SENS_SET
EINT_SENS_CLR
EINT_DUALEDGE_S
ENS
EINT_DUALEDGE_S
ENS_SET
EINT_DUALEDGE_S
ENS_CLR
EINT_POL
EINT_POL_SET
EINT_POL_CLR
EINT_SOFT
EINT_SOFT_SET
EINT_SOFT_CLR
EINTi_CON[n]
(n=0~31)

A2100348
A2100350
A2100360
A2100368
A2100370
A2100380
A2100388
A2100390
A21003A0
A21003A8
A21003B0
A21003C0
A21003C8
A21003D0
A2100400 ~
A210047C

3.7.1.

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

31:0

Register Function

32

EINT interrupt status register
EINT interrupt acknowledge register
EINT wakeup event_b status register
EINT interrupt mask register
EINT interrupt mask set register
EINT interrupt mask clear register
EINT wakeup event mask register

32

EINT wakeup event mask set register

32

EINT wakeup event mask clear register

32

32

EINT sensitivity register
EINT sensitivity set register
EINT sensitivity clear register
EINT dual edge sensitivity register

32

EINT dual edge sensitivity set register

32

EINT dual edge sensitivity clear register

32

EINT polarity register
EINT polarity set register
EINT polarity clear register
EINT software interrupt register
EINT software interrupt set register
EINT software interrupt clear register
EINTi configuration register

32
32
32
32
32

32
32

32
32
32
32
32
32

Register definitions

A2100300

Bit(s)

Width
32

31

EINT_STA
30

29

EINT interrupt status register
28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

EINT_STA[31:16]
RO
0
0
0
0

0

0

0

0

0

0

EINT_STA[15:0]
RO
0
0
0
0

0

0

0

0

Mnemonic Name
EINT_STA

0

00000000
21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

16
0

Description
External interrupt status
This register tracks interrupt request status generated by certain EINT
sources. If the EINT sources are set to edge sensitivity, EINT_IRQ is de-

© 2016 - 2017 MediaTek Inc.

Page 10 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
asserted while the corresponding EINT_INTACK is set to 1.
EINT_STA[i] for EINTi.

•
•
A2100308
Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

31

30

29

28

27

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

0

0

0

0

0

0

EINT_INTACK[15:0]
WO
0
0
0
0

0

0

0

0

0

00000000

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

EINT_EEVT

EINT wakeup event_b status register

00010000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Bit(s) Mnemonic Name

31
1

1

29
1

0

EEB
RO
0

EINT wake up event_b
This register is a debugging port to monitor internal signals. It is an
asynchronous signal.
0: EINT wakes up the system from sleep mode.
1: EINT does not wake up the system from sleep mode.

EINT_MASK
30

16

Description

EEB

A2100320

0

Interrupt acknowledgement
Writing "1" to the specific bit position will acknowledge the interrupt
request correspondingly to the external interrupt line source.
EINT_INTACK[i] for EINTi.
0: No effect
1: Interrupt request is acknowledged.

31

0

16

Description

EINT_INTACK

A2100310

EINT interrupt mask register

28
1

27
1

26
1

15

14

13

12

11

10

1

1

1

1

1

1

Bit(s) Mnemonic Name
31:0

26

EINT_INTACK[31:16]
WO
0
0
0
0

31:0

Bit
Name
Type
Reset
Bit
Name
Type
Reset

1: External interrupt request is pending.

EINT_INTACK EINT interrupt acknowledge register

Bit(s) Mnemonic Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

0: No external interrupt request is generated.

EINT_MASK

FFFFFFFF

25

24

23

22

21

9

8

7

6

5

4

3

2

1

0

1

1

1

1

1

1

EINT_MASK[31:16]
RO
1
1
1
1
EINT_MASK[15:0]
RO
1
1
1
1

1

20
1

19
1

18

17

1

1

16
1

Description
Interrupt mask
This register controls whether the EINT source is allowed to generate

© 2016 - 2017 MediaTek Inc.

Page 11 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic Name

A2100328
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Description
an interrupt request. Setting a specific bit position to "1" will prevent
activation of the external interrupt line.
EINT_MASK[i] for EINTi.
0: Interrupt request is enabled.
1: Interrupt request is disabled.

EINT_MASK_S
EINT interrupt mask set register
ET
30

29

28

27

24

23

22

9

8

7

6

15

14

13

12

11

10

0

0

0

0

0

0

0

EINT_MASK[15:0]
WO
0
0
0
0

0

0

31:0

0

0

0

31

30

29

28

27

26

25

24

23

22

9

8

7

6

14

13

12

11

10

0

0

0

0

0

0

0

EINT_MASK[15:0]
WO
0
0
0
0

0

0

0

0

Bit(s) Mnemonic Name
31:0

1

15

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

1

14

29
1

13

0

00000000

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

16
0

Disables mask for the associated external interrupt source
This register is used to clear individual mask bits. Only the bits set to 1
are effective. EINT_MASK bits are also cleared (set to 0). Otherwise,
EINT_MASK bits will retain the original value.
EINT_MASK[i] for EINTi.
0: No effect
1: Disables the corresponding MASK bit.

EINT_WAKEU
EINT wakeup event mask register
P_MASK
30

16

Description

EINT_MASK

31

19

EINT_MASK_C
EINT interrupt mask clear register
LR

15

A2100340

20

Enables mask for the associated external interrupt source
This register is used to set up individual mask bits. Only the bits set to 1
are effective. EINT_MASK bits are also set to 1. Otherwise,
EINT_MASK bits will retain the original value.
EINT_MASK[i] for EINTi.
0: No effect
1: Enables the corresponding MASK bit.

EINT_MASK[31:16]
WO
0
0
0
0

0

21

Description

EINT_MASK

A2100330

Bit
Name
Type
Reset
Bit
Name
Type

25

EINT_MASK[31:16]
WO
0
0
0
0

Bit(s) Mnemonic Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

26

00000000

28
1

12

27
1

11

FFFFFFFF

26

25

24

23

22

21

20

10

9

8

7

6

5

4

EINT_WAKEUP_MASK[31:16]
RO
1
1
1
1
1
1
EINT_WAKEUP_MASK[15:0]
RO

© 2016 - 2017 MediaTek Inc.

1

19
1

3

18

17

1

1

2

1

16
1

0

Page 12 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset

1

1

1

1

1

Bit(s) Mnemonic Name

A2100348

1

1

1

1

1

1

1

31
0

EINT_WAKEU
EINT wakeup event mask set register
P_MASK_SET
30
0

29

28

0

0

27
0

15

14

13

12

11

0

0

0

0

0

1

26

25

24

23

22

21

10

9

8

7

6

5

EINT_WAKEUP_MASK[31:16]
WO
0
0
0
0
0
0
EINT_WAKEUP_MASK[15:0]
WO
0
0
0
0
0
0

00000000
20

19

18

17

0

0

0

0

1

0

0

0

0

0

0

4

3

2

16
0

Description

EINT_WAKEUP_M Enables mask for the associated external interrupt source
ASK
This register is used to set up individual mask bits. Only the bits set to 1
are effective. EINT_WAKEUP_MASK bits are also set to 1. Otherwise,
EINT_WAKEUP_MASK bits will retain the original value.
EINT_WAKEUP_MASK[i] for EINTi.
0: No effect
1: Enables the corresponding MASK bit.

31:0

A2100350
31
0

EINT_WACKU
EINT wakeup event mask clear register
P_MASK_CLR
30
0

29

28

0

0

27
0

15

14

13

12

11

0

0

0

0

0

Bit(s) Mnemonic Name

26

25

24

23

22

21

10

9

8

7

6

5

EINT_WAKEUP_MASK[31:16]
WO
0
0
0
0
0
0
EINT_WAKEUP_MASK[15:0]
WO
0
0
0
0
0
0

00000000

20

19

18

17

0

0

0

0

1

0

0

0

0

0

0

4

3

2

16
0

Description

EINT_WAKEUP_M Disables mask for the associated external interrupt source
ASK
This register is used to clear individual mask bits. Only the bits set to 1
are effective. EINT_WAKEUP_MASK bits are also cleared (set to 0).
Otherwise, EINT_WAKEUP_MASK bits will retain the original value.
EINT_WAKEUP_MASK[i] for EINTi.
0: No effect
1: Disables the corresponding MASK bit.

31:0

A2100360
Bit
Name

1

Description

Bit(s) Mnemonic Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

EINT_WAKEUP_M Wakeup event mask
ASK
This register controls whether the EINT source is allowed to generate a
wakeup event request. Setting a specific bit position to "1" will prevent
activation of the external interrupt line.
EINT_WAKEUP_MASK[i] for EINTi.
0: Wakeup event request is enabled.
1: Wakeup event request is disabled.

31:0

Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

31

EINT_SENS
30

29

28

EINT sensitivity register
27

26

25

24

23

00000000
22

EINT_SENS[31:16]

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

Page 13 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

0

0

0

0

0

0

0

0

0

EINT_SENS[15:0]
RO
0
0
0
0

1

0

0

0

0

0

0

0

12

11

10

0

0

0

0

0

0

31

9

8

0

7

6

30

29

28

27

26

25

24

23

22

9

8

7

6

13

12

11

10

0

0

0

0

0

0

0

EINT_SENS[15:0]
WO
0
0
0
0

0

0

0

0

Bit(s) Mnemonic Name
31:0

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

EINT_SENS[31:16]
WO
0
0
0
0

0

0

0

0

0

0

EINT_SENS[15:0]
WO
0
0
0
0

0

0

16
0

Enables sensitive for the associated external interrupt
source.
This register is used to set up individual sensitive bits. Only the bits set
to 1 are effective. EINT_SENS bits are also set to 1. Otherwise,
EINT_SENS bits will retain the original value.
EINT_SENS[i] for EINTi.
0: No effect
1: Enables the corresponding SENS bit.

EINT_SENS_C
EINT sensitivity clear register
LR
30

0

Description

EINT_SENS

0

2

00000000

14

31

3

EINT_SENS_S
EINT sensitivity set register
ET

15

A2100370

4

Sensitivity type of the associated external interrupt source
Sensitivity type of external interrupt source.
EINT_SENS[i] for EINTi.
0: Edge sensitivity (active high or low depends on POL setting)
1: Level sensitivity (active high or low depends on POL setting)

EINT_SENS[31:16]
WO
0
0
0
0

0

5

Description

EINT_SENS

A2100368

0

Bit(s) Mnemonic Name
31:0

0

13

31:0

Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

14

Bit(s) Mnemonic Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

15

0

RO

0

EINT_SENS

0

00000000
21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

16
0

Description
Disables sensitive for the associated external interrupt
source.
This register is used to clear individual sensitive bits. Only the bits set
to 1 are effective. EINT_SENS bits are also cleared (set to 0).
Otherwise, EINT_SENS bits will retain the original value.
EINT_SENS[i] for EINTi.
0: No effect
1: Disables the corresponding SENS bit.

© 2016 - 2017 MediaTek Inc.

Page 14 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

A2100380
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31
0

EINT_DUALED
EINT dual edge sensitivity register
GE_SENS
30
0

29
0

28
0

27
0

15

14

13

12

11

0

0

0

0

0

Bit(s) Mnemonic Name

A2100388

24

23

22

21

10

9

8

7

6

5

EINT_DUALEDGE_SENS[15:0]
RO
0
0
0
0
0
0

20

19

18

17

0

0

0

0

1

0

0

0

0

0

0

4

3

2

16
0

Description

31
0

EINT_DUALED
EINT dual edge sensitivity set register
GE_SENS_SET
30
0

29
0

28
0

27
0

15

14

13

12

11

0

0

0

0

0

Bit(s) Mnemonic Name

26

25

24

23

22

21

10

9

8

7

6

5

EINT_DUALEDGE_SENS[31:16]
WO
0
0
0
0
0
0
EINT_DUALEDGE_SENS[15:0]
WO
0
0
0
0
0
0

00000000
20

19

18

17

0

0

0

0

1

0

0

0

0

0

0

4

3

2

16
0

Description

EINT_DUALEDGE_ Enables dual edge sensitivity for the associated external
SENS
interrupt source.
This register is used to set up individual dual edge sensitive bits.
(EINT_SENS should be 0)
Only the bits set to 1 are effective. EINT_DUALEDGE_SENS bits are
also set to 1. Otherwise, EINT_DUALEDGE_SENS bits will retain the
original value.
EINT_DUALEDGE_SENS[i] for EINTi.
0: No effect
1: Enables the corresponding DUALEDGE bit.

31:0

A2100390
Bit
Name
Type
Reset
Bit
Name
Type
Reset

25

EINT_DUALEDGE_SENS[31:16]
RO
0
0
0
0
0
0

EINT_DUALEDGE_ Dual edge sensitivity type of the associated external interrupt
SENS
source
Dual edge sensitivity type of external interrupt source. (EINT_SENS
should be 0)
EINT_DUALEDGE_SENS[i] for EINTi.
0: Disable
1: Enable (no dependency on POL).

31:0

Bit
Name
Type
Reset
Bit
Name
Type
Reset

26

00000000

31
0

EINT_DUALED
EINT dual edge sensitivity clear register
GE_SENS_CLR
30
0

29
0

28
0

27
0

15

14

13

12

11

0

0

0

0

0

26

25

24

23

22

21

10

9

8

7

6

5

EINT_DUALEDGE_SENS[31:16]
WO
0
0
0
0
0
0
EINT_DUALEDGE_SENS[15:0]
WO
0
0
0
0
0
0

© 2016 - 2017 MediaTek Inc.

00000000

20

19

18

17

0

0

0

0

1

0

0

0

0

0

0

4

3

2

16
0

Page 15 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic Name

A21003A0
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Description

EINT_DUALEDGE_ Disables dual edge sensitive for the associated external
SENS
interrupt source.
This register is used to clear individual sensitive bits. Only the bits set
to 1 are effective. EINT_DUALEDGE_SENS bits are also cleared (set to
0). Otherwise, EINT_DUALEDGE_SENS bits will retain the original
value.
EINT_DUALEDGE_SENS[i] for EINTi.
0: No effect
1: Disables the corresponding DUALEDGE bit.

31:0

31

EINT_POL
30

29

EINT polarity register
28

27

24

23

22

9

8

7

6

15

14

13

12

11

10

0

0

0

0

0

0

0

EINT_POL[15:0]
RO
0
0
0
0

0

0

31:0

0

0

0

31

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

EINT_POL_SE
EINT polarity set register
T
30

29

28

27

26

25

24

23

22

9

8

7

6

14

13

12

11

10

0

0

0

0

0

0

0

EINT_POL[15:0]
WO
0
0
0
0

0

0

0

0

Bit(s) Mnemonic Name
31:0

16
0

00000000

15

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

16
0

Description
Enables polarity configuration for the associated external
interrupt source
This register is used to set up individual polarity bits. Only the bits set
to 1 are effective. EINT_POL bits are also set to 1. Otherwise,
EINT_POL bits will retain the original value.
EINT_POL[i] for EINTi.
0: No effect
1: Enables the corresponding POL bit.

EINT_POL

A21003B0

20

Configures polarity of the associated external interrupt
source.
Activation type of the EINT source.
EINT_POL[i] for EINTi.
0: Active low
1: Active high

EINT_POL[31:16]
WO
0
0
0
0

0

21

Description

EINT_POL

A21003A8

Bit
Name
Type
Reset

00000000

25

EINT_POL[31:16]
RO
0
0
0
0

Bit(s) Mnemonic Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

26

EINT_POL_CL
EINT polarity clear register
R

31

30

29

28

27

26

0

0

0

0

0

0

25

24

23

00000000
22

EINT_POL[31:16]
WO
0
0
0
0

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

0

0

0

0

0

0

Page 16 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Name
Type
Reset

15

14

13

12

11

10

0

0

0

0

0

0

Bit(s) Mnemonic Name
31:0

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

EINT_SOFT
30

29

6

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

0

0

0

0

0

0

EINT_SOFT[15:0]
RO
0
0
0
0

0

0

0

0

0

31

30

29

28

27

26

25

24

23

22

9

8

7

6

14

13

12

11

10

0

0

0

0

0

0

0

EINT_SOFT[15:0]
WO
0
0
0
0

0

0

0

0

Bit(s) Mnemonic Name
31:0

1

0

0

0

0

0

0

0

00000000
21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

29

0

00000000

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

16
0

Enables software for the associated external interrupt source
This register is used to set up individual software bits. Only the bits set
to 1 are effective. EINT_SOFT bits are also set to 1. Otherwise,
EINT_SOFT bits will retain the original value.
EINT_SOFT[i] for EINTi.
0: No effect
1: Enables the corresponding SOFT bit.

EINT_SOFT_C
EINT software interrupt clear register
LR
30

16

Description

EINT_SOFT

31

2

EINT_SOFT_S
EINT software interrupt set register
ET

15

A21003D0

3

Software interrupt
This register is used for debugging purposes.
EINT_SOFT[i] for EINTi.
0: No effect
1: Triggers an EINT

EINT_SOFT[31:16]
WO
0
0
0
0

0

4

Description

EINT_SOFT

A21003C8

5

EINT software interrupt register

28

EINT_SOFT[31:16]
RO
0
0
0
0

31:0

Bit

7

Polarity configuration set
This register is used to clear individual polarity bits. Only the bits set to
1 are effective. EINT_POL bits are also cleared (set to 0). Otherwise,
EINT_POL bits will retain the original value.
EINT_POL[i] for EINTi.
0: No effect
1: Disables the corresponding POL bit.

Bit(s) Mnemonic Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

8

EINT_POL[15:0]
WO
0
0
0
0

Description

EINT_POL

A21003C0

9

28

27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

00000000
20

19

18

17

16

Page 17 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

0

EINT_SOFT[31:16]
WO
0
0
0
0

0

0

0

0

0

0

EINT_SOFT[15:0]
WO
0
0
0
0

0

0

0

0

0

Bit(s) Mnemonic Name
31:0

9

8

7

6

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

Description
Disables software for the associated external interrupt
source
This register is used to clear individual software bits. Only the bits set
to 1 are effective. EINT_SOFT bits are also cleared (set to 0).
Otherwise, EINT_SOFT bits will retain the original value.
EINT_SOFT[i] for EINTi.
0: No effect
1: Disables the corresponding SOFT bit.

EINT_SOFT

A2100400~
EINTi_CON[n]
A210047C
EINTi config register
(n=0~31)
(step = 0x4)
Bit

31

30

29

28

27

26

25

15

14

13

12

11

10

9

0

0

0

0

0

0

Name
Type
Reset
Bit
Name
Type
Reset

0

Bit(s) Mnemonic Name

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

0

0

0

0

0

RSTD
BC
WO
0

DBC_CON
RW
0
0
0

16

DBC_
EN
RW
0

0

Description

24

RSTDBC

EINTi debounce count reset
Write 1 to reset the de-bounce counter so that EINT can be updated
immediately without de-bounce latency. This option needs 100usec
latency to take effect.
0: no effect
1: reset

16

DBC_EN

EINTi debounce circuit enable
0: disable
1: enable

DBC_CON

EINTi debounce count setting

14:0

0

DBC_CNT = DBC_CON[10:0]
EINTi debounce duration config
(clock period is determined in PRESCALER)
Note: When DBD_CON[10:0] = 0 and DBC_EN = 1, there are still two
32K clock cycles (62.5 us) debounce. If you want to disable debounce
function, DBC_EN should be set to 0 (Zero).
PRESCALER = DBC_CON[14:12]
EINTi debounce clock cycle period prescaler.
000: 32,768Hz, max. 0.0625sec
001: 16,384Hz
010: 8,192Hz
011: 4,096Hz
100: 2,048Hz, max. 1sec
101: 1,024Hz

© 2016 - 2017 MediaTek Inc.

Page 18 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic Name

Description
110: 512Hz
111: 256Hz, max. 8secs

© 2016 - 2017 MediaTek Inc.

Page 19 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

4.
4.1.

Direct Memory Access
Overview

A DMA controller is placed on AHB bus to support fast data transfers and off-load the processor. With this
controller, specific devices on AHB or APB buses can benefit greatly from quick completion of data movement from
or to memory modules. Such generic DMA controller can also be used to connect two devices other than memory
modules as long as they can be addressed in memory space. Figure 4.1-1 illustrates the system connections.

APB Bus

Arbiter

Memory

AHB Bus

MCU-DSP
Interface

ABP
Bridge

Peripheral
DMA
Peripheral

Figure 4.1-1. Variety data paths of DMA transfers

4.2.

Features

There is a round-robin arbitration mechanism to support up to 16 channels working simultaneously. Each channel
has a similar set of registers to be configured to different schemes as desired. Both interrupt and polling based
schemes are supported to handle the completion events.
The block diagram of DMA operation is shown in Figure 4.2-1.

© 2016 - 2017 MediaTek Inc.

Page 20 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Configuration

Global Controller

Configuration

GDMA

APB
Interface

Transaction

Transaction

Configuration

AHB
Interface

PDMA

Transaction
Configuration

VDMA

Figure 4.2-1. DMA block diagram

4.3.

Functions

There are three types of DMA channels in the DMA controller: full-size DMA, half-size DMA and virtual FIFO DMA.
Channel 1 is a full-size DMA channel, channels 2 to 6 are half-size channels and channels 7 to 16 are virtual FIFO
DMA channels. The difference between the first two types of DMA channels is that source and destination
addresses are programmable as full-size DMA channels, but the address of either source or destination only can be
programmed as a half-size DMA channel, while the address of the other side is fixed.

4.3.1.

Ring buffer and double buffer memory data transfer

DMA channels 1 to 7 support ring-buffer and double-buffer memory data transfer. This can be achieved by
programming DMA_WPPT and DMA_WPTO, as well as setting up WPEN in the DMA_CON register to enable, as
shown in Figure 4.3-1. The next address jumps to WPTO address after WPPT data transfer is complete, once the
transfer counter reaches WPPT.
Note that only one side can be configured as ring-buffer or double-buffer memory, and this is controlled by WPSD
in the DMA_CON register.

© 2016 - 2017 MediaTek Inc.

Page 21 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Figure 4.3-1. Ring buffer and double buffer memory data movement

4.3.2.

Unaligned word access

The address of word access on AHB bus must be aligned to word boundary (the address must be multiple of 4), or
the two LSB are truncated to 00b. If the LSB is truncated incorrect data may be fetched. If the data is moved from
unaligned to aligned address, the word is usually split into four bytes then moved byte by byte. Thus, the four read
and four write transfers will appear on the bus.
To improve bus efficiency, the unaligned-word access is provided in DMA 2 to 7. If “byte-to-word (B2W)” function
is enabled in PDMAx_CON, the DMAs will move data from the unaligned address to aligned address by executing
four continuous byte-read accesses and one word-write access, reducing the number of transfers on the bus by
three, as shown in Figure 4.3-2.

Figure 4.3-2. Unaligned word accesses

4.3.3.

Virtual FIFO DMA

Virtual FIFO DMA is used to ease UART control. The difference between the virtual FIFO DMA and the ordinary
DMA is that the virtual FIFO DMA contains additional FIFO controllers. The read and write pointers are kept in the
virtual FIFO DMA. To read from FIFO, the read pointer points to the address of the next data. To write into the
FIFO, the write pointer moves to the next address. If the FIFO is empty, a FIFO read will not be allowed. Similarly,
the data will not be written to the FIFO if the FIFO is full. Due to UART flow control requirements, an alert length

© 2016 - 2017 MediaTek Inc.

Page 22 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
(VDMAx_ALTLEN) is programmed. If the FIFO space is smaller than this value, an alert signal is issued to enable the
UART flow control. The type of flow control performed depends on the UART configuration settings.
Each virtual FIFO DMA can be programmed as receive (RX) or transmit (TX) FIFO. This depends on the DIR setting in
the DMA_CON register. If DIR is “0” (READ), the virtual FIFO DMA is specified as a TX FIFO. On the other hand, if
DIR is “1” (WRITE), the virtual FIFO DMA will be specified as an RX FIFO.
The virtual FIFO DMA provides an interrupt to MCU to notify data availability in the FIFO and the amount of data is
above or under the value defined in the DMA_COUNT register. Based on this, the MCU does not need to poll the
DMA to know when the data must be removed from or put into the FIFO.

Destination Address

Source Address

Read Pointer
(UART TX)

Read Pointer
(MCU)

Write Pointer
(UART RX)

FIFO Size

FIFO Size

Memory

Virtual FIFO

Memory
Write Pointer
(MCU)

Virtual FIFO
Figure 4.3-3. Virtual FIFO DMA

4.4.

Application and programming sequence

DMA channels 7 to 16 are virtual FIFO DMA with corresponding peripherals. The access ports for the MCU of each
VDMA are listed in Table 4.4-1. MCU treats the virtual FIFO access port as a real FIFO, but the physical location or
size is configured by registers of each channel.
Table 4.4-1. Virtual FIFO access ports
DMA number

Address of virtual FIFO access port

Reference UART

DMA7

A100_0000h

AUD_TX

DMA8

A100_0100h

AUD_RX

DMA9

A100_0200h

ASYS TX

DMA10

A100_0300h

ASYS RX

DMA11

A100_0400h

UART2 TX

DMA12

A100_0500h

UART2 RX

DMA13

A100_0600h

UART1 TX

© 2016 - 2017 MediaTek Inc.

Page 23 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
DMA number

Address of virtual FIFO access port

Reference UART

DMA14

A100_0700h

UART1 RX

DMA15

A100_0800h

UART0 TX

DMA16

A100_0900h

UART0 RX

Due to different types of DMA, the limitations for each peripheral are listed below.
Table 4-2. Function list of DMA channels
DMA number

Type

Ring
buffer

Double
buffer

Burst
mode

DMA1

Full size

●

●

●

DMA2

Half size

DMA3

Half size

DMA4

Half size

DMA5

Half size

DMA6

Half size

DMA7

Virtual
FIFO

●

DMA8

Virtual
FIFO

●

AUD_RX

DMA9

Virtual
FIFO

●

ASYS TX

DMA10

Virtual
FIFO

●

ASYS RX

DMA11

Virtual
FIFO

●

UART2 TX

DMA12

Virtual
FIFO

●

UART2 RX

DMA13

Virtual
FIFO

●

UART1 TX

DMA14

Virtual
FIFO

●

UART1 RX

DMA15

Virtual
FIFO

●

UART0 TX

DMA16

Virtual
FIFO

●

UART0 RX

4.5.

●
●
●
●
●

●
●
●
●
●

●
●
●
●
●

Unaligned
word access

Peripheral

●

I2C0 TX

●
●
●
●

I2C0 RX
I2C1 TX
I2C1 RX
HIF_TX,RX
AUD_TX

Register mapping

There are 16 DMA channels in this SOC. The usage of the registers below is the same except that the base address
should be changed to respective ones.
Module name: DMA Base address: (+a0020000h)
Address

Name

Width

Register Functionality

© 2016 - 2017 MediaTek Inc.

Page 24 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020000

DMA_GLBSTA

32

DMA global status

A0020008

DMA_GLB_CPU0_CF
G

32

DMA top hierarchy interrupt
configuration

A002000C

DMA_GLB_CPU0_SE
T

32

DMA top hierarchy interrupt setting

A0020010

DMA_GLB_CPU0_CL
R

32

DMA top hierarchy interrupt clear

A0020028

DMA_GLBLIMITER

32

DMA global bandwidth limiter register

A0020020

DMA_GLB_SWRST

32

DMA global software reset

A0020040

DMA_GLB_BUSY

32

DMA global busy status

A0020044

DMA_GLB_INTR

32

DMA global interrupt status

A0020100

GDMA1_SRC

32

DMA channel 1 source address

A0020104

GDMA1_DST

32

DMA channel 1 destination address

A0020108

GDMA1_WPPT

32

DMA channel 1 wrap point address

A002010C

GDMA1_WPTO

32

DMA channel 1 wrap to address

A0020110

GDMA1_COUNT

32

DMA channel 1 transfer count

A0020114

GDMA1_CON

32

DMA channel 1 control

A0020118

GDMA1_START

32

DMA channel 1 start

A002011C

GDMA1_INTSTA

32

DMA channel 1 interrupt status

A0020120

GDMA1_ACKINT

32

DMA channel 1 interrupt acknowledge

A0020124

GDMA1_RLCT

32

DMA channel 1 remaining length of
current transfer

A0020128

GDMA1_LIMITER

32

DMA channel 1 bandwidth limiter

A0020208

PDMA2_WPPT

32

DMA channel 2 wrap point address

A002020C

PDMA2_WPTO

32

DMA channel 2 wrap to address

A0020210

PDMA2_COUNT

32

DMA channel 2 transfer count

A0020214

PDMA2_CON

32

DMA channel 2 control

A0020218

PDMA2_START

32

DMA channel 2 start

A002021C

PDMA2_INTSTA

32

DMA channel 2 interrupt status

A0020220

PDMA2_ACKINT

32

DMA channel 2 interrupt acknowledge

A0020224

PDMA2_RLCT

32

DMA channel 2 remaining length of
current transfer

A0020228

PDMA2_LIMITER

32

DMA channel 2 bandwidth limiter

A002022C

PDMA2_PGMADDR

32

DMA channel 2 programmable address

A0020308

PDMA3_WPPT

32

DMA channel 3 wrap point address

A002030C

PDMA3_WPTO

32

DMA channel 3 wrap to address

A0020310

PDMA3_COUNT

32

DMA channel 3 transfer count

A0020314

PDMA3_CON

32

DMA channel 3 control

A0020318

PDMA3_START

32

DMA channel 3 start

A002031C

PDMA3_INTSTA

32

DMA channel 3 interrupt status

A0020320

PDMA3_ACKINT

32

DMA channel 3 interrupt acknowledge

A0020324

PDMA3_RLCT

32

DMA channel 3 remaining length of

© 2016 - 2017 MediaTek Inc.

Page 25 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
current transfer
A0020328

PDMA3_LIMITER

32

DMA channel 3 bandwidth limiter

A002032C

PDMA3_PGMADDR

32

DMA channel 3 programmable address

A0020408

PDMA4_WPPT

32

DMA channel 4 wrap point address

A002040C

PDMA4_WPTO

32

DMA channel 4 wrap to address

A0020410

PDMA4_COUNT

32

DMA channel 4 transfer count

A0020414

PDMA4_CON

32

DMA channel 4 control

A0020418

PDMA4_START

32

DMA channel 4 start

A002041C

PDMA4_INTSTA

32

DMA channel 4 interrupt status

A0020420

PDMA4_ACKINT

32

DMA channel 4 interrupt acknowledge

A0020424

PDMA4_RLCT

32

DMA channel 4 remaining length of
current transfer

A0020428

PDMA4_LIMITER

32

DMA channel 4 bandwidth limiter

A002042C

PDMA4_PGMADDR

32

DMA channel 4 programmable address

A0020508

PDMA5_WPPT

32

DMA channel 5 wrap point address

A002050C

PDMA5_WPTO

32

DMA channel 5 wrap to address

A0020510

PDMA5_COUNT

32

DMA channel 5 transfer count

A0020514

PDMA5_CON

32

DMA channel 5 control

A0020518

PDMA5_START

32

DMA channel 5 start

A002051C

PDMA5_INTSTA

32

DMA channel 5 interrupt status

A0020520

PDMA5_ACKINT

32

DMA channel 5 interrupt acknowledge

A0020524

PDMA5_RLCT

32

DMA channel 5 remaining length of
current transfer

A0020528

PDMA5_LIMITER

32

DMA channel 5 bandwidth limiter

A002052C

PDMA5_PGMADDR

32

DMA channel 5 programmable address

A0020608

PDMA6_WPPT

32

DMA channel 6 wrap point address

A002060C

PDMA6_WPTO

32

DMA channel 6 wrap to address

A0020610

PDMA6_COUNT

32

DMA channel 6 transfer count

A0020614

PDMA6_CON

32

DMA channel 6 control

A0020618

PDMA6_START

32

DMA channel 6 start

A002061C

PDMA6_INTSTA

32

DMA channel 6 interrupt status

A0020620

PDMA6_ACKINT

32

DMA channel 6 interrupt acknowledge

A0020624

PDMA6_RLCT

32

DMA channel 6 remaining length of
current transfer

A0020628

PDMA6_LIMITER

32

DMA channel 6 bandwidth limiter

A002062C

PDMA6_PGMADDR

32

DMA channel 6 programmable address

A0020710

VDMA7_COUNT

32

DMA channel 7 transfer count

A0020714

VDMA7_CON

32

DMA channel 7 control

A0020718

VDMA7_START

32

DMA channel 7 start register

A002071C

VDMA7_INTSTA

32

DMA channel 7 interrupt status

A0020720

VDMA7_ACKINT

32

DMA channel 7 interrupt acknowledge

© 2016 - 2017 MediaTek Inc.

Page 26 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020728

VDMA7_LIMITER

32

DMA channel 7 bandwidth limiter

A002072C

VDMA7_PGMADDR

32

DMA channel 7 programmable address

A0020730

VDMA7_WRPTR

32

DMA channel 7 write pointer

A0020734

VDMA7_RDPTR

32

DMA channel 7 read pointer

A0020738

VDMA7_FFCNT

32

DMA channel 7 FIFO count

A002073C

VDMA7_FFSTA

32

DMA channel 7 FIFO status

A0020740

VDMA7_ALTLEN

32

DMA channel 7 alert length

A0020744

VDMA7_FFSIZE

32

DMA channel 7 FIFO size

A0020810

VDMA8_COUNT

32

DMA channel 8 transfer count

A0020814

VDMA8_CON

32

DMA channel 8 control

A0020818

VDMA8_START

32

DMA channel 8 start register

A002081C

VDMA8_INTSTA

32

DMA channel 8 interrupt status

A0020820

VDMA8_ACKINT

32

DMA channel 8 interrupt acknowledge

A0020828

VDMA8_LIMITER

32

DMA channel 8 bandwidth limiter

A002082C

VDMA8_PGMADDR

32

DMA channel 8 programmable address

A0020830

VDMA8_WRPTR

32

DMA channel 8 write pointer

A0020834

VDMA8_RDPTR

32

DMA channel 8 read pointer

A0020838

VDMA8_FFCNT

32

DMA channel 8 FIFO count

A002083C

VDMA8_FFSTA

32

DMA channel 8 FIFO status

A0020840

VDMA8_ALTLEN

32

DMA channel 8 alert length

A0020844

VDMA8_FFSIZE

32

DMA channel 8 FIFO size

A0020910

VDMA9_COUNT

32

DMA channel 9 transfer count

A0020914

VDMA9_CON

32

DMA channel 9 control

A0020918

VDMA9_START

32

DMA channel 9 start register

A002091C

VDMA9_INTSTA

32

DMA channel 9 interrupt status

A0020920

VDMA9_ACKINT

32

DMA channel 9 interrupt acknowledge

A0020928

VDMA9_LIMITER

32

DMA channel 9 bandwidth limiter

A002092C

VDMA9_PGMADDR

32

DMA channel 9 programmable address

A0020930

VDMA9_WRPTR

32

DMA channel 9 write pointer

A0020934

VDMA9_RDPTR

32

DMA channel 9 read pointer

A0020938

VDMA9_FFCNT

32

DMA channel 9 FIFO count

A002093C

VDMA9_FFSTA

32

DMA channel 9 FIFO status

A0020940

VDMA9_ALTLEN

32

DMA channel 9 alert length

A0020944

VDMA9_FFSIZE

32

DMA channel 9 FIFO size

A0020A10

VDMA10_COUNT

32

DMA channel 10 transfer count

A0020A14

VDMA10_CON

32

DMA channel 10 control

A0020A18

VDMA10_START

32

DMA channel 10 start register

A0020A1C

VDMA10_INTSTA

32

DMA channel 10 interrupt status

© 2016 - 2017 MediaTek Inc.

Page 27 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020A20

VDMA10_ACKINT

32

DMA channel 10 interrupt acknowledge

A0020A28

VDMA10_LIMITER

32

DMA channel 10 bandwidth limiter

A0020A2C

VDMA10_PGMADDR

32

DMA channel 10 programmable address

A0020A30

VDMA10_WRPTR

32

DMA channel 10 write pointer

A0020A34

VDMA10_RDPTR

32

DMA channel 10 read pointer

A0020A38

VDMA10_FFCNT

32

DMA channel 10 FIFO count

A0020A3C

VDMA10_FFSTA

32

DMA channel 10 FIFO status

A0020A40

VDMA10_ALTLEN

32

DMA channel 10 alert length

A0020A44

VDMA10_FFSIZE

32

DMA channel 10 FIFO size

A0020B10

VDMA11_COUNT

32

DMA channel 11 transfer count

A0020B14

VDMA11_CON

32

DMA channel 11 control

A0020B18

VDMA11_START

32

DMA channel 11 start register

A0020B1C

VDMA11_INTSTA

32

DMA channel 11 interrupt status

A0020B20

VDMA11_ACKINT

32

DMA channel 11 interrupt acknowledge

A0020B28

VDMA11_LIMITER

32

DMA channel 11 bandwidth limiter

A0020B2C

VDMA11_PGMADDR

32

DMA channel 11 programmable address

A0020B30

VDMA11_WRPTR

32

DMA channel 11 write pointer

A0020B34

VDMA11_RDPTR

32

DMA channel 11 read pointer

A0020B38

VDMA11_FFCNT

32

DMA channel 11 FIFO count

A0020B3C

VDMA11_FFSTA

32

DMA channel 11 FIFO status

A0020B40

VDMA11_ALTLEN

32

DMA channel 11 alert length

A0020B44

VDMA11_FFSIZE

32

DMA channel 11 FIFO size

A0020C10

VDMA12_COUNT

32

DMA channel 12 transfer count

A0020C14

VDMA12_CON

32

DMA channel 12 control

A0020C18

VDMA12_START

32

DMA channel 12 start register

A0020C1C

VDMA12_INTSTA

32

DMA channel 12 interrupt status

A0020C20

VDMA12_ACKINT

32

DMA channel 12 interrupt acknowledge

A0020C28

VDMA12_LIMITER

32

DMA channel 12 bandwidth limiter

A0020C2C

VDMA12_PGMADDR

32

DMA channel 12 programmable address

A0020C30

VDMA12_WRPTR

32

DMA channel 12 write pointer

A0020C34

VDMA12_RDPTR

32

DMA channel 12 read pointer

A0020C38

VDMA12_FFCNT

32

DMA channel 12 FIFO count

© 2016 - 2017 MediaTek Inc.

Page 28 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020C3C

VDMA12_FFSTA

32

DMA channel 12 FIFO status

A0020C40

VDMA12_ALTLEN

32

DMA channel 12 alert length

A0020C44

VDMA12_FFSIZE

32

DMA channel 12 FIFO size

A0020D10

VDMA13_COUNT

32

DMA channel 13 transfer count

A0020D14

VDMA13_CON

32

DMA channel 13 control

A0020D18

VDMA13_START

32

DMA channel 13 start register

A0020D1C

VDMA13_INTSTA

32

DMA channel 13 interrupt status

A0020D20

VDMA13_ACKINT

32

DMA channel 13 interrupt acknowledge

A0020D28

VDMA13_LIMITER

32

DMA channel 13 bandwidth limiter

A0020D2C

VDMA13_PGMADDR

32

DMA channel 13 programmable address

A0020D30

VDMA13_WRPTR

32

DMA channel 13 write pointer

A0020D34

VDMA13_RDPTR

32

DMA channel 13 read pointer

A0020D38

VDMA13_FFCNT

32

DMA channel 13 FIFO count

A0020D3C

VDMA13_FFSTA

32

DMA channel 13 FIFO status

A0020D40

VDMA13_ALTLEN

32

DMA channel 13 alert length

A0020D44

VDMA13_FFSIZE

32

DMA channel 13 FIFO size

A0020E10

VDMA14_COUNT

32

DMA channel 14 transfer count

A0020E14

VDMA14_CON

32

DMA channel 14 control

A0020E18

VDMA14_START

32

DMA channel 14 start register

A0020E1C

VDMA14_INTSTA

32

DMA channel 14 interrupt status

A0020E20

VDMA14_ACKINT

32

DMA channel 14 interrupt acknowledge

A0020E28

VDMA14_LIMITER

32

DMA channel 14 bandwidth limiter

A0020E2C

VDMA14_PGMADDR

32

DMA channel 14 programmable address

A0020E30

VDMA14_WRPTR

32

DMA channel 14 write pointer

A0020E34

VDMA14_RDPTR

32

DMA channel 14 read pointer

A0020E38

VDMA14_FFCNT

32

DMA channel 14 FIFO count

A0020E3C

VDMA14_FFSTA

32

DMA channel 14 FIFO status

A0020E40

VDMA14_ALTLEN

32

DMA channel 14 alert length

A0020E44

VDMA14_FFSIZE

32

DMA channel 14 FIFO size

A0020F10

VDMA15_COUNT

32

DMA channel 15 transfer count

A0020F14

VDMA15_CON

32

DMA channel 15 control

A0020F18

VDMA15_START

32

DMA channel 15 start register

A0020F1C

VDMA15_INTSTA

32

DMA channel 15 interrupt status

© 2016 - 2017 MediaTek Inc.

Page 29 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020F20

VDMA15_ACKINT

32

DMA channel 15 interrupt acknowledge

A0020F28

VDMA15_LIMITER

32

DMA channel 15 bandwidth limiter

A0020F2C

VDMA15_PGMADDR

32

DMA channel 15 programmable address

A0020F30

VDMA15_WRPTR

32

DMA channel 15 write pointer

A0020F34

VDMA15_RDPTR

32

DMA channel 15 read pointer

A0020F38

VDMA15_FFCNT

32

DMA channel 15 FIFO count

A0020F3C

VDMA15_FFSTA

32

DMA channel 15 FIFO status

A0020F40

VDMA15_ALTLEN

32

DMA channel 15 alert length

A0020F44

VDMA15_FFSIZE

32

DMA channel 15 FIFO size

A0021010

VDMA16_COUNT

32

DMA channel 16 transfer count

A0021014

VDMA16_CON

32

DMA channel 16 control

A0021018

VDMA16_START

32

DMA channel 16 start register

A002101C

VDMA16_INTSTA

32

DMA channel 16 interrupt status

A0021020

VDMA16_ACKINT

32

DMA channel 16 interrupt acknowledge

A0021028

VDMA16_LIMITER

32

DMA channel 16 bandwidth limiter

A002102C

VDMA16_PGMADDR

32

DMA channel 16 programmable address

A0021030

VDMA16_WRPTR

32

DMA channel 16 write pointer

A0021034

VDMA16_RDPTR

32

DMA channel 16 read pointer

A0021038

VDMA16_FFCNT

32

DMA channel 16 FIFO count

A002103C

VDMA16_FFSTA

32

DMA channel 16 FIFO status

A0021040

VDMA16_ALTLEN

32

DMA channel 16 alert length

A0021044

VDMA16_FFSIZE

32

DMA channel 16 FIFO size

A0020000 DMA_GLBSTA
Bit

DMA global status

00000000

30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RUN1
RUN1
RUN1
RUN1
RUN1
RUN1
RUN1
IT15
IT14
IT13
IT12
IT11
IT10
IT9 RUN9
Name IT16
6
5
4
3
2
1
0
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
Type
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

Bit
Name
Type
Reset

31

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

IT8 RUN8 IT7 RUN7 IT6 RUN6 IT5 RUN5 IT4 RUN4 IT3 RUN3 IT2 RUN2 IT1
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Bit(s)

Name

Description

31

IT16

Channel 16 interrupt status

30

RUN16

Channel 16 running status

29

IT15

Channel 15 interrupt status

© 2016 - 2017 MediaTek Inc.

0
RUN1
RO
0

Page 30 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
28

RUN15

Channel 15 running status

27

IT14

Channel 14 interrupt status

26

RUN14

Channel 14 running status

25

IT13

Channel 13 interrupt status

24

RUN13

Channel 13 running status

23

IT12

Channel 12 interrupt status

22

RUN12

Channel 12 running status

21

IT11

Channel 11 interrupt status

20

RUN11

Channel 11 running status

19

IT10

Channel 10 interrupt status

18

RUN10

Channel 10 running status

17

IT9

channel 9 interrupt status

16

RUN9

channel 9 running status

15

IT8

Channel 8 interrupt status

14

RUN8

Channel 8 running status

13

IT7

Channel 7 interrupt status

12

RUN7

Channel 7 running status

11

IT6

Channel 6 interrupt status

10

RUN6

Channel 6 running status

9

IT5

Channel 5 interrupt status

8

RUN5

Channel 5 running status

7

IT4

Channel 4 interrupt status

6

RUN4

Channel 4 running status

5

IT3

Channel 3 interrupt status

4

RUN3

Channel 3 running status

3

IT2

Channel 2 interrupt status

2

RUN2

Channel 2 running status

1

IT1

Channel 1 interrupt status

0

RUN1

Channel 1 running status

A0020008 DMA_GLB_CPU0_CFG DMA top hierarchy interrupt config
Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

00000000
18

17

16

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0
Name _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG _CFG
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Type RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

Bit(s)

Name

Description

15

CPU0_CFG16

Channel 16 CPU0 interrupt enable configure

© 2016 - 2017 MediaTek Inc.

Page 31 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
14

CPU0_CFG15

Channel 15 CPU0 interrupt enable configure

13

CPU0_CFG14

Channel 14 CPU0 interrupt enable configure

12

CPU0_CFG13

Channel 13 CPU0 interrupt enable configure

11

CPU0_CFG12

Channel 12 CPU0 interrupt enable configure

10

CPU0_CFG11

Channel 11 CPU0 interrupt enable configure

9

CPU0_CFG10

Channel 10 CPU0 interrupt enable configure

8

CPU0_CFG9

Channel 9 CPU0 interrupt enable configure

7

CPU0_CFG8

Channel 8 CPU0 interrupt enable configure

6

CPU0_CFG7

Channel 7 CPU0 interrupt enable configure

5

CPU0_CFG6

Channel 6 CPU0 interrupt enable configure

4

CPU0_CFG5

Channel 5 CPU0 interrupt enable configure

3

CPU0_CFG4

Channel 4 CPU0 interrupt enable configure

2

CPU0_CFG3

Channel 3 CPU0 interrupt enable configure

1

CPU0_CFG2

Channel 2 CPU0 interrupt enable configure

0

CPU0_CFG1

Channel 1 CPU0 interrupt enable configure

A002000C DMA_GLB_CPU0_SET DMA top hierarchy interrupt set
Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

23

22

21

20

00000000
19

18

17

16

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0
Name _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET _SET
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Type WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

Bit(s)

Name

Description

15

CPU0_SET16

Channel 16 CPU0 interrupt enable set

14

CPU0_SET15

Channel 15 CPU0 interrupt enable set

13

CPU0_SET14

Channel 14 CPU0 interrupt enable set

12

CPU0_SET13

Channel 13 CPU0 interrupt enable set

11

CPU0_SET12

Channel 12 CPU0 interrupt enable set

10

CPU0_SET11

Channel 11 CPU0 interrupt enable set

9

CPU0_SET10

Channel 10 CPU0 interrupt enable set

8

CPU0_SET9

Channel 9 CPU0 interrupt enable set

7

CPU0_SET8

Channel 8 CPU0 interrupt enable set

6

CPU0_SET7

Channel 7 CPU0 interrupt enable set

5

CPU0_SET6

Channel 6 CPU0 interrupt enable set

4

CPU0_SET5

Channel 5 CPU0 interrupt enable set

3

CPU0_SET4

Channel 4 CPU0 interrupt enable set

2

CPU0_SET3

Channel 3 CPU0 interrupt enable set

1

CPU0_SET2

Channel 2 CPU0 interrupt enable set

0

CPU0_SET1

Channel 1 CPU0 interrupt enable set

© 2016 - 2017 MediaTek Inc.

Page 32 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020010
Bit
Name
Type
Reset
Bit

DMA_GLB_CPU0_CLR
31

30

29

28

27

DMA top hierarchy interrupt clr
26

25

24

23

22

21

00000000
20

19

18

17

16

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0 CPU0
Name _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR _CLR
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Type WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

Bit(s)

Name

Description

15

CPU0_CLR16

Channel 16 CPU0 interrupt enable clear

14

CPU0_CLR15

Channel 15 CPU0 interrupt enable clear

13

CPU0_CLR14

Channel 14 CPU0 interrupt enable clear

12

CPU0_CLR13

Channel 13 CPU0 interrupt enable clear

11

CPU0_CLR12

Channel 12 CPU0 interrupt enable clear

10

CPU0_CLR11

Channel 11 CPU0 interrupt enable clear

9

CPU0_CLR10

Channel 10 CPU0 interrupt enable clear

8

CPU0_CLR9

Channel 9 CPU0 interrupt enable clear

7

CPU0_CLR8

Channel 8 CPU0 interrupt enable clear

6

CPU0_CLR7

Channel 7 CPU0 interrupt enable clear

5

CPU0_CLR6

Channel 6 CPU0 interrupt enable clear

4

CPU0_CLR5

Channel 5 CPU0 interrupt enable clear

3

CPU0_CLR4

Channel 4 CPU0 interrupt enable clear

2

CPU0_CLR3

Channel 3 CPU0 interrupt enable clear

1

CPU0_CLR2

Channel 2 CPU0 interrupt enable clear

0

CPU0_CLR1

Channel 1 CPU0 interrupt enable clear

A0020028
Bit
Name
Type
Reset
Bit
Name
Type
Reset

DMA_GLBLIMITER

DMA global bandwidth limiter register 00000000

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

20

19

18

17

16

4

3

2

1

0

0

0

0

LIMITER
WO
0

0

0

0

0

Bit(s)

Name

Description

7:0

LIMITER

Utilization suppression
This register suppresses the bus utilization of the DMA channel.
From 0 to 255. 0 means no limitation, 255 means totally banned.
All other values indicate bus access permission for every (4 x n)
AHB clock.

A0020020 DMA_GLB_SWRST

DMA global software reset

© 2016 - 2017 MediaTek Inc.

00000000

Page 33 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
SW_
RESE
T
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

SW_RESET

Software reset
Write 1 to the register to reset

A0020040 DMA_GLB_BUSY
Bit
Name
Type
Reset
Bit

31

30

29

28

27

DMA global busy status
26

25

24

23

22

21

00000000
20

19

18

17

16

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RUN1 RUN1 RUN1 RUN1 RUN1 RUN1 RUN1
RUN9 RUN8 RUN7 RUN6 RUN5 RUN4 RUN3 RUN2 RUN1
Name
6
5
4
3
2
1
0
Type RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

A0020044
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

15

RUN16

Channel 16 running status

14

RUN15

Channel 15 running status

13

RUN14

Channel 14 running status

12

RUN13

Channel 13 running status

11

RUN12

Channel 12 running status

10

RUN11

Channel 11 running status

9

RUN10

Channel 10 running status

8

RUN9

Channel 9 running status

7

RUN8

Channel 8 running status

6

RUN7

Channel 7 running status

5

RUN6

Channel 6 running status

4

RUN5

Channel 5 running status

3

RUN4

Channel 4 running status

2

RUN3

Channel 3 running status

1

RUN2

Channel 2 running status

0

RUN1

Channel 1 running status

DMA_GLB_INTR
30

29

28

27

DMA global interrupt status
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

00000000
20

19

18

17

16

Page 34 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
15
14
13
12
11
Bit
IT16
IT15
IT14
IT13
IT12
Name
Type RW RW RW RW RW
0
0
0
0
0
Reset

10

9

8

7

6

5

4

3

2

1

0

IT11
RW
0

IT10
RW
0

IT9
RW
0

IT8
RW
0

IT7
RW
0

IT6
RW
0

IT5
RW
0

IT4
RW
0

IT3
RW
0

IT2
RW
0

IT1
RW
0

Bit(s)

Name

Description

15

IT16

Channel 16 interrupt status

14

IT15

Channel 15 interrupt status

13

IT14

Channel 14 interrupt status

12

IT13

Channel 13 interrupt status

11

IT12

Channel 12 interrupt status

10

IT11

Channel 11 interrupt status

9

IT10

Channel 10 interrupt status

8

IT9

Channel 9 interrupt status

7

IT8

Channel 8 interrupt status

6

IT7

Channel 7 interrupt status

5

IT6

Channel 6 interrupt status

4

IT5

Channel 5 interrupt status

3

IT4

Channel 4 interrupt status

2

IT3

Channel 3 interrupt status

1

IT2

Channel 2 interrupt status

0

IT1

Channel 1 interrupt status

A0020100

GDMA1_SRC

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

DMA channel 1 source address
27

26

25

24

23

00000000

22

21

20

19

18

17

16

SRC
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

SRC
RW
0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

SRC

GDMA source address
This register contains the base or current source address that the
DMA channel is currently operating on.

A0020104

GDMA1_DST

Bit
Nam

30

31

29

28

•

Writing into this register specifies the base address of the
transfer source for a DMA channel.

•

Reading this register will return the address value from which
the DMA is reading.

DMA channel 1 destination address
27

26

25

24

DST

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000
18

17

16

Page 35 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

DST
RW
0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

DST

GDMA destination address
This register contains the base or current destination address that
the DMA channel is currently operating on.

•

Writing into this register specifies the base address of the
transfer destination for a DMA channel.

•

Reading this register will return the address value to which the
DMA is writing.

A0020108

GDMA1_WPPT

DMA channel 1 wrap point address

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

WPPT
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

WPPT

Transfer counts before jump
This register specifies the transfer count required to perform before
the jump point. This can be used to support ring buffer or double
buffer memory access. To enable the wrap function, two control
bits, WPEN and WPSD in the DMA control register must be
programmed. If the transfer counter in the DMA engine matches
this value, an address jump will occur, and the next address will be
the address specified in GDMAn_WPTO. To enable this function,
set up WPEN in GDMAn_CON.
Note, that the total size of data specified in the wrap point count in
a DMA channel is determined by WPPT together with SIZE in
GDMAn_CON, such as WPPT x SIZE.

A002010C

GDMA1_WPTO

Bit
Nam
e
Type
Rese

30

31

29

28

DMA channel 1 wrap to address

27

26

25

24

23

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

WPTO
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 36 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

WPTO
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

WPTO

Jump address
This register specifies the destination address of a given DMA transfer to
support ring buffer or double buffer memory access. To enable the wrap
function, set the two control bits, WPEN and WPSD in the DMA control register.

A0020110

GDMA1_COUNT

DMA channel 1 transfer count

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

COUNT
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

COUNT

Number of transfers
This register specifies the number of transfers of the DMA channel is required to
perform. Upon completion, the DMA channel generates an interrupt request to
the processor while ITEN in GDMAn_CON is set to 1.

•

A0020114

GDMA1_CON

Bit
Nam
e
Type

30

31

29

28

Note that the total size of transfer data is determined by LEN and SIZE in
GDMAn_CON, such as LEN x SIZE.

DMA channel 1 control
27

26

25

24
ITE
N

23

22

21

00000000
20

19

18

17

SETTING

RW

RW
DR
EQ

BURST

Rese
t
Bit
Nam
e
Type
Rese
t

0
15

14

13

12

11

10

9

8

7

6

5

4

0

0

0

0

3

2

1

0

SIZE

DIRECTION

RW

0

16

0

© 2016 - 2017 MediaTek Inc.

WP
EN

WP
SD

0

0

RW
DIN
C
0

SIN
C
0

Page 37 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Name

Description

24

ITEN

Enable DMA transfer completion interrupt

•
•
19:16

9:8

SETTING

1: Enable

[16] Throttle and handshake control for DMA transfer.
The DMA master is able to throttle down the transfer rate by
request-grant handshake process.
[19:18] Transfer type.
The burst-type transfers have better bus efficiency. Apply this type
for larger data movement.
Note that the burst-type transfer will not stop until all of the beats
in a burst are complete or the transfer length is reached. The
transfer type is restricted by SIZE. If SIZE is 00b, i.e. byte transfer,
all four transfer types can be used. If SIZE is 01b (half-word
transfer), 16-beat incrementing burst cannot be used. If SIZE is 10b,
i.e. word transfer, only single and 4-beat incrementing burst can be
used.

•

[16] DREQ: 0, No throttle control during DMA transfer or
transfers occurred only between memories; 1, Hardware
handshake management.

•

[19:18] BURST: 00 = Single; 01 = Reserved; 10 = 4-beat
incrementing burst; 11 = Reserved;

Data size within the confine of a bus cycle per transfer.
These bits confine the data transfer size between the source and
destination to the specified value for individual bus cycle. The size
is in bytes and the maximum value is 4 bytes. It is mainly decided
by the data width of a DMA master.

SIZE

•
•
•
•
3:0

0: Disable

DIRECTION

00: Byte transfer/1 byte
01: Half-word transfer/2 bytes
10: Word transfer/4 bytes
11: Reserved

[0] Incremental source address.
The source addresses increments after each transfer. If SIZE is in
bytes, the source address will increase by 1, if it’s in half-word, it
will increase by 2 and if word, increase by 4.
[1] Incremental destination address.
The destination address increments after each transfer. If SIZE is in
bytes, the destination address will increase by 1, if it’s in half-word,
it will increase by 2 and if word, increase by 4.
[2] Wrap select
The side using address-wrapping function. Only one side of a DMA
channel can activate the address-wrapping function at a time.
[3] Wrap enable
Address-wrapping for ring buffer and double buffer. The next
address of DMA jumps to WRAP TO address when the current
address matches WRAP POINT count.

•
•
•

[0]SINC:0=Disable; 1=Enable
[1]DINC:0=Disable; 1=Enable
[2]WPSD: 0=Address-wrapping on source; 1=Addresswrapping on destination

© 2016 - 2017 MediaTek Inc.

Page 38 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

[3]WPEN: 0=Disable; 1=Enable

A0020118

GDMA1_START

DMA channel 1 start

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

ST
R
RW
0

Bit(s)

Name

Description

15

STR

Start control for a DMA channel
This register controls the activity of a DMA channel. Note, that
prior to setting STR to 1, all the register settings should be
configured. Once STR is set to 1, the hardware will not clear it
automatically no matter the DMA channel accomplishes the DMA
transfer or not. In other words, the value of STR stays at 1
regardless of the completion of the DMA transfer. Therefore, the
software program should reset STR to 0 before restarting another
DMA transfer. If this bit is cleared to 0 when DMA transfer is
active, the software should poll RUNn in DMA_GLBSTA after this
bit is cleared to ensure the current DMA transfer is terminated by
the DMA engine.

•
•

0: The DMA channel is stopped.
1: The DMA channel is started and running.

A002011C

GDMA1_INTSTA

DMA channel 1 interrupt status

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

INT
RW
0

Bit(s)

Name

Description

15

INT

Interrupt status for DMA channel

•
•
A0020120

GDMA1_ACKINT

0: No interrupt request is generated.
1: An interrupt request is pending and waiting for service.

DMA channel 1 interrupt acknowledge 00000000

© 2016 - 2017 MediaTek Inc.

Page 39 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

AC
K
WO
0

Bit(s) Name
15

Description
Interrupt acknowledge for the DMA channel

ACK

•
•

0: No effect
1: Interrupt request is acknowledged and should be
relinquished.

A0020124

GDMA1_RLCT

DMA channel 1 remaining length of
current transfer

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RLCT
RO
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

RLCT

This register is to reflect the remaining length of current
transfer (RLCT).
Note that this value is the transfer count, not the transfer data size.

A0020128

GDMA1_LIMITER

DMA channel 1 bandwidth limiter

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

LIMITER
RW
0

0

© 2016 - 2017 MediaTek Inc.

0

0

0

Page 40 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Name

Description

7:0

LIMITER

Utilization Suppression
This register suppresses the bus utilization of the DMA channel.
From 0 to 255. 0 means no limitation, 255 means totally banned,
and others mean bus access permission every (4 x n) AHB clock.

A0020208

PDMA2_WPPT

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

DMA channel 2 wrap point address
25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

WPPT
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

WPPT

Transfer counts before jump
This register specifies the transfer count required to perform before
the jump point. This can be used to support ring buffer or double
buffer memory access. To enable the wrap function, two control
bits, WPEN and WPSD in the DMA control register must be
programmed. If the transfer counter in the DMA engine matches
this value, an address jump will occur, and the next address will be
the address specified in GDMAn_WPTO. To enable this function,
set up WPEN in GDMAn_CON.
Note, that the total size of data specified in the wrap point count in
a DMA channel is determined by WPPT together with SIZE in
GDMAn_CON, such as WPPT x SIZE.

A002020C PDMA2_WPTO
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

DMA channel 2 wrap to address
27

26

25

24

23

00000000

22

21

20

19

18

17

16

WPTO
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

WPTO
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

WPTO

Jump address
This register specifies the address of the jump destination of a given DMA transfer
to support ring buffer or double buffer memory access. To enable this function, set
the two control bits, WPEN and WPSD in the DMA control register.

© 2016 - 2017 MediaTek Inc.

Page 41 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0020210

PDMA2_COUNT

DMA channel 2 transfer count

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

COUNT
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

COUNT

Number of transfers
This register specifies the number of transfers of the DMA channel is required to
perform. Upon completion, the DMA channel generates an interrupt request to
the processor while ITEN in GDMAn_CON is set to 1.
Note that the total size of transfer data is determined by LEN and SIZE in
GDMAn_CON, such as LEN x SIZE.

A0020214
Bit
Nam
e
Type

PDMA2_CON

31

30

29

28

DMA channel 2 control
27

26

25

24
ITE
N

23

22

00000000
21

20

19

18

17

RW

RW
BURST

Rese
t
Bit
Nam
e
Type

0
15

14

13

12

11

10

9

8

7

6

5

4

SIZE

0

0

0

3

2

1

0

DIRECTION

0

DIR

WP
EN

RW
WP
SD

DIN
C

SIN
C

0

0

0

0

0

Name

Description

24

ITEN

Enable DMA transfer completion interrupt

19:16

SETTING

DR
EQ

0

Bit(s)

•
•

B2
W

0

RW

Rese
t

16

SETTING

0: Disable
1: Enable

[16] Throttle and handshake control for DMA transfer.
The DMA master is able to throttle down the transfer rate by
request-grant handshake process.
[17]Byte to word
Word to byte or byte to word transfer for the applications of
transferring non-word-aligned-address data to word-alignedaddress data. Note that BURST is set to 4-beat burst this function is
enabled, and the SIZE is set to byte.
[19:18] Transfer type.
The burst-type transfers have better bus efficiency. Apply this type

© 2016 - 2017 MediaTek Inc.

Page 42 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
for mass data movement.
Note that the burst-type transfer will not stop until all of the beats
in a burst are complete or the transfer length is reached. The
transfer type is restricted by SIZE. If SIZE is 00b, i.e. byte transfer,
all four transfer types can be used. If SIZE is 01b (half-word
transfer), 16-beat incrementing burst cannot be used. If SIZE is 10b,
i.e. word transfer, only single and 4-beat incrementing burst can be
used.

9:8

•

[16] DREQ: 0, No throttle control during DMA transfer or
transfers occurred only between memories; 1, Hardware
handshake management.

•
•

[17]B2W: 0=Disable; 1=Enable

Data size within the confine of a bus cycle per transfer.
These bits confine the data transfer size between the source and
destination to the specified value for individual bus cycle. The size
is in bytes and the maximum value is 4 bytes. It is mainly decided
by the data width of a DMA master.

SIZE

•
•
•
•
4:0

00: Byte transfer/1 byte
01: Half-word transfer/2 bytes
10: Word transfer/4 bytes
11: Reserved

[0] Incremental source address.
The source addresses increments after each transfer. If SIZE is in
bytes, the source address will increase by 1, if it’s in half-word, it
will increase by 2 and if word, increase by 4.
[1] Incremental destination address.
The destination address increments after each transfer. If SIZE is in
bytes, the destination address will increase by 1, if it’s in half-word,
it will increase by 2 and if word, increase by 4.
[2] Wrap select
The side using address-wrapping function. Only one side of a DMA
channel can activate the address-wrapping function at a time.
[3] Wrap enable
Address-wrapping for ring buffer and double buffer. The next
address of DMA jumps to WRAP TO address when the current
address matches WRAP POINT count.

DIRECTION

A0020218

PDMA2_START

Bit
Nam
e
Type

30

31

[19:18] BURST: 00 = Single; 01 = Reserved; 10 = 4-beat
incrementing burst; 11 = Reserved;

29

28

27

•
•
•

[0]SINC:0=Disable; 1=Enable

•
•

[3]WPEN: 0=Disable; 1=Enable

[1]DINC:0=Disable; 1=Enable
[2]WPSD: 0=Address-wrapping on source; 1=Addresswrapping on destination
[4]DIR: 0=peripheral TX; 1=peripheral RX

DMA channel 2 start
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

00000000
21

20

19

18

17

16

Page 43 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

ST
R
RW
0

Bit(s)

Name

Description

15

STR

Start control for a DMA channel
This register controls the activity of a DMA channel. Note that prior
to setting STR to 1, all the register settings should be configured.
Once STR is set to 1, the hardware will not clear it automatically no
matter the DMA channel accomplishes the DMA transfer or not. In
other words, the value of STR stays at 1 regardless of the completion
of the DMA transfer. Therefore, the software program should reset
STR to 0 before restarting another DMA transfer. If this bit is
cleared to 0 when DMA transfer is active, the software should poll
RUNn in DMA_GLBSTA after this bit is cleared to ensure the
current DMA transfer is terminated by the DMA engine.

•
•

0: The DMA channel is stopped.
1: The DMA channel is started and running.

A002021C

PDMA2_INTSTA

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

DMA channel 2 interrupt status
25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

INT
RW
0

Bit(s)

Name

Description

15

INT

Interrupt status for DMA channel
0: No interrupt request is generated.
1: One interrupt request is pending and waiting for service.

A0020220

PDMA2_ACKINT

DMA channel 2 interrupt acknowledge 00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

AC
K
WO

© 2016 - 2017 MediaTek Inc.

Page 44 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Rese
t

0

Bit(s)

Name

Description

15

ACK

Interrupt acknowledgement for the DMA channel

•
•

0: No effect
1: Interrupt request is acknowledged and should be relinquished.

A0020224

PDMA2_RLCT

DMA channel 2 remaining length of
current transfer

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RLCT
RO
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

RLCT

This register is to reflect the remaining length of current
transfer (RLCT).
Note that this value is transfer count, not the transfer data size.

A0020228

PDMA2_LIMITER

DMA channel 2 bandwidth limiter

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

LIMITER
RW
0

0

0

0

0

Bit(s)

Name

Description

7:0

LIMITER

Utilization Suppression
This register suppresses the bus utilization of the DMA channel.
From 0 to 255. 0 means no limitation, 255 means totally banned,
and others mean bus access permission every (4 x n) AHB clock.

A002022C

PDMA2_PGMADDR

Bit
Nam
e

30

31

29

28

27

DMA channel 2 programmable address 00000000
26

25

24

23

22

21

20

19

18

17

16

PGMADDR

© 2016 - 2017 MediaTek Inc.

Page 45 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

PGMADDR
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

PGMADDR

PDMA programmable address.
The above registers specify the address for a half-size DMA channel.
This address represents the source address if DIR in DMA_CON is
set to 0 and represents the destination address if DIR in
PDMAn_CON is set to 1.

A0020710

VDMA7_COUNT

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

DMA channel 7 transfer count
25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

COUNT
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

COUNT

FIFO threshold
For virtual FIFO DMA, this register is used to configure the RX
threshold and TX threshold. The interrupt is triggered when FIFO
count is larger than or equal to RX threshold in RX path or FIFO
count is less than or equal to TX threshold in TX path.
Note, that the ITEN bit in the VDMAn_CON register shall be set or
no interrupt will be issued. n is from 1 to 16.

A0020714

VDMA7_CON

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type

30

31

15

14

29

13

28

12

DMA channel 7 control
27

11

26

10

25

24
ITE
N

23

22

21

00000000
20

19

18

17

16
DR
EQ

RW

RW

0

0

9

8

7

6

5

4

SIZE

3

2

1

0

DIRECTION

RW

RW
DIR

Rese
t

0

0

© 2016 - 2017 MediaTek Inc.

0

0

0

0

0

Page 46 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Name

Description

24

ITEN

Enable DMA transfer completion interrupt

•
•
16

9:8

1: Enable

Throttle and handshake control for DMA transfer.
The DMA master is able to throttle down the transfer rate by request-grant
handshake.

DREQ

•

0: No throttle control during DMA transfer or transfers occurred only
between memories

•

1: Hardware handshake management

Data size within the confine of a bus cycle per transfer.
These bits confine the data transfer size between the source and destination
to the specified value for individual bus cycle. The size is in terms of byte,
and the maximum value is 4 bytes. It is mainly decided by the data width of
a DMA master.

SIZE

•
•
•
•
4:0

0: Disable

00: Byte transfer/1 byte
01: Half-word transfer/2 bytes
10: Word transfer/4 bytes
11: Reserved

[4]Directions of VDMA transfer
The direction is from the perspective of the DMA masters. WRITE means
reading from master and then writing to the address specified in
VDMAn_PGMADDR, and vice versa. No effect on channel 1.
[4]DIR: 0=peripheral TX; 1=peripheral RX

DIRECTION

A0020718

VDMA7_START

DMA channel 7 start register

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

ST
R
RW
0

Bit(s)

Name

Description

15

STR

Start control for a DMA channel
This register controls the activity of a DMA channel. Note that prior
to setting STR to 1, all the register settings should be configured.
Once STR is set to 1, the hardware will not clear it automatically no
matter the DMA channel accomplishes the DMA transfer or not. In
other words, the value of STR stays at 1 regardless of the completion
of the DMA transfer. Therefore, the software program should reset
STR to 0 before restarting another DMA transfer. If this bit is
cleared to 0 when DMA transfer is active, the software should poll
RUNn in DMA_GLBSTA after this bit is cleared to ensure the
current DMA transfer is terminated by the DMA engine.

© 2016 - 2017 MediaTek Inc.

Page 47 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•
•

0: The DMA channel is stopped.
1: The DMA channel is started and running.

A002071C

VDMA7_INTSTA

DMA channel 7 interrupt status

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

INT
RO
0

Bit(s)

Name

Description

15

INT

Interrupt status for DMA channel

•
•

0: No interrupt request is generated.
1: An interrupt request is pending and waiting for service.

A0020720

VDMA7_ACKINT

DMA channel 7 interrupt acknowledge 00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

AC
K
WO
0

Bit(s)

Name

Description

15

ACK

Interrupt acknowledgement for the DMA channel

•
•

0: No effect
1: Interrupt request is acknowledged and should be relinquished.

A0020728

VDMA7_LIMITER

DMA channel 7 bandwidth limiter

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

LIMITER
RW

© 2016 - 2017 MediaTek Inc.

Page 48 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Rese
t

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

7:0

LIMITER

Utilization Suppression
This register suppresses the bus utilization of the DMA channel.
From 0 to 255. 0 means no limitation, 255 means totally banned,
and others mean request for bus access permission every (4 x n)
AHB clock.

A002072C

VDMA7_PGMADDR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

DMA channel 7 programmable address 00000000
26

25

24

23

22

21

20

19

18

17

16

PGMADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

PGMADDR
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

PGMADDR

VDMA programmable address.
Specifies the address for a half-size DMA channel. This address
indicates that the source address if DIR in DMA_CON is set to 0
and the destination address of DIR in VDMAn_CON is set to 1.

A0020730

VDMA7_WRPTR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

DMA channel 7 write pointer
26

25

24

23

00000000

22

21

20

19

18

17

16

WRPTR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

WRPTR
RO
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

WRPTR

Virtual FIFO write pointer

A0020734

VDMA7_RDPTR

Bit
Nam
e
Type
Rese
t

30

31

29

28

27

DMA channel 7 read pointer
26

25

24

23

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

RDPTR
RO
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 49 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RDPTR
RO
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

RDPTR

Virtual FIFO read pointer

A0020738

VDMA7_FFCNT

DMA channel 7 FIFO count

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

FFCNT
RO
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

FFCNT

Displays the number of data stored in FIFO.

•
•

0: FIFO is empty,
FFCNT = FFSIZE: FIFO is full.

A002073C

VDMA7_FFSTA

DMA channel 7 FIFO status

00000000

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

0
FU
LL

0

Nam
e

AL
T

Type
Rese
t

RO

1
EM
PT
Y
RO

0

0

RO

Bit(s)

Name

Description

2

ALT

Indicates FIFO count is larger than ALTLEN.
DMA issues an alert signal to UART/BRIF to enable UART/BRIF
flow control.
0: Did not reach the alert region
1: Reached the alert region

1

EMPTY

Indicates FIFO is empty
0: Not empty

© 2016 - 2017 MediaTek Inc.

Page 50 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1: Empty
0

Indicates FIFO is full
0: Not full
1: Full

FULL

A0020740

VDMA7_ALTLEN

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

DMA channel 7 alert length
25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

ALTLEN
RW
0

0

0

0

Bit(s)

Name

Description

5:0

ALTLEN

Specifies the alert length of virtual FIFO DMA.
Once the remaining FIFO space is less than ALTLEN, an alert signal
will be issued to UART/BRIF to enable the flow control. Normally,
ALTLEN shall be bigger than 16 for UART/BRIF application.

A0020744

VDMA7_FFSIZE

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

DMA channel 7 FIFO size
25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

FFSIZE
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

FFSIZE

Specifies the FIFO size of virtual FIFO DMA

© 2016 - 2017 MediaTek Inc.

Page 51 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

5.

Universal Asynchronous Receiver/Transmitter

5.1.

Overview

The universal asynchronous receiver transmitter (UART) provides full duplex serial communication channels
between the baseband chipset and external devices.
The UART has both M16C450 and M16550A modes of operation, which are compatible with a range of standard
software drivers. The extensions are designed to be broadly software compatible with M16550A variants, but
certain areas offer no consensus.
The UART supports word lengths from 5 to 8 bits, an optional parity bit and one or two stop bits and is fully
programmable by an 8-bit CPU interface. A 16-bit programmable baud rate generator and an 8-bit scratch register
are included, together with separate transmit and receive FIFOs. Two modem control lines and a diagnostic loopback mode are provided. The UART also includes two DMA handshake lines, indicating when the FIFOs are ready to
transfer data to the CPU.
Note that the UART is designed so that all internal operation is synchronized by the clock signal. This
synchronization results in minor timing differences between the UART and industry standard M16550A device,
which means that the core is not clocked for clock identical to the original device.
After hardware reset, the UART will be in M16C450 mode. Its FIFOs can then be enabled and the UART can enter
M16550A mode. The UART also has further additional functions beyond the M16550A mode. Each of the extended
functions can be selected individually under software control.

5.2.

Features

•

There are three UART channels supporting hardware and software flow control. Each UART has an
individual interrupt source.

•

For transmission, the UART supports word lengths from 5 to 8 bits with an optional parity bit and one or
two stop bits, and baud rate from 110bps to 921,600bps.

•

There are dedicated DMA channels for both TX and RX for each UART.

•

The UART supports auto baud rate detection in RX mode. The recommended baud rate range is from
300bps to 115,200bps.

5.3.

Block diagram

Figure 5.3-1 shows the detailed UART block diagram.

© 2016 - 2017 MediaTek Inc.

Page 52 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Tx Data
Tx Machine

THR

Divisor

Baud
Generator

Tx Data

RSR

Rx Data

Baud

Auto
Baud
Detection

UART
Registers

APB

TSR

CTS

Rx Data
RBR

Rx Machine

RTS
CTS

Modem
Control

RTS

Figure 5.3-1. UART block diagram

5.4.
5.4.1.

Functions
Baud rate generation

The UART contains a programmable baud generator. The baud rate generator divides the input clock by a divisor to
generate a baud clock for data sampling. The baud clock is n times the baud rate where n is a positive integer. The
formula to calculate the baud rate is:
Baud Rate = (Input Clock Frequency) ∕ Divisor ∕ n

The input clock frequency can be either F_FXO_CK or F_FXO_CK/2, the frequency of F_FXO_CK is 26MHz or 20MHz
depending on the type of XO crystal. The divisor is stored in two 8-bit register fields (DLH and DLL) in register DL.
The positive integer n is controlled by HIGHSPEED.SPEED.
•

When HIGHSPEED.SPEED = 0, n = 16 and the data is sampled in the eighth baud clock cycle. When
HIGHSPEED.SPEED = 1, n = 8 and the data is sampled in the fourth baud clock cycle.

•

When HIGHSPEED.SPEED = 2, n = 4 and the data is sampled in the second baud clock cycle.

•

When HIGHSPEED.SPEED = 3, n = SAMPLE_REG.SAMPLE_COUNT+1 and the data is sampled in the
th
(SAMPLE_REG.SAMPLE_POINT) baud clock cycle.

5.4.2.

Data format

The data format of the UART is shown in Figure 5.4-1. One transmission includes 1 start bit; 5, 6, 7 or 8 data bits; 1
optional parity bit; and 1 or 2 stop bits. The start bit is always low, the parity bit can be either odd or even parity,
and the end bit is always high.

© 2016 - 2017 MediaTek Inc.

Page 53 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Start bit

Data

Data

…

Data

Parity

End bit

5~8 bit data

Figure 5.4-1. UART data format

5.4.3.

Transmission

Transmission of the UART includes a TX holding register (THR) and TX shift register (TSR). THR receives data from
Advanced Peripheral Bus (APB) and shifts to TSR. The data in TSR will then be serialized and sent to GeneralPurpose Input/Output (GPIO). In FIFO mode, the THR becomes a 16-byte FIFO.

5.4.4.

Reception

Reception of the UART includes an RX buffer register (RBR) and RX shift register (RSR). RSR receives and
concatenates the serial data bits from GPIO. The data will then be moved from RSR to RBR and ready to be read by
APB. In FIFO mode, the RBR becomes a 32-byte FIFO.

5.4.5.

Direct Memory Access (DMA) mode

The UART supports DMA mode operation only when the FIFOs are enabled (FCR.FIFOE == 1). Set
DMA_CON.TX_DMA_EN and DMA_CON.RX_DMA_EN to 1 to enable DMA mode of transmission and reception,
respectively.

5.4.6.

Hardware flow control

The UART supports RTS/CTS hardware flow control. In transmission mode, the UART will pause transmission if CTS
is asserted, and will resume transmission after CTS is de-asserted. In reception mode, the UART will assert RTS if
one of the following conditions is met:
1) RBR is occupied in non-FIFO mode.
2) The amount of data in RBR is above threshold in FIFO mode or DMA mode.
3) The amount of data in virtual FIFO DMA is above threshold in DMA mode.
4) The system is entering sleep mode.
The UART will de-assert RTS when all of the above conditions are no longer met.

5.4.7.

Software flow control

The UART supports XON/XOFF flow control. In transmission mode, the UART will pause transmission if an XOFF
character is received and will resume transmission after receiving an XON character. In reception mode, the UART
will send an XOFF character if one of the following conditions is met:
1) RBR is occupied in non-FIFO mode.
2) The amount of data in RBR is above threshold in FIFO mode or DMA mode.
3) The amount of data in virtual FIFO DMA is above threshold in DMA mode.
4) The system is entering sleep mode.
The UART will send an XON character when conditions 1, 2, and 3 are no longer valid. However, if the UART sends
an XOFF character due to condition 4, the user should send an XON character manually after wake-up since the
UART is powered down and all settings are cleared in sleep mode.

© 2016 - 2017 MediaTek Inc.

Page 54 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
5.5.

Register mapping

There are three UART interfaces supported in this chipset. The registers below are the same for all UARTs. The only
difference is the base address.
UART number

Base address

Feature

UART0

0xA00C0000

Supports DMA, hardware flow control

UART1

0xA00D0000

Supports DMA, hardware flow control

UART2

0xA00E0000

Supports DMA, hardware flow control

Module name: UART0 Base address: (+a00c0000h)
Address

Name

Width (bits) Register Function

A00C0000

RBR

32

RX buffer register

A00C0004

THR

32

TX holding register

A00C0008

DL

32

Divisor latch

A00C000C

IER

32

Interrupt enable register

A00C0010

IIR

32

Interrupt identification register

A00C0014

FCR

32

FIFO control register

A00C0018

EFR

32

Enhanced feature register

A00C001C

LCR

32

Line control register

A00C0020

MCR

32

Modem control register

A00C0024

XON_XOFF

32

XON & XOFF character

A00C0028

LSR

32

Line status register

A00C002C

SCR

32

Scratch register

A00C0030

AUTOBAUD_CON

32

Auto-baud control register

A00C0034

HIGHSPEED

32

High speed mode register

A00C0038

SAMPLE_REG

32

Sample counter & sample point
register

A00C003C

AUTOBAUD_REG

32

Auto-baud monitor register

A00C0040

RATEFIX

32

Clock rate fix register

A00C0044

GUARD

32

Guard interval register

A00C0048

ESCAPE_REG

32

Escape character register

A00C004C

SLEEP_REG

32

Sleep mode control register

A00C0050

DMA_CON

32

DMA mode control register

A00C0054

RXTRIG

32

RX FIFO trigger threshold

A00C0058

FRACDIV

32

Fractional divisor

A00C005C

RX_TO_CON

32

RX timeout mode control

A00C0060

RX_TOC_DEST

32

RX timeout counter destination value

© 2016 - 2017 MediaTek Inc.

Page 55 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00C0000 RBR
Bit
Name
Type
Reset
Bit
Name
Type
Reset

RX buffer register

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

RBR
RU
0

Bit(s)

Name

Description

7:0

RBR

RX buffer register

A00C0004 THR
Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

0

TX holding register

00000000

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

THR
WO
0

Description

THR

TX holding register

A00C0008 DL

0

0

0

Divisor latch

00000001

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

1

DLM
RW
0

0

0

0

DLL
RW
0

0

0

0

0

Bit(s)

Name

Description

15:8

DLM

Divisor latch [15:8]

7:0

DLL

Divisor latch [7:0]

A00C000C IER
31

30

28

27

26

25

24

CTSI_RTSI

Type
Reset
Bit

RW
0
0
9
8
ELSI_ERB
FI
RW

15

14

0

0

Interrupt enable register
29

Name

Type

0

29

Name

Name

0

30

7:0

Bit

0

31

Bit(s)

Bit
Name
Type
Reset
Bit
Name
Type
Reset

00000000

13

12

11

10

00000000

23

22

21

20

19

18

17

7

6

5

4

3

2

1

© 2016 - 2017 MediaTek Inc.

16
XOF
FI
RW
0
0
ETB
EI
RW

Page 56 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset

0

0

0

Bit(s)

Name

Description

25:24

CTSI_RTSI

CTS & RTS interrupt
Note: This interrupt is only enabled when hardware flow control is
enabled.

16

•

Bit[1] - When a rising edge is detected on the CTS modem
control line:
o 0: No effect
o 1: Interrupt is generated

•

Bit[0] - When a rising edge is detected on the RTS modem
control line:
o 0: No effect
o 1: Interrupt is generated

XOFF interrupt
Note: This interrupt is only enabled when software flow control is
enabled.

XOFFI

•

When an XOFF character is received:
o 0: No effect
o 1: Interrupt is generated

9:8

ELSI_ERBFI

RX interrupt
Bit[1] - When BI, FE, PE, or OE becomes set:
0: No effect
1: Interrupt is generated
Bit[0] - When RX buffer register is full or RX FIFO threshold is
reached:
0: No effect
1: Interrupt is generated

0

ETBEI

TX interrupt

•

A00C0010
Bit
Name
Type
Reset
Bit
Name
Type
Reset

IIR

When TX holding register is empty or TX FIFO threshold is
reached:
o 0: No effect
o 1: Interrupt is generated

Interrupt identification register

00000001

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

1

ID
RU
0

0

0

Bit(s)

Name

Description

5:0

ID

IIR[5:0] Priority Interrupt source
000001
No pending interrupt
000110
1
Line Status Interrupt: BI, FE, PE, or OE set in
LSR

© 2016 - 2017 MediaTek Inc.

Page 57 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
001100
000100
000010

2
3
4

RX data timeout
RX data received or RX trigger level reached
TX holding register is empty or TX trigger level
reached
010000
5
Software flow control: received XOFF
100000
6
Hardware flow control: CTS or RTS rising
edge
Line status interrupt:
RX line status interrupt is generated, if IER [9] and any of BI, FE, PE or OE (LSR
[4:1]) are set. The interrupt is cleared by reading the LSR register.
RX data timeout interrupt:
(RX_TO_MODE = 0)
When RX DMA mode is disabled, RX data timeout interrupt is generated, if the
following conditions apply:
•

FIFO is not empty.

•

No data is received for four transmission periods

•

FIFO is not read by the CPU for four transmission periods.

The timeout timer restarts upon receipt of a new byte from the RX shift register or
upon a CPU read from the RX FIFO. The RX data timeout interrupt is enabled by
setting IER[8] to 1 and RX_TO_MODE to 0, and is cleared by reading RX FIFO.
When RX DMA mode is enabled, RX data timeout interrupt is generated, if the
following conditions apply:
•

FIFO is empty.

•

The most recent character is received longer than four character periods ago
(including all start, parity and stop bits).

The timeout timer restarts upon receipt of a new byte from the RX shift register or
reading the DMA_CON register. The RX data timeout interrupt is enabled by setting
IER[8] to 1 and RX_TO_MODE to 0, and is cleared by reading the DMA_CON
register.
(RX_TO_MODE = 1)
When RX DMA mode is disabled, RX data timeout interrupt is generated, if the
following conditions apply:
•

FIFO is not empty.

•

No data is received for a certain period (defined by RX_TOC_DEST).

•

FIFO is not read by the CPU for a certain period (defined by RX_TOC_DEST).

The timeout timer restarts upon receipt of a new byte from the RX shift register or
upon a CPU read from the RX FIFO. The RX data timeout interrupt is enabled by
setting IER[8] to 1 and RX_TO_MODE to 1, and is cleared by reading RX FIFO.
When RX DMA mode is enabled, RX data timeout interrupt is generated, if the
following conditions apply:
•

FIFO is empty.

•

The most recent character is received longer than a certain period ago (defined by
RX_TOC_DEST).

© 2016 - 2017 MediaTek Inc.

Page 58 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
The timeout timer restarts upon receipt of a new byte from the RX shift register or
reading the DMA_CON register. The RX data timeout interrupt is enabled by setting
IER[8] to 1 and RX_TO_MODE to 1, and is cleared by reading the DMA_CON
register.
RX data received an interrupt:
RX data received an interrupt is generated if IER[8] is set and either RX data are
placed in the RX buffer register or the RX trigger level is reached. The interrupt is
cleared by reading the RX buffer register or the RX FIFO (if enabled).
TX holding register empty interrupt:
A TX holding register empty interrupt is generated, if IER[0] is set and either the TX
holding register is empty or the contents of the TX FIFO are reduced to its trigger
level. The interrupt is cleared by writing to the TX holding register or TX FIFO (if
enabled).
Software flow control interrupt:
A software flow control interrupt is generated, if the software flow control is enabled
and XOFFI (IER[16]) is set, indicating that an XOFF character has been received. The
interrupt is cleared by reading the IIR register.
Hardware flow control interrupt:
A hardware flow control interrupt is generated, if the hardware flow control is enabled
and either IER[24] or IER[25] is set indicating that a rising edge has been detected on
RTS or CTS modem control line. The interrupt is cleared by reading the IIR register.

A00C0014
Bit
Name
Type
Reset
Bit

FCR

31

30

FIFO control register
29

28

27

26

25

24

15

14

21

20

19

18

17

13

12

11

10

WO

WO

9

8

0
7

6

5

4

3

2

1

RW
0

0

0

0

Bit(s)

Name

Description

24

CLRT

Clear TX FIFO

•
•

16
CLRR

RFTL_TFTL

Type
Reset

0
FIFO
E
RW
0

0: No effect
1: Clear

Clear RX FIFO

CLRR

•
•
11:8

22

CLRT
0

Name

16

23

00000000

RFTL_TFTL

0: No effect
1: Clear

RX & TX FIFO trigger threshold

•

Bit[3:2] - RX FIFO threshold (total 32 bytes):
o 00: 1
o 01: 6
o 10: 12

© 2016 - 2017 MediaTek Inc.

Page 59 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
o

•

0

Bit[1:0] - TX FIFO threshold (total 16 bytes):
o 00: 1
o 01: 4
o 10: 8
o 11: 14

Enable RX & TX FIFOs

FIFOE

•
•
A00C0018
Bit

11: Use RXTRIG register value

EFR

31

30

0: Disable
1: Enable

Enhanced feature register
29

28

27

26

25

24

Name

SEND
_XON

Type
Reset
Bit

WO

00000000

23

22

21

20

19

18

7

6

5

4

3

2

17

0
15

14

13

Name
Type
Reset

12

11

10

9
8
HW_FLOW
_CONT
RW
0

0
1
0
SW_FLOW
_CONT
RW

0

Bit(s)

Name

Description

24

SEND_XON

Send XON

16
SEND
_XOF
F
WO

0

0

Note: effective only when TX software flow control is disabled
0: No effect
1: Auto send one XON character
16

SEND_XOFF

Send XOFF
Note: effective only when TX software flow control is disabled
0: No effect
1: Auto send one XOFF character

9:8

HW_FLOW_CONT

Hardware flow control
Bit[1] - TX hardware flow control:
0: Disable TX flow control
1: Enable TX to receive CTS
Bit[0] - RX hardware flow control:
0: Disable RX flow control
1: Enable RX to send RTS

1:0

SW_FLOW_CONT

Software flow control
Bit[1] - TX software flow control:
0: Disable TX flow control
1: Transmit XON/XOFF as flow control byte
Bit[0] - RX software flow control:
0: Disable RX flow control
1: Receive XON/XOFF as flow control byte

© 2016 - 2017 MediaTek Inc.

Page 60 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00C001C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

LCR

Line control register

00000020

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

SB

PAR_STB_WLS

RW

RW

0

Bit(s)

Name

Description

8

SB

Set break

1

0

0

0

0: No effect
1: TX signal is forced to 0
5:0

Parity, stop bits, & word length setting

PAR_STB_WLS

Bit[5:3] - Parity type:
000: Even parity
001: Odd parity
010: Parity is forced to 0
011: Parity is forced to 1
100: No parity
Bit[2] - Number of stop bits:
0: 1 stop bit
1: 2 stop bits (effective only when word length > 5 bits)
Bit[1:0] - Word length:
00: 5 bits
01: 6 bits
10: 7 bits
11: 8 bits

A00C0020 MCR
Bit

Modem control register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Name
Type
Reset
Bit
Name
Type
Reset

16
XOFF
_STA
TUS
RU
0
0

LOOP

RTS

RW

RW

0

0

Bit(s)

Name

Description

16

XOFF_STATUS

XOFF status
0: No XOFF character is received
1: A XOFF character is received

8

LOOP

Enable loop-back mode, i.e. connect TX to RX

© 2016 - 2017 MediaTek Inc.

Page 61 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Note: HW flow control will be disabled in loop-back mode
0: Disable
1: Enable
0

RTS state

RTS

0: RTS is always 1
1: RTS value will be decided by hardware flow control

A00C0024 XON_XOFF
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

15

14

13

0

0

0

XON & XOFF character

00000000

28

27

26

25

24

23

22

21

12

11

10

9

8

7

6

5

XON_CHAR
RW
0
0

0

0

0

0

0

0

20

19

18

17

16

4

3

2

1

0

0

0

0

XOFF_CHAR
RW
0
0

Bit(s)

Name

Description

15:8

XON_CHAR

XON character for software flow control

7:0

XOFF_CHAR

XOFF character for software flow control

A00C0028 LSR
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Line status register

00000060

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

LSR
RU
0

Bit(s)

Name

Description

7:0

LSR

Line status register

1

1

0

Bit[7] - RX FIFO error:
0: No PE, FE, and BI in the RX FIFO
1: At least one of PE, FE, or BI in the RX FIFO
Bit[6] - TX holding register/TX FIFO and TX shift register are
empty:
0: Empty conditions below are not met.
1: Set whenever the TX FIFO and the TX shift register are empty
(FIFOs are enabled), or TX holding register and TX shift register
are empty (FIFOs are disabled).
Bit[5] - TX holding register is empty or TX FIFO is below threshold:
0: Reset whenever the contents of the TX FIFO are above threshold
(FIFOs are enabled), or TX holding register is not empty (FIFOs are
disabled).
1: Set whenever the contents of the TX FIFO are below threshold
(FIFOs are enabled), or TX holding register is empty and ready to

© 2016 - 2017 MediaTek Inc.

Page 62 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
accept new data (FIFOs are disabled).
Bit[4] - Break interrupt (BI):
0: Reset by CPU reading this register.
1: Set if the RX is held in 0 state for more than one transmission
time (START bit + DATA bits + PARITY + STOP bits).
Bit[3] - Framing error (FE):
0: Reset by CPU reading this register.
1: Set if the received data does not have a valid STOP bit.
Bit[2] - Parity error (PE):
0: Reset by CPU reading this register.
1: Set if the received data do not have a valid parity bit.
Bit[1] - Overrun error (OE):
0: Reset by CPU reading this register.
1: Set if the RX buffer register is overwritten (FIFOs are disabled),
or both RX FIFO and RX shift register is full (FIFOs are enabled).
Note, that if OE occurs and UART is still receiving data in FIFO
mode, the data in the FIFO will be keep but the RX shifter register
will be overwritten.
Bit[0] - Data ready (DR):
0: Reset by CPU reading the RX buffer or by reading all the FIFO
bytes.
1: Set if the RX buffer register or FIFO is not empty.

A00C002C SCR
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Scratch register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

x

x

x

x

SCR
RW
x

x

x

x

Bit(s)

Name

Description

7:0

SCR

General purpose read/write register
Note: This register will not be reset

A00C0030 AUTOBAUD_CON
Bit

Autobaud control register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8
AUTO
BAUD

7

6

5

4

3

2

1

Name
Type
Reset
Bit
Name

16
AUTO
BAU
D_SL
EEP_
ACK
RW
0

© 2016 - 2017 MediaTek Inc.

0
AUTO
BAU

Page 63 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset

_SEL
RW

D_EN
RW

0

0

Bit(s)

Name

Description

16

AUTOBAUD_SLEEP_ACK

Enable auto-baud sleep acknowledgment
Note: effective only when auto-baud is enabled
0: Enable
1: Disable

8

Auto-baud mode

AUTOBAUD_SEL

0: Support standard baud rate
1: Support non-standard baud rate (from 300 to 115200 Hz)
0

Enable auto-baud

AUTOBAUD_EN

0: Disable
1: Enable

A00C0034 HIGHSPEED
Bit
Name
Type
Reset
Bit
Name
Type
Reset

High speed mode register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SPEED
RW
0

Bit(s)

Name

Description

1:0

SPEED

Sample counter period

0

0: 16*(baud pulse)
1: 8*(baud pulse)
2: 4*(baud pulse)
3: (SAMPLE_REG.SAMPLE_COUNT+1)*(baud pulse)
Note: Baud rate = system clock frequency/speed/DL

A00C0038 SAMPLE_REG
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Sample counter & sample point
register

0000FF00

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

SAMPLE_POINT
RW
1
1
1
1

0

SAMPLE_COUNT
RW
0
0
0
0

0

0

1

1

1

Bit(s)

Name

Description

15:8

SAMPLE_POINT

Sample point

0

© 2016 - 2017 MediaTek Inc.

Page 64 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Note: Usually (SAMPLE_COUNT-1)/2 without decimal. Effective
only when SPEED = 3
7:0

Sample counter

SAMPLE_COUNT

Note: Effective only when SPEED = 3

A00C003C AUTOBAUD_REG
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

15

14

13

12

11

Autobaud monitor register

00000000

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

3

BAUD_STAT

18

17

16

2

1

0

BAUD_RATE

RU
0

0

RU
0

0

Bit(s)

Name

Description

11:8

BAUD_STAT

Auto-baud state

0

0

0

19

18

0

0: Detecting
1: AT_7N1
2: AT_7O1
3: AT_7E1
4: AT_8N1
5: AT_8O1
6: AT_8E1
7: at_7N1
8: at_7E1
9: at_7O1
10: at_8N1
11: at_8E1
12: at_8O1
13: Detection fail
3:0

Auto-baud rate

BAUD_RATE

0: 115,200
1: 57,600
2: 38,400
3: 19,200
4: 9,600
5: 4,800
6: 2,400
7: 1,200
8: 300

A00C0040 RATEFIX
Bit

31

30

29

Clock rate fix register
28

27

26

25

24

23

22

0000000D
21

20

17

Name

© 2016 - 2017 MediaTek Inc.

16
RATE
FIX

Page 65 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit

RW
0
15

14

13

12

11

10

9

Name
Type
Reset

8
AUTO
BAUD
_RAT
EFIX
RW

7

6

5

4

3

2

1

0

AUTOBAUD_SAMPLE
RW

0

0

Bit(s)

Name

Description

16

RATEFIX

System clock rate for TX/RX

0

1

1

0

1

0: 26MHz / 20MHz
1: 13MHz / 10MHz
8

System clock rate for auto-baud detection

AUTOBAUD_RATEFIX

0: 26MHz / 20MHz
1: 13MHz / 10MHz
5:0

Clock division for auto-baud detection
If AUTOBAUD_CON.AUTOBAUD_SEL = 0
AUTOBAUD_RATE_FIX = 0: 0xd
AUTOBAUD_RATE_FIX = 1: 0x6
If AUTOBAUD_CON.AUTOBAUD_SEL = 1

AUTOBAUD_SAMPLE

{ RATE_FIX, AUTOBAUD_RATEFIX } = { 0, 0 }: 0xf
{ RATE_FIX, AUTOBAUD_RATEFIX } = { 0, 1 }: 0x7
{ RATE_FIX, AUTOBAUD_RATEFIX } = { 1, 0 }: 0x1f
{ RATE_FIX, AUTOBAUD_RATEFIX } = { 1, 1 }: 0xf

A00C0044 GUARD
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Guard interval register

0000000F

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

1

1

GUARD
RW
0

Bit(s)

Name

Description

4:0

GUARD

Guard interval setting

1

1

Bit[4] - Enable guard interval:
0: No guard interval
1: Add guard interval after stop bit
Bit[3:0] - Guard interval count value:

A00C0048 ESCAPE_REG
Bit
Name

31

30

29

28

Escape character register
27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

000000FF
20

19

18

17

16

Page 66 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit

15

14

13

12

11

10

9

Name
Type
Reset

8
ESC_
EN
RW

7

0

1

6

5

4

3

2

1

0

1

1

ESC_CHAR
RW
1

Bit(s)

Name

Description

8

ESC_EN

Enable escape character

1

1

1

1

0: Disable
1: Enable
7:0

Escape character setting

ESC_CHAR

A00C004C SLEEP_REG
Bit
Name
Type
Reset
Bit

Sleep mode control register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
SLEE
P_EN
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

SLEEP_EN

For sleep mode issue
0: No active flow control when the chip enters sleep mode.
1: Active hardware flow control (assert RTS) or software flow
control (send XOFF) when the chip enters sleep mode. Release
hardware flow control (de-assert RTS) when the chip wakes up.
However, for software control, XON should be sent manually when
awakened (can use the SEND_XON register).

A00C0050 DMA_CON
Bit

31

30

29

DMA mode control register

28

27

26

25

24

23

22

21

00000000
20

19

18

17

Name
Type
Reset
Bit

16
FIFO
_LSR
_SEL
RW
0

15

14

13

Name
Type
Reset

12

11

10

9

8
TX_D
MA_
EN
RW

7

6

5

4

3

2

1

0

Bit(s)

Name

Description

16

FIFO_LSR_SEL

FIFO LSR mode

© 2016 - 2017 MediaTek Inc.

0
RX_
DMA
_EN
RW
0

Page 67 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0: LSR holds the first line status error state until the LSR register is
read.
1: LSR updates automatically
8

Enable TX DMA mode

TX_DMA_EN

0: Disable
1: Enable
0

Enable RX DMA mode

RX_DMA_EN

0: Disable
1: Enable

A00C0054 RXTRIG
Bit
Name
Type
Reset
Bit
Name
Type
Reset

RX FIFO trigger threshold

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

RXTRIG
RW
0

Bit(s)

Name

Description

3:0

RXTRIG

RX FIFO trigger threshold

0

0

0

Note: effective only when RFTL = 3

A00C0058 FRACDIV
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Fractional divisor

00000000

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

21

20

19

18

17

16

5

4

3

2

1

0

0

0

0

0

FRACDIV
RW
0

0

0

Bit(s)

Name

Description

9:0

FRACDIV

Fractional divisor

0

0

0

Note: effective only when SPEED = 3. Add sampling count (+1) for
corresponding data bit

A00C005C RX_TO_CON
Bit
Name
Type
Reset
Bit
Name

RX timeout mode control

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
TO_C
NT_A
UTOR
ST

7

6

5

4

3

2

1

0

© 2016 - 2017 MediaTek Inc.

RX_T
O_M
ODE

Page 68 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset

RW

RW

0

0

Bit(s)

Name

Description

8

TO_CNT_AUTORST

Time-out counter auto reset

0

•

0: Reset the RX timeout interrupt manually (see IIR for
detailed information)

•

1: RX timeout counter is reset automatically

RX timeout mode

RX_TO_MODE

•
•

A00C0060 RX_TOC_DEST
Bit
Name
Type
Reset
Bit
Name
Type
Reset

0: Timeout when RX idle for 4 characters
1: Timeout when RX idle for a certain period of time (defined
by RX_TOC_DEST)

RX timeout counter destination value

0000FFFF

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

RX_TOC_DEST
RW
1
1
1
1

1

1

1

1

1

1

1

1

1

1

1

1

Bit(s)

Name

Description

15:0

RX_TOC_DEST

RX timeout counter destination value
Note: effective only when RX_TO_CON[0] = 1

© 2016 - 2017 MediaTek Inc.

Page 69 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

6.

Serial Peripheral Interface Master Controller

The Serial Peripheral Interface (SPI) is a bit-serial transmission protocol. MT7686 supports single mode (four-pin),
dual mode (four-pin) and quad mode (six-pin) for increased data throughput. The maximum serial clock (SCK)
frequency is 48MHz. Note that the single mode can support full duplex, but dual quad mode only supports halfduplex. Figure 5.5-1 is an example of the connection between the SPI master and SPI slave. The SPI controller is a
master responsible for data transmission with slave.
Single SPI
CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Master

Dual SPI
CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Slave

SPI
Master

CS
SCK
SIO0
SIO1
SIO2
SIO3

Quad SPI
CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Slave

SPI
Master

CS
SCK
SIO0
SIO1
SIO2
SIO3

CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Slave

Figure 5.5-1. Pin connection between SPI master and SPI slave
Table 5.5-1. SPI master controller interface
Signal name

Type

Default value

Description

CS

O

1 (output)

Low active chip selection signal

SCK

O

0 (output)

The (bit) serial clock (Max SCK clock rate is 48MHz)

SIO0

I/O

1 (output)

Data signal 0

SIO1

I/O

pull down (input)

Data signal 1

SIO2

I/O

1 (output)

Data signal 2

SIO3

I/O

1 (output)

Data signal 3

6.1.

Features

•

The SPI master controller supports single mode (four-pin), dual mode (four-pin) and quad mode (six-pin).
The controller can automatically set port direction for data input/output if registers SPIM_TYPE and
SPIM_RW_MODE are already set.

•

The SCK frequency supports maximum 48MHz with CPOL and CPHA features and can be configured as
17
96/N MHz (where N is from 2 to 2 ) for different applications. CPOL defines the clock polarity in the
transmission. CPHA defines the legal timing to sample data. The chip select (CS) signal setup time, hold
time and idle time can be configured, too. The detailed timing diagram of the SCK and CS signals is shown
in Figure 6.1-1.

•

There are two configurable modes for the source of the transfer data:
o

DMA mode, the SPI master controller includes the DMA design, it can automatically read or write
data from memory continuously;

o

Direct mode, the CPU directly reads data from the SPI master controller FIFO or writes data to the SPI
master controller FIFO. In DMA mode, the endian order of memory data is adjustable.

© 2016 - 2017 MediaTek Inc.

Page 70 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
CS idle time
Data Transmission

CS

CS setup time

CS hold time

SCK
(CPOL=0)

SCK Edge
Number

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

SCK
(CPOL=1)

SAMPLE Input data
(CPHA=0)

SAMPLE Input data
(CPHA=1)

Figure 6.1-1. SPI transmission formats
•

Unlimited length for transmission can be achieved in Pause mode. In Pause mode, the CS signal will stay
active (low) after the transmission. During this period, the SPI controller will be in PAUSE_IDLE state,
ready to receive the resume command. Figure 6.1-2 is the state transition diagram.
activate
IDLE

! (pause)

BUSY
pause

PAUSE IDLE
resume

Figure 6.1-2. Operation flow with or without PAUSE mode
•

A configurable option to control CS de-assertion between byte transfers is available. The SPI master
controller supports a special transmission format called CS de-assert mode. Figure 6.1-3 illustrates the
waveform in this transmission format.

CS

SCK

BYTE

BYTE

...

BYTE

BYTE

BYTE

Figure 6.1-3. CS de-assert mode
•

When the SPI master controller operates in dual or quad mode, the transmission package includes three
parts: command phase, dummy phase and data phase.
o

Command phase always operates at Single mode;

o

Dummy phase cannot transmit or receive data;

o

Data phase operation depends on SPIM_TYPE and SPIM_RW_MODE settings. The Command
phase and Dummy phase are useful for special applications, such as read or write serial flash data.

© 2016 - 2017 MediaTek Inc.

Page 71 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

For high-speed transmission, the SPI master controller can enable the delay sample feature (registers
SPIM_GET_DLY and SAMPLE_SEL) to resolve data path latency issues. The critical path of SPI
transmission includes two parts:
o

Master transmits SCK signal to slave;

o

Slave feeds back SIO data to master. Each interval of sample delay is 10.42 ns, and SAMPLE_SEL
defines the trigger edge of sample clock, such as, if 0 - positive edge sample data; 1 - negative edge
sample data. The detailed description is shown in Figure 6.1-4.

Figure 6.1-4. SPI master controller delay sample

Block diagram
spi_state_ctrl

AHB
memory

dma_engine

FIFO

CS

TX_FIFO
(32 bytes)

SCK
I
rP
S
e
t
s
a
_
m

APB

SIO[0:3]

miso
apb_regif

CPU

mosi
x
u
m
O
I
P
G

spi_engine

_

SIO_oe

DMA mode

D
A
O
P
R
C
A
_
M

6.2.

RX_FIFO
(32 bytes)

Direct mode

Figure 6.2-1. Block diagram of SPI master controller

6.3.
•

Functions
SPI master single mode. Typical SPI transmission mode is single SPI, a 4-pin protocol. Set the register
SPIM_TYPE to 0 to enter single mode. In this mode, the register settings for SPIM_RW_MODE,
SPIM_DUMMY_CNT and SPIM_COMMAND_CNT are not supported. The single mode data
transmission diagram is shown in Figure 6.3-1.
© 2016 - 2017 MediaTek Inc.

Page 72 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Figure 6.3-1. SPI master single mode
•

SPI master dual mode. The dual mode SPI is also a 4-pin protocol. Set the register SPIM_TYPE to 1 to
enter this mode. In dual mode, the SPI master controller only supports half duplex, and the data
transmission direction is configured by register SPIM_RW_MODE (0: read data, 1: write data). The
registers SPIM_DUMMY_CNT, SPIM_COMMAND_CNT can be activated with user configuration. In
addition, SPIM_DUMMY_CNT and SPIM_COMMAND_CNT can be set to 0 to disable these features.
The dual mode data transmission diagram is shown in Figure 6.3-2 and Figure 6.3-3.

Figure 6.3-2. SPI master dual mode write data

Figure 6.3-3. SPI master dual mode read data
•

SPI master quad mode. The quad mode SPI is a 6-pin protocol. Set the register SPIM_TYPE to 2 to enter
this mode. Similar to dual mode, in quad mode, the SPI master controller only supports half duplex, and
the data transmission direction is configured by register SPIM_RW_MODE (0: read data, 1: write data).
The registers SPIM_DUMMY_CNT, SPIM_COMMAND_CNT can also be activated. The quad mode
data transmission diagram is shown in Figure 6.3-4 and Figure 6.3-5.

Figure 6.3-4. SPI master quad mode write data

© 2016 - 2017 MediaTek Inc.

Page 73 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Figure 6.3-5. SPI master quad mode read data

6.4.

Register mapping

Module name: SPI_MASTER Base address: (+A00A0000h)
Address

Name

Width

Register Function

A00A0000 SPIMST_CTRL0

32

SPI Master Control 0 Register

A00A0004 SPIMST_CTRL1

32

SPI Master Control 1 Register

A00A0008 SPIMST_TRIG

32

SPI Master Trigger Register

A00A000C SPIMST_IE

32

SPI Master Interrupt Enable

A00A0010 SPIMST_INT

32

SPI Master Interrupt

A00A0014 SPIMST_STA

32

SPI Master Status

A00A0018 SPIMST_TX_DATA

32

SPI Master TX Data

A00A001C SPIMST_RX_DATA

32

SPI Master RX Data

A00A0020 SPIMST_TX_SRC

32

SPI Master TX Source Address Register

A00A0024 SPIMST_RX_DST

32

SPI Master RX Destination Address Register

A00A0028 SPIMST_CFG0

32

SPI Master Configuration 0 Register

A00A002C SPIMST_CFG1

32

SPI Master Configuration 1 Register

A00A0030 SPIMST_CFG2

32

SPI Master Configuration 2 Register

A00A0034 SPIMST_CFG3

32

SPI Master Configuration 3 Register

A00A0038 SPIMST_DLYSEL0

32

SPI Master Delay Select 0 Register

A00A003C SPIMST_DLYSEL1

32

SPI Master Delay Select 1 Register

A00A0040 SPIMST_DLYSEL2

32

SPI Master Delay Select 2 Register

A00A000

SPIMST_CTR

0
Bit

SPI Master Control 0 Register

L0

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Name
Type
Reset
Bit

© 2016 - 2017 MediaTek Inc.

16

SPI
M_
PA
US
E_
EN
RW
0

0

Page 74 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00A000

SPIMST_CTR

0

SPI Master Control 0 Register

L0

SPI
M_
DE
ASS
ER
T_E
N
RW
0

Name

Type
Reset

00000000

SPIM_CTRL0

0

0

0

RW
0

0

0

Bit(s)

Name

Description

16

SPIM_PAUSE_EN

Pause mode enable
Set the pause mode bit to 1 to enable this mode.

8

SPIM_DEASSERT_EN

De-assert mode enable
Enable bit of the chip select de-assertion mode. Set it to1 to enable this mode.

6:0

SPIM_CTRL0

SPI master general configure set 0

A00A000

•

[6]: SPIM_RW_MODE, indicates SPI master received/sent data, only used
in Dual/Quad SPI (SPIM_TYPE = 1 or 2).
o 0: Read mode, SPI master receive data
o 1: Write mode, SPI master send data

•

[5:4]: SPIM_TYPE, indicates the SPI data transmission type
o 0: Single SPI
o 1: Dual SPI
o 2: Quad SPI
o 3: Not used

•

[3]: RXMSBF, indicates the RX data received is MSB first or not. Set
RXMSBF to 1 for MSB first, otherwise set it to 0.

•

[2]: TXMSBF, indicates the TX data sent is MSB first or not. Set TXMSBF
to 1 for MSB first, otherwise set it to 0.

•

[1]: CPOL, control bit of the SCK polarity.
o 0: CPOL = 0
o 1: CPOL = 1

•

[0]: CPHA, control bit of the SCK sample data phase.
o 0: CPHA = 0
o 1: CPHA = 1

SPIMST_CTR

4

SPI Master Control 1 Register

L1
Bit

31

30

29

28

27

15

14

13

12

11

26

25

10

9

Name
Type
Reset
Bit
Name
Type

0

00000000

24

23

22

21

20

19

8

7

6

5

4

3

SPI
M_
RX
DM
A_
EN
RW
0

SPIM_GET_DLY
RW

© 2016 - 2017 MediaTek Inc.

18

17

2

1

SPIM_CTRL1
RW

16

SPI
M_
TX
DM
A_
EN
RW
0

0

Page 75 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00A000

SPIMST_CTR

4

SPI Master Control 1 Register

L1

Reset

0

0

00000000

0

0

0

0

Bit(s)

Name

Description

24

SPIM_RXDMA_EN

RX DMA enable
DMA mode enable bit of the data being received. Default (0) is not to enable.

16

SPIM_TXDMA_EN

TX DMA enable
DMA mode enable bit of the data to be transmitted. Default (0) is not to enable.

10:8

SPIM_GET_DLY

Receive data get delay
If the latency of the signal that SPI master received is too large, the register can
help to tolerate get_tick timing. The timing is CLK_PERIOD (10.42ns) *
SPIM_GET_DLY.

3:0

SPIM_CTRL1

SPI master general configure set 1

A00A000

•

[3]: RX_ENDIAN, defines whether to reverse the endian order of the data
DMA to memory. Default (0) is not to reverse.
o 0: RX data format is data[31:0]
o 1: RX data format is {data[7:0], data[15:8], data[23:16], data[31:24]}

•

[2]: TX_ENDIAN, defines whether to reverse the endian order of the data
DMA from memory. Default (0) is not to reverse.
o 0: TX data format is data[31:0]
o 1: TX data format is {data[7:0], data[15:8], data[23:16], data[31:24]}

•

[1]: CS_POL, control bit of chip select polarity
o 0: Active low
o 1: Active high

•

[0]: SAMPLE_SEL, control bit of sample edge of RX data
o 0: Positive edge
o 1: Negative edge

SPIMST_TRI

8

SPI Master Trigger Register

G
Bit

31

30

29

28

27

26

25

15

14

13

12

11

10

9

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

Name
Type
Reset
Bit
Name

SPI
M_
RE
SU
ME

Type
Reset

WO
0

Bit(s)

Name

Description

16

SPIM_RST

Reset

© 2016 - 2017 MediaTek Inc.

0

16

SPI
M_
RS
T
WO
0

0

SPI
M_
CM
D_
AC
T
WO
0

Page 76 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Software reset bit; resets the state machine and data FIFO of SPI master controller
(not the register value). When this bit is 1, software reset is active high and
hardware can automatically return to 0. The default value is 0.
8

SPIM_RESUME

Resume
This bit is used when the controller is in PAUSE IDLE state. Write 1 to this bit to
trigger the SPI controller resume transfer from PAUSE IDLE state.

0

SPIM_CMD_ACT

Command activate
Write 1 to this bit to trigger the SPI master controller to start the transmission.

A00A000

SPIMST_IE

C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master Interrupt Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

Name

Description

1:0

SPIM_IE

SPI master interrupt source enable
[1]: PAUSE_IE, interrupt enable bit of pause flag in SPI status register.
[0]: FINISH_IE, interrupt enable bit of finish flag in SPI status register.

SPIMST_INT

0
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master Interrupt

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

Name

Description

1:0

SPIM_INT

SPI master interrupt source

1

0

00000000

31

Bit(s)

16

SPIM_IE
RW
0
0

Bit(s)

A00A001

17

17

16

1

0

SPIM_INT
RC
0
0

•

[1]: PAUSE_INT, interrupt status bit in pause mode. It will be set by the SPI
controller when it completes the transaction, entering the PAUSE IDLE state.

•

[0]: FINISH_INT, interrupt status bit in non-pause mode. It will be set by the
SPI controller when it completes the transaction, entering the IDLE state.

A00A0014

SPIMST_STA

Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

SPI Master Status

00000000

Name

© 2016 - 2017 MediaTek Inc.

16

0

SPI
M_
BU

Page 77 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00A0014

SPIMST_STA

SPI Master Status

00000000
SY
RO
0

Type
Reset
Bit(s)

Name

Description

0

SPIM_BUSY

SPI master status
This status flag reflects whether the SPI controller is busy. This bit is high active,
i.e. 1 represents the SPI controller is currently busy. The state diagram is shown in
Figure 6.1-2. Operation flow with or without PAUSE modeFigure 6.1-2.

•
•

1'b0: idle

SPIMST_TX_

A00A0018
Bit
Name
Type
Reset
Bit
Name
Type
Reset

1'b1: busy

SPI Master TX Data

DATA

31

30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIM_TX_DATA[31:16]
WO
0
0
0
0

0

0

0

0

0

0

SPIM_TX_DATA[15:0]
WO
0
0
0
0

0

0

0

0

0

00000000

21
0

20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

SPIM_TX_DATA

TX data
The depth of the TX FIFO is 32 bytes. Write to this register to write 4 bytes into TX
FIFO. The TX FIFO pointer will automatically move toward to the next four bytes.

A00A001

SPIMST_RX_

C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master RX Data

DATA
31

30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIM_RX_DATA[31:16]
RO
0
0
0
0

0

0

0

0

0

0

SPIM_RX_DATA[15:0]
RO
0
0
0
0

0

0

0

0

0

00000000

21
0

20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

SPIM_RX_DATA

RX data
The depth of the RX FIFO is 32 bytes. Read from this register to read 4 bytes from
the RX FIFO. The RX FIFO pointer will automatically move toward to the next
four bytes.

A00A002

SPIMST_TX_

0
Bit

SPI Master TX Source Address Register

SRC
31

30

29

28

27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

00000000
19

18

17

16

Page 78 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00A002

SPIMST_TX_

0
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master TX Source Address Register

SRC

15

14

13

12

11

10

0

SPIM_TX_SRC[31:16]
RW
0
0
0
0

0

0

0

0

0

0

SPIM_TX_SRC[15:0]
RW
0
0
0
0

0

0

0

0

0

9

8

7

6

00000000

0

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

SPIM_TX_SRC

TX data source address
SPIM_TX_SRC defines the memory address from which the SPI controller reads
transmitted data. The address must be aligned with the word boundary. Note, the
SPI master cannot read serial flash data.

A00A002

SPIMST_RX_

4
Bit
Name
Type
Reset
Bit
Name
Type
Reset

DST
31

30

29

28

SPI Master RX Destination Address Register
27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIM_RX_DST[31:16]
RW
0
0
0
0

0

0

0

0

0

0

SPIM_RX_DST[15:0]
RW
0
0
0
0

0

0

0

0

0

21
0

20

19

00000000
18

17

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

Name

Description

31:0

SPIM_RX_DST

RX data destination address
SPI_RX_DST defines the memory address to which the SPI controller stores the
data. The address must be aligned with the word boundary. Note, the SPI master
cannot read serial flash data.

SPIMST_CFG

8
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master Configuration 0 Register

0
31

30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIM_CS_SETUP_CNT
RW
0
0
0
0

0

0

0

0

0

0

SPIM_CS_HOLD_CNT
RW
0
0
0
0

0

0

0

0

0

21
0

0

00000000

20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:16

SPIM_CS_SETUP_CNT

Chip select setup time
Setup time = (SPIM_CS_SETUP_CNT+1) * CLK_PERIOD, where
CLK_PERIOD (10.42ns) is the cycle time of the clock the SPI engine adopts.

15:0

SPIM_CS_HOLD_CNT

Chip select hold time
Hold time = (SPIM_CS_HOLD_COUNT+1) * CLK_PERIOD, where
CLK_PERIOD (10.42ns) is the cycle time of the clock the SPI engine adopts.

© 2016 - 2017 MediaTek Inc.

16

5

Bit(s)

A00A002

0

0

Page 79 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00A002

SPIMST_CFG

C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master Configuration 1 Register

1
31

30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIM_SCK_LOW_CNT
RW
0
0
0
0

0

0

0

0

0

0

SPIM_SCK_HIGH_CNT
RW
0
0
0
0

0

0

0

0

0

21
0

00000000

20

19

18

17

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:16

SPIM_SCK_LOW_CNT

SPI master clock low time
SCK low time = (SPIM_SCK_LOW_CNT+1) * CLK_PERIOD (10.42ns)

15:0

SPIM_SCK_HIGH_CNT

SPI master clock high time
SCK high time = (SPIM_SCK_HIGH_CNT+1) * CLK_PERIOD (10.42ns)

A00A003

SPIMST_CFG

0
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SPI Master Configuration 2 Register

2
31

30

0

0

15

14

29
0

13

28
0

12

27
0

11

0

0

00000000

26

25

24

23

22

21

20

19

18

17

10

9

8

7

6

5

4

0

0

0

0

SPIM_CS_IDLE_CNT
RW
0
0
0
0

1

0

0

0

0

0

0

SPIM_PACKET_LENGTH_CNT
RW
0
0
0
0
0
0

SPIM_PACKET_LOOP_CNT
RW
0
0
0
0
0
0

16

3

2

16
0

Bit(s)

Name

31:16

SPIM_PACKET_LENGTH_CNT Transmission package length
The number of bytes in one packet = PACKET_LENGTH_CNT + 1.
Total number bytes of one transmission = (PACKET_LENGTH_CNT+1)
* (PACKET_LOOP_CNT+1).

15:8

SPIM_PACKET_LOOP_CNT

Transmission loop times
The number of packets in one transmission = PACKET_LOOP_CNT + 1.

7:0

SPIM_CS_IDLE_CNT

Chip select idle time
Time between consecutive transmissions = (CS_HOLD_COUNT+1) *
CLK_PERIOD.

A00A003

Description

SPIMST_CFG

4
Bit
Name
Type
Reset
Bit

SPI Master Configuration 3 Register

3
31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

Name

SPIM_DUMMY_CNT

Type
Reset

0

Bit(s)

Name

0

RW

0

0

00000000
19

18

17

16

3

2

1

0

SPIM_COMMAND_CN
T
RW
0
0
0
0

Description

© 2016 - 2017 MediaTek Inc.

Page 80 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
11:8

SPIM_DUMMY_CNT

Dummy count
The number of dummy bits in one packet. Dummy phase is the second
transmission of packet between command phase and data phase. Dummy
phase cannot transmit or receive data, it’s only used in Dual/Quad SPI
(SPIM_TYPE = 1 or 2).

3:0

SPIM_COMMAND_CNT

Command count
The number of command bytes in one packet. Command phase is the first
transmission of packet before dummy phase and data phase. The command
phase is used in Dual/Quad SPI (SPIM_TYPE = 1 or 2).

A00A003

SPIMST_DLY

8

SPI Master Delay Select 0 Register

SEL0
Bit

31

30

29

28

27

15

14

13

12

11

Name
Type
Reset
Bit
Name
Type
Reset

00000000

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

3

SPIM_MOSI3_D
LYSEL
RW
0
0
0
SPIM_MOSI1_D
LYSEL
RW
0
0
0

18

17

16

2

1

0

SPIM_MOSI2_D
LYSEL
RW
0
0
0
SPIM_MOSI0_D
LYSEL
RW
0
0
0

Bit(s)

Name

Description

26:24

SPIM_MOSI3_DLYSEL

MOSI3 delay select
The register can configure MOSI3 output signal delay. The delay is
SPIM_MOSI3_DLYSEL * 1.5 ns.

18:16

SPIM_MOSI2_DLYSEL

MOSI2 delay select
The register can configure MOSI2 output signal delay. The delay is
SPIM_MOSI2_DLYSEL * 1.5 ns.

10:8

SPIM_MOSI1_DLYSEL

MOSI1 delay select
The register can configure MOSI1 output signal delay. The delay is
SPIM_MOSI1_DLYSEL * 1.5 ns.

2:0

SPIM_MOSI0_DLYSEL

MOSI0 delay select
The register can configure MOSI0 output signal delay. The delay is
SPIM_MOSI0_DLYSEL * 1.5 ns.

A00A003

SPIMST_DLY

C
Bit

SPI Master Delay Select 1 Register

SEL1
31

30

29

28

27

15

14

13

12

11

Name
Type
Reset
Bit
Name
Type
Reset

00000000

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

3

SPIM_MISO3_D
LYSEL
RW
0
0
0
SPIM_MISO1_D
LYSEL
RW
0
0
0

18

17

16

2

1

0

SPIM_MISO2_D
LYSEL
RW
0
0
0
SPIM_MISO0_D
LYSEL
RW
0
0
0

Bit(s)

Name

Description

26:24

SPIM_MISO3_DLYSEL

MISO3 delay select
The register can configure MISO3 input signal delay. The delay is

© 2016 - 2017 MediaTek Inc.

Page 81 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
SPIM_MISO3_DLYSEL * 1.5 ns.
18:16

SPIM_MISO2_DLYSEL

MISO2 delay select
The register can configure MISO2 input signal delay. The delay is
SPIM_MISO2_DLYSEL * 1.5 ns.

10:8

SPIM_MISO1_DLYSEL

MISO1 delay select
The register can configure MISO1 input signal delay. The delay is
SPIM_MISO1_DLYSEL * 1.5 ns.

2:0

SPIM_MISO0_DLYSEL

MISO0 delay select
The register can configure MISO0 input signal delay. The delay is
SPIM_MISO0_DLYSEL * 1.5 ns.

A00A004

SPIMST_DLY

0
Bit
Name
Type
Reset
Bit

SPI Master Delay Select 2 Register

SEL2

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

Name
Type
Reset
Bit(s)

Name

Description

2:0

SPIM_SCK_DLYSEL

SCK delay select
The register can configure SCK output signal delay. The delay is
SPIM_SCK_DLYSEL * 1.5 ns.

© 2016 - 2017 MediaTek Inc.

18

17

16

2

1

0

SPIM_SCK_DLY
SEL
RW
0
0
0

Page 82 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

7.

Serial Peripheral Interface Slave Controller

The Serial Peripheral Interface (SPI) is a bit-serial transmission protocol. MT7686 supports single mode (four-pin),
dual mode (four-pin) and quad mode (six-pin) to increase data throughput. The maximum serial clock (SCK)
frequency is 48MHz. Figure 6.4-1 is an example of the connection between the SPI master and SPI slave. The SPI
controller is a slave responsible for data transmission with master.

CS
SCK
SIO0
SIO1
SIO2
SIO3

CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Master

Quad SPI

Dual SPI

Single SPI

SPI
Master

SPI
Slave

CS
SCK
SIO0
SIO1
SIO2
SIO3

CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Slave

SPI
Master

CS
SCK
SIO0
SIO1
SIO2
SIO3

CS
SCK
SIO0
SIO1
SIO2
SIO3

SPI
Slave

Figure 6.4-1. Pin connection between SPI master and SPI slave
Table 6.4-1. SPI slave controller interface
Signal name

Type

Default value

Description

CS

I

pull up (input)

Low active chip selection signal

SCK

I

pull down (input)

The (bit) serial clock (Max SCK clock rate is 48MHz)

SIO0

I/O

pull down (input)

Data signal 0

SIO1

I/O

0 (output)

Data signal 1

SIO2

I/O

pull down (input)

Data signal 2

SIO3

I/O

pull down (input)

Data signal 3

7.1.

Features

•

The SPI slave controller supports single mode (four-pin), dual mode (four-pin) and quad mode (six-pin).
The controller can automatically set port direction for data input/output if register SPIM_TYPE is set.

•

Each databyte transmit/receive sequence can be configured separately with registers TXMSBF and
RXMSBF.

•

The memory address of the SPI slave controller’s internal DMA read/write data can be configured by two
methods: SPI master command (hardware) configure and software configure.

•

o

When register SPIS_DEC_ADDR_EN is 0, enable hardware configuration feature. The address of
DMA read/write is the SPI master CR/CW configuration address and SPISLV_BUFFER_BASE_ADDR.
For example, if the SPI master CR address is 0x1000 and SPISLV_BUFFER_BASE_ADDR is
0x2500, the address of DMA read/write will be 0x3500.

o

When register SPIS_DEC_ADDR_EN is 1, enable software configuration feature. The SPI master
DMA reads and writes data from the address SPISLV_BUFFER_BASE_ADDR.

The serial clock frequency supports maximum of 48MHz with CPOL and CPHA features. CPOL defines the
clock polarity in the transmission. CPHA defines the legal timing to sample data. The detailed timing
diagram of the SCK and CS signal is shown in Figure 7.1-1.

© 2016 - 2017 MediaTek Inc.

Page 83 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
CS idle time

Data Transmission
CS
CS setup time

CS hold time

SCK
(CPOL=0)
SCK Edge
Number

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

SCK
(CPOL=1)
Sample input data
(CPHA=0)
Sample input data
(CPHA=1)

Figure 7.1-1. SPI transmission formats
•

For high-speed transmission, the SPI slave controller can enable early transmission feature (register) to
resolve data path latency issue. The detailed description is shown in Figure 7.1-2.
master sample
data

cpol=0 cpha=0
sck
serial data
out(!early)
serial data
out(early)

1

0
0

1

2
2

3
3

4
4

5

0
0

1
1

2
2

3
3

sck
serial data
out(!early)
serial data
out(early)

0
0

1
1

master sample
data

cpol=1 cpha=0
sck
serial data
out(!early)
serial data
out(early)

5

4
4

5
5

master
sample data

cpol=0 cpha=1

2
2

3

4

3

4

5

master sample
data

cpol=1 cpha=1
sck
serial data
out(!early)
serial data
out(early)

0
0

1
1

2
2

3
3

5

4
4

5
5

Figure 7.1-2. SPI slave controller early transmit

© 2016 - 2017 MediaTek Inc.

Page 84 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Block diagram
FIFO

spi_state_ctrl

AHB

CS

TX_FIFO
(64 bytes)

mosi
SIO[0:3]

x
u
m
IO
P
G

spi_engine

APB

miso

RX_FIFO
(64 bytes)

apb_regif

CPU

SCK

SIO_oe
_

dma_engine

I
P
S
e
av_
ls

memory

D
A
O
P
R
C
A
_
M

7.2.

Figure 7.2-1. Block diagram of SPI slave controller
•

The SPI slave controller accesses memory through the AHB interface and the CPU can access the SPI slave
controller through the APB interface.

•

The SPI slave controller has an internal direct memory access (DMA) engine to access memory and FIFO to
store data during transmission.

•

The SPI slave controller can set the direction (in or out) of GPIO pinmux by SIO_oe (defined by
SPIM_TYPE).

7.3.

Functions

The SPI slave controller has nine commands that can be configured by the SPI master transmit data, the command
set is shown in Table 7.3-1 and the command format is shown in Figure 7.3-1 and Figure 7.3-2.
Table 7.3-1. SPI slave controller interface
Command field
[7:0]

CMD default
code

Data field length

Description

Power Off (PWOFF)

8’h02

0 byte

Master uses this configure
command so that the MCU turns off
the SPI slave controller.

Power On (PWON)

8’h04

0 byte

Master uses this configure
command to wakeup the system
and tell the MCU to turn on the SPI
slave controller.

Read Status (RS)

8’h06

1 byte (SPI slave feedback)

Master reads Slave status register.

Write Status (WS)

8’h08

1 byte

Master writes Slave status register
to clean the error bit, such as write
1 to clear.

Config Read (CR)

8’h0a

SIZE_OF_ADDR

Master configures the SPI Slave to
read data.

•

1: 4 bytes address, 4 bytes
data length.

•

0: 2 bytes address, 2 bytes
data length.

© 2016 - 2017 MediaTek Inc.

Page 85 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Command field
[7:0]

CMD default
code

Data field length

Description

Config Write (CW)

8’h0c

SIZE_OF_ADDR

Master configures the SPI Slave to
write data.

•

1: 4 bytes address, 4 bytes
data length.

•

0: 2 bytes address, 2 bytes
data length.

Read Data (RD)

8’h81

N bytes. Burst data payload.

Master reads data.

Write Data (WD)

8’h0e

N bytes. Burst data payload.

Master writes data.

Config Type (CT)

8’h10

1 byte:

Master configures the SPI Slave
type.

•
•
•

[7:3] Not used
[2] SIZE_OF_ADDR
[1:0] SPIS_TYPE

Command 1

Command 2

CS
SCK
MOSI
MISO
Command field
(1 byte)

Data field
(1 byte)

Command field
(1 byte)

Data field
(1 byte)

Figure 7.3-1. SPI slave controller commands waveform
Data field

Command field

SIZE_OF_ADDR = 1: 4 bytes address, 4 bytes length

CR/CW

addr[7:0]

addr[15:8]

addr[23:16]

addr[31:24]

length[7:0]

length[15:8]

length[7:0]

length[15:8]

length[23:16]

length[31:24]

SIZE_OF_ADDR = 0: 2 bytes address, 2 bytes length

CR/CW

addr[7:0]

addr[15:8]

Figure 7.3-2. Config read/write (CR/CW) command format

7.3.1.

SPI slave control flow

The SPI slave control flow is shown in Figure 7.3-3. First, the SPI master sends a “power on” command to turn on
the SPI slave controller then transmits a “config read/write” command to configure the transfer data length and
read/write address of the memory. After the SPI slave is configured, it can send/receive data package with SPI
master by the “read/write data” command. Last, use the “power off” command to turn off the SPI slave controller.
In each state, the SPI master transmits the “read status” command to poll SPI slave status. If the SPI master detects
an error state flag bit, it should send a “write status” command to clear the bit and poll this bit until it turns low.
The SPI master can transmit a “config type” command to configure data transmission type (Single, Dual, or Quad
mode) according to user requirements. The SPI slave control flow is shown in Table 7.3-2.

© 2016 - 2017 MediaTek Inc.

Page 86 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Power On
CMD

Read Status
CMD

Read/Write Data
CMD

SLV_ON = 1

SPI Transmission

N

Y
Write Status CMD
(clear RD_ERR/WR_ERR)

Config Type
CMD (Maybe)

Config Read/Write
CMD

N

Read Status
CMD

RDWR_FINISH = 1 &
RD_ERR/WR_ERR = 0
Y
Power Off
CMD

Read Status
CMD

N

CFG_SUCESS = 1 &
TXRX_FIFO_RDY = 1
Y

Figure 7.3-3. SPI slave control flow diagram
Table 7.3-2. SPI slave status description (use RS command to poll SPI slave status)
Function

Bit

Usage (status[bit] = function)

SLV_ON

0

Master polls this bit until slave is on after sending POWERON CMD or
off after sending POWEROFF CMD.

SR_CFG_SUCCESS

1

Master checks this bit for the CW/CR command status.

SR_TXRX_FIFO_RDY

2

Set this bit when the slave is ready to send/receive data (master can
send RD/WD command). Clean the bit after SPI slave receives a CR/CW
command.

SR_RD_ERR

3

After a read command, master can read this bit to check for an error in
the read transfer. If there is an error, the master should send WS
command to clear this bit and poll this bit until it’s 0.

SR_WR_ERR

4

After a WD command, master can read this bit to check for an error in
the write transfer. If there is an error, the master should send WS
command to clear this bit and poll this bit until it’s 0.

SR_RDWR_FINISH

5

After RD/WD transaction, master can poll this bit to check if read/write
transfer is finished. Clean the bit after the SPI slave receives a CR/CW
command.

SR_TIMOUT_ERR

6

Indicates the SPI slave didn’t receive input signal for sometime when

© 2016 - 2017 MediaTek Inc.

Page 87 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Function

Bit

Usage (status[bit] = function)
chip select signal was active. The SPI master should send a WS
command to clear this bit and poll this bit until it’s 0.

SR_CMD_ERR

7

If master sends an error command in the first byte, master detects the
error status through the received data. Clean it after the SPI slave
receives a correct command.

7.3.2.

SPI slave modes

1) SPI slave single mode.
The typical SPI transmission mode is single SPI, it’s a 4-pin protocol. Set the register SPIS_TYPE to 0 to enter single
mode. The single mode data transmission diagrams are shown in Figure 7.3-4 and Figure 7.3-5.

CS
SCK
SIO0
SIO1

WD command

DI A0 DI A1 DI A2 DI A3 DI A4 DI A5 DI A6 DI A7

Figure 7.3-4. SPI slave single mode write data

CS
SCK
SIO0
SIO1

RD command
DO A0 DO A1 DO A2 DO A3 DO A4 DO A5 DO A6 DO A7

Figure 7.3-5. SPI slave single mode read data
2) SPI slave dual mode.
The dual mode SPI is also a 4-pin protocol. Set the register SPIS_TYPE to 1 to enter this mode. The dual mode
data transmission diagrams are shown in Figure 7.3-6 and Figure 7.3-7.

CS
SCK
SIO0

WD command

DI A0 DI A2 DI A4 DI A6
DI A1 DI A3 DI A5 DI A7

SIO1
Figure 7.3-6. SPI slave dual mode write data

CS
SCK
SIO0

RD command

DO A0 DO A2 DO A4 DO A6
DO A1 DO A3 DO A5 DO A7

SIO1
Figure 7.3-7. SPI slave dual mode read data
© 2016 - 2017 MediaTek Inc.

Page 88 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
3) SPI slave quad mode.
The quad mode SPI is a 6-pin protocol. Set the register SPIS_TYPE to 2 to enter this mode. The quad mode
transmission diagrams are shown in Figure 7.3-8 and Figure 7.3-9.

CS
SCK
SIO0

DI A0 DI A4 DI B0 DI B4

WD command

SIO1

DI A1 DI A5 DI B1 DI B5

SIO2

DI A2 DI A6 DI B2 DI B6

SIO3

DI A3 DI A7 DI B3 DI B7

Figure 7.3-8. SPI slave quad mode write data

CS
SCK
SIO0

DO A0 DO A4 DO B0 DO B4

RD command

SIO1

DO A1 DO A5 DO B1 DO B5

SIO2

DO A2 DO A6 DO B2 DO B6

SIO3

DO A3 DO A7 DO B3 DO B7

Figure 7.3-9. SPI slave quad mode read data

7.4.

Register mapping

Module name: SPI_SLAVE Base address: (+A00B0000h)
Address

Name

Width
(bits)

Register Function

A00B0000 SPISLV_CTRL

32

SPI Slave Control Register

A00B0004 SPISLV_TRIG

32

SPI Slave Trigger Register

A00B0008 SPISLV_IE

32

SPI Slave Interrupt Enable

A00B000C SPISLV_INT

32

SPI Slave Interrupt

A00B0010 SPISLV_STA

32

SPI Slave Status

A00B0014 SPISLV_TRANS_LENGTH

32

SPI Slave Transfer Length Register

A00B0018 SPISLV_TRANS_ADDR

32

SPI Slave Transfer Address Register

A00B001C SPISLV_TMOUT_THR

32

SPI Slave Timeout Threshold Register

A00B0020 SPISLV_BUFFER_BASE_
ADDR

32

SPI Slave Buffer Base Address Register

A00B0024 SPISLV_BUFFER_SIZE

32

SPI Slave Buffer Size Register

A00B0028 SPISLV_CMD_RECEIVED

32

SPI Slave CMD Received

A00B002C SPISLV_CMD_DEF0

32

SPI Slave Command Define 0

A00B0030 SPISLV_CMD_DEF1

32

SPI Slave Command Define 1

A00B0034 SPISLV_CMD_DEF2

32

SPI Slave Command Define 2

© 2016 - 2017 MediaTek Inc.

Page 89 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00B0038 SPISLV_DLYSEL0

32

SPI Slave Delay Select 0 Register

A00B003C SPISLV_DLYSEL1

32

SPI Slave Delay Select 1 Register

A00B0040 SPISLV_DLYSEL2

32

SPI Slave Delay Select 2 Register

A00B000

SPISLV_CTR

0
Bit

SPI Slave Control Register

L
31

30

29

28

27

26

25

24

Name

SPIS_DUMMY_CNT

Type
Reset
Bit

0

15

14

13

12

0

11

10

Name
Type
Reset

RW

0

9

0

8

SPIS_CTR
L1
RW
0
1

00000100

23

22

21

20

19

18

17

7

6

5

4

3

2

1

16

SPI
S_
MI
SO
_E
AR
LY
_T
RA
NS
RW
0

0

SPIS_CTRL0
0

0

Bit(s)

Name

Description

27:24

SPIS_DUMMY_CNT

Dummy count
The number of dummy bits in one packet.

0

RW
0

0

0

0

•

Dummy phase is the second transmission of packet between
command phase and data phase.

•

Dummy phase cannot transmit/receive data, it’s only used in dual or
quad SPI modes (SPIS_TYPE is 1 or 2).

16

SPIS_MISO_EARLY_TRAN
S

Early transmit data
Defines whether to transmit data half SCK cycle early. It’s used to improve
the SPI timing.

9:8

SPIS_CTRL1

SPI slave general configuration setting 1

6:0

SPIS_CTRL0

•

[1]: SPIS_DEC_ADDR_EN, indicates whether software decode
address is sent by the SPI master.
o 0: software will not decode the address. The address of
read/write memory is set by master configure read/write
command.
o 1: software will decode the address of read/write memory.

•

[0]: SPIS_SW_RDY_EN, if the value is 1, defines whether hardware
automatically sets the register SPIS_TXDMA_SW_RDY or
SPIS_RXDMA_SW_RDY.

SPI slave general configuration setting 0

•

[6]: SIZE_OF_ADDR, defines CW/CR command format, can be
configured by master command or slave software settings.
o 0: Data filed includes 2 bytes of transfer address and 2 bytes of
transfer length.
o 1: Data filed includes 4 bytes of transfer address and 4 bytes of
transfer length.

•

[5:4]: SPIS_TYPE, indicates the SPI data transmission type, can be
configured by master command or software settings.

© 2016 - 2017 MediaTek Inc.

Page 90 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
o
o
o
o

A00B000

•

[3]: RXMSBF, indicates whether the first byte of the received RX data
received is MSB. Set RXMSBF to 1 to define the first byte as MSB,
otherwise set it to 0.

•

[2]: TXMSBF, indicates the first byte of the transmitted TX data is
MSB. Set TXMSBF to 1 to define the first byte as MSB, otherwise set it
to 0.

•

[1]: CPOL, control bit of the SCK polarity.
o 0: CPOL = 0
o 1: CPOL = 1

•

[0]: CPHA, control bit of the SCK sample data phase
o 0: CPHA = 0
o 1: CPHA = 1

SPISLV_TRI

4

SPI Slave Trigger Register

G
Bit

0: Single SPI
1: Dual SPI
2: Quad SPI
3: Not used

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Name

Type
Reset
Bit
Name
Type
Reset

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

SPI
S_
RX
DM
A_
SW
_R
DY
WO
0
SPI
S_S
W_
RS
T
WO
0

16

SPI
S_T
XD
MA
_S
W_
RD
Y
WO
0

0

SPI
S_S
W_
ON
WO
0

Bit(s)

Name

Description

24

SPIS_RXDMA_SW_RDY

Software ready to receive data
Write 1 to this bit to indicate the SPI slave can receive RX data.
TXRX_FIFO_RDY of the status of STA register will be set. And master can
query the status to check whether the slave is ready to receive data.

16

SPIS_TXDMA_SW_RDY

Software ready to transmit data
Write 1 to this bit to indicate the SPI slave can transmit TX data.
TXRX_FIFO_RDY of STA register status will be set. And the master can
query the status to check whether the slave is ready to transmit data.

8

SPIS_SW_RST

Software reset
Software reset bit; resets the state machine and data FIFO of SPI slave
controller (not the register define). When this bit is 1, software reset is active
high, and hardware can automatically recover to 0. The default value is 0.

0

SPIS_SW_ON

Software ON
The SPI slave controller is enabled by software, the slave software can set
SR_SLV_ON by SPIS_SW_ON control.

© 2016 - 2017 MediaTek Inc.

Page 91 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00B000

SPISLV_IE

8

SPI Slave Interrupt Enable

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

Bit(s)

Name

Description

8:0

SPIS_IE

SPI slave interrupt source enable
[8]: TMOUT_ERR_IE, interrupt enable bit of timeout error
[7]: WR_DATA_ERR_IE, interrupt enable bit of SPI master write data error
[6]: RD_DATA_ERR_IE, interrupt enable bit of SPI master read data error
[5]: POWER_ON_IE, interrupt enable bit of SPI slave receive power-on command
[4]: POWER_OFF_IE, interrupt enable bit of SPI slave receive power-off
[3]: WR_TRANS_FINISH_IE, interrupt enable bit of SPI master write data finish
[2]: RD_TRANS_FINISH_IE, interrupt enable bit of SPI master read data finish
[1]: WR_CFG_FINISH_IE, interrupt enable bit of SPI master configure write finish
[0]: RD_CFG_FINISH_IE, interrupt enable bit of SPI master configure read finish

A00B000
C

SPISLV_INT

SPIS_IE
RW
0
0
0

SPI Slave Interrupt

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

Bit(s)

Name

Description

8:0

SPIS_INT

SPI slave interrupt source
[8]: TMOUT_ERR_INT, timeout error interrupt
[7]: WR_DATA_ERR_INT, SPI master write data error interrupt
[6]: RD_DATA_ERR_INT, SPI master read data error interrupt
[5]: POWER_ON_INT, SPI slave receive power-on command interrupt
[4]: POWER_OFF_INT, SPI slave receive power-off command interrupt
[3]: WR_TRANS_FINISH_INT, SPI master write data finish interrupt
[2]: RD_TRANS_FINISH_INT, SPI master read data finish interrupt
[1]: WR_CFG_FINISH_INT, SPI master configure write finish interrupt
[0]: RD_CFG_FINISH_INT, SPI master configure read finish interrupt

A00B001
0
Bit
Name
Type
Reset

31

SPISLV_STA
30

29

28

SPIS_INT
RC
0
0
0

SPI Slave Status
27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

00000000
21

20

19

18

17

16

Page 92 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A00B001
0

SPISLV_STA

SPI Slave Status

Bit
Name
Type
Reset

15

Bit(s)

Name

Description

13:0

SPIS_STA

SPI slave status

14

13

12

11

10

9

8

0

0

0

0

0

0

7

6

SPIS_STA
RO
0
0

00000000
5

4

3

2

1

0

0

0

0

0

0

0

•

SPIS_STA[7:0] is the feedback data when SPI master send read status
command
o [13]: SR_POWER_ON
SPI slave receives power-on command.
Cleared after SPIS_SW_ON is set to 1.
o [12]: SR_POWER_OFF
SPI slave receives power-off command.
Cleared after SPIS_SW_ON is set to 0.
o [11]: SR_WR_FINISH
SPI master write data finish.
Cleared after the next configure write or read (CW/CR) command.
o [10]: SR_RD_FINISH
SPI master read data finish.
Cleared after the next CW/CR command.
o [9]: SR_CFG_WRITE_FINISH
SPI slave receive CW command is complete.
Cleared after SR_TXRX_FIFO_RDY = 1.
o [8]: SR_CFG_READ_FINISH
SPI slave receive CR command is finished.
Cleared after SR_TXRX_FIFO_RDY = 1.
o [7]: SR_CMD_ERROR
Used for SPI master to debug.
Cleared after SPI master sends a correct command.
o [6]: SR_TIMOUT_ERR

•

SPI slave doesn’t receive SCK signal for some time when chip select signal is
active.
If there is an error, master must send WS command to clear this bit and poll
this bit until it’s 0.
o [5]: SR_RDWR_FINISH
The bit is set to 1 when SPI slave receives or sends all data.
Cleared after SPI slave receives CR/CW command.
o [4]: SR_WR_ERR
After a WR command, master can read this bit to check for an error in
the write transfer through RS command.
If there is an error, master must send WS command to clear this bit and
poll this bit until it’s 0.
o [3]: SR_RD_ERR
After an RD command, master can read this bit to check for an error in
the read transfer through RS.
If there is timeout error, master must send WS command to clear this bit
and poll this bit until it’s 0.
o [2]: SR_TXRX_FIFO_RDY
When CR, this bit used to indicate whether TX FIFO is ready. Master
polls this bit to know if the slave is ready to send data, then master can
send the RD command.

•

When CW, this bit used to indicate whether RX FIFO is ready. Master polls
this bit to know if the slave is ready to send data, then master can send WD
command.
This bit will be cleared after SPI slave receives CR/CW command.

© 2016 - 2017 MediaTek Inc.

Page 93 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
o
o

•

A00B0014

[1]: SR_CFG_SUCESS
SPI master configure package address/length successfully.
[0]: SR_SLV_ON

SPI slave controller enable by set SPIS_SW_ON = 1. After SPI slave receive
POWER-ON command, slave software can set this bit by control
SPIS_SW_ON.

SPISLV_TRA

SPI Slave Transfer Length Register

NS_LENGTH

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:0

SPIS_TRANS_LENGTH

Transfer length
Defines the SPI master transfer package length in bytes.

0

30
0

29
0

28

27

0

0

15

14

13

12

11

0

0

0

0

0

A00B0018

SPISLV_TRA

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

0

0

3

2

0

0

SPIS_TRANS_LENGTH[31:16]
RO
0
0
0
0
0
0
SPIS_TRANS_LENGTH[15:0]
RO
0
0
0
0
0
0

SPI Slave Transfer Address Register

NS_ADDR

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:0

SPIS_TRANS_ADDR

Transfer address
Defines the SPI master transfer package start address.

30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIS_TRANS_ADDR[31:16]
RO
0
0
0
0

0

0

0

0

0

0

SPIS_TRANS_ADDR[15:0]
RO
0
0
0
0

0

A00B001

0

0

0

0

SPISLV_TMO

C
31

Bit(s)

Name

30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIS_TMOUT_THR[31:16]
RW
0
0
0
0

0

0

0

0

0

0

SPIS_TMOUT_THR[15:0]
RW
0
0
1
1

0

0

0

0

0

0

17

16

0

0

1

0

0

0

0

0

00000000

20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

SPI Slave Timeout Threshold Register

UT_THR

Bit
Name
Type
Reset
Bit
Name
Type
Reset

21

18

21
0

0

000000FF

20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

1

1

1

1

1

1

Description

© 2016 - 2017 MediaTek Inc.

Page 94 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
31:0

Timeout threshold time
Timeout interrupt occurs if SPI slave doesn’t receive SCK signal when the CS
select signal is active and the period exceeds this threshold time. The timeout
counter unit is 3.05µs.

SPIS_TMOUT_THR

A00B002
0

SPISLV_BUF
SPI Slave Buffer Base Address Register

FER_BASE_

00000000

ADDR

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:0

SPIS_BUFFER_BASE_ADDR

Buffer base address
Configurable DMA address to access memory.

30

29

28

27

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

0

0

3

2

0

0

15

14

13

12

11

0

SPIS_BUFFER_BASE_ADDR[31:16]
RW
0
0
0
0
0
0

0

0

0

0

0

SPIS_BUFFER_BASE_ADDR[15:0]
RW
0
0
0
0
0
0

0

A00B002

0

0

0

SPISLV_BUF

4

SPI Slave Buffer Size Register

FER_SIZE

18

17

0

0

1

0

0

0

0

31

Bit(s)

Name

Description

31:0

SPIS_BUFFER_SIZE

Buffer base size
Configurable buffer size indicating whether SPI master is configured
successfully.

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

SPIS_BUFFER_SIZE[31:16]
RW
0
0
0
0

0

0

0

0

0

0

SPIS_BUFFER_SIZE[15:0]
RW
0
0
0
0

0

A00B002
8

0

0

0

0

SPISLV_CMD

21
0

20

19

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

0

0

Bit(s)

Name

Description

7:0

SPIS_CMD_RECEIVED

Command received
SPI slave received a command.

© 2016 - 2017 MediaTek Inc.

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

SPI Slave CMD Received

_RECEIVED

0

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

16

0

00000000

21

20

19

18

17

16

5

4

3

2

1

0

0

0

SPIS_CMD_RECEIVED
RO
0
0
0
0

Page 95 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

A00B002

SPISLV_CMD

C

SPI Slave Command Define 0

_DEF0

08060402

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:24

SPIS_CMD_WS

Defines Write Status (WS) command value, default value is 0x08.

23:16

SPIS_CMD_RS

Defines Read Status (RS) command value, default value is 0x06.

0

30
0

15

14

0

0

29

28

27

26

25

13

12

11

10

9

8

0

0

SPIS_CMD_WS
RW
0
0
1
0

0

SPIS_CMD_PWON
RW
0
0
0
1

24

23

0

0

22

21

20

19

18

17

5

4

3

2

1

0

1

0

7

6

0

SPIS_CMD_RS
RW
0
0
0
1

0

0

SPIS_CMD_PWOFF
RW
0
0
0
0

1

15:8

SPIS_CMD_PWON

Defines Power-ON (PWON) command value, default value is 0x04.

7:0

SPIS_CMD_PWOFF

Defines Power-OFF (PWOFF) command value, default value is 0x02.

A00B003

SPISLV_CMD

0

SPI Slave Command Define 1

_DEF1
31

Bit(s)

Name

Description

31:24

SPIS_CMD_WR

Defines Write Data (WR) command value, default value is 0x0e.

23:16

SPIS_CMD_RD

Defines Read Data (RD) command value, default value is 0x81.

15:8

SPIS_CMD_CW

Defines Configure Write (CW) command value, default value is 0x0c.

7:0

SPIS_CMD_CR

Defines Configure Read (CR) command value, default value is 0x0a.

0

0

15

14

0

0

A00B003

29

28

27

26

25

13

12

11

10

9

8

7

6

0

SPIS_CMD_RD
RW
0
0
0
0

0

0

0

0

SPIS_CMD_CR
RW
0
0
1
0

SPIS_CMD_WR
RW
0
0
1
1
SPIS_CMD_CW
RW
0
0
1
1

SPISLV_CMD

4

1

24
0

23
1

22

21

20

19

18

5

4

3

2

SPI Slave Command Define 2

_DEF2

0

0E810C0A

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

16

17
0

16
1

1

0

1

0

00000010

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

Bit(s)

Name

Description

7:0

SPIS_CMD_CT

Defines Configure Type (CT) command value, default value is 0x10.

© 2016 - 2017 MediaTek Inc.

SPIS_CMD_CT
RW
0
1
0
0

Page 96 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

© 2016 - 2017 MediaTek Inc.

Page 97 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

8.

Inter-Integrated Circuit Controller

8.1.

Overview

Inter-Integrated Circuit (I2C) is a two-wire serial interface. The two signals are SCL and SDA. SCL is a clock signal
driven by the master. SDA is a bi-directional data signal that can be driven by either the master or the slave. This
generic controller supports master role and conforms to the I2C specification.

8.2.

Features

•

I2C compliant master mode operation

•

Adjustable clock speed for LS/FS mode operation

•

Supports 7-bit/10-bit addressing

•

Supports high-speed mode

•

Supports slave clock extension under open-drain mode

•

START/STOP/REPEATED START condition

•

Polling/DMA Transfer Mode

•

Multi-write per transfer (up to 65535 data bytes)

•

Multi-read per transfer (up to 65535 data bytes)

•

Multi-transfer per transaction (up to 65535 data bytes)

•

Combined format transfer with length change capability

•

Active drive/wired-and I/O configuration

8.3.

Block diagram

The block diagram of the I2C is shown in Figure 8.3-1.

© 2016 - 2017 MediaTek Inc.

Page 98 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
i2c_master

i2c_fifo

apb_reg

i2c_bus

apb2bus

apb2fifo

apb bus

1

rx_en

1

tx_en

1

i2c_wr

pwdata

1

i2c_rd

master_read
master_write
i2c_fifo_wr

8

8
i2c_data_in

fifo_rd_data
8
fifo_rd_empty
fifo_wr_full

8
i2c_data_in

8
1

scl_in_sync scl_in_sync
one_bi
i2c_data_in t_data
sda_in_sync sda_in_sync

fifo_rd_data
8 fifo_data_in
fifo_rd_empty

1

fifo_wr_full

scl_in
sda_in

sda_out

sda_out

sda_out

scl_out

scl_out

scl_out

sda_oe_pre sda_oe_pre

sda_oe

scl_oe_pre

scl_oe

scl_oe_pre

i2c_rx_dmareq

Interrupt
controller

4

i2c_tx_dmareq

i2c_tx_dmaack

rd_addr

i2c_rx_dmaack

wr_addr
fifo2apb

FIFO[0]
FIFO[1]
FIFO[2]
FIFO[3]
FIFO[4]
FIFO[5]
FIFO[6]
FIFO[7]

I2C bus

i2c_fifo_rd

8
4

APB control signals

APB control signals

APB control signals

apb2master

DMA
Controller
master2apb

bus2apb

Figure 8.3-1. I2C block diagram

8.4.

Functions

The controller is designed to be as generic as possible in order to support a wide range of devices for different
combinations of transfer formats. Transfer format types supported through different software configurations are
listed below:
Note: Terms used in the context of this document.
•

Transfer. Any content encapsulated between a pair of Start, Stop and Repeated Start (RS).

•

Transfer length. Number of bytes within the transfer.

•

Transaction. A transaction contains multiple transfers and is sent after START register is set to 1.

•

Transaction length. Number of transfers.
Master to slave dir
Slave to master dir

1) Single-byte access. In this case, TRANSAC_LEN and TRANSFER_LEN are both set to 1.
Single Byte Write
S

Slave Address

A

DATA

A

P

A

DATA

nA

P

Single Byte Read
S

Slave Address

Figure 8.4-1. I2C single transfer single byte access

© 2016 - 2017 MediaTek Inc.

Page 99 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
2) Multi-byte access. In this case, TRANSAC_LEN is set to 1 and TRANSFER_LEN is set to N. Overall multi-byte
transfer is N bytes with an ACK.
Multi Byte Write
S

Slave Address

A

DATA

P

A/
nA

P

N bytes + ack

Multi Byte Read
S

A

Slave Address

A

DATA
N bytes + ack/nack

Figure 8.4-2. I2C single transfer multi byte access
3) Multi-byte transfer and multi-transfer (same direction, either read or write). In this case, TRANSAC_LEN is
set to X and TRANSFER_LEN is set to N.
Multi Byte Write + Multi Transfer
S

Slave
Address

A

DATA

A

P + wait time +

N bytes + ack/nack
X transfers
Multi Byte Read + Multi Transfer

S

Slave
Address

A

DATA

A/
nA

P + wait time +

N bytes + ack/nack
X transfers

Figure 8.4-3. I2C multi transfer multi byte access
4) Multi-byte transfer and multi-transfer with RS (same direction). If RS_STOP is set to 1, the Stop then Start
in the middle of transaction will be replaced by Repeated Start.
Multi Byte Write + Multi Transfer + Repeated Start
Slave
Address

S

A

DATA

A

R

+

P

+

P

N bytes + ack/nack
X transfers
Multi Byte Read + Multi Transfer + Repeated Start
S

+

Slave
Address

A

DATA

A/
nA

R

N bytes + ack/nack
X transfers

Figure 8.4-4. I2C multi transfer multi byte access with RS

© 2016 - 2017 MediaTek Inc.

Page 100 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
5) Combined write or read with Repeated Start (direction change). In this case, TRANSAC_LEN is set to 2,
TRANSFER_LEN is set to N and TRANSFER_LEN_AUX is set to M. If DIR_CHANGE is 1, the SLAVE_ADDR LSB
will change from 0 to 1, which means write to read, after first transfer. Also the TRANSFER_LEN_AUX will
be used after first transfer.
Note:
1. This format only supports write and then read sequence. Read and then write is not supported.
2. The transaction length in Figure 8.4-5 is 2.
Combined Multi Byte Write + Multi Byte Read
Slave
Address

S

DATA

A

R

A

Slave
Address

A

P

A

DATA

M bytes + ack/nack

N bytes + ack/nack

Figure 8.4-5. I2C multi transfer multi byte access with direction-change function

8.5.

Programming guide

Common transfer programmable parameters
Programmable Parameters
SLAVE_ADDR

S

Slave
A
Address

SLAVE ADDR
DIR_CHANGE(optional)

RS_STOP

DATA

A

DATA

A

P/
RS

DELAY_LEN

S

Slave
A
Address

1st Transfer must use
TRANSFER_LEN

TRANSAC_LEN

DATA

A

DATA

A

2nd Transfer or later uses
TRANSFER_LEN
TRANSFER_LEN_AUX(if DIR_CHANGE or

P/
RS

TRANSFER_LEN_CHANGE is enabled)

Figure 8.5-1. I2C transfer format programming guide
After all the parameters above are set, set START register to 1. The START register will auto clear to 0 after
transaction is over. To know when the transaction is over, one can poll the START register or disable INTR_MASK
and wait for interrupt.
Output waveform timing programmable parameters

© 2016 - 2017 MediaTek Inc.

Page 101 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
SCL

STEP_CNT_DIV+1

SAMPLE_CNT_DIV+1

(here STEP_CNT_DIV=3)

(here SAMPLE_CNT_DIV=5)

Output Timing Control Example:

Clock Source of I2C is 96 MHz
FreqSAMPLE_EN = Clock Source / CLOCK_DIV+1 = 19.2 MHz
FreqSTEP_EN = FreqSAMPLE_EN / SAMPLE_CNT_DIV+1 = 3.2 MHz
FreqHalf Pulse = FreqSTEP_EN / STEP_CNT_DIV+1 = 800 kHz
I2C data rate (one complete SCL cycle) = 400 kHz
CLOCK_DIV+1

(here CLOCK_DIV=4)

Formula
I2C frequency = BUS clock(96M at default) / ((CLOCK_DIV+1) *
2 * ( SAMPLE_CNT_DIV+1)*( STEP_CNT_DIV+1))
Figure 8.5-2. I2C timing format programming guide

8.6.

Manual and DMA transfer modes for I2C controller

The controller offers two types of transfer modes, manual and DMA.
•

When Manual mode is selected, in addition to the slave address register, the controller has a built-in 8
byte deep FIFO which allows the MCU to prepare up to 8 bytes of data for a write transfer or read up to 8
bytes of data for a read transfer.

•

When DMA mode is enabled, the data to and from the FIFO is controlled by DMA transfer and can
therefore support up to 65535 bytes of consecutive read or write with data read from or written into
another memory space. When DMA mode is enabled, the flow control mechanism is also implemented to
hold the bus clock (SCL) when FIFO underflow or overflow condition is encountered.

Note: After enabling DMA_EN register in I2C, starting data transfer isn’t controlled by the START register in I2C, but
by a register in DMA (PDMAx_START). To avoid errors, it’s suggested using SOFTRESET and FIFO_ADDR_CLR
registers when PDMAx_START is 0.

8.7.

DMA number

START register

Peripheral

DMA2

PDMA2_START

I2C0 TX

DMA3

PDMA3_START

I2C0 RX

DMA4

PDMA4_START

I2C1 TX

DMA5

PDMA5_START

I2C1 RX

Register mapping

There are two I2C channels in this SOC.
I2C number

Base address

Feature

Source clock

I2C0

0xA0100000

Supports DMA mode

Bus Clock (96MHz when CPU frequency is 192MHz)

© 2016 - 2017 MediaTek Inc.

Page 102 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
I2C number

Base address

Feature

Source clock

I2C1

0xA0110000

Supports DMA mode

Bus Clock (96MHz when CPU frequency is 192MHz)

Module name: I2C0 Base address: (+A0100000h)
Address

Name

Width (bits)

Register Functionality

A0110000

DATA_PORT

32

Data port

A0110004

SLAVE_ADDR

32

Slave address

A0110008

INTR_MASK

32

Interrupt mask

A011000C

INTR_STAT

32

Interrupt status

A0110010

CONTROL

32

Control

A0110014

CONTROL2

32

Control2

A0110020

TRANSFER_LEN

32

Number of bytes per transfer

A0110024

TRANSFER_LEN_AUX

32

Number of bytes per transfer

A0110028

TRANSAC_LEN

32

Number of transfers per transaction

A011002C

DELAY_LEN

32

Inter delay length

A0110030

TIMING

32

Timing control register

A0110034

CLOCK_DIV

32

Clock divergence of I2C source clock

A0110038

START

32

Start the I2C transfer

A0110040

FIFO_STAT

32

FIFO status

A0110048

FIFO_ADDR_CLR

32

FIFO address clear

A0110050

IO_CONFIG

32

IO configuration

A0110060

HS

32

High speed mode

A0110070

SOFTRESET

32

Soft Reset

A0110074

DEBUGSTAT

32

Debug status

A0110078

DEBUGCTRL

32

Debug control

A0110080

ACKERR_FLAG

32

ACK error flag

A0100000

DATA_PORT

Data Port

00000000

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

DATA_PORT
RW
0

0

0

0

0

Bit(s)

Name

Description

7:0

DATA_PORT

FIFO access port. During master write sequence (slave_addr[0] =

© 2016 - 2017 MediaTek Inc.

Page 103 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0), this port can be written by APB and during master read
sequence (slave_addr[0] = 1), this port can be read by APB.
Note, that slave_addr must be set correctly before accessing the
FIFO.
(DEBUG ONLY) If the fifo_apb_debug bit is set, then the FIFO can
be read and written by the APB.

A0100004

SLAVE_ADDR

Slave Address

000000BF

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

1

1

SLAVE_ADDR
RW
1

0

1

1

1

Bit(s)

Name

Description

7:0

SLAVE_ADDR

This specifies the slave address of the device to be accessed. Bit 0 is
defined by the I2C protocol to indicate the direction of transfer.
1: master read
0: master write

A0100008
Bit

INTR_MASK

31

30

29

28

Interrupt Mask
27

26

25

24

23

00000000
22

21

20

19

18

17

Nam
e

Type
Rese
t
Bit

16
MA
SK
_H
S_
NA
CK
ER
R
RW
0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

RW

0
MA
SK
_T
RA
NS
AC
_C
OM
P
RW

0

0

MA
SK
_A
CK
ER
R

Nam
e

Type
Rese
t
Bit(s)

Name

Description

16

MASK_HS_NACKERR

Mask of HS Mode NACK error interrupt
0: disable

© 2016 - 2017 MediaTek Inc.

Page 104 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
8

MASK_ACKERR

Mask of ACK error interrupt
0: disable

0

MASK_TRANSAC_COMP

Mask of Transaction complete interrupt
0: disable

A010000C
Bit

INTR_STAT

31

30

29

28

Interrupt Status
27

26

25

24

23

00000000
22

21

20

19

18

17

Nam
e
Type
Rese
t
Bit

16
HS
_N
AC
KE
RR
W1
C
0

15

14

13

12

11

10

9

Nam
e

AC
KE
RR

Type

W1
C

0
TR
AN
SA
C_
CO
MP
W1
C

0

0

Rese
t

8

7

6

5

4

3

2

1

Bit(s)

Name

Description

16

HS_NACKERR

This status is asserted if the HS master code not acknowledged
(NACK) error detection is enabled. If enabled, the transaction will
be stopped.

8

ACKERR

This status is asserted if ACK error detection is enabled. If enabled,
the transaction will be stopped.

0

TRANSAC_COMP

This status is asserted when a transaction is complete.

A0100010
Bit

31

CONTROL
30

29

Control

28

27

26

25

Nam
e

Type
Rese
t
Bit

24
TR
AN
SF
ER
_L
EN
_C
HA
NG
E
RW

00000000
23

22

21

20

19

18

17

DI
R_
CH
AN
GE

RW

0
15

14

13

12

11

10

9

8

16

0
7

6

Nam
e

DM
A_
EN

Type
Rese
t

RW

0
RS
_S
TO
P
RW

0

0

© 2016 - 2017 MediaTek Inc.

5

4

3

2

1

Page 105 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Name

Description

24

TRANSFER_LEN_CHANGE

This option specifies whether to change the transfer length after the
first transfer is complete. If enabled, the transfers after the first
transfer will use the TRANSFER_LEN_AUX parameter.
0: disable
1: enable

16

DIR_CHANGE

This option is used for combined transfer format, where the direction
of transfer is to be changed from write to read after the FIRST RS
condition. Note: when set to 1, the transfers after the direction change
will be based on the TRANSFER_LEN_AUX parameter.
0: disable
1: enable

8

DMA_EN

By default, it’s disabled, and FIFO data shall be manually prepared by
MCU. This setting is used for transfer sizes of less than 8 bytes and no
multiple transfer is configured. When enabled, DMA requests are
turned on, and the FIFO data is prepared in memory.
0: disable
1:enable

0

RS_STOP

In LS/FS mode, this bit affects multi-transfer transaction only. It
controls whether REPEATED-START condition is used between
transfers. The last transfer always ends with a STOP.
In HS mode, this bit must be set to 1.
0: use STOP
1: use REPEATED-START

A0100014
Bit

CONTROL2

31

30

29

28

CONTROL2
27

26

25

24

00000001
23

22

21

20

19

18

17

Nam
e
Type
Rese
t
Bit

16
CL
K_
EX
T_
EN
RW
0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

RW

0
HS
_N
AC
KE
RR
_D
ET
_E
N
RW

0

1

AC
KE
RR
_D
ET
_E
N

Nam
e

Type
Rese
t
Bit(s)

Name

Description

16

CLK_EXT_EN

I2C specification allows slaves to hold the SCL line low if it’s not yet ready
for further processing. Therefore, if this bit is set to 1, master controller
will enter a high wait state until the slave releases the SCL line. Note that
this feature is only supported under open-drain mode.
0: disable

© 2016 - 2017 MediaTek Inc.

Page 106 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1: enable
8

ACKERR_DET_EN

This option enables slave acknowledgment error detection. When enabled,
if slave acknowledge error is detected, the master terminates the
transaction issuing a STOP condition and then asserts acknowledge error
interrupt. The user software handles the error and then resets the FIFO
address before reissuing transaction. If this option is disabled, the
controller will ignore the slave ACK error and continue with the scheduled
transaction.
0: disable
1: enable

0

HS_NACKERR_DET_EN

This enables NACKERR detection during the master code transmission.
When enabled, if NACK is not received after master code has been
transmitted, the transaction will terminate with a STOP condition.
0: disable
1: enable

A0100020

TRANSFER_LEN

Number of Bytes per Transfer

00000001

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

1

TRANSFER_LEN
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

TRANSFER_LEN

This indicates the number of data bytes to be transferred in 1
transfer unit (excluding slave address byte).
Note, no data will be transferred if the value is less than 1.

A0100024

TRANSFER_LEN_AUX *Number of Bytes per Transfer

00000001

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

1

TRANSFER_LEN_AUX
RW
0

0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

TRANSFER_LEN_AUX

This field is valid only when DIR_CHANGE is set to 1. This
indicates the number of data bytes to transfer in a single transfer
unit (excluding slave address byte) for the transfers following the
direction change. If DIR_CHANGE is 1, the first write transfer

© 2016 - 2017 MediaTek Inc.

Page 107 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
length depends on TRANSFER_LEN, while the second read
transfer length depends on TRANSFER_LEN_AUX. Direction
change is always after the first transfer.
Note, no data will be transferred if the value is less than 1.

A0100028

TRANSAC_LEN

Number of Transfers per Transaction

00000001

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

1

TRANSAC_LEN
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

15:0

TRANSAC_LEN

This indicates the number of transfers in a single transaction.
Note, no data will be transferred if the value is less than 1.

A010002C

DELAY_LEN

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

Inter Delay Length
25

24

23

22

21

20

19

18

00000002
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

0

DELAY_LEN
RW
0

0

0

0

0

Bit(s)

Name

Description

7:0

DELAY_LEN

This sets the wait delay between consecutive transfers when
RS_STOP bit is set to 0 (the unit is the same as half pulse width).

A0100030
Bit

31

TIMING
30

29

Timing Control Register
28

27

26

25

Nam
e
Type
Rese
t
Bit
Nam

24
DA
TA
_R
EA
D_
AD
J
RW

23

22

21

00010303
20

19

14

13

12

11

10

9

8

17

16

DATA_READ_T
IME

RW

0
15

18

7

6

SAMPLE_CNT_

© 2016 - 2017 MediaTek Inc.

5

4

3

0

0

1

2

1

0

STEP_CNT_DIV

Page 108 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
DIV

e
Type
Rese
t

RW
0

1

RW
1

0

0

0

0

1

1

Bit(s)

Name

Description

24

DATA_READ_ADJ

When set to 1, data latch in sampling time during master reads are
adjusted according to DATA_READ_TIME value. Otherwise, by
default, data is latched at half of the high pulse width point.

18:16

DATA_READ_TIME

This value is valid only when DATA_READ_ADJ is set to 1. This
can be used to adjust so that data is latched in at earlier sampling
points (assuming data is settled by then) This value must be set to
less than or equal to half the high pulse width.

10:8

SAMPLE_CNT_DIV

Used for LS/FS only. This adjusts the width of each sample.

5:0

STEP_CNT_DIV

This specifies the number of samples per half pulse width (each
high or low pulse).

A0100034

CLOCK_DIV

Clock Divergence of I2C Source Clock

00000004

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CLOCK_DIV
RW
1

Bit(s)

Name

Description

2:0

CLOCK_DIV

f_clock_div is equal to SCK / (CLOCK_DIV+1)

Start

0

0

A0100038

START

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
ST
AR
T
RW

Nam
e
Type
Rese
t

0

Bit(s)

Name

Description

0

START

This register starts the transaction on the bus. It is automatically
de-asserted at the end of the transaction.

© 2016 - 2017 MediaTek Inc.

Page 109 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0100040

FIFO_STAT

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

13

28

12

FIFO Status
27

26

25

24

23

22

21

20

19

18

17

RD_ADDR

WR_ADDR

RO

RO

0

0

0

0

11

10

9

8

Nam
e

00000001

7

6

5

4

0

0

3

2

0

RO
0

0

0

0

0

Bit(s)

Name

Description

27:24

RD_ADDR

The current read address pointer. (only bit [2:0] has physical
meaning).

19:16

WR_ADDR

The current write address pointer. (only bit [2:0] has physical
meaning).

11:8

FIFO_OFFSET

WR_ADDR[3:0] - RD_ADDR[3:0]

1:0

WR_FULL_RD_EMPTY_

Bit 0 : FIFO is empty; Bit 1 : FIFO is full.

FIFO Address Clear

0

1
0
WR_FUL
L_RD_E
MPTY_
RO

FIFO_OFFSET

Type
Rese
t

16

1

A0100048

FIFO_ADDR_CLR

00000000

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
FIF
O_
AD
DR
_C
LR
WO

Nam
e
Type
Rese
t

0

Bit(s)

Name

Description

0

FIFO_ADDR_CLR

When written with a 1'b1, a 1 pulse FIFO_ADDR_CLR is generated
to clear the FIFO address to back to 0.

A0100050

IO_CONFIG

Bit
Nam
e
Type
Rese
t
Bit
Nam
e

31

30

29

28

27

26

IO Config
25

15

14

13

12

11

10

9

00000000

24

23

22

21

20

19

18

8

7

6

5

4

3

2

IDL
E_

© 2016 - 2017 MediaTek Inc.

17

16

1

0

SDA_SCL
_IO_CON

Page 110 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
OE
_E
N
RW

Type
Rese
t

FIG
RW

0

0

0

Bit(s)

Name

Description

8

IDLE_OE_EN

In open-drain mode, this bit should be set to 0. In push-pull mode,
this bit determines whether to drive bus in idle state.
0: don't drive bus in idle state
1: drive bus in idle state

1:0

SDA_SCL_IO_CONFIG

Bit 0 configures SCL IO; Bit 1 configures SDA IO
00: normal tri-state IO mode (push-pull mode)
11: open-drain mode

A0100060

HS

Bit
Nam
e
Type
Rese
t
Bit

30

31

High Speed Mode
29

28

27

26
25
24
HS_SAMPLE_C
NT_DIV

23

22

00010000
21

20

19

18
17
16
HS_STEP_CNT
_DIV

RW

15

14

13

12

11

Nam
e

RW

0

0

0

10

9

8

7

6

5

4

3

0

0

1

2

1

0
HS
_E
N
RW

MASTER_CODE

Type
Rese
t

RW
0

0

0

0

Bit(s)

Name

Description

26:24

HS_SAMPLE_CNT_DIV

Entering high-speed mode after the master code transfer is
complete the sample width becomes dependent on this parameter.

18:16

HS_STEP_CNT_DIV

Entering high-speed mode after the master code transfer is
complete the number of samples per half pulse width becomes
dependent on this value.

10:8

MASTER_CODE

This is a 3-bit programmable value to transmit the master code.
When set to HS mode, the frequency of master code is defined by
TIMING register and the frequency after the master code is defined
by HS register.

0

HS_EN

This enables the high-speed transaction. Note, set the RS_STOP to
1.

A0100070

SOFTRESET

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

Soft Reset
25

24

23

22

21

20

19

18

00000000
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
SO
FT
_R

Nam
e

© 2016 - 2017 MediaTek Inc.

Page 111 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
ES
ET
WO

Type
Rese
t

0

Bit(s)

Name

Description

0

SOFT_RESET

When written with a 1'b1, a 1 pulse soft reset is used as synchronous
reset to reset the I2C internal hardware circuits.

A0100074
Bit

DEBUGSTAT

31

30

29

28

Debug Status
27

26

25

24

23

00000100
22

21

20

19

18

17

Nam
e
Type
Rese
t
Bit

16
MA
ST
ER
_W
RIT
E
RO
0

15

14

13

Nam
e
Type
Rese
t

12

11

10

9

8
MA
ST
ER
_R
EA
D
RO

7

6

1

5

4

3

2

1

0

MASTER_STATE

RO
0

0

0

0

0

Bit(s)

Name

Description

16

MASTER_WRITE

DEBUG ONLY: 1 = current transfer is in the master write
direction

8

MASTER_READ

DEBUG ONLY: 1 = current transfer is in the master read
direction

4:0

MASTER_STATE

DEBUG ONLY: reads back the current master_state.
0: idle state;
1: I2C master is preparing to send the start bit, SCL=1, SDA=1;
2: I2C master is sending out the start bit, SCL=1, SDA=0;
3: I2C master/slave is preparing to transmit the data bit, SCL=0,
SDA=data bit (data bit can be changed when SCL=0);
4: I2C master/slave is transmitting data bit, SCL=1, SDA=data bit
(data bit is stable when SCL=1);
5: I2C master/slave is preparing to transmit ACK bit, SCL=0,
SDA=ACK (ACK bit can be changed when SCL=0);
6: I2C master/slave is transmitting the ACK bit, SCL=1, SDA=0
(ACK bit is stable when SCL=1);
7: I2C master is preparing to send the stop bit or repeated-start bit,
SCL=0, SDA=0/1 (0: stop bit; 1: repeated-start bit);
8: i2c master is sending out stop bit or repeated-start bit, SCL=1,
SDA=1/0 (1: stop bit; 0: repeated-start bit);
9: I2C master is in delay start between two transfers, SCL=1,
SDA=1;
10: I2C master is in FIFO wait state; for write transaction, it means

© 2016 - 2017 MediaTek Inc.

Page 112 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
FIFO is empty and the DMA controller needs to write data into
FIFO; for read transaction, it means FIFO is full and I2C master is
waiting for DMA controller to read data from FIFO, SCL=0,
SDA=don't care;
12: I2C master is preparing to send data bits of master code. This
state is used only in high-speed transaction, SCL=0, SDA=data bit
of master code (data bit of master code can be changed when
SCL=0);
13: I2C master is sending out data bit of master code. This state is
used only in high-speed transaction, SCL=1, SDA=data bit of
master code (data bit of master code is stable when SCL=1);
14: I2C master/slave is preparing to transmit NACK bit, SCL=0,
SDA=NACK bit (NACK bit can be changed when SCL=0); This state
is used only in high-speed transaction;
15: I2C master/slave is transmitting NACK bit, SCL=1, SDA=1; This
state is used only in high-speed transaction.

A0100078

DEBUGCTRL

Debug Control

00000000

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

WO

0
FIF
O_
AP
B_
DE
BU
G
RW

0

0

AP
B_
DE
BU
G_
RD

Nam
e
Type
Rese
t
Bit(s)

Name

Description

8

APB_DEBUG_RD

This bit is only valid when FIFO_APB_DEBUG is set to 1. Writing
to this register will generate a single pulsed read signal for reading
the FIFO data.

0

FIFO_APB_DEBUG

This is used for debug purposes. Use debugging tools to view the
memory map. Turning this bit on will block the normal APB read
access. APB read access to the FIFO is then enabled by writing to
APB_DEBUG_RD.
0: disable

A0110080

ACKERR_FLAG

Bit
Nam
e
Type
Rese
t
Bit
Nam

31

30

29

28

27

26

ACK Error Flag
25

24

23

22

21

20

19

00000000

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

2

1

DA

© 2016 - 2017 MediaTek Inc.

16

0
DA

Page 113 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e

Type
Rese
t

TA
_A
CK
ER
R_
CL
EA
R
RW

TA
_A
CK
ER
R

RW

0

0

Bit(s)

Name

Description

2

DATA_ACKERR_CLEAR

Write 1 to clear data phase acknowledgment error (bit[0]). Must
write back to 0 after clear.

0

DATA_ACKERR

After receiving ACK error interrupt (INTR_STAT[8]), check this bit
to distinguish address phase ACK error from data phase ACK error
0: address phase ACK error
1: data phase ACK error. Note data phase ACK error cannot be
detected during master receive mode.

© 2016 - 2017 MediaTek Inc.

Page 114 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

9.

SD/SDIO Card Controller

9.1.

Overview

The chipset hosts a mass storage device class (MSDC) — a USB computer peripheral connection protocol
supporting removable disk storage and an SD card controller.
1) SD memory card specification version 2.0
2) SDIO card specification version 2.0.
The controller can be configured as a host for the SD/SDIO card.

9.2.

Features

The main features of the controller:
•

32-bit access for control registers

•

8, 16, 32-bit access for FIFO in PIO mode

•

Built-in CRC circuit

•

Supports PIO mode, basic DMA mode, descriptor DMA mode for SD/SDIO

•

Interrupt capabilities

•

Data rate of up to 48Mbps in 1-bit mode, 48 x 4 Mbps in 4-bit mode, the module is targeted at 48MHz
operating clock

•

Programmable serial clock rate on SD bus (256 gears)

•

Card detection capabilities: MT7686 uses the EINT controller for card detection

•

Does not support SPI mode for SD memory card

•

Does not support suspend or resume for SD memory Card

© 2016 - 2017 MediaTek Inc.

Page 115 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
9.3.

Block diagram

Figure 9.3-1 shows the MSDC block diagram.
MSDC_TOP
GPIO IO Cups

MSDC_GDMA
GDMA_WQMU

MSDC_CORE

MSDC_CLKPAD

GDMA_WDMU
AHB Master Bus

GDMA_WDMA

32-bit

MSDC_RCTL

SPC

MSDC_WCTL

PSC

FIFO

SD

GDMA_WDCH
GDMA_WBLK
32-bit

MSDC_CMDPAD
1-bit/4-bit

SD/
SDIO

MSDC_DATPAD*4

GDMA_SH_BUF
(128Bytes)
FIFOC

HCLK_CK
AHB Slave Bus

MSDC_REG

32-bit

MSDC_REG_SYNC

MSDC_EVT

SD_CARD_CLKGE
N

SD_AUTOCMD

SD_VOLTAGE_DE
T

MSDC_SRC_CK

Figure 9.3-1. MSDC block diagram

9.4.
9.4.1.

Functions
Pin assignment

Table 9.4-1 presents the pins required for the SD memory card. Each pin corresponds to one IO pad. Note, that all
IO pads have embedded pull-up and pull-down resistors as they are shared by the SD memory card. The resistors
are controlled by the MSDC top register. The pull-down resistors for these pins can be used to save power.
Table 9.4-1. Sharing of pins for SD memory card controller
No.

Name

Type

SD

Description

1

MA_MC0_CK

O

CLK

Clock

2

MA_MC0_DA0

I/O/PP

DAT0

Data line bit 0

3

MA_MC0_DA1

I/O/PP

DAT1

Data line bit 1

4

MA_MC0_DA2

I/O/PP

DAT2

Data line bit 2

5

MA_MC0_DA3

I/O/PP

DAT3

Data line bit 3

6

MA_MC0_CM0

I/O/PP

CMD

Command / Bus State

© 2016 - 2017 MediaTek Inc.

Page 116 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
9.5.
9.5.1.

Programming sequence
MSDC recommended command sequence

1) SD command without response.
•

Check, if SDC_STA.SDCBUSY is 0 before issuing this command.

•

Check the status for MSDC_INT.SD_CMDRDY, MSDC_INT.SD_CMDTO and MSDC_INT.SD_RESP_CRCERR
bits.

2) SD command with response or R1B.
•

Check, if SDC_STA.SDCBUSY is 0 before issuing this command.

•

Check the status for MSDC_INT.SD_CMDRDY, MSDC_INT.SD_CMDTO and MSDC_INT.SD_RESP_CRCERR
bits.

•

The response can be found in SDC_RESP0 to SDC_RESP3.

3) SD command with data read/write transfer.
•

Check, if SDC_STA.SDCBUSY is 0 before issuing this command.

•

Check MSDC_INT.SD_CMDRDY/SD_CMDTO/SD_RESP_CRCERR bits for command phase status.

•

The response can be found in SDC_RESP0 to SDC_RESP3.

•

Enable DMA, if needed (DMA_CTRL register should be programmed).
Note, that DMA_CTRL register should be programmed after command register is programmed.

•

PIO mode can also be used to move data (MSDC_FIFOCS, MSDC_RXDAT, MSDC_TXDAT registers).

•

PIO mode and DMA mode cannot be switched during transfer or the result will be unexpected.

•

Check MSDC_INT.SD_XFER_COMPLETE/ DMA_DONE/ SD_DATTO/ SD_DATA_CRCERR for data phase
status.

4) For SD, software can choose to always check the status of SDC_STA.SDCBUSY before issuing a new
command. SDC_STA_CMDBUSY represents the command status.

9.6.

Register mapping

There is one MSDC IP in this SoC.
Table 9.6-1. MSDC register definition
MSDC number

Base address

Feature

MSDC0

0xA1030000

SD2.0/SDIO2.0

Module name: MSDC0 Base address: (+A1030000h)
Address
A1030000

Name
MSDC_CFG

Width
32

Register Function
MSDC Configuration Register

A1030004

MSDC_IOCON

32

A1030008

MSDC_PS

32

MSDC Pin Status Register

A103000C

MSDC_INT

32

MSDC Interrupt Register

A1030010

MSDC_INTEN

32

MSDC Interrupt Enable Register

A1030014

MSDC_FIFOCS

32

MSDC FIFO Control and Status Register

MSDC IO Configuration Register

© 2016 - 2017 MediaTek Inc.

Page 117 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Name

A1030018

MSDC_TXDATA

Width
32

Register Function

A103001C

MSDC_RXDATA

32

MSDC RX Data Port Register

A1030030

SDC_CFG

32

SD Configuration Register

A1030034

SDC_CMD

32

SD Command Register

A1030038

SDC_ARG

32

SD Argument Register

A103003C

SDC_STS

32

SD Status Register

A1030040

SDC_RESP0

32

SD Response Register 0

MSDC TX Data Port Register

A1030044

SDC_RESP1

32

SD Response Register 1

A1030048

SDC_RESP2

32

SD Response Register 2

A103004C

SDC_RESP3

32

SD Response Register 3

A1030050

SDC_BLK_NUM

32

SD Block Number Register

A1030058

SDC_CSTS

32

SD Card Status Register

A103005C

SDC_CSTS_EN

32

SD Card Status Enable Register
SD Card Data CRC Status Register

A1030060

SDC_DATCRC_STS

32

A1030080

SD_ACMD_RESP

32

SD ACMD Response Register

A1030090

DMA_SA

32

DMA Start Address Register

A1030094

DMA_CA

32

DMA Current Address Register

A1030098

DMA_CTRL

32

DMA Control Register
DMA Configuration Register

A103009C

DMA_CFG

32

A10300A0

SW_DBG_SEL

32

MSDC Software Debug Selection Register

A10300A4

SW_DBG_OUT

32

MSDC Software Debug Output Register

A10300A8

DMA_LENGTH

32

DMA Length Register

A10300B0

PATCH_BIT0

32

MSDC Patch Bit Register 0
MSDC Patch Bit Register 1

A10300B4

PATCH_BIT1

32

A10300EC

PAD_TUNE

32

MSDC Pad Tuning Register

A10300F0

DAT_RD_DLY0

32

MSDC Data Delay Line Register 0
MSDC Data Delay Line Register 1

A10300F4

DAT_RD_DLY1

32

A10300F8

HW_DBG_SEL

32

MSDC Hardware Debug Selection Register

A1030100

MAIN_VER

32

MSDC Main Version Register

A1030104

ECO_VER

32

MSDC ECO Version Register

A1030000

MSDC_CFG

Bit

31

30

29

MSDC Configuration Register

28

27

26

25

24

23

22

21

20

00000099
19

18

17

Name
Type
Reset
Bit

0
15

14

13

Name
Type
Reset

16
CARD
_CK_
MOD
E
RW

12

11

10

9

8

7
CARD
_CK_
STAB
LE
RU

0

0

0

1

CARD_CK_DIV
RW
0

0

0

0

0

6

© 2016 - 2017 MediaTek Inc.

5

4
3
2
1
0
CARD
CARD
PIO_
_CK_
_CK_ MSD
MOD RST
PWD
C
DRV_
E
EN
N
RW
RW
A0
RW
RW
1

1

0

0

1

Page 118 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

Description

16

CCKMD

CARD_CK_MODE

MS/SD card clock mode
1'b0: Use clock divider output where msdc_ ck is divided
by msdc_src_ck and program the bits bit[15]~bit[8].
1'b1: Use msdc_src_ck as msdc_ck, bit[15]~bit[8] is
ignored.

15:8

CCKDIV

MS/SD card clock divider

CARD_CK_DIV

The register field controls clock frequency of serial clock
on MS/SD bus. In non-DDR mode, msdc_ck equals SD
bus clock. For example, for SDR25 or HS, msdc_ck and
SD bus clock will be the same at 50MHz. In DDR mode,
msdc_ck is twice the SD bus clock. For example, for
DDR50, msdc_ck should be set to 100MHz and bus
clock will be 50MHz.
8'b00000000: msdc_ck =(1/2) * msdc_src_ck
8'b00000001: msdc_ck = (1/(4*1)) * msdc_src_ck
8'b00000010: msdc_ck = (1/(4*2)) * msdc_src_ck
8'b00000011: msdc_ck = (1/(4*3))* msdc_src_ck
8'b00010000: msdc_ck = (1/(4*16))* msdc_src_ck
8'b11111111: msdc_ck = (1/(4*255)) * msdc_src_ck
7

CCKSB

CARD_CK_STABLE

MS/SD card clock stability
After programming the CARD_CK_MODE or
CARD_CK_DIV, this bit will immediately go to "0" and
return to "1", if the clock output is stable. User should
poll this register to ensure the safety control of MSDC.
1'b0: Clock output is not stable
1'b1: Clock output is stable

4

CCKDRVE

CARD_CK_DRV_EN

SD/MS Card Bus Clock drive enable bit
Set this bit to 1 to enable MSDC bus clock driver.
The default bus state depends on MSDC_CFG[1]
CARD_CK_PWDN bit.
If MSDC_CFG[1] CARD_CK_PWDN= 1, the default
clock is in freerun state.
If MSDC_CFG[1] CARD_CK_PWDN = 0, the default
clock state is gated to 0.
Set this bit to 0 to put the bus state into tri-state.
Default is 1.
1'b0: Set the clock pad into tri-state.
1'b1: Enable MSDC to drive the clock pad, the state of
CLK depends on MSDC_CFG[1] CARD_CK_PWDN

3

PIO

PIO_MODE

MS/SD PIO mode
PIO mode selection. Default is in PIO mode.
1'b0: DMA mode
1'b1: PIO mode

2

RST

RST

Software reset
Writing 1 to this register will cause internal synchronous
reset of MS/SD controller, and it will not reset register

© 2016 - 2017 MediaTek Inc.

Page 119 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
settings and DMA controller.
The controller resets when this bit is 0. Software should
wait for this bit to return to 0 after writing 1.
1'b0: MS/SD controller is not in reset state
1'b1: MS/SD controller is in reset state
CCKPD

1

MSDC bus clock power down mode

CARD_CK_PWDN

This bit controls the card clock power down mode.
1'b0: Clock is gated to 0, if no command or data is
transmitted.
1’b1: Clock is in freerun state even if no command or
data is transmitted. The clock may still be stopped when
MSDC write data is not enough or there is no space for
next read data.
MSDC

0

MS/SD mode selection

MSDC

The register bit is used to configure the controller as the
host of a removable storage device or as the host of
SD/MMC memory card. The default value is to
configure the controller as the host of a removable
storage device.
1'b0: Configure the controller as the host of removable
storage device.
1'b1: Configure the controller as the host of SD/MMC
memory card

A1030004
Bit

MSDC_IOCON

MSDC IO Configuration Register

31

30

29

28

27

26

15

14

13

12

11

10

25

24

Name
Type
Reset
Bit
Name
Type
Reset

9
8
W_D
W_D W_D W_D1 W_D
W_D
_SMP
3_SM 2_SM _SMP 0_SM
_SMP
L_SE
PL
L
PL
PL
L
L
RW
RW
RW
RW
RW
RW
0

0

0

0

0

00000000

23
22
21
20
19
18
17
16
R_D7 R_D6 R_D5 R_D4 R_D3 R_D2 R_D1 R_D0
_SMP _SMP _SMP _SMP _SMP _SMP _SMP _SMP
L
L
L
L
L
L
L
L
RW
RW
RW
RW
RW
RW
RW
RW
0

0

0

0

7

6

5

4

0

R_D_
SMPL
_SEL
RW
0

0

0

0

0

3
2
1
0
D_DL
SDR1
YLIN R_D_ R_SM 04_C
E_SE SMPL PL LK_S
L
EL
RW
RW
RW
RW
0

Bit(s)

Mnemonic

Name

Description

23

RD7SPL

R_D7_SMPL

Read data 7 sample selection

0

0

0

This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge
22

RD6SPL

R_D6_SMPL

Read data 6 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge

© 2016 - 2017 MediaTek Inc.

Page 120 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1'b1: Sample read data by external bus clock falling
edge
21

RD5SPL

R_D5_SMPL

Read data 5 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge

20

RD4SPL

R_D4_SMPL

Read data 4 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge

19

RD3SPL

R_D3_SMPL

Read data 3 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge

18

RD2SPL

R_D2_SMPL

Read data 2 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge

17

RD1SPL

R_D1_SMPL

Read data 1 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge

16

RD0SPL

R_D0_SMPL

Read data 0 sample selection
This bit is only valid when bit 5 is ON
1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge

13

WD3SPL

W_D3_SMPL

SDIO interrupt sample selection
This bit is only valid when bit 9 is ON
1'b0: Sample SDIO interrupt by external bus clock
rising edge
1'b1: Sample SDIO interrupt by external bus clock
falling edge

12

WD2SPL

W_D2_SMPL

SDIO interrupt sample selection
This bit is only valid when bit 9 is ON
1'b0: Sample SDIO interrupt by external bus clock

© 2016 - 2017 MediaTek Inc.

Page 121 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
rising edge
1'b1: Sample SDIO interrupt by external bus clock
falling edge
11

WD1SPL

W_D1_SMPL

SDIO interrupt sample selection
This bit is only valid when bit 9 is ON
1'b0: Sample SDIO interrupt by external bus clock
rising edge
1'b1: Sample SDIO interrupt by external bus clock
falling edge

10

WD0SPL

W_D0_SMPL

CRC Status and SDIO interrupt sample
selection
This bit is only valid when bit 9 is ON
1'b0: Sample CRC Status and SDIO interrupt by
external bus clock rising edge
1'b1: Sample CRC Status and SDIO interrupt by
external bus clock falling edge

9

WDSPLSEL

W_D_SMPL_SEL

Data line rising/falling latch fine tune selection
in write transaction
1'b0: All data lines share the same value indicated by
MSDC_IOCON.W_D_SMPL
1'b1: Each data line has its own selection value
indicated by
Data line 0: MSDC_IOCON.W_D0_SMPL
Data line 1: MSDC_IOCON.W_D1_SMPL
Data line 2: MSDC_IOCON.W_D2_SMPL
Data line 3: MSDC_IOCON.W_D3_SMPL

8

WDSPL

W_D_SMPL

CRC Status and SDIO interrupt sample
selection
1'b0: Sample CRC status and SDIO interrupt by
external bus clock rising edge
1'b1: Sample CRC status and SDIO interrupt by
external bus clock falling edge

5

RDSPLSEL

R_D_SMPL_SEL

Data line rising/falling latch fine tune selection
in read transaction
1'b0: All data lines share the same value indicated by
MSDC_IOCON.R_D_SMPL
1'b1: Each data line has its own selection value
indicated by
Data line 0: MSDC_IOCON.R_D0_SMPL
Data line 1: MSDC_IOCON.R_D1_SMPL
Data line 2: MSDC_IOCON.R_D2_SMPL
Data line 3: MSDC_IOCON.R_D3_SMPL
Data line 4: MSDC_IOCON.R_D4_SMPL
Data line 5: MSDC_IOCON.R_D5_SMPL
Data line 6: MSDC_IOCON.R_D6_SMPL
Data line 7: MSDC_IOCON.R_D7_SMPL

© 2016 - 2017 MediaTek Inc.

Page 122 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
DDLSEL

3

D_DLYLINE_SEL

Data line delay line fine tune selection
1'b0: All data lines share the same delay selection value
indicated by PAD_TUNE.PAD_DAT_RD_RXDLY
1'b1: Each data line has its own delay selection value
indicated by
Data line 0: DAT_RD_DLY0.DAT0_RD_DLY
Data line 1: DAT_RD_DLY0.DAT1_RD_DLY
Data line 2: DAT_RD_DLY0.DAT2_RD_DLY
Data line 3: DAT_RD_DLY0.DAT3_RD_DLY
Data line 4: DAT_RD_DLY1.DAT4_RD_DLY
Data line 5: DAT_RD_DLY1.DAT5_RD_DLY
Data line 6: DAT_RD_DLY1.DAT6_RD_DLY
Data line 7: DAT_RD_DLY1.DAT7_RD_DLY

RDSPL

2

Read data sample selection

R_D_SMPL

1'b0: Sample read data by external bus clock rising
edge
1'b1: Sample read data by external bus clock falling
edge
RSPL

1

Command response sample selection

R_SMPL

1'b0: Sample response by external bus clock rising edge
1'b1: Sample response by external bus clock falling
edge
SDR104CKS

0

SDR104_CLK_SEL

SDR104 SCLK output clock control
This bit is only used when MSDC_CFG[17:16]
CARD_CK_MODE is 2'b01.
1'b0: Bus clock output equals inverted msdc_src_ck
1'b1: Bus clock output equals msdc_src_ck

A1030008

MSDC_PS

Bit

31
SD_
Name WP
Type RU

Reset
Bit

29

28

27

26

25

24

23

22

21

810F0002
20

CMD

15

14

13

12

11

10

9

0

17

16

1

1

RU
0

0

0

0

1

1

8

7

6

5

4

3

2

RW
0

18

1
CDDEBOUNCE

0

19

DAT

RU

1

Name
Type
Reset

30

MSDC Pin Status Register

1
0
CDST
CDEN
S
RU
RW

0

1

0

Bit(s)

Mnemonic

Name

Description

31

SDWP

SD_WP

Write protection switch status on SD memory
card
The register bit shows the status of the write protection
switch on the SD memory card. There is no default
reset value. The write protection pin is only used when
the controller is configured for the SD memory card.

© 2016 - 2017 MediaTek Inc.

Page 123 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1'b0: Write protection switch is ON. It means that
memory card is write-protected.
1'b1: Write protection Switch is OFF. It means that
memory card is writable.
CMD

24

Command line status

CMD

This bit reflects the command line value of the MSDC
bus.
23:16

DAT

Data line status

DAT

This bit reflects the data line value of MSDC bus (8bits).
15:12

CDDBCE

Card detection de-bounce timer

CDDEBOUNCE

The register field specifies the time interval for card debounce detection. The default value is 0. It means that
de-bounce interval is one 32kHz cycle. Increase the
counter by 1m to increase the interval by one clock
cycle.
CDSTS

1

Card detection status

CDSTS

1'b0: Card detection pin status is logic low
1'b1: Card detection pin status is logic high
CDEN

0

Card detect enable

CDEN

The register bit is used to control the card detection
circuit.
1'b0: Card detection is disabled
1'b1: Card detection is enabled

A103000C
Bit

MSDC_INT

MSDC Interrupt Register

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

21

00000000
20

Name
Type
Reset
Bit

19
18
17
DMA GPD_ BD_C
_PRO CS_E S_ER
TECT RR
R
W1C W1C W1C
0

SD_X
SD_D
DMA
SD_R
FER_
SD_C SD_C SD_S
ATA_ SD_D _XFE
SD_C ESP_
COM
MDT MDR DIOI
Name CRCE ATTO R_DO
STA CRCE
PLET
O
DY
RQ
RR
RR
NE
E

Type W1C
0
Reset

W1C

W1C

W1C

RU

W1C

W1C

W1C

W1C

0

0

0

0

0

0

0

0

5
4
3
SD_A
SD_A SD_A
UTOC
UTOC UTOC
DMA
MD_
MD_ MD_
_Q_E
RESP
CMD CMD
MPTY
_CRC
TO RDY
ERR
W1C W1C W1C W1C
0

0

0

0

0

2

1

0

MSD
MMC
C_CD
_IRQ
SC

0

W1C

W1C

0

0

Bit(s)

Mnemonic

Name

Description

19

DMAPROTECT

DMA_PROTECT

This register identifies if there is a write
operation to the DMA start address, length,
start bit or last buffer bit.

18

GPDCSERR

GPD_CS_ERR

GPD checksum error detected

17

BDCSERR

BD_CS_ERR

BD checksum error detected

© 2016 - 2017 MediaTek Inc.

16

Page 124 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
15

SDDCRCERR

SD_DATA_CRCERR

SD Data CRC error interrupt
Indicates that MS/SD controller detects a CRC error
after reading a block of data from the DAT line or
SD/MMC signals a CRC error after writing a block of
data to the DAT line.
1'b0: Otherwise
1'b1: MS/SD controller detected a CRC error after
reading a block of data from the DAT line or SD/MMC
signaled a CRC error after writing a block of data to the
DAT line

14

SDDTO

SD_DATTO

SD data timeout interrupt
Indicates that SD/MMC controller detects a timeout
condition while waiting for data token on the DAT line.
This bit is for both data read and data write.
For SD data read, timeout will occur when the read
data is not presented.
For SD data write, timeout will occur when the write
data CRC status is not presented if PATCH_BIT[30]
DETECT_WR_CRC_TIMEOUT = 1
1'b0: Otherwise
1'b1: SD/MMC controller detects a timeout condition
while waiting for data token on the DAT line

13

DMAXFDNE

DMA_XFER_DONE

DMA transfer done interrupt
The register bit indicates the status of data block
transfer.
1'b0: Otherwise
1'b1: A data block was successfully transferred

12

SDXFCPL

SD_XFER_COMPLETE SD Data transfer complete interrupt
This bit indicates the transaction is complete. While
performing tuning procedure (execute tuning is set to
1), SD_XFER_COMPLETE is not set to 1.

11

SDCSTA

SD CSTA update interrupt

SD_CSTA

The register bit indicates any bit in the register
SDC_CSTA is active, the register bit will be set to 1.
Software should clear the SDC_CSTA and this bit will
be de-asserted automatically.
1'b0: No SD memory card interrupt
1'b1: SD memory card interrupt exists
10

SDRCRCER

SD_RESP_CRCERR

SD Command CRC error interrupt
Indicates that SD/MMC controller detected a CRC
error after reading a response from the CMD line.
1'b0: Otherwise
1'b1: SD/MMC controller detected a CRC error after
reading a response from the CMD line

9

SDCTO

SD_CMDTO

SD Command timeout interrupt
Indicates that SD/MMC controller detected a timeout
while waiting for a response on the CMD line.
1'b0: Otherwise

© 2016 - 2017 MediaTek Inc.

Page 125 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1'b1: SD/MMC controller detected a timeout condition
while waiting for a response on the CMD line
8

SDCRDY

SD_CMDRDY

SD Command ready interrupt
For the command without response, the register bit
will be 1 once the command is complete on SD/MMC
bus.
For a command with response without busy, the
register bit will be 1 whenever the command is issued
onto SD/MMC bus and its corresponding response is
received without CRC error.
For a command with response with busy in DAT0, the
register bit will be 1 whenever the command is issued
onto SD/MMC bus and its corresponding response is
received without CRC error and the DAT0 transited
from busy to idle.
1'b0: Otherwise
1'b1: Command finished successfully without a CRC
error

7

SDIOIRQ

SD_SDIOIRQ

SD SDIO interrupt
This bit indicates an interrupt occurred in the SDIO
bus.
1'b0: No interrupt on SDIO bus
1'b1: Interrupt on SDIO bus

6

DMAQEPTY

DMA_Q_EMPTY

DMA queue empty interrupt
This bit is used to indicate that the current DMA queue
is empty. Only for Descriptor mode and Enhanced
mode.

5

SDACDRCRCER

SD_AUTOCMD_RESP_ SD auto command CRC error interrupt
CRCERR
This bit is set when detecting a CRC error in the Auto
command response.

4

SDACDCTO

SD_AUTOCMD_CMDT SD auto command timeout interrupt
O
This bit is set if no response is returned within a
specified cycle (64 clock cycles in spec) from the end
bit of auto command.

3

SDACDCRDY

SD_AUTOCMD_CMDR SD auto command ready interrupt
DY
This bit is set if auto command is executed without
CRC error or time out.

1

MSDCCDSC

MSDC_CDSC

MSDC Card detection status change interrupt
The register bit indicates if any interrupt for memory
card insertion/removal exists. Whenever memory card
is inserted or removed and card detection circuit is
enabled, i.e., the register bit CDEN in the register
MSDC_PS is set to 1, the register bit will be set to 1. It
will be reset when the register is read.
1'b0: Otherwise
1'b1: Card is inserted or removed

0

MMCIRQ

MMC_IRQ

MMC card interrupt
1'b0: Otherwise
1'b1: Indicates that MMC card interrupt event occurred

© 2016 - 2017 MediaTek Inc.

Page 126 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1030010
Bit

MSDC_INTEN

MSDC Interrupt Enable Register

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

21

20

Name
Type
Reset
Bit

EN_
EN_
EN_
EN_
SD_
SD_ EN_
SD_
SD_ EN_
DMA
EN_
XFE
RES SD_
DAT SD_
_XF
SD_
Name
R_C
P_C CMD
A_C DAT
ER_
CSTA
OMP
RCE TO
RCE TO
DON
RR
RR
LETE
E
Type
Reset

RW
0

RW
0

RW
0

RW
0

RW
0

RW
0

RW
0

5
4
EN_
EN_
SD_
SD_
EN_
EN_ EN_
AUT
AUT
DMA
SD_ SD_S
OCM
OCM
_Q_
CMD DIOI
D_R
D_C
EMP
RDY RQ
ESP_
MDT
TY
CRC
O
ERR
RW RW RW RW RW
0
0
0
0
0

00000000
19
18
17
EN_
EN_ EN_
DMA
GPD BD_
_PR
_CS_ CS_E
OTE
ERR RR
CT
RW RW RW
0
0
0
3
2
1
EN_
AUT
OCM
D_C
MDR
DY

16

0

EN_
EN_
MSD
MMC
C_C
_IRQ
DSC

RW
0

RW
0

Bit(s)

Mnemonic

Name

Description

19

ENDMAPROTECT

EN_DMA_PROTECT

DMA protection interrupt enable

RW
0

1'b0: Disable interrupt
1'b1: Enable interrupt
18

ENGPDCSERR

EN_GPD_CS_ERR

GPD checksum error interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

17

ENBDCSERR

EN_BD_CS_ERR

BD checksum error interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

15

ENSDDCRCERR

EN_SD_DATA_CRCERR

SD Data CRC error interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

14

ENSDDTO

EN_SD_DATTO

SD Data timeout interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

13

ENDMAXFDNE

EN_SD_DMA_XFER_DONE DMA transfer done interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

12

ENSDXFCPL

EN_SD_XFER_COMPLETE

SD Data transfer complete interrupt
enable
1'b0: Disable interrupt
1'b1: Enable interrupt

11

ENSDCSTA

EN_SD_CSTA

SD CSTA update interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

10

ENSDRCRCER

EN_SD_RESP_CRCERR

SD Command CRC error interrupt enable
1'b0: Disable interrupt

© 2016 - 2017 MediaTek Inc.

Page 127 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1'b1: Enable interrupt
ENSDCTO

9

SD Command timeout interrupt enable

EN_SD_CMDTO

1'b0: Disable interrupt
1'b1: Enable interrupt
ENSDCRDY

8

SD Command ready interrupt enable

EN_SD_CMDRDY

1'b0: Disable interrupt
1'b1: Enable interrupt
ENSDIOIRQ

7

SD SDIO interrupt enable

EN_SD_SDIOIRQ

1'b0: Disable interrupt
1'b1: Enable interrupt
ENDMAQEPTY

6

DMA queue empty interrupt enable

EN_DMA_Q_EMPTY

1'b0: Disable interrupt
1'b1: Enable interrupt
ENSDACDRCRCER

5

EN_SD_AUTOCMD_RESP_C SD auto command CRC error interrupt
RCERR
enable
1'b0: Disable interrupt
1'b1: Enable interrupt

ENSDACDCTO

4

EN_SD_AUTOCMD_CMDTO SD auto command timeout interrupt
enable
1'b0: Disable interrupt
1'b1: Enable interrupt

ENSDACDCRDY

3

EN_AUTOCMD_CMDRDY

SD auto command ready interrupt enable
1'b0: Disable interrupt
1'b1: Enable interrupt

ENMSDCCDSC

1

MSDC Card detection status change
interrupt enable

EN_MSDC_CDSC

1'b0: Disable interrupt
1'b1: Enable interrupt
ENMMCIRQ

0

MMC card interrupt enable

EN_MMC_IRQ

1'b0: Disable interrupt
1'b1: Enable interrupt

A1030014
Bit

31
FIFO
Name CLR
A0
Type

Reset
Bit
Name
Type
Reset

MSDC_FIFOCS
30

29

28

MSDC FIFO Control and Status
Register
27

26

25

24

22

21

20

19

18

17

16

TXFIFOCNT
RU

0
15

23

00000000

14

13

12

11

10

9

8

0

0

0

0

0

0

0

0

7

6

5

4

3

2

1

0

0

0

0

RXFIFOCNT
RU
0

0

0

Bit(s)

Mnemonic

Name

Description

31

FIFOCLR

FIFOCLR

Embedded FIFO clear

0

0

Write 1 into this bit to clear the FIFO. It returns to 0
when FIFO is cleared.

© 2016 - 2017 MediaTek Inc.

Page 128 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Software needs to check this bit to make sure clearing
FIFO sequence is done.
This bit can be used when the data read/write
sequence has an error.
23:16

TXFIFOCNT

TX FIFO count for MSDC write

TXFIFOCNT

8'd0: No data in FIFO
8'd1: 1 byte data in FIFO
8'd2: 2 bytes data in FIFO
8'd131: Maximum 131 bytes data in FIFO
Others: reserved
7:0

RXFIFOCNT

RX FIFO count for MSDC read

RXFIFOCNT

8'd0: No data in FIFO
8'd1: 1 byte data in FIFO
8'd2: 2 bytes data in FIFO
8'd131: Maximum 131 bytes data in FIFO
Others: reserved

A1030018
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

MSDC_TXDATA
30

29

28

MSDC TX Data Port Register

27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

PIO_TXDATA
WO
0
0
8

7

PIO_TXDATA
WO
0
0

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

PIOTXDATA

PIO_TXDATA

PIO mode TXDATA port
This register can be accessed by byte, half-word or
word. This port can only be accessed in PIO mode.
Otherwise, the transaction will be discarded.

A103001C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

MSDC_RXDATA
30

29

28

27

MSDC RX Data Port Register
26

25

24

23

0

0

0

0

0

0

PIO_RXDATA
RU
0
0
0

15

14

13

12

11

10

9

0

PIO_RXDATA
RU
0
0
0

0

0

0

0

0

8

7

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

PIORXDATA

PIO_RXDATA

PIO mode RXDATA port
This register can be accessed by byte, half-word or
word. This port can only be accessed in PIO mode.
Otherwise, the transaction will be discarded.

© 2016 - 2017 MediaTek Inc.

Page 129 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1030030
Bit

SDC_CFG

31

30

29

Name
Type
Reset
Bit

SD Configuration Register
28

27

26

25

24

23

22

DTOC

0
15

0
14

0
13

0
12

RW

0
11

0
10

0
9

0
8

7

6

21
20
19
INT_ SDIO
AT_ _INT
BLO _DE SDIO
CK_ T_E
GAP N
RW RW RW
0
1
0
5
4
3

00100000
18

2

Type
Reset
Mnemonic

Name

Description

31:24

DTOC

DTOC

Data Timeout Counter

16

BUSWIDT
H

Name

Bit(s)

17

0
1

RW

0
0
WAK
WAK EUP
EUP _SDI
_INS OIN
_EN T_E
N
RW RW
0
0

The period from the end of initial host read command
or the last read data block in a multiple block read
operation to the start bit of next read data block
requires at least two serial clock cycles. The counter is
used to extend the period (Read Data Access Time) in
unit of 1048576 serial clocks.
8'b00000000: Extend 1048576 more serial clock cycle
8'b00000001: Extend 1048576x2 more serial clock
cycle
8'b00000010: Extend 1048576x3 more serial clock
cycle
8'b11111111: Extend 1048576x 256 more serial clock
cycle
21

INTBGP

INT_AT_BLOCK_GAP Interrupt at block gap
This bit is valid only in 4-bit mode of the SDIO card
and selects a sample point in the interrupt cycle.
Setting to 1 enables interrupt detection at the block gap
for a multiple block transfer. Setting to 0 disables
interrupt detection during a multiple block transfer. If
the SD card cannot signal an interrupt during a
multiple block transfer, this bit should be set to 0.
When the Host Driver detects an SD card insertion, it
shall set this bit according to the CCCR of the SDIO
card.
1'b0: Disable interrupt detection at the block gap
1'b1: Enable interrupt detection at the block gap

20

SDIOIDE

SDIO_INT_DET_EN

SDIO interrupt detection enable
This bit is to inform the SD controller to sense the
SDIO interrupt
1'b0: SDIO interrupt detection is disabled
1'b1: SDIO interrupt detection is enabled if the SDIO

© 2016 - 2017 MediaTek Inc.

Page 130 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
bit is also on
SDIO

19

SDIO mode enable bit

SDIO

This bit is to enable the support to sense the SDIO
interrupt and disable the R4 response CRC check for
SDIO card
1'b0: SDIO mode is disabled
1'b1: SDIO mode is enabled
17:16

BUSWD

Bus width configuration

BUSWIDTH

This field is used to define the SD/MMC bus width
2'b00: 1 bit mode
2'b01: 4 bit mode
2'b10: 8 bit mode
2'b11: reserved
ENWKUPINS

1

WAKEUP_INS_EN

Card status change wakeup event enable bit
1'b0: Disable wakeup event for card status change
1'b1: Enable wakeup event for card status change

ENWKUPSDIOINT

0

WAKEUP_SDIOINT_E SDIO card interrupt wakeup event enable bit
N
1'b0: Disable wakeup event for SDIO card interrupt
1'b1: Enable wakeup event for SDIO card interrupt

A1030034
Bit

SDC_CMD

31

30

29

SD Command Register

28
AUTO
_CM
D
RW

27

0

0

0

0

0

0

15
14
13
GO_I
Name RQ STOP RW
Type RW RW RW

12

11

10

9

8

7

Reset

0

Name
Type
Reset
Bit

0

0

0

26

25

24

23

22

00000000
21

20

19

18

17

16

0

0

0

0

0

0

0

6
BREA
K
RW

5

4

3

2

1

0

0

0

0

0

0

LEN
RW

DTYPE

RSPTYP

RW

RW
0

0

0

0

CMD
RW
0

Bit(s)

Mnemonic

Name

Description

28

ACMD

AUTO_CMD

Auto command enable

0

This field determines use of auto command functions.
This function can be used in all modes including
PIO/Basic DMA/Descriptor DMA/Enhanced Mode.
There are two methods to stop Multiple-block read and
write operation.
(1) Auto CMD12 Enable
Multiple-block read and write commands for memory
require CMD12 to stop the operation. When ACMD-12
is used, MSDC issues CMD12 automatically when last
block transfer completes. Auto CMD12 error is
indicated to the MSDC_INT register. The Host Driver
shall not set this bit if the command does not require
CMD12. In particular, secure commands defined in the

© 2016 - 2017 MediaTek Inc.

Page 131 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Part 3 File Security specification do not require
CMD12.
(2) Auto CMD23 Enable
When ACMD-23 is used, MSDC issues a CMD23
automatically before issuing a command specified in
the CMD field. The Host Controller Version 3.00 and
later shall support this function. By writing the
Command register, MSDC issues a CMD23 first and
then issues a command specified by the CMD field in
SDC_CMD register. If response errors of CMD23 are
detected, the second command is not issued. A CMD23
error is indicated in the MSDC_INT register. 32-bit
block count value for CMD23 is set to
SDC_BLOCK_NUM register.
1'b0: Disable Auto Command
1'b1: Enable Auto CMD12
27:16

LEN

LEN

Length
The register field is used to define the length of one
block in unit of byte in a data transaction of block
mode or the data length in unit of byte in data
transaction of byte mode. The maximal value of block
length is 2048 bytes.
12'b000000000000: Reserved
12'b000000000001: Block length is 1 byte
12'b000000000010: Block length is 2 byte
12'b011111111111: Block length is 2047 byte
12'b100000000000: Block length is 2048 byte

15

GOIRQ

GO_IRQ

GO_IRQ command
The register bit indicates if the command is
GO_IRQ_STATE (CMD40) and used only for MMC
protocol. If the command is GO_IRQ_STATE, the
period between command token and response token
will not be limited.
1'b0: The command is not GO_IRQ_STATE
1'b1: The command is GO_IRQ_STATE

14

STOP

STOP

Stop command
The register bit indicates if the command is a stop
transmission command. It should be set to 1 when
CMD12 (SD/MMC) or CMD52 with I/O abort (SDIO)
is to be issued.
1'b0: The command is not a stop transmission
command
1'b1: The command is a stop transmission command

13

RW

RW

Command read write selection
The register bit defines if the command is a read
command or write command. The register bit is valid
only when the command will cause a transaction with
data token.

© 2016 - 2017 MediaTek Inc.

Page 132 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1'b0: The command is a read command
1'b1: The command is a write command
12:11

DTYPE

Data block selection

DTYPE

The register field defines data token type for the
command.
2'b00: No data token for the command
2'b01: Single block transaction (only available in block
mode)
2'b10: Multiple block transaction. (only available in
block mode)
2'b11: Stream operation. It only shall be used in MMC
protocol. (only available in block mode)
9:7

RSPTYP

Command response type

RSPTYP

3'b000: This command has no response.
3'b001: The command has R1/R5/R6/R7 response.
The response token is 48-bit with CRC check (For
SD/MMC/SDIO) (Not including the SDIO abort
command)
3'b010: The command has R2 response. The response
token is 136-bit (For SD/MMC)
3'b011: The command has R3 response. The response
token is 48-bit response, no CRC check (For SD/MMC)
3'b100: The command has R4 response. The response
token is 48-bit without CRC check (For SDIO) The
response token is 48-bit with CRC check (For MMC)
3'b111: The command has R1b response. The response
token is 48-bit (For SD/MMC/SDIO)
BREAK

6

Abort a pending MMC GO_IRQ command

BREAK

It is only valid for a pending GO_IRQ_MODE
command waiting for MMC interrupt response.
1'b0: Not a break command
1'b1: Break a pending MMC GO_IRQ_MODE
command in the controller.
5:0

CMD

A1030038
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

SD Memory Card command

CMD

SDC_ARG
30

29

SD Argument Register
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

ARG
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

ARG
RW
0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

ARG

ARG

Memory card controller argument register

© 2016 - 2017 MediaTek Inc.

Page 133 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A103003C
Bit

31
MMC
_ST
REA
Name M_
WR_
COM
PL
Type RU
Reset
0
Bit
15

SDC_STS
30

29

SD Status Register
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16
CMD
_WR
_BU
SY

14

13

12

11

10

9

8

7

6

5

4

3

W1C
0
1
0
CMD SDC
BUS BUS
Y
Y
RU RU
0
0

2

Name
Type
Reset
Bit(s)

Mnemonic

Name

Description

31

MMCSWRCPL

MMC_STREAM_WR_C MMC Stream mode write data is all flushed to
OMPL
MMC card
Software can use this bit to confirm last write data are
flushed to MMC then issue a STOP command.
This bit is only valid when the command
SDC_CMD.DTYPE=2'b11.
1'b0: Last Data are partially inside MSDC
1'b1: Last data are flushed to MMC card

16

CMD_WR_BUSY
CMDBSY

1

SD Command line busy status

CMDBUSY

Software should always read this bit to make sure the
command line is not busy before sending the next
command.
If the command is R1B or data read/write command,
Software should check the SDCBUSY bit, too.
Note: When auto command 12 is enabled, this bit will
be asserted immediately after SDC_CMD is written
and de-asserted after auto command 12 finishes.
1'b0: No transmission going on in CMD line on SD bus
1'b1: There is transmission going on in CMD line on SD
bus
SDCBSY

0

SD controller busy status

SDCBUSY

1'b0: SD controller is idle
1'b1: SD controller is busy

A1030040
Bit
Name
Type
Reset
Bit
Name

31

SDC_RESP0
30

29

28

SD Response Register 0
27

26

00000000

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESP0
RU
0
0

15

14

13

12

11

10

9

8

7

RESP0

© 2016 - 2017 MediaTek Inc.

Page 134 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset

RU
0

0

0

0

Bit(s) Mnemonic
31:0 RESP0

A1030044
Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

0

30

0

Name
RESP0

29

28

0

0

0

0

0

0

SD Response Register 1
27

0

26

00000000

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

RESP1
RU
0
0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

RESP1
RU
0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

RESP1

RESP1

Memory card controller response register 1

A1030048
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SDC_RESP2

31

30

29

28

SD Response Register 2
27

26

00000000

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

RESP2
RU
0
0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

RESP2
RU
0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

RESP2

RESP2

Memory card controller response register 2

A103004C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

SDC_RESP3

31

30

29

28

SD Response Register 3
27

26

00000000

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

RESP3
RU
0
0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

RESP3
RU
0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

RESP3

RESP3

Memory card controller response register 3

A1030050
Bit
Name
Type

0

Description
Memory card controller response register 0

SDC_RESP1

31

0

31

SDC_BLK_NUM
30

29

28

27

SD Block Number Register
26

25

24

23

22

21

00000001
20

19

18

17

16

BLOCK_NUMBER
RW

© 2016 - 2017 MediaTek Inc.

Page 135 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset
Bit
Name
Type
Reset

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

BLOCK_NUMBER
RW
0
0
0
0

0

0

0

0

0

1

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

BLKNUM

BLOCK_NUMBER

Memory card controller Block number
This field indicates the block number of data
transaction.
32'd0: Reserved
32'd1: 1 data block
32'd2: 2 data block
32'd3: 3 data block
32'hffffffff: 4GB-1 data block

A1030058
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

SDC_CSTS
30

29

SD Card Status Register
28

27

26

00000000

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

CSTS
W1C
0
0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

CSTS
W1C
0
0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

CSTS

CSTS

The register provides SD/MMC card status in the
response R1 or R1b field.
32’h0: keep the current value
Others: write 1 to each bit to clear the corresponding
bit.

A103005C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

SDC_CSTS_EN
30

29

28

SD Card Status Enable Register
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

00000000

23

22

21

20

19

18

17

16

CSTS_EN
RW
0
0

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

8

7

CSTS_EN
RW
0
0

Bit(s)

Mnemonic

Name

Description

31:0

CSTS_EN

CSTS_EN

This register is used to control the CSTA bit that will
generate MSDC_INT.SDCSTA

A1030060

SDC_DATCRC_STS

SD Card Data CRC Status Register

© 2016 - 2017 MediaTek Inc.

00000000

Page 136 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

DAT_CRCSTS_POS
RU
0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

7:0

DCSSP

DAT_CRCSTS_POS

MSDC read DATA CRC status

0

This register reflects the CRC status of data line[7:0].
This register is only for MSDC Read.
1'b0: No CRC error
1'b1: CRC error

A1030080
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

SD_ACMD_RESP
30

29

28

27

SD ACMD Response Register
24

23

00000000

26

25

22

21

20

19

18

17

16

0

0

0

0

0

0

AUTOCMD_RESP
RU
0
0
0
0

0

0

0

0

0

0

15

14

13

12

11

10

9

6

5

4

3

2

1

0

0

AUTOCMD_RESP
RU
0
0
0
0

0

0

0

0

0

0

0

0

0

0

0

8

7

Bit(s)

Mnemonic

Name

Description

31:0

ACMDRESP

AUTOCMD_RESP

SD Auto command response register
This register stores the response [39:8] of
ACMD12/ACMD23/ACMD19.

A1030090
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

DMA_SA
30

29

DMA Start Address Register
28

27

24

23

00000000

26

25

22

21

20

19

18

17

16

0

0

0

0

0

0

DMA_STR_ADDR
RW
0
0
0
0

0

0

0

0

0

0

15

14

13

12

11

10

9

6

5

4

3

2

1

0

0

DMA_STR_ADDR
RW
0
0
0
0

0

0

0

0

0

0

0

0

0

0

0

8

7

Bit(s)

Mnemonic

Name

Description

31:0

DMASA

DMA_STR_ADDR

The start address of the DMA address
This register is used to set the start address of the
DMA. In DMA basic mode, this field indicates the
source or destination address of the data transfer
which depends on the command. In Descriptor DMA
mode, this is the descriptor chain start address.

A1030094

DMA_CA

DMA Current Address Register

© 2016 - 2017 MediaTek Inc.

00000000

Page 137 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

DMA_CURR_ADDR
RU
0
0
0
0

0

0

0

0

0

0

15

14

13

12

11

10

9

6

5

4

3

2

1

0

0

DMA_CURR_ADDR
RU
0
0
0
0

0

0

0

0

0

0

0

0

0

0

0

8

7

Bit(s)

Mnemonic

Name

Description

31:0

DMACA

DMA_CURR_ADDR

The current address of the DMA address
This register is used to read the current address of the
DMA descriptor chain.

A1030098
Bit
Name
Type
Reset
Bit

DMA_CTRL

31

30

29

28

15

14

13

12

Name

BURST_SIZE

Type
Reset

1

RW
1

0

DMA Control Register
27

26

25

24

11
10
9
8
DMA
DMA DMA
LAST
_SPLI
_ALI _MO
_BUF
T_1K
GN
DE
RW
RW
RW
RW
0

0

0

00006000

23

22

21

20

19

7

6

5

4

3

0

Bit(s)

Mnemonic

Name

Description

14:12

BSTSZ

BURST_SIZE

DMA burst size

18

17

16

2
1
0
DMA DMA DMA
_RES _STO _STA
UME
P
RT
WO
A0
WO
0

0

0

This field is used to specify the maximum transfer
bytes allowed at the device per DMA burst. This field
cannot be modified when the DMA status is 1.
3'd3: 8 Bytes
3'd4: 16 Bytes
3'd5: 32 Bytes
3'd6: 64 Bytes
Other: Reserved
11

SPLIT1K

DMA_SPLIT_1K

This field is used to specify whether to split
burst when it crosses the 1K address boundary
1'b0:1K boundary not split
1'b1:1K boundary split

10

LASTBF

LAST_BUF

Last buffer of the basic DMA mode
This field indicates the last buffer in the basic DMA
mode

9

DMAALIGN

DMA_ALIGN

This field is used to specify whether there is
address alignment burst size
1'b0:No DMA burst size alignment
1'b1:DMA burst size alignment

8

DMAMOD

DMA_MODE

DMA operation mode

© 2016 - 2017 MediaTek Inc.

Page 138 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
This field indicates the operation mode of DMA
1'b0: Basic DMA mode
1'b1: Descriptor base DMA mode
DMARSM

2

DMA resume control register

DMA_RESUME

This bit is used to resume the DMA transaction. Read
always returns 0
DMASTOP

1

DMA Stop control register

DMA_STOP

This bit is used to stop the DMA transaction. When
software issues STOP command, it must wait for this
bit to de-assert or inactivate the DMA to guarantee a
complete stop.
DMASTART

0

DMA start control register

DMA_START

This bit is used to start the DMA transaction. Read
always returns 0

A103009C
Bit

DMA_CFG

DMA Configuration Register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

17

Name
Type
Reset
Bit

16
DMA
_CH
K_SU
M_12
B
RW
0

Name

MSDC_ACT
IVE_EN

AHB_HPRO
T_2_EN

Type
Reset

RW

RW

0

0

0

1
0
DMA
DMA
_DSC
_STA
P_CS
TUS
_EN
RW
RU

0

0

Bit(s)

Mnemonic

Name

16

DMACHKSUM12B

DMA_CHK_SUM_12B This register indicates GPD/BD checksum
length is 16bytes or 12bytes

0

Description

1'b0: GPD/BD checksum cover 16byte
1'b1: GPD/BD checksum only cover 12byte
13:12

MSDCACTIVEEN

MSDC_ACTIVE_EN

This register indicates how to control
msdc_active
2'b00: dynamic control msdc_active
2'b01: msdc_active = 0
2'b10: msdc_active = 1
2'b11: Reserved

9:8

AHBHPROT2EN

AHB_HPROT_2_EN

This register determines how to control
hprot_2 pin of AHB bus
AHB_HPROT_2_EN = 2'b00, and Basic DMA Mode
All write transfers of a burst are accessed in bufferable
mode except the last DMA burst
AHB_HPROT2_2_EN=2'b00, and Descriptor DMA
Mode all write transfers of a burst are accessed in

© 2016 - 2017 MediaTek Inc.

Page 139 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
bufferable mode except the hardware’s own update
transfer.
2'b00: dynamic control hprot_2
2'b01: hprot_2 = 0
2'b10: hprot_2 = 1
DSCPCSEN

1

DMA descriptor checksum enable

DMA_DSCP_CS_EN

This bit is used to enable or disable the checksum
validation function for the descriptor. This field cannot
be modified when the DMA status is 1.
DMASTS

0

DMA status

DMA_STATUS

This bit is used to indicate the status of the DMA.
1'b0: DMA engine is inactive
1'b1: DMA engine is active

A10300A0
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

SW_DBG_SEL
30

15

0

29

14

0

28

13

0

MSDC S/W Debug Selection Register

27

12

26

11

0

25

10

0

0

24

9

0

23

8

22

7

DBG_SEL
RW
0
0

21

20

19

00000000
18

17

16

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

15:0

SWDBGSEL

DBG_SEL

MSDC debug selection
Reserved

A10300A4
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

SW_DBG_OUT
30

29

28

MSDC S/W Debug Output Register
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

DBG_OUT
RU
0
0
8

7

DBG_OUT
RU
0
0

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

SWDBGO

DBG_OUT

MSDC debug output
32 bit output selected by SW_DBG_SEL register

A10300A8
Bit
Name
Type
Reset
Bit

31

DMA_LENGTH
30

29

28

DMA Length Register
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

24

23

XFER_SIZE
RW
0
0
8

7

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

© 2016 - 2017 MediaTek Inc.

Page 140 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Name
Type
Reset

0

0

0

0

0

0

0

XFER_SIZE
RW
0
0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

XFSZ

XFER_SIZE

DMA total transfer size

0

0

0

0

This field is used to specify the number of DMA
transfer bytes. This field is only valid in basic DMA
mode.

A10300B0
Bit

31

30

EN_
MMC
Name _DRV
_RES
P

Type
Reset
Bit

PATCH_BIT0

RW

29

28

DETE
CT_ SPC_ SDIO
WR_ ALW _INT
CRC_ AYS_ _DLY
TIME PUSH _SEL
OUT
RW
RW
RW

27

26

SDC_
CMD
_CM
DFAI
L_SE
L
RW

25

24

23

22

21

403C004F

20

19

18

17

16

SDC_
CMD
_IDR
T_SE
L

SDC_CFG_WDOD

SDC_CFG_BSYDLY

SDIO
_CFG
_INT
C_SE
L

RW

RW

RW

RW

0

1

0

0

0

0

0

0

0

0

1

1

1

1

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2
DIS_
REFL
ECT_
CMD
WR_
WHE
N_BS
Y
RW

1

MSD
C_FI
Name FO_R
D_DI
S

Type
Reset

MSDC Patch Bit Register 0

INT_DAT_LATCH
_CK_SEL

RW

reserved1

RW

0

0

0

RW
0

1

0

0

1

0

EN_S
DC_O
reser
DD_8
ved0
BIT_
SUP

1

RW

RW

1

1

Bit(s)

Mnemonic

Name

Description

31

PTCH31

EN_MMC_DRV_RESP

Enable MSDC always drives the bus,
when the output is a wakeup response,
such as BREAK.
1'b0: Disable
1'b1: Enable

30

PTCH30

DETECT_WR_CRC_TIMEOUT

MSDC write data CRC phase timeout
detection
1'b0: Does not detect CRC phase timeout
1'b1: Detects CRC phase timeout

29

PTCH29

SPC_ALWAYS_PUSH

SPC Buffer push mechanism
1'b0: Push the buffer only when read transfer is
on-going
1'b1: Always push the buffer

28

PTCH28

SDIO_INT_DLY_SEL

SDIO interrupt latch time selection
1'b0: Latch the data line value in internal SDIO
interrupt period
1'b1: Latch the data line value in 1 clock delay of
internal SDIO interrupt period

© 2016 - 2017 MediaTek Inc.

Page 141 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
27

PTCH27

SDC_CMD_CMDFAIL_SEL

SDIO interrupt period recovery selection
1'b0: SDIO interrupt period will re-start after a
CMD12 or CMD52 command is issued
1'b1: SDIO interrupt period whenever DAT line
is not busy

26

PTCH26

SDC_CMD_IDRT_SEL

SD identification response time selection
The register bit indicates if the command has a
response with NID (that is, 5 serial clock cycles
as defined in SD Memory Card Specification
Part 1 Physical Layer Specification version 1.0)
response time. The register bit is valid only
when the command has a response token. Thus,
the register bit must be set to 1 for CMD2
(ALL_SEND_CID) and ACMD41
(SD_APP_OP_CMD).
1'b0: Otherwise.
1'b1: The command has a response with NID
response time.

25:22

PTCH22

SDC_CFG_WDOD

SD Write Data Output Delay
The period from response finish for the initial
host write command or the last write data block
in a multiple block write operation to the start
bit of the next write data block requires at least
two serial clock cycles. The register field is used
to extend the period (Write Data Output Delay)
in the unit of one serial clock.
4'b0000: Not extended.
4'b0001: Extended by one more serial clock
cycle.
4'b0010: Extended by two more serial clock
cycles.
4'b1111: Extended by fifteen more serial clock
cycles.

21:18

PTCH18

SDC_CFG_BSYDLY

SD R1B busy detection mode
The register field is only valid for the commands
with R1b response. If the command has a
response of R1b type, MS/SD controller must
monitor the data line 0 for card busy status from
the bit time that is two serial clock cycles after
the command end bit to check if operations in
SD/MMC Memory Card have finished. The
register field is used to expand the time between
the command end bit and end of detection
period to detect card busy status. If time is up
and there is no card busy status on data line 0,
then the controller will abandon the detection.
4'b0000: Not extended.
4'b0001: Extended by one more serial clock
cycle.
4'b0010: Extended by two more serial clock
cycles.

© 2016 - 2017 MediaTek Inc.

Page 142 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
4'b1111: Extended by fifteen more serial clock
cycles.
PTCH17

17

SDIO Interrupt model selection

SDIO_CFG_INTC_SEL

1'b0: Only when data line [1] = 0 and then
trigger SDIO interrupt event
1'b1: Only when data line [3:0] = 4'b1101 and
then trigger SDIO interrupt event
PTCH15

15

MSDC RXFIFO Read Disable

MSDC_FIFO_RD_DIS

1'b0: Disable FIFO read permission to RXFIFO
in PIO mode
1'b1: Enable FIFO read permission to RXFIFO in
PIO mode
INTCKS

9:7

Internal MSDC clock phase selection

INT_DAT_LATCH_CK_SEL

Total 8 stages, each stage can delay 1 clock
period of msdc_src_ck
6:3

reserved1
PTCH02

2

DIS_REFLECT_CMDWR_WHEN_ Enable SD command register write
BSY
monitor
1'b0: Enable monitor function
1'b1: Disable monitor function

PTCH01

1

Enable SD odd number support for 8-bit
data bus

EN_SDC_ODD_8BIT_SUP

1'b0: Disable
1'b1: Enable
0

reserved0

A10300B4
Bit

31
MSD
C_CK
Name _SHB
FF_C
KEN
Type RW
1
Reset

Bit

15

PATCH_BIT1
30
MSD
C_CK
_RCT
L_CK
EN
RW
1
14

Name
Type
Reset

MSDC Patch Bit Register 1

29
28
27
26
25
MSD
MSD MSD MSD
MSD
C_CK
C_CK C_CK C_CK
C_CK
_WC
_AC _VOL _PSC
_SD_
TL_C
MD_ DET_ _CKE
CKEN
KEN
CKEN CKEN N
RW
RW
RW
RW
RW
1
1
1
1
1
13
12
BIAS
BIAS
_EXT
_EN1
BIAS
8IO_
_28N
28NM
M
RW
RW
0

0

11

10

9

24
23
MSD AHB_
C_CK CK_G
_SPC DMA
_CKE _CKE
N
N
RW
RW
1
1
8

7

22

1

1

1

1

1

1

16
ENAB
LE_S
INGL
E_BU
RST
RW
0

6

5

4

3

2

1

0

RW

RW

RW

0

0

0

0

19

18

17

RW

BIAS_TUNE_28NM

0

20

reserved2

GET_
CRC_
MAR
GIN

0

21

FFFE0009

GET_
BUSY CMD_RSP_TA_CN WRDAT_CRCS_T
_MA
A_CNTR
TR
RGIN
RW
0

0

RW
1

0

0

1

Bit(s)

Mnemonic

Name

Description

31

MSHBFCKEN

MSDC_CK_SHBFF_CKEN

msdc_src_ck clock enable bit for SHBFF
1'b0: Disable
1'b1: Enable

30

MRCTLCKEN

MSDC_CK_RCTL_CKEN

msdc_src_ck clock enable bit for RCTL

© 2016 - 2017 MediaTek Inc.

Page 143 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1'b0: Disable
1'b1: Enable
29

MWCTLCKEN

MSDC_CK_WCTL_CKEN

msdc_src_ck clock enable bit for WCTL
1'b0: Disable
1'b1: Enable

28

MSDCKEN

MSDC_CK_SD_CKEN

msdc_src_ck clock enable bit for SD
1'b0: Disable
1'b1: Enable

27

MACMDCKEN

MSDC_CK_ACMD_CKEN

msdc_src_ck clock enable bit for ACMD
1'b0: Disable
1'b1: Enable

26

MVOLDTCKEN

MSDC_CK_VOLDET_CKEN

msdc_src_ck clock enable bit for
VOLDET
1'b0: Disable
1'b1: Enable

25

MPSCCKEN

MSDC_CK_PSC_CKEN

msdc_src_ck clock enable bit for PSC
1'b0: Disable
1'b1: Enable

24

MSPCCKEN

MSDC_CK_SPC_CKEN

msdc_src_ck clock enable bit for SPC
1'b0: Disable
1'b1: Enable

23

HGDMACKEN

AHB_CK_GDMA_CKEN

hclk_ck clock enable bit for GDMA
1'b0: Disable
1'b1: Enable

22:17
16

reserved2
SINGLEBURST

ENABLE_SINGLE_BURST

The AHB bus will not support incr1 burst
type in the future. It will only affect the
AHB bus MSDC design, but not the AXI
bus design
1'b0:hardware will send incr1 burst type
1'b1: hardware will send single burst type
instead of incr1 type

13

BIAS28R0

BIAS_EXTBIAS_28NM

28NM BIAS Controller register 0

12

BIAS28R1

BIAS_EN18IO_28NM

28NM BIAS Controller register 1

11:8

BIAS28R2

BIAS_TUNE_28NM

28NM BIAS Controller register 2

7

GETCRCMARGIN

GET_CRC_MARGIN

This will add margin for getting the CRC
status when the card response CRC does
not match with the 2 cycles (described in
the SD specification) starting from the
end bit
1'b0: 8 cycles are reserved to get the CRC status
from write data CRC end bit
1'b1: 16 cycles reserved for getting CRC status
from write data CRC end bit

6

GETBUSYMARGIN GET_BUSY_MARGIN

This will add margin for the get busy

© 2016 - 2017 MediaTek Inc.

Page 144 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
state of data0
1'b0: 1 cycle reserved for get busy state from
SRC status end bit
1'b1: 3 cycles reserved for get busy state from
SRC status end bit
CMDTA

5:3

CMD response turn around period

CMD_RSP_TA_CNTR

The turn around cycle = CMD_RSP_TA_CNTR
+ 2, Only for USH104 mode, this register
should be set to 0 in non-UHS104 mode
WRTA

2:0

Write data and CRC status turn around
period

WRDAT_CRCS_TA_CNTR

The turn around cycle =
WRDAT_CRCS_TA_CNTR + 2, Only for
USH104 mode, this register should be set to 0
in non-UHS104 mode

A10300EC
Bit

31

Name
Type
Reset
Bit

PAD_TUNE
30

29

MSDC Pad Tuning Register

28

27

0

0

0

0

RW
0

0

0

21
PAD_
CMD
_RD_
RXDL
Y_SE
L
RW
0

13
PAD_
DAT_
RD_R
XDLY
_SEL
RW

12

11

10

9

8

7

6

5

0

0

PAD_CLK_TXDLY

0

0

15

14

Name
Type
Reset

RW
0

26

25

24

23

22

PAD_CMD_RESP_RXDLY

RW
0

19

0

0

RW
0

0

0

4

3

2

1

0

0

0

17

16

PAD_DAT_WR_RXDLY

RW
0

18

PAD_CMD_RXDLY

DELA
Y_EN

PAD_DAT_RD_RXDLY

0

00000000
20

RW
0

Bit(s)

Mnemonic

Name

Description

31:27

CLKTDLY

PAD_CLK_TXDLY

CLK Pad TX Delay Control

0

0

0

0

This register is used to add delay to CLK phase.
Total 32 stages
26:22

CMDRRDLY

PAD_CMD_RESP_RXD CMD Response Internal Delay Line Control
LY
This register is used to fine-tune response phase
latched by MSDC internal clock
Total 32 stages

21

CMDRRDLYSEL

PAD_CMD_RD_RXDLYDecide if CMD Response passes through data
_SEL
delay line1 or not
1'b0: pass
1'b1: do not pass

20:16

CMDRDLY

PAD_CMD_RXDLY

CMD Pad RX Delay Line Control
This register is used to fine-tune CMD pad macro
response latch timing
Total 32 stages

13

DATRRDLYSEL

PAD_DAT_RD_RXDLY Decide if RX data passes through data delay

© 2016 - 2017 MediaTek Inc.

Page 145 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
line1 or not

_SEL

1'b0: pass
1'b1: do not pass
12:8

DATRRDLY

PAD_DAT_RD_RXDLY DAT Pad RX Delay Line Control (for MSDC
read only)
This register is used to fine-tune DAT pad macro read
data latch timing
Total 32 stages

DELAYEN

7

Enable all delay cell toggling when powered on

DELAY_EN

1'b0: disable delay cell toggling default
1'b1: enable delay cell toggling default
4:0

DATWRDLY

PAD_DAT_WR_RXDLY Write Data Status Internal Delay Line Control
This register is used to fine-tune write status phase
latched by MSDC internal clock
Total 32 stages

A10300F0
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

DAT_RD_DLY0
30

29

28

MSDC Data Delay Line Register 0
27

26

25

24

23

22

21

20

DAT0_RD_DLY

00000000
19

14

13

0

0

0

0

12

11

10

9

8

7

6

5

0

0

0

0

0

4

3

2

1

0

DAT2_RD_DLY

DAT3_RD_DLY

RW
0

16

RW

0

0

17

DAT1_RD_DLY

RW
15

18

RW

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

28:24

DAT0RDDLY

DAT0_RD_DLY

DAT0 Pad RX Delay Line Control (for MSDC
RD)

0

Total 32 stages
20:16

DAT1RDDLY

DAT1 Pad RX Delay Line Control (for MSDC
RD)

DAT1_RD_DLY

Total 32 stages
12:8

DAT2RDDLY

DAT2 Pad RX Delay Line Control (for MSDC
RD)

DAT2_RD_DLY

Total 32 stages
4:0

DAT3RDDLY

DAT3 Pad RX Delay Line Control (for MSDC
RD)

DAT3_RD_DLY

Total 32 stages

A10300F4
Bit
Name
Type
Reset
Bit
Name
Type

31

DAT_RD_DLY1
30

29

28

MSDC Data Delay Line Register 1
27

26

25

24

23

22

21

20

DAT4_RD_DLY

00000000
19

RW
15

14

13

18

17

16

DAT5_RD_DLY
RW

0

0

0

0

0

12

11

10

9

8

7

6

5

0

0

0

0

0

4

3

2

1

0

DAT6_RD_DLY

DAT7_RD_DLY

RW

RW

© 2016 - 2017 MediaTek Inc.

Page 146 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset

0

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

28:24

DAT4RDDLY

DAT4_RD_DLY

DAT4 Pad RX Delay Line Control (for MSDC
RD)

0

Total 32 stages
20:16

DAT5RDDLY

DAT5 Pad RX Delay Line Control (for MSDC
RD)

DAT5_RD_DLY

Total 32 stages
12:8

DAT6RDDLY

DAT6 Pad RX Delay Line Control (for MSDC
RD)

DAT6_RD_DLY

Total 32 stages
DAT7RDDLY

4:0

DAT7 Pad RX Delay Line Control (for MSDC
RD)

DAT7_RD_DLY

Total 32 stages

A10300F8
Bit

31

Name
Type
Reset
Bit
Name
Type
Reset

15

HW_DBG_SEL
28

MSDC H/W Debug Selection Register

30
HW_
DBG_
WRA
P_SE
L
RW

29

27

26

25

24

23

0

0

0

0

0

0

0

0

0

0

0

0

14

13

12

11

10

9

8

7

6

5

4

3

RW

0

21

20

HW_DBG_
WRAP_TYP
E_SEL

HW_DBG0_SEL

0

22

19

RW

RW

RW
0

0

0

16

0

0

0

2

1

0

0

0

0

RW

HW_DBG3_SEL

0

17

HW_DBG1_SEL

HW_DBG2_SEL
0

00000000
18

0

0

0

0

Bit(s)

Mnemonic

Name

Description

30

DBGWSEL

HW_DBG_WRAP_SEL Hardware debug output selection for wrapper
0: Select original debug pins
1: Select wrapper debug pins

29:24

DBG0SEL

HW_DBG0_SEL

Hardware debug output selection

23:22

DBGWTSEL

HW_DBG_WRAP_TYP Hardware debug output selection for wrapper
E_SEL
2'd0: Select dbg_in20~dbg_in3b = DRAM_DBG
2'd1: Select dbg_in20~dbg_in3b = RISC_DBG
2'd2: Select dbg_in20~dbg_in3b = AHBM_DBG
2'd3: Select dbg_in20~dbg_in3b = AHBS_DBG

21:16

DBG1SEL

HW_DBG1_SEL

Hardware debug output selection

13:8

DBG2SEL

HW_DBG2_SEL

Hardware debug output selection

7:0

DBG3SEL

HW_DBG3_SEL

Hardware debug output selection

A1030100
Bit
Name
Type
Reset

31

0

MAIN_VER
30

0

29

1

28

0

MSDC Main Version Register
27

0

26

0

25

0

24

23

MAIN_VER
RO
0
0

20160503

22

21

20

19

18

17

16

0

0

1

0

1

1

0

© 2016 - 2017 MediaTek Inc.

Page 147 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Name
Type
Reset

15

0

14

0

13

0

12

0

11

10

0

1

9

0

8

7

MAIN_VER
RO
1
0

6

5

4

3

2

1

0

0

0

0

0

0

1

1

Bit(s)

Mnemonic

Name

Description

31:0

MAINVER

MAIN_VER

Main Version

A1030104
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

ECO_VER
30

29

MSDC ECO Version Register
28

27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

ECO_VER
RO
0
0
8

7

ECO_VER
RO
0
0

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Mnemonic

Name

Description

31:0

ECOVER

ECO_VER

ECO Version

© 2016 - 2017 MediaTek Inc.

Page 148 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

10. I2S0
10.1.

Overview

I2S0 is placed on AHB bus to support fast data transfers and has APB interface for setting the control register (CR).
I2S0 contains CLK CON, I2S OUT, I2S IN, DL FIFO and ULFIFO. The block diagram is shown in Figure 10.1-1.

XO/XPLL/I2S_BCLK domain

I2S_ MCLK

XPLL

PLL1/PLL2 domain
Cortex - M4

CLK ON

DL FIFO

I2S_TX
I 2S

DMA
TX

audio_ahb_slave
(h2s bridge)

DMA
DMA
RX

1

External
audio
codec

I2S OUT
UL FIFO

I 2S

I2S IN

1

I2S_RX
I2S_FS

Audio top CR

APB
slave

Memory

I2S_ BCLK

Figure 10.1-1. I2S block diagram
Keywords: Audio Codec, XPLL, CLKCON, I2S, AHB slave, DMA, UL DL FIFO, I2S0 CR, APB slave, XO (26M only), PLL1,
PLL2.

10.2.

IO interface

•

AHB slave interface (refer to AMBA v2.0)

•

APB slave interface (refer to AMBA v3.0)

•

Maximum internal delay of each interface is 13.3ns. Only supports 16bits per channel.

The I2S mode interface for master mode and slave mode is shown in Table 10.2-1 and Table 10.2-2. The TDM
mode interface for master mode and slave mode is shown in Table 10.2-3 and Table 10.2-4.
Table 10.2-1. I2S mode interface – master mode
PIN name

Direction

Description

I2S_MCLK

Output

26/24.576/22.5792MHz

I2S_BCLK

Master : Output

I2S_FS*32

I2S_FS

Master : Output

11.025, 22.05, 44.1, 88.2, 176.4 kHz
8, 12, 16, 24, 32, 48, 96, 192 kHz

© 2016 - 2017 MediaTek Inc.

Page 149 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
PIN name

Direction

Description

I2S_TX

Output

TX data

I2S_RX

Input

RX data
Table 10.2-2. I2S mode interface – slave mode

PIN name

Direction

Description

I2S_MCLK

Output

26/24.576/22.5792MHz

I2S_BCLK

Slave : Input

I2S_FS*32

I2S_FS

Slave : Input

11.025, 22.05, 44.1, 88.2, 176.4 kHz
8, 12, 16, 24, 32, 48, 96, 192 kHz

I2S_TX

Output

TX data

I2S_RX

Input

RX data
Table 10.2-3. TDM mode interface – master mode

PIN name

Direction

Description

I2S_MCLK

Output

26/24.576/22.5792MHz

I2S_BCLK

Master : Output

I2S_FS

Master : Output

I2S_FS*32, I2S_FS*64
11.025, 22.05, 44.1, 88.2, 176.4 kHz
8, 12, 16, 24, 32, 48, 96, 192 kHz

I2S_TX

Output

TX data

I2S_RX

Input

RX data
Table 10.2-4. TDM mode interface – slave mode

PIN name

Direction

Description

I2S_MCLK

Output

26/24.576/22.5792MHz

I2S_BCLK

Slave : Input

I2S_FS

Slave : Input

I2S_FS*32, I2S_FS*64, I2S_FS*128
11.025, 22.05, 44.1, 88.2, 176.4 kHz
8, 12, 16, 24, 32, 48, 96, 192 kHz

I2S_TX

Output

TX data

I2S_RX

Input

RX data

NOTE1: 8 channel TDM doesn’t support 192kHz and 176.4kHz
NOTE2: For master mode, I2S_MCLK frequencies only support relative sample rates listed in Table 10.2-5,
I2S_MCLK from 24.576/22.5792MHz is for high definition (HD) mode.
Table 10.2-5. Relationship between MCLK and sample rate
I2S_MCLK

Sample Rate

26MHz (XO or XPLL)

8, 12, 16, 24, 32, 48 kHz

24.576MHz (XPLL)

8, 12, 16, 24, 32, 48, 96, 192 kHz

22.5792MHz (XPLL)

11.025, 22.05, 44.1, 88.2, 176.4 kHz

© 2016 - 2017 MediaTek Inc.

Page 150 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
10.3.

I2S OUT and I2S IN

I2S OUT and I2S IN support standard I2S protocol and both master/slave mode. The I2S protocol is in Figure 10.3-1.
The TDM mode protocol is in Figure 10.3-2, Figure 10.3-3 and Figure 10.3-4.
1/SR

…

…

I2S_BCLK

I2S_FS
1T delay

I2S_TX/RX

R[0]

L[15]

L[14]

L[13]

…

L[2]

L[1]

L[0]

R[15]

R[14]

R[13]

Left channel

…

R[2]

R[1]

R[0]

Right channel

Figure 10.3-1. I2S protocol waveform
If I2S OUT operates in mono mode, R[15:0] will be the same as L[15:0]. If I2S IN operates in mono mode, R[15:0]
will not affect I2S IN’s output to UL FIFO.
Note: When I2S acts as slave and connects to the external codec, I2S IN and I2S OUT will use the same BCLK/FS
from the external codec. Therefore, the sample rate of TX/RX should be the same. However, there is a down rate
mode where TX SR could be twice of RX SR. In this mode, RX will receive one duplicate data in every SR cycle and
I2S IN will automatically discard the duplicate data and not send it into UL FIFO. Example is shown in Table 10.3-1.
Table 10.3-1. Down rate example for slave mode
Slave Mode

Input Sample
Rate

Output Sample Rate

Mono/Stereo

MCLK
(output)

BCLK
(input)

LRCLK
(input)

Down Rate
Mode

16b, 24kHz

16b, 48kHz

Both

24.576
MHz

1.536MHz

48kHz

I2S_BCLK

I2S_FS

I2S_TX/RX

Figure 10.3-2. Sample m of TDM32 with nT delay
Keywords: I2S_BCLK, I2S_FS, I2S_TX/RX, R_, L_

© 2016 - 2017 MediaTek Inc.

Page 151 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

I2S_BCLK

I2S_FS

I2S_TX/RX

Figure 10.3-3. Sample m of TDM32 with nT delay and bclk inverse
Keywords: I2S_BCLK, I2S_FS, I2S_TX/RX, R_, L_

I2S_BCLK
I2S_FS
I2S_TX/RX

Figure 10.3-4. Sample m of TDM64 with nT delay
Keywords: I2S_BCLK, I2S_FS, I2S_TX/RX, R_, L_

10.4.

DL FIFO and UL FIFO

DL FIFO and UL FIFO are asynchronous FIFOs with depth 8. One side of these asynchronous FIFO is in BUS clock
domain and the other is in XPLL or I2S_BCLK clock domain.

10.5.

Data format of FIFO

16bits I2S and 16bits TDM data format of FIFO are shown in Table 10.5-1 and Table 10.5-2.
Table 10.5-1. 16bits I2S data format of FIFO
Byte 3

Byte 2

Byte 1

Byte 0

Stereo

R[15:8]

R[7:0]

L[15:8]

L[7:0]

Mono

8’b0

8’b0

L[15:8]

L[7:0]

Table 10.5-2. 16bits TDM 4 channel data format of FIFO

Channel 0 & 1
Channel 2 & 3

Byte 3

Byte 2

Byte 1

Byte 0

CH1[15:8]

CH1 [7:0]

CH0 [15:8]

CH0[7:0]

Byte 7

Byte 6

Byte 5

Byte 4

CH3[15:8]

CH3[7:0]

CH2[15:8]

CH2[7:0]

© 2016 - 2017 MediaTek Inc.

Page 152 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
10.6.

Programming guide

I2S0 supports two I2S interface modes: 16bits I2S mode and 16bits TDM mode. Before I2S transfer, GPIO should be
set to related modes in the software, please refer to the GPIO section in this manual.
DMA should be turned on to prevent FIFO overflow. For the related DMA register map, please refer to the DMA
section in this manual. The I2S0 DMA programming guide for PSRAM data input is as follows:
1) To turn on the DMA clock:
•

Write: PDN_CLRD0 = 0x1;

2) To set DMA CH7 for I2S_TX:
•

Write: VDMA7_PGMADDR = 0x10000; //to set start address

•

Write: VDMA7_COUNT = 0x9C4; //to set transfer threshold

•

Write: VDMA7_FFSIZE = 0x9C4; //to set transfer length

•

Write: VDMA7_CON = 0x10200; //[16]: to enable hardware hand shake, [9:8]: to set word size = 2, [4]: to
set DIR: 0=peripheral TX

3) To set DMA CH8 for I2S_RX:
•

Write: VDMA8_PGMADDR = 0x10000; //to set start address

•

Write: VDMA8_COUNT = 0x9C4; //to set transfer threshold

•

Write: VDMA8_FFSIZE = 0x9C4; //to set transfer length

•

Write: VDMA8_CON = 0x10210; //[16]: to enable hardware hand shake, [9:8]: to set word size = 2, [4]: to
set DIR: 1=peripheral RX

4) To start DMA transfer:
•

Write: VDMA7_START = 0x8000;

•

Write: VDMA8_START = 0x8000;

5) To use HD mode, please refer to Chapter 12, “I2S0 and I2S1 Audio PLL Settings” to enable XPLL.

10.6.1.

I2S0 general programming guide

1) If XPLL is on, XPLL is 26MHz,
•

Write: I2S_GLOBAL_CONTROL= 0x2A0C0028;
Or if XPLL is 24.576MHz,

•

Write: I2S_GLOBAL_CONTROL= 0x000C0028;
Or if XPLL is 22.5792MHz,

•

Write: I2S_GLOBAL_CONTROL= 0x150C0028;
Or if XO is 26MHz

•

Write: I2S_GLOBAL_CONTROL= 0x2A080028;

2) If in slave mode,
•

Write: I2S_GLOBAL_CONTROL[27:24]=0xF

•

Write: I2S_GLOBAL_CONTROL[20]=1;

3) If in slave mode, BCLK is inverse to protocol,

© 2016 - 2017 MediaTek Inc.

Page 153 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: I2S_GLOBAL_CONTROL[19]=0

4) For data loopback test,
•

10.6.2.

Write: I2S_GLOBAL_CONTROL[31]=1

I2S mode

1) If in master mode,
•

Write: I2S_DL_CONTROL=0x08008009;

•

Write: I2S_UL_CONTROL=0x08008009;

•

Write: I2S_DL_CONTROL=0x0800800D;

•

Write: I2S_UL_CONTROL=0x0800800D;

Or

2) If in down rate mode,
•

10.6.3.

Write: I2S_UL_CONTROL[16]=1;

TDM mode

1) If in master mode,
For TDM64 channel 4,
•

Write: I2S_DL_CONTROL=0x2800A021;

•

Write: I2S_UL_CONTROL=0x2800A021;

•

Write: I2S_DL_CONTROL[7]=1;

For TDM64 channel 2,
•

Write: I2S_DL_CONTROL=0x0800A021;

•

Write: I2S_UL_CONTROL=0x0800A021;

For TDM128 channel 4,
•

Write: I2S_DL_CONTROL=0x2800C021;

•

Write: I2S_UL_CONTROL=0x2800C021;

•

Write: I2S_DL_CONTROL[7]=1;

For TDM128 channel 2,
•

Write: I2S_DL_CONTROL=0x0800C021;

•

Write: I2S_UL_CONTROL=0x0800C021;

For TDM32 channel 2,
•

Write: I2S_DL_CONTROL=0x08008021;

•

Write: I2S_UL_CONTROL=0x08008021;

Or if in slave mode,
For TDM64 channel 4,
•

Write: I2S_DL_CONTROL=0x2800A025;

© 2016 - 2017 MediaTek Inc.

Page 154 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: I2S_UL_CONTROL=0x2800A025;

•

Write: I2S_DL_CONTROL[7]=1;

For TDM64 channel 2,
•

Write: I2S_DL_CONTROL=0x0800A025;

•

Write: I2S_UL_CONTROL=0x0800A025;

For TDM128 channel 4,
•

Write: I2S_DL_CONTROL=0x2800C025;

•

Write: I2S_UL_CONTROL=0x2800C025;

•

Write: I2S_DL_CONTROL[7]=1;

For TDM128 channel 2,
•

Write: I2S_DL_CONTROL=0x0800C025;

•

Write: I2S_UL_CONTROL=0x0800C025;

For TDM32 channel 2,
•

Write: I2S_DL_CONTROL=0x08008025;

•

Write: I2S_UL_CONTROL=0x08008025;

2) If MSB delays one clock cycle,
•

Write: I2S_DL_CONTROL[23:17]= 0x2

•

Write: I2S_UL_CONTROL[23:17]= 0x2

10.6.4.

Set sample rate and enable I2S

1) To set sample rate:
•

Write: I2S_DL_SR_EN_CONTROL__F_CR_I2S_OUT_SR = 0x0~0x1E; // bit[4]: HD mode

•

Write: I2S_UL_SR_EN_CONTROL__F_CR_I2S_IN_SR = 0x0~0x1E; // bit[4]: HD mode

2) To enable clock,
•

Write: PDN_CLRD0 = 0x80;

•

Write: I2S_GLOBAL_EN_CONTROL__F_CR_PDN_AUD_26M = 0;

•

Write: I2S_UL_SR_EN_CONTROL__F_CR_PDN_I2SIN = 0;

•

Write: I2S_DL_SR_EN_CONTROL__F_CR_PDN_I2SO = 0;

3) To do soft reset before active,
•

Write: I2S_SOFT_RESET = 0x1;

•

Write: I2S_SOFT_RESET = 0x0;

4) To enable FIFO and I2S,
•

Write: I2S_GLOBAL_EN_CONTROL__F_CR_UL_FIFO_EN = 1;

•

Write: I2S_GLOBAL_EN_CONTROL__F_CR_DL_FIFO_EN = 1;

•

Write: I2S_UL_SR_EN_CONTROL__F_CR_I2S_IN_EN = 1;

•

Write: I2S_DL_SR_EN_CONTROL__F_CR_I2S_OUT_EN = 1;

© 2016 - 2017 MediaTek Inc.

Page 155 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: I2S_GLOBAL_EN_CONTROL__F_CR_ENABLE = 1;

5) To read RX data from FIFO,
•

Read = ((UINT32P)(0xA1000100))

6) To write data to TX FIFO
•

Write: ((UINT32P)(0xA1000000)) = write_data

10.7.

Register mapping

Module name: I2S0 Base address: (+A0070000h)
Address
Name
Width
(bits)

Register Function

A0070000 I2S_GLOBAL_CONTROL

32

AUDIO TOP CONTROL REGISTER

A0070004 I2S_DL_CONTROL

32

DL I2S CONTROL REGISTER

A0070008 I2S_UL_CONTROL

32

UL I2S CONTROL REGISTER

A007000C I2S_SOFT_RESET

32

DLUL SOFT RESET REGISTER

A0070018 I2S_DL_FIFO_STATUS

32

DL FIFO CONTROL STATUS REGISTER

A007001C I2S_UL_FIFO_STATUS

32

UL FIFO CONTROL STATUS REGISTER

A0070030 I2S_GLOBAL_EN_CONTRO
L

32

AUDIO TOP ENABLE CONTROL REGISTER

A0070034 I2S_DL_SR_EN_CONTROL

32

DL I2S SAMPLE RATE ENABLE CONTROL
REGISTER

A0070038 I2S_UL_SR_EN_CONTROL

32

UL I2S SAMPLE RATE ENABLE CONTROL
REGISTER

A0070040 I2S_DL_INT_CONTROL

32

I2S DL INTERRUPT ENABLE CONTROL
REGISTER

A0070044 I2S_UL_INT_CONTROL

32

I2S UL INTERRUPT ENABLE CONTROL
REGISTER

A0070048 I2S_INT_ACK_CONTROL

32

I2S UL INTERRUPT ENABLE CONTROL
REGISTER

A0070000
Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

I2S_GLOBAL_C AUDIO TOP CONTROL REGISTER
ONTROL

31

30

29

28

27

26

15

14

13

12

11

10

CR_I2S_GLOBAL_CONTROL[31:16]
RW
0
0
0
0
0
0
CR_I2S_GLOBAL_CONTROL[15:0]
RW
0
0
0
0
0
0

00020028

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

1

0

0

0

0

0

1

0

1

0

0

0

9

8

7

6

5

4

3

2

1

0

Overview
Bit(s)

Mnemonic

Name

Description

31:0

CR_I2S_GLOBAL_C CR_I2S_GLOBAL_CONTR [31] CR_I2S_LOOPBACK
ONTROL
OL
I2S out to I2S in loopback
0: disable
1: enable
[29:28] CR_EXT_MCLK_SEL
00 : 24.576M
01 : 22.5792M

© 2016 - 2017 MediaTek Inc.

Page 156 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
10 : 26M (depend on 26M_SEL)
[27:26] CR_CK_OUT_SEL
I2S out clock source selection
00 : 24.576M
01 : 22.5792M
10 : 26M (depend on 26M_SEL)
11 : external bclk in (slave)
[25:24] CR_CK_IN_SEL
I2S in source selection
00 : 24.576M
01 : 22.5792M
10 : 26M (depend on 26M_SEL)
11 : external bclk in (slave)
[21] CR_EN_PSEL_CODEC
Reserved
[20] CR_NEG_CAP_EN
Negative edge capture RX data
0: disable
1: enable
[19] CR_MCLK_INV
MCLK clock inverse
0: disable
1: enable
[18] CR_CK_SEL
26M clock source selection
0 : XTAL 26M
1 : XPLL 26M
[17] CR_CODEC_26M_EN
cg of internal codec(default on)
[14:10] CR_DBG_SEL
Reserved
[9] CR_DL_MONO_DUP
When DL_MONO=1, if right channel send
duplicate data.
0: right channel send all 0.
1: right channel send the same data as the left.
[8] CR_DL_MONO
DL MONO mode
0: STEREO
1: MONO
[7] CR_DL_LRSW
DL with LR switch
0: LR no swap
1: LR swap
[6] CR_EXT_LRSW
External codec with LR switch
0: LR no swap
1: LR swap
[5] CR_EXT_MODE
External codec mode(slave)
0: internal codec
1: external codec
[4] CR_EXT_IO_CK
Clock source of external codec mode (slave)
0: from i2s_in
1: from i2s_out
[3] CR_ENGEN_EN
Engen enable (Reserved)

A0070004
Bit
Mne
Type
Reset

31

I2S_DL_CONT DL I2S CONTROL REGISTER
ROL
30

29

28

27

26

CR_I2S_DL_CONTROL[31:16]
RW
0
0
0
0
0
0

00000008

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 157 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Mne
Type
Reset

15

14

13

12

11

10

CR_I2S_DL_CONTROL[15:0]
RW
0
0
0
0
0
0

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

1

0

0

0

Overview
Bit(s) Mnemonic
31:0

A0070008
Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

Name

Description
DL I2S control register
[31] LR_SWAP Swap the data of Right and Left channels
0: no swap
1: swap
[30:29] CH_PER_S Number of channels in each FS cycle (just used in
TDM mode)
00: 2 channels
01: 4 channels
[23:17] MSB_OFFSET Delay cycle from rising edge of FS to first
channel MSB
0 : 0 cycle
n : n cycles
[14:13] BIT_PER_S Number of bits in each FS cycle
00: 32 bits
01: 64 bits
10: 128 bits
[7] DL FIFO 2D EQ Mode
[5] WSINV WS reverse
0 : no reverse
1 : reverse
[4] DIR 0 : TX
[3] FMT Data Format
1 : I2S
0 : TDM
[2] SRC Master/Slave mode
0 : master
1 : slave
[1] WLEN Sample Size
0: 16bits

CR_I2S_DL CR_I2S_DL_CONT
_CONTROL ROL

I2S_UL_CONTR UL I2S CONTROL REGISTER
OL

31

30

29

28

27

15

14

13

12

11

CR_I2S_UL_CONTROL[31:16]
RW
0
0
0
0
0
CR_I2S_UL_CONTROL[15:0]
RW
0
0
0
0
0

00000008

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

10

9

8

7

6

5

4

3

2

1

0

Overview
Bit(s) Mnemonic
31:0

Name

CR_I2S_UL CR_I2S_UL_CONT
_CONTROL ROL

Description
UL I2S control register
[31] LR_SWAP Swap the data of Right and Left channels
0: no swap
1: swap
[30:29] CH_PER_S Number of channels in each FS cycle (just used in
TDM mode)
00: 2 channels
01: 4 channels

© 2016 - 2017 MediaTek Inc.

Page 158 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
[28:24] UPDATE_WORD Select duration to update FIFO data
[23:17] MSB_OFFSET Delay cycle from rising edge of FS to first
channel MSB
0 : 0 cycle
n : n cycles
[16] DOWN_RATE Real sample rate is 1/2 of SR
0: real sample rate = SR
1: drop 1 sample in each 2 input samples
[14:13] BIT_PER_S Number of bits in each FS cycle
00: 32 bits
01: 64 bits
10: 128 bits
[5] WSINV WS reverse
0 : no reverse
1 : reverse
[4] DIR 1 : RX
[3] FMT Data Format
1 : I2S
0 : TDM
[2] SRC Master/Slave mode
0 : master
1 : slave
[1] WLEN Sample Size
0: 16bits

A007000C
Bit 31
Name
Type
Reset
Bit 15
Name

I2S_SOFT_RESE DLUL SOFT RESET REGISTER
T

00000000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CR_S
OFT_
RSTB
RW
0

Type
Reset
Overview
Bit(s) Mnemonic
0

Name

Description
soft reset audio_top and codec, active high.
To reset, please set this bit to 1 and then set 0.

CR_SOFT_ CR_SOFT_RSTB
RSTB

A0070018
Bit 31
Name
Type
Reset
Bit 15
Name
Type
Reset

I2S_DL_FIFO_S DL FIFO CONTROL STATUS REGISTER
TATUS

00000000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

CR_FIFO_DL_STATUS
RO
0
0
0
0

Overview
Bit(s) Mnemonic

Name

Description

© 2016 - 2017 MediaTek Inc.

Page 159 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
5:0

[5] CR_FIFO_DL_W_READY
[4] CR_FIFO_DL_R_READY
[3] CR_FIFO_DL_FDLL
[2] CR_FIFO_DL_AFDLL
[1] CR_FIFO_DL_EMPTY
[0] CR_FIFO_DL_AEMPTY

CR_FIFO_ CR_FIFO_DL_STA
DL_STATU TUS
S

A007001C
Bit 31
Name
Type
Reset
Bit 15
Name

I2S_UL_FIFO_S UL FIFO CONTROL STATUS REGISTER
TATUS

00000000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

RO
0

0

0

0

0

0

Type
Reset

CR_FIFO_UL_RFIFO_C
NT
RO
0
0
0
0

CR_FIFO_UL_WFIFO_C
NT
RO
0
0
0
0

CR_FIFO_UL_STATUS

Overview
Bit(s) Mnemonic

Name

Description

19:16 CR_FIFO_ CR_FIFO_UL_WFI Reserved
UL_WFIFO FO_CNT
_CNT
11:8

CR_FIFO_ CR_FIFO_UL_RFIF Reserved
UL_RFIFO O_CNT
_CNT

5:0

CR_FIFO_ CR_FIFO_UL_STA
UL_STATU TUS
S

A0070030
Bit 31
Name

Type
Reset
Bit 15
Name

[5] CR_FIFO_UL_W_READY
[4] CR_FIFO_UL_R_READY
[3] CR_FIFO_UL_FULL
[2] CR_FIFO_UL_AFULL
[1] CR_FIFO_UL_EMPTY
[0] CR_FIFO_UL_AEMPTY

I2S_GLOBAL_E AUDIO TOP ENABLE CONTROL REGISTER
N_CONTROL
30

14

29

13

28

12

27

11

Type
Reset

26

10

25

9

24

CR_P
DN_A
UD_2
6M
RW
1

8

CR_D
L_FIF
O_EN
RW
0

23

7

22

6

21

5

20

4

01000000
19

3

18

17

2

1

16

CR_U
L_FIF
O_EN
RW
0

0

CR_E
NABL
E
RW
0

Overview
Bit(s) Mnemonic
24

Name

CR_PDN_A CR_PDN_AUD_26
UD_26M
M

Description
0: Normal
1: Power down

© 2016 - 2017 MediaTek Inc.

Page 160 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
16

CR_UL_FIFCR_UL_FIFO_EN
O_EN

DL_FIFO enable
0: disable
1: enable

8

CR_DL_FIFCR_DL_FIFO_EN
O_EN

DL_FIFO enable
0: disable
1: enable

0

CR_ENABL CR_ENABLE
E

Audio top enable
0: disable
1: enable

A0070034
Bit 31
Name
Type
Reset
Bit 15
Name

I2S_DL_SR_EN DL I2S SAMPLE
_CONTROL
REGISTER

RATE

ENABLE

CONTROL

00010000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

RW
0

0

0

0

0

Type
Reset

CR_I2S_OUT_SR

CR_P
DN_I
2SO
RW
1
CR_I
2S_O
UT_E
N
RW
0

Overview
Bit(s) Mnemonic

Name

Description

CR_PDN_I CR_PDN_I2SO
2SO

0: Normal
1: Power down

12:8

CR_I2S_O CR_I2S_OUT_SR
UT_SR

[11:8]I2S mode select:
0000b: 8kHz
0001b: 11.025kHz
0010b: 12kHz
0100b: 16kHz
0101b: 22.05kHz
0110b: 24kHz
1000b: 32kHz
1001b: 44.1kHz
1010b: 48kHz
1011b: 88.2kHz
1100b: 96kHz
1101b: 176.4kHz
1110b: 192kHz
0011b: 384kHz
[12] hd_en
0: disable
1: enable

0

CR_I2S_O CR_I2S_OUT_EN
UT_EN

I2S out enable
0: disable
1: enable

16

A0070038
Bit 31
Name

I2S_UL_SR_EN UL I2S SAMPLE
_CONTROL
REGISTER
30

29

28

27

26

25

24

RATE
23

ENABLE
22

© 2016 - 2017 MediaTek Inc.

21

CONTROL
20

19

00010000
18

17

16

CR_P
DN_I

Page 161 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit 15
Name

14

13

Type
Reset

12

11

10

9

8

RW
0

0

0

0

0

CR_I2S_IN_SR

7

6

5

4

3

2

2SIN
RW
1

1

0

CR_I
2S_I
N_EN
RW
0

Overview
Bit(s) Mnemonic

Name

Description

16

CR_PDN_I CR_PDN_I2SIN
2SIN

0: Normal
1: Power down

12:8

CR_I2S_IN CR_I2S_IN_SR
_SR

[11:8]I2S mode select:
0000b: 8kHz
0001b: 11.025kHz
0010b: 12kHz
0100b: 16kHz
0101b: 22.05kHz
0110b: 24kHz
1000b: 32kHz
1001b: 44.1kHz
1010b: 48kHz
1011b: 88.2kHz
1100b: 96kHz
1101b: 176.4kHz
1110b: 192kHz
0011b: 384kHz
[12] hd_en
0: disable
1: enable

0

CR_I2S_IN CR_I2S_IN_EN
_EN

I2S out enable
0: disable
1: enable

A0070040
Bit 31
Name
Type
Reset
Bit 15
Name

I2S_DL_INT_CO I2S DL INTERRUPT ENABLE CONTROL REGISTER
NTROL

00000000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Type
Reset

CR_D
L_IN
TSTS
_INT
RO
0

CR_D
L_CO
NTRL
_ITE
N
RW
0

Overview
Bit(s) Mnemonic

Name

Description

8

CR_DL_IN CR_DL_INTSTS_IN
TSTS_INT T

0

CR_DL_CO CR_DL_CONTRL_I
NTRL_ITE TEN

© 2016 - 2017 MediaTek Inc.

Page 162 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
N

A0070044
Bit 31
Name
Type
Reset
Bit 15
Name

I2S_UL_INT_CO I2S UL INTERRUPT ENABLE CONTROL REGISTER
NTROL

00000000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Type
Reset

CR_U
L_IN
TSTS
_INT

CR_U
L_CO
NTRL
_ITE
N
RW
0

RO
0

Overview
Bit(s) Mnemonic

Name

Description

8

CR_UL_IN CR_UL_INTSTS_IN
TSTS_INT T

0

CR_UL_CO CR_UL_CONTRL_I
NTRL_ITE TEN
N

A0070048
Bit 31
Name
Type
Reset
Bit 15
Name

I2S_INT_ACK_C I2S UL INTERRUPT ENABLE CONTROL REGISTER
ONTROL

00000000

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Type
Reset

CR_D
L_AC
KINT
_ACK
RW
0

CR_U
L_AC
KINT
_ACK
RW
0

Overview
Bit(s) Mnemonic

Name

8

CR_DL_AC CR_DL_ACKINT_A
KINT_ACK CK

0

CR_UL_AC CR_UL_ACKINT_A
KINT_ACK CK

Description

© 2016 - 2017 MediaTek Inc.

Page 163 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

11. I2S1
11.1.

Overview

I2S1 is placed on AHB bus to support fast data transfers and has APB interface for setting the control register (CR).
I2S1 contains CLK CON, I2S OUT, I2S IN, DL FIFO and ULFIFO. The block diagram is shown in Figure 11.1-1.

XO/XPLL/I2S_BCLK domain

I2S_ MCLK

XPLL

PLL1/PLL2 domain
Cortex - M4

CLK ON

DL FIFO

I2S_TX
I 2S

DMA
TX

audio_ahb_slave
(h2s bridge)

DMA
DMA
RX

1

External
audio
codec

I2S OUT
UL FIFO

I 2S

I2S IN

1

I2S_RX
I2S_FS

Memory

Audio top CR

APB
slave

I2S_ BCLK

Figure 11.1-1. I2S block diagram
Keywords: Audio Codec, XPLL, CLKCON, I2S, AHB slave, DMA, UL DL FIFO, I2S1 CR, APB slave, XO (26M only), PLL1,
PLL2.

11.2.

IO interface

•

AHB slave interface (refer to AMBA v2.0)

•

APB slave interface (refer to AMBA v3.0)

•

Maximum internal delay of each interface is 13.3ns. Only supports 16bits per channel.

The I2S mode interface for master mode and slave mode is shown in Table 11.2-1 and Table 11.2-2.
Note, when using I2S RX master and the I2S_FS pin is at 176.4kHz or 192kHz, the output data delay of the relative
I2S TX slave codec should be shorter than 19ns.
Table 11.2-1. I2S mode interface – master mode
PIN name

Direction

Description

I2S_MCLK

Output

26/24.576/22.5792MHz

I2S_BCLK

Master : Output

I2S_FS*32, I2S_FS*64

© 2016 - 2017 MediaTek Inc.

Page 164 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
PIN name

Direction

Description
11.025, 22.05, 44.1, 88.2, 176.4 kHz
8, 12, 16, 24, 32, 48, 96, 192 kHz

I2S_FS

Master : Output

I2S_TX

Output

TX data

I2S_RX

Input

RX data
Table 11.2-2. I2S mode interface – slave mode

PIN name

Direction

Description

I2S_MCLK

Output

26/24.576/22.5792MHz

I2S_BCLK

Slave : Input

I2S_FS

Slave : Input

I2S_FS*32, I2S_FS*64
11.025, 22.05, 44.1, 88.2, 176.4 kHz
8, 12, 16, 24, 32, 48, 96, 192 kHz

I2S_TX

Output

TX data

I2S_RX
Input
RX data
Note, for master mode, I2S_MCLK frequencies only support relative sample rates listed in Table 11.2-3, I2S_MCLK
from 24.576 or 22.5792MHz is for high definition (HD) mode.
Table 11.2-3. Relationship between MCLK and sample rate
I2S_MCLK

Sample Rate

26MHz (XO or XPLL)

8, 12, 16, 24, 32, 48 kHz

24.576MHz (XPLL)

8, 12, 16, 24, 32, 48, 96, 192 kHz

22.5792MHz (XPLL)

11.025, 22.05, 44.1, 88.2, 176.4 kHz

11.3.

I2S OUT and I2S IN

I2S OUT & I2S IN support standard I2S protocol and both master/slave mode. The 16bits and 24bits I2S protocol is
shown in Figure 11.3-1.

© 2016 - 2017 MediaTek Inc.

Page 165 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
I2S 16bit word length

BCK
LRCK
SDAT

MSB
0 15 14 13 12 11

4

3

2

LSB MSB
1 0 15 14 13 12 11

Left channel data

4

3

2

LSB
1 0 15

2

LSB
1 0 31

Right channel data

I2S 24bit word length in 32bit channel length

BCK
LRCK
SDAT

MSB
0 31 30 29 28 27

4

3

2

LSB MSB
1 0 31 30 29 28 27

4

S’b0

3

S’b0

Left channel data

Right channel data

Figure 11.3-1. I2S protocol waveform
Keywords: I2S_BCLK, I2S_FS, I2S_TX/RX
If the 16bits I2S OUT operates in mono mode, R[15:0] will be the same as L[15:0]. If I2S IN operates in mono mode,
R[15:0] will not affect I2S IN’s output to UL FIFO. Operation for 24bits I2S is also the same.
Note: When I2S acts as slave and connects to the external codec, I2S IN and I2S OUT will use the same BCLK/FS
from the external codec. Therefore, the sample rate of TX/RX should be the same.

11.4.

DL FIFO and UL FIFO

DL FIFO & UL FIFO are asynchronous FIFO with depth 8. One side of these asynchronous FIFO is in BUS clock
domain and the other is in XPLL or I2S_BCLK clock domain.

11.5.

Data format of FIFO

16bits I2S and 24bits I2S data format of FIFO are shown in Table 11.5-1 and Table 11.5-2.
Table 11.5-1. 16bits I2S data format of FIFO
Byte 3

Byte 2

Byte 1

Byte 0

Stereo

R[15:8]

R[7:0]

L[15:8]

L[7:0]

Mono

8’b0

8’b0

L[15:8]

L[7:0]

© 2016 - 2017 MediaTek Inc.

Page 166 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Table 11.5-2. 24bits I2S data format of FIFO

Left Channel
Right Channel

11.6.

Byte 3

Byte 2

Byte 1

Byte 0

L0[23:16]

L0[15:8]

L0[7:0]

8’b0

Byte 7

Byte 6

Byte 5

Byte 4

R0[23:16]

R0[15:8]

R0[7:0]

8’b0

Programming guide

I2S1 supports two I2S interface modes: 16bits I2S Mode and 24bits I2S Mode. Before I2S transfer, GPIO should be
set to related modes in the software, please refer to the GPIO section in this manual.
DMA should be turned on to prevent FIFO overflow. For the related DMA register map, please refer to the DMA
section in this manual. The I2S1 DMA programming guide for PSRAM data input is as follows:
To turn on DMA clock:
•

Write: PDN_CLRD0 = 0x1;

To set DMA CH7 for I2S_TX:
•

Write: VDMA9_PGMADDR = 0x10000; //to set start address

•

Write: VDMA9_COUNT = 0x9C4; //to set transfer threshold

•

Write: VDMA9_FFSIZE = 0x9C4; //to set transfer length

•

Write: VDMA9_CON = 0x10200; //[16]: to enable hardware hand shake, [9:8]: to set word size = 2, [4]: to
set DIR: 0=peripheral TX

To set DMA CH8 for I2S_RX:
•

Write: VDMA10_PGMADDR = 0x10000; //to set start address

•

Write: VDMA10_COUNT = 0x9C4; //to set transfer threshold

•

Write: VDMA10_FFSIZE = 0x9C4; //to set transfer length

•

Write: VDMA10_CON = 0x10210; //[16]: to enable hardware hand shake, [9:8]: to set word size = 2, [4]: to
set DIR: 1=peripheral RX

To start DMA transfer:
•

Write: VDMA9_START = 0x8000;

•

Write: VDMA10_START = 0x8000;

To use HD mode, please refer to Chapter 12, “I2S0 and I2S1 Audio PLL Settings” to enable XPLL.

11.6.1.

I2S1 general programming guide

1) Select 26M source, if XPLL is on,
•

Write: I2S1_GLOBAL_CONTROL= 0x40028;

2) Or XO is 26MHz
•

Write: I2S1_GLOBAL_CONTROL= 0x00028;

3) For data loopback test,

© 2016 - 2017 MediaTek Inc.

Page 167 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: I2S1_GLOBAL_CONTROL[31]=1

4) Select MCLK source I2S1_GLOBAL_CONTROL[29:28]
•

For 24.576MHz : 00

•

22.5792MHz : 01

•

26 MHz: 10

11.6.2.

16bits I2S mode

1) If in master mode,
•

Write: I2S1_DL_CONTROL=0x20009;

•

Write: I2S1_UL_CONTROL=0x28009;

•

Write: I2S1_DL_CONTROL=0x2000D;

•

Write: I2S1_UL_CONTROL=0x2800D;

Or

11.6.3.

24bits I2S mode

1) If in master mode,
•

Write: I2S1_DL_CONTROL=0x6008B;

•

Write: I2S1_UL_CONTROL=0x6800B;

•

Write: I2S1_DL_CONTROL=0x6008F;

•

Write: I2S1_UL_CONTROL=0x6800F;

Or

11.6.4.

Set sample rate and enable I2S

To set sample rate:
•

Write: I2S1_DL_SR_EN_CONTROL__F_CR_I2S1_OUT_SR = 0x0~0x1E; // bit[4]: HD mode

•

Write: I2S1_UL_SR_EN_CONTROL__F_CR_I2S1_IN_SR = 0x0~0x1E; // bit[4]: HD mode

To enable clock,
•

Write: PDN_CLRD0 = 0x10;

•

Write: I2S1_GLOBAL_EN_CONTROL__F_CR_PDN_AUD_26M = 0;

•

Write: I2S1_UL_SR_EN_CONTROL__F_CR_PDN_I2SIN1 = 0;

•

Write: I2S1_DL_SR_EN_CONTROL__F_CR_PDN_I2SO1= 0;

To do soft reset before active,
•

Write: I2S1_SOFT_RESET = 0x1;

•

Write: I2S1_SOFT_RESET = 0x0;

To enable FIFO and I2S,
•

Write: I2S1_GLOBAL_EN_CONTROL__F_CR_I2S1_UL_FIFO_EN = 1;

© 2016 - 2017 MediaTek Inc.

Page 168 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: I2S1_GLOBAL_EN_CONTROL__F_CR_I2S1_DL_FIFO_EN = 1;

•

Write: I2S1_UL_SR_EN_CONTROL__F_CR_I2S1_IN_EN = 1;

•

Write: I2S1_DL_SR_EN_CONTROL__F_CR_I2S1_OUT_EN = 1;

•

Write: I2S1_GLOBAL_EN_CONTROL__F_CR_I2S1_ENABLE = 1;

To read RX data from FIFO,
•

Read = ((UINT32P)(0xA1000300))

To write data to TX FIFO,
•

11.7.

Write: ((UINT32P)(0xA1000200)) = write_data

Register mapping

Module name: I2S1 Base address: (+A0080000h)
Address Name

Width
(bits)

Register Function

A0080000

I2S1_GLOBAL_C
ONTROL

32

AUDIO TOP CONTROL REGISTER

A0080004

I2S1_DL_CONTR
OL

32

DL I2S CONTROL REGISTER

A0080008

I2S1_UL_CONTR
OL

32

UL I2S CONTROL REGISTER
000

A008000C

I2S1_SOFT_RESE 32
T
I2S1_DL_FIFO
32

DLUL SOFT RESET REGISTER

A0080014
A0080018

I2S1_UL_FIFO
I2S1_DL_FIFO_S
TATUS

32
32

UL FIFO CONTROL REGISTER
DL FIFO CONTROL STATUS REGISTER

A008001C

I2S1_UL_FIFO_S
TATUS
I2S1_SCAN_RSV

32

UL FIFO CONTROL STATUS REGISTER

32

SCAN RESERVED REGISTER

I2S1_GLOBAL_E
N_CONTROL
I2S1_DL_SR_EN
_CONTROL

32

AUDIO TOP ENABLE CONTROL REGISTER

32

DL I2S SAMPLE RATE ENABLE CONTROL REGISTER

I2S1_UL_SR_EN
_CONTROL
I2S_MONITOR

32

UL I2S SAMPLE RATE ENABLE CONTROL REGISTER

32

I2S_MONITOR

A0080010

A0080020
A0080030
A0080034
A0080038
A008003C
A0080040
A0080044
A0080048

I2S1_DL_INT_CO 32
NTROL
I2S1_UL_INT_CO 32
NTROL

I2S DL INTERRUPT ENABLE CONTROL REGISTER

I2S1_INT_ACK_C 32
ONTROL

I2S UL INTERRUPT ENABLE CONTROL REGISTER

A008000
0

I2S1_GLOBA
L_CONTROL

Bit
Mne
Type

30

31

DL FIFO CONTROL REGISTER

29

28

I2S UL INTERRUPT ENABLE CONTROL REGISTER

AUDIO TOP CONTROL REGISTER
27

26

25

24

23

22

21

CR_I2S1_GLOBAL_CONTROL[31:16]
RW

© 2016 - 2017 MediaTek Inc.

20

00020028
19

18

17

16

Page 169 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A008000
0
Reset
Bit
Mne
Type
Reset

0

I2S1_GLOBA
L_CONTROL
0

0

0

AUDIO TOP CONTROL REGISTER
0

15

14

13

12

11

0

0

0

0

0

0

10

0

9

0

8

0

7

0

6

0

5

CR_I2S1_GLOBAL_CONTROL[15:0]
RW
0
0
0
0
0
1

00020028

0

0

3

2

1

0

0

1

0

0

0

4

0

1

0

Overview
Bit(s)

Mnemonic Name

31:0

CR_I2S1_G CR_I2S1_GLOBAL_ [31] CR_I2S_LOOPBACK_DAT
LOBAL_CO CONTROL
I2S out to I2S in data loopback
NTROL
0: disable
1: enable
[29:28] CR_EXT_MCLK_SEL
00b : 24.576MHz
01b : 22.5792MHz
10b : 26MHz
[27] CR_I2S_LOOPBACK
I2S in/out clk, ws loopback
0: disable
1: enable
[18] CR_CK_SEL
26M clock source selection
0 : XTAL 26M
1 : XPLL 26M
[17] CR_CODEC_26M_EN
cg of internal codec (default on)
[14:10] CR_DBG_SEL
[9] CR_DL_MONO_DUP
When DL_MONO=1, if right channel sends duplicate data.
0: right channel sends all 0.
1: right channel sends the same data as the left.
[8] CR_DL_MONO
DL MONO mode
0: STEREO
1: MONO

Description

[5] CR_EXT_MODE
External codec mode (slave)
0: internal codec
1: external codec
[4] CR_EXT_IO_CK
Clock source of external codec mode (slave)
0: from i2s_in
1: from i2s_out
[3] CR_ENGEN_EN
Engen enable (reserved)

A008000
4

I2S1_DL_CO
NTROL

Bit
Mne
Type
Reset
Bit
Mne
Type

30

31
0

15

0

14

29
0

13

28
0

12

DL I2S CONTROL REGISTER
27
0

11

00000000

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

0

0

CR_I2S1_DL_CONTROL[31:16]
RW
0
0
0
0
0
0
CR_I2S1_DL_CONTROL[15:0]
RW

© 2016 - 2017 MediaTek Inc.

3

18

17

0

0

2

1

16
0

0

Page 170 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A008000
4
Reset

0

I2S1_DL_CO
NTROL
0

0

0

DL I2S CONTROL REGISTER
0

0

0

0

0

0

0

00000000
0

0

0

0

0

Overview
Bit(s)

31:0

Mnemoni
c

CR_I2S1_
DL_CON
TROL

Name

Description

CR_I2S1_DL_CO
NTROL

[30] I2S_soft_reset
[27] i2s_in_ck_inv
[26] i2s_in_ws_inv
[18] i2s out 24bits FIFO mode
[17] i2s in out couple mode
[7] DL FIFO 2D EQ Mode
[5] I2S ws invert
[3] I2S FMT
0: EIAJ
1: I2S
[2] I2S slave mode sel
0: master mode
1: slave mode
[1] I2S WLEN
0: 16 bits
1: 32 bits

A008000
8

I2S1_UL_CO
NTROL

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

30

31
0

0

29
0

28
0

UL I2S CONTROL REGISTER
27
0

15

14

13

12

11

0

0

0

0

0

00000008

26

25

24

23

22

21

20

19

10

9

8

7

6

5

4

0

0

3

2

0

1

CR_I2S1_UL_CONTROL[31:16]
RW
0
0
0
0
0
0
CR_I2S1_UL_CONTROL[15:0]
RW
0
0
0
0
0
0

Overview

18

17

16

0

0

1

0

0

0

0

0

000

Bit(s)

Mnemonic Name

31:0

CR_I2S1_U CR_I2S1_UL_CONT [30] I2S_soft_reset
L_CONTRO ROL
[27] i2s_in_ck_inv
L
[26] i2s_in_ws_inv
[18] i2s in 24bits FIFO mode
[17] i2s in out couple mode
[15] low fill zero (when the lrck 32 cycle number and the 24/16 bit is
valid, the low 16/24bit is zero)
0:high bit fill zero (32)
1:low bit fill zero (32)
[5] I2S ws invert
[3] I2S FMT
0: EIAJ (right adjust)
1: I2S
[2] I2S slave mode select
0: master mode
1: slave mode
[1] I2S WLEN
0: 16 bits
1: 32 bits

Description

© 2016 - 2017 MediaTek Inc.

Page 171 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

A008000
C

I2S1_SOFT_
RESET

Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

DLUL SOFT RESET REGISTER

00000000

Name

Type
Reset

16

0

CR
_I2
S1_
SO
FT_
RS
TB
RW
0

Overview
Bit(s)

Mnemonic Name

0

CR_I2S1_S CR_I2S1_SOFT_RS soft reset audio_top and codec, active high.
OFT_RSTB TB
To reset, please write this bit to 1 and then write 0.

Description

A0080010

I2S1_DL_FIF
O

Bit

30

31

29

28

27

26

25

24

00000000

23

22

21

20

19

18

17

7

6

5

4

3

2

1

CR_I2S1_FIFO_DL_W
_THRESHOLD

Name

Type
Reset
Bit

DL FIFO CONTROL REGISTER

15

14

13

12

0

11

0

RW

10

0

9

0

8

CR_I2S1_FIFO_DL_R_
THRESHOLD

Name

Type
Reset

0

0

RW

0

0

16

CR
_I2
S1_
FIF
O_
DL
_W
CL
EA
R
RW
0

0

CR
_I2
S1_
FIF
O_
DL
_R
CL
EA
R
RW
0

Overview
Bit(s)

Mnemonic Name

Description

27:24

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_W _W_THRESHOLD
_THRESHO

Reserved

© 2016 - 2017 MediaTek Inc.

Page 172 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
LD
16

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_W _WCLEAR
CLEAR

Reserved

11:8

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_R _R_THRESHOLD
_THRESHO
LD

Reserved

0

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_R _RCLEAR
CLEAR

Reserved

A0080014

I2S1_UL_FIF
O

Bit

30

31

29

28

27

26

25

24

00000000

23

22

21

20

19

18

17

7

6

5

4

3

2

1

CR_I2S1_FIFO_UL_W
_THRESHOLD

Name

Type
Reset
Bit

UL FIFO CONTROL REGISTER

15

14

13

12

0

11

0

RW

10

0

9

0

8

CR_I2S1_FIFO_UL_R_
THRESHOLD

Name

Type
Reset

0

0

RW

0

0

16

CR
_I2
S1_
FIF
O_
UL
_W
CL
EA
R
RW
0

0

CR
_I2
S1_
FIF
O_
UL
_R
CL
EA
R
RW
0

Overview
Bit(s)

Mnemonic

27:24

CR_I2S1_FIFO_UL_W_T CR_I2S1_FIFO_UL_W_THRESHOLD
HRESHOLD

Reserved

16

CR_I2S1_FIFO_UL_WCL CR_I2S1_FIFO_UL_WCLEAR
EAR

Reserved

11:8

CR_I2S1_FIFO_UL_R_T CR_I2S1_FIFO_UL_R_THRESHOLD
HRESHOLD

Reserved

0

CR_I2S1_FIFO_UL_RCL CR_I2S1_FIFO_UL_RCLEAR
EAR

Reserved

A0080018
Bit
Name

31

Name

I2S1_DL_FIF
O_STATUS
30

29

28

Description

DL FIFO CONTROL STATUS REGISTER
27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

00000000
19

18

17

16

CR_I2S1_FIFO_DL_W

Page 173 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0080018
Type
Reset
Bit

15

I2S1_DL_FIF
O_STATUS

14

13

12

Name
Type
Reset

DL FIFO CONTROL STATUS REGISTER

11

10

9

8

CR_I2S1_FIFO_DL_RF
IFO_CNT
RO
0
0
0
0

7

6

5

4

00000000

0

3

FIFO_CNT
RO
0
0

2

1

0

0

CR_I2S1_FIFO_DL_STATUS
0

0

0

RO

0

0

0

Overview
Bit(s)

Mnemonic Name

Description

19:16

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_W _WFIFO_CNT
FIFO_CNT

Reserved

11:8

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_R _RFIFO_CNT
FIFO_CNT

Reserved

5:0

CR_I2S1_F CR_I2S1_FIFO_DL
IFO_DL_ST _STATUS
ATUS

[5] CR_FIFO_DL_W_READY
[4] CR_FIFO_DL_R_READY
[3] CR_FIFO_DL_FDLL
[2] CR_FIFO_DL_AFDLL
[1] CR_FIFO_DL_EMPTY
[0] CR_FIFO_DL_AEMPTY

A008001C

I2S1_UL_FIF
O_STATUS

Bit

31

30

29

28

15

14

13

12

UL FIFO CONTROL STATUS REGISTER
27

26

25

24

23

22

21

20

11

10

9

8

7

6

5

4

Name
Type
Reset
Bit
Name
Type
Reset

CR_I2S1_FIFO_UL_RF
IFO_CNT
RO
0
0
0
0

00000000
19

18

17

16

3

2

1

0

CR_I2S1_FIFO_UL_W
FIFO_CNT
RO
0
0
0
0

CR_I2S1_FIFO_UL_STATUS
0

0

0

RO

0

0

0

Overview
Bit(s)

Mnemonic Name

Description

19:16

CR_I2S1_F CR_I2S1_FIFO_UL
IFO_UL_W _WFIFO_CNT
FIFO_CNT

Reserved

11:8

CR_I2S1_F CR_I2S1_FIFO_UL
IFO_UL_R _RFIFO_CNT
FIFO_CNT

Reserved

5:0

CR_I2S1_F CR_I2S1_FIFO_UL
IFO_UL_ST _STATUS
ATUS

[5] CR_FIFO_UL_W_READY
[4] CR_FIFO_UL_R_READY
[3] CR_FIFO_UL_FULL
[2] CR_FIFO_UL_AFULL
[1] CR_FIFO_UL_EMPTY
[0] CR_FIFO_UL_AEMPTY

© 2016 - 2017 MediaTek Inc.

Page 174 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A008002
0

I2S1_SCAN_
RSV

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

31
0

0

29
0

28
0

SCAN RESERVED REGISTER
27
0

00000000

26

25

24

23

22

21

20

19

9

8

7

6

5

4

0

0

3

2

0

0

0

CR_I2S1_RESERVED[31:16]
RW
0
0
0
0
0
0

15

14

13

12

11

10

0

0

0

0

0

0

CR_I2S1_RESERVED[15:0]
RW
0
0
0
0

18

17

16

0

0

1

0

0

0

0

0

Overview
Bit(s)

Mnemonic Name

Description

31:0

CR_I2S1_R CR_I2S1_RESERVE Reserved
ESERVED D

A008003
0

I2S1_GLOBA
L_EN_CONT
ROL

Bit

30

31

29

28

AUDIO TOP ENABLE CONTROL REGISTER
27

26

25

23

22

21

20

19

18

17

7

6

5

4

3

2

1

CR
_P
DN
_A
UD
_26
M

Name

Type
Reset
Bit

24

01000000

15

14

13

12

11

10

9

Name

Type
Reset

RW
1

8

CR
_I2
S1_
DL
_FI
FO
_E
N
RW
0

16

CR
_I2
S1_
UL
_FI
FO
_E
N
RW
0

0

CR
_I2
S1_
EN
AB
LE
RW
0

Overview
Bit(s)

Mnemonic

Name

Description

24

CR_PDN_AUD_26M

CR_PDN_AUD_26M

0: Normal
1: Power down

16

CR_I2S1_UL_FIFO_EN

CR_I2S1_UL_FIFO_EN

UL_FIFO enable
0: disable
1: enable

8

CR_I2S1_DL_FIFO_EN

CR_I2S1_DL_FIFO_EN

DL_FIFO enable
0: disable
1: enable

0

CR_I2S1_ENABLE

CR_I2S1_ENABLE

Audio top enable
0: disable

© 2016 - 2017 MediaTek Inc.

Page 175 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1: enable

A008003
4

I2S1_DL_SR
_EN_CONTR
OL

Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

DL I2S SAMPLE RATE ENABLE CONTROL
REGISTER

00010000

Name
Type
Reset
Bit
Name

CR_I2S1_OUT_SR

Type
Reset

0

0

RW
0

0

0

16

CR
_P
DN
_I2
SO1
RW
1

0

CR
_I2
S1_
OU
T_
EN
RW
0

Overview
Bit(s)

Mnemonic Name

Description

16

CR_PDN_I CR_PDN_I2SO1
2SO1

0: Normal
1: Power down

12:8

CR_I2S1_O CR_I2S1_OUT_SR
UT_SR

[11:8]I2S mode select:
0000b: 8kHz
0001b: 11.025kHz
0010b: 12kHz
0100b: 16kHz
0101b: 22.05kHz
0110b: 24kHz
1000b: 32kHz
1001b: 44.1kHz
1010b: 48kHz
1011b: 88.2kHz
1100b: 96kHz
1101b: 176.4kHz
1110b: 192kHz
[12] hd_en
0: disable
1: enable

CR_I2S1_O CR_I2S1_OUT_EN
UT_EN

0

A008003
8

I2S1_UL_SR
_EN_CONTR
OL

Bit

30

31

29

28

I2S out enable
0: disable
1: enable

UL I2S SAMPLE RATE ENABLE CONTROL
REGISTER
27

26

25

24

23

22

21

20

19

00010000
18

Name

© 2016 - 2017 MediaTek Inc.

17

16

CR
_P
DN

Page 176 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A008003
8

Type
Reset
Bit

15

I2S1_UL_SR
_EN_CONTR
OL

14

13

12

Name

UL I2S SAMPLE RATE ENABLE CONTROL
REGISTER

11

10

9

8

7

6

5

4

3

00010000

2

1

CR_I2S1_IN_SR

Type
Reset

0

0

RW
0

0

0

_I2
SIN
1
RW
1

0

CR
_I2
S1_
IN_
EN
RW
0

Overview
Bit(s)

Mnemonic

Name

Description

16

CR_PDN_I CR_PDN_I2SIN1
2SIN1

0: Normal
1: Power down

12:8

CR_I2S1_I CR_I2S1_IN_SR
N_SR

[11:8]I2S mode select:
0000b: 8kHz
0001b: 11.025kHz
0010b: 12kHz
0100b: 16kHz
0101b: 22.05kHz
0110b: 24kHz
1000b: 32kHz
1001b: 44.1kHz
1010b: 48kHz
1011b: 88.2kHz
1100b: 96kHz
1101b: 176.4kHz
1110b: 192kHz
[12] hd_en
0: disable
1: enable

CR_I2S1_I CR_I2S1_IN_EN
N_EN

0

A008003
C

I2S_MONITO
R

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

31

29

28

I2S out enable
0: disable
1: enable

I2S_MONITOR
27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

CR_I2S_MONITOR[31:16]
RO
0
0
0
0

0

0

0

0

0

0

CR_I2S_MONITOR[15:0]
RO
0
0
0
0

0

0

0

0

0

00000000
21
0

20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

0

Overview

© 2016 - 2017 MediaTek Inc.

Page 177 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic Name

31:0

CR_I2S_M CR_I2S_MONITOR [15:8] i2s_out_bcount_monitor
ONITOR
[7:0] i2s_in_bcount_monitor

A008004
0
Bit
Name
Type
Reset
Bit

Description

I2S DL INTERRUPT ENABLE CONTROL
REGISTER

I2S1_DL_INT
_CONTROL

31

30

29

28

27

26

25

15

14

13

12

11

10

9

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

Name

CR
_D
L_I
NT
STS
_IN
T

Type
Reset

RO
0

16

0

CR
_D
L_
CO
NT
RL
_IT
EN
RW
0

Overview
Bit(s)

Mnemonic

Name

8

CR_DL_INTSTS_INT

CR_DL_INTSTS_INT

0

CR_DL_CONTRL_ITEN

CR_DL_CONTRL_ITEN

A008004
4
Bit
Name
Type
Reset
Bit

Description

I2S UL INTERRUPT ENABLE CONTROL
REGISTER

I2S1_UL_INT
_CONTROL

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Name

CR
_U
L_I
NT
STS
_IN
T

Type
Reset

RO
0

16

0

CR
_U
L_
CO
NT
RL
_IT
EN
RW
0

Overview
Bit(s)

Mnemonic

Name

8

CR_UL_INTSTS_INT

CR_UL_INTSTS_INT

0

CR_UL_CONTRL_ITEN

CR_UL_CONTRL_ITEN

Description

© 2016 - 2017 MediaTek Inc.

Page 178 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
I2S UL INTERRUPT ENABLE CONTROL
REGISTER

A008004
8

I2S1_INT_AC
K_CONTROL

Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Name

Type
Reset

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

CR
_D
L_
AC
KI
NT
_A
CK
RW
0

16

0

CR
_U
L_
AC
KI
NT
_A
CK
RW
0

Overview
Bit(s)

Mnemonic Name

8

CR_DL_AC CR_DL_ACKINT_A
KINT_ACK CK

0

CR_UL_AC CR_UL_ACKINT_A
KINT_ACK CK

Description

© 2016 - 2017 MediaTek Inc.

Page 179 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

12. I2S0 and I2S1 Audio PLL Settings
12.1.

XPLL block diagram

The audio phase-locked loop (XPLL) supports:
1) REF_CK: 26MHz or 40MHz.
2) PLL VCO frequency Output frequency: 832MHz, 786.432MHz or 722.5344MHz
3) PLL output frequency: 26MHz, 24.576MHz or 22.5792MHz

Analog PLL Core
26MHz

REF_CK

CHPFD

LPF

832MHz

VCO

/1,2,4

416MHz

/16

AD_XPLL_CLK

FB_CK
0

1
RG_XPLLL_DDSEN

/1-128

<700MHz

/1,2,4

416MHz
RG_XPLLL_FBSEL<1:0>
RG_XPLLL_FBDIV<6:0>

DDS

<700MHz

/1,2

416MHz
RG_XPLL_PCW_NCPO<30:0> RG_DDS_PREDIV2
(always TIEH,
no need to set)

Figure 12.1-1. XPLL block diagram
Keywords: analog PLL core, CHPFD, LPF, VCO, FB_CK

12.2.

Fractional-N PLL power on sequence

1) Set RG_XPLL_FBDIV<6:0> to nearest integer
2) PLL power on and settle (after AD_RGS_PLL_VCO_CPLT=1)
3) Set DDS power on registers

© 2016 - 2017 MediaTek Inc.

Page 180 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
RG_XPLL_BIAS_PWD
RG_XPLL_PWD
RG_XPLL_DDS_PWDB
XPLL calibration
AD_RGS_PLL_VCOCAL_CPLT
>30n
RG_XPLL_DDS_RSTB
>30n
RG_XPLL_PCW_NCPO_CHG
>30n
RG_XPLL_NCPO_EN
>1u
RG_XPLL_DDSEN
RG_XPLL_BIAS_RST
>20u
XPLL ready

Figure 12.2-1. Fractional-N PLL power on sequence
Keywords: XPLL calibration, XPLL ready

12.3.

XPLL frequency setting (Integer)

Freq=Fin*(FBDIV+1)*FBSEL/PREDIV/POSDIV
1) Pre-divider ratio (PREDIV)
2'b00: Fref = Fin/1
2'b01: Fref = Fin/2
2'b1X: Fref = Fin/4
2) Post-divider ratio for single-phase output (POSDIV)
2'b00: VCO/1
2'b01: VCO/2
2'b1X: VCO/4
3) Feedback clock select (FBSEL)
2'b00: Fvco/1
2'b01: Fvco/2
2'b1X: Fvco/4
4) Feedback divide ratio (FBDIV)
7'd0: /1
7'd1: /2

© 2016 - 2017 MediaTek Inc.

Page 181 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
…...
7'd127: /128

12.4.

DDS PCW setting
Integer part

RG_PCW_NCPO[30:0]
30

29

28

27

26

25

Fraction part
24

23

22

21

20

19

18

…

1

0

Figure 12.4-1. DDS PCW settings
1) 2 < divisor < 128
2) RG_XPLL_PCW_NCPO[30:0] = (Period-1)*2^24
3) Ex. Fin=26MHz, Fout=416MHz
•

12.5.

RG_XPLL_PCW_NCPO[30:0]=(416/26-1)*2^24=16’d251658240

XPLL frequency change sequence

•

Set RG_XPLL_PCW_NCPO<30:0>

•

Toggle RG_XPLL_PCW_NCPO_CHG

(Both edges will do)

>30n
RG_XPLL_PCW_NCPO[30:0]
>1n

>1n

RG_XPLL_PCW_NCPO_CHG
Figure 12.5-1. XPLL frequency change sequence
Keyword: RG_XPLL_PCW_MCPO

12.6.

XPLL turn on programming sequence

Read CKSYS_XTAL_FREQ__F_F_FXO_IS_26M (0xA20202A3) for REF_CK (1: 26MHz, 0: 40MHz)
1) If REF_CK = 26MHz, AD_XPLL_CK = 26MHz
•

Write: XPLL_CTL0 = 0x441F;

•

Write: XPLL_CTL1 = 0x441F;

•

Write: XPLL_CTL2 = 0x7320;

•

Write: XPLL_CTL3 = 0x1E000000;

•

Write: XPLL_CTL8 = 0x2F00;

•

Wait: 20us;

•

Write: XPLL_CTL0 = 0x441E;

•

Write: XPLL_CTL8 = 0x2F008;

•

Polling: XPLL_CTL4[1] = 1; //bit[1]: AD_RGS_PLL_VCOCAL_CPLT

© 2016 - 2017 MediaTek Inc.

Page 182 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: XPLL_CTL4 = 0x2A;

•

Write: XPLL_CTL8 = 0x2F018;

•

Write: XPLL_CTL3 = 0x1E000001;

•

Wait: 1us;

•

Write: XPLL_CTL8 = 0x2F038;

•

Wait: 1us;

•

Write: XPLL_CTL2 = 0xF302;

•

Write: XPLL_CTL8 = 0xF038;

•

Wait: 20us;

2) If REF_CK = 26MHz, AD_XPLL_CK = 24.576MHz
•

Write: XPLL_CTL0 = 0x441D;

•

Write: XPLL_CTL1 = 0xD861;

•

Write: XPLL_CTL2 = 0x7302;

•

Write: XPLL_CTL3 = 0x1C3F549A;

•

Write: XPLL_CTL8 = 0x20000;

•

Wait: 20us;

•

Write: XPLL_CTL0 = 0x441C;

•

Write: XPLL_CTL8 = 0x20008;

•

Polling: XPLL_CTL4[1] = 1; //bit[1]: AD_RGS_PLL_VCOCAL_CPLT

•

Write: XPLL_CTL4 = 0x2A;

•

Write: XPLL_CTL8 = 0x20018;

•

Write: XPLL_CTL3 = 0x1C3F549B;

•

Wait: 1us;

•

Write: XPLL_CTL8 = 0x20038;

•

Wait: 1us;

•

Write: XPLL_CTL2 = 0xF302;

•

Write: XPLL_CTL8 = 0x38;

•

Wait: 20us;

3) If REF_CK = 26MHz, AD_XPLL_CK = 22.5792MHz
•

Write: XPLL_CTL0 = 0x435;

•

Write: XPLL_CTL1 = 0xC861;

•

Write: XPLL_CTL2 = 0x7302;

•

Write: XPLL_CTL3 = 0x19CA2F54;

•

Write: XPLL_CTL8 = 0x2F000;

© 2016 - 2017 MediaTek Inc.

Page 183 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Wait: 20us;

•

Write: XPLL_CTL0 = 0x434;

•

Write: XPLL_CTL8 = 0x2F008;

•

Polling: XPLL_CTL4[1] = 1; //bit[1]: AD_RGS_PLL_VCOCAL_CPLT

•

Write: XPLL_CTL4 = 0x2A;

•

Write: XPLL_CTL8 = 0x2F018;

•

Write: XPLL_CTL3 = 0x19CA2F55;

•

Wait: 1us;

•

Write: XPLL_CTL8 = 0x2F038;

•

Wait: 1us;

•

Write: XPLL_CTL2 = 0xF302;

•

Write: XPLL_CTL8 = 0xF038;

•

Wait: 20us;

4) If REF_CK = 40MHz, AD_XPLL_CK = 26MHz
•

Write: XPLL_CTL0 = 0x4413;

•

Write: XPLL_CTL1 = 0x6861;

•

Write: XPLL_CTL2 = 0x7303;

•

Write: XPLL_CTL3 = 0x12CCCCCC;

•

Write: XPLL_CTL8 = 0x2F000;

•

Wait: 20us;

•

Write: XPLL_CTL0 = 0x4412;

•

Write: XPLL_CTL8 = 0x2F008;

•

Polling: XPLL_CTL4[1] = 1; //bit[1]: AD_RGS_PLL_VCOCAL_CPLT

•

Write: XPLL_CTL4 = 0x2A;

•

Write: XPLL_CTL8 = 0x2F008;

•

Write: XPLL_CTL3 = 0x12CCCCCD;

•

Wait: 1us;

•

Write: XPLL_CTL8 = 0x2F038;

•

Wait: 1us;

•

Write: XPLL_CTL2 = 0xF303;

•

Write: XPLL_CTL8 = 0xF038;

•

Wait: 20us;

5) If REF_CK = 40MHz, AD_XPLL_CK = 24.576MHz
•

Write: XPLL_CTL0 = 0x4411;

© 2016 - 2017 MediaTek Inc.

Page 184 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Write: XPLL_CTL1 = 0x5861;

•

Write: XPLL_CTL2 = 0x7303;

•

Write: XPLL_CTL3 = 0x11A92A30;

•

Write: XPLL_CTL8 = 0x2F000;

•

Wait: 20us;

•

Write: XPLL_CTL0 = 0x4410;

•

Write: XPLL_CTL8 = 0x2F008;

•

Polling: XPLL_CTL4[1] = 1; //bit[1]: AD_RGS_PLL_VCOCAL_CPLT

•

Write: XPLL_CTL4 = 0x2A;

•

Write: XPLL_CTL8 = 0x2F018;

•

Write: XPLL_CTL3 = 0x11A92A31;

•

Wait: 1us;

•

Write: XPLL_CTL8 = 0x2F038;

•

Wait: 1us;

•

Write: XPLL_CTL2 = 0xF303;

•

Write: XPLL_CTL8 = 0xF038;

•

Wait: 20us;

6) If REF_CK = 40MHz, AD_XPLL_CK = 22.5792MHz
•

Write: XPLL_CTL0 = 0x423;

•

Write: XPLL_CTL1 = 0x5861;

•

Write: XPLL_CTL2 = 0x7303;

•

Write: XPLL_CTL3 = 0x1010385C;

•

Write: XPLL_CTL8 = 0x2F000;

•

Wait: 20us;

•

Write: XPLL_CTL0 = 0x422;

•

Write: XPLL_CTL8 = 0x2F008;

•

Polling: XPLL_CTL4[1] = 1; //bit[1]: AD_RGS_PLL_VCOCAL_CPLT

•

Write: XPLL_CTL4 = 0x2A;

•

Write: XPLL_CTL8 = 0x2F018;

•

Write: XPLL_CTL3 = 0x1010385D;

•

Wait: 1us;

•

Write: XPLL_CTL8 = 0x2F038;

•

Wait: 1us;

•

Write: XPLL_CTL2 = 0xF303;

•

Write: XPLL_CTL8 = 0xF038;
© 2016 - 2017 MediaTek Inc.

Page 185 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

12.7.

Wait: 20us;

XPLL turn off programming sequence

1) To turn off XPLL when no need:
•

Write: XPLL_CTL0[0] = 1;

•

Wait: 1us;

•

Write: XPLL_CTL8[3] = 0;

•

Wait: 1us;

•

Write: XPLL_CTL8[16] = 1;

© 2016 - 2017 MediaTek Inc.

Page 186 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

13. SDIO
13.1.

Overview

The SD Input/Output (SDIO) card is based on and compatible with the SD memory card. The controller fully
supports the SD memory card bus protocol as defined in SD Memory Card Specification Part 1 Physical Layer
Specification version 2.0 and SDIO Specification version 2.0.
SDIO provides high-speed data IO with low power consumption. MT7686 SDIO module provides an SDIO2.0 card
interface connected to the host and can support multiple speed modes including default speed, SDR12 and SDR25.

13.2.
•

Features
Provides SDIO2.0 host interfaces
o

•

•

SDIO2.0:


1-bit and 4-bit SD data transfer modes



Default mode: Variable clock rate 0-25 MHz, up to 12.5 MB/sec interface speed (using 4 parallel
data lines)



High-Speed mode: Variable clock rate 0-50 MHz, up to 25 MB/sec interface speed (using 4 data
lines)



Data rate up to 50Mbps in serial mode, 50 x 4 Mbps in parallel mode, the module is targeted at
50MHz operating clock.



32-bit access for control registers



32-bit access for FIFO



Built-in 32 bytes FIFO buffers for transmit and receive, FIFO is shared for transmit and receive



Built-in CRC circuit



Interrupt capabilities



Does not support SPI



Supports DMA



WLAN TX packet de-aggregation and WLAN RX packet aggregation



WLAN WHISR/ RX enhanced read mode

CR and data port access
o

Supports CR port single read/write access (AHB slave)

o

Supports data port single and burst read/write access (AHB master)

DMA function
o

One TX channel and two RX channels

o

AHB master interface

o

Moves TX data from HIF buffer to system, EMI, retention memory

o

Moves RX data or firmware prepared data from system, EMI, retention memory to HIF buffer

© 2016 - 2017 MediaTek Inc.

Page 187 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
13.3.

Block diagram

The block diagram of the SDIO controller is shown in Figure 13.3-1.

AHB master bus

SD BUS

sdctl_eng
(Main queue/DMA engine)

sdctl_sdio1
(SDIO)

sdctl_cis_buf

sdctl_whdcr

Card information
structure (CIS)
buffer

sdctl_hfcr

Drive control/status

Firmware control/status

register (CSR)

register (CSR)

AHB slave bus
(MCU)

sdctl_top
(SDIO controller)

sdctl_debug_flag
(Debug flag)

Figure 13.3-1. SDIO controller block diagram

13.4.

Functions

From the external view, the SDIO interface mainly includes the SD bus and AHB master and slave. The AHB master
is used for DMA operations and the AHB slave is used for register access from the MCU. The SD bus provides an
interface for SD specification.

13.4.1.

Signal pins
SDIO_CLK
SD Host

CMD

SD I/O
Card

SDIO_DAT0~3

Figure 13.4-1. Signal connections to 4-bit SDIO cards
Table 13.4-1. SDIO pin definitions
Pin

Name

SD 4-bit mode

SD 1-bit mode

1

SLV_MC0_DA3

DAT[3]

Data line3

N/C

Not used

2

SLV_MC0_CM0

CMD

Command line

CMD

Command line

3

VSS1

VSS1

Ground

VSS1

Ground

© 2016 - 2017 MediaTek Inc.

Page 188 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Pin

Name

SD 4-bit mode

4

VDD

VDD

Supply voltage

VDD

Supply voltage

5

SLV_MC0_CK

CLK

Clock

CLK

Clock

6

VSS2

VSS2

Ground

VSS2

Ground

7

SLV_MC0_DA0

DAT[0]

Data line 0

DATA

Data line

8

SLV_MC0_DA1

DAT[1]

Data line1 or interrupt

IRQ

Interrupt

9

SLV_MC0_DA2

DAT[2]

Data line2

RW

Not used

13.4.2.

SD 1-bit mode

SDIO timing waveform (3.3V)
V
VDD
Output
high level

VOH
VIH

undefined
VIL
Output
low level

VOL
VSS

t

Figure 13.4-2. Bus signal levels
Table 13.4-2. Bus signal voltage
Parameter

Symbol

Min.

Output High Voltage

VOH

0.75*VDD

Output Low Voltage

VOL

Input High Voltage

VIH

Input Low Voltage

VIL

Max.

Unit

Conditions

V

IOH=-2mA VDD min

0.125*VDD

V

IOL = 2mA VDD min

0.625*VDD

VDD+0.3

V

Vss-0.3

0.25*VDD

V

© 2016 - 2017 MediaTek Inc.

Page 189 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Figure 13.4-3. Bus timing diagram (default)
Table 13.4-3. Bus timing parameter values (default)
Parameter

Symbol

Minimum

Maximum

Unit

Remark

Clock CLK (All values are referred to min (VIH) and max (VIL)
Clock frequency data
transfer mode

fPP

0

25

MHz

CCARD ≤ 10 pF (1 card)

Clock frequency
identification mode

fOD

0/100

400

kHz

CCARD ≤ 10 pF (1 card)

Clock low time

tWL

10

ns

CCARD ≤ 10 pF (1 card)

Clock high time

tWH

10

ns

CCARD ≤ 10 pF (1 card)

Clock rise time

tTLH

10

ns

CCARD ≤ 10 pF (1 card)

Clock fall time

tTHL

10

ns

CCARD ≤ 10 pF (1 card)

Inputs CMD, DAT (referenced to CLK)
Input set-up time

tISU

5

ns

CCARD ≤ 10 pF (1 card)

Input hold time

tIH

5

ns

CCARD ≤ 10 pF (1 card)

Outputs CMD, DAT (referenced to CLK)
Output delay time
during data transfer
mode

tOLDY

0

14

ns

CL ≤ 40 pF (1 card)

Output delay time
during identification
mode

tOLDY

0

50

ns

CL ≤ 40 pF (1 card)

© 2016 - 2017 MediaTek Inc.

Page 190 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
fpp

0.7
0.2

50%VDD

tWL

tWH

VIH
Clock
VIL

tTLH

tTHL
tISU

tIH

VIH
Input
VIL
VOH
Output
VOL
tOH

tODLY(max)

Figure 13.4-4. High-speed timing diagram
Table 13.4-4. High-speed timing parameter values
Parameter

Symbol

Minimum

Maximum

Unit

Remark

50

MHz

CCARD ≤ 10 pF (1 card)

Clock CLK (All values are referred to min (VIH) and max (VIL)
Clock frequency data
transfer mode

fPP

0

Clock low time

tWL

7

ns

CCARD ≤ 10 pF (1 card)

Clock high time

tWH

7

ns

CCARD ≤ 10 pF (1 card)

Clock rise time

tTLH

3

ns

CCARD ≤ 10 pF (1 card)

Clock fall time

tTHL

3

ns

CCARD ≤ 10 pF (1 card)

Inputs CMD, DAT (referenced to CLK)
Input set-up time

tISU

6

ns

CCARD ≤ 10 pF (1 card)

Input hold time

tIH

2

ns

CCARD ≤ 10 pF (1 card)

ns

CL ≤ 40 pF (1 card)

ns

CL ≥ 40 pF (1 card)

pF

1 card

Outputs CMD, DAT (referenced to CLK)
Output delay time during
data transfer mode

tOLDY

Output hold time

tOH

Total system capacitance
for each line (1)

CL

14
2.5
40

(1) In order to satisfy the serving time, the host shall drive only one card

13.5.

Register mapping

13.5.1.

Firmware register

Module name: SDIO_FW Base address: (+A1040000h)
Address

Name

Width
(bits)

Register Functionality

© 2016 - 2017 MediaTek Inc.

Page 191 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040000

HGFCR

32

HIF Global Firmware Configuration
Register

A1040004

HGFISR

32

HIF Global Firmware Interrupt Status
Register

A1040008

HGFIER

32

HIF Global Firmware Interrupt Enable
Register

A1040010

HSDBDLSR

32

HIF SDIO Bus Delay Selection Register

A1040014

HSDLSR

32

HIF SRAM Delay Selection Register

A1040018

HCSDCR

32

HIF Clock Stop Detection register

A104001C

HGH2DR

32

HIF Global Host to Device Register

A1040020

HDBGCR

32

HIF Debug Control Register

A104002C

FWDSIOCR

32

DS Pad Macro IO Control Register

A1040030

HGTMTCR

32

Test Mode Trigger Control Register

A1040034

HGTMCR

32

Test Mode Control Register

A1040038

HGTMDPCR0

32

Test Mode Data Pattern Control Register 0

A104003C

HGTMDPCR1

32

Test Mode Data Pattern Control Register 1

A1040040

FWCLKIOCR_T28LP

32

Clock Pad Macro IO Control Register

A1040044

FWCMDIOCR_T28L
P

32

Command Pad Macro IO Control Register

A1040048

FWDAT0IOCR_T28L
P

32

Data 0 Pad Macro IO Control Register

A104004C

FWDAT1IOCR_T28L
P

32

Data 1 Pad Macro IO Control Register

A1040050

FWDAT2IOCR_T28L
P

32

Data 2 Pad Macro IO Control Register

A1040054

FWDAT3IOCR_T28L
P

32

Data 3 Pad Macro IO Control Register

A1040058

FWCLKDLYCR

32

Clock Pad Macro Delay Chain Control
Register

A104005C

FWCMDDLYCR

32

Command Pad Macro Delay Chain Control
Register

A1040060

FWODATDLYCR

32

SDIO Output Data Delay Chain Control
Register

A1040064

FWIDATDLYCR1

32

SDIO Input Data Delay Chain Control
Register 1

A1040068

FWIDATDLYCR2

32

SDIO Input Data Delay Chain Control
Register 2

A104006C

FWILCHCR

32

SDIO Input Data Latch Time Control
Register

A1040070

CIS0R00

32

CIS0 Register 0

A1040074

CIS0R01

32

CIS0 Register 1

A1040078

CIS0R02

32

CIS0 Register 2

A104007C

CIS0R03

32

CIS0 Register 3

A1040080

CIS0R04

32

CIS0 Register 4

A1040084

CIS0R05

32

CIS0 Register 5

© 2016 - 2017 MediaTek Inc.

Page 192 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040088

CIS0R06

32

CIS0 Register 6

A104008C

CIS0R07

32

CIS0 Register 7

A1040090

CIS0R08

32

CIS0 Register 8

A1040094

CIS0R09

32

CIS0 Register 9

A1040098

CIS0R0A

32

CIS0 Register A

A104009C

CIS0R0B

32

CIS0 Register B

A10400A0

CIS0R0C

32

CIS0 Register C

A10400A4

CIS0R0D

32

CIS0 Register D

A10400A8

CIS0R0E

32

CIS0 Register E

A10400AC

CIS0R0F

32

CIS0 Register F

A10400B0

CIS1R00

32

CIS1 Register 0

A10400B4

CIS1R01

32

CIS1 Register 1

A10400B8

CIS1R02

32

CIS1 Register 2

A10400BC

CIS1R03

32

CIS1 Register 3

A10400C0

CIS1R04

32

CIS1 Register 4

A10400C4

CIS1R05

32

CIS1 Register 5

A10400C8

CIS1R06

32

CIS1 Register 6

A10400CC

CIS1R07

32

CIS1 Register 7

A10400D0

CIS1R08

32

CIS1 Register 8

A10400D4

CIS1R09

32

CIS1 Register 9

A10400D8

CIS1R0A

32

CIS1 Register A

A10400DC

CIS1R0B

32

CIS1 Register B

A10400E0

CIS1R0C

32

CIS1 Register C

A10400E4

CIS1R0D

32

CIS1 Register D

A10400E8

CIS1R0E

32

CIS1 Register E

A10400EC

CIS1R0F

32

CIS1 Register F

A10400F0

CISRDY

32

CIS Ready Flag Register

A10400F4

CCCR0

32

CC Register 0

A10400F8

CCCR1

32

CC Register 1

A10400FC

CCRDY

32

CC Ready Flag Register

A1040100

HWFISR

32

HIF WLAN Firmware Interrupt Status
Register

A1040104

HWFIER

32

HIF WLAN Firmware Interrupt Enable
Register

A1040108

HWFISR1

32

Reserved for HWFISR1

A104010C

HWFIER1

32

Reserved for HWFIER1

A1040110

HWFTE0SR

32

HIF WLAN Firmware TX Event 0 Status
Register

A1040114

HWFTE1SR

32

Reserved for HWFTE1SR

A1040118

HWFTE2SR

32

Reserved for HWFTE2SR

A104011C

HWFTE3SR

32

Reserved for HWFTE3SR

A1040120

HWFTE0ER

32

HIF WLAN Firmware TX Event 0 Enable
Register

© 2016 - 2017 MediaTek Inc.

Page 193 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040124

HWFTE1ER

32

Reserved for HWFTE1ER

A1040128

HWFTE2ER

32

Reserved for HWFTE2ER

A104012C

HWFTE3ER

32

Reserved for HWFTE3ER

A1040130

HWFRE0SR

32

HIF WLAN Firmware RX Event 0 Status
Register

A1040134

HWFRE1SR

32

HIF WLAN Firmware RX Event 1 Status
Register

A1040138

HWFRE2SR

32

Reserve for HWFRE2SR

A104013C

HWFRE3SR

32

Reserve for HWFRE3SR

A1040140

HWFRE0ER

32

HIF WLAN Firmware RX Event 0 Enable
Register

A1040144

HWFRE1ER

32

HIF WLAN Firmware RX Event 1 Enable
Register

A1040148

HWFRE2ER

32

Reserve for HWFRE2ER

A104014C

HWFRE3ER

32

Reserve for HWFRE3ER

A1040150

HWFICR

32

HIF WLAN Firmware Interrupt Control
Register

A1040154

HWFCR

32

HIF WLAN Firmware Control Register

A1040158

HWTDCR

32

HIF WLAN TX DMA Control Register

A104015C

HWTPCCR

32

HIF WLAN TX Packet Count Control
Register

A1040160

HWFTQ0SAR

32

HIF WLAN Firmware TX Queue 0 Start
Address Register

A1040164

HWFTQ1SAR

32

HIF WLAN Firmware TX Queue 1 Start
Address Register

A1040168

HWFTQ2SAR

32

HIF WLAN Firmware TX Queue 2 Start
Address Register

A104016C

HWFTQ3SAR

32

HIF WLAN Firmware TX Queue 3 Start
Address Register

A1040170

HWFTQ4SAR

32

HIF WLAN Firmware TX Queue 4 Start
Address Register

A1040174

HWFTQ5SAR

32

Reserved for HIF WLAN Firmware TX
Queue 5 Start Address Register

A1040178

HWFTQ6SAR

32

Reserved for HIF WLAN Firmware TX
Queue 6 Start Address Register

A104017C

HWFTQ7SAR

32

Reserved for HIF WLAN Firmware TX
Queue 7 Start Address Register

A1040180

HWFRQ0SAR

32

HIF WLAN Firmware RX Queue 0 Start
Address Register

A1040184

HWFRQ1SAR

32

HIF WLAN Firmware RX Queue 1 Start
Address Register

A1040188

HWFRQ2SAR

32

HIF WLAN Firmware RX Queue 2 Start
Address Register

A104018C

HWFRQ3SAR

32

HIF WLAN Firmware RX Queue 3 Start
Address Register

A1040190

HWFRQ4SAR

32

Reserve for HIF WLAN Firmware RX Queue
4 Start Address Register

© 2016 - 2017 MediaTek Inc.

Page 194 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040194

HWFRQ5SAR

32

Reserve for HIF WLAN Firmware RX Queue
5 Start Address Register

A1040198

HWFRQ6SAR

32

Reserved for HIF WLAN Firmware RX
Queue 6 Start Address Register

A104019C

HWFRQ7SAR

32

Reserved for HIF WLAN Firmware RX
Queue 7 Start Address Register

A10401A0

H2DRM0R

32

Host to Device Receive Mailbox 0 Register

A10401A4

H2DRM1R

32

Host to Device Receive Mailbox 1 Register

A10401A8

D2HSM0R

32

Device to Host Send Mailbox 0 Register

A10401AC

D2HSM1R

32

Device to Host Send Mailbox 1 Register

A10401B0

D2HSM2R

32

Device to Host Send Mailbox 2 Register

A10401C0

HWRQ0CR

32

HIF WLAN RX Queue 0 Control Register

A10401C4

HWRQ1CR

32

HIF WLAN RX Queue 1 Control Register

A10401C8

HWRQ2CR

32

HIF WLAN RX Queue 2 Control Register

A10401CC

HWRQ3CR

32

HIF WLAN RX Queue 3 Control Register

A10401D0

HWRQ4CR

32

Reserved for HWRQ4CR

A10401D4

HWRQ5CR

32

Reserved for HWRQ5CR

A10401D8

HWRQ6CR

32

Reserved for HWRQ6CR

A10401DC

HWRQ7CR

32

Reserved for HWRQ7CR

A10401E0

HWRLFACR

32

HIF WLAN RX Length FIFO Available Count
Register

A10401E4

HWRLFACR1

32

Reserved for HWRLFACR1

A10401E8

HWDMACR

32

HIF WLAN DMA Control Register

A10401EC

HWFIOCDR

32

HIF WLAN Firmware GPD IOC bit Disable
Register

A10401F0

HSDIOTOCR

32

HIF SDIO Time-Out Control Register

A1040200

HWFTSR0

32

HIF WLAN Firmware TX Status Register 0

A1040204

HWFTSR1

32

HIF WLAN Firmware TX Status Register 1

A1040210

HWDBGCR

32

HIF WLAN Debug Control Register

A1040214

HWDBGPLR

32

HIF WLAN Debug Packet Length Register

A1040218

HSPICSR

32

WLAN SPI Control Status Register (SPI
Only)

A1040220

HWRX0CGPD

32

DMA RX0 Current GPD Address Register

A1040224

HWRX1CGPD

32

DMA RX1 Current GPD Address Register

A1040228

HWRX2CGPD

32

DMA RX2 Current GPD Address Register

A104022C

HWRX3CGPD

32

DMA RX3 Current GPD Address Register

A1040230

HWTX0CGPD

32

DMA TX0 Current GPD Address Register

A1040234

HWTX1Q1CGPD

32

DMA TX1 Que Type 1 Current GPD Address
Register

A1040238

HWTX1Q2CGPD

32

DMA TX1 Que Type 2 Current GPD Address
Register

A104023C

HWTX1Q3CGPD

32

DMA TX1 Que Type 3 Current GPD Address
Register

A1040240

HWTX1Q4CGPD

32

DMA TX1 Que Type 4 Current GPD Address

© 2016 - 2017 MediaTek Inc.

Page 195 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Register
A1040244

HWTX1Q5CGPD

32

DMA TX1 Que Type 5 Current GPD Address
Register

A1040248

HWTX1Q6CGPD

32

DMA TX1 Que Type 6 Current GPD Address
Register

A104024C

HWTX1Q7CGPD

32

DMA TX1 Que Type 7 Current GPD Address
Register

A10403F4

HSDIOCRCR

32

HIF SDIO CRC status Register

A10403F8

HSDIORCR

32

HIF SDIO Read Control Register

A1040000
Bit

31

30

RW

29
SW
_S
ET
_C
LK
_N
ON
BL
C
RW

1
14

SW
_S
EL
_C
LK
BL
C

Nam
e

Type
Rese
t
Bit

HGFCR

15

HIF Global Firmware Configuration
Register
28

27

26

25

24

PA
D_
CR
_S
ET
_B
Y_
FW

PB
_H
CL
K_
DIS

EH
PI_
HC
LK
_D
IS

RW

RW

0

0

13

12

Nam
e
Type
Rese
t

23

18

17

16

SPI
_H
CL
K_
DIS

SDI
O_
HC
LK
_D
IS

FO
RC
E_
SD
_H
S

HC
LK
_N
O_
GA
TE
D

INT
_T
ER
_C
YC
_M
AS
K

RW

RW

RW

RW

RW

RW

0

0

0

0

0

1

0

11

10

9

2

1

0

SD
CT
L_
BU
SY

CA
RD
_IS
_18
V

RO

RW

8
HI
NT
_A
S_
FW
_O
B
RW

0

0

0

7

22

21

20

19

40020041

6

5

4

3

SDI
O_
PIO
_S
EL

EH
PI_
MO
DE

SPI
_M
OD
E

DB_HIF_SEL

RO

RO

RO

RO

1

0

0

0

0

1

Bit(s)

Name

Description

30

SW_SEL_CLKBLC

Software enables this bit to take over balance and nonbalance SD clock control for pad macro. The need for nonbalance SD clock for pad macro is due to tight output
timing specifications. The default setting is controlled by
hardware to decide the clock balance. However, software
is flexible to determine the balance or non-balance clock
tree for the SDIO pad macro.

29

SW_SET_CLK_NONBLC

•

0: The balance/non-balance SD clock for pad macro is
controlled by hardware.

•

1: The balance/non-balance SD clock for pad macro is
controlled by software.

Software enables this bit to use balance and non-balance
SD clock for pad macro.

•
•
28

PAD_CR_SET_BY_FW

0: Use balance SD clock for pad macro.
1: Use non-balance SD clock for pad macro.

Enable the pad macro control register test mode.

© 2016 - 2017 MediaTek Inc.

Page 196 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Firmware writes this bit and then gets the ownership to
access the pad macro control registers.

27

PB_HCLK_DIS

•

0: Pad macro control register set by the host driver (normal
mode).

•

1: Pad macro control register set by the firmware (test mode).

Used to disable the AHB clock for PIO-based function
design. It is set when PIO-based function is not used in
some specific configurations. Otherwise, the PIO-based
function might fail.

•
•
26

EHPI_HCLK_DIS

SPI_HCLK_DIS

SDIO_HCLK_DIS

17

16

FORCE_SD_HS

HCLK_NO_GATED

INT_TER_CYC_MASK

SDCTL_BUSY

CARD_IS_18V

1: Disable AHB clock.

0: AHB clock is not disabled.
1: Disable AHB clock.

•
•

0: SDIO is in the operation mode specified in EHS of CCCR.

•

0: SDIO controller would close some part of the AHB clock
inside automatically for the unused period by the clock gating
cell

•

1: The AHB clock inside SDIO controller is always on.

1: FORCE SDIO to operate in high speed mode despite the
values of EHS of CCCR.

This field is used to determine whether SDIO should drive
high to bus bit1 during the interrupt termination cycle.
0 : always drive high during the termination cycle.
1: drive high during the termination cycle only if it is in
interrupt period.

Indicates whether SDIO controller is busy.

•
•
9

0: AHB clock is not disabled.

Note, that the card can operate in high speed mode, using
an external effuse or read or write interface to enable this
function according to IP configuration.

•
•
10

1: Disable AHB clock.

Used to disable the AHB clock for SDIO1 interface. It
would be set when SDIO is not used in some specific
configurations. Otherwise, the SDIO operation will fail.

•
•
18

0: AHB clock is not disabled.

Used to disable the AHB clock for SPI interface. It would
be set when SPI is not used in some specific
configurations. Otherwise, the SPI operation will fail.

•
•
24

1: Disable AHB clock.

Used to disable the AHB clock for EHPI interface. It would
be set when EHPI is not used in some specific
configuration. Otherwise, the EHPI operation will fail.

•
•
25

0: AHB clock is not disabled.

0: SDIO controller is not busy.
1: SDIO controller is still busy.

Firmware writes 1 to this field to show whether the
voltage has switched and if the card is in 1.8V state.

•
•

0: card is not in 1.8V state.
1: card is in 1.8V state (UHS mode).

© 2016 - 2017 MediaTek Inc.

Page 197 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
8

Use an interrupt to host as a firmware ownership back
control

HINT_AS_FW_OB

6

•

0: Hosting interrupt to host would NOT trigger firmware
ownership back

•

1: Hosting interrupt to host would trigger firmware ownership
back

Host interface for SDIO PIO-based function is used.

SDIO_PIO_SEL

•
•
5

•
•

0: EHPI16-mode of EHPI is used.
1: EHPI8-mode of EHPI is used.

This bit indicates if TI-mode or Motor-mode is used.

SPI_MODE

•
•
2:0

1: SDIO PIO mode is used.

This bit indicates if EHPI8-mode or EHPI16-mode is used.

EHPI_MODE

4

0: SDIO PIO mode is not used.

0: Motor-mode of SPI is used.
1: TI-mode of SPI is used.

Host interface for DMA-based function is used;

DB_HIF_SEL

•
•
•

0x1: SDIO1
0x2: SPI
0x4: EHPI

A1040004

HGFISR

HIF Global Firmware Interrupt Status 00000000
Register

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

9

8

7

6

5

4

3

2

1

0

CH
G_
TO
_18
V_
RE
Q_I
NT

CR
C_
ER
RO
R_I
NT

PB
_I
NT

DB
_I
NT

SDI
O_
SE
T_
AB
T

SDI
O_
SE
T_
RE
S

DR
V_
SE
T_
PB
_IO
E

DR
V_
SE
T_
DB
_IO
E

DR
V_
CL
R_
PB
_IO
E

DR
V_
CL
R_
DB
_IO
E

W1
C

W1
C

RO

RO

W1
C

W1
C

W1
C

W1
C

W1
C

W1
C

0

0

0

0

0

0

0

0

0

0

Nam
e

SD1
_S
ET
_D
S_I
NT

Type

W1
C

10
SD1
_S
ET
_X
TA
L_
UP
D_
INT
W1
C

0

0

Rese
t

Bit(s)

Name

Description

11

SD1_SET_DS_INT

This bit is for SDIO interface only.
If the CCCR deep sleep register is set by host, this bit will be set,
too. Once the firmware detects this event, it will set the device into
deep sleep mode.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

10

SD1_SET_XTAL_UPD_INT

This bit is for SDIO interface only.
If the CCCR XTAL frequency update register is set in the host, this
bit will be set, too. Once the firmware detects this event, it will

© 2016 - 2017 MediaTek Inc.

Page 198 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
know that the host has updated the XTAL frequency. Firmware can
then read HGH2DR to find the updated frequency value.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
9

CHG_TO_18V_REQ_INT

Host sends command 11 to request the device to change
the voltage to 1.8V. Firmware receives the interrupt or
polling status to switch the voltage. Then the firmware
writes that the card is in 1.8V status to HGFCR.

8

CRC_ERROR_INT

The status bit of TX data port CRC error interrupt.

7

PB_INT

The status bit of PIO-based function firmware interrupt.

6

DB_INT

The status bit of DMA-based function firmware interrupt.

5

SDIO_SET_ABT

SDIO writes 1 to SDIO CCCR. ABORT to abort the
transaction. Once the firmware detects this event, the TX
and RX queues are stopped and the data in the buffer is
discarded.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

4

SDIO_SET_RES

SDIO writes 1 to SDIO CCCR.RES to assert software reset.
Once the firmware detects this event, it disables the subsystems on SDIO interface.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

3

DRV_SET_PB_IOE

This bit is for SDIO interface only.
This bit is set if the host sets the CCCR.IOE bit of PIO-based
functional block. Once the firmware detects this event, it enables
the sub-system that uses PIO-based function.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

2

DRV_SET_DB_IOE

This bit is for SDIO interface only.
This bit is set if the host sets the CCCR.IOE bit of DMA-based
functional block. Once the firmware detects this event, it enables
the sub-system that uses DMA-based function.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

1

DRV_CLR_PB_IOE

This bit is for SDIO interface only.
This bit is set if the host clears the CCCR.IOE bit of PIO-based
functional block. Once the firmware detects this event, it disables
the sub-system that uses PIO-based function.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

0

DRV_CLR_DB_IOE

This bit is for SDIO interface only.
This bit is set if the host clears the CCCR.IOE bit of DMA-based
functional block. Once the firmware detects this event, it disables
the sub-system which uses DMA-based function.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

A1040008

HGFIER

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11
SD1
_S
ET
_D
S_I

10
SD1
_S
ET
_X
TA

9
CH
G_
TO
_18
V_

8
CR
C_
ER
RO
R_I

7
PB
_I
NT
_E
N

6
DB
_I
NT
_E
N

5
SDI
O_
SE
T_
AB

4
SDI
O_
SE
T_
RE

3
DR
V_
SE
T_
PB

2
DR
V_
SE
T_
DB

1
DR
V_
CL
R_
PB

0
DR
V_
CL
R_
DB

Nam
e

HIF Global Firmware Interrupt Enable 00000000
Register

© 2016 - 2017 MediaTek Inc.

Page 199 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
NT
_E
N

Type
Rese
t

RE
Q_I
NT
_E
N

NT
_E
N

RW

L_
UP
D_
INT
_E
N
RW

RW

RW

RW

0

0

0

0

0

T_I
NT
_E
N

S_I
NT
_E
N

_IO
E_I
NT
_E
N

_IO
E_I
NT
_E
N

_IO
E_I
NT
_E
N

_IO
E_I
NT
_E
N

RW

RW

RW

RW

RW

RW

RW

0

0

0

0

0

0

0

Bit(s)

Name

Description

11

SD1_SET_DS_INT_EN

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
10

SD1_SET_XTAL_UPD_INT_EN

CHG_TO_18V_REQ_INT_EN

CRC_ERROR_INT_EN

PB_INT_EN

DB_INT_EN

SDIO_SET_ABT_INT_EN

SDIO_SET_RES_INT_EN

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
4

1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
5

0: Disable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
6

1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
7

0: Disable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
8

1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

•
•
9

0: Disable the related bit interrupt output.

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

© 2016 - 2017 MediaTek Inc.

Page 200 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•
•
3

•
•

•
•

1: Enable the related bit interrupt output.

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

DRV_CLR_PB_IOE_INT_EN

•
•
0

0: Disable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

DRV_SET_DB_IOE_INT_EN

1

1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

DRV_SET_PB_IOE_INT_EN

2

0: Disable the related bit interrupt output.

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

Common firmware interrupt output control for each bit
corresponding to bits defined in HGFISR.
If the related bit is

DRV_CLR_DB_IOE_INT_EN

•
•

0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

A1040010

HSDBDLSR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

HIF SDIO Bus Delay Selection Register 00000000
25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SD1_DAT3_DEL
SEL

SD1_DAT2_DEL
SEL

SD1_DAT1_DEL
SEL

SD1_DAT0_DEL
SEL

RW

RW

RW

RW

0

0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

14:12

SD1_DAT3_DELSEL

It is used to tune the SDIO1 bit3 bus delay for
desensitization

•
•
•
•
•
•
•

0

0

7: about 1.4ns.
6: about 1.2ns.
5: about 1.0ns.
4: about 0.8ns.
3: about 0.6ns.
2: about 0.4ns.
1: about 0.2ns.

© 2016 - 2017 MediaTek Inc.

Page 201 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•
10:8

It is used to tune the SDIO1 bit2 bus delay for
desensitization (bit 2)

SD1_DAT2_DELSEL

•
•
•
•
•
•
•
•
6:4

7: about 1.4ns.
6: about 1.2ns.
5: about 1.0ns.
4: about 0.8ns.
3: about 0.6ns.
2: about 0.4ns.
1: about 0.2ns.
0: no delay.

It is used to tune the SDIO1 bit1 bus delay for
desensitization

SD1_DAT1_DELSEL

•
•
•
•
•
•
•
•
2:0

0: no delay.

7: about 1.4ns.
6: about 1.2ns.
5: about 1.0ns.
4: about 0.8ns.
3: about 0.6ns.
2: about 0.4ns.
1: about 0.2ns.
0: no delay

It is used to tune the SDIO1 bit0 bus delay for
desensitization

SD1_DAT0_DELSEL

•
•
•
•
•
•
•
•

7: about 1.4ns.
6: about 1.2ns.
5: about 1.0ns
4: about 0.8ns
3: about 0.6ns.
2: about 0.4ns.
1: about 0.2ns.
0: no delay

A1040014

HSDLSR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

HIF SRAM Delay Selection Register
25

24

23

22

21

20

19

18

00000F0A
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

PB_DELS
EL_3_2

PB_DELS
EL_1_0

DB_DELS
EL_3_2

DB_DELS
EL_1_0

RW

RW

RW

RW

1

1

1

1

© 2016 - 2017 MediaTek Inc.

1

0

1

0

Page 202 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Name

Description

11:10

PB_DELSEL_3_2

Delay selection of SRAM of PIO-based part of SDIO
controller
Note, that the default value is different for different processes.

9:8

PB_DELSEL_1_0

Delay selection of SRAM of PIO-based part of SDIO
controller
Note, that the default value is different for different processes.

3:2

DB_DELSEL_3_2

Delay selection of SRAM of DMA-based part of SDIO
controller
Note, that the default value is different for different processes.

1:0

DB_DELSEL_1_0

Delay selection of SRAM of DMA-based part of SDIO
controller
Note, that the default value is different for different processes.

A1040018

HCSDCR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

HIF Clock Stop Detection register
28

27

26

25

24

23

22

21

20

19

0000FDE8
18

17

16

SDCLK_STOP_NUM
RW

15

14

13

12

11

10

9

8

7

6

0

0

0

0

5

4

3

2

1

0

1

0

1

0

0

0

SDCLK_STOP_NUM
RW
1

1

1

1

1

1

0

1

1

1

Bit(s)

Name

Description

19:0

SDCLK_STOP_NUM

For SDIO 3.0 design, host driver needs to issue CMD11 to switch
the voltage to 1.8V to enter UHS mode. This field is to set the
hardware timer threshold for SDIO hardware to determine whether
the SD clock has stopped. According to SDIO 3.0 specifications, the
host should stop the clock at least 5ms for the device to switch the
voltage from 3.3V to 1.8V. The unit of this field is based on the AHB
clock cycle number.

A104001C

HGH2DR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Bit(s)

HIF Global Host to Device Register

00000003

XTAL_FREQ
RO
0

Name

1

1

Description

© 2016 - 2017 MediaTek Inc.

Page 203 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
2:0

XTAL_FREQ

The host can write this CCCR vendor unique register to update the
XTAL frequency information for firmware to read. When the host
writes 1 to this field, hardware would send an interrupt to firmware
to notify that the host has updated the XTAL frequency. Firmware
can read the firmware domain HGH2DR register to derive the
updated XTAL frequency.

A1040020

HDBGCR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

HIF Debug Control Register
28

27

26

25

24

23

22

21

11110000

20

19

DEBUG_MONH

DEBUG_MONL

RO

RO

0

1

0

0

0

1

0

0

0

1

0

0

0

1

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

FLAG_HSEL

FLAG_LSEL

RW

RW

0

0

0

0

0

0

0

0

0

0

31:24

DEBUG_MONH

Debug flag monitor for High byte
Show the flag value specified in FLAG_HSEL

23:16

DEBUG_MONL

Debug flag monitor for Low byte
Show the flag value specified in FLAG_LSEL

15:8

FLAG_HSEL

Flag number of High byte for debug
Select which flag for debug in high byte

7:0

FLAG_LSEL

Flag number of Low byte for debug
Select which flag for debug in low byte

A104002C

Type
Rese
t
Bit

16

0

Description

Nam
e

17

0

Bit(s) Name

Bit

18

31
DS
_R
ES
P_
EN
RW

FWDSIOCR
30

1
15

14

29

28

DS Pad Macro IO Control Register
27

26

25

24

20

19

80000422
18

17

RW

RW

0

0

0

0

13

12

11

10

9

8

DS_E8E4E2

DS
_S
MT

RW

RW

4
DS
_P
UP
D
RW

1

0

1

Bit(s) Name
31
DS_RESP_EN

21

DS_TDSEL

0

Type
Rese
t

22

DS_RDSEL

0

Nam
e

23

0

7

6

0

5

16

0

0

0

0

3

2

1

0

DS
_R
1

DS
_R
0

DS
_IE
S

DS
_S
R

RW

RW

RW

RW

0

0

1

0

Description
HS400 mode response ds toggle enable bit
0:response DS toggle disable

© 2016 - 2017 MediaTek Inc.

Page 204 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
1: response DS toggle enable
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
CLK pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

29:24 DS_RDSEL

19:16

DS_TDSEL

10:8
5

DS_E8E4E2
DS_SMT

4

DS_PUPD

3
2
1

DS_R1
DS_R0
DS_IES

0

DS_SR

A1040030

HGTMTCR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

Test Mode Trigger Control Register
25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1
FW
_T
RI
GG
ER
_C
RC
_S
TS
RW

0
FW
_T
RI
GG
ER
_T
M_
DA
TA
RW

0

0

Nam
e

TM_BUS
_WIDTH

TM_BSS

Type
Rese
t

RW

RW

1

Bit(s) Name
12:11 TM_BUS_WIDTH

10:8

TM_BSS

0

0

1

00001300

1

Description
For Test Mode, set the bus width of SDIO bus interface
0x0: SD1-bit
0x1: Reserved
0x2: SD4-bit
0x3: SD8-bit
For Test Mode, set the bus speed of SDIO bus interface

© 2016 - 2017 MediaTek Inc.

Page 205 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

1

FW_TRIGGER_CRC_STS

0

FW_TRIGGER_TM_DATA

A1040034
Bit

31

Description
0x0: SDR12
0x1: SDR25
0x2: SDR50
0x3: SDR104
0x4: DDR50
For Test Mode: Send a good CRC status after firmware
trigger is enabled. The firmware polls this bit to make it 0
to trigger another event.
0: Disable SDIO Device Send CRC Status
1: Enable SDIO Device Send CRC Status
For the Test Mode: Send a specific response and block
data after firmware trigger is enabled. The firmware polls
this bit to make it 0 to trigger another event.
Note, that the content is configured similar to the host initiated
pattern generation
0: Disable SDIO Device Send Response and block data.
1: Enable SDIO Device Send Response and block data.

HGTMCR
30

29

Test Mode Control Register
28

27

26

25

Nam
e

Type
Rese
t
Bit

15

14

13

12

Nam
e

Type
Rese
t

11

10

9

22

21

00080000

24
TE
ST
_M
OD
E_
FW
_O
WN
RW

23

20

0

0

0

0

0

8
TE
ST
_M
OD
E_
ST
AT
US
RO

7

6

5

4

19

18

17

16

1

0

0

0

3

2

1

0

PRBS_INIT_VAL

RW

TEST_MO
DE_SELE
CT

RW

0

Bit(s) Name
24
TEST_MODE_FW_OWN

23:16
8

PRBS_INIT_VAL
TEST_MODE_STATUS

1:0

TEST_MODE_SELECT

0

0

Description
Indicates the ownership of Test Mode Control Register :
WTMCR,WTMDPCR0,WTMDPCR1
0: Host has the ownership.
1: Firmware has the ownership.
Initial Value For PRBS generator
To record the comparison result of the latest Test Mode
write operation.
0: Data compare of Test Mode write is Pass
1: Data compare of Test Mode write is Fail
Select the test mode data pattern
-64-bits configurable data register
(WTMDPCR0:WTMDPCR1)
-32-bits configurable data register

© 2016 - 2017 MediaTek Inc.

Page 206 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
-PRBS
00: the 32bit data pattern
01: the 64bit data pattern
10: the PRBS data pattern
11: reserved

A1040038

HGTMDPCR0

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Test Mode Data Pattern Control
Register 0
27

26

25

24

23

22

21

F0F0F0F0

20

19

18

17

16

TEST_MODE_DATA_PATTERN_0
RW
1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

0

0

0

0

TEST_MODE_DATA_PATTERN_0
RW
1

1

1

1

0

0

0

0

1

1

1

Bit(s) Name
Description
31:0 TEST_MODE_DATA_PATTERN_0 Data pattern for Test Mode read

A104003C

HGTMDPCR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Test Mode Data Pattern Control
Register 1
27

26

25

24

23

22

21

F0F0F0F0

20

19

18

17

16

TEST_MODE_DATA_PATTERN_1
RW
1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

0

0

0

0

TEST_MODE_DATA_PATTERN_1
RW
1

1

1

1

0

0

0

0

1

1

1

Bit(s) Name
Description
31:0 TEST_MODE_DATA_PATTERN_1 Data pattern for Test Mode write

A1040040

FWCLKIOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit
Nam

30

31

15

14

29

28

27

Clock Pad Macro IO Control Register

26

25

24

23

22

21

20

19

00000422
18

17

CLK_RDSEL

CLK_TDSEL

RW

RW

0

0

0

0

0

0

13

12

11

10

9

8

7

6

CLK_E8E4E2

© 2016 - 2017 MediaTek Inc.

16

0

0

0

0

5

4

3

2

1

0

CL

CL

CL

CL

CL

CL

Page 207 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RW
1

Bit(s) Name
29:24 CLK_RDSEL

19:16

CLK_TDSEL

10:8
5

CLK_E8E4E2
CLK_SMT

4

CLK_PUPD

3
2
1

CLK_R1
CLK_R0
CLK_IES

0

CLK_SR

FWCMDIOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

15

14

29

0

28

27

26

25

24

K_I
ES

K_
SR

RW

RW

RW

RW

1

0

0

0

1

0

22

21

20

19

18

17

RW

RW
0

0

0

13

12
RE
G_
CM
D_
SA
MP
LE
RW

11

10

9

8

0

23

00000422

CMD_TDSEL

0

Bit(s) Name
29:24 CMD_RDSEL

K_
R0

CMD_RDSEL

0

Type
Rese
t

K_
R1

Command Pad Macro IO Control
Register

0

Nam
e

K_
PU
PD
RW

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
CLK pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

A1040044
31

0

K_
SM
T
RW

0

0

0

4

3

2

1

0

CMD_E8E4E2

CM
D_
SM
T

CM
D_
PU
PD

CM
D_
R1

CM
D_
R0

CM
D_
IES

CM
D_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

6

0
5

1

7

16

0

Description
RX duty select

© 2016 - 2017 MediaTek Inc.

Page 208 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

19:16

12
10:8
5

Description
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input command
1: Use negative SD clock edge to latch input command
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
CMD pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

CMD_TDSEL

REG_CMD_SAMPLE
CMD_E8E4E2
CMD_SMT

4

CMD_PUPD

3
2
1

CMD_R1
CMD_R0
CMD_IES

0

CMD_SR

A1040048

FWDAT0IOCR_T28LP Data 0 Pad Macro IO Control Register

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

28

27

26

25

24

19

18

17

RW
0

0

0

13

12
RE
G_
DA
TA
0_
SA
MP
LE
RW

11

10

9

8

Bit(s) Name
29:24 DATA0_RDSEL

20

RW
0

0

21

DATA0_TDSEL

0

Type
Rese
t

22

DATA0_RDSEL

0

Nam
e

23

00000422

0

0

0

4

3

2

1

0

DATA0_E8E4E2

DA
TA
0_
SM
T

DA
TA
0_
PU
PD

DA
TA
0_
R1

DA
TA
0_
R0

DA
TA
0_I
ES

DA
TA
0_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

6

0
5

1

7

16

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse

© 2016 - 2017 MediaTek Inc.

Page 209 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

19:16

12
10:8
5

Description
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 0
1: Use negative SD clock edge to latch input data 0
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 0 pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

DATA0_TDSEL

REG_DATA0_SAMPLE
DATA0_E8E4E2
DATA0_SMT

4

DATA0_PUPD

3
2
1

DATA0_R1
DATA0_R0
DATA0_IES

0

DATA0_SR

A104004C

FWDAT1IOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

27

Data 1 Pad Macro IO Control Register

26

25

24

0

0

13

12
RE
G_
DA
TA1
_S
AM
PL
E
RW

11

10

9

8

DATA1_TDSEL

20

19

00000422
18

17

RW
0

Bit(s) Name
29:24 DATA1_RDSEL

21

RW
0

0

22

DATA1_TDSEL

0

Type
Rese
t

23

DATA1_RDSEL

0

Nam
e

19:16

28

0

0

0

4

3

2

1

0

DATA1_E8E4E2

DA
TA1
_S
MT

DA
TA1
_P
UP
D

DA
TA1
_R
1

DA
TA1
_R
0

DA
TA1
_IE
S

DA
TA1
_S
R

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

6

0
5

1

7

16

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high

© 2016 - 2017 MediaTek Inc.

Page 210 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

12
10:8
5

Description
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 1
1: Use negative SD clock edge to latch input data 1
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 1 pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

REG_DATA1_SAMPLE
DATA1_E8E4E2
DATA1_SMT

4

DATA1_PUPD

3
2
1

DATA1_R1
DATA1_R0
DATA1_IES

0

DATA1_SR

A1040050

FWDAT2IOCR_T28LP Data 2 Pad Macro IO Control Register

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

28

27

24

23

22

21

20

19

00000422
18

17

DATA2_RDSEL

DATA2_TDSEL

RW

RW

0

0

0

0

0

13

12
RE
G_
DA
TA
2_
SA
MP
LE
RW

11

10

9

8

Type
Rese
t

0

Bit(s) Name
29:24 DATA2_RDSEL

12

25

0

Nam
e

19:16

26

DATA2_TDSEL

REG_DATA2_SAMPLE

0

0

0

4

3

2

1

0

DATA2_E8E4E2

DA
TA
2_
SM
T

DA
TA
2_
PU
PD

DA
TA
2_
R1

DA
TA
2_
R0

DA
TA
2_I
ES

DA
TA
2_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

6

0
5

1

7

16

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 2

© 2016 - 2017 MediaTek Inc.

Page 211 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
10:8
5

Description
1: Use negative SD clock edge to latch input data 2
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 2 pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

DATA2_E8E4E2
DATA2_SMT

4

DATA2_PUPD

3
2
1

DATA2_R1
DATA2_R0
DATA2_IES

0

DATA2_SR

A1040054

FWDAT3IOCR_T28LP Data 3 Pad Macro IO Control Register

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

28

27

22

21

20

19

0000042A
18

17

DATA3_TDSEL

RW

RW

0

0

0

0

13

12
RE
G_
DA
TA
3_
SA
MP
LE
RW

11

10

9

8

0

DATA3_TDSEL

REG_DATA3_SAMPLE
DATA3_E8E4E2
DATA3_SMT

23

DATA3_RDSEL

Bit(s) Name
29:24 DATA3_RDSEL

10:8
5

24

0

Type
Rese
t

12

25

0

Nam
e

19:16

26

0

0

0

4

3

2

1

0

DATA3_E8E4E2

DA
TA
3_
SM
T

DA
TA
3_
PU
PD

DA
TA
3_
R1

DA
TA
3_
R0

DA
TA
3_I
ES

DA
TA
3_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

1

0

1

0

0

6

0
5

1

7

16

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted (low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 3
1: Use negative SD clock edge to latch input data 3
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable

© 2016 - 2017 MediaTek Inc.

Page 212 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
4
DATA3_PUPD

3
2
1

DATA3_R1
DATA3_R0
DATA3_IES

0

DATA3_SR

Description
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 3 pad default would pull up with 50K resistor. (for card
detection)
After host driver writes cd_disable to CCCR register, data 3 pad
would become no pull.
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

A1040058

FWCLKDLYCR

Clock Pad Macro Delay Chain Control
Register

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7
RE
G_
CK
_D
LY
_E
N
RW

6

5

4

3

2

1

0

Nam
e
Type
Rese
t

4:0

Nam
e

Type
Rese

RW

31

FWCMDDLYCR
30

29

0

0

0

0

0

Description
Enable input clock through delay chain.
0: Input clock does not pass through delay chain.
1: Input clock pass through delay chain.
CLK Pad Input Delay Control
This register is used to add delay to CLK phase.
Total 32 stages

CLK_DLY_SEL

A104005C
Bit

CLK_DLY_SEL

0

Bit(s) Name
7
REG_CK_DLY_EN

00000000

28

27

Command Pad Macro Delay Chain
Control Register
26

25

24

23

RW

22
RE
G_
CM
D_
OE
_D
LY
_E
N
RW

0

0

RE
G_
CM
D_
O_
DL
Y_
EN

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000
18

17

16

CMD_O_DLY

RW
0

0

0

0

0

Page 213 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit

Nam
e

Type
Rese
t

15
RE
G_
CM
D_
NE
G_I
_D
LY
_E
N
RW

14

13

12

11

10

20:16
15

12:8

7

4:0

RW

0

0

0

0

Bit

CMD_O_DLY
REG_CMD_NEG_I_DLY_EN

CMD_NEG_I_DLY

REG_CMD_POS_I_DLY_EN

CMD_POS_I_DLY

Nam
e

Type
Rese
t
Bit

FWODATDLYCR

31
RE
G_
DA
T3
_O
_D
LY
_E
N
RW

30
RE
G_
DA
T3
_O
E_
DL
Y_
EN
RW

0

0

15

14

29

28

27

0

0

6

5

4

3

2

1

0

CMD_POS_I_DLY

RW

0

0

0

0

SDIO Output Data Delay Chain Control
Register
26

25

24

DAT3_O_DLY

RW

13

7
RE
G_
CM
D_
PO
S_I
_D
LY
_E
N
RW

0

0

Description
Enable output response through delay chain. (to I of
IOCUP)
0: Output response does not pass through delay chain.
1: Output response passes through delay chain.
Enable response output enable through delay chain. (to E
of IOCUP)
0: Response output enable does not pass through delay chain.
1: Response output enable passes through delay chain.
CMD Pad Output Delay Control
This register is used to add delay to an output response phase.
Total 32 stages
Enable input command through delay chain to be latched
with negative clock edge.
0: Input command does not pass through delay chain.
1: Input command passes through delay chain.
CMD Pad Input Delay Control for data latch with negative
clock edge.
This register is used to add delay to input command phase.
Total 32 stages
Enable input command through delay chain to be latched
with positive clock edge.
0: Input command does not pass through delay chain.
1: Input command passes through delay chain.
CMD Pad Input Delay Control for data latch with positive
clock edge.
This register is used to add delay to an input command phase.
Total 32 stages

REG_CMD_OE_DLY_EN

A1040060

8

CMD_NEG_I_DLY

Bit(s) Name
23
REG_CMD_O_DLY_EN

22

9

23
RE
G_
DA
T2
_O
_D
LY
_E
N
RW

22
RE
G_
DA
T2
_O
E_
DL
Y_
EN
RW

0

0

0

0

0

0

0

12

11

10

9

8

7

6

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000

18

17

16

DAT2_O_DLY

RW

5

0

0

0

0

0

4

3

2

1

0

Page 214 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Nam
e

Type
Rese
t

RW

RE
G_
DA
T1_
OE
_D
LY
_E
N
RW

0

0

RE
G_
DA
T1_
O_
DL
Y_
EN

DAT1_O_DLY

RW
0

0

0

Bit(s) Name
31
REG_DAT3_O_DLY_EN
30

28:24 DAT3_O_DLY
REG_DAT2_O_DLY_EN

22

REG_DAT2_OE_DLY_EN

20:16

DAT2_O_DLY

15

REG_DAT1_O_DLY_EN

14

REG_DAT1_OE_DLY_EN

12:8

DAT1_O_DLY

7

REG_DAT0_O_DLY_EN

6

REG_DAT0_OE_DLY_EN

4:0

DAT0_O_DLY

A1040064
Bit
Nam
e

31
RE
G_
DA
T3

FWIDATDLYCR1
30

29

28

27

0

RE
G_
DA
T0
_O
E_
DL
Y_
EN
RW

0

0

DAT0_O_DLY

RW
0

0

0

0

0

Description
Enable output data 3 through delay chain. (to I of IOCUP)
0: Output data 3 does not pass through delay chain.
1: Output data 3 passes through delay chain.
Enable data 3 output enable through delay chain. (to E of
IOCUP)
0: Data 3 output enable does not pass through delay chain.
1: Data 3 output enable passes through delay chain.
DATA 3 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable output data 2 through delay chain. (to I of IOCUP)
0: Output data 2 does not pass through delay chain.
1: Output data 2 passes through delay chain.
Enable data 2 output enable through delay chain. (to E of
IOCUP)
0: Data 2 output enable does not pass through delay chain.
1: Data 2 output enable pass through delay chain.
DATA 2 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable output data 1 through delay chain. (to I of IOCUP)
0: Output data 1 does not pass through delay chain.
1: Output data 1 passes through delay chain.
Enable data 1 output enable through delay chain. (to E of
IOCUP)
0: Data 1 output enable does not pass through delay chain.
1: Data 1 output enable passes through delay chain.
DATA 1 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable output data 0 through delay chain. (to I of IOCUP)
0: Output data 0 does not pass through delay chain.
1: Output data 0 passes through delay chain.
Enable data 0 output enable through delay chain. (to E of
IOCUP)
0: Data 0 output enable does not pass through delay chain.
1: Data 0 output enable passes through delay chain.
DATA 0 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages

REG_DAT3_OE_DLY_EN

23

0

RE
G_
DA
T0
_O
_D
LY
_E
N
RW

SDIO Input Data Delay Chain Control
Register 1
26

25

DAT3_POS_I_DLY

24

23
RE
G_
DA
T2

22

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000
18

17

16

DAT2_POS_I_DLY

Page 215 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Type
Rese
t
Bit

Nam
e

Type
Rese
t

_P
OS
_I_
DL
Y_
EN
RW

RW

0
15
RE
G_
DA
T1_
PO
S_I
_D
LY
_E
N
RW

14

13

0

0

0

0

0

0

12

11

10

9

8

7
RE
G_
DA
T0
_P
OS
_I_
DL
Y_
EN
RW

DAT1_POS_I_DLY

RW

0

0

0

0

Bit(s) Name
31
REG_DAT3_POS_I_DLY_EN

20:16

15

12:8

7

4:0

REG_DAT2_POS_I_DLY_EN

DAT2_POS_I_DLY

REG_DAT1_POS_I_DLY_EN

DAT1_POS_I_DLY

REG_DAT0_POS_I_DLY_EN

DAT0_POS_I_DLY

A1040068
Bit

31

FWIDATDLYCR2
30

29

28

27

0

0

RW

6

5

0

0

0

0

0

4

3

2

1

0

DAT0_POS_I_DLY

RW

0

0

0

0

0

0

Description
Enable input data 3 through delay chain to be latched with
positive clock edge.
0: Input data 3 does not pass through delay chain.
1: Input data 3 passes through delay chain.
DATA 3 Pad Input Delay Control for datalatch with
positive clock edge.
This register is used to add delay to input data 3 phase.
Total 32 stages
Enable input data 2 through delay chain to be latched with
positive clock edge.
0: Input data 2 does not pass through delay chain.
1: Input data 2 passes through delay chain.
DATA 2 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 2 phase.
Total 32 stages
Enable input data 1 through delay chain to be latched with
positive clock edge.
0: Input data 1 does not pass through delay chain.
1: Input data 1 passes through delay chain.
DATA 1 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 1 phase.
Total 32 stages
Enable input data 0 through delay chain to be latched with
positive clock edge.
0: Input data 0 does not pass through delay chain.
1: Input data 0 passes through delay chain.
DATA 0 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 0 phase.
Total 32 stages

28:24 DAT3_POS_I_DLY

23

_P
OS
_I_
DL
Y_
EN
RW

SDIO Input Data Delay Chain Control
Register 2
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000
18

17

16

Page 216 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Nam
e

Type
Rese
t
Bit

Nam
e

Type
Rese
t

RE
G_
DA
T3
_N
EG
_I_
DL
Y_
EN
RW

DAT3_NEG_I_DLY

RW

0
15
RE
G_
DA
T1_
NE
G_I
_D
LY
_E
N
RW

14

13

0

0

0

0

0

0

12

11

10

9

8

7
RE
G_
DA
T0
_N
EG
_I_
DL
Y_
EN
RW

DAT1_NEG_I_DLY

RW

0

0

0

Bit(s) Name
31
REG_DAT3_NEG_I_DLY_EN

28:24 DAT3_NEG_I_DLY

23

20:16

15

12:8

7

4:0

REG_DAT2_NEG_I_DLY_EN

DAT2_NEG_I_DLY

REG_DAT1_NEG_I_DLY_EN

DAT1_NEG_I_DLY

REG_DAT0_NEG_I_DLY_EN

DAT0_NEG_I_DLY

A104006C

RE
G_
DA
T2
_N
EG
_I_
DL
Y_
EN
RW

FWILCHCR

0

0

0

DAT2_NEG_I_DLY

RW

6

0

5

0

0

0

0

0

4

3

2

1

0

DAT0_NEG_I_DLY

RW
0

0

0

0

0

Description
Enable input data 3 through delay chain to be latched with
negative clock edge.
0: Input data 3 does not pass through delay chain.
1: Input data 3 passes through delay chain.
DATA 3 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 3 phase.
Total 32 stages
Enable input data 2 through delay chain to be latched with
negative clock edge.
0: Input data 2 does not pass through delay chain.
1: Input data 2 passes through delay chain.
DATA 2 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 2 phase.
Total 32 stages
Enable input data 1 through delay chain to be latched with
negative clock edge.
0: Input data 1 does not pass through delay chain.
1: Input data 1 passes through delay chain.
DATA 1 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 1 phase.
Total 32 stages
Enable input data 0 through delay chain to be latched with
negative clock edge.
0: Input data 0 does not pass through delay chain.
1: Input data 0 passes through delay chain.
DATA 0 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 0 phase.
Total 32 stages

SDIO Input Data Latch Time Control

© 2016 - 2017 MediaTek Inc.

00011111

Page 217 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Register
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

17
16
REG_CM
D_LATCH
_SEL
RW
0

15

14

13
12
REG_DA
T3_LATC
H_SEL
RW
0

11

1

Bit(s) Name
17:16 REG_CMD_LATCH_SEL

13:12

REG_DAT3_LATCH_SEL

9:8

REG_DAT2_LATCH_SEL

5:4

REG_DAT1_LATCH_SEL

1:0

REG_DAT0__LATCH_SEL

10

9
8
REG_DA
T2_LATC
H_SEL
RW
0

7

6

1

5
4
REG_DA
T1_LATC
H_SEL
RW
0

3

2

1

1
0
REG_DA
T0__LAT
CH_SEL
RW

1

0

1

Description
Controls the input command latch timing depending on
the SDIO output enable signal to avoid latching device
output data as host transfers data in UHS104 mode.
2'b00: latch input command after 1 cycle of output enable is
asserted.
2'b01: latch input command after 2 cycles of output enable is
asserted
2'b10: latch input command after 3 cycles of output enable is
asserted
2'b11: latch input command after 4 cycles of output enable is
asserted
Controls the input data 3 latch timing depending on the
SDIO output enable signal to avoid latching device output
data as host transfers data in UHS104 mode.
2'b00: latch input data 3 after 1T of output enable asserted
2'b01: latch input data 3 after 2T of output enable asserted
2'b10: latch input data 3 after 3T of output enable asserted
2'b11: latch input data 3 after 4T of output enable asserted
Control the input data 2 latch timing depending on SDIO
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 2 after 1T of output enable asserted
2'b01: latch input data 2 after 2T of output enable asserted
2'b10: latch input data 2 after 3T of output enable asserted
2'b11: latch input data 2 after 4T of output enable asserted
Control the input data 1 latch timing depending on SDIO
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 1 after 1T of output enable asserted
2'b01: latch input data 1 after 2T of output enable asserted
2'b10: latch input data 1 after 3T of output enable asserted
2'b11: latch input data 1 after 4T of output enable asserted
Control the input data 0 latch timing depending on SDIO
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 0 after 1T of output enable asserted
2'b01: latch input data 0 after 2T of output enable asserted
2'b10: latch input data 0 after 3T of output enable asserted
2'b11: latch input data 0 after 4T of output enable asserted

© 2016 - 2017 MediaTek Inc.

Page 218 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040070

CIS0R00

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

CIS0 Register 0
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W00
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W00
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W00

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040074

CIS0R01

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register 1
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W01
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W01
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W01

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040078

CIS0R02

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register 2
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W02
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W02
RW
0

0

0

Bit(s) Name
31:0 CIS0_W02

A104007C

CIS0R03

0

0

0

0

0

0

Description
CIS0 Register used in ciscc firmware register mode

CIS0 Register 3

© 2016 - 2017 MediaTek Inc.

00000000

Page 219 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

24

23

22

21

20

19

18

17

16

CIS0_W03
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W03
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W03

CIS0R04

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040080

29

CIS0 Register 4
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W04
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W04
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W04

CIS0R05

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040084

29

CIS0 Register 5
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W05
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W05
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W05

A1040088
Bit

25

31

0

0

Description
CIS0 Register used in ciscc firmware register mode

CIS0R06
30

0

29

CIS0 Register 6
28

27

26

25

24

23

00000000
22

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

Page 220 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

CIS0_W06
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W06
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W06

0

0

Description
CIS0 Register used in ciscc firmware register mode

A104008C

CIS0R07

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register 7
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W07
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W07
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W07

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040090

CIS0R08

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register 8
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W08
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W08
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W08

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040094

CIS0R09

Bit
Nam
e

30

31

0

29

CIS0 Register 9
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W09

© 2016 - 2017 MediaTek Inc.

Page 221 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W09
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W09

0

0

Description
CIS0 Register used in ciscc firmware register mode

A1040098

CIS0R0A

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register A
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W0A
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W0A
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W0A

0

0

Description
CIS0 Register used in ciscc firmware register mode

A104009C

CIS0R0B

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register B
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W0B
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W0B
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W0B

0

0

Description
CIS0 Register used in ciscc firmware register mode

A10400A0

CIS0R0C

Bit
Nam
e
Type
Rese

30

31

0

29

CIS0 Register C
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

0

0

0

0

0

0

0

CIS0_W0C
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 222 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W0C
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W0C

0

0

Description
CIS0 Register used in ciscc firmware register mode

A10400A4

CIS0R0D

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register D
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W0D
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W0D
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W0D

0

0

Description
CIS0 Register used in ciscc firmware register mode

A10400A8

CIS0R0E

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register E
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS0_W0E
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W0E
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W0E

0

0

Description
CIS0 Register used in ciscc firmware register mode

A10400AC

CIS0R0F

Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS0 Register F
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

0

0

0

0

0

0

0

CIS0_W0F
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 223 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS0_W0F
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS0_W0F

0

0

Description
CIS0 Register used in ciscc firmware register mode

A10400B0

CIS1R00

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS1 Register 0
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W00
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W00
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W00

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400B4

CIS1R01

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS1 Register 1
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W01
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W01
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W01

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400B8

CIS1R02

Bit
Nam
e
Type
Rese
t
Bit

30

31

0

29

CIS1 Register 2
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W02
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

© 2016 - 2017 MediaTek Inc.

Page 224 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t

CIS1_W02
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W02

0

0

0

0

0

0

0

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400BC

CIS1R03

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS1 Register 3
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W03
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W03
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W03

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400C0

CIS1R04

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS1 Register 4
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W04
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W04
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W04

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400C4

CIS1R05

Bit
Nam
e
Type
Rese
t
Bit
Nam
e

30

31

0

29

CIS1 Register 5
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W05
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CIS1_W05

© 2016 - 2017 MediaTek Inc.

Page 225 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t

RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W05

CIS1R06

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

0

0

0

0

0

0

CIS1 Register 6
28

27

26

0

0

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W06
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W06
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W06

CIS1R07

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400CC

29

CIS1 Register 7
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W07
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W07
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W07

31

30

0

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400D0 CIS1R08
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type

0

Description
CIS1 Register used in ciscc firmware register mode

A10400C8
31

0

29

CIS1 Register 8
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W08
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CIS1_W08
RW

© 2016 - 2017 MediaTek Inc.

Page 226 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Rese
t

0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W08

CIS1R09

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

28

27

26

0

0

0

0

0

0

0

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W09
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W09
RW
0

0

0

0

0

0

31

30

0

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400D8 CIS1R0A
29

CIS1 Register A
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W0A
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W0A
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W0A

31

30

0

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400DC CIS1R0B
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0

CIS1 Register 9

Bit(s) Name
31:0 CIS1_W09

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0

Description
CIS1 Register used in ciscc firmware register mode

A10400D4
31

0

29

CIS1 Register B
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W0B
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W0B
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 227 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 CIS1_W0B

Description
CIS1 Register used in ciscc firmware register mode

A10400E0

CIS1R0C

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

CIS1 Register C
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W0C
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W0C
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W0C

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400E4

CIS1R0D

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS1 Register D
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W0D
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W0D
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W0D

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400E8

CIS1R0E

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS1 Register E
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W0E
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W0E
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 228 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 CIS1_W0E

Description
CIS1 Register used in ciscc firmware register mode

A10400EC

CIS1R0F

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

CIS1 Register F
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CIS1_W0F
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS1_W0F
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS1_W0F

0

0

Description
CIS1 Register used in ciscc firmware register mode

A10400F0

CISRDY

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CIS Ready Flag Register
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

CIS_RDY
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CIS_RDY
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CIS_RDY

0

0

Description
CIS Ready Flag Register that is set after software decodes
the CIS and finishes the SA initial flow, to proceed with
transfer.

A10400F4

CCCR0

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

CC Register 0
28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

CCCR0
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CCCR0
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 229 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 CCCR0

Description
Card Capability Register 0

A10400F8

CCCR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

CC Register 1
28

27

26

24

23

00000000
22

21

20

19

18

17

16

CCCR1
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CCCR1
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CCCR1

CCRDY

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
Card Capability Register 1

A10400FC

29

CC Ready Flag Register
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

CC_RDY
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CC_RDY
RW
0

0

0

0

0

0

Bit(s) Name
31:0 CC_RDY

HWFISR

Bit
Nam
e
Type
Rese
t
Bit

30

31

0

0

0

Description
CC Ready Flag Register that is set after the CIS is
programmed

A1040100

Nam
e

25

29

HIF WLAN Firmware Interrupt Status
Register
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

H2D_SW_INT
W1C
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

RX
_E
VE
NT
_1

RX
_E
VE
NT
_0

4
WR
_TI
ME
OU
T_I
NT

3
RD
_TI
ME
OU
T_I
NT

2
D2
HS
M2
R_
RD
_I

1
DR
V_
CL
R_
FW
_O

0
DR
V_
SE
T_
FW
_O

TX
_E
VE
NT
_0

© 2016 - 2017 MediaTek Inc.

Page 230 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type

RO

RO

RO

Rese
t

W1
C

W1
C

NT
W1
C

WN
W1
C

WN
W1
C

0

0

0

0

0

0

0

0

Bit(s) Name
31:16 H2D_SW_INT

Description
This field is used for software interrupt for WLAN
operation.
Host driver writes 1s to WSICR [31:16] to set the corresponding bit
field.

13

RX_EVENT_1

This bit is asserted, if there is any interrupt asserted in
HWFRE1SR.
The bit will be de-asserted after software driver clears the
interrupt event in HWFRE1SR.

12

RX_EVENT_0

This bit is asserted, if there is any interrupt asserted in
HWFRE0SR. The bit will be de-asserted after software
driver clears the interrupt event in HWFRE0SR.

8

TX_EVENT_0

This bit is asserted, if there is any interrupt asserted in
HWFTE0SR. The bit will be de-asserted after software
driver clears the interrupt event in HWFTE0SR.

4

WR_TIMEOUT_INT

Write timeout interrupt is triggered, if the host writes
data and the device is unable to receive it in a pre-defined
period. Firmware should receive the write timeout
interrupt and tx_overflow interrupt, simultaneously.

3

RD_TIMEOUT_INT

A timeout interrupt is triggered, if the host reads data and
the device is unable prepare the data in a pre-defined
period. Firmware should receive the read timeout
interrupt and rx_underflow interrupt, simultaneously.

2

D2HSM2R_RD_INT

This interrupt is set when the host reads the D2HRM2R
register.

1

DRV_CLR_FW_OWN

This bit is set to 1, if software driver writes 1 into
"WHLPCR.FW_OWN_REQ_CLR", to indicate that the
software driver requests the control WLAN sub-system
from the firmware. The firmware wakes up the WLAN
sub-system from sleep mode and writes 1 into
HWFICR.FW_OWN_BACK_INT_SET.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

0

DRV_SET_FW_OWN

This bit is set to 1, if software driver writes 1 into
"WHLPCR.FW_OWN_REQ_SET", to indicate that the
software driver transfers the ownership of WLAN subsystem to the firmware. The firmware can force WLAN
sub-system into sleep mode.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

A1040104

HWFIER

HIF WLAN Firmware Interrupt Enable

© 2016 - 2017 MediaTek Inc.

00000000

Page 231 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Register
Bit
Nam
e
Type
Rese
t
Bit

Nam
e

Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

H2D_SW_INT_EN
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

RX
_E
VE
NT
_1_
INT
_E
N

RX
_E
VE
NT
_0
_I
NT
_E
N

TX
_E
VE
NT
_0
_I
NT
_E
N

WR
_TI
ME
OU
T_I
NT
_E
N

RD
_TI
ME
OU
T_I
NT
_E
N

D2
HS
M2
R_
RD
_I
NT
_E
N

RW

RW

RW

RW

RW

RW

1
DR
V_
CL
R_
FW
_O
WN
_I
NT
_E
N
RW

0
DR
V_
SE
T_
FW
_O
WN
_I
NT
_E
N
RW

0

0

0

0

0

0

0

0

Bit(s) Name
31:16 H2D_SW_INT_EN

13

RX_EVENT_1_INT_EN

12

RX_EVENT_0_INT_EN

8

TX_EVENT_0_INT_EN

4

WR_TIMEOUT_INT_EN

3

RD_TIMEOUT_INT_EN

2

D2HSM2R_RD_INT_EN

1

DRV_CLR_FW_OWN_INT_EN

0

DRV_SET_FW_OWN_INT_EN

Description
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.

© 2016 - 2017 MediaTek Inc.

Page 232 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
1: Enable the related bit interrupt output.

A1040108

HWFISR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

Reserve for HWFISR1

29

28

27

26

25

24

00000000

22

21

20

19

18

17

16

RESV_HWFISR1
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

22

21

20

19

18

17

16

RESV_HWFISR1
RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFISR1

HWFIER1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

Description
RESV_HWFISR1

A104010C

Reserve for HWFIER1
28

27

26

25

24

23

00000000

RESV_HWFIER1
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_HWFIER1
RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFIER1

A1040110

0

0

0

Description
RESV_HWFIER1

HWFTE0SR

HIF WLAN Firmware TX Event 0
Status Register

Bit

31

30

29

28

27

26

25

24

Nam
e

TX
7D
_L
EN
_E
RR

TX
6D
_L
EN
_E
RR

TX
5D
_L
EN
_E
RR

TX
4D
_L
EN
_E
RR

TX
3D
_L
EN
_E
RR

TX
2D
_L
EN
_E
RR

TX
1D
_L
EN
_E
RR

TX
0D
_L
EN
_E
RR

Type

W1
C

W1
C

W1
C

W1
C

W1
C

W1
C

W1
C

0

0

0

0

0

0

0

15

14

13

12

11

10

Rese
t
Bit
Nam

23

00000000

W1
C

23
TX
7D
_C
HK
SU
M_
ER
R
W1
C

22
TX
6D
_C
HK
SU
M_
ER
R
W1
C

21
TX
5D
_C
HK
SU
M_
ER
R
W1
C

20
TX
4D
_C
HK
SU
M_
ER
R
W1
C

19
TX
3D
_C
HK
SU
M_
ER
R
W1
C

18
TX
2D
_C
HK
SU
M_
ER
R
W1
C

17
TX
1D
_C
HK
SU
M_
ER
R
W1
C

16
TX
0D
_C
HK
SU
M_
ER
R
W1
C

0

0

0

0

0

0

0

0

0

9

8

7

6

5

4

3

2

1

0

TX

TX

TX

TX

TX

TX

TX

TX

TX

TX

© 2016 - 2017 MediaTek Inc.

Page 233 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e

Type
Rese
t
Bit(s) Name
31
TX7D_LEN_ERR
30

TX6D_LEN_ERR

29

TX5D_LEN_ERR

28

TX4D_LEN_ERR

27

TX3D_LEN_ERR

26

TX2D_LEN_ERR

25

TX1D_LEN_ERR

24

TX0D_LEN_ERR

23

TX7D_CHKSUM_ERR

22

TX6D_CHKSUM_ERR

21

TX5D_CHKSUM_ERR

20

TX4D_CHKSUM_ERR

19

TX3D_CHKSUM_ERR

18

TX2D_CHKSUM_ERR

1_
OV
ER
FL
OW
W1
C

0_
OV
ER
FL
OW
W1
C

7_
RD
Y

6_
RD
Y

5_
RD
Y

4_
RD
Y

3_
RD
Y

2_
RD
Y

1_
RD
Y

0_
RD
Y

W1
C

W1
C

W1
C

W1
C

W1
C

W1
C

W1
C

W1
C

0

0

0

0

0

0

0

0

0

0

Description
TX queue 7 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 6 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 5 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 4 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 3 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 2 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 1 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 0 descriptor length error
A length error interrupt is triggered, when transmitted data amount
from the host is greater than the allowed buffer length.
TX queue 7 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
TX queue 6 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
TX queue 5 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
TX queue 4 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
TX queue 3 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
TX queue 2 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor

© 2016 - 2017 MediaTek Inc.

Page 234 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
17

TX1D_CHKSUM_ERR

16

TX0D_CHKSUM_ERR

9

TX1_OVERFLOW

8

TX0_OVERFLOW

7

TX7_RDY

6

TX6_RDY

5

TX5_RDY

4

TX4_RDY

3

TX3_RDY

2

TX2_RDY

1

TX1_RDY

0

TX0_RDY

A1040114

HWFTE1SR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type

30

31

29

28

Description
checksum error occurred.
TX queue 1 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
TX queue 0 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each TX descriptor before
transferring data. This interrupt is triggered, if TX descriptor
checksum error occurred.
Data overflow at the WLAN TX1 port..
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Data overflow at the WLAN TX0 port.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is transferred to WLAN
TX7 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is transferred to WLAN
TX6 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is transferred to WLAN
TX5 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame istransferred to WLAN
TX4 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is transferred to WLAN
TX3 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is transferred to WLAN
TX2 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame istransferred to WLAN
TX1 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is transferred to WLAN
TX0 queue from host and the ownership bit of the buffer
descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

Reserve for HWFTE1SR
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_HWFTE1SR
W1C
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

RESV_HWFTE1SR
W1C

© 2016 - 2017 MediaTek Inc.

Page 235 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Rese
t

0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFTE1SR

0

0

0

0

0

0

0

0

0

Description
RESV_HWFTE1SR

A1040118

HWFTE2SR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

28

Reserve for HWFTE2SR
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_HWFTE2SR
W1C
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

21

20

19

18

17

16

RESV_HWFTE2SR
W1C
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFTE2SR

HWFTE3SR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

0

0

0

Description
RESV_HWFTE2SR

A104011C
31

0

28

Reserve for HWFTE3SR
27

26

25

24

23

22

00000000

RESV_HWFTE3SR
W1C
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_HWFTE3SR
W1C
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFTE3SR

A1040120

0

0

0

0

Description
RESV_HWFTE3SR

HWFTE0ER

HIF WLAN Firmware TX Event 0
Enable Register

Bit

31

30

29

28

27

26

25

24

Nam
e

TX
7D
_L
EN
_E
RR
_I
NT
_E
N

TX
6D
_L
EN
_E
RR
_I
NT
_E
N

TX
5D
_L
EN
_E
RR
_I
NT
_E
N

TX
4D
_L
EN
_E
RR
_I
NT
_E
N

TX
3D
_L
EN
_E
RR
_I
NT
_E
N

TX
2D
_L
EN
_E
RR
_I
NT
_E
N

TX
1D
_L
EN
_E
RR
_I
NT
_E
N

TX
0D
_L
EN
_E
RR
_I
NT
_E
N

23
TX
7D
_C
HK
SU
M_
ER
R_I
NT
_E
N

22
TX
6D
_C
HK
SU
M_
ER
R_I
NT
_E
N

© 2016 - 2017 MediaTek Inc.

21
TX
5D
_C
HK
SU
M_
ER
R_I
NT
_E
N

20
TX
4D
_C
HK
SU
M_
ER
R_I
NT
_E
N

19
TX
3D
_C
HK
SU
M_
ER
R_I
NT
_E
N

00000000
18
TX
2D
_C
HK
SU
M_
ER
R_I
NT
_E
N

17
TX
1D
_C
HK
SU
M_
ER
R_I
NT
_E
N

16
TX
0D
_C
HK
SU
M_
ER
R_I
NT
_E
N

Page 236 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t
Bit

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

RW

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9
TX
1_
OV
ER
FL
OW
_I
NT
_E
N
RW

8
TX
0_
OV
ER
FL
OW
_I
NT
_E
N
RW

7

6

5

4

3

2

1

0

TX
7_
RD
Y_I
NT
_E
N

TX
6_
RD
Y_I
NT
_E
N

TX
5_
RD
Y_I
NT
_E
N

TX
4_
RD
Y_I
NT
_E
N

TX
3_
RD
Y_I
NT
_E
N

TX
2_
RD
Y_I
NT
_E
N

TX
1_
RD
Y_I
NT
_E
N

TX
0_
RD
Y_I
NT
_E
N

RW

RW

RW

RW

RW

RW

RW

RW

0

0

0

0

0

0

0

0

0

0

Nam
e

Type
Rese
t
Bit(s) Name
31
TX7D_LEN_ERR_INT_EN

30

TX6D_LEN_ERR_INT_EN

29

TX5D_LEN_ERR_INT_EN

28

TX4D_LEN_ERR_INT_EN

27

TX3D_LEN_ERR_INT_EN

26

TX2D_LEN_ERR_INT_EN

25

TX1D_LEN_ERR_INT_EN

24

TX0D_LEN_ERR_INT_EN

23

TX7D_CHKSUM_ERR_INT_EN

22

TX6D_CHKSUM_ERR_INT_EN

21

TX5D_CHKSUM_ERR_INT_EN

Description
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.

© 2016 - 2017 MediaTek Inc.

Page 237 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

20

TX4D_CHKSUM_ERR_INT_EN

19

TX3D_CHKSUM_ERR_INT_EN

18

TX2D_CHKSUM_ERR_INT_EN

17

TX1D_CHKSUM_ERR_INT_EN

16

TX0D_CHKSUM_ERR_INT_EN

9

TX1_OVERFLOW_INT_EN

8

TX0_OVERFLOW_INT_EN

7

TX7_RDY_INT_EN

6

TX6_RDY_INT_EN

5

TX5_RDY_INT_EN

4

TX4_RDY_INT_EN

3

TX3_RDY_INT_EN

2

TX2_RDY_INT_EN

1

TX1_RDY_INT_EN

Description
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is

© 2016 - 2017 MediaTek Inc.

Page 238 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

0

Description
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

TX0_RDY_INT_EN

A1040124

HWFTE1ER

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Reserve for HWFTE1ER
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_HWFTE1ER
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_HWFTE1ER
RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFTE1ER

HWFTE2ER

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

0

0

0

Description
RESV_HWFTE1ER

A1040128
31

0

28

Reserve for HWFTE2ER
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_HWFTE2ER
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_HWFTE2ER
RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFTE2ER

HWFTE3ER

Bit
Nam
e
Type
Rese
t
Bit
Nam
e

30

29

0

0

0

Description
RESV_HWFTE2ER

A104012C
31

0

28

Reserve for HWFTE3ER
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_HWFTE3ER
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

RESV_HWFTE3ER

© 2016 - 2017 MediaTek Inc.

Page 239 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t

RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFTE3ER

A1040130
Bit

31

29

28

Nam
e

Type
Rese
t
Bit
Nam
e

Type
Rese
t

15

14

13

0

0

0

0

0

0

0

0

0

Description
RESV_HWFTE3ER

HWFRE0SR
30

0

12

HIF WLAN Firmware RX Event 0
Status Register
27
RX
_L
EN
_FI
FO
3_
OV
ER
FL
OW
W1
C

26
RX
_L
EN
_FI
FO
2_
OV
ER
FL
OW
W1
C

25
RX
_L
EN
_FI
FO
1_
OV
ER
FL
OW
W1
C

24
RX
_L
EN
_FI
FO
0_
OV
ER
FL
OW
W1
C

0

0

0

0

11
RX
3_
UN
DE
RF
LO
W
W1
C

10
RX
2_
UN
DE
RF
LO
W
W1
C

9
RX
1_
UN
DE
RF
LO
W
W1
C

8
RX
0_
UN
DE
RF
LO
W
W1
C

0

0

0

0

Bit(s) Name
27
RX_LEN_FIFO3_OVERFLOW

23

7

22

6

21

5

20

4

00000000

19

18

17

16

RX
3D
_C
HK
SU
M_
ER
R

RX
2D
_C
HK
SU
M_
ER
R

RX
1D
_C
HK
SU
M_
ER
R

RX
0D
_C
HK
SU
M_
ER
R

W1
C

W1
C

W1
C

W1
C

0

0

0

0

3

2

1

0

RX
3_
DO
NE

RX
2_
DO
NE

RX
1_
DO
NE

RX
0_
DO
NE

W1
C

W1
C

W1
C

W1
C

0

0

0

0

Description
RX length FIFO 3 overflow
This interrupt is generated whenever the firmware attempts to set
RX FIFO length by HWRQ3CR when the packet FIFO length is
already full. This leads to FIFO overflow.
The entry in packet length FIFO will be pushed-in by firmware, and
then popped-out when corresponding RX length is read by the host
driver.

26

RX_LEN_FIFO2_OVERFLOW

RX length FIFO 2 overflow
This interrupt is generated whenever the firmware attempts to set
RX FIFO length by HWRQ3CR when the packet FIFO length is
already full. This leads to FIFO overflow.
The entry in packet length FIFO will be pushed-in by firmware, and
then popped-out when corresponding RX length is read by the host
driver.

25

RX_LEN_FIFO1_OVERFLOW

RX length FIFO 1 overflow
This interrupt is generated whenever the firmware attempts to set
RX FIFO length by HWRQ3CR when the packet FIFO length is
already full. This leads to FIFO overflow.
The entry in packet length FIFO will be pushed-in by firmware, and
then popped-out when corresponding RX length is read by the host

© 2016 - 2017 MediaTek Inc.

Page 240 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
driver.

24

RX_LEN_FIFO0_OVERFLOW

RX length FIFO 0 overflow
This interrupt is generated whenever the firmware attempts to set
RXFIFO length by HWRQ3CR when the packet FIFO length is
already full. This leads to FIFO overflow.
The entry in packet length FIFO will be push-in by firmware, and
then popped-out when corresponding RX length is read by the host
driver.

19

RX3D_CHKSUM_ERR

RX 3 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each RX descriptor before
transferring the data movement. This interrupt is generated, if RX
descriptor checksum error occurred.

18

RX2D_CHKSUM_ERR

RX 2 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each RX descriptor before
transferring the data. This interrupt is generated if RX descriptor
checksum error occurred.

17

RX1D_CHKSUM_ERR

RX 1 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each RX descriptor before
transferring the data. This interrupt is generated if RX descriptor
checksum error occurred.

16

RX0D_CHKSUM_ERR

RX 0 descriptor checksum error
When HWFCR. TRX_DESC_CHKSUM_EN is enabled; hardware
validates the checksum value of each RX descriptor before
transferring the data. This interrupt is generated if RX descriptor
checksum error occurred.

11

RX3_UNDERFLOW

Data underflow at the WLAN RX3 port.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

10

RX2_UNDERFLOW

Data underflow at the WLAN RX2 port.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

9

RX1_UNDERFLOW

Data underflow at the WLAN RX1 port.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

8

RX0_UNDERFLOW

Data underflow at the WLAN RX0 port.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

3

RX3_DONE

Set this bit, if a complete frame is moved to host from
WLAN RX3 queue (which also implies the corresponding
entry is popped-out from RX3 FIFO length).
Firmware can clear this bit by writing 1. Writing 0 does nothing.

2

RX2_DONE

Set this bit, if a complete frame is moved to host from

© 2016 - 2017 MediaTek Inc.

Page 241 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
WLAN RX2 queue (which also implies the corresponding
entry is popped-out from RX2 length FIFO).
Firmware can clear this bit by writing 1. Writing 0 does nothing.

1

RX1_DONE

Set this bit, if a complete frame is moved to host from
WLAN RX1 queue (which also implies the corresponding
entry is popped-out from RX0 length FIFO).
Firmware can clear this bit by writing 1. Writing 0 does nothing.

0

RX0_DONE

Set this bit, if a complete frame is moved to host from
WLAN RX0 queue (which also implies the corresponding
entry is popped-out from RX0 length FIFO).
Firmware can clear this bit by writing 1. Writing 0 does nothing.

A1040134

HWFRE1SR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

Nam
e

RX
3_
LE
N_
ER
R

RX
2_
LE
N_
ER
R

RX
1_L
EN
_E
RR

RX
0_
LE
N_
ER
R

Type

W1
C

W1
C

W1
C

W1
C

3
RX
3_
OW
N_
CL
EA
R_
DO
NE
W1
C

2
RX
2_
OW
N_
CL
EA
R_
DO
NE
W1
C

1
RX
1_
OW
N_
CL
EA
R_
DO
NE
W1
C

0
RX
0_
OW
N_
CL
EA
R_
DO
NE
W1
C

0

0

0

0

0

0

0

0

Rese
t

HIF WLAN Firmware RX Event 1
Status Register

Bit(s) Name
11
RX3_LEN_ERR

10

RX2_LEN_ERR

9

RX1_LEN_ERR

8

RX0_LEN_ERR

3

RX3_OWN_CLEAR_DONE

00000000

Description
RX queue 3 descriptor length error
If the extension length and RX data length are zero in the generic
packet descriptor or buffer descriptor, an interrupt is triggered.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
RX queue 2 descriptor length error
If the extension length and RX data length are zero in the generic
packet descriptor or buffer descriptor, an interrupt is triggered.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
RX queue 1 descriptor length error
If the extension length and RX data length are zero in the generic
packet descriptor or buffer descriptor, an interrupt is triggered.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
RX queue 0 descriptor length error
If the extension length and RX data length are zero in the generic
packet descriptor or buffer descriptor, an interrupt is triggered.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is moved to internal FIFO
from WLAN RX3 queue and the ownership bit of the
buffer descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

© 2016 - 2017 MediaTek Inc.

Page 242 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
2
RX2_OWN_CLEAR_DONE

1

RX1_OWN_CLEAR_DONE

0

RX0_OWN_CLEAR_DONE

A1040138

HWFRE2SR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Description
Set this bit, if a complete frame is moved to internal FIFO
from WLAN RX2 queue and the ownership bit of the
buffer descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is moved to internal FIFO
from WLAN RX1 queue and the ownership bit of the
buffer descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.
Set this bit, if a complete frame is moved to internal FIFO
from WLAN RX0 queue and the ownership bit of the
buffer descriptor is cleared.
Firmware can clear this bit by writing 1. Writing 0 does nothing.

Reserve for HWFRE2SR
27

26

23

22

00000000

21

20

19

18

17

16

W1C
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

21

20

19

18

17

16

RESV_HWFRE2SR
W1C
0

0

0

0

0

0

HWFRE3SR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

0

Description
RESV_HWFRE2SR

A104013C

28

Reserve for HWFRE3SR
27

26

25

24

23

22

00000000

RESV_HWFRE3SR
W1C
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_HWFRE3SR
W1C
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_HWFRE3SR

A1040140

Nam
e

24

RESV_HWFRE2SR

Bit(s) Name
31:0 RESV_HWFRE2SR

Bit

25

31

29

28

0

0

0

Description
RESV_HWFRE3SR

HWFRE0ER
30

0

HIF WLAN Firmware RX Event 0
Enable Register
27
RX
_L
EN

26
RX
_L
EN

25
RX
_L
EN

24
RX
_L
EN

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19
RX
3D
_C

00000000
18
RX
2D
_C

17
RX
1D
_C

16
RX
0D
_C

Page 243 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Type
Rese
t
Bit

Nam
e

Type
Rese
t

15

14

13

12

_FI
FO
3_
OV
ER
FL
OW
_I
NT
_E
N
RW

_FI
FO
2_
OV
ER
FL
OW
_I
NT
_E
N
RW

_FI
FO
1_
OV
ER
FL
OW
_I
NT
_E
N
RW

_FI
FO
0_
OV
ER
FL
OW
_I
NT
_E
N
RW

HK
SU
M_
ER
R_I
NT
_E
N

HK
SU
M_
ER
R_I
NT
_E
N

HK
SU
M_
ER
R_I
NT
_E
N

HK
SU
M_
ER
R_I
NT
_E
N

RW

RW

RW

RW

0

0

0

0

0

0

0

0

11
RX
3_
UN
DE
RF
LO
W_
INT
_E
N
RW

10
RX
2_
UN
DE
RF
LO
W_
INT
_E
N
RW

9
RX
1_
UN
DE
RF
LO
W_
INT
_E
N
RW

8
RX
0_
UN
DE
RF
LO
W_
INT
_E
N
RW

3

2

1

0

RX
3_
DO
NE
_I
NT
_E
N

RX
2_
DO
NE
_I
NT
_E
N

RX
1_
DO
NE
_I
NT
_E
N

RX
0_
DO
NE
_I
NT
_E
N

RW

RW

RW

RW

0

0

0

0

0

0

0

0

7

6

5

4

Bit(s) Name
Description
27
RX_LEN_FIFO3_OVERFLOW_INT WLAN firmware interrupt output control for each bit.
_EN
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
26
RX_LEN_FIFO2_OVERFLOW_INT WLAN firmware interrupt output control for each bit.
_EN
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
25
RX_LEN_FIFO1_OVERFLOW_INT WLAN firmware interrupt output control for each bit.
_EN
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
24
RX_LEN_FIFO0_OVERFLOW_INT WLAN firmware interrupt output control for each bit.
_EN
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
19
RX3D_CHKSUM_ERR_INT_EN
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
18
RX2D_CHKSUM_ERR_INT_EN
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
17
RX1D_CHKSUM_ERR_INT_EN
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
16
RX0D_CHKSUM_ERR_INT_EN
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

© 2016 - 2017 MediaTek Inc.

Page 244 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
11
RX3_UNDERFLOW_INT_EN

10

RX2_UNDERFLOW_INT_EN

9

RX1_UNDERFLOW_INT_EN

8

RX0_UNDERFLOW_INT_EN

3

RX3_DONE_INT_EN

2

RX2_DONE_INT_EN

1

RX1_DONE_INT_EN

0

RX0_DONE_INT_EN

Description
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

A1040144

HWFRE1ER

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

RX
3_
LE
N_
ER
R_I
NT
_E
N

RX
2_
LE
N_
ER
R_I
NT
_E
N

RX
1_L
EN
_E
RR
_I
NT
_E
N

RX
0_
LE
N_
ER
R_I
NT
_E
N

RW

RW

RW

RW

3
RX
3_
OW
N_
CL
EA
R_
DO
NE
_I
NT
_E
N
RW

2
RX
2_
OW
N_
CL
EA
R_
DO
NE
_I
NT
_E
N
RW

1
RX
1_
OW
N_
CL
EA
R_
DO
NE
_I
NT
_E
N
RW

0
RX
0_
OW
N_
CL
EA
R_
DO
NE
_I
NT
_E
N
RW

0

0

0

0

0

0

0

0

Nam
e

Type
Rese

HIF WLAN Firmware RX Event 1
Enable Register

© 2016 - 2017 MediaTek Inc.

00000000

Page 245 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit(s) Name
11
RX3_LEN_ERR_INT_EN

10

RX2_LEN_ERR_INT_EN

9

RX1_LEN_ERR_INT_EN

8

RX0_LEN_ERR_INT_EN

3

RX3_OWN_CLEAR_DONE_INT_E
N

2

RX2_OWN_CLEAR_DONE_INT_E
N

1

RX1_OWN_CLEAR_DONE_INT_E
N

0

RX0_OWN_CLEAR_DONE_INT_E
N

A1040148

HWFRE2ER

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Description
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

Reserve for HWFRE2ER
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_HWFRE2ER
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_HWFRE2ER
RW
0

0

0

Bit(s) Name
31:0 RESV_HWFRE2ER

0

0

0

0

0

0

0

Description
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

© 2016 - 2017 MediaTek Inc.

Page 246 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A104014C

HWFRE3ER

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Reserve for HWFRE3ER
27

26

23

22

00000000

21

20

19

18

17

16

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_HWFRE3ER
RW
0

0

0

A1040150

HWFICR

Bit
Nam
e
Type
Rese
t
Bit

30

31

0

0

0

29

0

0

0

0

Description
WLAN firmware interrupt output control for each bit.
If the related bit is
0: Disable the related bit interrupt output.
1: Enable the related bit interrupt output.

HIF WLAN Firmware Interrupt
Control Register
28

27

26

25

24

23

22

00000010

21

20

19

18

17

16

D2H_SW_INT_SET
W1S
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4
FW
_O
WN
_B
AC
K_I
NT
_S
ET
W1S

3

2

1

0

0

0

Nam
e

D2H_SW_INT_SET

W1S
0

0

0

0

0

Bit(s) Name
31:8 D2H_SW_INT_SET

4

24

RESV_HWFRE3ER

Bit(s) Name
31:0 RESV_HWFRE3ER

Type
Rese
t

25

FW_OWN_BACK_INT_SET

0

1

Description
Firmware writes 1s to set WHISR.D2H_SW_INT. Writing
0 does nothing.
Read always returns 0.
This is used as a communication between firmware and driver, with
interrupt trigger to host driver HIF.
Firmware writes 1 to set WHISR.FW_OWN_BACK_INT.
Writing 0 does nothing. It will also clear
WLAN_FW_OWN bit and set
WHLPCR.WLAN_DRV_OWN bit.
Firmware sets this bit, if the driver requests firmware to return the
ownership or the firmware requires to wake up the driver
Read the bit will get the status of WLAN_FW_OWN bit.
WLAN_FW_OWN indicates that WLAN firmware has the

© 2016 - 2017 MediaTek Inc.

Page 247 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
ownership of the WLAN sub-system.
This bit is cleared by firmware writing 1 into
HWFICR.FW_OWN_BACK_INT_SET or any WLAN driverdomain interrupt.
0: WLAN firmware doesn't have any ownership.
1: WLAN firmware has an ownership.

A1040154

HWFCR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

HIF WLAN Firmware Control Register
25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

RW

4
RX
_IP
V6
_C
S_
OF
LD
_E
N
RW

RW

2
TR
X_
DE
SC
_C
HK
SU
M_
12B
RW

1
TR
X_
DE
SC
_C
HK
SU
M_
EN
RW

W_
FU
NC
_R
DY

RW

5
RX
_IP
V4
_C
S_
OF
LD
_E
N
RW

0

TX
_N
O_
HE
AD
ER

6
RX
_T
CP
_C
S_
OF
LD
_E
N
RW

3

RX
_N
O_
TAI
L

7
RX
_U
DP
_C
S_
OF
LD
_E
N
RW

0

0

0

0

0

0

0

0

0

0

Nam
e

Type
Rese
t
Bit(s) Name
9
RX_NO_TAIL

8

TX_NO_HEADER

7

RX_UDP_CS_OFLD_EN

6

RX_TCP_CS_OFLD_EN

5

RX_IPV4_CS_OFLD_EN

4

RX_IPV6_CS_OFLD_EN

3

TX_CS_OFLD_EN

TX
_C
S_
OF
LD
_E
N

00000000

RW

Description
RX packet tail is used to send the checksum offload status.
If the checksum offload hardware is not configured, the
tail would be 4B zero. Firmware can write 1 to prevent the
RX packet from sending to host.
0: RX packet tail will be sent to host.
1: RX packet tail will not be sent to host.
Firmware writes 1 to this field so that the host will send
the TX packet header instead of writing it to the AHB bus.
0: TX packet header from host will be written to AHB bus.
1: TX packet header from host will not be written to AHB bus.
Enable RX UDP checksum verification function
When enabled, the checksum of RX packet with UDP header is
calculated and verified with the field in the original RX packet. The
verified status will be padding in the last DWORD of the RX packet.
Enable RX TCP checksum verification function
When enabled, the checksum of RX packet with TCP header is
calculated and verified with the field in the original RX packet. The
verified status will be padding in the last DWORD of the RX packet.
Enable RX IPv4 checksum verification function
When enabled, the checksum of RX packet with IPv4 header will be
calculated, and verified with the field in original RX packet. The
verified status will be padding in the last DWORD of the RX packet.
Enable RX IPv6 checksum (without extension header)
verification function
When enabled, packets checksum of RX packet with IPv6 header
will be calculated, and verified with the field in original RX packet.
The verified status will be padding in the last DWORD of the RX
packet.
Enable TX IPV6/IPV4/TCP/UDP checksum generation
function

© 2016 - 2017 MediaTek Inc.

Page 248 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
2
TRX_DESC_CHKSUM_12B

1

TRX_DESC_CHKSUM_EN

0

W_FUNC_RDY

Description
Firmware write 1 to this filed to change the descriptor
checksum calculation method to 12B. The default
calculation method is based on the 16B descriptor
checksum.
0: Descriptor checksum calculation is based on first 16B.
1: Descriptor checksum calculation is based on first 12B
Enable TX/ RX descriptor checksum for debug purpose.
HW will validate if the summation of descriptor checksum is 0xff
before data movement for the descriptor. If it is invalid,
corresponding interrupt status (TXD_CHKSUM_ERR/
RXD_CHKSUM_ERR) will be generated.
Indicate the WLAN functional block's current status. If
WLAN functional block has finished its initial procedure
and it is ready for normal operation, firmware should set
this bit. If WLAN functional block was disabled, this bit
should be cleared.
This is a sticky bit of WCIR.W_FUNC_RDY.
0: WLAN functional block is not ready for normal operation.
1: WLAN functional block is ready for normal operation.

A1040158
Bit

Nam
e

Type
Rese
t
Bit
Nam
e
Type
Rese
t

HWTDCR

HIF WLAN TX DMA Control Register

31
TX
Q7
_D
MA
_S
TA
TU
S
RO

30
TX
Q6
_D
MA
_S
TA
TU
S
RO

29
TX
Q5
_D
MA
_S
TA
TU
S
RO

28
TX
Q4
_D
MA
_S
TA
TU
S
RO

27
TX
Q3
_D
MA
_S
TA
TU
S
RO

26
TX
Q2
_D
MA
_S
TA
TU
S
RO

25
TX
Q1
_D
MA
_S
TA
TU
S
RO

24
TX
Q0
_D
MA
_S
TA
TU
S
RO

0

0

0

0

0

0

0

15
TX
Q7
_D
MA
_S
TA
RT
W1S

14
TX
Q6
_D
MA
_S
TA
RT
W1S

13
TX
Q5
_D
MA
_S
TA
RT
W1S

12
TX
Q4
_D
MA
_S
TA
RT
W1S

11
TX
Q3
_D
MA
_S
TA
RT
W1S

10
TX
Q2
_D
MA
_S
TA
RT
W1S

0

0

0

0

0

0

Bit(s) Name
31
TXQ7_DMA_STATUS

30

TXQ6_DMA_STATUS

00000000

23

22

21

20

19

18

17

16

TX
Q7
_D
MA
_R
UM

TX
Q6
_D
MA
_R
UM

TX
Q5
_D
MA
_R
UM

TX
Q4
_D
MA
_R
UM

TX
Q3
_D
MA
_R
UM

TX
Q2
_D
MA
_R
UM

TX
Q1
_D
MA
_R
UM

TX
Q0
_D
MA
_R
UM

W1S

W1S

W1S

W1S

W1S

W1S

W1S

W1S

0

0

0

0

0

0

0

0

0

9
TX
Q1
_D
MA
_S
TA
RT
W1S

8
TX
Q0
_D
MA
_S
TA
RT
W1S

7
TX
Q7
_D
MA
_S
TO
P
W1S

6
TX
Q6
_D
MA
_S
TO
P
W1S

5
TX
Q5
_D
MA
_S
TO
P
W1S

4
TX
Q4
_D
MA
_S
TO
P
W1S

3
TX
Q3
_D
MA
_S
TO
P
W1S

2
TX
Q2
_D
MA
_S
TO
P
W1S

1
TX
Q1
_D
MA
_S
TO
P
W1S

0
TX
Q0
_D
MA
_S
TO
P
W1S

0

0

0

0

0

0

0

0

0

0

Description
Read for the TX4 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX6 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When

© 2016 - 2017 MediaTek Inc.

Page 249 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

29

TXQ5_DMA_STATUS

28

TXQ4_DMA_STATUS

27

TXQ3_DMA_STATUS

26

TXQ2_DMA_STATUS

25

TXQ1_DMA_STATUS

24

TXQ0_DMA_STATUS

23

TXQ7_DMA_RUM

22

TXQ6_DMA_RUM

Description
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX5 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX4 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX3 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX2 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX1 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Read for the TX0 queue DMA status.
When the HIF Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Resume the TX7 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Resume the TX6 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.

© 2016 - 2017 MediaTek Inc.

Page 250 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
21
TXQ5_DMA_RUM

20

TXQ4_DMA_RUM

19

TXQ3_DMA_RUM

18

TXQ2_DMA_RUM

17

TXQ1_DMA_RUM

16

TXQ0_DMA_RUM

15

TXQ7_DMA_START

14

TXQ6_DMA_START

13

TXQ5_DMA_START

12

TXQ4_DMA_START

11

TXQ3_DMA_START

10

TXQ2_DMA_START

9

TXQ1_DMA_START

8

TXQ0_DMA_START

Description
Resume the TX5 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Resume the TX4 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Resume the TX3 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Resume the TX2 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Resume the TX1 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Resume the TX0 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Start the TX7 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ7SAR.
SW must check TXQ7_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX6 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ6SAR.
SW must check TXQ6_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX5 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ5SAR.
SW must check TXQ5_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX4 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ4SAR.
SW must check TXQ4_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX3 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ3SAR.
SW must check TXQ3_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX2 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ2SAR.
SW must check TXQ2_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX1 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ1SAR.
SW must check TXQ1_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Start the TX0 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFTQ0SAR.
SW must check TXQ0_DMA_STATUS is inactive before start.

© 2016 - 2017 MediaTek Inc.

Page 251 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
7

TXQ7_DMA_STOP

6

TXQ6_DMA_STOP

5

TXQ5_DMA_STOP

4

TXQ4_DMA_STOP

3

TXQ3_DMA_STOP

2

TXQ2_DMA_STOP

1

TXQ1_DMA_STOP

Description
Writing 0 does nothing. Read always returns 0.
Stop the TX7 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be
stopped by HW since they share the same data port.)
Stop the TX6 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be
stopped by HW since they share the same data port.)
Stop the TX5 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be
stopped by HW since they share the same data port.)
Stop the TX4 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be
stopped by HW since they share the same data port.)
Stop the TX3 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be
stopped by HW since they share the same data port.)
Stop the TX2 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be
stopped by HW since they share the same data port.)
Stop the TX1 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).
If one data port to multiple queues design is configured, any one of
these queues stop would lead to these queues stop at the same time.
(e.g. If TX queue 1 stops, then TX queue 2, 3, 4, 5, 6, 7 would also be

© 2016 - 2017 MediaTek Inc.

Page 252 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
0

TXQ0_DMA_STOP

A104015C
Bit

Description
stopped by HW since they share the same data port.)
Stop the TX0 queue DMA operation. It will NOT clear the
result of TX count set by HWTPCCR(WTSR0/ WTSR1).
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read always returns current DMA activity (0: stopped, 1: stop
command is on-going).

31

HWTPCCR
30

29

28

HIF WLAN TX Packet Count Control
Register
27

26

25

24

23

22

21

20

19

00000000
18

17

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0
15

0

14

13

12

11

10

7:0

8

7

6

5

4

3

INC_TQ_CNT

WO

WO

0

0

0

0

INC_TQ_CNT

A1040160

HWFTQ0SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

0

0

0

0

2

1

0

0

0

0

Description
Firmware writes 1 to reset the count accumulated for TQ0
~ TQ7.
Writing 0 does nothing. Read always returns 0.
Firmware writes the TQ index to be increased by setting
this field which leads to the same number increased in
WTSR.TQX_CNT.
Writing 0 does nothing. Read always returns 0. (X depends on the
TQ index)
Firmware writes the available TQ buffer count by setting
this field which leads to the same number increased in
WTSR.TQX_CNT.
Writing 0 does nothing. Read always returns 0. (X depends on the
TQ index)

TQ_INDEX

31

9

TQ_INDEX

Bit(s) Name
16
TQ_CNT_RESET
15:12

16
TQ
_C
NT
_R
ES
ET
W1S

28

HIF WLAN Firmware TX Queue 0 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ0_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ0_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 253 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:2 WLAN_TXQ0_DMA_SADDR

A1040164

HWFTQ1SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Description
The start address of buffer chain of TX0 queue in unit of
DW.

HIF WLAN Firmware TX Queue 1 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ1_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ1_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ1_DMA_SADDR

A1040168

HWFTQ2SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of TX1 queue in unit of
DW.

HIF WLAN Firmware TX Queue 2 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ2_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ2_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ2_DMA_SADDR

A104016C

HWFTQ3SAR

Bit
Nam
e
Type
Rese
t
Bit

30

31

29

28

0

0

0

Description
The start address of buffer chain of TX2 queue in unit of
DW.

HIF WLAN Firmware TX Queue 3 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ3_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

© 2016 - 2017 MediaTek Inc.

Page 254 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t

WLAN_TXQ3_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ3_DMA_SADDR

A1040170

HWFTQ4SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

0

0

0

0

Description
The start address of buffer chain of TX3 queue in unit of
DW.

HIF WLAN Firmware TX Queue 4 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ4_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ4_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ4_DMA_SADDR

A1040174

HWFTQ5SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of TX4 queue in unit of
DW.

Reserve for HIF WLAN Firmware TX
Queue 5 Start Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ5_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ5_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ5_DMA_SADDR

A1040178

HWFTQ6SAR

Bit
Nam

30

31

29

28

0

0

0

Description
The start address of buffer chain of TX5 queue in unit of
DW.

Reserve for HIF WLAN Firmware TX
Queue 6 Start Address Register
27

26

25

24

23

22

21

20

19

00000000
18

17

16

WLAN_TXQ6_DMA_SADDR

© 2016 - 2017 MediaTek Inc.

Page 255 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ6_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ6_DMA_SADDR

A104017C

HWFTQ7SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of TX6 queue in unit of
DW.

Reserve for HIF WLAN Firmware TX
Queue 7 Start Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_TXQ7_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_TXQ7_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_TXQ7_DMA_SADDR

A1040180

HWFRQ0SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of TX7 queue in unit of
DW.

HIF WLAN Firmware RX Queue 0 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ0_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ0_DMA_SADDR
RW
0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ0_DMA_SADDR

0

0

0

0

Description
The start address of buffer chain of RX0 queue in unit of
DW.

© 2016 - 2017 MediaTek Inc.

Page 256 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040184

HWFRQ1SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

HIF WLAN Firmware RX Queue 1 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ1_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ1_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ1_DMA_SADDR

A1040188

HWFRQ2SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of RX1 queue in unit of
DW.

HIF WLAN Firmware RX Queue 2 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ2_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ2_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ2_DMA_SADDR

A104018C

HWFRQ3SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of RX2 queue in unit of
DW.

HIF WLAN Firmware RX Queue 3 Start
Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ3_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ3_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 257 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:2 WLAN_RXQ3_DMA_SADDR

A1040190

HWFRQ4SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Description
The start address of buffer chain of RX3 queue in unit of
DW.

Reserve for HIF WLAN Firmware RX
Queue 4 Start Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ4_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ4_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ4_DMA_SADDR

A1040194

HWFRQ5SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of RX4 queue in unit of
DW.

Reserve for HIF WLAN Firmware RX
Queue 5 Start Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ5_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ5_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ5_DMA_SADDR

A1040198

HWFRQ6SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam

30

31

29

28

0

0

0

Description
The start address of buffer chain of RX5 queue in unit of
DW.

Reserve for HIF WLAN Firmware RX
Queue 6 Start Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ6_DMA_SADDR
RW
0

0

0

0

0

15

14

13

12

11

0

0

0

0

0

0

0

0

0

0

0

10

9

8

7

6

5

4

3

2

1

0

WLAN_RXQ6_DMA_SADDR

© 2016 - 2017 MediaTek Inc.

Page 258 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ6_DMA_SADDR

A104019C

HWFRQ7SAR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

0

0

0

0

Description
The start address of buffer chain of RX6 queue in unit of
DW.

Reserve for HIF WLAN Firmware RX
Queue 7 Start Address Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

WLAN_RXQ7_DMA_SADDR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

WLAN_RXQ7_DMA_SADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:2 WLAN_RXQ7_DMA_SADDR

A10401A0

H2DRM0R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
The start address of buffer chain of RX7 queue in unit of
DW.

Host to Device Receive Mailbox 0
Register
27

26

25

24

23

00000000

22

21

20

19

18

17

16

H2D_RM0
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

H2D_RM0
RO
0

0

0

0

0

0

Bit(s) Name
31:0 H2D_RM0

0

0

Description
This register is used by firmware to receive data from
SDIO controller, which is updated through H2DSM0R by
host driver.

A10401A4

H2DRM1R

Bit
Nam

30

31

0

29

28

Host to Device Receive Mailbox 1
Register
27

26

25

24

23

22

21

20

19

00000000
18

17

16

H2D_RM1

© 2016 - 2017 MediaTek Inc.

Page 259 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

H2D_RM1
RO
0

0

0

0

0

0

Bit(s) Name
31:0 H2D_RM1

0

0

Description
This register is used by firmware to receive data from
SDIO controller, which is updated through H2DSM1R by
host driver.

A10401A8

D2HSM0R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

28

Device to Host Send Mailbox 0 Register
27

26

25

24

23

00000000

22

21

20

19

18

17

16

D2H_SM0
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

D2H_SM0
RW
0

0

0

0

0

0

Bit(s) Name
31:0 D2H_SM0

0

0

Description
This register is used by firmware to transmit data to SDIO
controller, it will be updated to D2HRM0R and read by
host driver.

A10401AC

D2HSM1R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

Device to Host Send Mailbox 1 Register

28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

D2H_SM1
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

D2H_SM1
RW
0

0

Bit(s) Name
31:0 D2H_SM1

0

0

0

0

0

0

0

Description
This register is used by firmware to transmit data to SDIO
controller, it will be updated to D2HRM1R and read by
host driver.

© 2016 - 2017 MediaTek Inc.

Page 260 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A10401B0

D2HSM2R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

Device to Host Send Mailbox 2 Register

28

27

26

24

23

21

20

19

18

17

16

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

D2H_SM2
RW
0

A10401C0

0

0

0

0

0

31

0

0

Description
This register is used by firmware to transmit data to SDIO
controller, it will be updated to D2HRM2R and read by
host driver.
When reading this register, it may not get the value that firmware
just writes, it may read the older value that firmware had written
before. It results from the synchronization issue of hardware.
Firmware would get the value that host is tending to read when host
clock turns on.
Note that host driver could read D2HRM2R without system AHB
clock. Hence, after firmware set this register, MCU could turn off
system AHB clock to save power if necessary.

HWRQ0CR
30

0

29

28

HIF WLAN RX Queue 0 Control
Register
27

26

25

24

23

22

21

20

Nam
e

Type
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

00000000
19
RX
Q0
_D
MA
_S
TA
TU
S
RO

18

17

16

RX
Q0
_D
MA
_R
UM

RX
Q0
_D
MA
_S
TA
RT

RX
Q0
_D
MA
_S
TO
P

W1S

W1S

W1S

0

0

0

0

5

4

3

2

1

0

0

0

0

0

0

0

RXQ0_PACKET_LENGTH
RW
0

0

0

0

Bit(s) Name
19
RXQ0_DMA_STATUS

18

00000000

22

D2H_SM2

Bit(s) Name
31:0 D2H_SM2

Bit

25

RXQ0_DMA_RUM

0

0

0

0

0

0

Description
Read for the RX0 queue DMA status.
When the SDIO Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Resume the RX0 queue DMA to operate.

© 2016 - 2017 MediaTek Inc.

Page 261 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

17

RXQ0_DMA_START

16

RXQ0_DMA_STOP

15:0

Description
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Start the RX0 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFRQ0SAR.
SW must check RXQ0_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Stop the RX0 queue DMA operation, the content in the
RXQ0 FIFO and RXQ0 length FIFO will be cleared.
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read returns current RXQ0 operation state (1: stop operation is ongoing, 0: stop operation is finished).
When write:
To indicate HIF that 1 RX packet in this packet length is queued
into this RX queue.
When read:
Read the 1st RX packet length indicated from this queue, and will
be 0 when queue is empty.

RXQ0_PACKET_LENGTH

FW will write this FIFO-like port (at most 64 entries depends on
the hardware configuration for each project) together with
RXQ1_DMA_RUM bit been set, after RX packet is queued into
descriptor chain.
RX packet with length been set by this field is able to be read by
host driver, which is through reading WRPLR, or INT enhance
mode, or RX enhance mode.
None-empty entry will generate RX done interrupt, and
corresponding entry will be cleared by HW after this packet length
is read by host driver.
Writing 0 does nothing.
0: inactive
1: active

A10401C4
Bit

31

HWRQ1CR
30

29

28

HIF WLAN RX Queue 1 Control
Register
27

26

25

24

23

22

21

20

Nam
e

Type
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

00000000
19
RX
Q1
_D
MA
_S
TA
TU
S
RO

18

17

16

RX
Q1
_D
MA
_R
UM

RX
Q1
_D
MA
_S
TA
RT

RX
Q1
_D
MA
_S
TO
P

W1S

W1S

W1S

0

0

0

0

5

4

3

2

1

0

0

0

0

0

0

0

RX1_PACKET_LENGTH
RW
0

0

0

0

Bit(s) Name
19
RXQ1_DMA_STATUS

0

0

0

0

0

0

Description
Read for the RXQ1 DMA status.
When the SDIO Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and

© 2016 - 2017 MediaTek Inc.

Page 262 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

18

RXQ1_DMA_RUM

17

RXQ1_DMA_START

16

RXQ1_DMA_STOP

15:0

Description
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Resume the RX1 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Start the RX1 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFRQ1SAR.
SW must check RXQ1_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Stop the RX1 queue DMA operation, the content in the
RXQ1 FIFO and RXQ1 length FIFO will be cleared.
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read returns current RXQ1 operation state (1: active, 0: stopped).
When write:
To indicate HIF that 1 RX packet in this packet length is queued
into this RX queue.
When read:
Read the 1st RX packet length indicated from this queue, and will
be 0 when queue is empty.

RX1_PACKET_LENGTH

FW will write this FIFO-like port (at most 64 entries depends on
the hardware configuration for each project) together with
RXQ1_DMA_RUM bit been set, after RX packet is queued into
descriptor chain.
RX packet with length been set by this field is able to be read by
host driver, which is through reading WRPLR, or INT enhance
mode, or RX enhance mode.
None-empty entry will generate RX done interrupt, and
corresponding entry will be cleared by HW after this packet length
is read by host driver.
Writing 0 does nothing.

A10401C8
Bit

31

HWRQ2CR
30

29

28

HIF WLAN RX Queue 2 Control
Register
27

26

25

24

23

22

21

20

Nam
e

Type
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

00000000
19
RX
Q2
_D
MA
_S
TA
TU
S
RO

18

17

16

RX
Q2
_D
MA
_R
UM

RX
Q2
_D
MA
_S
TA
RT

RX
Q2
_D
MA
_S
TO
P

W1S

W1S

W1S

0

0

0

0

5

4

3

2

1

0

0

0

0

0

0

0

RX2_PACKET_LENGTH
RW
0

0

Bit(s) Name

0

0

0

0

0

0

0

0

Description

© 2016 - 2017 MediaTek Inc.

Page 263 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
19
RXQ2_DMA_STATUS

18

RXQ2_DMA_RUM

17

RXQ2_DMA_START

16

RXQ2_DMA_STOP

15:0

Description
Read for the RXQ2 DMA status.
When the SDIO Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Resume the RX2 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Start the RX2 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFRQ1SAR.
SW must check RXQ2_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Stop the RX2 queue DMA operation, the content in the
RXQ2 FIFO and RXQ2 length FIFO will be cleared.
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read returns current RXQ2 operation state (1: active, 0: stopped).
When write:
To indicate HIF that 1 RX packet in this packet length is queued
into this RX queue.
When read:
Read the 1st RX packet length indicated from this queue, and will
be 0 when queue is empty.

RX2_PACKET_LENGTH

FW will write this FIFO-like port (at most 64 entries depends on
the hardware configuration for each project) together with
RXQ2_DMA_RUM bit been set, after RX packet is queued into
descriptor chain.
RX packet with length been set by this field is able to be read by
host driver, which is through reading WRPLR, or INT enhance
mode, or RX enhance mode.
None-empty entry will generate RX done interrupt, and
corresponding entry will be cleared by HW after this packet length
is read by host driver.
Writing 0 does nothing.

A10401CC
Bit

31

HWRQ3CR
30

29

28

HIF WLAN RX Queue 3 Control
Register
27

26

25

24

23

22

21

20

Nam
e

Type
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

00000000
19
RX
Q3
_D
MA
_S
TA
TU
S
RO

18

17

16

RX
Q3
_D
MA
_R
UM

RX
Q3
_D
MA
_S
TA
RT

RX
Q3
_D
MA
_S
TO
P

W1S

W1S

W1S

0

0

0

0

5

4

3

2

1

0

0

0

0

0

0

0

RX3_PACKET_LENGTH
RW
0

0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 264 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
19
RXQ3_DMA_STATUS

18

RXQ3_DMA_RUM

17

RXQ3_DMA_START

16

RXQ3_DMA_STOP

15:0

Description
Read for the RXQ3 DMA status.
When the SDIO Controller is reset, the queue is in the inactive state
by default. After receiving a START or RESUME command and
executing it without error, the queue enters the active state. When
the queue is empty or stopped by a STOP command, it returns to
the inactive state.
0: inactive
1: active
Resume the RX3 queue DMA to operate.
The DMA will reload the chain descriptor from the current address.
Firmware writes 1 to enable the DMA. Writing 0 does nothing.
Read always returns 0.
Start the RX3 queue DMA operation.
The DMA will load the chain descriptor from the address assigned
by HWFRQ1SAR.
SW must check RXQ3_DMA_STATUS is inactive before start.
Writing 0 does nothing. Read always returns 0.
Stop the RX3 queue DMA operation, the content in the
RXQ3 FIFO and RXQ3 length FIFO will be cleared.
Firmware writes 1 to stop the DMA. Writing 0 does nothing.
Read returns current RXQ3 operation state (1: active, 0: stopped).
When write:
To indicate HIF that 1 RX packet in this packet length is queued
into this RX queue.
When read:
Read the 1st RX packet length indicated from this queue, and will
be 0 when queue is empty.

RX3_PACKET_LENGTH

FW will write this FIFO-like port (at most 64 entries depends on
the hardware configuration for each project) together with
RXQ3_DMA_RUM bit been set, after RX packet is queued into
descriptor chain.
RX packet with length been set by this field is able to be read by
host driver, which is through reading WRPLR, or INT enhance
mode, or RX enhance mode.
None-empty entry will generate RX done interrupt, and
corresponding entry will be cleared by HW after this packet length
is read by host driver.
Writing 0 does nothing.

A10401D0

HWRQ4CR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Reserve for HWRQ4CR
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_FOR_HWRQ4CR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_FOR_HWRQ4CR
RW
0

0

0

0

Bit(s) Name
31:0 RESV_FOR_HWRQ4CR

0

0

0

0

0

0

Description
RESV_FOR_HWRQ4CR

© 2016 - 2017 MediaTek Inc.

Page 265 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A10401D4

HWRQ5CR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Reserve for HWRQ5CR
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_FOR_HWRQ5CR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

21

20

19

18

17

16

RESV_FOR_HWRQ5CR
RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_FOR_HWRQ5CR

A10401D8

HWRQ6CR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

Description
RESV_FOR_HWRQ5CR

Reserve for HWRQ6CR
27

26

25

24

23

22

00000000

RESV_FOR_HWRQ6CR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

21

20

19

18

17

16

RESV_FOR_HWRQ6CR
RW
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_FOR_HWRQ6CR

A10401DC

HWRQ7CR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

Description
RESV_FOR_HWRQ6CR

Reserve for HWRQ7CR
27

26

25

24

23

22

00000000

RESV_FOR_HWRQ7CR
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RESV_FOR_HWRQ7CR
RW
0

0

0

0

Bit(s) Name
31:0 RESV_FOR_HWRQ7CR

0

0

0

0

0

0

Description
RESV_FOR_HWRQ7CR

© 2016 - 2017 MediaTek Inc.

Page 266 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A10401E0

HWRLFACR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

15

29

28

HIF WLAN RX Length FIFO Available
Count Register
27

26

24

23

22

21

20

19

18

17

RX3_LEN_FIFO_AVAIL_CNT

RX2_LEN_FIFO_AVAIL_CNT

RO

RO

1

0

0

0

0

0

0

14

13

12

11

10

9

8

1

7

0

0

0

0

0

0

6

5

4

3

2

1

0

RX0_LEN_FIFO_AVAIL_CNT

RO

RO

0

0

0

0

22:16

RX2_LEN_FIFO_AVAIL_CNT

14:8

RX1_LEN_FIFO_AVAIL_CNT

6:0

RX0_LEN_FIFO_AVAIL_CNT

A10401E4

HWRLFACR1

Bit
Nam
e
Type
Rese
t
Bit
Nam

30

29

28

0

0

1

0

0

0

0

0

0

Description
It indicates the RX3 length FIFO available count. SW
should prevent push extra entries into FIFO.
If under the define of SDCTL_RX3_PACKET_LEN_64,
The maximum is 64.
If under the define of SDCTL_RX3_PACKET_LEN_32,
The maximum is 32.
If under the define of SDCTL_RX3_PACKET_LEN_16,
The maximum is 16.
It indicates the RX2 length FIFO available count. SW
should prevent push extra entries into FIFO.
If under the define of SDCTL_RX2_PACKET_LEN_64,
The maximum is 64.
If under the define of SDCTL_RX2_PACKET_LEN_32,
The maximum is 32.
If under the define of SDCTL_RX2_PACKET_LEN_16,
The maximum is 16.
It indicates the RX1 length FIFO available count. SW
should prevent push extra entries into FIFO.
If under the define of SDCTL_RXD_PACKET_LEN_64,
The maximum is 64.
If under the define of SDCTL_RXD_PACKET_LEN_32,
The maximum is 32.
If under the define of SDCTL_RXD_PACKET_LEN_16,
The maximum is 16.
It indicates the RX0 length FIFO available count. SW
should prevent push extra entries into FIFO.
If under the define of SDCTL_RXE_PACKET_LEN_64,
The maximum is 64.
If under the define of SDCTL_RXE_PACKET_LEN_32,
The maximum is 32.
If under the define of SDCTL_RXE_PACKET_LEN_16,
The maximum is 16.

Reserve for HWRLFACR1
27

16

1

RX1_LEN_FIFO_AVAIL_CNT

Bit(s) Name
30:24 RX3_LEN_FIFO_AVAIL_CNT

31

25

40404040

26

25

24

23

22

00000000

21

20

19

18

17

16

RESV_FOR_HWRLFACR1
RO
0

0

0

0

0

0

15

14

13

12

11

10

0

0

0

0

0

0

0

0

0

0

9

8

7

6

5

4

3

2

1

0

RESV_FOR_HWRLFACR1

© 2016 - 2017 MediaTek Inc.

Page 267 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_FOR_HWRLFACR1

0

0

0

0

0

0

0

0

0

0

Description
RESV_FOR_HWRLFACR1

A10401E8

HWDMACR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

HIF WLAN DMA Control Register
25

24

23

22

21

20

19

18

0000004A
17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Nam
e

DMA_BS
T_SIZE

AHB_PR
OT2_CTL

AR
BIT
ER
_M
OD
E

Type
Rese
t

RW

RW

RW

RW

0
AH
B_1
KB
ND
RY
_P
RT
CT
RW

1

1

0

0

Bit(s) Name
7:6
DMA_BST_SIZE

5:4

AHB_PROT2_CTL

3

ARBITER_MODE

1

DEST_BST_TYP

1

0

0

DE
ST
_B
ST
_T
YP

Description
This field is used to determine the DMA burst size
0 : burst size = 4 DW
1: burst size = 8 DW
2: burst_size = 16DW
This field is used to Control AHB bus Protection 2
function
00: DMA engine would use HPROT[2] signal on AHB bus to be 0 to
protect HWO write back. This is used to guarantee that MCU would
receive interrupt after the HWO is written. For other data writes,
HPROT[2] is set to 1 to indicate that it is Bufferable
01: The HPROT[2] signal on AHB bus is always set to 0, which
means all AHB writes are not Bufferable
10: The HPROT[2] signal on AHB bus is always set to 1, which
means all AHB writes are Bufferable
For Normal Mode, the arbitration algorithm is more
preference for TX direction (from HOST to FW), which is
good for reducing the duration time during write busy in
SDIO interface.
And for the Reserve Mode, it is more aggressive than the Normal
Mode which means RX will not be executed unless the TX has been
completed.
0: Reserve Mode
1: Normal Mode (Recommend)
This field is used to specify the AHB burst type for HWO
write back.
0: HIFSYS DMA engine would use non-post-write (INCR, burst
type = 3'b001) to write 0 to HWO when the responding data is
dealt. This access could guarantee that MCU would receive
interrupt after the HWO is written.
1: HIFSYS DMA engine would use post-write (SINGLE, burst type =

© 2016 - 2017 MediaTek Inc.

Page 268 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

0

Description
3'b000) to write 0 to HWO when the responding data is dealt. This
access could NOT guarantee that MCU would receive interrupt after
the HWO is written.
This field is used to specify whether to protect the 1K
boundary or not
0: Don't protect.
1: DMA will guarantee the AHB will not cross 1K boundary in a
burst.

AHB_1KBNDRY_PRTCT

A10401EC

HWFIOCDR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11
RX
Q3
_IO
C_
DIS
RW

10
RX
Q2
_IO
C_
DIS
RW

9
RX
Q1
_IO
C_
DIS
RW

8
RX
Q0
_IO
C_
DIS
RW

7
TX
Q7
_IO
C_
DIS
RW

6
TX
Q6
_IO
C_
DIS
RW

5
TX
Q5
_IO
C_
DIS
RW

4
TX
Q4
_IO
C_
DIS
RW

3
TX
Q3
_IO
C_
DIS
RW

2
TX
Q2
_IO
C_
DIS
RW

1
TX
Q1
_IO
C_
DIS
RW

0
TX
Q0
_IO
C_
DIS
RW

1

1

1

1

1

1

1

1

1

1

1

1

Nam
e
Type
Rese
t
Bit(s) Name
11
RXQ3_IOC_DIS

10

RXQ2_IOC_DIS

9

RXQ1_IOC_DIS

8

RXQ0_IOC_DIS

HIF WLAN Firmware GPD IOC bit
Disable Register

00000FFF

Description
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFRE1SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFRE1SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFRE1SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFRE1SR.

© 2016 - 2017 MediaTek Inc.

Page 269 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

7

TXQ7_IOC_DIS

6

TXQ6_IOC_DIS

5

TXQ5_IOC_DIS

4

TXQ4_IOC_DIS

3

TXQ3_IOC_DIS

2

TXQ2_IOC_DIS

1

TXQ1_IOC_DIS

0

TXQ0_IOC_DIS

Description
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)
If firmware write 1 to this register, the corresponding
queue always issue interrupt event when GPD is done.

© 2016 - 2017 MediaTek Inc.

Page 270 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

A10401F0
Bit

31

Description
If firmware write 0 to this register, the corresponding queue will
issue interrupt event base on GPD IOC bit. If current GPD IOC = 1,
GPD done interrupt event will be issued and latched into
HWFTE0SR.
0: Enable IOC function.
1: Disable IOC function (always issue interrupt when GPD done)

HSDIOTOCR
30

29

28

HIF SDIO Time-Out Control Register
27

26

25

24

23

22

21

20

19

00032000
18

Nam
e

Type
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

15:0

8

7

6

16
RE
G_
RD
_TI
ME
OU
T_
EN
RW

1

1

5

4

3

2

1

0

0

0

0

0

0

0

REG_TIMEOUT_NUM
RW
0

0

1

0

0

0

Bit(s) Name
17
REG_WR_TIMEOUT_EN

16

9

17
RE
G_
WR
_TI
ME
OU
T_
EN
RW

REG_TIMEOUT_NUM

HWFTSR0

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

Description
Firmware can write 0 to this field to disable SDIO write
timeout function and write 1 to enable the function.
0: Disable SDIO timeout function.
1: Enable SDIO timeout function.
Firmware can write 0 to this field to disable SDIO read
timeout function and write 1 to enable the function.
0: Disable SDIO timeout function.
1: Enable SDIO timeout function.
Firmware can write this field to decide the timeout
threshold. The unit is SDIO clock cycle number.

REG_RD_TIMEOUT_EN

A1040200

0

HIF WLAN Firmware TX Status
Register 0

28

27

26

25

24

23

22

21

20

00000000
19

TQ3_CNT

TQ2_CNT

RO

RO

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

Bit(s) Name

0

TQ1_CNT

TQ0_CNT

RO

RO

0

0

0

0

0

0

0

0

0

0

Description

© 2016 - 2017 MediaTek Inc.

Page 271 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:24 TQ3_CNT
23:16

TQ2_CNT

15:8

TQ1_CNT

7:0

TQ0_CNT

Description
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.

A1040204

HWFTSR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

HIF WLAN Firmware TX Status
Register 1

28

27

26

24

23

22

21

20

TQ6_CNT

RO

RO

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

23:16

TQ6_CNT

15:8

TQ5_CNT

7:0

TQ4_CNT

A1040210

0

TQ5_CNT

TQ4_CNT

RO

RO

0

0

0

31

0

0

0

0

0

15

14

0

Description
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.
Firmware can read this field to know the accumulated TX
queue count in SDIO controller which are still not read by
host driver.

HWDBGCR
30

0

29

28

HIF WLAN Debug Control Register
27

26

25

24

23

22

21

20

Nam
e

Type
Rese
t
Bit
Nam

19

TQ7_CNT

Bit(s) Name
31:24 TQ7_CNT

Bit

25

00000000

13

12

11

10

9

8

7

6

5

4

00000000

19

18

17

TX
1_
RE
CO
RD
_E
N

RX
1_
RE
CO
RD
_E
N

RX
0_
RE
CO
RD
_E
N

RW

RW

RW

16
NO
_D
MU
_D
BG
_M
OD
E
RW

0

0

0

0

3

2

1

0

DBG_PKTLEN_OFFSET

© 2016 - 2017 MediaTek Inc.

Page 272 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RW
0

0

0

0

0

0

Bit(s) Name
19
TX1_RECORD_EN
18

RX1_RECORD_EN

17

RX0_RECORD_EN

16

NO_DMU_DBG_MODE

15:0

DBG_PKTLEN_OFFSET

A1040214

HWDBGPLR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

0

0

0

0

0

Description
Firmware can write 1 to this field to enable TX1 data port
record in debug mode.
Firmware can write 1 to this field to enable RX1 data port
record in debug mode.
Firmware can write 1 to this field to enable RX0 data port
record in debug mode.
Firmware can write 1 to this field to enable the virtual
direct DMA debug mode. When this mode is enabled, the
data transfer between SDIO controller and SDIO wrapper
would also be written to SDIO internal memory in PIO
mode for debug use. Firmware can enable the data port to
be recorded by writing 1 to the corresponding field in this
register. Only one data port should be recorded each
single time for the debug mode so that the record
condition can be applied to that port correctly. The record
condition would be packet size and packet length offset.
Packets that meet both two criteria would be recorded.
Since the memory used for debug is only roughly 2KB and
might not be enough to record one full packet size,
firmware can set this field to indicate the offset of one
packet size to be recorded. This field is limited to be DW
alignment size. E.g. firmware writes 20 to this field
meaning that the data from byte 21 would be recorded.

HIF WLAN Debug Packet Length
Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

DBG_LEN_UP_BOUND
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

DBG_LEN_LOW_BOUND
RW
0

0

0

0

0

0

Bit(s) Name
31:16 DBG_LEN_UP_BOUND
15:0

0

HSPICSR

Bit
Nam

30

31

29

0

0

0

Description
Firmware can write this field to decide the upper bound
packet size to record. Packets that meet both the upper
and lower bound criteria would be recorded.
Firmware can write this field to decide the lower bound
packet size to record. Packets that meet both the upper
and lower bound criteria would be recorded.

DBG_LEN_LOW_BOUND

A1040218

0

WLAN SPI Control Status Register (SPI
Only)
28

27

26

25

24

D_

D_

D_

D_

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

D_

D_

00000000

18

17

D_BIT_M

16
D_

Page 273 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e

CP
OL
_S
ET
_C
ON
TR
OL

CP
HA
_S
ET
_C
ON
TR
OL

MO
DE
_S
ET
_C
ON
TR
OL

Type
Rese
t
Bit

RO

RO

0
15

14

13

12

Nam
e

Type
Rese
t

CP
OL

CP
HA

ODE

EN
DI
AN

RO

EN
DI
AN
_S
ET
_C
ON
TR
OL
RO

RO

RO

RO

RO

0

0

0

0

0

0

0

0

11

10

9

4

3

2

1

0

CP
OL
_S
ET
_C
ON
TR
OL

CP
HA
_S
ET
_C
ON
TR
OL

MO
DE
_S
ET
_C
ON
TR
OL

CP
OL

CP
HA

BIT_MOD
E

EN
DI
AN

RW

RW

RW

8
EN
DI
AN
_S
ET
_C
ON
TR
OL
RW

RW

RW

RW

RW

0

0

0

0

0

0

Bit(s) Name
27
D_CPOL_SET_CONTROL

26

D_CPHA_SET_CONTROL

25

D_MODE_SET_CONTROL

24

D_ENDIAN_SET_CONTROL

20

D_CPOL

19

D_CPHA

18:17

D_BIT_MODE

16

D_ENDIAN

11

CPOL_SET_CONTROL

10

CPHA_SET_CONTROL

9

MODE_SET_CONTROL

8

ENDIAN_SET_CONTROL

4

CPOL

3

CPHA

7

6

5

0

0

0

Description
[debug bit]
0: CPOL set by firmware or eFuse
1: CPOL set by wspicsr bit[6]
[debug bit]
0: CPHA set by firmware or eFuse
1: CPHA set by wspicsr bit[5]
[debug bit]
0: BIT MODE set by firmware or eFuse
1: BIT MODE set by wspicsr bit[4:3]
[debug bit]
0: ENDIAN set by firmware or eFuse
1: ENDIAN set by wspicsr bit[2]
[debug bit]
CPOL : the final work value
[debug bit]
CPHA : the final work value
[debug bit]
BIT_MODE : the final work value
[debug bit]
ENDIAN : the final work value
0: CPOL set by eFuse
1: CPOL set by firmware
0: CPHA set by eFuse
1: CPHA set by firmware
0: BIT MODE set by eFuse
1: BIT MODE set by firmware
0: ENDIAN set by eFuse
1: ENDIAN set by firmware
CPOL need to be coordinated with bit[11]
0: set CPOL 0
1: set CPOL 1
CPHA need to be coordinated with bit[10]
0: set CPHA 0

© 2016 - 2017 MediaTek Inc.

Page 274 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
2:1

0

Description
1: set CPHA 1
this bit need to be coordinated with bit[9]
2b'00: 8bit mode
2b'01:16bit mode
2b'10:32bit mode
2b'11: 8bit mode
this bit need to be coordinated with bit[8]
0: Little Endian
1: Big Endian

BIT_MODE

ENDIAN

A1040220

HWRX0CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

DMA RX0 Current GPD Address
Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RX0_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RX0_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RX0_CURR_GPD_ADDR

A1040224

HWRX1CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

Description
the address of RX0 current GPD that is being processed

DMA RX1 Current GPD Address
Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RX1_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RX1_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RX1_CURR_GPD_ADDR

A1040228

HWRX2CGPD

Bit
Nam
e

30

31

29

28

0

0

0

0

Description
the address of RX1 current GPD that is being processed

DMA RX2 Current GPD Address
Register
27

26

25

24

23

22

21

20

00000000
19

18

17

16

RX2_CURR_GPD_ADDR

© 2016 - 2017 MediaTek Inc.

Page 275 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RX2_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RX2_CURR_GPD_ADDR

A104022C

HWRX3CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

Description
the address of RX2 current GPD that is being processed

DMA RX3 Current GPD Address
Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

RX3_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RX3_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RX3_CURR_GPD_ADDR

A1040230

HWTX0CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

0

0

0

0

Description
the address of RX3 current GPD that is being processed

DMA TX0 Current GPD Address
Register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

TX0_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX0_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 TX0_CURR_GPD_ADDR

A1040234
Bit

0

31

29

28

0

0

0

Description
the address of TX0 GPD that is processing

HWTX1Q1CGPD
30

0

27

DMA TX1 Que Type 1 Current GPD
Address Register
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000
18

17

16

Page 276 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

TX1_Q1_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q1_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 TX1_Q1_CURR_GPD_ADDR

A1040238

HWTX1Q2CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

0

0

0

0

Description
the address of TX1 channel and que type 1 GPD that is
processing

DMA TX1 Que Type 2 Current GPD
Address Register
26

25

24

23

22

00000000

21

20

19

18

17

16

TX1_Q2_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q2_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 TX1_Q2_CURR_GPD_ADDR

A104023C

HWTX1Q3CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

0

0

0

0

Description
the address of TX1 channel and que type 2 GPD that is
processing

DMA TX1 Que Type 3 Current GPD
Address Register
26

25

24

23

22

00000000

21

20

19

18

17

16

TX1_Q3_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q3_CURR_GPD_ADDR
RO
0

0

0

0

0

Bit(s) Name
31:0 TX1_Q3_CURR_GPD_ADDR

0

0

0

0

0

Description
the address of TX1 channel and que type 3 GPD that is
processing

© 2016 - 2017 MediaTek Inc.

Page 277 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A1040240

HWTX1Q4CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

DMA TX1 Que Type 4 Current GPD
Address Register
26

25

24

23

22

00000000

21

20

19

18

17

16

TX1_Q4_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q4_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 TX1_Q4_CURR_GPD_ADDR

A1040244

HWTX1Q5CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

0

0

0

0

Description
the address of TX1 channel and que type 4 GPD that is
processing

DMA TX1 Que Type 5 Current GPD
Address Register
26

25

24

23

22

00000000

21

20

19

18

17

16

TX1_Q5_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q5_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 TX1_Q5_CURR_GPD_ADDR

A1040248

HWTX1Q6CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

0

0

0

0

Description
the address of TX1 channel and que type 5 GPD that is
processing

DMA TX1 Que Type 6 Current GPD
Address Register
26

25

24

23

22

00000000

21

20

19

18

17

16

TX1_Q6_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q6_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 278 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 TX1_Q6_CURR_GPD_ADDR

A104024C

HWTX1Q7CGPD

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

27

Description
the address of TX1 channel and que type 6 GPD that is
processing

DMA TX1 Que Type 7 Current GPD
Address Register
26

25

24

23

22

00000000

21

20

19

18

17

16

TX1_Q7_CURR_GPD_ADDR
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TX1_Q7_CURR_GPD_ADDR
RO
0

0

0

0

0

0

Bit(s) Name
31:0 TX1_Q7_CURR_GPD_ADDR

0

0

0

0

Description
the address of TX1 channel and que type 7 GPD that is
processing

A10403F4

HSDIOCRCR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

HIF SDIO CRC status Register
25

24

23

22

21

20

19

00000000

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

REG_CRC_STS
_CYCLE
RW
0

Bit(s) Name
2:0 REG_CRC_STS_CYCLE

0

0

Description
In SDIO 3.0 spec. for SDR50 and SDR104 mode, the CRC
status can be sent 2 to 8 cycles after one data block.
Firmware could write this register to change the response
timing of SDIO IP. Default value is set to be 2 cycles after
one data block.
0: 2 cycles after data block
1: 3 cycles after data block
2: 4 cycles after data block
3: 5 cycles after data block
4: 6 cycles after data block
5: 7 cycles after data block
6: 8 cycles after data block
7: 9 cycles after data block

© 2016 - 2017 MediaTek Inc.

Page 279 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A10403F8

HSDIORCR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

HIF SDIO Read Control Register
25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
RE
G_
TI
ME
OU
T_
NU
M_
EN
RW

REG_SDI
O_RD_TI
MING_SE
L

Nam
e

Type
Rese
t

RW
0

Bit(s) Name
9:8
REG_SDIO_RD_TIMING_SEL

0

13.5.2.

00000001

REG_TIMEOUT_NUM_EN

0

1

Description
Use this register, if the firmware is unable to prepare the
data on time for the host to read. The SDIO prefetch
operation can be delayed according to the data depth in
current RX FIFO. Firmware can write to this field to
change the data depth constraint.
2b'00: 4B
2b'01: 8B
2b'10:16B
2b'11: 64B
Use this register, if the firmware is unable to prepare the
data on time for the host to read. The SDIO read timing
adjustment function is implemented to protect the read
data underflow. Firmware can write 1 to enable and write
0 to disable the function.
0: Disable SDIO Read timing adjust function.
1: Enable SDIO Read timing adjust function.

Host domain register

Module name: SDIO_SLV Base address: (+0h)
Address

Name

00000000

WCIR

00000004

WHLPCR

00000008

WSDIOCSR

0000000C

Width
(bits)
32
32

Register Functionality
WLAN Chip ID Register

32

WLAN HIF Low Power Control Register
WLAN SDIO Control Status Register (SDIO
Only)

WHCR

32

WLAN HIF Control Register

00000010

WHISR

32

WLAN HIF Interrupt Status Register

00000014

WHIER

32

WLAN HIF Interrupt Enable Register

00000018

WHISR1

32

Reserve for WHISR1

0000001C

WHIER1

32

Reserve for WHIER1

WASR

32

WLAN Abnormal Status Register

00000020

© 2016 - 2017 MediaTek Inc.

Page 280 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Name

Width
(bits)
32

Register Functionality
WLAN Software Interrupt Control
Register

00000024

WSICR

00000028

WTSR0

32

WLAN TX Status Register

0000002C

WTSR1

32

WLAN TX Status Register

00000030

WTDR0

32

Reserve

00000034

WTDR1

32

WLAN TX Data Register 1

00000038

WTDR2

32

Reserve for WTDR2

0000003C

WTDR3

32

Reserve for WTDR3

00000040

WTDR4

32

Reserve for WTDR4
Reserve for WTDR5

00000044

WTDR5

32

00000048

WTDR6

32

Reserve for WTDR6

0000004C

WTDR7

32

Reserve for WTDR7

00000050

WRDR0

32

WLAN RX Data Register 0

00000054

WRDR1

32

WLAN RX Data Register 1

00000058

WRDR2

32

Reserve

0000005C

WRDR3

32

Reserve

00000060

WRDR4

32

Reserve for WRDR4
Reserve for WRDR5

00000064

WRDR5

32

00000068

WRDR6

32

Reserve for WRDR6

0000006C

WRDR7

32

Reserve for WRDR7

00000070

H2DSM0R

32

Host to Device Send Mailbox 0 Register

00000074

H2DSM1R

32

Host to Device Send Mailbox 1 Register

00000078

D2HRM0R

32

Device to Host Receive Mailbox 0 Register

0000007C

D2HRM1R

32

Device to Host Receive Mailbox 1 Register

00000080

D2HRM2R

32

Reserve

00000090

WRPLR

32

WLAN RX Packet Length Register

00000094

WRPLR1

32

WLAN RX Packet Length Register 1

00000098

WRPLR2

32

Reserve for WRPLR2

0000009C

WRPLR3

32

000000A0

EHTCR

32

Reserve for WRPLR3
EHPI transaction count register (EHPI
only)

000000AC

WOLTCR

32

On Line-Tuning Control Register

000000B0

WTMDR

32

Test Mode Data Port

000000B4

WTMCR

32

Test Mode Control Register
Test Mode Data Pattern Control Register 0

000000B8

WTMDPCR0

32

000000BC

WTMDPCR1

32

Test Mode Data Pattern Control Register 1

000000C0

FWDLDR

32

Firmware Download Data Register
Firmware Download Destination Starting
Address Register
Firmware Download Status Register
Firmware Download Customized Register
0
Firmware Download Customized Register
1
WLAN Packet Length Report Control
Register

000000C4

FWDLDSAR

000000C8

FWDLSR

000000CC

FWDLCMR0

000000D0

FWDLCMR1

000000D4

WPLRCR

32
32
32
32
32

© 2016 - 2017 MediaTek Inc.

Page 281 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

000000D8

WSR

Width
(bits)
32

000000F8

VSCR

32

000000FC

WSDIOAICR

00000100

Address

Name

Register Functionality
WLAN Snapshot Register

32

Version Control Register
Common SDIO Asynchronous Interrupt
Control Register

CLKIOCR_T28LP

32

Clock Pad Macro IO Control Register

00000104

CMDIOCR_T28LP

32

Command Pad Macro IO Control Register

00000108

DAT0IOCR_T28LP

32

Data 0 Pad Macro IO Control Register

0000010C

DAT1IOCR_T28LP

32

Data 1 Pad Macro IO Control Register

00000110

DAT2IOCR_T28LP

32

Data 2 Pad Macro IO Control Register

DAT3IOCR_T28LP

32

Data 3 Pad Macro IO Control Register
Clock Pad Macro Delay Chain Control
Register
Command Pad Macro Delay Chain Control
Register
SDIO Output Data Delay Chain Control
Register
SDIO Input Data Delay Chain Control
Register 1
SDIO Input Data Delay Chain Control
Register 2
SDIO Input Data Latch Time Control
Register

00000114

32

00000118

CLKDLYCR

0000011C

CMDDLYCR

00000120

ODATDLYCR

00000124

IDATDLYCR1

00000128

IDATDLYCR2

0000012C

ILCHCR

00000130

WTQCR0

32

WLAN TXQ Count Register 0
WLAN TXQ Count Register 1

32
32
32
32
32

00000134

WTQCR1

32

00000138

WTQCR2

32

WLAN TXQ Count Register 2

0000013C

WTQCR3

32

WLAN TXQ Count Register 3

00000140

WTQCR4

32

WLAN TXQ Count Register 4

00000144

WTQCR5

32

WLAN TXQ Count Register 5
WLAN TXQ Count Register 6

00000148

WTQCR6

32

0000014C

WTQCR7

32

WLAN TXQ Count Register 7

00000154

SWPCDBGR

32

WLAN PC Value debug register

00000158

DSIOCR

32

DS Pad Macro IO Control Register

00000000 WCIR
Bit

31

30

WLAN Chip ID Register

29

28

27

26

25

24

23

22

21

19

0

1

0

0

0

0

6

5

4

3

2

1

0

0

1

1

0

0

0

0

Nam
e

DEVICE_STATUS

W_
FU
NC
_R
DY

Type

RO

RO

Rese
t
Bit
Nam
e
Type
Rese
t

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

00106630
20
PO
R_I
ND
ICA
TO
R
W1
C

18

17

16

REVISION_ID

RO

CHIP_ID
RO
0

1

1

0

0

1

1

0

0

© 2016 - 2017 MediaTek Inc.

Page 282 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:24 DEVICE_STATUS

21

W_FUNC_RDY

20

POR_INDICATOR

19:16
15:0

Description
These status bits are defined by users and could be read by
host driver via SDIO bus interface. For example, watch
dog reset status could be one that could be read by host
driver even when there is no AHB clock in SDIO
controller.
Indicate that WLAN functional block has finished its
initial procedure and it is ready for normal operation.
This is a sticky bit of HWFCR.W_FUNC_RDY.
Driver will keep polling this bit on initialization. Once after FW is
ready and set corresponding bit in FW, driver can do following
control to FW.
0: WLAN functional block is not ready for normal operation.
1: WLAN functional block is ready for normal operation.
This bit indicates a reset occurs including external pin
reset, power detect reset, power on reset, SDIO
CCCR(0x06).Bit[3] reset (only in SDIO).
Write 1 to clear this bit. Writing 0 does nothing.
Revision ID
Chip ID

REVISION_ID
CHIP_ID

00000004 WHLPCR
Bit
Nam
e
Type
Rese
t
Bit

WLAN HIF Low Power Control
Register

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9
W_
FW
_O
WN
_R
EQ
_C
LR
W1S

8
W_
FW
_O
WN
_R
EQ
_S
ET
W1S

7

6

5

4

3

2

1

0

W_
INT
_E
N_
CL
R

W_
INT
_E
N_
SE
T

W1S

W1S

0

0

0

0

Nam
e

Type
Rese
t
Bit(s) Name
9
W_FW_OWN_REQ_CLR

8

00000000

W_FW_OWN_REQ_SET

Description
Write 1 to this bit to request firmware to return the
ownership of chip WLAN function to host driver. Write 0
has no meaning (Refer chapter "Power management" for
details).
Read always return 0.
This bit will be set on initial, or by firmware written 1 to HWFICR.
FW_OWN_BACK_INT_SET or any driver-domain WLAN
interrupts.
Write 1 to this bit to transfer ownership of chip WLAN
function to firmware. Write 0 has no meaning (Refer
chapter "Power management" for details). Host driver
should set this bit to give ownership to firmware only
when host driver has ownership.

© 2016 - 2017 MediaTek Inc.

Page 283 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

1

W_INT_EN_CLR

0

W_INT_EN_SET

Description
Read will get the status of WLAN_DRV_OWN.
WLAN_DRV_OWN indicates that software driver has the
ownership of chip WLAN sub-system.
0: WLAN driver doesn't have ownership
1: WLAN driver has ownership
Write 0 has no meaning, and write 1 to clear WLAN
interrupt enable signal.
Read always return 0.
Write 0 has no meaning, and write 1 to set WLAN
interrupt enable signal.
Read will get the status of W_INT_EN.
W_INT_EN indicates the current value of WLAN interrupt enable
signal. This enable signal is used for controlling the output of
WLAN interrupt signal.
0: WLAN interrupt can't output to host.
1: WLAN interrupt can output to host.

00000008 WSDIOCSR
Bit
Nam
e
Type
Rese
t
Bit

WLAN SDIO Control Status Register
(SDIO Only)

0000000D

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4
DB
_C
MD
7_
RE
SE
LE
CT
_D
IS
RW

3

2

1

0

DB
_W
R_
BU
SY
_E
N

DB
_R
D_
BU
SY
_E
N

SDI
O_I
NT
_C
TL

SDI
O_
RE
_I
NIT
_E
N

RW

RW

RW

RO

0

1

1

0

1

Nam
e

Type
Rese
t
Bit(s) Name
4
DB_CMD7_RESELECT_DIS

3

DB_WR_BUSY_EN

2

DB_RD_BUSY_EN

Description
Control the cmd7 with response when the card is during
re-select
0: Host use cmd7 reselect and card will have response.
1: Host use cmd7 reselect and card will NOT have response.
Write busy function control bit. If the available space of
internal TX FIFO is smaller than the pre-defined
maximum block size, the write busy will be asserted. The
write busy function can be used only when the block size
is smaller than pre-defined FIFO size (that is maximum
block size).
0: DMA write busy function disable
1: DMA write busy function enable
Read busy function control bit. If the usage of internal RX
FIFO is smaller than the pre-defined maximum block size,
the read busy would be triggered except the data is the last
part of this transaction. The read busy function can be

© 2016 - 2017 MediaTek Inc.

Page 284 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

1

SDIO_INT_CTL

0

SDIO_RE_INIT_EN

Description
used only when the block size set is smaller than predefined FIFO size (i.e. max block size).
0: DMA read busy function disable
1: DMA read busy function enable
Asynchronous interrupt is supported in SDIO 4-bit mode
0: Not supported; The host should switch to 1-bit mode before it
turns off SD clock. Device can wake up host via 1-bit mode
asynchronous interrupt. (according to SDIO v2.0 spec)
1: Supported; The host could send asynchronous interrupt to host
during asynchronous interrupt period so that the host does not
need to switch to 1-bit mode before it turns off SD clock. (according
to SDIO v3.0 spec)
When asserted, this bit is used to let SDIO IP back to idle
state when a new SDIO CMD 5 is received.
Default value can use fixed default value or use an engine to set or
use an external bus for it.

0000000C WHCR
Bit

31

30

29

WLAN HIF Control Register
28

27

26

25

24

23

22

21

20

00000000
19

18

17

Nam
e

Type
Rese
t
Bit

0
15

14

13

Nam
e

Type
Rese
t

12

11

10

3

9

8

7

6

MAX_HIF_RX_LEN_NUM

RW
0

0

0

Bit(s) Name
16
RX_ENHANCE_MODE

13:8

16
RX
_E
NH
AN
CE
_M
OD
E
RW

MAX_HIF_RX_LEN_NUM

RPT_OWN_RX_PACKET_LEN

0

0

0

5

4

3
RP
T_
OW
N_
RX
_P
AC
KE
T_
LE
N
RW

2
RE
CV
_M
AIL
BO
X_
RD
_C
LR
_E
N
RW

1
W_
INT
_C
LR
_C
TR
L

0

0

0

0

RW

Description
Enable the read of TX count status, RX length, and
mailbox information in RX packet enhance mode. Refer
chapter 3.4 for more details.
0: Disables RX packet enhanced mode
1: Enables the read of TX count status, RX length, and mailbox
information in RX packet enhanced mode.
The maximum number of SDIO controller to report the
per-queue RX packets length via INT/ RX enhanced mode.
0: report entire 64 RX packets length in the same RX queue without
limitation.
Others (N): report at most N RX packet lengths for each RX queue
This field is to control the RX packet report length and
structure during enhance mode. If this bit is set to 1, each

© 2016 - 2017 MediaTek Inc.

Page 285 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

2

RECV_MAILBOX_RD_CLR_EN

1

W_INT_CLR_CTRL

00000010

WHISR

Bit
Nam
e
Type
Rese
t
Bit

30

31

WLAN HIF Interrupt Status Register

29

28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

D2H_SW_INT
RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7
FW
_O
WN
_B
AC
K_I
NT
RC

6

5

4

3

2

1

0

AB
NO
RM
AL
_I
NT

RX
3_
DO
NE
_I
NT

RX
2_
DO
NE
_I
NT

RX
1_
DO
NE
_I
NT

RX
0_
DO
NE
_I
NT

TX
_D
ON
E_I
NT

RO

RO

RO

RO

RO

RO

0

0

0

0

0

0

0

Nam
e
Type
Rese
t

Description
RX queue can report its own length according to the
setting in WPLRCR. Also, the total report length would be
changed if this bit is set. Host driver should parse the
enhanced mode status according to the length setting in
WPLRCR to get correct information.
0: disable the function that each RX queue can report its own
packet length and the maximal report length is constrained by
max_hif_rx_len_num field in WHCR
1: enable the function that each RX queue can report its own packet
length and the maximal report length can be different by each
queue according to the setting in WPLRCR
This is to control whether the received mail-box
(D2HRM0R, D2HRM1R) will be read cleared or not (this
include read from enhance mode structure).
1: read clear
0: no effect after read
This bit is used to select the clear mechanism of WLAN
interrupt statue (WHISR).
0: Read clear
1: Write 1 clear

D2H_SW_INT

RC
0

0

0

0

Bit(s) Name
31:8 D2H_SW_INT

7

FW_OWN_BACK_INT

6

ABNORMAL_INT

4

RX3_DONE_INT

3

RX2_DONE_INT

2

RX1_DONE_INT

0

0

0

0

Description
This field is used for software interrupt for WLAN
function in FW to host driver direction.
WLAN firmware writes 1s to HWFICR.Bit[31:8] will set
corresponding bit field.
Firmware has returned the ownership to host driver. This
field is set with driver own-back only.
Firmware write 1 to HWFICR. Bit[4] will set this bit.
Abnormal event interrupt.
The abnormal status will be shown in WASR, which includes
Data overflow of WLAN TX0 and TX1 port.
Data underflow of WLAN RX0 and RX1 port.
FW_OWN_INVALID_ACCESS
When any of the RX length data of RX3 is existed in HIF
RX length FIFO, this bit will be asserted.
When any of the RX length data of RX2 is existed in HIF
RX length FIFO, this bit will be asserted.
When any of the RX length data of RX1 is existed in HIF
RX length FIFO, this bit will be asserted.

© 2016 - 2017 MediaTek Inc.

Page 286 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
1
RX0_DONE_INT
0

TX_DONE_INT

00000014

WHIER

Bit
Nam
e
Type
Rese
t
Bit

30

31

29

WLAN HIF Interrupt Enable Register
28

27

26

25

24

23

22

00000000

21

20

19

18

17

16

D2H_SW_INT_EN
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7
FW
_O
WN
_B
AC
K_I
NT
_E
N
RW

6

5

4

3

2

1

0

AB
NO
RM
AL
_I
NT
_E
N

RX
3_
DO
NE
_I
NT
_E
N

RX
2_
DO
NE
_I
NT
_E
N

RX
1_
DO
NE
_I
NT
_E
N

RX
0_
DO
NE
_I
NT
_E
N

TX
_D
ON
E_I
NT
_E
N

RW

RW

RW

RW

RW

RW

0

0

0

0

0

0

0

Nam
e

Type
Rese
t

Description
When any of the RX length data of RX0 is existed in HIF
RX length FIFO, this bit will be asserted.
If WTSR0 or WTSR1 is not 0, this bit will be set.
0: WTSR0 and WTSR1 is 0.
1: WTSR0 or WTSR1 is not 0.

D2H_SW_INT_EN

RW
0

0

0

0

0

Bit(s) Name
31:8 D2H_SW_INT_EN

7

FW_OWN_BACK_INT_EN

6

ABNORMAL_INT_EN

4

RX3_DONE_INT_EN

3

RX2_DONE_INT_EN

2

RX1_DONE_INT_EN

0

0

0

Description
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.

© 2016 - 2017 MediaTek Inc.

Page 287 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
1
RX0_DONE_INT_EN

0

Description
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.
WLAN host interrupt output control bits.
If any bit is
0: Mask the WLAN related bit interrupt output, corresponding bits
will be still written to WHISR without triggering interrupt.
1: Enable the WLAN related bit interrupt output.

TX_DONE_INT_EN

00000018

WHISR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

Reserve for WHISR1
28

27

26

24

23

00000000

22

21

20

19

18

17

16

RESV_WHISR1
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

22

21

20

19

18

17

16

RESV_WHISR1
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WHISR1

0000001C

WHIER1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

Description
RESV_WHISR1

Reserve for WHIER1
28

27

26

25

24

23

00000000

RESV_WHIER1
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

19

18

RESV_WHIER1
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WHIER1

31

30

29

0

0

0

Description
RESV_WHIER1

00000020 WASR
Bit

25

WLAN Abnormal Status Register
28

27

26

25

24

23

22

21

20

00000000
17

Nam
e

© 2016 - 2017 MediaTek Inc.

16
FW
_O
WN
_I
NV
ALI

Page 288 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Type
Rese
t
Bit

D_
AC
CE
SS
RC
0
15

14

13

12

Nam
e
Type
Rese
t

11
RX
3_
UN
DE
RF
LO
W
RC

10
RX
2_
UN
DE
RF
LO
W
RC

9
RX
1_
UN
DE
RF
LO
W
RC

8
RX
0_
UN
DE
RF
LO
W
RC

0

0

0

0

Bit(s) Name
16
FW_OWN_INVALID_ACCESS

11
10
9
8
1
0

WSICR

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

5

4

3

2

WLAN Software Interrupt Control
Register
28

27

26

1

0

TX
1_
OV
ER
FL
OW

TX
0_
OV
ER
FL
OW

RC

RC

0

0

25

24

23

22

00000000

21

20

19

18

17

16

H2D_SW_INT_SET
W1S
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Bit(s) Name
31:16 H2D_SW_INT_SET

Description
Host driver writes 1s will set HWFISR.
HOST_DRIVER_INT. Writing 0 does nothing.
Read always returns 0.
This is used as a communication between FW to driver, with
interrupt functionality to SDIO controller.

00000028 WTSR0
Bit
Nam

6

Description
It will be asserted when register other than WCIR,
WHLPCR, WSPICSR, WSDIOCSR, WEHPICSR, and
firmware download relative registers are accessed when
FW own = 1
It is purely for host driver debug purpose.
Data underflow of WLAN RX3 port.
Data underflow of WLAN RX2 port.
Data underflow of WLAN RX1 port.
Data underflow of WLAN RX0 port.
Data overflow of WLAN TX1 port.
Data overflow of WLAN TX0 port.

RX3_UNDERFLOW
RX2_UNDERFLOW
RX1_UNDERFLOW
RX0_UNDERFLOW
TX1_OVERFLOW
TX0_OVERFLOW

00000024

7

31

30

29

WLAN TX Status Register
28

27

26

25

24

23

22

TQ3_CNT

21

00000000
20

19

18

17

16

TQ2_CNT

© 2016 - 2017 MediaTek Inc.

Page 289 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RC

RC

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TQ1_CNT

TQ0_CNT

RC

RC

0

0

0

Bit(s) Name
31:24 TQ3_CNT
23:16

TQ2_CNT

15:8

TQ1_CNT

7:0

TQ0_CNT

31

30

0

0

0

0

0

29

WLAN TX Status Register
28

27

26

25

24

23

22

21

00000000
20

19

TQ7_CNT

TQ6_CNT

RC

RC

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TQ5_CNT

TQ4_CNT

RC

RC

0

0

0

Bit(s) Name
31:24 TQ7_CNT
23:16

TQ6_CNT

15:8

TQ5_CNT

7:0

TQ4_CNT

31

30

0

0

0

0

0

0

0

Description
This field indicates the released packet count of TQ7
during two WTSR0 read access.
This field is cleared by read operation. Write has no meaning.
This field indicates the released packet count of TQ6
during two WTSR0 read access.
This field is cleared by read operation. Write has no meaning.
This field indicates the released packet count of TQ5
during two WTSR1 read access.
This field is cleared by read operation. Write has no meaning.
This field indicates the released packet count of TQ4
during two WTSR1 read access.
This field is cleared by read operation. Write has no meaning.

00000030 WTDR0
Bit
Nam

0

Description
This field indicates the released packet count of TQ3
during two WTSR0 read access.
This field is cleared by read operation. Write has no meaning.
This field indicates the released packet count of TQ2
during two WTSR0 read access.
This field is cleared by read operation. Write has no meaning.
This field indicates the released packet count of TQ1
during two WTSR0 read access.
This field is cleared by read operation. Write has no meaning.
This field indicates the released packet count of TQ0
during two WTSR0 read access.
This field is cleared by read operation. Write has no meaning.

0000002C WTSR1
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0

29

WLAN TX Data Register 0
28

27

26

25

24

23

22

21

00000000
20

19

18

17

16

TX0_DATA

© 2016 - 2017 MediaTek Inc.

Page 290 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TX0_DATA
WO
0

0

0

0

0

0

Bit(s) Name
31:0 TX0_DATA

0

0

0

Description
TX0 write data port. Read always return 0.
Data must be padded to multiples of block when the data to write is
more than the size of a single block. Writing data with multiple
blocks in one transaction and the remaining in another with byte
mode is prohibited.

00000034

WTDR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

WLAN TX Data Register 1
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

TX1_DATA
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TX1_DATA
WO
0

0

0

0

0

0

Bit(s) Name
31:0 TX1_DATA

0

0

0

Description
TX1 write data port. Read always return 0.
Data must be padded to multiples of block when the data to write is
more than the size of a single block. Writing data with multiple
blocks in one transaction and the remaining in another with byte
mode is prohibited.

00000038 WTDR2
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Reserve for WTDR2
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RESV_WTDR2
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WTDR2
WO
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 291 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 RESV_WTDR2

Description
RESV_WTDR2

0000003C WTDR3
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Reserve for WTDR3
28

27

26

24

23

00000000

22

21

20

19

18

17

16

RESV_WTDR3
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WTDR3
WO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WTDR3

31

30

29

0

0

0

Description
RESV_WTDR3

00000040 WTDR4
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

25

Reserve for WTDR4
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RESV_WTDR4
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WTDR4
WO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WTDR4

00000044

WTDR5

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

Description
RESV_WTDR4

Reserve for WTDR5
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RESV_WTDR5
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WTDR5
WO
0

0

Bit(s) Name

0

0

0

0

0

0

0

Description

© 2016 - 2017 MediaTek Inc.

Page 292 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 RESV_WTDR5

Description
RESV_WTDR5

00000048 WTDR6
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Reserve for WTDR6
28

27

26

23

00000000

22

21

20

19

18

17

16

WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WTDR6
WO
0

0

0

0

0

0

31

30

29

0

0

0

Description
RESV_WTDR6

0000004C WTDR7

Reserve for WTDR7
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RESV_WTDR7
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WTDR7
WO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WTDR7

31

30

29

0

0

0

Description
RESV_WTDR7

00000050 WRDR0
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

24

RESV_WTDR6

Bit(s) Name
31:0 RESV_WTDR6

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

25

WLAN RX Data Register 0
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RX0_DATA
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RX0_DATA
RO
0

0

Bit(s) Name

0

0

0

0

0

0

0

Description

© 2016 - 2017 MediaTek Inc.

Page 293 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
31:0 RX0_DATA

Description
RX0 read data port. Write has no effect.
The RX0 data port support data aggregation. Driver should read the
entire RX packets by last SDIO controller indicated information.
The number of total RX aggregation packets is restricted by WHCR.
MAX_HIF_RX_LEN_NUM.
(details is in chapter 3.1):
Length to read must be extended to multiples of block when the
data to read is more than the size of a single block. Reading data
with multiple blocks in one transaction and the remaining in
another with byte mode is prohibited.
Also as long as host driver knows the total available packet number
and length via enhanced interrupt response and/or RX packet
enhanced mode, host driver must read all RX packets in a single
transaction. Reading for partial packets is prohibited either.

00000054

WRDR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

WLAN RX Data Register 1
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RX1_DATA
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RX1_DATA
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RX1_DATA

0

0

0

Description
RX1 read data port. Write has no effect.
The RX1 data port support data aggregation. Driver should read the
entire RX packets by last SDIO controller indicated information.
The number of total RX aggregation packets is restricted by WHCR.
MAX_HIF_RX_LEN_NUM.
(details is in chapter 3.1):
Data length to read must be extended to multiples of block when
the data to read is more than the size of a single block. Reading data
with multiple blocks in one transaction and the remaining in
another with byte mode is prohibited.
Also as long as host driver knows the total available packet number
and length via enhanced interrupt response and/or RX packet
enhanced mode, host driver must read all RX packets in a single
transaction. Reading for partial packets is prohibited either.

00000058

WRDR2

Bit
Nam
e
Type
Rese
t

30

31

29

WLAN RX Data Register 2
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

RX2_DATA
RO
0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 294 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RX2_DATA
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RX2_DATA

0

0

0

Description
RX2 read data port. Write has no effect.
The RX2 data port support data aggregation. Driver should read the
entire RX packets by last SDIO controller indicated information.
The number of total RX aggregation packets is restricted by WHCR.
MAX_HIF_RX_LEN_NUM.
(details is in chapter 3.1):
Data length to read must be extended to multiples of block when
the data to read is more than the size of a single block. Reading data
with multiple blocks in one transaction and the remaining in
another with byte mode is prohibited.
Also as long as host driver knows the total available packet number
and length via enhanced interrupt response and/or RX packet
enhanced mode, host driver must read all RX packets in a single
transaction. Reading for partial packets is prohibited either.

0000005C WRDR3
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

WLAN RX Data Register 3
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RX3_DATA
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RX3_DATA
RO
0

0

Bit(s) Name
31:0 RX3_DATA

0

0

0

0

0

0

0

Description
RX3 read data port. Write has no effect.
The RX3 data port support data aggregation. Driver should read the
entire RX packets by last SDIO controller indicated information.
The number of total RX aggregation packets is restricted by WHCR.
MAX_HIF_RX_LEN_NUM.
(details is in chapter 3.1):
Data length to read must be extended to multiples of block when
the data to read is more than the size of a single block. Reading data
with multiple blocks in one transaction and the remaining in
another with byte mode is prohibited.
Also as long as host driver knows the total available packet number
and length via enhanced interrupt response and/or RX packet
enhanced mode, host driver must read all RX packets in a single
transaction. Reading for partial packets is prohibited either.

© 2016 - 2017 MediaTek Inc.

Page 295 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
00000060 WRDR4
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Reserve for WRDR4
28

27

26

24

23

00000000

22

21

20

19

18

17

16

RESV_WRDR4
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

22

21

20

19

18

17

16

RESV_WRDR4
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WRDR4

00000064

WRDR5

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

Description
RESV_WRDR4

Reserve for WRDR5
28

27

26

25

24

23

00000000

RESV_WRDR5
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WRDR5
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WRDR5

31

30

29

0

0

0

Description
RESV_WRDR5

00000068 WRDR6
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

25

Reserve for WRDR6
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

RESV_WRDR6
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WRDR6
RO
0

0

0

Bit(s) Name
31:0 RESV_WRDR6

0000006C WRDR7

0

0

0

0

0

0

Description
RESV_WRDR6

Reserve for WRDR7

© 2016 - 2017 MediaTek Inc.

00000000

Page 296 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

RESV_WRDR7
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WRDR7
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WRDR7

H2DSM0R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

0

0

Description
RESV_WRDR7

00000070
31

0

28

Host to Device Send Mailbox 0 Register
27

26

25

24

23

00000000

22

21

20

19

18

17

16

H2D_SM0
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

H2D_SM0
RW
0

0

0

0

0

0

Bit(s) Name
31:0 H2D_SM0

0

0

Description
This register is used by host driver to transmit data to
SDIO controller, which will be updated to H2DRM0R and
read by FW.

00000074

H2DSM1R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

Host to Device Send Mailbox 1 Register

28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

H2D_SM1
RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

H2D_SM1
RW
0

0

Bit(s) Name
31:0 H2D_SM1

0

0

0

0

0

0

0

Description
This register is used by host driver to transmit data to
SDIO controller, which will be updated to H2DRM1R and
read by FW.

© 2016 - 2017 MediaTek Inc.

Page 297 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
00000078

D2HRM0R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

28

Device to Host Receive Mailbox 0
Register
27

26

24

23

22

21

20

19

18

17

16

D2H_RM0
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

D2H_RM0
RO
0

0

0

0

0

0

Bit(s) Name
31:0 D2H_RM0

D2HRM1R

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
This register is used by host driver to receive data from
SDIO controller, which is updated through D2HSM0R by
FW.
The property of RO/ RC is by control of WHCR.
RECV_MAILBOX_RD_CLR_EN bit.

0000007C

29

Device to Host Receive Mailbox 1
Register

28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

D2H_RM1
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

D2H_RM1
RO
0

0

0

0

0

0

Bit(s) Name
31:0 D2H_RM1

31

30

0

0

0

Description
This register is used by host driver to receive data from
SDIO controller, which is updated through D2HSM1R by
FW.
The property of RO/ RC is by control of WHCR.
RECV_MAILBOX_RD_CLR_EN bit.

00000080 D2HRM2R
Bit
Nam
e
Type
Rese
t
Bit
Nam

25

00000000

29

28

Device to Host Receive Mailbox 2
Register
27

26

25

24

23

00000000

22

21

20

19

18

17

16

D2H_RM2
RO
0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

0

0

8

7

6

5

4

3

2

1

0

D2H_RM2

© 2016 - 2017 MediaTek Inc.

Page 298 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RO
0

0

0

0

0

0

Bit(s) Name
31:0 D2H_RM2

31

30

29

0

0

0

0

0

0

WLAN RX Packet Length Register
28

27

26

0

0

25

24

23

22

00000000

21

20

19

18

17

16

RX1_PACKET_LENGTH
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RX0_PACKET_LENGTH
RO
0

0

0

0

0

0

Bit(s) Name
31:16 RX1_PACKET_LENGTH

15:0

0

Description
This register is used by host driver to receive data from
SDIO controller, which is updated through D2HSM2R by
FW. For synchronization of hardware, it is recommended
to read this register more than once to give more host
clock cycles to device to get the latest result, especially for
EHPI interface.
Note that this register could be read when there is no AHB clock,
i.e. host driver could get this message when chip is in low power
mode.

00000090 WRPLR
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0

WRPLR1

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

0

0

0

Description
This register is used to get the next RX packet length in
the RX1 length FIFO, which is updated by FW HWRQ1CR.
When this field is read, it will report only 1 RX packet length in this
RX queue, and at most 1 packet will return by next RX port read.
This register is used to get the next RX packet length in
the RX0 length FIFO, which is updated by FW HWRQ0CR.
When this field is read, it will report only 1 RX packet length in this
RX queue, and at most 1 packet will return by next RX port read.

RX0_PACKET_LENGTH

00000094

0

WLAN RX Packet Length Register 1
28

27

26

25

24

23

22

00000000

21

20

19

18

17

16

RX3_PACKET_LENGTH
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

RX2_PACKET_LENGTH
RO
0

0

0

0

Bit(s) Name
31:16 RX3_PACKET_LENGTH

0

0

0

0

0

0

Description
This register is used to get the next RX packet length in

© 2016 - 2017 MediaTek Inc.

Page 299 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

15:0

Description
the RX3 length FIFO, which is updated by FW HWRQ3CR.
When this field is read, it will report only 1 RX packet length in this
RX queue, and at most 1 packet will return by next RX port read.
This register is used to get the next RX packet length in
the RX2 length FIFO, which is updated by FW HWRQ2CR.
When this field is read, it will report only 1 RX packet length in this
RX queue, and at most 1 packet will return by next RX port read.

RX2_PACKET_LENGTH

00000098 WRPLR2
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Reserve for WRPLR2
28

27

26

23

00000000

22

21

20

19

18

17

16

RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

22

21

20

19

18

17

16

RESV_WRPLR2
RO
0

0

0

0

0

0

31

30

29

0

0

0

Description
RESV_WRPLR2

0000009C WRPLR3

Reserve for WRPLR3
28

27

26

25

24

23

00000000

RESV_WRPLR3
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RESV_WRPLR3
RO
0

0

0

0

0

0

Bit(s) Name
31:0 RESV_WRPLR3

31

30

29

0

0

0

Description
RESV_WRPLR3

000000A0 EHTCR
Bit
Nam
e
Type
Rese
t
Bit
Nam

24

RESV_WRPLR2

Bit(s) Name
31:0 RESV_WRPLR2

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

25

EHPI transaction count register (EHPI
only)
28

27

26

25

24

23

22

00000004

21

20

19

18

17

16

EHPI_TRANS_CNT_REG
RW
0

0

0

0

0

0

15

14

13

12

11

10

0

0

0

0

0

0

0

0

0

0

9

8

7

6

5

4

3

2

1

0

EHPI_TRANS_CNT_REG

© 2016 - 2017 MediaTek Inc.

Page 300 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RW
0

0

0

0

0

0

Bit(s) Name
31:0 EHPI_TRANS_CNT_REG

31

30

29

0

0

0

0

27

26

25

24

23

22

21

Type

15

14

13

0

1

On Line-Tuning Control Register
28

Nam
e

Rese
t
Bit

0

12

Nam
e
Type
Rese
t

11

10

9

8
TR
AI
N_
EN
RW

7

6

0

Bit(s) Name
20
DAT3_OUT_OF_BOUND

19

DAT2_OUT_OF_BOUND

18

DAT1_OUT_OF_BOUND

0

0

Description
This register is used for SDIO controller to know the
transaction boundary of EHPI burst access. For normal
registers, it is limited to access them in 4B boundary. For
data port access (WTDR0, WTDR1, WRDR0 and WRDR1
etc.) and WHISR enhanced access, the length can be more
then 4B, Hence, host needs set it before it access these
register and SDIO controller would take this length as
transaction length. The transacation count should be set
with 4B alignment

000000AC WOLTCR
Bit

0

5

00000000

20
DA
T3
_O
UT
_O
F_
BO
UN
D
W1
C

19
DA
T2
_O
UT
_O
F_
BO
UN
D
W1
C

18

CM
D_
OU
T_
OF
_B
OU
ND

W1
C

17
DA
T0
_O
UT
_O
F_
BO
UN
D
W1
C

DA
T1_
OU
T_
OF
_B
OU
ND

0
4

16

0

0

0

0

3

2

1

0

0

0

W1
C

TRAIN_WINDOW
RW
0

0

0

0

Description
This field is to notice host driver that the train window of
data 3 is out of available delay gears.
The boundary of delay gears would be 0 and 31. If the applied
training window out of the bound then this field would be asserted.
Host driver can read these fields to know if any delay training is out
of boundary. Also, the host driver can write 1 to this field to clear
the status. This field is primary for no training window indication.
This field is to notice host driver that the train window of
data 2 is out of available delay gears.
The boundary of delay gears would be 0 and 31. If the applied
training window out of the bound then this field would be asserted.
Host driver can read these fields to know if any delay training is out
of boundary. Also, the host driver can write 1 to this field to clear
the status. This field is primary for no training window indication.
This field is to notice host driver that the train window of
data 1 is out of available delay gears.
The boundary of delay gears would be 0 and 31. If the applied
training window out of the bound then this field would be asserted.
Host driver can read these fields to know if any delay training is out
of boundary. Also, the host driver can write 1 to this field to clear

© 2016 - 2017 MediaTek Inc.

Page 301 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
17

DAT0_OUT_OF_BOUND

16

CMD_OUT_OF_BOUND

8

TRAIN_EN

5:0

Description
the status. This field is primary for no training window indication.
This field is to notice host driver that the train window of
data 0 is out of available delay gears.
The boundary of delay gears would be 0 and 31. If the applied
training window out of the bound then this field would be asserted.
Host driver can read these fields to know if any delay training is out
of boundary. Also, the host driver can write 1 to this field to clear
the status. This field is primary for no training window indication.
This field is to notice host driver that the train window of
command is out of available delay gears.
The boundary of delay gears would be 0 and 31. If the applied
training window out of the bound then this field would be asserted.
Host driver can read these fields to know if any delay training is out
of boundary. Also, the host driver can write 1 to this field to clear
the status. This field is primary for no training window indication.
Host driver can set this field to enable SDIO on-line
tuning function.
This field is about SDIO on-line tuning function implying that
hardware could automatically tune the delay training gear to know
the surrounding delay gears are safe or not.
Host driver can set this field to set the training window
size which decides how many gears would be involved.
This field is about SDIO on-line tuning function implying that
hardware could automatically tune the delay training gear for test.
The total delay gears for one data bus are 32. So the maximal
training window size would be 32. For example, if the current delay
gear is 15 and the train window is set to 5. When the on-line delay
training is enabled, the five-time training delay gears would be 13,
14, 15, 16, and 17.

TRAIN_WINDOW

000000B0 WTMDR
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Test Mode Data Port
28

27

26

23

22

00000000
21

20

19

18

17

16

RW
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

TEST_MODE_DATA_PORT
RW
0

0

0

0

0

0

31

30

29

0

0

0

0

Description
For Test Mode Read / Write.
According to the configuration of WTMCR[1:0]:
-64-bits configurable data register
-32-bits configurable data register
-PRBS

000000B4 WTMCR
Nam
e

24

TEST_MODE_DATA_PORT

Bit(s) Name
31:0 TEST_MODE_DATA_PORT

Bit

25

Test Mode Control Register
28

27

26

25

24
TE
ST
_M
OD

23

22

© 2016 - 2017 MediaTek Inc.

21

00080000
20

19

18

17

16

PRBS_INIT_VAL

Page 302 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Type
Rese
t
Bit

E_
FW
_O
WN
RO

15

14

13

12

11

10

9

Nam
e

Type
Rese
t

0

0

0

0

0

1

0

0

0

8
TE
ST
_M
OD
E_
ST
AT
US
RO

7

6

5

4

3

2

1

0

TEST_MO
DE_SELE
CT

RW

0

Bit(s) Name
24
TEST_MODE_FW_OWN

23:16
8

PRBS_INIT_VAL
TEST_MODE_STATUS

1:0

TEST_MODE_SELECT

31

30

29

28

0

0

Description
Indicate the ownership of Test Mode Control Register :
WTMCR,WTMDPCR0,WTMDPCR1
0: Host has the ownership
1: FirmWare has the ownership
Initial Value For PRBS Generator
To Record the compare result of latest Test Mode write , It
is read only for Host and Firmware.
0: Data compare of Test Mode write is Pass
1: Data compare of Test Mode write is Fail
Select the test mode data pattern
-64-bits configurable data register
(WTMDPCR0:WTMDPCR1)
-32-bits configurable data register
-PRBS
00: the 32bit data pattern
01: the 64bit data pattern
10: the PRBS data pattern
11: reserved

000000B8 WTMDPCR0
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

RW

Test Mode Data Pattern Control
Register 0
27

26

25

24

23

22

21

F0F0F0F0

20

19

18

17

16

TEST_MODE_DATA_PATTERN_0
RW
1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

0

0

0

0

TEST_MODE_DATA_PATTERN_0
RW
1

1

1

1

0

0

0

0

1

1

1

Bit(s) Name
Description
31:0 TEST_MODE_DATA_PATTERN_0 Data pattern for Test Mode read

© 2016 - 2017 MediaTek Inc.

Page 303 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
000000BC WTMDPCR1
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

Test Mode Data Pattern Control
Register 1
27

26

25

24

23

22

21

F0F0F0F0

20

19

18

17

16

TEST_MODE_DATA_PATTERN_1
RW
1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

0

0

0

0

TEST_MODE_DATA_PATTERN_1
RW
1

1

1

1

0

0

0

0

1

1

1

Bit(s) Name
Description
31:0 TEST_MODE_DATA_PATTERN_1 Data pattern for Test Mode write

000000C0 FWDLDR
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

Firmware Download Data Register
28

27

26

24

23

00000000

22

21

20

19

18

17

16

FWDL_DATA
WO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

FWDL_DATA
WO
0

0

0

0

0

0

Bit(s) Name
31:0 FWDL_DATA

31

30

29

0

0

0

Description
This register is used by host to send SDIO controller
TX_HEADER with firmware scatter to specified
destination address.
The first DW of the TX data is treated as HIF TX header, which
shares the same format with TX packet format. SDIO controller
would transmit these data to the destination address starting from
FWDLDSAR in turn. Host could aggregate multiple transmission
data packets in one transaction. Note that it is not allowed to cut
data packet in different transactions as normal TX case.
For firmware download, host could access this register without
driver own = 1, but be sure that system AHB clock for SDIO
controller, AHB bus and destination memory is on by using
FWDLCMR0 and FWDLCMR1 first.

000000C4 FWDLDSAR
Bit
Nam
e
Type
Rese

25

28

Firmware Download Destination
Starting Address Register
27

26

25

24

23

22

21

00000000

20

19

18

17

16

0

0

0

0

0

FWDL_DEST_STARTING_ADDR
RW
0

0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

0

Page 304 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

FWDL_DEST_STARTING_ADDR
RW
0

0

0

0

0

0

Bit(s) Name
31:0 FWDL_DEST_STARTING_ADDR

0

0

0

0

0

Description
This register is used by host to specify firmware download
destination starting address. Note that it should be 4Balign address.
Destination address is automatically increased after TX data has
been written to AHB, and could be read back by host software for
reference. It would be updated by per-packet based.
For firmware download, host could access this register without
driver own = 1, but be sure that system AHB clock for SDIO
controller, AHB bus and destination memory is on by using
FWDLCMR0 and FWDLCMR1 first.

000000C8 FWDLSR
Bit
Nam
e
Type
Rese
t
Bit

00000100

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

RO

0
FW
DL
_M
OD
E
RW

1

0

FW
DL
_R
DY

Nam
e
Type
Rese
t
Bit(s) Name
8
FWDL_RDY

0

Firmware Download Status Register

31

FWDL_MODE

Description
Host driver needs to check if this bit is 1 to set new
FWDLDSAR for firmware download of new segment.
Then it could write firmware content to SDIO controller.
0 : It is NOT ready to write firmware from host to SDIO controller.
1 : It is ready to write firmware from host to SDIO controller.
For firmware download, host could access this register
without driver own = 1, but be sure that system AHB clock
for SDIO controller, AHB bus and destination memory is
on by using FWDLCMR0 and FWDLCMR1 first. Then host
driver can turn on this bit to switch to firmware download
mode to execute firmware download. Note that the
normal TX/RX path can't work in this mode, host driver
have to turn off this mode after firmware download
procedure is done.
0 : Firmware download mode is disabled
1 : Firmware download mode is enabled

© 2016 - 2017 MediaTek Inc.

Page 305 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
000000CC FWDLCMR0
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

Firmware Download Customized
Register 0

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15
FW
DL
_C
MR
0_1
5
RO

14
FW
DL
_C
MR
0_1
4
RO

13
FW
DL
_C
MR
0_1
3
RO

12
FW
DL
_C
MR
0_1
2
RO

11
FW
DL
_C
MR
0_1
1
RO

10
FW
DL
_C
MR
0_1
0
RO

9
FW
DL
_C
MR
0_
9
RO

8
FW
DL
_C
MR
0_
8
RO

7

4
FW
DL
_C
MR
0_
4
RO

3
FW
DL
_C
MR
0_
3
RO

2
FW
DL
_C
MR
0_
2
RO

FW
DL
_C
MR
0_1

RO

5
FW
DL
_C
MR
0_
5
RO

1

FW
DL
_C
MR
0_7

6
FW
DL
_C
MR
0_
6
RO

RO

0
FW
DL
_C
MR
0_
0
RO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bit(s) Name
15
FWDL_CMR0_15

14

FWDL_CMR0_14

13

FWDL_CMR0_13

12

FWDL_CMR0_12

11

FWDL_CMR0_11

Description
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in

© 2016 - 2017 MediaTek Inc.

Page 306 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

10

FWDL_CMR0_10

9

FWDL_CMR0_9

8

FWDL_CMR0_8

7

FWDL_CMR0_7

6

FWDL_CMR0_6

5

FWDL_CMR0_5

Description
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and

© 2016 - 2017 MediaTek Inc.

Page 307 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

4

FWDL_CMR0_4

3

FWDL_CMR0_3

2

FWDL_CMR0_2

1

FWDL_CMR0_1

0

FWDL_CMR0_0

Description
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.

000000D0 FWDLCMR1
Bit

31

30

29

28

Firmware Download Customized
Register 1
27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

00000000
18

17

16

Page 308 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

15
FW
DL
_C
MR
1_1
5
RO

14
FW
DL
_C
MR
1_1
4
RO

13
FW
DL
_C
MR
1_1
3
RO

12
FW
DL
_C
MR
1_1
2
RO

11
FW
DL
_C
MR
1_1
1
RO

10
FW
DL
_C
MR
1_1
0
RO

9

8

7

6

5

4

3

2

1

0

FW
DL
_C
MR
1_9

FW
DL
_C
MR
1_8

FW
DL
_C
MR
1_7

FW
DL
_C
MR
1_6

FW
DL
_C
MR
1_5

FW
DL
_C
MR
1_4

FW
DL
_C
MR
1_3

FW
DL
_C
MR
1_2

FW
DL
_C
MR
1_1

FW
DL
_C
MR
1_0

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Bit(s) Name
15
FWDL_CMR1_15

14

FWDL_CMR1_14

13

FWDL_CMR1_13

12

FWDL_CMR1_12

11

FWDL_CMR1_11

Description
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock

© 2016 - 2017 MediaTek Inc.

Page 309 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

10

FWDL_CMR1_10

9

FWDL_CMR1_9

8

FWDL_CMR1_8

7

FWDL_CMR1_7

6

FWDL_CMR1_6

5

FWDL_CMR1_5

Description
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits

© 2016 - 2017 MediaTek Inc.

Page 310 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
4

FWDL_CMR1_4

3

FWDL_CMR1_3

2

FWDL_CMR1_2

1

FWDL_CMR1_1

0

FWDL_CMR1_0

Description
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.
Function of this register is user-defined and is used in
firmware download stage.
When there no system AHB clock after power-on and host driver
has not got driver own. It could set this register to notice HW and
could also read this register from HW.
For example, host driver could set some register to request clock
controller to turn on AHB clock of system bus and memory storage.
And it could be read if the platform state is in sleep state, firmware
download state or fully operation state. The meaning of these bits
are all defined by customer, it is transparent to SDIO controller.

000000D4 WPLRCR
Bit
Nam
e
Type
Rese
t

31

30

29

0

WLAN Packet Length Report Control
Register
28

27

26

25

24

23

22

21

20

19

00000000
18

17

RX3_RPT_PKT_LEN

RX2_RPT_PKT_LEN

RW

RW

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

0

0

0

0

0

16

0

Page 311 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Nam
e
Type
Rese
t

15

14

13

0

12

11

10

9

8

7

6

5

4

3

2

1

RX1_RPT_PKT_LEN

RX0_RPT_PKT_LEN

RW

RW

0

Bit(s) Name
29:24 RX3_RPT_PKT_LEN

21:16

RX2_RPT_PKT_LEN

13:8

RX1_RPT_PKT_LEN

5:0

RX0_RPT_PKT_LEN

0

0

0

0

0

0

0

0

0

0

0

Description
If the RPT_OWN_RX_PACKET_LEN bit in WHCR is set,
host driver can set this field to decide the maximal report
length for RX queue 3 during enhance mode.
If under the define of SDCTL_RX3_PACKET_LEN_64,
The default value 0 is to report maximal packet number 64. Host
driver can set the required length from 0 to 63.
If under the define of SDCTL_RX3_PACKET_LEN_32,
The default value 0 is to report maximal packet number 32. Host
driver can set the required length from 0 to 31.
If under the define of SDCTL_RX3_PACKET_LEN_16,
The default value 0 is to report maximal packet number 16. Host
driver can set the required length from 0 to 15.
It is not allowed to set this field with the value larger than the
maximal packet number.
If the RPT_OWN_RX_PACKET_LEN bit in WHCR is set,
host driver can set this field to decide the maximal report
length for RX queue 2 during enhance mode.
If under the define of SDCTL_RX2_PACKET_LEN_64,
The default value 0 is to report maximal packet number 64.
Host driver can set the required length from 0 to 63.
If under the define of SDCTL_RX2_PACKET_LEN_32,
The default value 0 is to report maximal packet number 32. Host
driver can set the required length from 0 to 31.
If under the define of SDCTL_RX2_PACKET_LEN_16,
The default value 0 is to report maximal packet number 16. Host
driver can set the required length from 0 to 15.
It is not allowed to set this field with the value larger than the
maximal packet number.
If the RPT_OWN_RX_PACKET_LEN bit in WHCR is set,
host driver can set this field to decide the maximal report
length for RX queue 1 during enhance mode.
If under the define of SDCTL_RXD_PACKET_LEN_64,
The default value 0 is to report maximal packet number 64.
Host driver can set the required length from 0 to 63.
If under the define of SDCTL_RXD_PACKET_LEN_32,
The default value 0 is to report maximal packet number 32. Host
driver can set the required length from 0 to 31.
If under the define of SDCTL_RXD_PACKET_LEN_16,
The default value 0 is to report maximal packet number 16. Host
driver can set the required length from 0 to 15.
It is not allowed to set this field with the value larger than the
maximal packet number.
If the RPT_OWN_RX_PACKET_LEN bit in WHCR is set,
host driver can set this field to decide the maximal report
length for RX queue 0 during enhance mode.
If under the define of SDCTL_RXE_PACKET_LEN_64,
The default value 0 is to report maximal packet number 64.
Host driver can set the required length from 0 to 63.
If under the define of SDCTL_RXE_PACKET_LEN_32,
The default value 0 is to report maximal packet number 32. Host
driver can set the required length from 0 to 31.
If under the define of SDCTL_RXE_PACKET_LEN_16,
The default value 0 is to report maximal packet number 16. Host
driver can set the required length from 0 to 15.
It is not allowed to set this field with the value larger than the

© 2016 - 2017 MediaTek Inc.

Page 312 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description
maximal packet number.

000000D8 WSR
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

WLAN Snapshot Register
29

28

27

26

23

00000000

22

21

20

19

18

17

16

RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

SNAPSHOT
RO
0

0

0

0

0

0

31

30

0

0

0

Description
A 32-bits register which could copy the content of AHB
clock domain register being read.
For register with RC property, If there is CRC Error during the read
access, host driver shall keep reading this snapshot register until
there is no CRC error to avoid information loss. SW should not go
to read other register first, it is atomic operation.
For register without RC property, If there is CRC Error during the
read access, host could just read the original register again.
Value in this register is undefined if previous read is reading
register without RC property.

000000F8 VSCR
29

Version Control Register
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

HW_VERSION
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

HW_VERSION
RO
0

0

0

0

0

0

Bit(s) Name
31:0 HW_VERSION

31

30

29

0

0

0

Description
Indicating the HW version

000000FC WSDIOAICR
Bit
Nam
e
Type
Rese

24

SNAPSHOT

Bit(s) Name
31:0 SNAPSHOT

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

25

28

Common SDIO Asynchronous
Interrupt Control Register
27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

00000004
19

18

17

16

Page 313 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SYNC_INT_CYCLE_N
UM
RW
0

Bit(s) Name
3:0
SYNC_INT_CYCLE_NUM

CLKIOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

15

29

14

28

Clock Pad Macro IO Control Register

27

26

25

24

23

22

0

0

13

12

11

10

9

8

7

6

CLK_E8E4E2
RW
1

CLK_TDSEL

10:8
5

CLK_E8E4E2
CLK_SMT

4

CLK_PUPD

3
2
1

CLK_R1
CLK_R0
CLK_IES

19

18

17

RW
0

19:16

20

RW
0

Bit(s) Name
29:24 CLK_RDSEL

21

CLK_TDSEL

0

Type
Rese
t

0

000A0422

CLK_RDSEL

0

Nam
e

0

Description
Control the sync. interrupt cycles before the
asynchronous interrrupt period. (4 cycle in default
defined in SDIO spec. 3.0) This is for some specific host
that could stop the SD clock before the defined
asynchronous interrupt period

00000100
31

1

0

0

16

1

0

1

0

3

2

1

0

5
CL
K_
SM
T
RW

4
CL
K_
PU
PD
RW

CL
K_
R1

CL
K_
R0

CL
K_I
ES

CL
K_
SR

RW

RW

RW

RW

1

0

0

0

1

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
TX Driving Strength Control.
RX input buffer schmit trigger hysteresis control enable.
High asserted.
SMT=1, Schmit Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
CLK pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
According to IOCUP spec.

© 2016 - 2017 MediaTek Inc.

Page 314 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
0

Description
Power down mode, IES=0 must
Quiescent mode, IES=0 suggested
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

CLK_SR

00000104

CMDIOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

28

CMD_PUPD

3
2
1

CMD_R1
CMD_R0
CMD_IES

0

CMD_SR

20

19

18

17

RW

13

12
RE
G_
CM
D_
SA
MP
LE
RW

11

10

9

8

CMD_E8E4E2
CMD_SMT

21

RW
0

REG_CMD_SAMPLE

22

CMD_TDSEL

0

CMD_TDSEL

23

000A0422

CMD_RDSEL

0

0

4

24

0

Bit(s) Name
29:24 CMD_RDSEL

10:8
5

25

0

Type
Rese
t

12

26

0

Nam
e

19:16

27

Command Pad Macro IO Control
Register

0

1

0

4

3

2

1

0

CMD_E8E4E2

CM
D_
SM
T

CM
D_
PU
PD

CM
D_
R1

CM
D_
R0

CM
D_
IES

CM
D_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

6

1
5

1

7

16

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive sd clock edge to latch input command
1: Use negative sd clock edge to latch input command
TX Driving Strength Control.
RX input buffer schmit trigger hysteresis control enable.
High asserted.
SMT=1, Schmit Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
CMD pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

© 2016 - 2017 MediaTek Inc.

Page 315 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

Description

00000108

DAT0IOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

28

Data 0 Pad Macro IO Control Register

27

26

0

0

13

12
RE
G_
DA
TA
0_
SA
MP
LE
RW

11

10

9

8

0

DATA0_SR

0000010C
Bit

31

29

28

0

1

0
0

DATA0_E8E4E2

DA
TA
0_
SM
T

DA
TA
0_
PU
PD

DA
TA
0_
R1

DA
TA
0_
R0

DA
TA
0_I
ES

DA
TA
0_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

6

1

1

1

7

16

2

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 0
1: Use negative SD clock edge to latch input data 0
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control
enabled. High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 0 pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

DAT1IOCR_T28LP
30

17

3

DATA0_E8E4E2
DATA0_SMT

0

000A0422
18

4

REG_DATA0_SAMPLE

DATA0_R1
DATA0_R0
DATA0_IES

19

5

DATA0_TDSEL

3
2
1

20

RW
0

DATA0_PUPD

21

RW
0

4

22

DATA0_TDSEL

Bit(s) Name
29:24 DATA0_RDSEL

10:8
5

23

DATA0_RDSEL

0

Type
Rese
t

12

24

0

Nam
e

19:16

25

27

Data 1 Pad Macro IO Control Register
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

000A0422
18

17

16

Page 316 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t
Bit

15

14

DATA1_RDSEL

DATA1_TDSEL

RW

RW

0

0

0

0

0

0

13

12
RE
G_
DA
TA1
_S
AM
PL
E
RW

11

10

9

8

Nam
e

Type
Rese
t

12
10:8
5

2

1

0

DATA1_E8E4E2

DA
TA1
_S
MT

DA
TA1
_P
UP
D

DA
TA1
_R
1

DA
TA1
_R
0

DA
TA1
_IE
S

DA
TA1
_S
R

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

REG_DATA1_SAMPLE
DATA1_E8E4E2
DATA1_SMT
DATA1_PUPD

3
2
1

DATA1_R1
DATA1_R0
DATA1_IES

0

DATA1_SR

00000110

DAT2IOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

29

28

0

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 1
1: Use negative SD clock edge to latch input data 1
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 1 pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

DATA1_TDSEL

4

0

3

Bit(s) Name
29:24 DATA1_RDSEL

19:16

1

4

1

6

0

5

0

7

1

27

Data 2 Pad Macro IO Control Register
26

25

24

23

22

21

20

19

000A0422
18

17

DATA2_RDSEL

DATA2_TDSEL

RW

RW

0

0

0

0

0

0

13

12

11

10

9

8

7

6

© 2016 - 2017 MediaTek Inc.

5

4

16

1

0

1

0

3

2

1

0

Page 317 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
RE
G_
DA
TA
2_
SA
MP
LE
RW

Nam
e

Type
Rese
t

DATA2_E8E4E2

DA
TA
2_
SM
T

DA
TA
2_
PU
PD

DA
TA
2_
R1

DA
TA
2_
R0

DA
TA
2_I
ES

DA
TA
2_
SR

RW

RW

RW

RW

RW

RW

RW

1

0

0

0

1

0

0

1

Bit(s) Name
29:24 DATA2_RDSEL

19:16

12
10:8
5

REG_DATA2_SAMPLE
DATA2_E8E4E2
DATA2_SMT
DATA2_PUPD

3
2
1

DATA2_R1
DATA2_R0
DATA2_IES

0

DATA2_SR

00000114

DAT3IOCR_T28LP

Bit
Nam
e
Type
Rese
t
Bit

30

Nam
e

31

15

14

29

28

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 2
1: Use negative SD clock edge to latch input data 2
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 2 pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

DATA2_TDSEL

4

0

Data 3 Pad Macro IO Control Register

27

26

25

24

23

22

21

20

19

000A042A
18

17

DATA3_RDSEL

DATA3_TDSEL

RW

RW

0

0

0

0

0

0

13

12
RE
G_
DA
TA
3_
SA
MP
LE

11

10

9

8

7

6

DATA3_E8E4E2

© 2016 - 2017 MediaTek Inc.

16

1

0

1

0

5

4

3

2

1

0

DA
TA
3_
SM
T

DA
TA
3_
PU
PD

DA
TA
3_
R1

DA
TA
3_
R0

DA
TA
3_I
ES

DA
TA
3_
SR

Page 318 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t

RW

RW

0

1

Bit(s) Name
29:24 DATA3_RDSEL

19:16

12
10:8
5

REG_DATA3_SAMPLE
DATA3_E8E4E2
DATA3_SMT
DATA3_PUPD

3
2
1

DATA3_R1
DATA3_R0
DATA3_IES

0

DATA3_SR

0

RW

RW

RW

RW

RW

1

0

1

0

1

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted(low pulse
width adjustment)
Select clock edge to latch input bus signal.
0: Use positive SD clock edge to latch input data 3
1: Use negative SD clock edge to latch input data 3
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
DATA 3 pad default would pull up with 50K resistor. (for card
detection)
After host driver writes cd_disable to CCCR register, data 3 pad
would become no pull.
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

DATA3_TDSEL

4

0

RW

00000118

CLKDLYCR

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7
RE
G_
CK
_D
LY
_E
N
RW

6

5

4

3

2

1

0

Nam
e
Type
Rese
t

Clock Pad Macro Delay Chain Control
Register

0

© 2016 - 2017 MediaTek Inc.

00000000

CLK_DLY_SEL

RW
0

0

0

0

0

Page 319 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
7
REG_CK_DLY_EN
4:0

CLK_DLY_SEL

0000011C
Bit

Description
Enable input clock through delay chain.
0: Input clock does not pass through delay chain.
1: Input clock pass through delay chain.
CLK Pad Input Delay Control
This register is used to add delay to CLK phase.
Total 32 stages

31

CMDDLYCR
30

29

Command Pad Macro Delay Chain
Control Register

28

27

26

25

24

Nam
e

Type
Rese
t

15
RE
G_
CM
D_
NE
G_I
_D
LY
_E
N
RW

14

13

12

11

20:16
15

12:8

7

10

9

8

CMD_NEG_I_DLY

RW

0

0

0

Bit(s) Name
23
REG_CMD_O_DLY_EN

22

RW

22
RE
G_
CM
D_
OE
_D
LY
_E
N
RW

0

0

7
RE
G_
CM
D_
PO
S_I
_D
LY
_E
N
RW

6

RE
G_
CM
D_
O_
DL
Y_
EN

Nam
e

Type
Rese
t
Bit

23

REG_CMD_OE_DLY_EN

CMD_O_DLY
REG_CMD_NEG_I_DLY_EN

CMD_NEG_I_DLY

REG_CMD_POS_I_DLY_EN

0

0

0

0

21

20

19

00000000
18

17

16

CMD_O_DLY

RW

5

0

0

0

0

0

4

3

2

1

0

CMD_POS_I_DLY

RW
0

0

0

0

0

Description
Enable output response through delay chain. (to I of
IOCUP)
0: Output response does not pass through delay chain.
1: Output response pass through delay chain.
Enable response output enable through delay chain. (to E
of IOCUP)
0: Response output enable does not pass through delay chain.
1: Response output enable pass through delay chain.
CMD Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable input command through delay chain to be latched
with negative clock edge.
0: Input command does not pass through delay chain.
1: Input command pass through delay chain.
CMD Pad Input Delay Control for data latch with negative
clock edge.
This register is used to add delay to input command phase.
Total 32 stages
Enable input command through delay chain to be latched
with positive clock edge.

© 2016 - 2017 MediaTek Inc.

Page 320 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
4:0

CMD_POS_I_DLY

00000120
Bit

Nam
e

Type
Rese
t
Bit

Nam
e

Type
Rese
t

Description
0: Input command does not pass through delay chain.
1: Input command pass through delay chain.
CMD Pad Input Delay Control for data latch with positive
clock edge.
This register is used to add delay to input command phase.
Total 32 stages

ODATDLYCR

31
RE
G_
DA
T3
_O
_D
LY
_E
N
RW

30
RE
G_
DA
T3
_O
E_
DL
Y_
EN
RW

0

0

15

RW

14
RE
G_
DA
T1_
OE
_D
LY
_E
N
RW

0

0

RE
G_
DA
T1_
O_
DL
Y_
EN

29

28

SDIO Output Data Delay Chain Control
Register
27

24

RW

13

23
RE
G_
DA
T2
_O
_D
LY
_E
N
RW

22
RE
G_
DA
T2
_O
E_
DL
Y_
EN
RW

0

0

0

0

0

0

0

12

11

10

9

8

7
RE
G_
DA
T0
_O
_D
LY
_E
N
RW

6
RE
G_
DA
T0
_O
E_
DL
Y_
EN
RW

0

0

DAT1_O_DLY

RW
0

0

REG_DAT3_OE_DLY_EN

28:24 DAT3_O_DLY
23

REG_DAT2_O_DLY_EN

22

REG_DAT2_OE_DLY_EN

20:16

25

DAT3_O_DLY

Bit(s) Name
31
REG_DAT3_O_DLY_EN
30

26

DAT2_O_DLY

15

REG_DAT1_O_DLY_EN

14

REG_DAT1_OE_DLY_EN

0

0

0

21

20

19

00000000

18

17

16

DAT2_O_DLY

RW

5

0

0

0

0

0

4

3

2

1

0

DAT0_O_DLY

RW
0

0

0

0

0

Description
Enable output data 3 through delay chain. (to I of IOCUP)
0: Output data 3 does not pass through delay chain.
1: Output data 3 pass through delay chain.
Enable data 3 output enable through delay chain. (to E of
IOCUP)
0: Data 3 output enable does not pass through delay chain.
1: Data 3 output enable pass through delay chain.
DATA 3 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable output data 2 through delay chain. (to I of IOCUP)
0: Output data 2 does not pass through delay chain.
1: Output data 2 pass through delay chain.
Enable data 2 output enable through delay chain. (to E of
IOCUP)
0: Data 2 output enable does not pass through delay chain.
1: Data 2 output enable pass through delay chain.
DATA 2 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable output data 1 through delay chain. (to I of IOCUP)
0: Output data 1 does not pass through delay chain.
1: Output data 1 pass through delay chain.
Enable data 1 output enable through delay chain. (to E of

© 2016 - 2017 MediaTek Inc.

Page 321 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

12:8

DAT1_O_DLY

7

REG_DAT0_O_DLY_EN

6

REG_DAT0_OE_DLY_EN

4:0

DAT0_O_DLY

00000124
Bit

Nam
e

Type
Rese
t
Bit

Nam
e

Type
Rese
t

31
RE
G_
DA
T3
_P
OS
_I_
DL
Y_
EN
RW

IDATDLYCR1
30

29

28

27

26

25

24

DAT3_POS_I_DLY

RW

0
15
RE
G_
DA
T1_
PO
S_I
_D
LY
_E
N
RW

SDIO Input Data Delay Chain Control
Register 1

14

13

0

0

0

0

0

12

11

10

9

8

7
RE
G_
DA
T0
_P
OS
_I_
DL
Y_
EN
RW

DAT1_POS_I_DLY

RW

0

23
RE
G_
DA
T2
_P
OS
_I_
DL
Y_
EN
RW

0

0

0

Bit(s) Name
31
REG_DAT3_POS_I_DLY_EN

28:24 DAT3_POS_I_DLY

23

Description
IOCUP)
0: Data 1 output enable does not pass through delay chain.
1: Data 1 output enable pass through delay chain.
DATA 1 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages
Enable output data 0 through delay chain. (to I of IOCUP)
0: Output data 0 does not pass through delay chain.
1: Output data 0 pass through delay chain.
Enable data 0 output enable through delay chain. (to E of
IOCUP)
0: Data 0 output enable does not pass through delay chain.
1: Data 0 output enable pass through delay chain.
DATA 0 Pad Output Delay Control
This register is used to add delay to output response phase.
Total 32 stages

REG_DAT2_POS_I_DLY_EN

0

0

0

22

21

20

19

00000000
18

17

16

DAT2_POS_I_DLY

RW

6

0

5

0

0

0

0

0

4

3

2

1

0

DAT0_POS_I_DLY

RW
0

0

0

0

0

Description
Enable input data 3 through delay chain to be latched with
positive clock edge.
0: Input data 3 does not pass through delay chain.
1: Input data 3 pass through delay chain.
DATA 3 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 3 phase.
Total 32 stages
Enable input data 2 through delay chain to be latched with
positive clock edge.
0: Input data 2 does not pass through delay chain.
1: Input data 2 pass through delay chain.

© 2016 - 2017 MediaTek Inc.

Page 322 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
20:16 DAT2_POS_I_DLY

15

12:8

7

4:0

REG_DAT1_POS_I_DLY_EN

DAT1_POS_I_DLY

REG_DAT0_POS_I_DLY_EN

DAT0_POS_I_DLY

00000128
Bit

Nam
e

Type
Rese
t
Bit

Nam
e

Type
Rese
t

Description
DATA 2 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 2 phase.
Total 32 stages
Enable input data 1 through delay chain to be latched with
positive clock edge.
0: Input data 1 does not pass through delay chain.
1: Input data 1 pass through delay chain.
DATA 1 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 1 phase.
Total 32 stages
Enable input data 0 through delay chain to be latched with
positive clock edge.
0: Input data 0 does not pass through delay chain.
1: Input data 0 pass through delay chain.
DATA 0 Pad Input Delay Control for data latch with
positive clock edge.
This register is used to add delay to input data 0 phase.
Total 32 stages

31
RE
G_
DA
T3
_N
EG
_I_
DL
Y_
EN
RW

IDATDLYCR2
30

29

0

27

26

25

24

DAT3_NEG_I_DLY

RW

0
15
RE
G_
DA
T1_
NE
G_I
_D
LY
_E
N
RW

28

SDIO Input Data Delay Chain Control
Register 2

14

13

23
RE
G_
DA
T2
_N
EG
_I_
DL
Y_
EN
RW

0

0

0

0

0

0

12

11

10

9

8

7
RE
G_
DA
T0
_N
EG
_I_
DL
Y_
EN
RW

DAT1_NEG_I_DLY

RW
0

0

Bit(s) Name
31
REG_DAT3_NEG_I_DLY_EN

28:24 DAT3_NEG_I_DLY

0

0

0

22

21

20

19

00000000
18

17

16

DAT2_NEG_I_DLY

RW

6

0

5

0

0

0

0

0

4

3

2

1

0

DAT0_NEG_I_DLY

RW
0

0

0

0

0

Description
Enable input data 3 through delay chain to be latched with
negative clock edge.
0: Input data 3 does not pass through delay chain.
1: Input data 3 pass through delay chain.
DATA 3 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 3 phase.
Total 32 stages

© 2016 - 2017 MediaTek Inc.

Page 323 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
23
REG_DAT2_NEG_I_DLY_EN

20:16

15

12:8

7

4:0

DAT2_NEG_I_DLY

REG_DAT1_NEG_I_DLY_EN

DAT1_NEG_I_DLY

REG_DAT0_NEG_I_DLY_EN

DAT0_NEG_I_DLY

0000012C
Bit

Description
Enable input data 2 through delay chain to be latched with
negative clock edge.
0: Input data 2 does not pass through delay chain.
1: Input data 2 pass through delay chain.
DATA 2 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 2 phase.
Total 32 stages
Enable input data 1 through delay chain to be latched with
negative clock edge.
0: Input data 1 does not pass through delay chain.
1: Input data 1 pass through delay chain.
DATA 1 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 1 phase.
Total 32 stages
Enable input data 0 through delay chain to be latched with
negative clock edge.
0: Input data 0 does not pass through delay chain.
1: Input data 0 pass through delay chain.
DATA 0 Pad Input Delay Control for data latch with
negative clock edge.
This register is used to add delay to input data 0 phase.
Total 32 stages

31

ILCHCR
30

29

SDIO Input Data Latch Time Control
Register
28

27

26

25

24

23

22

21

20

19

00011111
18

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

17
16
REG_CM
D_LATCH
_SEL
RW
0

15

14

13
12
REG_DA
T3_LATC
H_SEL
RW
0

1

Bit(s) Name
17:16 REG_CMD_LATCH_SEL

13:12

REG_DAT3_LATCH_SEL

9:8

REG_DAT2_LATCH_SEL

11

10

9
8
REG_DA
T2_LATC
H_SEL
RW
0

7

6

1

5
4
REG_DA
T1_LATC
H_SEL
RW
0

3

2

1

1
0
REG_DA
T0__LAT
CH_SEL
RW

1

0

1

Description
Control the input command latch timing depending on
SDIO output enable signal to avoid latching device output
data as host transferred data in UHS104 mode.
2'b00: latch input command after 1T of output enable asserted
2'b01: latch input command after 2T of output enable asserted
2'b10: latch input command after 3T of output enable asserted
2'b11: latch input command after 4T of output enable asserted
Control the input data 3 latch timing depending on SDIO
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 3 after 1T of output enable asserted
2'b01: latch input data 3 after 2T of output enable asserted
2'b10: latch input data 3 after 3T of output enable asserted
2'b11: latch input data 3 after 4T of output enable asserted
Control the input data 2 latch timing depending on SDIO

© 2016 - 2017 MediaTek Inc.

Page 324 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name

5:4

REG_DAT1_LATCH_SEL

1:0

REG_DAT0__LATCH_SEL

00000130

WTQCR0

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

Description
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 2 after 1T of output enable asserted
2'b01: latch input data 2 after 2T of output enable asserted
2'b10: latch input data 2 after 3T of output enable asserted
2'b11: latch input data 2 after 4T of output enable asserted
Control the input data 1 latch timing depending on SDIO
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 1 after 1T of output enable asserted
2'b01: latch input data 1 after 2T of output enable asserted
2'b10: latch input data 1 after 3T of output enable asserted
2'b11: latch input data 1 after 4T of output enable asserted
Control the input data 0 latch timing depending on SDIO
output enable signal to avoid latching device output data
as host transferred data in UHS104 mode.
2'b00: latch input data 0 after 1T of output enable asserted
2'b01: latch input data 0 after 2T of output enable asserted
2'b10: latch input data 0 after 3T of output enable asserted
2'b11: latch input data 0 after 4T of output enable asserted

WLAN TXQ Count Register 0
28

27

26

24

23

00000000

22

21

20

19

18

17

16

TXQ1_CNT
RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ0_CNT
RC
0

0

0

0

0

0

Bit(s) Name
31:16 TXQ1_CNT

15:0

25

0

0

Description
This field indicates the released count of TXQ1 during two
WTQCR0 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ0 during two
WTQCR0 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

TXQ0_CNT

00000134

WTQCR1

Bit
Nam
e
Type
Rese
t
Bit
Nam

30

31

0

29

WLAN TXQ Count Register 1
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

TXQ3_CNT
RC
0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

0

0

8

7

6

5

4

3

2

1

0

TXQ2_CNT

© 2016 - 2017 MediaTek Inc.

Page 325 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RC
0

0

0

0

0

0

Bit(s) Name
31:16 TXQ3_CNT

15:0

00000138

WTQCR2

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

29

0

0

0

0

0

0

WLAN TXQ Count Register 2
28

27

26

0

0

25

24

23

00000000

22

21

20

19

18

17

16

TXQ5_CNT
RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ4_CNT
RC
0

0

0

0

0

0

Bit(s) Name
31:16 TXQ5_CNT

15:0

0

Description
This field indicates the released count of TXQ3 during two
WTQCR1 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ2 during two
WTQCR1 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

TXQ2_CNT

31

0

0

0

Description
This field indicates the released count of TXQ5 during two
WTQCR2 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ4 during two
WTQCR2 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

TXQ4_CNT

0000013C

WTQCR3

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

29

WLAN TXQ Count Register 3
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

TXQ7_CNT
RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ6_CNT
RC
0

0

Bit(s) Name
31:16 TXQ7_CNT

0

0

0

0

0

0

0

Description
This field indicates the released count of TXQ7 during two
WTQCR3 read access. The unit can be defined by the

© 2016 - 2017 MediaTek Inc.

Page 326 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
15:0

Description
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ6 during two
WTQCR3 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

TXQ6_CNT

00000140

WTQCR4

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

WLAN TXQ Count Register 4
28

27

26

23

00000000

22

21

20

19

18

17

16

RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ8_CNT
RC
0

0

0

0

0

0

TXQ8_CNT

WTQCR5

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
This field indicates the released count of TXQ9 during two
WTQCR4 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ8 during two
WTQCR4 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

00000144

29

WLAN TXQ Count Register 5
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

TXQ11_CNT
RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ10_CNT
RC
0

0

Bit(s) Name
31:16 TXQ11_CNT

15:0

24

TXQ9_CNT

Bit(s) Name
31:16 TXQ9_CNT

15:0

25

TXQ10_CNT

0

0

0

0

0

0

0

Description
This field indicates the released count of TXQ11 during
two WTQCR5 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ10 during
two WTQCR5 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

© 2016 - 2017 MediaTek Inc.

Page 327 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
00000148

WTQCR6

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

29

WLAN TXQ Count Register 6
28

27

26

23

00000000

22

21

20

19

18

17

16

RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ12_CNT
RC
0

0

0

0

0

0

TXQ12_CNT

WTQCR7

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

30

31

0

0

0

Description
This field indicates the released count of TXQ13 during
two WTQCR6 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ12 during
two WTQCR6 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

0000014C

29

WLAN TXQ Count Register 7
28

27

26

25

24

23

00000000

22

21

20

19

18

17

16

TXQ15_CNT
RC
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

TXQ14_CNT
RC
0

0

0

0

0

0

Bit(s) Name
31:16 TXQ15_CNT

15:0

24

TXQ13_CNT

Bit(s) Name
31:16 TXQ13_CNT

15:0

25

0

0

Description
This field indicates the released count of TXQ15 during
two WTQCR7 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.
This field indicates the released count of TXQ14 during
two WTQCR7 read access. The unit can be defined by the
driver.
This field is cleared by read operation. Write has no meaning.

TXQ14_CNT

00000154

SWPCDBGR

Bit
Nam
e
Type
Rese

30

31

0

29

28

WLAN PC Value debug register
27

26

25

24

23

22

00000000

21

20

19

18

17

16

0

0

0

0

0

0

CPU_PC_VALUE
RO
0

0

0

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

Page 328 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
t
Bit
Nam
e
Type
Rese
t

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

CPU_PC_VALUE
RO
0

0

0

0

0

0

Bit(s) Name
31:0 CPU_PC_VALUE

00000158

DSIOCR

Bit
Nam
e
Type
Rese
t
Bit

30

31

15

14

Nam
e
Type
Rese
t

29

19:16

DS_TDSEL

10:8
5

DS_E8E4E2
DS_SMT

4

DS_PUPD

3
2

DS_R1
DS_R0

0

0

Description
This field indicates which command the CPU is running
and is read out by host software to debug what is wrong in
the slave CPU
This register is read only and can only be read out by one command
53, because the whole 32bits makes a valid CPU status and its
content may be updated every AHB clock
When reading this register SDIO AHB clock must exist and it does
not need driver own right

DS Pad Macro IO Control Register
28

27

26

25

24

23

22

21

20

19

000A0422
18

17

DS_RDSEL

DS_TDSEL

RW

RW

0

0

0

0

0

0

13

12

11

10

9

8

DS_E8E4E2

DS
_S
MT

RW

RW

4
DS
_P
UP
D
RW

1

0

1

Bit(s) Name
29:24 DS_RDSEL

0

0

7

6

0

5

16

1

0

1

0

3

2

1

0

DS
_R
1

DS
_R
0

DS
_IE
S

DS
_S
R

RW

RW

RW

RW

0

0

1

0

Description
RX duty select
RDSEL[1:0]: Input buffer duty high when asserted (high pulse
width adjustment)
RDSEL[3:2]: Input buffer duty low when asserted(low pulse width
adjustment)
RDSEL[5:4]: Level shifter duty high when asserted (high pulse
width adjustment)
RDSEL[7:6]: Level shifter duty low when asserted (low pulse width
adjustment)
TX duty select
TDSEL[1:0]: Output level shifter duty high when asserted (high
pulse width adjustment)
TDSEL[3:2]: Output level shifter duty low when asserted (low pulse
width adjustment)
TX Driving Strength Control.
RX input buffer Schmitt trigger hysteresis control enable.
High asserted.
SMT=1, Schmitt Trigger enable
Pull-up / pull-down selection.
0: pull-up resistor
1: pull-down resistor
CLK pad default no pull
Select 50K resistor (0: not select, 1: select)
Select 10K resistor (0: not select, 1: select)

© 2016 - 2017 MediaTek Inc.

Page 329 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Name
1
DS_IES
0

DS_SR

Description
RX input buffer enable. High asserted.
Datapath: from IO to O. IES=0, O=0
Output Slew Rate Control. High asserted.
SR=1, slower slew.
SR=0, no slew rate controlled.

© 2016 - 2017 MediaTek Inc.

Page 330 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

14. General Purpose Timer
14.1.

Overview

The general purpose timer (GPT) includes five 32-bit timers and one 64-bit timer. Each timer has four operation
modes, ONE-SHOT, REPEAT, freerun with interrupt (FREERUN_I), and FREERUN, and can operate on either system
clock (13MHz) or real-time clock (RTC). The GPT is an always-on IP, which means it retains the previous
configuration and runs even if the system enters sleep mode. Note that in sleep mode, the clock source should be
set to RTC since there is no system clock.

14.2.
14.2.1.

Features
Timer mode

Each GPT has four modes, ONE-SHOT, REPEAT, FREERUN_I, and FREERUN.
•

ONE-SHOT mode. An interrupt occurs and the timer stops once GPT is timed out.

•

REPEAT mode. An interrupt occurs and the timer resets once GPT is timed out.

•

FREERUN_I mode. An interrupt occurs and the timer continues once the GPT is timed out.

•

FREERUN mode. The GPT continues counting with no limit.

14.2.2.

Timer clock source

Each GPT can operate on either system clock (13MHz) or RTC. There is also a 4-bit clock divider, which divides the
clock by 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 32, or 64. Note, that in sleep mode, only RTC is available.

14.2.3.

Timer interrupt source

All GPTs share a single interrupt source. The user can get the interrupt status by reading GPT_IRQSTA[5:0] and
GPTx_IRQ_STA. To clear the interrupt, write 1 to GPTx_IRQ_ACK.

14.2.4.

System wakeup source

The interrupt signal is also connected to System Power Management (SPM) as a wakeup source.

14.3.

Limitations

The following operations take two cycles of bus clock (26MHz) plus two cycles of system or RTC clock to take
effect.
•

Start GPT

•

Stop GPT

•

Clear GPT

•

Set compare value

Every two clear commands need to be separated by 5 cycles of bus clock and 4 cycles of system or RTC clock.

© 2016 - 2017 MediaTek Inc.

Page 331 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Every two set compare value commands need to be separated by 5 cycles of bus clock and 4 cycles of system or
RTC clock.

14.4.

Block diagram

The block diagram of the GPT is shown in Figure 14.4-1.
APXGPT
32kHz
13MHz

GPT0
GPT1

Sleep
Control

GPT2
GPT3

IRQ

MCU

GPT4
32bit
GPT5

64 bit

Figure 14.4-1. GPT block diagram

14.5.

Functions

The function of each mode is described in Table 14.5-1.
Table 14.5-1. GPT operation modes
Mode

Interrupt

Reached the limit

Example: set GPTx_COMPARE to 2
*Bold means interrupt

ONE-SHOT

Yes

Stop

0,1,2,2,2,2,2,2,2,2,2,2,…

REPEAT

Yes

Restart from 0

0,1,2,0,1,2,0,1,2,0,1,2…

FREERUN_I

Yes

Keep counting

0,1,2,3,4,5,6,7,8,9,10,…

FREERUN

No

Keep counting

0,1,2,3,4,5,6,7,8,9,10,…

14.6.

Programming sequence

The following configuration is required to initialize the GPT settings:
1) Disable GPT clock (GPTx_CON[16]).
2) Set the clock frequency (GPTx_CLK).
•

Do not change the clock frequency while clock is enabled.

3) Enable the clock (GPTx_CON[16]).
4) Clear the counter (GPTx_CLR).
5) Set operation mode (GPTx_CON[9:8]).

© 2016 - 2017 MediaTek Inc.

Page 332 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Do not modify operation mode while GPT is enabled.

6) Enable interrupt (GPTx_IRQ_EN).
7) Set comparison value (GPTx_COMPAREx).
8) Enable the GPT (GPTx_CON[0]).

14.7.

Register mapping

Module name: APXGPT base address: (+a2110000h)
Address

A2110000
A2110010
A2110014
A2110018
A211001C
A2110020
A2110024
A2110028
A211002C
A2110040
A2110044
A2110048
A211004C
A2110050
A2110054
A2110058
A211005C
A2110070
A2110074
A2110078
A211007C
A2110080
A2110084
A2110088
A211008C
A21100A0
A21100A4
A21100A8
A21100AC
A21100B0
A21100B4
A21100B8
A21100BC
A21100D0
A21100D4
A21100D8
A21100DC

Name

GPT_IRQSTA
GPT0_CON
GPT0_CLR
GPT0_CLK
GPT0_IRQ_EN
GPT0_IRQ_STA
GPT0_IRQ_ACK
GPT0_COUNT
GPT0_COMPARE
GPT1_CON
GPT1_CLR
GPT1_CLK
GPT1_IRQ_EN
GPT1_IRQ_STA
GPT1_IRQ_ACK
GPT1_COUNT
GPT1_COMPARE
GPT2_CON
GPT2_CLR
GPT2_CLK
GPT2_IRQ_EN
GPT2_IRQ_STA
GPT2_IRQ_ACK
GPT2_COUNT
GPT2_COMPARE
GPT3_CON
GPT3_CLR
GPT3_CLK
GPT3_IRQ_EN
GPT3_IRQ_STA
GPT3_IRQ_ACK
GPT3_COUNT
GPT3_COMPARE
GPT4_CON
GPT4_CLR
GPT4_CLK
GPT4_IRQ_EN

Width
(bits)
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32

Register Functionality

GPT IRQ status
GPT0 control
Clear GPT0
GPT0 clock setting
GPT0 IRQ enable
GPT0 IRQ status
GPT0 IRQ acknowledgement
GPT0 counter value
GPT0 compare value
GPT1 control
Clear GPT1
GPT1 clock setting
GPT1 IRQ enable
GPT1 IRQ status
GPT1 IRQ acknowledgement
GPT1 counter value
GPT1 compare value
GPT2 control
Clear GPT2
GPT2 clock setting
GPT2 IRQ enable
GPT2 IRQ status
GPT2 IRQ acknowledgement
GPT2 Counter value
GPT2 compare value
GPT3 control
Clear GPT3
GPT3 clock setting
GPT3 IRQ enable
GPT3 IRQ status
GPT3 IRQ acknowledgement
GPT3 counter value
GPT3 compare value
GPT4 control
Clear GPT4
GPT4 clock setting
GPT4 IRQ enable

© 2016 - 2017 MediaTek Inc.

Page 333 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

GPT4_IRQ_STA
GPT4_IRQ_ACK
GPT4_COUNT
GPT4_COMPARE
GPT5_CON
GPT5_CLR
GPT5_CLK
GPT5_IRQ_EN
GPT5_IRQ_STA
GPT5_IRQ_ACK
GPT5_COUNTL
GPT5_COMPAREL
GPT5_COUNTH
GPT5_COMPAREH

A21100E0
A21100E4
A21100E8
A21100EC
A2110100
A2110104
A2110108
A211010C
A2110110
A2110114
A2110118
A211011C
A2110120
A2110124

A2110000
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Width
(bits)
32

Name

32
32
32
32
32
32
32
32
32
32
32
32
32

GPT_IRQSTA

Register Functionality

GPT4 IRQ status
GPT4 IRQ acknowledgement
GPT4 counter value
GPT4 compare value
GPT5 control
Clear GPT5
GPT5 clock setting
GPT5 IRQ enable
GPT5 IRQ status
GPT5 IRQ acknowledgement
GPT5 lower word counter value
GPT5 lower word compare value
GPT5 higher word counter value
GPT5 higher word compare value

GPT IRQ Status

00000000

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

19

18

17

16

3

2

1

0

0

0

IRQSTA
RO
0

Bit(s)

Name

Description

5:0

IRQSTA

Interrupt status of each GPT

0

0

0

0: No interrupt is generated.
1: Interrupt is pending and waiting for service.

A2110010
Bit

GPT0_CON

GPT0 Control

00010000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16
SW_
CG0
RW

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Name
Type
Reset
Bit
Name
Type
Reset

1
MODE0

EN0

RW

RW

0

0

Bit(s)

Name

Description

16

SW_CG0

Enable clock for GPT0

0

0: Enable
1: Disable

© 2016 - 2017 MediaTek Inc.

Page 334 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
9:8

Operation mode of GPT0

MODE0

00: ONE-SHOT
01: REPEAT
10: FREERUN_I
11: FREERUN
0

Enable GPT0

EN0

0: Disable
1: Enable

A2110014
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT0_CLR

Clear GPT0

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

16

0
CLR0
WO
0

Bit(s)

Name

Description

0

CLR0

Clear GPT0
0: No effect
1: Clear

A2110018
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT0_CLK

GPT0 Clock Setting

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

CLK0
RW
0

0

Bit(s)

Name

Description

4:0

CLK0

Clock source and clock divider for GPT0

0

Bit[4] - Clock source:
0: System clock (13MHz)
1: RTC clock (32kHz)

© 2016 - 2017 MediaTek Inc.

Page 335 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit[3:0] - Clock divider:
0000: Clock source divided by 1
0001: Clock source divided by 2
0010: Clock source divided by 3
0011: Clock source divided by 4
0100: Clock source divided by 5
0101: Clock source divided by 6
0110: Clock source divided by 7
0111: Clock source divided by 8
1000: Clock source divided by 9
1001: Clock source divided by 10
1010: Clock source divided by 11
1011: Clock source divided by 12
1100: Clock source divided by 13
1101: Clock source divided by 16
1110: Clock source divided by 32
1111: Clock source divided by 64

A211001C
Bit
Name
Type
Reset
Bit

GPT0_IRQ_EN

GPT0 IRQ Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQE
N0
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQEN0

Enable interrupt of GPT0
0: Disable
1: Enable

A2110020
Bit
Name
Type
Reset
Bit

GPT0_IRQ_STA

GPT0 IRQ Status

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQS
TA0
RO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQSTA0

Interrupt status of GPT0

© 2016 - 2017 MediaTek Inc.

Page 336 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0: No interrupt is generated
1: Interrupt is pending and waiting for service

A2110024
Bit
Name
Type
Reset
Bit

GPT0_IRQ_ACK

GPT0 IRQ Acknowledgement

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQA
CK0
WO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQACK0

Interrupt acknowledgement for GPT0
0: No effect
1: Interrupt is acknowledged and should be relinquished

A2110028
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT0_COUNT

31

30

29

28

GPT0 Counter Value
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

COUNTER0
RO
0
0
8

7

COUNTER0
RO
0
0

Bit(s)

Name

Description

31:0

COUNTER0

Counter value of GPT0

A211002C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT0_COMPARE

31

30

29

28

27

26

25

1

1

1

1

1

1

15

14

13

12

11

10

9

1

1

1

1

1

1

24

23

COMPARE0
RW
1
1
8

7

COMPARE0
RW
1
1

Bit(s)

Name

Description

31:0

COMPARE0

Compare value of GPT0

A2110040
Bit

31

GPT1_CON
30

29

28

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

GPT0 Compare Value

1

1

00000000

22

FFFFFFFF

22

21

20

19

18

17

16

1

1

1

1

1

1

1

6

5

4

3

2

1

0

1

1

1

1

1

1

1

22

21

20

19

18

GPT1 Control
27

26

25

24

23

00010000
17

Name

© 2016 - 2017 MediaTek Inc.

16
SW_
CG1

Page 337 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

RW
1
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MODE1

EN1

RW

RW

0

0

0

Bit(s)

Name

Description

16

SW_CG1

Enable clock for GPT1
0: Enable
1: Disable

9:8

Operation mode of GPT1

MODE1

00: ONE-SHOT
01: REPEAT
10: FREERUN_I
11: FREERUN
0

Enable GPT1

EN1

0: Disable
1: Enable

A2110044
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT1_CLR

Clear GPT1

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
CLR1
WO
0

Bit(s)

Name

Description

0

CLR1

Clear GPT1
0: No effect
1: Clear

A2110048
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT1_CLK

GPT1 Clock Setting

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

CLK1
RW
0

Bit(s)

Name

Description

4:0

CLK1

Clock source & clock divider for GPT1

© 2016 - 2017 MediaTek Inc.

0

0

Page 338 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit[4] - Clock source:
0: System clock (13MHz)
1: RTC clock (32kHz)
Bit[3:0] - Clock divider:
0000: Clock source divided by 1
0001: Clock source divided by 2
0010: Clock source divided by 3
0011: Clock source divided by 4
0100: Clock source divided by 5
0101: Clock source divided by 6
0110: Clock source divided by 7
0111: Clock source divided by 8
1000: Clock source divided by 9
1001: Clock source divided by 10
1010: Clock source divided by 11
1011: Clock source divided by 12
1100: Clock source divided by 13
1101: Clock source divided by 16
1110: Clock source divided by 32
1111: Clock source divided by 64

A211004C
Bit
Name
Type
Reset
Bit

GPT1_IRQ_EN

GPT1 IRQ Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQE
N1
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQEN1

Enable interrupt of GPT1
0: Disable
1: Enable

A2110050
Bit
Name
Type
Reset
Bit

31

GPT1_IRQ_STA
30

15

14

29

13

28

12

GPT1 IRQ Status

27

11

26

25

10

24

9

23

8

00000000

22

7

21

6

20

5

4

19

18

3

17

2

1

Name
Type
Reset
Bit(s)

16

0
IRQS
TA1
RO
0

Name

Description

© 2016 - 2017 MediaTek Inc.

Page 339 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0

Interrupt status of GPT1

IRQSTA1

0: No interrupt is generated.
1: Interrupt is pending and waiting for service.

A2110054
Bit
Name
Type
Reset
Bit

GPT1_IRQ_ACK

GPT1 IRQ Acknowledgement

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQA
CK1
WO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQACK1

Interrupt acknowledgement for GPT1
0: No effect
1: Interrupt is acknowledged and should be relinquished

A2110058
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT1_COUNT

31

30

29

28

GPT1 Counter Value
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

COUNTER1
RO
0
0
8

7

COUNTER1
RO
0
0

Bit(s)

Name

Description

31:0

COUNTER1

Counter value of GPT1

A211005C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT1_COMPARE

31

30

29

28

27

26

25

1

1

1

1

1

1

1

14

13

12

11

10

9

1

1

1

1

1

1

24

23

COMPARE1
RW
1
1
8

7

COMPARE1
RW
1
1

Bit(s)

Name

Description

31:0

COMPARE1

Compare value of GPT1

A2110070
Bit
Name

31

GPT2_CON
30

29

28

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

GPT1 Compare Value

15

1

00000000

22

22

FFFFFFFF
21

20

19

26

25

24

23

17

16

1

1

1

1

1

1

1

6

5

4

3

2

1

0

1

1

1

1

1

1

1

22

21

20

19

18

GPT2 Control
27

18

00010000
17

16
SW_

© 2016 - 2017 MediaTek Inc.

Page 340 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

CG2
RW
1
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MODE2

EN2

RW

RW

0

0

0

Bit(s)

Name

Description

16

SW_CG2

Enable clock for GPT2
0: Enable
1: Disable

9:8

Operation mode of GPT2

MODE2

00: ONE-SHOT
01: REPEAT
10: FREERUN_I
11: FREERUN
0

Enable GPT2

EN2

0: Disable
1: Enable

A2110074
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT2_CLR

Clear GPT2

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

16

0
CLR2
WO
0

Bit(s)

Name

Description

0

CLR2

Clear GPT2
0: No effect
1: Clear

A2110078
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT2_CLK

GPT2 Clock Setting

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

CLK2
RW
0

Bit(s)

Name

Description

4:0

CLK2

Clock source & clock divider for GPT2

© 2016 - 2017 MediaTek Inc.

0

0

Page 341 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit[4] - Clock source:
0: System clock (13MHz)
1: RTC clock (32KHz)
Bit[3:0] - Clock divider:
0000: Clock source divided by 1
0001: Clock source divided by 2
0010: Clock source divided by 3
0011: Clock source divided by 4
0100: Clock source divided by 5
0101: Clock source divided by 6
0110: Clock source divided by 7
0111: Clock source divided by 8
1000: Clock source divided by 9
1001: Clock source divided by 10
1010: Clock source divided by 11
1011: Clock source divided by 12
1100: Clock source divided by 13
1101: Clock source divided by 16
1110: Clock source divided by 32
1111: Clock source divided by 64

A211007C
Bit
Name
Type
Reset
Bit

GPT2_IRQ_EN

GPT2 IRQ Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQE
N2
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQEN2

Enable interrupt of GPT2
0: Disable
1: Enable

A2110080
Bit
Name
Type
Reset
Bit

GPT2_IRQ_STA

GPT2 IRQ Status

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQS
TA2
RO

Name
Type
Reset
Bit(s)

0

Name

Description

© 2016 - 2017 MediaTek Inc.

Page 342 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0

Interrupt status of GPT2

IRQSTA2

0: No interrupt is generated.
1: Interrupt is pending and waiting for service.

A2110084
Bit
Name
Type
Reset
Bit

GPT2_IRQ_ACK

GPT2 IRQ Acknowledgement

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQA
CK2
WO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQACK2

Interrupt acknowledgement for GPT2
0: No effect
1: Interrupt is acknowledged and should be relinquished

A2110088
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT2_COUNT

31

30

29

28

GPT2 Counter Value
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

COUNTER2
RO
0
0
8

7

COUNTER2
RO
0
0

Bit(s)

Name

Description

31:0

COUNTER2

Counter value of GPT2

A211008C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT2_COMPARE

31

30

29

28

27

26

25

1

1

1

1

1

1

1

14

13

12

11

10

9

1

1

1

1

1

1

24

23

COMPARE2
RW
1
1
8

7

COMPARE2
RW
1
1

Bit(s)

Name

Description

31:0

COMPARE2

Compare value of GPT2

A21100A0
Bit
Name

31

GPT3_CON
30

29

28

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

GPT2 Compare Value

15

1

00000000

22

22

FFFFFFFF
21

20

19

26

25

24

23

17

16

1

1

1

1

1

1

1

6

5

4

3

2

1

0

1

1

1

1

1

1

1

22

21

20

19

18

GPT3 Control
27

18

00010000
17

16
SW_

© 2016 - 2017 MediaTek Inc.

Page 343 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

CG3
RW
1
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MODE3

EN3

RW

RW

0

0

0

Bit(s)

Name

Description

16

SW_CG3

Enable clock for GPT3
0: Enable
1: Disable

9:8

Operation mode of GPT3

MODE3

00: ONE-SHOT
01: REPEAT
10: FREERUN_I
11: FREERUN
0

Enable GPT3

EN3

0: Disable
1: Enable

A21100A4
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT3_CLR

Clear GPT3

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

16

0
CLR3
WO
0

Bit(s)

Name

Description

0

CLR3

Clear GPT3
0: No effect
1: Clear

A21100A8
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT3_CLK

GPT3 Clock Setting

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

CLK3
RW
0

0

Bit(s)

Name

Description

4:0

CLK3

Clock source and clock divider for GPT3

© 2016 - 2017 MediaTek Inc.

0

Page 344 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit[4] - Clock source:
0: System clock (13MHz)
1: RTC clock (32KHz)
Bit[3:0] - Clock divider:
0000: Clock source divided by 1
0001: Clock source divided by 2
0010: Clock source divided by 3
0011: Clock source divided by 4
0100: Clock source divided by 5
0101: Clock source divided by 6
0110: Clock source divided by 7
0111: Clock source divided by 8
1000: Clock source divided by 9
1001: Clock source divided by 10
1010: Clock source divided by 11
1011: Clock source divided by 12
1100: Clock source divided by 13
1101: Clock source divided by 16
1110: Clock source divided by 32
1111: Clock source divided by 64

A21100AC
Bit
Name
Type
Reset
Bit

GPT3_IRQ_EN

GPT3 IRQ Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQE
N3
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQEN3

Enable interrupt of GPT3
0: Disable
1: Enable

A21100B0
Bit
Name
Type
Reset
Bit

GPT3_IRQ_STA

GPT3 IRQ Status

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQS
TA3
RO

Name
Type
Reset
Bit(s)

0

Name

Description

© 2016 - 2017 MediaTek Inc.

Page 345 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0

Interrupt status of GPT3

IRQSTA3

0: No interrupt is generated
1: Interrupt is pending and waiting for service

A21100B4
Bit
Name
Type
Reset
Bit

GPT3_IRQ_ACK

GPT3 IRQ Acknowledgement

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQA
CK3
WO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQACK3

Interrupt acknowledgement for GPT3
0: No effect
1: Interrupt is acknowledged and should be relinquished

A21100B8
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT3_COUNT

31

30

29

28

GPT3 Counter Value
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

COUNTER3
RO
0
0
8

7

COUNTER3
RO
0
0

Bit(s)

Name

Description

31:0

COUNTER3

Counter value of GPT3

A21100BC
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT3_COMPARE

31

30

29

28

27

26

25

1

1

1

1

1

1

1

14

13

12

11

10

9

1

1

1

1

1

1

24

23

COMPARE3
RW
1
1
8

7

COMPARE3
RW
1
1

Bit(s)

Name

Description

31:0

COMPARE3

Compare value of GPT3

A21100D0
Bit
Name

31

GPT4_CON
30

29

28

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

GPT3 Compare Value

15

1

00000000

22

22

FFFFFFFF
21

20

19

26

25

24

23

17

16

1

1

1

1

1

1

1

6

5

4

3

2

1

0

1

1

1

1

1

1

1

22

21

20

19

18

GPT4 Control
27

18

00000000
17

16
SW_

© 2016 - 2017 MediaTek Inc.

Page 346 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

CG4
RW
0
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MODE4

EN4

RW

RW

0

0

0

Bit(s)

Name

Description

16

SW_CG4

Enable clock for GPT4
0: Enable
1: Disable

9:8

Operation mode of GPT4

MODE4

00: ONE-SHOT
01: REPEAT
10: FREERUN_I
11: FREERUN
0

Enable GPT4

EN4

0: Disable
1: Enable

A21100D4
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT4_CLR

Clear GPT4

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

16

0
CLR4
WO
0

Bit(s)

Name

Description

0

CLR4

Clear GPT4
0: No effect
1: Clear

A21100D8
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT4_CLK

GPT4 Clock Setting

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

CLK4
RW
0

0

Bit(s)

Name

Description

4:0

CLK4

Clock source and clock divider for GPT4

© 2016 - 2017 MediaTek Inc.

0

Page 347 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit[4] - Clock source:
0: System clock (13MHz)
1: RTC clock (32KHz)
Bit[3:0] - Clock divider:
0000: Clock source divided by 1
0001: Clock source divided by 2
0010: Clock source divided by 3
0011: Clock source divided by 4
0100: Clock source divided by 5
0101: Clock source divided by 6
0110: Clock source divided by 7
0111: Clock source divided by 8
1000: Clock source divided by 9
1001: Clock source divided by 10
1010: Clock source divided by 11
1011: Clock source divided by 12
1100: Clock source divided by 13
1101: Clock source divided by 16
1110: Clock source divided by 32
1111: Clock source divided by 64

A21100DC
Bit
Name
Type
Reset
Bit

GPT4_IRQ_EN

GPT4 IRQ Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQE
N4
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQEN4

Enable interrupt of GPT4
0: Disable
1: Enable

A21100E0
Bit
Name
Type
Reset
Bit

GPT4_IRQ_STA

GPT4 IRQ Status

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQS
TA4
RO

Name
Type
Reset
Bit(s)

0

Name

Description

© 2016 - 2017 MediaTek Inc.

Page 348 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0

Interrupt status of GPT4

IRQSTA4

0: No interrupt is generated
1: Interrupt is pending and waiting for service

A21100E4
Bit
Name
Type
Reset
Bit

GPT4_IRQ_ACK

GPT4 IRQ Acknowledgement

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQA
CK4
WO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQACK4

Interrupt acknowledgement for GPT4
0: No effect
1: Interrupt is acknowledged and should be relinquished

A21100E8
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT4_COUNT

31

30

29

28

GPT4 Counter Value
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

COUNTER4
RO
0
0
8

7

COUNTER4
RO
0
0

Bit(s)

Name

Description

31:0

COUNTER4

Counter value of GPT4

A21100EC
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT4_COMPARE

31

30

29

28

27

26

25

1

1

1

1

1

1

1

14

13

12

11

10

9

1

1

1

1

1

1

24

23

COMPARE4
RW
1
1
8

7

COMPARE4
RW
1
1

Bit(s)

Name

Description

31:0

COMPARE4

Compare value of GPT4

A2110100
Bit
Name

31

GPT5_CON
30

29

28

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

GPT4 Compare Value

15

1

00000000

22

22

FFFFFFFF
21

20

19

26

25

24

23

17

16

1

1

1

1

1

1

1

6

5

4

3

2

1

0

1

1

1

1

1

1

1

22

21

20

19

18

GPT5 Control
27

18

00010000
17

16
SW_

© 2016 - 2017 MediaTek Inc.

Page 349 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

CG5
RW
1
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MODE5

EN5

RW

RW

0

0

0

Bit(s)

Name

Description

16

SW_CG5

Enable clock for GPT5
0: Enable
1: Disable

9:8

Operation mode of GPT5

MODE5

00: ONE-SHOT
01: REPEAT
10: FREERUN_I
11: FREERUN
0

Enable GPT5

EN5

0: Disable
1: Enable

A2110104
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT5_CLR

Clear GPT5

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

16

0
CLR5
WO
0

Bit(s)

Name

Description

0

CLR5

Clear GPT5
0: No effect
1: Clear

A2110108
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT5_CLK

GPT5 Clock Setting

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2

1

0

0

0

CLK5
RW
0

Bit(s)

Name

Description

4:0

CLK5

Clock source & clock divider for GPT5

© 2016 - 2017 MediaTek Inc.

0

0

Page 350 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit[4] - Clock source:
0: System clock (13MHz)
1: RTC clock (32KHz)
Bit[3:0] - Clock divider:
0000: Clock source divided by 1
0001: Clock source divided by 2
0010: Clock source divided by 3
0011: Clock source divided by 4
0100: Clock source divided by 5
0101: Clock source divided by 6
0110: Clock source divided by 7
0111: Clock source divided by 8
1000: Clock source divided by 9
1001: Clock source divided by 10
1010: Clock source divided by 11
1011: Clock source divided by 12
1100: Clock source divided by 13
1101: Clock source divided by 16
1110: Clock source divided by 32
1111: Clock source divided by 64

A211010C
Bit
Name
Type
Reset
Bit

GPT5_IRQ_EN

GPT5 IRQ Enable

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQE
N5
RW

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQEN5

Enable interrupt of GPT5
0: Disable
1: Enable

A2110110
Bit
Name
Type
Reset
Bit

GPT5_IRQ_STA

GPT5 IRQ Status

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQS
TA5
RO

Name
Type
Reset
Bit(s)

0

Name

Description

© 2016 - 2017 MediaTek Inc.

Page 351 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0

Interrupt status of GPT5

IRQSTA5

0: No interrupt is generated.
1: Interrupt is pending and waiting for service.

A2110114
Bit
Name
Type
Reset
Bit

GPT5_IRQ_ACK

GPT5 IRQ Acknowledgement

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
IRQA
CK5
WO

Name
Type
Reset

0

Bit(s)

Name

Description

0

IRQACK5

Interrupt acknowledgement for GPT5
0: No effect
1: Interrupt is acknowledged and should be relinquished

A2110118
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT5_COUNTL

31

30

29

28

GPT5 Lower Word Counter Value
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

COUNTER5L
RO
0
0
8

7

COUNTER5L
RO
0
0

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

COUNTER5L

Lower word counter value of GPT5

A211011C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT5_COMPAREL

31

30

29

28

27

GPT5 Lower WordCompare Value
26

25

1

1

1

1

1

1

1

15

14

13

12

11

10

9

1

1

1

1

1

1

1

24

23

COMPARE5L
RW
1
1
8

7

COMPARE5L
RW
1
1

22

21

1

1

1

1

1

3

2

1

0

1

1

1

1

1

1

1

Lower word compare value of GPT5

29

28

GPT5 Higher Word Counter Value
27

26

25

24

23

16

4

COMPARE5L

30

17

1

31:0

31

FFFFFFFF
18

5

Description

Bit
Name

19

1

Name

GPT5_COUNTH

20

6

Bit(s)

A2110120

00000000

22

22

21

20

19

00000000
18

17

16

COUNTER5H

© 2016 - 2017 MediaTek Inc.

Page 352 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

COUNTER5H
RO
0
0

Bit(s)

Name

Description

31:0

COUNTER5H

Higher word counter value of GPT5

A2110124
Bit
Name
Type
Reset
Bit
Name
Type
Reset

GPT5_COMPAREH

31

30

29

28

27

GPT5 Higher WordCompare Value
26

25

1

1

1

1

1

1

1

15

14

13

12

11

10

9

1

1

1

1

1

1

1

24

23

COMPARE5H
RW
1
1
8

7

COMPARE5H
RW
1
1

22

21

20

19

FFFFFFFF
18

17

16

1

1

1

1

1

1

1

6

5

4

3

2

1

0

1

1

1

1

1

1

1

Bit(s)

Name

Description

31:0

COMPARE5H

Higher word compare value of GPT5

© 2016 - 2017 MediaTek Inc.

Page 353 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

15. Pulse Width Modulation
15.1.

Overview

The generic pulse width modulators (PWM) are implemented to generate pulse sequences with programmable
frequency and duty cycle for LCD backlight. The duration of the PWM output signal is HIGH as long as the internal
counter value is between the threshold up and threshold down values. The waveform is shown in Figure 15.1-1.

Internal counter
Threshold up
Threshold
down
PWM output
Figure 15.1-1. PWM waveform

15.2.

Features

Classic mode — the output waveform is specified by the internal counter (PWM_1CH_COUNT), threshold up value
(PWM_1CH_THRESH_UP), threshold down value (PWM_1CH_THRESH_DOWN), clock source select
(PWM_1CH_CLK_CTRL[3:2]) and clock prescaler scale (PWM_1CH_CLK_CTRL[1:0]).

15.3.

Block diagram

The block diagram for the PWM is shown in Figure 15.3-1 .

© 2016 - 2017 MediaTek Inc.

Page 354 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
32kHz 13MHz 40MHz

1

0

2/3

CLK

CLOCK_DIV
pwm_1ch_clk_mask

pwm_1ch_
clk_ctrl

PWM
output

pwm_1ch_gen

pwm_1ch
_pdn_b

pwm_1ch_
clk_ctrl

pwm_1ch_count
pwm_1ch_thresh_up
pwm_1ch_thresh_down

pwm_reg

pwm_1ch.v

APB interface

Reset

APB BUS

pwm_1ch_pdn

Figure 15.3-1. PWM block diagram

15.4.
•

Functions
Classic mode

The frequency and volume of the PWM output signal are determined by registers PWM_1CH_CLK_CTRL,
PWM_1CH_THRESH_UP, PWM_1CH_THRESH_DOWN and PWM_1CH_COUNT. The power down signal (pwm_1ch_pdn)
is applied to power down the PWM_1CH module. When PWM_1CH is deactivated (pwm_1ch_pdn = 1), the output
will be in LOW state.
The output PWM frequency is determined by:

CLK
CLOCK _ DIV × ( PWM _ 1CH _ COUNT + 1)
CLK = 13 MHz, when PWM_1CH_CLK_CTRL[3:2] = 2’b00
CLK = 32 KHz, when PWM_1CH_CLK_CTRL[3:2] = 2’b01
CLK = 40MHz, when PWM_1CH_CLK_CTRL[3:2] = 2’b10
CLOCK_DIV = 1, when PWM_1CH_CLK_CTRL[1:0] = 2’b00
CLOCK_DIV = 2, when PWM_1CH_CLK_CTRL[1:0] = 2’b01
CLOCK_DIV = 4, when PWM_1CH_CLK_CTRL[1:0] = 2’b10
CLOCK_DIV = 8, when PWM_1CH_CLK_CTRL[1:0] = 2’b11

© 2016 - 2017 MediaTek Inc.

Page 355 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
The output PWM duty cycle is determined by:

PWM _ 1CH _ THRESH _ UP − PWM _ 1CH _ THRESH _ DOWN + 1
PWM _ 1CH _ COUNT + 1
Note that PWM_1CH_THRESH_UP should be less than PWM_1CH_COUNT, and PWM_1CH_THRESH_DOWN should be
less than PWM_1CH_THRESH_UP. If this condition is not satisfied, the output pulse of the PWM will be always high
or always low. Figure 15.4-1 is the PWM waveform with indicated register values.

13MHz

PWM_1CH_COUNT= 5
PWM_1CH_THRESH_UP= 3
PWM_1CH_THRESH_DOWN= 2
PWM_1CH_CLK_CTRL= 4'b0000

Figure 15.4-1. PWM waveform with register values

15.5.

Register mapping

There are six PWM channels in this SOC. The channels and their base addresses are shown in the table below.
PWM number

Base address

PWM0

0xA2120000

PWM1

0xA2130000

PWM2

0xA2140000

PWM3

0xA2150000

PWM4

0xA2160000

PWM5

0xA2170000

Module name: PWM0 Base address: (+a2120000h)
Address

Name

Width
(bits)

Register functionality

A2120000 PWM_1CH_CTRL_ADDR

16

PWM control register

A2120004 PWM_1CH_COUNT_ADDR

16

PWM maximum counter value
register

A2120008 PWM_1CH_THRESH_UP_AD
DR

16

PWM threshold_up value register

A212000C PWM_1CH_THRESH_DOWN
_ADDR

16

PWM threshold_down value register

A2120000
Bit
15
Na
me
Typ
e

PWM_1CH_CTRL_ADDR PWM control register
14
13
12
11
10
9
8
7
6
5

4

00000000
3
2
1
0
PWM_1CH_CLK_
CTRL
RW

© 2016 - 2017 MediaTek Inc.

Page 356 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Res
et

0

0

0

Bit(s)

Name

Description

3:0

PWM_1CH_CLK_CTRL

Bit [1:0] : Selects clock prescaler scale of PWM
[1:0] = 2'b00 : f = fclk
[1:0] = 2'b01 : f = fclk/2
[1:0] = 2'b10 : f = fclk/4
[1:0] = 2'b11 : f = fclk/8
Bit [3:2] : Selects source clock frequency of PWM
[3:2] = 2'b00 : CLK = 13MHz
[3:2] = 2'b01 : CLK = 32kHz (able to work in sleep mode)
[3:2] = 2'b10 : CLK = 40MHz
[3:2] = 2'b11 : CLK = 40MHz

A2120004

PWM_1CH_COUNT_A PWM max counter value register
DDR

Bit
Na
me
Typ
e
Res
et

14

15

13

12

11

10

9

8

7

6

5

4

0

00000000

3

2

1

0

0

0

0

0

PWM_1CH_COUNT
RW
0

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

12:0

PWM_1CH_COUNT

PWM maximum counter value
This is the initial value for the internal counter. Regardless of the
operation mode, if PWM_1CH_COUNT is written when the internal
counter is counting backwards, the new initial value will not take effect
until the internal counter counts down to 0, consider a complete period
as an example.

A212000 PWM_1CH_THRESH_UP PWM threshold_up value register
8
_ADDR
Bit
Na
me
Typ
e
Res
et

15

14

13

12

11

10

9

8

7

6

5

4

00000000

3

2

1

0

0

0

0

0

PWM_1CH_THRESH_UP
RW
0

0

0

0

0

0

0

Bit(s)

Name

Description

12:0

PWM_1CH_THRESH_UP

PWM threshold-up value

0

0

•

When the internal counter value is less than
PWM_1CH_THRESH_UP and bigger than
PWM_1CH_THRESH_DOWN, the PWM output signal will be "1".

•

When the internal counter value is greater than
PWM_1CH_THRESH_UP or less than

© 2016 - 2017 MediaTek Inc.

Page 357 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
PWM_1CH_THRESH_DOWN, the PWM output signal will be
"0".

•

When the internal counter value is equal to
PWM_1CH_THRESH_UP or PWM_1CH_THRESH_DOWN, the
PWM output signal will be "1".

A212000 PWM_1CH_THRESH_D
C
OWN_ADDR
Bit
Na
me
Typ
e
Res
et

15

14

13

12

11

10

PWM threshold_down value register
9

8

7

6

5

4

00000000

3

2

1

0

0

0

0

0

PWM_1CH_THRESH_DOWN
RW
0

0

0

0

0

0

0

Bit(s)

Name

Description

12:0

PWM_1CH_THRESH_DOWN

PWM threshold-down value

0

0

•

When the internal counter value is less than
PWM_1CH_THRESH_UP and bigger than
PWM_1CH_THRESH_DOWN, the PWM output signal will be "1".

•

When the internal counter value is greater than
PWM_1CH_THRESH_UP or less than
PWM_1CH_THRESH_DOWN, the PWM output signal will be
"0".

•

When the internal counter value is equal to
PWM_1CH_THRESH_UP or PWM_1CH_THRESH_DOWN, the
PWM output signal will be "1".

© 2016 - 2017 MediaTek Inc.

Page 358 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

16. Cortex-M4 L1 Cache Controller
16.1.

Overview

Mediatek MT7686 core processor is implemented with a subsystem including the core cache and tightly coupled
memory (TCM). The subsystem is placed between the MCU core and AHB bus interface, as shown in Figure 16.1-1 .

AHB
Bus
Interface

Cache
Controller

Core

Cache
Way 0

TCM

Cache
Way 1

Cache
Way 2

AHB

Cache
Way 3

Figure 16.1-1. MCU, Cache, TCM and AHB bus connectivity
TCM is a high-speed (zero wait state) dedicated memory accessed exclusively by the MCU. Due to the latency
penalty when the MCU accesses memory or peripherals through the on-chip bus, moving timing critical code and
data into TCM can enhance the performance of the MCU and guarantee the response to particular events.
Another method to enhance MCU performance is the implementation of cache. In this case, the core cache is a
small block of memory containing a copy of a small portion of cacheable data in the external memory. If the MCU
reads a cacheable datum, the datum will be copied into the core cache. Once the MCU requests the same datum
again, it can be obtained directly from the core cache (called cache hit) instead of fetching it again from the
external memory. Consider the fact that accessing cache is much faster than accessing external memory through
the bus system, a faster instruction fetching can be obtained leading to a higher instructions per cycle (IPC) which
is a major factor in the evaluation of core performance. Since a large external memory maps to a small cache, the
cache can hold only a small portion of external memory. If MCU accesses a datum not found in the cache (called
cache miss), one cache line must be dropped (flushed), and the required datum and its neighboring data are
transferred from the external memory to cache (cache line fill). Before the cache line fill, “cache write back” to
maintain data consistency between cache and external memory needs to be performed. In this design, a cache line
consists of eight words (8x32 bits). On the other hand, the best way to utilize TCM is to maintain the critical
instruction or data in TCM. After system reset, the bootloader copies TCM content from the external storage, such
as flash, to the internal TCM. If necessary, the MCU can replace TCM content with other data in the external
storage during the runtime to implement a mechanism such as “overlay”. TCM is also ideal to store stack data.
The sizes of TCM and cache can be set to one of the following four configurations:
•

64KB TCM, 32KB cache

•

80KB TCM, 16KB cache

•

88KB TCM, 8KB cache

•

96KB TCM, 0KB cache (no cache)

© 2016 - 2017 MediaTek Inc.

Page 359 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
2K
2K
2K
2K
4K

4K

4K

4K

8K

8K

NO
Cache

8K

Cache 8KB
4-way, 64-set

8K

64K

64K

TCM
96 KB

TCM
88 KB

2K

2K

2K

2K

Way0

Way1

Way2

Way3

8K

Cache 16KB
4-way, 128-set

8K

Cache 32KB
4-way, 256-set
64K

64K

TCM
TCM
80
KB
80KB

2K
2K

2K
2K

4K

4K

Way0

Way1

Way2

Way3

TCM
64 KB

2K
2K
2K
2K

4K

Way0

Way1

4K

8K

8K

Way2

Way3

Figure 16.1-2. Cache size and TCM settings
These different configurations provide flexibility for software to adjust and reach optimum system performance.
The address mapping of these memories is shown in Table 16.1-1 .
Table 16.1-1. TCM address spaces for different cache size settings
Cache Size

SYSRAM Identity

Used as

2’b00
(Total TCM = 96KB, cache = 0)

SYSRAM_2K_0

TCM0 (0x0400_0000 to 0x0400_07FF)

SYSRAM_2K_1

TCM1 (0x0400_0800 to 0x0400_0FFF)

SYSRAM_2K_2

TCM2 (0x0400_1000 to 0x0400_17FF)

SYSRAM_2K_3

TCM3 (0x0400_1800 to 0x0400_1FFF)

SYSRAM_4K_0

TCM4 (0x0400_2000 to 0x0400_2FFF)

SYSRAM_4K_1

TCM5 (0x0400_3000 to 0x0400_3FFF)

SYSRAM_8K_0

TCM6 (0x0400_4000 to 0x0400_5FFF)

© 2016 - 2017 MediaTek Inc.

Page 360 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Cache Size

2’b01
(Total TCM = 88KB, cache = 8KB)

2’b10
(Total TCM = 80KB, cache = 16KB)

2’b11
(Total TCM = 64KB, cache = 32KB)

16.2.

SYSRAM Identity

Used as

SYSRAM_8K_1

TCM7 (0x0400_6000 to 0x0400_7FFF)

SYSRAM_16K_0~4

TCM8 (0x0400_8000 to 0x0401_7FFF)

SYSRAM_2K_0

Cache way 0

SYSRAM_2K_1

Cache way 1

SYSRAM_2K_2

Cache way 2 or way 0 (2-way configuration)

SYSRAM_2K_3

Cache way 3 or way 1 (2-way configuration)

SYSRAM_4K_0

TCM4 (0x0400_2000 to 0x0400_2FFF)

SYSRAM_4K_1

TCM5 (0x0400_3000 to 0x0400_3FFF)

SYSRAM_8K_0

TCM6 (0x0400_4000 to 0x0400_5FFF)

SYSRAM_8K_1

TCM7 (0x0400_6000 to 0x0400_7FFF)

SYSRAM_16K_0~4

TCM8 (0x0400_8000 to 0x0401_7FFF)

SYSRAM_2K_0

Cache way 0

SYSRAM_2K_1

Cache way 0

SYSRAM_2K_2

Cache way 1

SYSRAM_2K_3

Cache way 1

SYSRAM_4K_0

Cache way 2 or way 0 (2-way configuration)

SYSRAM_4K_1

Cache way 3 or way 1 (2-way configuration)

SYSRAM_8K_0

TCM6 (0x0400_4000 to 0x0400_5FFF)

SYSRAM_8K_1

TCM7 (0x0400_6000 to 0x0400_7FFF)

SYSRAM_16K_0~4

TCM8 (0x0400_8000 to 0x0401_7FFF)

SYSRAM_2K_0

Cache way 0

SYSRAM_2K_1

Cache way 0

SYSRAM_2K_2

Cache way 0

SYSRAM_2K_3

Cache way 0

SYSRAM_4K_0

Cache way 1

SYSRAM_4K_1

Cache way 1

SYSRAM_8K_0

Cache way 2 or way 0 (2-way configuration)

SYSRAM_8K_1

Cache way 3 or way 1 (2-way configuration)

SYSRAM_16K_0~4

TCM8 (0x0400_8000 to 0x0401_7FFF)

Cache optimization

The cache system has the following features:
1) Write back (unit: 4 words)
2) Configurable two or four way set associative
a)

2-way set associative
i)

128/256/512-set for 8, 16 or 32KB cache size, respectively.

ii)

Each way has 128, 256 or 512 cache lines with 8-word line size.

b) 4-way set associative

© 2016 - 2017 MediaTek Inc.

Page 361 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
i)

64/128/256-set for 8, 16 or 32KB cache size, respectively.

ii)

Each way has 64, 128 or 256 cache lines with 8-word line size

3) 20-bit tag memory: 19-bit high address and 1-bit valid bit.
4) 2-bit dirty memory (each dirty bit records the dirtiness of half cache line – 4 words).
Addres s
31

13 12

V D Tag

D ata

V D Tag

0

8

19

Index

54

D a ta

V D T ag

D ata

V D T ag

D ata

0
1
2
253
254
255
19

32

4 -to-1 multiplexer

H it

D ata

Figure 16.2-1. Cache lookup for 4-way set associative
Each set associative cache has two memories: tag memory and data memory. The tag memory stores each line’s
valid bit and tag (upper 19 bits of the address). The data memory stores line data. When MCU accesses the
memory, the address is compared to the content of the tag memory. First, the line index (address bits [12:5]) is
used to locate a line in the tag memory. When a particular line is found in the tag memory, the upper 19 bits
(address bits [31:13]), called tag, of the desired memory address are compared with the content of the found tag
line. If a match is found in both line address and tag address and the valid bit is 1, it is called a cache hit, and the
data from that particular cache way is returned to the MCU. This process is shown in Figure 16.2-1.
If most memory accesses are cache hit, the MCU is able to acquire data without any delay, and the overall system
performance will be higher. There are several factors that may affect the cache hit rate:
•

Cache size and the organization

© 2016 - 2017 MediaTek Inc.

Page 362 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
The larger the cache size, the higher the hit rate. However, the hit rate saturates when the cache size is larger than
a threshold size. Normally the size of 16KB and above and two or four way set associative cache configuration can
achieve a higher hit rate.
•

2 or 4-way set associative
o

•

4-way set associative has higher hit rate than 2-way. However, the power consumption will be higher
as it accesses more memory during cache lookup.

Program behavior

If the system has several tasks and switches between the tasks frequently, it may result in frequent cache content
flush, as each time a new task is running, the cache holds its data for a certain period of time assuming it’ll be used
again. However, the stored data might get flushed out before being used again, if the following task requires the
data occupying the same cache entries. Interrupts can cause program flow to change dynamically and reduce the
benefit of using cache. The interrupt handler and the data it processes may cause cache to flush out data used by
the current task. Thus, after returning from the interrupt handler to current task, the flushed data may need to be
filled into the cache again if it’s required by the program routine. This will cause performance degradation.
To tune the system performance, the cache controller in MT7686 records the cache hit count and number of
cacheable memory accesses. The cache hit rate can be obtained by dividing these two numbers.

16.2.1.

Write-back or write-through configurable cache

There are two different types of cache design to maintain data consistency. One is cache write-through, and the
other is cache write-back.
The write-back cache improves the performance especially when processors generate writes as fast as or faster
than the writes that can be handled by the external memory. However, the implementation of write-back is more
complex than that of write-through. When a cache line is dirty, four or eight words will be written back to the
external memory at once, and this will certainly occupy significant bus bandwidth and therefore decrease the
overall efficiency. To solve this problem, a write buffer is necessary in the write-back implementation. Once the
writes are written into the write buffer, the processor can continue the execution.
For systems with large memory write latency, it’s possible that the burst write of cache write-back operation may
cause large impact on the system performance, change the cache to write-through mode in the software, if
necessary.

16.2.1.1. Write-back implementation
When a cache hit occurs at write request, only the cache content will be modified, and the dirty bit will be set. The
modified cache content won’t match with that in the external memory, unlike cache write-through, which modifies
both the cache content and the external memory synchronously.
When the cache misses the read request, line fill will be performed and a randomly selected cache line will be
replaced, but before that, the dirty bits of that selected cache line have to be checked for the necessity of writeback. If the dirty bits are not set, line fill can proceed right away, and the selected cache line can be simply
abandoned and replaced by a newly fetched line from the external memory which consists of the requested data.
On the other hand, if one of or both the dirty bits are set, write-back has to be performed before line fill. In that
case, half or the entire cache line is written into the write buffer. A summary is given in Figure 16.2-2:

© 2016 - 2017 MediaTek Inc.

Page 363 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Read request
Write request

Read from
cache

Write into
cache only
and set the
dirty bit

Write into
external
memory

Check dirty
bits

Line fill

Write back done
Cache write
back
and write buffer contents
ONLY the last set of
write back words

Figure 16.2-2. Cache miss/refill criteria

16.2.1.2. Write buffer
The write buffer consists of address buffer, data buffer, buffer for HTRANS, buffer for HSIZE, buffer for HLOCK and
buffer for HBURST. The write buffer is designed as first-in-first-out (FIFO) with a depth eight words. Since the
outputs from the code cache meet the AMBA format, the address buffer and data buffer are independent. The
outputs of write buffer suffice the AMBA formatting guidelines and are designed for pipelining.
All CPU write accesses through the I/D bus will be buffered, no matter it’s within the cacheable region or not.

16.2.2.

Cache operation

Upon power-on, the cache memory contains random values. The MCU needs to invalidate the cache content
before enabling the cache usage.
The MCU needs to flush the cache data to the external memory to maintain data coherency before disabling the
cache controller or MCU power-off.
The cache controller provides a register which, when written, can operate on the cache memory to fulfill the
prerequisite mentioned above (called cache operation).
The operation involves:
1) Invalidate one cache line
The user must give a memory address. If it’s found within the cache, that particular cache line will be invalidated
by writing 0 in the valid bit at the corresponding tag line. Alternatively, the user can invalidate a cache line by
specifying a set/way mapped to that cache line.
2) Invalidate all cache lines
The user doesn’t need to specify an address. The cache controller clears valid bits in all tag lines when this
operation is requested.
3) Flush one cache line

© 2016 - 2017 MediaTek Inc.

Page 364 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
The user must give a memory address. If it’s found within the cache and the dirty bit or bits are set, that particular
cache line containing the given address will be flushed into the write buffer. Alternatively, the user can flush a
cache line by specifying a set/way mapped to that cache line. This operation is not supported if the cache is
operating in the write-through mode.
4) Flush all cache lines
The user doesn’t need to specify an address. The cache controller flushes all the cache lines with the dirty bit or
bits set. This operation is not supported if the cache is operating in the write-through mode.
Note: To configure the cache size, follow the steps below to prevent cache data loss during the cache size
configuration. At initialization, the cache size is set to 0.
1) Flush all cache lines.
2) Invalidate all cache lines.
3) Configure the TCM and cache size.

16.2.3.

Summary of cache operation
Table 16.2-1. Write-back mode cache read or write operations

Op

Cacheable

Read

Write

Hit

Dirty

Action

W0~W3

W4~W7

N

d

d

d

Single read

Y

Y

d

d

Return data, no stall

N

N

N

Line refill from bus using AHB WRAP8 burst

N

Y

•
•
•

Evict half line to WBuf.

•
•
•

Evict whole line to WBuf.

•
•

Wait for WBuf space.

•

Write into cache; meanwhile set up the corresponding
dirty bit.

•

Stall the MCU by one cycle to avoid structural hazard.

•
•

Wait for WBuf space.

N

Y

d

Y

N

Y

N

Y

Y

d

d

d

d

d

d

Line refill from bus using AHB WRAP8 burst.
Write back half line from WBuf using AHB INCR4 burst
write.
Line refill from bus using AHB WRAP8 burst.
Write back whole line from WBuf using AHB INCR8
burst write.
Place write data into WBuf and let the MCU continue
operating (CLKEN = 1). Stall the MCU by one cycle.

Place write data into WBuf and let the MCU continue
operating (CLKEN = 1). Stall the MCU by one cycle.

Legend Y: yes, N: no, d: don’t care

© 2016 - 2017 MediaTek Inc.

Page 365 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Table 16.2-2. Write-through mode cache R/W action summary
Op

Cacheable

Hit

Action

Read

N

d

Single read

Y

Y

•

Return data, no stall

N

•

Line read from bus using AHB WRAP8 burst

N

d

Wait for WBuf space.

Y

N

•
•

Write

•
•
•

Y

Place write data into WBuf and let the MCU continue operating (CLKEN
= 1). Stall Cortex-M4 by one cycle.
Write to data SRAM.
Wait for WBuf space.
Place write data into WBuf and let the MCU continue operating (CLKEN
= 1). Stall Cortex-M4 by one cycle.

Legend Y: yes, N: no, d: don’t care

16.3.

Register mapping

Module name: CACHE Base address: (+E0180000h)
CACHE+00h
Bit

15

Cache general control register

14

13

12

11

Nam
e
Type
Rese
t

10

9

8

CACHE_CON
7

6

2WAY
CACHESIZE
EN

5

4

3

2

1

CNTE CNTE
N1
N0

0
MCE
N

RW

RW

RW

RW

R/W

0

00

0

0

0

This register determines the size of cache, cache hit counter and the enabling of MPU.
2WAYEN

Enable 2-way cache look-up
0 Disable (4-way)
1
Enable (2-way)

CACHESIZE Selects cache size
00 No cache
01 8KB
10 16KB
11 32KB

CNTEN1

Enables cache hit counter 1
If enabled, the cache controller will increment a 48-bit counter by one when a cache hit is
detected. This number is used in performance evaluation of the application. This counter
increments only when the data are obtained from MPU cacheable regions 8 to 15.
0 Disable
1
Enable
© 2016 - 2017 MediaTek Inc.

Page 366 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
CNTEN0

Enables cache hit counter 0
If enabled, the cache controller will increment a 48-bit counter by one when a cache hit is
detected. This number is used in performance of the application. This counter increments
only when the data are obtained from MPU cacheable regions 0 to 7.
0 Disable
1
Enable

MCEN

Enables the comparison of cacheable/non-cacheable setting
If disabled, the MCU memory accesses are all non-cacheable, i.e. they will go through the
AHB bus (except for TCM access). When enabled, if MCU accesses a cacheable memory
region, the cache controller will return the data if it is found in cache and will get the data
through the AHB bus only if a cache miss occurs.
0 Disable
1
Enable

CACHE+04h
Bit

31

30

Cache operation
29

28

27

CACHE_OP
26

25

Name
Type
Reset
Bit

24

23

22

21

20

6

5

4

19

18

17

3

2

1

16

TADDR[31:16]

R/W
0
15

Name
Type
Reset

14

13

12

11

10

9

8

7

0

TADDR[15:5]

OP[3:0]

EN

R/W
0

W
0

W1
0

This register defines the address and/or which type of cache operation to apply. When MCU writes into
this register, the pipeline of MCU will be stopped for the cache controller to complete the operation. Bit 0
of the register must be written as 1 to enable the command.
TADDR[31:5] Target address
This field contains the address of invalidation operation. If OP[3:0] = 0010,
TADDR[31:5] will be the address[31:5] of a memory whose line will be invalidated if it
exists in the cache. If OP[3:0] = 0100, TADDR[12:5] will indicate the set, while
TADDR[19:16] indicates which way to clear:
0001
way #0 (4-way)/way #0 first half (2-way)
0010
way #1 (4-way)/way #1 first half (2-way)
0100
way #2 (4-way)/way #0 second half (2-way)
1000
way #3 (4-way)/way #1 second half (2-way)
* For 2-way cache configuration, this operation has to be done twice in order to clear the
entire way.
OP[3:0]

Operation
This field determines which cache operations will be performed.
0001
invalidate all cache lines
0010
invalidate one cache line using address
© 2016 - 2017 MediaTek Inc.

Page 367 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0100
1001
1010
1100
EN

Enables command
This enabling bit must be written 1 to enable the command.
0 Does not enable
1
Enable

CACHE+08h
Bit

invalidate one cache line using set/way
flush all cache lines
flush one cache line using address
flush one cache line using set/way

31

30

Cache hit count 0 lower part
29

28

27

26

Name
Type
Reset
Bit

25

23

22

21

20

19

18

17

16

5

4

3

2

1

0

R/W
0
15

14

13

12

11

10

9

8

7

6

CHIT_CNT0[15:0]

R/W
0

CACHE+0Ch
31

30

Cache hit count 0 upper part
29

28

27

26

25

Name
Type
Reset
Bit

24

CHIT_CNT0[31:16]

Name
Type
Reset

Bit

CACHE_HCNT0L

CACHE_HCNT0U

24

23

22

21

20

19

18

17

16

6

5

4

3

2

1

0

RESERVED

15

14

13

12

11

10

Name
Type
Reset

9

8

7

CHIT_CNT0[47:32]

R/W
0

When the CNTEN0 bit in the CACHE_CON register is set to 1 (enabled), this register will start to record
the cache hit count until it is disabled. If the value increases to above the maximum value (0xffffffffffff), it
will be rolled over to 0 and continue counting. The 48-bit counter provides a recording time of 31 days
even if MCU runs at 104MHz, and every cycle is a cache hit. Note, that before enabling the counter,
writing the initial value 0 to the counter is recommended.
CHIT_CNT0[47:0] Cache hit count 0
WRITE Write any value to CACHE_HCNT0L or CACHE_HCNT0U clears
CHIT_CNT0 to all 0.
READ Current counter value
CACHE+10h
Bit

31

30

Cacheable access count 0 lower part
29

28

27

26

Name
Type
Reset
Bit

25

24

23

CACHE_CCNT0L
22

21

20

19

18

17

16

5

4

3

2

1

0

CACC_CNT0[31:16]

R/W
0
15

14

13

12

11

10

9

8

7

6

© 2016 - 2017 MediaTek Inc.

Page 368 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Name
Type
Reset

CACC_CNT0[15:0]

R/W
0

CACHE+14h
Bit

31

30

Cacheable access count 0 upper part
29

28

27

26

25

Name
Type
Reset
Bit

24

23

CACHE_CCNT0U
22

21

20

19

18

17

16

6

5

4

3

2

1

0

RESERVED

15

14

13

12

11

10

Name
Type
Reset

9

8

7

CACC_CNT0[47:32]

R/W
0

When the CNTEN0 bit in the CACHE_CON register is set to 1 (enabled), this register is incremented at
each cacheable memory access (no matter whether it is a cache miss or a cache hit). If the value increases
to above the maximum value (0xffffffffffff), it will be rolled over to 0 and continue counting. For 104MHz
MCU speed, if all memory accesses are cacheable and cache hit, this counter will overflow after
(2^48)*9.6ns = 31 days. This is the shortest time for the counter to overflow. In a more realistic case, the
system will have cache misses, non-cacheable accesses and idle mode that makes the counter overflow at
later time.
CACC_CNT0[47:0] Cache access count 0
WRITE Write any value to CACHE_CCNT0L or CACHE_CCNT0U clears
CACC_CNT0 to all 0.
READ Current counter value
The best way to use CACHE_HCNT0 and CACHE_CCNT0 is to set the initial value to 0 for both registers,
enable both counters (set CNTEN0 to 1), run a portion of program to be benchmarked, stop the counters
and get their values. Therefore, during this period,

Cache hit rate =

CACHE _ HCNT
× 100%
CACHE _ CCNT

The cache hit rate value may help tune the performance of the application program. Note that
CHIT_CNT0 and CACC_CNT0 only increment if the cacheable attribute is defined in MPU cacheable
region lower half channels (i.e. channels 0 ~ 7 of the total 16 channels).
CACHE+18h
Bit

31

30

Cache hit count 1 lower part
29

28

27

26

Name
Type
Reset
Bit
Name
Type
Reset

25

CACHE_HCNT1L
24

23

22

21

20

19

18

17

16

5

4

3

2

1

0

CHIT_CNT1[31:16]

R/W
0
15

14

13

12

11

10

9

8

7

6

CHIT_CNT1[15:0]

R/W
0

© 2016 - 2017 MediaTek Inc.

Page 369 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
CACHE+1Ch
Bit

31

30

Cache hit count 1 upper part
29

28

27

26

25

Name
Type
Reset
Bit

CACHE_HCNT1U
24

23

22

21

20

19

18

17

16

6

5

4

3

2

1

0

RESERVED

15

14

13

12

11

10

Name
Type
Reset

9

8

7

CHIT_CNT1[47:32]

R/W
0

When the CNTEN1 bit in CACHE_CON register is set to 1 (enabled), this register will start to record the
cache hit count until it is disabled. If the value increases to above the maximum value (0xffffffffffff), it will
be rolled over to 0 and continue counting. The 48-bit counter provides a recording time of 31 days even if
MCU runs at 104MHz, and every cycle is a cache hit. Note, that before enabling the counter, writing the
initial value 0 to the counter is recommended.
CHIT_CNT1[47:0] Cache hit count
WRITE Write any value to CACHE_HCNT1L or CACHE_HCNT1U clears
CHIT_CNT1 to all 0.
READ Current counter value

CACHE+20h
Bit

31

30

Cacheable access count 1 lower part
29

28

27

26

Name
Type
Reset
Bit

25

15

14

13

12

11

10

9

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

CACC_CNT1[15:0]

R/W
0

31

30

Cacheable access count 1 upper part
29

28

27

26

25

Name
Type
Reset
Bit

22

R/W
0

CACHE+24h

Name
Type
Reset

23

CACC_CNT1[31:16]

Name
Type
Reset

Bit

24

CACHE_CCNT1L

24

23

CACHE_CCNT1U
22

21

20

19

18

17

16

6

5

4

3

2

1

0

RESERVED

15

14

13

12

11

10

9

8

7

CACC_CNT1[47:32]

R/W
0

When CNTEN1 bit in CACHE_CON register is set to 1 (enabled), this register is incremented at each
cacheable memory access (no matter whether it is a cache miss or a cache hit). If the value increases to
above the maximum value (0xffffffffffff), it will be rolled over to 0 and continue counting. For 104MHz
MCU speed, if all memory accesses are cacheable and cache hit, this counter will overflow after
(2^48)*9.6ns = 31 days. This is the shortest time for the counter to overflow. In a more realistic case, the
system will have cache misses, non-cacheable accesses and idle mode that makes the counter overflow at
later time.

© 2016 - 2017 MediaTek Inc.

Page 370 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
CACC_CNT1[47:0] Cache access count 1
WRITE Write any value to CACHE_CCNT1L or CACHE_CCNT1U clears
CACC_CNT1 to all 0.
READ Current counter value
The best way to use CACHE_HCNT1 and CACHE_CCNT1 is to set the initial value to 0 for both registers,
enable both counters (set CNTEN1 to 1), run a portion of program to be benchmarked, stop the counters
and get their values. Therefore, during this period,

Cache hit rate =

CACHE _ HCNT
× 100% .
CACHE _ CCNT

The cache hit rate value may help tune the performance of the application program. Note that
CHIT_CNT1 and CACC_CNT1 only increment if the cacheable attribute is defined in MPU cacheable
region for upper half channels (i.e. channels 8 ~ 15 of the total 16 channels).
CACHE+2C
Bit

Cache region enable

CACHE_REGION_EN

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Name
Type
Reset
Bit

Name CH15 CH14 CH13 CH12 CH11 CH10 CH9 CH8 CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

CH15~CH0

Enables/Disables the associated region
0 Disable the region setting
1
Enable the region setting

© 2016 - 2017 MediaTek Inc.

Page 371 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
16.4.

Cacheable region controller

Cacheable region controller provides cacheable memory indication, featuring cacheable settings and attributes.

16.4.1.

Cacheable settings

•

Determine if a memory region is cacheable or not. If cacheable, MCU will keep a small copy in its cache
after read accesses. If MCU requires the same data later, it can acquire it from the high-speed local copy,
instead of low-speed external memory.

•

The 4GB memory space is divided into 16 memory blocks with 256MB size each, i.e. MB0 to MB15. The
characteristics of these memory blocks are listed below:

•

All memory blocks are determined by the Cacheable Region Controller. Note, that the software should
avoid making cache line access to the MB that does not support burst read/write. Usually only MB0 ~
MB1, mapped to EMI, are set as cacheable regions.

16.4.2.

Cacheable attribute

Figure 16.4-1. Cacheable setting example
Figure 16.4-1 provides cacheable settings in each memory block. Five regions are defined in the figure. Note, that
each region can be continuous or non-continuous to each other. The address ranges not covered by any region in

© 2016 - 2017 MediaTek Inc.

Page 372 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
the cacheable settings are set to be uncacheable automatically. There is also one restriction: different regions must
not overlap.
The user can define a maximum of 16 regions in MB0 ~ MB1. Each region has its own settings defined in a 32-bit
register:
Register format
Bit

31

30

29

28

27

26

25

Bit

23

22

21

20

19

18

17

16

6

5

4

3

2

1

0

BASEADDR[31:16]

Name
Type
Reset
Name
Type
Reset

24
RW

15

14

13

12

11

10

9

8

BASEADDR[15:12]

C

RW

RW
0

0

7

16.4.2.1. Region base address
The region base address defines the starting point of the memory region. The user must only specify several upper
address bits and align the base address to a minimum 4KB boundary.

16.4.2.2. Region size
The region size enumeration setting in the register is disabled in MT7686. Instead, use the CACHEABLE_END
register to specify the end address base of a certain channel. The end address is non-inclusive, and the BASEADDR
is inclusive. For example, by setting BASEADDR to 0x1000 and END BASEADDR to 0x2000, any address in the range
(0x1000, 0x2000) will match this cacheable region setting.
The CACHEABLE_END register has 16 entries, starting right after the normal register and 0xE0190040 being the
first entry.
Table 16.4-1. Cacheable attribute bit encoding
Bit encoding

Permission

0

Non-cacheable

1

Cacheable

© 2016 - 2017 MediaTek Inc.

Page 373 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
16.4.3.

Register mapping

Module name: CACHE_Entry Base address: (+E0190000h)
CACHE_EMTRY_base+4*(n-1)
Bit

31

30

29

28

27

n-th channel control
26

25

24

23

CACHE_entry_n
22

21

20

19

18

17

16

6

5

4

3

2

1

0

BASEADDR[31:16]

Name
Type
Reset

RW
0

Bit

15

Name
Type
Reset

14

13

12

11

10

9

8

7

BASEADDR[15:12]

C

RW

RW
0

0

CACHE_EMTRY_base+0x40 + 4*(n-1) n-th channel control
Bit

31

30

29

28

27

26

25

24

23

CACHE_End_entry_n

22

21

20

19

18

17

16

6

5

4

3

2

1

0

BASEADDR[31:16]

Name
Type
Reset

RW
0

Bit

15

Name
Type
Reset

14

13

12

11

10

9

8

7

BASEADDR[15:12]
RW
0

•

MT7686 supports 16 channels.

•

Refer to register format for detailed filed descriptions.

© 2016 - 2017 MediaTek Inc.

Page 374 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
16.5.

Remapping

MT7686 cache provides three sets of registers to create the actual memory address same as the different CPU
load/store target address. Figure 16.5-1 shows the process of remapping.
The software sets 0x0xxxxxxx to cacheable and 0xFxxxxxxx to non–cacheable, but they are mapped to the same
physical address.

Memory Map
0x00000000

Bank 0

0x02000000

Remap:
0x10xxxxxxx
0x18xxxxxxx

0x00xxxxxxxx
0x02xxxxxxxx

Bank 1

ARM
Cache
Controller
Address Remap

0x10000000

L1 Bus

vBank 1

0x18000000

vBank 0
Figure 16.5-1. Example settings of cache remapping

To achieve this:
1.

Set regions beginning with 0x0000_0000 to cacheable.

2.

Set regions beginning with 0x1000_0000 to non-cacheable.

3.

Set BASEADDR field in Remap EntryHi to 0x1000_0000.

4.

Set BASEADDR filed in Remap EntryLo to 0x0000_0000.

© 2016 - 2017 MediaTek Inc.

Page 375 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
16.5.1.

Register mapping

Module name: NC-Remap Base address: (+E0181000h)
REMAP+0000h Remap Entry_HI0
Bit

31

30

29

28

27

26

NCREMAP_HI0
25

Name
Type
Reset
Bit

24

23

22

21

20

19

18

17

16

5

4

3

2

1

0

BASEADDR[31:16]

RW
15

14

Name
Type
Reset

13

12

11

10

9

8

7

6

BASEADDR[15:09]

SIZE[4:0]

EN

RW

RW
00000

RW
0

This register sets up the remapping base attributes for region 0.
BASEADDR Base address of this region
SIZE
Size of this region (refer to Table 13)
EN
ENABLES THIS REGION
0 DISABLE
1 ENABLE
REMAP+0004h Remap Entry_LO0
Bit

31

30

29

28

27

26

NCREMAP_LO0
25

Name
Type
Reset
Bit

24

23

22

21

20

19

18

17

16

5

4

3

2

1

0

BASEADDR[31:16]

RW
15

14

Name
Type
Reset

13

12

11

10

9

8

7

6

BASEADDR[15:09]

RW

This register sets up the mapped address base for CPU accesses that are hits in NC-Remap Entry0_HI.
REMAP+0008h Remap Entry_HI1
Bit

31

30

29

28

27

26

NCREMAP_HI1
25

Name
Type
Reset
Bit

24

23

22

21

20

19

18

17

16

5

4

3

2

1

0

BASEADDR[31:16]

RW
15

14

Name
Type
Reset

13

12

11

10

9

8

7

6

BASEADDR[15:09]

SIZE[4:0]

EN

RW

RW
00000

RW
0

This register sets up the remapping base attributes for region 1.
REMAP+000Ch Remap Entry_LO1
Bit

31

30

29

28

27

26

NCREMAP_LO1
25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

Page 376 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Name
Type
Reset
Bit

BASEADDR[31:16]

RW
15

14

Name
Type
Reset

13

12

11

10

9

8

7

6

5

4

3

2

1

0

BASEADDR[15:09]

RW

This register sets up the mapped address base for CPU accesses that are hits in NC-Remap Entry1_HI.
REMAP+0010h Remap Entry_HI2
Bit

31

30

29

28

27

26

NCREMAP_HI2
25

Name
Type
Reset
Bit

24

23

22

21

20

5

4

19

18

17

3

2

1

16

BASEADDR[31:16]

RW
15

14

Name
Type
Reset

13

12

11

10

9

8

7

6

0

BASEADDR[15:09]

SIZE[4:0]

EN

RW

RW
00000

RW
0

This register sets up the remapping base attributes for region 2.
BASEADDR Base address of this region
SIZE
Size of this region (refer to Table 13)
EN
ENABLES THIS REGION
0 DISABLE
1 ENABLE

REMAP+0014h Remap Entry_LO2
Bit

31

30

29

28

27

26

NCREMAP_LO2
25

Name
Type
Reset
Bit

24

23

22

21

20

19

18

17

16

5

4

3

2

1

0

BASEADDR[31:16]

RW
15

14

Name
Type
Reset

13

12

11

10

9

8

7

6

BASEADDR[15:09]

RW

This register sets up the mapped address base for CPU accesses that are hits in NC-Remap Entry2_HI.
Note that the base and size settings in 3 EntryHi cannot be overlapped. Otherwise, the resultant mapped address
will be undefined.
Table 16.5-1. Region size and bit encoding
Region size

Bit encoding

Base address

512B

00000

Bit [31:09] of region start address

1KB

00001

Bit [31:10] of region start address

2KB

00010

Bit [31:11] of region start address

© 2016 - 2017 MediaTek Inc.

Page 377 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Region size

Bit encoding

Base address

4KB

00011

Bit [31:12] of region start address

8KB

00100

Bit [31:13] of region start address

16KB

00101

Bit [31:14] of region start address

32KB

00110

Bit [31:15] of region start address

64KB

00111

Bit [31:16] of region start address

128KB

01000

Bit [31:17] of region start address

256KB

01001

Bit [31:18] of region start address

512KB

01010

Bit [31:19] of region start address

1MB

01011

Bit [31:20] of region start address

2MB

01100

Bit [31:21] of region start address

4MB

01101

Bit [31:22] of region start address

8MB

01110

Bit [31:23] of region start address

16MB

01111

Bit [31:24] of region start address

32MB

10000

Bit [31:25] of region start address

64MB

10001

Bit [31:26] of region start address

© 2016 - 2017 MediaTek Inc.

Page 378 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

17. Auxiliary ADC Unit
MT7686 features an auxiliary ADC (AUXADC) unit with four channels to measure external channels and a 12-bit
Successive Approximation Register (SAR) ADC. The SAR ADC waveform is shown in Figure 16.5-1.
Reference
11/11 Vref
10/11 Vref
9/11 Vref
8/11 Vref
7/11 Vref
6/11 Vref
5/11 Vref
4/11 Vref
3/11 Vref
2/11 Vref

Vin

1/11 Vref
bit[11] bit[10] bit[9]= bit[8]= bit[7]= bit[6]= bit[5]= bit[4]= bit[3]= bit[2]= bit[1]= bit[0]=
=0
=0
0
1
0
1
0
1
0
1
1
0

Comparison

Figure 16.5-1. SAR ADC waveform

17.1.

Features

1) Immediate mode.
There are four channels for external channel use in immediate mode. The AUXADC measures the values only once
when the flag of the channel in the AUXADC_CON1 register is set. The value sampled for channel 0 is stored in
register AUXADC_DATA0, and the value for channel 1 is stored in register AUXADC_DATA1, and so on.
2) Zero-consumption-voltage (ZCV) mode.
There is only one channel for external channel use in ZCV mode. This channel measures voltage automatically to
monitor battery power during power up and wake up.

17.2.

Block diagram

The block diagram for the AUXADC is shown in Figure 17.2-1.

© 2016 - 2017 MediaTek Inc.

Page 379 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
DIV_EN

PDN_AUXADC

DIV_EN
DIV_EN_H

AUTOSET_S
IMMEDIATE
TR
_STR

ADC_R
DY

APB BUS
AUXADC_REG

AUXADC_SIF

AUXADC_CORE
SEL_LATCH
ADC_STA
[3:0]
TE

ADC_LAT
CH
Latch_Data

DAC

ADC_SDATA

SPLD

ADC_SFS
ADC_SCKO

Vi
n

COM
P

SADC_SIF

ADC

ADC_ST
ADC_PD
N

ADC_SEL_IN

ADC_SEL_OUT

Figure 17.2-1. AUXADC block diagram

17.3.

Functions

1) Immediate mode.
The AUXADC measures values once only when the flag of the channel in the AUXADC_CON1 register is set. For
example, if the value in AUXADC_CON1 is set, the AUXADC will sample the data for channel 0. Without configuring
AUXADC_CON4, AUXADC_CON1 must be cleared and set again to initialize another sampling.
If the AUTOSET flag in register AUXADC_CON4 is set, the auto-sampling function will be enabled. The A/D converter
then samples the data for the specified channel. When the data register AUXADC_DATA0 is read, the A/D converter
immediately samples the next value for channel 0.
If multiple channels are selected at the same time, the task will be performed sequentially on every selected
channel. For example, if AUXADC_CON1 is set to 0xf, if 4 channels are selected, the state machine in the unit will
start sampling from channel 3 to channel 0 and save the values of each input channel in respective registers.
2) Zero-consumption-voltage (ZCV) mode
There is only one channel for external channels in ZCV mode. This channel only measures voltage automatically
during power up and wake up. Set AUXADC_ZCV_BYPASS to 1, to prevent default automatic measurements after
wake up. The ZCV data will be saved into AUXADC_DATA_ZCV.
Table 17.3-1. AUXADC channel description

17.4.

AUXADC Channel ID

Description

Channel 0

External (immediate mode)

Channel 1

External (immediate mode and ZCV mode)

Channel 2

External (immediate mode)

Channel 3

External (immediate mode)

Programming sequence

1) Immediate mode:
Immediate mode sampling is accomplished by programming AUXADC_CON1 with the channels to be sampled.

© 2016 - 2017 MediaTek Inc.

Page 380 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

Sample data after selecting the channel.

•

Wait for AUXADC_CON3 [0]: ADC_STAT to change from 1 (busy) to 0 (idle).

It is required to program AUXADC_CON1 back to 0 before sampling again. The immediate mode programming
sequence is summarized in Figure 17.4-1.
Step 1. Turn on analog power
MACRO_CON2[0]:
RG_AUXADC_LDO_EN =1
Step 2. Turn on digital clock
ANA_EN_CON[0]: AUXADC_EN =1

Turn on AUXADC
power and clock

Step 1.
AUXADC_CON4[8]: SOFT_RST = 1
Step 2.
AUXADC_CON4[8]: SOFT_RST = 0

Software reset

Set channel
(immediate mode)

Step 1. Clear AUXADC_CON1
AUXADC_CON1 = 0
Step 2. Set the channel
AUXADC_CON1 = 4'b100

Wait for ADC_STAT== 0
Sample data

Figure 17.4-1. Immediate mode programming sequence
Note: to disable the AUXADC, turn off digital clock (ANA_EN_CON[0] = 0) first and turn off analog power
(MACRO_CON2[0]=0) in the end.
2) Zero-consumption-voltage (ZCV) mode:
There is only one channel for external channels in ZCV mode. This channel only measures voltage automatically
during power up and wake up. There is no need to control the ZCV programming sequence. However, it is possible
to control the measurement of next wake up by programming AUXADC_ZCV_BYPASS.
Note: To use ZCV feature, do not disable the clock, otherwise the ZCV feature will not work for next wakeup.

© 2016 - 2017 MediaTek Inc.

Page 381 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
17.5.

Register mapping

Module name: AUXADC Base address: (+a0120000h)
Address

Name

Width
(bits)

Register Functionality

A0120004

AUXADC_CON1

16

Configure the channel in immediate
mode.

A0120008

AUXADC_CON3

16

Configure reset and read status.

A012000C

AUXADC_CON4

16

Configure auto-set.

A0120010

AUXADC_DATA0

16

Channel 0 data

A0120014

AUXADC_DATA1

16

Channel 1 data

A0120018

AUXADC_DATA2

16

Channel 2 data

A012001C

AUXADC_DATA3

16

Channel 3 data

A0120050

AUXADC_DATA_ZCV

16

ZCV channel data

A0120074

MACRO_CON2

16

Configure analog control.

A0120078

ANA_EN_CON

16

Configure digital clock.

A0120004

AUXADC_CON1

Bit
Nam
e
Type
Rese
t

14

15

13

12

11

Configure the channel in immediate
mode
10

9

8

7

6

5

4

3

00000000
2

1

0

AUXADC_CON1
RW
0

Bit(s)

Name

Description

3:0

AUXADC_CON1

Bit 0 : Channel 0 immediate mode

•
•

0: The channel is not selected.

•
•

0: The channel is not selected.

•
•

0: The channel is not selected.

•
•

0: The channel is not selected.

0

0

0

1: The channel is selected.
Bit 1 : Channel 1 immediate mode
1: The channel is selected.
Bit 2 : Channel 2 immediate mode
1: The channel is selected.
Bit 3 : Channel 3 immediate mode

A0120008
Bit
Nam
e

15

AUXADC_CON3
14

13

12

11

1: The channel is selected.

Configure the reset and read status
10

9

8
SO
FT
_R
ST

7

6

© 2016 - 2017 MediaTek Inc.

5

4

3

00000000
2

1

0
AD
C_
ST
AT

Page 382 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t

RW

RO

0

0

Bit(s)

Name

Description

8

SOFT_RST

Software reset AUXADC state machine

•
•

0: Default value

1: Reset the AUXADC state machine
Set to 1 then clear again to finish reset.
0

Defines the state of the module

ADC_STAT

•
•
A012000C
Bit

AUXADC_CON4

15

14

13

12

11

0: Idle.
1: Busy.

Configure the auto set
10

9

8

7

6

00000000
5

4

3

2

1

Nam
e
Type
Rese
t

0
AU
TO
SE
T
RW
0

Bit(s)

Name

Description

0

AUTOSET

Defines the auto-sampling mode of the module. In this mode, each
channel starts sampling immediately without configuring the
control register AUXADC_CON1 again.

A0120010

AUXADC_DATA0

Bit
Nam
e
Type
Rese
t

14

15

13

12

11

Channel 0 data
10

9

8

7

00000000
6

5

4

3

2

1

0

0

0

0

0

0

AUXADC_DATA0
RO
0

0

0

0

0

0

0

Bit(s)

Name

Description

11:0

AUXADC_DATA0

Sampled data for channel 0.

A0120014

AUXADC_DATA1

Bit
Nam
e
Type
Rese
t

14

15

13

12

11

Channel 1 data
10

9

8

7

00000000
6

5

4

3

2

1

0

0

0

0

0

0

AUXADC_DATA1
RO
0

0

0

0

0

0

Bit(s)

Name

Description

11:0

AUXADC_DATA1

Sampled data for channel 1.

© 2016 - 2017 MediaTek Inc.

0

Page 383 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A0120018

AUXADC_DATA2

Bit
Nam
e
Type
Rese
t

14

15

13

12

11

Channel 2 data
10

9

8

7

00000000
6

5

4

3

2

1

0

0

0

0

0

0

AUXADC_DATA2
RO
0

0

0

0

0

0

0

Bit(s)

Name

Description

11:0

AUXADC_DATA2

Sampled data for channel 2.

A012001C

AUXADC_DATA3

Bit
Nam
e
Type
Rese
t

14

15

13

12

11

Channel 3 data
10

9

8

7

00000000
6

5

4

3

2

1

0

0

0

0

0

0

0

5

4

3

2

1

0

0

0

0

0

AUXADC_DATA3
RO
0

0

0

0

0

0

Bit(s)

Name

Description

11:0

AUXADC_DATA3

Sampled data for channel 3.

A0120050

AUXADC_DATA_ZCV

Bit
Nam
e
Type
Rese
t

14

15

13

12

11

ZCV_channel

10

9

8

7

00000000
6

AUXADC_DATA_ZCV
RO
0

0

0

0

0

0

0

Bit(s)

Name

Description

11:0

AUXADC_DATA_ZCV

Sampled data for ZCV channel

0

Configure the analog control

A0120074

MACRO_CON2

Bit
Nam
e
Type
Rese
t
Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
RG
_A
UX
AD
C_
LD
O_
EN
RW

Nam
e

Type
Rese
t

00000400

RG_AUXADC_LDO

RW
0

1

0

0

© 2016 - 2017 MediaTek Inc.

0

Page 384 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Name

Description

11:8

RG_AUXADC_LDO

•
•
•
•
•
•
•
•

0

RG_AUXADC_LDO_EN

A0120078
Bit

14

13

12

4'b0001 : 2.425V
4'b0010 : 2.45V
4'b0011 : 2.475V
4'b0100 : 2.5V (default value)
4'b0101 : 2.525V
4'b0110 : 2.55V
4'b0111 : 2.575V

Enables the AUXADC analog power.

ANA_EN_CON

15

4'b0000 : 2.4V

Configure the digital clock
11

10

9

8

7

6

5

00000000
4

3

2

1

Nam
e
Type
Rese
t

0
AU
XA
DC
_E
N
RW
0

Bit(s)

Name

Description

0

AUXADC_EN

Enables the AUXADC clock.

© 2016 - 2017 MediaTek Inc.

Page 385 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

18. Reset Generation Unit
MediaTek MT7686 reset generation unit (RGU) provides three types of resets: hardware reset, watchdog reset and
software reset:
•

Hardware reset. This reset is input through the xreset_rstb pin, which is driven low during PMU power-on.
The hardware reset has a global effect on the chip: all digital and analog circuits are initialized.

•

Watchdog reset. The watchdog reset is generated when the watchdog timer expires. CMSYS, CONNSYS,
CONNSYS_CPU, SDCTL and INFRASYS are affected by the watchdog reset.

•

Software reset. Software resets are local reset signals that initialize specific hardware components.
Subsystems with this feature are CONNSYS, CONNSYS_CPU and SDCTL.

18.1.

Features

•

Watchdog timer (WDT) time out length and interval time can be configured by registers WDT_LENGTH
and WDT_INTERVAL.

•

The reset generation unit includes four external trigger sources: xreset_rstb, JTAG_rstb, AIRCR_rstb (from
Cortex M4) and PCM_wdt_rstb (from power control management). The latter three signals can be masked
independently by registers MODULE0_RST_MASK, MODULE1_RST_MASK and MODULE2_RST_MASK.

•

AIRCR_rstb reset source can be extended by register AIRCR_RST_INTERVAL for special applications.

•

Each register can be protected by corresponding keys to avoid unexpected register settings.

•

The RGU includes six retention flags and six retention data, these registers will only be reset by hardware
reset (xreset_rstb).

18.2.

Block diagram
RGU
cmsys_rstb

xreset_rstb
Watch Dog Timer

hreset_rstb

JTAG_rstb (PAD)
AIRCR_rstreq(PAD)

connsys_rstb

Reset Extender

PCM_wdt_rstb
RG: connsys_sw_rst

connsys_cpu_rstb

RG: connsys_cpu_sw_rst

RG: JTAG_rstb_mask

RG: sdctl_sw_rst

RG: AIRCR_rstreq_mask
RG:
PCM_wdt_rstb_mask
RG: PMU_rgu_rst_mask

sdctl_rstb

pmu_rgu_rstb

Figure 18.2-1. Block diagram of RGU

18.3.

WDT timeout and interval source

The WDT timeout length is generated by a 16-bit counter and the counter clock period is 15.625 ms. The WDT
interval time is generated by a 16-bit counter and the counter clock period is 3.05 us. The detailed diagram is
shown in Figure 18.3-1.

© 2016 - 2017 MediaTek Inc.

Page 386 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
WDT reset
(active low)

WDT length
(counter unit: 15.625 ms)

WDT interval
(counter unit: 3.05 us)

Figure 18.3-1. WDT timeout length and interval time

The AIRCR reset extender is an 8-bit counter, and the counter clock period is 3.05 µs. The operation range of the
AIRCR interval extender is from 0 to 7.78 µs.

18.4.

Register mapping

Module name: RGU Base address: (+A2090000h)
Address

Name

Width
(bits)

Register Functionality

A2090000 WDT_EN

32

Watchdog Timer Enable Register

A2090004 WDT_LENGTH

32

Watchdog Length Register

A2090008 WDT_INTERVAL

32

Watchdog Interval Register

A209000C WDT_SW_RESTART

32

Watchdog Timer Software Restart Register

A2090010 WDT_SW_RST

32

Watchdog Timer Software Reset Register

A2090014 WDT_AUTO_RESTART
_EN

32

Watchdog Timer Auto Restart Register

A2090018 WDT_IE

32

Watchdog Timer Interrupt Enable Register

A209001C WDT_INT

32

Watchdog Timer Interrupt Register

A2090020 WDT_STA

32

Watchdog Timer Status Register

A2090024 SW_RST0

32

Software Reset 0 Register

A2090028 SW_RST1

32

Software Reset 1 Register

A209002C RST_MASK0

32

Reset Mask 0 Register

A2090030 RST_MASK1

32

Reset Mask 1 Register

A2090034 AIRCR_RST_INTERVA
L

32

AIRCR Reset Interval Register

A2090038 RETN_FLAG0

32

Retention Flag 0 Register

A209003C RETN_FLAG1

32

Retention Flag 1 Register

A2090040 RETN_FLAG2

32

Retention Flag 2 Register

A2090044 RETN_FLAG3

32

Retention Flag 3 Register

A2090048 RETN_FLAG4

32

Retention Flag 4 Register

A209004C RETN_FLAG5

32

Retention Flag 5 Register

A2090050 RETN_DAT0

32

Retention Data 0 Register

A2090054 RETN_DAT1

32

Retention Data 1 Register

A2090058 RETN_DAT2

32

Retention Data 2 Register

A209005C RETN_DAT3

32

Retention Data 3 Register

A2090060 RETN_DAT4

32

Retention Data 4 Register

A2090064 RETN_DAT5

32

Retention Data 5 Register

© 2016 - 2017 MediaTek Inc.

Page 387 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A209000

WDT_EN

0
Bit
Name
Type
Reset
Bit

Watchdog Timer Enable Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Name
Type
Reset

00000100

24

23

22

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

0

0

0

0

WD
T_
EN
RW
1

KEY
0

0

0

WO

0

Bit(s)

Name

Description

8

WDT_EN

Watchdog timer enable
0: Disable watchdog timer
1: Enable watchdog timer

7:0

KEY

Configure WDT enable register, if KEY= 8'h11.

WDT_LENGT

A2090004

Watchdog Length Register

H

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:16

WDT_LENGTH

Watchdog timer length
The counter unit length is 15.625 ms.

7:0

KEY

Configure WDT length, if KEY= 8'h12.

30

0

0

15

14

29
0

13

28
0

12

27
0

11

26
1

WDT_INTER

A209000
8

25

24

23

22

21

9

8

7

6

5

4

0

0

0

0

WDT_LENGTH
RW
1
1
1
1

10

07FF0000

1

20

19

1

1

KEY
WO

1

17
1

1

0

0

0

0

0

0FFF0000

31

Bit(s)

Name

Description

31:16

WDT_INTERVAL

Watchdog timer interval
Indicates reset duration when watchdog timer timeout occurs. However, the
register will not be valid when WDT_IE is 1.
The interval counter unit is 3.05 µs.

7:0

KEY

Configure WDT interval, if KEY= 8'h13.

0

0

15

14

29
0

13

28
0

12

27
1

11

26
1

10

25

24

23

22

21

9

8

7

6

5

4

0

0

0

0

WDT_INTERVAL
RW
1
1
1
1

© 2016 - 2017 MediaTek Inc.

1

1

2

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

16

3

Watchdog Interval Register

VAL

18

20

19

1

1

KEY
WO

18
1

17
1

16
1

3

2

1

0

0

0

0

0

Page 388 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A209000

WDT_SW_R

C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Watchdog Timer Software Restart Register

ESTART
31

30

29

28

27

26

25

24

23

22

21

8

7

6

0

0

5

4

0

0

15

14

13

12

11

10

9

0

KEY[31:16]
WO
0
0

0

0

0

0

0

0

0

KEY[15:0]
WO
0
0

0

0

0

0

0

0

20

19

0

0

3

2

0

0

Bit(s)

Name

Description

31:0

KEY

Watchdog timer software restart
Software restart watchdog timer, if KEY = 32'h1456789a.

WDT_SW_R

A2090010

Watchdog Timer Software Reset Register

ST

31

Bit(s)

Name

Description

31:0

KEY

Watchdog timer software reset
Software trigger watchdog timer reset, if KEY= 32'h156789ab.

29

28

27

26

25

24

23

22

21

8

7

6

0

0

5

4

0

0

15

14

13

12

11

10

9

0

KEY[31:16]
WO
0
0

0

0

0

0

0

0

0

KEY[15:0]
WO
0
0

0

0

0

0

0

0

18

17

16

0

0

1

0

0

0

0

0

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

00000000

20

19

18

17

0

0

3

2

0

0

16

0

0

1

0

0

0

0

0

WDT_AUTO_
A2090014

RESTART_E

Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Watchdog Timer Auto Restart Register

00000000

N

Name

Type
Reset

24

23

22

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

0

0

0

0

WD
T_
AU
TO
_R
EST
AR
T_
EN
RW
0

KEY

0

0

0

0

WO

Bit(s)

Name

Description

8

WDT_AUTO_RESTART_
EN

Watchdog timer automatic restart enable
Hardware auto restart after watch dog timer reset
0: Disable

© 2016 - 2017 MediaTek Inc.

Page 389 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1: Enable
7:0

Configure WDT automatic restart enable register, if KEY= 8'h16.

KEY

WDT_IE

A2090018
Bit
Name
Type
Reset
Bit

Watchdog Timer Interrupt Enable Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Name
Type
Reset

24

23

22

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

0

0

0

0

WD
T_I
E
RW
0

KEY
0

0

0

0

WO

Bit(s)

Name

Description

8

WDT_IE

Watchdog timer interrupt enable
Issues an interrupt instead of a watchdog timer reset.

7:0

KEY

Configure WDT interrupt enable, if KEY= 8'h17.

WDT_INT

A209001C
Bit
Name
Type
Reset
Bit

00000000

Watchdog Timer Interrupt Register

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Name
Type
Reset

Bit(s)

Name

Description

0

WDT_INT

Watchdog timer interrupt
WDT interrupt read clear register.

WDT_STA

A2090020

Watchdog Timer Status Register

0

WD
T_I
NT
RC
0

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

Bit(s)

Name

Description

1:0

WDT_STA

Watchdog timer status
[1]: HW_WDT, indicates the cause of watchdog reset.
0: Reset not due to watchdog timer.
1: Reset due to watchdog timer expired timeout.
[0]: SW_WDT, indicates if watchdog timer reset is triggered by software.

© 2016 - 2017 MediaTek Inc.

16

17

16

1

0

WDT_STA
RO
0
0

Page 390 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
0: Reset not due to software triggered watchdog timer.
1: Reset due to software triggered watchdog timer.

SW_RST0

A2090024
Bit

31

30

29

28

Software Reset 0 Register
27

26

25

Name

Type
Reset
Bit

15

14

13

12

11

10

9

Name

Type
Reset

24

MO
DU
LE1
_S
W_
RS
T
RW
0

8

MO
DU
LE
0_S
W_
RS
T
RW
1

23

22

21

00000100
20

19

18

17

0

0

1

0

0

0

0

KEY1

0

7

0

6

0

5

WO

0

0

4

3

2

0

0

0

WO

0

0

Name

Description

24

MODULE1_SW_RST

CONNSYS_CPU_SW_RST
0: no reset
1: invoke a reset

23:16

KEY1

Configure CONNSY CPU software reset if KEY= 8'h19

8

MODULE0_SW_RST

CONNSYS_SW_RST
0: no reset
1: invoke a reset

7:0

KEY0

Configure CONNSY software reset if KEY= 8'h18

SW_RST1

Bit

31

30

29

28

Software Reset 1 Register
27

26

25

Name

Type
Reset
Bit

15

14

13

12

11

10

9

Name

Type
Reset

Bit(s)

Name

24

MO
DU
LE3
_S
W_
RS
T
RW
0

8

MO
DU
LE2
_S
W_
RS
T
RW
0

0

KEY0

Bit(s)

A2090028

16

23

22

21

00000000
20

19

18

17

16

0

0

1

0

0

0

0

KEY1

0

7

0

6

0

5

0

WO

4

0

3

2

0

KEY0

0

0

0

0

WO

0

Description

© 2016 - 2017 MediaTek Inc.

Page 391 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reserved

24

MODULE3_SW_RST

23:16

KEY1

8

MODULE2_SW_RST

SDCTL_SW_RST
0: no reset
1: Invoke a reset

7:0

KEY0

Configure SDCTL software reset, if KEY= 8'h1a.

RST_MASK0

A209002C
Bit

31

30

29

28

Reset Mask 0 Register
27

26

25

Name

Type
Reset
Bit

15

14

13

12

11

10

9

Name

Type
Reset

24

MO
DU
LE1
_R
ST_
MA
SK
RW
1

8

MO
DU
LE
0_
RS
T_
MA
SK
RW
1

23

22

21

01000100
20

19

0

7

0

6

0

5

0

0

0

23:16

KEY1

Configure AIRCR reset mask, if KEY= 8'h1d.

8

MODULE0_RST_MASK

JTAG reset mask
Mask reset source from JTAG, default enable.
0: disable mask
1: enable mask

7:0

KEY0

Configure JTAG reset mask, if KEY= 8'h1c.

28

Name

15

14

13

12

0

0

0

0

19

18

17

0

0

Reset Mask 1 Register
27

26

25

Name

Type
Reset
Bit

0

WO

0

AIRCR reset require mask
Mask reset source from AIRCR, default enable.
0: disable mask
1: enable mask

29

11

10

9

24

MO
DU
LE3
_R
ST_
MA
SK
RW
1

8

MO
DU
LE2
_R

16

2

0

KEY0

MODULE1_RST_MASK

30

1

3

24

RST_MASK1

0

0

4

Description

31

0

WO

0

Name

Bit

17

KEY1

Bit(s)

A2090030

18

23

22

21

01000100
20

16

KEY1

0

7

0

6

© 2016 - 2017 MediaTek Inc.

0

5

0

4

WO

0

3

2

1

0

0

KEY0

Page 392 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2090030

RST_MASK1

Reset Mask 1 Register
ST_
MA
SK
RW
1

Type
Reset

0

0

01000100

0

Bit(s)

Name

Description

24

MODULE3_RST_MASK

PMU reset mask
Mask reset to PMU, default enable.
0: disable mask
1: enable mask

23:16

KEY1

Configure PMU reset mask, if KEY= 8'h1f.

8

MODULE2_RST_MASK

PCM reset require mask
Mask reset source from PCM, default enable.
0: disable mask
1: enable mask

7:0

KEY0

Configure PCM reset mask, if KEY= 8'h1e.

AIRCR_RST_

A2090034

0

AIRCR Reset Interval Register

INTERVAL

31

30

15

14

0

0

Bit(s)

Name

Description

15:8

AIRCR_RST_INTERVAL

AIRCR reset interval
Indicates reset duration when AIRCR is enabled.
The interval counter unit is 3.05 us.

7:0

KEY

KEY= 8'h21

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

1

0

0

0

0

0

0

0

0

AIRCR_RST_INTERVAL
RW
0
0
0
1

KEY
WO

Retention Flag 0 Register

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:16

RETN_FLAG0

Retention flag 0
This register will only be reset by hardware reset.

7:0

KEY

Configure Retention flag 0 reset mask if KEY= 8'h22

0

0

14

0

28

0

15

0

29

RETN_FLAG
30

0

00000700

Bit
Name
Type
Reset
Bit
Name
Type
Reset

A2090038

WO

0

29
0

13

28
0

12

27
0

11

26
0

10

25
0

9

24

23

22

21

8

7

6

0

0

0

0

RETN_FLAG0
RW
0
0

© 2016 - 2017 MediaTek Inc.

20

19

0

0

5

4

0

0

KEY
WO

18

17

16

3

2

0

0

1

0

0

0

0

0

0

Page 393 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

RETN_FLAG1

A209003C

Retention Flag 1 Register

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Bit(s)

Name

Description

31:16

RETN_FLAG1

Retention flag 1
This register will only be reset by hardware reset.

7:0

KEY

Configure retention flag 1 reset mask, if KEY= 8'h23.

30

0

0

15

14

29
0

13

28
0

12

27
0

11

26
0

0

10

RETN_FLAG

A2090040

25

9

24

23

22

21

8

7

6

0

0

0

0

RETN_FLAG1
RW
0
0

20

19

0

0

5

4

0

0

KEY
WO

0

0

1

0

0

0

0

0

Bit(s)

Name

Description

31:16

RETN_FLAG2

Retention flag 2
This register will only be reset by hardware reset.

7:0

KEY

Configure retention flag 2 reset mask, if KEY= 8'h24.

0

0

15

14

0

13

28
0

12

27
0

11

26
0

0

10

RETN_FLAG

A2090044

25

9

24

23

22

21

8

7

6

0

0

0

0

RETN_FLAG2
RW
0
0

20

19

0

0

5

4

0

0

KEY
WO

0

1

0

0

0

0

0

Name

Description

31:16

RETN_FLAG3

Retention flag 3
This register will only be reset by hardware reset.

7:0

KEY

Configure retention flag 3 reset mask, if KEY= 8'h25.

0

14

0

13

0

12

27
0

11

26
0

10

25
0

9

24

23

22

21

8

7

6

0

0

0

0

RETN_FLAG3
RW
0
0

© 2016 - 2017 MediaTek Inc.

0

00000000

Bit(s)

0

15

28

16

0

31

29

17

2

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

18

3

Retention Flag 3 Register

3

0

00000000

31

29

16

2

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

17

3

Retention Flag 2 Register

2

18

20

19

0

0

5

4

0

0

KEY
WO

18

17

16

3

2

0

0

1

0

0

0

0

0

0

Page 394 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
RETN_FLAG

A2090048
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Retention Flag 4 Register

4

31

30

0

0

15

14

29
0

13

28
0

12

27
0

11

26

25

0

0

10

9

24

23

22

21

8

7

6

0

0

0

0

RETN_FLAG4
RW
0
0

00000000
20

19

0

0

5

4

0

0

KEY
WO

0

0

1

0

0

0

0

0

Name

Description

RETN_FLAG4

Retention flag 4
This register will only be reset by hardware reset.

7:0

KEY

Configure retention flag 4 reset mask, if KEY= 8'h26.

Retention Flag 5 Register

5

C
31

Bit(s)

Name

Description

31:16

RETN_FLAG5

Retention flag 5
This register will only be reset by hardware reset.

7:0

KEY

Configure retention flag 5 reset mask, if KEY= 8'h27.

0

0

15

14

29
0

13

28
0

12

27
0

11

26

25

0

0

10

9

24

23

22

21

8

7

6

0

0

0

0

RETN_FLAG5
RW
0
0

30

Bit(s)

Name

Description

31:0

RETN_DAT0

Retention data 0
This register will only be reset by hardware reset.

0

0

0

0

26

13

12

11

10

0

0

0

0

0

0

RETN_DAT1
30

31

29

28

25

24

23

22

9

8

7

6

RETN_DAT0[31:16]
RW
0
0
0
0

0

14

Bit
Name
Type

KEY
WO

RETN_DAT0[15:0]
RW
0
0
0
0

21
0

26

25

24

23

22

RETN_DAT1[31:16]
RW

© 2016 - 2017 MediaTek Inc.

17

16

2

0

0

1

0

0

0

0

0

0

00000000
20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

20

19

18

Retention Data 1 Register
27

18

3

Retention Data 0 Register
27

15

A2090054

0

0

RETN_DAT0

0

0

0

31

28

19

4

Bit
Name
Type
Reset
Bit
Name
Type
Reset

29

20

5

A2090050

0

00000000

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

16

2

31:16

RETN_FLAG

17

3

Bit(s)

A209004

18

21

0

00000000
17

16

Page 395 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2090054
Reset
Bit
Name
Type
Reset

0

RETN_DAT1
0

0

0

Retention Data 1 Register
0

0

15

14

13

12

11

10

0

0

0

0

0

0

0

0

0

0

4

0

3

0

2

0

RETN_DAT1[15:0]
RW
0
0
0
0

5

1

0

0

0

0

0

0

0

20

19

18

17

9

0

8

0

7

6

Bit(s)

Name

Description

31:0

RETN_DAT1

Retention data 1
This register will only be reset by hardware reset.

A2090058

RETN_DAT2

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

Bit(s)

Name

Description

31:0

RETN_DAT2

Retention data 2
This register will only be reset by hardware reset.

0

0

29
0

28
0

Retention Data 2 Register
27
0

26

14

13

12

11

10

0

0

0

0

0

0

25

24

23

22

9

8

7

6

RETN_DAT2[31:16]
RW
0
0
0
0

0

15

RETN_DAT2[15:0]
RW
0
0
0
0

21
0

0

3

2

0

0

1

0

0

0

0

0

0

0

20

19

18

17

RETN_DAT3
30

Bit(s)

Name

Description

31:0

RETN_DAT3

Retention data 3
This register will only be reset by hardware reset.

0

0

0

Retention Data 3 Register
27
0

26

14

13

12

11

10

0

0

0

0

0

0

24

23

22

9

8

7

6

RETN_DAT3[31:16]
RW
0
0
0
0

0

15

25

RETN_DAT3[15:0]
RW
0
0
0
0

A2090060

RETN_DAT4

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

Bit(s)

Name

Description

31:0

RETN_DAT4

Retention data 4

0

0

29
0

28
0

21
0

0

26
0

15

14

13

12

11

10

0

0

0

0

0

0

25

24

23

22

9

8

7

6

RETN_DAT4[31:16]
RW
0
0
0
0
RETN_DAT4[15:0]
RW
0
0
0
0

© 2016 - 2017 MediaTek Inc.

0

00000000
16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

Retention Data 4 Register
27

16

0

31
0

00000000

4

Bit
Name
Type
Reset
Bit
Name
Type
Reset

28

0

5

A209005C

29

00000000

21
0

0

00000000
20

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

0

Page 396 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
This register will only be reset by hardware reset.

A2090064

RETN_DAT5

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

31
0

0

29
0

28
0

Retention Data 5 Register
27
0

26
0

15

14

13

12

11

10

0

0

0

0

0

0

25

24

23

22

9

8

7

6

RETN_DAT5[31:16]
RW
0
0
0
0
RETN_DAT5[15:0]
RW
0
0
0
0

21
0

19

18

17

16

5

4

0

0

3

2

0

0

1

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

RETN_DAT5

Retention data 5
This register will only be reset by hardware reset.

© 2016 - 2017 MediaTek Inc.

00000000
20

0

Page 397 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

19. True Random Number Generator
19.1.

Overview

The True Random Number Generator (TRNG) is a device in power-down domain that generates random numbers
from the ring oscillator (RO) outputs. Various types of ROs are adopted, including Hybrid Fibonacci Ring Oscillator
(H-FIRO), Hybrid Ring Oscillator (H-RO) and Hybrid Galois Ring Oscillator (H-GARO). Interrupt request (IRQ) is issued
once the random data is successfully generated.

19.2.

Features

•

Normal mode. In normal mode, turn on ROs and sample their outputs to generate random numbers. Once
the random data is valid, IRQ will be issued.

•

Freerun mode. Continuously activates ROs to create interference on the power source. This can be used
to help prevent side-channel attacks. IRQ should be masked at this mode.

19.3.

Block diagram

Figure 19.3-1 shows the block diagram of TRNG. The APB interface controller handles the MCU control signal and
activates the TRNG FSM controller to start the generation process (FSM denotes finite state machine). The Ring
oscillator core contains seven ROs, and each of them is designed based on a specific polynomial. The random data
is derived from these RO outputs. The Von Neumann Extractor is used to balance the 0/1 probability of the
random data. This feature can be enabled by TRNG_CONF (default off). Note that the generated random data are
designed for one-time use only, i.e. register TRNG_DATA will be reset right after the data is accessed by the MCU.

APB Interface Controller

TRNG FSM Controller
TRNG_DATA [31:0]

Ring Oscillator Core

Von-Neumann Extractor

Figure 19.3-1. TRNG block diagram
Figure 19.3-2 shows the block diagram of a general RO. It contains an odd number of inverter cores, a multiplexer,
and a sample register. The inverter core design is shown in Figure 19.3-3, which consists of a multiplexer, an
inverter, and a delay element. The dashed lines shown in both figures denote the oscillation path within the ring

© 2016 - 2017 MediaTek Inc.

Page 398 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
oscillator and the inverter core, respectively. The wire/cell delay on the path is sensitive to PVT (process, voltage,
temperature) variation, i.e. the sampled data is unpredictable; this property makes the ring oscillator a perfect
choice for entropy source.

UNGATE

0

D Q

1
Outer loop

SPL_DFF

SYS_CLK
Figure 19.3-2. Ring Oscillator
LATCH

IN

0

OUT

1

DLY
Inner loop

Figure 19.3-3. Inverter Core

19.4.

Function description

The fundamental function of the TRNG is to generate random numbers. Figure 19.4-1 shows the operation flow:
1) TRNG_IDLE. The initial state of TRNG. The operating conditions should be set at this stage, for example,
the time interval for each FSM state (TRNG_TIME), or select the RO for random number generation
(TRNG_CONF). Once the configurations are ready, the generation flow can be activated by setting
trng_start in TRNG_CTRL.
2) TRNG_LATCH. In this state, TRNG starts inner loop oscillation, i.e. the inner loop of inverter core (Figure 13) is closed and outer loop of RO (Figure 1-2) is opened. The time interval of this state is controlled by
register TRNG_TIME [15:8].
3) TRNG_UNGATE. TRNG enters outer loop oscillation, i.e. the inner loop of inverter core is opened and outer
loop of RO is closed. The time interval of this state is controlled by register TRNG_TIME [23:16].
4) TRNG_SAMPLE. In this stage, all RO outputs are sampled and XOR-ed to derive one single random bit.
Next, the process will go back to TRNG_LATCH to get another bit, or to TRNG_IDLE if all the 32-bit
random data is valid. Once the generation is done, IRQ will be issued and the status of TRNG_INT_SET
[0] will be 1. The time interval of this state is controlled by register TRNG_TIME[31:24].
The Von Neumann Extractor is designed to balance the 0/1 probability of the random data. It first monitors two
consecutively generated random bits to determine one valid output bit. The basic rules for valid bit are as follows:
1) If the two consecutive random bits are 00, the output bit of the extractor will be invalid (X).
2) If the two consecutive random bits are 01, the output bit of the extractor will be 0.
3) If the two consecutive random bits are 10, the output bit of the extractor will be 1.
© 2016 - 2017 MediaTek Inc.

Page 399 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
4) If the two consecutive random bits are 11, the output bit of the extractor will be invalid (X).
Every even number bit of the extractor output, if it is a valid bit, will be used for the final random data generation.
For example, if the original random data is 1110_1101_0111_1011, the probability of 1’s is 75%. The
corresponding extractor output will be 1XX1_0X10_10XX_X10X. If only even number bits are considered, the result
will be X1_X0_0X_1X. By removing the invalid bits, the final obtained random data is 1001 and the probability of 1s
is now down to 50%.
This mechanism is time-consuming as many random bits are dropped out during the process. One can set the
timeout limit in TRNG_CONF to constrain the generation time. The default timeout limit is 1024, this means
timeout error will be issued after 1024 random bits are generated. Note, that timeout detection is available only
when the Von Neumann extractor is enabled.

TRNG_IDLE

TRNG_LATCH
(Inner loop oscillation)

TRNG_UNGATE
(Outer loop oscillation)

TRNG_SAMPLE
(Get 1 bit TRNG data)

No

Done?
(32-bit data)

Yes

Figure 19.4-1. TRNG operation flow

19.5.

Programming sequence

The general programming flow is shown below:
1) Enable TRNG_CG_CLOCK (see the clock setting section, for more details).
2) Set TRNG_TIME to specify the time interval of each state (default 0x08030F01).
3) Set TRNG_CONF [14:8] to select which RO to enable, such as 0x7F.
4) Set TRNG_CTRL [0] to 1 to start TRNG.
5) Wait for IRQ or poll TRNG_INT_SET [0].
6) Read TRNG_INT_SET to check IRQ status (bit [0] = 1: successful; bit [1] = 1: timeout).
7) Set TRNG_INT_CLR to 0 x 0 to clear IRQ status.
8) Read out TRNG_DATA to get 32-bit random data.

© 2016 - 2017 MediaTek Inc.

Page 400 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
9) Set TRNG_CTRL [0] to 0 to stop TRNG.
10) Disable TRNG_CG_CLOCK.

19.6.

Register mapping

TRNG control/status registers are listed as follows:
Module name: TRNG Base address: (+A0010000h)
Address

Name

Width

Register Functionality

A0010000

TRNG_CTRL

32

This register controls TRNG operation
mode.

A0010004

TRNG_TIME

32

This register controls the timing of each
state.

A0010008

TRNG_DATA

32

This register stores the generated random
data.

A001000C

TRNG_CONF

32

This register configures RO behavior.

A0010010

TRNG_INT_SET

32

This register stores the IRQ status.

A0010014

TRNG_INT_CLR

32

This register is used to clear the IRQ status.

A0010000

TRNG_CTRL

Bit

31
trng_
Name rdy
Type RO

Reset
Bit

This register controls TRNG operation 00000000
mode.

30

29

28

27

26

25

24

23

22

21

20

19

18

14

13

12

11

10

9

8

7

6

5

4

3

2

Type
Reset

1
0
trng_
trng_
freer
start
un
RW
RW
0

Bit(s)

Name

Description

31

trng_rdy

•

0

16

0
15

Name

1

17

trng_freerun

trng_start

A0010004

TRNG_TIME

•

•

0

This register indicates the status of random number generation
o

0: random data is not ready

o

1: random data is ready

This register is used to enable freerun mode
o

0: disable freerun

o

1: enable freerun

This register is used to start/stop random number generation
o

0: stop generation

o

1: start generation

This register controls the timing of

© 2016 - 2017 MediaTek Inc.

03080F01

Page 401 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
each state.
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

sample_cnt
RW
0
0

0

0

0

15

14

13

12

0

latch_cnt
RW
0
1

0

0

11

26

25

24

23

22

21

0

1

1

0

0

0

10

9

8

7

6

5

1

1

1

0

0

0

20

19

ungate_cnt
RW
0
1
4

3

sysclk_cnt
RW
0
0

18

17

16

0

0

0

2

1

0

0

0

1

Bit(s)

Name

Description

31:24

sample_cnt

This register controls the interval of TRNG sample state.

23:16

ungate_cnt

This register controls the interval of TRNG ungate state.

15:8

latch_cnt

This register controls the interval of TRNG latch state.

7:0

sysclk_cnt

The TRNG operation frequency is equal to the bus frequency divided by
SYSCLK_CNT.

A0010008
Bit
Name
Type
Reset
Bit
Name
Type
Reset

TRNG_DATA

31

30

29

28

This register stores the generated
random data.
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

0

0

0

0

0

24

23

trng_data
RW
0
0
8

7

trng_data
RW
0
0

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Bit(s)

Name

Description

31:0

trng_data

The generated random data.

A001000C
Bit

TRNG_CONF

31

30

29

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

This register configures RO behavior.

28
von_e
n
RW

27

26

25

24

23

22

0

0

1

0

0

0

0

12

11

10

9

8

7

6

21

19

18

17

16

0

0

0

0

0

0

5

4

3

2

1

0

0

0

time_out_limit
RW

ro_output_sel

RW
1

1

04007F00

20

ro_enable
1

00000000

1

RW
1

1

1

0

0

0

0

0

Bit(s)

Name

Description

28

von_en

This register is used to enable the Von-Neumann extractor
1: turn on
0: turn off

27:16

time_out_limit

This register sets the timeout limit when the VonNeumann extractor is enabled. If exceeding the limit, it
will issue a timeout interrupt. (default: timeout after 1024

© 2016 - 2017 MediaTek Inc.

Page 402 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
sample cycles)
14:8

6:0

•

Bit[0] = 1: Enable H-FIRO

•
•

Bit[1] = 1: Enable H-RO

•

Bit[3] = 1: Enable H-GARO2

•
•
•

Bit[4] = 1: Enable H-GARO3

Bit[2] = 1: Enable H-GARO

Bit[5] = 1: Enable H-GARO4
Bit[6] = 1: Enable H-GARO5

Select RO output for debug (debug only)

ro_output_sel

A0010010
Bit
Name
Type
Reset
Bit

Ring oscillator enable for RNG

ro_enable

•
•

7'b000_0001: H-FIRO

•
•

7'b000_0100: H-GARO

•
•
•

7'b001_0000: H-GARO3

TRNG_INT_SET

7'b000_0010: H-RO
7'b000_1000: H-GARO2
7'b010_0000: H-GARO4
7'b100_0000: H-GARO5

This register stores the IRQ status.

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

17

16

1
0
timeo
trng_
ut_fai
done
l
RO
RO

Name
Type
Reset

0

0

Bit(s)

Name

Description

1

timeout_fail

This register indicates TRNG timeout failure.

0

trng_done

This register indicates random number generation was successful.

A0010014
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Bit(s)

TRNG_INT_CLR

31

30

29

28

27

This register is used to clear the IRQ
status.
26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

0

0

Name

0

0

0

0

0

24

23

irq_clr_wr
WO
0
0
8

7

irq_clr_wr
WO
0
0

00000000

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6

5

4

3

2

1

0

0

0

0

0

0

0

0

Description

© 2016 - 2017 MediaTek Inc.

Page 403 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
31:0

irq_clr_wr

Program this register with any value to reset the IRQ status.

© 2016 - 2017 MediaTek Inc.

Page 404 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

20. Real Time Clock (RTC)
The Real-Time Clock (RTC) module provides time and data information, as well as 32.768kHz (32K) clock. The clock
is selected between three clock sources: one external (XOSC32) and two internal (XO_DIV32, EOSC32). A strapping
bit, SLOW_SRC_B, is added for the 32K crystal existence information. The clock source is from the external
oscillator when SLOW_SRC_B is 0.
The RTC block has an independent power supply. When the chip is in retention mode, a dedicated regulator
supplies power to the RTC block. In addition to providing timing data, an alarm interrupt is generated and can be
used to power up the baseband core. Regular interrupts corresponding to seconds, minutes, hours and days can be
generated whenever the time counter value reaches a maximum value (e.g. 59 for seconds and minutes, 23 for
hours, etc.). The year span is supported up till 2127. The maximum day-of-month values, which depend on the leap
year condition, are stored in the RTC block.

20.1.

Features

•

There is one real time timer, one alarm timer and a dedicated EINT channel in the RTC.

•

The RTC can generate wake up events to the Cortex M4, SPM and PMU to wake up the system.

•

There are three 32K clock sources, external 32K crystal (XOSC32), internal oscillator (EOSC32) and divided
32K from 26MHz or 40MHz crystal (XO_DIV32).

20.2.

Block diagram

The block diagram for the RTC is shown in Figure 20.2-1

© 2016 - 2017 MediaTek Inc.

Page 405 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

APB

AHB

Memory Controller
REG
irq_b

Alarm

event_b

Timer

Generator

Retention
SRAM
Power
Controller

RTC

GO_RETENTION

PMU
OSC32
Controller

F32k_ck

PD
SLEEPB

1KB

1KB

1KB

1KB

1KB

1KB

1KB

1KB

RETENTION SRAM
32K
Oscillator
(OSC32)

RTC_EINT

XOUT

XIN

Figure 20.2-1. RTC block diagram

20.3.

Functions

•

Alarm: RTC can generate wake-up events or interrupts when the real-time timer is the same as the alarm
setting.

•

Tick: RTC can generate wake-up events or interrupts when the timer reaches the maximum timeout value.

•

32K source: RTC provides 32.768kHz clock from external crystal or internal oscillator.

20.4.

Programming sequence

Apply the following sequence to modify the registers:
1) Write registers to be modified.
2) Write WRTGR to 1 to trigger data transfer from bus to the RTC.
3) Wait for CBUSY to go low before the next operation.

20.5.

Register mapping

Module name: RTC Base address: (+a2080000h)

A2080004

RTC_IRQ_STA

Width
(bits)
16

A2080008

RTC_IRQ_EN

16

Address

Name

Register Function
RTC IRQ status
RTC IRQ enable

© 2016 - 2017 MediaTek Inc.

Page 406 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Width
(bits)
16

Name

A208000C

RTC_CII_EN

A2080010

RTC_AL_MASK

16

RTC alarm mask

A2080014

RTC_TC0

16

Counter increment IRQ enable
RTC time counter register0
RTC time counter register1

A2080018

RTC_TC1

16

A208001C

RTC_TC2

16

RTC time counter register2

A2080020

RTC_TC3

16

RTC time counter register3
RTC alarm setting register0

A2080024

RTC_AL0

16

A2080028

RTC_AL1

16

RTC alarm setting register1

A208002C

RTC_AL2

16

RTC alarm setting register2

A2080030

RTC_AL3

16

RTC alarm setting register3

A2080038

RTC_NEW_SPAR0

16

New spare register0 for specific purpose

A208003C

RTC_EINT

16

RTC EINT control
PDN0

A2080058

RTC_PDN0

16

A208005C

RTC_PDN1

16

PDN1

A2080060

RTC_SPAR0

16

Spare register0 for specific purpose
Spare register1 for specific purpose

A2080064

RTC_SPAR1

16

A208006C

RTC_DIFF

16

One-time calibration offset

A2080070

RTC_CALI

16

Repeat calibration offset

A2080074

RTC_WRTGR

16

Enable the transfers between core and RTC

A2080078

RTC_GPIO_CON

16

GPIO control register

A2080004 RTC_IRQ_STA
Bit
Nam
e
Type
Rese
t

15

Bit(s)

Mnemonic

3:0

Register Function

14

13

12

RTC IRQ status
11

10

9

8

7

00000000
6

5

4

3

2

1

0

IRQ_STA
RC
0

Name

Description

IRQ_STA

RTC IRQ status

0

0

0

•

IRQ_STA[3]: EINT_STA
Indicates the IRQ status and whether the EINT is asserted.
o 0: No IRQ occurred.
o 1: IRQ occurred.

•

IRQ_STA[2]: LP_STA
Indicates the IRQ status and whether the LPD is asserted.
o 0: No IRQ occurred; the 32K clock can be used.
o 1: IRQ occurred; the 32K clock stopped.

•

IRQ_STA[1]: TC_STA
Indicates the IRQ status and whether the tick condition is
met.
o 0: No IRQ occurred; the tick condition isn’t met.
o 1: IRQ occurred; the tick condition is met.

•

IRQ_STA[0]: AL_STA
Indicates the IRQ status and whether the alarm condition is

© 2016 - 2017 MediaTek Inc.

Page 407 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
met.
o 0: No IRQ occurred; the alarm condition isn’t met.
o 1: IRQ occurred; the alarm condition is met.

A2080008 RTC_IRQ_EN
Bit

15

14

13

12

RTC IRQ enable
11

10

9

8
ON
ES
HO
T
RW

Nam
e
Type
Rese
t
Bit(s)

7

00000000
6

5

4

3

2

1

RW

0

Mnemonic

0
LP
_E
N

0

Name

Description

8

ONESHOT

•

Controls automatic reset of AL_EN and TC_EN.

0

LP_EN

•

Enable the control bit for OSC32 IRQ generation, if low
power is detected (32K clock is off).
o 1'b0: Disable IRQ generations.
o 1'b1: Enable LPD.

A208000C RTC_CII_EN
Bit

15

14

13

12

Counter increment IRQ enable
11

10

9

Nam
e
Type
Rese
t
Bit(s)
8

3:0

8
TC
_E
N
RW

7

6

0

Mnemonic

5

4

00000000
3

2

1

0

CII_EN
RW
0

0

0

0

Name

Description

TC_EN

Enables the control bit for IRQ generation if the tick condition is met.

CII_EN

•

Auto reset when ONESHOT is high upon generation of the
corresponding IRQ.
o 1'b0: Disable IRQ generations.
o 1'b1: Enable the tick time match interrupt.

•

This register activates or de-activates the IRQ generation when the
TC counter reaches its maximum value.
o 4'h0: IRQ at each one-eighth of a second update.
o 4'h1: IRQ at each one-fourth of a second update.
o 4'h2: IRQ at each one-half of a second update.
o 4'h3: IRQ at each second update.
o 4'h4: IRQ at each minute update.
o 4'h5: IRQ at each hour update.
o 4'h6: IRQ at each day update.
o 4'h7: IRQ at each week update.
o 4'h8: IRQ at each month update.
o 4'h9: IRQ at each year update.

© 2016 - 2017 MediaTek Inc.

Page 408 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2080010
Bit

15

RTC_AL_MASK
14

13

12

11

RTC alarm mask
10

9

Nam
e
Type
Rese
t
Bit(s)
8

0

Mnemonic

7

6

5

4

3

2

1

0

0

0

0

AL_MASK
RW
0

0

0

0

Name

Description

AL_EN

Enables the control bit for IRQ generation if the alarm condition is
met.

•

6:0

8
AL
_E
N
RW

00000000

AL_MASK

Auto reset when ONESHOT is high upon generation of the
corresponding IRQ.
o 1'b0: Disable IRQ generations.
o 1'b1: Enable the alarm time match interrupt.

The alarm condition for alarm IRQ generation depends whether the
corresponding bit in this register is masked. Warning: If you set all
bits to 1 in RTC_AL_MASK, such as RTC_AL_MASK=0x7f, and
AL_EN=1, the alarm will run every second.

•

AL_MASK[6]
o 0: Condition (RTC_TC_YEA = RTC_AL_YEA) is checked
to generate the alarm signal.
o 1: Condition (RTC_TC_YEA = RTC_AL_YEA) is masked,
such that the value of RTC_TC_YEA does not affect the
alarm IRQ generation.

•

AL_MASK[5]
o 0: Condition (RTC_TC_MTH = RTC_AL_MTH) is
checked to generate the alarm signal.
o 1: Condition (RTC_TC_MTH = RTC_AL_MTH) is
masked, such that the value of RTC_TC_MTH does not
affect the alarm IRQ generation.

•

AL_MASK[4]
o 0: Condition (RTC_TC_DOW = RTC_AL_DOW) is
checked to generate the alarm signal.
o 1: Condition (RTC_TC_DOW = RTC_AL_DOW) is
masked, such that the value of RTC_TC_DOW does not
affect the alarm IRQ generation.

•

AL_MASK[3]
o 0: Condition (RTC_TC_DOM = RTC_AL_DOM) is
checked to generate the alarm signal.
o 1: Condition (RTC_TC_DOM = RTC_AL_DOM) is
masked, such that the value of RTC_TC_DOM does not
affect the alarm IRQ generation.

•

AL_MASK[2]
o 0: Condition (RTC_TC_HOU = RTC_AL_HOU) is
checked to generate the alarm signal.
o 1: Condition (RTC_TC_HOU = RTC_AL_HOU) is
masked, such that the value of RTC_TC_HOU does not
affect the alarm IRQ generation.

•

AL_MASK[1]
o 0: Condition (RTC_TC_MIN = RTC_AL_MIN) is checked
to generate the alarm signal.

© 2016 - 2017 MediaTek Inc.

Page 409 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
o

•

A2080014

RTC_TC0

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

13

Mnemonic

AL_MASK[0]
o 0: Condition (RTC_TC_SEC = RTC_AL_SEC) is checked
to generate the alarm signal.
o 1: Condition (RTC_TC_SEC = RTC_AL_SEC) is masked,
such that the value of RTC_TC_SEC does not affect the
alarm IRQ generation.

RTC time counter register0
12

0

1: Condition (RTC_TC_MIN = RTC_AL_MIN) is masked,
such that the value of RTC_TC_MIN does not affect the
alarm IRQ generation.

11

10

9

8

7

6

5

00000000
4

3

2

TC_MINUTE

TC_SECOND

RW

RW

0

0

Name

0

0

0

0

0

0

0

1

0

0

0

Description

13:8

TC_MINUTE The minute initial value for the time counter. Range is from 0 to 59.

5:0

TC_SECOND The second initial value for the time counter. Range is from 0 to 59.

A2080018

RTC_TC1

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

13

RTC time counter register1
12

11

0

Mnemonic

0

10

9

8

7

6

5

00000000
4

3

2

TC_DOM

TC_HOUR

RW

RW

0

0

0

0

0

0

1

0

0

0

Name

Description

12:8

TC_DOM

Initial value of the day-of-month for the time counter. The range is
from 1 to X (28, 29, 30, 31). The maximum value X depends on
month and the leap year condition.

4:0

TC_HOUR

Initial value of the hour for the time counter. The range is from 0 to
23.

A208001C

RTC_TC2

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

13

RTC time counter register2
12

11

0

Mnemonic

10

9

8

7

6

5

00000000
4

3

2

1

TC_MONTH

TC_DOW

RW

RW

0

0

0

0

0

0

0

Name

Description

11:8

TC_MONTH

Initial value of the month for the time counter. The range is
from 1 to 12.

2:0

TC_DOW

Initial value of the day-of-week for the time counter. The range
is from 1 to 7.

© 2016 - 2017 MediaTek Inc.

Page 410 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2080020

RTC_TC3

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

13

12

11

10

9

8

7

6

5

00000000
4

3

2

1

0

0

0

0

TC_YEAR
RW
0

Mnemonic

6:0

0

0

Description

TC_YEAR

Initial value of the year for the time counter. The range is from 0 to
127 to represent years 2000 to 2127.
Software can bias the year as multiples of 4 for the internal leap-year
formula.
Here are 3 examples: 2000-2127, 1972-2099, 1904-2031. To simplify,
RTC hardware treats all 4-multiples as leap years. If the range you
defined includes a non-leap 4-multiple year (such as 2100), you have
to adjust it to the correct date (change February 29th, 2100 to March
1st, 2100).
It's suggested to bias the range larger than 1900 and less than 2100 to
evade the manual adjustment, such that the bias values are suggested
to be in the range [-28,-96], that are (1972-2099) - (1904-2031).
The formal leap formula:
if year modulo 400 is 0 then leap
else if year modulo 100 is 0 then no leap
else if year modulo 4 is 0 then leap
else no leap

RTC_AL0

Bit
Nam
e
Type
Rese
t

14

15

0

Name

A2080024

Bit(s)

RTC time counter register3

13

0

RTC alarm setting register0
12

0

Mnemonic

11

10

9

8

7

6

5

00000000
4

3

2

AL_MINUTE

AL_SECOND

RW

RW

0

0

0

0

0

0

0

0

1

0

0

0

Name

Description

13:8

AL_MINUTE

The minute value of the alarm counter setting. Range is
from 0 to 59.

5:0

AL_SECOND

The second value of the alarm counter setting. Range is
from 0 to 59.

A2080028

RTC_AL1

Bit
Nam
e
Type
Rese
t

14

Bit(s)
12:8

15

13

RTC alarm setting register1
12

0

Mnemonic

11

10

9

8

7

6

5

00000000
4

3

2

AL_DOM

AL_HOUR

RW

RW

0

0

0

0

0

0

0

1

0

0

0

Name

Description

AL_DOM

The day-of-month value of the alarm counter setting.
Range is from 1 to X (28, 29, 30, 31). The maximum

© 2016 - 2017 MediaTek Inc.

Page 411 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
value X depends on month and the leap year condition.
4:0

AL_HOUR

A208002C RTC_AL2
Bit
Nam
e
Type
Rese
t
Bit(s)

15

14

13

RTC alarm setting register2
12

11

10

9

8

7

6

5

00000000
4

3

2

1

AL_MONTH

AL_DOW

RW

RW

0

Mnemonic

The hour value of the alarm counter setting. Range is
from 0 to 23.

0

0

0

0

0

0

0

Name

Description

11:8

AL_MONTH

The month value of the alarm counter setting. Range
is from 1 to 12.

2:0

AL_DOW

The day-of-week value of the alarm counter setting.
Range is from 1 to 7.

A2080030

RTC_AL3

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

13

RTC alarm setting register3
12

11

9

8

7

6

5

00000000
4

3

1

0

0

0

0

RW
0

Mnemonic

The year value of the alarm counter setting. Range is
from 0 to 127 to represent the years 2000 to 2127.

14

0

0

0

AL_YEAR

Bit
Nam
e
Type
Rese
t

13

0

Description

RTC_NEW_SPAR0

15

0

Name

A2080038

12

11

New spare register0 for specific
purpose
10

9

8

7

6

5

4

RTC_NEW_SPAR0_0

RW

RW

0

0

0

0

0

0

0

0

0

0

Description

15:8

RTC_NEW_SPAR0_1

Reserved for specific purposes.

7:0

RTC_NEW_SPAR0_0

Reserved for specific purposes.

A208003C RTC_EINT
14

2

RTC_NEW_SPAR0_1

Mnemonic

15

00000000
3

Name

Bit
Nam
e
Type
Rese
t

2

AL_YEAR

6:0

Bit(s)

10

13

12

0

0

RTC EINT control
11

10

9

8

7

6

1

0

0

0

00000000
5

4

3

2

1

0

EINT_CON
RW
0

© 2016 - 2017 MediaTek Inc.

0

0

0

Page 412 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

3:0

Name

Description

EINT_CON

•

EINT_CON[3]: INV_EN
o 0: active high
o 1: active low

•

EINT_CON[2]: SYNC_EN
o 0: not synchronized with 32K
o 1: synchronized with 32K

•

EINT_CON[1]: DEB_EN
o 0: disable debounce
o 1: enable debounce

•

EINT_CON[0]: EINT_EN
o 0: disable RTC_EINT channel
o 1: enable RTC_EINT channel

A2080058

RTC_PDN0

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

0

0

13

0

Mnemonic

PDN0

12

11

10

9

00000000
8

7

6

5

4

3

RTC_PDN0_1

RTC_PDN0_0

RW

RW

0

0

0

0

0

0

0

0

0

0

2

1

0

0

0

0

Name

Description

15:8

RTC_PDN0_1

The spare registers for software to keep the power-on and
power-off state information.

7:0

RTC_PDN0_0

The spare registers for software to keep the power-on and
power-off state information.

A208005C

RTC_PDN1

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

0

0

13

0

Mnemonic

PDN1

12

11

10

9

00000000
8

7

6

5

4

3

RTC_PDN1_1

RTC_PDN1_0

RW

RW

0

0

0

0

0

0

0

0

0

0

2

1

0

0

0

0

Name

Description

15:8

RTC_PDN1_1

The spare registers for software to keep the power-on and
power-off state information.

7:0

RTC_PDN1_0

The spare registers for software to keep the power-on and
power-off state information.

A2080060 RTC_SPAR0
Bit
Nam
e
Type
Rese
t

15

0

14

0

13

0

12

Spare register0 for specific purpose
11

10

9

8

7

6

5

4

3

RTC_SPAR0_1

RTC_SPAR0_0

RW

RW

0

0

0

0

0

0

0

© 2016 - 2017 MediaTek Inc.

0

0

0

00000000
2

1

0

0

0

0

Page 413 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

Description

15:8

RTC_SPAR0_1

Reserved for specific purposes.

7:0

RTC_SPAR0_0

Reserved for specific purposes.

A2080064

RTC_SPAR1

Bit
Nam
e
Type
Rese
t

14

Bit(s)

15

0

0

13

0

Spare register1 for specific purpose

12

11

10

9

8

7

6

5

4

3

RTC_SPAR1_1

RTC_SPAR1_0

RW

RW

0

Mnemonic

0

0

0

0

0

0

0

0

Name

Description

15:8

RTC_SPAR1_1

Reserved for specific purposes.

7:0

RTC_SPAR1_0

Reserved for specific purposes.

A208006C RTC_DIFF
Bit
Nam
e
Type
Rese
t
Bit(s)

15

14

13

12

0

0

0

0

One-time calibration offset
11

10

9

8

7

6

5

00000000
4

3

2

1

0

0

0

0

0

0

RW
0

Mnemonic

0

0

0

0

Description
Adjusts internal counter of RTC. It operates once and
returns to 0 when complete.
In some cases, you observe the RTC is faster or slower than the
standard. Changing RTC_TC_SEC is coarse and may cause alarm
problems. RTC_DIFF provides a finer time unit. An internal 15bit counter accumulates in each 32768kHz clock. Entering a nonzero value into the RTC_DIFF will cause the internal RTC
counter to increase or decrease RTC_DIFF when RTC_DIFF
changes to 0 again. RTC_DIFF is in 2's complement.
For example, if you fill 0xFFF into RTC_DIFF, the internal
counter will decrease by 1 when RTC_DIFF returns to 0. In other
words, you can only use RTC_DIFF continuously if RTC_DIFF is
0.

RTC_CALI
14

13

0

RTC_DIFF

Bit
Nam
e
Type
Rese
t

15

0

Name

A2080070

14:0

1

RTC_DIFF

11:0

Bit(s)

0

00000000
2

12

Repeat calibration offset
11

10

9

8

7

00000000

6

5

4

3

2

1

0

0

0

0

0

0

0

0

RTC_CALI
RW
0

Mnemonic

0

0

0

0

0

0

0

Name

Description

RTC_CALI

•

RTC_CALI[14]: CALI_RW_SEL
o 0: Normal RTC_CALI
o 1: K_EOSC32_RTC_CALI

© 2016 - 2017 MediaTek Inc.

Page 414 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•

RTC_CALI[13:0]: RTC_CALI_VALUE
These registers provide a repeat calibration scheme.
RTC_CALI provides two types of calibration.

A2080074
Bit

15

RTC_WRTGR
14

13

12

11

10

•

14-bit calibration capability in 1-second duration at
K_EOSC32 mode (K_EOSC32_RTC_CALI); This type of
usage is with resolution 1/32768=30.52µs

9

8

7

6

5

4

3

2

1

RTC_STA

Type
Rese
t

10:8

14-bit calibration capability in 8-second duration; in other
words, 12-bit calibration capability in each second.
RTC_CALI is in 2's complement, such that you can adjust
RTC increasing or decreasing.
Due to the fact that RTC_CALI is revealed in 8 seconds,
the resolution is less than a 1/32768 clock.
Average resolution: 1/32768/8=3.81µs
Average adjustment range: from -31.25 to 31.246 ms/sec
in 2's complement: -0x2000~0x1FFF
(-8192~8191)

Enable the transfers between core and 00000000
RTC

Nam
e

Bit(s)

•

RO
0

Mnemonic

0

0
WR
TG
R
WO

0

0

Name

Description

RTC_STA

•

RTC_STA[2]: RETENTION_MODE
o 0: System is not in retention mode.
o 1: System is in retention mode or woke up
from retention mode.

•

RTC_STA[1]: RTC_INIT_READY
o 0: RTC has not been initialized
o 1: RTC has been initialized

•

RTC_STA[0]: CBUSY
When read, this bit indicates whether the read/write
channels between RTC/Bus are busy. It will be high
after software programs sequence to any of the RTC
data registers and enables the transfer by WRTGR = 1
or the reload process.
0

WRTGR

•

Enables transfers from core to RTC. After the RTC
registers are modified, write WRTGR to 1 to
trigger the transfer.

•

The prior writing operations are queued at core
power domain. The pending data will not be
transferred to RTC domain until WRTGR = 1.

•

After WRTGR = 1, the pending data will be
transferred to RTC domain sequentially in order of
register address, from low to high.
For example, RTC_BBPU, RTC_IRQ_EN,
RTC_CII_EN, RTC_AL_MASK, RTC_TC_SEC, etc.

© 2016 - 2017 MediaTek Inc.

Page 415 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
The CBUSY in RTC_BBPU is 1 in the writing process.
You can observe CBUSY to determine when the
transmission is complete.

© 2016 - 2017 MediaTek Inc.

Page 416 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

21. General Purpose Inputs/Outputs
21.1.

Overview

MediaTek MT7686 platform offers 21 general-purpose IO (GPIO) pins. By setting up the control registers, the MCU
software can control the direction, the output value and read the input values on these pins. The GPIOs and GPOs
are multiplexed with other functions to reduce the pin count.
The clock to send outside the chip is software configurable. There are six clock-out ports and each clock-out can be
programmed to output the appropriate clock source. In addition, when two GPIOs function for the same peripheral
IP, the smaller GPIO serial number has higher priority over the bigger one.

Figure 21.1-1. GPIO block diagram

21.2.

IO pull up or down control truth table
Table 21.2-1 GPIO IO structure
IO Structure

TYPE0

Pull-up/down
3.63V tolerance

TYPE1

Pull-up/down
5V tolerance

TYPE2

Pull-up/down
5V tolerance
SDIO characteristic support

TYPE3

Pull-up/down
5V tolerance
Analog input/output

© 2016 - 2017 MediaTek Inc.

Page 417 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Table 21-2. GPIO versus IO type mapping
GPIO Name

IO Type

GPIO Name

IO Type

GPIO0

IO TYPE 3

GPIO11

IO TYPE 2

GPIO1

IO TYPE 3

GPIO12

IO TYPE 2

GPIO2

IO TYPE 3

GPIO13

IO TYPE 2

GPIO3

IO TYPE 3

GPIO14

IO TYPE 2

GPIO4

IO TYPE 1

GPIO15

IO TYPE 2

GPIO5

IO TYPE 1

GPIO16

IO TYPE 2

GPIO6

IO TYPE 1

GPIO17

IO TYPE 3

GPIO7

IO TYPE 1

GPIO18

IO TYPE 3

GPIO8

IO TYPE 1

GPIO19

IO TYPE 3

GPIO9

IO TYPE 1

GPIO20

IO TYPE 3

GPIO10

IO TYPE 1

Refer to the truth table of pull-up/down control for all GPIO pins.
Table 21-3. IO type 1 - pull up/down control
GPIO_DIR

GPIO_PU

GPIO_PD

Resistance (Ω)

0

0

0

High-Z

0

0

1

Pull-down, 75K

0

1

0

Pull-up, 75K

0

1

1

Keeper, 75K

1

0

0

High-Z

Table 21-4. IO type 2 - pull up/down control
GPIO_DIR

GPIO_PUPD

GPIO_R1

GPIO_R0

Resistance (Ω)

0

0

0

0

High-Z

0

0

0

1

Pull-up, 47K

0

0

1

0

Pull-up, 47K

0

0

1

1

Pull-up, 23.5K

0

1

0

0

High-Z

0

1

0

1

Pull-down, 47K

0

1

1

0

Pull-down, 47K

© 2016 - 2017 MediaTek Inc.

Page 418 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
GPIO_DIR

GPIO_PUPD

GPIO_R1

GPIO_R0

Resistance (Ω)

0

1

1

1

Pull-down, 23.5K

1

X

X

X

High-Z

Table 21-4. IO type 3 - pull up/down control

21.3.

GPIO_DIR

GPIO_G

GPIO_PU

GPIO_PD

Resistance (Ω)

0

1

0

0

High-Z

0

1

0

1

Pull-down, 75K

0

1

1

0

Pull-up, 75K

0

1

1

1

Keeper, 75K

1

1

x

x

High-Z

x

0

x

x

High-Z

Register mapping

Module name: gpio_reg Base address: (+A20b0000h)
Address

Name

Width

Register Function

A20B0000

GPIO_DIR0

32

GPIO Direction Control

A20B0004

GPIO_DIR0_SET

32

GPIO Direction Control

A20B0008

GPIO_DIR0_CLR

32

GPIO Direction Control

A20B0020

GPIO_DOUT0

32

GPIO Output Data Control

A20B0024

GPIO_DOUT0_SET

32

GPIO Output Data Control

A20B0028

GPIO_DOUT0_CLR

32

GPIO Output Data Control

A20B0030

GPIO_DIN0

32

GPIO Input Data Value

A20B0040

GPIO_MODE0

32

GPIO Mode Control
GPIO Mode Control

A20B0044

GPIO_MODE1

32

A20B0048

GPIO_MODE2

32

GPIO Mode Control

A20B0050

GPIO_MODE0_SET

32

GPIO Mode Control

A20B0054

GPIO_MODE1_SET

32

GPIO Mode Control

A20B0058

GPIO_MODE2_SET

32

GPIO Mode Control

A20B0060

GPIO_MODE0_CLR

32

GPIO Mode Control

A20B0064

GPIO_MODE1_CLR

32

GPIO Mode Control

GPIO_MODE2_CLR

32

GPIO Mode Control

A20B0068

Module name: IO_CFG_0 Base address: (+A20c0000h)
Address
Name
Width
A20C0000

DRV_CFG0

A20C0004

DRV_CFG0_SET

A20C0008

DRV_CFG0_CLR

32
32
32

Register Function

GPIO DRV Control
Configures GPIO driving control
GPIO DRV Control
For bitwise access of DRV_CFG0
GPIO DRV Control

© 2016 - 2017 MediaTek Inc.

Page 419 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Name

Width
32

A20C0010

G_CFG0

A20C0014

G_CFG0_SET

A20C0018

G_CFG0_CLR

A20C0020

IES_CFG0

A20C0024

IES_CFG0_SET

A20C0028

IES_CFG0_CLR

A20C0030

PD_CFG0

A20C0034

PD_CFG0_SET

A20C0038

PD_CFG0_CLR

A20C0040

PU_CFG0

A20C0044

PU_CFG0_SET

A20C0048

PU_CFG0_CLR

A20C0050

RDSEL_CFG0

A20C0054

RDSEL_CFG0_SET

A20C0058

RDSEL_CFG0_CLR

A20C0060

SMT_CFG0

A20C0064

SMT_CFG0_SET

A20C0068

SMT_CFG0_CLR

A20C0080

TDSEL_CFG00

A20C0084

TDSEL_CFG00_SET

A20C0088

TDSEL_CFG00_CLR

A20C0090

TDSEL_CFG01

A20C0094

TDSEL_CFG01_SET

A20C0098

TDSEL_CFG01_CLR

32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32

Register Function

For bitwise access of DRV_CFG0
GPIO Analog input Control
Configures GPIO analog input control
GPIO Analog input Control
For bitwise access of G_CFG0
GPIO Analog input Control
For bitwise access of G_CFG0
GPIO IES Control
Configures GPIO input enabling control
GPIO IES Control
For bitwise access of IES_CFG0
GPIO IES Control
For bitwise access of IES_CFG0
GPIO PD Control
Configures GPIO PD control
GPIO PD Control
For bitwise access of PD_CFG0
GPIO PD Control
For bitwise access of PD_CFG0
GPIO PU Control
Configures GPIO PU control
GPIO PU Control
For bitwise access of PU_CFG0
GPIO PU Control
For bitwise access of PU_CFG0
GPIO RDSEL Control
Configures GPIO RDSEL control
GPIO RDSEL Control
For bitwise access of RDSEL_CFG0
GPIO RDSEL Control
For bitwise access of RDSEL_CFG0
GPIO SMT Control
Configures GPIO SMT control
GPIO SMT Control
For bitwise access of SMT_CFG0
GPIO SMT Control
For bitwise access of SMT_CFG0
GPIO TDSEL Control
Configures GPIO TDSEL control
GPIO TDSEL Control
For bitwise access of TDSEL_CFG00
GPIO TDSEL Control
For bitwise access of TDSEL_CFG00
GPIO TDSEL Control
Configures GPIO TDSEL control
GPIO TDSEL Control
For bitwise access of TDSEL_CFG01
GPIO TDSEL Control
For bitwise access of TDSEL_CFG01

Module name: IO_CFG_1 Base address: (+A20d0000h)
Address
Name
Width
Register Function
A20D0000

DRV_CFG1

32

GPIO DRV Control

© 2016 - 2017 MediaTek Inc.

Page 420 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Name

A20D0004

DRV_CFG1_SET

A20D0008

DRV_CFG1_CLR

A20D0010

G_CFG1

A20D0014

G_CFG1_SET

A20D0018

G_CFG1_CLR

A20D0020

IES_CFG1

A20D0024

IES_CFG1_SET

A20D0028

IES_CFG1_CLR

A20D0030

PD_CFG1

A20D0034

PD_CFG1_SET

A20D0038

PD_CFG1_CLR

A20D0040

PUPD_CFG1

A20D0044

PUPD_CFG1_SET

A20D0048

PUPD_CFG1_CLR

A20D0050

PU_CFG1

A20D0054

PU_CFG1_SET

A20D0058

PU_CFG1_CLR

A20D0060

R0_CFG1

A20D0064

R0_CFG1_SET

A20D0068

R0_CFG1_CLR

A20D0070

R1_CFG1

A20D0074

R1_CFG1_SET

A20D0078

R1_CFG1_CLR

A20D0080

RDSEL_CFG1

A20D0084

RDSEL_CFG1_SET

A20D0088

RDSEL_CFG1_CLR

Width
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32

Register Function

Configures GPIO driving control
GPIO DRV Control
For bitwise access of DRV_CFG1
GPIO DRV Control
For bitwise access of DRV_CFG1
GPIO Analog input Control
Configures GPIO analog input control
GPIO Analog input Control
For bitwise access of G_CFG1
GPIO Analog input Control
For bitwise access of G_CFG1
GPIO IES Control
Configures GPIO input enabling control
GPIO IES Control
For bitwise access of IES_CFG1
GPIO IES Control
For bitwise access of IES_CFG1
GPIO PD Control
Configures GPIO PD control
GPIO PD Control
For bitwise access of PD_CFG1
GPIO PD Control
For bitwise access of PD_CFG1
GPIO PUPD Control
Configures GPIO PUPD control
GPIO PUPD Control
For bitwise access of PUPD_CFG1
GPIO PUPD Control
For bitwise access of PUPD_CFG1
GPIO PU Control
Configures GPIO PU control
GPIO PU Control
For bitwise access of PU_CFG1
GPIO PU Control
For bitwise access of PU_CFG1
GPIO R0 Control
Configures GPIO R0 control
GPIO R0 Control
For bitwise access of R0_CFG1
GPIO R0 Control
For bitwise access of R0_CFG1
GPIO R1 Control
Configures GPIO R1 control
GPIO R1 Control
For bitwise access of R1_CFG1
GPIO R1 Control
For bitwise access of R1_CFG1
GPIO RDSEL Control
Configures GPIO RDSEL control
GPIO RDSEL Control
For bitwise access of RDSEL_CFG1
GPIO RDSEL Control
For bitwise access of RDSEL_CFG1

© 2016 - 2017 MediaTek Inc.

Page 421 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Name

Width
32

A20D0090

SMT_CFG1

A20D0094

SMT_CFG1_SET

A20D0098

SMT_CFG1_CLR

A20D00B0

TDSEL_CFG10

A20D00B4

TDSEL_CFG10_SET

A20D00B8

TDSEL_CFG10_CLR

A20D00C0

TDSEL_CFG11

A20D00C4

TDSEL_CFG11_SET

A20D00C8

TDSEL_CFG11_CLR

32
32
32

Bit

31

30

29

28

32
32
32

A20B0000 GPIO_DIR0

Register Function
GPIO SMT Control
Configures GPIO SMT control
GPIO SMT Control
For bitwise access of SMT_CFG1
GPIO SMT Control
For bitwise access of SMT_CFG1
GPIO TDSEL Control
Configures GPIO TDSEL control
GPIO TDSEL Control
For bitwise access of TDSEL_CFG10
GPIO TDSEL Control
For bitwise access of TDSEL_CFG10
GPIO TDSEL Control
Configures GPIO TDSEL control
GPIO TDSEL Control
For bitwise access of TDSEL_CFG11
GPIO TDSEL Control
For bitwise access of TDSEL_CFG01

32
32

GPIO Direction Control
27

26

25

24

23

22

21

0

1

0

Name
Type
Reset
Bit

00500010
20
19
18
17
16
GPIO GPIO GPIO GPIO GPIO
20_D 19_DI 18_DI 17_DI 16_DI
IR
R
R
R
R
RW
RW
RW
RW
RW
1

0

0

0

0

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name 15_DI 14_DI 13_DI 12_DI 11_DI 10_DI 9_DI 8_DI 7_DI 6_DI 5_DI 4_DI 3_DI 2_DI 1_DI 0_DI
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Type RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
Reset

Bit(s) Mnemonic

Name

Description
GPIO20 direction control
0: GPIO as input
1: GPIO as output
GPIO19 direction control
0: GPIO as input
1: GPIO as output
GPIO18 direction control
0: GPIO as input
1: GPIO as output
GPIO17 direction control
0: GPIO as input
1: GPIO as output
GPIO16 direction control
0: GPIO as input
1: GPIO as output
GPIO15 direction control
0: GPIO as input
1: GPIO as output
GPIO14 direction control
0: GPIO as input

20

GPIO20

GPIO20_DIR

19

GPIO19

GPIO19_DIR

18

GPIO18

GPIO18_DIR

17

GPIO17

GPIO17_DIR

16

GPIO16

GPIO16_DIR

15

GPIO15

GPIO15_DIR

14

GPIO14

GPIO14_DIR

© 2016 - 2017 MediaTek Inc.

Page 422 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

13

GPIO13

GPIO13_DIR

12

GPIO12

GPIO12_DIR

11

GPIO11

GPIO11_DIR

10

GPIO10

GPIO10_DIR

9

GPIO9

GPIO9_DIR

8

GPIO8

GPIO8_DIR

7

GPIO7

GPIO7_DIR

6

GPIO6

GPIO6_DIR

5

GPIO5

GPIO5_DIR

4

GPIO4

GPIO4_DIR

3

GPIO3

GPIO3_DIR

2

GPIO2

GPIO2_DIR

1

GPIO1

GPIO1_DIR

0

GPIO0

GPIO0_DIR

A20B0004 GPIO_DIR0_SET
Bit

31

30

29

28

27

Description
1: GPIO as output
GPIO13 direction control
0: GPIO as input
1: GPIO as output
GPIO12 direction control
0: GPIO as input
1: GPIO as output
GPIO11 direction control
0: GPIO as input
1: GPIO as output
GPIO10 direction control
0: GPIO as input
1: GPIO as output
GPIO9 direction control
0: GPIO as input
1: GPIO as output
GPIO8 direction control
0: GPIO as input
1: GPIO as output
GPIO7 direction control
0: GPIO as input
1: GPIO as output
GPIO6 direction control
0: GPIO as input
1: GPIO as output
GPIO5 direction control
0: GPIO as input
1: GPIO as output
GPIO4 direction control
0: GPIO as input
1: GPIO as output
GPIO3 direction control
0: GPIO as input
1: GPIO as output
GPIO2 direction control
0: GPIO as input
1: GPIO as output
GPIO1 direction control
0: GPIO as input
1: GPIO as output
GPIO0 direction control
0: GPIO as input
1: GPIO as output

GPIO Direction Control
26

25

24

23

22

Name
Type
Reset
Bit

21

00000000
20
19
18
17
16
GPIO GPIO GPIO GPIO GPIO
20_D 19_DI 18_DI 17_DI 16_DI
IR_S R_SE R_SE R_SE R_SE
ET
T
T
T
T
WO
WO
WO
WO
WO
0

0

0

0

0

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name 15_DI 14_DI 13_DI 12_DI 11_DI 10_DI 9_DI 8_DI 7_DI 6_DI 5_DI 4_DI 3_DI 2_DI 1_DI 0_DI
R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE R_SE

© 2016 - 2017 MediaTek Inc.

Page 423 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset

T
WO
0

T
WO
0

Bit(s) Mnemonic

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

T
WO
0

Name

Description
Bitwise SET operation of GPIO20 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO19 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO18 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO17 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO16 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO15 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO14 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO13 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO12 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO11 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO10 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO9 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO8 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO7 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO6 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO5 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO4 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO3 direction

20

GPIO20

GPIO20_DIR_SET

19

GPIO19

GPIO19_DIR_SET

18

GPIO18

GPIO18_DIR_SET

17

GPIO17

GPIO17_DIR_SET

16

GPIO16

GPIO16_DIR_SET

15

GPIO15

GPIO15_DIR_SET

14

GPIO14

GPIO14_DIR_SET

13

GPIO13

GPIO13_DIR_SET

12

GPIO12

GPIO12_DIR_SET

11

GPIO11

GPIO11_DIR_SET

10

GPIO10

GPIO10_DIR_SET

9

GPIO9

GPIO9_DIR_SET

8

GPIO8

GPIO8_DIR_SET

7

GPIO7

GPIO7_DIR_SET

6

GPIO6

GPIO6_DIR_SET

5

GPIO5

GPIO5_DIR_SET

4

GPIO4

GPIO4_DIR_SET

3

GPIO3

GPIO3_DIR_SET

© 2016 - 2017 MediaTek Inc.

T
WO
0

Page 424 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

2

GPIO2

GPIO2_DIR_SET

1

GPIO1

GPIO1_DIR_SET

0

GPIO0

GPIO0_DIR_SET

A20B0008 GPIO_DIR0_CLR
Bit

31

30

29

28

27

Description
0: Keep
1: SET bits
Bitwise SET operation of GPIO2 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO1 direction
0: Keep
1: SET bits
Bitwise SET operation of GPIO0 direction
0: Keep
1: SET bits

GPIO Direction Control
26

25

24

23

22

Name
Type
Reset
Bit

21

00000000
20
19
18
17
16
GPIO GPIO GPIO GPIO GPIO
20_D 19_DI 18_DI 17_DI 16_DI
IR_C R_CL R_CL R_CL R_CL
LR
R
R
R
R
WO
WO
WO
WO
WO
0

15
14
13
12
11
10
9
GPIO GPIO GPIO GPIO GPIO GPIO GPIO
15_DI 14_DI 13_DI 12_DI 11_DI 10_DI 9_DI
Name R_CL R_CL R_CL R_CL R_CL R_CL R_CL
R
R
R
R
R
R
R
Type WO WO WO WO WO WO WO
0
0
0
0
0
0
0
Reset

Bit(s) Mnemonic
20
GPIO20

Name
GPIO20_DIR_CLR

19

GPIO19

GPIO19_DIR_CLR

18

GPIO18

GPIO18_DIR_CLR

17

GPIO17

GPIO17_DIR_CLR

16

GPIO16

GPIO16_DIR_CLR

15

GPIO15

GPIO15_DIR_CLR

14

GPIO14

GPIO14_DIR_CLR

13

GPIO13

GPIO13_DIR_CLR

12

GPIO12

GPIO12_DIR_CLR

0

0

0

0

8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
8_DI 7_DI 6_DI 5_DI 4_DI 3_DI 2_DI 1_DI 0_DI
R_CL R_CL R_CL R_CL R_CL R_CL R_CL R_CL R_CL
R
R
R
R
R
R
R
R
R
WO
WO
WO
WO
WO
WO
WO
WO
WO
0
0
0
0
0
0
0
0
0

Description
Bitwise CLEAR operation of GPIO20 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO19 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO18 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO17 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO16 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO15 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO14 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO13 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO12 direction
0: Keep

© 2016 - 2017 MediaTek Inc.

Page 425 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

11

GPIO11

GPIO11_DIR_CLR

10

GPIO10

GPIO10_DIR_CLR

9

GPIO9

GPIO9_DIR_CLR

8

GPIO8

GPIO8_DIR_CLR

7

GPIO7

GPIO7_DIR_CLR

6

GPIO6

GPIO6_DIR_CLR

5

GPIO5

GPIO5_DIR_CLR

4

GPIO4

GPIO4_DIR_CLR

3

GPIO3

GPIO3_DIR_CLR

2

GPIO2

GPIO2_DIR_CLR

1

GPIO1

GPIO1_DIR_CLR

0

GPIO0

GPIO0_DIR_CLR

A20B0020 GPIO_DOUT0
Bit

31

30

29

28

Description
1: Clear bits
Bitwise CLEAR operation of GPIO11 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO10 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO9 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO8 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO7 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO6 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO5 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO4 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO3 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO2 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO1 direction
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO0 direction
0: Keep
1: Clear bits

GPIO Output Data Control
27

26

25

24

23

22

21

0

0

1

Name
Type
Reset
Bit

00200000
20
19
18
17
16
GPIO GPIO GPIO GPIO GPIO
20_O 19_O 18_O 17_O 16_O
UT
UT
UT
UT
UT
RW
RW
RW
RW
RW
0

0

0

0

0

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name 15_O 14_O 13_O 12_O 11_O 10_O 9_OU 8_OU 7_OU 6_OU 5_OU 4_OU 3_OU 2_OU 1_OU 0_OU
UT
UT
UT
UT
UT
UT
T
T
T
T
T
T
T
T
T
T
Type RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW RW
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

Bit(s) Mnemonic
20
GPIO20

Name
GPIO20_OUT

Description
GPIO20 data output value
0: GPIO output LO

© 2016 - 2017 MediaTek Inc.

Page 426 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

19

GPIO19

GPIO19_OUT

18

GPIO18

GPIO18_OUT

17

GPIO17

GPIO17_OUT

16

GPIO16

GPIO16_OUT

15

GPIO15

GPIO15_OUT

14

GPIO14

GPIO14_OUT

13

GPIO13

GPIO13_OUT

12

GPIO12

GPIO12_OUT

11

GPIO11

GPIO11_OUT

10

GPIO10

GPIO10_OUT

9

GPIO9

GPIO9_OUT

8

GPIO8

GPIO8_OUT

7

GPIO7

GPIO7_OUT

6

GPIO6

GPIO6_OUT

5

GPIO5

GPIO5_OUT

4

GPIO4

GPIO4_OUT

3

GPIO3

GPIO3_OUT

2

GPIO2

GPIO2_OUT

1

GPIO1

GPIO1_OUT

Description
1: GPIO output HI
GPIO19 data output value
0: GPIO output LO
1: GPIO output HI
GPIO18 data output value
0: GPIO output LO
1: GPIO output HI
GPIO17 data output value
0: GPIO output LO
1: GPIO output HI
GPIO16 data output value
0: GPIO output LO
1: GPIO output HI
GPIO15 data output value
0: GPIO output LO
1: GPIO output HI
GPIO14 data output value
0: GPIO output LO
1: GPIO output HI
GPIO13 data output value
0: GPIO output LO
1: GPIO output HI
GPIO12 data output value
0: GPIO output LO
1: GPIO output HI
GPIO11 data output value
0: GPIO output LO
1: GPIO output HI
GPIO10 data output value
0: GPIO output LO
1: GPIO output HI
GPIO9 data output value
0: GPIO output LO
1: GPIO output HI
GPIO8 data output value
0: GPIO output LO
1: GPIO output HI
GPIO7 data output value
0: GPIO output LO
1: GPIO output HI
GPIO6 data output value
0: GPIO output LO
1: GPIO output HI
GPIO5 data output value
0: GPIO output LO
1: GPIO output HI
GPIO4 data output value
0: GPIO output LO
1: GPIO output HI
GPIO3 data output value
0: GPIO output LO
1: GPIO output HI
GPIO2 data output value
0: GPIO output LO
1: GPIO output HI
GPIO1 data output value
0: GPIO output LO
1: GPIO output HI

© 2016 - 2017 MediaTek Inc.

Page 427 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
0
GPIO0

Name
GPIO0_OUT

A20B0024 GPIO_DOUT0_SET
Bit

31

30

29

28

27

Description
GPIO0 data output value
0: GPIO output LO
1: GPIO output HI

GPIO Output Data Control
26

25

24

23

22

Name
Type
Reset
Bit

21

00000000
20
19
18
17
16
GPIO GPIO GPIO GPIO GPIO
20_O 19_O 18_O 17_O 16_O
UT_S UT_S UT_S UT_S UT_S
ET
ET
ET
ET
ET
WO
WO
WO
WO
WO
0

15
14
13
12
11
10
9
GPIO GPIO GPIO GPIO GPIO GPIO GPIO
15_O 14_O 13_O 12_O 11_O 10_O 9_OU
Name UT_S UT_S UT_S UT_S UT_S UT_S T_SE
ET
ET
ET
ET
ET
ET
T
Type WO WO WO WO WO WO WO
0
0
0
0
0
0
0
Reset

Bit(s) Mnemonic
20
GPIO20

Name
GPIO20_OUT_SET

19

GPIO19

GPIO19_OUT_SET

18

GPIO18

GPIO18_OUT_SET

17

GPIO17

GPIO17_OUT_SET

16

GPIO16

GPIO16_OUT_SET

15

GPIO15

GPIO15_OUT_SET

14

GPIO14

GPIO14_OUT_SET

13

GPIO13

GPIO13_OUT_SET

12

GPIO12

GPIO12_OUT_SET

8
GPIO
8_OU
T_SE
T
WO
0

7
6
5
4
GPIO GPIO GPIO GPIO
7_OU 6_OU 5_OU 4_OU
T_SE T_SE T_SE T_SE
T
T
T
T
WO
WO
WO
WO
0
0
0
0

0

0

3
GPIO
3_OU
T_SE
T
WO
0

2
GPIO
2_OU
T_SE
T
WO
0

0

0

1
0
GPIO GPIO
1_OU 0_OU
T_SE T_SE
T
T
WO
WO
0
0

Description
Bitwise SET operation of GPIO20 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO19 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO18 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO17 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO16 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO15 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO14 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO13 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO12 data output
value
0: Keep

© 2016 - 2017 MediaTek Inc.

Page 428 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

11

GPIO11

GPIO11_OUT_SET

10

GPIO10

GPIO10_OUT_SET

9

GPIO9

GPIO9_OUT_SET

8

GPIO8

GPIO8_OUT_SET

7

GPIO7

GPIO7_OUT_SET

6

GPIO6

GPIO6_OUT_SET

5

GPIO5

GPIO5_OUT_SET

4

GPIO4

GPIO4_OUT_SET

3

GPIO3

GPIO3_OUT_SET

2

GPIO2

GPIO2_OUT_SET

1

GPIO1

GPIO1_OUT_SET

0

GPIO0

GPIO0_OUT_SET

A20B0028 GPIO_DOUT0_CLR
Bit

31

30

29

28

27

Description
1: SET bits
Bitwise SET operation of GPIO11 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO10 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO9 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO8 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO7 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO6 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO5 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO4 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO3 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO2 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO1 data output
value
0: Keep
1: SET bits
Bitwise SET operation of GPIO0 data output
value
0: Keep
1: SET bits

GPIO Output Data Control
26

25

24

23

22

Name
Type

© 2016 - 2017 MediaTek Inc.

21

00000000
20
GPIO
20_O
UT_C
LR
WO

19
GPIO
19_O
UT_C
LR
WO

18
GPIO
18_O
UT_C
LR
WO

17
GPIO
17_O
UT_C
LR
WO

16
GPIO
16_O
UT_C
LR
WO

Page 429 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset
Bit

0

15
14
13
12
11
GPIO GPIO GPIO GPIO GPIO
15_O 14_O 13_O 12_O 11_O
Name UT_C UT_C UT_C UT_C UT_C
LR
LR
LR
LR
LR
Type WO WO WO WO WO
0
0
0
0
0
Reset

Bit(s) Mnemonic
20
GPIO20

10
GPIO
10_O
UT_C
LR
WO
0

9
GPIO
9_OU
T_CL
R
WO
0

Name
GPIO20_OUT_CLR

19

GPIO19

GPIO19_OUT_CLR

18

GPIO18

GPIO18_OUT_CLR

17

GPIO17

GPIO17_OUT_CLR

16

GPIO16

GPIO16_OUT_CLR

15

GPIO15

GPIO15_OUT_CLR

14

GPIO14

GPIO14_OUT_CLR

13

GPIO13

GPIO13_OUT_CLR

12

GPIO12

GPIO12_OUT_CLR

11

GPIO11

GPIO11_OUT_CLR

10

GPIO10

GPIO10_OUT_CLR

9

GPIO9

GPIO9_OUT_CLR

8

GPIO8

GPIO8_OUT_CLR

8
GPIO
8_OU
T_CL
R
WO
0

7
6
5
4
GPIO GPIO GPIO GPIO
7_OU 6_OU 5_OU 4_OU
T_CL T_CL T_CL T_CL
R
R
R
R
WO
WO
WO
WO
0
0
0
0

0

0

3
GPIO
3_OU
T_CL
R
WO
0

2
GPIO
2_OU
T_CL
R
WO
0

0

0

1
0
GPIO GPIO
1_OU 0_OU
T_CL T_CL
R
R
WO
WO
0
0

Description
Bitwise CLEAR operation of GPIO20 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO19 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO18 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO17 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO16 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO15 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO14 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO13 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO12 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO11 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO10 data
output value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO9 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO8 data output

© 2016 - 2017 MediaTek Inc.

Page 430 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

7

GPIO7

GPIO7_OUT_CLR

6

GPIO6

GPIO6_OUT_CLR

5

GPIO5

GPIO5_OUT_CLR

4

GPIO4

GPIO4_OUT_CLR

3

GPIO3

GPIO3_OUT_CLR

2

GPIO2

GPIO2_OUT_CLR

1

GPIO1

GPIO1_OUT_CLR

0

GPIO0

GPIO0_OUT_CLR

A20B0030 GPIO_DIN0
Bit

31

30

29

28

value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO7 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO6 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO5 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO4 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO3 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO2 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO1 data output
value
0: Keep
1: Clear bits
Bitwise CLEAR operation of GPIO0 data output
value
0: Keep
1: Clear bits

GPIO Input Data Value
27

26

25

24

23

22

Name
Type
Reset
Bit

00000000
21

20
19
18
17
16
GPIO GPIO GPIO GPIO GPIO
20_D 19_DI 18_DI 17_DI 16_DI
IN
N
N
N
N
RO
RO
RO
RO
RO
0

0

0

0

0

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name 15_DI 14_DI 13_DI 12_DI 11_DI 10_DI 9_DI 8_DI 7_DI 6_DI 5_DI 4_DI 3_DI 2_DI 1_DI 0_DI
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
Type
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

Bit(s)
20
19
18
17
16
15

Mnemonic
GPIO20
GPIO19
GPIO18
GPIO17
GPIO16
GPIO15

Name
GPIO20_DIN
GPIO19_DIN
GPIO18_DIN
GPIO17_DIN
GPIO16_DIN
GPIO15_DIN

Description
GPIO20 data input value
GPIO19 data input value
GPIO18 data input value
GPIO17 data input value
GPIO16 data input value
GPIO15 data input value

© 2016 - 2017 MediaTek Inc.

Page 431 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Mnemonic
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0

Name
GPIO14_DIN
GPIO13_DIN
GPIO12_DIN
GPIO11_DIN
GPIO10_DIN
GPIO9_DIN
GPIO8_DIN
GPIO7_DIN
GPIO6_DIN
GPIO5_DIN
GPIO4_DIN
GPIO3_DIN
GPIO2_DIN
GPIO1_DIN
GPIO0_DIN

A20B0040 GPIO_MODE0
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

Description
GPIO14 data input value
GPIO13 data input value
GPIO12 data input value
GPIO11 data input value
GPIO10 data input value
GPIO9 data input value
GPIO8 data input value
GPIO7 data input value
GPIO6 data input value
GPIO5 data input value
GPIO4 data input value
GPIO3 data input value
GPIO2 data input value
GPIO1 data input value
GPIO0 data input value

GPIO Mode Control
27

26

25

24

23

22

00066666
21

20

19

18

17

16

GPIO7_MODE
RW
0
0
0
0

GPIO6_MODE
RW
0
0
0
0

GPIO5_MODE
RW
0
0
0
0

GPIO4_MODE
RW
0
1
1
0

15

11

7

3

14

13

12

GPIO3_MODE
RW
0
1
1
0

Bit(s) Mnemonic
31:28

10

9

8

GPIO2_MODE
RW
0
1
1
0

Name
GPIO7_MODE

6

5

4

GPIO1_MODE
RW
0
1
1
0

2

1

0

GPIO0_MODE
RW
0
1
1
0

Description
Aux. mode of GPIO_7

0:GPIO7(IO)
1:SPISLV_A_SCK(I)
2:SPIMST_A_SCK(O)
3:EINT7(I)
4:CLKO1(O)
5:WIFI_ANT_SEL2(O)
6:TDM_WS(IO)
7:Reserved
8:Reserved
9:BT_PRI3(IO)
10:Reserved
27:24

GPIO6_MODE

Aux. mode of GPIO_6

0:GPIO6(IO)
1:SPISLV_A_CS(I)
2:SPIMST_A_CS(O)
3:EINT6(I)
4:UTXD0(O)
5:WIFI_ANT_SEL1(O)
6:TDM_TX(O)
7:Reserved
8:Reserved
9:SDA0(IO)
10:Reserved
23:20

GPIO5_MODE

Aux. mode of GPIO_5

© 2016 - 2017 MediaTek Inc.

Page 432 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

Description

0:GPIO5(IO)
1:SPISLV_A_SIO3(IO)
2:SPIMST_A_SIO3(IO)
3:EINT5(I)
4:URXD0(I)
5:WIFI_ANT_SEL0(O)
6:TDM_RX(I)
7:Reserved
8:Reserved
9:SCL0(IO)
10:PMU_RGU_RSTB(O)
19:16

GPIO4_MODE

Aux. mode of GPIO_4

0:GPIO4(IO)
1:SPISLV_A_SIO2(IO)
2:SPIMST_A_SIO2(IO)
3:EINT4(I)
4:Reserved
5:I2S_MCLK(O)
6:JTDO(O)
7:Reserved
8:Reserved
9:WIFI_ANT_SEL3(O)
10:I2S_MCLK(O)
15:12

GPIO3_MODE

Aux. mode of GPIO_3

0:GPIO3(IO)
1:EINT3(I)
2:Reserved
3:UTXD1(O)
4:PWM1(O)
5:I2S_CK(IO)
6:JTRST_B(I)
7:Reserved
8:Reserved
9:WIFI_ANT_SEL2(O)
10:I2S_CK(IO)
11:8

7:4

GPIO2_MODE

GPIO1_MODE

Aux. mode of GPIO_2

0:GPIO2(IO)
1:EINT2(I)
2:Reserved
3:URXD1(I)
4:PWM0(O)
5:I2S_WS(IO)
6:JTCK(I)
7:CLKO0(O)
8:Reserved
9:BT_PRI0(IO)
10:WIFI_ANT_SEL4(O)
Aux. mode of GPIO_1

0:GPIO1(IO)
1:EINT1(I)
2:Reserved
3:U1CTS(I)
4:SDA1(IO)

© 2016 - 2017 MediaTek Inc.

Page 433 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

Description

5:I2S_TX(O)
6:JTMS(IO)
7:Reserved
8:WIFI_ANT_SEL1(O)
9:BT_PRI3(IO)
10:PWM1(O)
3:0

Aux. mode of GPIO_0

GPIO0_MODE

0:GPIO0(IO)
1:EINT0(I)
2:Reserved
3:U1RTS(O)
4:SCL1(IO)
5:I2S_RX(I)
6:JTDI(I)
7:Reserved
8:WIFI_ANT_SEL0(O)
9:BT_PRI1(IO)
10:PWM0(O)
A20B0044 GPIO_MODE1
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

GPIO Mode Control
27

26

25

24

23

22

00000000
21

20

19

18

17

16

GPIO15_MODE
RW
0
0
0
0

GPIO14_MODE
RW
0
0
0
0

GPIO13_MODE
RW
0
0
0
0

GPIO12_MODE
RW
0
0
0
0

15

11

7

3

14

13

12

GPIO11_MODE
RW
0
0
0
0

Bit(s) Mnemonic
31:28

10

9

8

GPIO10_MODE
RW
0
0
0
0

Name
GPIO15_MODE

6

5

4

GPIO9_MODE
RW
0
0
0
0

2

1

0

GPIO8_MODE
RW
0
0
0
0

Description
Aux. mode of GPIO_15

0:GPIO15(IO)
1:SPISLV_B_SIO0(IO)
2:SPIMST_B_SIO0(IO)
3:TDM_TX(O)
4:MA_MC0_DA2(IO)
5:SLV_MC0_DA2(IO)
6:SCL1(IO)
7:Reserved
8:EINT15(I)
9:Reserved
10:PWM3(O)
27:24

GPIO14_MODE

Aux. mode of GPIO_14

0:GPIO14(IO)
1:SPISLV_B_SIO1(IO)
2:SPIMST_B_SIO1(IO)
3:TDM_RX(I)
4:MA_MC0_DA1(IO)
5:SLV_MC0_DA1(IO)
6:PWM4(O)
7:Reserved
8:EINT14(I)
9:Reserved
© 2016 - 2017 MediaTek Inc.

Page 434 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

23:20

GPIO13_MODE

19:16

Description

GPIO12_MODE

10:CLKO4(O)

Aux. mode of GPIO_13

0:GPIO13(IO)
1:SPISLV_B_SIO2(IO)
2:SPIMST_B_SIO2(IO)
3:U2RTS(O)
4:MA_MC0_DA0(IO)
5:SLV_MC0_DA0(IO)
6:CLKO4(O)
7:Reserved
8:EINT13(I)
9:Reserved
10:I2S_WS(IO)
Aux. mode of GPIO_12

0:GPIO12(IO)
1:SPISLV_B_SIO3(IO)
2:SPIMST_B_SIO3(IO)
3:UTXD2(O)
4:MA_MC0_CM0(IO)
5:SLV_MC0_CM0(IO)
6:EINT12(I)
7:Reserved
8:Reserved
9:WIFI_ANT_SEL1(O)
10:I2S_TX(O)
15:12

GPIO11_MODE

Aux. mode of GPIO_11

0:GPIO11(IO)
1:EINT11(I)
2:PWM3(O)
3:URXD2(I)
4:MA_MC0_CK(IO)
5:SLV_MC0_CK(IO)
6:CLKO2(O)
7:Reserved
8:Reserved
9:WIFI_ANT_SEL0(O)
10:I2S_RX(I)
11:8

7:4

GPIO10_MODE

GPIO9_MODE

Aux. mode of GPIO_10

0:GPIO10(IO)
1:EINT10(I)
2:Reserved
3:U2CTS(I)
4:PWM2(O)
5:PMU_RGU_RSTB(O)
6:PMU_GOTO_SLEEP(O)
7:Reserved
8:WIFI_ANT_SEL4(O)
9:Reserved
10:SDA0(IO)
Aux. mode of GPIO_9

0:GPIO9(IO)
1:SPISLV_A_SIO1(IO)
2:SPIMST_A_SIO1(IO)
3:EINT9(I)

© 2016 - 2017 MediaTek Inc.

Page 435 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

3:0

Description

4:SDA0(IO)
5:U0CTS(I)
6:TDM_MCLK(O)
7:Reserved
8:WIFI_ANT_SEL3(O)
9:BT_PRI1(IO)
10:Reserved
Aux. mode of GPIO_8

GPIO8_MODE

0:GPIO8(IO)
1:SPISLV_A_SIO0(IO)
2:SPIMST_A_SIO0(IO)
3:EINT8(I)
4:SCL0(IO)
5:U0RTS(O)
6:TDM_CK(IO)
7:Reserved
8:BT_PRI0(IO)
9:Reserved
10:Reserved

A20B0048 GPIO_MODE2
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

GPIO Mode Control
27

26

25

24

23

22

00011600
21

20

19

18

17

16

GPIO20_MODE
RW
15

14

13

12

GPIO19_MODE
RW
0
0
0
1

Bit(s) Mnemonic
19:16

11

10

9

8

GPIO18_MODE
RW
0
1
1
0

Name
GPIO20_MODE

7

6

5

4

GPIO17_MODE
RW
0
0
0
0

0

0

0

1

3

2

1

0

GPIO16_MODE
RW
0
0
0
0

Description
Aux. mode of GPIO_20

0:GPIO20(IO)
1:UTXD0(O)
2:EINT20(I)
3:Reserved
4:Reserved
5:Reserved
6:AUXADC3(ANAin)
7:Reserved
8:Reserved
9:Reserved
10:Reserved
15:12

GPIO19_MODE

Aux. mode of GPIO_19

0:GPIO19(IO)
1:URXD0(I)
2:EINT19(I)
3:SCL1(IO)
4:Reserved
5:PWM5(O)

© 2016 - 2017 MediaTek Inc.

Page 436 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

11:8

Description

6:AUXADC2(ANAin)
7:WIFI_EXT_CLK(I)
8:Reserved
9:Reserved
10:Reserved

Aux. mode of GPIO_18

GPIO18_MODE

0:GPIO18(IO)
1:PMU_GOTO_SLEEP(O)
2:Reserved
3:TDM_MCLK(O)
4:CLKO4(O)
5:SDA1(IO)
6:ZCV(SWsetAUXADC1)(ANAin)
7:Reserved
8:EINT18(I)
9:CLKO3(O)
10:PMU_RGU_RSTB(O)
7:4

Aux. mode of GPIO_17

GPIO17_MODE

0:GPIO17(IO)
1:SPISLV_B_CS(I)
2:SPIMST_B_CS(I)
3:TDM_CK(IO)
4:PWM5(O)
5:CLKO3(O)
6:AUXADC0(ANAin)
7:Reserved
8:EINT17(I)
9:Reserved
10:BT_PRI0(IO)
3:0

Aux. mode of GPIO_16

GPIO16_MODE

0:GPIO16(IO)
1:SPISLV_B_SCK(I)
2:SPIMST_B_SCK(I)
3:TDM_WS(IO)
4:MA_MC0_DA3(IO)
5:SLV_MC0_DA3(IO)
6:SDA1(IO)
7:Reserved
8:EINT16(I)
9:Reserved
10:Reserved

A20B0050 GPIO_MODE0_SET
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

GPIO Mode Control
26

25

24

23

22

00000000
21

20

19

18

17

16

GPIO7_MODE_SET
WO
0
0
0
0

GPIO6_MODE_SET
WO
0
0
0
0

GPIO5_MODE_SET
WO
0
0
0
0

GPIO4_MODE_SET
WO
0
0
0
0

15

11

7

3

14

13

12

GPIO3_MODE_SET
WO
0
0
0
0

10

9

8

GPIO2_MODE_SET
WO
0
0
0
0

6

5

4

GPIO1_MODE_SET
WO
0
0
0
0

© 2016 - 2017 MediaTek Inc.

2

1

0

GPIO0_MODE_SET
WO
0
0
0
0

Page 437 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
31:28

Name
GPIO7_MODE_SET

27:24

GPIO6_MODE_SET

23:20

GPIO5_MODE_SET

19:16

GPIO4_MODE_SET

15:12

GPIO3_MODE_SET

11:8

GPIO2_MODE_SET

7:4

GPIO1_MODE_SET

3:0

GPIO0_MODE_SET

A20B0054 GPIO_MODE1_SET
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

Description
Bitwise SET operation for Aux. mode of
GPIO_7
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_6
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_5
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_4
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_3
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_2
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_1
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_0
0: Keep
1: SET bits

GPIO Mode Control
26

25

24

23

22

00000000
21

20

19

18

17

16

GPIO15_MODE_SET
WO
0
0
0
0

GPIO14_MODE_SET
WO
0
0
0
0

GPIO13_MODE_SET
WO
0
0
0
0

GPIO12_MODE_SET
WO
0
0
0
0

15

11

7

3

14

13

12

GPIO11_MODE_SET
WO
0
0
0
0

10

9

8

GPIO10_MODE_SET
WO
0
0
0
0

Bit(s) Mnemonic
31:28

Name
GPIO15_MODE_SET

27:24

GPIO14_MODE_SET

23:20

GPIO13_MODE_SET

19:16

GPIO12_MODE_SET

6

5

4

GPIO9_MODE_SET
WO
0
0
0
0

2

1

0

GPIO8_MODE_SET
WO
0
0
0
0

Description
Bitwise SET operation for auxiliary mode of
GPIO15
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO14
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO13
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of

© 2016 - 2017 MediaTek Inc.

Page 438 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

15:12

GPIO11_MODE_SET

11:8

GPIO10_MODE_SET

7:4

GPIO9_MODE_SET

3:0

GPIO8_MODE_SET

A20B0058 GPIO_MODE2_SET
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

GPIO Mode Control
26

25

24

23

22

00000000
21

20

19

18

17

16

GPIO20_MODE_SET
WO
15

14

13

12

GPIO19_MODE_SET
WO
0
0
0
0

Bit(s) Mnemonic
19:16

11

10

9

Name
GPIO20_MODE_SET

GPIO19_MODE_SET

11:8

GPIO18_MODE_SET

7:4

GPIO17_MODE_SET

3:0

GPIO16_MODE_SET

A20B0060 GPIO_MODE0_CLR
31

30

8

29

28

GPIO7_MODE_CLR

7

GPIO18_MODE_SET
WO
0
0
0
0

15:12

Bit
Name

Description
GPIO12
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO11
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO10
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_9
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO_8
0: Keep
1: SET bits

27

6

5

4

GPIO17_MODE_SET
WO
0
0
0
0

0

0

0

0

3

2

1

0

GPIO16_MODE_SET
WO
0
0
0
0

Description
Bitwise SET operation for auxiliary mode of
GPIO20
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO19
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO18
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO17
0: Keep
1: SET bits
Bitwise SET operation for auxiliary mode of
GPIO16
0: Keep
1: SET bits

GPIO Mode Control
26

25

24

GPIO6_MODE_CLR

23

22

00000000
21

20

GPIO5_MODE_CLR

© 2016 - 2017 MediaTek Inc.

19

18

17

16

GPIO4_MODE_CLR

Page 439 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit
Name
Type
Reset

WO

WO

WO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

GPIO3_MODE_CLR
WO
0
0
0
0

GPIO2_MODE_CLR
WO
0
0
0
0

Bit(s) Mnemonic
31:28

Name
GPIO7_MODE_CLR

27:24

GPIO6_MODE_CLR

23:20

GPIO5_MODE_CLR

19:16

GPIO4_MODE_CLR

15:12

GPIO3_MODE_CLR

11:8

GPIO2_MODE_CLR

7:4

GPIO1_MODE_CLR

3:0

GPIO0_MODE_CLR

A20B0064 GPIO_MODE1_CLR
Bit
Name
Type
Reset
Bit
Name
Type
Reset

WO

0

31

30

29

28

GPIO15_MODE_CLR
WO
0
0
0
0
15

14

13

12

GPIO11_MODE_CLR
WO
0
0
0
0

Bit(s) Mnemonic
31:28

27

GPIO1_MODE_CLR
WO
0
0
0
0

GPIO0_MODE_CLR
WO
0
0
0
0

Description
Bitwise CLEAR operation for auxiliary mode of
GPIO_7
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_6
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_5
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_4
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_3
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_2
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_1
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_0
0: Keep
1: Clear bits

GPIO Mode Control
26

25

24

23

22

00000000
21

20

19

18

17

16

GPIO14_MODE_CLR
WO
0
0
0
0

GPIO13_MODE_CLR
WO
0
0
0
0

GPIO12_MODE_CLR
WO
0
0
0
0

11

7

3

10

9

8

GPIO10_MODE_CLR
WO
0
0
0
0

Name
GPIO15_MODE_CLR

6

5

4

GPIO9_MODE_CLR
WO
0
0
0
0

2

1

0

GPIO8_MODE_CLR
WO
0
0
0
0

Description
Bitwise CLEAR operation for auxiliary mode of
GPIO15
0: Keep
1: Clear bits

© 2016 - 2017 MediaTek Inc.

Page 440 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
27:24

Name
GPIO14_MODE_CLR

23:20

GPIO13_MODE_CLR

19:16

GPIO12_MODE_CLR

15:12

GPIO11_MODE_CLR

11:8

GPIO10_MODE_CLR

7:4

GPIO9_MODE_CLR

3:0

GPIO8_MODE_CLR

A20B0068 GPIO_MODE2_CLR
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

Description
Bitwise CLEAR operation for auxiliary mode of
GPIO14
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO13
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO12
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO11
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO10
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_9
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO_8
0: Keep
1: Clear bits

GPIO Mode Control
26

25

24

23

22

00000000
21

20

19

18

17

16

GPIO20_MODE_CLR
WO
15

14

13

12

GPIO19_MODE_CLR
WO
0
0
0
0

Bit(s) Mnemonic
19:16

11

10

9

8

GPIO18_MODE_CLR
WO
0
0
0
0

Name
GPIO20_MODE_CLR

15:12

GPIO19_MODE_CLR

11:8

GPIO18_MODE_CLR

7:4

GPIO17_MODE_CLR

7

6

5

4

GPIO17_MODE_CLR
WO
0
0
0
0

0

0

0

0

3

2

1

0

GPIO16_MODE_CLR
WO
0
0
0
0

Description
Bitwise CLEAR operation for auxiliary mode of
GPIO20
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO19
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO18
0: Keep
1: Clear bits
Bitwise CLEAR operation for auxiliary mode of
GPIO17
0: Keep
1: Clear bits

© 2016 - 2017 MediaTek Inc.

Page 441 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
3:0

Name
GPIO16_MODE_CLR

A20C0000 DRV_CFG0
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

0

0

15

14

29

driving current

28

27

26

25

24

23

00000000
22

21

20

19

18

17

16

drv_cfg_rsv

drv_cfg_g
pio_10

drv_cfg_g
pio_9

drv_cfg_g
pio_8

RO

RW

RW

RW

drv_cfg_g
pio_7
RW
0

Description
Bitwise CLEAR operation for auxiliary mode of
GPIO16
0: Keep
1: Clear bits

0

0

0

13

12

drv_cfg_g
pio_6
RW
0

0

0

0

11

10

drv_cfg_g
pio_5
RW
0

0

0

9

8

drv_cfg_g
pio_4
RW

0

0

Bit(s) Mnemonic
31:26

Name
drv_cfg_rsv

21:20

drv_cfg_gpio_10

19:18

drv_cfg_gpio_9

17:16

drv_cfg_gpio_8

15:14

drv_cfg_gpio_7

13:12

drv_cfg_gpio_6

11:10

drv_cfg_gpio_5

9:8

drv_cfg_gpio_4

7:6

drv_cfg_gpio_3

0

0

0

7

6

drv_cfg_g
pio_3
RW
0

0

0

5

4

drv_cfg_g
pio_2
RW

0

0

0

0

0

3

2

drv_cfg_g
pio_1
RW
0

0

0

1

0

drv_cfg_g
pio_0
RW

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_9
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_8
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_7
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_6
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_5
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_4
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_3

© 2016 - 2017 MediaTek Inc.

Page 442 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

5:4

drv_cfg_gpio_2

3:2

drv_cfg_gpio_1

1:0

drv_cfg_gpio_0

A20C0004 DRV_CFG0_SET
Bit

31

30

Nam
e
Type
Rese
t
Bit

29

28

Description
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_2
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_1
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_0
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]

Set for DRV_CFG0

27

26

25

24

23

22

drv_cfg_set_rsv
RO

00000000
21
20
drv_cfg_s
et_gpio_1
0
WO

19

18

drv_cfg_s
et_gpio_8

WO

WO

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

Nam
e

drv_cfg_s
et_gpio_7

drv_cfg_s
et_gpio_6

drv_cfg_s
et_gpio_5

drv_cfg_s
et_gpio_4

drv_cfg_s
et_gpio_3

drv_cfg_s
et_gpio_2

drv_cfg_s
et_gpio_1

Type
Rese
t

WO

WO

WO

WO

WO

WO

WO

0

0

0

0

0

0

Bit(s) Mnemonic
31:26

Name
drv_cfg_set_rsv

21:20

drv_cfg_set_gpio_10

19:18

drv_cfg_set_gpio_9

17:16

drv_cfg_set_gpio_8

15:14

drv_cfg_set_gpio_7

13:12

drv_cfg_set_gpio_6

11:10

drv_cfg_set_gpio_5

9:8

drv_cfg_set_gpio_4

7:6

drv_cfg_set_gpio_3

5:4

drv_cfg_set_gpio_2

0

0

0

0

0

16

drv_cfg_s
et_gpio_9

0

0

17

0

0

0

1
0
drv_cfg_s
et_gpio_
0
WO

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10
0: Keep; 1: SET bit;
PAD_GPIO_9
0: Keep; 1: SET bit;
PAD_GPIO_8
0: Keep; 1: SET bit;
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;

© 2016 - 2017 MediaTek Inc.

Page 443 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
3:2

Name
drv_cfg_set_gpio_1

1:0

drv_cfg_set_gpio_0

A20C0008 DRV_CFG0_CLR
Bit

31

30

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

29

28

27

clear for DRV_CFG0
26

25

23

22

RO
0

0

15

14

drv_cfg_c
lr_gpio_7
WO
0

0

0

13

12

drv_cfg_c
lr_gpio_6
WO

0

0

0

0

0

11

10

drv_cfg_c
lr_gpio_5
WO
0

0

0

0

9

8

drv_cfg_c
lr_gpio_4
WO
0

Name
drv_cfg_clr_rsv

21:20

drv_cfg_clr_gpio_10

19:18

drv_cfg_clr_gpio_9

17:16

drv_cfg_clr_gpio_8

15:14

drv_cfg_clr_gpio_7

13:12

drv_cfg_clr_gpio_6

11:10

drv_cfg_clr_gpio_5

9:8

drv_cfg_clr_gpio_4

7:6

drv_cfg_clr_gpio_3

5:4

drv_cfg_clr_gpio_2

3:2

drv_cfg_clr_gpio_1

1:0

drv_cfg_clr_gpio_0

A20C0010

Name

24

drv_cfg_clr_rsv

Bit(s) Mnemonic
31:26

Bit
Name
Type
Reset
Bit

Description
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

31

0

0

0

7

6

drv_cfg_c
lr_gpio_3
WO
0

0

00000000
21
20
drv_cfg_c
lr_gpio_1
0
WO
0

0

5

4

drv_cfg_c
lr_gpio_2
WO
0

0

19

18

29

16

drv_cfg_c
lr_gpio_9

drv_cfg_c
lr_gpio_8

WO

WO

0

0

3

2

drv_cfg_c
lr_gpio_1
WO
0

0

0

1

0

drv_cfg_c
lr_gpio_0
WO

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8
0: Keep; 1: Clear bit
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

G_CFG0
30

17

0000000F
28

27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

24

23

22

21

20

19

18

17

16

g_cfg_rsv
RO
0
0

0

0

0

0

0

0

0

6

5

4

8

7

g_cfg_rsv

© 2016 - 2017 MediaTek Inc.

3
2
1
0
g_cfg g_cfg g_cfg g_cfg
_gpio _gpio _gpio _gpio
_3
_2
_1
_0

Page 444 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset

RO
0

0

0

0

Bit(s) Mnemonic
31:4
3

0

0

0

Name
g_cfg_rsv
g_cfg_gpio_3

2

g_cfg_gpio_2

1

g_cfg_gpio_1

0

g_cfg_gpio_0

A20C0014
Bit
Name
Type
Reset
Bit

31

30

29

28

0

27

24

23

21

20

19

18

17

16

0

0

0

0

0

13

12

11

10

9

0

0

0

0

0

0

0

8

7

6

5

4

0

0

0

0

0

3
g_cfg
_set_
gpio_
3
WO
0

2
g_cfg
_set_
gpio_
2
WO
0

1
g_cfg
_set_
gpio_
1
WO
0

0
g_cfg
_set_
gpio_
0
WO
0

g_cfg_set_rsv
RO
0

0

0

0

0

Name
g_cfg_set_rsv
g_cfg_set_gpio_3
g_cfg_set_gpio_2

1

g_cfg_set_gpio_1

0

g_cfg_set_gpio_0

31

Description
Reserved
PAD_GPIO_3
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

G_CFG0_CLR
30

29

28

00000000
27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

10

9

Name

24

23

g_cfg_clr_rsv
RO
0
0

22

21

20

19

18

17

16

0

0

0

0

0

0

0

8

7

6

5

4

0

0

0

0

0

3
g_cfg
_clr_
gpio_
3
WO
0

2
g_cfg
_clr_
gpio_
2
WO
0

1
g_cfg
_clr_
gpio_
1
WO
0

0
g_cfg
_clr_
gpio_
0
WO
0

g_cfg_clr_rsv
RO
0

0

Bit(s) Mnemonic
31:4
3

0

0

RW
1

22

14

0

RW
1

25

0

A20C0018

RW
1

26

15

0

RW
1

0

00000000

2

Type
Reset

0

Description
Reserved
PAD_GPIO_3
0: Enable AIO; 1: Disable AIO;
PAD_GPIO_2
0: Enable AIO; 1: Disable AIO;
PAD_GPIO_1
0: Enable AIO; 1: Disable AIO;
PAD_GPIO_0
0: Enable AIO; 1: Disable AIO;

g_cfg_set_rsv
RO
0
0
0

Bit(s) Mnemonic
31:4
3

Bit
Name
Type
Reset
Bit

0

G_CFG0_SET

Name
Type
Reset

0

0

0

0

Name
g_cfg_clr_rsv
g_cfg_clr_gpio_3

Description
Reserved
PAD_GPIO_3

© 2016 - 2017 MediaTek Inc.

Page 445 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

2

g_cfg_clr_gpio_2

1

g_cfg_clr_gpio_1

0

g_cfg_clr_gpio_0

Description
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

A20C0020 IES_CFG0
Bit
Name
Type
Reset
Bit

31

29

00001FFF
28

27

0

0

0

0

0

15

14

13

12

11

1

1

Name
Type
Reset

30

ies_cfg_rsv

0

RO
0

0

Bit(s) Mnemonic
31:13
10

26

0

25

0

24

23

ies_cfg_rsv
RO
0
0

22

21

20

19

18

17

16

0

0

0

0

0

0

0

10
9
8
7
6
5
4
3
2
1
0
ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf
g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi
o_10 o_9 o_8 o_7 o_6 o_5 o_4 o_3 o_2 o_1 o_0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
1
1
1
1
1
1
1
1
1
1
1

Name
ies_cfg_rsv
ies_cfg_gpio_10

9

ies_cfg_gpio_9

8

ies_cfg_gpio_8

7

ies_cfg_gpio_7

6

ies_cfg_gpio_6

5

ies_cfg_gpio_5

4

ies_cfg_gpio_4

3

ies_cfg_gpio_3

2

ies_cfg_gpio_2

1

ies_cfg_gpio_1

0

ies_cfg_gpio_0

Description
Reserved
PAD_GPIO_10
0: Disable; 1: Enable;
PAD_GPIO_9
0: Disable; 1: Enable;
PAD_GPIO_8
0: Disable; 1: Enable;
PAD_GPIO_7
0: Disable; 1: Enable;
PAD_GPIO_6
0: Disable; 1: Enable;
PAD_GPIO_5
0: Disable; 1: Enable;
PAD_GPIO_4
0: Disable; 1: Enable;
PAD_GPIO_3
0: Disable; 1: Enable;
PAD_GPIO_2
0: Disable; 1: Enable;
PAD_GPIO_1
0: Disable; 1: Enable;
PAD_GPIO_0
0: Disable; 1: Enable;

A20C0024 IES_CFG0_SET
Bit
Name
Type
Reset
Bit

31

Name

ies_cfg_set_rsv

30

29

28

00000000
27

0

0

0

0

0

15

14

13

12

11

26

25

22

21

20

19

18

17

16

0

ies_cfg_set_rsv
RO
0
0
0
0

24

23

0

0

0

0

0

0

10
9
8
7
6
5
4
3
2
1
0
ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf
g_set g_set g_set g_set g_set g_set g_set g_set g_set g_set g_set
_gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio
_10
_9
_8
_7
_6
_5
_4
_3
_2
_1
_0

© 2016 - 2017 MediaTek Inc.

Page 446 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset

0

RO
0

0

0

Bit(s) Mnemonic
31:13
10

0

WO
0

WO
0

Name
ies_cfg_set_rsv
ies_cfg_set_gpio_10

9

ies_cfg_set_gpio_9

8

ies_cfg_set_gpio_8

7

ies_cfg_set_gpio_7

6

ies_cfg_set_gpio_6

5

ies_cfg_set_gpio_5

4

ies_cfg_set_gpio_4

3

ies_cfg_set_gpio_3

2

ies_cfg_set_gpio_2

1

ies_cfg_set_gpio_1

0

ies_cfg_set_gpio_0

WO
0

WO
0

WO
0

WO
0

WO
0

WO
0

WO
0

31

Name

ies_cfg_clr_rsv

Type
Reset

30

29

28

00000000
27

0

0

0

0

0

15

14

13

12

11

0

0

0

RO
0

Bit(s) Mnemonic
31:13
10

0

WO
0

Description
Reserved
PAD_GPIO_10
0: Keep; 1: SET bit;
PAD_GPIO_9
0: Keep; 1: SET bit;
PAD_GPIO_8
0: Keep; 1: SET bit;
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

A20C0028 IES_CFG0_CLR
Bit
Name
Type
Reset
Bit

WO
0

26

25

24

23

22

21

20

19

18

17

16

0

ies_cfg_clr_rsv
RO
0
0
0
0

0

0

0

0

0

0

10
9
8
7
6
5
4
3
2
1
0
ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf
g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr
_gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio
_10
_9
_8
_7
_6
_5
_4
_3
_2
_1
_0
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0
0
0
0
0
0
0
0
0
0
0

Name
ies_cfg_clr_rsv
ies_cfg_clr_gpio_10

9

ies_cfg_clr_gpio_9

8

ies_cfg_clr_gpio_8

7

ies_cfg_clr_gpio_7

6

ies_cfg_clr_gpio_6

5

ies_cfg_clr_gpio_5

Description
Reserved
PAD_GPIO_10
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8
0: Keep; 1: Clear bit
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit

© 2016 - 2017 MediaTek Inc.

Page 447 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
4

Name
ies_cfg_clr_gpio_4

3

ies_cfg_clr_gpio_3

2

ies_cfg_clr_gpio_2

1

ies_cfg_clr_gpio_1

0

ies_cfg_clr_gpio_0

Description
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

A20C0030 PD_CFG0
Bit
Name
Type
Reset
Bit

31

29

000017FF
28

27

26

25

0

0

0

0

0

0

0

15

14

13

12

11

1

0

10
pd_cf
g_gpi
o_10
RW
1

9
pd_cf
g_gpi
o_9
RW
1

Name
Type
Reset

30

pd_cfg_rsv

0

RO
0

0

Bit(s) Mnemonic
31:13
10

pd_cfg_gpio_9

8

pd_cfg_gpio_8

7

pd_cfg_gpio_7

6

pd_cfg_gpio_6

5

pd_cfg_gpio_5

4

pd_cfg_gpio_4

3

pd_cfg_gpio_3

2

pd_cfg_gpio_2

1

pd_cfg_gpio_1

0

pd_cfg_gpio_0

Bit
Name
Type
Reset
Bit

31

23

pd_cfg_rsv
RO
0
0
8
pd_cf
g_gpi
o_8
RW
1

Name
pd_cfg_rsv
pd_cfg_gpio_10

9

A20C0034

24

7
pd_cf
g_gpi
o_7
RW
1

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6
pd_cf
g_gpi
o_6
RW
1

5
pd_cf
g_gpi
o_5
RW
1

4
pd_cf
g_gpi
o_4
RW
1

3
pd_cf
g_gpi
o_3
RW
1

2
pd_cf
g_gpi
o_2
RW
1

1
pd_cf
g_gpi
o_1
RW
1

0
pd_cf
g_gpi
o_0
RW
1

Description
Reserved
PAD_GPIO_10
0: Disable; 1: Enable;
PAD_GPIO_9
0: Disable; 1: Enable;
PAD_GPIO_8
0: Disable; 1: Enable;
PAD_GPIO_7
0: Disable; 1: Enable;
PAD_GPIO_6
0: Disable; 1: Enable;
PAD_GPIO_5
0: Disable; 1: Enable;
PAD_GPIO_4
0: Disable; 1: Enable;
PAD_GPIO_3
0: Disable; 1: Enable;
PAD_GPIO_2
0: Disable; 1: Enable;
PAD_GPIO_1
0: Disable; 1: Enable;
PAD_GPIO_0
0: Disable; 1: Enable;

PD_CFG0_SET
30

29

28

00000000
27

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

5

4

3

2

1

0

0

0

0

0

0

0

pd_cfg_set_rsv
RO
0
0
0
0

15

14

13

12

11

10

9

8

7

6

© 2016 - 2017 MediaTek Inc.

Page 448 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Name
Type
Reset

pd_cfg_set_rsv

0

RO
0

0

0

Bit(s) Mnemonic
31:13
10

0

pd_cf
g_set
_gpio
_10
WO
0

pd_cf
g_set
_gpio
_9
WO
0

Name
pd_cfg_set_rsv
pd_cfg_set_gpio_10

9

pd_cfg_set_gpio_9

8

pd_cfg_set_gpio_8

7

pd_cfg_set_gpio_7

6

pd_cfg_set_gpio_6

5

pd_cfg_set_gpio_5

4

pd_cfg_set_gpio_4

3

pd_cfg_set_gpio_3

2

pd_cfg_set_gpio_2

1

pd_cfg_set_gpio_1

0

pd_cfg_set_gpio_0

pd_cf
g_set
_gpio
_8
WO
0

pd_cf
g_set
_gpio
_7
WO
0

pd_cf
g_set
_gpio
_6
WO
0

pd_cf
g_set
_gpio
_5
WO
0

pd_cf
g_set
_gpio
_4
WO
0

pd_cf
g_set
_gpio
_3
WO
0

pd_cf
g_set
_gpio
_2
WO
0

31

Name

pd_cfg_clr_rsv

Type
Reset

30

29

28

00000000
27

26

25

22

21

20

19

18

17

16

pd_cfg_clr_rsv
RO
0
0
0
0

0

0

0

0

0

0

5
pd_cf
g_clr
_gpio
_5
WO
0

4
pd_cf
g_clr
_gpio
_4
WO
0

3
pd_cf
g_clr
_gpio
_3
WO
0

2
pd_cf
g_clr
_gpio
_2
WO
0

1
pd_cf
g_clr
_gpio
_1
WO
0

0
pd_cf
g_clr
_gpio
_0
WO
0

0

0

0

0

0

0

15

14

13

12

11

0

0

10
pd_cf
g_clr
_gpio
_10
WO
0

0

RO
0

Bit(s) Mnemonic
31:13
10

0

pd_cf
g_set
_gpio
_0
WO
0

Description
Reserved
PAD_GPIO_10
0: Keep; 1: SET bit;
PAD_GPIO_9
0: Keep; 1: SET bit;
PAD_GPIO_8
0: Keep; 1: SET bit;
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

A20C0038 PD_CFG0_CLR
Bit
Name
Type
Reset
Bit

pd_cf
g_set
_gpio
_1
WO
0

9
pd_cf
g_clr
_gpio
_9
WO
0

Name
pd_cfg_clr_rsv
pd_cfg_clr_gpio_10

9

pd_cfg_clr_gpio_9

8

pd_cfg_clr_gpio_8

7

pd_cfg_clr_gpio_7

6

pd_cfg_clr_gpio_6

24

8
pd_cf
g_clr
_gpio
_8
WO
0

23

7
pd_cf
g_clr
_gpio
_7
WO
0

6
pd_cf
g_clr
_gpio
_6
WO
0

Description
Reserved
PAD_GPIO_10
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8
0: Keep; 1: Clear bit
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6

© 2016 - 2017 MediaTek Inc.

Page 449 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

5

pd_cfg_clr_gpio_5

4

pd_cfg_clr_gpio_4

3

pd_cfg_clr_gpio_3

2

pd_cfg_clr_gpio_2

1

pd_cfg_clr_gpio_1

0

pd_cfg_clr_gpio_0

Description
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

A20C0040 PU_CFG0
Bit
Name
Type
Reset
Bit

31

29

00000800
28

27

26

25

24

0

0

0

0

0

0

0

14

13

12

11

0

1

10
pu_cf
g_gpi
o_10
RW
0

9
pu_cf
g_gpi
o_9
RW
0

pu_cfg_rsv

0

RO
0

0

Bit(s) Mnemonic
31:13
10

Name
pu_cfg_rsv
pu_cfg_gpio_10

9

pu_cfg_gpio_9

8

pu_cfg_gpio_8

7

pu_cfg_gpio_7

6

pu_cfg_gpio_6

5

pu_cfg_gpio_5

4

pu_cfg_gpio_4

3

pu_cfg_gpio_3

2

pu_cfg_gpio_2

1

pu_cfg_gpio_1

0

pu_cfg_gpio_0

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

6
pu_cf
g_gpi
o_6
RW
0

5
pu_cf
g_gpi
o_5
RW
0

4
pu_cf
g_gpi
o_4
RW
0

3
pu_cf
g_gpi
o_3
RW
0

2
pu_cf
g_gpi
o_2
RW
0

1
pu_cf
g_gpi
o_1
RW
0

0
pu_cf
g_gpi
o_0
RW
0

20

19

18

pu_cfg_rsv
RO
0
0

15

Name
Type
Reset

30

8
pu_cf
g_gpi
o_8
RW
0

7
pu_cf
g_gpi
o_7
RW
0

Description
Reserved
PAD_GPIO_10
0: Disable; 1: Enable;
PAD_GPIO_9
0: Disable; 1: Enable;
PAD_GPIO_8
0: Disable; 1: Enable;
PAD_GPIO_7
0: Disable; 1: Enable;
PAD_GPIO_6
0: Disable; 1: Enable;
PAD_GPIO_5
0: Disable; 1: Enable;
PAD_GPIO_4
0: Disable; 1: Enable;
PAD_GPIO_3
0: Disable; 1: Enable;
PAD_GPIO_2
0: Disable; 1: Enable;
PAD_GPIO_1
0: Disable; 1: Enable;
PAD_GPIO_0
0: Disable; 1: Enable;

A20C0044 PU_CFG0_SET
Bit
Name

31

30

29

28

00000000
27

26

25

24

23

22

21

17

16

pu_cfg_set_rsv

© 2016 - 2017 MediaTek Inc.

Page 450 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

Name

pu_cfg_set_rsv

0

0

10
pu_cf
g_set
_gpio
_10
WO
0

9
pu_cf
g_set
_gpio
_9
WO
0

8
pu_cf
g_set
_gpio
_8
WO
0

7
pu_cf
g_set
_gpio
_7
WO
0

6
pu_cf
g_set
_gpio
_6
WO
0

5
pu_cf
g_set
_gpio
_5
WO
0

4
pu_cf
g_set
_gpio
_4
WO
0

3
pu_cf
g_set
_gpio
_3
WO
0

2
pu_cf
g_set
_gpio
_2
WO
0

1
pu_cf
g_set
_gpio
_1
WO
0

0
pu_cf
g_set
_gpio
_0
WO
0

Type
Reset

RO

0

RO
0

0

Bit(s) Mnemonic
31:13
10

Name
pu_cfg_set_rsv
pu_cfg_set_gpio_10

9

pu_cfg_set_gpio_9

8

pu_cfg_set_gpio_8

7

pu_cfg_set_gpio_7

6

pu_cfg_set_gpio_6

5

pu_cfg_set_gpio_5

4

pu_cfg_set_gpio_4

3

pu_cfg_set_gpio_3

2

pu_cfg_set_gpio_2

1

pu_cfg_set_gpio_1

0

pu_cfg_set_gpio_0

Description
Reserved
PAD_GPIO_10
0: Keep; 1: SET bit;
PAD_GPIO_9
0: Keep; 1: SET bit;
PAD_GPIO_8
0: Keep; 1: SET bit;
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

A20C0048 PU_CFG0_CLR
Bit
Name
Type
Reset
Bit

31

Name

pu_cfg_clr_rsv

Type
Reset

30

29

28

00000000
27

26

25

22

21

20

19

18

17

16

pu_cfg_clr_rsv
RO
0
0
0
0

0

0

0

0

0

0

5
pu_cf
g_clr
_gpio
_5
WO
0

4
pu_cf
g_clr
_gpio
_4
WO
0

3
pu_cf
g_clr
_gpio
_3
WO
0

2
pu_cf
g_clr
_gpio
_2
WO
0

1
pu_cf
g_clr
_gpio
_1
WO
0

0
pu_cf
g_clr
_gpio
_0
WO
0

0

0

0

0

0

0

15

14

13

12

11

0

0

10
pu_cf
g_clr
_gpio
_10
WO
0

0

RO
0

Bit(s) Mnemonic
31:13
10

0

9
pu_cf
g_clr
_gpio
_9
WO
0

Name
pu_cfg_clr_rsv
pu_cfg_clr_gpio_10

9

pu_cfg_clr_gpio_9

8

pu_cfg_clr_gpio_8

24

23

8
pu_cf
g_clr
_gpio
_8
WO
0

7
pu_cf
g_clr
_gpio
_7
WO
0

6
pu_cf
g_clr
_gpio
_6
WO
0

Description
Reserved
PAD_GPIO_10
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8

© 2016 - 2017 MediaTek Inc.

Page 451 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

7

pu_cfg_clr_gpio_7

6

pu_cfg_clr_gpio_6

5

pu_cfg_clr_gpio_5

4

pu_cfg_clr_gpio_4

3

pu_cfg_clr_gpio_3

2

pu_cfg_clr_gpio_2

1

pu_cfg_clr_gpio_1

0

pu_cfg_clr_gpio_0

A20C0050 RDSEL_CFG0
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

0

0

15

14

29

RX delay selection
27

26

25

24

23

22

00000000
21

20

19

18

17

16

rdsel_cfg_rsv

rdsel_cfg
_gpio_10

rdsel_cfg
_gpio_9

rdsel_cfg
_gpio_8

RO

RW

RW

RW

rdsel_cfg
_gpio_7
RW
0

28

Description
0: Keep; 1: Clear bit
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

0

0

0

13

12

rdsel_cfg
_gpio_6
RW
0

0

0

0

11

10

rdsel_cfg
_gpio_5
RW
0

0

Bit(s) Mnemonic
31:26

Name
rdsel_cfg_rsv

21:20

rdsel_cfg_gpio_10

19:18

rdsel_cfg_gpio_9

17:16

rdsel_cfg_gpio_8

15:14

rdsel_cfg_gpio_7

13:12

rdsel_cfg_gpio_6

11:10

rdsel_cfg_gpio_5

9:8

rdsel_cfg_gpio_4

0

0

9

8

rdsel_cfg
_gpio_4
RW
0

0

0

0

7

6

rdsel_cfg
_gpio_3
RW
0

0

0

0

5

4

rdsel_cfg
_gpio_2
RW
0

0

0

0

3

2

rdsel_cfg
_gpio_1
RW
0

0

0

1

0

rdsel_cfg
_gpio_0
RW

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_9
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_8
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_7
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_6
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_5
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_4
00: minimum reception delay; 11: maximum reception
delay

© 2016 - 2017 MediaTek Inc.

Page 452 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
7:6

Name
rdsel_cfg_gpio_3

5:4

rdsel_cfg_gpio_2

3:2

rdsel_cfg_gpio_1

1:0

rdsel_cfg_gpio_0

A20C0054
Bit

31

RDSEL_CFG0_SET
30

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

29

28

27

Description
PAD_GPIO_3
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_2
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_1
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_0
00: minimum reception delay; 11: maximum reception
delay

set RDSEL_CFG0
26

25

24

23

22

0

0

0

0

0

rdsel_cfg_set_rsv
RO
0

0

15
14
rdsel_cfg
_set_gpio
_7
WO
0

0

0

0

13
12
rdsel_cfg
_set_gpio
_6
WO
0

0

0

11
10
rdsel_cfg
_set_gpio
_5
WO
0

0

9
8
rdsel_cfg
_set_gpio
_4
WO
0

0

Bit(s) Mnemonic
31:26

Name
rdsel_cfg_set_rsv

21:20

rdsel_cfg_set_gpio_10

19:18

rdsel_cfg_set_gpio_9

17:16

rdsel_cfg_set_gpio_8

15:14

rdsel_cfg_set_gpio_7

13:12

rdsel_cfg_set_gpio_6

11:10

rdsel_cfg_set_gpio_5

9:8

rdsel_cfg_set_gpio_4

7:6

rdsel_cfg_set_gpio_3

5:4

rdsel_cfg_set_gpio_2

3:2

rdsel_cfg_set_gpio_1

1:0

rdsel_cfg_set_gpio_0

7
6
rdsel_cfg
_set_gpio
_3
WO
0

0

00000000
21
20
rdsel_cfg
_set_gpio
_10
WO
0

0

5
4
rdsel_cfg
_set_gpio
_2
WO
0

0

19
18
rdsel_cfg
_set_gpio
_9
WO
0

0

3
2
rdsel_cfg
_set_gpio
_1
WO
0

17
16
rdsel_cfg
_set_gpio
_8
WO
0

0

1
0
rdsel_cfg
_set_gpio
_0
WO

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10
0: Keep; 1: SET bit;
PAD_GPIO_9
0: Keep; 1: SET bit;
PAD_GPIO_8
0: Keep; 1: SET bit;
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

© 2016 - 2017 MediaTek Inc.

Page 453 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

Description

A20C0058 RDSEL_CFG0_CLR
Bit

31

30

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

29

28

27

clear RDSEL_CFG0
26

25

24

23

22

0

0

0

0

0

rdsel_cfg_clr_rsv
RO
0

0

15
14
rdsel_cfg
_clr_gpio
_7
WO
0

0

0

0

13
12
rdsel_cfg
_clr_gpio
_6
WO
0

0

0

11
10
rdsel_cfg
_clr_gpio
_5
WO
0

0

9
8
rdsel_cfg
_clr_gpio
_4
WO
0

0

Bit(s) Mnemonic
31:26

Name
rdsel_cfg_clr_rsv

21:20

rdsel_cfg_clr_gpio_10

19:18

rdsel_cfg_clr_gpio_9

17:16

rdsel_cfg_clr_gpio_8

15:14

rdsel_cfg_clr_gpio_7

13:12

rdsel_cfg_clr_gpio_6

11:10

rdsel_cfg_clr_gpio_5

9:8

rdsel_cfg_clr_gpio_4

7:6

rdsel_cfg_clr_gpio_3

5:4

rdsel_cfg_clr_gpio_2

3:2

rdsel_cfg_clr_gpio_1

1:0

rdsel_cfg_clr_gpio_0

7
6
rdsel_cfg
_clr_gpio
_3
WO
0

0

00000000
21
20
rdsel_cfg
_clr_gpio
_10
WO
0

0

5
4
rdsel_cfg
_clr_gpio
_2
WO
0

0

19
18
rdsel_cfg
_clr_gpio
_9
WO
0

0

Name
Type
Reset

31

30

29

0

27

0

0

0

0

0

14

13

12

11

0

0

smt_cfg_rsv
RO
0

0

0

1
0
rdsel_cfg
_clr_gpio
_0
WO

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8
0: Keep; 1: Clear bit
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

00000000

28

15

0

0

3
2
rdsel_cfg
_clr_gpio
_1
WO

A20C0060 SMT_CFG0
Bit
Name
Type
Reset
Bit

17
16
rdsel_cfg
_clr_gpio
_8
WO

26

0

25

0

24

23

smt_cfg_rsv
RO
0
0

22

21

20

19

18

17

16

0

0

0

0

0

0

0

10
9
8
7
6
5
4
3
2
1
0
smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_
fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp cfg_g
io_10 io_9 io_8 io_7 io_6 io_5 io_4 io_3 io_2 io_1 pio_0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
0
0
0
0
0
0
0
0
0
0
0

© 2016 - 2017 MediaTek Inc.

Page 454 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
31:13
10

Name
smt_cfg_rsv
smt_cfg_gpio_10

9

smt_cfg_gpio_9

8

smt_cfg_gpio_8

7

smt_cfg_gpio_7

6

smt_cfg_gpio_6

5

smt_cfg_gpio_5

4

smt_cfg_gpio_4

3

smt_cfg_gpio_3

2

smt_cfg_gpio_2

1

smt_cfg_gpio_1

0

smt_cfg_gpio_0

Description
Reserved
PAD_GPIO_10
0: Disable; 1: Enable;
PAD_GPIO_9
0: Disable; 1: Enable;
PAD_GPIO_8
0: Disable; 1: Enable;
PAD_GPIO_7
0: Disable; 1: Enable;
PAD_GPIO_6
0: Disable; 1: Enable;
PAD_GPIO_5
0: Disable; 1: Enable;
PAD_GPIO_4
0: Disable; 1: Enable;
PAD_GPIO_3
0: Disable; 1: Enable;
PAD_GPIO_2
0: Disable; 1: Enable;
PAD_GPIO_1
0: Disable; 1: Enable;
PAD_GPIO_0
0: Disable; 1: Enable;

A20C0064 SMT_CFG0_SET
Bit
Name
Type
Reset
Bit

31

30

29

28

27

0

0

0

0

0

15

14

13

12

11

0

0

Name smt_cfg_set_rsv
Type
Reset

0

RO
0

Bit(s) Mnemonic
31:13
10

0

00000000
26

25

24

23

22

21

20

19

18

17

16

0

smt_cfg_set_rsv
RO
0
0
0
0

0

0

0

0

0

0

10
9
8
7
6
5
4
3
2
1
0
smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_
fg_set fg_set fg_set fg_set fg_set fg_set fg_set fg_set fg_set fg_set cfg_s
_gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio et_gp
_10
_9
_8
_7
_6
_5
_4
_3
_2
_1 io_0
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0
0
0
0
0
0
0
0
0
0
0

Name
smt_cfg_set_rsv
smt_cfg_set_gpio_10

9

smt_cfg_set_gpio_9

8

smt_cfg_set_gpio_8

7

smt_cfg_set_gpio_7

6

smt_cfg_set_gpio_6

5

smt_cfg_set_gpio_5

4

smt_cfg_set_gpio_4

3

smt_cfg_set_gpio_3

Description
Reserved
PAD_GPIO_10
0: Keep; 1: SET bit;
PAD_GPIO_9
0: Keep; 1: SET bit;
PAD_GPIO_8
0: Keep; 1: SET bit;
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3
0: Keep; 1: SET bit;

© 2016 - 2017 MediaTek Inc.

Page 455 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
2

Name
smt_cfg_set_gpio_2

1

smt_cfg_set_gpio_1

0

smt_cfg_set_gpio_0

Description
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

A20C0068 SMT_CFG0_CLR
Bit
Name
Type
Reset
Bit
Name

31

30

29

28

00000000

27

0

0

0

0

0

15

14

13

12

11

0

0

smt_cfg_clr_rsv

Type
Reset

0

RO
0

0

Bit(s) Mnemonic
31:13
10

26

25

22

21

20

19

18

17

16

0

smt_cfg_clr_rsv
RO
0
0
0
0

0

0

0

0

0

0

Name
smt_cfg_clr_rsv
smt_cfg_clr_gpio_10
smt_cfg_clr_gpio_9

8

smt_cfg_clr_gpio_8

7

smt_cfg_clr_gpio_7

6

smt_cfg_clr_gpio_6

5

smt_cfg_clr_gpio_5

4

smt_cfg_clr_gpio_4

3

smt_cfg_clr_gpio_3

2

smt_cfg_clr_gpio_2

1

smt_cfg_clr_gpio_1

0

smt_cfg_clr_gpio_0

A20C0080 TDSEL_CFG00
31

1
15

30

29

28

23

10
9
8
7
6
5
4
3
2
1
0
smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_
fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr cfg_cl
_gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio r_gpi
_10
_9
_8
_7
_6
_5
_4
_3
_2
_1
o_0
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0
0
0
0
0
0
0
0
0
0
0

9

Bit
Nam
e
Type
Rese
t
Bit
Nam

24

Description
Reserved
PAD_GPIO_10
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8
0: Keep; 1: Clear bit
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

TX delay selection
27

26

25

24

23

AAAAAAAA

22

21

20

19

18

17

tdsel_cfg_gpio_7

tdsel_cfg_gpio_6

tdsel_cfg_gpio_5

tdsel_cfg_gpio_4

RW

RW

RW

RW

0

1

0

1

14

13

12

11

tdsel_cfg_gpio_3

0

1

0

1

10

9

8

7

tdsel_cfg_gpio_2

0

1

0

1

6

5

4

3

tdsel_cfg_gpio_1

© 2016 - 2017 MediaTek Inc.

16

0

1

0

2

1

0

tdsel_cfg_gpio_0

Page 456 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
e
Type
Rese
t

RW
1

0

RW
1

0

1

0

RW
1

Bit(s) Mnemonic
31:28

Name
tdsel_cfg_gpio_7

27:24

tdsel_cfg_gpio_6

23:20

tdsel_cfg_gpio_5

19:16

tdsel_cfg_gpio_4

15:12

tdsel_cfg_gpio_3

11:8

tdsel_cfg_gpio_2

7:4

tdsel_cfg_gpio_1

3:0

tdsel_cfg_gpio_0

A20C0084 TDSEL_CFG00_SET
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

0

1

0

RW
1

0

1

0

25

0

Description
PAD_GPIO_7
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_6
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_5
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_4
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_3
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_2
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_1
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_0
0000: minimum transmission delay; 1111: maximum
transmission delay

set TDSEL_CFG00

26

1

24

23

00000000

22

21

20

19

18

17

16

tdsel_cfg_set_gpio_7

tdsel_cfg_set_gpio_6

tdsel_cfg_set_gpio_5

tdsel_cfg_set_gpio_4

WO

WO

WO

WO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_set_gpio_3

tdsel_cfg_set_gpio_2

tdsel_cfg_set_gpio_1

tdsel_cfg_set_gpio_0

WO

WO

WO

WO

0

0

0

0

0

0

0

Bit(s) Mnemonic
31:28

Name
tdsel_cfg_set_gpio_7

27:24

tdsel_cfg_set_gpio_6

23:20

tdsel_cfg_set_gpio_5

19:16

tdsel_cfg_set_gpio_4

15:12

tdsel_cfg_set_gpio_3

0

0

0

0

0

0

0

0

0

Description
PAD_GPIO_7
0: Keep; 1: SET bit;
PAD_GPIO_6
0: Keep; 1: SET bit;
PAD_GPIO_5
0: Keep; 1: SET bit;
PAD_GPIO_4
0: Keep; 1: SET bit;
PAD_GPIO_3

© 2016 - 2017 MediaTek Inc.

Page 457 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

11:8

tdsel_cfg_set_gpio_2

7:4

tdsel_cfg_set_gpio_1

3:0

tdsel_cfg_set_gpio_0

A20C0088 TDSEL_CFG00_CLR
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

clear TDSEL_CFG00

26

25

24

23

22

00000000
21

20

19

18

17

16

tdsel_cfg_clr_gpio_7

tdsel_cfg_clr_gpio_6

tdsel_cfg_clr_gpio_5

tdsel_cfg_clr_gpio_4

WO

WO

WO

WO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_clr_gpio_3

tdsel_cfg_clr_gpio_2

tdsel_cfg_clr_gpio_1

tdsel_cfg_clr_gpio_0

WO

WO

WO

WO

0

0

0

0

0

0

0

0

Bit(s) Mnemonic
31:28

Name
tdsel_cfg_clr_gpio_7

27:24

tdsel_cfg_clr_gpio_6

23:20

tdsel_cfg_clr_gpio_5

19:16

tdsel_cfg_clr_gpio_4

15:12

tdsel_cfg_clr_gpio_3

11:8

tdsel_cfg_clr_gpio_2

7:4

tdsel_cfg_clr_gpio_1

3:0

tdsel_cfg_clr_gpio_0

A20C0090 TDSEL_CFG01
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

Description
0: Keep; 1: SET bit;
PAD_GPIO_2
0: Keep; 1: SET bit;
PAD_GPIO_1
0: Keep; 1: SET bit;
PAD_GPIO_0
0: Keep; 1: SET bit;

31

30

29

28

0

0

0

0

0

0

26

25

0

Description
PAD_GPIO_7
0: Keep; 1: Clear bit
PAD_GPIO_6
0: Keep; 1: Clear bit
PAD_GPIO_5
0: Keep; 1: Clear bit
PAD_GPIO_4
0: Keep; 1: Clear bit
PAD_GPIO_3
0: Keep; 1: Clear bit
PAD_GPIO_2
0: Keep; 1: Clear bit
PAD_GPIO_1
0: Keep; 1: Clear bit
PAD_GPIO_0
0: Keep; 1: Clear bit

TX delay selection
27

0

000AAAAA

24

23

22

21

20

19

18

17

16

tdsel_cfg_rsv
RO
0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

1

0

1

0

1

tdsel_cfg_gpio_10

tdsel_cfg_gpio_9

tdsel_cfg_gpio_8

RW

RW

RW

0

1

0

1

0

© 2016 - 2017 MediaTek Inc.

1

0

1

0

1

0

Page 458 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
31:20

Name
tdsel_cfg_rsv

11:8

tdsel_cfg_gpio_10

7:4

tdsel_cfg_gpio_9

3:0

tdsel_cfg_gpio_8

A20C0094 TDSEL_CFG01_SET
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

27

set TDSEL_CFG01
26

24

00000000

23

22

21

20

19

18

17

16

RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

tdsel_cfg_set_gpio_10

tdsel_cfg_set_gpio_9

tdsel_cfg_set_gpio_8

WO

WO

WO

0

0

3:0

A20C0098 TDSEL_CFG01_CLR
30

0

0

0

0

0

0

0

0

0

Description
Reserved
nn: reserved
tdsel_cfg_set_gpio_10 PAD_GPIO_10
0: Keep; 1: SET bit;
tdsel_cfg_set_gpio_9 PAD_GPIO_9
0: Keep; 1: SET bit;
tdsel_cfg_set_gpio_8 PAD_GPIO_8
0: Keep; 1: SET bit;

7:4

31

0

Name
tdsel_cfg_set_rsv

11:8

29

28

27

clear TDSEL_CFG01
26

25

24

00000000

23

22

21

20

19

18

17

16

tdsel_cfg_clr_rsv
RO
0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

Bit(s) Mnemonic
31:20
11:8

25

tdsel_cfg_set_rsv

Bit(s) Mnemonic
31:20

Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

Description
Reserved
nn: reserved
PAD_GPIO_10
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_9
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_8
0000: minimum transmission delay; 1111: maximum
transmission delay

0

0

tdsel_cfg_clr_gpio_10

tdsel_cfg_clr_gpio_9

tdsel_cfg_clr_gpio_8

WO

WO

WO

0

0

0

0

Name
tdsel_cfg_clr_rsv
tdsel_cfg_clr_gpio_10

0

0

0

0

0

0

0

0

Description
Reserved
nn: reserved
PAD_GPIO_10

© 2016 - 2017 MediaTek Inc.

Page 459 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

7:4

tdsel_cfg_clr_gpio_9

3:0

tdsel_cfg_clr_gpio_8

Description
0: Keep; 1: Clear bit
PAD_GPIO_9
0: Keep; 1: Clear bit
PAD_GPIO_8
0: Keep; 1: Clear bit

A20D0000 DRV_CFG1
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

15

30

14

drv_cfg_g
pio_18
RW
0

29

13

28

12

drv_cfg_g
pio_17
RW

0

Bit(s) Mnemonic
19:18

0

0

00000000
27

11

26

10

drv_cfg_g
pio_16
RW
0

0

25

9

24

8

drv_cfg_g
pio_15
RW
0

Name
drv_cfg_gpio_20

17:16

drv_cfg_gpio_19

15:14

drv_cfg_gpio_18

13:12

drv_cfg_gpio_17

11:10

drv_cfg_gpio_16

9:8

drv_cfg_gpio_15

7:6

drv_cfg_gpio_14

5:4

drv_cfg_gpio_13

0

23

7

22

6

drv_cfg_g
pio_14
RW
0

0

21

5

20

4

drv_cfg_g
pio_13
RW
0

0

19

18

17

16

drv_cfg_g
pio_20

drv_cfg_g
pio_19

RW

RW

0

0

3

2

drv_cfg_g
pio_12
RW
0

0

0

1

0

drv_cfg_g
pio_11
RW

0

0

0

Description
PAD_GPIO_20
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_19
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_18
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_17
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_16
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_15
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_14
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_13

© 2016 - 2017 MediaTek Inc.

Page 460 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

3:2

drv_cfg_gpio_12

1:0

drv_cfg_gpio_11

Description
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_12
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]
PAD_GPIO_11
4mA: [00]
8mA: [10]
12mA: [01]
16mA: [11]

A20D0004 DRV_CFG1_SET
Bit

31

30

29

28

27

00000000
26

25

24

23

22

21

20

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

19
18
drv_cfg_s
et_gpio_2
0
WO
0

15
14
drv_cfg_s
et_gpio_1
8
WO
0

0

13
12
drv_cfg_s
et_gpio_1
7
WO
0

0

Bit(s) Mnemonic
19:18

11
10
drv_cfg_s
et_gpio_1
6
WO
0

0

9
8
drv_cfg_s
et_gpio_1
5
WO
0

0

Name
drv_cfg_set_gpio_20

17:16

drv_cfg_set_gpio_19

15:14

drv_cfg_set_gpio_18

13:12

drv_cfg_set_gpio_17

11:10

drv_cfg_set_gpio_16

9:8

drv_cfg_set_gpio_15

7:6

drv_cfg_set_gpio_14

5:4

drv_cfg_set_gpio_13

3:2

drv_cfg_set_gpio_12

1:0

drv_cfg_set_gpio_11

7
6
drv_cfg_s
et_gpio_1
4
WO
0

0

5
4
drv_cfg_s
et_gpio_1
3
WO
0

0

0

3
2
drv_cfg_s
et_gpio_1
2
WO
0

31

30

29

28

27

0

0

1
0
drv_cfg_s
et_gpio_1
1
WO

0

0

0

Description
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0008 DRV_CFG1_CLR
Bit
Nam

17
16
drv_cfg_s
et_gpio_1
9
WO

00000000
26

25

24

23

22

21

20

19

18

drv_cfg_c

© 2016 - 2017 MediaTek Inc.

17

16

drv_cfg_c

Page 461 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
lr_gpio_2
0
WO

e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0
15
14
drv_cfg_c
lr_gpio_1
8
WO
0

13
12
drv_cfg_c
lr_gpio_1
7
WO

0

0

0

Bit(s) Mnemonic
19:18

11
10
drv_cfg_c
lr_gpio_1
6
WO
0

9
8
drv_cfg_c
lr_gpio_1
5
WO

0

0

7
6
drv_cfg_c
lr_gpio_1
4
WO

0

0

Name
drv_cfg_clr_gpio_20

17:16

drv_cfg_clr_gpio_19

15:14

drv_cfg_clr_gpio_18

13:12

drv_cfg_clr_gpio_17

11:10

drv_cfg_clr_gpio_16

9:8

drv_cfg_clr_gpio_15

7:6

drv_cfg_clr_gpio_14

5:4

drv_cfg_clr_gpio_13

3:2

drv_cfg_clr_gpio_12

1:0

drv_cfg_clr_gpio_11

0

5
4
drv_cfg_c
lr_gpio_1
3
WO
0

0

0

3
2
drv_cfg_c
lr_gpio_1
2
WO

0

0

0

0

Description
PAD_GPIO_20
0: Keep; 1: Clear bit
PAD_GPIO_19
0: Keep; 1: Clear bit
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17
0: Keep; 1: Clear bit
PAD_GPIO_16
0: Keep; 1: Clear bit
PAD_GPIO_15
0: Keep; 1: Clear bit
PAD_GPIO_14
0: Keep; 1: Clear bit
PAD_GPIO_13
0: Keep; 1: Clear bit
PAD_GPIO_12
0: Keep; 1: Clear bit
PAD_GPIO_11
0: Keep; 1: Clear bit

0000000F

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

Name
Type
Reset

19

Name
g_cfg_gpio_20

2

g_cfg_gpio_19

1

g_cfg_gpio_18

0

g_cfg_gpio_17

18

17

16

3
2
1
0
g_cfg g_cfg g_cfg g_cfg
_gpio _gpio _gpio _gpio
_20 _19 _18 _17
RW
RW
RW
RW
1

Bit(s) Mnemonic
3

0

1
0
drv_cfg_c
lr_gpio_1
1
WO

0

A20D0010 G_CFG1
Bit
Name
Type
Reset
Bit

lr_gpio_1
9
WO

1

1

1

Description
PAD_GPIO_20
0: Enable AIO; 1: Disable AIO;
PAD_GPIO_19
0: Enable AIO; 1: Disable AIO;
PAD_GPIO_18
0: Enable AIO; 1: Disable AIO;
PAD_GPIO_17

© 2016 - 2017 MediaTek Inc.

Page 462 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

A20D0014
Bit
Name
Type
Reset
Bit

Name

Description
0: Enable AIO; 1: Disable AIO;

G_CFG1_SET

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3
g_cfg
_set_
gpio_
20
WO

2
g_cfg
_set_
gpio_
19
WO

1
g_cfg
_set_
gpio_
18
WO

0
g_cfg
_set_
gpio_
17
WO

0

0

0

0

Name
Type
Reset

Bit(s) Mnemonic
3

Name
g_cfg_set_gpio_20

2

g_cfg_set_gpio_19

1

g_cfg_set_gpio_18

0

g_cfg_set_gpio_17

Description
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;

A20D0018 G_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3
g_cfg
_clr_
gpio_
20
WO

2
g_cfg
_clr_
gpio_
19
WO

1
g_cfg
_clr_
gpio_
18
WO

0
g_cfg
_clr_
gpio_
17
WO

0

0

0

0

19

18

Name
Type
Reset

Bit(s) Mnemonic
3

Name
g_cfg_clr_gpio_20

2

g_cfg_clr_gpio_19

1

g_cfg_clr_gpio_18

0

g_cfg_clr_gpio_17

Description
PAD_GPIO_20
0: Keep; 1: Clear bit
PAD_GPIO_19
0: Keep; 1: Clear bit
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17
0: Keep; 1: Clear bit

A20D0020 IES_CFG1
Bit
Name
Type

31

30

29

000003FF
28

27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

17

16

Page 463 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset
Bit

15

14

13

12

11

10

Name
Type
Reset

9
8
7
6
5
4
3
2
1
0
ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf
g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi
o_20 o_19 o_18 o_17 o_16 o_15 o_14 o_13 o_12 o_11
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
1

Bit(s) Mnemonic
9

1

Name
ies_cfg_gpio_20

8

ies_cfg_gpio_19

7

ies_cfg_gpio_18

6

ies_cfg_gpio_17

5

ies_cfg_gpio_16

4

ies_cfg_gpio_15

3

ies_cfg_gpio_14

2

ies_cfg_gpio_13

1

ies_cfg_gpio_12

0

ies_cfg_gpio_11

1

1

1

1

1

1

20

19

18

00000000

31

30

29

28

27

26

15

14

13

12

11

10

Name
Type
Reset

25

24

23

22

21

17

16

9
8
7
6
5
4
3
2
1
0
ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf
g_set g_set g_set g_set g_set g_set g_set g_set g_set g_set
_gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio
_20 _19 _18
_17
_16 _15 _14 _13 _12
_11
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0

Bit(s) Mnemonic
9

1

Description
PAD_GPIO_20
0: Disable; 1: Enable;
PAD_GPIO_19
0: Disable; 1: Enable;
PAD_GPIO_18
0: Disable; 1: Enable;
PAD_GPIO_17
0: Disable; 1: Enable;
PAD_GPIO_16
0: Disable; 1: Enable;
PAD_GPIO_15
0: Disable; 1: Enable;
PAD_GPIO_14
0: Disable; 1: Enable;
PAD_GPIO_13
0: Disable; 1: Enable;
PAD_GPIO_12
0: Disable; 1: Enable;
PAD_GPIO_11
0: Disable; 1: Enable;

A20D0024 IES_CFG1_SET
Bit
Name
Type
Reset
Bit

1

Name
ies_cfg_set_gpio_20

8

ies_cfg_set_gpio_19

7

ies_cfg_set_gpio_18

6

ies_cfg_set_gpio_17

5

ies_cfg_set_gpio_16

4

ies_cfg_set_gpio_15

0

0

0

0

0

0

0

0

0

Description
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15

© 2016 - 2017 MediaTek Inc.

Page 464 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

3

ies_cfg_set_gpio_14

2

ies_cfg_set_gpio_13

1

ies_cfg_set_gpio_12

0

ies_cfg_set_gpio_11

Description
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0028 IES_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

15

14

13

12

11

10

Name
Type
Reset

25

23

22

21

20

19

18

0

Name
ies_cfg_clr_gpio_20

8

ies_cfg_clr_gpio_19

7

ies_cfg_clr_gpio_18

6

ies_cfg_clr_gpio_17

5

ies_cfg_clr_gpio_16

4

ies_cfg_clr_gpio_15

3

ies_cfg_clr_gpio_14

2

ies_cfg_clr_gpio_13

1

ies_cfg_clr_gpio_12

0

ies_cfg_clr_gpio_11

0

0

0

0

0

0

Name

16

20

19

18

0

0

Description
PAD_GPIO_20
0: Keep; 1: Clear bit
PAD_GPIO_19
0: Keep; 1: Clear bit
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17
0: Keep; 1: Clear bit
PAD_GPIO_16
0: Keep; 1: Clear bit
PAD_GPIO_15
0: Keep; 1: Clear bit
PAD_GPIO_14
0: Keep; 1: Clear bit
PAD_GPIO_13
0: Keep; 1: Clear bit
PAD_GPIO_12
0: Keep; 1: Clear bit
PAD_GPIO_11
0: Keep; 1: Clear bit

A20D0030 PD_CFG1
Bit
Name
Type
Reset
Bit

17

9
8
7
6
5
4
3
2
1
0
ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf ies_cf
g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr g_clr
_gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio
_20 _19 _18
_17
_16 _15 _14 _13 _12
_11
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0

Bit(s) Mnemonic
9

24

0000000B

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

22

21

17

16

6
5
4
3
2
1
0
pd_cf pd_cf pd_cf pd_cf pd_cf pd_cf pd_cf
g_bo g_bo g_bo g_gpi g_gpi g_gpi g_gpi
nd_rs nd_sf nd_p o_20 o_19 o_18 o_17

© 2016 - 2017 MediaTek Inc.

Page 465 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
v

Type
Reset

RW
0

Bit(s) Mnemonic
6

Name
pd_cfg_bond_rsv

5

pd_cfg_bond_sf_sip

4

pd_cfg_bond_psram_sip

3

pd_cfg_gpio_20

2

pd_cfg_gpio_19

1

pd_cfg_gpio_18

0

pd_cfg_gpio_17

_sip sram
_sip
RW
RW
0

0

RW

RW

RW

RW

1

0

1

1

Description
PAD_BOND_RSV
0: Disable; 1: Enable;
PAD_BOND_SF_SIP
0: Disable; 1: Enable;
PAD_BOND_PSRAM_SIP
0: Disable; 1: Enable;
PAD_GPIO_20
0: Disable; 1: Enable;
PAD_GPIO_19
0: Disable; 1: Enable;
PAD_GPIO_18
0: Disable; 1: Enable;
PAD_GPIO_17
0: Disable; 1: Enable;

A20D0034 PD_CFG1_SET
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

pd_cf
g_set
_bon
d_rsv

Name
Type
Reset

WO
0

Bit(s) Mnemonic
6

Name
pd_cfg_set_bond_rsv

5

pd_cfg_set_bond_sf_sip

4

pd_cfg_set_bond_psram_sip

3

pd_cfg_set_gpio_20

2

pd_cfg_set_gpio_19

1

pd_cfg_set_gpio_18

0

pd_cfg_set_gpio_17

A20D0038 PD_CFG1_CLR

20

19

4
3
pd_cf
pd_cf
g_set pd_cf
g_set
_bon g_set
_bon
d_psr _gpio
d_sf_
am_si _20
sip
p
WO
WO
WO
0

0

0

18

17

16

2

1

0

pd_cf
g_set
_gpio
_19

pd_cf
g_set
_gpio
_18

pd_cf
g_set
_gpio
_17

WO

WO

WO

0

0

0

Description
PAD_BOND_RSV
0: Keep; 1: SET bit;
PAD_BOND_SF_SIP
0: Keep; 1: SET bit;
PAD_BOND_PSRAM_SIP
0: Keep; 1: SET bit;
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;

00000000

© 2016 - 2017 MediaTek Inc.

Page 466 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

pd_cf
g_clr
_bon
d_rsv

Name
Type
Reset

WO
0

Bit(s) Mnemonic
6

Name
pd_cfg_clr_bond_rsv

5

pd_cfg_clr_bond_sf_sip

4

pd_cfg_clr_bond_psram_sip

3

pd_cfg_clr_gpio_20

2

pd_cfg_clr_gpio_19

1

pd_cfg_clr_gpio_18

0

pd_cfg_clr_gpio_17

20

19

4
3
pd_cf
pd_cf
g_clr pd_cf
g_clr
_bon g_clr
_bon
d_psr _gpio
d_sf_
am_si _20
sip
p
WO
WO
WO
0

0

0

18

17

16

2

1

0

pd_cf
g_clr
_gpio
_19

pd_cf
g_clr
_gpio
_18

pd_cf
g_clr
_gpio
_17

WO

WO

WO

0

0

0

Description
PAD_BOND_RSV
0: Keep; 1: Clear bit
PAD_BOND_SF_SIP
0: Keep; 1: Clear bit
PAD_BOND_PSRAM_SIP
0: Keep; 1: Clear bit
PAD_GPIO_20
0: Keep; 1: Clear bit
PAD_GPIO_19
0: Keep; 1: Clear bit
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17
0: Keep; 1: Clear bit

A20D0040 PUPD_CFG1
Bit
Name
Type
Reset
Bit

0000003F

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
pupd
_cfg_
gpio_
16
RW

4
pupd
_cfg_
gpio_
15
RW

3
pupd
_cfg_
gpio_
14
RW

2
pupd
_cfg_
gpio_
13
RW

1
pupd
_cfg_
gpio_
12
RW

0
pupd
_cfg_
gpio_
11
RW

1

1

1

1

1

1

Name
Type
Reset

Bit(s) Mnemonic
5

Name
pupd_cfg_gpio_16

4

pupd_cfg_gpio_15

3

pupd_cfg_gpio_14

2

pupd_cfg_gpio_13

1

pupd_cfg_gpio_12

0

pupd_cfg_gpio_11

Description
PAD_GPIO_16
0: Pull up; 1: Pull down;
PAD_GPIO_15
0: Pull up; 1: Pull down;
PAD_GPIO_14
0: Pull up; 1: Pull down;
PAD_GPIO_13
0: Pull up; 1: Pull down;
PAD_GPIO_12
0: Pull up; 1: Pull down;
PAD_GPIO_11

© 2016 - 2017 MediaTek Inc.

Page 467 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

Description
0: Pull up; 1: Pull down;

A20D0044 PUPD_CFG1_SET
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
pupd
_cfg_
set_g
pio_1
6
WO

4
pupd
_cfg_
set_g
pio_1
5
WO

3
pupd
_cfg_
set_g
pio_1
4
WO

2
pupd
_cfg_
set_g
pio_1
3
WO

1
pupd
_cfg_
set_g
pio_1
2
WO

0
pupd
_cfg_
set_g
pio_1
1
WO

0

0

0

0

0

0

Name
Type
Reset

Bit(s) Mnemonic
5

Name
pupd_cfg_set_gpio_16

4

pupd_cfg_set_gpio_15

3

pupd_cfg_set_gpio_14

2

pupd_cfg_set_gpio_13

1

pupd_cfg_set_gpio_12

0

pupd_cfg_set_gpio_11

Description
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0048 PUPD_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
pupd
_cfg_
clr_g
pio_1
6
WO

4
pupd
_cfg_
clr_g
pio_1
5
WO

3
pupd
_cfg_
clr_g
pio_1
4
WO

2
pupd
_cfg_
clr_g
pio_1
3
WO

1
pupd
_cfg_
clr_g
pio_1
2
WO

0
pupd
_cfg_
clr_g
pio_1
1
WO

0

0

0

0

0

0

Name
Type
Reset

Bit(s) Mnemonic
5
4
3
2

Name
Description
pupd_cfg_clr_gpio_16 PAD_GPIO_16
0: Keep; 1: Clear bit
pupd_cfg_clr_gpio_15 PAD_GPIO_15
0: Keep; 1: Clear bit
pupd_cfg_clr_gpio_14 PAD_GPIO_14
0: Keep; 1: Clear bit
pupd_cfg_clr_gpio_13 PAD_GPIO_13
0: Keep; 1: Clear bit

© 2016 - 2017 MediaTek Inc.

Page 468 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
1

Name
Description
pupd_cfg_clr_gpio_12 PAD_GPIO_12
0: Keep; 1: Clear bit
pupd_cfg_clr_gpio_11 PAD_GPIO_11
0: Keep; 1: Clear bit

0

A20D0050 PU_CFG1
Bit
Name
Type
Reset
Bit

00000074

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

3

2

1

0

pu_cf
g_bo
nd_rs
v

pu_cf
g_bo
nd_sf
_sip

RW

RW

4
pu_cf
g_bo
nd_p
sram
_sip
RW

1

1

1

Name
Type
Reset

Bit(s) Mnemonic
6

Name
pu_cfg_bond_rsv

5

pu_cfg_bond_sf_sip

4

pu_cfg_bond_psram_sip

3

pu_cfg_gpio_20

2

pu_cfg_gpio_19

1

pu_cfg_gpio_18

0

pu_cfg_gpio_17

pu_cf pu_cf pu_cf pu_cf
g_gpi g_gpi g_gpi g_gpi
o_20 o_19 o_18 o_17
RW

RW

RW

RW

0

1

0

0

Description
PAD_BOND_RSV
0: Disable; 1: Enable;
PAD_BOND_SF_SIP
0: Disable; 1: Enable;
PAD_BOND_PSRAM_SIP
0: Disable; 1: Enable;
PAD_GPIO_20
0: Disable; 1: Enable;
PAD_GPIO_19
0: Disable; 1: Enable;
PAD_GPIO_18
0: Disable; 1: Enable;
PAD_GPIO_17
0: Disable; 1: Enable;

A20D0054 PU_CFG1_SET
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

pu_cf
g_set
_bon
d_rsv

Name
Type
Reset

WO
0

Bit(s) Mnemonic
6
5

Name
pu_cfg_set_bond_rsv
pu_cfg_set_bond_sf_sip

20

19

4
3
pu_cf
pu_cf
g_set pu_cf
g_set
_bon g_set
_bon
d_psr _gpio
d_sf_
am_si _20
sip
p
WO
WO
WO
0

0

0

18

17

16

2

1

0

pu_cf
g_set
_gpio
_19

pu_cf
g_set
_gpio
_18

pu_cf
g_set
_gpio
_17

WO

WO

WO

0

0

0

Description
PAD_BOND_RSV
0: Keep; 1: SET bit;
PAD_BOND_SF_SIP

© 2016 - 2017 MediaTek Inc.

Page 469 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

4

pu_cfg_set_bond_psram_sip

3

pu_cfg_set_gpio_20

2

pu_cfg_set_gpio_19

1

pu_cfg_set_gpio_18

0

pu_cfg_set_gpio_17

Description
0: Keep; 1: SET bit;
PAD_BOND_PSRAM_SIP
0: Keep; 1: SET bit;
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;

A20D0058 PU_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

pu_cf
g_clr
_bon
d_rsv

Name
Type
Reset

WO
0

Bit(s) Mnemonic
6

Name
pu_cfg_clr_bond_rsv

5

pu_cfg_clr_bond_sf_sip

4

pu_cfg_clr_bond_psram_sip

3

pu_cfg_clr_gpio_20

2

pu_cfg_clr_gpio_19

1

pu_cfg_clr_gpio_18

0

pu_cfg_clr_gpio_17

20

19

4
3
pu_cf
pu_cf
g_clr pu_cf
g_clr
_bon g_clr
_bon
d_psr _gpio
d_sf_
am_si _20
sip
p
WO
WO
WO
0

0

0

18

17

16

2

1

0

pu_cf
g_clr
_gpio
_19

pu_cf
g_clr
_gpio
_18

pu_cf
g_clr
_gpio
_17

WO

WO

WO

0

0

0

Description
PAD_BOND_RSV
0: Keep; 1: Clear bit
PAD_BOND_SF_SIP
0: Keep; 1: Clear bit
PAD_BOND_PSRAM_SIP
0: Keep; 1: Clear bit
PAD_GPIO_20
0: Keep; 1: Clear bit
PAD_GPIO_19
0: Keep; 1: Clear bit
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17
0: Keep; 1: Clear bit

A20D0060 R0_CFG1
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

Name
Type
Reset

21

19

18

17

16

5
4
3
2
1
0
r0_cf r0_cf r0_cf r0_cf r0_cf r0_cf
g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi
o_16 o_15 o_14 o_13 o_12 o_11
RW
RW
RW
RW
RW
RW
0

© 2016 - 2017 MediaTek Inc.

20

0

0

0

0

0

Page 470 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Bit(s) Mnemonic
5

Name
r0_cfg_gpio_16

4

r0_cfg_gpio_15

3

r0_cfg_gpio_14

2

r0_cfg_gpio_13

1

r0_cfg_gpio_12

0

r0_cfg_gpio_11

Description
PAD_GPIO_16
0: Disable; 1: Enable;
PAD_GPIO_15
0: Disable; 1: Enable;
PAD_GPIO_14
0: Disable; 1: Enable;
PAD_GPIO_13
0: Disable; 1: Enable;
PAD_GPIO_12
0: Disable; 1: Enable;
PAD_GPIO_11
0: Disable; 1: Enable;

A20D0064 R0_CFG1_SET
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
r0_cf
g_set
_gpio
_16
WO

4
r0_cf
g_set
_gpio
_15
WO

3
r0_cf
g_set
_gpio
_14
WO

2
r0_cf
g_set
_gpio
_13
WO

1
r0_cf
g_set
_gpio
_12
WO

0
r0_cf
g_set
_gpio
_11
WO

0

0

0

0

0

0

Name
Type
Reset

Bit(s) Mnemonic
5

Name
r0_cfg_set_gpio_16

4

r0_cfg_set_gpio_15

3

r0_cfg_set_gpio_14

2

r0_cfg_set_gpio_13

1

r0_cfg_set_gpio_12

0

r0_cfg_set_gpio_11

Description
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0068 R0_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
r0_cf
g_clr
_gpio
_16
WO

4
r0_cf
g_clr
_gpio
_15
WO

3
r0_cf
g_clr
_gpio
_14
WO

2
r0_cf
g_clr
_gpio
_13
WO

1
r0_cf
g_clr
_gpio
_12
WO

0
r0_cf
g_clr
_gpio
_11
WO

0

0

0

0

0

0

Name
Type
Reset

© 2016 - 2017 MediaTek Inc.

Page 471 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

Bit(s) Mnemonic
5

Name
r0_cfg_clr_gpio_16

4

r0_cfg_clr_gpio_15

3

r0_cfg_clr_gpio_14

2

r0_cfg_clr_gpio_13

1

r0_cfg_clr_gpio_12

0

r0_cfg_clr_gpio_11

Description
PAD_GPIO_16
0: Keep; 1: Clear bit
PAD_GPIO_15
0: Keep; 1: Clear bit
PAD_GPIO_14
0: Keep; 1: Clear bit
PAD_GPIO_13
0: Keep; 1: Clear bit
PAD_GPIO_12
0: Keep; 1: Clear bit
PAD_GPIO_11
0: Keep; 1: Clear bit

A20D0070 R1_CFG1
Bit
Name
Type
Reset
Bit

0000003F

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

Name
Type
Reset

21

Name
r1_cfg_gpio_16

4

r1_cfg_gpio_15

3

r1_cfg_gpio_14

2

r1_cfg_gpio_13

1

r1_cfg_gpio_12

0

r1_cfg_gpio_11

19

18

1

1

1

16

1

1

Description
PAD_GPIO_16
0: Disable; 1: Enable;
PAD_GPIO_15
0: Disable; 1: Enable;
PAD_GPIO_14
0: Disable; 1: Enable;
PAD_GPIO_13
0: Disable; 1: Enable;
PAD_GPIO_12
0: Disable; 1: Enable;
PAD_GPIO_11
0: Disable; 1: Enable;

A20D0074 R1_CFG1_SET
Bit
Name
Type
Reset
Bit

17

5
4
3
2
1
0
r1_cf r1_cf r1_cf r1_cf r1_cf r1_cf
g_gpi g_gpi g_gpi g_gpi g_gpi g_gpi
o_16 o_15 o_14 o_13 o_12 o_11
RW
RW
RW
RW
RW
RW
1

Bit(s) Mnemonic
5

20

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
r1_cf
g_set
_gpio
_16
WO

4
r1_cf
g_set
_gpio
_15
WO

3
r1_cf
g_set
_gpio
_14
WO

2
r1_cf
g_set
_gpio
_13
WO

1
r1_cf
g_set
_gpio
_12
WO

0
r1_cf
g_set
_gpio
_11
WO

0

0

0

0

0

0

Name
Type
Reset

© 2016 - 2017 MediaTek Inc.

Page 472 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
5

Name
r1_cfg_set_gpio_16

4

r1_cfg_set_gpio_15

3

r1_cfg_set_gpio_14

2

r1_cfg_set_gpio_13

1

r1_cfg_set_gpio_12

0

r1_cfg_set_gpio_11

Description
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0078 R1_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5
r1_cf
g_clr
_gpio
_16
WO

4
r1_cf
g_clr
_gpio
_15
WO

3
r1_cf
g_clr
_gpio
_14
WO

2
r1_cf
g_clr
_gpio
_13
WO

1
r1_cf
g_clr
_gpio
_12
WO

0
r1_cf
g_clr
_gpio
_11
WO

0

0

0

0

0

0

Name
Type
Reset

Bit(s) Mnemonic
5

Name
r1_cfg_clr_gpio_16

4

r1_cfg_clr_gpio_15

3

r1_cfg_clr_gpio_14

2

r1_cfg_clr_gpio_13

1

r1_cfg_clr_gpio_12

0

r1_cfg_clr_gpio_11

Description
PAD_GPIO_16
0: Keep; 1: Clear bit
PAD_GPIO_15
0: Keep; 1: Clear bit
PAD_GPIO_14
0: Keep; 1: Clear bit
PAD_GPIO_13
0: Keep; 1: Clear bit
PAD_GPIO_12
0: Keep; 1: Clear bit
PAD_GPIO_11
0: Keep; 1: Clear bit

A20D0080 RDSEL_CFG1
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

15

30

14

rdsel_cfg
_gpio_18
RW
0

0

29

13

28

12

rdsel_cfg
_gpio_17
RW
0

0

00000000
27

11

26

10

rdsel_cfg
_gpio_16
RW
0

0

25

9

24

8

rdsel_cfg
_gpio_15
RW
0

0

23

7

22

6

rdsel_cfg
_gpio_14
RW
0

0

© 2016 - 2017 MediaTek Inc.

21

5

20

4

rdsel_cfg
_gpio_13
RW
0

0

19

18

17

16

rdsel_cfg
_gpio_20

rdsel_cfg
_gpio_19

RW

RW

0

0

3

2

rdsel_cfg
_gpio_12
RW
0

0

0

1

0

rdsel_cfg
_gpio_11
RW

0

0

0

Page 473 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
19:18

Name
rdsel_cfg_gpio_20

17:16

rdsel_cfg_gpio_19

15:14

rdsel_cfg_gpio_18

13:12

rdsel_cfg_gpio_17

11:10

rdsel_cfg_gpio_16

9:8

rdsel_cfg_gpio_15

7:6

rdsel_cfg_gpio_14

5:4

rdsel_cfg_gpio_13

3:2

rdsel_cfg_gpio_12

1:0

rdsel_cfg_gpio_11

Description
PAD_GPIO_20
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_19
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_18
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_17
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_16
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_15
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_14
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_13
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_12
00: minimum reception delay; 11: maximum reception
delay
PAD_GPIO_11
00: minimum reception delay; 11: maximum reception
delay

A20D0084 RDSEL_CFG1_SET
Bit

31

30

29

28

27

00000000
26

25

24

23

22

21

20

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

19
18
rdsel_cfg
_set_gpio
_20
WO
0

15
14
rdsel_cfg
_set_gpio
_18
WO
0

0

Bit(s) Mnemonic
19:18

13
12
rdsel_cfg
_set_gpio
_17
WO
0

0

11
10
rdsel_cfg
_set_gpio
_16
WO
0

0

9
8
rdsel_cfg
_set_gpio
_15
WO
0

0

Name
rdsel_cfg_set_gpio_20

17:16

rdsel_cfg_set_gpio_19

15:14

rdsel_cfg_set_gpio_18

13:12

rdsel_cfg_set_gpio_17

11:10

rdsel_cfg_set_gpio_16

7
6
rdsel_cfg
_set_gpio
_14
WO
0

0

5
4
rdsel_cfg
_set_gpio
_13
WO
0

0

3
2
rdsel_cfg
_set_gpio
_12
WO

0

0

17
16
rdsel_cfg
_set_gpio
_19
WO
0

0

1
0
rdsel_cfg
_set_gpio
_11
WO

0

0

0

Description
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;
PAD_GPIO_16

© 2016 - 2017 MediaTek Inc.

Page 474 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

9:8

rdsel_cfg_set_gpio_15

7:6

rdsel_cfg_set_gpio_14

5:4

rdsel_cfg_set_gpio_13

3:2

rdsel_cfg_set_gpio_12

1:0

rdsel_cfg_set_gpio_11

Description
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0088 RDSEL_CFG1_CLR
Bit

31

30

29

28

27

00000000
26

25

24

23

22

21

20

Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

19
18
rdsel_cfg
_clr_gpio
_20
WO
0

15
14
rdsel_cfg
_clr_gpio
_18
WO
0

0

13
12
rdsel_cfg
_clr_gpio
_17
WO
0

0

Bit(s) Mnemonic
19:18

11
10
rdsel_cfg
_clr_gpio
_16
WO
0

0

9
8
rdsel_cfg
_clr_gpio
_15
WO
0

0

7
6
rdsel_cfg
_clr_gpio
_14
WO
0

0

5
4
rdsel_cfg
_clr_gpio
_13
WO
0

0

0

15:14
13:12
11:10
9:8
7:6
5:4
3:2
1:0

3
2
rdsel_cfg
_clr_gpio
_12
WO
0

30

0

1
0
rdsel_cfg
_clr_gpio
_11
WO

0

A20D0090 SMT_CFG1
31

0

0

0

Name
Description
rdsel_cfg_clr_gpio_20 PAD_GPIO_20
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_19 PAD_GPIO_19
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_18 PAD_GPIO_18
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_17 PAD_GPIO_17
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_16 PAD_GPIO_16
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_15 PAD_GPIO_15
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_14 PAD_GPIO_14
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_13 PAD_GPIO_13
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_12 PAD_GPIO_12
0: Keep; 1: Clear bit
rdsel_cfg_clr_gpio_11 PAD_GPIO_11
0: Keep; 1: Clear bit

17:16

Bit
Name
Type

17
16
rdsel_cfg
_clr_gpio
_19
WO

29

00000000
28

27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

Page 475 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Reset
Bit

15

14

13

Name
Type
Reset

12

11

10
9
8
7
6
5
4
3
2
1
0
smt_c
smt_c smt_c
smt_
fg_bo smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c
cfg_g
fg_bo fg_bo
nd_p fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp fg_gp
pio_1
nd_rs nd_sf
sram io_20 io_19 io_18 io_17 io_16 io_15 io_14 io_13 io_12
1
_sip
v
_sip
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
0

0

Bit(s) Mnemonic
12

0

0

0

0

Name
smt_cfg_bond_rsv

11

smt_cfg_bond_sf_sip

10

smt_cfg_bond_psram_sip

9

smt_cfg_gpio_20

8

smt_cfg_gpio_19

7

smt_cfg_gpio_18

6

smt_cfg_gpio_17

5

smt_cfg_gpio_16

4

smt_cfg_gpio_15

3

smt_cfg_gpio_14

2

smt_cfg_gpio_13

1

smt_cfg_gpio_12

0

smt_cfg_gpio_11

0

0

0

0

0

00000000

31

30

29

28

27

15

14

13

12

11

0

0

Name
Type
Reset

Bit(s) Mnemonic
12

0

Description
PAD_BOND_RSV
0: Disable; 1: Enable;
PAD_BOND_SF_SIP
0: Disable; 1: Enable;
PAD_BOND_PSRAM_SIP
0: Disable; 1: Enable;
PAD_GPIO_20
0: Disable; 1: Enable;
PAD_GPIO_19
0: Disable; 1: Enable;
PAD_GPIO_18
0: Disable; 1: Enable;
PAD_GPIO_17
0: Disable; 1: Enable;
PAD_GPIO_16
0: Disable; 1: Enable;
PAD_GPIO_15
0: Disable; 1: Enable;
PAD_GPIO_14
0: Disable; 1: Enable;
PAD_GPIO_13
0: Disable; 1: Enable;
PAD_GPIO_12
0: Disable; 1: Enable;
PAD_GPIO_11
0: Disable; 1: Enable;

A20D0094 SMT_CFG1_SET
Bit
Name
Type
Reset
Bit

0

26

25

24

23

22

21

20

19

18

17

16

10
9
8
7
6
5
4
3
2
1
0
smt_c
smt_c
smt_c
fg_set smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_
fg_set
fg_set
_bon fg_set fg_set fg_set fg_set fg_set fg_set fg_set fg_set fg_set cfg_s
_bon
d_psr _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio et_gp
_bon
d_sf_
d_rsv
_17
_16 _15 _14 _13 _12 io_11
am_si _20 _19 _18
sip
p
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0

0

0

Name
smt_cfg_set_bond_rsv

0

0

0

0

0

0

0

0

Description
PAD_BOND_RSV

© 2016 - 2017 MediaTek Inc.

Page 476 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

11

smt_cfg_set_bond_sf_sip

10

smt_cfg_set_bond_psram_sip

9

smt_cfg_set_gpio_20

8

smt_cfg_set_gpio_19

7

smt_cfg_set_gpio_18

6

smt_cfg_set_gpio_17

5

smt_cfg_set_gpio_16

4

smt_cfg_set_gpio_15

3

smt_cfg_set_gpio_14

2

smt_cfg_set_gpio_13

1

smt_cfg_set_gpio_12

0

smt_cfg_set_gpio_11

Description
0: Keep; 1: SET bit;
PAD_BOND_SF_SIP
0: Keep; 1: SET bit;
PAD_BOND_PSRAM_SIP
0: Keep; 1: SET bit;
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D0098 SMT_CFG1_CLR
Bit
Name
Type
Reset
Bit

00000000

31

30

29

28

27

15

14

13

12

11

0

0

Name
Type
Reset

Bit(s) Mnemonic
12

26

25

24

23

22

21

20

19

18

17

16

10
9
8
7
6
5
4
3
2
1
0
smt_c
smt_c
smt_c
fg_clr smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_c smt_
fg_clr
_bon fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr fg_clr cfg_cl
fg_clr
_bon
d_psr _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio _gpio r_gpi
_bon
d_sf_
d_rsv
_16 _15 _14 _13 _12 o_11
_17
am_si _20 _19 _18
sip
p
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
WO
0

0

0

0

Name
smt_cfg_clr_bond_rsv

11

smt_cfg_clr_bond_sf_sip

10

smt_cfg_clr_bond_psram_sip

9

smt_cfg_clr_gpio_20

8

smt_cfg_clr_gpio_19

7

smt_cfg_clr_gpio_18

6

smt_cfg_clr_gpio_17

0

0

0

0

0

0

0

Description
PAD_BOND_RSV
0: Keep; 1: Clear bit
PAD_BOND_SF_SIP
0: Keep; 1: Clear bit
PAD_BOND_PSRAM_SIP
0: Keep; 1: Clear bit
PAD_GPIO_20
0: Keep; 1: Clear bit
PAD_GPIO_19
0: Keep; 1: Clear bit
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17

© 2016 - 2017 MediaTek Inc.

Page 477 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic

Name

5

smt_cfg_clr_gpio_16

4

smt_cfg_clr_gpio_15

3

smt_cfg_clr_gpio_14

2

smt_cfg_clr_gpio_13

1

smt_cfg_clr_gpio_12

0

smt_cfg_clr_gpio_11

Description
0: Keep; 1: Clear bit
PAD_GPIO_16
0: Keep; 1: Clear bit
PAD_GPIO_15
0: Keep; 1: Clear bit
PAD_GPIO_14
0: Keep; 1: Clear bit
PAD_GPIO_13
0: Keep; 1: Clear bit
PAD_GPIO_12
0: Keep; 1: Clear bit
PAD_GPIO_11
0: Keep; 1: Clear bit

A20D00B0 TDSEL_CFG10
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

31

30

29

28

AAAAAAAA
27

26

25

24

23

22

21

20

19

18

16

tdsel_cfg_gpio_18

tdsel_cfg_gpio_17

tdsel_cfg_gpio_16

tdsel_cfg_gpio_15

RW

RW

RW

RW

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_gpio_14

tdsel_cfg_gpio_13

tdsel_cfg_gpio_12

tdsel_cfg_gpio_11

RW

RW

RW

RW

1

0

1

0

1

0

1

Bit(s) Mnemonic
31:28

Name
tdsel_cfg_gpio_18

27:24

tdsel_cfg_gpio_17

23:20

tdsel_cfg_gpio_16

19:16

tdsel_cfg_gpio_15

15:12

tdsel_cfg_gpio_14

11:8

tdsel_cfg_gpio_13

7:4

tdsel_cfg_gpio_12

3:0

tdsel_cfg_gpio_11

0

1

0

1

0

1

0

31

30

29

28

27

1

0

Description
PAD_GPIO_18
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_17
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_16
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_15
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_14
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_13
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_12
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_11
0000: minimum transmission delay; 1111: maximum
transmission delay

A20D00B4 TDSEL_CFG10_SET
Bit

17

00000000
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

Page 478 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

tdsel_cfg_set_gpio_18

tdsel_cfg_set_gpio_17

tdsel_cfg_set_gpio_16

tdsel_cfg_set_gpio_15

WO

WO

WO

WO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_set_gpio_14

tdsel_cfg_set_gpio_13

tdsel_cfg_set_gpio_12

tdsel_cfg_set_gpio_11

WO

WO

WO

WO

0

0

0

0

0

0

0

0

Bit(s) Mnemonic
31:28

Name
tdsel_cfg_set_gpio_18

27:24

tdsel_cfg_set_gpio_17

23:20

tdsel_cfg_set_gpio_16

19:16

tdsel_cfg_set_gpio_15

15:12

tdsel_cfg_set_gpio_14

11:8

tdsel_cfg_set_gpio_13

7:4

tdsel_cfg_set_gpio_12

3:0

tdsel_cfg_set_gpio_11

0

0

0

0

0

0

31

30

29

28

27

0

Description
PAD_GPIO_18
0: Keep; 1: SET bit;
PAD_GPIO_17
0: Keep; 1: SET bit;
PAD_GPIO_16
0: Keep; 1: SET bit;
PAD_GPIO_15
0: Keep; 1: SET bit;
PAD_GPIO_14
0: Keep; 1: SET bit;
PAD_GPIO_13
0: Keep; 1: SET bit;
PAD_GPIO_12
0: Keep; 1: SET bit;
PAD_GPIO_11
0: Keep; 1: SET bit;

A20D00B8 TDSEL_CFG10_CLR
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

0

00000000
26

25

24

23

22

21

20

19

18

17

16

tdsel_cfg_clr_gpio_18

tdsel_cfg_clr_gpio_17

tdsel_cfg_clr_gpio_16

tdsel_cfg_clr_gpio_15

WO

WO

WO

WO

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_clr_gpio_14

tdsel_cfg_clr_gpio_13

tdsel_cfg_clr_gpio_12

tdsel_cfg_clr_gpio_11

WO

WO

WO

WO

0

0

0

0

0

0

0

0

Bit(s) Mnemonic
31:28

Name
tdsel_cfg_clr_gpio_18

27:24

tdsel_cfg_clr_gpio_17

23:20

tdsel_cfg_clr_gpio_16

19:16

tdsel_cfg_clr_gpio_15

15:12

tdsel_cfg_clr_gpio_14

0

0

0

0

0

0

0

0

Description
PAD_GPIO_18
0: Keep; 1: Clear bit
PAD_GPIO_17
0: Keep; 1: Clear bit
PAD_GPIO_16
0: Keep; 1: Clear bit
PAD_GPIO_15
0: Keep; 1: Clear bit
PAD_GPIO_14
0: Keep; 1: Clear bit

© 2016 - 2017 MediaTek Inc.

Page 479 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s) Mnemonic
11:8

Name
tdsel_cfg_clr_gpio_13

7:4

tdsel_cfg_clr_gpio_12

3:0

tdsel_cfg_clr_gpio_11

Description
PAD_GPIO_13
0: Keep; 1: Clear bit
PAD_GPIO_12
0: Keep; 1: Clear bit
PAD_GPIO_11
0: Keep; 1: Clear bit

A20D00C0 TDSEL_CFG11
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

000000AA

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_gpio_20

tdsel_cfg_gpio_19

RW

RW

1

Bit(s) Mnemonic
7:4

Name
tdsel_cfg_gpio_20

3:0

0

1

0

1

0

tdsel_cfg_gpio_19

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_set_gpio_20

tdsel_cfg_set_gpio_19

WO

WO

0

Bit(s) Mnemonic
7:4

Name
tdsel_cfg_set_gpio_20

3:0

tdsel_cfg_set_gpio_19

0

0

0

0

0

31

30

29

28

27

20

19

18

0

0

Description
PAD_GPIO_20
0: Keep; 1: SET bit;
PAD_GPIO_19
0: Keep; 1: SET bit;

A20D00C8 TDSEL_CFG11_CLR
Bit
Nam
e

0

Description
PAD_GPIO_20
0000: minimum transmission delay; 1111: maximum
transmission delay
PAD_GPIO_19
0000: minimum transmission delay; 1111: maximum
transmission delay

A20D00C4 TDSEL_CFG11_SET
Bit
Nam
e
Type
Rese
t
Bit
Nam
e
Type
Rese
t

1

00000000
26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

17

16

Page 480 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Rese
t
Bit
Nam
e
Type
Rese
t

15

14

12

11

10

9

8

7

6

5

4

3

2

1

0

tdsel_cfg_clr_gpio_20

tdsel_cfg_clr_gpio_19

WO

WO

0

Bit(s) Mnemonic
7:4
3:0

13

0

0

0

0

0

0

0

Name
Description
tdsel_cfg_clr_gpio_20 PAD_GPIO_20
0: Keep; 1: Clear bit
tdsel_cfg_clr_gpio_19 PAD_GPIO_19
0: Keep; 1: Clear bit

© 2016 - 2017 MediaTek Inc.

Page 481 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

22. Clock Configuration
The clock configuration including the clock frequency settings and measuring methods are described.
The clock settings to be configured:
•

Slow BUS clock and related peripheral clock

•

Cortex-M4 MCU and fast BUS clock and related peripheral clock

•

Serial Flash Controller (SFC)

•

MSDC (SDIOMST)

•

SPI Master (SPIMST)

•

Clock frequency measuring methods

22.1.

Clock configuration programming guide

The clock settings are configured by control registers (CRs) that control clock dividers and multiplexers (MUXs).
This section describes how to switch clock source or frequency for system and peripheral devices and clock turn
on/off methods. The clock source architecture is shown in Figure 22.1-1. The clock multiplexers of each clock are
listed in Table 22.1-1.
General clock switch sequence is:
1) Turn on the PLL divider
2) Select the clock frequency
3) Ensure successful clock frequency switch
4) Trigger clock change bit
5) Poll clock change status
Note, that before switching clock frequencies, wait for the enabled clock to stabilize. Also, follow the minimum
VCORE voltage limitation, or there will be timing violation issues. Clocks derived from BBPLL1 cannot be used when
RF_WBAC0[16] is 0 (BBPLL1 is 832MHz).

© 2016 - 2017 MediaTek Inc.

Page 482 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

M

MT7686 Reference Manual
PLLs

Clock source

Clock Switch and CG/DCM

Frequency Divider

To general XO domain
controller clock

F_FXO_CK
DCM

XPLL

AD_XPLL_CK
(24.576MHz/22.5792
MHz)

F_FXO_CK

To I2S

f_fxo_is_26m
XO

1
0

/2

1. 40MHz
2. 26MHz

F_SDIOMST_CK
CG

BBPLL2_DIVM_CK
(48MHz)

AD_XO_BBTOP_CK

To slow BUS (Fxo)

To SDIOMST

F_FXO_CK
/2

F_FXO_D2_CK
1

To GPTIMER

F_FRTC_CK 0
/1221
/794

F_FXO_CK
BBPLL2_DIVM_CK
(96MHz)

XO_DIV_32K_CK

F_SPIMST_CK
CG

To SPIMST

BBPLL1
HF_SFC_CK

F_FXO_CK
BBPLL2_DIVM_CK
(80MHz)

CG

DCG

To SFC

BBPLL1_DIVN_CK
AD_BBPLL1_CK

/N

BBPLL1_DIVN_CK
HF_FCONN_CK

F_FXO_CK
BBPLL2_DIVM_CK
(320MHz)
BBPLL2

CG

To CONN
(connsys /2 to get
N9 160MHz

BBPLL1_DIVN_CK

F_FXTALCTL_CK

AD_XO_BBTOP_CK

CG

To XTRALCTL

F_FRTC_CK
AD_BBPLL2_CK

BBPLL2_DIVM_CK

/M
HF_FSYS_CK

F_FXO_CK

CG

BBPLL1_DIVN_CK

1
0

/Z
/2Z

BBPLL2_DIVM_CK
(192MHz)

EOSC32K

EOSC32K

XO_DIV_32K_CK
EOSC32K

XOSC32K

XOSC32K

DCM

To CM4 (FCPU)

DCM

To general BUS domain
controller clock
To memory bus and
peri bus (FBUS)

F_FRTC_CK To Real Time
Counter
or 32K domain

CLKOUT

XOSC32K

Figure 22.1-1. Clock source architecture
Table 22.1-1. Clock switch
Clock name

MUX select register
(active when CHG=1)

SEL

MUX select
option

Clock
frequency
(MHz)

HF_FSYS_CK

CKSYS_CLK_CFG_0__F_CLK_SYS_SEL

0

xo_ck

26/20

1

BBPLL2_D5

192

2

BBPLL2_D5_D2

96

3

BBPLL1_D7

148.5714286

0

xo_ck

26/20

1

BBPLL2_D3_D4

80

2

BBPLL2_D15

64

3

BBPLL1_D7_D2

74.28571429

0

xo_ck

26/20

1

BBPLL2_D5_D4

48

2

BBPLL2_D5_D2

96

0

xo_ck

26/20

1

BBPLL2_D5_D8

24

HF_FSFC_CK

F_FSPIMST_CK

F_FSDIOMST_CK

CKSYS_CLK_CFG_0__F_CLK_SFC_SEL

CKSYS_CLK_CFG_0__F_CLK_SPIMST_SEL

CKSYS_CLK_CFG_1__F_CLK_SDIOMST_SEL

© 2016 - 2017 MediaTek Inc.

Page 483 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Clock name

MUX select register
(active when CHG=1)

SEL

MUX select
option

Clock
frequency
(MHz)

2

BBPLL2_D5_D4

48

Note 1: The MUX select register naming (CKSYS_CLK_CFG_0__F_CLK_SYS_SEL) is in two parts - register address
name (CKSYS_CLK_CFG_0) and register bit name (F_CLK_SYS_SEL).
Note 2: BBPLL2_D5_D2 means BBPLL2 (960MHz) is divided by 5 and then divided by 2 (equal to divide by 10)

22.1.1.

Clock configuration for slow bus clock peripherals

Several slow bus clock peripherals (SEJ, AUXADC, eFUSE and more) share the same bus clock (FXO). The clock
output of these peripherals is gated by clock gating cells. To turn on these clocks, the related power down (PDN)
bit must be set. XO_PDN_SETD0 is used to turn off the clock, while XO_PDN_CLRD0 is used to turn on the clock.
XO_PDN_COND0 is used to read configuration results (0: Clock is turned on; 1: Clock is gated off). Relationships
between XO_PDN_COND0 bit numbers and different configure register names are shown in Table 22.1-2.
Table 22.1-2. Relationship between XO_PDN_COND0 bit number and configuration register
Crystal oscillator power down conditions
XO_PDN_CON0[bit number]

Configuration register

XO_PDN_CON0[18]

RG_SW_EFUSE_CG

XO_PDN_CON0[17]

RG_SW_GPTIMER_CG

XO_PDN_CON0[16]

RG_SW_SPM_CG

XO_PDN_CON0[9]

RG_SW_PWM5_CG

XO_PDN_CON0[8]

RG_SW_PWM4_CG

XO_PDN_CON0[7]

RG_SW_PWM3_CG

XO_PDN_CON0[6]

RG_SW_PWM2_CG

XO_PDN_CON0[5]

RG_SW_PWM1_CG

XO_PDN_CON0[4]

RG_SW_PWM0_CG

XO_PDN_CON0[3]

RG_SW_SEJ_CG

An example to turn on the clock source of PWM0:
•

Write: XO_PDN_CLRD0 = 0x10

•

Read XO_PDN_COND0 = 0xFFEF

An example to turn off the clock source of PWMC0:
•

Write: XO_PDN_SETD0 = 0x10

•

Read XO_PDN_COND0 = 0xFFFF

© 2016 - 2017 MediaTek Inc.

Page 484 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
22.1.2.

Clock configuration for Cortex-M4 MCU and fast bus clock peripherals

The system clock (HF_FSYS_CK) supports F_FXO_CK clock (26MHz or 20MHz), 96MHz and maximum 192MHz
(divided from PLL). The clock multiplexer switch method of HF_FSYS_CK is in Table 22.1-3.
An example of switching HF_FSYS_CK to 96MHz:
Table 22.1-3. Clock multiplexer switch method of HF_FSYS_CK
Action

Parameter

Value

Write

CKSYS_CLK_DIV_1__F_CLK_PLL2_D5_EN

0 x 1

Write

CKSYS_CLK_DIV_2__F_CLK_PLL2_DIV_EN

0 x 1

Write

CKSYS_CLK_CFG_0__F_CLK_SYS_SEL

0 x 2

Write

CKSYS_CLK_FORCE_ON_0__F_CLK_SYS_FORCE_ON

0 x 1

Write

CKSYS_CLK_UPDATE_0__F_CHG_SYS

0 x 1

Polling

CKSYS_CLK_UPDATE_0__F_CHG_SYS

0 x 1

Polling

CKSYS_CLK_UPDATE_STATUS_0__F_CHG_SYS_OK

0 x 1

Write

CKSYS_CLK_FORCE_ON_0__F_CLK_SYS_FORCE_ON

0 x 0

EMI/SFC AHB BUS (FBUS) clocks are derived from HF_FSYS_CK clock and are half of Cortex-M4 MCU clock
frequency. The bus clock is gated or slowed down (>1MHz), if there is no transaction. Clocks of several peripherals
(I2C from 0 to 3, Crypto Engine, DMA and more) are the same as fast bus (FBUS). The clock output of these
peripherals is gated by clock gating cells. To turn on these clocks, the related power down (PDN) bit must be set.
PDN_SETD0 is used to turn off the clock, while PDN_CLRD0 is used to turn on the clock. PDN_COND0 is used to
read configuration results (0: Clock is turned on; 1: Clock is gated off). Relationships between PDN_COND0 bit
numbers and different configure register names are shown in Table 22.1-4.
Table 22.1-4. Relationship between PDN_COND0 bit number and configuration register
Power down conditions
PDN_CON0[bit number]

Configuration register

Power down
conditions
PDN_CON0[bit
number]

Configuration register

PDN_CON0[22]

PDN_CON0[10]

RG_SW_UART2_CG

PDN_CON0[21]

RG_SW_SDIOSLV_CG
RG_SW_CRYPTO_CG

PDN_CON0[9]

RG_SW_UART1_CG

PDN_CON0[20]

RG_SW_UART0_CG

PDN_CON0[8]

RG_SW_SDIOMST_CG

PDN_CON0[19]

RG_SW_XTALCTL_CG

PDN_CON0[6]

RG_SW_SPIMST_CG

PDN_CON0[18]

RG_SW_TRNG_CG

PDN_CON0[5]

RG_SW_SPISLV_CG

PDN_CON0[17]

RG_SFC_SW_CG

PDN_CON0[3]

RG_SW_SDIOMST_BUS_CG

PDN_CON0[16]

RG_SW_CM_SYSROM_CG

PDN_CON0[2]

RG_SW_CONN_XO_CG

PDN_CON0[13]

RG_SW_I2C1_CG

PDN_CON0[0]

RG_SW_DMA_CG

PDN_CON0[12]

RG_SW_I2C0_CG

An example to turn on the clock of I2C0:
•

Write: PDN_CLRD0 = 0x1000

•

Read PDN_COND0 = 0x2FFF

© 2016 - 2017 MediaTek Inc.

Page 485 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
An example to turn off the clock of I2C0:
•

Write: PDN_SETD0 = 0x1000

•

Read PDN_COND0 = 0x3FFF

22.1.3.

Serial flash controller (SFC) clock setting

The serial flash controller clock (HF_FSFC_CK) supports F_FXO_CK clock (26MHz or 20MHz) and 80MHz (divided
from PLL). The clock multiplexer switch method of HF_FSFC_CK is shown in Table 22.1-5.
An example to switch HF_FSFC_CK to 80MHz:
Table 22.1-5. Clock multiplexer switch method of HF_FSFC_CK
Action

Parameter

Value

Write

CKSYS_CLK_DIV_1__F_CLK_PLL2_D3_EN

0 x 1

Write

CKSYS_CLK_DIV_2__F_CLK_PLL2_DIV_EN

0 x 1

Write

CKSYS_CLK_CFG_0__F_CLK_SFC_SEL

0 x 1

Write

CKSYS_CLK_FORCE_ON_0__F_CLK_SFC_FORCE_ON

0 x 1

Write

CKSYS_CLK_UPDATE_0__F_CHG_SFC

0 x 1

Polling

CKSYS_CLK_UPDATE_0__F_CHG_SFC

0 x 1

Polling

CKSYS_CLK_UPDATE_STATUS_0__F_CHG_SFC_OK

0 x 1

Write

CKSYS_CLK_FORCE_ON_0__F_CLK_SFC_FORCE_ON

0 x 0

To turn off the SFC when not in use, set PDN_SETD0 to 0x20000.

22.1.4.

MSDC (SDIOMST) clock setting

The MSDC clock (F_FSDIOMST_CK) supports F_FXO_CK clock (26MHz or 20MHz), 24MHz and maximum 48MHz
(divided from PLL). The clock multiplexer switch method of F_FSDIOMST_CK is shown in Table 22.1-6.
An example to switch F_FSDIOMST_CK to 48MHz:
Table 22.1-6. Clock multiplexer switch method of F_FSDIOMST_CK
Action

Parameter

Value

Write

CKSYS_CLK_DIV_1__F_CLK_PLL2_D5_EN

0x1

Write

CKSYS_CLK_DIV_2__F_CLK_PLL2_DIV_EN

0x1

Write

CKSYS_CLK_CFG_0__F_CLK_SDIOMST_SEL

0x2

Write

CKSYS_CLK_FORCE_ON_1__F_CLK_SDIOMST_FORCE_ON

0x1

Write

CKSYS_CLK_UPDATE_1__F_CHG_SDIOMST

0x1

Polling

CKSYS_CLK_UPDATE_1__F_CHG_SDIOMST

0x1

Polling

CKSYS_CLK_UPDATE_STATUS_1__F_CHG_SDIOMST_OK

0x1

Write

CKSYS_CLK_FORCE_ON_1__F_CLK_SDIOMST_FORCE_ON

0x0

To turn off the SDIOMST clock when not in use, set PDN_SETD0 to 0x100.

© 2016 - 2017 MediaTek Inc.

Page 486 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
22.1.5.

SPI Master (SPIMST) clock setting

The SPI master clock is half of F_FSPIMST_CK. F_FSPIMST_CK supports F_FXO_CK clock (26MHz or 20MHz), 48MHz
and maximum 96MHz (divided from PLL). The clock multiplexer switch method of F_FSPIMST_CK is shown in Table
22.1-7.
An example to switch F_FSPIMST_CK to 96MHz:
Table 22.1-7. Clock multiplexer switch method of F_FSDIOMST_CK
Action

Parameter

Value

Write

CKSYS_CLK_DIV_1__F_CLK_PLL2_D5_EN

0 x 1

Write

CKSYS_CLK_DIV_2__F_CLK_PLL2_DIV_EN

0 x 1

Write

CKSYS_CLK_CFG_0__F_CLK_SPIMST_SEL

0 x 2

Write

CKSYS_CLK_FORCE_ON_1__F_CLK_SPIMST_FORCE_ON

0 x 1

Write

CKSYS_CLK_UPDATE_1__F_CHG_SPIMST

0 x 1

Polling

CKSYS_CLK_UPDATE_1__F_CHG_SPIMST

0 x 1

Polling

CKSYS_CLK_UPDATE_STATUS_1__F_CHG_SPIMST_OK

0 x 1

Write

CKSYS_CLK_FORCE_ON_1__F_CLK_SPIMST_FORCE_ON

0 x 0

To turn off the SPIMST clock when not in use, first set PDN_SETD0 to 0x8, then set PDN_SETD0 to 0x40.

22.1.6.

Measuring the clock frequency

There is a circuit to measure the output frequency of clock switch. The general sequence is:
1) Set the DUT clock (FQMTR_CK), as shown in Table 22.1-8.
2) Reset the frequency meter.
3) Set the fixed clock cycle numbers by FQMTR_WINSET, fixed clock default is F_FXO_CK
4) Enable the frequency meter.
5) Wait for the measurement to complete.
6) Estimate the FQMTR_CK frequency (a decimal number) according the formula :
𝐹𝑄𝑀𝑇𝑅𝐶𝐾 =

𝐹𝑄𝑀𝑇𝑅_𝐷𝐴𝑇𝐴[23: 0]
× 𝐹𝐼𝑋𝐸𝐷_𝐶𝐾
𝐹𝑄𝑀𝑇𝑅_𝑊𝐼𝑁𝑆𝐸𝑇 + 1

Table 22.1-8. Clock multiplexer switch method of F_FSDIOMST_CK
CKSYS_TST_SEL_1 setting of DUT clock (FQMTR_CK)
0x11

Clock name
HF_FSFC_CK

0x13

HF_FSYS_CK

0x14

F_FSPIMST_CK

0x15

F_FSDIOMST_CK

An example to measure whether HF_FSYS_CK is 96MHz is shown in Table 22.1-9:

© 2016 - 2017 MediaTek Inc.

Page 487 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Table 22.1-9. Clock multiplexer switch method of F_FSDIOMST_CK
Action

Parameter

Value

Write

CKSYS_TST_SEL_1

0x13

Write

PLL_ABIST_FQMTR_CON0

0x4000

Write

PLL_ABIST_FQMTR_CON0

0x0FFF

Write

PLL_ABIST_FQMTR_CON0

0x8FFF

Wait for 5µs, then set PLL_ABIST_FQMTR_CON1[15] to 0x0 in polling.
If XO is at 20MHz, read: PLL_ABIST_FQMTR_DATA[23:0] = 0x4CCC.

22.2.
22.2.1.

𝐹𝑄𝑀𝑇𝑅𝐶𝐾 =

Register mapping

19660
× 20MHz = 96MHz
4095 + 1

bbpll_ctrl register map

Module name: bbpll_ctrl Base address: (+A2040000h)
Address
A2040200

Name
BBPLL_REF_CLK_SEL

Width
32

Register Functionality
PLL Reference Clock Selection Register

A2040300

RF_WBAC0

32

RF PLL Related Control Register 0

A2040304

RF_WBAC1

32

RF PLL Related Control Register 1

A2040308

RF_WBAC2

32

RF PLL Related Control Register 2

A204030C

RF_WBAC3

32

RF PLL Related Control Register 3

A2040310

RF_WBAC4

32

RF PLL Related Control Register 4

A2040314

RF_WBAC5

32

RF PLL Related Control Register 5

A204031C

RF_WBAC7

32

RF PLL Control Stable Time 0

A2040320

RF_WBAC8

32

RF PLL Control Stable Time 1

A2040324

RF_WBAC9

32

RF PLL Control Stable Time 2

A2040328

RF_WBAC10

32

RF PLL Control Stable Time 3

A204032C

RF_WBAC11

32

RF PLL Control Stable Time4

A2040330

RF_WBAC12

32

RF PLL Control Stable Time 5

A2040334

RF_WBAC13

32

RF PLL Control Stable Time 6

A2040338

RF_WBAC14

32

RF PLL Control Stable Time 7

A204033C

RF_WBAC15

32

RF PLL Control Stable Time8

A2040340

RF_WBAC16

32

RF PLL Control Stable Time 9

A2040344

RF_WBAC17

32

RF PLL Manual Control Register 17

A2040348

RF_WBAC18

32

RF PLL Manual Control Register 18

A204034C

RF_WBAC19

32

RF PLL Manual Control Register 19

A2040350

RF_WBAC20

32

RF PLL Manual Control Register 20

A2040354

RF_WBAC21

32

RF PLL Manual Control Register 21

A2040358

RF_WBAC22

32

RF PLL Manual Control Register 22

A204035C

RF_WBAC23

32

RF PLL Manual Control Register 23

A2040360

RF_WBAC24

32

RF PLL Manual Control Register 24

© 2016 - 2017 MediaTek Inc.

Page 488 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address

Name

Width

Register Functionality

A2040364

RF_WBAC25

32

RF PLL Manual Control Register 25

A2040368

RF_WBAC26

32

RF PLL Manual Control Register 26

A2040370

RF_WBAC27

32

RF PLL Manual Control Register 27

A2040374

RF_WBAC28

32

RF PLL Manual Control Register 28

A2040384

RO_RF_WBAC1

32

RF PLL Register 1 Status

A2040388

RO_RF_WBAC2

32

RF PLL Register 2 Status

A204038C

RO_RF_WBAC3

32

RF PLL Control Stable Time 0 Status

A2040390

RO_RF_WBAC4

32

RF PLL Control Stable Time 1 Status

A2040394

RO_RF_WBAC5

32

RF PLL Control Stable Time 2 Status

A2040398

RO_RF_WBAC6

32

RF PLL Control Stable Time 3 Status

A204039C

RO_RF_WBAC7

32

RF PLL Control Stable Time 4 Status

A20403A0

RO_RF_WBAC8

32

RF PLL Control Stable Time 5 Status

A2040400

BBPLL_DBG_PROB

32

RF PLL Debug Probe

A2040410

BBPLL_RDY

32

RF PLL Ready Status

A2040700

PLLTD_CON0

32

RF PLL Time Delay Control Register 0

A2040200
Bit 31
Name
Type
Reset
Bit 15
Name

BBPLL_REF_CL PLL reference clock selection register
K_SEL

00000001

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

rg_bb
pll_re
f_clk
_sel
RW
1

Type
Reset

Bit(s) Mnemonic
0

Name

Description
1'b0: for PAD
1'b1: from XTAL

rg_bbpll_ref RG_BBPLL_REF
_clk_sel
_CLK_SEL

A2040300
Bit
Name
Type
Reset
Bit
Name
Type
Reset

RF_WBAC0

RF WBAC RG 0

31

30

29

28

27

15

14

13

12

11

WBTAC_CM4_PLL[31:16]
RW
0
0
0
0
0
WBTAC_CM4_PLL[15:0]
RW
0
0
0
0
0

00010000

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

10

9

8

Bit(s)

Mnemonic

Name

31:0

WBTAC_CM4_PLL CR_WBTAC_CM4_PLL

7

6

5

4

3

2

1

0

Description
[26] CR_MODE

© 2016 - 2017 MediaTek Inc.

Page 489 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
[25] CR_SPM_TURN_ON_BBPLL1_EN
[24] CR_SPM_TURN_ON_BBPLL2_EN
[16] BBPLL1_FREQ_SEL
0: 832MHz
1: 1040MHz
[5] CR_AFELDO_FOLLOW_TRXLDO
[4] CR_AFETRXLDO_FOLLOW_LDO
[1] CR_CONN_TURN_ON_BBPLL1_EN
[0] CR_CONN_TURN_ON_BBPLL2_EN

A2040304
Bit
Name
Type
Reset
Bit
Name
Type
Reset

RF_WBAC1

RF WBAC RG 1

31

30

29

28

27

15

14

13

12

11

RG_WF_BBPLL_01[31:16]
RW
0
0
0
0
0
RG_WF_BBPLL_01[15:0]
RW
0
0
1
0
1

054B2840

26

25

24

23

22

21

20

19

18

17

16

1

0

1

0

1

0

0

1

0

1

1

0

0

0

0

1

0

0

0

0

0

0

10

9

8

Bit(s)

Mnemonic

31:0

RG_WF_BBPLL CR_RG_WF_BBPLL_01
_01

A2040308
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Name

RF WBAC RG 2

31

30

29

28

27

15

14

13

12

11

RG_WF_BBPLL_02[15:0]
RW
0
0
0
1
1

6

5

4

3

2

1

0

Description

RF_WBAC2

RG_WF_BBPLL_02[31:16]
RW
0
0
0
0
0

7

Wi-Fi PLL registers.
Actual RG_WF_BBPLL_01 = WBTAC_BBPLL_SW ?
RG_WF_BBPLL_01[31:0] :
case(BBPLL1_FREQ_SEL, xtal_freq)
5'b01000: BBPLL1=832 MHz, XTAL=52
MHz ,32'h45962040
5'b00100: BBPLL1=832 MHz, XTAL=40
MHz ,32'h01234567
5'b00010: BBPLL1=832 MHz, XTAL=26
MHz ,32'h45962040
5'b00001: BBPLL1=832 MHz, XTAL=20
MHz ,32'h01234567
5'b11000: BBPLL1=1040 MHz, XTAL=52
MHz ,32'h454B2840
5'b10100: BBPLL1=1040 MHz, XTAL=40
MHz ,32'h454B3440
5'b10010: BBPLL1=1040 MHz, XTAL=26
MHz ,32'h054B2840
5'b10001: BBPLL1=1040 MHz, XTAL=20
MHz ,32'h054B3440
default : 32'h054B2840
endcase

05691840

26

25

24

23

22

21

20

19

18

17

16

1

0

1

0

1

1

0

1

0

0

1

0

0

0

0

1

0

0

0

0

0

0

10

9

8

7

6

© 2016 - 2017 MediaTek Inc.

5

4

3

2

1

0

Page 490 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

31:0

RG_WF_BBPLL CR_RG_WF_BBPLL_02 Wi-Fi PLL registers.
_02
Actual RG_WF_BBPLL_02 = WBTAC_BBPLL_SW ?
RG_WF_BBPLL_02[31:0] :
case(BBPLL1_FREQ_SEL, xtal_freq)
5'b01000: BBPLL1=832 MHz, XTAL=52
MHz ,32'h05691E40
5'b00100: BBPLL1=832 MHz, XTAL=40
MHz ,32'h45693040
5'b00010: BBPLL1=832 MHz, XTAL=26
MHz ,32'h05691E40
5'b00001: BBPLL1=832 MHz, XTAL=20
MHz ,32'h05693040
5'b11000: BBPLL1=1040 MHz, XTAL=52
MHz ,32'h05691840
5'b10100: BBPLL1=1040 MHz, XTAL=40
MHz ,32'h45693040
5'b10010: BBPLL1=1040 MHz, XTAL=26
MHz ,32'h05691840
5'b10001: BBPLL1=1040 MHz, XTAL=20
MHz ,32'h05693040
default : 32'h05691840
endcase

A204030C
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Name

Description

RF_WBAC3

RF WBAC RG 3

31

30

29

28

27

15

14

13

12

11

RG_WF_BBPLL_03[31:16]
RW
0
0
0
0
0
RG_WF_BBPLL_03[15:0]
RW
0
0
0
0
0

000000FA

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

0

1

0

10

9

8

Bit(s)

Mnemonic

Name

31:0

RG_WF_BBPLL_0 CR_RG_WF_BBPLL_03
3

7

6

5

4

3

2

1

0

Description
Wi-Fi PLL registers.
Actual RG_WF_BBPLL_03= WBTAC_BBPLL_SW ?
RG_WF_BBPLL_03[31:0] :
case(BBPLL1_FREQ_SEL, xtal_freq)
5'b01000: BBPLL1=832 MHz, XTAL=52
MHz ,32'h000000FA
5'b00100: BBPLL1=832 MHz, XTAL=40
MHz ,32'hC00001FA
5'b00010: BBPLL1=832 MHz, XTAL=26
MHz ,32'h000000FA
5'b00001: BBPLL1=832 MHz, XTAL=20
MHz ,32'hC00001FA
5'b11000: BBPLL1=1040 MHz, XTAL=52
MHz ,32'h000000FA
5'b10100: BBPLL1=1040 MHz, XTAL=40
MHz ,32'hC00001FA
5'b10010: BBPLL1=1040 MHz, XTAL=26
MHz ,32'h000000FA
5'b10001: BBPLL1=1040 MHz, XTAL=20

© 2016 - 2017 MediaTek Inc.

Page 491 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
MHz ,32'hC00001FA
default : 32'h000000FA
endcase

A2040310
Bit
Name
Type
Reset
Bit
Name
Type
Reset

RF_WBAC4

RF WBAC RG 4

31

30

29

28

27

15

14

13

12

11

RG_WF_BBPLL_04[31:16]
RW
0
0
0
0
0
RG_WF_BBPLL_04[15:0]
RW
0
0
0
0
0

00000000

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

10

9

8

Bit(s)

Mnemonic

31:0

RG_WF_BBPLL_0 CR_RG_WF_BBPLL_04
4

A2040314
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Name

RF WBAC RG 5

31

30

29

28

27

15

14

13

12

11

RG_WF_BBPLL_05[15:0]
RW
0
0
0
0
0

4

3

2

1

0

Wi-Fi PLL registers.
Actual RG_WF_BBPLL_04= WBTAC_BBPLL_SW ?
RG_WF_BBPLL_04[31:0] : 32'h0

00000000

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

10

9

Mnemonic

31:0

RG_WF_BBPL CR_RG_WF_BBPLL_05
L_05

Bit 31
Name
Type
Reset
Bit 15
Name
Type
Reset

5

26

Bit(s)

A204031C

6

Description

RF_WBAC5

RG_WF_BBPLL_05[31:16]
RW
0
0
0
0
0

7

Name

8

7

6

5

4

3

2

1

0

Description
Wi-Fi PLL registers.
Actual RG_WF_BBPLL_05 = WBTAC_BBPLL_SW ?
RG_WF_BBPLL_05[31:0] : 32'h0

RF_WBAC7

RF WBAC STABLE TIME 0

30

29

28

27

26

25

24

14

13

12

11

10

9

8

WBTAC_LSFLDO_STABLE_TIME
RW
0
0
0
0
0
1

23

22

21

20

19

18

17

16

0

0

0

0

0

1

0

0

0

0

0

0

1

1

0

7

WBTAC_RFDIG_VCORE_STABLE_TIME
RW
0
0
0
0
0
1
1

Name

01040186

6

5

4

3

2

1

0

Bit(s)

Mnemonic

Description

29:16

WBTAC_LSFLDO_ST CR_WBTAC_LSFLDO_STAB Actual WBTAC_LSFLDO_STABLE_TIME[13:0] =
ABLE_TIME
LE_TIME
WBTAC_LSFLDO_STABLE_TIME_SW ?
WBTAC_LSFLDO_STABLE_TIME[13:0] :

© 2016 - 2017 MediaTek Inc.

Page 492 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd260
1'b0: f_fxo_ck=20 MHz ,14'd200
endcase
13:0

WBTAC_RFDIG_VC CR_WBTAC_RFDIG_VCORE Actual
ORE_STABLE_TIME _STABLE_TIME
WBTAC_RFDIG_VCORE_STABLE_TIME[13:0] =
WBTAC_RFDIG_VCORE_STABLE_TIME_SW ?
WBTAC_RFDIG_VCORE_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd416
1'b0: f_fxo_ck=20 MHz ,14'd320
endcase

A2040320
Bit 31
Name
Type
Reset
Bit 15
Name
Type
Reset

RF_WBAC8

RF WBAC STABLE TIME 1

30

29

28

27

26

25

24

23

14

13

12

11

10

9

8

7

016C01BA
22

21

20

19

18

17

16

1

1

0

1

1

0

0

WBTAC_LSFLDO_OUT_SEL_STABLE_TIME
RW
0
0
0
0
0
1
1
0

1

1

1

0

1

0

WBTAC_RFDIG_LSFLDO_STABLE_TIME
RW
0
0
0
0
0
1
0

5

4

3

2

1

0

Bit(s)

Mnemonic

29:16

WBTAC_RFDIG_L CR_WBTAC_RFDIG_LSF Actual
SFLDO_STABLE_ LDO_STABLE_TIME
WBTAC_RFDIG_LSFLDO_STABLE_TIME[13:0] =
TIME
WBTAC_RFDIG_LSFLDO_STABLE_TIME_SW ?
WBTAC_RFDIG_LSFLDO_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd312
1'b0: f_fxo_ck=20 MHz ,14'd240
endcase

13:0

WBTAC_LSFLDO_ CR_WBTAC_LSFLDO_O Actual
OUT_SEL_STABL UT_SEL_STABLE_TIME WBTAC_LSFLDO_OUT_SEL_STABLE_TIME[13:0] =
E_TIME
WBTAC_LSFLDO_OUT_SEL_STABLE_TIME_SW ?
WBTAC_LSFLDO_OUT_SEL_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd468
1'b0: f_fxo_ck=20 MHz ,14'd360
endcase

A2040324
Bit 31
Name
Type
Reset
Bit 15
Name
Type
Reset

Name

6

Description

RF_WBAC9

RF WBAC STABLE TIME 2

30

29

28

27

26

25

24

14

13

12

11

10

9

8

WBTAC_LDO_STABLE_TIME
RW
0
0
0
0
0
1

WBTAC_BBPLL1_STABLE_TIME
RW
0
0
0
0
1
1

01EE03F6

23

22

21

20

19

18

17

16

1

1

1

0

1

1

1

0

1

1

1

1

0

1

1

0

7

6

© 2016 - 2017 MediaTek Inc.

5

4

3

2

1

0

Page 493 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

Description

29:16

WBTAC_LDO_STABLE_ CR_WBTAC_LDO_STABLE_ Actual
TIME
TIME
WBTAC_LDO_STABLE_TIME[13:0] =
WBTAC_LDO_STABLE_TIME_SW ?
WBTAC_LDO_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd494
1'b0: f_fxo_ck=20 MHz ,14'd380
endcase

13:0

WBTAC_BBPLL1_STABL CR_WBTAC_BBPLL1_STABLActual
E_TIME
E_TIME
WBTAC_BBPLL1_STABLE_TIME[13:0] =
WBTAC_BBPLL1_STABLE_TIME_SW ?
WBTAC_BBPLL1_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd520
1'b0: f_fxo_ck=20 MHz ,14'd400
endcase

A2040328
Bit 31
Name
Type
Reset
Bit 15
Name
Type
Reset

RF_WBAC10

RF WBAC STABLE TIME 3

30

29

28

27

26

25

24

14

13

12

11

10

9

8

WBTAC_BBPLL2_STABLE_TIME
RW
0
0
1
0
0
1

22

21

20

19

18

17

16

0

0

0

0

1

0

1

0

0

0

0

1

0

1

0

7

WBTAC_BBPLL1_CKDIG_STABLE_TIME
RW
0
0
1
0
0
1
0

6

5

4

3

2

1

0

Bit(s)

Mnemonic

29:16

WBTAC_BBPLL2_STA CR_WBTAC_BBPLL2_ST Actual
ABLE_TIME
BLE_TIME
WBTAC_BBPLL2_STABLE_TIME[13:0] =
WBTAC_BBPLL2_STABLE_TIME_SW ?
WBTAC_BBPLL2_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd1820
1'b0: f_fxo_ck=20 MHz ,14'd400
endcase

13:0

WBTAC_BBPLL1_CKD CR_WBTAC_BBPLL1_CK Actual
DIG_STABLE_TIME
IG_STABLE_TIME
WBTAC_BBPLL1_CKDIG_STABLE_TIME[13:0] =
WBTAC_BBPLL1_CKDIG_STABLE_TIME_SW ?
WBTAC_BBPLL1_CKDIG_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd1820
1'b0: f_fxo_ck=20 MHz ,14'd1400
endcase

A204032C
Bit 31
Name
Type
Reset

Name

090A090A

23

Description

RF_WBAC11

RF WBAC STABLE TIME4

30

27

29

28

26

25

24

23

00340068
22

21

20

19

18

WBTAC_RFDIG_VCORE_OFF_TIME
RW
0
0
0
1
1
0
1

© 2016 - 2017 MediaTek Inc.

17

16

0

0

Page 494 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit 15
Name
Type
Reset

14

13

12

11

10

9

8

7

6

5

4

3

2

WBTAC_RFDIG_LSFLDO_OFF_TIME
RW
0
0
1
1
0
1
0

0

0

0

Bit(s)

Mnemonic

24:16

WBTAC_RFDIG_VCORE CR_WBTAC_RFDIG_VCORE Actual
_OFF_TIME
_OFF_TIME
WBTAC_RFDIG_VCORE_OFF_TIME[8:0] =
WBTAC_RFDIG_VCORE_OFF_TIME_SW ?
WBTAC_RFDIG_VCORE_OFF_TIME[8:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,9'd78
1'b0: f_fxo_ck=20 MHz ,9'd60
endcase

8:0

WBTAC_RFDIG_LSFLD CR_WBTAC_RFDIG_LSFLD Actual
O_OFF_TIME
O_OFF_TIME
WBTAC_RFDIG_LSFLDO_OFF_TIME[8:0] =
WBTAC_RFDIG_LSFLDO_OFF_TIME_SW ?
WBTAC_RFDIG_LSFLDO_OFF_TIME[8:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,9'd130
1'b0: f_fxo_ck=20 MHz ,9'd100
endcase

A2040330
Bit 31
Name
Type
Reset
Bit 15
Name
Type
Reset

Name

1

Description

RF_WBAC12

RF WBAC STABLE TIME 5

0F3C001A

30

29

28

27

26

25

24

23

22

14

13

12

11

10

9

8

7

6

21

20

19

18

17

16

1

1

1

1

0

0

WBTAC_RDY_STABLE_TIME
RW
0
0
0
0
1
1

0

1

0

WBTAC_BBPLL2_960M_CK_STABLE_TIME
RW
0
0
1
1
1
1
0
0

Name

5

4

3

2

1

0

Bit(s)

Mnemonic

Description

29:16

WBTAC_BBPLL2_9 CR_WBTAC_BBPLL2_960 Actual
60M_CK_STABLE_ M_CK_STABLE_TIME
WBTAC_BBPLL2_960M_CK_STABLE_TIME[13:0] =
TIME
WBTAC_BBPLL2_960M_CK_STABLE_TIME_SW ?
WBTAC_BBPLL2_960M_CK_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd1300
1'b0: f_fxo_ck=20 MHz ,14'd1000
endcase

8:0

WBTAC_RDY_STA CR_WBTAC_RDY_STABL Actual
BLE_TIME
E_TIME
WBTAC_RDY_STABLE_TIME[8:0] =
WBTAC_RDY_STABLE_TIME_SW ?
WBTAC_RDY_STABLE_TIME[8:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,9'd26
1'b0: f_fxo_ck=20 MHz ,9'd20
endcase

© 2016 - 2017 MediaTek Inc.

Page 495 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2040334
Bit 31
Name
Type
Reset
Bit 15
Name

RF_WBAC13

RF WBAC STABLE TIME 6

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Type
Reset

Bit(s)

WBTAC_LSFLDO_
OUT_SEL_ON
RW
1
0
1

Mnemonic

00000504

Name

WBTAC_LSFLDO
_OUT_SEL_OFF
RW
0
0
0
WBTAC_PALDO_
BACKOFF_TIME
RW
1
0
0

Description

18:16

WBTAC_LSFLDO_OUT_SEL_OFF CR_WBTAC_LSFLDO_OUT_SEL_OFF LSFLDO turn on voltage
selection

10:8

WBTAC_LSFLDO_OUT_SEL_ON CR_WBTAC_LSFLDO_OUT_SEL_ON

2:0

WBTAC_PALDO_BACKOFF_TIME CR_WBTAC_PALDO_BACKOFF_TIME Reserved

A2040338
Bit 31
Name

Type
Reset
Bit 15
Name

RF_WBAC14

RF WBAC STABLE TIME 7

30

27

14

29

13

28

12

11

Type
Reset

Name

26

10

25

9

24

WBT
AC_L
SFLD
O_ST
ABLE
_TIM
E_SW
RW
0

8

WBT
AC_B
BPLL
1_CK
DIG_
STAB
LE_T
IME_
SW
RW
0

LSFLDO turn off voltage
selection

00000000

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

WBT
AC_R
FDIG
_LSF
LDO_
STAB
LE_T
IME_
SW
RW
0
WBT
AC_B
BPLL
1_ST
ABLE
_TIM
E_S
W
RW
0

Bit(s)

Mnemonic

24

WBTAC_LSFLDO_ST CR_WBTAC_LSFLDO_STAB Manual mode switch for
ABLE_TIME_SW
LE_TIME_SW
WBTAC_LSFLDO_STABLE_TIME[13:0]

Description

16

WBTAC_RFDIG_LSFL CR_WBTAC_RFDIG_LSFLD Manual mode switch for
DO_STABLE_TIME_S O_STABLE_TIME_SW
WBTAC_RFDIG_LSFLDO_STABLE_TIME[13:0]
W

8

WBTAC_BBPLL1_CKDCR_WBTAC_BBPLL1_CKDI Manual mode switch for
IG_STABLE_TIME_S G_STABLE_TIME_SW
WBTAC_BBPLL1_CKDIG_STABLE_TIME[13:0]
W

0

WBTAC_BBPLL1_STA CR_WBTAC_BBPLL1_STABLManual mode switch for

© 2016 - 2017 MediaTek Inc.

Page 496 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
BLE_TIME_SW

A204033C
Bit 31
Name

Type
Reset
Bit 15
Name

E_TIME_SW

WBTAC_BBPLL1_STABLE_TIME[13:0]

RF_WBAC15

RF WBAC STABLE TIME8

30

27

14

29

13

28

12

11

26

10

25

9

Type
Reset

24

WBT
AC_R
FDIG
_VCO
RE_S
TABL
E_TI
ME_S
W
RW
0

8

WBT
AC_L
SFLD
O_OU
T_SE
L_ST
ABLE
_TIM
E_SW
RW
0

7

22

6

21

5

20

4

19

3

18

2

17

1

16

WBT
AC_L
DO_S
TABL
E_TI
ME_S
W
RW
0

0

WBT
AC_B
BPLL
2_ST
ABLE
_TIM
E_S
W
RW
0

Bit(s)

Mnemonic

24

WBTAC_RFDIG_VCORE CR_WBTAC_RFDIG_V Manual mode switch for
_STABLE_TIME_SW
CORE_STABLE_TIME WBTAC_RFDIG_VCORE_STABLE_TIME[13:0]
_SW

16

WBTAC_LDO_STABLE_ CR_WBTAC_LDO_STA Manual mode switch for
TIME_SW
BLE_TIME_SW
WBTAC_LDO_STABLE_TIME[13:0]

8

WBTAC_LSFLDO_OUT_ CR_WBTAC_LSFLDO_ Manual mode switch for
SEL_STABLE_TIME_S OUT_SEL_STABLE_TI WBTAC_LSFLDO_OUT_SEL_STABLE_TIME[13:0]
W
ME_SW

0

WBTAC_BBPLL2_STAB CR_WBTAC_BBPLL2_ Manual mode switch for
LE_TIME_SW
STABLE_TIME_SW
WBTAC_BBPLL2_STABLE_TIME

A2040340
Bit 31
Name

Type
Reset
Bit 15
Name

Name

23

00000000

Description

RF_WBAC16

RF WBAC STABLE TIME 9

30

27

14

29

13

28

12

11

26

10

25

9

24

WBT
AC_B
BPLL
2_96
0M_C
K_ST
ABLE
_TIM
E_SW
RW
0

8

WBT
AC_R
FDIG
_LSF

23

7

00000000
22

6

© 2016 - 2017 MediaTek Inc.

21

5

20

4

19

3

18

2

17

1

16

WBT
AC_R
FDIG
_VCO
RE_O
FF_S
W
RW
0

0

WBT
AC_R
DY_S
TABL

Page 497 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
LDO_
OFF_
SW
RW
0

Type
Reset

E_S
W
RW
0

Bit(s)

Mnemonic

24

WBTAC_BBPLL2_960M_CK CR_WBTAC_BBPLL2_960 Manual mode switch for
_STABLE_TIME_SW
M_CK_STABLE_TIME_SW WBTAC_BBPLL2_960M_CK_STABLE_TIME

16

WBTAC_RFDIG_VCORE_OF CR_WBTAC_RFDIG_VCOR Manual mode switch for
F_SW
E_OFF_TIME_SW
WBTAC_RFDIG_VCORE_OFF_TIME

8

WBTAC_RFDIG_LSFLDO_O CR_WBTAC_RFDIG_LSFL Manual mode switch for
FF_SW
DO_OFF_TIME_SW
WBTAC_RFDIG_LSFLDO_OFF_TIME

0

WBTAC_RDY_STABLE_SW CR_WBTAC_RDY_STABLE Manual mode switch for
_TIME_SW
WBTAC_RDY_STABLE_TIME

A2040344
Bit 31
Name

Type
Reset
Bit 15
Name

Name

Description

RF_WBAC17

WBAC MANUAL CONTROL

30

27

14

29

13

28

12

11

26

10

25

9

Type
Reset

24

SWCT
L_W
BTAC
_BT_
PLL
RW
0

8

SWCT
L_DA
_EN_
BBPL
L1_C
KDIG
RW
0

00000000

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

SWC
TL_D
A_EN
_WF
_BBP
LL2
RW
0

Bit(s)

Mnemonic

24

SWCTL_WBTAC_BT_PLL CR_SWCTL_WBTAC_BT_PLL

16

SWCTL_DA_EN_WF_BB CR_SWCTL_DA_EN_WF_BBPLL1 DA_WBTAC_* = SWCTL_WBTAC_* |
PLL1
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

8

SWCTL_DA_EN_BBPLL1 CR_SWCTL_DA_EN_BBPLL1_CK DA_WBTAC_* = SWCTL_WBTAC_* |
_CKDIG
DIG
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

0

SWCTL_DA_EN_WF_BB CR_SWCTL_DA_EN_WF_BBPLL DA_WBTAC_* = SWCTL_WBTAC_* |
PLL2
2
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

A2040348
Bit

31

Name

SWC
TL_D
A_EN
_WF
_BBP
LL1
RW
0

Description

RF_WBAC18

WBAC MANUAL CONTROL

30

27

29

28

26

25

24

23

DA_WBTAC_* = SWCTL_WBTAC_* |
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

00000000
22

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

Page 498 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Name

SWCT
L_DA
_EN_
BBPL
L2_9
60M_
CK

Type
Reset
Bit 15
Name

RW
0

14

13

12

11

10

9

Type
Reset

8

SWCT
L_DA
_EN_
WF0_
RFDI
G_VC
ORE
RW
0

7

6

5

4

3

2

1

SWC
TL_D
A_EN
_WF
0_RF
DIG_
LSFL
DO
RW
0

0

SWC
TL_D
A_EN
_WF
0_LS
FLDO
RW
0

Bit(s)

Mnemonic

24

SWCTL_DA_EN_BBPLL2_CR_SWCTL_DA_EN_BBPLL2_960 DA_WBTAC_* = SWCTL_WBTAC_* |
960M_CK
M_CK
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

16

SWCTL_DA_EN_WF0_RF CR_SWCTL_DA_EN_WF0_RFDIG DA_WBTAC_* = SWCTL_WBTAC_* |
DIG_LSFLDO
_LSFLDO
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

8

SWCTL_DA_EN_WF0_RF CR_SWCTL_DA_EN_WF0_RFDIG DA_WBTAC_* = SWCTL_WBTAC_* |
DIG_VCORE
_VCORE
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

0

SWCTL_DA_EN_WF0_LS CR_SWCTL_DA_EN_WF0_LSFLD DA_WBTAC_* = SWCTL_WBTAC_* |
FLDO
O
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

A204034C
Bit 31
Name

Type
Reset
Bit 15
Name

Name

Description

RF_WBAC19

WBAC MANUAL CONTROL

30

27

14

29

13

28

12

11

26

10

25

9

Type
Reset

Name

24

SWCT
L_DA
_WF0
_LSF
LDO_
OUT_
SEL
RW
0

8

SWCT
L_DA
_EN_
WF0_
BG
RW
0

23

7

00000000
22

21

6

5

20

4

19

3

18

2

17

1

16

SWC
TL_D
A_EN
_WF
0_LD
O
RW
0

0

SWC
TL_B
TLDO
RW
0

Bit(s)

Mnemonic

Description

24

SWCTL_DA_WF0_LSFLDO_OU CR_SWCTL_DA_WF0_LSFL DA_WBTAC_* = SWCTL_WBTAC_* |
T_SEL
DO_OUT_SEL
BP_PLL_DLY ? SW_WBTAC_* :

© 2016 - 2017 MediaTek Inc.

Page 499 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
hw_DA_WBTAC_*;
16

SWCTL_DA_EN_WF0_LDO

CR_SWCTL_DA_EN_WF0_ DA_WBTAC_* = SWCTL_WBTAC_* |
LDO
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

8

SWCTL_DA_EN_WF0_BG

CR_SWCTL_DA_EN_WF0_ DA_WBTAC_* = SWCTL_WBTAC_* |
BG
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

0

SWCTL_BTLDO

CR_SWCTL_WF0_BTLDO

A2040350
Bit 31
Name

Type
Reset
Bit 15
Name

RF_WBAC20

WBAC MANUAL CONTROL

30

27

14

29

13

28

12

11

26

10

25

9

Type
Reset

24

SWCT
L_BT
PALD
O
RW
0

8

SW_
WBT
AC_B
T_PL
L
RW
0

DA_WBTAC_* = SWCTL_WBTAC_* |
BP_PLL_DLY ? SW_WBTAC_* :
hw_DA_WBTAC_*;

00000000

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

SWC
TL_D
A_EN
_WF
0_TX
DIG
RW
0
SW_
DA_E
N_W
F_BB
PLL1
RW
0

Bit(s)

Mnemonic

Name

24

SWCTL_BTPALDO

CR_SWCTL_WF0_ DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
BT_PALDO
SW_WBTAC_* : hw_DA_WBTAC_*;

16

SWCTL_DA_EN_WF0 CR_SWCTL_DA_E DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
_TXDIG
N_WF0_TXDIG
SW_WBTAC_* : hw_DA_WBTAC_*;

8

SW_WBTAC_BT_PLL CR_SW_WBTAC_B DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
T_PLL
SW_WBTAC_* : hw_DA_WBTAC_*;

0

SW_DA_EN_WF_BBP CR_SW_DA_EN_W DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
LL1
F_BBPLL1
SW_WBTAC_* : hw_DA_WBTAC_*;

A2040354
Bit 31
Name

Type
Reset
Bit 15
Name

Description

RF_WBAC21

WBAC MANUAL CONTROL

30

27

14

29

13

28

12

11

26

10

25

9

24

SW_
DA_E
N_BB
PLL1
_CKD
IG
RW
0

8

SW_
DA_E
N_BB
PLL2

23

7

00000000
22

6

© 2016 - 2017 MediaTek Inc.

21

5

20

4

19

3

18

2

17

1

16

SW_
DA_E
N_W
F_BB
PLL2
RW
0

0

SW_
DA_E
N_W
F0_R

Page 500 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
_960
M_C
K
RW
0

Type
Reset

Bit(s)

Mnemonic

24

SW_DA_EN_BBPLL1 CR_SW_DA_EN_BBP DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
_CKDIG
LL1_CKDIG
SW_WBTAC_* : hw_DA_WBTAC_*;

16

SW_DA_EN_WF_BBP CR_SW_DA_EN_WF DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
LL2
_BBPLL2
SW_WBTAC_* : hw_DA_WBTAC_*;

8

SW_DA_EN_BBPLL2 CR_SW_DA_EN_BBP DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
_960M_CK
LL2_960M_CK
SW_WBTAC_* : hw_DA_WBTAC_*;

0

SW_DA_EN_WF0_RF CR_SW_DA_EN_WF0 DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
DIG_LSFLDO
_RFDIG_LSFLDO
SW_WBTAC_* : hw_DA_WBTAC_*;

A2040358
Bit 31
Name

Type
Reset
Bit 15
Name

Name

FDIG
_LSF
LDO
RW
0

Description

RF_WBAC22

WBAC MANUAL CONTROL

30

27

14

29

13

28

12

11

Type
Reset

26

25

10

9

RW
0

0

24

SW_
DA_E
N_W
F0_R
FDIG
_VCO
RE
RW
1

8

SW_DA_WF0_LS
FLDO_OUT_SEL

7

22

6

21

5

20

4

19

3

18

2

17

1

0

16

SW_
DA_E
N_W
F0_L
SFLD
O
RW
0

0

SW_
DA_E
N_W
F0_L
DO
RW
0

Bit(s)

Mnemonic

24

SW_DA_EN_WF0CR_SW_DA_EN_WF0_R DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
_RFDIG_VCORE FDIG_VCORE
SW_WBTAC_* : hw_DA_WBTAC_*;

16

SW_DA_EN_WF0CR_SW_DA_EN_WF0_L DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
_LSFLDO
SFLDO
SW_WBTAC_* : hw_DA_WBTAC_*;

10:8

SW_DA_WF0_LS CR_SW_DA_WF0_LSFL DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
FLDO_OUT_SEL DO_OUT_SEL
SW_WBTAC_* : hw_DA_WBTAC_*;

0

SW_DA_EN_WF0CR_SW_DA_EN_WF0_L DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
_LDO
DO
SW_WBTAC_* : hw_DA_WBTAC_*;

A204035C
Bit 31
Name

Name

23

01000000

Description

RF_WBAC23

WBAC MANUAL CONTROL

30

27

29

28

26

25

24

SW_
DA_E
N_W
F0_B
G

23

00000000
22

© 2016 - 2017 MediaTek Inc.

21

20

19

18

17

16

SW_
WF0
_BTL
DO

Page 501 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Type
Reset
Bit 15
Name

14

13

12

11

10

9

Type
Reset

RW
0

8

SW_
WF0_
BT_P
ALDO

7

6

5

4

3

2

RW
0

1

0

SW_
DA_E
N_W
F0_T
XDIG
RW
0

RW
0

Bit(s)

Mnemonic

24

SW_DA_EN_WF0_B CR_SW_DA_EN_WF0 DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
G
_BG
SW_WBTAC_* : hw_DA_WBTAC_*;

16

SW_WF0_BTLDO

8

SW_WF0_BT_PALDO CR_SW_WF0_BT_PA DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
LDO
SW_WBTAC_* : hw_DA_WBTAC_*;

0

SW_DA_EN_WF0_TX CR_SW_DA_EN_WF0 DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
DIG
_TXDIG
SW_WBTAC_* : hw_DA_WBTAC_*;

A2040360
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Name

Description

CR_SW_WF0_BTLDO DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
SW_WBTAC_* : hw_DA_WBTAC_*;

RF_WBAC24

WF_TOP_REG

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

1

1

1

1

1

RG_WF_TOP[31:16]
RW
0
0
0
0
RG_WF_TOP[15:0]
RW
0
0
0
0

11

10

9

0000019F

8

7

6

5

4

Bit(s)

Mnemonic

Name

Description

31:0

RG_WF_TOP

CR_RG_WF_TOP

Wi-Fi top configuration register

A2040364
Bit 31
Name

Type
Reset
Bit 15
Name

Type
Reset

RF_WBAC25

WBAC MANUAL CONTROL

30

27

14

29

13

28

12

11

26

10

25

9

24

CR_
MCU
_960
_EN

RW
0

8

SWCT
L_DA
_EN_
WF0_
AFEL
DO
RW
0

3

2

1

0

00000000

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

© 2016 - 2017 MediaTek Inc.

SWC
TL_D
A_EN
_WF
_BBP
LL1_
LDO
RW
0
SWC
TL_D
A_EN
_WF
0_TR
XLDO
RW
0

Page 502 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

Description

24

CR_MCU_960_EN CR_MCU_960_EN

16

SWCTL_DA_EN_W CR_SWCTL_DA_EN_ DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
F_BBPLL1_LDO
WF_BBPLL1_LDO
SW_WBTAC_* : hw_DA_WBTAC_*;

8

SWCTL_DA_EN_W CR_SWCTL_DA_EN_ DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
F0_AFELDO
WF0_AFELDO
SW_WBTAC_* : hw_DA_WBTAC_*;

0

SWCTL_DA_EN_W CR_SWCTL_DA_EN_ DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
F0_TRXLDO
WF0_TRXLDO
SW_WBTAC_* : hw_DA_WBTAC_*;

A2040368
Bit 31
Name

Type
Reset
Bit 15
Name

Reserved

RF_WBAC26

WBAC MANUAL CONTROL

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Type
Reset

SW_
DA_E
N_W
F_BB
PLL1
_LDO
RW
0
SW_
DA_E
N_W
F0_T
RXLD
O
RW
0

Bit(s)

Mnemonic

16

SW_DA_EN_WF_BB CR_SW_DA_EN_WF DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
PLL1_LDO
_BBPLL1_LDO
SW_WBTAC_* : hw_DA_WBTAC_*;

8

SW_DA_EN_WF0_A CR_SW_DA_EN_WF0 DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
FELDO
_AFELDO
SW_WBTAC_* : hw_DA_WBTAC_*;

0

SW_DA_EN_WF0_T CR_SW_DA_EN_WF0 DA_WBTAC_* = SWCTL_WBTAC_* | BP_PLL_DLY ?
RXLDO
_TRXLDO
SW_WBTAC_* : hw_DA_WBTAC_*;

A2040370
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Name

SW_
DA_E
N_W
F0_A
FELD
O
RW
0

00000000

Description

RF_WBAC27

WF_BG_REG

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

0

0

0

0

0

1

0

0

1

0

0

1

0

0

0

0

1

0

0

0

1

0

0

0

RG_WF0_BG[31:16]
RW
0
0
0
0
RG_WF0_BG[15:0]
RW
0
0
1
0

11

10

9

00492088

8

7

6

5

4

3

Bit(s)

Mnemonic

Name

Description

31:0

RG_WF0_BG

CR_RG_WF0_BG

Wi-Fi band-gap configuration register

© 2016 - 2017 MediaTek Inc.

2

1

0

Page 503 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2040374
Bit 31
Name
Type
Reset
Bit 15
Name

RF_WBAC28

WBAC MANUAL CONTROL

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

RW
0

0

Type
Reset

RG_WF0_L
DO_LSF_P
WRSV

Bit(s)

Mnemonic

9:8

RG_WF0_LDO_LSF_P CR_RG_WF0_LDO_LSF_PWRS For saving WF0 LDO current
WRSV
V

0

WBTAC_BBPLL_SW

A2040384
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Name

00000000

Description

CR_WBTAC_BBPLL_SW

RG_WF_BBPLL_0x = WBTAC_BBPLL_SW ?
RG_WF_BBPLL_0x[31:0] :
hw_WF_BBPLL_0x[31:0]

RO_RF_WBAC1 RF WBAC RG 1

31

30

29

28

27

15

14

13

12

11

RG_WF_BBPLL_01[31:16]
RO
0
0
0
0
1
RG_WF_BBPLL_01[15:0]
RO
1
1
1
0
0

WBT
AC_B
BPLL
_SW
RW
0

0811E000

26

25

24

23

22

21

20

19

18

17

16

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

10

9

8

7

6

5

4

3

2

1

Bit(s)

Mnemonic

Name

Description

31:0

RG_WF_BBPLL_01

RG_WF_BBPLL_01

Wi-Fi PLL registers.
Actual
RG_WF_BBPLL_01 = WBTAC_BBPLL_SW ?
RG_WF_BBPLL_01[31:0] :
case(BBPLL1_FREQ_SEL, xtal_freq)
5'b01000: BBPLL1=832 MHz, XTAL=52
MHz ,32'h45962040
5'b00100: BBPLL1=832 MHz, XTAL=40
MHz ,32'h01234567
5'b00010: BBPLL1=832 MHz, XTAL=26
MHz ,32'h45962040
5'b00001: BBPLL1=832 MHz, XTAL=20
MHz ,32'h01234567
5'b11000: BBPLL1=1040 MHz, XTAL=52
MHz ,32'h454B2840
5'b10100: BBPLL1=1040 MHz, XTAL=40
MHz ,32'h454B3440
5'b10010: BBPLL1=1040 MHz, XTAL=26
MHz ,32'h054B2840
5'b10001: BBPLL1=1040 MHz, XTAL=20
MHz ,32'h054B3440
default : 32'h054B2840

© 2016 - 2017 MediaTek Inc.

0

Page 504 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
endcase

A204038
8

RO_RF_WB
AC2

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

30

31

29

28

RF WBAC RG 2
27

26

25

24

23

22

60C8E018
21

20

19

18

17

0

0

4

3

0

1

1

0

0

1

0

1

0

0

0

RG_WF_BBPLL_02[31:16]
0

15

1

14

1

13

0

12

0

11

0

10

0

9

0

RO

8

1

1

7

6

5

2

0

RG_WF_BBPLL_02[15:0]
1

1

1

0

0

0

0

0

RO

0

0

Bit(s)

Mnemonic

Name

Description

31:0

RG_WF_BBPLL_02

RG_WF_BBPLL_02

Wi-Fi PLL registers.
Actual
RG_WF_BBPLL_02 = WBTAC_BBPLL_SW ?
RG_WF_BBPLL_02[31:0] :
case(BBPLL1_FREQ_SEL, xtal_freq)
5'b01000: BBPLL1=832 MHz, XTAL=52
MHz ,32'h05691E40
5'b00100: BBPLL1=832 MHz, XTAL=40
MHz ,32'h45693040
5'b00010: BBPLL1=832 MHz, XTAL=26
MHz ,32'h05691E40
5'b00001: BBPLL1=832 MHz, XTAL=20
MHz ,32'h05693040
5'b11000: BBPLL1=1040 MHz, XTAL=52
MHz ,32'h05691840
5'b10100: BBPLL1=1040 MHz, XTAL=40
MHz ,32'h45693040
5'b10010: BBPLL1=1040 MHz, XTAL=26
MHz ,32'h05691840
5'b10001: BBPLL1=1040 MHz, XTAL=20
MHz ,32'h05693040
default : 32'h05691840
endcase

A204038
C

RO_RF_WB
AC3

Bit
Nam
e
Type

30

31

29

28

RF WBAC STABLE TIME 0
27

26

25

24

23

22

21

NA
20

19

18

17

16

14d
260

14d
260

14d
260

14d
260

0

1

1

0

WBTAC_LSFLDO_STABLE_TIME

Reset
Bit
Nam
e
Type
Reset

16

15

14

14d
260

13

14d
260

12

14d
260

11

14d
260

10

14d
260

9

14d
260

8

14d
260

RO

7

14d
260

6

14d
260

5

14d
260

4

3

2

1

0

WBTAC_RFDIG_VCORE_STABLE_TIME
0

0

0

0

0

1

1

RO

0

© 2016 - 2017 MediaTek Inc.

0

0

Page 505 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

29:16

WBTAC_LSFLDO_STABLE CR_WBTAC_LSFLDO_S Actual
_TIME
TABLE_TIME_SEL
WBTAC_LSFLDO_STABLE_TIME[13:0] =
WBTAC_LSFLDO_STABLE_TIME_SW ?
WBTAC_LSFLDO_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd260
1'b0: f_fxo_ck=20 MHz ,14'd200
endcase

13:0

WBTAC_RFDIG_VCORE_S CR_WBTAC_RFDIG_VC Actual
TABLE_TIME
ORE_STABLE_TIME_S WBTAC_RFDIG_VCORE_STABLE_TIME[13:0] =
EL
WBTAC_RFDIG_VCORE_STABLE_TIME_SW ?
WBTAC_RFDIG_VCORE_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd416
1'b0: f_fxo_ck=20 MHz ,14'd320
endcase

A204039
0

RO_RF_WB
AC4

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

30

31

29

28

Description

RF WBAC STABLE TIME 1
27

26

25

24

23

22

21

016C01BA
20

19

18

17

16

1

0

1

0

0

1

0

WBTAC_RFDIG_LSFLDO_STABLE_TIME

15

14

0

13

0

12

0

11

0

10

0

9

1

8

0

RO

7

1

6

1

5

0

4

1

3

2

0

WBTAC_LSFLDO_OUT_SEL_STABLE_TIME
0

0

Name

0

0

0

1

1

RO

0

1

1

1

Bit(s)

Mnemonic

Description

29:16

WBTAC_RFDIG_LS CR_WBTAC_RFDIG_LSF Actual
FLDO_STABLE_TI LDO_STABLE_TIME_SE WBTAC_RFDIG_LSFLDO_STABLE_TIME[13:0] =
ME
L
WBTAC_RFDIG_LSFLDO_STABLE_TIME_SW ?
WBTAC_RFDIG_LSFLDO_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd312
1'b0: f_fxo_ck=20 MHz ,14'd240
endcase

13:0

WBTAC_LSFLDO_ CR_WBTAC_LSFLDO_O Actual
OUT_SEL_STABLE UT_SEL_STABLE_TIME WBTAC_LSFLDO_OUT_SEL_STABLE_TIME[13:0] =
_TIME
_SEL
WBTAC_LSFLDO_OUT_SEL_STABLE_TIME_SW ?
WBTAC_LSFLDO_OUT_SEL_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd468
1'b0: f_fxo_ck=20 MHz ,14'd360
endcase

© 2016 - 2017 MediaTek Inc.

Page 506 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2040394
Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

31

RO_RF_WB
AC5
30

29

RF WBAC STABLE TIME 2

28

27

26

25

24

23

22

21

01EE03F6
20

19

18

17

16

WBTAC_LDO_STABLE_TIME

15

14

0

13

0

0

12

11

0

10

0

9

1

8

1

RO

7

1

6

1

5

0

4

1

1

1

0

3

2

1

0

0

1

1

0

WBTAC_BBPLL1_STABLE_TIME
0

0

0

0

1

1

Name

1

RO

1

1

1

Bit(s)

Mnemonic

29:16

WBTAC_LDO_STABLE_ CR_WBTAC_LDO_STABLE_ Actual
TIME
TIME_SEL
WBTAC_LDO_STABLE_TIME[13:0] =
WBTAC_LDO_STABLE_TIME_SW ?
WBTAC_LDO_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd494
1'b0: f_fxo_ck=20 MHz ,14'd380
endcase

13:0

WBTAC_BBPLL1_STABL CR_WBTAC_BBPLL1_STABLActual
E_TIME
E_TIME_SEL
WBTAC_BBPLL1_STABLE_TIME[13:0] =
WBTAC_BBPLL1_STABLE_TIME_SW ?
WBTAC_BBPLL1_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd520
1'b0: f_fxo_ck=20 MHz ,14'd400
endcase

A204039
8

RO_RF_WB
AC6

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

30

31

29

28

Description

RF WBAC STABLE TIME 3
27

26

25

24

23

22

21

090A090A
20

19

18

17

16

1

0

2

1

0

1

0

1

0

WBTAC_BBPLL2_STABLE_TIME

15

14

0

13

0

12

1

11

0

10

0

9

1

8

0

RO

7

0

6

0

5

0

4

3

1

0

WBTAC_BBPLL1_CKDIG_STABLE_TIME
0

0

Name

1

0

0

1

0

RO

0

0

0

Bit(s)

Mnemonic

29:16

WBTAC_BBPLL2_S CR_WBTAC_BBPLL2_STABLE_ Actual
TABLE_TIME
TIME_SEL
WBTAC_BBPLL2_STABLE_TIME[13:0] =
WBTAC_BBPLL2_STABLE_TIME_SW ?
WBTAC_BBPLL2_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd1820
1'b0: f_fxo_ck=20 MHz ,14'd400
endcase

Description

© 2016 - 2017 MediaTek Inc.

Page 507 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
13:0

WBTAC_BBPLL1_C CR_WBTAC_BBPLL1_CKDIG_S Actual
KDIG_STABLE_TI TABLE_TIME_SEL
WBTAC_BBPLL1_CKDIG_STABLE_TIME[13:0] =
ME
WBTAC_BBPLL1_CKDIG_STABLE_TIME_SW ?
WBTAC_BBPLL1_CKDIG_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd1820
1'b0: f_fxo_ck=20 MHz ,14'd1400
endcase

A204039
C

RO_RF_WB
AC7

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

30

31

29

28

RF WBAC STABLE TIME 4
27

26

25

24

23

22

21

0F3C0034
20

19

18

17

1

0

16

WBTAC_BBPLL2_960M_CK_STABLE_TIME

15

14

0

13

0

12

1

11

1

10

1

9

1

8

RO

0

7

0

6

1

5

1

4

1

3

2

0

1

0

0

0

WBTAC_RFDIG_VCORE_OFF_TIME
0

Name

0

0

1

RO
1

0

1

Bit(s)

Mnemonic

29:16

WBTAC_BBPLL2_960M_ CR_WBTAC_BBPLL2 Actual
CK_STABLE_TIME
_960M_CK_STABLE WBTAC_BBPLL2_960M_CK_STABLE_TIME[13:0] =
_TIME_SEL
WBTAC_BBPLL2_960M_CK_STABLE_TIME_SW ?
WBTAC_BBPLL2_960M_CK_STABLE_TIME[13:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,14'd1300
1'b0: f_fxo_ck=20 MHz ,14'd1000
endcase

8:0

WBTAC_RFDIG_VCORE_CR_WBTAC_RFDIG_ Actual
OFF_TIME
VCORE_OFF_TIME_ WBTAC_RFDIG_VCORE_OFF_TIME[8:0] =
SEL
WBTAC_RFDIG_VCORE_OFF_TIME_SW ?
WBTAC_RFDIG_VCORE_OFF_TIME[8:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,9'd78
1'b0: f_fxo_ck=20 MHz ,9'd60
endcase

A20403A
0

RO_RF_WB
AC8

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

30

31

29

28

Description

RF WBAC STABLE TIME 5
27

26

25

24

23

22

21

0068001A
20

19

18

17

16

WBTAC_RFDIG_LSFLDO_OFF_TIME

15

14

13

12

11

10

9

0

8

0

7

1

6

1

5

RO
0

4

1

3

0

0

2

0

1

0

1

0

WBTAC_RDY_STABLE_TIME
0

0

0

© 2016 - 2017 MediaTek Inc.

0

RO
1

1

0

Page 508 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

24:16

WBTAC_RFDIG_LSFLDO_ CR_WBTAC_RFDIG_LSFL Actual
OFF_TIME
DO_OFF_TIME_SEL
WBTAC_RFDIG_LSFLDO_OFF_TIME[8:0] =
WBTAC_RFDIG_LSFLDO_OFF_TIME_SW ?
WBTAC_RFDIG_LSFLDO_OFF_TIME[8:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,9'd130
1'b0: f_fxo_ck=20 MHz ,9'd100
endcase

8:0

WBTAC_RDY_STABLE_TI CR_WBTAC_RDY_STABLE Actual
ME
_TIME_SEL
WBTAC_RDY_STABLE_TIME[8:0] =
WBTAC_RDY_STABLE_TIME_SW ?
WBTAC_RDY_STABLE_TIME[8:0] :
case(f_fxo_is_26m)
1'b1: f_fxo_ck=26 MHz ,9'd26
1'b0: f_fxo_ck=20 MHz ,9'd20
endcase

A204040
0

BBPLL_DBG
_PROB

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

30

31

29

28

Description

DEBUG PROB
27

26

25

24

23

22

00000000
21

19

18

17

16

BBPLL_DBG_PROB

15

14

13

12

11

10

9

8

7

6

5

4

0

3

RO

0

2

0

1

0

0

BBPLL_DBG_SEL
0

Bit(s)

Mnemonic

Name

Description

19:16

BBPLL_DBG_PROB

BBPLL_DBG_PROB

Debug monitor

3:0

BBPLL_DBG_SEL

BBPLL_DBG_SEL

Debug monitor selection

A2040410

BBPLL_RDY

Bit
Nam
e
Type
Reset
Bit

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e
Type
Reset

Bit(s)

20

Mnemonic

Name

RW

0

BBPLL Ready Status

0

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

BB
PL
L2
_R
DY
RO
0

0

16

0

BB
PL
L1_
RD
Y
RO
0

Description

© 2016 - 2017 MediaTek Inc.

Page 509 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
8

BBPLL2_RDY

BBPLL2_RDY

Hardware mode BBPLL2 ready status

0

BBPLL1_RDY

BBPLL1_RDY

Hardware mode BBPLL1 ready status

A204070
0

PLLTD_CON
0

Bit
Nam
e
Type
Reset
Bit

31

30

29

28

27

26

25

15

14

13

12

11

10

9

PLLTD Control Register 0

Nam
e
Type
Reset

24

23

22

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

BP
_C
PU
_C
TR
L
RW
0

BP
_P
LL
_D
LY
RW
0

Selects control path of PLL power on sequence

Overview
Bit(s)

Mnemonic

Name

Description

8

BP_CPU_CTRL

BP_CPU_CTRL

Selects control path of PLL SW setting

•
•
0

00000000

BP_PLL_DLY

BP_PLL_DLY

0: Controlled by CPU
1: Controlled by SPM

Selects control path of PLL power on sequence in normal mode.
Automation delay control uses counter to create PLL power on
sequence. RG_xPLL_EN is configured in the software, the other
signals required for PLL power on sequence could be created by
hardware.
If PLLx_EN_SEL is set to 0, then PLL will be turned off when
PLL_OFF of DPM (Dynamic PLL Management) is 1 even though
register RG_xPLL_EN is kept 1.

•
0: Controlled by automation delay control

•

22.2.2.

1: Controlled by software configuration

cksys_xo_clk register map

Module name: cksys_xo_clk Base address: (+A2030000h)
Address

Name

Width

A2030B00

XO_PDN_CO
ND0

Register Function

32

Clock gating control 0

A2030B10

XO_PDN_SET
D0

32

Clock gating set 0

A2030B20

XO_PDN_CL
RD0

32

Clock gating clear 0

A2030C00

XO_DCM_CO
N_0

32

XO domain clock DCM 0
XO domain clock DCM configuration

A2030C04

XO_DCM_CO

32

XO domain clock DCM 1

© 2016 - 2017 MediaTek Inc.

Page 510 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Module name: cksys_xo_clk Base address: (+A2030000h)
N_1

XO domain clock DCM configuration

A2030B0
0

XO_PDN_CO
ND0

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

30

Bit(s)

31

26

25

24

23

22

9

8

7

6

14

13

12

11

10

0

1

1

1

1

1

1

XO_PDN_COND0[15:0]
RO
1
1
1
1

0

A2030B10

31:0

27

15

0

31:0

Bit(s)

28

XO_PDN_COND0[31:16]
RO
0
0
0
0

Mnemonic

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

29

Clock gating control 0

31

0

0

0

Name

Description

XO_PDN_COND0

Indicates clock on/off status.
21 RG_SW_AUXADC_CG
20 RSV_20
19 RG_SW_SEJ_CG
18 RG_SW_EFUSE_CG
17 RG_SW_GPTIMER_CG
16 RG_SW_SPM_CG
9 RG_SW_PWM5_CG
8 RG_SW_PWM4_CG
7 RG_SW_PWM3_CG
6 RG_SW_PWM2_CG
5 RG_SW_PWM1_CG
4 RG_SW_PWM0_CG
3 RSV_3
2 RSV_2
1 RSV_1
0 RG_SW_BBPLL_CG
0: Clock is turned on
1: Clock is gated off

XO_PDN_SE
TD0
30

29

28

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

0

0

0

0

0

0

XO_PDN_SETD0[15:0]
WO
0
0
0
0

0

Mnemonic

0

0

21

20

19

18

17

0

0

0

0

0

1

0

1

1

1

1

1

1

5

4

3

2

Clock gating set 0
XO_PDN_SETD0[31:16]
WO
0
0
0
0

0

0000FFFF

0

0

00000000
21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

Name

Description

XO_PDN_SETD0

Write 1 to set up clock gating control.
21 RG_SW_AUXADC_CG
20 RSV_20
19 RG_SW_SEJ_CG
18 RG_SW_EFUSE_CG
17 RG_SW_GPTIMER_CG

© 2016 - 2017 MediaTek Inc.

16

3

2

16
0

Page 511 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
16 RG_SW_SPM_CG
9 RG_SW_PWM5_CG
8 RG_SW_PWM4_CG
7 RG_SW_PWM3_CG
6 RG_SW_PWM2_CG
5 RG_SW_PWM1_CG
4 RG_SW_PWM0_CG
3 RSV_3
2 RSV_2
1 RSV_1
0 RG_SW_BBPLL_CG
0: No active
1: To turn off clock

A2030B2
0

XO_PDN_CL
RD0

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

30

Bit(s)

31

27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

0

0

0

0

0

0

XO_PDN_CLRD0[15:0]
WO
0
0
0
0

0

0

Mnemonic

A2030C0
0

Nam
e

28

XO_PDN_CLRD0[31:16]
WO
0
0
0
0

31:0

Bit

29

Clock gating clear 0

31

0

0

0

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

Name

Description

XO_PDN_CLRD0

Write 1 to clear clock gating control.
21 RG_SW_AUXADC_CG
20 RSV_20
19 RG_SW_SEJ_CG
18 RG_SW_EFUSE_CG
17 RG_SW_GPTIMER_CG
16 RG_SW_SPM_CG
9 RG_SW_PWM5_CG
8 RG_SW_PWM4_CG
7 RG_SW_PWM3_CG
6 RG_SW_PWM2_CG
5 RG_SW_PWM1_CG
4 RG_SW_PWM0_CG
3 RSV_3
2 RSV_2
1 RSV_1
0 RG_SW_BBPLL_CG
0: No active
1: To turn on clock

XO_DCM_C
ON_0
30

00000000

29

28

3

2

XO domain clock dcm 0
27

26

25

24

23

22

21

0

00000002
20

19

18

RG_XO_DCM_EN

© 2016 - 2017 MediaTek Inc.

16

17

16

RG
_X
O_
DC
M_

Page 512 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2030C0
0

Type
Reset
Bit
Nam
e
Type
Reset
Bit(s)

15

XO_DCM_C
ON_0

14

13

12

XO domain clock dcm 0

0

11

0

RW

0

10

9

0

8

0

27:24

0

RW
0

0

16

4

Description

RG_XO_DCM_EN

Infra sub-block DCM

RG_XO_DCM_DBC_NUM

RG_XO_SFSEL

A2030C0
4
31

29

28

14

13

12

0

0

RW

0

1

27

11

0

0

0: Disable
1: Enable
0: Disable
1: Enable
0: Disable
1: Enable

XO domain clock dcm 1
26

25

Nam
e

15

1

Select how to divide the infra XO DCM idle clock
frequency
100000: /1
010000: /2
001000: /4
000100: /8
000010: /16
000001: /32
000000: /64

XO_DCM_C
ON_1
30

2

Infra XO DCM debounce number

•
•
5:0

3

Infra XO DCM debounce

•
•
12:8

0

Name

RG_XO_DCM_DBC_EN

Nam
e

5

DB
C_
EN
RW
0

RG_XO_SFSEL

0

•
•

Type
Reset
Bit

6

RG_XO_DCM_DBC_NUM

Mnemonic

Bit

7

00000002

10

9

24

RG
_X
O_
FO
RC
E_
CL
KS
LO
W
RW
0

8

RG
_X
O_
CL
KS

23

22

21

00000000
20

19

18

17

16
RG
_X
O_
FO
RC
E_
CL
KO
FF

7

6

© 2016 - 2017 MediaTek Inc.

5

4

3

2

1

RW
0

0

RG
_X
O_
CL
KO

Page 513 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A2030C0
4

XO_DCM_C
ON_1

XO domain clock dcm 1
LO
W_
EN
RW
0

Type
Reset
Bit(s)

Mnemonic

24

16

Description

RG_XO_FORCE_CLKSLOW

Infra XO DCM force clock slow

RG_XO_FORCE_CLKOFF

RG_XO_CLKSLOW_EN

1: Enable
0: Disable
1: Enable

Infra XO DCM clock slow en

•
•
0

0: Disable

Infra XO DCM force clock off

•
•
8

FF
_E
N
RW
0

Name

•
•

RG_XO_CLKOFF_EN

0: Disable
1: Enable

Infra XO DCM clock off en

•
•

22.2.3.

00000000

0: Disable
1: Enable

cksys_bus_clk register map

Module name: cksys_bus_clk Base address: (+A21D0000h)
Address

Name

A21D0100

BUS_DCM_C
ON_0

Width
32

Bus domain clock DCM 0
Bus domain clock DCM configuration

Register Function

A21D0104

BUS_DCM_C
ON_1

32

Bus domain clock DCM 1
Bus domain clock DCM configuration

A21D0110

CM4_DCM_C
ON_0

32

Cortex-M4 domain clock DCM 0
Cortex-M4 domain clock DCM configuration

A21D0114

CM4_DCM_C
ON_1

32

Cortex-M4 domain clock DCM 1
Cortex-M4 domain clock DCM configuration

A21D0130

SYS_FREE_D
CM_CON

32

CM domain free run clock DCM
CM domain free run clock DCM configuration

A21D0140

SFC_DCM_CO
N_0

32

SFC domain clock DCM 0
SFC domain clock DCM configuration

A21D0144

SFC_DCM_CO
N_1

32

SFC domain clock DCM 1
SFC domain clock DCM configuration

A21D0170

CLK_FREQ_S
WCH

32

Clock Switch register
Frequency configuration of normal mode

A21D0300

PDN_COND0

32

Clock gating control 0

A21D0310

PDN_SETD0

32

Clock gating set 0

A21D0320

PDN_CLRD0

32

Clock gating clear 0

A21D0100

BUS_DCM_C
ON_0

bus domain clock DCM 0

© 2016 - 2017 MediaTek Inc.

00000000

Page 514 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A21D0100
Bit

31

BUS_DCM_C
ON_0
30

29

28

Nam
e

27

26

25

24

00000000

23

22

21

20

7

6

5

4

19

18

17

3

2

1

RG_BUS_DCM_EN

Type
Reset
Bit
Nam
e
Type
Reset

Bit(s)

bus domain clock DCM 0

15

14

13

12

0

11

0

RW

10

0

9

0

8

RG_BUS_DCM_DBC_NUM
0

Mnemonic

27:24

0

RW
0

0

0

0

Infra sub block DCM disable enable

0

0: Disable
1: Enable
0: Disable
1: Enable
0: Disable
1: Enable

Infra bus DCM idle divide selection
100000: /1
010000: /2
001000: /4
000100: /8
000010: /16
000001: /32
000000: /64

BUS_DCM_C
ON_1

bus domain clock dcm 1

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e

Type
Reset
Bit

0

Infra bus DCM debounce number

RG_BUS_SFSEL

Bit

0

Infra bus DCM debounce enable

•
•

A21D0104

RW

RG_BUS_DCM_EN

RG_BUS_DCM_DBC_NUM

5:0

0

Description

•
•
12:8

0

Name

RG_BUS_DCM_DBC_EN

0

RG_BUS_SFSEL

•
•
16

16

RG
_B
US
_D
CM
_D
BC
_E
N
RW
0

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

RG
_B
US
_F
OR
CE
_C
LK
SL
OW
RW
0

© 2016 - 2017 MediaTek Inc.

16

RG
_B
US
_F
OR
CE
_C
LK
OF
F
RW
0

0

Page 515 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A21D0104

BUS_DCM_C
ON_1

bus domain clock dcm 1
RG
_B
US
_C
LK
SL
OW
_E
N
RW
0

Nam
e

Type
Reset
Bit(s)

Mnemonic

24

RG
_B
US
_C
LK
OF
F_
EN
RW
0

Name

Description

RG_BUS_FORCE_CLKSLOW

Infra bus DCM force clock slow

•
•
16

RG_BUS_FORCE_CLKOFF

8

RG_BUS_CLKSLOW_EN

RG_BUS_CLKOFF_EN

CM4_DCM_
CON_0

0: Disable
1: Enable
0: Disable
1: Enable

Infra bus DCM clock off enable (turn on at the
same time with CLKSOW_EN)

•
•

A21D0110

1: Enable

Infra bus DCM clock slow enable

•
•
0

0: Disable

Infra bus DCM force clock off

•
•

Bit

00000000

0: Disable
1: Enable

Cortex-M4 domain clock DCM 0

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

00000000
19

18

17

3

2

1

Nam
e

Type
Reset
Bit
Nam
e
Type
Reset
Bit(s)
16

RG_CM_DCM_DBC_NUM
0

Mnemonic

0

RW
0

0

16

RG
_C
M_
DC
M_
DB
C_
EN
RW
0

0

RG_CM_SFSEL

0

0

0

0

RW

Name

Description

RG_CM_DCM_DBC_EN

CMSYS domain DCM debounce en

•
•

0

0

0

0: Disable
1: Enable

© 2016 - 2017 MediaTek Inc.

Page 516 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
12:8

RG_CM_DCM_DBC_NUM

CMSYS domain DCM debounce number

•
•
5:0

RG_CM_SFSEL

A21D0114
Bit

31

CM4_DCM_
CON_1
30

29

28

15

14

13

12

Cortex-M4 domain clock DCM 1
27

26

25

11

10

9

Nam
e

Type
Reset
Bit(s)

Mnemonic

24

24

23

RG
_C
M_
FO
RC
E_
CL
KS
LO
W
RW
0

8

7

RG
_C
M_
CL
KS
LO
W_
EN
RW
0

SYS_FREE_
DCM_CON
30

18

6

5

4

3

29

28

1

26

25

16

RW
0

0

0: Disable
1: Enable

CMSYS domain DCM force clock off
0: Disable
1: Enable

CMSYS domain DCM clock slow en
0: Disable
1: Enable

cm domain free run clock dcm
27

17

2

CMSYS domain DCM force clock slow

•
•

31

19

RG_CM_FORCE_CLKSLOW

RG_CM_CLKSLOW_EN

Bit

20

Description

•
•

A21D0130

21

Name

RG_CM_FORCE_CLKOFF

8

22

00000000
RG
_C
M_
FO
RC
E_
CL
KO
FF

•
•
16

1: Enable

CMSYS domain DCM idle divide selection
100000: /1
010000: /2
001000: /4
000100: /8
000010: /16
000001: /32
000000: /64

Nam
e

Type
Reset
Bit

0: Disable

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

00000020
19

18

17

16

Page 517 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A21D0130

SYS_FREE_
DCM_CON

Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

14

Bit(s)

15

13

12

Mnemonic

9

8

31

5

4

3

2

1

0

RW

0

0

0

Description
SYS (CMSYS and BUS) domain free run DCM divide
selection
100000: /1
010000: /2
001000: /4
000100: /8
000010: /16
000001: /32
000000: /64

SFC_DCM_C
ON_0
30

0

RG_SYS_FREE_FSEL

29

SFC domain clock DCM 0

28

27

26

25

24

15

14

13

0

0

12

11

RW
0

10

0

0

9

8

0

0

0

00000000

23

22

21

20

19

18

17

7

6

5

4

3

2

1

16

RG
_S
FC
_D
CM
_D
BC
_E
N
RW
0

0

RG_SFC_DCM_DBC_NUM
0

0

Mnemonic

0

0

RW

0

0

Name

Description

RG_SFC_DCM_APB_SEL Each bit corresponds to the selection of change to
activate.

•
•
•
•
RG_SFC_DCM_DBC_EN

bit 0: dcm_force_on
bit 1: dcm_en
bit 2: dbc_en
bit 3: dcm_fsel

SFC domain DCM debounce enable

•
•
15:8

6

RG_SFC_DCM_APB_SEL

Type
Reset
Bit
Nam
e
Type
Reset

16

7

Name

Nam
e

28:24

10

1

A21D0140

Bit(s)

11

00000020

RG_SYS_FREE_FSEL

5:0

Bit

cm domain free run clock dcm

0: Disable
1: Enable

RG_SFC_DCM_DBC_NUM SFC domain DCM debounce number

© 2016 - 2017 MediaTek Inc.

Page 518 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•
•

A21D0144
Bit

31

SFC_DCM_C
ON_1
30

29

28

0: Disable
1: Enable

SFC domain clock DCM 1
27

26

25

24

00000000

23

22

21

20

19

18

17

7

6

5

4

3

2

1

RG
_S
FC
_D
CM
_A
PB
_T
OG

Nam
e

Type
Reset
Bit

15

14

13

12

11

10

9

RW
0

8

Nam
e

Type
Reset
Bit(s)

Mnemonic

Name

Description

24

RG_SFC_DCM_APB_TOG

Toggle the bit to activate the change

16

RG_SFC_FORCE_CLKOFF

SFC domain DCM force clock off

•
•
0

RG_SFC_CLKOFF_EN

Bit
Nam
e
Type
Reset
Bit

Nam
e

Type

CLK_FREQ_
SWCH

0

RG
_S
FC
_C
LK
OF
F_
EN
RW
0

0: Disable
1: Enable

SFC domain DCM clock off enable

•
•

A21D0170

16

RG
_S
FC
_F
OR
CE
_C
LK
OF
F
RW
0

0: Disable
1: Enable

Clock Switch register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

00000100

24

23

22

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

RG
_P
D_
PL
LC
K_
SE
L
RW

© 2016 - 2017 MediaTek Inc.

RG
_P
LL
CK
_S
EL
RW

Page 519 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A21D0170

CLK_FREQ_
SWCH

Clock Switch register

Reset
Bit(s)

00000100

1

Mnemonic

0

Name

Description

8

RG_PD_PLLCK_SEL

Set to 1 to switch all PD clocks to PLL clock source instead of
26MHz used for initial power-on.

0

RG_PLLCK_SEL

Set to 1 to switch all clocks to PLL clock source instead of
26MHz used for initial power-on.

A21D030
0
Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset
Bit(s)

31

PDN_COND0
30

29

28

Clock gating control 0
27

26

25

24

23

22

0000FFFF

21

20

19

18

17

16

0

0

0

0

0

1

0

1

1

1

1

1

1

20

19

18

PDN_COND0[31:16]
0

15

0

14

0

13

0

12

0

11

0

10

0

9

0

RO

8

0

7

0

6

5

4

3

2

0

PDN_COND0[15:0]
1

1

1

Mnemonic

31:0

1

1

1

RO

1

1

Description

PDN_COND0

Indicate clock on/off status.
22 RG_SW_SDIOSLV_CG
21 RG_SW_CRYPTO_CG
20 RG_SW_UART0_CG
19 RG_SW_XTALCTL_CG
18 RG_SW_TRNG_CG
17 RG_SFC_SW_CG
16 RG_SW_CM_SYSROM_CG
13 RG_SW_I2C1_CG
12 RG_SW_I2C0_CG
11 RSV_11
10 RG_SW_UART2_CG
9 RG_SW_UART1_CG
8 RG_SW_SDIOMST_CG
7 RG_SW_AUDIO_CG
6 RG_SW_SPIMST_CG
5 RG_SW_SPISLV_CG
4 RG_SW_ASYS_CG
3 RG_SW_SDIOMST_BUS_CG
2 RG_SW_CONN_XO_CG
1 RSV_1
0 RG_SW_DMA_CG
0: Clock is turned on
1: Clock is gated off

PDN_SETD0

Bit
Nam
e

30

29

1

Name

A21D0310
31

1

28

Clock gating set 0
27

26

25

24

23

22

00000000
21

17

16

PDN_SETD0[31:16]

© 2016 - 2017 MediaTek Inc.

Page 520 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A21D0310
Type
Reset
Bit
Nam
e
Type
Reset
Bit(s)

0

15

PDN_SETD0
0

14

0

0

Mnemonic

0

11

0

10

0

0

0

0

Name

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

0

0

9

8

0

7

00000000

0

6

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

0

31

0

29

WO

0

0

Write 1 to set up clock gating control.
22 RG_SW_SDIOSLV_CG
21 RG_SW_CRYPTO_CG
20 RG_SW_UART0_CG
19 RG_SW_XTALCTL_CG
18 RG_SW_TRNG_CG
17 RG_SFC_SW_CG
16 RG_SW_CM_SYSROM_CG
13 RG_SW_I2C1_CG
12 RG_SW_I2C0_CG
11 RSV_11
10 RG_SW_UART2_CG
9 RG_SW_UART1_CG
8 RG_SW_SDIOMST_CG
7 RG_SW_AUDIO_CG
6 RG_SW_SPIMST_CG
5 RG_SW_SPISLV_CG
4 RG_SW_ASYS_CG
3 RG_SW_SDIOMST_BUS_CG
2 RG_SW_CONN_XO_CG
1 RSV_1
0 RG_SW_DMA_CG
0: No active
1: To turn off clock

PDN_CLRD0
30

0

Description

PDN_SETD0

A21D032
0

31:0

0

12

WO

PDN_SETD0[15:0]

31:0

Bit(s)

0

13

Clock gating set 0

28

Clock gating clear 0
27

26

25

24

23

22

00000000

21

20

19

18

17

16

0

0

0

0

0

1

0

0

0

0

0

0

0

PDN_CLRD0[31:16]
0

15

0

14

0

13

0

12

0

11

0

10

0

9

0

WO

8

0

7

0

6

5

4

3

2

0

PDN_CLRD0[15:0]
0

0

Mnemonic

0

0

0

0

0

0

WO

0

0

Name

Description

PDN_CLRD0

Write 1 to clear clock gating control.
22 RG_SW_SDIOSLV_CG
21 RG_SW_CRYPTO_CG
20 RG_SW_UART0_CG
19 RG_SW_XTALCTL_CG
18 RG_SW_TRNG_CG

© 2016 - 2017 MediaTek Inc.

Page 521 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
17 RG_SFC_SW_CG
16 RG_SW_CM_SYSROM_CG
13 RG_SW_I2C1_CG
12 RG_SW_I2C0_CG
11 RSV_11
10 RG_SW_UART2_CG
9 RG_SW_UART1_CG
8 RG_SW_SDIOMST_CG
7 RG_SW_AUDIO_CG
6 RG_SW_SPIMST_CG
5 RG_SW_SPISLV_CG
4 RG_SW_ASYS_CG
3 RG_SW_SDIOMST_BUS_CG
2 RG_SW_CONN_XO_CG
1 RSV_1
0 RG_SW_DMA_CG
0: No active
1: To turn on clock

22.2.4.

cksys register map

Module name: cksys Base address: (+A2020000h)
Address
A2020220
A2020224
A2020240
A2020244
A2020250

Name
CKSYS_TST_SEL_0
CKSYS_TST_SEL_1
CKSYS_CLK_CFG_0
CKSYS_CLK_CFG_1
CKSYS_CLK_UPDATE_0

A2020254
A2020260

CKSYS_CLK_UPDATE_1
CKSYS_CLK_UPDATE_ST
ATUS_0
CKSYS_CLK_UPDATE_ST
ATUS_1
CKSYS_CLK_FORCE_ON_
0
CKSYS_CLK_FORCE_ON_
1
CKSYS_CLK_DIV_0
CKSYS_CLK_DIV_1
CKSYS_CLK_DIV_2
CKSYS_CLK_DIV_3
CKSYS_CLK_DIV_4
CKSYS_CLK_DIV_5
CKSYS_XTAL_FREQ
CKSYS_REF_CLK_SEL

A2020264
A2020270
A2020274
A2020280
A2020284
A2020288
A202028C
A2020290
A2020294
A20202A0
A20202A4

Width
32
32
32
32
32

Register Functionality
Test Clock Selection Register 0
Test Clock Selection Register 1
Function Clock Selection Register 0
Function Clock Selection Register 1
Function Clock Selection Update Register 0

32
32

32

Function Clock Selection Update Register 1
Function Clock Selection Update Status
Register 0
Function Clock Selection Update Status
Register 1
Function Clock Force On Register 0

32

Function Clock Force On Register 1

32
32
32
32
32
32
32
32

Clock divider control register 0
Clock divider control register 1
Clock divider control register 2
Clock divider control register 3
Clock divider control register 4
Clock divider control register 5
XTAL frequency control register
PLL reference clock selection register

32

© 2016 - 2017 MediaTek Inc.

Page 522 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address
A2020400

Name
PLL_ABIST_FQMTR_CON
0

Width
32

A2020404

PLL_ABIST_FQMTR_CON
1

32

Frequency Meter Control Register 1
Selects measured clock of frequency meter

A2020408

PLL_ABIST_FQMTR_CON
2

32

Frequency Meter Control Register 2
Selects measured clock of frequency meter

A202040C

PLL_ABIST_FQMTR_DAT
A

32

A2020220
A2020224
A2020240
A2020244
A2020250

CKSYS_TST_SEL_0
CKSYS_TST_SEL_1
CKSYS_CLK_CFG_0
CKSYS_CLK_CFG_1
CKSYS_CLK_UPDATE_0

32
32
32
32
32

Frequency Meter Data
Measurement result of frequency meter.
Frequency(TESTED clock) =
Frequency(FIXED clock)
*{FQMTR_DATA_MSB[7:0],
FQMTR_DATA[15:0]}/FQMTR_WINSET[11:
0]
Test Clock Selection Register 0
Test Clock Selection Register 1
Function Clock Selection Register 0
Function Clock Selection Register 1
Function Clock Selection Update Register 0

A2020254
A2020260

CKSYS_CLK_UPDATE_1
CKSYS_CLK_UPDATE_ST
ATUS_0
CKSYS_CLK_UPDATE_ST
ATUS_1
CKSYS_CLK_FORCE_ON_
0
CKSYS_CLK_FORCE_ON_
1
CKSYS_CLK_DIV_0
CKSYS_CLK_DIV_1
CKSYS_CLK_DIV_2
CKSYS_CLK_DIV_3
CKSYS_CLK_DIV_4
CKSYS_CLK_DIV_5
CKSYS_XTAL_FREQ
CKSYS_REF_CLK_SEL
PLL_ABIST_FQMTR_CON
0

32
32

A2020404
A2020408

A2020264
A2020270
A2020274
A2020280
A2020284
A2020288
A202028C
A2020290
A2020294
A20202A0
A20202A4
A2020400

Register Functionality
Frequency Meter Control Register 0
Enables frequency meter and sets
parameter.
Frequency(TESTED clock) =
Frequency(FIXED clock) *
FQMTR_DATA[15:0]/FQMTR_WINSET[11:0
]

32

Function Clock Selection Update Register 1
Function Clock Selection Update Status
Register 0
Function Clock Selection Update Status
Register 1
Function Clock Force On Register 0

32

Function Clock Force On Register 1

32
32
32
32
32
32
32
32
32

Clock divider control register 0
Clock divider control register 1
Clock divider control register 2
Clock divider control register 3
Clock divider control register 4
Clock divider control register 5
XTAL frequency control register
PLL reference clock selection register

PLL_ABIST_FQMTR_CON
1

32

Frequency Meter Control Register 1
Selects measured clock of frequency meter

PLL_ABIST_FQMTR_CON
2

32

Frequency Meter Control Register 2
Selects measured clock of frequency meter

32

Frequency Meter Control Register 0
Enables frequency meter and sets
parameter.
Frequency(TESTED clock) =
Frequency(FIXED clock) *
FQMTR_DATA[15:0]/FQMTR_WINSET[11:0
]

© 2016 - 2017 MediaTek Inc.

Page 523 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Address
A202040C

Name
PLL_ABIST_FQMTR_DAT
A

A202022
0
Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

CKSYS_TST_
SEL_0

31

30

29

28

Width
32

Register Functionality
Frequency Meter Data
Measurement result of frequency meter.
Frequency(TESTED clock) =
Frequency(FIXED clock)
*{FQMTR_DATA_MSB[7:0],
FQMTR_DATA[15:0]}/FQMTR_WINSET[11:
0]

Test Clock Selection Register 0
27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

tst_sel_0[31:16]
RW
0
0
0
0

0

0

0

0

0

0

tst_sel_0[15:0]
RW
0
0
0
0

0

0

0

0

0

00000000

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

Bit(s)

Mnemonic

Name

Description

31:0

tst_sel_0

tst_sel_0

[0:0] tstclk1_sel 0: tclk1;1: tclk4 tstclk1; clock option selection

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

31

30

29

28

[1:1] tstclk2_sel 0: tclk2;1: tclk5 tstclk2; clock option selection

•

[5:4] fsfc_tstsel 0: from PLL;1: from tclk3;2: from tstclk1;3: from
tstclk2; TST clock source selection

•

[7:6] fconn_tstsel0 0: from PLL;1: from tclk3;2: from tstclk1;3:
from tstclk2; TST clock source selection

•

[9:8] fspimst_tstsel0 0: from PLL;1: from tclk3;2: from tstclk1;3:
from tstclk2; TST clock source selection

•

[11:10] fxtalctl_tstsel0 0: from PLL;1: from tclk3;2: from
tstclk1;3: from tstclk2; TST clock source selection

•

[13:12] fsdiomst_tstsel0 0: from PLL;1: from tclk3;2: from
tstclk1;3: from tstclk2; TST clock source selection

[3:2] fsys_tstsel 0: from PLL;1: from tclk3;2: from tstclk1;3: from
tstclk2; TST clock source selection

Test Clock Selection Register 1
27

26

25

24

23

22

9

8

7

6

15

14

13

12

11

10

0

tst_sel_1[31:16]
RW
0
0
0
0

0

0

0

0

0

0

tst_sel_1[15:0]
RW
0
0
0
0

0

0

0

0

0

0

•
•

CKSYS_TST_
SEL_1

A2020224

16

Bit(s)

Mnemonic

Name

Description

31:0

tst_sel_1

tst_sel_1

[4:0] fqmtr_tcksel
0: 0
1: f_fxo_ck
2: f_frtc_ck
3: clk_pll2_d3

© 2016 - 2017 MediaTek Inc.

00000000

21

20

19

18

17

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

16
0

Page 524 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
4: clk_pll1_d2
5: f_fxo_2m_ck
6: AD_XO_BBTOP_CLK (after test MUX)
7: AD_XO_CK
8: clk_pll2_d5
9: clk_pll2_d15
10: clk_pll1_d7
11: AD_XPLL_CLK
12: AD_WF_BBPLL_CKMON
13: AD_XO_BBTOP_CLK
14: 0
15: 0
16: PAD_SOC_CK (for testmode)
17: hf_fsfc_ck
18: hf_fconn_ck
19: hf_fsys_ck
20: f_fspimst_ck
21: f_fsdiomst_ck
22: f_fxtalctl_ck
23: bbpll2_d3_d8
24: bbpll2_d5_d4
25: bbpll2_d5_d8
26: bbpll1_d7_d2
27: xo_d2
28: 0
29: 0
30: 0
31: fixed_ck
[10:8] fqmtr_fcksel
0: f_fxo_ck
1: f_frtc_ck
2: PAD_SOC_CK (for testmode)
3: AD_XO_BBTOP_CLK
4: EOSC32K_CK
5: xo_div_32k_ck
6: XOSC32K_CK
7: f_fxtalctl_ck

A202024
0

CKSYS_CLK
_CFG_0

Bit
Mne
Type
Reset
Bit
Mne
Type
Reset

30

31
0

0

Function Clock Selection Register 0

29

28

27

26

12

11

10

clk_spimst_sel
RW
0
0
0
0

15

14

13

0

0

0

clk_sfc_sel
RW
0
0

0

25
0

24

23

22

21

0

0

0

0

clk_conn_sel
RW
0
0

0

clk_sys_sel
RW
0
0

9

8

0

0

7

0

6
0

5

20

19

4

3

Bit(s)

Mnemonic

Name

Description

31:24

clk_spimst_sel

clk_spimst_sel

Selects f_fspimst_ck clock MUX

•
•
•
23:16

clk_conn_sel

clk_conn_sel

00000000
18

17

0

0

1

0

0

0

0

2

16
0

0: xo_ck, 26/20(MHz)
1: BBPLL2_D5_D4, 48(MHz)
2: BBPLL2_D5_D2, 96(MHz)

Selects hf_fconn_ck clock MUX

© 2016 - 2017 MediaTek Inc.

Page 525 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
•
•
•
15:8

clk_sfc_sel

clk_sfc_sel

clk_sys_sel

clk_sys_sel

Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

CKSYS_CLK
_CFG_1

2: BBPLL1_D2, 520(MHz)
0: xo_ck, 26/20(MHz)
1: BBPLL2_D3_D4, 80(MHz)
2: BBPLL2_D15, 64(MHz)
3: BBPLL1_D7_D2, 74.29(MHz)

Selects hf_fsys_ck clock MUX

•
•
•
•

A2020244

1: BBPLL2_D3, 320(MHz)

Selects hf_fsfc_ck clock MUX

•
•
•
•
7:0

0: xo_ck, 26/20(MHz)

0: xo_ck, 26/20(MHz)
1: BBPLL2_D5, 192(MHz)
2: BBPLL2_D5_D2, 96(MHz)
3: BBPLL1_D7, 148.57(MHz)

Function Clock Selection Register 1

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

clk_sdiomst_sel
0

0

0

0

RW

0

clk_xtalctl_sel
0

0

0

0

0

0

0

RW

Bit(s)

Mnemonic

Name

Description

15:8

clk_sdiomst_sel

clk_sdiomst_sel

Selects f_fsdiomst_ck clock MUX

•
•
•
7:0

clk_xtalctl_sel

clk_xtalctl_sel

A2020250
31

15

0: xo_ck, 26/20(MHz)
1: BBPLL2_D5_D8, 24(MHz)
2: BBPLL2_D5_D4, 48(MHz)
0: rtc_ck, 0.032(MHz)
1: XO_BBTOP_CK, 40/26(MHz)

CKSYS_CLK
_UPDATE_0

Function Clock Selection Update Register 0

30

27

29

28

26

25

Nam
e
Type
Reset
Bit
Nam
e

0

Selects f_fxtalctl_ck clock MUX

•
•

Bit

00000000

14

13

12

11

10

9

24

chg
_sp
ims
t
RW
0

8

chg
_sf

23

22

21

20

19

00000000
18

17

16
chg
_co
nn

7

6

© 2016 - 2017 MediaTek Inc.

5

4

3

2

1

RW
0

0

chg
_sy

Page 526 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
CKSYS_CLK
_UPDATE_0

A2020250

Function Clock Selection Update Register 0
c
RW
0

Type
Reset

s
RW
0

Bit(s)

Mnemonic

Name

Description

24

chg_spimst

chg_spimst

Turns off hf_fspimst_ck
1: Enable clock-off

16

chg_conn

chg_conn

Turns off hf_fconn_ck
1: Enable clock-off

8

chg_sfc

chg_sfc

Turns off hf_fsfc_ck
1: Enable clock-off

0

chg_sys

chg_sys

Turns off hf_fsys_ck
1: Enable clock-off

CKSYS_CLK
_UPDATE_1

Function Clock Selection Update Register 1

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

A2020254
Bit
Nam
e
Type
Reset
Bit

00000000

00000000

Nam
e
Type
Reset
Bit(s)

Mnemonic

Name

Description

0

chg_sdiomst

chg_sdiomst

Turns off hf_fsys_ck
1: Enable clock-off

A202026
0
Bit

31

CKSYS_CLK
_UPDATE_S
TATUS_0
30

29

28

Function Clock Selection Update Status
Register 0
27

26

25

Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

15

14

13

12

11

10

9

24

chg
_sp
ims
t_o
k
RO
0

8

chg
_sf
c_o
k
RO
0

23

22

21

20

16

0

chg
_sd
iom
st
RW
0

00000000
19

18

17

16
chg
_co
nn
_ok

7

6

© 2016 - 2017 MediaTek Inc.

5

4

3

2

1

RO
0

0

chg
_sy
s_o
k
RO
0

Page 527 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
Bit(s)

Mnemonic

Name

Description

24

chg_spimst_ok

chg_spimst_ok

Turns off hf_fspimst_ck
1: clock change done

16

chg_conn_ok

chg_conn_ok

Turns off hf_fconn_ck
1: clock change done

8

chg_sfc_ok

chg_sfc_ok

Turns off hf_fsfc_ck
1: clock change done

0

chg_sys_ok

chg_sys_ok

Turns off hf_fsdiomst_ck
1: clock change done

A2020264
Bit
Nam
e
Type
Reset
Bit

CKSYS_CLK
_UPDATE_S
TATUS_1

Function Clock Selection Update Status
Register 1

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Nam
e
Type
Reset
Bit(s)

Mnemonic

Name

Description

0

chg_sdiomst_ok

chg_sdiomst_ok

Turns off hf_fsdiomst_ck
1: clock change done

A2020270
Bit

CKSYS_CLK
_FORCE_ON
_0

Function Clock Force On Register 0

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e
Type
Reset
Bit
Nam
e
Type
Reset
Bit(s)

Mnemonic

Name

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

clk
_sf
c_f
orc
e_o
n
RW
1

0

chg
_sd
iom
st_
ok
RO
0

01010101

24

clk
_sp
ims
t_f
orc
e_o
n
RW
1

16

16

clk
_co
nn
_fo
rce
_o
n
RW
1

0

clk
_sy
s_f
orc
e_o
n
RW
1

Description

© 2016 - 2017 MediaTek Inc.

Page 528 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
24

clk_spimst_force_on

clk_spimst_force_on

Forces on CSW clock

•
•
16

clk_conn_force_on

clk_conn_force_on

clk_sfc_force_on

clk_sfc_force_on

clk_sys_force_on

clk_sys_force_on

Bit
Nam
e
Type
Reset
Bit

CKSYS_CLK
_FORCE_ON
_1

1: Enable
0: Disable
1: Enable

Forces on CSW clock

•
•

A2020274

0: Disable

Forces on CSW clock

•
•
0

1: Enable

Forces on CSW clock

•
•
8

0: Disable

0: Disable
1: Enable

Function Clock Force On Register 1

00000001

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Nam
e
Type
Reset
Bit(s)

Mnemonic

Name

Description

0

clk_sdiomst_force_on

clk_sdiomst_force_on

Forces on CSW clock

•
•

A202028
0
Bit

CKSYS_CLK
_DIV_0
30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e
Type
Reset
Bit
Nam
e

1: Enable

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

clk
_pl
l1_
d7_
en
RW
0
clk
_pl
l1_

0

clk
_sd
iom
st_f
orc
e_o
n
RW
1

0: Disable

Clock divider control register 0

31

16

© 2016 - 2017 MediaTek Inc.

16

clk
_pl
l1_
d5_
en
RW
0

0

clk
_pl
l1_

Page 529 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A202028
0

CKSYS_CLK
_DIV_0

Clock divider control register 0
d3_
en
RW
0

Type
Reset

d2_
en
RW
0

Bit(s)

Mnemonic

Name

Description

24

clk_pll1_d7_en

clk_pll1_d7_en

To enable dividers
0: Disable
1: Enable

16

clk_pll1_d5_en

clk_pll1_d5_en

To enable dividers
0: Disable
1: Enable

8

clk_pll1_d3_en

clk_pll1_d3_en

To enable dividers
0: Disable
1: Enable

0

clk_pll1_d2_en

clk_pll1_d2_en

To enable dividers
0: Disable
1: Enable

A202028
4
Bit

CKSYS_CLK
_DIV_1

Clock divider control register 1

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e
Type
Reset
Bit

00000000

Nam
e
Type
Reset

00000000

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

clk
_pl
l2_
d7_
en
RW
0
clk
_pl
l2_
d3_
en
RW
0

Bit(s)

Mnemonic

Name

Description

24

clk_pll2_d7_en

clk_pll2_d7_en

To enable dividers
0: Disable
1: Enable

16

clk_pll2_d5_en

clk_pll2_d5_en

To enable dividers
0: Disable
1: Enable

8

clk_pll2_d3_en

clk_pll2_d3_en

To enable dividers
0: Disable
1: Enable

0

clk_pll2_d2_en

clk_pll2_d2_en

To enable dividers
0: Disable
1: Enable

© 2016 - 2017 MediaTek Inc.

16

clk
_pl
l2_
d5_
en
RW
0

0

clk
_pl
l2_
d2_
en
RW
0

Page 530 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual

A202028
8
Bit

CKSYS_CLK
_DIV_2

Clock divider control register 2

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

24

23

22

21

20

19

18

17

8

7

6

5

4

3

2

1

clk
_pl
l2_
d15
_en
RW
0
clk
_pl
l2_
div
_en
RW
0

Bit(s)

Mnemonic

Name

Description

24

clk_pll2_d15_en

clk_pll2_d15_en

To enable dividers
0: Disable
1: Enable

16

clk_pll1_d15_en

clk_pll1_d15_en

To enable dividers
0: Disable
1: Enable

8

clk_pll2_div_en

clk_pll2_div_en

To enable dividers
0: Disable
1: Enable

0

clk_pll1_div_en

clk_pll1_div_en

To enable dividers
0: Disable
1: Enable

A202028
C

CKSYS_CLK
_DIV_3

Bit
Nam
e
Type
Reset
Bit

30

31

29

28

00000000

Clock divider control register 3
27

26

25

24

23

22

21

20

16

clk
_pl
l1_
d15
_en
RW
0

0

clk
_pl
l1_
div
_en
RW
0

00000001
19

18

17

0

0

0

16

cr_32k_div_sel

15

14

13

12

11

0

10

0

9

Nam
e
Type
Reset

0

8

cr_
32k
_di
v_s
el_
sw
RW
0

0

7

0

6

RW
0

5

0

4

3

Bit(s)

Mnemonic

Name

Description

26:16

cr_32k_div_sel

cr_32k_div_sel

To select XO divide to 32K ratio

8

cr_32k_div_sel_sw

cr_32k_div_sel_sw

To enable software path
0: Disable

© 2016 - 2017 MediaTek Inc.

2

1

0

0

cr_
xo_
div
_32
k_e
n
RW
1

Page 531 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
1: Enable
0

cr_xo_div_32k_en

A202029
0
Bit

cr_xo_div_32k_en

CKSYS_CLK
_DIV_4

To enable dividers
0: Disable
1: Enable

Clock divider control register 4

00000000

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Nam
e
Type
Reset
Bit
Nam
e

cr_
xo_
div
_en

Type
Reset

RW
0

Bit(s)

Mnemonic

Name

Description

16

cr_pll_test

cr_pll_test

To switch the PLL clock to XO clock to test the divider

8

cr_xo_div_en

cr_xo_div_en

To enable dividers
0: Disable
1: Enable

0

cr_xo_div_en_sw

cr_xo_div_en_sw

To enable software path
0: Disable
1: Enable

A2020294
Bit

31

CKSYS_CLK
_DIV_5
30

29

28

Clock divider control register 5
27

26

25

Nam
e
Type
Reset
Bit

15

14

13

12

11

10

Nam
e
Type
Reset
Bit(s)

Mnemonic

Name

9

24

cr_
xo_
2m
_di
v_c
hg
RW
0

8

cr_
xo_
2m
_di
v_s
el_
sw
RW
0

23

22

21

20

16

cr_
pll
_te
st
RW
0

0

cr_
xo_
div
_en
_s
w
RW
0

00000001
19

18

17

16

cr_xo_2m_div_sel

7

6

5

0

4

0

3

RW
0

2

0

1

0

0
cr_
xo_
2m
_di
v_e
n
RW
1

Description

© 2016 - 2017 MediaTek Inc.

Page 532 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
24

cr_xo_2m_div_chg

cr_xo_2m_div_chg

To update divider ratio

20:16

cr_xo_2m_div_sel

cr_xo_2m_div_sel

To select f_fxo_ck divide to 2M ratio

8

cr_xo_2m_div_sel_sw

cr_xo_2m_div_sel_sw

To enable software path
0: Disable
1: Enable

0

cr_xo_2m_div_en

cr_xo_2m_div_en

To enable dividers
0: Disable
1: Enable

A20202A
0
Bit

CKSYS_XTA
L_FREQ

31

30

29

28

xtal frequency control register
27

26

25

Nam
e
Type
Reset
Bit

15

14

13

12

11

Nam
e

10

9

24

f_f
xo_
is_
26
m
RO
1

8

23

22

21

7

6

5

0

0

RW

1

18

17

4

0

3

RO

0

2

1

1

0

Mnemonic

Name

Description

24

f_fxo_is_26m

f_fxo_is_26m

1'b0: 20MHz
1'b1: 26MHz

19:16

xtal_freq

xtal_freq

[3]: reserved
[2]: 40MHz
[1]: 26MHZ
[0]: reserved

11:8

cr_xtal_freq

cr_xtal_freq

[3]: reserved
[2]: 40MHz
[1]: 26MHz
[0]: reserved

0

cr_xtal_freq_sw

cr_xtal_freq_sw

To enable software path
0: Disable
1: Enable

A20202A
4

Type

19

31

CKSYS_REF
_CLK_SEL
30

29

28

pll reference clock selection register
27

26

25

24

rg_
con
n_
use
_xo
_rd
y
RW

16

xtal_freq

Bit(s)

Nam
e

20

cr_xtal_freq

Type
Reset

Bit

01020200

23

22

© 2016 - 2017 MediaTek Inc.

21

20

0

0

cr_
xtal
_fr
eq_
sw
RW
0

01010001
19

18

17

16
rg_
tm
_re
f_cl
k_s
el
RW

Page 533 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A20202A
4

CKSYS_REF
_CLK_SEL

Reset
Bit

14

15

13

pll reference clock selection register

12

11

10

1

9

8

7

6

5

4

01010001
3

2

1

Nam
e
Type
Reset

1

0

rg_
xpll
_re
f_cl
k_s
el
RW
1

Bit(s)

Mnemonic

Name

Description

24

rg_conn_use_xo_rdy

rg_conn_use_xo_rdy

1'b0: Use the CONNSYS self-generated XO ready
signal
1'b1: Use the XO ready signal sent from the global
clock tree (faster speed)

16

rg_tm_ref_clk_sel

rg_tm_ref_clk_sel

1'b0: From XTAL
1'b1: For PAD

0

rg_xpll_ref_clk_sel

rg_xpll_ref_clk_sel

1'b0: For PAD
1'b1: From XTAL

A202040
0
Bit
Nam
e
Type
Reset
Bit
Nam
e
Type
Reset

PLL_ABIST_
FQMTR_CO
N0

Frequency Meter Control Register 0

31

30

29

28

27

26

15

14

13

12

11

10

00000000

25

24

23

22

21

20

19

18

17

16

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

PLL_ABIST_FQMTR_CON0
0

0

0

0

0

0

0

RW

0

0

Bit(s)

Mnemonic

15:0

PLL_ABIST_FQMTR_ PLL_ABIST_FQMT [15] FQMTR_EN frequency-meter enable control signal
CON0
R_CON0
0: Disable
1: Enable
[14] FQMTR_RST frequency-meter reset control signal
0: Normal operations
1: Reset
[11:0] FQMTR_WINSET frequency-meter measurement
window setting (= number of fixed clock cycles)

A202040
4
Bit
Nam
e

31

Name

0

Description

PLL_ABIST_
FQMTR_CO
N1
30

29

28

Frequency Meter Control Register 1
27

26

25

24

23

22

© 2016 - 2017 MediaTek Inc.

21

20

00000000
19

18

17

16

Page 534 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A202040
4
Type
Reset
Bit
Nam
e
Type
Reset

15

PLL_ABIST_
FQMTR_CO
N1
14

13

Frequency Meter Control Register 1

12

11

10

9

8

0

0

7

6

5

00000000

4

3

2

1

0

PLL_ABIST_FQMTR_CON1
0

0

0

0

RO

0

0

Bit(s)

Mnemonic

15:8

PLL_ABIST_FQMTR_C PLL_ABIST_FQMTR_CON1 [15] FQMTR_BUSY frequency-meter busy status
ON1
0: FQMTR is ready
1: FQMTR is busy
[7:0] not used

A202040
8
Bit
Nam
e
Type
Reset
Bit

Name

PLL_ABIST_
FQMTR_CO
N2

Description

Frequency Meter Control Register 2

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Nam
e
Type
Reset

00000000

24

23

22

21

20

19

18

17

16

8

7

6

5

4

3

2

1

0

FQ
MT
R_
CL
KD
IV_
EN
RW
0

FQMTR_
CLKDIV

0

RW

Bit(s)

Mnemonic

Name

8

FQMTR_CLKDIV_EN

FQMTR_CLKDIV_EN FQMTR_CLKDIV_EN Frequency meter clock dividing
enable
0: disable
1: enable

1:0

FQMTR_CLKDIV

FQMTR_CLKDIV

A202040
C
Bit
Nam
e
Type

31

Description

PLL_ABIST_
FQMTR_DAT
A
30

29

28

Frequency meter clock dividing ratio
0: /2
1: /4
2: /8
3: /16

Frequency Meter Data
27

0

26

25

24

23

22

21

00000000
20

19

18

17

16

FQMTR_DATA[23:16]
RO

© 2016 - 2017 MediaTek Inc.

Page 535 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.

MT7686 Reference Manual
A202040
C
Reset
Bit
Nam
e
Type
Reset

15

PLL_ABIST_
FQMTR_DAT
A
14

13

12

Frequency Meter Data

11

10

9

0

8

7

0

6

00000000

0

0

0

0

0

1

0

0

0

0

0

0

0

5

4

3

2

0

FQMTR_DATA[15:0]
0

0

0

0

0

0

0

0

RO

0

0

Bit(s)

Mnemonic

Name

Description

23:0

FQMTR_DATA

FQMTR_DATA

Frequency meter measurement data

© 2016 - 2017 MediaTek Inc.

Page 536 of 536

This document contains information that is proprietary to MediaTek Inc. (“MediaTek”) and/or its licensor(s).
Any unauthorized use, reproduction or disclosure of this document in whole or in part is strictly prohibited.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : Yes
Author                          : MediaTek Inc.
Company                         : MediaTek Inc.
Content Type Id                 : 0x010100C01574E716B48540A2901D80B9DAC368
Create Date                     : 2017:09:13 11:50:33+08:00
Keywords                        : MediaTek, LinkIt, development, platform, RTOS, 7686, MT7686D, secure, Wi-Fi, open source, HDK, board, SDK, prototype, IoT, internet of things, smart home, crypto, CPU, PMU, RTC, UART, I2C, SPI, I2S, PWM, SDIO, MSDC, ADC
Modify Date                     : 2017:09:13 11:55:54+08:00
Source Modified                 : D:20170913034844
Subject                         : MT7686D is a highly integrated system in package (SiP) with PSRAM and flash memory, that features an ARM® Cortex®-M4 as application processor, a low power 802.11 b/g/n single-band Wi-Fi subsystem, and a power management unit (PMU).
Language                        : EN-US
Tagged PDF                      : Yes
XMP Toolkit                     : Adobe XMP Core 5.6-c015 84.159810, 2016/09/10-02:41:30
Metadata Date                   : 2017:09:13 11:55:54+08:00
Creator Tool                    : Acrobat PDFMaker 15 for Word
Document ID                     : uuid:cd7594b5-9dd5-4e42-9195-7c03bcf9b92f
Instance ID                     : uuid:7075f9f0-81da-40c3-bff8-7503b8b6a0be
Format                          : application/pdf
Title                           : MT7686 Reference Manual
Description                     : MT7686D is a highly integrated system in package (SiP) with PSRAM and flash memory, that features an ARM® Cortex®-M4 as application processor, a low power 802.11 b/g/n single-band Wi-Fi subsystem, and a power management unit (PMU).
Creator                         : MediaTek Inc.
Producer                        : Adobe PDF Library 15.0
Headline                        : MT7686D is a highly integrated system in package (SiP) with PSRAM and flash memory, that features an ARM® Cortex®-M4 as application processor, a low power 802.11 b/g/n single-band Wi-Fi subsystem, and a power management unit (PMU).
Page Layout                     : OneColumn
Page Count                      : 544
EXIF Metadata provided by EXIF.tools

Navigation menu