Hi Key960 So C Reference Manual

HiKey960_SoC_Reference_Manual

HiKey960_SoC_Reference_Manual

User Manual: Pdf

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

DownloadHi Key960 So C Reference Manual
Open PDF In BrowserView PDF
Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
Figures ............................................................................................................................................... ii
Tables ............................................................................................................................................... iii
1 Introduction to Hi3660 ..............................................................................................................1-1
1.1 Main Features ................................................................................................................................................ 1-1
1.1.1 Basic Features ...................................................................................................................................... 1-1
1.1.2 Interface Features ................................................................................................................................. 1-3
1.1.3 Low-Power Features ............................................................................................................................ 1-5
1.2 Chip Architecture .......................................................................................................................................... 1-5
1.3 Typical Application ....................................................................................................................................... 1-6

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

Figures

Figures
Figure 1-1 Architecture of the Hi3660 ............................................................................................................... 1-6
Figure 1-2 Typical (smartphone) application of the Hi3660............................................................................... 1-7

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

ii

Hi3660
Data Sheet

Tables

Tables
Table 1-1 Multimedia features of the Hi3660 ..................................................................................................... 1-2
Table 1-2 Peripheral interfaces of the Hi3660 .................................................................................................... 1-3
Table 1-3 Memory interfaces of the Hi3660 ....................................................................................................... 1-4
Table 1-4 Debugging interfaces of the Hi3660 ................................................................................................... 1-4
Table 1-5 Low-power features of the Hi3660 ..................................................................................................... 1-5

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

iii

Hi3660
Data Sheet

1 Introduction to Hi3660

1

Introduction to Hi3660

1.1 Main Features
1.1.1 Basic Features
Computing Capability
The Hi3660 has the following computing specifications:


8-core CPU, including the ARM Cortex-A73 MPCore high-performance heavy cores
(four 2.4 GHz cores) and ARM Cortex-A53 MPCore energy-efficient light cores (four
1.8 GHz cores)



High-performance 3D acceleration technologies, including OpenGL ES 3.2, OpenCL 1.2,
OpenCL 2.0, DirectX 11, and Renderscript



Memory management unit (MMU) management for all the chip channels, reducing the
overhead of reserved memories



1866 MHz 4-channel low-power double data rate 4 (LPDDR4) and maximum 8 GB
space for the double data rate (DDR)

Multimedia Features
The Hi3660 has the following multimedia features:


Built-in video hardware decoder (H.265/H.264 4096 x 2160@60 fps)



Built-in video hardware encoder (H.265/H.264 4096 x 2160@30 fps)



Built-in independent graphics processing unit (GPU), Mali G71 MP8@1 GHz



960 megapixel/s throughput rate, up to 23 megapixels@30 fps, and 16 megapixels@30
fps for each of the two pipes



Independent JPEG encoder and face detection acceleration module



Dual Mobile Industry Processor Interface (MIPI) Display Serial Interfaces (DSIs),
supporting the maximum resolution of 3840 x 2400@60 Hz and multiple IFBCs



External display interface extended by using the MIPI DSI and Sony/Philips Digital
Interface Format (S/PDIF) interface



TypeC interface supported when the Hi3660 connects to another chip

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-1

Hi3660
Data Sheet

1 Introduction to Hi3660

Table 1-1 Multimedia features of the Hi3660
Media Feature

Description

GPU
3D acceleration



OpenGL 3.2/Open VG1.1



OpenGL ES 1.1/2.0/OpenGL ES 3.0/ OpenGL ES 3.1/ OpenGL ES 3.2



OpenCL 1.1/1.2/2.0



DirectX 11.1 Specification



Renderscript

Display pixel depth

RGB888, RGB565

LCD resolution

Maximum resolution of 3840 x 2400, 60 Hz refresh rate

LCD interface

Two MIPI-DSI LCD interfaces. The display data can be compressed to 1/3 or 1/2 of
the original data. The 3840 x 2400 display is supported.

TV interface



External display interface extended by using the MIPI DSI and S/PDIF interface



TypeC interface supported when the Hi3660 connects to another chip

Wi-Fi Display (WFD)

1080p@60 fps

Video encoding



H.265 or H.264 encoding format



3840 x 2400@30 fps HD photographing



4 x 1080p@30 fps simultaneous HD encoding



720p 240 fps video, supporting fast recording and slow playing



Decoding formats: H.265, High Efficiency Video Coding (HEVC) MP/High Tier,
Main 10/High Tier, H.264 BP/MP/HP, MPEG1/2/4, VC-1, VP6/8, RV8/9/10,
Scalable Video Coding (SVC), DIVX, and multiview video coding (MVC)



Up to H.265 4K@60 fps and H.264 4K@30 fps



SLIMbus, I2S, and PCM interfaces, supporting the master and slave modes



DSD interface



8 kHz



16 kHz



32 kHz



48 kHz



96 kHz



Five independent DAC channels and four digital DAC channels supported by the
analog codec (two channels supporting ultrasonic wave transmission and the other
two channels supporting HD playing)



100 dB signal-to-noise ratio (SNR) ADC (A-weighted) with –80 dB THD and 48
kHz sampling rate

Video decoding

Audio interface

Audio sampling rate

ADC/DAC

Data precision

24-bit data precision, SNR supported by audio channels

Audio digital signal
processor (DSP)



Hi-Fi 3.0 DSP served as an independent DSP on the Hi3660 and Hi6403 sides



Up to 533 MHz frequency

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-2

Hi3660
Data Sheet

1 Introduction to Hi3660

Media Feature

Description

Audio

MP3 playing

Microphone (MIC) input

Four MIC inputs

Audio effect

Various audio effect processing methods

Audio recording

Dual-track recording

Communication voice

High-performance voice features such as AVS and voice over Long Term Evolution
(VoLTE)

1.1.2 Interface Features
Table 1-2 Peripheral interfaces of the Hi3660
Interface

Description

USB port



USB 3.0 and USB 2.0 On-The-Go (OTG) protocols



BC1.2 charging

PCIe interface

PCIe 1.1/2.0 protocol

Micro SD card interface



SD 3.0 or SD 2.0 card



High-speed SD card



Hot plug



Wi-Fi: WLAN, portable hotspot, Wi-Fi-DIRECT, compliance with the
IEEE802.11 b/g/n/ac protocol



BT: BT 4.1/BT 4.0/BT Class 1.5/ BT Profile (call, A2DP, FTP)



FM radio over the headphone



FM radio over the FM speaker



FM recording

BT/Wi-Fi air interface

FM air interface

Mobile TV interface

Integrated Service Digital Broadcasting-Terrestrial (ISDB-T)

Human-machine
interface



Multiple keys. If the keyboard matrix is supported, keys can be extended over the
I2C interface.



Touchscreen



Multi-point touch

MIC interface

The MIC interface supports the following voice inputs:


MIC input



MIC input of the headphone



MIC input of the Bluetooth headphone

I2C interface

Seven groups of high-speed I2C interfaces, up to 3 Mbit/s rate

SPI

Five groups of SPIs (master), up to 30 Mbit/s rate

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-3

Hi3660
Data Sheet

1 Introduction to Hi3660

Interface

Description

UART interface

Nine groups of high-speed UART interfaces, up to 9 MBauds frequency

GPIO interface

Multiple GPIO interfaces supported by the Hi3660 and Hi6403

Headset interface



3.5 mm headphone output



MIC input of the headphone



MIC with controller (four keys)



Extended power amplifier of the stereo speaker



Two line-out interfaces

Speaker interface

Receiver interface

One receiver

Keyboard

Keyboard backlight

Table 1-3 Memory interfaces of the Hi3660
Interface

Description

eMMC flash



eMMC 5.1 and non-volatile memory for storing information such as boot code and
data



Bus rate in HS400 mode

Universal Flash
Storage (UFS) flash

UFS 2.1 and non-volatile memory for storing information such as boot code and data,
supporting in-line encryption

LPDDR4 SDRAM



Dynamic memory for system running and four channels (each channel supporting at
most two chip selects)



366 balls



1866 MHz frequency



Maximum capacity of 8 GB



Compliance with the SD 3.0 protocol



Support for user data storage, user software installation, and user space extension as
the main memory

Micro SD card

Table 1-4 Debugging interfaces of the Hi3660
Interface

Description

CoreSight interface

CoreSight debugging interface, supporting the SWD debugging mode

JTAG interface

JTAG debugging interface, which is compliant with IEEE Std 1149.1

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-4

Hi3660
Data Sheet

1 Introduction to Hi3660

1.1.3 Low-Power Features
Table 1-5 Low-power features of the Hi3660
Power
Consumption
Control

Description

Dynamic voltage
and frequency
scaling (DVFS)

Independent DVFS function for the four Cortex A73 heavy cores, four Cortex A53 light
cores, and the GPU

Power management
in the idle state

Ultra-low-power design in the idle state to minimize system power consumption

1.2 Chip Architecture
The Hi3660 uses the 16 nm fin field-effect transistor (FinFET) technology of TSMC, and
features multiple cores, multiple modes, high performance, and high integration. As the core
system on chip (SoC) in the Kirin960 high-end smartphone solution, the Hi3660 provides
high-speed mobile computing, integrates various multimedia processing functions and highspecification communication processing functions, and uses the industry-leading low-power
technology.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-5

Hi3660
Data Sheet

1 Introduction to Hi3660

Figure 1-1 Architecture of the Hi3660
GIC

IPC

GCUTL
modem
baseband
Transceiver

Cortex A73
with NEON
(2.4 GHz)

Cortex A73
with NEON
(2.4 GHz)

Cortex A73
with NEON
(2.4 GHz)

Cortex A73
with NEON
(2.4 GHz)

Display
subsystem

L2 cache
(2 MB)

Cortex A53
with NEON
(1.8 GHz)

Cortex A53
with NEON
(1.8 GHz)

Cortex A53
with NEON
(1.8 GHz)

Cortex A53
with NEON
(1.8 GHz)

ASP
subsystem

Camera

Sensor Hub
subsystem

SDIO

Hi1102

L2 cache
(1 MB)

HD video codec

Dual security
engines

LP M3

Camera
ISP
subsystem

L2 cache
(512 KB)
CCI bus

Hi6403
Power
Audio
Headset
Receiver
Speaker
MIC x 4
Vibrator

LCD

Quadchannel
DDRC

LPDDR4

Mali G71
Shader

Mali G71
Shader

Mali G71
Shader

Mali G71
Shader

UFS 2.1

UFS

Mali G71
Shader

Mali G71
Shader

Mali G71
Shader

Mali G71
Shader

eMMC 5.1

eMMC

USB 3.0
OTG

PC

PCIe

Wi-Fi

IVP
DSP

Security IP

UART

UART

I2C

SCI

BT

GPS

Sensor

SIM x 2

The Hi3660 consists of the following functional modules and subsystems:


Big.LITTLE 8-core CPU subsystem, which contains the ARM Cortex-A73 MPCore
high-performance heavy cores (four cores) and ARM Cortex-A53 MPCore energyefficient light cores (four cores)



ARM Mali G71 MP8 3D GPU



Independent image signal processor (ISP)



3840 x 2400 HD video hardware decoder and encoder



Display and graphics acceleration subsystem



Audio subsystem with one Tensilica Hi-Fi 3.0 DSP



Peripheral subsystem for the I/O device controllers such as the direction memory access
(DMA), PCIe, USB 3.0, and SD card controllers



DDR and UFS controllers

1.3 Typical Application
The Hi3660 is applied to the smartphone and tablet.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-6

Hi3660
Data Sheet

1 Introduction to Hi3660

Figure 1-2 Typical (smartphone) application of the Hi3660
HiSilicon IC

Customized IC

RF subsystem

Third-party IC

MMMB
PA

RFIC
Hi6362
TRx

4-channel
LPDDR4 3733
Mbit/s

SSI
SD 3.0
USB 3.0
USB 2.0

Vsys

Hi6523

19.2 MHz
Sleep
CLK

UFS/eMMC 5.1

5 V IN

DIV
FEM

APT/RFIC
RF8081

Front

MIPI
CSI_2

Main

MIPI
CSI_1

Main

MIPI
CSI_0

MIPI
DSI0/1

LCD

Main
FEM

Coulomb
meter

RTC

0.01 Ω

Power
management

16 channels for Temp/ID/
Voltage

HK ADC

Hi3660

One backlight
Three indicators
Motor

LED driver
Motor driver

FM

SDIO 3.0
PCIe
PCM

ClassD with boost

PMU Hi6421

UART

SSI

I2C bus
Accelerometer

Issue 05 (2016-12-22)

Gyroscope

Compass

Power
Management
PMU Hi6422 V200
(CPU Big)

Only 1% THD @ 1.6 W

Power Management
PMU Hi6422 V200
(CPU Small & GPU)

Audio codec
Hi6403

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

1-7

Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
Figures ............................................................................................................................................... ii
Tables ............................................................................................................................................... iii
2 Overall Description ...................................................................................................................2-1
2.1 Chip Structure ............................................................................................................................................... 2-1
2.1.1 SoC System .......................................................................................................................................... 2-1
2.1.2 Media Subsystem ................................................................................................................................. 2-3
2.1.3 Storage Subsystem ............................................................................................................................... 2-3
2.2 Clock ............................................................................................................................................................. 2-4
2.2.1 Function Description ............................................................................................................................ 2-4
2.2.2 Clock Input........................................................................................................................................... 2-4
2.3 Reset .............................................................................................................................................................. 2-4
2.3.1 Function Description ............................................................................................................................ 2-4
2.3.2 Chipset Reset Scheme .......................................................................................................................... 2-4
2.3.3 Reset Structure ..................................................................................................................................... 2-5
2.4 Interrupt ......................................................................................................................................................... 2-7
2.4.1 Function Description ............................................................................................................................ 2-7
2.4.2 Interrupt Structure ................................................................................................................................ 2-7
2.4.3 Interrupt Mapping ................................................................................................................................ 2-8
2.5 Chip Operating Mode and Control .............................................................................................................. 2-14
2.6 Boot Mechanism ......................................................................................................................................... 2-15
2.6.1 Overall Process .................................................................................................................................. 2-15
2.6.2 eMMC Boot ....................................................................................................................................... 2-16
2.7 Debugging Mode ......................................................................................................................................... 2-16
2.7.1 JTAG Debugging ............................................................................................................................... 2-16
2.7.2 CoreSight Debugging ......................................................................................................................... 2-17
2.8 Maintainability and Testability .................................................................................................................... 2-17
2.9 Memory Map ............................................................................................................................................... 2-17
2.9.1 Address Space Allocation (From the ACPU Perspective) .................................................................. 2-18

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

Figures

Figures
Figure 2-1 SoC system architecture ..................................................................... Error! Bookmark not defined.
Figure 2-2 External reset .................................................................................................................................... 2-5
Figure 2-3 GIC architecture................................................................................................................................ 2-8

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

ii

Hi3660
Data Sheet

Tables

Tables
Table 2-1 Modules in the SoC system ................................................................................................................ 2-1
Table 2-2 Allocation table of GIC interrupts ...................................................................................................... 2-8
Table 2-3 Register groups and memory address ranges (ACPU)...................................................................... 2-18

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

iii

Hi3660
Data Sheet

2 Overall Description

2

Overall Description

2.1 Chip Structure
2.1.1 SoC System
Table 2-1 Modules in the SoC system
Module

Description

Module

Description

A73/A53

Application processor
cluster, big.LITTLE
architecture

IVP

Image and video processor
(IVP) module

ASP

Audio signal processor
(ASP) subsystem

LPMCU

Low-power processing
subsystem

BLPWM

Backlight pulse-width
modulation (PWM) module

MMC

Multimedia card (MMC)
control module

BOOTROM

On-chip read-only memory
(ROM)

NANDC

Flash memory controller
(FMC)

CODEC_SSI

Synchronous serial
interface (SSI) module used
to communicate with the
codec

PCTRL

Peripheral controller

CRG

Clock and reset generator
(CRG) module

PMCTRL

Power management
control (PMC) module
such as dynamic frequency
scaling (DFS) and
dynamic voltage and
frequency scaling (DVFS)

CSSYS

Processor joint-debugging
module

PMU_I2C

I2C interface module used
to communicate with the
power management unit
(PMU)

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-1

Hi3660
Data Sheet

2 Overall Description

Module

Description

Module

Description

DDRC

Double data rate SDRAM
controller (DDRC)

PMU_SSI

SSI module used to
communicate with the
PMU

DJTAG

JTAG port debugging
module

PWM

PWM module

DMAC

Direct memory access
controller (DMAC) module

RTC

Real-time clock (RTC)
counter

DSS

Display module

SCI

SIM card controller

EFUSEC

eFUSE control module

SCTRL

System controller

Generic
interrupt
controller
(GIC)

Processor interrupt
processing module

SEC_P/SEC_S

Security processing
module

GNSPWM

Universal PWM module

SPI

Serial peripheral interface
(SPI) controller

GPIO

General-purpose
input/output (GPIO)
interface module

SYS_CNT

Processor-dedicated
counter module

GPU

Media service processor

TIMER

Timing and counting
module

HKADC_SSI

Bus interface module, used
to read the converted
digital data in the
housekeeping analog-todigital converter (HKADC)
of the external PMU
through the SSI

TSENSORC

TSensor controller

I2C

I2C controller

TZPC

Security signal allocation
module

IOC

I/O control module

UART

Universal serial port
module

IOMCU

Sensor-hub processing
subsystem

USB3OTG

USB 3.0 controller module

IPC

Inter-core communication
module

VENC/VDEC

Video
encryption/decryption
processing module

ISP

Image signal processing
(ISP) module

WD

Watchdog counter

EMMC5.1

eMMC 5.1 controller
module

UFS

Unified File system (UFS)
controller module

SDIO

SDIO controller module

SD

SD card controller module

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-2

Hi3660
Data Sheet

2 Overall Description

Module

Description

Module

Description

PCIe

PCIe controller module

-

-

The system on chip (SoC) system uses the multi-layer bus architecture. Each layer supports
separate parallel access.
The bus architecture of the SoC system has the following features:


Supports hardware coherency through coherency bus interconnection.



Connects the independent buses from multiple layers to improve the bus bandwidth of
the Hi3660 and provide excellent scalability.



Uses the advanced eXtensible interface (AXI) as the high-speed data bus, supporting
128-bit or 64-bit width.



Uses the 32-bit AXI as the low-speed data bus and configuration bus.

2.1.2 Media Subsystem
The media subsystem provides superior multimedia processing and acceleration functions:


Image capturing



Image display and output



Acceleration of image encoding and decoding



3D graphics acceleration



Audio processing acceleration

The media subsystem supports the following upper-level applications:


Digital photographing



Digital video recording



Audio recording



Playing local audio and video



Browsing local pictures



Playing audio and video in the stream media format



Multimedia editor



Video call



UI and video hardware acceleration



Hardware acceleration for gaming
For details about the media subsystem, see chapter 6 "Media Processing."

2.1.3 Storage Subsystem
The Hi3660 supports the following external storage interfaces to provide flexible storage
solutions for the system and meet different product requirements:


UFS/eMMC/SD/SDIO static storage card interface



Low-power double data rate 4 (LPDDR4) dynamic memory interface

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-3

Hi3660
Data Sheet


2 Overall Description

NAND flash interface
For details about the storage subsystem, see chapter 7 "Storage Control."

2.2 Clock
2.2.1 Function Description
The Hi3660 accepts external clock inputs, generates required internal operating clocks by
using the internal phase-locked loops (PLLs) and clock circuits, and provides multiple clocks
for other chips.
The Hi3660 provides 11 internal PLLs for generating operating clocks required by chip
modules.

2.2.2 Clock Input
The Hi3660 supports the following external input clocks:


32 kHz clock



19.2 MHz clock



External backup clock

2.3 Reset
2.3.1 Function Description
The Hi3660 receives external reset inputs and resets or deasserts reset on internal modules
based on the reset deassertion sequence during power-on.
After the AO area is powered on, the internal power-on reset (POR) module outputs low-level
signals, resets the Hi3660, and pulls the output level up about 12–48 ms after the power-on.
This ensures that the entire chip is in reset state when the I/O (external input reset) is in
indefinite state.
Besides POR, the Hi3660 supports the following global reset types:


Watchdog reset



Temperature sensor reset



Chip soft reset

When any of the preceding reset types is valid, the global reset of the Hi3660 is triggered. All
reset types have the same priority.

2.3.2 Chipset Reset Scheme
During the power-on process, the PMU provides the reset input signal (RSTIN_N) for the
Hi3660. The SoC automatically performs the POR operation on internal modules.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-4

Hi3660
Data Sheet

2 Overall Description

When any global reset mode in the Hi3660 is valid, the Hi3660 outputs the PMU reset signal
(PMU_RST_N) to reset the PMU. After that, the PMU pulls RSTIN_N down to implement
global reset.
Figure 2-1 External reset
To other devices

RSTIN_N
PMU

Hi3660
PMU_RST_N

Reset_button

2.3.3 Reset Structure
The Hi3660 supports the following global reset types:


POR



Watchdog reset



Temperature sensor reset



Chip soft reset

There are two reset modes: dying gasp reset and non-dying gasp reset. Setting SCPEREN1[31]
to 1 enables the dying gasp reset mode. Setting SCPERDIS1[31] to 1 disables the dying gasp
reset mode.




Dying gasp reset: When the wd reset request and over-temperature reset request are valid,
the request for the DDR SDRAM to enter the self-refresh mode is initiated first. Then
there are two options:
−

Wait for the DDR SDRAM to enter the self-refresh mode. (After receiving the
interrupt, the software protects the scene, saves the critical system information to the
external non-volatile memory or SDRAM, and then sets the SDRAM to the selfrefresh mode.)

−

Send the reset request signal, pull the PMU reset signal down, and reset the entire
system 1 ms after timeout occurs.

Non-dying gasp reset: When the wd reset request, over-temperature reset request, and
software reset request are valid, directly send the reset request signal, pull the PMU reset
signal down, and reset the entire system. The scene is not preserved in the entire process.

POR
The global POR is obtained after two reset signals are ANDed: external reset signal RSTIN_N
and the POR output reset signal. After the AO area is powered on, the internal POR signal
outputs low level, resets the entire chip, and deasserts reset within 12–48 ms. The PMU

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-5

Hi3660
Data Sheet

2 Overall Description

generates the external reset signal RSTIN_N. The chip maintains the reset state after the I/O is
powered on. The global reset of the chip can be deasserted after the PMU deasserts reset.

Watchdog Reset
The following subsystems provide the watchdogs:


WD0, WD1, and LPMCU subsystems



IOMCU subsystem



Modem subsystem



ASP subsystem



IVP subsystem



ISPA7 subsystem



UCE



OCBC



GPU



LITTLE core



Big core

The watchdog module monitors the system running status. In normal cases, the system needs
to periodically set the initial count value. If the system does not promptly set the initial count
value, the software is running abnormally. In this case, the watchdog performs the following
operations:


The watchdog reports an exception interrupt, loads the initial value of the counter, and
re-counts from the initial value.



If the exception interrupt is not handled, a reset signal is initiated when the watchdog
counter is decremented to 0.

Temperature Sensor Reset
The A53, A73, and G3D areas each contains a temperature sensor. When the chip temperature
reaches the preset threshold, a reset request signal is initiated to reset the A53 and A73 cores
in the chip.

Chip Soft Reset
The software can soft-reset the Hi3660 when necessary. When the software writes to the
SCSYSSTAT register, global soft reset of the Hi3660 is triggered.

Soft reset can be performed only in non-dying gasp reset mode. In dying gasp reset mode,
writing to SCSYSSTAT does not trigger the global soft reset of the Hi3660.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-6

Hi3660
Data Sheet

2 Overall Description

Module Soft Reset
The software can independently reset the major modules of the Hi3660. These modules
include the RTC, timer, GPIO, USB, DMAC, VENC, VDEC, DSS, ISP, ASP, DDRC, MMC,
PWM, UART, SPI, and G3D. For details, see the description of each module.

2.4 Interrupt
2.4.1 Function Description
The ACPU uses the GIC to handle and control interrupts. Other microcontrollers, media, and
communication processors have their own interrupt handling logic. This section describes the
basic interrupt handling functions of the GIC.
The GIC has the following basic features:


Supports interrupt nesting for the A53, A73, and G3D.



Manages multi-core interrupt distribution.



Supports security extension.



Queries the states of interrupt sources.



Provides a unique ID for each interrupt.



Supports configurable interrupt trigger mode: high-level-triggered mode or edgetriggered mode.



Sets the priority of each interrupt.



Generates software interrupts.

The GIC supports the following interrupt types:


Software-generated interrupt (SGI)
The GIC supports 16 SGIs (SCI0 to SCI15), which are controlled by writing to registers.



Private peripheral interrupt (PPI)
Each processor corresponds to seven PPIs.



Shared peripheral interrupt (SPI)
A total of 352 peripheral interrupts are supported.

2.4.2 Interrupt Structure
As shown in Figure 2-2, the GIC contains one distributor and multiple CPU interfaces. The
distributor manages all interrupts in a centralized manner, and the CPU interfaces implement
interaction between the interrupts and the CPU. The integrated GIC-400 of the Hi3660 has
eight CPU interfaces, which connect to the quad-core A73 and quad-core A53, respectively.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-7

Hi3660
Data Sheet

2 Overall Description

Figure 2-2 GIC architecture

The GIC supports the TrustZone. Each interrupt source can be configured as a secure interrupt
source or a non-secure interrupt source.
The GIC configures the priority of each interrupt. A smaller interrupt priority value indicates a
higher priority. If two interrupts have the same priority, the interrupt with a smaller interrupt
ID takes priority over the other one.

2.4.3 Interrupt Mapping
The Hi3660 GIC supports 384 interrupts, including 352 peripheral interrupts. Table 2-2 lists
the interrupt sources and interrupt IDs.
Table 2-2 Allocation table of GIC interrupts
Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

A73_interr

32

PMC-AVS-IDLE-G3D

205

A73_exterr

33

M3_LP_wd

206

A73_pmu0

34

~CCI400_err

207

A73_pmu1

35

~&CCI400_overflow[6:0]

208

A73_pmu2

36

~CCI400_overflow[7]

209

A73_pmu3

37

IPC_S_int0

210

A73_cti0

38

IPC_S_int1

211

A73_cti1

39

IPC_S_int4

212

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-8

Hi3660
Data Sheet

2 Overall Description

Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

A73_cti2

40

IPC_S_mbx0

213

A73_cti3

41

IPC_S_mbx1

214

A73_COMMRX0

42

IPC_S_mbx2

215

A73_COMMRX1

43

IPC_S_mbx3

216

A73_COMMRX2

44

IPC_S_mbx4

217

A73_COMMRX3

45

IPC_S_mbx5

218

A73_COMMTX0

46

IPC_S_mbx6

219

A73_COMMTX1

47

IPC_S_mbx7

220

A73_COMMTX2

48

IPC_S_mbx8

221

A73_COMMTX3

49

IPC_S_mbx9

222

A73_COMMIRQ0

50

IPC_S_mbx18

223

A73_COMMIRQ1

51

IPC_NS_int0

224

A73_COMMIRQ2

52

IPC_NS_int1

225

A73_COMMIRQ3

53

IPC_NS_int4

226

A53_interr

54

IPC_NS_int5

227

A53_exterr

55

IPC_NS_int6

228

A53_pmu0

56

IPC_NS_mbx0

229

A53_pmu1

57

IPC_NS_mbx1

230

A53_pmu2

58

IPC_NS_mbx2

231

A53_pmu3

59

IPC_NS_mbx3

232

A53_cti0

60

IPC_NS_mbx4

233

A53_cti1

61

IPC_NS_mbx5

234

A53_cti2

62

IPC_NS_mbx6

235

A53_cti3

63

IPC_NS_mbx7

236

A53_COMMRX0

64

IPC_NS_mbx8

237

A53_COMMRX1

65

IPC_NS_mbx9

238

A53_COMMRX2

66

IPC_NS_mbx18

239

A53_COMMRX3

67

mdm_aximon_intr

240

A53_COMMTX0

68

MDM_WDOG_intr

241

A53_COMMTX1

69

ASP-IPC-ARM

242

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-9

Hi3660
Data Sheet

2 Overall Description

Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

A53_COMMTX2

70

ASP-IPC-MCPU

243

A53_COMMTX3

71

ASP-IPC-BBE16

244

A53_COMMIRQ0

72

ASP_WD

245

A53_COMMIRQ1

73

ASP_AXI_DLOCK

246

A53_COMMIRQ2

74

ASP_DMA_SECURE

247

A53_COMMIRQ3

75

ASP_DMA_SECURE_N

248

WatchDog0

76

SCI0

249

WatchDog1

77

SCI1

250

RTC0

78

SOCP0

251

RTC1

79

SOCP1

252

TIME00

80

MDM_IPF_intr0

253

TIME01

81

MDM_IPF_intr1

254

TIME10

82

|ddrc_fatal_int[3:0]

255

TIME11

83

mdm_axi_dlock_int

256

TIME20

84

mdm_wdt1_intr (CDSP)

257

TIME21

85

~GIC_IRQ_OUT[0]

258

TIME30

86

~GIC_IRQ_OUT[1]

259

TIME31

87

~GIC_IRQ_OUT[2]

260

TIME40

88

~GIC_IRQ_OUT[3]

261

TIME41

89

~GIC_IRQ_OUT[4]

262

TIME50

90

~GIC_IRQ_OUT[5]

263

TIME51

91

~GIC_IRQ_OUT[6]

264

TIME60

92

~GIC_IRQ_OUT[7]

265

TIME61

93

~GIC_FIQ_OUT[0]

266

TIME70

94

~GIC_FIQ_OUT[1]

267

TIME71

95

~GIC_FIQ_OUT[2]

268

TIME80

96

~GIC_FIQ_OUT[3]

269

TIME81

97

~GIC_FIQ_OUT[4]

270

TIME90

98

~GIC_FIQ_OUT[5]

271

TIME91

99

~GIC_FIQ_OUT[6]

272

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-10

Hi3660
Data Sheet

2 Overall Description

Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

TIME100

100

~GIC_FIQ_OUT[7]

273

TIME101

101

NANDC

274

TIME110

102

CoreSight_ETR_Full

275

TIME111

103

CoreSight_ETF_Full

276

TIME120

104

DSS-pdp

277

TIME121

105

DSS-sdp

278

UART0

106

DSS-offline

279

UART1

107

DSS_mcu_pdp

280

UART2

108

DSS_mcu_sdp

281

UART4

109

DSS_mcu_offline

282

UART5

110

DSS_dsi0

283

UART6

111

DSS_dsi1

284

SPI1

112

IVP32_SMMU_irpt_s

285

I2C3

113

IVP32_SMMU_irpt_ns

286

I2C4

114

IVP32_WATCH_DOG

287

I2C5 (PMU_I2C)

115

ATGC

288

GPIO0_INTR1

116

G3D_IRQEVENT

289

GPIO1_INTR1

117

G3D_JOB

290

GPIO2_INTR1

118

G3D_MMU

291

GPIO3_INTR1

119

G3D_GPU

292

GPIO4_INTR1

120

isp_irq[0]

293

GPIO5_INTR1

121

isp_irq[1]

294

GPIO6_INTR1

122

isp_irq[2]

295

GPIO7_INTR1

123

isp_irq[3]

296

GPIO8_INTR1

124

isp_irq[4]

297

GPIO9_INTR1

125

isp_irq[5]

298

GPIO10_INTR1

126

isp_irq[6]

299

GPIO11_INTR1

127

isp_irq[7]

300

GPIO12_INTR1

128

isp_a7_to_gic_mbx_int[0]

301

GPIO13_INTR1

129

isp_a7_to_gic_mbx_int[1]

302

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-11

Hi3660
Data Sheet

2 Overall Description

Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

GPIO14_INTR1

130

isp_a7_to_gic_ipc_int

303

GPIO15_INTR1

131

isp_a7_watchdog_int

304

GPIO16_INTR1

132

isp_axi_dlcok

305

GPIO17_INTR1

133

isp_a7_irq_out

306

GPIO18_INTR1

134

ivp32_dwaxi_dlock_irq

307

GPIO19_INTR1

135

mmbuf_asc0

308

GPIO20_INTR1

136

mmbuf_asc1

309

GPIO21_INTR1

137

UFS

310

GPIO22_INTR1

138

pcie_link_down_int

311

GPIO23_INTR1

139

pcie_edma_int

312

GPIO24_INTR1

140

pcie_pm_int

313

GPIO25_INTR1

141

pcie_radm_inta

314

GPIO26_INTR1

142

pcie_radm_intb

315

GPIO27_INTR1

143

pcie_radm_intc

316

IOMCU_WD

144

pcie_radm_intd

317

IOMCU_SPI

145

psam_intr[0]

318

IOMCU_UART3

146

psam_intr[1]

319

IOMCU_UART8

147

ocbc_pe_npint[0]

320

IOMCU_SPI2

148

intr_wdog_ocbc

321

IOMCU_I2C3

149

intr_vdec_mfde_norm

322

IOMCU_I2C0

150

intr_vdec_scd_norm

323

IOMCU_I2C1

151

intr_vdec_bpd_norm

324

IOMCU_I2C2

152

intr_vdec_mmu_norm

325

IOMCU_GPIO0_INT1

153

intr_vdec_mfde_safe

326

IOMCU_GPIO1_INT1

154

intr_vdec_scd_safe

327

IOMCU_GPIO2_INT1

155

intr_vdec_bpd_safe

328

IOMCU_GPIO3_INT1

156

intr_vdec_mmu_safe

329

IOMCU_DMAC_INT0

157

intr_venc_vedu_norm

330

IOMCU_DMAC_NS_IN
T0

158

intr_venc_mmu_norm

331

PERF_STAT

159

intr_venc_vedu_safe

332

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-12

Hi3660
Data Sheet

2 Overall Description

Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

IOMCU_COMB

160

intr_venc_mmu_safe

333

IOMCU_BLPWM

161

intr_qosbuf0

334

NOC-comb

162

intr_qosbuf1

335

intr_dmss

163

intr_ddrc2_err

336

intr_ddrc0_err

164

intr_ddrc3_err

337

intr_ddrc1_err

165

intr_ddrphy[0]

338

PMCTRL

166

intr_ddrphy[1]

339

SECENG_P

167

intr_ddrphy[2]

340

SECENG_S

168

intr_ddrphy[3]

341

EMMC51

169

intr0_mdm_ipc_gic_s

342

ASP_IPC_MODEM_CB
BE

170

intr1_mdm_ipc_gic_s

343

SD3

171

SPI3

344

SDIO

172

SPI4 (Finger/Ink screen)

345

GPIO28_INTR1

173

I2C7

346

PERI_DMAC_int0

174

intr_uce0_wdog

347

PERI_DMAC_NS_int0

175

intr_uce1_wdog

348

CLK_MONITOR
SCTRL)

176

intr_uce2_wdog

349

TSENSOR_A73

177

intr_uce3_wdog

350

TSENSOR_A53

178

intr_exmbist

351

TSENSOR_G3D

179

intr_hisee_wdog

352

TSENSOR_Modem

180

intr_hisee_ipc_mbx_gic[0]

353

ASP_ARM_SECURE
(asp_hmdi
secure
interrupt and src_up
secure interrupt)

181

intr_hisee_ipc_mbx_gic[1]

354

ASP_ARM
(asp_hmdi
non-secure
interrupt, src_up nonsecure interrupt, and
slimbus
combined
interrupt)

182

intr_hisee_ipc_mbx_gic[2]

355

VDM_INT2

183

intr_hisee_ipc_mbx_gic[3]

356

Issue 05 (2016-12-22)

(in

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-13

Hi3660
Data Sheet

2 Overall Description

Interrupt Source

GIC Interrupt
ID

Interrupt Source

GIC
Interrupt ID

VDM_INT0

184

intr_hisee_ipc_mbx_gic[4]

357

VDM_INT1

185

intr_hisee_ipc_mbx_gic[5]

358

|{MODEM_IPC0[0],
MDM_IPC_APPCPU_int
r0}

186

intr_hisee_ipc_mbx_gic[6]

359

|{MODEM_IPC1[0],
MDM_IPC_APPCPU_int
r1}

187

intr_hisee_ipc_mbx_gic[7]

360

MDM_bus_err

188

intr_hisee_alarm[0]

361

Reserved

189

intr_hisee_alarm[1]

362

MDM_EDMAC0_INTR
_NS[0]

190

Reserved

363

USB3

191

Reserved

364

Reserved

192

intr_hisee_eh2h_slv

365

USB3_OTG

193

intr_hisee_as2ap_irq

366

USB3_BC

194

intr_hisee_ds2ap_irq

367

GPIO1_SE_INTR1

195

intr_hisee_senc2ap_irq

368

GPIO0_SE_INTR1

196

GPIO0_EMMC

369

PMC-DVFS-A73

197

GPIO1_EMMC

370

PMC-DVFS-A53

198

AONOC_TIMEOUT

371

PMC-DVFS-G3D

199

intr_hisee_tsensor[0]

372

PMC-AVS-A73

200

intr_hisee_tsensor[1]

373

PMC-AVS-A53

201

intr_hisee_lockup

374

PMC-AVS-G3D

202

intr_hisee_dma

375

PMC-AVS-IDLE-A73

203

Reserved

376~383

PMC-AVS-IDLE-A53

204

2.5 Chip Operating Mode and Control
The Hi3660 system supports four operating modes, which are controlled by configuring
SCCTRL[modectrl] (0xFFF0_A000 for LPMCU access and 0x4020_A000 for CPU access):


Issue 05 (2016-12-22)

000: The system mode is switched to sleep mode.

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-14

Hi3660
Data Sheet

2 Overall Description



001: The system mode is switched to doze mode.



01X: The system mode is switched to slow mode.



1XX: The system mode is switched to normal mode.

After POR, the state machine is in slow mode by default. The software controls the system
state transition by configuring SCCTRL[modectrl] (0xFFF0_A000 for LPMCU access and
0x4020_A000 for CPU access).
The system state machine is restored to slow mode after a global reset such as the global soft
reset, watchdog reset, or Tsensor over-temperature reset.

2.6 Boot Mechanism
2.6.1 Overall Process
The Hi3660 supports two boot modes: USB loading mode and memory boot mode. The
memory boot modes include eMMC boot mode and UFS boot mode. All these modes are
booted by the BOOTROM in the Hi3660. Then the corresponding boot process is started.
Apart from the preceding common boot modes, the Hi3660 also supports the NAND boot and
UFS boot in test mode.

Pin Settings
For the UFS boot mode booted by BOOTROM, the pin settings are as follows:


TEST_MODE: 0



BOOT_MODE: 1



BOOT_UFS: 1

Basic Process
Step 1 Power on the system to start POR.
Step 2 Judge the boot mode.
Execute the BOOTROM code. Read the boot_mode register to judge the boot mode. If the
value of the BOOT_MODE pin is 1, enter the memory boot branch. Then read the boot_ufs
register. If the value of the BOOT_UFS pin is 1, enter the UFS boot process.
Step 3 Initialize the UFS clock and IP.
Step 4 Start the UFS link startup process.
Step 5 Initialize the UFS parameters and components.
Step 6 Transfer the bootloader image in the UFS device to the RAM.
Step 7 Verify the security.
Step 8 Execute the bootloader.
Step 9 Initialize the DDR, and copy the fastboot images stored in the UFS device to the DDR.
Initialize the ACPU and deassert reset. Then the ACPU side starts executing fastboot and
performs the subsequent startup process.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-15

Hi3660
Data Sheet

2 Overall Description

----End

2.6.2 eMMC Boot
Pin Settings
For the eMMC boot mode booted by BOOTROM, the pin settings are as follows:


TEST_MODE: 0



BOOT_MODE: 1



BOOT_UFS: 0

Basic Process
Step 1 Power on the system to start POR.
Step 2 Judge the boot mode.
Execute the BOOTROM code. Read the boot_mode register to judge the boot mode. If the
value of the BOOT_MODE pin is 1, enter the memory boot branch. Then read the boot_ufs
register. If the value of the BOOT_UFS pin is 0, enter the eMMC boot process.
Step 3 Initialize the eMMC clock and IP.
Step 4 Transfer the images in the eMMC device to the buffer in the eMMC and then to the RAM.
Step 5 Verify the security.
Step 6 Execute the bootloader.
Step 7 Initialize the DDR, and copy the fastboot images stored in the eMMC device to the DDR.
Initialize the ACPU and deassert reset. Then the ACPU side starts executing fastboot and
performs the subsequent startup process.
----End

2.7 Debugging Mode
2.7.1 JTAG Debugging
The Hi3660 provides the JTAG interface that complies with the IEEE 1149.1 standard:


The DSP simulator can debug the four internal DSPs.



The PC can connect to the JTAG simulator to separately debug the ARM processor.

The JTAG MUX connects external JTAG pin signals to the cores of the Hi3660.
The debugging steps are as follows:
Step 1 Power on and reset the Hi3660.
Step 2 Set JTAG_SEL1 and JTAG_SEL0 to 2'b01 to multiplex the CPU JTAG function on the
JTAG pin.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-16

Hi3660
Data Sheet

2 Overall Description

Step 3 Set JTAG_SEL1 and JTAG_SEL0 to 2'b00 to enter the register selection mode. Configure the
system control register JTAGSYS_SW_SEL [7:0] to switch to the selected debugging
interface for debugging.
Step 4 Connect the corresponding simulator and open the corresponding debugging software to start
debugging.
----End

2.7.2 CoreSight Debugging
The Hi3660 has a powerful debug system that integrates an ARM CoreSight system. The
CoreSight system supports the following features:


Top-level CoreSight and local CoreSight in each cluster. The local CoreSight contains
the A73 CoreSight and A53 CoreSight.



Intrusive debugging (debug) and non-intrusive debugging (trace)
A73 and A53 support both debug and trace.



Software debugging and traditional JTAG debugging

2.8 Maintainability and Testability
The Hi3660 provides the following maintainability and testability means:


JTAG debugging

2.9 Memory Map
The Hi3660 supports the 8-/6-/4-GB DDR storage solution. The system address space varies
according to the capacity of the connected DDR and the processor perspective. The general
principles are as follows:


When the 4-GB component is connected, in the unified addressing space of the entire
chip system viewed from the perspective of the ACPU, IVP, GPU, VENC, VDEC, DSS,
and ISP:
−

The 0–3.5 GB and 4–4.5 GB address space is specified as the accessible 4-GB
DRAM space.

−

The 3.5–4 GB address space viewed from the perspective of these masters is the
register space.

Only the 0–3.5 GB DRAM space and the 3.5–4 GB peripheral space are accessible.


Issue 05 (2016-12-22)

When the 8-GB component is connected, in the unified addressing space of the entire
chip system viewed from the perspective of the A53, A73, IVP, GPU, VENC, VDEC,
DSS, and ISP:
−

The 0–3.5 GB and 4–8.5 GB address space is specified as the accessible 8-GB
DRAM space.

−

The 3.5–4 GB address space viewed from the perspective of these masters is the
register space.

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-17

Hi3660
Data Sheet

2 Overall Description

The modem and peripheral subsystems (including the IOMCU, LPMCU, ASP, DMAC,
USB3OTG, SECENG, and MMC) can access only the 0–3.5 GB DRAM space and the
3.5–4 GB peripheral space.


When the 6-GB DDR or DDR with other capacity is connected, the address mapping
solution is similar to that when the 8-GB DDR is connected. The 3.5–4 GB space is used
as the peripheral space.

2.9.1 Address Space Allocation (From the ACPU Perspective)

To prevent unpredictable results, do not access the address space marked with "Reserved".
Table 2-3 lists all the register groups and memory address ranges visible to the Hi3660 ACPU.
Table 2-3 Register groups and memory address ranges (ACPU)
Start Address

End Address

Size (Byte)

Module

0xFFF38000

0xFFF38FFF

4K

PMU_SSI2

0xFFF36000

0xFFF36FFF

4K

PMU_SSI1

0xFFF35000

0xFFF35FFF

4K

PERI_CRG

0xFFF34000

0xFFF34FFF

4K

PMU_SSI0

0xFFF33000

0xFFF33FFF

4K

PMU_I2C

0xFFF32000

0xFFF32FFF

4K

UART6

0xFFF31000

0xFFF31FFF

4K

PMCTRL

0xFFF30000

0xFFF30FFF

4K

TSENSORC

0xFFF20000

0xFFF2FFFF

64K

Reserved

0xFFF1F000

0xFFF1FFFF

4K

Reserved

0xFFF1D000

0xFFF1DFFF

4K

GPIO28

0xFFF1C000

0xFFF1CFFF

4K

TIMER8

0xFFF1B000

0xFFF1BFFF

4K

TIMER7

0xFFF1A000

0xFFF1AFFF

4K

TIMER6

0xFFF19000

0xFFF19FFF

4K

TIMER5

0xFFF18000

0xFFF18FFF

4K

TIMER4

0xFFF17000

0xFFF17FFF

4K

TIMER3

0xFFF16000

0xFFF16FFF

4K

TIMER2

0xFFF15000

0xFFF15FFF

4K

TIMER1

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-18

Hi3660
Data Sheet

2 Overall Description

Start Address

End Address

Size (Byte)

Module

0xFFF14000

0xFFF14FFF

4K

TIMER0

0xFFF11000

0xFFF11FFF

4K

AO_IOC

0xFFF10000

0xFFF10FFF

4K

GPIO27

0xFFF0F000

0xFFF0FFFF

4K

GPIO26

0xFFF0E000

0xFFF0EFFF

4K

GPIO25

0xFFF0D000

0xFFF0DFFF

4K

GPIO24

0xFFF0C000

0xFFF0CFFF

4K

GPIO23

0xFFF0B000

0xFFF0BFFF

4K

GPIO22

0xFFF0A000

0xFFF0AFFF

4K

SCTRL

0xFFF08000

0xFFF09FFF

8K

SYS_CNT

0xFFF05000

0xFFF05FFF

4K

RTC1

0xFFF04000

0xFFF04FFF

4K

RTC0

0xFFD00000

0xFFD7FFFF

512K

IOMCU

0xFF400000

0xFFCFFFFF

9M

Reserved

0xFF3FF000

0xFF3FFFFF

4K

SDIO0

0xFF3FE000

0xFF3FEFFF

4K

PCIE_APB_CFG

0xFF3FD000

0xFF3FDFFF

4K

IOC_MMC1

0xFF3FC000

0xFF3FCFFF

4K

Reserved

0xFF3FB000

0xFF3FBFFF

4K

EMMC

0xFF3E2000

0xFF3FAFFF

100K

Reserved

0xFF3E1000

0xFF3E1FFF

4K

GPIO1_MMC1

0xFF3E0000

0xFF3E0FFF

4K

GPIO0_MMC1

0xFF3B8000

0xFF3DFFFF

160K

Reserved

0xFF3B7000

0xFF3B7FFF

4K

Reserved

0xFF3B6000

0xFF3B6FFF

4K

IOC_FIX

0xFF3B5000

0xFF3B5FFF

4K

GPIO19

0xFF3B4000

0xFF3B4FFF

4K

GPIO18

0xFF3B3000

0xFF3B3FFF

4K

SPI3

0xFF3B2000

0xFF3B2FFF

4K

Reserved

0xFF3B1000

0xFF3B1FFF

4K

UFS_SYS_CTRL

0xFF3B0000

0xFF3B0FFF

4K

UFS_CFG

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-19

Hi3660
Data Sheet

2 Overall Description

Start Address

End Address

Size (Byte)

Module

0xFF3A0000

0xFF3AFFFF

64K

Reserved

0xFF390000

0xFF39FFFF

64K

Reserved

0xFF380000

0xFF38FFFF

64K

Reserved

0xFF37F000

0xFF37FFFF

4K

SD3

0xFF37E000

0xFF37EFFF

4K

IOC_MMC0

0xFF37D000

0xFF37DFFF

4K

Reserved

0xFF300000

0xFF37CFFF

500K

Reserved

0xFF201000

0xFF2FFFFF

1020K

Reserved

0xFF200000

0xFF200FFF

4K

USB3OTG_BC

0xFF100000

0xFF1FFFFF

1M

USB3OTG

0xFF050000

0xFF0FFFFF

704K

Reserved

0xFF013000

0xFF02FFFF

116K

Reserved

0xFF012000

0xFF012FFF

4K

Reserved

0xFF011000

0xFF011FFF

4K

IPC_MDM_NS

0xFF010000

0xFF010FFF

4K

IPC_MDM_S

0xFF00F000

0xFF00FFFF

4K

Reserved

0xFF000000

0xFF00EFFF

60K

Reserved

0xFDF31000

0xFDFFFFFF

828K

Reserved

0xFDF30000

0xFDF30FFF

4K

PERI_DMAC

0xFDF20000

0xFDF2FFFF

64K

Reserved

0xFDF16000

0xFDF1FFFF

40K

Reserved

0xFDF15000

0xFDF15FFF

4K

Reserved

0xFDF14000

0xFDF14FFF

4K

Reserved

0xFDF13000

0xFDF13FFF

4K

Reserved

0xFDF12000

0xFDF12FFF

4K

Reserved

0xFDF11000

0xFDF11FFF

4K

Reserved

0xFDF10000

0xFDF10FFF

4K

PERF_STAT

0xFDF0D000

0xFDF0DFFF

4K

I2C4

0xFDF0C000

0xFDF0CFFF

4K

I2C3

0xFDF0B000

0xFDF0BFFF

4K

I2C7

0xFDF09000

0xFDF0AFFF

8K

Reserved

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-20

Hi3660
Data Sheet

2 Overall Description

Start Address

End Address

Size (Byte)

Module

0xFDF08000

0xFDF08FFF

4K

SPI1

0xFDF07000

0xFDF07FFF

4K

Reserved

0xFDF06000

0xFDF06FFF

4K

SPI4

0xFDF05000

0xFDF05FFF

4K

UART5

0xFDF04000

0xFDF04FFF

4K

Reserved

0xFDF03000

0xFDF03FFF

4K

UART2

0xFDF02000

0xFDF02FFF

4K

UART0

0xFDF01000

0xFDF01FFF

4K

UART4

0xFDF00000

0xFDF00FFF

4K

UART1

0xFC000000

0xFDEFFFFF

31M

Reserved

0xF4000000

0xFBFFFFFF

128M

PCIECtrl

0xF3F40000

0xF3FFFFFF

768K

Reserved

0xF3F00000

0xF3F3FFFF

256K

PCIEPHY

0xF1300000

0xF3EFFFFF

44M

Reserved

0xF12F0000

0xF12FFFFF

64K

Reserved

0xF1110000

0xF12EFFFF

1920K

Reserved

0xF0E00000

0xF0E1FFFF

128K

Reserved

0xF0C00000

0xF0DFFFFF

2M

Reserved

0xF0000000

0xF0BFFFFF

12M

IOMCU_TCM

0xED800000

0xEFFFFFFF

40M

Reserved

0xEC000000

0xED7FFFFF

24M

CSSYS_APB

0xE9890000

0xE989FFFF

64K

MMC0_NOC_Service_Target

0xE9880000

0xE988FFFF

64K

MMC1_NOC_Service_Target

0xE9870000

0xE987FFFF

64K

AOBUS_Service_Target

0xE9860000

0xE986FFFF

64K

DMA_NOC_Service_Target

0xE9810000

0xE981FFFF

64K

UFSBUS_Service_Target

0xE9800000

0xE980FFFF

64K

CFGBUS_Service_Target

0xE8E00000

0xE97FFFFF

10M

Reserved

0xE8DD0000

0xE8DFFFFF

192K

Reserved

0xE8A20000

0xE8A20FFF

4K

GPIO21

0xE8A1F000

0xE8A1FFFF

4K

GPIO20

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-21

Hi3660
Data Sheet

2 Overall Description

Start Address

End Address

Size (Byte)

Module

0xE8A1E000

0xE8A1EFFF

4K

Reserved

0xE8A1D000

0xE8A1DFFF

4K

Reserved

0xE8A1C000

0xE8A1CFFF

4K

GPIO17

0xE8A1B000

0xE8A1BFFF

4K

GPIO16

0xE8A1A000

0xE8A1AFFF

4K

GPIO15

0xE8A19000

0xE8A19FFF

4K

GPIO14

0xE8A18000

0xE8A18FFF

4K

GPIO13

0xE8A17000

0xE8A17FFF

4K

GPIO12

0xE8A16000

0xE8A16FFF

4K

GPIO11

0xE8A15000

0xE8A15FFF

4K

GPIO10

0xE8A14000

0xE8A14FFF

4K

GPIO9

0xE8A13000

0xE8A13FFF

4K

GPIO8

0xE8A12000

0xE8A12FFF

4K

GPIO7

0xE8A11000

0xE8A11FFF

4K

GPIO6

0xE8A10000

0xE8A10FFF

4K

GPIO5

0xE8A0F000

0xE8A0FFFF

4K

GPIO4

0xE8A0E000

0xE8A0EFFF

4K

GPIO3

0xE8A0D000

0xE8A0DFFF

4K

GPIO2

0xE8A0C000

0xE8A0CFFF

4K

GPIO1

0xE8A0B000

0xE8A0BFFF

4K

GPIO0

0xE8A0A000

0xE8A0AFFF

4K

GPIO0_SE

0xE8A09000

0xE8A09FFF

4K

PCTRL

0xE8A07000

0xE8A07FFF

4K

WD1

0xE8A06000

0xE8A06FFF

4K

WD0

0xE8A04000

0xE8A04FFF

4K

PWM

0xE8A03000

0xE8A03FFF

4K

TIMER12

0xE8A02000

0xE8A02FFF

4K

TIMER11

0xE8A01000

0xE8A01FFF

4K

TIMER10

0xE8A00000

0xE8A00FFF

4K

TIMER9

0xE8971000

0xE89FFFFF

572K

Reserved

0xE896E000

0xE8970FFF

12K

Reserved

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-22

Hi3660
Data Sheet

2 Overall Description

Start Address

End Address

Size (Byte)

Module

0xE896D000

0xE896DFFF

4K

Reserved

0xE896C000

0xE896CFFF

4K

IOC

0xE896B000

0xE896BFFF

4K

IPC_NS

0xE896A000

0xE896AFFF

4K

IPC

0xE8969800

0xE8969FFF

2K

Reserved

0xE8961800

0xE89697FF

32K

Reserved

0xE8961400

0xE89617FF

1K

Reserved

0xE8961000

0xE89613FF

1K

Reserved

0xE8960000

0xE8960FFF

4K

Reserved

0xE8950000

0xE895FFFF

64K

Reserved

0xE8300000

0xE83FFFFF

1M

Reserved

0xE82C4000

0xE82FFFFF

240K

Reserved

0xE82C0000

0xE82C3FFF

16K

G3D

0xE82BA000

0xE82BFFFF

24K

Reserved

0xE82B9000

0xE82B9FFF

4K

CODEC_SSI

0xE82B8000

0xE82B8FFF

4K

HKADC_SSI

0xE82B0000

0xE82B7FFF

32K

GIC400

0xE82A0000

0xE82AFFFF

64K

Reserved

0xE8200000

0xE829FFFF

640K

Reserved

0xE8100000

0xE81FFFFF

1M

CCI_CFG

0x00000000

0xDFFFFFFF

3584M

DRAM

Table 2-3 lists the device address allocation in the 4 GB space. The DRAM space is 0–3.5 GB. When the
8-/6-/4-GB DDR is connected, the DRAM occupies the addresses that are beyond the 4 GB space.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

2-23

Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
Figures ............................................................................................................................................... ii
Tables ............................................................................................................................................... iii
3 Mobile Processing Module ......................................................................................................3-1
3.1 CPU ............................................................................................................................................................... 3-1
3.1.1 Overview .............................................................................................................................................. 3-1
3.1.2 Operating Mode ................................................................................................................................... 3-2
3.1.3 Coherency Bus ..................................................................................................................................... 3-3

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

Figures

Figures
Figure 3-1 Relationship between the running modes ......................................................................................... 3-3

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

ii

Hi3660
Data Sheet

Tables

Tables
Table 3-1 Exception levels of ARMv8-A ........................................................................................................... 3-2

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

iii

Hi3660
Data Sheet

3 Mobile Processing Module

3

Mobile Processing Module

3.1 CPU
3.1.1 Overview
The main processor is a big.LITTLE heterogeneous CPU subsystem that consists of the
Cortex-A73 MP and Cortex-A53 MP processors. The Cortex-A73 MP and Cortex-A53 MP
processors are based on the ARMv8-A architecture.
The Cortex-A73 MP processor has the following features:


Processing performance of 3.66 Dhrystone Millions Of Instructions Per Second
(DMIPS)/MHz



Superscaler, variable-length, and out-or-order pipeline



Dynamic branch prediction with the branch target buffer (BTB), global history buffer
(GHB), return address stack, and indirect predictor



Fully-associative L1 instruction translation lookaside buffer (TLB) with 32 entries,
supporting the page entry size of 4 KB, 16 KB, 64 KB, or 1 MB



Fully-associative L1 data TLB with 48 entries, supporting the page entry size of 4 KB,
16 KB, 64 KB, or 1 MB



4-way set-associative L2 TLB with 1024 entries



Fixed size of 64 KB for the L1 instruction cache and 64 KB for the L1 data cache



2 MB L2 cache shared by the data and instruction



ACE bus interface



Embedded Trace Macrocell (ETM) trace debugging



CTI multi-core debugging



Performance statistics unit with the PMUv3 architecture



Vector floating point (VFP) and NEON units



ARMv8-based Cryptography extended instruction



External generic interrupt controller (GIC)



Internal 64-bit universal counter for each CPU



Independent power-off for the CPU core

The Cortex-A53 MP processor has the following features:


Issue 05 (2016-12-22)

Processing performance of 2.3 DMIPS/MHz

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

3-1

Hi3660
Data Sheet

3 Mobile Processing Module



In-order pipeline, supporting dual-instruction execution



Direct and indirect branch prediction



Two independent fully-associative L1 TLBs for instructions and data loads/stores,
respectively.10 entries for each TLB



2-way set-associative L2 TLB with 256 entries



32 KB L1 data cache and 32 KB L1 instruction cache



512 KB L2 cache shared by the data and instruction



ACE bus interface



ETM trace debugging



CTI multi-core debugging



Performance statistics unit with the PMUv3 architecture



VFP and NEON units



ARMv8-based Cryptography extended instruction



External GIC



Internal 64-bit universal counter for each CPU



Independent power-off for the CPU core

The Cortex-A73 MP and Cortex-A53 MP processors implement the following functions:


Cache data coherency by using the CCI-550



Interrupt virtualization by using the GIC-400



Timer virtualization by using the system counter



Event interaction by using the event interface

3.1.2 Operating Mode
3.1.2.1 Operating State
The Cortex-A73 MP and Cortex-A53 MP processors have the following four working states
determined by the ARMv8-A architecture:


Architecture state: AArch32 or AArch64



Instruction set state, determined by the supported instruction set. The instruction set
states include A32, T32, and A64.



Exception level state. There are four exception level states, as described in Table 3-1.



Security state: non-secure state or secure state

3.1.2.2 Exception Level
Table 3-1 Exception levels of ARMv8-A
Exception Level of the
Processor

Description

EL0

Execution mode of the user program, nonprivileged, one mode for the Secure World and one
mode for the Non-Secure World

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

3-2

Hi3660
Data Sheet

3 Mobile Processing Module

Exception Level of the
Processor

Description

EL1

Running mode of the operating system, privileged,
one mode for the Secure World and one mode for
the Non-Secure World

EL2

Mode used for virtualization extension, used only in
the Non-Secure World

EL3

Mode used to switch between the Secure World and
Non-Secure World

Figure 3-1 Relationship between the running modes

3.1.3 Coherency Bus
The data coherency between the big and LITTLE cores in the big.LITTLE architecture is
implemented by using the ARM coherency bus CCI-550. The CCI-550 has the following
features:


Supports the AMBA FULL-ACE and AMBA ACE-Lite protocols and implements data
coherency between the big and LITTLE cores as well as other coherency masters.



Supports the crossbar bus interconnection structure, allowing the upstream master to
access the memory and configuration space.



Implements the snoop filter to improve the snoop performance between coherency
masters.



Supports Distributed Virtual Memory (DVM) message broadcasting between the big and
LITTLE cores.



Supports the bandwidth-based quality of service (QoS) traffic management mechanism.



Configures the granularity and mode of static interleaving.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

3-3

Hi3660
Data Sheet

3 Mobile Processing Module



Uses the PMU counter to collect performance statistics of the master, slave, and global
events.



Implements the CCI automatic gating mechanism using the Q-channel handshake.



Implements the dynamic retention function of the RAM in the CCI using the P-channel
handshake.



Controls the coherency and bus functions using the advanced peripheral bus (APB) slave
configuration interface.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

3-4

Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
Figures ............................................................................................................................................... ii
Tables ............................................................................................................................................... iii
4 System Control ...........................................................................................................................4-1
4.1 SC .................................................................................................................................................................. 4-1
4.1.1 CRG ..................................................................................................................................................... 4-1
4.1.2 SCTRL ................................................................................................................................................. 4-2
4.1.3 PCTRL ................................................................................................................................................. 4-3
4.2 RTC ............................................................................................................................................................... 4-3
4.2.1 Function Description ............................................................................................................................ 4-3
4.2.2 Register Description ............................................................................................................................. 4-4
4.3 Watchdog ....................................................................................................................................................... 4-4
4.3.1 Function Description ............................................................................................................................ 4-4
4.3.2 Register Description ............................................................................................................................. 4-5
4.4 GIC ................................................................................................................................................................ 4-5
4.4.1 Function Description ............................................................................................................................ 4-5
4.4.2 Register Description ............................................................................................................................. 4-6
4.5 DMAC ........................................................................................................................................................... 4-7
4.5.1 Overview .............................................................................................................................................. 4-7
4.5.2 Application Background ...................................................................................................................... 4-7
4.5.3 Function Description ............................................................................................................................ 4-8
4.5.4 Application Description ....................................................................................................................... 4-8
4.5.5 Register Description ........................................................................................................................... 4-10

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

Figures

Figures
Figure 4-1 GIC architecture................................................................................................................................ 4-5

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

ii

Hi3660
Data Sheet

Tables

Tables
Table 4-1 DMAC registers. .............................................................................................................................. 4-10

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

iii

Hi3660
Data Sheet

4 System Control

4

System Control

4.1 SC
4.1.1 CRG
The clock and reset generator (CRG) is provides clocks and reset for each IP. This section
describes only the AO CRG and PERIPH CRG functions. The functions of other CRGs are
described in the clock reset section of the corresponding modules.

4.1.1.1 AOCRG
The AO CRG has the following functions:


Provides clock reset for each IP in the system area.



Implements software control and state query for the clock reset and configures the clock
divider for each IP in the system area.



Supports automatic frequency scaling of the always-on network on chip (AONOC).

4.1.1.2 PERICRG
The PERIPH CRG has the following functions:


Accesses registers over the advanced peripheral bus (APB) interface.



Isolates the securely-accessed register area from the non-securely-accessed register area.



Provides clock reset for each IP and the NOC bus in the peripheral area.



Supports software control and state query for the clock reset of each IP and the NOC bus
in the peripheral area.



Configures the clock divider for each IP and the NOC bus in the peripheral area.



Provides the software configuration interfaces and state query interfaces for the A73_B,
A53_L, LPM3, CCI500, ADB, and CoreSight modules.



Supports the anti-suspension function of the APB and advanced high-performance bus
(AHB) interfaces.



Supports enable control for timer clocks and watchdog clocks in the peripheral area.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-1

Hi3660
Data Sheet

4 System Control
−

Enables the counting frequency to be independent of the system clock frequency. If
the system clock changes, the counter maintains the original counting frequency.

−

Samples the input counting clocks to generate clock enable signals, and outputs the
signals to the timers 4–7 in the peripheral area.

−

Selects the counting clock source for the timers in the peripheral area (32 kHz or 4.8
MHz).

−

Forcibly pulls the timers in the peripheral area up through software configuration. In
this case, the operating clock of the timer is the bus clock.

−

Forcibly pulls the watchdog in the peripheral area up through software configuration.
In this case, the operating clock of the watchdog is the bus clock.
If the watchdog in the peripheral area is not forcibly pulled up, the counting clock for
the watchdog in the peripheral area is 32 kHz.







Controls the power-on/power-off state machine of the A73_B and A53_L cores.
−

Allows the software to enable or disable the state machine used to power on and
power off A73_B and A53_L cores by configuring registers.

−

Allows the software to configure whether to report the A73_B/A53_L poweron/power-off completion interrupt and query the interrupt state when the state
machine is enabled.

−

Responds to the generic interrupt controller (GIC) interrupt and powers on the
corresponding cores of A73_B and A53_L cores when the state machine is enabled.
Whether to respond to the GIC interrupt can be separately configured for each core of
A73_B and A53_L.

−

Allows the software to independently power on each core of A73_B and A53_L by
writing to corresponding registers when the power-on/power-off state machine is
enabled.

−

Allows the software to independently power off each core of A73_B and A53_L by
writing to corresponding registers when the power-on/power-off state machine is
enabled.

−

Queries the state of the power-on/power-off state machine for each core of A73_B
and A53_L in real time when the state machine is enabled.

−

Independently configures the reset time, reset deassertion time, MTCMOS power-on
wait time, ISO wait time, ISO deassertion wait time, DBG configuration wait time
during the power-on/power-off process of each core of A73_B and A53_L.

Controls the A73_B ocldo state machine.
−

Allows the state machine to respond to the independent ocldo request signal of
starting the state machine for the four big cores.

−

Allows the state machine to control the mtcmos control signal of the four big cores.

−

Allows the state machine to control the ISO clamping signal of the four big cores.
This function can be statically bypassed.

−

Allows the state machine to control the ocldo enable signal of the four big cores.

−

Allows the software to query the state of the state machine.

Supports automatic gating and frequency scaling for the double data rate (DDR) clocks.

4.1.2 SCTRL
The system controller (SC) provides system control interfaces and consists of the following
modules:

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-2

Hi3660
Data Sheet

4 System Control



APB interface module



System main control module



Interrupt response mode request module



Power-on/Power-off control module



Universal counter module



Crystal oscillator control module



Low-power random access memory (LPRAM) low-power control module



eFUSE control module

The SC has the following features:


Bus interface
The bus interface complies with the advanced microcontroller bus architecture 2.0
(AMBA 2.0) APB Slave Interface Specifications, and supports 32-bit data width and 12bit address width.



Reset
−

The SC supports preset_n reset.

−

Global soft reset is supported, and the global soft reset request is sent to the CRG.

4.1.3 PCTRL
The peripheral controller (PCTRL) provides configuration interfaces for some external IPs.
The PCTRL takes effect only after the system enters the normal mode. Therefore, ensure that
the system is in normal mode before using any PCTRL function.
The PCTRL has the following functions:


Supports 3D LCD raster control.



Provides configuration interfaces for some peripheral IPs.



Supports resource locks.

4.2 RTC
4.2.1 Function Description
The real-time clock (RTC) is used to display the time in real time and periodically generate
alarms. The Hi3660 provides three RTCs: RTC0 to RTC2.
The RTC works based on a 32-bit up counter. The initial count value is loaded from the
RTCLR register. The count value is incremented by 1 on the rising edge of each counting
clock. When the count value of RTCDR is the same as the value of RTCMR, the RTC
generates an interrupt. Then the counter continues counting in incremental mode on the next
rising edge of the counting clock.
The RTC uses a 1 Hz counting clock to convert the count value into a value in the format of
year, month, day, hour, minute, and second.
The RTC has the following features:


Allows you to configure the initial count value.



Allows you to configure the match value.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-3

Hi3660
Data Sheet

4 System Control



Generates the timeout interrupt.



Supports soft reset.

4.2.2 Register Description
See the SP804 manual of the ARM timer IP
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0270b/index.html).

4.3 Watchdog
4.3.1 Function Description
The watchdog is used to send a reset signal to reset the entire system within a period after
exceptions occurs in the system. The Hi3660 provides two watchdogs: WD0 and WD1.
The watchdog has the following features:


Supports a 32-bit down counter. The counting clock is configurable.



Supports configurable timeout interval (initial count value).



Locks registers to prevent them from being modified incorrectly.



Generates timeout interrupts.



Generates reset signals.



Supports the debugging mode.

The watchdog works based on a 32-bit down counter. The initial count value is loaded from
the WdogLoad register. When the watchdog clock is enabled, the count value is decremented
by 1 on the rising edge of each counting clock. When the count value is decremented to 0, the
watchdog generates an interrupt. On the next rising edge of the counting clock, the counter
reloads the initial count value from WdogLoad, and then continues counting decreasingly.
If the count value is decremented to 0 for the second time and the CPU does not clear the
watchdog interrupt, the watchdog sends a reset signal and the counter stops counting.
You can determine whether to allow the watchdog to generate interrupts and reset signals by
configuring WdogControl.


When interrupt generation is disabled, the counter stops counting.



When interrupt generation is enabled again, the watchdog counter counts from the
configured value of WdogLoad instead of the last count value. The initial count value
can be reloaded before an interrupt is generated.

The counting clock of the watchdog can be a sleep clock or a bus clock, which provides
different count time ranges.
You can disable the operation of writing to the watchdog registers by configuring WdogLock.


Writing 0x1ACC_E551 to WdogLock enables the write permission for all watchdog
registers.



Writing any other value to WdogLock disables the write permission for all watchdog
registers (except WdogLock).

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-4

Hi3660
Data Sheet

4 System Control

The write permission control feature prevents watchdog registers from being incorrectly
modified by the software. In this way, the watchdog operation will not be incorrectly
terminated by the software when exceptions occur.
In ARM debugging mode, the watchdog is automatically disabled to avoid intervention to
normal debugging operations.

The watchdog must be disabled before the system enters the sleep mode.

4.3.2 Register Description
See the SP805x manual of the ARM watchdog IP
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0270b/index.html).

4.4 GIC
4.4.1 Function Description
The GIC is used to detect, manage, and allocate external interrupts, internal interrupts, and
software-generated interrupts (SGIs). The GIC supports security extension and virtualization
extension.
Figure 4-1 GIC architecture

GIC
Interrupts

CPUinterface
interface
CPU

Physical interrupts

Processor

Distributor
Virtual distributor
Virtualinterface
interfacecontorl
control
Virtual
registers
registers
AXI
interface

VirtualCPU
CPUinterface
interface
Virtual
registers
registers

Generating virtual
interrupts

Hypervisor

VFIQ/VIRQ

The GIC has the following features:


Supports three types of interrupts: SGIs, private peripheral interrupts (PPIs), and shared
peripheral interrupts (SPIs).



Supports two interrupt trigger modes: level-sensitive mode and edge-triggered mode.
The trigger mode of each interrupt source can be separately configured.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-5

Hi3660
Data Sheet

4 System Control



Provides an interface for each CPU core to process the physical fast interrupt request
(FIQ) and interrupt request (IRQ).



Supports virtualization extension and virtualizes only the physical IRQs; generates the
virtual FIQ (VFIQ) and virtual IRQ (VIRQ) through configuration and adds an interface
for each CPU core to process the VFIQ and VIRQ.



Supports interrupt routing. The physical interrupts are routed to the corresponding CPU
core by querying the target processor register. The Hypervisor configures the target
processor register based on the virtual machine ID (VMID) information. The virtual
interrupts are routed to the corresponding CPU core based on the configured route target.



Separately enables interrupts.



Queries the interrupt states.



Masks interrupts and configures the Mask Priority. An interrupt is reported only when its
priority is greater than Mask Priority.



Supports interrupt nesting.





−

For physical interrupts, the depth of interrupt nesting is determined by the Group
Priority. Interrupt nesting is triggered only when the Group Priority is a large value.
The number of Group Priority levels is configurable.

−

For virtual interrupts, the depth of interrupt nesting is 32.

Provides the following for each CPU core:
−

Six PPIs of internal components. The PPIs of one core are independent of those of the
other cores.

−

One internal virtual maintenance PPI

−

One BypassFIQ input and one BypassIRQ input

Supports TrustZone extension. The input interrupts can be classified into the Secure
group or the Non-Secure group. A smaller interrupt priority value indicates a higher
interrupt priority.
For the physical interrupts, the priority of all the Secure interrupts is higher than that of
Non-Secure interrupts.
−

In Secure mode, the interrupt priority field is at least 5 bits, and can be extended to at
most 8 bits.

−

In Non-Secure mode, the interrupt priority field is at least 4 bits, and can be extended
to at most 7 bits.

For the virtual interrupts, the number of priority levels is fixed at 32.


Locks SPIs and support 32 lockable shared peripheral interrupts (LSPIs). The LSPIs
must be Secure interrupts, and their configuration registers cannot be modified after
these interrupts are locked.



Supports interrupt wakeup events and reserves the nFIQOUT signal. Directly output over
the port, the nIRQOUT signal can report interrupts as wakeup events when the GIC is
disabled.

4.4.2 Register Description
See the ARM GIC-400 manual
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0270b/index.html).

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-6

Hi3660
Data Sheet

4 System Control

4.5 DMAC
4.5.1 Overview
The advanced eXtensible interface (AXI) direct memory access controller (DMAC) is a lowcost and high-performance IP targeted for the system-on-chip (SoC) chip. It is based on the
AMBA AXI protocol. Direct memory access (DMA) is an operating mode in which data
transfer is completely implemented by the hardware. In DMA mode, the DMAC transfers data
using a master bus controller that is independent of the processor. Data is transferred between
memories, or between a memory and a peripheral. The DMA mode applies to data block
transfer at a high speed. After receiving a DMA request, the DMAC enables the master bus
controller based on the CPU settings and transmits address and read/write control signals to
memories or peripherals. The DMAC also counts the number of data transfers and reports
data transfer completion to the CPU in interrupt mode.
The DMAC of the Hi3660 has the following features:


A total of 16 logical channels



Programmable logical channel priority



An AXI master interface



An APB 2.0 configuration interface



A total of 32 sets of peripheral requests (Each set of peripheral request includes single
requests and burst requests.)



Data transfer from a memory to another memory, from a memory to a peripheral, and
from a peripheral to a memory



DMAC flow control when data is transferred between memories and peripherals



Linked-list data transfer



Link transfer of the logical channels



One-dimensional, two-dimensional, and three-dimensional data transfer modes



Four sets of interrupts



Consistency operations and non-consistency operations



Secure transfer, non-secure transfer, and interrupt reporting

4.5.2 Application Background
The DMA is an operating mode in which I/O switching is fully implemented by the hardware.
In DMA mode, the DMAC directly transfers data between a memory and a peripheral, or
between memories. This avoids the processor intervention and reduces the interrupt
processing overhead of the processor.
The DMA mode applies to data block transfer at a high speed. After receiving a DMA transfer
request, the DMAC enables the master bus controller based on the CPU settings and transmits
address and read/write control signals to memories or peripherals. The DMAC also counts the
number of data transfers and reports data transfer completion or errors to the CPU in interrupt
mode.
The DMAC improves the system performance from the following aspects:


The DMAC implements data transfer, reducing the CPU load.



Channels are allocated to the I/O peripherals based on DMAC programming. As a result,
large-amount data is transferred and the interrupt reporting frequency is reduced.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-7

Hi3660
Data Sheet

4 System Control

4.5.3 Function Description
The DMAC consists of the following components:


A DMAC hardware request interface



A total of 16 channels



An arbiter



An AXI master interface



An APB slave interface

For a DMA data transfer, a logical channel of the DMAC must be triggered first. Then the
master interface reads data from the source address and writes it to the destination address.
DMAC hardware request I/F is used by peripherals to request the DMAC to transfer data.
The following describes a data transfer triggered by the software:
The processor configures a logical channel through the APB slave interface, and specifies the
source address, destination address, and transfer mode. Then the DMAC is triggered to
perform the transfer operation. After the arbiter arbitrates channels, the DMAC reads data
from the source address from the AXI master interface and writes data to the destination
address based on the configured information. In this way, an interrupt is generated.

4.5.4 Application Description
4.5.4.1 Initialization Configuration
To configure the DMAC during system initialization, perform the following steps:
Step 1 Configure the channel parameter registers based on the required transfer, including
CX_AXI_SPECIAL, CX_SRC_ADDR, CX_DES_ADDR, CX_LLI, CX_CNT0, CX_CNT1,
CX_BINDX, and CX_CINDX.
For a one-dimensional non-linked-list transfer, if the AXI cache operation is not required,
configure only CX_SRC_ADDR, CX_DES_ADDR, and CX_CNT0. This reduces the time of
configuring registers.
For a one-dimensional non-linked-list transfer, configure only CX_SRC_ADDR,
CX_DES_ADDR, CX_CNT0, and CX_CONFIG. This reduces the time of configuring
registers. Ensure that other registers are set to default values.
Step 2 Specify the transfer mode, peripheral ID, and bus operation parameters by configuring
CX_CONFIG.
Step 3 Set CX_CONFIG bit[0] to 1 to enable a channel to start the DMAC transfer.
----End
The sequence of step 1 and step 2 is exchangeable. Ensure that CX_CONFIG bit[0] is set to 1
to start the transfer.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-8

Hi3660
Data Sheet

4 System Control

4.5.4.2 Typical Configuration Processes
Memory Transfer
The following describes the one-dimensional INCR memory transfer(32-bit burst size and 8bit burst length):
Step 1 Enable the clocks and deassert reset.
Step 2 Configure the interrupt mask register to enable all the interrupts.
Step 3 Determines the logical channel used for the transfer. The registers of the selected channel are
configured in the following steps.
Step 4 Configure the channel parameter registers based on the required transfer, including
CX_AXI_SPECIAL, CX_SRC_ADDR, CX_DES_ADDR, CX_LLI, and CX_CNT0.
For a one-dimensional non-linked-list transfer, if the AXI cache operation is not required,
configure only CX_SRC_ADDR, CX_DES_ADDR, and CX_CNT0. This reduces the time of
configuring registers. That is, configure the source address, destination address, and amount
of the data to be transferred.
If there are requirements on the security attribute, configure CX_AXI_SPECIAL. Otherwise,
the secure channel is used by default.
For a one-dimensional non-linked-list transfer, configure only CX_SRC_ADDR,
CX_DES_ADDR, CX_CNT0, and CX_CONFIG. This reduces the time of configuring
registers. Ensure that other registers are set to default values.
Step 5 Configure CX_CONFIG to specify the transfer mode and bus operation parameters. The
peripheral ID is not required for memory transfer. The flow control mode must be set to "00:
transfer between memories, DMAC flow control".
1.

Set CX_CONFIG bit[31] and bit[30] to 1 to configure the operations of transferring the
source address and destination address in DMA mode as INCR operations.

2.

Set CX_CONFIG bit[27:24] and bit[23:20] to 0111 to configure the burst length for
transferring the source address and destination address in DMA mode as 8.

3.

Set CX_CONFIG bit[18:16] and bit[14:12] to 010 to configure the data width for
transferring the source address and destination address in DMA mode as 32 bits.

4.

Set CX_CONFIG bit[3:2] to 00 to configure the flow control mode of the DMA transfer
as DMA flow control for memory transfer.

Step 6 Set CX_CONFIG bit[0] to 1 to enable a channel to start the DMAC transfer.
----End

Peripheral Transfer
The following describes the one-dimensional transfer from the memory to the peripheral
(DMA flow control, 32-bit burst size, and 8-bit burst length):
Step 1 Repeat Step 1 and Step 2 in "Memory Transfer."
Step 2 Determines the logical channel used for the transfer. The registers of the selected channel are
configured in the following steps.
Step 3 Configure the channel parameter registers based on the required transfer, including
CX_AXI_SPECIAL, CX_SRC_ADDR, CX_DES_ADDR, CX_LLI, and CX_CNT0.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-9

Hi3660
Data Sheet

4 System Control

For a one-dimensional non-linked-list transfer, if the AXI cache operation is not required,
configure only CX_SRC_ADDR, CX_DES_ADDR, and CX_CNT0 for the consistency
operation. This reduces the time of configuring registers. That is, configure the source address,
destination address, and amount of the data to be transferred.
If there are requirements on the security attribute, configure CX_AXI_SPECIAL. Otherwise,
the secure channel is used by default.
For a one-dimensional non-linked-list transfer, configure only CX_SRC_ADDR,
CX_DES_ADDR, CX_CNT0, and CX_CONFIG. This reduces the time of configuring
registers. Ensure that other registers are set to default values.
Step 4 Configure CX_CONFIG to specify the transfer mode, peripheral ID, and bus operation
parameters.
Step 5 Set CX_CONFIG bit[31] to 1 and bit[30] to 0 to configure the operation of transferring the
source address in DMA mode as an INCR operation and the operation of transferring the
destination address in DMA mode as an FIX operation because a peripheral is connected.
Set CX_CONFIG bit[27:24] and bit[23:20] to 0111 to configure the burst length for
transferring the source address and destination address in DMA mode as 8.
Set CX_CONFIG bit[18:16] and bit[14:12] to 010 to configure the data width for transferring
the source address and destination address in DMA mode as 32 bits.
Set CX_CONFIG bit[9:4] to the ID of the selected peripheral. The peripheral ID is unique to
the corresponding peripheral and is allocated in advance.
Set CX_CONFIG bit[3:2] to 01 to configure the flow control mode of the DMA transfer as
DMA flow control for peripheral transfer.
Step 6 Set CX_CONFIG bit[0] to 1 to enable a channel to start the DMAC transfer.
----End

4.5.5 Register Description
The base address of AP DMAC registers is 0xFDF30000.
Table 4-1 DMAC registers.
Offset

Register

Register Description

0x0000 + 0x40 x in

INT_STAT

Interrupt status register of processor X

0x0004 + 0x40 x in

INT_TC1

Channel transfer completion interrupt status register of
processor X

0x0008 + 0x40 x in

INT_TC2

Linked list node transfer completion interrupt status register
of processor X

0x000C + 0x40 x in

INT_ERR1

Configuration error interrupt status register of processor X

0x0010 + 0x40 x in

INT_ERR2

Data transfer error interrupt status register of processor X

0x0014 + 0x40 x in

INT_ERR3

Linked list read error interrupt status register of processor X

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-10

Hi3660
Data Sheet

4 System Control

Offset

Register

Register Description

0x0018 + 0x40 x in

INT_TC1_MASK

Channel transfer completion interrupt mask register of
processor X

0x001C + 0x40 x in

INT_TC2_MASK

Linked list node transfer completion interrupt mask register
of processor X

0x0020 + 0x40 x in

INT_ERR1_MASK

Configuration error interrupt mask register of processor X

0x0024 + 0x40 x in

INT_ERR2_MASK

Data transfer error interrupt mask register of processor X

0x0028 + 0x40 x in

INT_ERR3_MASK

Linked list read error interrupt mask register of processor X

0x0600

INT_TC1_RAW

Raw channel transfer completion interrupt status register

0x0608

INT_TC2_RAW

Raw linked list node transfer completion interrupt status
register

0x0610

INT_ERR1_RAW

Raw configuration error interrupt status register

0x0618

INT_ERR2_RAW

Raw data transfer error interrupt status register

0x0620

INT_ERR3_RAW

Raw linked list read error interrupt status register

0x660

SREQ

Single transfer request register

0x664

LSREQ

Last single transfer request register

0x668

BREQ

Burst transfer request register

0x66C

LBREQ

Last burst transfer request register

0x670

FREQ

Bulk transfer request register

0x674

LFREQ

Last bulk transfer request register

0x688

CH_PRI

Priority control register

0x690

CH_STAT

Global DMA status register

0x0694

SEC_CTRL

DMA global security control register

0x0698

DMA_CTRL

DMA global control register

0x0700 + 0x10 x cn

CX_CURR_CNT1

Remaining size status register for the three-dimensional
transfer of channel X

0x0704 + 0x10 x cn

CX_CURR_CNT0

Remaining size status register for the one-dimensional and
two-dimensional transfer of channel X

0x0708 + 0x10 x cn

CX_CURR_SRC_ADDR

Source address register of channel X

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-11

Hi3660
Data Sheet

4 System Control

Offset

Register

Register Description

0x070C + 0x10 x cn

CX_CURR_DES_ADDR

Destination address register of channel X

0x0800 + 0x40 x cn

CX_LLI

Linked list address register of channel X

0x0804 + 0x40 x cn

CX_BINDX

Two-dimensional address offset configuration register of
channel X

0x0808 + 0x40 x cn

CX_CINDX

Three-dimensional address offset configuration register of
channel X

0x080C + 0x40 x cn

CX_CNT1

Transfer length 1 configuration register of channel X

0x0810 + 0x40 x cn

CX_CNT0

Transfer length configuration register of channel X

0x0814 + 0x40 x cn

CX_SRC_ADDR

Source address register of channel X

0x0818 + 0x40 x cn

CX_DES_ADDR

Destination address register of channel X

0x081C + 0x40 x cn

CX_CONFIG

Configuration register of channel X

0x0820 + 0x40 x cn

CX_AXI_CONF

AXI special operation configuration register of channel X

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

4-12

Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
6 Media Processing .......................................................................................................................6-1
6.1 Overview ....................................................................................................................................................... 6-1
6.2 VENC ............................................................................................................................................................ 6-1
6.3 VDEC ............................................................................................................................................................ 6-3
6.4 DSS ............................................................................................................................................................... 6-3
6.5 ASP................................................................................................................................................................ 6-3
6.5.1 DSP ...................................................................................................................................................... 6-4
6.5.2 SIO ....................................................................................................................................................... 6-4

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

6 Media Processing

6

Media Processing

6.1 Overview
The Hi3660 integrates a powerful multimedia processing subsystem. This subsystem is used
for applications such as picture capturing and processing, LCD control, video
encoding/decoding acceleration, 2D/3D graphics acceleration, and audio capturing/output
processing.

6.2 VENC
The Hi3660 integrates the H.264/H265/JPEG hardware video encoder (VENC), which
supports the H.264/H265/JPEG encoding standard, respectively.
The VENC has the following features:




One JPEG encoder
−

ITU-T T.81 Baseline (sequential) discrete cosine transform (DCT)-based coding

−

Input data formats: 420PL111YCbCr8, 420PL12YCbCr8, 420PL12YCrCb8,
422PL111YCbCr8, 422PL12YCbCr8, 422PL12YCrCb8, 422IL3YCbYCr8,
422IL3YCrYCb8, 422IL3CbYCrY8, and 422IL3CrYCbY8

−

Output data formats: JFIF 1.02 and non-progressive JPEG

−

Maximum 16K x 16K pixels, 16-pixel horizontal/vertical step

One H.264 encoder
−

Features supported by H.264 Baseline Profile
I slice and P slice
The 4 x 4 and 16 x 16 intra-frame division methods support the DC/V/H prediction
mode.
The 8 x 8 and 16 x 16 inter-frame division methods are supported.
The MB-level bit rate control is supported.
The inter-frame prediction is supported for the 1/2 and 1/4 pixels.
The cosine transform supports Hadamard transform.
De-blocking is supported.

−

New feature supported by H.265 Main Profile on the basis of H.264 Baseline Profile
The context-adaptive binary arithmetic coding (CABAC) is supported.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

6-1

Hi3660
Data Sheet

6 Media Processing
−

New features supported by H.265 High Profile on the basis of H.264 Baseline Profile
Apart from the 4 x 4 conversion, the 8 x 8 conversion is also supported.
The 8 x 8 intra-frame prediction is supported.

−

Input data formats
Planar YUV 4:2:0
Planar YUV 4:2:2
Semi-planar YUV 4:2:0
Semi-planar YVU 4:2:0
Package UYVY4:2:2, VYUY4:2:2
Package YUYV4:2:2, YVYU4:2:2
ARGB/BGRA8888
ABGR/RGBA8888



−

Output data formats: raw streams in the preceding formats

−

Maximum 4K x 2K pixels, 2-pixel horizontal/vertical step

−

Maximum frame rate of 720p@240 fps

−

Maximum bit rate of 80 Mbit/s

−

4K x 2K@30 fps performance for a single pipe

−

Frame storage format: linear

−

Minimum size of 176 x 144

−

Maximum 1/4x horizontal/vertical scaling

−

Region of interest (ROI) encoding

−

Multi-channel encoding: 4-channel H.264 encoding

One H.265 encoder
−

Features supported by H.265 Main Profile
I slice and P slice
The 4 x 4, 8x 8, 16 x 16, and 32 x 32 intra-frame division methods are supported. The
4 x 4, 8x 8, and 16 x 16 division methods support 35 prediction modes. The 32 x 32
division supports the DC/Planar prediction mode.
The 8x 8, 16 x 16, 32 x 32, and 64 x 64 inter-frame division methods are supported.
The CU-level bit rate control is supported.
The ±512 horizontal integer search and ±144 vertical integer search are supported.
The inter-frame prediction is supported for the 1/2 and 1/4 pixels.
DCT4/8/16/32 and DST4 are supported.
Merge and MergeSkip are supported.
TMV is supported.
De-blocking and sample adaptive offset (SAO) are supported.

−

Input data formats
Planar YUV 4:2:0
Planar YUV 4:2:2
Semi-planar YUV 4:2:0
Semi-planar YVU 4:2:0
Package UYVY4:2:2, VYUY4:2:2

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

6-2

Hi3660
Data Sheet

6 Media Processing
Package YUYV4:2:2, YVYU4:2:2
ARGB/BGRA8888
ABGR/RGBA8888
−

Output data formats: raw streams in the preceding formats

−

Maximum 4K x 2K pixels, 2-pixel horizontal/vertical step

−

Maximum frame rate of 720p@240 fps

−

Maximum bit rate of 60 Mbit/s

−

4K x 2K@30 fps performance for a single pipe

−

Frame storage format: linear

−

Minimum size of 176 x 144

−

Maximum 1/4x horizontal/vertical scaling

−

ROI encoding

−

Multi-channel encoding: 4-channel H.265 encoding

6.3 VDEC
The Hi3660 integrates a video decoder (VDEC), which supports the H.265, H.264, MPEG1,
MPEG2, MPEG4, VC1 (including WMV9), VP6, and VP8 protocols.
The VDEC consists of the video firmware (VFMW) running on the ARM processor and an
embedded hardware video decoding engine. The VFMW obtains streams from the upper-layer
software, parses the streams, and calls the video decoding engine to generate the image
decoding sequences. Under the control of the upper-layer software, the downstream module
outputs the sequences to a monitor or other devices.

6.4 DSS
The display subsystem (DSS) implements overlaying and 3D synthesis for multiple graphics
layers such as the Base, Video, and Graphic, and sends the overlaid or synthesized pixels to
the Display Serial Interface (DSI) or HDMI for displaying.

6.5 ASP
The audio signal processor (ASP) is a subsystem used to manage and process various audio
and voice data applications. The ASP supports the following application scenarios:


Audio playing



Audio recording



Digital FM playing



Bluetooth voice dialing (audio recording)



Uplink and downlink calling



Audio mixing



Voice wakeup

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

6-3

Hi3660
Data Sheet

6 Media Processing

6.5.1 DSP
The audio digital signal processor (DSP) uses the Tensilica Hi-Fi 3.0 processor, and
implements HD video sound decoding (such as DTS) and post-processing as well as common
audio decoding (such as MP3) of the dedicated player.

6.5.2 SIO
The Sonic Input/Output (SIO) interface connects to the off-chip audio codec to play and
record music (voice). The SIO transfers the digital data that complies with the I2S/PCM
protocol. The ASP integrates two SIOs: SIO0 and SIO2. SIO0 is SIO_AUDIO, which plays
and records music, and supports the inputs and outputs in the I2S and PCM formats. SIO2 is
SIO_BT, which is used for Bluetooth calling.


The SIO module supports the master and slave modes as well as playing transmit (TX)
and recording receive (RX).



The SIO module supports the I2S and PCM interface timings. The interface signal lines
in two modes are multiplexed.



The SIO module supports only the inputs of the clock and synchronization signals. In I2S
master mode, the SIO module needs to work with the CRG module and the CRC module
sends the clock and synchronization signals to the outside.

The SIO module has the following features in I2S mode:


The I2S interface supports the 16-bit, 18-bit, 20-bit, 24-bit, and32-bit transfer modes.



The 8–192 ksps sampling rate is supported.



The extended module supports 2-/4-/8-/16-channel RX and 8-/16-bit transfer mode.



The I2S RX and TX channels have independent FIFOs. The audio-left and audio-right
channels each has an independent FIFO. The FIFO depth is 16 and the width is 32 bits.



The I2S interface supports the function of disabling the FIFO. When a FIFO is disabled,
the RX and TX data is stored in a buffer rather than the FIFO.



The I2S interface allows the TX and RX channels to be separately enabled. If a channel is
disabled, the control unit and data storage unit of this channel are not reversed. In this
way, power consumption is saved.



For the I2S interface in 16-bit transfer mode, the RX/TX data of the audio-left and audioright channels can be combined into one 32-bit data segment and then stored/written into
the RX/TX FIFO. In this way, the buffering capacity of the FIFO is improved. The
extended module does not support this combination function.



The RX channel supports upper-bit sign extension.



The TX and RX audio channel selection signals can be the same, facilitating connection
with the 4-wire codec.

The SIO module has the following features in PCM mode:


The 8-bit and 16-bit transfer modes are supported.



The extended module supports 2-/4-/8-/16-channel RX and 8-/16-bit transfer mode.



Only the short frame synchronization mode is supported. Both the standard and
customized timing modes are supported.



The RX and TX channels have independent FIFOs. The FIFO depth is 16 and the width
is 32 bits.



The FIFO can be disabled. When a FIFO is disabled, the RX and TX data is stored in a
buffer rather than the FIFO.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

6-4

Hi3660
Data Sheet

6 Media Processing



The TX and RX channels can be separately enabled. If a channel is disabled, the control
unit and data storage unit of this channel are not reversed. In this way, power
consumption is saved.



The RX channel supports upper-bit sign extension.

The SIO module also provides the CPU/DSP access interface, which has the following
features:


The CPU/DSP can access the SIO using the advanced high-performance bus (AHB)
Slave (AMBA 2.0) interface provided by the SIO module.



The SIO AHB interface supports only 32-bit operations.



The SIO AHB interface supports only the OK response, and does not support the
ERROR, Retry, and Split responses.



The SIO AHB interface supports various burst operations.



The SIO supports direct memory access (DMA) operations in burst mode.



The SIO allows the audio-left and audio-right channels to use the same TX address for
the TX data and the same RX address for the RX data.

Issue 05 (2016-12-22)



The master and slave modes of the SIO module differ in the sources of the clock (BCLK) and
sampling rate (ADWS). In master mode, the AP side of Hi3660 generates the clock and sampling
rate. In slave mode, the AUDIO_CODEC side generates the clock and sampling rate. The master and
slave modes are not related to the TX and RX.



If the data width is 24 bits or 32 bits in PCM mode, only the upper-16-bit data is transferred because
the maximum bit width of the SIO is 16.

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

6-5

Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
Figures ............................................................................................................................................... ii
Tables ............................................................................................................................................... iii
7 Storage Control ...........................................................................................................................7-1
7.1 Overview ....................................................................................................................................................... 7-1
7.2 Storage Solution ............................................................................................................................................ 7-1
7.3 eMMC ........................................................................................................................................................... 7-2
7.3.1 Function Description ............................................................................................................................ 7-2
7.3.2 Register Description ............................................................................................................................. 7-3
7.4 SD/SDIO ....................................................................................................................................................... 7-3
7.4.1 Function Description ............................................................................................................................ 7-3
7.4.2 Register Description ............................................................................................................................. 7-5
7.5 UFS ............................................................................................................................................................... 7-5
7.5.1 Function Description ............................................................................................................................ 7-5
7.5.2 Register Description ............................................................................................................................. 7-6

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

Figures

Figures
Figure 7-1 Functional block diagram of the eMMC controller .......................................................................... 7-2

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

ii

Hi3660
Data Sheet

Tables

Tables
Table 7-1 Storage solution .................................................................................................................................. 7-2

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

iii

Hi3660
Data Sheet

7 Storage Control

7

Storage Control

7.1 Overview
The Hi3660 provides the following storage control modules:


Universal Flash Storage (UFS) controller
The UFS controller connects to UFS components.
The protocol version has the following features:



−

Compliance with the UFS 2.1, UniPro 1.6, and M-PHY 3.1 protocols

−

2-lane transmit (TX) and receive (RX) channels

−

PWM G1–4 and HS G1–3 Rate A/B mode

−

Booting from the UFS and using UFS to meet the major non-volatile storage need

Embedded multimedia card (eMMC) controller
The eMMC controller supports the eMMC 5.1 protocol and controls the 8-bit eMMC 5.1
component. The SoC and external eMMC components support system startup and meet
the major non-volatile storage need of the system.



SD card controller
The SD card controller supports the SD 3.0 protocol, and is backward compatible with
the SD 2.0 protocol. The controller connects to external SD cards that comply with the
Default-Speed, High-Speed, and UHS-I specifications. The SD card is used to extend the
non-volatile storage capacity of the system.



DDRC
The double data rate controller (DDRC) supports the 4-channel low-power double data
rate 4 (LPDDR4) synchronous dynamic random access memory (SDRAM). Each
channel supports at most two ranks. As the major dynamic memory of the system, the
LPDDR4 SDRAM provides at most 4-GB dynamic storage space and up to 21.3 GB/s
theoretical access bandwidth.

7.2 Storage Solution
The Hi3660 supports only two storage solutions, as described in Table 7-1.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

7-1

Hi3660
Data Sheet

7 Storage Control

Table 7-1 Storage solution
No.

Solution Description

1

4-channel LPDDR4 + UFS + SD card

2

4-channel LPDDR4 + eMMC + SD card



The symmetric 4-channel LPDDR4 SDRAM is supported. The data width of each
channel is 16 bits. Each channel supports at most 2 chip selects. The maximum operating
frequency of the LPDDR4 interface is 1866 MHz.



The UFS supports the 2-lane TX and RX channels, and the PWM G1–4 and HS G1–3
Rate A/B mode.



The eMMC supports the 8-bit width and the maximum operating frequency of 200 MHz.
The eMMC is backward compatible with various single data rate (SDR) and DDR
frequencies.



The SD card supports the 4-bit width and the maximum operating frequency of 200
MHz. The SD card is backward compatible with various frequencies in SDR mode.

7.3 eMMC
7.3.1 Function Description
The eMMC controller is used to receive and transmit commands targeted for the eMMCs and
process the data read and write operations on the eMMCs.
The eMMC controller supports the following features:


Compliance with the JEDEC eMMC 5.1 protocol



Enhanced strobe



Command queue (CQ)



Auto-tuning



Direct memory access (DMA) transfer in Single Operation DMA (SDMA) or Advanced
DMA (ADMA) mode



Cyclic redundancy check (CRC) on the commands and data

Figure 7-1 Functional block diagram of the eMMC controller
SD host control core

PHY TOP
SD tuning
RX FLOPS

AXI master

SD_RECV_CTRL

PIO/DMA
controller

SD CMD CTRL
Block
buffer
FIFO

SD CMDQ CTRL

SD
INTF
CTRL

SD TIME OUT
AHB target

Host controller
register set

DLL

I/O
pads

HS400
FLOPS

SD CARD_DET
SD CLK_GEN

Issue 05 (2016-12-22)

TX FLOPS

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

HS400
FIFO

7-2

Hi3660
Data Sheet

7 Storage Control

The eMMC controller consists of the following units:


Host interface
The host interface contains the advanced high-performance bus (AHB) target and
advanced eXtensible interface (AXI) master. The AHB target is used to configure
controller registers and directly read data from or write data to the FIFO. The AXI master
is used to read and write data in DMA mode.



Host controller register set
The Host controller register set is used to configure registers and read/write FIFO data in
Programming Input/Output Model (PIO) mode. The register set supports access to byte
operations.



PIO/DMA controller
The DMA controller implements the ADMA and SDMA functions. To reduce CPU
interference during the read/write process, the DMA controller also transfers data in
DMA mode when the eMMC is being read or written. The DMA controller can also
directly read data from or write data to the FIFO in PIO mode.



CQ controller
The CQ controller implements the CQ function and manages the transmission, query,
and execution of tasks.



Block buffer
The block buffer is a dual-port data read/write interface and implements data transfer and
relay for the bus clock domain and card clock domain.



Clock generator
The clock generator is used to divide the clock frequency.



SD tuning control
The SD tuning control implements the automatic tuning of the eMMC, transmits tuning
commands, checks data, and selects the phase.



PHY TOP
The PHY TOP contains the digital circuits of the interface, analog delay-locked loop
(DLL), and I/O. The analog DLL contains the TX_DLL, RX_DLL, and STROBE_DLL,
which implement the output clock tx_clk, sampling clock rx_clk, and strobe_90 clock,
respectively.

7.3.2 Register Description
For details about the eMMC IP manual, see https://arasan.com/products/emmc51.html.

7.4 SD/SDIO
7.4.1 Function Description
Functional Block Diagram
The SD/SDIO controller processes the read/write operations on the SD card, and supports
extended peripherals such as Wi-Fi devices based on the secure digital input/output (SDIO)
protocol. The Hi3660 provides two SD/SDIO controllers (SD and SDIO0), which are used to
control the SD card and the Wi-Fi device that uses the SDIO interface, respectively.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

7-3

Hi3660
Data Sheet

7 Storage Control

The SD/SDIO controller controls the devices that comply with the following protocols:


Secure Digital memory (SD mem-version 3.0, compatible with 2.0 and 1.1)



Secure Digital I/O (SDIO-version 3.0, compatible with 2.0)

Figure 7-2 Functional block diagram of the SD/SDIO controller
SD/SDIO
CIU

BIU

CPU

CMD
path
FIFO

Bus
Memory

AHB
master

Synchronizer

APB
slave

Internal
DMA

Mux/
De-mux
unit

Data
path

Clock
control

CMD

DATA[7:0]

SD/SDIO

CLK

The SD/SDIO controller connects to the system through the internal bus. It consists of the
following units:


Bus interface module: Provides the advanced microcontroller bus architecture (AMBA)
AHB master and advanced peripheral bus (APB) slave interfaces. The registers are
configured and the FIFO is read and written through the APB slave interface. The
internal DMA can control the read and write operations on the FIFO data through the
AHB master interface.



Card interface module: Processes protocol-related contents and clocks.
−

Command path: Transmits commands and receives responses.

−

Data path: Reads and writes data by working with the command path.

−

Codec unit: Encodes and decodes the input and output data based on protocols,
respectively.

−

Control unit of the interface clock: Determines whether to enable or disable the
interface clock, or divides the frequency of the cclk_in clock and uses the output
clock as the operating clock of the SD card as required.

The SD/SDIO controller has the following features:


Internal DMA data transfer



256-bit FIFO depth and 32-bit width, configurable FIFO threshold and burst size during
DMA transfer



FIFO overflow and underflow interrupts used to avoid errors during data transfer



CRC code generation and check for data and commands



Configurable interface clock frequency



Disabling of the SD/SDIO controller clock and interface clock in low-power mode



1-bit and 4-bit data transfer and SDIO interrupt detection



Read/Write operations on data blocks with the size ranging from 1 byte to 512 bytes



Suspend, resume, and read wait operations on the SDIO card

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

7-4

Hi3660
Data Sheet


7 Storage Control

DDR50 mode not supported

Typical Application
Figure 7-3 shows the typical application circuit of the SD/SDIO controller by taking the SD
card as an example.
The SD/SDIO controller exchanges commands and data with the connected SD card over a
clock signal line, a bidirectional command signal line, and four bidirectional data signal lines.
The command signal and data signal work in pull-up mode.
Figure 7-3 Typical application circuit of the SD/SDIO controller
RDAT

RCMD

CMD
DAT0–3
CLK

SD/
MMC
SDIO
C1 C2 C3

9 1 2 3 4 5 6 78

Besides the signal lines in Figure 7-3, the card slot also provides the mechanical write
protection signal and card detection signal. The system can detect the level on the two signal
lines using the GPIO and implement card detection during mechanical write protection and
hot plug.

7.4.2 Register Description
For details about the SD/SDIO IP manual, see
https://www.synopsys.com/dw/ipdir.php?ds=dwc_sd_emmc_host_controller.

7.5 UFS
7.5.1 Function Description
The UFS controller is used to receive and transmit commands targeted for the UFS mass
storage devices and process the data read and write operations on these devices. The UFS is a
simple and high-performance serial interface that supports mass storage media. It is used for
the mobile phone system.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

7-5

Hi3660
Data Sheet

7 Storage Control

The UFS controller supports the following features:






Compliance with the JEDEC UFS 2.0 protocol
−

Higher speed up to HS-G3 (High-Speed Gear 3)

−

Symmetric 2RX-2TX lanes, supporting two lanes

−

Auto-hibernate entry and exit sequences

Compliance with the JEDEC UFSHCI 2.1 protocol
−

Up to 32 task requests

−

Up to eight task management requests

−

Pre-fetching more than one PRD entry (up to 16 PRD entries)

−

Clock gating ready design

−

Inline encryption (IE)

Compliance with the MIPI UniPro 1.6 and MIPI UniPro 1.6 protocols
−

SKIP symbol insertion

−

Scrambling for EMI mitigation

−

HS-Gear3 adaption

−

Advanced granularity support

7.5.2 Register Description
For details about the UFS IP manual, see https://www.synopsys.com/dw/ipdir.php?ds=ufs.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

7-6

Hi3660
Data Sheet

Contents

Contents
Contents ..............................................................................................................................................i
Figures ............................................................................................................................................... ii
Tables ............................................................................................................................................... iii
8 Interface Control ........................................................................................................................8-1
8.1 USB3OTG ..................................................................................................................................................... 8-1
8.1.1 Function Description ............................................................................................................................ 8-1
8.1.2 Register Description ............................................................................................................................. 8-2
8.2 UART ............................................................................................................................................................ 8-2
8.2.1 Function Description ............................................................................................................................ 8-2
8.2.2 Signal Description ................................................................................................................................ 8-5
8.2.3 Timing .................................................................................................................................................. 8-6
8.2.4 Register Description ............................................................................................................................. 8-6
8.3 SPI ................................................................................................................................................................. 8-6
8.3.1 Function Description ............................................................................................................................ 8-6
8.3.2 Interrupt Handling ................................................................................................................................ 8-9
8.3.3 Signal Description .............................................................................................................................. 8-10
8.3.4 Timings and Parameters ..................................................................................................................... 8-12
8.3.5 Register Description ........................................................................................................................... 8-16
8.4 I2C ............................................................................................................................................................... 8-16
8.4.1 Function Description .......................................................................................................................... 8-16
8.4.2 Signal Description .............................................................................................................................. 8-19
8.4.3 Timings and Parameters ..................................................................................................................... 8-20
8.4.4 Register Description ........................................................................................................................... 8-22
8.5 GPIO ........................................................................................................................................................... 8-22
8.5.1 Function Description .......................................................................................................................... 8-22
8.5.2 Signal Description .............................................................................................................................. 8-24
8.5.3 Register Description ........................................................................................................................... 8-24

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

i

Hi3660
Data Sheet

Figures

Figures
Figure 8-1 Logical block diagram of the UART module .................................................................................... 8-3
Figure 8-2 UART frame format .......................................................................................................................... 8-4
Figure 8-3 Typical application scenario of the UART module ........................................................................... 8-4
Figure 8-4 UARTx signals.................................................................................................................................. 8-5
Figure 8-5 UART timing .................................................................................................................................... 8-6
Figure 8-6 UART timing in infrared mode ......................................................................................................... 8-6
Figure 8-7 Functional block diagram of the SPI module .................................................................................... 8-7
Figure 8-8 Application of the SPI connected to a single slave device ................................................................ 8-8
Figure 8-9 Application of the SPI connected to multiple slave devices ............................................................. 8-9
Figure 8-10 Format of a single SPI frame (SPO = 0, SPH = 0) ........................................................................ 8-12
Figure 8-11 Format of consecutive SPI frames (SPO = 0, SPH = 0) ................................................................ 8-12
Figure 8-12 Format of a single SPI frame (SPO = 0, SPH = 1) ........................................................................ 8-13
Figure 8-13 Format of consecutive SPI frames (SPO = 0, SPH = 1) ............................................................... 8-13
Figure 8-14 Format of a single SPI frame (SPO = 1, SPH = 0) ........................................................................ 8-14
Figure 8-15 Format of consecutive SPI frames (SPO = 1, SPH = 0) ............................................................... 8-14
Figure 8-16 Format of a single SPI frame (SPO = 1, SPH = 1) ........................................................................ 8-14
Figure 8-17 Format of consecutive SPI frames (SPO = 1, SPH = 1) ............................................................... 8-15
Figure 8-18 SPI timing ..................................................................................................................................... 8-15
Figure 8-19 Typical I2C application circuit ...................................................................................................... 8-17
Figure 8-20 I2C START/STOP timing .............................................................................................................. 8-18
Figure 8-21 I2C frame formats in different transfer modes .............................................................................. 8-18
Figure 8-22 Inputs and outputs of the OD gates for the SCL and SDA............................................................ 8-19
Figure 8-23 I2C timing ..................................................................................................................................... 8-20

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

ii

Hi3660
Data Sheet

Tables

Tables
Table 8-1 UART interface signals....................................................................................................................... 8-5
Table 8-2 Signals of the SPI0 interface............................................................................................................. 8-10
Table 8-3 Signals of the SPI1 interface............................................................................................................. 8-10
Table 8-4 Signals of the SPI2 interface............................................................................................................. 8-11
Table 8-5 Signals of the SPI3 interface............................................................................................................. 8-11
Table 8-6 Signals of the SPI4 interface............................................................................................................. 8-11
Table 8-7 Input timing parameters of the SPI ................................................................................................... 8-16
Table 8-8 Signals of the I2C interface ............................................................................................................... 8-19
Table 8-9 I2C timing parameters (F/S mode) .................................................................................................... 8-20
Table 8-10 I2C timing parameters (HS mode) .................................................................................................. 8-21
Table 8-12 GPIO interface signals .................................................................................................................... 8-24

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

iii

Hi3660
Data Sheet

8 Interface Control

8

Interface Control

8.1 USB3OTG
8.1.1 Function Description
Features
The USB 3.0 On-The-Go (OTG) of the Hi3660 contains the USB 3.0 controller and USB 3.0
femtoPHY, and supports the host and device functions. As a device, the USB 3.0 OTG
connects to the PC or USB host. As a host, the USB 3.0 OTG connects to the USB flash drive
or USB device.
The USB module has the following features:


Complies with the USB 3.0 protocol.



Integrates the USB controller and USB 3.0 femtoPHY.



Supports the Super-Speed, High-speed, Full-speed, and low speed in host mode.



Supports the Super-Speed, High-speed, and Full-speed in device mode.



Supports the Link Power Management (LPM) protocol.



Supports a maximum of 16 IN endpoints and 16 OUT endpoints when functioning as a
device.



Uses endpoint 0 as the control endpoint. The type of endpoint 1 to endpoint 15 can be set
to bulk, isochronous, or interrupt.



Provides an independent TX FIFO for each endpoint. The FIFO size is dynamically
configurable.



Complies with the eXtensible Host Controller Interface 1.0 (xHCI 1.0) protocol when
functioning as a host.



Supports the built-in DMA in scatter or gather mode.



Supports the PHY interface for the PCI Express (PIPE) between the controller and PHY
when working in Super-Speed mode. The clock rate is 125 MHz.



Supports the USB 2.0 transceiver macrocell interface (UTMI) between the controller and
PHY when working in High-speed or Full-speed mode. The clock rate is 60 MHz.



Complies with the BC 1.2 protocol (excluding ACA).

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-1

Hi3660
Data Sheet

8 Interface Control

8.1.2 Register Description
See the Synopsys IP manual
(https://www.synopsys.com/cn/IP/InterfaceIP/USB/Pages/default.aspx).

8.2 UART
8.2.1 Function Description
Features
The universal asynchronous receiver transmitter (UART) performs serial-to-parallel
conversion on the receive (RX) data and parallel-to-serial conversion on the transmit (TX)
data.
The Hi3660 integrates nine UARTs and provides nine UART interfaces to the outside. All the
UARTs support flow control except UART7. The UARTs described here do not include the
UART used for modem debugging.
UART6 supports up to 1.2 Mbaud rate, and the other UARTs support up to 9 Mbaud rate.
The UART module has the following features:


Configurable data bit width and stop bit width. The data bit width can be 5, 6, 7, or 8
bits, and the stop bit width can be 1 bit or 2 bits



Parity check or no check bit



Programmable transfer rate, up to 9 Mbit/s



Data transfer in direct memory access (DMA) mode (UART7 does not support DMA.)



RX FIFO interrupt, TX FIFO interrupt, RX timeout interrupt, and error interrupt



TX FIFO with 64-bit depth and 8-bit width and RX FIFO with 64-bit depth and 12-bit
width (For UART7 and UART8, the depth of the TX FIFO and RX FIFO is 16 bits.)



Infrared Data Association (IrDA) serial infrared mode

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-2

Hi3660
Data Sheet

8 Interface Control

Logical Block Diagram
Figure 8-1 Logical block diagram of the UART module

TX FIFO

APB slave

Transmitter

UART TXD

Receiver

UART RXD

APB_IF
RX FIFO

Baud rate
generator

Baud 16

UART CLK

DMA signals

DMA
interface

FIFO status
and
interrupt generation

UART INTR

The UART module consists of eight units. The function or operating principle of each unit is
described as follows:


Advanced peripheral bus (APB) interface: APB slave interface used to process the
read/write data of the bus and configure registers



TX FIFO: Stores the data to be transmitted.



RX FIFO: Stores the received data.



Baud rate generator: Generates the configured baud 16 clock.



Transmitter: Performs parallel-to-serial conversion on the data and then outputs data, and
decodes data into the infrared format for output.



Receiver: Performs serial-to-parallel conversion on the received data and decodes data in
the infrared format.



DMA interface: Handles DMA interface processing.



FIFO status and interrupt generation: Monitors the FIFO state and generates interrupts
based on the configured interrupt FIFO level.

Frame Format
One frame transfer of the UART involves the start bit, data bits, parity bit, and stop bits, as
shown in Figure 8-2.
The TX and RX data is the non-return-to-zero (NRZ) code. The data frame is output from the
TXD end of one UART and then input to the RXD end.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-3

Hi3660
Data Sheet

8 Interface Control

Figure 8-2 UART frame format
Idle
state

Start bit

Data
<0>

Data
<1>

Data
<2>

Data
<3>

Data
<4>

Data
<5>

Data
<6>

Data
<7>

Parity Stop bit Stop bit
bit
1
2

Idle
state

TX/RX bit

The fields in the frame format are described as follows:


Start bit
It indicates the start of a data frame. According to the UART protocol, a low level in the
TX signal indicates the start of a data frame. When the UART does not transmit data, the
start bit must be fixed at 1.



Data bit
The data bit width can be set to 5 bits, 6 bits, 7 bits, or 8 bits based on the application
requirements.



Parity bit
The parity bit is a 1-bit error correction signal. The UART parity bit can be an odd parity
bit, even parity bit, or stick parity bit. The parity bit can be enabled or disabled.



Stop bit
The stop signal is the stop bit of a data frame. The stop bit width is 1 bit or 2 bits. Setting
the TX signal to 1 indicates the end of a data frame.

Typical Application Scenario
The UART receives data from or transmits data to the off-chip component or interface
complying with the UART protocol, and implements serial-to-parallel conversion on the RX
data and parallel-to-serial conversion on the TX data. The UART can also transmit the
infrared data that complies with the IrDA protocol.
Figure 8-3 Typical application scenario of the UART module

Hi3660
UART
UARTx_TXD
TX control

UARTx_CTS_N

UARTx_RXD
TX control

Issue 05 (2016-12-22)

UART
device

UARTx_RTS_N

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-4

Hi3660
Data Sheet

8 Interface Control

The UART supports the following operating modes:


UART mode: Supports flow control and reception and transmission of the data
complying with the UART protocol.



Infrared mode: Supports the reception and transmission of the serial infrared data
complying with the IrDA protocol.

8.2.2 Signal Description
Figure 8-4 UARTx signals

UARTx_TXD
UARTx_RTS_N
UARTx

UARTx_RXD
UARTx_CTS_N

UARTx_TXD
UARTx_RTS_N
UARTx_RXD
UARTx_CTS_N

Table 8-1 UART interface signals
Signal

Direction

Description

UARTx_TXD

O

TX data signal of UARTx

UARTx_RXD

I

RX data signal of UARTx

UARTx_RTS_N

O

Request to send (RTS) signal of UARTx

UARTx_CTS_N

I

Clear to send (CTS) signal of UARTx

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-5

Hi3660
Data Sheet

8 Interface Control

8.2.3 Timing
UART Timing
Figure 8-5 UART timing
Parity bit (1 Stop bit (1 bit
bit, optional)
or 2 bits)

Start bit (1 bit)
Data bit (5–
8 bits)
UARTx_TXD
UARTx_RXD

LSB

MSB

Timing in Infrared Mode
Figure 8-6 UART timing in infrared mode
Start bit
(1 bit)

Data bit (8 bits)

Stop bit
(1 bit)

UARTx_TXD
Data 1

Data 0

UARTx_RXD

8.2.4 Register Description
See the ARM public-version PL011 IP manual
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html).

8.3 SPI
8.3.1 Function Description
Features
The serial peripheral interface (SPI) transfers data in serial or parallel mode. In the Hi3660,
the SPI is used as the master to implement synchronous serial communication with external
devices. The SPI does not serve as a slave.
The Hi3660 provides five SPIs: SPI0 to SPI4.


SPI0 is reserved temporarily.



SPI1 has one chip select (CS) for connecting the ESE.



SPI2 has four CSs.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-6

Hi3660
Data Sheet





8 Interface Control
−

SPI2_CS0 connects to the fingerprint sensor.

−

SPI2_CS1 to SPI2_CS3 are reserved.

SPI3 has four CSs.
−

SPI3_CS0 connects to the MINI_ISP.

−

SPI3_CS1 connects to the ink screen.

−

SPI3_CS2 and SPI3_CS3 are reserved.

SPI4 has four CSs.
−

SPI4_CS0 connects to the fingerprint sensor.

−

SPI4_CS1 to SPI4_CS3 are reserved.

The SPI module supports the following functions:


Supports the programmable interface clock frequency.



Provides two separate 256 x 16-bit FIFOs: one TX FIFO and one RX FIFO.



Supports SPI frame formats.



Supports the programmable length of the serial data frame: 4 bits to 16 bits.



Supports the programmable threshold of the TX FIFO and RX FIFO to request
interrupts.



Supports the programmable threshold for the TX FIFO and RX FIFO to request the
DMA to implement burst transfer.



Independently masks TX FIFO interrupts, RX FIFO interrupts, RX timeout interrupts,
and RX FIFO overflow interrupts.



Provides the internal loopback test.



Supports the DMA operation.

Logical Block Diagram

APB interface

Figure 8-7 Functional block diagram of the SPI module

Parallel-toserial
conversion

TX
channel

SPI_DO

Serial-toparallel
conversion

RX
channel

SPI_DI

Clock TX module

SPI_CLK

CS logic

SPI_CS

SPI

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-7

Hi3660
Data Sheet

8 Interface Control

SPI0 to SPI4 can connect to a single slave device, as shown in Figure 8-8.
Figure 8-8 Application of the SPI connected to a single slave device
SPI master

SPI_DO

DIN

SPI_DI

DOUT

SPI_CLK

CLK

SPI_CS

CS

SPI slave

SPI0, SPI2, SPI3, and SPI4 can connect to multiple slave devices, as shown in Figure 8-9.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-8

Hi3660
Data Sheet

8 Interface Control

Figure 8-9 Application of the SPI connected to multiple slave devices

SPI master
SPI_DO

XXX_DIN

SPI_DI

XXX_DOUT

SPI_CLK

Slave_0

XXX_CLK
XXX_CS

SPI_CS

XXX_DIN

Slave_1

XXX_DOUT
XXX_CLK
XXX_CS
Hi3660

XXX_DIN

Slave_2

XXX_DOUT
XXX_CLK
XXX_CS

XXX_DIN

Slave_3

XXX_DOUT
XXX_CLK
XXX_CS

Typical Application Scenario
The SPI supports two data transfer modes:


Data transfer in interrupt or query mode



Data transfer in DMA mode

8.3.2 Interrupt Handling
The SPI has five interrupts. The first four interrupts have independent sources and are
maskable and active high.


SPIRXINTR
RX FIFO interrupt. When there are four or more valid data segments in the RX FIFO,
this interrupt is enabled.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-9

Hi3660
Data Sheet


8 Interface Control

SPITXINTR
TX FIFO interrupt. When there are four or fewer valid data segments in the TX FIFO,
this interrupt is enabled.



SPIRORINTR
RX overflow interrupt. When the FIFO is full and new data needs to be written to the
FIFO, FIFO overflow occurs and this interrupt is enabled. In this case, data is written to
the RX shift register rather than the FIFO.



SPIRTINTR
RX timeout interrupt. When the RX FIFO is not empty and the SPI is idle for more than
one fixed 32-bit cycle, this interrupt is enabled.
In this case, data in the RX FIFO needs to be transmitted. When the RX FIFO is read
empty or new data is received into SPIRXD, this interrupt is disabled. This interrupt can
be cleared by writing the SPIICR[RTIC] register.



SPIINTR
Combined interrupt, which is obtained after the preceding four interrupts are ORed. If
any of the preceding four interrupts is enabled, this combined interrupt is enabled.

The IDs of the SPI0–4 interrupts are 145, 112, 148, 344, and 345, respectively.

8.3.3 Signal Description
Table 8-2 Signals of the SPI0 interface
Signal

Direction

Description

SPI0_CLK

Output

SPI clock, output in master mode

SPI0_CS0_N

Output

SPI CS0 in master mode

SPI0_CS1_N

Output

SPI CS1 in master mode

SPI0_CS2_N

Output

SPI CS2 in master mode

SPI0_CS3_N

Output

SPI CS3 in master mode

SPI0_DI

Input

RX data input of the SPI

SPI0_DO

Output

TX data output of the SPI

Table 8-3 Signals of the SPI1 interface
Signal

Direction

Description

SPI1_CLK

Output

SPI clock, output in master mode

SPI1_CS_N

Output

SPI CS0 in master mode

SPI1_DI

Input

RX data input of the SPI

SPI1_DO

Output

TX data output of the SPI

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-10

Hi3660
Data Sheet

8 Interface Control

Table 8-4 Signals of the SPI2 interface
Signal

Direction

Description

SPI2_CLK

Output

SPI clock, output in master mode

SPI2_CS0_N

Output

SPI CS0 in master mode

SPI2_CS1_N

Output

SPI CS1 in master mode

SPI2_CS2_N

Output

SPI CS2 in master mode

SPI2_CS3_N

Output

SPI CS3 in master mode

SPI2_DI

Input

RX data input of the SPI

SPI2_DO

Output

TX data output of the SPI

Table 8-5 Signals of the SPI3 interface
Signal

Direction

Description

SPI3_CLK

Output

SPI clock, output in master mode

SPI3_CS0_N

Output

SPI CS0 in master mode

SPI3_CS1_N

Output

SPI CS1 in master mode

SPI3_CS2_N

Output

SPI CS2 in master mode

SPI3_CS3_N

Output

SPI CS3 in master mode

SPI3_DI

Input

RX data input of the SPI

SPI3_DO

Output

TX data output of the SPI

Table 8-6 Signals of the SPI4 interface
Signal

Direction

Description

SPI4_CLK

Output

SPI clock, output in master mode

SPI4_CS0_N

Output

SPI CS0 in master mode

SPI4_CS1_N

Output

SPI CS1 in master mode

SPI4_CS2_N

Output

SPI CS2 in master mode

SPI4_CS3_N

Output

SPI CS3 in master mode

SPI4_DI

Input

RX data input of the SPI

SPI4_DO

Output

TX data output of the SPI

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-11

Hi3660
Data Sheet

8 Interface Control

8.3.4 Timings and Parameters
The acronyms in Figure 8-10 to Figure 8-17 are described as follows:


MSB: most significant bit



LSB: least significant bit



Q: undefined signal

SPI Frame Formats
SPO indicates the polarity of SPICLKOUT and SPH indicates the phase of SPICLKOUT. The
corresponding register bits are SPICR0 bit[7] and SPICR0 bit[6], respectively.

(1) SPO = 0 and SPH = 0
Figure 8-10 Format of a single SPI frame (SPO = 0, SPH = 0)
SPI_CLK
SPI_CS_N
4 to 16bits

SPI_DI/
SPI_DO

MSB

LSB

Q

Figure 8-11 Format of consecutive SPI frames (SPO = 0, SPH = 0)

SPI_CLK
SPI_CS_N
4 to 16 bits
SPI_DI/SPI_DO

LSB

MSB

LSB

Q

MSB

When the SPI is idle in this mode:


The SPI_CLK signal is set to low.



The SPI_CS_N signal is set to high.



The TX data line SPI_DO is forced to low.

When the SPI is enabled and valid data is ready in the TX FIFO, setting the SPI_CS_N signal
to low starts data transfer, and data of the enabled slave is placed on the master RX data line
SPI_DI. Half an SPI_CLK cycle later, the valid master data is transmitted to SPI_DO. At this
time, both the master data and slave data are valid. The SPI_CLK pin changes to high level
half an SPI_CLK cycle later. Data is captured on the rising edge of the SPI_CLK clock and
transmitted on the falling edge.
If a single word is transferred, SPI_CS_N is restored to high level one SPI_CLK cycle after
the last bit of data is captured.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-12

Hi3660
Data Sheet

8 Interface Control

If consecutive words are transferred, the SPI_CS_N signal must be pulled up by one
SPI_CLK cycle at each word transfer interval. This is because when SPH is 0, the slave
selection pin retains the data in the internal serial device register. Therefore, the master device
must pull the SPI_CS_N signal up at each word transfer interval during consecutive transfer.
When the transfer of consecutive words is complete, SPI_CS_N is restored to high level one
SPI_CLK cycle after the last bit of data is captured.
(2) SPO = 0 and SPH = 1
Figure 8-12 Format of a single SPI frame (SPO = 0, SPH = 1)

SPI_CLK
SPI_CS_N
4 to 16 bits
SPI_DI/SPI_DO

MSB

LSB

Q

Figure 8-13 Format of consecutive SPI frames (SPO = 0, SPH = 1)
SPI_CLK
SPI_CS_N
4 to 16bits

SPI_DI/
SPI_DO

MSB

4 to 16bits
LSB

MSB

LSB

Q

When the SPI is idle in this mode:


The SPI_CLK signal is set to low.



The SPI_CS_N signal is set to high.



The TX data line SPI_DO is forced to low.

When the SPI is enabled and there is valid data in the TX FIFO, setting the SPI_CS_N signal
to low starts a data transfer. If data transfer starts, the master data and slave data are valid on
their respective transmission lines half an SPI_CLK cycle later. In addition, SPI_CLK
becomes valid on the first rising edge. Data is captured on the falling edge of the SPI_CLK
clock and transmitted on the rising edge.
If a single word is transferred, SPI_CS_N is restored to high level one SPI_CLK cycle after
the last bit of data is captured.
If consecutive words are transferred, SPI_CS_N retains low at the word transfer interval.
When the consecutive transfer ends, SPI_CS_N is restored to high level one SPI_CLK cycle
later after the last 1-bit data is captured.
(3) SPO = 1 and SPH = 0

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-13

Hi3660
Data Sheet

8 Interface Control

Figure 8-14 Format of a single SPI frame (SPO = 1, SPH = 0)
SPI_CLK
SPI_CS_N
4 to16bits

SPI_DI/
SPI_DO

MSB

LSB

Q

Figure 8-15 Format of consecutive SPI frames (SPO = 1, SPH = 0)
SPI_CLK
SPI_CS_N
4 to 16 bits
SPI_DI/SPI_DO

LSB

MSB

LSB

Q

MSB

When the SPI is idle in this mode:


The SPI_CLK signal is set to high.



The SPI_CS_N signal is set to high.



The TX data line SPI_DO is forced to low.

When the SPI is enabled and there is valid data in the TX FIFO, setting the SPI_CS_N signal
to low starts a data transfer. The slave data is immediately transmitted to the master RX data
line SPI_DI. Half an SPI_CLK cycle later, the valid master data is transmitted to SPI_DO.
Another half SPI_CLK cycle later, the SPI_CLK master pin is set to low, indicating that data
is captured on the falling edge of the SPI_CLK clock and transmitted on the rising edge.
If a single word is transferred, SPI_CS_N is restored to high level one SPI_CLK cycle after
the last bit of data is captured.
If consecutive words are transferred, the SPI_CS_N signal must be pulled up at each word
transfer interval. This is because when SPH is 0, the slave selection pin retains the data in the
internal serial device register. SPI_CS_N is restored to high level one SPI_CLK cycle after
the last bit of data is captured.
(4) SPO = 1 and SPH = 1
Figure 8-16 Format of a single SPI frame (SPO = 1, SPH = 1)
SPI_CLK
SPI_CS_N
4 to 16bits

SPI_DI/
SPI_DO

Issue 05 (2016-12-22)

MSB

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

LSB

Q

8-14

Hi3660
Data Sheet

8 Interface Control

Figure 8-17 Format of consecutive SPI frames (SPO = 1, SPH = 1)
SPI_CLK
SPI_CS_N
4 to16bits

SPI_DI/
SPI_DO

4 to 16bits
LSB

MSB

MSB

LSB

Q

When the SPI is idle in this mode:


The SPI_CLK signal is set to high.



The SPI_CS_N signal is set to high.



The TX data line SPI_DO is forced to low.

When the SPI is enabled and there is valid data in the TX FIFO, setting the SPI_CS_N master
signal to low starts the data transfer. Half an SPI_CLK cycle later, the master data and slave
data are valid on their respective transmission lines. In addition, SPI_CLK becomes valid on
the first falling edge. Data is captured on the rising edge of the SPI_CLK clock and
transmitted on the falling edge.
If a single word is transferred, SPI_CS_N is restored to high level one SPI_CLK cycle after
the last bit of data is captured.
If consecutive words are transferred, the SPI_CS_N signal retains low. SPI_CS_N is restored
to high level one SPI_CLK cycle after the last bit of data is captured. For the transfer of
consecutive words, SPI_CS_N retains low during data transfer, and the end mode is the same
as that during single word transfer.

Timing
Figure 8-18 SPI timing

SPI_CLK(SPO=0,SPH=0)
SPI_CLK(SPO=1,SPH=0)
SPI_CLK(SPO=0,SPH=1)
SPI_CLK(SPO=1,SPH=1)
SPI_CS_N
Tdd
MSB
Tdh

SPI_DO

Issue 05 (2016-12-22)

LSB
4 to 16 bits

Tds

SPI_DI

4 to 16 bits

MSB

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

LSB

8-15

Hi3660
Data Sheet

8 Interface Control

Table 8-7 Input timing parameters of the SPI
Parameter

Symbol

Min

Max

Unit

DI setup time

Tds

10

-

ns

DI hold time

Tdh

10

-

ns

8.3.5 Register Description
See the ARM public-version PL022 IP manual
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html).

8.4 I2C
8.4.1 Function Description
Functional Block Diagram
The I2C controller uses the SCL and SDA signal lines to communicate with off-chip devices
that provide I2C interfaces. The I2C interface can transmit data to and receive data from the
slave device on the I2C bus in compliance with I2C specifications V2.1. In the Hi3660, the I2C
controller can only be used as the master device.
The Hi3660 integrates eight I2C modules.


I2C0 is used to connect sensors, such as the acceleration sensor, gyro sensor, and
barometer.



I2C1 is the backup of I2C0.



I2C2 is used to connect the capacitive touch pad (TP).



I2C3 can be multiplexed as the common GPIO function.



I2C4 is used for charging, Near Field Communication (NFC), external flash light driver,
and external speaker PA.



I2C5 is used to connect the external buck power chip.



I2C6 is reserved for the backup solution.



I2C7 is reserved.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-16

Hi3660
Data Sheet

8 Interface Control

Figure 8-19 Typical I2C application circuit

+Vdd
Rp

Rp

Pull-up
resistors

SCL

SDA

SDA SCL
I2C0
master

SDA SCL
2

I C2
master

SDA SCL
...

I2C6
master

The I2C controller has the following features:


Supports the I2C bus protocol V2.1.



Serves as only the master device on the I2C bus.



Acts as the transmitter (master device) on the I2C bus and sends data to the slave device.



Supports the 7-bit standard slave address or 10-bit extended slave address when serving
as a master.



Supports the standard mode (100 kbit/s), fast mode (400 kbit/s), and high-speed mode
(3.4 Mbit/s).



Provides the TX FIFO and RX FIFO and supports DMA data transfer.



Reports interrupts and queries the states of raw and masked interrupts.



Supports clock stretching. During data transmission, when the TX FIFO is empty, pull
down the SCL and wait for the FIFO to be filled with data again. During data reception,
when the RX FIFO is empty, pull down the SCL and wait for the FIFO to be filled with
data again.



Supports the restart transmission of the SDA data. The data bus is not released and data
continues to be transferred in the same channel.



Configures the SDA setup time and hold time in registers.

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-17

Hi3660
Data Sheet

8 Interface Control

START/STOP Conditions
Figure 8-20 I2C START/STOP timing

SDA

SCL

START

STOP



START: The SDA level is switched from high to low when the SCL level is high.



STOP: The SDA level is switched from low to high when the SCL level is high.

I2C Frame format
Figure 8-21 I2C frame formats in different transfer modes

S

Slave address

R/W

A

DATA

A

...

DATA

A/NA

P

Master-transmitter protocol
for the 7-bit slave address

'0' write

F/S mode
HS mode

F/S mode

S

Master code

P

N
A

Sr

Slave address

R/W

A

DATA

...

HS mode

A/NA

Sr

Slave address

...

'0' write

Issue 05 (2016-12-22)



S: start condition



A: acknowledge (SDA low)



P: stop condition



NA: no acknowledge (SDA high)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-18

Hi3660
Data Sheet

8 Interface Control

The start signal (Start) specified in the I2C standard protocol is transmitted from the master
device on the bus to wake up all slave devices. The Start is a special signal indicating the start
of data transfer.
When the master device works in F/S mode, the first data packet transmitted after the Start
signal is sent is the address of the slave device (Slave address + W/R). This data packet
consists of the 7-bit slave address (two data packets are required if the slave address is 10 bits)
and 1-bit read/write data.
When working in HS mode, the master device needs to transmit the master code first. Then
the frame format in HS mode is the same as that in F/S mode. The HS mode and F/S mode
differ only in the speed. Each slave address determines whether to transmit or receive data
based on the slave address information. After a slave address is successfully received, the
corresponding slave device pulls the SDA down at the ninth clock cycle (SCL) and returns an
ACK signal to the master device. Then, subsequent data transfer starts.
DATA refers to data reception or transmission based on the read or write command after the
master device successfully receives the slave address ACK signal. During the data transfer,
the SDA changes when the SCL level is low and retains when the SCL level is high. Each
time the receiver (slave device) receives one byte, it must send an ACK signal to the
transmitter (master device). If the transmitter fails to receive an ACK signal, it stops data
transfer or starts re-transmission.
The stop signal (Stop) is sent when the master device completes the current data transfer and
there is no new data to be transferred. The stop signal is a special signal indicating the end of
data transfer, and complies with the standard I2C protocol. After the master device sends a
Stop signal, the slave device must release the bus.

8.4.2 Signal Description
8.4.2.1 OD Gate of the Interface
The I2C interface uses the open drain (OD) gate, as shown in Figure 8-22.
Figure 8-22 Inputs and outputs of the OD gates for the SCL and SDA
VDD

VDD

ic_clk_in_a

ic_data_in_a
SCL

SDA

ic_data_oe

ic_clk_oe

8.4.2.2 Interface Signals
Table 8-8 describes the signals of the I2C interface. For details about the multiplexing
relationship of the signals in Table 8-8, see the IOC-related documents.
Table 8-8 Signals of the I2C interface
Signal

Direction

Description

I2C0_SDA

Input/Output

I2C0 data signal

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-19

Hi3660
Data Sheet

8 Interface Control

Signal

Direction

Description

I2C0_SCL

Output

I2C0 clock signal

I2C2_SDA

Input/Output

I2C2 data signal

I2C2_SCL

Output

I2C2 clock signal

I2C3_SDA

Input/Output

I2C3 data signal

I2C3_SCL

Output

I2C3 clock signal

I2C4_SDA

Input/Output

I2C4 data signal

I2C4_SCL

Output

I2C4 clock signal

I2C5_SDA

Input/Output

I2C5 data signal

I2C5_SCL

Output

I2C5 clock signal

I2C6_SDA

Input/Output

I2C6 data signal

I2C6_SCL

Output

I2C6 clock signal

I2C7_SDA

Input/Output

I2C7 data signal

I2C7_SCL

Output

I2C7 clock signal

8.4.3 Timings and Parameters
Figure 8-23 I2C timing
0ns

SDA

250ns

500ns

750ns

START

1000ns

RESTART

STOP
tSU,SDA

tHD,STA

tHIGH
tLOW

tSU,STA

tHD,SDA

SCL

Table 8-9 I2C timing parameters (F/S mode)
Parameter

Description

Standard Mode

Fast Mode

Unit

Min

Max

Min

Max

fSCL

SCL clock frequency

0

100

0

400

kHz

tHD;STA

Hold time of the
START condition

4.0

-

0.6

-

µs

tLOW

Width of the SCL low
level

4.7

-

1.3

-

µs

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-20

Hi3660
Data Sheet

Parameter

8 Interface Control

Description

Standard Mode

Fast Mode

Unit

Min

Max

Min

Max

tHIGH

Width of the SCL
high level

4.0

-

0.6

-

µs

tSU;STA

Setup time of the
START condition

4.7

-

0.6

-

µs

tHD;DAT

Data hold timea

0

3.45

0

0.9

µs

tSU;DAT

Data setup timea

250

-

100

-

ns

tR

Rising time of the
SDA and SCL signals

-

1000

20+0.1Cb

300

ns

tF

Falling time of the
SDA and SCL signals

-

300

20+0.1Cb

300

ns

tSU;STO

Setup time of the
STOP condition

4.0

-

0.6

-

µs

tBUF

Bus idle duration
between the STOP
and START states

4.7

-

1.3

-

µs

Cb

Capacitor load of each
bus line

-

400

-

400

pF

a: For the Hi3660, the registers related to the data hold time and setup time are configurable.

Table 8-10 I2C timing parameters (HS mode)
Parameter

Description

Cb (Max) = 100
pF

Cb = 400 pF

Unit

Min

Max

Min

Max

0

3.4

0

1.7

MHz

fSCL

SCL clock frequency

tSU;STA

Setup
time
of
START/RESTART
condition

the

160

-

160

-

ns

tHD;STA

Hold
time
of
START/RESTART
condition

the

160

-

160

-

ns

tLOW

Width of the SCL low
level

160

-

320

-

ns

tHIGH

Width of the SCL high
level

60

-

120

-

ns

tSU;DAT

Data setup timea

10

-

10

-

ns

tHD;DAT

Data hold timea

0

70

0

150

ns

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-21

Hi3660
Data Sheet

Parameter

8 Interface Control

Description

Cb (Max) = 100
pF

Cb = 400 pF

Min

Max

Min

Max

Unit

trCL

Rising time of the SCL
signal

10

40

20

80

ns

trCL1

Rising time of the SCL
signal after the RESTART
and response bit

10

80

20

160

ns

tF

Falling time of the SCL
signal

10

40

20

80

ns

trDA

Rising time of the SDA
signal

10

80

20

160

ns

tfDA

Falling time of the SD
signal

10

80

20

160

ns

tSU;STO

Setup time of the STOP
condition

160

-

160

-

ns

Cb

Capacitor load between
the SCL and SDA

-

100

-

400

pF

a: For the Hi3660, the registers related to the data hold time and setup time are configurable.

The conditions for the I2C data transfer rate to reach 3.4 Mbit/s are as follows:


The maximum value of tHD:DAT must be no greater than 70 ns.



The minimum data window duration must be 230 ns.



The maximum hold time must be 70 ns.

8.4.4 Register Description
See the Synopsys I2C IP manual (https://www.synopsys.com/dw/ipdir.php?c=DW_apb_i2c).

8.5 GPIO
8.5.1 Function Description
Features
The Hi3660 has 27 common GPIO modules: GPIO0–17, GPIO20–21, and GPIO22–28. The
peripheral area has 20 GPIO modules (GPIO0–17 and GPIO20–21), and the always-on area
(AON_SUBSYS) has seven GPIO modules (GPIO22–28).

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-22

Hi3660
Data Sheet

8 Interface Control

The Hi3660 provides two secure GPIO modules: one (GPIO0_SE) in the peripheral area and
one (GPIO1_SE) in the always-on area (AON_SUBSYS).
The Hi3660 also has the following GPIO modules in the independent subsystems:


Four GPIO modules in the sensor hub: GPIO0_SH to GPIO3_SH



Two GPIO modules in the UFS_PERI_SUBSYS area: GPIO18 and GPIO 19



Two GPIO modules in the MMC1_PERI_SUBSYS area: GPIO0_EMMC and
GPIO1_EMMC

Each GPIO module corresponds to a group of eight GPIO interfaces. Each GPIO group
generates three interrupts, which are sent to the generic interrupt controller (GIC), LPMCU,
and CCPU, respectively. (The interrupts of GPIO0SH to GPIO3SH are sent to the GIC and
IOMCU, respectively.) The source interrupts of the three index interrupts share the eight
GPIO interfaces in the same group but have independent mask bits.
Table 8-11 GPIO group information
Instance

Valid GPIO Pins

Interrupt Registration Support

GPIO22 to
GPIO27

GPIO_176 to GPIO_190

GIC

GPIO28

GPIO28 is not used.

GIC

GPIO1_SE

GPIO_008_SE to
GPIO_015_SE

GIC

GPIO0 to
GPIO17

GPIO_001 to GPIO_098

GIC

GPIO20

GPIO_160 to GPIO_165

GIC

GPIO21

GPIO_168 to GPIO_173

GIC

GPIO0_SE

GPIO_000_SE to
GPIO_007_SE

GIC

GPIO0_SH to
GPIO3_SH

GPIO_000_SH to
GPIO_027_SH

GIC

GPIO_028_SH to
GPIO_031_SH

GIC

GPIO18 to
GPIO19

GPIO_144 to GPIO_155

GIC

GPIO0_EMMC
to
GPIO1_EMMC

GPIO_00_EMMC to
GPIO_09_EMMC

GIC

GPIO_192 to GPIO_222

GPIO_103 to GPIO_127

Each GPIO group provides eight programmable I/O pins to generate output signals or collect
input signals for specific applications.
You can obtain the group ID of a GPIO pin by using the following formula:
Group ID = int(GPIO pin number/8)

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-23

Hi3660
Data Sheet

8 Interface Control

The remainder is the sequence number of this pin in the group, ranging from 0 to 7. (0 is the
LSB and 7 is the MSB.)
Sequence number within the group = mod(GPIO pin number/8)
Take GPIO_017 as an example. The pin number is 17. Its group ID is 2 (int(17/8)), and the
remainder is 1. Therefore, GPIO_017 belongs to GPIO group 2 (GPIO2), and its sequence
number within this group is 1. Similarly, the sequence number of GPIO_016 in GPIO2 is 0,
and that of GPIO_023 in GPIO2 is 7.
The GPIO has the following features:


Configures each GPIO pin as the input, output, or OD output.
−

When acting as an input pin, a GPIO pin can be used as an interrupt source. Each
GPIO pin supports independent interrupt control.

−

When acting as an output pin, a GPIO pin can be independently set to 0 or 1.

−

When a GPIO pin acts as the OD output, pull-up control is required on the board. The
output is enabled by using the GPIODIR register to implement the "wired AND"
function on the board.



Queries the states of raw and masked interrupts.



Supports the interrupt wakeup system. Configure the GPIO enable interrupt before the
system enters the sleep state. After the system enters the sleep state, the GPIO will
generate an interrupt to wake up the system when peripheral inputs change.



Does not support separate soft reset.

8.5.2 Signal Description
GPIO_000 is an internal signal and is invisible to users.

Table 8-12 GPIO interface signals
Signal

Direction

Description

GPIO_001

Input/Output

Standard I/O port

GPIO_002

Input/Output

…
GPIO_174

Input/Output

GPIO_222

Input/Output

8.5.3 Register Description
See the ARM public-version PL061 IP manual
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0183g/index.html).

Issue 05 (2016-12-22)

HiSilicon Proprietary and Confidential
Copyright © HiSilicon Technologies Co., Ltd.

8-24



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 100
EXIF Metadata provided by EXIF.tools

Navigation menu