Renesas Sh7781 Users Manual SH7785 Hardware
SH7781 to the manual 87234bda-05ed-fb94-49d4-cae2fef8fa49
2015-02-06
: Renesas Renesas-Sh7781-Users-Manual-523549 renesas-sh7781-users-manual-523549 renesas pdf
Open the PDF directly: View PDF
.
Page Count: 1692
| Download | |
| Open PDF In Browser | View PDF |
REJ09B0261-0100
32
SH7785
Hardware Manual
Renesas 32-Bit RISC Microcomputer
SuperH™ RISC Engine Family
SH7780 Series
Rev.1.00
Revision Date: Jan. 10, 2008
Notes regarding these materials
1. This document is provided for reference purposes only so that Renesas customers may select the appropriate
Renesas products for their use. Renesas neither makes warranties or representations with respect to the
accuracy or completeness of the information contained in this document nor grants any license to any
intellectual property rights or any other rights of Renesas or any third party with respect to the information in
this document.
2. Renesas shall have no liability for damages or infringement of any intellectual property or other rights arising
out of the use of any information in this document, including, but not limited to, product data, diagrams, charts,
programs, algorithms, and application circuit examples.
3. You should not use the products or the technology described in this document for the purpose of military
applications such as the development of weapons of mass destruction or for the purpose of any other military
use. When exporting the products or technology described herein, you should follow the applicable export
control laws and regulations, and procedures required by such laws and regulations.
4. All information included in this document such as product data, diagrams, charts, programs, algorithms, and
application circuit examples, is current as of the date this document is issued. Such information, however, is
subject to change without any prior notice. Before purchasing or using any Renesas products listed in this
document, please confirm the latest product information with a Renesas sales office. Also, please pay regular
and careful attention to additional and different information to be disclosed by Renesas such as that disclosed
through our website. (http://www.renesas.com )
5. Renesas has used reasonable care in compiling the information included in this document, but Renesas
assumes no liability whatsoever for any damages incurred as a result of errors or omissions in the information
included in this document.
6. When using or otherwise relying on the information in this document, you should evaluate the information in
light of the total system before deciding about the applicability of such information to the intended application.
Renesas makes no representations, warranties or guaranties regarding the suitability of its products for any
particular application and specifically disclaims any liability arising out of the application and use of the
information in this document or Renesas products.
7. With the exception of products specified by Renesas as suitable for automobile applications, Renesas
products are not designed, manufactured or tested for applications or otherwise in systems the failure or
malfunction of which may cause a direct threat to human life or create a risk of human injury or which require
especially high quality and reliability such as safety systems, or equipment or systems for transportation and
traffic, healthcare, combustion control, aerospace and aeronautics, nuclear power, or undersea communication
transmission. If you are considering the use of our products for such purposes, please contact a Renesas
sales office beforehand. Renesas shall have no liability for damages arising out of the uses set forth above.
8. Notwithstanding the preceding paragraph, you should not use Renesas products for the purposes listed below:
(1) artificial life support devices or systems
(2) surgical implantations
(3) healthcare intervention (e.g., excision, administration of medication, etc.)
(4) any other purposes that pose a direct threat to human life
Renesas shall have no liability for damages arising out of the uses set forth in the above and purchasers who
elect to use Renesas products in any of the foregoing applications shall indemnify and hold harmless Renesas
Technology Corp., its affiliated companies and their officers, directors, and employees against any and all
damages arising out of such applications.
9. You should use the products described herein within the range specified by Renesas, especially with respect
to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation
characteristics, installation and other product characteristics. Renesas shall have no liability for malfunctions or
damages arising out of the use of Renesas products beyond such specified ranges.
10. Although Renesas endeavors to improve the quality and reliability of its products, IC products have specific
characteristics such as the occurrence of failure at a certain rate and malfunctions under certain use
conditions. Please be sure to implement safety measures to guard against the possibility of physical injury, and
injury or damage caused by fire in the event of the failure of a Renesas product, such as safety design for
hardware and software including but not limited to redundancy, fire control and malfunction prevention,
appropriate treatment for aging degradation or any other applicable measures. Among others, since the
evaluation of microcomputer software alone is very difficult, please evaluate the safety of the final products or
system manufactured by you.
11. In case Renesas products listed in this document are detached from the products to which the Renesas
products are attached or affixed, the risk of accident such as swallowing by infants and small children is very
high. You should implement safety measures so that Renesas products may not be easily detached from your
products. Renesas shall have no liability for damages arising out of such detachment.
12. This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written
approval from Renesas.
13. Please contact a Renesas sales office if you have any questions regarding the information contained in this
document, Renesas semiconductor products, or if you have any other inquiries.
Rev.1.00 Jan. 10, 2008 Page ii of xxx
REJ09B0261-0100
General Precautions in the Handling of MPU/MCU Products
The following usage notes are applicable to all MPU/MCU products from Renesas. For detailed usage notes
on the products covered by this manual, refer to the relevant sections of the manual. If the descriptions under
General Precautions in the Handling of MPU/MCU Products and in the body of the manual differ from each
other, the description in the body of the manual takes precedence.
1. Handling of Unused Pins
Handle unused pins in accord with the directions given under Handling of Unused Pins in
the manual.
The input pins of CMOS products are generally in the high-impedance state. In operation
with an unused pin in the open-circuit state, extra electromagnetic noise is induced in
the vicinity of LSI, an associated shoot-through current flows internally, and malfunctions
may occur due to the false recognition of the pin state as an input signal. Unused pins
should be handled as described under Handling of Unused Pins in the manual.
2. Processing at Power-on
The state of the product is undefined at the moment when power is supplied.
The states of internal circuits in the LSI are indeterminate and the states of register settings
and pins are undefined at the moment when power is supplied.
In a finished product where the reset signal is applied to the external reset pin, the
states of pins are not guaranteed from the moment when power is supplied until the
reset process is completed.
In a similar way, the states of pins in a product that is reset by an on-chip power-on
reset function are not guaranteed from the moment when power is supplied until the
power reaches the level at which resetting has been specified.
3. Prohibition of Access to Reserved Addresses
Access to reserved addresses is prohibited.
The reserved addresses are provided for the possible future expansion of functions. Do not
access these addresses; the correct operation of LSI is not guaranteed if they are
accessed.
4. Clock Signals
After applying a reset, only release the reset line after the operating clock signal has
become stable. When switching the clock signal during program execution, wait until the
target clock signal has stabilized.
When the clock signal is generated with an external resonator (or from an external
oscillator) during a reset, ensure that the reset line is only released after full stabilization
of the clock signal. Moreover, when switching to a clock signal produced with an
external resonator (or by an external oscillator) while program execution is in progress,
wait until the target clock signal is stable.
5. Differences between Products
Before changing from one product to another, i.e. to one with a different type number,
confirm that the change will not lead to problems.
The characteristics of MPU/MCU in the same group but having different type numbers may
differ because of the differences in internal memory capacity and layout pattern. When
changing to products of different type numbers, implement a system-evaluation test for
each of the products.
Rev.1.00 Jan. 10, 2008 Page iii of xxx
REJ09B0261-0100
Rev.1.00 Jan. 10, 2008 Page iv of xxx
REJ09B0261-0100
Preface
This LSI is a RISC (Reduced Instruction Set Computer) microcomputer which includes a Renesas
Technology-original RISC CPU (SH-4A) and various peripheral functions required to configure a
system.
Target Users: This manual was written for users who will be using this LSI in the design of
application systems. Users of this manual are expected to understand the
fundamentals of electrical circuits, logical circuits, and microcomputers.
Objective:
This manual was written to explain the hardware functions and electrical
characteristics of this LSI to the above users.
Notes on reading this manual:
• In order to understand the overall functions of the chip
Read the manual according to the contents. This manual consists of parts on the CPU, system
control functions, peripheral functions and electrical characteristics.
• In order to understand individual instructions in detail
Read the separate manuals SH-4A Extended Functions Software Manual and SH-4A Software
Manual.
Rules:
Bit order:
The MSB is on the left and the LSB is on the right.
Number notation:
Binary is B'xxxx, hexadecimal is H'xxxx, decimal is xxxx.
Signal notation:
An overbar is added to active-low signals: xxxx
Rev.1.00 Jan. 10, 2008 Page v of xxx
REJ09B0261-0100
Abbreviations
ALU
Arithmetic Logic Unit
ASID
Address Space Identifier
BGA
Ball Grid Array
CMT
Timer/Counter (Compare Match Timer)
CPG
Clock Pulse Generator
CPU
Central Processing Unit
DDR
Double Data Rate
DDRIF
DDR-SDRAM Interface
DMA
Direct Memory Access
DMAC
Direct Memory Access Controller
FIFO
First-In First-Out
FPU
Floating-point Unit
HAC
Audio Codec
H-UDI
User Debugging Interface
INTC
Interrupt Controller
JTAG
Joint Test Action Group
LBSC
Local Bus State Controller
LRAM
L Memory
LRU
Least Recently Used
LSB
Least Significant Bit
MMCIF
Multimedia Card Interface
MMU
Memory Management Unit
Rev.1.00 Jan. 10, 2008 Page vi of xxx
REJ09B0261-0100
MSB
Most Significant Bit
PC
Program Counter
PCI
Peripheral Component Interconnect
PCIC
PCI (local bus) Controller
PFC
Pin Function Controller
RISC
Reduced Instruction Set Computer
RTC
Realtime Clock
SCIF
Serial Communication Interface with FIFO
SIOF
Serial Interface with FIFO
SSI
Serial Sound Interface
TAP
Test Access Port
TLB
Translation Lookaside Buffer
TMU
Timer Unit
UART
Universal Asynchronous Receiver/Transmitter
UBC
User Break Controller
WDT
Watchdog Timer
Rev.1.00 Jan. 10, 2008 Page vii of xxx
REJ09B0261-0100
All trademarks and registered trademarks are the property of their respective owners.
Rev.1.00 Jan. 10, 2008 Page viii of xxx
REJ09B0261-0100
Contents
Section 1 Overview .................................................................................................................. 1
1.1
1.2
1.3
1.4
1.5
Features of the SH7785.......................................................................................................... 1
Block Diagram ..................................................................................................................... 13
Pin Arrangement Table ........................................................................................................ 14
Pin Arrangement .................................................................................................................. 22
Physical Memory Address Map ........................................................................................... 24
Section 2 Programming Model ........................................................................................... 25
2.1
2.2
2.3
2.4
2.5
2.6
2.7
Data Formats........................................................................................................................ 25
Register Descriptions ........................................................................................................... 26
2.2.1
Privileged Mode and Banks .................................................................................. 26
2.2.2
General Registers.................................................................................................. 30
2.2.3
Floating-Point Registers ....................................................................................... 31
2.2.4
Control Registers .................................................................................................. 33
2.2.5
System Registers................................................................................................... 35
Memory-Mapped Registers.................................................................................................. 39
Data Formats in Registers .................................................................................................... 40
Data Formats in Memory ..................................................................................................... 40
Processing States.................................................................................................................. 41
Usage Notes ......................................................................................................................... 43
2.7.1
Notes on Self-Modifying Code............................................................................. 43
Section 3 Instruction Set ....................................................................................................... 45
3.1
3.2
3.3
Execution Environment ....................................................................................................... 45
Addressing Modes ............................................................................................................... 47
Instruction Set ...................................................................................................................... 52
Section 4 Pipelining ............................................................................................................... 65
4.1
4.2
4.3
Pipelines............................................................................................................................... 65
Parallel-Executability........................................................................................................... 76
Issue Rates and Execution Cycles........................................................................................ 79
Section 5 Exception Handling ............................................................................................ 89
5.1
5.2
Summary of Exception Handling......................................................................................... 89
Register Descriptions ........................................................................................................... 89
5.2.1
TRAPA Exception Register (TRA) ...................................................................... 90
Rev.1.00 Jan. 10, 2008 Page ix of xxx
REJ09B0261-0100
5.3
5.4
5.5
5.6
5.7
5.2.2
Exception Event Register (EXPEVT)................................................................... 91
5.2.3
Interrupt Event Register (INTEVT)...................................................................... 92
5.2.4
Non-Support Detection Exception Register (EXPMASK) ................................... 93
Exception Handling Functions............................................................................................. 95
5.3.1
Exception Handling Flow ..................................................................................... 95
5.3.2
Exception Handling Vector Addresses ................................................................. 95
Exception Types and Priorities ............................................................................................ 96
Exception Flow .................................................................................................................... 98
5.5.1
Exception Flow..................................................................................................... 98
5.5.2
Exception Source Acceptance ............................................................................ 100
5.5.3
Exception Requests and BL Bit .......................................................................... 101
5.5.4
Return from Exception Handling........................................................................ 101
Description of Exceptions.................................................................................................. 102
5.6.1
Resets.................................................................................................................. 102
5.6.2
General Exceptions............................................................................................. 104
5.6.3
Interrupts............................................................................................................. 120
5.6.4
Priority Order with Multiple Exceptions ............................................................ 121
Usage Notes ....................................................................................................................... 123
Section 6 Floating-Point Unit (FPU) .............................................................................. 125
6.1
6.2
6.3
6.4
6.5
6.6
Features.............................................................................................................................. 125
Data Formats...................................................................................................................... 126
6.2.1
Floating-Point Format......................................................................................... 126
6.2.2
Non-Numbers (NaN) .......................................................................................... 129
6.2.3
Denormalized Numbers ...................................................................................... 130
Register Descriptions......................................................................................................... 131
6.3.1
Floating-Point Registers ..................................................................................... 131
6.3.2
Floating-Point Status/Control Register (FPSCR) ............................................... 133
6.3.3
Floating-Point Communication Register (FPUL) ............................................... 136
Rounding............................................................................................................................ 137
Floating-Point Exceptions.................................................................................................. 138
6.5.1
General FPU Disable Exceptions and Slot FPU Disable Exceptions ................. 138
6.5.2
FPU Exception Sources ...................................................................................... 138
6.5.3
FPU Exception Handling.................................................................................... 139
Graphics Support Functions............................................................................................... 140
6.6.1
Geometric Operation Instructions....................................................................... 140
6.6.2
Pair Single-Precision Data Transfer.................................................................... 141
Section 7 Memory Management Unit (MMU) ............................................................ 143
7.1
Overview of MMU ............................................................................................................ 144
Rev.1.00 Jan. 10, 2008 Page x of xxx
REJ09B0261-0100
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.1.1
Address Spaces ................................................................................................... 146
Register Descriptions ......................................................................................................... 152
7.2.1
Page Table Entry High Register (PTEH)............................................................ 153
7.2.2
Page Table Entry Low Register (PTEL) ............................................................. 154
7.2.3
Translation Table Base Register (TTB) .............................................................. 155
7.2.4
TLB Exception Address Register (TEA) ............................................................ 156
7.2.5
MMU Control Register (MMUCR) .................................................................... 156
7.2.6
Page Table Entry Assistance Register (PTEA)................................................... 159
7.2.7
Physical Address Space Control Register (PASCR)........................................... 160
7.2.8
Instruction Re-Fetch Inhibit Control Register (IRMCR) .................................... 162
TLB Functions (TLB Compatible Mode; MMUCR.ME = 0)............................................ 164
7.3.1
Unified TLB (UTLB) Configuration .................................................................. 164
7.3.2
Instruction TLB (ITLB) Configuration............................................................... 167
7.3.3
Address Translation Method............................................................................... 167
TLB Functions (TLB Extended Mode; MMUCR.ME = 1) ............................................... 170
7.4.1
Unified TLB (UTLB) Configuration .................................................................. 170
7.4.2
Instruction TLB (ITLB) Configuration............................................................... 173
7.4.3
Address Translation Method............................................................................... 174
MMU Functions................................................................................................................. 177
7.5.1
MMU Hardware Management............................................................................ 177
7.5.2
MMU Software Management ............................................................................. 177
7.5.3
MMU Instruction (LDTLB)................................................................................ 178
7.5.4
Hardware ITLB Miss Handling .......................................................................... 180
7.5.5
Avoiding Synonym Problems ............................................................................. 181
MMU Exceptions............................................................................................................... 182
7.6.1
Instruction TLB Multiple Hit Exception............................................................. 182
7.6.2
Instruction TLB Miss Exception......................................................................... 183
7.6.3
Instruction TLB Protection Violation Exception ................................................ 184
7.6.4
Data TLB Multiple Hit Exception ...................................................................... 185
7.6.5
Data TLB Miss Exception .................................................................................. 185
7.6.6
Data TLB Protection Violation Exception.......................................................... 187
7.6.7
Initial Page Write Exception............................................................................... 188
Memory-Mapped TLB Configuration................................................................................ 190
7.7.1
ITLB Address Array ........................................................................................... 191
7.7.2
ITLB Data Array (TLB Compatible Mode)........................................................ 192
7.7.3
ITLB Data Array (TLB Extended Mode) ........................................................... 193
7.7.4
UTLB Address Array.......................................................................................... 195
7.7.5
UTLB Data Array (TLB Compatible Mode) ...................................................... 196
7.7.6
UTLB Data Array (TLB Extended Mode).......................................................... 197
32-Bit Address Extended Mode ......................................................................................... 199
Rev.1.00 Jan. 10, 2008 Page xi of xxx
REJ09B0261-0100
7.8.1
Overview of 32-Bit Address Extended Mode..................................................... 199
7.8.2
Transition to 32-Bit Address Extended Mode .................................................... 200
7.8.3
Privileged Space Mapping Buffer (PMB) Configuration ................................... 200
7.8.4
PMB Function..................................................................................................... 202
7.8.5
Memory-Mapped PMB Configuration ............................................................... 203
7.8.6
Notes on Using 32-Bit Address Extended Mode ................................................ 204
7.9 32-Bit Boot Function ......................................................................................................... 207
7.9.1
Initial Entries to PMB......................................................................................... 207
7.9.2
Notes on 32-Bit Boot .......................................................................................... 207
7.10 Usage Notes ....................................................................................................................... 209
7.10.1 Note on Using LDTLB Instruction ..................................................................... 209
Section 8 Caches ................................................................................................................... 211
8.1
8.2
8.3
8.4
8.5
8.6
Features.............................................................................................................................. 211
Register Descriptions......................................................................................................... 215
8.2.1
Cache Control Register (CCR) ........................................................................... 216
8.2.2
Queue Address Control Register 0 (QACR0)..................................................... 218
8.2.3
Queue Address Control Register 1 (QACR1)..................................................... 219
8.2.4
On-Chip Memory Control Register (RAMCR) .................................................. 220
Operand Cache Operation.................................................................................................. 222
8.3.1
Read Operation ................................................................................................... 222
8.3.2
Prefetch Operation .............................................................................................. 223
8.3.3
Write Operation .................................................................................................. 224
8.3.4
Write-Back Buffer .............................................................................................. 225
8.3.5
Write-Through Buffer......................................................................................... 225
8.3.6
OC Two-Way Mode ........................................................................................... 226
Instruction Cache Operation .............................................................................................. 227
8.4.1
Read Operation ................................................................................................... 227
8.4.2
Prefetch Operation .............................................................................................. 227
8.4.3
IC Two-Way Mode............................................................................................. 228
8.4.4
Instruction Cache Way Prediction Operation ..................................................... 228
Cache Operation Instruction .............................................................................................. 229
8.5.1
Coherency between Cache and External Memory.............................................. 229
8.5.2
Prefetch Operation .............................................................................................. 231
Memory-Mapped Cache Configuration ............................................................................. 232
8.6.1
IC Address Array................................................................................................ 232
8.6.2
IC Data Array ..................................................................................................... 234
8.6.3
OC Address Array .............................................................................................. 234
8.6.4
OC Data Array.................................................................................................... 236
8.6.5
Memory-Mapped Cache Associative Write Operation....................................... 237
Rev.1.00 Jan. 10, 2008 Page xii of xxx
REJ09B0261-0100
8.7
8.8
Store Queues ...................................................................................................................... 238
8.7.1
SQ Configuration................................................................................................ 238
8.7.2
Writing to SQ...................................................................................................... 238
8.7.3
Transfer to External Memory.............................................................................. 239
8.7.4
Determination of SQ Access Exception.............................................................. 240
8.7.5
Reading from SQ ................................................................................................ 240
Notes on Using 32-Bit Address Extended Mode ............................................................... 241
Section 9 On-Chip Memory .............................................................................................. 243
9.1
9.2
9.3
9.4
9.5
9.6
Features.............................................................................................................................. 243
Register Descriptions ......................................................................................................... 246
9.2.1
On-Chip Memory Control Register (RAMCR) .................................................. 247
9.2.2
OL memory Transfer Source Address Register 0 (LSA0).................................. 248
9.2.3
OL memory Transfer Source Address Register 1 (LSA1).................................. 250
9.2.4
OL memory Transfer Destination Address Register 0 (LDA0) .......................... 252
9.2.5
OL memory Transfer Destination Address Register 1 (LDA1) .......................... 254
Operation ........................................................................................................................... 256
9.3.1
Instruction Fetch Access from the CPU.............................................................. 256
9.3.2
Operand Access from the CPU and Access from the FPU ................................. 256
9.3.3
Access from the SuperHyway Bus Master Module ............................................ 257
9.3.4
OL Memory Block Transfer ............................................................................... 257
On-Chip Memory Protective Functions ............................................................................. 260
Usage Notes ....................................................................................................................... 261
9.5.1
Page Conflict ...................................................................................................... 261
9.5.2
Access Across Different Pages ........................................................................... 261
9.5.3
On-Chip Memory Coherency ............................................................................. 261
9.5.4
Sleep Mode ......................................................................................................... 262
Note on Using 32-Bit Address Extended Mode................................................................. 262
Section 10 Interrupt Controller (INTC) ......................................................................... 263
10.1 Features.............................................................................................................................. 263
10.1.1 Interrupt Method................................................................................................. 266
10.1.2 Interrupt Sources................................................................................................. 267
10.2 Input/Output Pins ............................................................................................................... 272
10.3 Register Descriptions ......................................................................................................... 273
10.3.1 External Interrupt Request Registers .................................................................. 277
10.3.2 User Mode Interrupt Disable Function ............................................................... 298
10.3.3 On-chip Module Interrupt Priority Registers ...................................................... 300
10.3.4 Individual On-Chip Module Interrupt Source Registers (INT2B0 to INT2B7).. 314
10.3.5 GPIO Interrupt Set Register (INT2GPIC) .......................................................... 322
Rev.1.00 Jan. 10, 2008 Page xiii of xxx
REJ09B0261-0100
10.4 Interrupt Sources................................................................................................................ 324
10.4.1 NMI Interrupts.................................................................................................... 324
10.4.2 IRQ Interrupts..................................................................................................... 324
10.4.3 IRL Interrupts ..................................................................................................... 325
10.4.4 On-Chip Peripheral Module Interrupts ............................................................... 327
10.4.5 Priority of On-Chip Peripheral Module Interrupts.............................................. 328
10.4.6 Interrupt Exception Handling and Priority ......................................................... 329
10.5 Operation ........................................................................................................................... 337
10.5.1 Interrupt Sequence .............................................................................................. 337
10.5.2 Multiple Interrupts .............................................................................................. 339
10.5.3 Interrupt Masking by MAI Bit............................................................................ 339
10.6 Interrupt Response Time.................................................................................................... 340
10.7 Usage Notes ....................................................................................................................... 343
10.7.1 Example of Handing Routine of IRL Interrupts and Level Detection
IRQ Interrupts when ICR0.LVLMODE = 0 ....................................................... 343
10.7.2 Notes on Setting IRQ/IRL[7:0] Pin Function ..................................................... 344
10.7.3 Clearing IRQ and IRL Interrupt Requests .......................................................... 345
Section 11 Local Bus State Controller (LBSC) ........................................................... 347
11.1 Features.............................................................................................................................. 347
11.2 Input/Output Pins............................................................................................................... 350
11.3 Overview of Areas ............................................................................................................. 354
11.3.1 Space Divisions .................................................................................................. 354
11.3.2 Memory Bus Width ............................................................................................ 357
11.3.3 PCMCIA Support ............................................................................................... 358
11.4 Register Descriptions......................................................................................................... 362
11.4.1 Memory Address Map Select Register (MMSELR)........................................... 364
11.4.2 Bus Control Register (BCR) ............................................................................... 367
11.4.3 CSn Bus Control Register (CSnBCR) ................................................................ 371
11.4.4 CSn Wait Control Register (CSnWCR).............................................................. 377
11.4.5 CSn PCMCIA Control Register (CSnPCR)........................................................ 382
11.5 Operation ........................................................................................................................... 387
11.5.1 Endian/Access Size and Data Alignment ........................................................... 387
11.5.2 Areas................................................................................................................... 398
11.5.3 SRAM interface .................................................................................................. 403
11.5.4 Burst ROM Interface .......................................................................................... 412
11.5.5 PCMCIA Interface.............................................................................................. 416
11.5.6 MPX Interface .................................................................................................... 427
11.5.7 Byte Control SRAM Interface ............................................................................ 441
11.5.8 Wait Cycles between Access Cycles .................................................................. 446
Rev.1.00 Jan. 10, 2008 Page xiv of xxx
REJ09B0261-0100
11.5.9
11.5.10
11.5.11
11.5.12
11.5.13
11.5.14
Bus Arbitration ................................................................................................... 448
Master Mode....................................................................................................... 450
Slave Mode ......................................................................................................... 451
Cooperation between Master and Slave.............................................................. 451
Power-Down Mode and Bus Arbitration ............................................................ 451
Mode Pin Settings and General Input Output Port Settings about
Data Bus Width................................................................................................... 452
11.5.15 Pins Multiplexed with Other Modules Functions ............................................... 452
11.5.16 Register Settings for Divided-Up DACKn Output ............................................. 452
Section 12 DDR2-SDRAM Interface (DBSC2) .......................................................... 457
12.1
12.2
12.3
12.4
Features.............................................................................................................................. 457
Input/Output Pins ............................................................................................................... 460
Data Alignment.................................................................................................................. 465
Register Descriptions ......................................................................................................... 479
12.4.1 DBSC2 Status Register (DBSTATE) ................................................................. 482
12.4.2 SDRAM Operation Enable Register (DBEN)..................................................... 483
12.4.3 SDRAM Command Control Register (DBCMDCNT) ....................................... 484
12.4.4 SDRAM Configuration Setting Register (DBCONF)......................................... 486
12.4.5 SDRAM Timing Register 0 (DBTR0) ................................................................ 488
12.4.6 SDRAM Timing Register 1 (DBTR1) ................................................................ 492
12.4.7 SDRAM Timing Register 2 (DBTR2) ................................................................ 495
12.4.8 SDRAM Refresh Control Register 0 (DBRFCNT0) .......................................... 499
12.4.9 SDRAM Refresh Control Register 1 (DBRFCNT1) .......................................... 500
12.4.10 SDRAM Refresh Control Register 2 (DBRFCNT2) .......................................... 502
12.4.11 SDRAM Refresh Status Register (DBRFSTS) ................................................... 504
12.4.12 DDRPAD Frequency Setting Register (DBFREQ) ............................................ 505
12.4.13 DDRPAD DIC, ODT, OCD Setting Register (DBDICODTOCD)..................... 507
12.4.14 SDRAM Mode Setting Register (DBMRCNT) .................................................. 510
12.5 DBSC2 Operation .............................................................................................................. 512
12.5.1 Supported SDRAM Commands.......................................................................... 512
12.5.2 SDRAM Command Issue ................................................................................... 513
12.5.3 Initialization Sequence........................................................................................ 516
12.5.4 Self-Refresh Operation ....................................................................................... 517
12.5.5 Auto-Refresh Operation...................................................................................... 520
12.5.6 Regarding Address Multiplexing........................................................................ 521
12.5.7 Regarding SDRAM Access and Timing Constraints.......................................... 530
12.5.8 Important Information Regarding Use of 8-Bank DDR2-SDRAM Products ..... 544
12.5.9 Important Information Regarding ODT Control Signal Output to SDRAM ...... 544
12.5.10 DDR2-SDRAM Power Supply Backup Function............................................... 546
Rev.1.00 Jan. 10, 2008 Page xv of xxx
REJ09B0261-0100
12.5.11 Method for Securing Time Required for Initialization, Self-Refresh
Cancellation, etc. ................................................................................................ 549
12.5.12 Regarding the Supported Clock Ratio ................................................................ 549
12.5.13 Regarding MCKE Signal Operation ................................................................... 550
Section 13 PCI Controller (PCIC) ................................................................................... 551
13.1 Features.............................................................................................................................. 551
13.2 Input/Output Pins............................................................................................................... 554
13.3 Register Descriptions......................................................................................................... 557
13.3.1 PCIC Enable Control Register (PCIECR) .......................................................... 562
13.3.2 Configuration Registers ...................................................................................... 563
13.3.3 PCI Local Registers ............................................................................................ 590
13.4 Operation ........................................................................................................................... 630
13.4.1 Supported PCI Commands ................................................................................. 630
13.4.2 PCIC Initialization .............................................................................................. 631
13.4.3 Master Access..................................................................................................... 632
13.4.4 Target Access ..................................................................................................... 640
13.4.5 Host Mode .......................................................................................................... 648
13.4.6 Normal Mode...................................................................................................... 651
13.4.7 Power Management ............................................................................................ 651
13.4.8 PCI Local Bus Basic Interface............................................................................ 653
Section 14 Direct Memory Access Controller (DMAC)........................................... 665
14.1 Features.............................................................................................................................. 665
14.2 Input/Output Pins............................................................................................................... 667
14.3 Register Descriptions......................................................................................................... 668
14.3.1 DMA Source Address Registers 0 to 11 (SAR0 to SAR11)............................... 675
14.3.2 DMA Source Address Registers B0 to B3, B6 to B9
(SARB0 to SARB3, SARB6 to SARB9)............................................................ 676
14.3.3 DMA Destination Address Registers 0 to 11 (DAR0 to DAR11) ...................... 677
14.3.4 DMA Destination Address Registers B0 to B3, B6 to B9
(DARB0 to DARB3, DARB6 to DARB9) ......................................................... 678
14.3.5 DMA Transfer Count Registers 0 to 11 (TCR0 to TCR11)................................ 679
14.3.6 DMA Transfer Count Registers B0 to B3, B6 to B9
(TCRB0 to TCRB3, TCRB6 to TCRB9)............................................................ 680
14.3.7 DMA Channel Control Registers 0 to 11 (CHCR0 to CHCR11) ....................... 681
14.3.8 DMA Operation Register 0, 1 (DMAOR0 and DMAOR1)................................ 689
14.3.9 DMA Extended Resource Selectors 0 to 5 (DMARS0 to DMARS5)................. 693
14.4 Operation ........................................................................................................................... 701
14.4.1 DMA Transfer Requests ..................................................................................... 701
Rev.1.00 Jan. 10, 2008 Page xvi of xxx
REJ09B0261-0100
14.4.2 Channel Priority.................................................................................................. 706
14.4.3 DMA Transfer Types.......................................................................................... 709
14.4.4 DMA Transfer Flow ........................................................................................... 717
14.4.5 Repeat Mode Transfer ........................................................................................ 719
14.4.6 Reload Mode Transfer ........................................................................................ 720
14.4.7 DREQ Pin Sampling Timing .............................................................................. 721
14.5 DMAC Interrupt Sources ................................................................................................... 729
14.6 Usage Notes ....................................................................................................................... 730
14.6.1 Stopping Modules and Changing Frequency ...................................................... 730
14.6.2 Address Error...................................................................................................... 730
14.6.3 NMI Interrupt...................................................................................................... 730
14.6.4 Burst Mode Transfer........................................................................................... 730
14.6.5 Divided-Up DACK Output................................................................................. 730
14.6.6 DACK/DREQ Setting......................................................................................... 731
Section 15 Clock Pulse Generator (CPG) ..................................................................... 733
15.1
15.2
15.3
15.4
Features.............................................................................................................................. 733
Input/Output Pins ............................................................................................................... 736
Clock Operating Modes ..................................................................................................... 737
Register Descriptions ......................................................................................................... 739
15.4.1 Frequency Control Register 0 (FRQCR0) .......................................................... 741
15.4.2 Frequency Control Register 1 (FRQCR1) .......................................................... 742
15.4.3 Frequency Display Register 1 (FRQMR1) ......................................................... 745
15.4.4 PLL Control Register (PLLCR).......................................................................... 747
15.5 Calculating the Frequency ................................................................................................. 748
15.6 How to Change the Frequency........................................................................................... 749
15.6.1 Changing the Frequency of Clocks Other than the Bus Clock ........................... 749
15.6.2 Changing the Bus Clock Frequency ................................................................... 749
15.7 Notes on Designing Board ................................................................................................. 756
Section 16 Watchdog Timer and Reset (WDT) ........................................................... 759
16.1 Features.............................................................................................................................. 759
16.2 Input/Output Pins ............................................................................................................... 761
16.3 Register Descriptions ......................................................................................................... 762
16.3.1 Watchdog Timer Stop Time Register (WDTST) ................................................ 763
16.3.2 Watchdog Timer Control/Status Register (WDTCSR)....................................... 764
16.3.3 Watchdog Timer Base Stop Time Register (WDTBST)..................................... 766
16.3.4 Watchdog Timer Counter (WDTCNT)............................................................... 767
16.3.5 Watchdog Timer Base Counter (WDTBCNT) ................................................... 768
16.4 Operation ........................................................................................................................... 769
Rev.1.00 Jan. 10, 2008 Page xvii of xxx
REJ09B0261-0100
16.4.1 Reset Request ..................................................................................................... 769
16.4.2 Using Watchdog Timer Mode ............................................................................ 771
16.4.3 Using Interval Timer Mode ................................................................................ 771
16.4.4 Time until WDT Counters Overflow.................................................................. 772
16.4.5 Clearing WDT Counters ..................................................................................... 773
16.5 Status Pin Change Timing during Reset ............................................................................ 774
16.5.1 Power-On Reset by PRESET Pin ....................................................................... 774
16.5.2 Power-On Reset by Watchdog Timer Overflow................................................. 777
16.5.3 Manual Reset by Watchdog Timer Overflow ..................................................... 779
Section 17 Power-Down Mode ........................................................................................ 781
17.1 Features.............................................................................................................................. 781
17.1.1 Types of Power-Down Modes ............................................................................ 781
17.2 Input/Output Pins............................................................................................................... 783
17.3 Register Descriptions......................................................................................................... 783
17.3.1 Sleep Control Register (SLPCR) ........................................................................ 785
17.3.2 Standby Control Register 0 (MSTPCR0) ........................................................... 786
17.3.3 Standby Control Register 1 (MSTPCR1) ........................................................... 789
17.3.4 Standby Display Register (MSTPMR) ............................................................... 791
17.4 Sleep Mode ........................................................................................................................ 793
17.4.1 Transition to Sleep Mode.................................................................................... 793
17.4.2 Releasing Sleep Mode ........................................................................................ 793
17.5 Deep Sleep Mode............................................................................................................... 794
17.5.1 Transition to Deep Sleep Mode .......................................................................... 794
17.5.2 Releasing Deep Sleep Mode ............................................................................... 795
17.6 Module Standby Functions ................................................................................................ 796
17.6.1 Transition to Module Standby Mode .................................................................. 796
17.6.2 Releasing Module Standby Functions ................................................................ 796
17.7 Timing of the Changes on the STATUS Pins .................................................................... 797
17.7.1 Reset ................................................................................................................... 797
17.7.2 Releasing Sleep Mode ........................................................................................ 797
17.8 DDR-SDRAM Power Supply Backup............................................................................... 797
Section 18 Timer Unit (TMU) .......................................................................................... 799
18.1 Features.............................................................................................................................. 799
18.2 Input/Output Pins............................................................................................................... 801
18.3 Register Descriptions......................................................................................................... 802
18.3.1 Timer Start Registers (TSTRn) (n = 0, 1) ........................................................... 804
18.3.2 Timer Constant Registers (TCORn) (n = 0 to 5) ................................................ 806
18.3.3 Timer Counters (TCNTn) (n = 0 to 5) ................................................................ 806
Rev.1.00 Jan. 10, 2008 Page xviii of xxx
REJ09B0261-0100
18.3.4 Timer Control Registers (TCRn) (n = 0 to 5) ..................................................... 807
18.3.5 Input Capture Register 2 (TCPR2) ..................................................................... 809
18.4 Operation ........................................................................................................................... 810
18.4.1 Counter Operation .............................................................................................. 810
18.4.2 Input Capture Function ....................................................................................... 813
18.5 Interrupts............................................................................................................................ 814
18.6 Usage Notes ....................................................................................................................... 815
18.6.1 Register Writes ................................................................................................... 815
18.6.2 Reading from TCNT........................................................................................... 815
18.6.3 External Clock Frequency .................................................................................. 815
Section 19 Display Unit (DU) .......................................................................................... 817
19.1 Features.............................................................................................................................. 817
19.2 Input/Output Pins ............................................................................................................... 820
19.3 Register Descriptions ......................................................................................................... 821
19.3.1 Display Unit System Control Register................................................................ 841
19.3.2 Display Mode Register (DSMR) ........................................................................ 845
19.3.3 Display Status Register (DSSR) ......................................................................... 849
19.3.4 Display Unit Status Register Clear Register (DSRCR) ...................................... 853
19.3.5 Display Unit Interrupt Enable Register (DIER).................................................. 854
19.3.6 Color Palette Control Register (CPCR) .............................................................. 857
19.3.7 Display Plane Priority Register (DPPR) ............................................................. 859
19.3.8 Display Unit Extensional Function Enable Register (DEFR)............................. 862
19.3.9 Horizontal Display Start Register (HDSR)......................................................... 864
19.3.10 Horizontal Display End Register (HDER).......................................................... 865
19.3.11 Vertical Display Start Register (VDSR) ............................................................. 866
19.3.12 Vertical Display End Register (VDER) .............................................................. 867
19.3.13 Horizontal Cycle Register (HCR)....................................................................... 868
19.3.14 Horizontal Sync Width Register (HSWR) .......................................................... 869
19.3.15 Vertical Cycle Register (VCR) ........................................................................... 870
19.3.16 Vertical Sync Point Register (VSPR) ................................................................. 871
19.3.17 Equal Pulse Width Register (EQWR)................................................................. 872
19.3.18 Separation Width Register (SPWR).................................................................... 873
19.3.19 CLAMP Signal Start Register (CLAMPSR) ...................................................... 874
19.3.20 CLAMP Signal Width Register (CLAMPWR)................................................... 875
19.3.21 DE Signal Start Register (DESR) ....................................................................... 876
19.3.22 DE Signal Width Register (DEWR) ................................................................... 877
19.3.23 Color Palette 1 Transparent Color Register (CP1TR)......................................... 878
19.3.24 Color Palette 2 Transparent Color Register (CP2TR)......................................... 881
19.3.25 Color Palette 3 Transparent Color Register (CP3TR)......................................... 884
Rev.1.00 Jan. 10, 2008 Page xix of xxx
REJ09B0261-0100
19.3.26 Color Palette 4 Transparent Color Register (CP4TR) ........................................ 887
19.3.27 Display Off Mode Output Register (DOOR)...................................................... 890
19.3.28 Color Detection Register (CDER) ...................................................................... 891
19.3.29 Background Plane Output Register (BPOR)....................................................... 892
19.3.30 Raster Interrupt Offset Register (RINTOFSR) ................................................... 894
19.3.31 Plane n Mode Register (PnMR) (n = 1 to 6) ....................................................... 895
19.3.32 Plane n Memory Width Register (PnMWR) (n = 1 to 6).................................... 898
19.3.33 Plane n Blending Ratio Register (PnALPHAR) (n = 1 to 6) .............................. 899
19.3.34 Plane n Display Size X Register (PnDSXR) (n = 1 to 6).................................... 901
19.3.35 Plane n Display Size Y Register (PnDSYR) (n = 1 to 6).................................... 902
19.3.36 Plane n Display Position X Register (PnDPXR) (n = 1 to 6).............................. 903
19.3.37 Plane n Display Position Y Register (PnDPYR) (n = 1 to 6).............................. 904
19.3.38 Plane n Display Area Start Address 0 Register (PnDSA0R) (n = 1 to 6) ........... 905
19.3.39 Plane n Display Area Start Address 1 Register (PnDSA1R) (n = 1 to 6) ........... 906
19.3.40 Plane n Start Position X Register (PnSPXR) (n = 1 to 6) ................................... 907
19.3.41 Plane n Start Position Y Register (PnSPYR) (n = 1 to 6) ................................... 908
19.3.42 Plane n Wrap Around Start Position Register (PnWASPR) (n = 1 to 6) ............ 909
19.3.43 Plane n Wrap Around Memory Width Register (PnWAMWR) (n = 1 to 6) ...... 910
19.3.44 Plane n Blinking Time Register (PnBTR) (n = 1 to 6) ....................................... 911
19.3.45 Plane n Transparent Color 1 Register (PnTC1R) (n = 1 to 6)............................. 912
19.3.46 Plane n Transparent Color 2 Register (PnTC2R) (n = 1 to 6)............................. 913
19.3.47 Plane n Memory Length Register (PnMLR) (n = 1 to 6).................................... 914
19.3.48 Color Palette 1 Register 000 to 255 (CP1_000R to CP1_255R) ........................ 915
19.3.49 Color Palette 2 Register 000 to 255 (CP2_000R to CP2_255R) ........................ 916
19.3.50 Color Palette 3 Register 000 to 255 (CP3_000R to CP3_255R) ........................ 918
19.3.51 Color Palette 4 Register 000 to 255 (CP4_000R to CP4_255R) ........................ 919
19.3.52 External Synchronization Control Register (ESCR)........................................... 921
19.3.53 Output Signal Timing Adjustment Register (OTAR) ......................................... 923
19.4 Operation ........................................................................................................................... 930
19.4.1 Configuration of Output Screen.......................................................................... 930
19.4.2 Display On/Off ................................................................................................... 933
19.4.3 Plane Parameter .................................................................................................. 934
19.4.4 Memory Allocation............................................................................................. 936
19.4.5 Input Display Data Format ................................................................................. 937
19.4.6 Output Data Format ............................................................................................ 940
19.4.7 Endian Conversion.............................................................................................. 940
19.4.8 Color Palettes...................................................................................................... 942
19.4.9 Superpositioning of Planes ................................................................................. 943
19.4.10 Display Contention ............................................................................................. 947
19.4.11 Blinking .............................................................................................................. 949
Rev.1.00 Jan. 10, 2008 Page xx of xxx
REJ09B0261-0100
19.4.12 Scroll Display ..................................................................................................... 950
19.4.13 Wraparound Display ........................................................................................... 951
19.4.14 Upper-Left Overflow Display............................................................................. 952
19.4.15 Double Buffer Control ........................................................................................ 953
19.4.16 Sync Mode .......................................................................................................... 954
19.5 Display Control.................................................................................................................. 956
19.5.1 Display Timing Generation ................................................................................ 956
19.5.2 CSYNC............................................................................................................... 959
19.5.3 Scan Method ....................................................................................................... 961
19.5.4 Color Detection................................................................................................... 965
19.5.5 Output Signal Timing Adjustment...................................................................... 966
19.5.6 CLAMP Signal and DE Signal ........................................................................... 967
19.6 Power-Down Sequence ...................................................................................................... 968
19.6.1 Procedures before Executing the Power-Down Sequence .................................. 968
19.6.2 Resetting the Power-Down Sequence ................................................................. 968
Section 20 Graphics Data Translation Accelerator (GDTA) ................................... 969
20.1 Features.............................................................................................................................. 969
20.2 GDTA Address Space........................................................................................................ 973
20.3 Register Descriptions ......................................................................................................... 974
20.3.1 GA Mask Register (GACMR) ............................................................................ 979
20.3.2 GA Enable Register (GACER) ........................................................................... 980
20.3.3 GA Interrupt Source Indicating Register (GACISR) .......................................... 981
20.3.4 GA Interrupt Source Indication Clear Register (GACICR) ................................ 982
20.3.5 GA Interrupt Enable Register (GACIER)........................................................... 983
20.3.6 GA CL Input Data Alignment Register (DRCL_CTL)....................................... 984
20.3.7 GA CL Output Data Alignment Register (DWCL_CTL)................................... 985
20.3.8 GA MC Input Data Alignment Register (DRMC_CTL) .................................... 986
20.3.9 GA MC Output Data Alignment Register (DWMC_CTL)................................. 987
20.3.10 GA Buffer RAM 0 Data Alignment Register (DCP_CTL)................................. 988
20.3.11 GA Buffer RAM 1 Data Alignment Register (DID_CTL) ................................. 989
20.3.12 CL Command FIFO (CLCF) .............................................................................. 990
20.3.13 CL Control Register (CLCR).............................................................................. 991
20.3.14 CL Status Register (CLSR)................................................................................. 993
20.3.15 CL Frame Width Setting Register (CLWR) ....................................................... 994
20.3.16 CL Frame Height Setting Register (CLHR) ....................................................... 995
20.3.17 CL Input Y Padding Size Setting Register (CLIYPR)........................................ 996
20.3.18 CL Input UV Padding Size Setting Register (CLIUVPR) .................................. 997
20.3.19 CL Output Padding Size Setting Register (CLOPR) .......................................... 998
20.3.20 CL Palette Pointer Register (CLPLPR) .............................................................. 999
Rev.1.00 Jan. 10, 2008 Page xxi of xxx
REJ09B0261-0100
20.4
20.5
20.6
20.7
20.3.21 MC Command FIFO (MCCF) .......................................................................... 1000
20.3.22 MC Status Register (MCSR) ............................................................................ 1003
20.3.23 MC Frame Width Setting Register (MCWR) ................................................... 1004
20.3.24 MC Frame Height Setting Register (MCHR) ................................................... 1005
20.3.25 MC Y Padding Size Setting Register (MCYPR) .............................................. 1006
20.3.26 MC UV Padding Size Setting Register (MCUVPR) ........................................ 1007
20.3.27 MC Output Frame Y Pointer Register (MCOYPR).......................................... 1008
20.3.28 MC Output Frame U Pointer Register (MCOUPR).......................................... 1008
20.3.29 MC Output Frame V Pointer Register (MCOVPR).......................................... 1009
20.3.30 MC Past Frame Y Pointer Register (MCPYPR)............................................... 1009
20.3.31 MC Past Frame U Pointer Register (MCPUPR)............................................... 1010
20.3.32 MC Past Frame V Pointer Register (MCPVPR)............................................... 1010
20.3.33 MC Future Frame Y Pointer Register (MCFYPR) ........................................... 1011
20.3.34 MC Future Frame U Pointer Register (MCFUPR) ........................................... 1011
20.3.35 MC Future Frame V Pointer Register (MCFVPR) ........................................... 1012
GDTA Operation ............................................................................................................. 1013
20.4.1 Explanation of CL Operation............................................................................ 1013
20.4.2 Explanation of MC Operation........................................................................... 1019
Interrupt Processing ......................................................................................................... 1029
Data Alignment................................................................................................................ 1029
Usage Notes ..................................................................................................................... 1031
20.7.1 Regarding Module Stoppage ............................................................................ 1031
20.7.2 Regarding Deep Sleep Modes........................................................................... 1031
20.7.3 Regarding Frequency Changes ......................................................................... 1032
Section 21 Serial Communication Interface with FIFO (SCIF) ........................... 1033
21.1 Features............................................................................................................................ 1033
21.2 Input/Output Pins............................................................................................................. 1039
21.3 Register Descriptions....................................................................................................... 1040
21.3.1 Receive Shift Register (SCRSR) ...................................................................... 1046
21.3.2 Receive FIFO Data Register (SCFRDR) .......................................................... 1046
21.3.3 Transmit Shift Register (SCTSR) ..................................................................... 1047
21.3.4 Transmit FIFO Data Register (SCFTDR)......................................................... 1047
21.3.5 Serial Mode Register (SCSMR) ....................................................................... 1048
21.3.6 Serial Control Register (SCSCR) ..................................................................... 1051
21.3.7 Serial Status Register n (SCFSR) ..................................................................... 1055
21.3.8 Bit Rate Register n (SCBRR) ........................................................................... 1061
21.3.9 FIFO Control Register n (SCFCR) ................................................................... 1062
21.3.10 Transmit FIFO Data Count Register n (SCTFDR) ........................................... 1064
21.3.11 Receive FIFO Data Count Register n (SCRFDR) ............................................ 1065
Rev.1.00 Jan. 10, 2008 Page xxii of xxx
REJ09B0261-0100
21.3.12 Serial Port Register n (SCSPTR) ...................................................................... 1066
21.3.13 Line Status Register n (SCLSR) ....................................................................... 1069
21.3.14 Serial Error Register n (SCRER) ...................................................................... 1070
21.4 Operation ......................................................................................................................... 1071
21.4.1 Overview .......................................................................................................... 1071
21.4.2 Operation in Asynchronous Mode .................................................................... 1074
21.4.3 Operation in Clocked Synchronous Mode ........................................................ 1085
21.5 SCIF Interrupt Sources and the DMAC ........................................................................... 1094
21.6 Usage Notes ..................................................................................................................... 1096
Section 22 Serial I/O with FIFO (SIOF) ...................................................................... 1099
22.1 Features............................................................................................................................ 1099
22.2 Input/Output Pins ............................................................................................................. 1101
22.3 Register Descriptions ....................................................................................................... 1102
22.3.1 Mode Register (SIMDR) .................................................................................. 1104
22.3.2 Control Register (SICTR)................................................................................. 1106
22.3.3 Transmit Data Register (SITDR) ...................................................................... 1108
22.3.4 Receive Data Register (SIRDR) ....................................................................... 1109
22.3.5 Transmit Control Data Register (SITCR) ......................................................... 1110
22.3.6 Receive Control Data Register (SIRCR) .......................................................... 1111
22.3.7 Status Register (SISTR).................................................................................... 1112
22.3.8 Interrupt Enable Register (SIIER) .................................................................... 1118
22.3.9 FIFO Control Register (SIFCTR) ..................................................................... 1120
22.3.10 Clock Select Register (SISCR) ......................................................................... 1122
22.3.11 Transmit Data Assign Register (SITDAR) ....................................................... 1123
22.3.12 Receive Data Assign Register (SIRDAR) ........................................................ 1125
22.3.13 Control Data Assign Register (SICDAR) ......................................................... 1126
22.4 Operation ......................................................................................................................... 1128
22.4.1 Serial Clocks..................................................................................................... 1128
22.4.2 Serial Timing .................................................................................................... 1129
22.4.3 Transfer Data Format........................................................................................ 1131
22.4.4 Register Allocation of Transfer Data ................................................................ 1133
22.4.5 Control Data Interface ...................................................................................... 1135
22.4.6 FIFO.................................................................................................................. 1137
22.4.7 Transmit and Receive Procedures..................................................................... 1139
22.4.8 Interrupts........................................................................................................... 1144
22.4.9 Transmit and Receive Timing........................................................................... 1146
Section 23 Serial Peripheral Interface (HSPI)............................................................ 1151
23.1 Features............................................................................................................................ 1151
Rev.1.00 Jan. 10, 2008 Page xxiii of xxx
REJ09B0261-0100
23.2 Input/Output Pins............................................................................................................. 1153
23.3 Register Descriptions....................................................................................................... 1153
23.3.1 Control Register (SPCR) .................................................................................. 1155
23.3.2 Status Register (SPSR) ..................................................................................... 1158
23.3.3 System Control Register (SPSCR) ................................................................... 1161
23.3.4 Transmit Buffer Register (SPTBR) .................................................................. 1163
23.3.5 Receive Buffer Register (SPRBR).................................................................... 1164
23.4 Operation ......................................................................................................................... 1165
23.4.1 Operation Overview with FIFO Mode Disabled............................................... 1165
23.4.2 Operation with FIFO Mode Enabled ................................................................ 1166
23.4.3 Timing Diagrams .............................................................................................. 1167
23.4.4 HSPI Software Reset ........................................................................................ 1169
23.4.5 Clock Polarity and Transmit Control................................................................ 1169
23.4.6 Transmit and Receive Routines ........................................................................ 1169
23.4.7 Flags and Interrupt Timing ............................................................................... 1170
23.4.8 Low-Power Consumption and Clock Synchronization..................................... 1170
Section 24 Multimedia Card Interface (MMCIF) ..................................................... 1171
24.1 Features............................................................................................................................ 1171
24.2 Input/Output Pins............................................................................................................. 1172
24.3 Register Descriptions....................................................................................................... 1173
24.3.1 Command Registers 0 to 5 (CMDR0 to CMDR5)............................................ 1177
24.3.2 Command Start Register (CMDSTRT) ............................................................ 1178
24.3.3 Operation Control Register (OPCR)................................................................. 1179
24.3.4 Card Status Register (CSTR)............................................................................ 1181
24.3.5 Interrupt Control Registers 0 to 2 (INTCR0 to INTCR2)................................. 1183
24.3.6 Interrupt Status Registers 0 to 2 (INTSTR0 to INTSTR2) ............................... 1187
24.3.7 Transfer Clock Control Register (CLKON) ..................................................... 1193
24.3.8 Command Timeout Control Register (CTOCR)............................................... 1194
24.3.9 Transfer Byte Number Count Register (TBCR) ............................................... 1195
24.3.10 Mode Register (MODER)................................................................................. 1196
24.3.11 Command Type Register (CMDTYR).............................................................. 1197
24.3.12 Response Type Register (RSPTYR)................................................................. 1198
24.3.13 Transfer Block Number Counter (TBNCR) ..................................................... 1202
24.3.14 Response Registers 0 to 16, D (RSPR0 to RSPR16, RSPRD).......................... 1203
24.3.15 Data Timeout Register (DTOUTR) .................................................................. 1205
24.3.16 Data Register (DR) ........................................................................................... 1206
24.3.17 FIFO Pointer Clear Register (FIFOCLR) ......................................................... 1207
24.3.18 DMA Control Register (DMACR) ................................................................... 1208
24.4 Operation ......................................................................................................................... 1209
Rev.1.00 Jan. 10, 2008 Page xxiv of xxx
REJ09B0261-0100
24.4.1 Operations in MMC Mode................................................................................ 1209
24.5 MMCIF Interrupt Sources................................................................................................ 1239
24.6 Operations when Using DMA.......................................................................................... 1240
24.6.1 Operation in Read Sequence............................................................................. 1240
24.6.2 Operation in Write Sequence ............................................................................ 1250
24.7 Register Accesses with Little Endian Specification......................................................... 1261
Section 25 Audio Codec Interface (HAC) .................................................................. 1263
25.1 Features............................................................................................................................ 1263
25.2 Input/Output Pins ............................................................................................................. 1265
25.3 Register Descriptions ....................................................................................................... 1266
25.3.1 Control and Status Register (HACCR) ............................................................. 1269
25.3.2 Command/Status Address Register (HACCSAR) ............................................ 1271
25.3.3 Command/Status Data Register (HACCSDR).................................................. 1273
25.3.4 PCM Left Channel Register (HACPCML)....................................................... 1275
25.3.5 PCM Right Channel Register (HACPCMR) .................................................... 1277
25.3.6 TX Interrupt Enable Register (HACTIER)....................................................... 1278
25.3.7 TX Status Register (HACTSR)......................................................................... 1279
25.3.8 RX Interrupt Enable Register (HACRIER) ...................................................... 1281
25.3.9 RX Status Register (HACRSR) ........................................................................ 1282
25.3.10 HAC Control Register (HACACR) .................................................................. 1284
25.4 AC 97 Frame Slot Structure............................................................................................. 1286
25.5 Operation ......................................................................................................................... 1288
25.5.1 Receiver ............................................................................................................ 1288
25.5.2 Transmitter........................................................................................................ 1288
25.5.3 DMA................................................................................................................. 1289
25.5.4 Interrupts........................................................................................................... 1289
25.5.5 Initialization Sequence...................................................................................... 1290
25.5.6 Power-Down Mode........................................................................................... 1295
25.5.7 Notes................................................................................................................. 1295
25.5.8 Reference .......................................................................................................... 1295
Section 26 Serial Sound Interface (SSI) Module ...................................................... 1297
26.1 Features............................................................................................................................ 1297
26.2 Input/Output Pins ............................................................................................................. 1299
26.3 Register Descriptions ....................................................................................................... 1300
26.3.1 Control Register (SSICR) ................................................................................. 1301
26.3.2 Status Register (SSISR) .................................................................................... 1308
26.3.3 Transmit Data Register (SSITDR).................................................................... 1313
26.3.4 Receive Data Register (SSIRDR) ..................................................................... 1313
Rev.1.00 Jan. 10, 2008 Page xxv of xxx
REJ09B0261-0100
26.4 Operation ......................................................................................................................... 1314
26.4.1 Bus Format ....................................................................................................... 1314
26.4.2 Non-Compressed Modes .................................................................................. 1315
26.4.3 Compressed Modes........................................................................................... 1324
26.4.4 Operation Modes .............................................................................................. 1327
26.4.5 Transmit Operation........................................................................................... 1328
26.4.6 Receive Operation ............................................................................................ 1331
26.4.7 Serial Clock Control ......................................................................................... 1334
26.5 Usage Note....................................................................................................................... 1335
26.5.1 Restrictions when an Overflow Occurs during Receive DMA Operation ........ 1335
26.5.2 Pin Function Setting for the SSI Module.......................................................... 1335
26.5.3 Usage Note in Slave Mode ............................................................................... 1335
Section 27 NAND Flash Memory Controller (FLCTL).......................................... 1337
27.1 Features............................................................................................................................ 1337
27.2 Input/Output Pins............................................................................................................. 1340
27.3 Register Descriptions....................................................................................................... 1342
27.3.1 Common Control Register (FLCMNCR) ......................................................... 1344
27.3.2 Command Control Register (FLCMDCR)........................................................ 1346
27.3.3 Command Code Register (FLCMCDR) ........................................................... 1348
27.3.4 Address Register (FLADR) .............................................................................. 1349
27.3.5 Address Register 2 (FLADR2) ......................................................................... 1351
27.3.6 Data Counter Register (FLDTCNTR) .............................................................. 1352
27.3.7 Data Register (FLDATAR) .............................................................................. 1353
27.3.8 Interrupt DMA Control Register (FLINTDMACR) ......................................... 1354
27.3.9 Ready Busy Timeout Setting Register (FLBSYTMR) ..................................... 1359
27.3.10 Ready Busy Timeout Counter (FLBSYCNT)................................................... 1360
27.3.11 Data FIFO Register (FLDTFIFO)..................................................................... 1361
27.3.12 Control Code FIFO Register (FLECFIFO)....................................................... 1362
27.3.13 Transfer Control Register (FLTRCR)............................................................... 1363
27.4 Operation ......................................................................................................................... 1364
27.4.1 Operating Modes .............................................................................................. 1364
27.4.2 Command Access Mode ................................................................................... 1364
27.4.3 Sector Access Mode ......................................................................................... 1368
27.4.4 Status Read ....................................................................................................... 1371
27.5 Example of Register Setting ............................................................................................ 1373
27.6 Interrupt Processing ......................................................................................................... 1376
27.7 DMA Transfer Settings.................................................................................................... 1376
Rev.1.00 Jan. 10, 2008 Page xxvi of xxx
REJ09B0261-0100
Section 28 General Purpose I/O Ports (GPIO)........................................................... 1377
28.1 Features............................................................................................................................ 1377
28.2 Register Descriptions ....................................................................................................... 1382
28.2.1 Port A Control Register (PACR) ...................................................................... 1386
28.2.2 Port B Control Register (PBCR)....................................................................... 1389
28.2.3 Port C Control Register (PCCR)....................................................................... 1391
28.2.4 Port D Control Register (PDCR) ...................................................................... 1393
28.2.5 Port E Control Register (PECR) ....................................................................... 1395
28.2.6 Port F Control Register (PFCR)........................................................................ 1397
28.2.7 Port G Control Register (PGCR) ...................................................................... 1399
28.2.8 Port H Control Register (PHCR) ...................................................................... 1401
28.2.9 Port J Control Register (PJCR) ......................................................................... 1403
28.2.10 Port K Control Register (PKCR) ...................................................................... 1405
28.2.11 Port L Control Register (PLCR) ....................................................................... 1407
28.2.12 Port M Control Register (PMCR) ..................................................................... 1409
28.2.13 Port N Control Register (PNCR) ...................................................................... 1410
28.2.14 Port P Control Register (PPCR)........................................................................ 1412
28.2.15 Port Q Control Register (PQCR) ...................................................................... 1414
28.2.16 Port R Control Register (PRCR)....................................................................... 1416
28.2.17 Port A Data Register (PADR)........................................................................... 1418
28.2.18 Port B Data Register (PBDR) ........................................................................... 1419
28.2.19 Port C Data Register (PCDR) ........................................................................... 1420
28.2.20 Port D Data Register (PDDR)........................................................................... 1421
28.2.21 Port E Data Register (PEDR)............................................................................ 1422
28.2.22 Port F Data Register (PFDR) ............................................................................ 1423
28.2.23 Port G Data Register (PGDR)........................................................................... 1424
28.2.24 Port H Data Register (PHDR)........................................................................... 1425
28.2.25 Port J Data Register (PJDR) ............................................................................. 1426
28.2.26 Port K Data Register (PKDR)........................................................................... 1427
28.2.27 Port L Data Register (PLDR)............................................................................ 1428
28.2.28 Port M Data Register (PMDR) ......................................................................... 1429
28.2.29 Port N Data Register (PNDR)........................................................................... 1430
28.2.30 Port P Data Register (PPDR) ............................................................................ 1431
28.2.31 Port Q Data Register (PQDR)........................................................................... 1432
28.2.32 Port R Data Register (PRDR) ........................................................................... 1433
28.2.33 Port E Pull-Up Control Register (PEPUPR) ..................................................... 1434
28.2.34 Port H Pull-Up Control Register (PHPUPR) .................................................... 1435
28.2.35 Port J Pull-Up Control Register (PJPUPR)....................................................... 1436
28.2.36 Port K Pull-Up Control Register (PKPUPR) .................................................... 1437
Rev.1.00 Jan. 10, 2008 Page xxvii of xxx
REJ09B0261-0100
28.2.37 Port L Pull-Up Control Register (PLPUPR)..................................................... 1438
28.2.38 Port M Pull-Up Control Register (PMPUPR)................................................... 1439
28.2.39 Port N Pull-Up Control Register (PNPUPR) .................................................... 1440
28.2.40 Input-Pin Pull-Up Control Register 1 (PPUPR1) ............................................. 1441
28.2.41 Input-Pin Pull-Up Control Register 2 (PPUPR2) ............................................. 1441
28.2.42 Peripheral Module Select Register 1 (P1MSELR) ........................................... 1443
28.2.43 Peripheral Module Select Register 2 (P2MSELR) ........................................... 1447
28.3 Usage Example ................................................................................................................ 1449
28.3.1 Port Output Function ........................................................................................ 1449
28.3.2 Port Input function............................................................................................ 1450
28.3.3 Peripheral Module Function ............................................................................. 1451
Section 29 User Break Controller (UBC) .................................................................... 1453
29.1 Features............................................................................................................................ 1453
29.2 Register Descriptions....................................................................................................... 1455
29.2.1 Match Condition Setting Registers 0 and 1 (CBR0 and CBR1) ....................... 1457
29.2.2 Match Operation Setting Registers 0 and 1 (CRR0 and CRR1) ....................... 1463
29.2.3 Match Address Setting Registers 0 and 1 (CAR0 and CAR1).......................... 1465
29.2.4 Match Address Mask Setting Registers 0 and 1 (CAMR0 and CAMR1)......... 1466
29.2.5 Match Data Setting Register 1 (CDR1) ............................................................ 1468
29.2.6 Match Data Mask Setting Register 1 (CDMR1)............................................... 1469
29.2.7 Execution Count Break Register 1 (CETR1).................................................... 1470
29.2.8 Channel Match Flag Register (CCMFR) .......................................................... 1471
29.2.9 Break Control Register (CBCR) ....................................................................... 1472
29.3 Operation Description...................................................................................................... 1473
29.3.1 Definition of Words Related to Accesses ......................................................... 1473
29.3.2 User Break Operation Sequence ....................................................................... 1474
29.3.3 Instruction Fetch Cycle Break .......................................................................... 1475
29.3.4 Operand Access Cycle Break ........................................................................... 1476
29.3.5 Sequential Break............................................................................................... 1477
29.3.6 Program Counter Value to be Saved................................................................. 1479
29.4 User Break Debugging Support Function ........................................................................ 1480
29.5 User Break Examples....................................................................................................... 1481
29.6 Usage Notes ..................................................................................................................... 1485
Section 30 User Debugging Interface (H-UDI) ......................................................... 1487
30.1 Features............................................................................................................................ 1487
30.2 Input/Output Pins............................................................................................................. 1489
30.3 Register Description ........................................................................................................ 1491
30.3.1 Instruction Register (SDIR) .............................................................................. 1492
Rev.1.00 Jan. 10, 2008 Page xxviii of xxx
REJ09B0261-0100
30.3.2 Interrupt Source Register (SDINT)................................................................... 1492
30.3.3 Bypass Register (SDBPR) ................................................................................ 1493
30.3.4 Boundary Scan Register (SDBSR) ................................................................... 1493
30.4 Operation ......................................................................................................................... 1503
30.4.1 Boundary-Scan TAP Controller (IDCODE, EXTEST, SAMPLE/PRELOAD,
and BYPASS) ................................................................................................... 1503
30.4.2 TAP Control...................................................................................................... 1505
30.4.3 H-UDI Reset ..................................................................................................... 1506
30.4.4 H-UDI Interrupt ................................................................................................ 1507
30.5 Usage Notes ..................................................................................................................... 1507
Section 31 Register List .................................................................................................... 1509
31.1 Register Address List....................................................................................................... 1509
31.2 States of the Registers in the Individual Operating Modes .............................................. 1533
Section 32 Electrical Characteristics ............................................................................ 1561
32.1 Absolute Maximum Ratings ............................................................................................ 1561
32.2 DC Characteristics ........................................................................................................... 1562
32.3 AC Characteristics ........................................................................................................... 1567
32.3.1 Clock and Control Signal Timing ..................................................................... 1568
32.3.2 Control Signal Timing ...................................................................................... 1572
32.3.3 Bus Timing ....................................................................................................... 1574
32.3.4 DBSC2 Signal Timing ...................................................................................... 1592
32.3.5 INTC Module Signal Timing............................................................................ 1597
32.3.6 PCIC Module Signal Timing ............................................................................ 1599
32.3.7 DMAC Module Signal Timing ......................................................................... 1601
32.3.8 TMU Module Signal Timing ............................................................................ 1602
32.3.9 SCIF Module Signal Timing............................................................................. 1603
32.3.10 H-UDI Module Signal Timing.......................................................................... 1605
32.3.11 GPIO Signal Timing ......................................................................................... 1607
32.3.12 HSPI Module Signal Timing ............................................................................ 1608
32.3.13 SIOF Module Signal Timing ............................................................................ 1609
32.3.14 MMCIF Module Signal Timing........................................................................ 1613
32.3.15 HAC Interface Module Signal Timing.............................................................. 1614
32.3.16 SSI Interface Module Signal Timing ................................................................ 1616
32.3.17 FLCTL Module Signal Timing......................................................................... 1618
32.3.18 Display Unit Signal Timing.............................................................................. 1622
32.4 AC Characteristic Test Conditions................................................................................... 1625
Rev.1.00 Jan. 10, 2008 Page xxix of xxx
REJ09B0261-0100
Appendix
A.
B.
C.
D.
E.
F.
............................................................................................................................ 1627
Package Dimensions ........................................................................................................ 1627
Mode Pin Settings............................................................................................................ 1628
Pin Functions ................................................................................................................... 1631
C.1
Pin States .......................................................................................................... 1631
C.2
Handling of Unused Pins .................................................................................. 1642
Turning On and Off Power Supply .................................................................................. 1653
D.1
Turning On and Off Between Each Power Supply Series ................................ 1653
D.2
Power-On and Power-Off Sequences for Power Supplies with Different
Potentials in DDR2-SDRAM Power Supply Backup Mode............................. 1654
D.3
Turning On and Off Between the Same Power Supply Series.......................... 1655
Version Registers (PVR, PRR) ........................................................................................ 1656
Product Lineup................................................................................................................. 1657
Rev.1.00 Jan. 10, 2008 Page xxx of xxx
REJ09B0261-0100
1. Overview
Section 1 Overview
The SH7785 incorporates a DDR2-SDRAM interface, a PCI controller, a DMA controller, timers,
serial interfaces, audio interfaces, a graphics data translation accelerator (GDTA) that supports
YUV data conversion and motion compensation processing, and a display unit (DU) that supports
digital RGB display. The DDR2 interface, PCI interface, and the local bus are independent,
providing dedicated external bus interfaces for the transfer of large amounts of data and of
streaming data.
The SH7785 contains an SH-4A (PVR.VER = H'30: Extended version), which is a 32-bit RISC
(reduced instruction set computer) multiprocessor including an FPU as well as a CPU, providing
upward compatibility (instruction set level) with the SH-1, SH-2, SH-3, and SH-4
microcomputers. The CPU and FPU run at 600 MHz. The processor also includes an instruction
cache, an operand cache for which copy-back or write-through mode is selectable, a four-entry
fully associative instruction TLB (translation look-aside buffer), and an MMU (memory
management unit) with a 64-entry fully associative unified TLB.
1.1
Features of the SH7785
The features of the SH7785 are listed in table 1.1
Table 1.1
SH7785 Features
Item
Features
LSI
•
CPU Operating frequency: 600 MHz
•
Voltage: 1.1 V (internal), 1.8 V (DDR2-SDRAM), 3.3 V (I/O)
•
Package: 436-pin BGA (size: 19 × 19 mm, pin pitch: 0.8 mm)
•
External bus (local bus)
⎯ Separate 26-bit address and 64-bit data buses (the PCI bus is not
available when the 64-bit data bus is in use)
⎯ External bus frequency: up to 100 MHz
•
External bus (DDR2-SDRAM bus interface)
⎯ Separate 15-bit address and 32-bit data buses
⎯ External bus frequency: up to 300 MHz (600 Mbps)
•
External bus (PCI bus):
⎯ 32-bit address/data multiplexed bus
⎯ External bus frequency: 33 MHz or 66 MHz
Rev.1.00 Jan. 10, 2008 Page 1 of 1658
REJ09B0261-0100
1. Overview
Item
Features
CPU
•
Renesas Technology original architecture
•
32-bit internal data bus
•
General-register files:
⎯ Sixteen 32-bit general registers (eight 32-bit shadow registers)
⎯ Seven 32-bit control registers
⎯ Four 32-bit system registers
•
RISC-type instruction set (upward compatibility for the SH-1, SH-2, SH-3
and SH-4 processors)
⎯ Instruction length: 16-bit fixed length for improved code efficiency
⎯ Load/store architecture
⎯ Delayed branch instructions
⎯ Conditional instruction execution
⎯ Instruction-set design based on the C language
•
Super-scalar architecture covering both the FPU and CPU provides for
the simultaneous execution of any two instructions
•
Instruction-execution time: Two instructions per cycle (max.)
•
Virtual address space: 4 Gbytes
•
Address-space identifiers (ASID): 8 bits, for 256 virtual address spaces
•
Internal multiplier
•
Eight-stage pipeline
•
PVR.VER = H'30: SH-4A extended version
Rev.1.00 Jan. 10, 2008 Page 2 of 1658
REJ09B0261-0100
1. Overview
Item
Features
FPU
•
On-chip floating-point coprocessor
•
Supports single (32-bit) and double (64-bit) precisions
•
Supports IEEE754-compliant data types and exceptions
•
Two rounding modes: Round to Nearest and Round to Zero
•
Handling of denormalized numbers: Truncation to zero or interruptgeneration for IEEE754 compliance
•
Floating-point registers: 32 bits × 16 words × 2 banks
(single-precision × 16 words or double-precision × 8 words) × 2 banks
•
32-bit CPU-FPU floating-point communications register (FPUL)
•
Supports FMAC (multiply-and-accumulate) instruction
•
Supports FDIV (divide) and FSQRT (square root) instructions
•
Supports FLDI0/FLDI1 (load constants 0 and 1) instructions
•
Instruction-execution times
⎯ Latency (FADD/FSUB): 3 cycles (single-precision), 5 cycles (doubleprecision)
⎯ Latency (FMAC/ FMUL): 5 cycles (single-precision), 7 cycles (doubleprecision)
⎯ Pitch (FADD/FSUB): 1 cycle (single-precision/double-precision)
⎯ Pitch (FMAC/FMUL): 1 cycle (single-precision), 3 cycles (doubleprecision)
Note:
FMAC only supports single-precision operands.
•
3-D graphics instructions (single-precision only)
⎯ 4-dimensional vector-conversion and matrix operations (FTRV):
4 cycles (pitch), 8 cycles (latency)
⎯ 4-dimensional vector (FIPR) inner product: 1 cycle (pitch), 5 cycles
(latency)
•
Ten-stage pipeline
Rev.1.00 Jan. 10, 2008 Page 3 of 1658
REJ09B0261-0100
1. Overview
Item
Features
Memory
management
unit (MMU)
•
4-Gbyte address space, 256 address space identifiers (8-bit ASID)
•
Supports single virtual memory mode and multiple virtual memory mode
•
Multiple page sizes: 1, 4, 8, 64, or 256 Kbytes, or 1, 4, or 64 Mbytes
•
4-entry fully associative TLB for instructions
•
64-entry fully associative TLB for instructions and operands
•
Selection of software-driven or random-counter replacement algorithms
•
The TLB is address-mapped, making its contents directly accessible.
•
29-bit physical address mode/32-bit extended mode
•
Instruction cache (IC)
Cache memory
⎯ 32-Kbyte 4-way set associative
⎯ 256 entries/way, 32-byte block length
•
Operand cache (OC)
⎯ 32-Kbyte 4-way set associative
⎯ 256 entries/way, 32-byte block length
LRAM
•
Selectable write method (copy-back or write-through)
•
Store queue (32 bytes × 2 entries)
•
One-stage copy-back buffer and one-stage write-through buffer
•
ILRAM
⎯ 8-Kbyte high-speed memory
⎯ Three independent read/write ports
⎯ 8-/16-/32-/64-bit access from the CPU or FPU
⎯ 8-/16-/32-/64-bit access and 16-/32-byte access in response to
external requests
⎯ Support for protection of memory from CPU or FPU access
•
OLRAM
⎯ 16-Kbyte high-speed memory
⎯ Three independent read/write ports
⎯ 8-/16-/32-/64-bit access by the CPU or the FPU
⎯ 8-/16-/32-/64-bit access and 16-/32-byte access in response to
external requests
⎯ Support for protection of memory from CPU or FPU access
Rev.1.00 Jan. 10, 2008 Page 4 of 1658
REJ09B0261-0100
1. Overview
Item
Features
URAM
•
128-Kbyte large-capacity memory
•
Three independent read/write ports
•
8-/16-/32-bit access by the CPU or the FPU
•
8-/16-/32-bit access by the DMAC
•
Nine independent external interrupts: NMI and IRQ7 to IRQ0
Interrupt controller
(INTC)
⎯ NMI: Falling/rising edge selectable
⎯ IRQ: Falling/rising edge or high level/low level selectable
•
15-level-encoded external interrupts: IRL3 to IRL0, or IRL7 to IRL4
•
On-chip module interrupts: A priority level can be set for each module.
The following modules can issue on-chip module interrupts:
TMU, DU, GDTA, SCIF, WDT, H-UDI, DMAC, HAC, PCIC, SIOF, HSPI,
MMCIF, SSI, FLCTL, and GPIO.
Rev.1.00 Jan. 10, 2008 Page 5 of 1658
REJ09B0261-0100
1. Overview
Item
Features
Local bus state
controller (LBSC)
•
A dedicated Local-bus interface
⎯ Controls the external memory space divided into seven 64-Mbyte
(max.) areas
⎯ The interface type, bus width, and wait-cycle insertion can be set for
each area.
•
SRAM interface
⎯ Wait-cycle insertion can be set by register values.
⎯ Wait-cycle insertion by the RDY pin
⎯ Connectable as area 0, 1, 2, 3, 4, 5, or 6
⎯ Selectable bus width: 64-/32-/16-/8-bit
•
Burst ROM interface
⎯ Wait-cycle insertion can be set by register values.
⎯ Number of units in burst transfers can be set by register values.
⎯ Connectable as area 0, 1, 2, 3, 4, 5, or 6
⎯ Selectable bus width: 64-/32-/16-/8-bit
•
MPX interface
⎯ Address/data multiplexing
⎯ Connectable as area 1 or 4
⎯ Selectable bus widths: 64-/32-bit
•
SRAM interface with byte-control
⎯ Connectable as area 1 or 4
⎯ Selectable bus width: 64-/32-/16-bit
•
PCMCIA interface (only for little-endian mode)
⎯ Wait-cycle insertion can be set by register values.
⎯ Bus-sizing function for adaptation to the I/O bus width
⎯ Connectable as area 5 or 6
⎯ Selectable bus width: 16-/8-bit
•
Supports transfer to and from E-IDE/ATAPI devices (ATA3)
⎯ Supports PIO mode 4 type and multi-word DMA mode 2 type
⎯ Connectable as area 5 or 6
•
Big or little endian is selectable
Rev.1.00 Jan. 10, 2008 Page 6 of 1658
REJ09B0261-0100
1. Overview
Item
Features
DDR2-SDRAM bus •
controller (DBSC)
A dedicated DDR2-SDRAM bus interface
⎯ Multi-bank support: Supports multi-bank (four banks) operation
⎯ Number of banks: Supports four or eight banks (however, no more
than four banks can be opened concurrently)
⎯ Selectable bus width: 32-/16-bit
⎯ Supports preceding precharging and activation
⎯ Burst length: Four (fixed)
⎯ Burst type: Sequential (fixed)
⎯ CAS latency: 2, 3, 4, 5, 6 cycles
•
Auto-refresh mode
⎯ An average interval is selectable by a register setting. Preceding
refresh operations are performed when there are no pending
requests.
•
Self-refresh mode
•
Connectable memory capacity: Up to 1 Gbyte
⎯ With a 32-bit bus width
16 M x 16 bits (256 Mbits) x 2, 32 M x 16 bits (512 Mbits) x 2, 64 M x
16 bits (1 Gbit) x 2, 128 M x 16 bits (2 Gbits) x 2, 32 M x 8 bits (256
Mbits) x 4, 64 M x 8 bits (512 Mbits) x 4, 128 M x 8 bits (1 Gbit) x 4,
256 M x 8 bits (2 Gbits) x 4
⎯ With a 16-bit bus width
16 M x 16 bits (256 Mbits) x 1, 32 M x 16 bits (512 Mbits) x 1, 64 M x
16 bits (1 Gbit) x 1, 128 M x 16 bits (2 Gbits) x 1, 32 M x 8 bits (256
Mbits) x 2, 64 M x 8 bits (512 Mbits) x 2, 128 M x 8 bits (1 Gbit) x 2,
256 M x 8 bits (2 Gbits) x 2
•
Big or little endian is selectable
Rev.1.00 Jan. 10, 2008 Page 7 of 1658
REJ09B0261-0100
1. Overview
Item
Features
PCI bus controller
(PCIC)
•
PCI bus controller (supports a subset of revision 2.2)
⎯ 32-bit bus (33 MHz or 66 MHz)
•
Operation as PCI master/target
•
Operation in PCI host/normal mode
⎯ Built-in bus arbiter (host mode)
Direct memory
access controller
(DMAC)
•
Operates with up to four external bus-master devices
•
Mode for operation with an external bus arbiter
•
Supports burst transfers
•
Supports parity checking and error reports
•
Supports four individual external interrupt signals (INTA to INTD) in host
mode
•
Supports a single external interrupt signal (INTA) in normal mode
•
Up to 512 Mbytes of PCI memory space (32 bit address mode)
•
Up to 64 Mbytes of PCI memory space (29 bit address mode)
•
Number of channels: 12
•
12-channel physical address DMA controller
•
Four channels support external requests (channels 0 to 3)
•
Address space: 4 Gbytes (Physical address)
•
Units of data transfer: 8, 16, or 32 bits; 16 or 32 bytes
•
Address modes:
⎯ Dual address mode
Clock pulse
generator (CPG)
•
Transfer requests: External request, on-chip peripheral module request,
or auto-request
•
Choice of DACK or DRAK (four external pins)
•
Bus modes: Cycle-stealing or burst mode
•
Priority: Select either fixed mode or round-robin mode
•
CPU frequency: Up to 600 MHz
•
Local bus frequency: Up to 100 MHz
•
DDR2-SDRAM interface frequency: Up to 300 MHz
•
On-chip peripheral bus frequency: Up to 50 MHz
•
Power-down modes
⎯ Sleep mode
⎯ Module-standby mode
⎯ DDR back-up power function (power is supplied only to the DDR)
Rev.1.00 Jan. 10, 2008 Page 8 of 1658
REJ09B0261-0100
1. Overview
Item
Features
Watchdog timer
(WDT)
•
Number of channels: One
•
Single-channel watchdog timer
•
Selectable reset function: Power-on or manual reset
•
Number of channels: Six
•
6-channel auto-reloading 32-bit down-counter
•
Input-capture function (only on channel 2)
•
Choice of a maximum of six input clock signals to drive counting (external
and peripheral clock signals)
(operation in watchdog-timer or interval-timer mode is selectable)
Timer unit (TMU)
Graphics data
•
translation
accelerator (GDTA)
•
YUV data translation
⎯ Translation mode: YUYV mode (YUV 4:2:0 → YUV 4:2:2), ARGB
mode (YUV 4:2:0 → ARGB8888)
Motion Compensation processing
⎯ Generation of estimated images using motion vectors in macroblock
units (16 x 16 pixels)
⎯ Modes: Forward, reverse, bidirectional, and intra-macroblock
processing
•
Dedicated DMAC for image-data transfer
•
Embedded RAM for color-palette data
•
Embedded RAM for IDCT data
Rev.1.00 Jan. 10, 2008 Page 9 of 1658
REJ09B0261-0100
1. Overview
Item
Features
Display unit (DU)
•
Display plane
⎯ 6 planes (a maximum number at 480 dots x 234 dots)
⎯ 4 planes (a maximum number at 854 dots x 480 dots)
⎯ 3 planes (a maximum number at 800 dots x 600 dots)
•
CRT scanning method: Non-interlaced, interlaced, interlaced sync & video
•
Synchronization modes: Master mode (internal synchronization mode),
TV synchronization mode (external synchronization mode),
synchronization-mode switching mode
•
Incorporates color palettes
⎯ Displays 256 colors from among 260 thousand possible colors
⎯ Four palettes (one can be set for each layer)
•
Blending ratio setting
⎯ Number of color-palette planes with blending ratios: Four
⎯ α plane: (used in common with the display plane)
•
Digital RGB output: 6-bit precision for each of R, G, and B
•
Dot clock: Can be switched between external input and internal clock
(division ratio: from 1 to 32)
Serial
•
communications
•
interface with FIFO
•
(SCIF)
•
Number of channels: Six (max.)
On-chip 64-byte (8 bits x 64) FIFO for each of the six channels
Two full-duplex channels
Choice of asynchronous mode or synchronous mode
•
Any bit rate that can be generated by the on-chip baud-rate generator is
selectable
•
On-chip modem-control function (RTS and CTS) for channel 0
•
Internal clock signal from the baud-rate generator or external clock signal
from the SCK pin is selectable
Rev.1.00 Jan. 10, 2008 Page 10 of 1658
REJ09B0261-0100
1. Overview
Item
Features
Synchronized serial •
I/O with FIFO
•
(SIOF)
•
Serial protocol
interface (HSPI)
Multimedia card
interface (MMCIF)
Audio codec
interface (HAC)
Number of channels: One (max.)
Supports full-duplex operation
Separate 64-byte (32 bits x 16) FIFOs for transmission and reception
•
Supports the input and output of 8-/16-bit monaural and 16-bit
stereophonic audio data
•
Method of synchronization selectable as frame synchronization pulses or
left/right channel switching
•
Allows connection of linear, audio, A-law, or μ-Law CODEC chip
•
Select an on-chip peripheral clock or input on an external pin as base for
the sampling-rate clock
•
Maximum sampling rate: 48 kHz
•
On-chip prescaler that uses the on-chip peripheral clock
•
Number of channels: One (max.)
•
Supports full-duplex operation
•
Master/slave mode
•
Selectable bit rate generated by the on-chip baud-rate generator
•
Number of channels: One (max.)
•
Supports a subset of version 3.1 of the multimedia card system
specification
•
Supports MMC-mode operation
•
Interfaces with MMCCLK output (transfer clock output), MMCCMD I/O
(command output/response input), and MMCDAT I/O (data I/O) pins
•
Number of channels: Two (max.)
•
Digital interface for audio codecs
•
Supports transfer via slots 1 to 4
•
Choice of 16- or 20-bit DMA transfer rates for transmission/reception
•
Supports various sampling rates by adjusting the allocation of data to
slots
Rev.1.00 Jan. 10, 2008 Page 11 of 1658
REJ09B0261-0100
1. Overview
Item
Features
Serial sound
interface (SSI)
•
Number of channels: Two (max.)
•
Supports transfer of compressed and non-compressed data
•
Selectable frame size
•
Number of channels: One (max.)
•
Exclusively for NAND-type flash memory
•
Operating modes: Command-access mode, sector-access mode
•
Data transfer FIFOs
NAND flash
memory
controller (FLCTL)
⎯ On-chip 224-byte FIFO for transfer of data to and from flash memory
⎯ On-chip 32-byte FIFO for transfer of control codes
⎯ Flag bit to indicate overruns and underruns during access from the
CPU or DMA
General purpose
I/O (GPIO)
•
General purpose I/O port pins: 111
•
Some GPIO pins are configurable as interrupts
User break
controller (UBC)
•
Supports user-break interrupts as a facility for debugging
•
Two break channels
•
Addresses, data values, types of access, and widths of data are all
specifiable as break conditions
•
Supports a sequential break function
•
JTAG interface (TCK, TMS, TRST, TDI, TDO)
•
Supports the E10A emulator
•
Realtime branch tracing
Package
•
436-pin flip-chip BGA (body: 19 x 19 mm, ball pitch: 0.8-mm)
Power supply
voltage
•
Internal (VDD), PLL1 (VDD-PLL1, VDDA-PLL1), PLL2 (VDD-PLL2):
1.1 V
•
DDR2 I/O (VDD-DDR): 1.8 V
•
I/O (VDDQ), PLL1 (VDDQ-PLL1), PLL2 (VDDQ-PLL2): 3.3 V
User debug
interface (H-UDI)
Rev.1.00 Jan. 10, 2008 Page 12 of 1658
REJ09B0261-0100
1. Overview
1.2
Block Diagram
A block diagram of the SH7785 is given as figure 1.1.
Super Hyway
Periperal bus
SH-4A
Superscalar CPU
FPU
MMU
32 KB I-cache
32 KB O-cache
8 KB ILRAM
16 KB OLRAM
DDR2-SDRAM
DDR2-400/600
1 GB max
NOR Flash
HAC/SSI/SIOF
HAC/SSI
TMU, WDT
DDRII-SDRAM
Controller
(DBSC)
64*/32/16
/8 bit
100 MHz
SRAM
Local bus
PC Card/ATA3
SCIF2/MMCIF
URAM
128 KB
32 bit/16 bit
300 MHz
DDR bus
ROM
SCIF0/HSPI/FLCTL
Peripheral Bus Controller
INTC
Display Unit
CPG
Local Bus
Controller
DMA
Controller
SRAM, ROM,
PCMCIA
MPX
PCI
Controller
GDTA
Debug
32 bit
33/66 MHz
PCI bus
Note: * The PCI bus and the display unit are not available when the local bus width is 64 bits.
The PCI controller and the display unit cannot be used when the local bus width is 64 bits.
Figure 1.1 SH7785 Block Diagram
Rev.1.00 Jan. 10, 2008 Page 13 of 1658
REJ09B0261-0100
1. Overview
1.3
Pin Arrangement Table
Table 1.2
Pin Function
No. Pin Name
I/O
Function
No. Pin Name
I/O
Function
1
MDQ0
IO
DDR data 0
28
MDQ27
IO
DDR data 27
2
MDQ1
IO
DDR data 1
29
MDQ28
IO
DDR data 28
3
MDQ2
IO
DDR data 2
30
MDQ29
IO
DDR data 29
4
MDQ3
IO
DDR data 3
31
MDQ30
IO
DDR data 30
5
MDQ4
IO
DDR data 4
32
MDQ31
IO
DDR data 31
6
MDQ5
IO
DDR data 5
33
MDM0
O
DDR data mask 0
7
MDQ6
IO
DDR data 6
34
MDM1
O
DDR data mask 1
8
MDQ7
IO
DDR data 7
35
MDM2
O
DDR data mask 2
9
MDQ8
IO
DDR data 8
36
MDM3
O
DDR data mask 3
10
MDQ9
IO
DDR data 9
37
MDQS0
IO
DDR data strobe 0
11
MDQ10
IO
DDR data 10
38
MDQS1
IO
DDR data strobe 1
12
MDQ11
IO
DDR data 11
39
MDQS2
IO
DDR data strobe 2
13
MDQ12
IO
DDR data 12
40
MDQS3
IO
DDR data strobe 3
14
MDQ13
IO
DDR data 13
41
MDQS0
IO
DDR data strobe 0
15
MDQ14
IO
DDR data 14
42
MDQS1
IO
DDR data strobe 1
16
MDQ15
IO
DDR data 15
43
MDQS2
IO
DDR data strobe 2
(antiphase)
(antiphase)
(antiphase)
17
MDQ16
IO
DDR data 16
44
MDQS3
IO
DDR data strobe 3
(antiphase)
18
MDQ17
IO
DDR data 17
45
MA0
O
DDR address 0
19
MDQ18
IO
DDR data 18
46
MA1
O
DDR address 1
20
MDQ19
IO
DDR data 19
47
MA2
O
DDR address 2
21
MDQ20
IO
DDR data 20
48
MA3
O
DDR address 3
22
MDQ21
IO
DDR data 21
49
MA4
O
DDR address 4
23
MDQ22
IO
DDR data 22
50
MA5
O
DDR address 5
24
MDQ23
IO
DDR data 23
51
MA6
O
DDR address 6
25
MDQ24
IO
DDR data 24
52
MA7
O
DDR address 7
26
MDQ25
IO
DDR data 25
53
MA8
O
DDR address 8
27
MDQ26
IO
DDR data 26
54
MA9
O
DDR address 9
Rev.1.00 Jan. 10, 2008 Page 14 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
Function
No. Pin Name
I/O
Function
55
MA10
O
DDR address 10
87
D12
IO
Local bus data 12
56
MA11
O
DDR address 11
88
D13
IO
Local bus data 13
57
MA12
O
DDR address 12
89
D14
IO
Local bus data 14
58
MA13
O
DDR address 13
90
D15
IO
Local bus data 15
59
MA14
O
DDR address 14
91
D16
IO
Local bus data 16
60
MBA0
O
DDR bank address 0
92
D17
IO
Local bus data 17
61
MBA1
O
DDR bank address 1
93
D18
IO
Local bus data 18
62
MBA2
O
DDR bank address 2
94
D19
IO
Local bus data 19
63
MCK0
O
DDR clock 0
95
D20
IO
Local bus data 20
64
MCK0
O
DDR clock 0 (antiphase)
96
D21
IO
Local bus data 21
65
MCK1
O
DDR clock 1
97
D22
IO
Local bus data 22
66
MCK1
O
DDR clock 1 (antiphase)
98
D23
IO
Local bus data 23
67
MCS
O
DDR chip select
99
D24
IO
Local bus data 24
68
MRAS
O
DDR row address select
100 D25
IO
Local bus data 25
69
MCAS
O
DDR column address select
101 D26
IO
Local bus data 26
70
MWE
O
DDR write enable
102 D27
IO
Local bus data 27
71
MODT
O
DDR on chip terminator
103 D28
IO
Local bus data 28
72
MCKE
O
DDR clock enable
104 D29
IO
Local bus data 29
73
MVREF
I
DDR reference voltage
105 D30
IO
Local bus data 30
74
MBKPRST
I
DDR backup reset
106 D31
IO
Local bus data 31
75
D0
IO
Local bus data 0
107 A0
O
Local bus address 0
76
D1
IO
Local bus data 1
108 A1
O
Local bus address 1
77
D2
IO
Local bus data 2
109 A2
O
Local bus address 2
78
D3
IO
Local bus data 3
110 A3
O
Local bus address 3
79
D4
IO
Local bus data 4
111 A4
O
Local bus address 4
80
D5
IO
Local bus data 5
112 A5
O
Local bus address 5
81
D6
IO
Local bus data 6
113 A6
O
Local bus address 6
82
D7
IO
Local bus data 7
114 A7
O
Local bus address 7
83
D8
IO
Local bus data 8
115 A8
O
Local bus address 8
84
D9
IO
Local bus data 9
116 A9
O
Local bus address 9
85
D10
IO
Local bus data 10
117 A10
O
Local bus address 10
86
D11
IO
Local bus data 11
118 A11
O
Local bus address 11
Rev.1.00 Jan. 10, 2008 Page 15 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
Function
No. Pin Name
I/O
Function
119 A12
O
Local bus address 12
140 RD/FRAME
O/O
Read strobe/MPX IF
FRAME
120 A13
O
Local bus address 13
141 R/W
O
Read/Write
121 A14
O
Local bus address 14
142 BS
O
Bus start
122 A15
O
Local bus address 15
143 WE0/REG
O/O
Write enable 0/PCMCIA IF
REG
123 A16
O
Local bus address 16
144 WE1
O
Write enable 1
124 A17
O
Local bus address 17
145 WE2/IORD
O/O
Write enable 2/PCMCIA IF
IORD
125 A18
O
Local bus address 18
146 WE3/IOWR
O/O
Write enable 3/PCMCIA IF
126 A19
O
Local bus address 19
147 RDY
I
Bus ready
127 A20
O
Local bus address 20
148 CLKOUT
O
Clock out
128 A21
O
Local bus address 21
149 CLKOUTENB
O
Clock out enable
129 A22
O
Local bus address 22
150 D32/AD0/DR0
IO/IO/O Local bus data 32/PCI
IOWR
address data 0/Digital red 0
130 A23
O
Local bus address 23
151 D33/AD1/DR1
IO/IO/O Local bus data 33/PCI
address data 1/Digital red 1
131 A24
O
Local bus address 24
152 D34/AD2/DR2
IO/IO/O Local bus data 34/PCI
address data 2/Digital red 2
132 A25
O
Local bus address 25
153 D35/AD3/DR3
IO/IO/O Local bus data 35/PCI
address data 3/Digital red 3
133 CS0
O
Chip select 0
154 D36/AD4/DR4
IO/IO/O Local bus data 36/PCI
address data 4/Digital red 4
134 CS1
O
Chip select 1
155 D37/AD5/DR5
IO/IO/O Local bus data 37/PCI
address data 5/Digital red 5
135 CS2
O
Chip select 2
156 D38/AD6/DG0
IO/IO/O Local bus data 38/PCI
address data 6/Digital green
0
136 CS3
O
Chip select 3
151 D33/AD1/DR1
IO/IO/O Local bus data 33/PCI
address data 1/Digital red 1
137 CS4
O
Chip select 4
152 D34/AD2/DR2
IO/IO/O Local bus data 34/PCI
138 CS5
O
Chip select 5
153 D35/AD3/DR3
IO/IO/O Local bus data 35/PCI
address data 2/Digital red 2
address data 3/Digital red 3
139 CS6
O
Chip select 6
154 D36/AD4/DR4
IO/IO/O Local bus data 36/PCI
address data 4/Digital red 4
Rev.1.00 Jan. 10, 2008 Page 16 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
Function
155 D37/AD5/DR5
IO/IO/O Local bus data 37/PCI
No. Pin Name
I/O
168 D50/AD18
IO/IO
address data 5/Digital red 5
156 D38/AD6/DG0
IO/IO/O Local bus data 38/PCI
Function
Local bus data 50/PCI
address data 18
169 D51/AD19
IO/IO
address data 6/Digital green
Local bus data 51/PCI
address data 19
0
157 D39/AD7/DG1
IO/IO/O Local bus data 39/PCI
170 D52/AD20
IO/IO
address data 7/Digital green
Local bus data 52/PCI
address data 20
1
158 D40/AD8/DG2
IO/IO/O Local bus data 40/PCI
171 D53/AD21
IO/IO
address data 8/Digital green
Local bus data 53/PCI
address data 21
2
159 D41/AD9/DG3
IO/IO/O Local bus data 41/PCI
172 D54/AD22
IO/IO
address data 9/Digital green
Local bus data 54/PCI
address data 22
3
160 D42/AD10/DG4
IO/IO/O Local bus data 42/PCI
173 D55/AD23
IO/IO
address data 10/Digital
Local bus data 55/PCI
address data 23
green 4
161 D43/AD11/DG5
IO/IO/O Local bus data 43/PCI
174 D56/AD24
IO/IO
address data 11/Digital
Local bus data 56/PCI
address data 24
green 5
162 D44/AD12/DB0
IO/IO/O Local bus data 44/PCI
175 D57/AD25
IO/IO
address data 12/Digital blue
Local bus data 57/PCI
address data 25
0
163 D45/AD13/DB1
IO/IO/O Local bus data 45/PCI
176 D58/AD26
IO/IO
address data 13/Digital blue
Local bus data 58/PCI
address data 26
1
164 D46/AD14/DB2
IO/IO/O Local bus data 46/PCI
177 D59/AD27
IO/IO
address data 14/Digital blue
Local bus data 59/PCI
address data 27
2
165 D47/AD15/DB3
IO/IO/O Local bus data 47/PCI
178 D60/AD28
IO/IO
address data 15/Digital blue
Local bus data 60/PCI
address data 28
3
166 D48/AD16/DB4
IO/IO/O Local bus data 48/PCI
179 D61/AD29
IO/IO
address data 16/Digital blue
Local bus data 61/PCI
address data 29
4
167 D49/AD17/DB5
IO/IO/O Local bus data 49/PCI
address data 17/Digital blue
180 D62/AD30
IO/IO
Local bus data 62/PCI
address data 30
5
Rev.1.00 Jan. 10, 2008 Page 17 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
181 D63/AD31
IO/IO
Function
No. Pin Name
I/O
Function
Local bus data 63/PCI
199 REQ2
I
Bus request 2 (PCI host)
200 REQ3
I
Bus request 3 (PCI host)
201 GNT1
O
PCI bus grant 1
202 GNT2
O
PCI bus grant 2
address data 31
182 WE4/CBE0
O/IO
Write enable 4/PCI
command/byte enable 0
183 WE5/CBE1
O/IO
Write enable 5/PCI
command/byte enable 1
184 WE6/CBE2
O/IO
Write enable 6/PCI
command/byte enable 2
185 WE7/CBE3
O/IO
Write enable 7/PCI
203 GNT3/MMCCLK O/O
command/byte enable 3
186 PCIFRAME/
IO/IO
VSYNC
187 IRDY/HSYNC
PCI cycle frame/VSYNC
204 PCIRESET
O
205 PCICLK/
I/I
PCI reset (RST)
output
IO/IO
PCI initiator ready/HSYNC
output
188 TRDY/DISP
PCI bus grant 3/MMCIF card
clock output
IO/O
PCI target ready/display
DCLKIN
PCI input clock/DU dot clock
input
206 INTA
IO
207 EXTAL
I
PCI interrupt A
period
189 IDSEL
I
PCI configuration device
select
External input clock/Crystal
resonator
190 LOCK/ODDF
IO/IO
PCI lock/even-odd field
208 XTAL
O
Crystal resonator
191 DEVSEL/
IO/O
PCI device select/DU dot
209 PRESET
I
Power on reset
DCLKOUT
clock output
192 PAR
IO
PCI parity
210 NMI
I
Nonmaskable interrupt
193 STOP/CDE
IO/O
PCI transaction stop/color
211 IRL0
I
IRL interrupt request 0
detection
194 SERR
IO
PCI system error
212 IRL1
I
IRL interrupt request 1
195 PERR
IO
PCI parity error
213 IRL2
I
IRL interrupt request 2
Bus request 0 (PCI host)/
214 IRL3
I
IRL interrupt request 3
215 STATUS0/
O/O
Status 0/DMA channel 0
196 REQ0/REQOUT I/O
bus request output
197 GNT0/GNTIN
O/I
PCI bus grant 0
DRAK0
transfer request
acknowledge 0
198 REQ1
I
PCI request 1 (PCI host)
216 STATUS1/
DRAK1
O/O
Status 1/DMA channel 1
transfer request
acknowledge 1
Rev.1.00 Jan. 10, 2008 Page 18 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
Function
No. Pin Name
I/O
Function
217 BREQ/BSACK
I
Bus request (Master mode)/
233 ASEBRK/
I
H-UDI emulator
234 AUDCK
O
H-UDI emulator clock
Bus acknowledgement
BRKACK
(Slave mode)
218 BACK/BSREQ
O
Bus acknowledgement
(Master mode)/Bus request
(Slave mode)
219 DREQ0
I
DMA channel 0 request
235 AUDSYNC
O
H-UDI emulator
220 DREQ1
I
DMA channel 1 request
236 AUDATA0
O
H-UDI emulator data 0
221 DREQ2/INTB
I/I
DMA channel 2 request/PCI
237 AUDATA1
O
H-UDI emulator data 1
238 AUDATA2
O
H-UDI emulator data 2
239 AUDATA3
O
H-UDI emulator data 3
240 SCIF0_TXD/
O/O/O
SCIF0 transmit data/HSPI
interrupt B
222 DREQ3/INTC
I/I
DMA channel 3 request/PCI
interrupt C
223 DACK0
O
DMA channel 0 bus
acknowledgment
224 DACK1
O
DMA channel 1 bus
acknowledgment
HSPI_TX/FWE
transmit data/NAND flash
write enable
225 DACK2/
SCIF2_TXD/
O/O/O/I DMA channel 2 bus
O/O
acknowledgment/SCIF2
MMCCMD/
transmit data/MMCIF
SIOF_TXD
command response/SIOF
241 SCIF0_RXD/
I/I/I
HSPI_RX/FRB
SCIF0 receive data/HSPI
receive data/NAND flash
ready or busy
transmit data
226 DACK3/
SCIF2_SCK/
O/O/IO/ DMA channel 3 bus
IO/IO
acknowledgment/SCIF2
MMCDAT/
serial clock/MMCIF
SIOF_SCK
data/SIOF serial clock
227 DRAK2/CE2A
O/O
DMA channel 2 transfer
request acknowledge
242 SCIF0_SCK/
IO/IO/O SCIF0 serial clock/HSPI
HSPI_CLK/FRE
serial clock/NAND flash read
enable
243 SCIF0_RTS/
IO/IO/O SCIF0 modem control/HSPI
HSPI_CS/FSE
chip selection/NAND flash
2/PCMCIA CE2A
228 TCK
I
H-UDI clock
spare area enable
244 SCIF0_CTS/
IO/I/O
INTD/FCE
SCIF0 modem control/PCI
interrupt D/NAND flash chip
enable
229 TMS
I
H-UDI emulator
245 SCIF1_TXD
O
SCIF1 transmit data
230 TDI
I
H-UDI data
246 SCIF1_RXD
I
SCIF1 receive data
231 TDO
O
H-UDI data
247 SCIF1_SCK
IO
SCIF1 serial clock
232 TRST
I
H-UDI emulator
248 SCIF2_RXD/
I/I
SCIF2 receive data/SIOF
SIOF_RXD
receive data
Rev.1.00 Jan. 10, 2008 Page 19 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
249 SIOF_SCK/
IO/I/IO
HAC0_BITCLK/
Function
No. Pin Name
I/O
Function
SIOF serial clock/HAC0 bit
256 SCIF5_RXD/
I/I/IO
SCIF5 receive data/HAC1
clock/SSI0 serial bit clock
SSI0_CLK
250 SIOF_MCLK/
HAC1_SDIN/
serial data/SSI1 serial data
SSI1_SCK
I/O
HAC_RES
SIOF master clock/HAC
reset
257 SCIF5_SCK/
IO/O/IO SCIF5 synchrounous/HAC1
HAC1_SDOUT/
serial data/SSI1 serial data
SSI1_SDATA
251 SIOF_SYNC/
IO/O/IO SIOF flame
HAC0_SYNC/
synchronous/HAC0 flame
SSI0_WS
synchronous/SSI0 word
258 MODE0/
I/I/IO
IRL4/FD4
Mode control 0/IRL interrupt
request 4/NAND flash data 4
select
252 SIOF_RXD/
I/I/IO
SIOF receive data/HAC0
HAC0_SDIN/
serial data incoming to Rx
SSI0_SCK
frame/SSI0 serial bit clock
253 SIOF_TXD/
O/O/IO
HAC0_SDOUT/
SIOF transmit data/HAC0
serial data/SSI0 serial data
259 MODE1/
I/I/IO
IRL5/FD5
260 MODE2/
Mode control 1/IRL interrupt
request 5/NAND flash data 5
I/I/IO
IRL6/FD6
Mode control 2/IRL interrupt
request 6/NAND flash data 6
SSI0_SDATA
254 HAC1_BITCLK/ I/IO
SSI1_CLK
255 SCIF5_TXD/
HAC1 bit clock/SSI1 serial
bit clock
O/O/IO
SCIF5 transmit data/HAC1
261 MODE3/
I/I/IO
IRL7/FD7
262 MODE4/
Mode control 3/IRL interrupt
request 7/NAND flash data 7
I/O/O
Mode control 4/SCIF3
HAC1_SYNC/
synchronous/SSI1 serial bit
SCIF3_TXD/
transmit data/NAND flash
SSI1_WS
clock
FCLE
command latch enable
256 SCIF5_RXD/
I/I/IO
HAC1_SDIN/
SCIF5 receive data/HAC1
serial data/SSI1 serial data
263 MODE5/
I/I
SIOF_MCLK
Mode control 5/SIOF master
clock
SSI1_SCK
251 SIOF_SYNC/
IO/O/IO SIOF flame
HAC0_SYNC/
synchronous/HAC0 flame
SSI0_WS
synchronous/SSI0 word
264 MODE6/
I/IO
SIOF_SYNC
Mode control 6/SIOF frame
synchronous
select
252 SIOF_RXD/
I/I/IO
SIOF receive data/HAC0
265 MODE7/
I/I/O
Mode control 7/SCIF3
HAC0_SDIN/
serial data incoming to Rx
SCIF3_RXD/
receive data/NAND flash
SSI0_SCK
frame/SSI0 serial bit clock
FALE
ALE
253 SIOF_TXD/
O/O/IO
HAC0_SDOUT/
SIOF transmit data/HAC0
serial data/SSI0 serial data
SSI0_SDATA
I/IO/IO
SCIF3_SCK/
Mode control 8/SCIF3 serial
clock/NAND flash data 0
FD0
254 HAC1_BITCLK/ I/IO
SSI1_CLK
255 SCIF5_TXD/
266 MODE8/
HAC1 bit clock/SSI1 serial
bit clock
O/O/IO
SCIF5 transmit data/HAC1
267 MODE9/
I/O/IO
Mode control 9/SCIF4
SCIF4_TXD/
transmit data/NAND flash
FD1
data 1
268 MODE10/
I/I/IO
Mode control 10/SCIF4
HAC1_SYNC/
synchronous/SSI1 serial bit
SCIF4_RXD/
receive data/NAND flash
SSI1_WS
clock
FD2
data 2
Rev.1.00 Jan. 10, 2008 Page 20 of 1658
REJ09B0261-0100
1. Overview
No. Pin Name
I/O
Function
No. Pin Name
I/O
Function
269 MODE11/
I/IO/IO
Mode control 11/SCIF4
274 MRESETOUT/
O/O
Manual reset
SCIF4_SCK/
serial clock/NAND flash data
FD3
3
270 MODE12/
I/O/O
DRAK3/CE2B
Mode control 12/DMA
IRQOUT
output/Interrupt request
output
275 THDAG
⎯
Thermal diode*
channel 3 transfer request
acknowledge 3/PCMCIA
CE2B
I/IO/I
TMU clock/PCMCIA IOIS16
276 THDAS
⎯
Thermal diode*
272 MPMD
I
H-UDI emulator mode
277 THDCD
I
Thermal diode*
273 MODE14
I
Mode control 14
278 THDCTL
I
Thermal diode*
271 MODE13/
TCLK/IOIS16
Note:
*
This pin must be pulled-down to GND.
Rev.1.00 Jan. 10, 2008 Page 21 of 1658
REJ09B0261-0100
1. Overview
1.4
Pin Arrangement
Package: 436-pin FC-BGA, 19 mm x 19 mm, ball pitch: 0.8 mm
1
2
3
4
5
6
VSS
MCK0
VSS
MCKE
MBA0
MA9
B
MCK1
VDDDDR
MCK0
VDDDDR
C
VSS
MCK1
MBKPRST
A
VDDD MVREF
DDR
E
F
MA10
MA14
MBA1
VSS
MODT MBA2
VSS
MCS
MCAS MRAS
VSS
VDDDDR
MA6
MA1
MA2
MWE
MDQ2
VDDDDR
MA13
VSS
VDDDDR MDQ18
VSS
MDQ19
VDDDDR
VDD
MDQ14
12
13
14
20
21
22
AUDSYNC
AUDC
K
TCK
STATU
VSSQ- THDCTL
S1/DRA XTAL EXTAL
TD
K1
MODE14
VSSQPLL1
VSS
TDI
VDDQVDDQ
TD
VDDQ
VSSAVDDQ
B
-PLL1
PLL1
AUDAT
A2
MDQS0
VDD
MDQ5
VSS
VSS
VDD
VDDDDR
MDQ8 MDQ9
VSS
VDD
VDD
VSS
VSS
VSS
MDQS
MDQS3 MDQ29 MDQ30
3
VSS
VSS
VSS
VSS
MODE0
/IRL4 VDDQ
/FD4
VDD
VSS
VSS
VSS
MODE1 MODE2 MODE3
/IRL5 /IRL6 /IRL7
/FD6
/FD5
/FD7
MDM3 MDQ31
VSS
VDDMDQ24
DDR
VSS
15
VSS
VSS
VSS
16
SCIF2_RXD
/SIOF_RXD
VSS
VDDQ
VSSQVDDQ
D
-PLL2
PLL2
DACK1 DREQ2
/INTB
DACK3/
DACK2/
SCIF2_TXD/ SCIF2_SCK/
MMCCMD/ MMCDAT/
SIOF_TXD SIOF_SCK
VSS
DRAK2
THDCD VDDQ /CE2A
TMS
VSS
MRESETO
IRQOUT
VDD
IRL3
VSS
VDDQ
IRL0
VSS
VSS
VSS
VSS
VSS
VDD
VSS
VSS
VSS
VDD
VSS
UT/
VSS
IRL2
D35/AD3/
VSS
DR3
DEVSEL/
DCLKOUT
R
VSS
VDD
VDDQ D55/A
D23
U
SIOF_TXD/
HAC0_SDO
UT/SSI0_
SDATA
SIOF_SCK
/HAC0_BIT
CLK/SSI0_
CLK
V
SIOF_SYNC HAC1_BI
SIOF_MCLK
/HAC0_
TCLK/
/HAC_RES
SYNC/SSI0_
SSI1_CLK
WS
W
SCIF5_SCK
/HAC1_SD
OUT/SSI1_
SDATA
Y
SCIF5_TXD SCIF5_RXD
/HAC1_
/HAC1_
SDIN/SSI1_
SYNC/
SCK
SSI1_WS
VSS
VDDQ
VDDQ
VDD
VSS
VDD
VSS
VDD
VSS
VDDPLL2
VSSPLL2
E
VSS
CLKO
UT
F
INTA
D32/AD
G
0/DR0
VSS
D40/AD
K
8/DG2
SERR
PAR
M
VSS
TRDY
/DISP
N
D50/A D49/AD D48/AD WE6/
D18 17/DB5 16/DB4 CBE2
P
D54/A
D53/A
VDDQ
D22
D21
R
PCIFRA
IRDY/
VSS ME/VS VDDQ
HSYNC
YNC
MODE4/
MODE8/
SCIF3_
SCIF3_
SCK/FD0 TXD/FCLE
SCIF1_ SCIF1_
RXD
TXD
C
D34/AD VDDQ D33/AD H
2/DR2
1/DR1
STOP LOCK
PERR
/CDE /ODDF
D52/A
D20
T
VSSPLL1
WE5/ D47/AD D46/AD D45/AD D44/AD D43/AD
L
CBE1 15/DB3 14/DB2 13/DB1 12/DB0 11/DG5
VSS
VSS
MODE12/
DRAK3/
CE2B
D41/AD
D42/AD
VDDQ
9/DG3
10/DG4
VDD
SIOF_RXD MODE10/
MODE6/SI
/HAC0_ SCIF4_RXD
OF_SYNC SDIN/SSI0_
/FD2
SCK
/INTC
VDDPLL1
WE4/ D39/AD D38/AD D37/AD D36/AD
J
CBE0 7/DG1 6/DG0 5/DR5 4/DR4
SCIF0_SCK SCIF0_TXD SCIF0_RXD SCIF0_CTS SCIF0_RTS MODE7/
SCIF3_
/HSPI_CLK /HSPI_TX/ /HSPI_RX/
/HSPI_CS
/INTD/
FRB
FWE
RXD/FALE
/FRE
/FSE
FCE
MODE5/
SIOF_MCLK
DREQ3
CLKOU
VDDQ
TENB
IRL1
P
SCIF1_
VDDQ
SCK
VDDQ
A
DREQ1 VDDQ
VSS
VDD
VSS
STATUS0/
DRAK0
19
VDDAPLL1
THDAS
VDD
VSS
18
NMI
TDO
VSS
17
TRST DACK0 DREQ0 MPMD
PKG TOP VIEW
VDDMDQ27
DDR
MDQ25
ASEBRK
/BRKACK
AUDAT
VDDVDDQ THDAG
MDQS1
A1
DDR
VSS
VSS
VSS
MDQS
MDQS AUDAT AUDAT
MDQ10
A0
A3
0
1
MDQS
MDQS2 MDM2 MDQ20
2
J MDQ28 MDQ23
N PRESET
VSS
MA7
VSS
VSS
VSS
MDQ6
VDDDDR
MA12
M
11
MDQ3 MDM0 MDQ11 MDQ15
MA4
L
10
MA3
MA8
K MDQ26
9
VDDDDR
MDQ4 MDQ0
G MDQ22 MDQ17 MDQ21
H MDQ16
8
MA11
MA5
MA0
7
MDQ1 MDQ7 MDQ13 MDQ12 MDM1
D51/A
D19
VSS
REQOUT
D58/A
D26
D57/A
D25
D56/A
D24
WE7/
CBE3
IDSEL
T
VSS
REQ1
VDDQ
D60/A
D28
VSS
D59/A
D27
U
BACK/ BREQ/
REQ2
BSREQ BSACK
D63/A
D31
D62/A
D30
D61/A
D29
VDD
VSS
VDD
VSS
VDDQ
RDY
REQ0/
VDDQ
CS6
VSS
CS4
VDDQ
R/W
VSS
RD/F
RAME
D12
VSS
MODE13
/TCLK/
IOIS16
MODE9/
SCIF4_
TXD/FD1
CS5
A14
A11
A6
CS3
CS2
CS1
D8
D11
D16
BS
VDDQ
WE1
VSS
D22
VDDQ
D27
VSS
GNT0/ VDDQ
GNTIN
REQ3 W
PCICLK
/DCLKIN
V
MODE11
/SCIF4_S
CK/FD3
VSS
A18
VDDQ
A10
VSS
A3
VDDQ
CS0
WE0/
REG
A23
A20
A17
A13
A9
A5
A2
D1
D4
D7
D10
D15
D18
D21
WE2/
IORD
D26
D29
GNT2
GNT1
PCIRES
ET
Y
AA
A25
VDDQ
A22
VDDQ
A16
VSS
A8
VDDQ
A1
VSS
D3
D6
VSS
D14
VDDQ
D20
VSS
D25
VDDQ
D31
VDDQ
GNT3/
MMCCLK
AA
AB
VSS
A24
A21
A19
A15
A12
A7
A4
A0
D0
D2
D5
D9
D13
D17
D19
D23
D24
D28
D30
WE3/I
OWR
VSS
AB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Figure 1.2 SH7785 Pin Arrangement (Top View)
Rev.1.00 Jan. 10, 2008 Page 22 of 1658
REJ09B0261-0100
1. Overview
AB
AA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
VSS
A24
A21
A19
A15
A12
A7
A4
A0
D0
D2
D5
D9
D13
D17
D19
D23
D24
D28
D30
WE3/
IOWR
VSS
A25
VDDQ
A22
VDDQ
A16
VSS
A8
VDDQ
A1
VSS
D3
D6
VSS
D14
VDDQ
D20
VSS
D25
VDDQ
D31
VDDQ
A23
A20
A17
A13
A9
A5
A2
D1
D4
D7
D10
D15
D18
D21
WE2/
IORD
D26
D29
GNT2
GNT1
PCIRE
Y
SET
MODE11/
SCIF4_SCK
/FD3
VSS
A18
VDDQ
A10
VSS
A3
VDDQ
CS0
WE0/
REG
VDDQ
WE1
VSS
D22
VDDQ
D27
VSS
GNT0
/GNTIN
VDDQ
REQ3
W
CS5
A14
A11
A6
CS3
CS2
CS1
D8
D11
D16
BS
BACK/
BSREQ
BREQ/
BSACK
REQ2
D63/A
D31
D62/A
D30
D61/A
D29
PCICLK
/DCLKIN
V
VSS
MODE13
/TCLK/
IOIS16
REQ1
D60/A
VDDQ
D28
VSS
D59/A
D27
U
D58/A
D26
D57/A
D25
WE7/
CBE3
Y
SCIF5_TXD SCIF5_RXD
/HAC1_
/HAC1_
SYNC/SSI1_ SDIN/SSI1_
WS
SCK
W
SCIF5_SCK
/HAC1_SD
OUT/SSI1_
SDATA
V
SIOF_SYNC
SIOF_MCLK
HAC1_BIT MODE9/S
/HAC0_
/HAC_RES
CLK/SSI1_ CIF4_TXD/
SYNC/
CLK
FD1
SSI0_WS
U
SIOF_TXD/
HAC0_SDO
UT/SSI0_
SDATA
T
VDDQ
VSS
SCIF1_ SCIF1_
TXD
RXD
SCIF1_
VDDQ
R
SCK
P
M
L
SIOF_SCK
/HAC0_BIT
CLK/SSI0_
CLK
VDDQ
CS6
SIOF_RXD
MODE10/
MODE6/ /HAC0_SDI
SCIF4_RXD
SIOF_SYNC N/SSI0_
/FD2
SCK
MODE5/
SIOF_MCLK
VSS
VSS
VDDQ
MODE8/
MODE4/
SCIF3_SCK/ SCIF3_TXD/
FD0
FCLE
SCIF0_SCK SCIF0_TXD SCIF0_RXD SCIF0_CTS SCIF0_RTS MODE7/S
/HSPI_CLK /HSPI_TX/ /HSPI_RX/
/HSPI_CS CIF3_RXD/
/INTD/F
/FRE
FWE
/FSE
FRB
FALE
CE
N PRESET
VSS
VSS
MODE1/
IRL5/FD5
VSS
MODE0
/IRL4/
FD4
MDM3 MDQ31
K MDQ26
VSS
J MDQ28 MDQ23
MODE2/
IRL6/FD6
MODE3/
IRL7/FD7
VSS
CS4
VDD
VDDQ
VSS
R/W
VDD
VSS
VSS
VDD
VSS
VSS
VDD
VSS
VDD
RDY
VSS
VSS
REQ0/
REQOUT
VSS
VSS
VSS
VDD
VSS
D55/A
VDDQ
D23
D52/A
D20
D51/A
D19
VSS
D50/A
D18
D56/A
D24
IDSEL
T
D53/A
D54/A
VDDQ
D21
D22
R
D49/A D48/A
D17/D D16/D
B5
B4
WE6/
CBE2
P
VSS
TRDY
/DISP
N
SERR
PAR
M
IRDY/
PCIFRA
VSS ME/VS VDDQ HSYNC
YNC
DEVSE STOP LOCK
L/DC /CDE /ODDF PERR
LKOUT
VDDMDQ24
DDR
VDD
VSS
VSS
VSS
VSS
VSS
MDQS MDQS3
MDQ29 MDQ30
3
VSS
VSS
VSS
VSS
VSS
VDD
VDDMDQ27
DDR
VDD
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VDD
IRL0
VSS
VDDQ
D35/AD
3/DR3
VSS
D33/AD
D34/AD
H
2/DR2 VDDQ 1/DR1
VDD
IRL3
IRL1
IRL2
MODE12
/DRAK3/
CE2B
INTA
D32/AD
G
0/DR0
DRAK2
/CE2A
VSS
MRESET
OUT/
IRQOUT
VDDQ
CLKOU
F
T
MDQ25
VDDQ
VSS
MDQS
MDQS2 MDM2 MDQ20
2
VDDDDR
VDD
G MDQ22 MDQ17 MDQ21
MA8
MA4
MA12
VSS
VDD
VSS
VDD
VDDDDR
MA0
VSS
MA7
VDDDDR
MDQ5
VSS
VSS
VSS
VDDQ
VDD
MDQ19
MA14
VDD
D12
PKG BTM VIEW
VSS
F
RD/
FRAME
VSS
VDDMDQ18
DDR
H MDQ16
AB
GNT3
/MMC AA
CLK
MA6
MCAS MRAS
E
MA10
MCS
D
MVRE
F
VDDDDR
MBA1
C
VSS
MCK1
MBKPRST
B
MCK1
VDDDDR
A
VSS
1
VSS
MWE
MA5
MA3
MA2
VDDDDR
MA13
MA11
MDQ4 MDQ0
MODT MBA2
VSS
MDQ8 MDQ9
MDQS0
VSS
DREQ3
/INTC
VDDPLL2
VDD- MDQS1 AUDA
VDDQ THDAG
DDR
TA1
VSS
DREQ1
VDDQ
SCIF2_RXD
/SIOF_RXD
VSS
VDDQ
VSSQ- D
-PLL2 VDDQ PLL2
DREQ0
MPMD
NMI
VDDAPLL1
VSS
STATUS0
/DRAK0
VDDQ
VSS
MDQ2
MCK0
VSS
MCKE
MBA0
MA9
MDQ1 MDQ7 MDQ13 MDQ12 MDM1
2
3
4
5
6
9
CLKO
UTENB
DREQ2
/INTB
MA1
8
THDCD VDDQ
WE4/ D39/AD D38/AD D37/AD D36/AD
J
CBE0 7/DG1 6/DG0 5/DR5 4/DR4
DACK1
MCK0
7
VSS
D40/AD
K
8/DG2
TMS
VDDDDR
MDQS AUDA
MDQS
MDQ10
TA0
1
0
MDQ6
VSS
VDD
VSS
THDAS
VDDDDR
VDDDDR
VSS
D41/AD
D42/AD
VDDQ
9/DG3
10/DG4
DACK3/S
DACK2/S
CIF2_TXD/ CIF2_SCK/
MMCCMD/ MMCDAT/
SIOF_TXD SIOF_SCK
MDQ3 MDM0 MDQ11 MDQ15
VSS
VDD
WE5/ D47/AD D46/AD D45/AD D44/AD D43/AD
L
CBE1 15/DB3 14/DB2 13/DB1 12/DB0 11/DG5
VSS
10
MDQ14
11
AUDA
TA2
TDO
AUDA
TA3
VSS
AUDSY
AUDCK
NC
12
13
ASEBRK/
BRKACK
TRST DACK0
VDDQTD
TDI
VDDQ
TCK
VSSQTHDCTL
TD
14
15
16
STATUS1
/DRAK1
17
XTAL EXTAL
18
19
VDDPLL1
VSSPLL2
VSSPLL1
E
C
VDDQ
VSSA-PLL1 VDDQ PLL1
B
MODE14
VSSQPLL1
VSS
A
20
21
22
Figure 1.3 SH7785 Pin Arrangement (Bottom View)
Rev.1.00 Jan. 10, 2008 Page 23 of 1658
REJ09B0261-0100
1. Overview
1.5
Physical Memory Address Map
The SH7785 supports 32-bit virtual address space, and supports both 29-bit and 32-bit physical
address spaces. For details of mappings from the virtual address space to the physical address
spaces, see section 7, Memory Management Unit (MMU).
Figure 1.4 shows the relationship between the AREASEL bits and the physical memory address
map. The 32-bit physical address space corresponds with the address space of the SuperHyway
bus.
MMSELR
AREASEL[2:0]*
H'0000 0000
H'0400 0000
H'0800 0000
H'0C00 0000
H'1000 0000
H'1400 0000
H'1800 0000
H'1C00 0000
H'2000 0000
Area 0
Area 1
Area 2
Area 3
Area 4
Area 5
Area 6
Area 7(Reserved)
B'000
B'001
B'010
B'011
B'100
B'101
B'110
LBSC
LBSC
LBSC
DBSC3
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
DBSC3
PCIC
LBSC
LBSC
LBSC
LBSC
DBSC2
DBSC3
LBSC
LBSC
LBSC
LBSC
LBSC
DBSC2
DBSC3
PCIC
LBSC
LBSC
LBSC
LBSC
DBSC2
DBSC3
DBSC4
DBSC5
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
LBSC
PCIC
LBSC
LBSC
DBSC0
DBSC0
DBSC0
DBSC0
DBSC0
DBSC0
DBSC0
DBSC1
DBSC1
DBSC1
DBSC1
DBSC1
DBSC1
DBSC1
DBSC2
DBSC2
DBSC2
DBSC2
DBSC2
DBSC2
DBSC2
DBSC3
DBSC3
DBSC3
DBSC3
DBSC3
DBSC3
DBSC3
DBSC4
DBSC4
DBSC4
DBSC4
DBSC4
DBSC4
DBSC4
DBSC5
DBSC5
DBSC5
DBSC5
DBSC5
DBSC5
DBSC5
DBSC6
DBSC6
DBSC6
DBSC6
DBSC6
DBSC6
DBSC6
DBSC7
DBSC7
DBSC7
DBSC7
DBSC7
DBSC7
DBSC7
DBSC8
DBSC8
DBSC8
DBSC8
DBSC8
DBSC8
DBSC8
DBSC9
DBSC9
DBSC9
DBSC9
DBSC9
DBSC9
DBSC9
DBSC10
DBSC10
DBSC10
DBSC10
DBSC10
DBSC10
DBSC10
DBSC11
DBSC11
DBSC11
DBSC11
DBSC11
DBSC11
DBSC11
DBSC12
DBSC12
DBSC12
DBSC12
DBSC12
DBSC12
DBSC12
DBSC13
DBSC13
DBSC13
DBSC13
DBSC13
DBSC13
DBSC13
DBSC14
DBSC14
DBSC14
DBSC14
DBSC14
DBSC14
DBSC14
DBSC15
DBSC15
DBSC15
DBSC15
DBSC15
DBSC15
DBSC15
PCIC
PCIC
PCIC
PCIC
PCIC
PCIC
PCIC
29-bit physical
address space
(Undefined)
H'4000 0000
H'4400 0000
H'4800 0000
H'4C00 0000
H'5000 0000
H'5400 0000
H'5800 0000
H'5C00 0000
H'6000 0000
H'6400 0000
H'6800 0000
H'6C00 0000
H'7000 0000
H'7400 0000
H'7800 0000
H'7C00 0000
H'8000 0000
DDR-SDRAM
32-bit physical
address space
(extended mode)
(undefined)
H'C000 0000
H'E000 0000
H'FFFF FFFF
PCI (PCIC)
(Internal resource)
Note:
Memory Address Map Select Register (MMSELR) Area Select Bit (AREASEL)
For details, refer to section 11.4.1, Memory Address Map Select Register (MMSELR).
Figure 1.4 Relationship between AREASEL Bits and Physical Memory Address Map
Rev.1.00 Jan. 10, 2008 Page 24 of 1658
REJ09B0261-0100
2. Programming Model
Section 2 Programming Model
The programming model of this LSI is explained in this section. This LSI has registers and data
formats as shown below.
2.1
Data Formats
The data formats supported in this LSI are shown in figure 2.1.
7
0
Byte (8 bits)
15
0
Word (16 bits)
31
0
Longword (32 bits)
31 30
s
e
Single-precision floating-point (32 bits)
Double-precision floating-point (64 bits)
63 62
s
e
51
22
0
f
0
f
Legend:
s :Sign field
e :Exponent field
f :Fraction field
Figure 2.1 Data Formats
Rev.1.00 Jan. 10, 2008 Page 25 of 1658
REJ09B0261-0100
2. Programming Model
2.2
Register Descriptions
2.2.1
Privileged Mode and Banks
(1)
Processing Modes
This LSI has two processing modes, user mode and privileged mode. This LSI normally operates
in user mode, and switches to privileged mode when an exception occurs or an interrupt is
accepted. There are four kinds of registers—general registers, system registers, control registers,
and floating-point registers—and the registers that can be accessed differ in the two processing
modes.
(2)
General Registers
There are 16 general registers, designated R0 to R15. General registers R0 to R7 are banked
registers which are switched by a processing mode change.
• Privileged mode
In privileged mode, the register bank bit (RB) in the status register (SR) defines which banked
register set is accessed as general registers, and which set is accessed only through the load
control register (LDC) and store control register (STC) instructions.
When the RB bit is 1 (that is, when bank 1 is selected), the 16 registers comprising bank 1
general registers R0_BANK1 to R7_BANK1 and non-banked general registers R8 to R15 can
be accessed as general registers R0 to R15. In this case, the eight registers comprising bank 0
general registers R0_BANK0 to R7_BANK0 are accessed by the LDC/STC instructions.
When the RB bit is 0 (that is, when bank 0 is selected), the 16 registers comprising bank 0
general registers R0_BANK0 to R7_BANK0 and non-banked general registers R8 to R15 can
be accessed as general registers R0 to R15. In this case, the eight registers comprising bank 1
general registers R0_BANK1 to R7_BANK1 are accessed by the LDC/STC instructions.
• User mode
In user mode, the 16 registers comprising bank 0 general registers R0_BANK0 to R7_BANK0
and non-banked general registers R8 to R15 can be accessed as general registers R0 to R15.
The eight registers comprising bank 1 general registers R0_BANK1 to R7_BANK1 cannot be
accessed.
(3)
Control Registers
Control registers comprise the global base register (GBR) and status register (SR), which can be
accessed in both processing modes, and the saved status register (SSR), saved program counter
(SPC), vector base register (VBR), saved general register 15 (SGR), and debug base register
Rev.1.00 Jan. 10, 2008 Page 26 of 1658
REJ09B0261-0100
2. Programming Model
(DBR), which can only be accessed in privileged mode. Some bits of the status register (such as
the RB bit) can only be accessed in privileged mode.
(4)
System Registers
System registers comprise the multiply-and-accumulate registers (MACH/MACL), the procedure
register (PR), and the program counter (PC). Access to these registers does not depend on the
processing mode.
(5)
Floating-Point Registers and System Registers Related to FPU
There are thirty-two floating-point registers, FR0–FR15 and XF0–XF15. FR0–FR15 and XF0–
XF15 can be assigned to either of two banks (FPR0_BANK0–FPR15_BANK0 or FPR0_BANK1–
FPR15_BANK1).
FR0–FR15 can be used as the eight registers DR0/2/4/6/8/10/12/14 (double-precision floatingpoint registers, or pair registers) or the four registers FV0/4/8/12 (register vectors), while XF0–
XF15 can be used as the eight registers XD0/2/4/6/8/10/12/14 (register pairs) or register matrix
XMTRX.
System registers related to the FPU comprise the floating-point communication register (FPUL)
and the floating-point status/control register (FPSCR). These registers are used for communication
between the FPU and the CPU, and the exception handling setting.
Register values after a reset are shown in table 2.1.
Rev.1.00 Jan. 10, 2008 Page 27 of 1658
REJ09B0261-0100
2. Programming Model
Table 2.1
Initial Register Values
Type
Registers
Initial Value*
General registers R0_BANK0 to R7_BANK0,
R0_BANK1 to R7_BANK1,
R8 to R15
Undefined
Control registers SR
MD bit = 1, RB bit = 1, BL bit = 1, FD bit = 0,
IMASK = B'1111, reserved bits = 0,
others = undefined
GBR, SSR, SPC, SGR, DBR Undefined
VBR
System registers MACH, MACL, PR
Floating-point
registers
Note:
*
H'00000000
Undefined
PC
H'A0000000
FR0 to FR15, XF0 to XF15,
FPUL
Undefined
FPSCR
H'00040001
Initialized by a power-on reset and manual reset.
The CPU register configuration in each processing mode is shown in figure 2.2.
User mode and privileged mode are switched by the processing mode bit (MD) in the status
register.
Rev.1.00 Jan. 10, 2008 Page 28 of 1658
REJ09B0261-0100
2. Programming Model
31
0
31
0
31
0
R0_BANK0*1,*2
R1_BANK0*2
R2_BANK0*2
R3_BANK0*2
R4_BANK0*2
R5_BANK0*2
R6_BANK0*2
R7_BANK0*2
R8
R9
R10
R11
R12
R13
R14
R15
R0_BANK1*1,*3
R1_BANK1*3
R2_BANK1*3
R3_BANK1*3
R4_BANK1*3
R5_BANK1*3
R6_BANK1*3
R7_BANK1*3
R8
R9
R10
R11
R12
R13
R14
R15
R0_BANK0*1,*4
R1_BANK0*4
R2_BANK0*4
R3_BANK0*4
R4_BANK0*4
R5_BANK0*4
R6_BANK0*4
R7_BANK0*4
R8
R9
R10
R11
R12
R13
R14
R15
SR
SR
SSR
SR
SSR
GBR
MACH
MACL
PR
GBR
MACH
MACL
PR
VBR
GBR
MACH
MACL
PR
VBR
PC
PC
SPC
PC
SPC
SGR
SGR
DBR
DBR
(a) Register configuration
in user mode
R0_BANK0*1,*4
R1_BANK0*4
R2_BANK0*4
R3_BANK0*4
R4_BANK0*4
R5_BANK0*4
R6_BANK0*4
R7_BANK0*4
(b) Register configuration in
privileged mode (RB = 1)
R0_BANK1*1,*3
R1_BANK1*3
R2_BANK1*3
R3_BANK1*3
R4_BANK1*3
R5_BANK1*3
R6_BANK1*3
R7_BANK1*3
(c) Register configuration in
privileged mode (RB = 0)
Notes: 1. R0 is used as the index register in indexed register-indirect addressing mode and
indexed GBR indirect addressing mode.
2. Banked registers
3. Banked registers
Accessed as general registers when the RB bit is set to 1 in SR. Accessed only by
LDC/STC instructions when the RB bit is cleared to 0.
4. Banked registers
Accessed as general registers when the RB bit is cleared to 0 in SR. Accessed only
by LDC/STC instructions when the RB bit is set to 1.
Figure 2.2 CPU Register Configuration in Each Processing Mode
Rev.1.00 Jan. 10, 2008 Page 29 of 1658
REJ09B0261-0100
2. Programming Model
2.2.2
General Registers
Figure 2.3 shows the relationship between the processing modes and general registers. This LSI
has twenty-four 32-bit general registers (R0_BANK0 to R7_BANK0, R0_BANK1 to
R7_BANK1, and R8 to R15). However, only 16 of these can be accessed as general registers R0
to R15 in one processing mode. This LSI has two processing modes, user mode and privileged
mode.
• R0_BANK0 to R7_BANK0
Allocated to R0 to R7 in user mode (SR.MD = 0)
Allocated to R0 to R7 when SR.RB = 0 in privileged mode (SR.MD = 1).
• R0_BANK1 to R7_BANK1
Cannot be accessed in user mode.
Allocated to R0 to R7 when SR.RB = 1 in privileged mode.
SR.MD = 0 or
(SR.MD = 1, SR.RB = 0)
R0
R1
R2
R3
R4
R5
R6
R7
R0_BANK0
R1_BANK0
R2_BANK0
R3_BANK0
R4_BANK0
R5_BANK0
R6_BANK0
R7_BANK0
(SR.MD = 1, SR.RB = 1)
R0_BANK0
R1_BANK0
R2_BANK0
R3_BANK0
R4_BANK0
R5_BANK0
R6_BANK0
R7_BANK0
R0_BANK1
R1_BANK1
R2_BANK1
R3_BANK1
R4_BANK1
R5_BANK1
R6_BANK1
R7_BANK1
R0_BANK1
R1_BANK1
R2_BANK1
R3_BANK1
R4_BANK1
R5_BANK1
R6_BANK1
R7_BANK1
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R8
R9
R10
R11
R12
R13
R14
R15
R8
R9
R10
R11
R12
R13
R14
R15
Figure 2.3 General Registers
Rev.1.00 Jan. 10, 2008 Page 30 of 1658
REJ09B0261-0100
2. Programming Model
Note on Programming:
2.2.3
As the user's R0 to R7 are assigned to R0_BANK0 to R7_BANK0, and
after an exception or interrupt R0 to R7 are assigned to R0_BANK1 to
R7_BANK1, it is not necessary for the interrupt handler to save and
restore the user's R0 to R7 (R0_BANK0 to R7_BANK0).
Floating-Point Registers
Figure 2.4 shows the floating-point register configuration. There are thirty-two 32-bit floatingpoint registers, FPR0_BANK0 to FPR15_BANK0, AND FPR0_BANK1 to FPR15_BANK1,
comprising two banks. These registers are referenced as FR0 to FR15, DR0/2/4/6/8/10/12/14,
FV0/4/8/12, XF0 to XF15, XD0/2/4/6/8/10/12/14, or XMTRX. Reference names of each register
are defined depending on the state of the FR bit in FPSCR (see figure 2.4).
1. Floating-point registers, FPRn_BANKj (32 registers)
FPR0_BANK0 to FPR15_BANK0
FPR0_BANK1 to FPR15_BANK1
2. Single-precision floating-point registers, FRi (16 registers)
When FPSCR.FR = 0, FR0 to FR15 are assigned to FPR0_BANK0 to FPR15_BANK0;
when FPSCR.FR = 1, FR0 to FR15 are assigned to FPR0_BANK1 to FPR15_BANK1.
3. Double-precision floating-point registers or single-precision floating-point registers, DRi (8
registers): A DR register comprises two FR registers.
DR0 = {FR0, FR1}, DR2 = {FR2, FR3}, DR4 = {FR4, FR5}, DR6 = {FR6, FR7},
DR8 = {FR8, FR9}, DR10 = {FR10, FR11}, DR12 = {FR12, FR13}, DR14 = {FR14, FR15}
4. Single-precision floating-point vector registers, FVi (4 registers): An FV register comprises
four FR registers.
FV0 = {FR0, FR1, FR2, FR3}, FV4 = {FR4, FR5, FR6, FR7},
FV8 = {FR8, FR9, FR10, FR11}, FV12 = {FR12, FR13, FR14, FR15}
5. Single-precision floating-point extended registers, XFi (16 registers)
When FPSCR.FR = 0, XF0 to XF15 are assigned to FPR0_BANK1 to FPR15_BANK1;
when FPSCR.FR = 1, XF0 to XF15 are assigned to FPR0_BANK0 to FPR15_BANK0.
6. Double-precision floating-point extended registers, XDi (8 registers): An XD register
comprises two XF registers.
XD0 = {XF0, XF1}, XD2 = {XF2, XF3}, XD4 = {XF4, XF5}, XD6 = {XF6, XF7},
XD8 = {XF8, XF9}, XD10 = {XF10, XF11}, XD12 = {XF12, XF13}, XD14 = {XF14, XF15}
Rev.1.00 Jan. 10, 2008 Page 31 of 1658
REJ09B0261-0100
2. Programming Model
7. Single-precision floating-point extended register matrix, XMTRX: XMTRX comprises all 16
XF registers.
XMTRX =
XF0
XF1
XF2
XF3
XF4
XF5
XF6
XF7
XF8
XF9
XF10
XF11
XF12
XF13
XF14
XF15
FPSCR.FR = 0
FV0
DR0
DR2
FV4
DR4
DR6
FV8
DR8
DR10
FV12
DR12
DR14
XMTRX
XD0
XD2
XD4
XD6
XD8
XD10
XD12
XD14
FPSCR.FR = 1
FR0
FR1
FR2
FR3
FR4
FR5
FR6
FR7
FR8
FR9
FR10
FR11
FR12
FR13
FR14
FR15
FPR0_BANK0
FPR1_BANK0
FPR2_BANK0
FPR3_BANK0
FPR4_BANK0
FPR5_BANK0
FPR6_BANK0
FPR7_BANK0
FPR8_BANK0
FPR9_BANK0
FPR10_BANK0
FPR11_BANK0
FPR12_BANK0
FPR13_BANK0
FPR14_BANK0
FPR15_BANK0
XF0
XF1
XF2
XF3
XF4
XF5
XF6
XF7
XF8
XF9
XF10
XF11
XF12
XF13
XF14
XF15
XF0
XF1
XF2
XF3
XF4
XF5
XF6
XF7
XF8
XF9
XF10
XF11
XF12
XF13
XF14
XF15
FPR0_BANK1
FPR1_BANK1
FPR2_BANK1
FPR3_BANK1
FPR4_BANK1
FPR5_BANK1
FPR6_BANK1
FPR7_BANK1
FPR8_BANK1
FPR9_BANK1
FPR10_BANK1
FPR11_BANK1
FPR12_BANK1
FPR13_BANK1
FPR14_BANK1
FPR15_BANK1
FR0
FR1
FR2
FR3
FR4
FR5
FR6
FR7
FR8
FR9
FR10
FR11
FR12
FR13
FR14
FR15
Figure 2.4 Floating-Point Registers
Rev.1.00 Jan. 10, 2008 Page 32 of 1658
REJ09B0261-0100
XD0
XMTRX
XD2
XD4
XD6
XD8
XD10
XD12
XD14
DR0
FV0
DR2
DR4
FV4
DR6
DR8
FV8
DR10
DR12
DR14
FV12
2. Programming Model
2.2.4
(1)
Control Registers
Status Register (SR)
BIt:
31
30
29
28
MD
RB
BL
27
26
25
24
23
22
21
20
19
18
17
16
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
7
6
5
4
3
2
1
0
0
R
S
0
R/W
T
0
R/W
Initial value:
R/W:
0
R
1
R/W
1
R/W
1
R/W
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
0
R
M
0
R/W
Q
0
R/W
FD
Initial value: 0
R/W: R/W
0
R
0
R
0
R
0
R
1
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31
—
0
R
Reserved
IMASK
1
1
R/W R/W
1
R/W
0
R
For details on reading/writing this bit, see General
Precautions on Handling of Product.
30
MD
1
R/W
Processing Mode
Selects the processing mode.
0: User mode (Some instructions cannot be executed
and some resources cannot be accessed.)
1: Privileged mode
This bit is set to 1 by an exception or interrupt.
29
RB
1
R/W
Privileged Mode General Register Bank Specification
Bit
0: R0_BANK0 to R7_BANK0 are accessed as general
registers R0 to R7 and R0_BANK1 to R7_BANK1 can
be accessed using LDC/STC instructions
1: R0_BANK1 to R7_BANK1 are accessed as general
registers R0 to R7 and R0_BANK0–R7_BANK0 can
be accessed using LDC/STC instructions
This bit is set to 1 by an exception or interrupt.
28
BL
1
R/W
Exception/Interrupt Block Bit
This bit is set to 1 by a reset, a general exception, or an
interrupt.
While this bit is set to 1, an interrupt request is masked.
In this case, this processor enters the reset state when
a general exception other than a user break occurs.
Rev.1.00 Jan. 10, 2008 Page 33 of 1658
REJ09B0261-0100
2. Programming Model
Bit
Bit Name
27 to 16 —
Initial
Value
R/W
Description
All 0
R
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
15
FD
0
R/W
FPU Disable Bit
When this bit is set to 1 and an FPU instruction is not in
a delay slot, a general FPU disable exception occurs.
When this bit is set to 1 and an FPU instruction is in a
delay slot, a slot FPU disable exception occurs. (FPU
instructions: H'F*** instructions and LDS (.L)/STS(.L)
instructions using FPUL/FPSCR)
14 to 10 —
All 0
R
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
9
M
0
R/W
M Bit
Used by the DIV0S, DIV0U, and DIV1 instructions.
8
Q
0
R/W
Q Bit
Used by the DIV0S, DIV0U, and DIV1 instructions.
7 to 4
IMASK
1111
R/W
3, 2
—
All 0
R
Interrupt Mask Level Bits
An interrupt whose priority is equal to or less than the
value of the IMASK bits is masked. It can be chosen by
CPU operation mode register (CPUOPM) whether the
level of IMASK is changed to accept an interrupt or not
when an interrupt is occurred. For details, see appendix
A, CPU Operation Mode Register (CPUOPM).
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
1
S
0
R/W
S Bit
Used by the MAC instruction.
0
T
0
R/W
T Bit
Indicates true/false condition, carry/borrow, or
overflow/underflow.
For details, see section 3, Instruction Set.
Rev.1.00 Jan. 10, 2008 Page 34 of 1658
REJ09B0261-0100
2. Programming Model
(2)
Saved Status Register (SSR) (32 bits, Privileged Mode, Initial Value = Undefined)
The contents of SR are saved to SSR in the event of an exception or interrupt.
(3)
Saved Program Counter (SPC) (32 bits, Privileged Mode, Initial Value = Undefined)
The address of an instruction at which an interrupt or exception occurs is saved to SPC.
(4)
Global Base Register (GBR) (32 bits, Initial Value = Undefined)
GBR is referenced as the base address of addressing @(disp,GBR) and @(R0,GBR).
(5)
Vector Base Register (VBR) (32 bits, Privileged Mode, Initial Value = H'00000000)
VBR is referenced as the branch destination base address in the event of an exception or interrupt.
For details, see section 5, Exception Handling.
(6)
Saved General Register 15 (SGR) (32 bits, Privileged Mode, Initial Value = Undefined)
The contents of R15 are saved to SGR in the event of an exception or interrupt.
(7)
Debug Base Register (DBR) (32 bits, Privileged Mode, Initial Value = Undefined)
When the user break debugging function is enabled (CBCR.UBDE = 1), DBR is referenced as the
branch destination address of the user break handler instead of VBR.
2.2.5
(1)
System Registers
Multiply-and-Accumulate Registers (MACH and MACL) (32 bits, Initial Value =
Undefined)
MACH and MACL are used for the added value in a MAC instruction, and to store the operation
result of a MAC or MUL instruction.
(2)
Procedure Register (PR) (32 bits, Initial Value = Undefined)
The return address is stored in PR in a subroutine call using a BSR, BSRF, or JSR instruction. PR
is referenced by the subroutine return instruction (RTS).
(3)
Program Counter (PC) (32 bits, Initial Value = H'A0000000)
PC indicates the address of the instruction currently being executed.
Rev.1.00 Jan. 10, 2008 Page 35 of 1658
REJ09B0261-0100
2. Programming Model
(4)
Floating-Point Status/Control Register (FPSCR)
BIt:
31
30
29
28
27
26
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
Cause
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
25
24
23
22
21
20
19
18
FR
SZ
PR
DN
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R/W
9
8
7
6
5
Enable (EN)
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Flag
0
R/W
0
R/W
0
R/W
0
R/W
17
16
Cause
RM
0
R/W
0
R/W
0
R/W
1
R/W
Initial
Value
R/W
Description
31 to 22 —
All 0
R
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
21
FR
0
R/W
Floating-Point Register Bank
0: FPR0_BANK0 to FPR15_BANK0 are assigned to
FR0 to FR15 and FPR0_BANK1 to FPR15_BANK1
are assigned to XF0 to XF15
1: FPR0_BANK0 to FPR15_BANK0 are assigned to
XF0 to XF15 and FPR0_BANK1 to FPR15_BANK1
are assigned to FR0 to FR15
20
SZ
0
R/W
Transfer Size Mode
0: Data size of FMOV instruction is 32-bits
1: Data size of FMOV instruction is a 32-bit register
pair (64 bits)
For relationship between the SZ bit, PR bit, and endian,
see figure 2.5.
19
PR
0
R/W
Precision Mode
0: Floating-point instructions are executed as
single-precision operations
1: Floating-point instructions are executed as
double-precision operations (graphics support
instructions are undefined)
For relationship between the SZ bit, PR bit, and endian,
see figure 2.5
18
DN
1
R/W
Denormalization Mode
0: Denormalized number is treated as such
1: Denormalized number is treated as zero
Bit
Bit Name
Rev.1.00 Jan. 10, 2008 Page 36 of 1658
REJ09B0261-0100
2. Programming Model
Bit
Bit Name
17 to 12 Cause
Initial
Value
R/W
Description
000000
R/W
FPU Exception Cause Field
FPU Exception Enable Field
FPU Exception Flag Field
Each time an FPU operation instruction is executed, the
FPU exception cause field is cleared to 0. When an
FPU exception occurs, the bits corresponding to FPU
exception cause field and flag field are set to 1. The
FPU exception flag field remains set to 1 until it is
cleared to 0 by software.
For bit allocations of each field, see table 2.2.
11 to 7
Enable (EN) 00000
R/W
6 to 2
Flag
00000
R/W
1, 0
RM
01
R/W
Rounding Mode
These bits select the rounding mode.
00: Round to Nearest
01: Round to Zero
10: Reserved
11: Reserved
Rev.1.00 Jan. 10, 2008 Page 37 of 1658
REJ09B0261-0100
2. Programming Model
63
0
Floating-point register
DR (2i)
63
0
FR (2i)
63
FR (2i+1)
32 31
0
Memory area
8n
8n+3
8n+4
8n+7
63
0
Floating-point register
63
0
0
*2
63
32 31
0
FR (2i)
FR (2i+1)
63
0
DR (2i)
*1, *2
63
FR (2i)
63
DR (2i)
DR (2i)
0
63
4m
8n+3
63
FR (2i+1)
32 31
0
FR (2i)
0
63
8n+4
8n+7
FR (2i+1)
32 31
0
8n+4 8n+3
8n
Memory area
4n+3
4n 4m+3
(1) SZ = 0
8n 8n+7
(2) SZ = 1, PR = 0
(3) SZ = 1, PR = 1
Notes: 1. In the case of SZ = 0 and PR = 0, DR register can not be used.
2. The bit-location of DR register is used for double precision format when PR = 1.
(In the case of (2), it is used when PR is changed from 0 to 1.)
Figure 2.5 Relationship between SZ bit and Endian
Table 2.2
Bit Allocation for FPU Exception Handling
Field Name
FPU
Error (E)
Invalid
Division
Operation (V) by Zero (Z)
Overflow Underflow Inexact
(O)
(U)
(I)
Cause
FPU exception
cause field
Bit 17
Bit 16
Bit 15
Bit 14
Bit 13
Bit 12
Enable
FPU exception
enable field
None
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Flag
FPU exception flag None
field
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
(5)
Floating-Point Communication Register (FPUL) (32 bits, Initial Value = Undefined)
Information is transferred between the FPU and CPU via FPUL.
Rev.1.00 Jan. 10, 2008 Page 38 of 1658
REJ09B0261-0100
2. Programming Model
2.3
Memory-Mapped Registers
Some control registers are mapped to the following memory areas. Each of the mapped registers
has two addresses.
H'1C00 0000 to H'1FFF FFFF
H'FC00 0000 to H'FFFF FFFF
These two areas are used as follows.
• H'1C00 0000 to H'1FFF FFFF
This area must be accessed using the address translation function of the MMU.
Setting the page number of this area to the corresponding field of the TLB enables access to a
memory-mapped register.
The operation of an access to this area without using the address translation function of the
MMU is not guaranteed.
• H'FC00 0000 to H'FFFF FFFF
Access to area H'FC00 0000 to H'FFFF FFFF in user mode will cause an address error.
Memory-mapped registers can be referenced in user mode by means of access that involves
address translation.
Note: Do not access addresses to which registers are not mapped in either area. The operation of
an access to an address with no register mapped is undefined. Also, memory-mapped
registers must be accessed using a fixed data size. The operation of an access using an
invalid data size is undefined.
Rev.1.00 Jan. 10, 2008 Page 39 of 1658
REJ09B0261-0100
2. Programming Model
2.4
Data Formats in Registers
Register operands are always longwords (32 bits). When a memory operand is only a byte (8 bits)
or a word (16 bits), it is sign-extended into a longword when loaded into a register.
7 6
0
S
31
S
7 6
S
15 14
0
0
S
31
S
15 14
S
0
Figure 2.6 Formats of Byte Data and Word Data in Register
2.5
Data Formats in Memory
Memory data formats are classified into bytes, words, and longwords. Memory can be accessed in
an 8-bit byte, 16-bit word, or 32-bit longword form. A memory operand less than 32 bits in length
is sign-extended before being loaded into a register.
A word operand must be accessed starting from a word boundary (even address of a 2-byte unit:
address 2n), and a longword operand starting from a longword boundary (even address of a 4-byte
unit: address 4n). An address error will result if this rule is not observed. A byte operand can be
accessed from any address.
Big endian or little endian byte order can be selected for the data format. The endian should be set
with the external pin after a power-on reset. The endian cannot be changed dynamically. Bit
positions are numbered left to right from most-significant to least-significant. Thus, in a 32-bit
longword, the leftmost bit, bit 31, is the most significant bit and the rightmost bit, bit 0, is the least
significant bit.
The data format in memory is shown in figure 2.7.
Rev.1.00 Jan. 10, 2008 Page 40 of 1658
REJ09B0261-0100
2. Programming Model
A+1
A
31
7
A+2
23
A+3
15
07
07
A + 11 A + 10 A + 9
7
0
31
07
0
7
0
15
Address A Byte 0 Byte 1 Byte 2 Byte 3
Address A + 4
Address A + 8
15
0 15
Word 0
31
Big endian
07
07
7
0
07
0
0 15
Word 1
0
A+8
15
Byte 3 Byte 2 Byte 1 Byte 0 Address A + 8
Word 1
Longword
23
31
0
Word 0
Longword
0
Address A + 4
Address A
Little endian
Figure 2.7 Data Formats in Memory
For the 64-bit data format, see figure 2.5.
2.6
Processing States
This LSI has major three processing states: the reset state, instruction execution state, and powerdown state.
(1)
Reset State
In this state the CPU is reset. The reset state is divided into the power-on reset state and the
manual reset.
In the power-on reset state, the internal state of the CPU and the on-chip peripheral module
registers are initialized. In the manual reset state, the internal state of the CPU and some registers
of on-chip peripheral modules are initialized. For details, see register descriptions for each section.
(2)
Instruction Execution State
In this state, the CPU executes program instructions in sequence. The Instruction execution state
has the normal program execution state and the exception handling state.
(3)
Power-Down State
In a power-down state, CPU halts operation and power consumption is reduced. The power-down
state is entered by executing a SLEEP instruction. There are two modes in the power-down state:
sleep mode and standby mode. For details, see section 17, Power-Down mode.
Rev.1.00 Jan. 10, 2008 Page 41 of 1658
REJ09B0261-0100
2. Programming Model
From any state
when reset/manual
reset input
Reset state
Reset/manual
reset clearance
Reset/manual
reset input
Instruction execution state
Reset/manual
reset input
Sleep instruction execution
Power-down state
Interrupt occurence
Figure 2.8 Processing State Transitions
Rev.1.00 Jan. 10, 2008 Page 42 of 1658
REJ09B0261-0100
2. Programming Model
2.7
Usage Notes
2.7.1
Notes on Self-Modifying Code
To accelerate the processing speed, the instruction prefetching capability of this LSI has been
significantly enhanced from that of the SH-4. Therefore, in the case when a code in memory is
rewritten and attempted to be executed immediately, there is increased possibility that the code
before being modified, which has already been prefetched, is executed.
To ensure execution of the modified code, one of the following sequence of instructions should be
executed between the code rewriting instruction and execution of the modified code.
(1)
When the Codes to be Modified are in Non-Cacheable Area
SYNCO
ICBI @Rn
The target for the ICBI instruction can be any address within the range where no address error
exception occurs.
(2)
When the Codes to be Modified are in Cacheable Area (Write-Through)
SYNCO
ICBI @Rn
All instruction cache areas corresponding to the modified codes should be invalidated by the ICBI
instruction. The ICBI instruction should be issued to each cache line. One cache line is 32 bytes.
(3)
When the Codes to be Modified are in Cacheable Area (Copy-Back)
OCBP @Rm or OCBWB @Rm
SYNCO
ICBI @Rn
All operand cache areas corresponding to the modified codes should be written back to the main
memory by the OCBP or OCBWB instruction. Then all instruction cache areas corresponding to
the modified codes should be invalidated by the ICBI instruction. The OCBP, OCBWB, and ICBI
instruction should be issued to each cache line. One cache line is 32 bytes.
Note: Self-modifying code is the processing which executes instructions while dynamically
rewriting the codes in memory.
Rev.1.00 Jan. 10, 2008 Page 43 of 1658
REJ09B0261-0100
2. Programming Model
Rev.1.00 Jan. 10, 2008 Page 44 of 1658
REJ09B0261-0100
3. Instruction Set
Section 3 Instruction Set
This LSI's instruction set is implemented with 16-bit fixed-length instructions. This LSI can use
byte (8-bit), word (16-bit), longword (32-bit), and quadword (64-bit) data sizes for memory
access. Single-precision floating-point data (32 bits) can be moved to and from memory using
longword or quadword size. Double-precision floating-point data (64 bits) can be moved to and
from memory using longword size. When this LSI moves byte-size or word-size data from
memory to a register, the data is sign-extended.
3.1
(1)
Execution Environment
PC
At the start of instruction execution, the PC indicates the address of the instruction itself.
(2)
Load-Store Architecture
This LSI has a load-store architecture in which operations are basically executed using registers.
Except for bit-manipulation operations such as logical AND that are executed directly in memory,
operands in an operation that requires memory access are loaded into registers and the operation is
executed between the registers.
(3)
Delayed Branches
Except for the two branch instructions BF and BT, this LSI's branch instructions and RTE are
delayed branches. In a delayed branch, the instruction following the branch is executed before the
branch destination instruction.
(4)
Delay Slot
This execution slot following a delayed branch is called a delay slot. For example, the BRA
execution sequence is as follows:
Rev.1.00 Jan. 10, 2008 Page 45 of 1658
REJ09B0261-0100
3. Instruction Set
Table 3.1
Execution Order of Delayed Branch Instructions
Instructions
BRA
TARGET
ADD
TARGET
Execution Order
(Delayed branch instruction)
BRA
(Delay slot)
↓
:
ADD
:
↓
target-inst
(Branch destination instruction)
target-inst
A slot illegal instruction exception may occur when a specific instruction is executed in a delay
slot. For details, see section 5, Exception Handling. The instruction following BF/S or BT/S for
which the branch is not taken is also a delay slot instruction.
(5)
T Bit
The T bit in SR is used to show the result of a compare operation, and is referenced by a
conditional branch instruction. An example of the use of a conditional branch instruction is shown
below.
ADD
#1, R0
CMP/EQ R1, R0
BT
TARGET
; T bit is not changed by ADD operation
; If R0 = R1, T bit is set to 1
; Branches to TARGET if T bit = 1 (R0 = R1)
In an RTE delay slot, the SR bits are referenced as follows. In instruction access, the MD bit is
used before modification, and in data access, the MD bit is accessed after modification. The other
bits—S, T, M, Q, FD, BL, and RB—after modification are used for delay slot instruction
execution. The STC and STC.L SR instructions access all SR bits after modification.
(6)
Constant Values
An 8-bit constant value can be specified by the instruction code and an immediate value. 16-bit
and 32-bit constant values can be defined as literal constant values in memory, and can be
referenced by a PC-relative load instruction.
MOV.W @(disp, PC), Rn
MOV.L @(disp, PC), Rn
There are no PC-relative load instructions for floating-point operations. However, it is possible to
set 0.0 or 1.0 by using the FLDI0 or FLDI1 instruction on a single-precision floating-point
register.
Rev.1.00 Jan. 10, 2008 Page 46 of 1658
REJ09B0261-0100
3. Instruction Set
3.2
Addressing Modes
Addressing modes and effective address calculation methods are shown in table 3.2. When a
location in virtual memory space is accessed (AT in MMUCR = 1), the effective address is
translated into a physical memory address. If multiple virtual memory space systems are selected
(SV in MMUCR = 0), the least significant bit of PTEH is also referenced as the access ASID. For
details, see section 7, Memory Management Unit (MMU).
Table 3.2
Addressing Modes and Effective Addresses
Addressing Instruction
Mode
Format
Effective Address Calculation Method
Register
direct
Rn
Effective address is register Rn.
(Operand is register Rn contents.)
—
Register
indirect
@Rn
Effective address is register Rn contents.
Rn → EA
(EA: effective
address)
Register
indirect
with postincrement
@Rn+
Rn
Rn
Effective address is register Rn contents.
A constant is added to Rn after instruction
execution: 1 for a byte operand, 2 for a word
operand, 4 for a longword operand, 8 for a
quadword operand.
Rn
Rn
Rn + 1/2/4
1/2/4
+
Calculation
Formula
Rn → EA
After instruction
execution
Byte:
Rn + 1 → Rn
Word:
Rn + 2 → Rn
Longword:
Rn + 4 → Rn
Quadword:
Rn + 8 → Rn
Rev.1.00 Jan. 10, 2008 Page 47 of 1658
REJ09B0261-0100
3. Instruction Set
Addressing
Mode
Instruction
Format
Register
indirect
with predecrement
@–Rn
Effective Address Calculation Method
Effective address is register Rn contents,
decremented by a constant beforehand:
1 for a byte operand, 2 for a word operand,
4 for a longword operand, 8 for a quadword
operand.
Rn
Rn – 1/2/4
–
Rn – 1/2/4/8
Calculation
Formula
Byte:
Rn – 1 → Rn
Word:
Rn – 2 → Rn
Longword:
Rn – 4 → Rn
Quadword:
Rn – 8 → Rn
Rn → EA
(Instruction
executed
with Rn after
calculation)
1/2/4
Register
@(disp:4, Rn) Effective address is register Rn contents with
indirect with
4-bit displacement disp added. After disp is
displacement
zero-extended, it is multiplied by 1 (byte), 2
(word), or 4 (longword), according to the operand
size.
Rn
disp
(zero-extended)
+
Byte: Rn + disp
→ EA
Word: Rn + disp
× 2 → EA
Longword:
Rn + disp × 4 →
EA
Rn + disp × 1/2/4
×
1/2/4
Indexed
register
indirect
@(R0, Rn)
Effective address is sum of register Rn and R0
contents.
Rn
+
R0
Rev.1.00 Jan. 10, 2008 Page 48 of 1658
REJ09B0261-0100
Rn + R0
Rn + R0 → EA
3. Instruction Set
Addressing
Mode
Instruction
Format
GBR indirect @(disp:8,
with displace- GBR)
ment
Effective Address Calculation Method
Effective address is register GBR contents with
8-bit displacement disp added. After disp is
zero-extended, it is multiplied by 1 (byte), 2 (word),
or 4 (longword), according to the operand size.
GBR
disp
(zero-extended)
GBR
+ disp × 1/2/4
+
Calculation
Formula
Byte: GBR +
disp → EA
Word: GBR +
disp × 2 → EA
Longword:
GBR + disp ×
4 → EA
×
1/2/4
Indexed GBR @(R0, GBR)
indirect
Effective address is sum of register GBR and R0
contents.
GBR + R0 →
EA
GBR
+
GBR + R0
R0
PC-relative
@(disp:8, PC)
with
displacement
Effective address is PC + 4 with 8-bit displacement
disp added. After disp is zero-extended, it is
multiplied by 2 (word), or 4 (longword), according
to the operand size. With a longword operand,
the lower 2 bits of PC are masked.
PC
Word: PC + 4
+ disp × 2 →
EA
Longword:
PC & H'FFFF
FFFC + 4 +
disp × 4 → EA
& *
H'FFFF FFFC
+
4
+
disp
(zero-extended)
PC + 4 + disp
×2
or PC &
H'FFFF FFFC
+ 4 + disp × 4
×
2/4
* With longword operand
Rev.1.00 Jan. 10, 2008 Page 49 of 1658
REJ09B0261-0100
3. Instruction Set
Addressing Instruction
Mode
Format
Effective Address Calculation Method
Calculation
Formula
PC-relative
PC + 4 + disp
× 2 → BranchTarget
disp:8
Effective address is PC + 4 with 8-bit displacement
disp added after being sign-extended and
multiplied by 2.
PC
+
4
+
PC + 4 + disp × 2
disp
(sign-extended)
×
2
PC-relative
disp:12
Effective address is PC + 4 with 12-bit displacement
disp added after being sign-extended and
multiplied by 2.
PC + 4 + disp
× 2 → BranchTarget
PC
+
4
+
PC + 4 + disp × 2
disp
(sign-extended)
×
2
Rn
Effective address is sum of PC + 4 and Rn.
PC
+
4
Rn
Rev.1.00 Jan. 10, 2008 Page 50 of 1658
REJ09B0261-0100
+
PC + 4 + Rn
PC + 4 + Rn →
Branch-Target
3. Instruction Set
Addressing Instruction
Mode
Format
Effective Address Calculation Method
Calculation
Formula
Immediate
#imm:8
8-bit immediate data imm of TST, AND, OR, or XOR
instruction is zero-extended.
—
#imm:8
8-bit immediate data imm of MOV, ADD, or CMP/EQ
instruction is sign-extended.
—
#imm:8
8-bit immediate data imm of TRAPA instruction is
zero-extended and multiplied by 4.
—
Note: For the addressing modes below that use a displacement (disp), the assembler descriptions
in this manual show the value before scaling (×1, ×2, or ×4) is performed according to the
operand size. This is done to clarify the operation of the LSI. Refer to the relevant
assembler notation rules for the actual assembler descriptions.
@ (disp:4, Rn) ; Register indirect with displacement
@ (disp:8, GBR) ; GBR indirect with displacement
@ (disp:8, PC) ; PC-relative with displacement
disp:8, disp:12 ; PC-relative
Rev.1.00 Jan. 10, 2008 Page 51 of 1658
REJ09B0261-0100
3. Instruction Set
3.3
Instruction Set
Table 3.3 shows the notation used in the SH instruction lists shown in tables 3.4 to 3.13.
Table 3.3
Notation Used in Instruction List
Item
Format
Description
Instruction
mnemonic
OP.Sz SRC, DEST
OP:
Sz:
SRC:
DEST:
Rm:
Rn:
imm:
disp:
→, ←
(xx)
M/Q/T
&
|
Operation
notation
Instruction code
Operation code
Size
Source operand
Source and/or destination operand
Source register
Destination register
Immediate data
Displacement
Transfer direction
Memory operand
SR flag bits
Logical AND of individual bits
Logical OR of individual bits
∧
Logical exclusive-OR of individual bits
~
Logical NOT of individual bits
<>n n-bit shift
MSB ↔ LSB
Rev.1.00 Jan. 10, 2008 Page 52 of 1658
REJ09B0261-0100
mmmm:
nnnn:
0000:
0001:
:
1111:
mmm:
nnn:
000:
001:
:
111:
mm:
nn:
00:
01:
10:
11:
iiii:
dddd:
Register number (Rm, FRm)
Register number (Rn, FRn)
R0, FR0
R1, FR1
R15, FR15
Register number (DRm, XDm, Rm_BANK)
Register number (DRn, XDn, Rn_BANK)
DR0, XD0, R0_BANK
DR2, XD2, R1_BANK
DR14, XD14, R7_BANK
Register number (FVm)
Register number (FVn)
FV0
FV4
FV8
FV12
Immediate data
Displacement
3. Instruction Set
Item
Format
Privileged mode
Description
"Privileged" means the instruction can only be executed
in privileged mode.
T bit
Value of T bit after
—: No change
instruction execution
New
⎯
"New" means the instruction which has been newly
added in the SH-4A with H’20-valued VER bits in the
processor version register (PVR).
Note: Scaling (×1, ×2, ×4, or ×8) is executed according to the size of the instruction operand.
Table 3.4
Fixed-Point Transfer Instructions
Instruction
Operation
Instruction Code
Privileged T Bit New
imm → sign extension → Rn
1110nnnniiiiiiii
—
—
—
MOV
#imm,Rn
MOV.W
@(disp*,PC), Rn (disp × 2 + PC + 4) → sign
extension → Rn
1001nnnndddddddd
—
—
—
MOV.L
@(disp*,PC), Rn (disp × 4 + PC & H'FFFF FFFC 1101nnnndddddddd
+ 4) → Rn
—
—
—
MOV
Rm,Rn
Rm → Rn
0110nnnnmmmm0011
—
—
—
MOV.B
Rm,@Rn
Rm → (Rn)
0010nnnnmmmm0000
—
—
—
MOV.W
Rm,@Rn
Rm → (Rn)
0010nnnnmmmm0001
—
—
—
MOV.L
Rm,@Rn
Rm → (Rn)
0010nnnnmmmm0010
—
—
—
MOV.B
@Rm,Rn
(Rm) → sign extension → Rn
0110nnnnmmmm0000
—
—
—
MOV.W @Rm,Rn
(Rm) → sign extension → Rn
0110nnnnmmmm0001
—
—
—
MOV.L
@Rm,Rn
(Rm) → Rn
0110nnnnmmmm0010
—
—
—
MOV.B
Rm,@-Rn
Rn-1 → Rn, Rm → (Rn)
0010nnnnmmmm0100
—
—
—
MOV.W Rm,@-Rn
Rn-2 → Rn, Rm → (Rn)
0010nnnnmmmm0101
—
—
—
MOV.L
Rm,@-Rn
Rn-4 → Rn, Rm → (Rn)
0010nnnnmmmm0110
—
—
—
MOV.B
@Rm+,Rn
(Rm)→ sign extension → Rn,
Rm + 1 → Rm
0110nnnnmmmm0100
—
—
—
MOV.W @Rm+,Rn
(Rm) → sign extension → Rn,
Rm + 2 → Rm
0110nnnnmmmm0101
—
—
—
MOV.L
@Rm+,Rn
(Rm) → Rn, Rm + 4 → Rm
0110nnnnmmmm0110
—
—
—
MOV.B
R0,@(disp*,Rn)
R0 → (disp + Rn)
10000000nnnndddd
—
—
—
MOV.W R0,@(disp*,Rn)
R0 → (disp × 2 + Rn)
10000001nnnndddd
—
—
—
MOV.L
Rm → (disp × 4 + Rn)
0001nnnnmmmmdddd
—
—
—
Rm,@(disp*,Rn)
Rev.1.00 Jan. 10, 2008 Page 53 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged
T Bit
New
MOV.B
@(disp*,Rm),R0
(disp + Rm) → sign
extension → R0
10000100mmmmdddd
—
—
—
MOV.W
@(disp*,Rm),R0
(disp × 2 + Rm) → sign
extension → R0
10000101mmmmdddd
—
—
—
MOV.L
@(disp*,Rm),Rn
(disp × 4 + Rm) → Rn
0101nnnnmmmmdddd
—
—
—
MOV.B
Rm,@(R0,Rn)
Rm → (R0 + Rn)
0000nnnnmmmm0100
—
—
—
MOV.W
Rm,@(R0,Rn)
Rm → (R0 + Rn)
0000nnnnmmmm0101
—
—
—
MOV.L
Rm,@(R0,Rn)
Rm → (R0 + Rn)
0000nnnnmmmm0110
—
—
—
MOV.B
@(R0,Rm),Rn
(R0 + Rm) →
sign extension → Rn
0000nnnnmmmm1100
—
—
—
MOV.W
@(R0,Rm),Rn
(R0 + Rm) →
sign extension → Rn
0000nnnnmmmm1101
—
—
—
MOV.L
@(R0,Rm),Rn
(R0 + Rm) → Rn
0000nnnnmmmm1110
—
—
—
MOV.B
R0,@(disp*,GBR)
R0 → (disp + GBR)
11000000dddddddd
—
—
—
MOV.W
R0,@(disp*,GBR)
R0 → (disp × 2 + GBR)
11000001dddddddd
—
—
—
MOV.L
R0,@(disp*,GBR)
R0 → (disp × 4 + GBR)
11000010dddddddd
—
—
—
MOV.B
@(disp*,GBR),R0
(disp + GBR) →
sign extension → R0
11000100dddddddd
—
—
—
MOV.W
@(disp*,GBR),R0
(disp × 2 + GBR) →
sign extension → R0
11000101dddddddd
—
—
—
MOV.L
@(disp*,GBR),R0
(disp × 4 + GBR) → R0
11000110dddddddd
—
—
—
MOVA
@(disp*,PC),R0
disp × 4 +
PC & H'FFFF FFFC
+ 4 → R0
11000111dddddddd
—
—
—
MOVCO.L
R0,@Rn
LDST → T
If (T == 1) R0 → (Rn)
0 → LDST
0000nnnn01110011
⎯
LDST New
MOVLI.L
@Rm,R0
1 → LDST
0000mmmm01100011
(Rm) → R0
When interrupt/exception
occurred 0 → LDST
⎯
⎯
New
MOVUA.L
@Rm,R0
(Rm) → R0
Load non-boundary
alignment data
0100mmmm10101001
⎯
⎯
New
MOVUA.L
@Rm+,R0
(Rm) → R0, Rm + 4 →
Rm
Load non-boundary
alignment data
0100mmmm11101001
⎯
⎯
New
Rev.1.00 Jan. 10, 2008 Page 54 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged
T Bit
New
MOVT
Rn
T → Rn
0000nnnn00101001 —
—
—
SWAP.B
Rm,Rn
Rm → swap lower 2 bytes
→ Rn
0110nnnnmmmm1000 —
—
—
SWAP.W
Rm,Rn
Rm → swap upper/lower
words → Rn
0110nnnnmmmm1001 —
—
—
XTRCT
Rm,Rn
Rm:Rn middle 32 bits → Rn 0010nnnnmmmm1101 —
—
—
Note:
*
Table 3.5
The assembler of Renesas uses the value after scaling (×1, ×2, or ×4) as the
displacement (disp).
Arithmetic Operation Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
New
ADD
Rm,Rn
Rn + Rm → Rn
0011nnnnmmmm1100
—
—
—
ADD
#imm,Rn
Rn + imm → Rn
0111nnnniiiiiiii
—
—
—
ADDC
Rm,Rn
Rn + Rm + T → Rn,
carry → T
0011nnnnmmmm1110
—
Carry
—
ADDV
Rm,Rn
Rn + Rm → Rn,
overflow → T
0011nnnnmmmm1111
—
Overflow
—
CMP/EQ
#imm,R0
When R0 = imm, 1 → T
Otherwise, 0 → T
10001000iiiiiiii
—
Comparison —
result
CMP/EQ
Rm,Rn
When Rn = Rm, 1 → T
Otherwise, 0 → T
0011nnnnmmmm0000
—
Comparison —
result
CMP/HS
Rm,Rn
When Rn ≥ Rm (unsigned),
1→T
Otherwise, 0 → T
0011nnnnmmmm0010
—
Comparison —
result
CMP/GE
Rm,Rn
When Rn ≥ Rm (signed),
1→T
Otherwise, 0 → T
0011nnnnmmmm0011
—
Comparison —
result
CMP/HI
Rm,Rn
When Rn > Rm (unsigned),
1→T
Otherwise, 0 → T
0011nnnnmmmm0110
—
Comparison —
result
CMP/GT
Rm,Rn
When Rn > Rm (signed),
1→T
Otherwise, 0 → T
0011nnnnmmmm0111
—
Comparison —
result
CMP/PZ
Rn
When Rn ≥ 0, 1 → T
Otherwise, 0 → T
0100nnnn00010001
—
Comparison —
result
CMP/PL
Rn
When Rn > 0, 1 → T
Otherwise, 0 → T
0100nnnn00010101
—
Comparison —
result
Rev.1.00 Jan. 10, 2008 Page 55 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged T Bit
New
CMP/STR
Rm,Rn
When any bytes are equal, 0010nnnnmmmm1100
1→T
Otherwise, 0 → T
—
Comparison —
result
DIV1
Rm,Rn
1-step division (Rn ÷ Rm)
0011nnnnmmmm0100
—
Calculation
result
—
DIV0S
Rm,Rn
MSB of Rn → Q,
MSB of Rm → M, M^Q →
T
0010nnnnmmmm0111
—
Calculation
result
—
0 → M/Q/T
0000000000011001
—
0
—
DIV0U
DMULS.L
Rm,Rn
Signed,
Rn × Rm → MAC,
32 × 32 → 64 bits
0011nnnnmmmm1101
—
—
—
DMULU.L
Rm,Rn
Unsigned,
Rn × Rm → MAC,
32 × 32 → 64 bits
0011nnnnmmmm0101
—
—
—
DT
Rn
Rn – 1 → Rn;
when Rn = 0, 1 → T
When Rn ≠ 0, 0 → T
0100nnnn00010000
—
Comparison —
result
EXTS.B
Rm,Rn
Rm sign-extended from
byte → Rn
0110nnnnmmmm1110
—
—
—
EXTS.W
Rm,Rn
Rm sign-extended from
word → Rn
0110nnnnmmmm1111
—
—
—
EXTU.B
Rm,Rn
Rm zero-extended from
byte → Rn
0110nnnnmmmm1100
—
—
—
EXTU.W
Rm,Rn
Rm zero-extended from
word → Rn
0110nnnnmmmm1101
—
—
—
MAC.L
@Rm+,@Rn+ Signed,
(Rn) × (Rm) + MAC →
MAC
Rn + 4 → Rn, Rm + 4 →
Rm
32 × 32 + 64 → 64 bits
0000nnnnmmmm1111
—
—
—
MAC.W
@Rm+,@Rn+ Signed,
(Rn) × (Rm) + MAC →
MAC
Rn + 2 → Rn,
Rm + 2 → Rm
16 × 16 + 64 → 64 bits
0100nnnnmmmm1111
—
—
—
MUL.L
Rm,Rn
Rn × Rm → MACL
32 × 32 → 32 bits
0000nnnnmmmm0111
—
—
—
MULS.W
Rm,Rn
Signed,
Rn × Rm → MACL
16 × 16 → 32 bits
0010nnnnmmmm1111
—
—
—
Rev.1.00 Jan. 10, 2008 Page 56 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged T Bit
New
—
—
—
MULU.W
Rm,Rn
Unsigned,
Rn × Rm → MACL
16 × 16 → 32 bits
0010nnnnmmmm1110
NEG
Rm,Rn
0 – Rm → Rn
0110nnnnmmmm1011
—
—
—
NEGC
Rm,Rn
0 – Rm – T → Rn,
borrow → T
0110nnnnmmmm1010
—
Borrow
—
SUB
Rm,Rn
Rn – Rm → Rn
0011nnnnmmmm1000
—
—
—
SUBC
Rm,Rn
Rn – Rm – T → Rn,
borrow → T
0011nnnnmmmm1010
—
Borrow
—
SUBV
Rm,Rn
Rn – Rm → Rn,
underflow → T
0011nnnnmmmm1011
—
Underflow
—
Table 3.6
Logic Operation Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
New
AND
Rm,Rn
Rn & Rm → Rn
0010nnnnmmmm1001
—
—
—
AND
#imm,R0
R0 & imm → R0
11001001iiiiiiii
—
—
—
AND.B #imm, @(R0,GBR)
(R0 + GBR) & imm
→ (R0 + GBR)
11001101iiiiiiii
—
—
—
NOT
Rm,Rn
~Rm → Rn
0110nnnnmmmm0111
—
—
—
OR
Rm,Rn
Rn | Rm → Rn
0010nnnnmmmm1011
—
—
—
OR
#imm,R0
R0 | imm → R0
11001011iiiiiiii
—
—
—
OR.B
#imm, @(R0,GBR)
(R0 + GBR) | imm
→ (R0 + GBR)
11001111iiiiiiii
—
—
—
TAS.B @Rn
When (Rn) = 0, 1 → T
Otherwise, 0 → T
In both cases,
1 → MSB of (Rn)
0100nnnn00011011
—
Test
result
—
TST
Rm,Rn
Rn & Rm;
when result = 0, 1 → T
Otherwise, 0 → T
0010nnnnmmmm1000
—
Test
result
—
TST
#imm,R0
R0 & imm;
when result = 0, 1 → T
Otherwise, 0 → T
11001000iiiiiiii
—
Test
result
—
TST.B #imm, @(R0,GBR)
(R0 + GBR) & imm;
when result = 0, 1 → T
Otherwise, 0 → T
11001100iiiiiiii
—
Test
result
—
XOR
Rn ∧ Rm → Rn
0010nnnnmmmm1010
—
—
—
Rm,Rn
Rev.1.00 Jan. 10, 2008 Page 57 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged T Bit
New
XOR
R0 ∧ imm → R0
11001010iiiiiiii
—
—
—
(R0 + GBR) ∧ imm →
(R0 + GBR)
11001110iiiiiiii
—
—
—
#imm,R0
XOR.B #imm, @(R0,GBR)
Table 3.7
Shift Instructions
Instruction
Operation
Instruction Code
ROTL
Rn
T ← Rn ← MSB
0100nnnn00000100 —
MSB
—
ROTR
Rn
LSB → Rn → T
0100nnnn00000101 —
LSB
—
ROTCL
Rn
T ← Rn ← T
0100nnnn00100100 —
MSB
—
ROTCR
Rn
T → Rn → T
0100nnnn00100101 —
LSB
—
SHAD
Rm,Rn
When Rm ≥ 0, Rn << Rm → Rn
When Rm < 0, Rn >> Rm →
[MSB → Rn]
0100nnnnmmmm1100 —
—
—
SHAL
Rn
T ← Rn ← 0
0100nnnn00100000 —
MSB
—
SHAR
Rn
MSB → Rn → T
0100nnnn00100001 —
LSB
—
SHLD
Rm,Rn
When Rm ≥ 0, Rn << Rm → Rn
When Rm < 0, Rn >> Rm →
[0 → Rn]
0100nnnnmmmm1101 —
—
—
SHLL
Rn
T ← Rn ← 0
0100nnnn00000000 —
MSB
—
SHLR
Rn
0 → Rn → T
0100nnnn00000001 —
LSB
—
SHLL2
Rn
Rn << 2 → Rn
0100nnnn00001000 —
—
—
SHLR2
Rn
Rn >> 2 → Rn
0100nnnn00001001 —
—
—
SHLL8
Rn
Rn << 8 → Rn
0100nnnn00011000 —
—
—
SHLR8
Rn
Rn >> 8 → Rn
0100nnnn00011001 —
—
—
SHLL16
Rn
Rn << 16 → Rn
0100nnnn00101000 —
—
—
SHLR16
Rn
Rn >> 16 → Rn
0100nnnn00101001 —
—
—
Rev.1.00 Jan. 10, 2008 Page 58 of 1658
REJ09B0261-0100
Privileged T Bit
New
3. Instruction Set
Table 3.8
Branch Instructions
Instruction
Operation
Instruction Code
Privileged
T Bit
New
BF
label
When T = 0, disp × 2 + PC +
4 → PC
When T = 1, nop
10001011dddddddd —
—
—
BF/S
label
Delayed branch; when T = 0,
disp × 2 + PC + 4 → PC
When T = 1, nop
10001111dddddddd —
—
—
BT
label
When T = 1, disp × 2 + PC +
4 → PC
When T = 0, nop
10001001dddddddd —
—
—
BT/S
label
Delayed branch; when T = 1,
disp × 2 + PC + 4 → PC
When T = 0, nop
10001101dddddddd —
—
—
BRA
label
Delayed branch, disp × 2 +
PC + 4 → PC
1010dddddddddddd —
—
—
BRAF
Rn
Delayed branch, Rn + PC + 4 → 0000nnnn00100011 —
PC
—
—
BSR
label
Delayed branch, PC + 4 → PR, 1011dddddddddddd —
disp × 2 + PC + 4 → PC
—
—
BSRF
Rn
Delayed branch, PC + 4 → PR, 0000nnnn00000011 —
Rn + PC + 4 → PC
—
—
JMP
@Rn
Delayed branch, Rn → PC
0100nnnn00101011 —
—
—
JSR
@Rn
Delayed branch, PC + 4 → PR, 0100nnnn00001011 —
Rn → PC
—
—
Delayed branch, PR → PC
—
—
RTS
Table 3.9
0000000000001011 —
System Control Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
New
CLRMAC
0 → MACH, MACL
0000000000101000
—
—
—
CLRS
0→S
0000000001001000
—
—
—
CLRT
0→T
0000000000001000
—
0
—
⎯
New
ICBI
@Rn
Invalidates instruction cache block 0000nnnn11100011
⎯
LDC
Rm,SR
Rm → SR
0100mmmm00001110
Privileged LSB
—
LDC
Rm,GBR
Rm → GBR
0100mmmm00011110
—
—
—
LDC
Rm,VBR
Rm → VBR
0100mmmm00101110
Privileged —
—
LDC
Rm,SGR
Rm → SGR
0100mmmm00111010
Privileged —
—
Rev.1.00 Jan. 10, 2008 Page 59 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged
T Bit
New
LDC
Rm,SSR
Rm → SSR
0100mmmm00111110
Privileged
—
—
LDC
Rm,SPC
Rm → SPC
0100mmmm01001110
Privileged
—
—
LDC
Rm,DBR
Rm → DBR
0100mmmm11111010
Privileged
—
—
LDC
Rm,Rn_BANK Rm → Rn_BANK (n = 0 to 7) 0100mmmm1nnn1110
Privileged
—
—
LDC.L
@Rm+,SR
(Rm) → SR, Rm + 4 → Rm
Privileged
LSB
—
LDC.L
@Rm+,GBR
(Rm) → GBR, Rm + 4 → Rm 0100mmmm00010111
—
—
—
LDC.L
@Rm+,VBR
(Rm) → VBR, Rm + 4 → Rm 0100mmmm00100111
Privileged
—
—
LDC.L
@Rm+,SGR
(Rm) → SGR, Rm + 4 → Rm 0100mmmm00110110
Privileged
—
—
LDC.L
@Rm+,SSR
(Rm) → SSR, Rm + 4 → Rm 0100mmmm00110111
Privileged
—
—
0100mmmm00000111
LDC.L
@Rm+,SPC
(Rm) → SPC, Rm + 4 → Rm 0100mmmm01000111
Privileged
—
—
LDC.L
@Rm+,DBR
(Rm) → DBR, Rm + 4 → Rm 0100mmmm11110110
Privileged
—
—
LDC.L
@Rm+,Rn_
BANK
(Rm) → Rn_BANK,
Rm + 4 → Rm
0100mmmm1nnn0111
Privileged
—
—
LDS
Rm,MACH
Rm → MACH
0100mmmm00001010
—
—
—
LDS
Rm,MACL
Rm → MACL
0100mmmm00011010
—
—
—
LDS
Rm,PR
Rm → PR
0100mmmm00101010
—
—
—
LDS.L
@Rm+,MACH (Rm) → MACH, Rm + 4 →
Rm
0100mmmm00000110
—
—
—
LDS.L
@Rm+,MACL
(Rm) → MACL, Rm + 4 →
Rm
0100mmmm00010110
—
—
—
LDS.L
@Rm+,PR
(Rm) → PR, Rm + 4 → Rm
0100mmmm00100110
—
—
—
PTEH/PTEL (/PTEA) → TLB 0000000000111000
Privileged
—
—
R0,@Rn
R0 → (Rn) (without fetching
cache block)
0000nnnn11000011
—
—
—
No operation
0000000000001001
—
—
—
OCBI
@Rn
Invalidates operand cache
block
0000nnnn10010011
—
—
—
OCBP
@Rn
Writes back and invalidates
operand cache block
0000nnnn10100011
—
—
—
OCBWB
@Rn
Writes back operand cache
block
0000nnnn10110011
—
—
—
PREF
@Rn
(Rn) → operand cache
0000nnnn10000011
—
—
—
PREFI
@Rn
Reads 32-byte instruction
block into instruction cache
0000nnnn11010011
⎯
⎯
New
Delayed branch, SSR/SPC
→ SR/PC
0000000000101011
Privileged
—
—
LDTLB
MOVCA.L
NOP
RTE
Rev.1.00 Jan. 10, 2008 Page 60 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged
T Bit
New
SETS
1→S
0000000001011000
—
—
—
SETT
1→T
0000000000011000
—
1
—
SLEEP
Sleep or standby
0000000000011011
Privileged
—
—
STC
SR,Rn
SR → Rn
0000nnnn00000010
Privileged
—
—
STC
GBR,Rn
GBR → Rn
0000nnnn00010010
—
—
—
STC
VBR,Rn
VBR → Rn
0000nnnn00100010
Privileged
—
—
STC
SSR,Rn
SSR → Rn
0000nnnn00110010
Privileged
—
—
STC
SPC,Rn
SPC → Rn
0000nnnn01000010
Privileged
—
—
STC
SGR,Rn
SGR → Rn
0000nnnn00111010
Privileged
—
—
STC
DBR,Rn
DBR → Rn
0000nnnn11111010
Privileged
—
—
STC
Rm_BANK,Rn Rm_BANK → Rn
(m = 0 to 7)
0000nnnn1mmm0010
Privileged
—
—
STC.L
SR,@-Rn
Rn – 4 → Rn, SR → (Rn) 0100nnnn00000011
Privileged
—
—
STC.L
GBR,@-Rn
Rn – 4 → Rn, GBR →
(Rn)
0100nnnn00010011
—
—
—
STC.L
VBR,@-Rn
Rn – 4 → Rn, VBR →
(Rn)
0100nnnn00100011
Privileged
—
—
STC.L
SSR,@-Rn
Rn – 4 → Rn, SSR →
(Rn)
0100nnnn00110011
Privileged
—
—
STC.L
SPC,@-Rn
Rn – 4 → Rn, SPC →
(Rn)
0100nnnn01000011
Privileged
—
—
STC.L
SGR,@-Rn
Rn – 4 → Rn, SGR →
(Rn)
0100nnnn00110010
Privileged
—
—
STC.L
DBR,@-Rn
Rn – 4 → Rn, DBR →
(Rn)
0100nnnn11110010
Privileged
—
—
STC.L
Rm_BANK,@- Rn – 4 → Rn,
Rn
Rm_BANK → (Rn)
(m = 0 to 7)
0100nnnn1mmm0011
Privileged
—
—
STS
MACH,Rn
MACH → Rn
0000nnnn00001010
—
—
—
STS
MACL,Rn
MACL → Rn
0000nnnn00011010
—
—
—
STS
PR,Rn
PR → Rn
0000nnnn00101010
—
—
—
STS.L
MACH,@-Rn
Rn – 4 → Rn, MACH →
(Rn)
0100nnnn00000010
—
—
—
STS.L
MACL,@-Rn
Rn – 4 → Rn, MACL →
(Rn)
0100nnnn00010010
—
—
—
STS.L
PR,@-Rn
Rn – 4 → Rn, PR → (Rn) 0100nnnn00100010
—
—
—
Rev.1.00 Jan. 10, 2008 Page 61 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged
T Bit
New
SYNCO
Data accesses invoked
by the following
instructions are not
executed until execution
of data accesses which
precede this instruction
has been completed.
0000000010101011
⎯
⎯
New
PC + 2 → SPC,
11000011iiiiiiii
SR → SSR, R15 → SGR,
1 → SR.MD/BL/RB, #imm
<< 2 → TRA,
H'160 → EXPEVT,
VBR + H'0100 → PC
—
—
—
TRAPA
#imm
Table 3.10 Floating-Point Single-Precision Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
New
H'0000 0000 → FRn
1111nnnn10001101 —
—
—
FLDI0
FRn
FLDI1
FRn
H'3F80 0000 → FRn
1111nnnn10011101 —
—
—
FMOV
FRm,FRn
FRm → FRn
1111nnnnmmmm1100 —
—
—
FMOV.S
@Rm,FRn
(Rm) → FRn
1111nnnnmmmm1000 —
—
—
FMOV.S
@(R0,Rm),FRn (R0 + Rm) → FRn
1111nnnnmmmm0110 —
—
—
FMOV.S
@Rm+,FRn
(Rm) → FRn, Rm + 4 → Rm 1111nnnnmmmm1001 —
—
—
FMOV.S
FRm,@Rn
FRm → (Rn)
1111nnnnmmmm1010 —
—
—
FMOV.S
FRm,@-Rn
Rn-4 → Rn, FRm → (Rn)
1111nnnnmmmm1011 —
—
—
FMOV.S
FRm,@(R0,Rn) FRm → (R0 + Rn)
1111nnnnmmmm0111 —
—
—
FMOV
DRm,DRn
DRm → DRn
1111nnn0mmm01100 —
—
—
FMOV
@Rm,DRn
(Rm) → DRn
1111nnn0mmmm1000 —
—
—
FMOV
@(R0,Rm),DRn (R0 + Rm) → DRn
1111nnn0mmmm0110 —
—
—
FMOV
@Rm+,DRn
(Rm) → DRn, Rm + 8 → Rm 1111nnn0mmmm1001 —
—
—
FMOV
DRm,@Rn
DRm → (Rn)
1111nnnnmmm01010 —
—
—
FMOV
DRm,@-Rn
Rn-8 → Rn, DRm → (Rn)
1111nnnnmmm01011 —
—
—
FMOV
DRm,@(R0,Rn) DRm → (R0 + Rn)
1111nnnnmmm00111 —
—
—
FLDS
FRm,FPUL
FRm → FPUL
1111mmmm00011101 —
—
—
FSTS
FPUL,FRn
FPUL → FRn
1111nnnn00001101 —
—
—
FABS
FRn
FRn & H'7FFF FFFF → FRn 1111nnnn01011101 —
—
—
Rev.1.00 Jan. 10, 2008 Page 62 of 1658
REJ09B0261-0100
3. Instruction Set
Instruction
Operation
Instruction Code
Privileged T Bit
New
FADD
FRm,FRn
FRn + FRm → FRn
1111nnnnmmmm0000 —
—
FCMP/EQ
FRm,FRn
When FRn = FRm, 1 → T
Otherwise, 0 → T
1111nnnnmmmm0100 —
Comparis —
on result
FCMP/GT
FRm,FRn
When FRn > FRm, 1 → T
Otherwise, 0 → T
1111nnnnmmmm0101 —
Comparis —
on result
FDIV
FRm,FRn
FRn/FRm → FRn
1111nnnnmmmm0011 —
—
—
FLOAT
FPUL,FRn
(float) FPUL → FRn
1111nnnn00101101 —
—
—
FMAC
FR0,FRm,FRn
FR0*FRm + FRn → FRn
1111nnnnmmmm1110 —
—
—
FMUL
FRm,FRn
FRn*FRm → FRn
1111nnnnmmmm0010 —
—
—
FNEG
FRn
FRn ∧ H'8000 0000 → FRn
1111nnnn01001101 —
—
—
—
FSQRT
FRn
√FRn → FRn
1111nnnn01101101 —
—
—
FSUB
FRm,FRn
FRn – FRm → FRn
1111nnnnmmmm0001 —
—
—
FTRC
FRm,FPUL
(long) FRm → FPUL
1111mmmm00111101 —
—
—
Table 3.11 Floating-Point Double-Precision Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
New
FABS
DRn
DRn & H'7FFF FFFF FFFF
FFFF → DRn
1111nnn001011101 —
—
—
FADD
DRm,DRn
DRn + DRm → DRn
1111nnn0mmm00000 —
—
—
FCMP/EQ
DRm,DRn
When DRn = DRm, 1 → T
Otherwise, 0 → T
1111nnn0mmm00100 —
Comparison —
result
FCMP/GT
DRm,DRn
When DRn > DRm, 1 → T
Otherwise, 0 → T
1111nnn0mmm00101 —
Comparison —
result
FDIV
DRm,DRn
DRn /DRm → DRn
1111nnn0mmm00011 —
—
—
FCNVDS
DRm,FPUL double_to_ float(DRm) →
FPUL
1111mmm010111101 —
—
—
FCNVSD
FPUL,DRn float_to_ double (FPUL) →
DRn
1111nnn010101101 —
—
—
FLOAT
FPUL,DRn (float)FPUL → DRn
1111nnn000101101 —
—
—
FMUL
DRm,DRn
DRn *DRm → DRn
1111nnn0mmm00010 —
—
—
FNEG
DRn
DRn ^ H'8000 0000 0000
0000 → DRn
1111nnn001001101 —
—
—
FSQRT
DRn
√DRn → DRn
1111nnn001101101 —
—
—
FSUB
DRm,DRn
DRn – DRm → DRn
1111nnn0mmm00001 —
—
—
FTRC
DRm,FPUL (long) DRm → FPUL
1111mmm000111101 —
—
—
Rev.1.00 Jan. 10, 2008 Page 63 of 1658
REJ09B0261-0100
3. Instruction Set
Table 3.12 Floating-Point Control Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
LDS
Rm,FPSCR
New
Rm → FPSCR
0100mmmm01101010
—
—
—
LDS
Rm,FPUL
Rm → FPUL
0100mmmm01011010
—
—
—
LDS.L @Rm+,FPSCR (Rm) → FPSCR, Rm+4 → Rm 0100mmmm01100110
—
—
—
LDS.L @Rm+,FPUL
(Rm) → FPUL, Rm+4 → Rm
0100mmmm01010110
—
—
—
STS
FPSCR,Rn
FPSCR → Rn
0000nnnn01101010
—
—
—
STS
FPUL,Rn
FPUL → Rn
0000nnnn01011010
—
—
—
STS.L FPSCR,@-Rn
Rn – 4 → Rn, FPSCR → (Rn)
0100nnnn01100010
—
—
—
STS.L FPUL,@-Rn
Rn – 4 → Rn, FPUL → (Rn)
0100nnnn01010010
—
—
—
Table 3.13 Floating-Point Graphics Acceleration Instructions
Instruction
Operation
Instruction Code
Privileged T Bit
New
FMOV
DRm,XDn
DRm → XDn
1111nnn1mmm01100
—
—
—
FMOV
XDm,DRn
XDm → DRn
1111nnn0mmm11100
—
—
—
FMOV
XDm,XDn
XDm → XDn
1111nnn1mmm11100
—
—
—
FMOV
@Rm,XDn
(Rm) → XDn
1111nnn1mmmm1000
—
—
—
FMOV
@Rm+,XDn
(Rm) → XDn, Rm + 8 → Rm
1111nnn1mmmm1001
—
—
—
FMOV
@(R0,Rm),XDn (R0 + Rm) → XDn
1111nnn1mmmm0110
—
—
—
FMOV
XDm,@Rn
XDm → (Rn)
1111nnnnmmm11010
—
—
—
FMOV
XDm,@-Rn
Rn – 8 → Rn, XDm → (Rn)
1111nnnnmmm11011
—
—
—
FMOV
XDm,@(R0,Rn) XDm → (R0 + Rn)
1111nnnnmmm10111
—
—
—
FIPR
FVm,FVn
inner_product (FVm, FVn) →
FR[n+3]
1111nnmm11101101
—
—
—
FTRV
XMTRX,FVn
transform_vector (XMTRX,
FVn) → FVn
1111nn0111111101
—
—
—
FRCHG
~FPSCR.FR → FPSCR.FR
1111101111111101
—
—
—
FSCHG
~FPSCR.SZ → FPSCR.SZ
1111001111111101
—
—
—
FPCHG
~FPSCR.PR → FPSCR.PR
1111011111111101
⎯
⎯
New
FSRRA FRn
1/sqrt(FRn) → FRn
1111nnnn01111101
⎯
⎯
New
FSCA
sin(FPUL) → FRn*
cos(FPUL) → FR[n + 1]
1111nnn011111101
⎯
⎯
New
Note:
FPUL,DRn
*
sqrt(FRn) is the square root of FRn.
Rev.1.00 Jan. 10, 2008 Page 64 of 1658
REJ09B0261-0100
4. Pipelining
Section 4 Pipelining
This LSI is a 2-ILP (instruction-level-parallelism) superscalar pipelining microprocessor.
Instruction execution is pipelined, and two instructions can be executed in parallel.
4.1
Pipelines
Figure 4.1 shows the basic pipelines. Normally, a pipeline consists of eight stages: instruction
fetch (I1/I2/I3), decode and register read (ID), execution (E1/E2/E3), and write-back (WB). An
instruction is executed as a combination of basic pipelines.
1. General Pipeline
I1
I2
I3
-Instruction fetch
ID
E1
-Instruction
-Predecode
E2
-Forwarding
E3
WB
-Operation
-Write-back
decode
-Issue
-Register read
2. General Load/Store Pipeline
I1
I3
I2
ID
-Predecode
-Instruction fetch
E1
-Instruction
decode
E2
-Address
WB
E3
-Write-back
-Memory data access
calculation
-Issue
-Register read
3. Special Pipeline
I1
I3
I2
ID
-Predecode
-Instruction fetch
E1
-Instruction
E2
-Forwarding
WB
E3
-Operation
-Write-back
decode
-Issue
-Register read
4. Special Load/Store Pipeline
I2
I1
I3
-Instruction fetch
ID
E1
E2
WB
E3
-Instruction
-Predecode
decode
-Issue
-Register read
5. Floating-Point Pipeline
I1
I3
I2
ID
-Predecode
-Instruction fetch
FS1
-Instruction
decode
-Issue
6.
FS2
FS3
-Register read -Operation
-Forwarding
FS4
-Operation
-Operation
FS
-Operation
-Write-back
Floating-Point Extended Pipeline
I1
-Instruction fetch
I2
I3
ID
-Predecode -Instruction
decode
-Issue
FE1
FE2
-Register read -Operation
-Forwarding
FE3
FE4
FE5
-Operation
-Operation
-Operation
FE6
FS
-Operation -Operation
-Write-back
Figure 4.1 Basic Pipelines
Rev.1.00 Jan. 10, 2008 Page 65 of 1658
REJ09B0261-0100
4. Pipelining
Figure 4.2 shows the instruction execution patterns. Representations in figure 4.2 and their
descriptions are listed in table 4.1.
Table 4.1
Representations of Instruction Execution Patterns
Representation
Description
E1
E2
E3
WB
CPU EX pipe is occupied
S1
S2
S3
WB
CPU LS pipe is occupied (with memory access)
s1
s2
s3
WB
CPU LS pipe is occupied (without memory access)
Either CPU EX pipe or CPU LS pipe is occupied
E1/S1
E1S1
M2
,
Both CPU EX pipe and CPU LS pipe are occupied
E1s1
M3
CPU MULT operation unit is occupied
MS
FE1 FE2 FE3 FE4 FE5 FE6
FS
FS1 FS2 FS3 FS4 FS
ID
FPU-EX pipe is occupied
FPU-LS pipe is occupied
ID stage is locked
Both CPU and FPU pipes are occupied
Rev.1.00 Jan. 10, 2008 Page 66 of 1658
REJ09B0261-0100
4. Pipelining
(1-1) BF, BF/S, BT, BT/S, BRA, BSR:1 issue cycle + 0 to 3 branch cycles
I1
I2
I3
ID
E1/S1 E2/s2 E3/s3
(I1)
(I2)
(I3)
WB
Note: In branch instructions that are categorized
as (1-1), the number of branch cycles
may be reduced by prefetching.
(Branch destination instruction)
(ID)
(1-2) JSR, JMP, BRAF, BSRF: 1 issue cycle + 4 branch cycles
I1
I2
I3
ID
E1/S1 E2/S2 E3/S3
WB
(I1)
(I3)
(I2)
(ID)
(Branch destination instruction)
(1-3) RTS: 1 issue cycle + 0 to 4 branch cycles
I1
I2
ID
I3
E1/S1 E2/S2 E3/S3
WB
(I1)
(I2)
(I3)
(ID)
s2
E1s1
ID
s3
E2s2
WB
E3s3
WB
(I2)
(I3)
Note: The number of branch cycles may be
0 by prefetching instruction.
(Branch destination instruction)
(1-4) RTE: 4 issue cycles + 2 branch cycles
I1
I2
ID
I3
s1
ID
ID
(I1)
(ID)
(Branch destination instruction)
(1-5) TRAPA: 8 issue cycles + 5 cycles + 2 branch cycle
I1
I2
I3
ID
S1
ID
Note:
S2
S3 WB
E1s1 E2s2 E3s3 WB
ID
It is 15 cycles to the ID stage
in the first instruction of exception handler
E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
(I1)
(I2)
(I3) (ID)
(1-6) SLEEP: 2 issue cycles
I1
I2
I3
ID
S1
ID
S2
S3
E1s1 E2s2
WB
E3s3
WB
Note: It is not constant cycles to
the clock halted period.
Figure 4.2 Instruction Execution Patterns (1)
Rev.1.00 Jan. 10, 2008 Page 67 of 1658
REJ09B0261-0100
4. Pipelining
(2-1) 1-step operation (EX type): 1 issue cycle
EXT[SU].[BW], MOVT, SWAP, XTRCT, ADD*, CMP*, DIV*, DT, NEG*, SUB*, AND, AND#,
NOT, OR, OR#, TST, TST#, XOR, XOR#, ROT*, SHA*, SHL*, CLRS, CLRT, SETS, SETT
Note: Except for AND#, OR#, TST#, and XOR# instructions using GBR relative
addressing mode
I1
I2
I3
ID
E1
E2
E3
WB
s2
s3
WB
(2-2) 1-step operation (LS type): 1 issue cycle
MOVA
I1
I2
I3
ID
s1
(2-3) 1-step operation (MT type): 1 issue cycle
MOV#, NOP
I1
I2
I3
ID
E1/S1
E2/s2
E3/s3
WB
ID
E1/s1
E2/s2
E3/S3
WB
(2-4) MOV (MT type): 1 issue cycle
MOV
I1
I2
I3
Figure 4.2 Instruction Execution Patterns (2)
Rev.1.00 Jan. 10, 2008 Page 68 of 1658
REJ09B0261-0100
4. Pipelining
(3-1) Load/store: 1 issue cycle
MOV.[BWL], MOV.[BWL] @(d,GBR)
I1
I2
I3
ID
S1
S2
S3
WB
S2
S3
WB
ID
E1S1
E2S2
E3S3
S2
E1S1
ID
S3
E2S2
WB
E3S3
WB
ID
E1S1
E2S2
(3-2) AND.B, OR.B, XOR.B, TST.B: 3 issue cycles
I1
I2
ID
I3
S1
ID
WB
(3-3) TAS.B: 4 issue cycles
I1
I3
I2
ID
S1
ID
E3S3
WB
(3-4) PREF, OCBI, OCBP, OCBWB, MOVCA.L, SYNCO: 1 issue cycle
I1
I3
I2
ID
S1
S2
S3
WB
ID
E1s1
E2s2
E3s3
WB
(3-5) LDTLB: 1 issue cycle
I1
I3
I2
(3-6) ICBI: 8 issue cycles + 5 cycles + 4 branch cycle
I1
I2
I3
ID
s1
ID
s2
s3
WB
ID
ID
ID
ID
5 cycles (min.)
E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
ID E1s1 E2s2 E3s3 WB
(I1)
(I2)
(I3)
(ID)
(Branch to the next instruction of ICBI.)
(3-7) PREFI: 5 issue cycles + 5 cycles + 4 branch cycle
I1
I2
I3
ID
s1
ID
s2
E1s1
s3
E2s2
WB
E3s3
WB
ID
I2
I3
E2s2
E1s1
ID
E3s3
E2s2
E1s1
WB
E3s3
E2s2
WB
E3s3
WB
(I1)
(I2)
(I3)
(ID)
(Branch to the next instruction of PREFI.)
(3-8) MOVLI.L: 1 issue cycle
I1
E1s1
ID
5 cycles (min.)
ID
S1
S2
S3
WB
ID
S1
S2
S3
WB
S1
S2
S1
S3
S2
WB
S3
(3-9) MOVCO.L: 1 issue cycle
I1
I2
I3
(3-10) MOVUA.L: 2 issue cycles
I1
I2
I3
ID
WB
Figure 4.2 Instruction Execution Patterns (3)
Rev.1.00 Jan. 10, 2008 Page 69 of 1658
REJ09B0261-0100
4. Pipelining
(4-1) LDC to Rp_BANK/SSR/SPC/VBR: 1 issue cycle
I1
I2
I3
ID
s1
s2
s3
WB
s1
ID
s2
s3
WB
(4-2) LDC to DBR/SGR: 4 issue cycles
I1
I2
I3
ID
ID
ID
(4-3) LDC to GBR: 1 issue cycle
I1
I2
I3
ID
s1
s2
s3
WB
E3s3
WB
(4-4) LDC to SR: 4 issue cycles + 4 branch cycles
I1
I2
I3
ID
E1s1
ID
E2s2
ID
ID
(I1)
I2
I3
ID
S1
(I3)
(ID)
(Branch to the
next instruction.)
(4-5) LDC.L to Rp_BANK/SSR/SPC/VBR: 1 issue cycle
I1
(I2)
S2
S3
WB
S2
S3
WB
(4-6) LDC.L to DBR/SGR: 4 issue cycles
I1
I2
I3
ID
S1
ID
ID
ID
(4-7) LDC.L to GBR: 1 issue cycle
I1
I2
I3
ID
S1
S2
S3
WB
E3S3
WB
(4-8) LDC.L to SR: 6 issue cycles + 4 branch cycles
I1
I2
I3
ID
E1S1
ID
E2S2
ID
ID
ID
ID
(I1)
(I2)
(I3)
(ID)
(Branch to the next instruction.)
Figure 4.2 Instruction Execution Patterns (4)
Rev.1.00 Jan. 10, 2008 Page 70 of 1658
REJ09B0261-0100
4. Pipelining
(4-9) STC from DBR/GBR/Rp_BANK/SSR/SPC/VBR/SGR: 1 issue cycle
I1
I2
I3
ID
s1
s2
s3
WB
ID
E1s1
E2s2
E3s3
WB
(4-10) STC from SR: 1 issue cycle
I1
I2
I3
(4-11) STC.L from DBR/GBR/Rp_BANK/SSR/SPC/VBR/SGR: 1 issue cycle
I1
I2
I3
S1
S2
S3
WB
ID
E1S1
E2S2
E3S3
WB
ID
s1
s2
s3
WB
ID
S1
S2
S3
WB
ID
s1
s2
s3
WB
S1
S2
S3
WB
ID
(4-12) STC.L from SR: 1 issue cycle
I1
I2
I3
(4-13) LDS to PR: 1 issue cycle
I1
I2
I3
(4-14) LDS.L to PR: 1 issue cycle
I1
I2
I3
(4-15) STS from PR: 1 issue cycle
I1
I2
I3
(4-16) STS.L from PR: 1 issue cycle
I1
I2
I3
ID
(4-17) BSRF, BSR, JSR delay slot instructions (PR set): 0 issue cycle
(I1)
(I2)
(I3)
(ID)
(??1)
(??2)
(??3)
(WB)
Notes: The value of PR is changed in the E3 stage of delay slot instruction.
When the STS and STS.L instructions from PR are used as delay slot instructions,
changed PR value is used.
Figure 4.2 Instruction Execution Patterns (5)
Rev.1.00 Jan. 10, 2008 Page 71 of 1658
REJ09B0261-0100
4. Pipelining
(5-1) LDS to MACH/L: 1 issue cycle
I1
I2
I3
ID
s1
s2
s3
WB
MS
S1
S2
S3
WB
MS
s1
s2
s3
WB
MS
S1
S2
S3
WB
MS
E1
M2
M3
MS
M2
M3
M2
M3
(5-2) LDS.L to MACH/L: 1 issue cycle
I1
I2
I3
ID
(5-3) STS from MACH/L: 1 issue cycle
I1
I2
I3
ID
(5-4) STS.L from MACH/L: 1 issue cycle
I1
I2
I3
ID
(5-5) MULS.W, MULU.W: 1 issue cycle
I1
I2
I3
ID
(5-6) DMULS.L, DMULU.L, MUL.L: 1 issue cycle
I1
I2
I3
ID
E1
MS
(5-7) CLRMAC: 1 issue cycle
I1
I2
I3
ID
E1
M2
M3
MS
ID
S1
ID
S2
S1
S3
S2
WB
S3
(5-8) MAC.W: 2 issue cycle
I1
I2
I3
WB
M2
M3
MS
M3
M2
M3
(5-9) MAC.L: 2 issue cycle
I1
I2
I3
ID
S1
ID
S2
S1
S3
S2
WB
S3
WB
M2
Figure 4.2 Instruction Execution Patterns (6)
Rev.1.00 Jan. 10, 2008 Page 72 of 1658
REJ09B0261-0100
MS
4. Pipelining
(6-1) LDS to FPUL: 1 issue cycle
I1
I2
I3
ID
s1
FS1
s2
FS2
s3
FS3
FS4
FS1
s1
FS2
s2
FS3
s3
FS4
WB
S1
FS1
S2
FS2
S3
FS3
WB
FS4
FS1
S1
FS2
S2
FS3
S3
FS4
WB
s1
FS1
s2
FS2
s3
FS3
FS4
FS1
s1
FS2
s2
FS3
s3
FS4
WB
S1
FS1
S2
FS2
S3
FS3
WB
FS4
(6-8) STS.L from FPSCR: 1 issue cycle
I3
ID
I1
I2
FS1
S1
FS2
S2
FS3
S3
FS4
WB
FS
(6-2) STS from FPUL: 1 issue cycle
I1
I2
I3
ID
(6-3) LDS.L to FPUL: 1 issue cycle
I1
I2
I3
ID
(6-4) STS.L from FPUL: 1 issue cycle
I3
ID
I1
I2
FS
(6-5) LDS to FPSCR: 1 issue cycle
I1
I2
I3
ID
FS
(6-6) STS from FPSCR: 1 issue cycle
I1
I2
I3
ID
(6-7) LDS.L to FPSCR: 1 issue cycle
I1
I2
I3
ID
FS
(6-9) FPU load/store instruction FMOV: 1 issue cycle
I1
I2
I3
ID
S1
FS1
S2
FS2
S3
FS3
WB
FS4
FS
s1
FS1
s2
FS2
s3
FS3
WB
FS4
FS
s1
FS1
s2
FS2
s3
FS3
FS4
FS
(6-10) FLDS: 1 issue cycle
I1
I2
I3
(6-11) FSTS: 1 issue cycle
I1
I2
I3
ID
ID
Figure 4.2 Instruction Execution Patterns (7)
Rev.1.00 Jan. 10, 2008 Page 73 of 1658
REJ09B0261-0100
4. Pipelining
(6-12) Single-precision FABS, FNEG/double-precision FABS, FNEG: 1 issue cycle
I1
I2
I3
ID
s1
FS1
s2
FS2
s3
FS3
FS4
FS
s1
FS1
s2
FS2
s3
FS3
FS4
FS
(6-13) FLDI0, FLDI1: 1 issue cycle
I1
I2
I3
ID
(6-14) Single-precision floating-point computation: 1 issue cycle
FCMP/EQ, FCMP/GT, FADD, FLOAT, FMAC, FMUL, FSUB, FTRC, FRCHG, FSCHG, FPCHG
I1
I2
I3
ID
FE1
FE2
FE3
FE4
FE5
FE6
FS
FE2
FE3
FE4
FE5
FE6
FEDS (Divider occupied cycle)
FS
(6-15) Single-precision FDIV/FSQRT: 1 issue cycle
I1
I2
I3
ID
FE1
FE3
FE4
FE5
FE6
FS
FE6
FS
FE6
FE5
FS
FE6
FS
(6-16) Double-precision floating-point computation: 1 issue cycle
FCMP/EQ, FCMP/GT, FADD, FLOAT, FSUB, FTRC, FCNVSD, FCNVDS
I1
I2
I3
ID
FE1
FE2
FE3
FE4
FE5
FE6
FS
FE4
FE3
FE2
FE5
FE4
FE3
FE6
FE5
FE4
FS
FE6
FE5
(6-17) Double-precision floating-point computation: 1 issue cycle
FMUL
I1
I2
I3
ID
FE1
FE2
FE1
FE3
FE2
FE1
(6-18) Double-precision FDIV/FSQRT: 1 issue cycle
I1
I2
I3
ID
FE1
FE2
FE3
FE4
FE5
FE6
FEDS (Divider occupied cycle)
FE3
FE4
FE3
FS
FE5
FE4
Figure 4.2 Instruction Execution Patterns (8)
Rev.1.00 Jan. 10, 2008 Page 74 of 1658
REJ09B0261-0100
FS
4. Pipelining
(6-19) FIPR: 1 issue cycle
I1
I2
I3
ID
FE1
FE2
FE3
FE4
FE5
FE6
FS
I3
ID
FE1
FE2
FE1
FE3
FE2
FE1
FE4
FE3
FE2
FE1
FE5
FE4
FE3
FE2
FE6
FE5
FE4
FE3
FS
FE6
FE5
FE4
FE4
FE5
FE6
FS
(6-20) FTRV: 1 issue cycle
I1
I2
FS
FE6
FE5
FS
FE6
FS
FE6
FS
FS
(6-21) FSRRA: 1 issue cycle
I1
I2
I3
ID
FE1
FE2
FE3
FEPL
Function computing unit occupied cycle
(6-22) FSCA: 1 issue cycle
I1
I2
I3
ID
FE1
FE2
FE1
FE3
FE2
FE1
FE4
FE5
FE6
FE3
FE4
FE5
FE2
FE3
FE4
FEPL
Function computing unit occupied cycle
FS
FE6
FE5
Figure 4.2 Instruction Execution Patterns (9)
Rev.1.00 Jan. 10, 2008 Page 75 of 1658
REJ09B0261-0100
4. Pipelining
4.2
Parallel-Executability
Instructions are categorized into six groups according to the internal function blocks used, as
shown in table 4.2. Table 4.3 shows the parallel-executability of pairs of instructions in terms of
groups. For example, ADD in the EX group and BRA in the BR group can be executed in parallel.
Table 4.2
Instruction Groups
Instruction
Group
Instruction
ADD
DT
ROTL
SHLR8
ADDC
EXTS
ROTR
SHLR16
ADDV
EXTU
SETS
SUB
AND #imm,R0
MOVT
SETT
SUBC
AND Rm,Rn
MUL.L
SHAD
SUBV
CLRMAC
MULS.W
SHAL
SWAP
CLRS
MULU.W
SHAR
TST #imm,R0
CLRT
NEG
SHLD
TST Rm,Rn
CMP
NEGC
SHLL
XOR #imm,R0
DIV0S
NOT
SHLL2
XOR Rm,Rn
DIV0U
OR #imm,R0
SHLL8
XTRCT
DIV1
OR Rm,Rn
SHLL16
DMUS.L
ROTCL
SHLR
DMULU.L
ROTCR
SHLR2
MT
MOV #imm,Rn
MOV Rm,Rn
NOP
BR
BF
BRAF
BT
JSR
BF/S
BSR
BT/S
RTS
BRA
BSRF
JMP
FABS
FMOV.S FR,@adr
MOV.[BWL] @adr,R
STC CR2,Rn
FNEG
FSTS
MOV.[BWL] R,@adr
STC.L CR2,@-Rn
FLDI0
LDC Rm,CR1
MOVA
STS SR2,Rn
FLDI1
LDC.L @Rm+,CR1
MOVCA.L
STS.L SR2,@-Rn
FLDS
LDS Rm,SR1
MOVUA
STS SR1,Rn
FMOV @adr,FR
LDS Rm,SR2
OCBI
STS.L SR1,@-Rn
FMOV FR,@adr
LDS.L @adr,SR2
OCBP
FMOV FR,FR
LDS.L @Rm+,SR1
OCBWB
FMOV.S @adr,FR
LDS.L @Rm+,SR2
PREF
EX
LS
Rev.1.00 Jan. 10, 2008 Page 76 of 1658
REJ09B0261-0100
4. Pipelining
Instruction
Group
FE
CO
Instruction
FADD
FDIV
FRCHG
FSCA
FSUB
FIPR
FSCHG
FSRRA
FCMP (S/D)
FLOAT
FSQRT
FPCHG
FCNVDS
FMAC
FTRC
FCNVSD
FMUL
FTRV
AND.B #imm,@(R0,GBR)
LDC.L @Rm+,SR
PREFI
TRAPA
ICBI
LDTLB
RTE
TST.B #imm,@(R0,GBR)
LDC Rm,DBR
MAC.L
SLEEP
XOR.B #imm,@(R0,GBR)
LDC Rm, SGR
MAC.W
STC SR,Rn
LDC Rm,SR
MOVCO
STC.L SR,@-Rn
LDC.L @Rm+,DBR
MOVLI
SYNCO
LDC.L @Rm+,SGR
OR.B #imm,@(R0,GBR)
TAS.B
Legend:
R:
Rm/Rn
@adr: Address
SR1: MACH/MACL/PR
SR2: FPUL/FPSCR
CR1: GBR/Rp_BANK/SPC/SSR/VBR
CR2: CR1/DBR/SGR
FR:
FRm/FRn/DRm/DRn/XDm/XDn
The parallel execution of two instructions can be carried out under following conditions.
1. Both addr (preceding instruction) and addr+2 (following instruction) are specified within the
minimum page size (1 Kbyte).
2. The execution of these two instructions is supported in table 4.3, Combination of Preceding
and Following Instructions.
3. Data used by an instruction of addr does not conflict with data used by a previous instruction
4. Data used by an instruction of addr+2 does not conflict with data used by a previous
instruction
5. Both instructions are valid
Rev.1.00 Jan. 10, 2008 Page 77 of 1658
REJ09B0261-0100
4. Pipelining
Table 4.3
Combination of Preceding and Following Instructions
Preceding Instruction (addr)
EX
Following
Instruction
(addr+2)
MT
BR
LS
FE
EX
No
Yes
Yes
Yes
Yes
MT
Yes
Yes
Yes
Yes
Yes
BR
Yes
Yes
No
Yes
Yes
LS
Yes
Yes
Yes
No
Yes
FE
Yes
Yes
Yes
Yes
No
CO
Rev.1.00 Jan. 10, 2008 Page 78 of 1658
REJ09B0261-0100
CO
No
4. Pipelining
4.3
Issue Rates and Execution Cycles
Instruction execution cycles are summarized in table 4.4. Instruction Group in the table 4.4
corresponds to the category in the table 4.2. Penalty cycles due to a pipeline stall are not
considered in the issue rates and execution cycles in this section.
1. Issue Rate
Issue rates indicates the issue period between one instruction and next instruction.
E.g. AND.B instruction
I1
I2
I3
ID
S1
ID
S2
S3
WB
ID
E1S1
E2S2
E3S3
WB
WB
M2
M3
Issue rate: 3
Next instruction
(I1)
(I2)
(I3)
(ID)
ID
S1
ID
S2
S1
S3
S2
E.g. MAC.W instruction
I1
I2
I3
WB
S3
Issue rate: 2
Next instruction
(I1)
(I2)
(I3)
MS
(ID)
2. Execution Cycles
Execution cycles indicates the cycle counts an instruction occupied the pipeline based on the next rules.
CPU instruction
E.g. AND.B instruction
I1
I2
Execution Cycles: 3
I3
ID
S1
ID
S2
S3
WB
ID
E1S1
E2S2
E.g. MAC.W instruction
I1
I2
E3S3
WB
Execution Cycles: 4
I3
ID
S1
ID
S2
S1
S3
S2
WB
S3
WB
M2
M3
FPU instruction
E.g. FMUL instruction
I1
Execution Cycles: 3
I2
I3
ID
FE1
FE2
FE1
FE3
FE2
FE1
FE4
FE3
FE2
E.g. FDIV instruction
I1
I2
MS
FE5
FE4
FE3
FE6
FE5
FE4
FS
FE6
FE5
FS
FE6
FS
Execution Cycles: 14
I3
ID
FE1 FE2 FE3 FE4 FE5 FE6 FS
Divider occupation cycle
FE3 FE4 FE5 FE6
FS
Rev.1.00 Jan. 10, 2008 Page 79 of 1658
REJ09B0261-0100
4. Pipelining
Table 4.4
Functional
Category
Data transfer
instructions
Issue Rates and Execution Cycles
No. Instruction
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
1
EXTS.B
Rm,Rn
EX
1
1
2-1
2
EXTS.W
Rm,Rn
EX
1
1
2-1
3
EXTU.B
Rm,Rn
EX
1
1
2-1
4
EXTU.W
Rm,Rn
EX
1
1
2-1
5
MOV
Rm,Rn
MT
1
1
2-4
6
MOV
#imm,Rn
MT
1
1
2-3
7
MOVA
@(disp,PC),R0
LS
1
1
2-2
8
MOV.W
@(disp,PC),Rn
LS
1
1
3-1
9
MOV.L
@(disp,PC),Rn
LS
1
1
3-1
10
MOV.B
@Rm,Rn
LS
1
1
3-1
11
MOV.W
@Rm,Rn
LS
1
1
3-1
12
MOV.L
@Rm,Rn
LS
1
1
3-1
13
MOV.B
@Rm+,Rn
LS
1
1
3-1
14
MOV.W
@Rm+,Rn
LS
1
1
3-1
15
MOV.L
@Rm+,Rn
LS
1
1
3-1
16
MOV.B
@(disp,Rm),R0
LS
1
1
3-1
17
MOV.W
@(disp,Rm),R0
LS
1
1
3-1
18
MOV.L
@(disp,Rm),Rn
LS
1
1
3-1
19
MOV.B
@(R0,Rm),Rn
LS
1
1
3-1
20
MOV.W
@(R0,Rm),Rn
LS
1
1
3-1
21
MOV.L
@(R0,Rm),Rn
LS
1
1
3-1
22
MOV.B
@(disp,GBR),R0
LS
1
1
3-1
23
MOV.W
@(disp, GBR),R0
LS
1
1
3-1
24
MOV.L
@(disp, GBR),R0
LS
1
1
3-1
25
MOV.B
Rm,@Rn
LS
1
1
3-1
26
MOV.W
Rm,@Rn
LS
1
1
3-1
27
MOV.L
Rm,@Rn
LS
1
1
3-1
28
MOV.B
Rm,@-Rn
LS
1
1
3-1
29
MOV.W
Rm,@-Rn
LS
1
1
3-1
Rev.1.00 Jan. 10, 2008 Page 80 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
Data transfer
instructions
Fixed-point
arithmetic
instructions
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
Rm,@-Rn
LS
1
1
3-1
No. Instruction
30
MOV.L
31
MOV.B
R0,@(disp,Rn)
LS
1
1
3-1
32
MOV.W
R0,@(disp,Rn)
LS
1
1
3-1
33
MOV.L
Rm,@(disp,Rn)
LS
1
1
3-1
34
MOV.B
Rm,@(R0,Rn)
LS
1
1
3-1
35
MOV.W
Rm,@(R0,Rn)
LS
1
1
3-1
36
MOV.L
Rm,@(R0,Rn)
LS
1
1
3-1
37
MOV.B
R0,@(disp,GBR)
LS
1
1
3-1
38
MOV.W
R0,@(disp,GBR)
LS
1
1
3-1
39
MOV.L
R0,@(disp,GBR)
LS
1
1
3-1
40
MOVCA.L
R0,@Rn
LS
1
1
3-4
41
MOVCO.L
R0,@Rn
CO
1
1
3-9
42
MOVLI.L
@Rm,R0
CO
1
1
3-8
43
MOVUA.L
@Rm,R0
LS
2
2
3-10
44
MOVUA.L
@Rm+,R0
LS
2
2
3-10
45
MOVT
Rn
EX
1
1
2-1
46
OCBI
@Rn
LS
1
1
3-4
47
OCBP
@Rn
LS
1
1
3-4
48
OCBWB
@Rn
LS
1
1
3-4
49
PREF
@Rn
LS
1
1
3-4
50
SWAP.B
Rm,Rn
EX
1
1
2-1
51
SWAP.W
Rm,Rn
EX
1
1
2-1
52
XTRCT
Rm,Rn
EX
1
1
2-1
53
ADD
Rm,Rn
EX
1
1
2-1
54
ADD
#imm,Rn
EX
1
1
2-1
55
ADDC
Rm,Rn
EX
1
1
2-1
56
ADDV
Rm,Rn
EX
1
1
2-1
57
CMP/EQ
#imm,R0
EX
1
1
2-1
58
CMP/EQ
Rm,Rn
EX
1
1
2-1
59
CMP/GE
Rm,Rn
EX
1
1
2-1
Rev.1.00 Jan. 10, 2008 Page 81 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
Fixed-point
arithmetic
instructions
Logical
instructions
No. Instruction
Rm,Rn
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
EX
1
60
CMP/GT
61
CMP/HI
Rm,Rn
EX
1
1
2-1
62
CMP/HS
Rm,Rn
EX
1
1
2-1
63
CMP/PL
Rn
EX
1
1
2-1
64
CMP/PZ
Rn
EX
1
1
2-1
65
CMP/STR
Rm,Rn
EX
1
1
2-1
66
DIV0S
Rm,Rn
EX
1
1
2-1
67
DIV0U
EX
1
1
2-1
68
DIV1
Rm,Rn
EX
1
1
2-1
69
DMULS.L
Rm,Rn
EX
1
2
5-6
70
DMULU.L
Rm,Rn
EX
1
2
5-6
71
DT
Rn
EX
1
1
2-1
72
MAC.L
@Rm+,@Rn+
CO
2
5
5-9
73
MAC.W
@Rm+,@Rn+
CO
2
4
5-8
74
MUL.L
Rm,Rn
EX
1
2
5-6
75
MULS.W
Rm,Rn
EX
1
1
5-5
76
MULU.W
Rm,Rn
EX
1
1
5-5
77
NEG
Rm,Rn
EX
1
1
2-1
78
NEGC
Rm,Rn
EX
1
1
2-1
79
SUB
Rm,Rn
EX
1
1
2-1
80
SUBC
Rm,Rn
EX
1
1
2-1
81
SUBV
Rm,Rn
EX
1
1
2-1
82
AND
Rm,Rn
EX
1
1
2-1
83
AND
#imm,R0
EX
1
1
2-1
84
AND.B
#imm,@(R0,GBR)
CO
3
3
3-2
85
NOT
Rm,Rn
EX
1
1
2-1
86
OR
Rm,Rn
EX
1
1
2-1
87
OR
#imm,R0
EX
1
1
2-1
88
OR.B
#imm,@(R0,GBR)
CO
3
3
3-2
89
TAS.B
@Rn
CO
4
4
3-3
Rev.1.00 Jan. 10, 2008 Page 82 of 1658
REJ09B0261-0100
1
2-1
4. Pipelining
Functional
Category
Logical
instructions
Shift
instructions
Branch
instructions
No. Instruction
90
TST
Rm,Rn
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
EX
1
1
2-1
91
TST
#imm,R0
EX
1
1
2-1
92
TST.B
#imm,@(R0,GBR)
CO
3
3
3-2
93
XOR
Rm,Rn
EX
1
1
2-1
94
XOR
#imm,R0
EX
1
1
2-1
95
XOR.B
#imm,@(R0,GBR)
CO
3
3
3-2
96
ROTL
Rn
EX
1
1
2-1
97
ROTR
Rn
EX
1
1
2-1
98
ROTCL
Rn
EX
1
1
2-1
99
ROTCR
Rn
EX
1
1
2-1
100 SHAD
Rm,Rn
EX
1
1
2-1
101 SHAL
Rn
EX
1
1
2-1
102 SHAR
Rn
EX
1
1
2-1
103 SHLD
Rm,Rn
EX
1
1
2-1
104 SHLL
Rn
EX
1
1
2-1
105 SHLL2
Rn
EX
1
1
2-1
106 SHLL8
Rn
EX
1
1
2-1
107 SHLL16
Rn
EX
1
1
2-1
108 SHLR
Rn
EX
1
1
2-1
109 SHLR2
Rn
EX
1
1
2-1
110 SHLR8
Rn
EX
1
1
2-1
111 SHLR16
Rn
EX
1
1
2-1
112 BF
disp
BR
1+0 to 2
1
1-1
113 BF/S
disp
BR
1+0 to 2
1
1-1
114 BT
disp
BR
1+0 to 2
1
1-1
115 BT/S
disp
BR
1+0 to 2
1
1-1
116 BRA
disp
BR
1+0 to 2
1
1-1
117 BRAF
Rm
BR
1+3
1
1-2
118 BSR
disp
BR
1+0 to 2
1
1-1
119 BSRF
Rm
BR
1+3
1
1-2
Rev.1.00 Jan. 10, 2008 Page 83 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
Branch
instructions
System
control
instruction
No. Instruction
120 JMP
@Rn
121 JSR
@Rn
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
BR
1+3
1
1-2
BR
1+3
1
1-2
122 RTS
BR
1+0 to 3
1
1-3
123 NOP
MT
1
1
2-3
124 CLRMAC
EX
1
1
5-7
125 CLRS
EX
1
1
2-1
126 CLRT
EX
1
1
2-1
CO
8+5+3
13
3-6
EX
1
1
2-1
127 ICBI
@Rn
128 SETS
129 SETT
EX
1
1
2-1
CO
5+5+3
10
3-7
CO
Undefined
Undefined
3-4
CO
8+5+1
13
1-5
133 RTE
CO
4+1
4
1-4
134 SLEEP
CO
Undefined
Undefined
1-6
135 LDTLB
CO
1
1
3-5
4
4
4-2
130 PREFI
@Rn
131 SYNCO
132 TRAPA
#imm
136 LDC
Rm,DBR
CO
137 LDC
Rm,SGR
CO
4
4
4-2
138 LDC
Rm,GBR
LS
1
1
4-3
139 LDC
Rm,Rp_BANK
LS
1
1
4-1
140 LDC
Rm,SR
CO
4+3
4
4-4
141 LDC
Rm,SSR
LS
1
1
4-1
142 LDC
Rm,SPC
LS
1
1
4-1
143 LDC
Rm,VBR
LS
1
1
4-1
144 LDC.L
@Rm+,DBR
CO
4
4
4-6
145 LDC.L
@Rm+,SGR
CO
4
4
4-6
146 LDC.L
@Rm+,GBR
LS
1
1
4-7
147 LDC.L
@Rm+,Rp_BANK
LS
1
1
4-5
148 LDC.L
@Rm+,SR
CO
6+3
4
4-8
149 LDC.L
@Rm+,SSR
LS
1
1
4-5
Rev.1.00 Jan. 10, 2008 Page 84 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
System
control
instructions
No. Instruction
150 LDC.L
@Rm+,SPC
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
LS
1
1
4-5
151 LDC.L
@Rm+,VBR
LS
1
1
4-5
152 LDS
Rm,MACH
LS
1
1
5-1
153 LDS
Rm,MACL
LS
1
1
5-1
154 LDS
Rm,PR
LS
1
1
4-13
155 LDS.L
@Rm+,MACH
LS
1
1
5-2
156 LDS.L
@Rm+,MACL
LS
1
1
5-2
157 LDS.L
@Rm+,PR
LS
1
1
4-14
158 STC
DBR,Rn
LS
1
1
4-9
159 STC
SGR,Rn
LS
1
1
4-9
160 STC
GBR,Rn
LS
1
1
4-9
161 STC
Rp_BANK,Rn
LS
1
1
4-9
162 STC
SR,Rn
CO
1
1
4-10
163 STC
SSR,Rn
LS
1
1
4-9
164 STC
SPC,Rn
LS
1
1
4-9
165 STC
VBR,Rn
LS
1
1
4-9
166 STC.L
DBR,@-Rn
LS
1
1
4-11
167 STC.L
SGR,@-Rn
LS
1
1
4-11
168 STC.L
GBR,@-Rn
LS
1
1
4-11
169 STC.L
Rp_BANK,@-Rn
LS
1
1
4-11
170 STC.L
SR,@-Rn
CO
1
1
4-12
171 STC.L
SSR,@-Rn
LS
1
1
4-11
172 STC.L
SPC,@-Rn
LS
1
1
4-11
173 STC.L
VBR,@-Rn
LS
1
1
4-11
174 STS
MACH,Rn
LS
1
1
5-3
175 STS
MACL,Rn
LS
1
1
5-3
176 STS
PR,Rn
LS
1
1
4-15
177 STS.L
MACH,@-Rn
LS
1
1
5-4
178 STS.L
MACL,@-Rn
LS
1
1
5-4
179 STS.L
PR,@-Rn
LS
1
1
4-16
Rev.1.00 Jan. 10, 2008 Page 85 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
Singleprecision
floating-point
instructions
No. Instruction
180 FLDI0
FRn
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
LS
1
1
6-13
181 FLDI1
FRn
LS
1
1
6-13
182 FMOV
FRm,FRn
LS
1
1
6-9
183 FMOV.S
@Rm,FRn
LS
1
1
6-9
184 FMOV.S
@Rm+,FRn
LS
1
1
6-9
185 FMOV.S
@(R0,Rm),FRn
LS
1
1
6-9
186 FMOV.S
FRm,@Rn
LS
1
1
6-9
187 FMOV.S
FRm,@-Rn
LS
1
1
6-9
188 FMOV.S
FRm,@(R0,Rn)
LS
1
1
6-9
189 FLDS
FRm,FPUL
LS
1
1
6-10
190 FSTS
FPUL,FRn
LS
1
1
6-11
191 FABS
FRn
LS
1
1
6-12
192 FADD
FRm,FRn
FE
1
1
6-14
193 FCMP/EQ
FRm,FRn
FE
1
1
6-14
194 FCMP/GT
FRm,FRn
FE
1
1
6-14
195 FDIV
FRm,FRn
FE
1
14
6-15
196 FLOAT
FPUL,FRn
FE
1
1
6-14
197 FMAC
FR0,FRm,FRn
FE
1
1
6-14
198 FMUL
FRm,FRn
FE
1
1
6-14
199 FNEG
FRn
LS
1
1
6-12
200 FSQRT
FRn
FE
1
30
6-15
201 FSUB
FRm,FRn
FE
1
1
6-14
202 FTRC
FRm,FPUL
FE
1
1
6-14
203 FMOV
DRm,DRn
LS
1
1
6-9
204 FMOV
@Rm,DRn
LS
1
1
6-9
205 FMOV
@Rm+,DRn
LS
1
1
6-9
206 FMOV
@(R0,Rm),DRn
LS
1
1
6-9
207 FMOV
DRm,@Rn
LS
1
1
6-9
208 FMOV
DRm,@-Rn
LS
1
1
6-9
209 FMOV
DRm,@(R0,Rn)
LS
1
1
6-9
Rev.1.00 Jan. 10, 2008 Page 86 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
Doubleprecision
floating-point
instructions
FPU system
control
instructions
Graphics
acceleration
instructions
No. Instruction
210 FABS
DRn
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
LS
1
1
6-12
211 FADD
DRm,DRn
FE
1
1
6-16
212 FCMP/EQ
DRm,DRn
FE
1
1
6-16
213 FCMP/GT
DRm,DRn
FE
1
1
6-16
214 FCNVDS
DRm,FPUL
FE
1
1
6-16
215 FCNVSD
FPUL,DRn
FE
1
1
6-16
216 FDIV
DRm,DRn
FE
1
14
6-18
217 FLOAT
FPUL,DRn
FE
1
1
6-16
218 FMUL
DRm,DRn
FE
1
3
6-17
219 FNEG
DRn
LS
1
1
6-12
220 FSQRT
DRn
FE
1
30
6-18
221 FSUB
DRm,DRn
FE
1
1
6-16
222 FTRC
DRm,FPUL
FE
1
1
6-16
223 LDS
Rm,FPUL
LS
1
1
6-1
224 LDS
Rm,FPSCR
LS
1
1
6-5
225 LDS.L
@Rm+,FPUL
LS
1
1
6-3
226 LDS.L
@Rm+,FPSCR
LS
1
1
6-7
227 STS
FPUL,Rn
LS
1
1
6-2
228 STS
FPSCR,Rn
LS
1
1
6-6
229 STS.L
FPUL,@-Rn
LS
1
1
6-4
230 STS.L
FPSCR,@-Rn
LS
1
1
6-8
231 FMOV
DRm,XDn
LS
1
1
6-9
232 FMOV
XDm,DRn
LS
1
1
6-9
233 FMOV
XDm,XDn
LS
1
1
6-9
234 FMOV
@Rm,XDn
LS
1
1
6-9
235 FMOV
@Rm+,XDn
LS
1
1
6-9
236 FMOV
@(R0,Rm),XDn
LS
1
1
6-9
237 FMOV
XDm,@Rn
LS
1
1
6-9
238 FMOV
XDm,@-Rn
LS
1
1
6-9
239 FMOV
XDm,@(R0,Rn)
LS
1
1
6-9
240 FIPR
FVm,FVn
FE
1
1
6-19
Rev.1.00 Jan. 10, 2008 Page 87 of 1658
REJ09B0261-0100
4. Pipelining
Functional
Category
Graphics
acceleration
instructions
No. Instruction
Instruction
Group
Execution Execution
Pattern
Issue Rate Cycles
241 FRCHG
FE
1
1
6-14
242 FSCHG
FE
1
1
6-14
243 FPCHG
FE
1
1
6-14
244 FSRRA
FRn
FE
1
1
6-21
245 FSCA
FPUL,DRn
FE
1
3
6-22
246 FTRV
XMTRX,FVn
FE
1
4
6-20
Rev.1.00 Jan. 10, 2008 Page 88 of 1658
REJ09B0261-0100
5. Exception Handling
Section 5 Exception Handling
5.1
Summary of Exception Handling
Exception handling processing is handled by a special routine which is executed by a reset,
general exception handling, or interrupt. For example, if the executing instruction ends
abnormally, appropriate action must be taken in order to return to the original program sequence,
or report the abnormality before terminating the processing. The process of generating an
exception handling request in response to abnormal termination, and passing control to a userwritten exception handling routine, in order to support such functions, is given the generic name of
exception handling.
The exception handling in this LSI is of three kinds: resets, general exceptions, and interrupts.
5.2
Register Descriptions
Table 5.1 lists the configuration of registers related exception handling.
Table 5.1
Register Configuration
Register Name
Abbr.
R/W
P4 Address*
Area 7
Address*
Access Size
TRAPA exception register
TRA
R/W
H'FF00 0020
H'1F00 0020
32
Exception event register
EXPEVT
R/W
H'FF00 0024
H'1F00 0024
32
Interrupt event register
INTEVT
R/W
H'FF00 0028
H'1F00 0028
32
Non-support detection exception
register
EXPMASK R/W
H'FF2F 0004
H'1F2F 0004
32
Note:
*
P4 is the address when virtual address space P4 area is used. Area 7 is the address
when physical address space area 7 is accessed by using the TLB.
Rev.1.00 Jan. 10, 2008 Page 89 of 1658
REJ09B0261-0100
5. Exception Handling
Table 5.2
States of Register in Each Operating Mode
Register Name
Abbr.
Power-on
Reset
Manual Reset Sleep
Standby
TRAPA exception register
TRA
Undefined
Undefined
Retained
Retained
Exception event register
EXPEVT
H'0000 0000 H'0000 0020
Retained
Retained
Interrupt event register
INTEVT
Undefined
Retained
Retained
Non-support detection exception
register
EXPMASK H'0000 0013 H'0000 0013
Retained
Retained
5.2.1
Undefined
TRAPA Exception Register (TRA)
The TRAPA exception register (TRA) consists of 8-bit immediate data (imm) for the TRAPA
instruction. TRA is set automatically by hardware when a TRAPA instruction is executed. TRA
can also be modified by software.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
0
R
0
R
TRACODE
Initial value:
R/W:
Bit
0
R
0
R
Bit Name
31 to 10 ⎯
0
R
0
R
0
R
0
R
R/W
R/W
R/W
Initial Value
R/W
Description
All 0
R
Reserved
R/W
R/W
For details on reading/writing this bit, see General
Precautions on Handling of Product.
9 to 2
TRACODE
Undefined
R/W
TRAPA Code
8-bit immediate data of TRAPA instruction is set
1, 0
⎯
All 0
R
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 90 of 1658
REJ09B0261-0100
5. Exception Handling
5.2.2
Exception Event Register (EXPEVT)
The exception event register (EXPEVT) consists of a 12-bit exception code. The exception code
set in EXPEVT is that for a reset or general exception event. The exception code is set
automatically by hardware when an exception occurs. EXPEVT can also be modified by software.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0/1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
EXPCODE
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
31 to 12 ⎯
All 0
R
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
11 to 0
H'000 or
H'020
R/W
Exception Code
Bit
Bit Name
EXPCODE
The exception code for a reset or general exception is
set. For details, see table 5.3.
Rev.1.00 Jan. 10, 2008 Page 91 of 1658
REJ09B0261-0100
5. Exception Handling
5.2.3
Interrupt Event Register (INTEVT)
The interrupt event register (INTEVT) consists of a 14-bit exception code. The exception code is
set automatically by hardware when an exception occurs. INTEVT can also be modified by
software.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
INTCODE
Initial value:
R/W:
Bit
0
R
0
R
Bit Name
31 to 14 ⎯
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial
Value
R/W
Description
All 0
R
Reserved
For details on reading/writing this bit, see General
Precautions on Handling of Product.
13 to 0
INTCODE
Undefined R/W
Exception Code
The exception code for an interrupt is set. For details,
see table 5.3.
Rev.1.00 Jan. 10, 2008 Page 92 of 1658
REJ09B0261-0100
5. Exception Handling
5.2.4
Non-Support Detection Exception Register (EXPMASK)
The non-support detection exception register (EXPMASK) is used to enable or disable the
generation of exceptions in response to the use of any of functions 1 to 3 listed below. The
functions of 1 to 3 are planned not to be supported in the future SuperH-family products. The
exception generation functions of EXPMASK can be used in advance of execution; the detection
function then checks for the use of these functions in the software. This will ease the transfer of
software to the future SuperH-family products that do not support the respective functions.
1. Handling of an instruction other than the NOP instruction in the delay slot of the RTE
instruction.
2. Handling of the SLEEP instruction in the delay slot of the branch instruction.
3. Performance of IC/OC memory-mapped associative write operations.
According to the value of EXPMASK, functions 1 and 2 can generate a slot illegal instruction
exception, and 3 can generate a data address error exception.
Generation of each exception can be disabled by writing 1 to the corresponding bit in EXPMASK.
However, it is recommended that the above functions should not be used when making a program
to maintain the compatibility with the future products.
Use the store instruction of the CPU to update EXPMASK. After updating the register and then
reading the register once, execute either of the following instructions. Executing either instruction
guarantees the operation with the updated register value.
• Execute the RTE instruction.
• Execute the ICBI instruction for any address (including non-cacheable area).
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
2
−
−
−
−
−
−
−
−
−
−
−
−
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
4
MM
CAW
1
R/W
3
−
0
R
0
R
Initial value:
R/W:
1
0
BRDS RTE
SLP
DS
1
1
R/W R/W
Rev.1.00 Jan. 10, 2008 Page 93 of 1658
REJ09B0261-0100
5. Exception Handling
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
R
Reserved
For details on reading/writing these bits, see General
Precautions on Handling of Product.
4
MMCAW
1
R/W
Memory-Mapped Cache Associative Write
0: Memory-mapped cache associative write is disabled.
(A data address error exception will occur.)
1: Memory-mapped cache associative write is enabled.
For further details, refer to section 8.6.5, MemoryMapped Cache Associative Write Operation.
3, 2
⎯
All 0
R
Reserved
For details on reading/writing these bits, see General
Precautions on Handling of Product.
1
BRDSSLP
1
R/W
Delay Slot SLEEP Instruction
0: The SLEEP instruction in the delay slot is disabled.
(The SLEEP instruction is taken as a slot illegal
instruction.)
1: The SLEEP instruction in the delay slot is enabled.
0
RTEDS
1
R/W
RTE Delay Slot
0: An instruction other than the NOP instruction in the
delay slot of the RTE instruction is disabled. (An
instruction other than the NOP instruction is taken as
a slot illegal instruction).
1: An instruction other than the NOP instruction in the
delay slot of the RTE instruction is enabled.
Rev.1.00 Jan. 10, 2008 Page 94 of 1658
REJ09B0261-0100
5. Exception Handling
5.3
Exception Handling Functions
5.3.1
Exception Handling Flow
In exception handling, the contents of the program counter (PC), status register (SR), and R15 are
saved in the saved program counter (SPC), saved status register (SSR), and saved general
register15 (SGR), and the CPU starts execution of the appropriate exception handling routine
according to the vector address. An exception handling routine is a program written by the user to
handle a specific exception. The exception handling routine is terminated and control returned to
the original program by executing a return-from-exception instruction (RTE). This instruction
restores the PC and SR contents and returns control to the normal processing routine at the point at
which the exception occurred. The SGR contents are not written back to R15 with an RTE
instruction.
The basic processing flow is as follows. For the meaning of the SR bits, see section 2,
Programming Model.
1.
2.
3.
4.
5.
6.
The PC, SR, and R15 contents are saved in SPC, SSR, and SGR, respectively.
The block bit (BL) in SR is set to 1.
The mode bit (MD) in SR is set to 1.
The register bank bit (RB) in SR is set to 1.
In a reset, the FPU disable bit (FD) in SR is cleared to 0.
The exception code is written to bits 11 to 0 of the exception event register (EXPEVT) or
interrupt event register (INTEVT).
7. When the interrupt mode switch bit (INTMU) in CPUOPM has been 1, the interrupt mask
level bit (IMASK) in SR is changed to accepted interrupt level.
8. The CPU branches to the determined exception handling vector address, and the exception
handling routine begins.
5.3.2
Exception Handling Vector Addresses
The reset vector address is fixed at H'A0000000. Exception and interrupt vector addresses are
determined by adding the offset for the specific event to the vector base address, which is set by
software in the vector base register (VBR). In the case of the TLB miss exception, for example,
the offset is H'00000400, so if H'9C080000 is set in VBR, the exception handling vector address
will be H'9C080400. If a further exception occurs at the exception handling vector address, a
duplicate exception will result, and recovery will be difficult; therefore, addresses that are not to
be converted (in P1 and P2 areas) should be specified for vector addresses.
Rev.1.00 Jan. 10, 2008 Page 95 of 1658
REJ09B0261-0100
5. Exception Handling
5.4
Exception Types and Priorities
Table 5.3 shows the types of exceptions, with their relative priorities, vector addresses, and
exception/interrupt codes.
Table 5.3
Exceptions
Exception Transition
3
Direction*
Exception Execution
Category Mode
Exception
Priority Priority Vector
2
2
Level* Order* Address
Reset
Power-on reset
1
General
exception
Abort type
Reexecution
type
1
Offset
Exception
4
Code*
H'A000 0000 —
H'000
Manual reset
1
2
H'A000 0000 —
H'020
H-UDI reset
1
1
H'A000 0000 —
H'000
Instruction TLB multiple-hit
exception
1
3
H'A000 0000 —
H'140
Data TLB multiple-hit exception
1
4
H'A000 0000 —
H'140
User break before instruction
1
execution*
2
0
(VBR/DBR)
H'100/— H'1E0
Instruction address error
2
1
(VBR)
H'100
H'0E0
Instruction TLB miss exception
2
2
(VBR)
H'400
H'040
Instruction TLB protection
violation exception
2
3
(VBR)
H'100
H'0A0
General illegal instruction
exception
2
4
(VBR)
H'100
H'180
Slot illegal instruction exception
2
4
(VBR)
H'100
H'1A0
General FPU disable exception
2
4
(VBR)
H'100
H'800
Slot FPU disable exception
2
4
(VBR)
H'100
H'820
Data address error (read)
2
5
(VBR)
H'100
H'0E0
Data address error (write)
2
5
(VBR)
H'100
H'100
Data TLB miss exception (read)
2
6
(VBR)
H'400
H'040
Data TLB miss exception (write)
2
6
(VBR)
H'400
H'060
Data TLB protection
violation exception (read)
2
7
(VBR)
H'100
H'0A0
Data TLB protection
violation exception (write)
2
7
(VBR)
H'100
H'0C0
FPU exception
2
8
(VBR)
H'100
H'120
Initial page write exception
2
9
(VBR)
H'100
H'080
Rev.1.00 Jan. 10, 2008 Page 96 of 1658
REJ09B0261-0100
5. Exception Handling
Exception Transition
3
Direction*
Exception Execution
Category Mode
Exception
Priority Priority
2
2
Level* Order*
Vector
Address
Offset
Exception
4
Code*
General
exception
Completion
type
Unconditional trap (TRAPA)
2
4
(VBR)
H'100
H'160
User break after instruction
execution*
2
10
(VBR/DBR)
H'100/—
H'1E0
Interrupt
Completion
type
Nonmaskable interrupt
3
—
(VBR)
H'600
H'1C0
General interrupt request
4
—
(VBR)
H'600
—
Notes: 1. When UBDE in CBCR = 1, PC = DBR. In other cases, PC = VBR + H'100.
2. Priority is first assigned by priority level, then by priority order within each level (the
lowest number represents the highest priority).
3. Control passes to H'A000 0000 in a reset, and to [VBR + offset] in other cases.
4. Stored in EXPEVT for a reset or general exception, and in INTEVT for an interrupt.
Rev.1.00 Jan. 10, 2008 Page 97 of 1658
REJ09B0261-0100
5. Exception Handling
5.5
Exception Flow
5.5.1
Exception Flow
Figure 5.1 shows an outline flowchart of the basic operations in instruction execution and
exception handling. For the sake of clarity, the following description assumes that instructions are
executed sequentially, one by one. Figure 5.1 shows the relative priority order of the different
kinds of exceptions (reset, general exception, and interrupt). Register settings in the event of an
exception are shown only for SSR, SPC, SGR, EXPEVT/INTEVT, SR, and PC. However, other
registers may be set automatically by hardware, depending on the exception. For details, see
section 5.6, Description of Exceptions. Also, see section 5.6.4, Priority Order with Multiple
Exceptions, for exception handling during execution of a delayed branch instruction and a delay
slot instruction, or in the case of instructions in which two data accesses are performed.
Rev.1.00 Jan. 10, 2008 Page 98 of 1658
REJ09B0261-0100
5. Exception Handling
Reset
requested?
Yes
No
Execute next instruction
General
exception requested?
Yes
No
Interrupt
requested?
No
Is highestYes
priority exception
re-exception
type?
Cancel instruction execution
No
result
Yes
SSR ← SR
SPC ← PC
SGR ← R15
EXPEVT/INTEVT ← exception code
SR.{MD,RB,BL} ← 111
SR.IMASK ← received interuupt level (*)
PC ← (CBCR.UBDE=1 && User_Break?
DBR: (VBR + Offset))
EXPEVT ← exception code
SR. {MD, RB, BL, FD, IMASK} ← 11101111
PC ← H'A000 0000
Note: * When the exception of the highest priority is an interrupt.
Whether IMASK is updated or not can be set by software.
"Accepted interrupt level" is B'1111 for NMI.
Figure 5.1 Instruction Execution and Exception Handling
Rev.1.00 Jan. 10, 2008 Page 99 of 1658
REJ09B0261-0100
5. Exception Handling
5.5.2
Exception Source Acceptance
A priority ranking is provided for all exceptions for use in determining which of two or more
simultaneously generated exceptions should be accepted. Five of the general exceptions—general
illegal instruction exception, slot illegal instruction exception, general FPU disable exception, slot
FPU disable exception, and unconditional trap exception—are detected in the process of
instruction decoding, and do not occur simultaneously in the instruction pipeline. These
exceptions therefore all have the same priority. General exceptions are detected in the order of
instruction execution. However, exception handling is performed in the order of instruction flow
(program order). Thus, an exception for an earlier instruction is accepted before that for a later
instruction. An example of the order of acceptance for general exceptions is shown in figure 5.2.
Pipeline flow:
Instruction n
Instruction n + 1
I1
I1
Instruction n + 2
I2
I2
I3
I3
I1
I2
Instruction n + 3
I1
ID
ID
TLB miss (data access)
E1 E2 E3 WB
E1 E2 E3 WB
General illegal instruction exception
TLB miss (instruction access)
I3 ID E1 E2 E3 WB
I2
I3
ID
E1
E2
E3
Legend:
I1, I2, I3:
Instruction fetch
ID :
Instruction decode
E1, E2, E3: Instruction execution
(E2, E3 Memory access)
WB
Write-back
WB
Order of detection:
General illegal instruction exception (instruction n + 1) and
TLB miss (instruction n + 2) are detected simultaneously
TLB miss (instruction n)
Order of exception handling:
TLB miss (instruction n)
Program order
1
Re-execution of instruction n
General illegal instruction exception
(instruction n + 1)
2
Re-execution of instruction n + 1
TLB miss (instruction n + 2)
3
Re-execution of instruction n + 2
Execution of instruction n + 3
4
Figure 5.2 Example of General Exception Acceptance Order
Rev.1.00 Jan. 10, 2008 Page 100 of 1658
REJ09B0261-0100
5. Exception Handling
5.5.3
Exception Requests and BL Bit
When the BL bit in SR is 0, general exceptions and interrupts are accepted.
When the BL bit in SR is 1 and an general exception other than a user break is generated, the
CPU's internal registers and the registers of the other modules are set to their states following a
manual reset, and the CPU branches to the same address as in a reset (H'A0000000). For the
operation in the event of a user break, see section 29, User Break Controller (UBC). If an ordinary
interrupt occurs, the interrupt request is held pending and is accepted after the BL bit has been
cleared to 0 by software. If a nonmaskable interrupt (NMI) occurs, it can be held pending or
accepted according to the setting made by software. For further details, refer to the hardware
manual of the product.
Thus, normally, SPC and SSR are saved and then the BL bit in SR is cleared to 0, to enable
multiple exception state acceptance.
5.5.4
Return from Exception Handling
The RTE instruction is used to return from exception handling. When the RTE instruction is
executed, the SPC contents are restored to PC and the SSR contents to SR, and the CPU returns
from the exception handling routine by branching to the SPC address. If SPC and SSR were saved
to external memory, set the BL bit in SR to 1 before restoring the SPC and SSR contents and
issuing the RTE instruction.
Rev.1.00 Jan. 10, 2008 Page 101 of 1658
REJ09B0261-0100
5. Exception Handling
5.6
Description of Exceptions
The various exception handling operations explained here are exception sources, transition address
on the occurrence of exception, and processor operation when a transition is made.
5.6.1
(1)
Resets
Power-On Reset
• Condition:
Power-on reset request
• Operations:
Exception code H'000 is set in EXPEVT, initialization of the CPU and on-chip peripheral
module is carried out, and then a branch is made to the reset vector (H'A0000000). For details,
see the register descriptions in the relevant sections. A power-on reset should be executed
when power is supplied.
(2)
Manual Reset
• Condition:
Manual reset request
• Operations:
Exception code H'020 is set in EXPEVT, initialization of the CPU and on-chip peripheral
module is carried out, and then a branch is made to the branch vector (H'A0000000). The
registers initialized by a power-on reset and manual reset are different. For details, see the
register descriptions in the relevant sections.
(3)
H-UDI Reset
• Source: SDIR.TI[7:4] = B'0110 (negation) or B'0111 (assertion)
• Transition address: H'A0000000
• Transition operations:
Exception code H'000 is set in EXPEVT, initialization of VBR and SR is performed, and a
branch is made to PC = H'A0000000.
CPU and on-chip peripheral module initialization is performed. For details, see section 30,
User Debugging Interface (H-UDI), and the register descriptions in the relevant sections.
Rev.1.00 Jan. 10, 2008 Page 102 of 1658
REJ09B0261-0100
5. Exception Handling
(4)
Instruction TLB Multiple Hit Exception
• Source: Multiple ITLB address matches
• Transition address: H'A0000000
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
Exception code H'140 is set in EXPEVT, initialization of VBR and SR is performed, and a
branch is made to PC = H'A0000000.
CPU and on-chip peripheral module initialization is performed in the same way as in a manual
reset. For details, see the register descriptions in the relevant sections.
(5)
Data TLB Multiple-Hit Exception
• Source: Multiple UTLB address matches
• Transition address: H'A0000000
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
Exception code H'140 is set in EXPEVT, initialization of VBR and SR is performed, and a
branch is made to PC = H'A0000000.
CPU and on-chip peripheral module initialization is performed in the same way as in a manual
reset. For details, see the register descriptions in the relevant sections.
Rev.1.00 Jan. 10, 2008 Page 103 of 1658
REJ09B0261-0100
5. Exception Handling
5.6.2
(1)
General Exceptions
Data TLB Miss Exception
• Source: Address mismatch in UTLB address comparison
• Transition address: VBR + H'00000400
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'040 (for a read access) or H'060 (for a write access) is set in EXPEVT. The
BL, MD, and RB bits are set to 1 in SR, and a branch is made to PC = VBR + H'0400.
To speed up TLB miss processing, the offset is separate from that of other exceptions.
Data_TLB_miss_exception()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = read_access ? H'0000 0040 : H'0000 0060;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0400;
}
Rev.1.00 Jan. 10, 2008 Page 104 of 1658
REJ09B0261-0100
5. Exception Handling
(2)
Instruction TLB Miss Exception
• Source: Address mismatch in ITLB address comparison
• Transition address: VBR + H'00000400
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'40 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0400.
To speed up TLB miss processing, the offset is separate from that of other exceptions.
ITLB_miss_exception()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 0040;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0400;
}
Rev.1.00 Jan. 10, 2008 Page 105 of 1658
REJ09B0261-0100
5. Exception Handling
(3)
Initial Page Write Exception
• Source: TLB is hit in a store access, but dirty bit D = 0
• Transition address: VBR + H'00000100
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'080 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100.
Initial_write_exception()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 0080;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 106 of 1658
REJ09B0261-0100
5. Exception Handling
(4)
Data TLB Protection Violation Exception
• Source: The access does not accord with the UTLB protection information (PR bits or EPR
bits) shown in table 5.4 and table 5.5.
Table 5.4
UTLB Protection Information (TLB Compatible Mode)
PR
Privileged Mode
User Mode
00
Only read access possible
Access not possible
01
Read/write access possible
Access not possible
10
Only read access possible
Only read access possible
11
Read/write access possible
Read/write access possible
Table 5.5
UTLB Protection Information (TLB Extended Mode)
EPR [5]
Read Permission in Privileged Mode
0
Read access possible
1
Read access not possible
EPR [4]
Write Permission in Privileged Mode
0
Write access possible
1
Write access not possible
EPR [2]
Read Permission in User Mode
0
Read access possible
1
Read access not possible
EPR [1]
Write Permission in User Mode
0
Write access possible
1
Write access not possible
• Transition address: VBR + H'00000100
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
Rev.1.00 Jan. 10, 2008 Page 107 of 1658
REJ09B0261-0100
5. Exception Handling
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'0A0 (for a read access) or H'0C0 (for a write access) is set in EXPEVT. The
BL, MD, and RB bits are set to 1 in SR, and a branch is made to PC = VBR + H'0100.
Data_TLB_protection_violation_exception()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = read_access ? H'0000 00A0 : H'0000 00C0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 108 of 1658
REJ09B0261-0100
5. Exception Handling
(5)
Instruction TLB Protection Violation Exception
• Source: The access does not accord with the ITLB protection information (PR bits or EPR bits)
shown in table 5.6 and table5.7.
Table 5.6
ITLB Protection Information (TLB Compatible Mode)
PR
Privileged Mode
User Mode
0
Access possible
Access not possible
1
Access possible
Access possible
Table 5.7
ITLB Protection Information (TLB Extended Mode)
EPR [5], EPR [3]
Execution Permission in Privileged Mode
11
Execution of instructions possible
10
Instruction fetch not possible
Execution of Rn access by ICBI possible
00
Execution of instructions not possible
EPR [2], EPR [0]
Execution Permission in User Mode
11, 01
Execution of instructions possible
10
Instruction fetch not possible
Execution of Rn access by ICBI possible
00
Execution of instructions not possible
• Transition address: VBR + H'00000100
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'0A0 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100.
Rev.1.00 Jan. 10, 2008 Page 109 of 1658
REJ09B0261-0100
5. Exception Handling
ITLB_protection_violation_exception()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 00A0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
(6)
Data Address Error
• Sources:
⎯ Word data access from other than a word boundary (2n +1)
⎯ Longword data access from other than a longword data boundary (4n +1, 4n + 2, or 4n +3)
(Except MOVLIA)
⎯ Quadword data access from other than a quadword data boundary (8n +1, 8n + 2, 8n +3, 8n
+ 4, 8n + 5, 8n + 6, or 8n + 7)
⎯ Access to area H'80000000 to H'FFFFFFFF in user mode
Areas H'E0000000 to H'E3FFFFFF and H'E5000000 to H'E5FFFFFF can be accessed in
user mode. For details, see section 7, Memory Management Unit (MMU) and section 9,
On-Chip Memory.
⎯ The MMCAW bit in EXPMASK is 0, and the IC/OC memory mapped associative write is
performed. For details of memory mapped associative write, see section 8.6.5, MemoryMapped Cache Associative Write Operation.
• Transition address: VBR + H'0000100
Rev.1.00 Jan. 10, 2008 Page 110 of 1658
REJ09B0261-0100
5. Exception Handling
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'0E0 (for a read access) or H'100 (for a write access) is set in EXPEVT. The
BL, MD, and RB bits are set to 1 in SR, and a branch is made to PC = VBR + H'0100. For
details, see section 7, Memory Management Unit (MMU).
Data_address_error()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = read_access? H'0000 00E0: H'0000 0100;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 111 of 1658
REJ09B0261-0100
5. Exception Handling
(7)
Instruction Address Error
• Sources:
⎯ Instruction fetch from other than a word boundary (2n +1)
⎯ Instruction fetch from area H'80000000 to H'FFFFFFFF in user mode
Area H'E5000000 to H'E5FFFFFF can be accessed in user mode. For details, see section 9,
On-Chip Memory.
• Transition address: VBR + H'00000100
• Transition operations:
The virtual address (32 bits) at which this exception occurred is set in TEA, and the
corresponding virtual page number (22 bits) is set in PTEH [31:10]. ASID in PTEH indicates
the ASID when this exception occurred.
The PC and SR contents for the instruction at which this exception occurred are saved in the
SPC and SSR. The R15 contents at this time are saved in SGR.
Exception code H'0E0 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100. For details, see section 7, Memory Management Unit
(MMU).
Instruction_address_error()
{
TEA = EXCEPTION_ADDRESS;
PTEH.VPN = PAGE_NUMBER;
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 00E0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 112 of 1658
REJ09B0261-0100
5. Exception Handling
(8)
Unconditional Trap
• Source: Execution of TRAPA instruction
• Transition address: VBR + H'00000100
• Transition operations:
As this is a processing-completion-type exception, the PC contents for the instruction
following the TRAPA instruction are saved in SPC. The value of SR and R15 when the
TRAPA instruction is executed are saved in SSR and SGR. The 8-bit immediate value in the
TRAPA instruction is multiplied by 4, and the result is set in TRA [9:0]. Exception code H'160
is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a branch is made to PC =
VBR + H'0100.
TRAPA_exception()
{
SPC = PC + 2;
SSR = SR;
SGR = R15;
TRA = imm << 2;
EXPEVT = H'0000 0160;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 113 of 1658
REJ09B0261-0100
5. Exception Handling
(9)
General Illegal Instruction Exception
• Sources:
⎯ Decoding of an undefined instruction not in a delay slot
Delayed branch instructions: JMP, JSR, BRA, BRAF, BSR, BSRF, RTS, RTE, BT/S, BF/S
Undefined instruction: H'FFFD
⎯ Decoding in user mode of a privileged instruction not in a delay slot
Privileged instructions: LDC, STC, RTE, LDTLB, SLEEP, but excluding LDC/STC
instructions that access GBR
• Transition address: VBR + H'00000100
• Transition operations:
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'180 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100. Operation is not guaranteed if an undefined code other
than H'FFFD is decoded.
General_illegal_instruction_exception()
{
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 0180;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 114 of 1658
REJ09B0261-0100
5. Exception Handling
(10) Slot Illegal Instruction Exception
• Sources:
⎯ Decoding of an undefined instruction in a delay slot
Delayed branch instructions: JMP, JSR, BRA, BRAF, BSR, BSRF, RTS, RTE, BT/S, BF/S
Undefined instruction: H'FFFD
⎯ Decoding of an instruction that modifies PC in a delay slot
Instructions that modify PC: JMP, JSR, BRA, BRAF, BSR, BSRF, RTS, RTE, BT, BF,
BT/S, BF/S, TRAPA, LDC Rm,SR, LDC.L @Rm+,SR, ICBI, PREFI
⎯ Decoding in user mode of a privileged instruction in a delay slot
Privileged instructions: LDC, STC, RTE, LDTLB, SLEEP, but excluding LDC/STC
instructions that access GBR
⎯ Decoding of a PC-relative MOV instruction or MOVA instruction in a delay slot
⎯ The BRDSSLP bit in EXPMASK is 0, and the SLEEP instruction in the delay slot is
executed.
⎯ The RTEDS bit in EXPMASK is 0, and an instruction other than the NOP instruction in the
delay slot is executed.
• Transition address: VBR + H'000 0100
• Transition operations:
The PC contents for the preceding delayed branch instruction are saved in SPC. The SR and
R15 contents when this exception occurred are saved in SSR and SGR.
Exception code H'1A0 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100. Operation is not guaranteed if an undefined code other
than H'FFFD is decoded.
Slot_illegal_instruction_exception()
{
SPC = PC - 2;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 01A0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 115 of 1658
REJ09B0261-0100
5. Exception Handling
(11) General FPU Disable Exception
• Source: Decoding of an FPU instruction* not in a delay slot with SR.FD = 1
• Transition address: VBR + H'00000100
• Transition operations:
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR. The R15 contents at this time are saved in SGR.
Exception code H'800 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100.
Note: * FPU instructions are instructions in which the first 4 bits of the instruction code are F
(but excluding undefined instruction H'FFFD), and the LDS, STS, LDS.L, and STS.L
instructions corresponding to FPUL and FPSCR.
General_fpu_disable_exception()
{
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 0800;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 116 of 1658
REJ09B0261-0100
5. Exception Handling
(12) Slot FPU Disable Exception
• Source: Decoding of an FPU instruction in a delay slot with SR.FD =1
• Transition address: VBR + H'00000100
• Transition operations:
The PC contents for the preceding delayed branch instruction are saved in SPC. The SR and
R15 contents when this exception occurred are saved in SSR and SGR.
Exception code H'820 is set in EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0100.
Slot_fpu_disable_exception()
{
SPC = PC - 2;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 0820;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 117 of 1658
REJ09B0261-0100
5. Exception Handling
(13) Pre-Execution User Break/Post-Execution User Break
• Source: Fulfilling of a break condition set in the user break controller
• Transition address: VBR + H'00000100, or DBR
• Transition operations:
In the case of a post-execution break, the PC contents for the instruction following the
instruction at which the breakpoint is set are set in SPC. In the case of a pre-execution break,
the PC contents for the instruction at which the breakpoint is set are set in SPC.
The SR and R15 contents when the break occurred are saved in SSR and SGR. Exception code
H'1E0 is set in EXPEVT.
The BL, MD, and RB bits are set to 1 in SR, and a branch is made to PC = VBR + H'0100. It is
also possible to branch to PC = DBR.
For details of PC, etc., when a data break is set, see section 29, User Break Controller (UBC).
User_break_exception()
{
SPC = (pre_execution break? PC : PC + 2);
SSR = SR;
SGR = R15;
EXPEVT = H'0000 01E0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = (BRCR.UBDE==1 ? DBR : VBR + H′0000 0100);
}
Rev.1.00 Jan. 10, 2008 Page 118 of 1658
REJ09B0261-0100
5. Exception Handling
(14) FPU Exception
• Source: Exception due to execution of a floating-point operation
• Transition address: VBR + H'00000100
• Transition operations:
The PC and SR contents for the instruction at which this exception occurred are saved in SPC
and SSR . The R15 contents at this time are saved in SGR. Exception code H'120 is set in
EXPEVT. The BL, MD, and RB bits are set to 1 in SR, and a branch is made to PC = VBR +
H'0100.
FPU_exception()
{
SPC = PC;
SSR = SR;
SGR = R15;
EXPEVT = H'0000 0120;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
PC = VBR + H'0000 0100;
}
Rev.1.00 Jan. 10, 2008 Page 119 of 1658
REJ09B0261-0100
5. Exception Handling
5.6.3
(1)
Interrupts
NMI (Nonmaskable Interrupt)
• Source: NMI pin edge detection
• Transition address: VBR + H'00000600
• Transition operations:
The PC and SR contents for the instruction immediately after this exception is accepted are
saved in SPC and SSR. The R15 contents at this time are saved in SGR.
Exception code H'1C0 is set in INTEVT. The BL, MD, and RB bits are set to 1 in SR, and a
branch is made to PC = VBR + H'0600. When the BL bit in SR is 0, this interrupt is not
masked by the interrupt mask bits in SR, and is accepted at the highest priority level. When the
BL bit in SR is 1, a software setting can specify whether this interrupt is to be masked or
accepted. When the INTMU bit in CPUOPM is 1 and the NMI interrupt is accessed, B'1111 is
set to IMASK bit in SR. For details, see section 10, Interrupt Controller (INTC).
NMI()
{
SPC = PC;
SSR = SR;
SGR = R15;
INTEVT = H'0000 01C0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
If (cond) SR.IMASK = B'1111;
PC = VBR + H'0000 0600;
}
(2)
General Interrupt Request
• Source: The interrupt mask level bits setting in SR is smaller than the interrupt level of
interrupt request, and the BL bit in SR is 0 (accepted at instruction boundary).
• Transition address: VBR + H'00000600
• Transition operations:
The PC contents immediately after the instruction at which the interrupt is accepted are set in
SPC. The SR and R15 contents at the time of acceptance are set in SSR and SGR.
Rev.1.00 Jan. 10, 2008 Page 120 of 1658
REJ09B0261-0100
5. Exception Handling
The code corresponding to the each interrupt source is set in INTEVT. The BL, MD, and RB
bits are set to 1 in SR, and a branch is made to VBR + H'0600. When the INTMU bit in
CPUOPM is 1, IMASK bit in SR is changed to accepted interrupt level. For details, see section
10, Interrupt Controller (INTC).
Module_interruption()
{
SPC = PC;
SSR = SR;
SGR = R15;
INTEVT = H'0000 0400 ~ H'0000 3FE0;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
if (cond) SR.IMASK = level_of accepted_interrupt ();
PC = VBR + H'0000 0600;
}
5.6.4
Priority Order with Multiple Exceptions
With some instructions, such as instructions that make two accesses to memory, and the
indivisible pair comprising a delayed branch instruction and delay slot instruction, multiple
exceptions occur. Care is required in these cases, as the exception priority order differs from the
normal order.
(1)
Instructions that Make Two Accesses to Memory
With MAC instructions, memory-to-memory arithmetic/logic instructions, TAS instructions, and
MOVUA instructions, two data transfers are performed by a single instruction, and an exception
will be detected for each of these data transfers. In these cases, therefore, the following order is
used to determine priority.
1.
2.
3.
4.
5.
6.
7.
Data address error in first data transfer
TLB miss in first data transfer
TLB protection violation in first data transfer
Initial page write exception in first data transfer
Data address error in second data transfer
TLB miss in second data transfer
TLB protection violation in second data transfer
Rev.1.00 Jan. 10, 2008 Page 121 of 1658
REJ09B0261-0100
5. Exception Handling
8. Initial page write exception in second data transfer
(2)
Indivisible Delayed Branch Instruction and Delay Slot Instruction
As a delayed branch instruction and its associated delay slot instruction are indivisible, they are
treated as a single instruction. Consequently, the priority order for exceptions that occur in these
instructions differs from the usual priority order. The priority order shown below is for the case
where the delay slot instruction has only one data transfer.
1. A check is performed for the interrupt type and re-execution type exceptions of priority levels
1 and 2 in the delayed branch instruction.
2. A check is performed for the interrupt type and re-execution type exceptions of priority levels
1 and 2 in the delay slot instruction.
3. A check is performed for the completion type exception of priority level 2 in the delayed
branch instruction.
4. A check is performed for the completion type exception of priority level 2 in the delay slot
instruction.
5. A check is performed for priority level 3 in the delayed branch instruction and priority level 3
in the delay slot instruction. (There is no priority ranking between these two.)
6. A check is performed for priority level 4 in the delayed branch instruction and priority level 4
in the delay slot instruction. (There is no priority ranking between these two.)
If the delay slot instruction has a second data transfer, two checks are performed in step 2, as in
the above case (Instructions that make two accesses to memory).
If the accepted exception (the highest-priority exception) is a delay slot instruction re-execution
type exception, the branch instruction PR register write operation (PC → PR operation performed
in a BSR, BSRF, or JSR instruction) is not disabled. Note that in this case, the contents of PR
register are not guaranteed.
Rev.1.00 Jan. 10, 2008 Page 122 of 1658
REJ09B0261-0100
5. Exception Handling
5.7
(1)
Usage Notes
Return from Exception Handling
A. Check the BL bit in SR with software. If SPC and SSR have been saved to memory, set
the BL bit in SR to 1 before restoring them.
B. Issue an RTE instruction. When RTE is executed, the SPC contents are saved in PC, the
SSR contents are saved in SR, and branch is made to the SPC address to return from the
exception handling routine.
(2)
If a General Exception or Interrupt Occurs When BL Bit in SR = 1
A. General exception
When a general exception other than a user break occurs, the PC value for the instruction at
which the exception occurred in SPC, and a manual reset is executed. The value in
EXPEVT at this time is H'00000020; the SSR contents are undefined.
B. Interrupt
If an ordinary interrupt occurs, the interrupt request is held pending and is accepted after
the BL bit in SR has been cleared to 0 by software. If a nonmaskable interrupt (NMI)
occurs, it can be held pending or accepted according to the setting made by software.
In sleep or standby mode, however, an interrupt is accepted even if the BL bit in SR is set
to 1.
(3)
SPC when an Exception Occurs
A. Re-execution type general exception
The PC value for the instruction at which the exception occurred is set in SPC, and the
instruction is re-executed after returning from the exception handling routine. If an
exception occurs in a delay slot instruction, however, the PC value for the delayed branch
instruction is saved in SPC regardless of whether or not the preceding delay slot instruction
condition is satisfied.
B. Completion type general exception or interrupt
The PC value for the instruction following that at which the exception occurred is set in
SPC. If an exception occurs in a branch instruction with delay slot, however, the PC value
for the branch destination is saved in SPC.
(4) RTE Instruction Delay Slot
A. The instruction in the delay slot of the RTE instruction is executed only after the value
saved in SSR has been restored to SR. The acceptance of the exception related to the
instruction access is determined depending on SR before restoring, while the acceptance of
Rev.1.00 Jan. 10, 2008 Page 123 of 1658
REJ09B0261-0100
5. Exception Handling
other exceptions is determined depending on the processing mode by SR after restoring or
the BL bit. The completion type exception is accepted before branching to the destination
of RTE instruction. However, if the re-execution type exception is occurred, the operation
cannot be guaranteed.
B. The user break is not accepted by the instruction in the delay slot of the RTE instruction.
(5)
Changing the SR Register Value and Accepting Exception
A. When the MD or BL bit in the SR register is changed by the LDC instruction, the
acceptance of the exception is determined by the changed SR value, starting from the next
instruction.* In the completion type exception, an exception is accepted after the next
instruction has been executed. However, an interrupt of completion type exception is
accepted before the next instruction is executed.
Note: * When the LDC instruction for SR is executed, following instructions are fetched again
and the instruction fetch exception is evaluated again by the changed SR.
Rev.1.00 Jan. 10, 2008 Page 124 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
Section 6 Floating-Point Unit (FPU)
6.1
Features
The FPU has the following features.
• Conforms to IEEE754 standard
• 32 single-precision floating-point registers (can also be referenced as 16 double-precision
registers)
• Two rounding modes: Round to Nearest and Round to Zero
• Two denormalization modes: Flush to Zero and Treat Denormalized Number
• Six exception sources: FPU Error, Invalid Operation, Divide By Zero, Overflow, Underflow,
and Inexact
• Comprehensive instructions: Single-precision, double-precision, graphics support, and system
control
• In the SH-4A, the following three instructions are added on to the instruction set of the SH-4
FSRRA, FSCA, and FPCHG
When the FD bit in SR is set to 1, the FPU cannot be used, and an attempt to execute an FPU
instruction will cause an FPU disable exception (general FPU disable exception or slot FPU
disable exception).
Rev.1.00 Jan. 10, 2008 Page 125 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.2
Data Formats
6.2.1
Floating-Point Format
A floating-point number consists of the following three fields:
• Sign bit (s)
• Exponent field (e)
• Fraction field (f)
This LSI can handle single-precision and double-precision floating-point numbers, using the
formats shown in figures 6.1 and 6.2.
31 30
s
23 22
e
0
f
Figure 6.1 Format of Single-Precision Floating-Point Number
63
62
s
52
51
e
0
f
Figure 6.2 Format of Double-Precision Floating-Point Number
The exponent is expressed in biased form, as follows:
e = E + bias
The range of unbiased exponent E is Emin – 1 to Emax + 1. The two values Emin – 1 and Emax + 1 are
distinguished as follows. Emin – 1 indicates zero (both positive and negative sign) and a
denormalized number, and Emax + 1 indicates positive or negative infinity or a non-number (NaN).
Table 6.1 shows floating-point formats and parameters.
Rev.1.00 Jan. 10, 2008 Page 126 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
Table 6.1
Floating-Point Number Formats and Parameters
Parameter
Single-Precision
Double-Precision
Total bit width
32 bits
64 bits
Sign bit
1 bit
1 bit
Exponent field
8 bits
11 bits
Fraction field
23 bits
52 bits
Precision
24 bits
53 bits
Bias
+127
+1023
Emax
+127
+1023
Emin
–126
–1022
Floating-point number value v is determined as follows:
If E = Emax + 1 and f ≠ 0, v is a non-number (NaN) irrespective of sign s
If E = Emax + 1 and f = 0, v = (–1)s (infinity) [positive or negative infinity]
If Emin ≤ E ≤ Emax , v = (–1)s2E (1.f) [normalized number]
If E = Emin – 1 and f ≠ 0, v = (–1)s2Emin (0.f) [denormalized number]
If E = Emin – 1 and f = 0, v = (–1)s0 [positive or negative zero]
Table 6.2 shows the ranges of the various numbers in hexadecimal notation. For the signaling nonnumber and quiet non-number, see section 6.2.2, Non-Numbers (NaN). For the denormalized
number, see section 6.2.3, Denormalized Numbers.
Rev.1.00 Jan. 10, 2008 Page 127 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
Table 6.2
Floating-Point Ranges
Type
Single-Precision
Double-Precision
Signaling non-number
H'7FFF FFFF to H'7FC0 0000
H'7FFF FFFF FFFF FFFF to
H'7FF8 0000 0000 0000
Quiet non-number
H'7FBF FFFF to H'7F80 0001
H'7FF7 FFFF FFFF FFFF to
H'7FF0 0000 0000 0001
Positive infinity
H'7F80 0000
H'7FF0 0000 0000 0000
Positive normalized
number
H'7F7F FFFF to H'0080 0000
H'7FEF FFFF FFFF FFFF to
H'0010 0000 0000 0000
Positive denormalized
number
H'007F FFFF to H'0000 0001
H'000F FFFF FFFF FFFF to
H'0000 0000 0000 0001
Positive zero
H'0000 0000
H'0000 0000 0000 0000
Negative zero
H'8000 0000
H'8000 0000 0000 0000
Negative denormalized
number
H'8000 0001 to H'807F FFFF
H'8000 0000 0000 0001 to
H'800F FFFF FFFF FFFF
Negative normalized
number
H'8080 0000 to H'FF7F FFFF
H'8010 0000 0000 0000 to
H'FFEF FFFF FFFF FFFF
Negative infinity
H'FF80 0000
H'FFF0 0000 0000 0000
Quiet non-number
H'FF80 0001 to H'FFBF FFFF
H'FFF0 0000 0000 0001 to
H'FFF7 FFFF FFFF FFFF
Signaling non-number
H'FFC0 0000 to H'FFFF FFFF
H'FFF8 0000 0000 0000 to
H'FFFF FFFF FFFF FFFF
Rev.1.00 Jan. 10, 2008 Page 128 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.2.2
Non-Numbers (NaN)
Figure 6.3 shows the bit pattern of a non-number (NaN). A value is NaN in the following case:
• Sign bit: Don't care
• Exponent field: All bits are 1
• Fraction field: At least one bit is 1
The NaN is a signaling NaN (sNaN) if the MSB of the fraction field is 1, and a quiet NaN (qNaN)
if the MSB is 0.
31 30
x
23 22
11111111
0
Nxxxxxxxxxxxxxxxxxxxxxx
N = 1:sNaN
N = 0:qNaN
Figure 6.3 Single-Precision NaN Bit Pattern
An sNaN is assumed to be the input data in an operation, except the transfer instructions between
registers, FABS, and FNEG, that generates a floating-point value.
• When the EN.V bit in FPSCR is 0, the operation result (output) is a qNaN.
• When the EN.V bit in FPSCR is 1, an invalid operation exception will be generated. In this
case, the contents of the operation destination register are unchanged.
Following three instructions are used as transfer instructions between registers.
• FMOV FRm,FRn
• FLDS FRm,FPUL
• FSTS FPUL,FRn
If a qNaN is input in an operation that generates a floating-point value, and an sNaN has not been
input in that operation, the output will always be a qNaN irrespective of the setting of the EN.V bit
in FPSCR. An exception will not be generated in this case.
The qNAN values as operation results are as follows:
• Single-precision qNaN: H'7FBF FFFF
• Double-precision qNaN: H'7FF7 FFFF FFFF FFFF
Rev.1.00 Jan. 10, 2008 Page 129 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
See section 10, Instruction Descriptions of the SH-4A Extended Functions Software Manual for
details of floating-point operations when a non-number (NaN) is input.
6.2.3
Denormalized Numbers
For a denormalized number floating-point value, the exponent field is expressed as 0, and the
fraction field as a non-zero value.
When the DN bit in FPSCR of the FPU is 1, a denormalized number (source operand or operation
result) is always positive or negative zero in a floating-point operation that generates a value (an
operation other than transfer instructions between registers, FNEG, or FABS).
When the DN bit in FPSCR is 0, a denormalized number (source operand or operation result) is
processed as it is. See section 10, Instruction Descriptions of the SH-4A Extended Functions
Software Manual for details of floating-point operations when a denormalized number is input.
Rev.1.00 Jan. 10, 2008 Page 130 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.3
Register Descriptions
6.3.1
Floating-Point Registers
Figure 6.4 shows the floating-point register configuration. There are thirty-two 32-bit floatingpoint registers comprised with two banks: FPR0_BANK0 to FPR15_BANK0, and FPR0_BANK1
to FPR15_BANK1. These thirty-two registers are referenced as FR0 to FR15,
DR0/2/4/6/8/10/12/14, FV0/4/8/12, XF0 to XF15, XD0/2/4/6/8/10/12/14, and XMTRX.
Corresponding registers to FPR0_BANK0 to FPR15_BANK0, and FPR0_BANK1 to
FPR15_BANK1 are determined according to the FR bit of FPSCR.
1. Floating-point registers, FPRi_BANKj (32 registers)
FPR0_BANK0 to FPR15_BANK0
FPR0_BANK1 to FPR15_BANK1
2. Single-precision floating-point registers, FRi (16 registers)
When FPSCR.FR = 0, FR0 to FR15 are allocated to FPR0_BANK0 to FPR15_BANK0;
when FPSCR.FR = 1, FR0 to FR15 are allocated to FPR0_BANK1 to FPR15_BANK1.
3. Double-precision floating-point registers, DRi (8 registers): A DR register comprises two FR
registers.
DR0 = {FR0, FR1}, DR2 = {FR2, FR3}, DR4 = {FR4, FR5}, DR6 = {FR6, FR7},
DR8 = {FR8, FR9}, DR10 = {FR10, FR11}, DR12 = {FR12, FR13}, DR14 = {FR14, FR15}
4. Single-precision floating-point vector registers, FVi (4 registers): An FV register comprises
four FR registers.
FV0 = {FR0, FR1, FR2, FR3}, FV4 = {FR4, FR5, FR6, FR7},
FV8 = {FR8, FR9, FR10, FR11}, FV12 = {FR12, FR13, FR14, FR15}
5. Single-precision floating-point extended registers, XFi (16 registers)
When FPSCR.FR = 0, XF0 to XF15 are allocated to FPR0_BANK1 to FPR15_BANK1;
when FPSCR.FR = 1, XF0 to XF15 are allocated to FPR0_BANK0 to FPR15_BANK0.
6. Double-precision floating-point extended registers, XDi (8 registers): An XD register
comprises two XF registers.
XD0 = {XF0, XF1}, XD2 = {XF2, XF3}, XD4 = {XF4, XF5}, XD6 = {XF6, XF7},
XD8 = {XF8, XF9}, XD10 = {XF10, XF11}, XD12 = {XF12, XF13}, XD14 = {XF14, XF15}
Rev.1.00 Jan. 10, 2008 Page 131 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
7. Single-precision floating-point extended register matrix, XMTRX: XMTRX comprises all 16
XF registers.
XMTRX =
XF0
XF1
XF2
XF3
XF4
XF5
XF6
XF7
XF8
XF9
XF10
XF11
XF12
XF13
XF14
XF15
FPSCR.FR = 0
FV0
DR0
DR2
FV4
DR4
DR6
FV8
DR8
DR10
FV12
DR12
DR14
XMTRX
XD0
XD2
XD4
XD6
XD8
XD10
XD12
XD14
FPSCR.FR = 1
FR0
FR1
FR2
FR3
FR4
FR5
FR6
FR7
FR8
FR9
FR10
FR11
FR12
FR13
FR14
FR15
FPR0 BANK0
FPR1 BANK0
FPR2 BANK0
FPR3 BANK0
FPR4 BANK0
FPR5 BANK0
FPR6 BANK0
FPR7 BANK0
FPR8 BANK0
FPR9 BANK0
FPR10 BANK0
FPR11 BANK0
FPR12 BANK0
FPR13 BANK0
FPR14 BANK0
FPR15 BANK0
XF0
XF1
XF2
XF3
XF4
XF5
XF6
XF7
XF8
XF9
XF10
XF11
XF12
XF13
XF14
XF15
FPR0 BANK1
FPR1 BANK1
FPR2 BANK1
FPR3 BANK1
FPR4 BANK1
FPR5 BANK1
FPR6 BANK1
FPR7 BANK1
FPR8 BANK1
FPR9 BANK1
FPR10 BANK1
FPR11 BANK1
FPR12 BANK1
FPR13 BANK1
FPR14 BANK1
FPR15 BANK1
XF0
XF1
XF2
XF3
XF4
XF5
XF6
XF7
XF8
XF9
XF10
XF11
XF12
XF13
XF14
XF15
FR0
FR1
FR2
FR3
FR4
FR5
FR6
FR7
FR8
FR9
FR10
FR11
FR12
FR13
FR14
FR15
Figure 6.4 Floating-Point Registers
Rev.1.00 Jan. 10, 2008 Page 132 of 1658
REJ09B0261-0100
XD0
XMTRX
XD2
XD4
XD6
XD8
XD10
XD12
XD14
DR0
FV0
DR2
DR4
FV4
DR6
DR8
FV8
DR10
DR12
DR14
FV12
6. Floating-Point Unit (FPU)
6.3.2
Floating-Point Status/Control Register (FPSCR)
bit:
Initial value:
R/W:
31
30
29
28
27
26
0
R
0
R
0
R
0
R
0
R
0
R
bit: 15
14
13
12
11
10
Cause
Initial value: 0
R/W: R/W
0
R/W
0
R/W
25
24
23
22
21
20
19
18
FR
SZ
PR
DN
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R/W
9
8
7
6
5
Enable (EN)
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Flag
0
R/W
0
R/W
0
R/W
0
R/W
17
16
Cause
RM
0
R/W
0
R/W
0
R/W
1
R/W
Initial
Value
R/W
Description
31 to 22 —
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
21
FR
0
R/W
Floating-Point Register Bank
0: FPR0_BANK0 to FPR15_BANK0 are assigned to
FR0 to FR15 and FPR0_BANK1 to FPR15_BANK1
are assigned to XF0 to XF15
1: FPR0_BANK0 to FPR15_BANK0 are assigned to
XF0 to XF15 and FPR0_BANK1 to FPR15_BANK1
are assigned to FR0 to FR15
20
SZ
0
R/W
Transfer Size Mode
0: Data size of FMOV instruction is 32-bits
1: Data size of FMOV instruction is a 32-bit register
pair (64 bits)
For relations between endian and the SZ and PR bits,
see figure 6.5.
19
PR
0
R/W
Precision Mode
0: Floating-point instructions are executed as
single-precision operations
1: Floating-point instructions are executed as
double-precision operations (graphics support
instructions are undefined)
For relations between endian and the SZ and PR bits,
see figure 6.5.
18
DN
1
R/W
Denormalization Mode
0: Denormalized number is treated as such
1: Denormalized number is treated as zero
Bit
Bit Name
Rev.1.00 Jan. 10, 2008 Page 133 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
Initial
Value
R/W
Description
17 to 12 Cause
All 0
R/W
11 to 7
Enable
All 0
R/W
6 to 2
Flag
All 0
R/W
FPU Exception Cause Field
FPU Exception Enable Field
FPU Exception Flag Field
Each time an FPU operation instruction is executed, the
FPU exception cause field is cleared to 0. When an
FPU exception occurs, the bits corresponding to FPU
exception cause field and flag field are set to 1. The
FPU exception flag field remains set to 1 until it is
cleared to 0 by software.
For bit allocations of each field, see table 6.3.
1
RM1
0
R/W
0
RM0
1
R/W
Bit
Bit Name
Rev.1.00 Jan. 10, 2008 Page 134 of 1658
REJ09B0261-0100
Rounding Mode
These bits select the rounding mode.
00: Round to Nearest
01: Round to Zero
10: Reserved
11: Reserved
6. Floating-Point Unit (FPU)
63
0
Floating-point register
DR (2i)
63
0
FR (2i)
63
FR (2i+1)
32 31
0
Memory area
8n
8n+3
8n+4
8n+7
63
0
Floating-point register
63
0
DR (2i)
0
63
FR (2i+1)
32 31
63
0
DR (2i)
*2
*1, *2
63
FR (2i)
63
DR (2i)
0
FR (2i)
0
63
4m
8n+3
63
FR (2i+1)
32 31
0
FR (2i)
FR (2i+1)
0
63
32 31
0
8n+4
8n+7
8n+4 8n+3
8n
Memory area
4n+3
4n 4m+3
(1) SZ = 0
8n 8n+7
(2) SZ = 1, PR = 0
(3) SZ = 1, PR = 1
Notes: 1. In the case of SZ = 0 and PR = 0, DR register can not be used.
2. The bit-location of DR register is used for double precision format when PR = 1.
(In the case of (2), it is used when PR is changed from 0 to 1.)
Figure 6.5 Relation between SZ Bit and Endian
Rev.1.00 Jan. 10, 2008 Page 135 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
Table 6.3
Bit Allocation for FPU Exception Handling
Field Name
FPU
Error (E)
Invalid
Operation (V)
Division
by Zero (Z)
Overflow
(O)
Underflo
w (U)
Inexact
(I)
Cause
FPU exception
cause field
Bit 17
Bit 16
Bit 15
Bit 14
Bit 13
Bit 12
Enable
FPU exception
enable field
None
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Flag
FPU exception
flag field
None
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
6.3.3
Floating-Point Communication Register (FPUL)
Information is transferred between the FPU and CPU via FPUL. FPUL is a 32-bit system register
that is accessed from the CPU side by means of LDS and STS instructions. For example, to
convert the integer stored in general register R1 to a single-precision floating-point number, the
processing flow is as follows:
R1 → (LDS instruction) → FPUL → (single-precision FLOAT instruction) → FR1
Rev.1.00 Jan. 10, 2008 Page 136 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.4
Rounding
In a floating-point instruction, rounding is performed when generating the final operation result
from the intermediate result. Therefore, the result of combination instructions such as FMAC,
FTRV, and FIPR will differ from the result when using a basic instruction such as FADD, FSUB,
or FMUL. Rounding is performed once in FMAC, but twice in FADD, FSUB, and FMUL.
Which of the two rounding methods is to be used is determined by the RM bits in FPSCR.
FPSCR.RM[1:0] = 00: Round to Nearest
FPSCR.RM[1:0] = 01: Round to Zero
(1)
Round to Nearest
The operation result is rounded to the nearest expressible value. If there are two nearest
expressible values, the one with an LSB of 0 is selected.
If the unrounded value is 2Emax (2 – 2–P) or more, the result will be infinity with the same sign as the
unrounded value. The values of Emax and P, respectively, are 127 and 24 for single-precision, and
1023 and 53 for double-precision.
(2)
Round to Zero
The digits below the round bit of the unrounded value are discarded.
If the unrounded value is larger than the maximum expressible absolute value, the value will
become the maximum expressible absolute value with the same sign as unrounded value.
Rev.1.00 Jan. 10, 2008 Page 137 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.5
Floating-Point Exceptions
6.5.1
General FPU Disable Exceptions and Slot FPU Disable Exceptions
FPU-related exceptions are occurred when an FPU instruction is executed with SR.FD set to 1.
When the FPU instruction is in other than delayed slot, the general FPU disable exception is
occurred. When the FPU instruction is in the delay slot, the slot FPU disable exception is
occurred.
6.5.2
FPU Exception Sources
The exception sources are as follows:
•
•
•
•
•
•
FPU error (E): When FPSCR.DN = 0 and a denormalized number is input
Invalid operation (V): In case of an invalid operation, such as NaN input
Division by zero (Z): Division with a zero divisor
Overflow (O): When the operation result overflows
Underflow (U): When the operation result underflows
Inexact exception (I): When overflow, underflow, or rounding occurs
The FPU exception cause field in FPSCR contains bits corresponding to all of above sources E, V,
Z, O, U, and I, and the FPU exception flag and enable fields in FPSCR contain bits corresponding
to sources V, Z, O, U, and I, but not E. Thus, FPU errors cannot be disabled.
When an FPU exception occurs, the corresponding bit in the FPU exception cause field is set to 1,
and 1 is added to the corresponding bit in the FPU exception flag field. When an FPU exception
does not occur, the corresponding bit in the FPU exception cause field is cleared to 0, but the
corresponding bit in the FPU exception flag field remains unchanged.
Rev.1.00 Jan. 10, 2008 Page 138 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.5.3
FPU Exception Handling
FPU exception handling is initiated in the following cases:
• FPU error (E): FPSCR.DN = 0 and a denormalized number is input
• Invalid operation (V): FPSCR.Enable.V = 1 and (instruction = FTRV or invalid operation)
• Division by zero (Z): FPSCR.Enable.Z = 1 and division with a zero divisor or the input of
FSRRA is zero
• Overflow (O): FPSCR.Enable.O = 1 and possibility of operation result overflow
• Underflow (U): FPSCR.Enable.U = 1 and possibility of operation result underflow
• Inexact exception (I): FPSCR.Enable.I = 1 and instruction with possibility of inexact operation
result
Please refer section 11, Instruction Descriptions of the SH-4A Extended Functions Software
Manual about the FPU exception case in detail.
All exception events that originate in the FPU are assigned as the same exception event. The
meaning of an exception is determined by software by reading from FPSCR and interpreting the
information it contains. Also, the destination register is not changed by any FPU exception
handling operation.
If the FPU exception sources except for above are generated, the bit corresponding to source V, Z,
O, U, or I is set to 1, and a default value is generated as the operation result.
• Invalid operation (V): qNaN is generated as the result.
• Division by zero (Z): Infinity with the same sign as the unrounded value is generated.
• Overflow (O):
When rounding mode = RZ, the maximum normalized number, with the same sign as the
unrounded value, is generated.
When rounding mode = RN, infinity with the same sign as the unrounded value is generated.
• Underflow (U):
When FPSCR.DN = 0, a denormalized number with the same sign as the unrounded value, or
zero with the same sign as the unrounded value, is generated.
When FPSCR.DN = 1, zero with the same sign as the unrounded value, is generated.
• Inexact exception (I): An inexact result is generated.
Rev.1.00 Jan. 10, 2008 Page 139 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
6.6
Graphics Support Functions
This LSI supports two kinds of graphics functions: new instructions for geometric operations, and
pair single-precision transfer instructions that enable high-speed data transfer.
6.6.1
Geometric Operation Instructions
Geometric operation instructions perform approximate-value computations. To enable high-speed
computation with a minimum of hardware, this LSI ignores comparatively small values in the
partial computation results of four multiplications. Consequently, the error shown below is
produced in the result of the computation:
Maximum error = MAX (individual multiplication result ×
2–MIN (number of multiplier significant digits–1, number of multiplicand significant digits–1)) + MAX (result value × 2–23, 2–149)
The number of significant digits is 24 for a normalized number and 23 for a denormalized number
(number of leading zeros in the fractional part).
In a future version of the SH Series, the above error is guaranteed, but the same result between
different processor cores is not guaranteed.
(1)
FIPR FVm, FVn (m, n: 0, 4, 8, 12)
This instruction is basically used for the following purposes:
• Inner product (m ≠ n):
This operation is generally used for surface/rear surface determination for polygon surfaces.
• Sum of square of elements (m = n):
This operation is generally used to find the length of a vector.
Since an inexact exception is not detected by an FIPR instruction, the inexact exception (I) bit in
both the FPU exception cause field and flag field are always set to 1 when an FIPR instruction is
executed. Therefore, if the I bit is set in the FPU exception enable field, FPU exception handling
will be executed.
Rev.1.00 Jan. 10, 2008 Page 140 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
(2)
FTRV XMTRX, FVn (n: 0, 4, 8, 12)
This instruction is basically used for the following purposes:
• Matrix (4 × 4) ⋅ vector (4):
This operation is generally used for viewpoint changes, angle changes, or movements called
vector transformations (4-dimensional). Since affine transformation processing for angle +
parallel movement basically requires a 4 × 4 matrix, this LSI supports 4-dimensional
operations.
• Matrix (4 × 4) × matrix (4 × 4):
This operation requires the execution of four FTRV instructions.
Since an inexact exception is not detected by an FIRV instruction, the inexact exception (I) bit in
both the FPU exception cause field and flag field are always set to 1 when an FTRV instruction is
executed. Therefore, if the I bit is set in the FPU exception enable field, FPU exception handling
will be executed. It is not possible to check all data types in the registers beforehand when
executing an FTRV instruction. If the V bit is set in the FPU exception enable field, FPU
exception handling will be executed.
(3)
FRCHG
This instruction modifies banked registers. For example, when the FTRV instruction is executed,
matrix elements must be set in an array in the background bank. However, to create the actual
elements of a translation matrix, it is easier to use registers in the foreground bank. When the LDS
instruction is used on FPSCR, this instruction takes four to five cycles in order to maintain the
FPU state. With the FRCHG instruction, the FR bit in FPSCR can be changed in one cycle.
6.6.2
Pair Single-Precision Data Transfer
In addition to the powerful new geometric operation instructions, this LSI also supports highspeed data transfer instructions.
When the SZ bit is 1, this LSI can perform data transfer by means of pair single-precision data
transfer instructions.
• FMOV DRm/XDm, DRn/XDRn (m, n: 0, 2, 4, 6, 8, 10, 12, 14)
• FMOV DRm/XDm, @Rn (m: 0, 2, 4, 6, 8, 10, 12, 14; n: 0 to 15)
These instructions enable two single-precision (2 × 32-bit) data items to be transferred; that is, the
transfer performance of these instructions is doubled.
• FSCHG
Rev.1.00 Jan. 10, 2008 Page 141 of 1658
REJ09B0261-0100
6. Floating-Point Unit (FPU)
This instruction changes the value of the SZ bit in FPSCR, enabling fast switching between use
and non-use of pair single-precision data transfer.
Rev.1.00 Jan. 10, 2008 Page 142 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Section 7 Memory Management Unit (MMU)
This LSI supports an 8-bit address space identifier, a 32-bit virtual address space, and a 29-bit or
32-bit physical address space. Address translation from virtual addresses to physical addresses is
enabled by the memory management unit (MMU) in this LSI. The MMU performs high-speed
address translation by caching user-created address translation table information in an address
translation buffer (translation lookaside buffer: TLB).
This LSI has four instruction TLB (ITLB) entries and 64 unified TLB (UTLB) entries. UTLB
copies are stored in the ITLB by hardware. A paging system is used for address translation. It is
possible to set the virtual address space access right and implement memory protection
independently for privileged mode and user mode.
The MMU of this LSI runs in several operating modes. In view of physical address mapping
ranges, 29-bit address mode and 32-bit address extended mode are provided. In view of flag
functions of the MMU, TLB compatible mode (four paging sizes with four protection bits) and
TLB extended mode (eight paging sizes with six protection bits) are provided.
Selection between 29-bit address mode and 32-bit address extended mode is made by setting the
relevant control register (bit SE in the PASCR register) by software. This LSI supports 32-bit boot
mode (the system starts up in 32-bit address extended mode at power-on reset), which is specified
through external pins.
Selection between TLB compatible mode and TLB extended mode is made by setting the relevant
control register (bit ME in the MMUCR register) by software. The range of physical address
mapping is explained through sections 7.1, Overview of MMU, to 7.7, Memory-Mapped TLB
Configuration, for the case of 29-bit address mode, which is followed by section 7.8, 32-Bit
Address Extended Mode, where differences from 29-bit address mode are explained.
The flag functions of the MMU are explained in parallel for both TLB compatible mode and TLB
extended mode.
Rev.1.00 Jan. 10, 2008 Page 143 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.1
Overview of MMU
The MMU was conceived as a means of making efficient use of physical memory. As shown in
(0) in figure 7.1, when a process is smaller in size than the physical memory, the entire process
can be mapped onto physical memory, but if the process increases in size to the point where it
does not fit into physical memory, it becomes necessary to divide the process into smaller parts,
and map the parts requiring execution onto physical memory as occasion arises ((1) in figure 7.1).
Having this mapping onto physical memory executed consciously by the process itself imposes a
heavy burden on the process. The virtual memory system was devised as a means of handling all
physical memory mapping to reduce this burden ((2) in figure 7.1). With a virtual memory system,
the size of the available virtual memory is much larger than the actual physical memory, and
processes are mapped onto this virtual memory. Thus processes only have to consider their
operation in virtual memory, and mapping from virtual memory to physical memory is handled by
the MMU. The MMU is normally managed by the OS, and physical memory switching is carried
out so as to enable the virtual memory required by a process to be mapped smoothly onto physical
memory. Physical memory switching is performed via secondary storage, etc.
The virtual memory system that came into being in this way works to best effect in a time sharing
system (TSS) that allows a number of processes to run simultaneously ((3) in figure 7.1). Running
a number of processes in a TSS did not increase efficiency since each process had to take account
of physical memory mapping. Efficiency is improved and the load on each process reduced by the
use of a virtual memory system ((4) in figure 7.1). In this virtual memory system, virtual memory
is allocated to each process. The task of the MMU is to map a number of virtual memory areas
onto physical memory in an efficient manner. It is also provided with memory protection functions
to prevent a process from inadvertently accessing another process's physical memory.
When address translation from virtual memory to physical memory is performed using the MMU,
it may happen that the translation information has not been recorded in the MMU, or the virtual
memory of a different process is accessed by mistake. In such cases, the MMU will generate an
exception, change the physical memory mapping, and record the new address translation
information.
Although the functions of the MMU could be implemented by software alone, having address
translation performed by software each time a process accessed physical memory would be very
inefficient. For this reason, a buffer for address translation (the translation lookaside buffer: TLB)
is provided by hardware, and frequently used address translation information is placed here. The
TLB can be described as a cache for address translation information. However, unlike a cache, if
address translation fails—that is, if an exception occurs—switching of the address translation
information is normally performed by software. Thus memory management can be performed in a
flexible manner by software.
Rev.1.00 Jan. 10, 2008 Page 144 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
There are two methods by which the MMU can perform mapping from virtual memory to physical
memory: the paging method, using fixed-length address translation, and the segment method,
using variable-length address translation. With the paging method, the unit of translation is a
fixed-size address space called a page.
In the following descriptions, the address space in virtual memory in this LSI is referred to as
virtual address space, and the address space in physical memory as physical address space.
Virtual
Memory
Physical
Memory
Process 1
Physical
Memory
Process 1
MMU Physical
Memory
Process 1
(0)
(1)
Process 1
Physical
Memory
(2)
Process 1
Virtual
Memory
MMU Physical
Memory
Process 2
Process 2
Process 3
Process 3
(3)
(4)
Figure 7.1 Role of MMU
Rev.1.00 Jan. 10, 2008 Page 145 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.1.1
(1)
Address Spaces
Virtual Address Space
This LSI supports a 32-bit virtual address space, and can access a 4-Gbyte address space. The
virtual address space is divided into a number of areas, as shown in figures 7.2 and 7.3. In
privileged mode, the 4-Gbyte space from the P0 area to the P4 area can be accessed. In user mode,
a 2-Gbyte space in the U0 area can be accessed. When the SQMD bit in the MMU control register
(MMUCR) is 0, a 64-Mbyte space in the store queue area can be accessed. When the RMD bit in
the on-chip memory control register (RAMCR) is 1, a 16-Mbyte space in on-chip memory area
can be accessed. Accessing areas other than the U0 area, store queue area, and on-chip memory
area in user mode will cause an address error.
When the AT bit in MMUCR is set to 1 and the MMU is enabled, the P0, P3, and U0 areas can be
mapped onto any physical address space in 1-, 4-, 64-Kbyte, or 1-Mbyte page units in TLB
compatible mode and in 1-, 4-, 8-, 64-, 256-Kbyte, 1-, 4-, or 64-Mbyte page units in TLB extended
mode. By using an 8-bit address space identifier, the P0, P3, and U0 areas can be increased to a
maximum of 256. Mapping from the virtual address space to the 29-bit physical address space is
carried out using the TLB.
Physical
address space
H'0000 0000
P0 area
Cacheable
H'8000 0000
H'A000 0000
H'C000 0000
H'E000 0000
H'FFFF FFFF
Area 0
Area 1
Area 2
Area 3
Area 4
Area 5
Area 6
Area 7
H'0000 0000
U0 area
Cacheable
H'8000 0000
P1 area
Cacheable
P2 area
Non-cacheable
P3 area
Cacheable
P4 area
Non-cacheable
Privileged mode
Address error
Store queue area
H'E000 0000
H'E400 0000
H'E500 0000
On-chip memory area
H'E600 0000
Address error
H'FFFF FFFF
User mode
Address error
Figure 7.2 Virtual Address Space (AT in MMUCR = 0)
Rev.1.00 Jan. 10, 2008 Page 146 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Physical 256
address space
256
H'0000 0000
H'0000 0000
Area 0
Area 1
Area 2
P0 area
Cacheable
Address translation possible
Area 3
Area 4
Area 5
U0 area
Cacheable
Address translation possible
Area 6
Area 7
H'8000 0000
H'8000 0000
P1 area
Cacheable
H'A000 0000 Address translation not possible
P2 area
Non-cacheable
Address translation not possible
H'C000 0000
P3 area
Cacheable
Address translation possible
H'E000 0000
P4 area
Non-cacheable
H'FFFF FFFF Address translation not possible
Privileged mode
Address error
Store queue area
Address error
On-chip memory area
Address error
H'E000 0000
H'E400 0000
H'E500 0000
H'E600 0000
H'FFFF FFFF
User mode
Figure 7.3 Virtual Address Space (AT in MMUCR = 1)
(a)
P0, P3, and U0 Areas
The P0, P3, and U0 areas allow address translation using the TLB and access using the cache.
When the MMU is disabled, replacing the upper 3 bits of an address with 0s gives the
corresponding physical address. Whether or not the cache is used is determined by the CCR
setting. When the cache is used, switching between the copy-back method and the writethrough method for write accesses is specified by the WT bit in CCR.
When the MMU is enabled, these areas can be mapped onto any physical address space in 1-,
4-, 64-Kbyte, or 1-Mbyte page units in TLB compatible mode and in 1-, 4-, 8-, 64, 256-Kbyte,
1-, 4-, or 64-Mbyte page units in TLB extended mode using the TLB. When CCR is in the
cache enabled state and the C bit for the corresponding page of the TLB entry is 1, accesses
can be performed using the cache. When the cache is used, switching between the copy-back
method and the write-through method for write accesses is specified by the WT bit of the TLB
entry.
When the P0, P3, and U0 areas are mapped onto the control register area which is allocated in
the area 7 in physical address space by means of the TLB, the C bit for the corresponding page
must be cleared to 0.
Rev.1.00 Jan. 10, 2008 Page 147 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
(b)
P1 Area
The P1 area does not allow address translation using the TLB but can be accessed using the
cache.
Regardless of whether the MMU is enabled or disabled, clearing the upper 3 bits of an address
to 0 gives the corresponding physical address. Whether or not the cache is used is determined
by the CCR setting. When the cache is used, switching between the copy-back method and the
write-through method for write accesses is specified by the CB bit in CCR.
(c) P2 Area
The P2 area does not allow address translation using the TLB and access using the cache.
Regardless of whether the MMU is enabled or disabled, clearing the upper 3 bits of an address
to 0 gives the corresponding physical address.
(d) P4 Area
The P4 area is mapped onto the internal resource of this LSI. This area except the store queue
and on-chip memory areas does not allow address translation using the TLB. This area cannot
be accessed using the cache. The P4 area is shown in detail in figure 7.4.
H'E000 0000
H'E400 0000
H'E500 0000
H'E600 0000
Store queue
Reserved area
On-chip memory area
Reserved area
H'F000 0000
H'F100 0000
H'F200 0000
H'F300 0000
H'F400 0000
H'F500 0000
H'F600 0000
H'F700 0000
Instruction cache address array
Instruction cache data array
Instruction TLB address array
Instruction TLB data array
Operand cache address array
Operand cache data array
Unified TLB and PMB address array
Unified TLB and PMB data array
H'F800 0000
Reserved area
H'FC00 0000
Control register area
H'FFFF FFFF
Figure 7.4 P4 Area
Rev.1.00 Jan. 10, 2008 Page 148 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
The area from H'E000 0000 to H'E3FF FFFF comprises addresses for accessing the store queues
(SQs). In user mode, the access right is specified by the SQMD bit in MMUCR. For details, see
section 8.7, Store Queues.
The area from H'E500 0000 to H'E5FF FFFF comprises addresses for accessing the on-chip
memory. In user mode, the access right is specified by the RMD bit in RAMCR. For details, see
section 9, On-Chip Memory.
The area from H'F000 0000 to H'F0FF FFFF is used for direct access to the instruction cache
address array. For details, see section 8.6.1, IC Address Array.
The area from H'F100 0000 to H'F1FF FFFF is used for direct access to the instruction cache data
array. For details, see section 8.6.2, IC Data Array.
The area from H'F200 0000 to H'F2FF FFFF is used for direct access to the instruction TLB
address array. For details, see section 7.7.1, ITLB Address Array.
The area from H'F300 0000 to H'F37F FFFF is used for direct access to instruction TLB data
array. For details, see section 7.7.2, ITLB Data Array (TLB Compatible Mode) and section 7.7.3,
ITLB Data Array (TLB Extended Mode).
The area from H'F400 0000 to H'F4FF FFFF is used for direct access to the operand cache address
array. For details, see section 8.6.3, OC Address Array.
The area from H'F500 0000 to H'F5FF FFFF is used for direct access to the operand cache data
array. For details, see section 8.6.4, OC Data Array.
The area from H'F600 0000 to H'F60F FFFF is used for direct access to the unified TLB address
array. For details, see section 7.7.4, UTLB Address Array.
The area from H'F610 0000 to H'F61F FFFF is used for direct access to the PMB address array.
For details, see section 7.8.5, Memory-Mapped PMB Configuration.
The area from H'F700 0000 to H'F70F FFFF is used for direct access to unified TLB data array.
For details, see section 7.7.5, UTLB Data Array (TLB Compatible Mode) and 7.7.6, UTLB Data
Array (TLB Extended Mode).
The area from H'F710 0000 to H'F71F FFFF is used for direct access to the PMB data array. For
details, see section 7.8.5, Memory-Mapped PMB Configuration.
The area from H'FC00 0000 to H'FFFF FFFF is the on-chip peripheral module control register
area. For details, see register descriptions in each section of the hardware manual of the product.
Rev.1.00 Jan. 10, 2008 Page 149 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
(2)
Physical Address Space
This LSI supports a 29-bit physical address space. The physical address space is divided into eight
areas as shown in figure 7.5. Area 7 is a reserved area. For details, see section 11, Local Bus State
Controller (LBSC) section of the hardware manual of the product.
Only when area 7 in the physical address space is accessed using the TLB, addresses H'1C00 0000
to H'1FFF FFFF of area 7 are not designated as a reserved area, but are equivalent to the control
register area in the P4 area, in the virtual address space.
H'0000 0000
H'0400 0000
H'0800 0000
H'0C00 0000
H'1000 0000
H'1400 0000
H'1800 0000
H'1C00 0000
H'1FFF FFFF
Area 0
Area 1
Area 2
Area 3
Area 4
Area 5
Area 6
Area 7 (reserved area)
Figure 7.5 Physical Address Space
(3)
Address Translation
When the MMU is used, the virtual address space is divided into units called pages, and
translation to physical addresses is carried out in these page units. The address translation table in
external memory contains the physical addresses corresponding to virtual addresses and additional
information such as memory protection codes. Fast address translation is achieved by caching the
contents of the address translation table located in external memory into the TLB. In this LSI,
basically, the ITLB is used for instruction accesses and the UTLB for data accesses. In the event
of an access to an area other than the P4 area, the accessed virtual address is translated to a
physical address. If the virtual address belongs to the P1 or P2 area, the physical address is
uniquely determined without accessing the TLB. If the virtual address belongs to the P0, U0, or P3
area, the TLB is searched using the virtual address, and if the virtual address is recorded in the
TLB, a TLB hit is made and the corresponding physical address is read from the TLB. If the
accessed virtual address is not recorded in the TLB, a TLB miss exception is generated and
processing switches to the TLB miss exception handling routine. In the TLB miss exception
handling routine, the address translation table in external memory is searched, and the
corresponding physical address and page management information are recorded in the TLB. After
Rev.1.00 Jan. 10, 2008 Page 150 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
the return from the exception handling routine, the instruction which caused the TLB miss
exception is re-executed.
(4)
Single Virtual Memory Mode and Multiple Virtual Memory Mode
There are two virtual memory systems, single virtual memory and multiple virtual memory, either
of which can be selected with the SV bit in MMUCR. In the single virtual memory system, a
number of processes run simultaneously, using virtual address space on an exclusive basis, and the
physical address corresponding to a particular virtual address is uniquely determined. In the
multiple virtual memory system, a number of processes run while sharing the virtual address
space, and particular virtual addresses may be translated into different physical addresses
depending on the process. The only difference between the single virtual memory and multiple
virtual memory systems in terms of operation is in the TLB address comparison method (see
section 7.3.3, Address Translation Method).
(5)
Address Space Identifier (ASID)
In multiple virtual memory mode, an 8-bit address space identifier (ASID) is used to distinguish
between multiple processes running simultaneously while sharing the virtual address space.
Software can set the 8-bit ASID of the currently executing process in PTEH in the MMU. The
TLB does not have to be purged when processes are switched by means of ASID.
In single virtual memory mode, ASID is used to provide memory protection for multiple processes
running simultaneously while using the virtual address space on an exclusive basis.
Note: Two or more entries with the same virtual page number (VPN) but different ASID must
not be set in the TLB simultaneously in single virtual memory mode.
Rev.1.00 Jan. 10, 2008 Page 151 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.2
Register Descriptions
The following registers are related to MMU processing.
Table 7.1
Register Configuration
Register Name
Abbreviation R/W
P4 Address*
Area 7
Address*
Size
Page table entry high register
PTEH
R/W
H'FF00 0000
H'1F00 0000
32
Page table entry low register
PTEL
R/W
H'FF00 0004
H'1F00 0004
32
Translation table base register
TTB
R/W
H'FF00 0008
H'1F00 0008
32
TLB exception address register
TEA
R/W
H'FF00 000C
H'1F00 000C
32
MMU control register
MMUCR
R/W
H'FF00 0010
H'1F00 0010
32
Page table entry assistance
register
PTEA
R/W
H'FF00 0034
H'1F00 0034
32
Physical address space control
register
PASCR
R/W
H'FF00 0070
H'1F00 0070
32
Instruction re-fetch inhibit control
register
IRMCR
R/W
H'FF00 0078
H'1F00 0078
32
Note:
*
Table 7.2
These P4 addresses are for the P4 area in the virtual address space. These area 7
addresses are accessed from area 7 in the physical address space by means of the
TLB.
Register States in Each Processing State
Register Name
Abbreviation
Power-on
Reset
Manual
Reset
Sleep
Standby
Page table entry high register
PTEH
Undefined
Undefined
Retained
Retained
Page table entry low register
PTEL
Undefined
Undefined
Retained
Retained
Translation table base register
TTB
Undefined
Undefined
Retained
Retained
TLB exception address register
TEA
Undefined
Retained
Retained
Retained
MMU control register
MMUCR
H'0000 0000 H'0000 0000 Retained
Retained
Page table entry assistance
register
PTEA
H'0000 xxx0
Retained
Retained
Physical address space control
register
PASCR
H'0000 0000 H'0000 0000 Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 152 of 1658
REJ09B0261-0100
H'0000 xxx0
7. Memory Management Unit (MMU)
Register Name
Abbreviation
Power-on
Reset
Instruction re-fetch inhibit control
register
IRMCR
H'0000 0000 H'0000 0000 Retained
7.2.1
Manual
Reset
Sleep
Standby
Retained
Page Table Entry High Register (PTEH)
PTEH consists of the virtual page number (VPN) and address space identifier (ASID). When an
MMU exception or address error exception occurs, the VPN of the virtual address at which the
exception occurred is set in the VPN bit by hardware. VPN varies according to the page size, but
the VPN set by hardware when an exception occurs consists of the upper 22 bits of the virtual
address which caused the exception. VPN setting can also be carried out by software. The number
of the currently executing process is set in the ASID bit by software. ASID is not updated by
hardware. VPN and ASID are recorded in the UTLB by means of the LDTLB instruction.
After the ASID field in PTEH has been updated, execute one of the following three methods
before an access (including an instruction fetch) to the P0, P3, or U0 area that uses the updated
ASID value is performed.
1. Execute a branch using the RTE instruction. In this case, the branch destination may be the P0,
P3, or U0 area.
2. Execute the ICBI instruction for any address (including non-cacheable area).
3. If the R2 bit in IRMCR is 0 (initial value) before updating the ASID field, the specific
instruction does not need to be executed. However, note that the CPU processing performance
will be lowered because the instruction fetch is performed again for the next instruction after
the ASID field has been updated.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
R/W
1
0
R/W
R/W
VPN
Initial value:
R/W: R/W
Bit:
15
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
14
13
12
11
10
9
8
7
6
5
4
VPN
Initial value:
R/W: R/W
R/W
R/W
R/W
R/W R/W
3
2
ASID
R/W
R/W
0
R
0
R
R/W
R/W
R/W
R/W
R/W R/W
Rev.1.00 Jan. 10, 2008 Page 153 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit
Bit Name
31 to 10 VPN
Initial
Value
R/W
Description
Undefined
R/W
Virtual Page Number
9, 8
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
7 to 0
ASID
Undefined
R/W
Address Space Identifier
7.2.2
Page Table Entry Low Register (PTEL)
PTEL is used to hold the physical page number and page management information to be recorded
in the UTLB by means of the LDTLB instruction. The contents of this register are not changed
unless a software directive is issued.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
PPN
Initial value:
R/W:
0
R
0
R
0
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
V
SZ1
PR1
PR0
SZ0
C
D
SH
WT
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
PPN
Initial value:
R/W: R/W
Bit
R/W
Bit Name
31 to 29 ⎯
R/W
R/W
R/W
R/W
0
R
Initial
Value
R/W
Description
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
28 to 10 PPN
9
⎯
Undefined R/W
0
R
Physical Page Number
Reserved
For details on reading from or writing to this bit, see
description in General Precautions on Handling of
Product.
Rev.1.00 Jan. 10, 2008 Page 154 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Initial
Value
Bit
Bit Name
R/W
Description
8
V
Undefined R/W
Page Management Information
7
SZ1
Undefined R/W
6
PR1
Undefined R/W
The meaning of each bit is same as that of
corresponding bit in Common TLB (UTLB).
5
PR0
Undefined R/W
4
SZ0
Undefined R/W
3
C
Undefined R/W
2
D
Undefined R/W
1
SH
Undefined R/W
0
WT
Undefined R/W
7.2.3
Translation Table Base Register (TTB)
For details, see section 7.3, TLB Functions (TLB
Compatible Mode; MMUCR.ME = 0) and section 7.4,
TLB Functions (TLB Extended Mode; MMUCR.ME = 1).
Note:
SZ1, PR1, SZ0, and PR0 bits are valid only in
TLB compatible mode.
TTB is used to store the base address of the currently used page table, and so on. The contents of
TTB are not changed unless a software directive is issued. This register can be used freely by
software.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
TTB
Initial value:
R/W: R/W
Bit:
15
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
TTB
Initial value:
R/W: R/W
R/W
R/W
R/W
R/W
R/W
R/W R/W
Rev.1.00 Jan. 10, 2008 Page 155 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.2.4
TLB Exception Address Register (TEA)
After an MMU exception or address error exception occurs, the virtual address at which the
exception occurred is stored. The contents of this register can be changed by software.
Bit:
31
30
TEA
Initial value:
R/W: R/W
Bit:
15
7.2.5
28
27
26
25
24
23
22
21
20
19
18
17
16
Virtual address at which MMU exception or address error occurred
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
TEA
Initial value:
R/W: R/W
29
R/W
Virtual address at which MMU exception or address error occurred
R/W
R/W
R/W
R/W
R/W R/W
R/W
R/W
R/W
R/W
R/W
MMU Control Register (MMUCR)
The individual bits perform MMU settings as shown below. Therefore, MMUCR rewriting should
be performed by a program in the P1 or P2 area.
After MMUCR has been updated, execute one of the following three methods before an access
(including an instruction fetch) to the P0, P3, U0, or store queue area is performed.
1. Execute a branch using the RTE instruction. In this case, the branch destination may be the P0,
P3, or U0 area.
2. Execute the ICBI instruction for any address (including non-cacheable area).
3. If the R2 bit in IRMCR is 0 (initial value) before updating MMUCR, the specific instruction
does not need to be executed. However, note that the CPU processing performance will be
lowered because the instruction fetch is performed again for the next instruction after
MMUCR has been updated.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
MMUCR contents can be changed by software. However, the LRUI and URC bits may also be
updated by hardware.
Rev.1.00 Jan. 10, 2008 Page 156 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit:
31
30
29
28
27
26
25
24
23
22
21
LRUI
Initial value:
0
R/W: R/W
Bit:
15
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
URC
Initial value:
0
R/W: R/W
Bit
0
R/W
Bit Name
31 to 26 LRUI
0
R/W
0
R/W
20
19
18
17
16
0
R/W
0
R
0
R
1
0
0
R
AT
0
R/W
URB
0
R
0
R
9
8
SQMD SV
0
R/W
Initial
Value
R/W
000000
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
7
6
5
4
3
2
0
R
TI
0
R/W
ME
0
R/W
0
R
0
R
0
R
Description
Least Recently Used ITLB
These bits indicate the ITLB entry to be replaced. The
LRU (least recently used) method is used to decide the
ITLB entry to be replaced in the event of an ITLB miss.
The entry to be purged from the ITLB can be confirmed
using the LRUI bits.
LRUI is updated by means of the algorithm shown below.
x means that updating is not performed.
000xxx: ITLB entry 0 is used
1xx00x: ITLB entry 1 is used
x1x1x0: ITLB entry 2 is used
xx1x11: ITLB entry 3 is used
xxxxxx: Other than above
When the LRUI bit settings are as shown below, the
corresponding ITLB entry is updated by an ITLB miss.
Ensure that values for which "Setting prohibited" is
indicated below are not set at the discretion of software.
After a power-on or manual reset, the LRUI bits are
initialized to 0, and therefore a prohibited setting is never
made by a hardware update.
x means "don't care".
111xxx: ITLB entry 0 is updated
0xx11x: ITLB entry 1 is updated
x0x0x1: ITLB entry 2 is updated
xx0x00: ITLB entry 3 is updated
Other than above: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 157 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit
Bit Name
Initial
Value
R/W
Description
25, 24
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
23 to 18
URB
000000
R/W
UTLB Replace Boundary
These bits indicate the UTLB entry boundary at which
replacement is to be performed. Valid only when URB ≠
0.
17, 16
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
15 to 10
URC
000000
R/W
UTLB Replace Counter
These bits serve as a random counter for indicating the
UTLB entry for which replacement is to be performed
with an LDTLB instruction. This bit is incremented each
time the UTLB is accessed. If URB > 0, URC is cleared
to 0 when the condition URC = URB is satisfied. Also
note that if a value is written to URC by software which
results in the condition of URC > URB, incrementing is
first performed in excess of URB until URC = H'3F.
URC is not incremented by an LDTLB instruction.
9
SQMD
0
R/W
Store Queue Mode
Specifies the right of access to the store queues.
0: User/privileged access possible
1: Privileged access possible (address error exception
in case of user access)
8
SV
0
R/W
Single Virtual Memory Mode/Multiple Virtual Memory
Mode Switching
When this bit is changed, ensure that 1 is also written
to the TI bit.
0: Multiple virtual memory mode
1: Single virtual memory mode
Rev.1.00 Jan. 10, 2008 Page 158 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit
Bit Name
Initial
Value
R/W
Description
7
ME
0
R/W
TLB Extended Mode Switching
0: TLB compatible mode
1: TLB extended mode
For modifying the ME bit value, always set the TI bit to
1 to invalidate the contents of ITLB and UTLB. The
selection of TLB operating mode made by the ME bit
does not affect the functionality or operation of the
PMB.
⎯
6 to 3
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
2
TI
0
R/W
TLB Invalidate Bit
Writing 1 to this bit invalidates (clears to 0) all valid
UTLB/ITLB bits. This bit is always read as 0.
⎯
1
0
R
Reserved
For details on reading from or writing to this bit, see
description in General Precautions on Handling of
Product.
0
AT
0
R/W
Address Translation Enable Bit
These bits enable or disable the MMU.
0: MMU disabled
1: MMU enabled
MMU exceptions are not generated when the AT bit is
0. In the case of software that does not use the MMU,
the AT bit should be cleared to 0.
7.2.6
Page Table Entry Assistance Register (PTEA)
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
−
−
−
−
−
−
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
EPR
−
R/W
−
R/W
−
R/W
−
R/W
ESZ
−
R/W
−
R/W
−
R/W
−
R/W
−
R/W
−
R/W
16
Rev.1.00 Jan. 10, 2008 Page 159 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit
Initial
Bit Name Value
R/W
Description
31 to 14
⎯
R
Reserved
All 0
For details on reading/writing these bits, see General
Precautions on Handling of Product.
13 to 8
EPR
Undefined
R/W
Page Control Information
7 to 4
ESZ
Undefined
R/W
Each bit has the same function as the corresponding
bit of the unified TLB (UTLB). For details, see section
7.4, TLB Functions (TLB Extended Mode; MMUCR.ME
= 1)
3 to 0
⎯
All 0
R
Reserved
For details on reading/writing these bits, see General
Precautions on Handling of Product.
7.2.7
Physical Address Space Control Register (PASCR)
PASCR controls the operation in the physical address space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
UB
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 160 of 1658
REJ09B0261-0100
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
7. Memory Management Unit (MMU)
Bit
Bit Name
Initial
Value
R/W
Description
31 to 8
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
7 to 0
UB
H'00
R/W
Buffered Write Control for Each Area (64 Mbytes)
When writing is performed without using the cache or in
the cache write-through mode, these bits specify
whether the next bus access from the CPU waits for the
end of writing for each area.
0 : Buffered write (The CPU does not wait for the end of
writing bus access and starts the next bus access)
1 : Unbuffered write (The CPU waits for the end of
writing bus access and starts the next bus access)
UB[7]: Corresponding to the control register area
UB[6]: Corresponding to area 6
UB[5]: Corresponding to area 5
UB[4]: Corresponding to area 4
UB[3]: Corresponding to area 3
UB[2]: Corresponding to area 2
UB[1]: Corresponding to area 1
UB[0]: Corresponding to area 0
Rev.1.00 Jan. 10, 2008 Page 161 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.2.8
Instruction Re-Fetch Inhibit Control Register (IRMCR)
When the specific resource is changed, IRMCR controls whether the instruction fetch is
performed again for the next instruction. The specific resource means the part of control registers,
TLB, and cache.
In the initial state, the instruction fetch is performed again for the next instruction after changing
the resource. However, the CPU processing performance will be lowered because the instruction
fetch is performed again for the next instruction every time the resource is changed. Therefore, it
is recommended that each bit in IRMCR is set to 1 and the specific instruction should be executed
after all necessary resources have been changed prior to execution of the program which uses
changed resources.
For details on the specific sequence, see descriptions in each resource.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
31 to 5
⎯
All 0
R
0
R
0
R
0
R
0
R
0
R
0
R
4
3
2
1
0
R2
R1
LT
MT
MC
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
4
R2
0
R/W
Re-Fetch Inhibit 2 after Register Change
When MMUCR, PASCR, CCR, PTEH, or RAMCR is
changed, this bit controls whether re-fetch is performed
for the next instruction.
0: Re-fetch is performed
1: Re-fetch is not performed
Rev.1.00 Jan. 10, 2008 Page 162 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit
Bit Name
Initial
Value
R/W
Description
3
R1
0
R/W
Re-Fetch Inhibit 1 after Register Change
When a register allocated in addresses H'FF200000 to
H'FF2FFFFF is changed, this bit controls whether refetch is performed for the next instruction.
0: Re-fetch is performed
1: Re-fetch is not performed
2
LT
0
R/W
Re-Fetch Inhibit after LDTLB Execution
This bit controls whether re-fetch is performed for the
next instruction after the LDTLB instruction has been
executed.
0: Re-fetch is performed
1: Re-fetch is not performed
1
MT
0
R/W
Re-Fetch Inhibit after Writing Memory-Mapped TLB
This bit controls whether re-fetch is performed for the
next instruction after writing memory-mapped
ITLB/UTLB while the AT bit in MMUCR is set to 1.
0: Re-fetch is performed
1: Re-fetch is not performed
0
MC
0
R/W
Re-Fetch Inhibit after Writing Memory-Mapped IC
This bit controls whether re-fetch is performed for the
next instruction after writing memory-mapped IC while
the ICE bit in CCR is set to 1.
0: Re-fetch is performed
1: Re-fetch is not performed
Rev.1.00 Jan. 10, 2008 Page 163 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.3
TLB Functions (TLB Compatible Mode; MMUCR.ME = 0)
7.3.1
Unified TLB (UTLB) Configuration
The UTLB is used for the following two purposes:
1. To translate a virtual address to a physical address in a data access
2. As a table of address translation information to be recorded in the ITLB in the event of an
ITLB miss
The UTLB is so called because of its use for the above two purposes. Information in the address
translation table located in external memory is cached into the UTLB. The address translation
table contains virtual page numbers and address space identifiers, and corresponding physical page
numbers and page management information. Figure 7.6 shows the UTLB configuration. The
UTLB consists of 64 fully-associative type entries. Figure 7.7 shows the relationship between the
page size and address format.
Entry 0
ASID[7:0] VPN[31:10] V
PPN[28:10] SZ[1:0] SH C PR[1:0] D WT
Entry 1
ASID[7:0] VPN[31:10] V
PPN[28:10] SZ[1:0] SH C PR[1:0] D WT
Entry 2
ASID[7:0] VPN[31:10] V
PPN[28:10] SZ[1:0] SH C PR [1:0] D WT
Entry 63
ASID[7:0] VPN[31:10] V
PPN[28:10] SZ[1:0] SH C PR[1:0] D WT
Figure 7.6 UTLB Configuration (TLB Compatible Mode)
Legend:
• VPN: Virtual page number
For 1-Kbyte page: Upper 22 bits of virtual address
For 4-Kbyte page: Upper 20 bits of virtual address
For 64-Kbyte page: Upper 16 bits of virtual address
For 1-Mbyte page: Upper 12 bits of virtual address
• ASID: Address space identifier
Indicates the process that can access a virtual page.
In single virtual memory mode and user mode, or in multiple virtual memory mode, if the SH
bit is 0, this identifier is compared with the ASID in PTEH when address comparison is
performed.
Rev.1.00 Jan. 10, 2008 Page 164 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
• SH: Share status bit
When 0, pages are not shared by processes.
When 1, pages are shared by processes.
• SZ[1:0]: Page size bits
Specify the page size.
00: 1-Kbyte page
01: 4-Kbyte page
10: 64-Kbyte page
11: 1-Mbyte page
• V: Validity bit
Indicates whether the entry is valid.
0: Invalid
1: Valid
Cleared to 0 by a power-on reset.
Not affected by a manual reset.
• PPN: Physical page number
Upper 22 bits of the physical address of the physical page number.
With a 1-Kbyte page, PPN[28:10] are valid.
With a 4-Kbyte page, PPN[28:12] are valid.
With a 64-Kbyte page, PPN[28:16] are valid.
With a 1-Mbyte page, PPN[28:20] are valid.
The synonym problem must be taken into account when setting the PPN (see section 7.5.5,
Avoiding Synonym Problems).
• PR[1:0]: Protection key data
2-bit data expressing the page access right as a code.
00: Can be read from only in privileged mode
01: Can be read from and written to in privileged mode
10: Can be read from only in privileged or user mode
11: Can be read from and written to in privileged mode or user mode
• C: Cacheability bit
Indicates whether a page is cacheable.
0: Not cacheable
Rev.1.00 Jan. 10, 2008 Page 165 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
1: Cacheable
When the control register area is mapped, this bit must be cleared to 0.
• D: Dirty bit
Indicates whether a write has been performed to a page.
0: Write has not been performed
1: Write has been performed
• WT: Write-through bit
Specifies the cache write mode.
0: Copy-back mode
1: Write-through mode
• 1-Kbyte page
Virtual address
10 9
31
VPN
0
Offset
• 4-Kbyte page
Virtual address
31
12 11
VPN
PPN
0
Offset
PPN
0
0
Offset
Physical address
16 15
28
Offset
0
Offset
Physical address
12 11
28
Offset
• 1-Mbyte page
Virtual address
31
20 19
VPN
PPN
0
• 64-Kbyte page
Virtual address
31
16 15
VPN
Physical address
10 9
28
Physical address
20 19
28
PPN
0
Offset
0
Offset
Figure 7.7 Relationship between Page Size and Address Format (TLB Compatible Mode)
Rev.1.00 Jan. 10, 2008 Page 166 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.3.2
Instruction TLB (ITLB) Configuration
The ITLB is used to translate a virtual address to a physical address in an instruction access.
Information in the address translation table located in the UTLB is cached into the ITLB. Figure
7.8 shows the ITLB configuration. The ITLB consists of four fully-associative type entries.
Entry 0 ASID[7:0]
VPN[31:10]
V
PPN[28:10] SZ[1:0]
SH C PR
Entry 1 ASID[7:0]
VPN[31:10]
V
PPN[28:10] SZ[1:0]
SH C PR
Entry 2 ASID[7:0]
VPN[31:10]
V
PPN[28:10] SZ[1:0]
SH C PR
Entry 3 ASID[7:0]
VPN[31:10]
V
PPN[28:10] SZ[1:0]
SH C PR
Notes: 1. The D and WT bits are not supported.
2. There is only one PR bit, corresponding to the upper bit of the PR bits in the UTLB.
Figure 7.8 ITLB Configuration (TLB Compatible Mode)
7.3.3
Address Translation Method
Figure 7.9 shows a flowchart of a memory access using the UTLB.
Rev.1.00 Jan. 10, 2008 Page 167 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Data access to virtual address (VA)
VA is
in P4 area
VA is
in P2 area
VA is
in P1 area
VA is in P0, U0,
or P3 area
MMUCR.AT = 1
CCR.OCE?
0
No
1
Yes
CCR.OCE?
0
1
CCR.CB?
1
0
0
CCR.WT?
1
No
No
SH = 0
and (MMUCR.SV = 0 or
SR.MD = 0)
VPNs match
and V = 1
Yes
Yes
No
VPNs match,
ASIDs match, and
V=1
Data TLB miss
exception
Yes
Only one
entry matches
No
Yes
Data TLB multiple
hit exception
SR.MD?
1 (Privileged)
0 (User)
PR?
00 or
01 W
PR?
10
11
R/W?
R/W?
R
W
W
R
D?
0
Data TLB protection
violation exception
00 or 10
01 or 11
W
R/W?
1
Initial page write
exception
R/W?
R
R
Data TLB protection
violation exception
No
C = 1 and
CCR.OCE = 1
Yes
0
WT?
1
Internal resource access
Memory access
(Non-cacheable)
Cache access
in copy-back mode
Cache access
in write-through mode
Figure 7.9 Flowchart of Memory Access Using UTLB (TLB Compatible Mode)
Rev.1.00 Jan. 10, 2008 Page 168 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Figure 7.10 shows a flowchart of a memory access using the ITLB.
Instruction access to virtual address (VA)
VA is
in P4 area
VA is
in P2 area
VA is in P0, U0,
or P3 area
VA is
in P1 area
No
Yes
CCR.ICE?
0
MMUCR.AT = 1
1
No
No
Hardware ITLB
miss handling
VPNs match
and V = 1
Yes
Yes
No
Yes
VPNs match,
ASIDs match, and
V=1
Yes
Search UTLB
Record in ITLB
SH = 0
and (MMUCR.SV = 0 or
SR.MD = 0)
No
Match?
No
Only one
entry matches
Yes
Instruction TLB
multiple hit exception
Instruction TLB
miss exception
0 (User)
0
SR.MD?
1 (Privileged)
PR?
1
Instruction TLB protection
violation exception
No
C=1
and CCR.ICE = 1
Yes
Internal resource access
Memory access
(Non-cacheable)
Cache access
Figure 7.10 Flowchart of Memory Access Using ITLB (TLB Compatible Mode)
Rev.1.00 Jan. 10, 2008 Page 169 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.4
TLB Functions (TLB Extended Mode; MMUCR.ME = 1)
7.4.1
Unified TLB (UTLB) Configuration
Figure 7.11 shows the configuration of the UTLB in TLB extended mode. Figure 7.12 shows the
relationship between the page size and address format.
Entry 0
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5:0] D WT
Entry 1
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5:0] D WT
Entry 2
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5:0] D WT
Entry 63
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5:0] D WT
Figure 7.11 UTLB Configuration (TLB Extended Mode)
Legend:
• VPN: Virtual page number
For 1-Kbyte page: Upper 22 bits of virtual address
For 4-Kbyte page: Upper 20 bits of virtual address
For 8-Kbyte page: Upper 19 bits of virtual address
For 64-Kbyte page: Upper 16 bits of virtual address
For 256-Kbyte page: Upper 14 bits of virtual address
For 1-Mbyte page: Upper 12 bits of virtual address
For 4-Mbyte page: Upper 10 bits of virtual address
For 64-Mbyte page: Upper 6 bits of virtual address
• ASID: Address space identifier
Indicates the process that can access a virtual page.
In single virtual memory mode and user mode, or in multiple virtual memory mode, if the SH
bit is 0, this identifier is compared with the ASID in PTEH when address comparison is
performed.
• SH: Share status bit
When 0, pages are not shared by processes.
When 1, pages are shared by processes.
• ESZ: Page size bits
Specify the page size.
0000: 1-Kbyte page
Rev.1.00 Jan. 10, 2008 Page 170 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
0001: 4-Kbyte page
0010: 8-Kbyte page
0100: 64-Kbyte page
0101: 256-Kbyte page
0111: 1-Mbyte page
1000: 4-Mbyte page
1100: 64-Mbyte page
Note: When a value other than those listed above is recorded, operation is not guaranteed.
• V: Validity bit
Indicates whether the entry is valid.
0: Invalid
1: Valid
Cleared to 0 by a power-on reset.
Not affected by a manual reset.
• PPN: Physical page number
Upper 19 bits of the physical address.
With a 1-Kbyte page, PPN[28:10] are valid.
With a 4-Kbyte page, PPN[28:12] are valid.
With a 8-Kbyte page, PPN[28:13] are valid.
With a 64-Kbyte page, PPN[28:16] are valid.
With a 256-Kbyte page, PPN[28:18] are valid.
With a 1-Mbyte page, PPN[28:20] are valid.
With a 4-Mbyte page, PPN[28:22] are valid.
With a 64-Mbyte page, PPN[28:26] are valid.
The synonym problem must be taken into account when setting the PPN (see section 7.5.5,
Avoiding Synonym Problems).
• EPR: Protection key data
6-bit data expressing the page access right as a code.
Reading, writing, and execution (instruction fetch) in privileged mode and reading, writing,
and execution (instruction fetch) in user mode can be set independently. Each bit is disabled by
0 and enabled by 1.
EPR[5]: Reading in privileged mode
EPR[4]: Writing in privileged mode
EPR[3]: Execution in privileged mode (instruction fetch)
EPR[2]: Reading in user mode
Rev.1.00 Jan. 10, 2008 Page 171 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
EPR[1]: Writing in user mode
EPR[0]: Execution in user mode (instruction fetch)
• C: Cacheability bit
Indicates whether a page is cacheable.
0: Not cacheable
1: Cacheable
When the control register area is mapped, this bit must be cleared to 0.
• D: Dirty bit
Indicates whether a write has been performed to a page.
0: Write has not been performed.
1: Write has been performed.
• WT: Write-through bit
Specifies the cache write mode.
0: Copy-back mode
1: Write-through mode
Rev.1.00 Jan. 10, 2008 Page 172 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Virtual address
Physical address
31
10 9
VPN
1-Kbyte page
12 11
VPN
0
13 12
VPN
0
31
0
0
18 17
0
Offset
28
20 19
0
Offset
28
22 21
0
Offset
PPN
0
VPN
0
Offset
PPN
22 21
VPN
0
Offset
28
Offset
31 26 25
64-Mbyte page
16 15
PPN
20 19
31
0
Offset
28
Offset
VPN
1-Mbyte page
13 12
PPN
18 17
31
28
Offset
VPN
Offset
0
Offset
PPN
16 15
VPN
256-Kbyte page
12 11
PPN
0
0
Offset
28
Offset
31
64-Kbyte page
10 9
PPN
Offset
31
8-Kbyte page
28
Offset
31
4-Kbyte page
4-Mbyte page
0
28 26 25
0
Offset
PPN
Figure 7.12 Relationship between Page Size and Address Format (TLB Extended Mode)
7.4.2
Instruction TLB (ITLB) Configuration
Figure 7.13 shows the configuration of the ITLB in TLB extended mode.
Entry 0
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5]
EPR[3]
EPR[2]
EPR[0]
Entry 1
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5]
EPR[3]
EPR[2]
EPR[0]
Entry 2
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5]
EPR[3]
EPR[2]
EPR[0]
Entry 3
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH
C EPR[5]
EPR[3]
EPR[2]
EPR[0]
Note: Bits EPR[4], EPR[1], D, and WT are not supported.
Figure 7.13 ITLB Configuration (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 173 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.4.3
Address Translation Method
Figure 7.14 is a flowchart of memory access using the UTLB in TLB extended mode.
Rev.1.00 Jan. 10, 2008 Page 174 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Data access to virtual address (VA)
VA is
in P4 area
VA is
in P2 area
VA is in P0, U0,
or P3 area
VA is
in P1 area
MMUCR.AT = 1
CCR.OCE?
0
No
1
Yes
0
CCR.OCE?
1
CCR.CB?
1
0
0
CCR.WT?
1
No
No
SH = 0
and (MMUCR.SV = 0 or
SR.MD = 0)
VPNs match
and V = 1
Yes
Yes
VPNs match,
ASIDs match, and
V=1
No
Data TLB miss
exception
Yes
Only one
entry matches
No
Yes
Data TLB multiple
hit exception
SR.MD?
0 (User)
1 (Privileged)
R/W?
R/W?
W
R
0
EPR[2]?
1
0
EPR[1]?
1
0
EPR[4]?
1
D?
1
Data TLB protection
violation exception
R
W
EPR[5]?
1
0
0
Initial page write
exception
No
Data TLB protection
violation exception
C = 1 and
CCR.OCE = 1
Yes
0
WT?
1
Internal resource access
Memory access
(Non-cacheable)
Cache access
in copy-back mode
Cache access
in write-through mode
Figure 7.14 Flowchart of Memory Access Using UTLB (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 175 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Figure 7.15 is a flowchart of memory access using the ITLB in TLB extended mode.
Instruction access to virtual address (VA)
VA is
in P4 area
VA is
in P2 area
VA is in P0, U0,
or P3 area
VA is
in P1 area
MMUCR.AT = 1
No
Yes
CCR.ICE?
0
1
No
No
VPNs match
and V = 1
Yes
Yes
Hardware ITLB
miss handling
Record in ITLB
SH = 0
and (MMUCR.SV = 0 or
SR.MD = 0)
No
VPNs match,
ASIDs match, and
V=1
Search UTLB
Yes
Yes
No
Match?
Only one
entry matches
No
Yes
Instruction TLB
miss exception
Instruction TLB
multiple hit exception
SR.MD?
1 (Privileged)
0 (User)
ICBI or normal instruction access?
ICBI
EPR[2] = 0 and
EPR[0] = 0
No
ICBI or normal instruction access?
Normal instruction access
Yes
EPR[0]?
0
ICBI
Yes
Normal instruction access
EPR[5] = 0 and
EPR[3] = 0
1
0
EPR[3]?
No
1
Instruction TLB protection
violation exception
No
C = 1 and
CCR.ICE = 1
Yes
Internal resource access
Memory access
(Non-cacheable)
Cache access
Figure 7.15 Flowchart of Memory Access Using ITLB (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 176 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.5
MMU Functions
7.5.1
MMU Hardware Management
This LSI supports the following MMU functions.
1. The MMU decodes the virtual address to be accessed by software, and performs address
translation by controlling the UTLB/ITLB in accordance with the MMUCR settings.
2. The MMU determines the cache access status on the basis of the page management
information read during address translation (C and WT bits).
3. If address translation cannot be performed normally in a data access or instruction access, the
MMU notifies software by means of an MMU exception.
4. If address translation information is not recorded in the ITLB in an instruction access, the
MMU searches the UTLB. If the necessary address translation information is recorded in the
UTLB, the MMU copies this information into the ITLB in accordance with the LRUI bit
setting in MMUCR.
7.5.2
MMU Software Management
Software processing for the MMU consists of the following:
1. Setting of MMU-related registers. Some registers are also partially updated by hardware
automatically.
2. Recording, deletion, and reading of TLB entries. There are two methods of recording UTLB
entries: by using the LDTLB instruction, or by writing directly to the memory-mapped UTLB.
ITLB entries can only be recorded by writing directly to the memory-mapped ITLB. Deleting
or reading UTLB/ITLB entries is enabled by accessing the memory-mapped UTLB/ITLB.
3. MMU exception handling. When an MMU exception occurs, processing is performed based on
information set by hardware.
Rev.1.00 Jan. 10, 2008 Page 177 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.5.3
MMU Instruction (LDTLB)
A TLB load instruction (LDTLB) is provided for recording UTLB entries. When an LDTLB
instruction is issued, this LSI copies the contents of PTEH and PTEL (also the contents of PTEA
in TLB extended mode) to the UTLB entry indicated by the URC bit in MMUCR. ITLB entries
are not updated by the LDTLB instruction, and therefore address translation information purged
from the UTLB entry may still remain in the ITLB entry. As the LDTLB instruction changes
address translation information, ensure that it is issued by a program in the P1 or P2 area.
After the LDTLB instruction has been executed, execute one of the following three methods
before an access (include an instruction fetch) the area where TLB is used to translate the address
is performed.
1. Execute a branch using the RTE instruction. In this case, the branch destination may be the
area where TLB is used to translate the address.
2. Execute the ICBI instruction for any address (including non-cacheable area).
3. If the LT bit in IRMCR is 0 (initial value) before executing the LDTLB instruction, the
specific instruction does not need to be executed. However, note that the CPU processing
performance will be lowered because the instruction fetch is performed again for the next
instruction after MMUCR has been updated.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
Rev.1.00 Jan. 10, 2008 Page 178 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
The operation of the LDTLB instruction is shown in figures 7.16 and 7.17.
MMUCR
31
LRUI
26252423
—
18171615
URB
—
10 9 8 7
URC
SV
10 9 8 7
VPN
TI — AT
SQMD
Entry specification
PTEH
31
3 2 1 0
—
—
0
ASID
PTEL
31 2928
—
10 9 8 7 6 5 4 3 2 1 0
PPN
— V
SZ1 PR[1:0] SZ0 C
D SH WT
Write
Entry 0
ASID [7:0]
VPN [31:10]
V
PPN [28:10]
SZ [1:0]
SH C PR [1:0]
D
WT
Entry 1
ASID [7:0]
VPN [31:10]
V
PPN [28:10]
SZ [1:0]
SH C PR [1:0]
D
WT
Entry 2
ASID [7:0]
VPN [31:10]
V
PPN [28:10]
SZ [1:0]
SH C PR [1:0]
D
WT
Entry 63
ASID [7:0]
VPN [31:10]
V
PPN [28:10]
SZ [1:0]
SH C PR [1:0]
D
WT
UTLB
Figure 7.16 Operation of LDTLB Instruction (TLB Compatible Mode)
Rev.1.00 Jan. 10, 2008 Page 179 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
MMUCR
−
LRUI
−
URB
URC
SV ME
−
SQMD
Entry specification
PTEH
PTEL
−
VPN
TI − AT
ASID
PTEA
−
−
PPN
V
−
C
D SH WT
−
EPR
ESZ
−
Write
Entry 0
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH C EPR[5:0]
D WT
Entry 1
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH C EPR[5:0]
D WT
Entry 2
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH C EPR[5:0]
D WT
Entry 63
ASID[7:0]
VPN[31:10]
V
PPN[28:10]
ESZ[3:0] SH C EPR[5:0]
D WT
Figure 7.17 Operation of LDTLB Instruction (TLB Extended Mode)
7.5.4
Hardware ITLB Miss Handling
In an instruction access, this LSI searches the ITLB. If it cannot find the necessary address
translation information (ITLB miss occurred), the UTLB is searched by hardware, and if the
necessary address translation information is present, it is recorded in the ITLB. This procedure is
known as hardware ITLB miss handling. If the necessary address translation information is not
found in the UTLB search, an instruction TLB miss exception is generated and processing passes
to software.
Rev.1.00 Jan. 10, 2008 Page 180 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.5.5
Avoiding Synonym Problems
When information on 1- or 4-Kbyte pages is written as TLB entries, a synonym problem may
arise. The problem is that, when a number of virtual addresses are mapped onto a single physical
address, the same physical address data is written to a number of cache entries, and it becomes
impossible to guarantee data integrity. This problem does not occur with the instruction TLB and
instruction cache because only data is read in these cases. In this LSI, entry specification is
performed using bits 12 to 5 of the virtual address in order to achieve fast operand cache
operation. However, bits 12 to 10 of the virtual address in the case of a 1-Kbyte page, and bit 12 of
the virtual address in the case of a 4-Kbyte page, are subject to address translation. As a result, bits
12 to 10 of the physical address after translation may differ from bits 12 to 10 of the virtual
address.
Consequently, the following restrictions apply to the writing of address translation information as
UTLB entries.
• When address translation information whereby a number of 1-Kbyte page UTLB entries are
translated into the same physical address is written to the UTLB, ensure that the VPN[12:10]
values are the same.
• When address translation information whereby a number of 4-Kbyte page UTLB entries are
translated into the same physical address is written to the UTLB, ensure that the VPN[12]
value is the same.
• Do not use 1-Kbyte page UTLB entry physical addresses with UTLB entries of a different
page size.
• Do not use 4-Kbyte page UTLB entry physical addresses with UTLB entries of a different
page size.
The above restrictions apply only when performing accesses using the cache.
Rev.1.00 Jan. 10, 2008 Page 181 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.6
MMU Exceptions
There are seven MMU exceptions: instruction TLB multiple hit exception, instruction TLB miss
exception, instruction TLB protection violation exception, data TLB multiple hit exception, data
TLB miss exception, data TLB protection violation exception, and initial page write exception.
Refer to figures 7.9, 7.10, 7.14, 7.15, and section 5, Exception Handling for the conditions under
which each of these exceptions occurs.
7.6.1
Instruction TLB Multiple Hit Exception
An instruction TLB multiple hit exception occurs when more than one ITLB entry matches the
virtual address to which an instruction access has been made. If multiple hits occur when the
UTLB is searched by hardware in hardware ITLB miss handling, an instruction TLB multiple hit
exception will result.
When an instruction TLB multiple hit exception occurs, a reset is executed and cache coherency is
not guaranteed.
(1)
Hardware Processing
In the event of an instruction TLB multiple hit exception, hardware carries out the following
processing:
1. Sets the virtual address at which the exception occurred in TEA.
2. Sets exception code H'140 in EXPEVT.
3. Branches to the reset handling routine (H'A000 0000).
(2)
Software Processing (Reset Routine)
The ITLB entries which caused the multiple hit exception are checked in the reset handling
routine. This exception is intended for use in program debugging, and should not normally be
generated.
Rev.1.00 Jan. 10, 2008 Page 182 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.6.2
Instruction TLB Miss Exception
An instruction TLB miss exception occurs when address translation information for the virtual
address to which an instruction access is made is not found in the UTLB entries by the hardware
ITLB miss handling routine. The instruction TLB miss exception processing carried out by
hardware and software is shown below. This is the same as the processing for a data TLB miss
exception.
(1)
Hardware Processing
In the event of an instruction TLB miss exception, hardware carries out the following processing:
1.
2.
3.
4.
5.
6.
7.
8.
9.
(2)
Sets the VPN of the virtual address at which the exception occurred in PTEH.
Sets the virtual address at which the exception occurred in TEA.
Sets exception code H'040 in EXPEVT.
Sets the PC value indicating the address of the instruction at which the exception occurred in
SPC. If the exception occurred at a delay slot, sets the PC value indicating the address of the
delayed branch instruction in SPC.
Sets the SR contents at the time of the exception in SSR. The R15 contents at this time are
saved in SGR.
Sets the MD bit in SR to 1, and switches to privileged mode.
Sets the BL bit in SR to 1, and masks subsequent exception requests.
Sets the RB bit in SR to 1.
Branches to the address obtained by adding offset H'0000 0400 to the contents of VBR, and
starts the instruction TLB miss exception handling routine.
Software Processing (Instruction TLB Miss Exception Handling Routine)
Software is responsible for searching the external memory page table and assigning the necessary
page table entry. Software should carry out the following processing in order to find and assign the
necessary page table entry.
1. In TLB compatible mode, write to PTEL the values of the PPN, PR, SZ, C, D, SH, V, and WT
bits in the page table entry stored in the address translation table for external memory.
In TLB extended mode, write to PTEL and PTEA the values of the PPN, EPR, ESZ, C, D, SH,
V, and WT bits in the page table entry stored in the address translation table for external
memory.
2. When the entry to be replaced in entry replacement is specified by software, write the value to
the URC bits in MMUCR. If URC is greater than URB at this time, the value should be
changed to an appropriate value after issuing an LDTLB instruction.
Rev.1.00 Jan. 10, 2008 Page 183 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
3. In TLB compatible mode, execute the LDTLB instruction and write the contents of PTEH and
PTEL to the TLB.
In TLB extended mode, execute the LDTLB instruction and write the contents of PTEH,
PTEL, PTEA to the UTLB.
4. Finally, execute the exception handling return instruction (RTE) to terminate the exception
handling routine and return control to the normal flow. The RTE instruction should be issued
at least one instruction after the LDTLB instruction.
For the execution of the LDTLB instruction, see section 7.10.1, Note on Using LDTLB
Instruction.
7.6.3
Instruction TLB Protection Violation Exception
An instruction TLB protection violation exception occurs when, even though an ITLB entry
contains address translation information matching the virtual address to which an instruction
access is made, the actual access type is not permitted by the access right specified by the PR or
EPR bit. The instruction TLB protection violation exception processing carried out by hardware
and software is shown below.
(1)
Hardware Processing
In the event of an instruction TLB protection violation exception, hardware carries out the
following processing:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sets the VPN of the virtual address at which the exception occurred in PTEH.
Sets the virtual address at which the exception occurred in TEA.
Sets exception code H'0A0 in EXPEVT.
Sets the PC value indicating the address of the instruction at which the exception occurred in
SPC. If the exception occurred at a delay slot, sets the PC value indicating the address of the
delayed branch instruction in SPC.
Sets the SR contents at the time of the exception in SSR. The R15 contents at this time are
saved in SGR.
Sets the MD bit in SR to 1, and switches to privileged mode.
Sets the BL bit in SR to 1, and masks subsequent exception requests.
Sets the RB bit in SR to 1.
Branches to the address obtained by adding offset H'0000 0100 to the contents of VBR, and
starts the instruction TLB protection violation exception handling routine.
Rev.1.00 Jan. 10, 2008 Page 184 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
(2)
Software Processing (Instruction TLB Protection Violation Exception Handling
Routine)
Resolve the instruction TLB protection violation, execute the exception handling return instruction
(RTE), terminate the exception handling routine, and return control to the normal flow. The RTE
instruction should be issued at least one instruction after the LDTLB instruction.
7.6.4
Data TLB Multiple Hit Exception
A data TLB multiple hit exception occurs when more than one UTLB entry matches the virtual
address to which a data access has been made.
When a data TLB multiple hit exception occurs, a reset is executed, and cache coherency is not
guaranteed. The contents of PPN in the UTLB prior to the exception may also be corrupted.
(1)
Hardware Processing
In the event of a data TLB multiple hit exception, hardware carries out the following processing:
1. Sets the virtual address at which the exception occurred in TEA.
2. Sets exception code H'140 in EXPEVT.
3. Branches to the reset handling routine (H'A000 0000).
(2)
Software Processing (Reset Routine)
The UTLB entries which caused the multiple hit exception are checked in the reset handling
routine. This exception is intended for use in program debugging, and should not normally be
generated.
7.6.5
Data TLB Miss Exception
A data TLB miss exception occurs when address translation information for the virtual address to
which a data access is made is not found in the UTLB entries. The data TLB miss exception
processing carried out by hardware and software is shown below.
(1)
Hardware Processing
In the event of a data TLB miss exception, hardware carries out the following processing:
1. Sets the VPN of the virtual address at which the exception occurred in PTEH.
2. Sets the virtual address at which the exception occurred in TEA.
Rev.1.00 Jan. 10, 2008 Page 185 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
3. Sets exception code H'040 in the case of a read, or H'060 in the case of a write in EXPEVT
(OCBP, OCBWB: read; OCBI, MOVCA.L: write).
4. Sets the PC value indicating the address of the instruction at which the exception occurred in
SPC. If the exception occurred at a delay slot, sets the PC value indicating the address of the
delayed branch instruction in SPC.
5. Sets the SR contents at the time of the exception in SSR. The R15 contents at this time are
saved in SGR.
6. Sets the MD bit in SR to 1, and switches to privileged mode.
7. Sets the BL bit in SR to 1, and masks subsequent exception requests.
8. Sets the RB bit in SR to 1.
9. Branches to the address obtained by adding offset H'0000 0400 to the contents of VBR, and
starts the data TLB miss exception handling routine.
(2)
Software Processing (Data TLB Miss Exception Handling Routine)
Software is responsible for searching the external memory page table and assigning the necessary
page table entry. Software should carry out the following processing in order to find and assign the
necessary page table entry.
1. In TLB compatible mode, write to PTEL the values of the PPN, PR, SZ, C, D, SH, V, and WT
bits in the page table entry stored in the address translation table for external memory.
In TLB extended mode, write to PTEL and PTEA the values of the PPN, EPR, ESZ, C, D, SH,
V, and WT bits in the page table entry stored in the address translation table for external
memory.
2. When the entry to be replaced in entry replacement is specified by software, write the value to
the URC bits in MMUCR. If URC is greater than URB at this time, the value should be
changed to an appropriate value after issuing an LDTLB instruction.
3. In TLB compatible mode, execute the LDTLB instruction and write the contents of PTEH and
PTEL to the TLB.
In TLB extended mode, execute the LDTLB instruction and write the contents of PTEH,
PTEL, PTEA to the UTLB.
4. Finally, execute the exception handling return instruction (RTE), terminate the exception
handling routine, and return control to the normal flow. The RTE instruction should be issued
at least one instruction after the LDTLB instruction.
For the execution of the LDTLB instruction, see section 7.10.1, Note on Using LDTLB
Instruction.
Rev.1.00 Jan. 10, 2008 Page 186 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.6.6
Data TLB Protection Violation Exception
A data TLB protection violation exception occurs when, even though a UTLB entry contains
address translation information matching the virtual address to which a data access is made, the
actual access type is not permitted by the access right specified by the PR or EPR bit. The data
TLB protection violation exception processing carried out by hardware and software is shown
below.
(1)
Hardware Processing
In the event of a data TLB protection violation exception, hardware carries out the following
processing:
1. Sets the VPN of the virtual address at which the exception occurred in PTEH.
2. Sets the virtual address at which the exception occurred in TEA.
3. Sets exception code H'0A0 in the case of a read, or H'0C0 in the case of a write in EXPEVT
(OCBP, OCBWB: read; OCBI, MOVCA.L: write).
4. Sets the PC value indicating the address of the instruction at which the exception occurred in
SPC. If the exception occurred at a delay slot, sets the PC value indicating the address of the
delayed branch instruction in SPC.
5. Sets the SR contents at the time of the exception in SSR. The R15 contents at this time are
saved in SGR.
6. Sets the MD bit in SR to 1, and switches to privileged mode.
7. Sets the BL bit in SR to 1, and masks subsequent exception requests.
8. Sets the RB bit in SR to 1.
9. Branches to the address obtained by adding offset H'0000 0100 to the contents of VBR, and
starts the data TLB protection violation exception handling routine.
(2)
Software Processing (Data TLB Protection Violation Exception Handling Routine)
Resolve the data TLB protection violation, execute the exception handling return instruction
(RTE), terminate the exception handling routine, and return control to the normal flow. The RTE
instruction should be issued at least one instruction after the LDTLB instruction.
Rev.1.00 Jan. 10, 2008 Page 187 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.6.7
Initial Page Write Exception
An initial page write exception occurs when the D bit is 0 even though a UTLB entry contains
address translation information matching the virtual address to which a data access (write) is
made, and the access is permitted. The initial page write exception processing carried out by
hardware and software is shown below.
(1)
Hardware Processing
In the event of an initial page write exception, hardware carries out the following processing:
1.
2.
3.
4.
5.
6.
7.
8.
9.
(2)
Sets the VPN of the virtual address at which the exception occurred in PTEH.
Sets the virtual address at which the exception occurred in TEA.
Sets exception code H'080 in EXPEVT.
Sets the PC value indicating the address of the instruction at which the exception occurred in
SPC. If the exception occurred at a delay slot, sets the PC value indicating the address of the
delayed branch instruction in SPC.
Sets the SR contents at the time of the exception in SSR. The R15 contents at this time are
saved in SGR.
Sets the MD bit in SR to 1, and switches to privileged mode.
Sets the BL bit in SR to 1, and masks subsequent exception requests.
Sets the RB bit in SR to 1.
Branches to the address obtained by adding offset H'0000 0100 to the contents of VBR, and
starts the initial page write exception handling routine.
Software Processing (Initial Page Write Exception Handling Routine)
Software is responsible for the following processing:
1. Retrieve the necessary page table entry from external memory.
2. Write 1 to the D bit in the external memory page table entry.
3. In TLB compatible mode, write to PTEL the values of the PPN, PR, SZ, C, D, SH, V, and WT
bits in the page table entry stored in the address translation table for external memory.
In TLB extended mode, write to PTEL and PTEA the values of the PPN, EPR, ESZ, C, D, SH,
V, and WT bits in the page table entry stored in the address translation table for external
memory.
4. When the entry to be replaced in entry replacement is specified by software, write that value to
the URC bits in MMUCR. If URC is greater than URB at this time, the value should be
changed to an appropriate value after issuing an LDTLB instruction.
Rev.1.00 Jan. 10, 2008 Page 188 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
5. In TLB compatible mode, execute the LDTLB instruction and write the contents of PTEH and
PTEL to the TLB.
In TLB extended mode, execute the LDTLB instruction and write the contents of PTEH,
PTEL, PTEA to the UTLB.
6. Finally, execute the exception handling return instruction (RTE), terminate the exception
handling routine, and return control to the normal flow. The RTE instruction should be issued
at least one instruction after the LDTLB instruction.
Rev.1.00 Jan. 10, 2008 Page 189 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.7
Memory-Mapped TLB Configuration
To enable the ITLB and UTLB to be managed by software, their contents are allowed to be read
from and written to by a program in the P1/P2 area with a MOV instruction in privileged mode.
Operation is not guaranteed if access is made from a program in another area.
After the memory-mapped TLB has been accessed, execute one of the following three methods
before an access (including an instruction fetch) to an area other than the P1/P2 area is performed.
1. Execute a branch using the RTE instruction. In this case, the branch destination may be an area
other than the P1/P2 area.
2. Execute the ICBI instruction for any address (including non-cacheable area).
3. If the MT bit in IRMCR is 0 (initial value) before accessing the memory-mapped TLB, the
specific instruction does not need to be executed. However, note that the CPU processing
performance will be lowered because the instruction fetch is performed again for the next
instruction after MMUCR has been updated.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
The ITLB and UTLB are allocated to the P4 area in the virtual address space.
In TLB compatible mode, VPN, V, and ASID in the ITLB can be accessed as an address array,
PPN, V, SZ, PR, C, and SH as a data array. VPN, D, V, and ASID in the UTLB can be accessed as
an address array, PPN, V, SZ, PR, C, D, WT, and SH as a data array. V and D can be accessed
from both the address array side and the data array side.
In TLB extended mode, VPN, V, and ASID in the ITLB can be accessed as an address array, PPN,
V, ESZ, EPR, C, and SH as a data array. VPN, D, V, and ASID in the UTLB can be accessed as
an address array, PPN, V, ESZ, EPR, C, D, WT, and SH as a data array. V and D can be accessed
from both the address array side and the data array side.
In both TLB compatible mode and TLB extended mode, only longword access is possible.
Instruction fetches cannot be performed in these areas. For reserved bits, a write value of 0 should
be specified; their read value is undefined.
Rev.1.00 Jan. 10, 2008 Page 190 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.7.1
ITLB Address Array
The ITLB address array is allocated to addresses H'F200 0000 to H'F2FF FFFF in the P4 area. An
address array access requires a 32-bit address field specification (when reading or writing) and a
32-bit data field specification (when writing). Information for selecting the entry to be accessed is
specified in the address field, and VPN, V, and ASID to be written to the address array are
specified in the data field.
In the address field, bits [31:24] have the value H'F2 indicating the ITLB address array and the
entry is specified by bits [9:8]. As only longword access is used, 0 should be specified for address
field bits [1:0].
In the data field, bits [31:10] indicate VPN, bit [8] indicates V, and bits [7:0] indicate ASID.
The following two kinds of operation can be used on the ITLB address array:
1. ITLB address array read
VPN, V, and ASID are read into the data field from the ITLB entry corresponding to the entry
set in the address field.
2. ITLB address array write
VPN, V, and ASID specified in the data field are written to the ITLB entry corresponding to
the entry set in the address field.
24 23
10 9 8 7
2 1 0
31
Address field 1 1 1 1 0 0 1 0 * * * * * * * * * * * * * E * * * * * * 0 0
31
Data field
10 9 8 7
VPN
VPN:
V:
E:
*:
Virtual page number
Validity bit
Entry
Don't care
V
0
ASID
ASID: Address space identifier
: Reserved bits (write value should be 0,
and read value is undefined )
Figure 7.18 Memory-Mapped ITLB Address Array
Rev.1.00 Jan. 10, 2008 Page 191 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.7.2
ITLB Data Array (TLB Compatible Mode)
The ITLB data array is allocated to addresses H'F300 0000 to H'F37F FFFF in the P4 area. A data
array access requires a 32-bit address field specification (when reading or writing) and a 32-bit
data field specification (when writing). Information for selecting the entry to be accessed is
specified in the address field, and PPN, V, SZ, PR, C, and SH to be written to the data array are
specified in the data field.
In the address field, bits [31:23] have the value H'F30 indicating ITLB data array and the entry is
specified by bits [9:8].
In the data field, bits [28:10] indicate PPN, bit [8] indicates V, bits [7] and [4] indicate SZ, bit [6]
indicates PR, bit [3] indicates C, and bit [1] indicates SH.
The following two kinds of operation can be used on ITLB data array:
1. ITLB data array read
PPN, V, SZ, PR, C, and SH are read into the data field from the ITLB entry corresponding to
the entry set in the address field.
2. ITLB data array write
PPN, V, SZ, PR, C, and SH specified in the data field are written to the ITLB entry
corresponding to the entry set in the address field.
10 9 8 7
2 1 0
31
24 23
Address field 1 1 1 1 0 0 1 1 0 * * * * * * * * * * * * E * * * * * * 0 0
31 30 29 28
Data field
PPN:
V:
E:
SZ[1:0]:
*:
10 9 8 7 6 5 4 3 2 1 0
PPN
Physical page number
Validity bit
Entry
Page size bits
Don't care
PR:
C:
SH:
:
V
C
SZ1
SZ0
PR
SH
Protection key data
Cacheability bit
Share status bit
Reserved bits (write value should be 0,
and read value is undefined )
Figure 7.19 Memory-Mapped ITLB Data Array (TLB Compatible Mode)
Rev.1.00 Jan. 10, 2008 Page 192 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.7.3
ITLB Data Array (TLB Extended Mode)
In TLB extended mode the names of the data arrays have been changed from ITLB data array to
ITLB data array 1, ITLB data array 2 is added, and the EPR and ESZ bits are accessible. In TLB
extended mode, the PR and SZ bits of ITLB data array 1 are reserved and 0 should be specified as
the write value for these bits. In addition, when a write to ITLB data array 1 is performed, a write
to ITLB data array 2 of the same entry should always be performed.
In TLB compatible mode (MMUCR.ME = 0), ITLB data array 2 cannot be accessed. Operation if
they are accessed is not guaranteed.
(1)
ITLB Data Array 1
In TLB extended mode, bits 7, 6, and 4 in the data field, which correspond to the PR and SZ bits
in compatible mode, are reserved. Specify 0 as the write value for these bits.
31
23 22
10 9 8 7
2 1 0
Address field 1 1 1 1 0 0 1 1 0 * * * * * * * * * * * * * E * * * * * * 0 0
31
29 28
Data field
Legend:
PPN: Physical page number
V:
Validity bit
E:
Entry
*:
Don't care
10 9 8 7
PPN
V
4 3 2 1 0
C
SH
C: Cacheability bit
SH: Share status bit
: Reserved bits
(write value should be 0,
and read value is undefined)
Figure 7.20 Memory-Mapped ITLB Data Array 1 (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 193 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
(2)
ITLB Data Array 2
The ITLB data array is allocated to addresses H'F380 0000 to H'F3FF FFFF in the P4 area. Access
to data array 2 requires a 32-bit address field specification (when reading or writing) and a 32-bit
data field specification (when writing). Information for selecting the entry to be accessed is
specified in the address field, and EPR and ESZ to be written to data array 2 are specified in the
data field.
In the address field, bits [31:23] have the value H'F38 indicating ITLB data array 2 and the entry is
specified by bits [9:8].
In the data field, bits [13], [11], [10], and [8] indicate EPR[5], [3], [2], and [0], and bits [7:4]
indicate ESZ, respectively.
The following two kinds of operation can be applied to ITLB data array 2:
1. ITLB data array 2 read
EPR and ESZ are read into the data field from the ITLB entry corresponding to the entry set in
the address field.
2. ITLB data array 2 write
EPR and ESZ specified in the data field are written to the ITLB entry corresponding to the
entry set in the address field.
31
23 22
10 9 8 7
2 1 0
Address field 1 1 1 1 0 0 1 1 1 * * * * * * * * * * * * * E * * * * * * 0 0
31
14 13 1211 10 9 8 7
Data field
EPR[5]
Legend:
E:
Entry
EPR: Protection key data
ESZ: Page size bits
*:
Don't care
4 3
0
ESZ
EPR[2]
EPR[3]
EPR[0]
: Reserved bits
(write value should be 0,
and read value is undefined)
Figure 7.21 Memory-Mapped ITLB Data Array 2 (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 194 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.7.4
UTLB Address Array
The UTLB address array is allocated to addresses H'F600 0000 to H'F60F FFFF in the P4 area. An
address array access requires a 32-bit address field specification (when reading or writing) and a
32-bit data field specification (when writing). Information for selecting the entry to be accessed is
specified in the address field, and VPN, D, V, and ASID to be written to the address array are
specified in the data field.
In the address field, bits [31:20] have the value H'F60 indicating the UTLB address array and the
entry is specified by bits [13:8]. Bit [7] that is the association bit (A bit) in the address field
specifies whether address comparison is performed in a write to the UTLB address array.
In the data field, bits [31:10] indicate VPN, bit [9] indicates D, bit [8] indicates V, and bits [7:0]
indicate ASID.
The following three kinds of operation can be used on the UTLB address array:
1. UTLB address array read
VPN, D, V, and ASID are read into the data field from the UTLB entry corresponding to the
entry set in the address field. In a read, associative operation is not performed regardless of
whether the association bit specified in the address field is 1 or 0.
2. UTLB address array write (non-associative)
VPN, D, V, and ASID specified in the data field are written to the UTLB entry corresponding
to the entry set in the address field. The A bit in the address field should be cleared to 0.
3. UTLB address array write (associative)
When a write is performed with the A bit in the address field set to 1, comparison of all the
UTLB entries is carried out using the VPN specified in the data field and ASID in PTEH. The
usual address comparison rules are followed, but if a UTLB miss occurs, the result is no
operation, and an exception is not generated. If the comparison identifies a UTLB entry
corresponding to the VPN specified in the data field, D and V specified in the data field are
written to that entry. This associative operation is simultaneously carried out on the ITLB, and
if a matching entry is found in the ITLB, V is written to that entry. Even if the UTLB
comparison results in no operation, a write to the ITLB is performed as long as a matching
entry is found in the ITLB. If there is a match in both the UTLB and ITLB, the UTLB
information is also written to the ITLB.
Rev.1.00 Jan. 10, 2008 Page 195 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
31
20 19
31
A * * * * * 0 0
E
10 9 8 7
Data field
D V
VPN
VPN:
V:
E:
D:
*:
2 1 0
8 7
14 13
Address field 1 1 1 1 0 1 1 0 0 0 0 0 * * * * * *
Virtual page number
Validity bit
Entry
Dirty bit
Don't care
0
ASID
ASID: Address space identifier
A: Association bit
: Reserved bits (write value should be 0
and read value is undefined )
Figure 7.22 Memory-Mapped UTLB Address Array
7.7.5
UTLB Data Array (TLB Compatible Mode)
The UTLB data array is allocated to addresses H'F700 0000 to H'F70F FFFF in the P4 area. A
data array access requires a 32-bit address field specification (when reading or writing) and a 32bit data field specification (when writing). Information for selecting the entry to be accessed is
specified in the address field, and PPN, V, SZ, PR, C, D, SH, and WT to be written to data array
are specified in the data field.
In the address field, bits [31:20] have the value H'F70 indicating UTLB data array and the entry is
specified by bits [13:8].
In the data field, bits [28:10] indicate PPN, bit [8] indicates V, bits [7] and [4] indicate SZ, bits
[6:5] indicate PR, bit [3] indicates C, bit [2] indicates D, bit [1] indicates SH, and bit [0] indicates
WT.
The following two kinds of operation can be used on UTLB data array:
1. UTLB data array read
PPN, V, SZ, PR, C, D, SH, and WT are read into the data field from the UTLB entry
corresponding to the entry set in the address field.
2. UTLB data array write
PPN, V, SZ, PR, C, D, SH, and WT specified in the data field are written to the UTLB entry
corresponding to the entry set in the address field.
Rev.1.00 Jan. 10, 2008 Page 196 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
31
14 13
2019
8 7
Address field 1 1 1 1 0 1 1 1 0 0 0 0 * * * * * *
31
E
29 28
Data field
10 9 8 7 6 5 4 3 2 1 0
V
PPN
PPN:
V:
E:
SZ:
D:
*:
2 1 0
* * * * * * 0 0
Physical page number
Validity bit
Entry
Page size bits
Dirty bit
Don't care
PR:
C:
SH:
WT:
:
PR
C D
SH
Protection key data
SZ1
WT
Cacheability bit
Share status bit
Write-through bit
Reserved bits (write value should be 0
and read value is undefined )
Figure 7.23 Memory-Mapped UTLB Data Array (TLB Compatible Mode)
7.7.6
UTLB Data Array (TLB Extended Mode)
In TLB extended mode, the names of the data arrays have been changed from UTLB data array to
UTLB data array 1, UTLB data array 2 is added, and the EPR and ESZ bits are accessible. In TLB
extended mode, the PR and SZ bits of UTLB data array 1 are reserved and 0 should be specified
as the write value for these bits. In addition, when a write to UTLB data array 1 is performed, a
write to UTLB data array 2 of the same entry should always be performed after that.
In TLB compatible mode (MMUCR.ME = 0), UTLB data array 2 cannot be accessed. Operation if
they are accessed is not guaranteed.
(1)
UTLB Data Array 1
In TLB extended mode, bits 7 to 4 in the data field, which correspond to the PR and SZ bits in
compatible mode, are reserved. Specify 0 as the write value for these bits.
31
20 19
14 13
Address field 1 1 1 1 0 1 1 1 0 0 0 0 * * * * * *
31
29 28
Data field
Legend:
PPN: Physical page number
Validity bit
V:
Entry
E:
Dirty bit
D:
Don't care
*:
8 7
E
10 9 8 7
PPN
2 1 0
* * * * * * 0 0
V
4 3 2 1 0
C D
SH WT
C: Cacheability bit
SH: Share status bit
WT: Write-through bit
: Reserved bits
(write value should be 0,
and read value is undefined)
Figure 7.24 Memory-Mapped UTLB Data Array 1 (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 197 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
(2)
UTLB Data Array 2
The UTLB data array is allocated to addresses H'F780 0000 to H'F78F FFFF in the P4 area.
Access to data array 2 requires a 32-bit address field specification (when reading or writing) and a
32-bit data field specification (when writing). Information for selecting the entry to be accessed is
specified in the address field, and EPR and ESZ to be written to data array 2 are specified in the
data field.
In the address field, bits [31:20] have the value H'F78 indicating UTLB data array 2 and the entry
is specified by bits [13:8].
In the data field, bits [13:8] indicate EPR, and bits [7:4] indicate ESZ, respectively.
The following two kinds of operation can be applied to UTLB data array 2:
1. UTLB data array 2 read
EPR and ESZ are read into the data field from the UTLB entry corresponding to the entry set
in the address field.
2. UTLB data array 2 write
EPR and ESZ specified in the data field are written to the UTLB entry corresponding to the
entry set in the address field.
31
20 19
14 13
Address field 1 1 1 1 0 1 1 1 1 0 0 0 * * * * * *
31
Data field
Legend:
E:
Entry
EPR: Protection key data
ESZ: Page size bits
*:
Don't care
2 1 0
8 7
E
* * * * * * 0 0
8 7
13
EPR
4 3
0
ESZ
: Reserved bits
(write value should be 0,
and read value is undefined)
Figure 7.25 Memory-Mapped UTLB Data Array 2 (TLB Extended Mode)
Rev.1.00 Jan. 10, 2008 Page 198 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.8
32-Bit Address Extended Mode
Setting the SE bit in PASCR to 1 changes mode from 29-bit address mode which handles the 29bit physical address space to 32-bit address extended mode which handles the 32-bit physical
address space.
Virtual address space
29-bits
address space
U0/P0
(2 Gbytes)
0.5 Gbyte
Virtual address space
32-bit
address space
U0/P0
(2 Gbytes)
4 Gbytes
P1/P2
(1 Gbyte)
P1 (0.5 Gbyte)
P2 (0.5 Gbyte)
P3 (0.5 Gbyte)
P3 (0.5 Gbyte)
P4 (0.5 Gbyte)
P4 (0.5 Gbyte)
29-bit Physical address space
(Normal mode)
32-bit Physical address space
(Extended mode)
Figure 7.26 Physical Address Space (32-Bit Address Extended Mode)
7.8.1
Overview of 32-Bit Address Extended Mode
In 32-bit address extended mode, the privileged space mapping buffer (PMB) is introduced. The
PMB maps virtual addresses in the P1 or P2 area which are not translated in 29-bit address mode
to the 32-bit physical address space. In areas which are target for address translation of the TLB
(UTLB/ITLB), upper three bits in the PPN field of the UTLB or ITLB are extended and then
addresses after the TLB translation can handle the 32-bit physical addresses.
As for the cache operation, P1 area is cacheable and P2 area is non-cacheable in the case of 29-bit
address mode, but the cache operation of both P1 and P2 area are determined by the C bit and WT
bit in the PMB in the case of 32-bit address mode.
Rev.1.00 Jan. 10, 2008 Page 199 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.8.2
Transition to 32-Bit Address Extended Mode
This LSI enters 29-bit address mode after a power-on reset. Transition is made to 32-bit address
extended mode by setting the SE bit in PASCR to 1. In 32-bit address extended mode, the MMU
operates as follows.
1. When the AT bit in MMUCR is 0, virtual addresses in the U0, P0, or P3 area become 32-bit
physical addresses. Addresses in the P1 or P2 area are translated according to the PMB
mapping information. B'10 should be set to the upper 2 bits of virtual page number
(VPN[31:30]) in the PMB in order to indicate P1 or P2 area. The operation is not guaranteed
when the value except B'10 is set to these bits.
2. When the AT bit in MMUCR is 1, virtual addresses in the U0, P0, or P3 area are translated to
32-bit physical addresses according to the TLB conversion information. Addresses in the P1 or
P2 area are translated according to the PMB mapping information. B'10 should be set to the
upper 2 bits of virtual page number (VPN[31:30]) in the PMB in order to indicate P1 or P2
area. The operation is not guaranteed when the value except B'10 is set to these bits.
3. Regardless of the setting of the AT bit in MMUCR, bits 31 to 29 in physical addresses become
B'111 in the control register area (addresses H'FC00 0000 to H'FFFF FFFF). When the control
register area is recorded in the UTLB and accessed, B'111 should be set to PPN[31:29].
7.8.3
Privileged Space Mapping Buffer (PMB) Configuration
In 32-bit address extended mode, virtual addresses in the P1 or P2 area are translated according to
the PMB mapping information. The PMB has 16 entries and configuration of each entry is as
follows.
Entry 0
VPN[31:24]
V
PPN[31:24]
SZ[1:0]
C UB WT
Entry 1
VPN[31:24]
V
PPN[31:24]
SZ[1:0]
C UB WT
Entry 2
VPN[31:24]
V
PPN[31:24]
SZ[1:0]
C UB WT
V
PPN[31:24]
SZ[1:0]
C UB WT
Entry 15
VPN[31:24]
Figure 7.27 PMB Configuration
Rev.1.00 Jan. 10, 2008 Page 200 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Legend:
• VPN: Virtual page number
For 16-Mbyte page: Upper 8 bits of virtual address
For 64-Mbyte page: Upper 6 bits of virtual address
For 128-Mbyte page: Upper 5 bits of virtual address
For 512-Mbyte page: Upper 3 bits of virtual address
Note: B'10 should be set to the upper 2 bits of VPN in order to indicate P1 or P2 area.
• SZ: Page size bits
Specify the page size.
00: 16-Mbyte page
01: 64-Mbyte page
10: 128-Mbyte page
11: 512-Mbyte page
• V: Validity bit
Indicates whether the entry is valid.
0: Invalid
1: Valid
Cleared to 0 by a power-on reset.
Not affected by a manual reset.
• PPN: Physical page number
Upper 8 bits of the physical address of the physical page number.
With a 16-Mbyte page, PPN[31:24] are valid.
With a 64-Mbyte page, PPN[31:26] are valid.
With a 128-Mbyte page, PPN[31:27] are valid.
With a 512-Mbyte page, PPN[31:29] are valid.
• C: Cacheability bit
Indicates whether a page is cacheable.
0: Not cacheable
1: Cacheable
Rev.1.00 Jan. 10, 2008 Page 201 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
• WT: Write-through bit
Specifies the cache write mode.
0: Copy-back mode
1: Write-through mode
• UB: Buffered write bit
Specifies whether a buffered write is performed.
0: Buffered write (Data access of subsequent processing proceeds without waiting for the write
to complete.)
1: Unbuffered write (Data access of subsequent processing is stalled until the write has
completed.)
7.8.4
PMB Function
This LSI supports the following PMB functions.
1. Only memory-mapped write can be used for writing to the PMB. The LDTLB instruction
cannot be used to write to the PMB.
2. Software must ensure that every accessed P1 or P2 address has a corresponding PMB entry
before the access occurs. When an access to an address in the P1 or P2 area which is not
recorded in the PMB is made, this LSI is reset by the TLB. In this case, the accessed address in
the P1 or P2 area which causes the TLB reset is stored in the TEA and code H′140 in the
EXPEVT.
3. The SH-4A does not guarantee the operation when multiple hit occurs in the PMB. Special
care should be taken when the PMB mapping information is recorded by software.
4. The PMB does not have an associative write function.
5. Since there is no PR field in the PMB, read/write protection cannot be preformed. The address
translation target of the PMB is the P1 or P2 address. In user mode access, an address error
exception occurs.
6. Both entries from the UTLB and PMB are mixed and recorded in the ITLB by means of the
hardware ITLB miss handling. However, these entries can be identified by checking whether
VPN[31:30] is 10 or not. When an entry from the PMB is recorded in the ITLB, H′00, 01, and
1 are recorded in the ASID, PR, and SH fields which do not exist in the PMB, respectively.
Rev.1.00 Jan. 10, 2008 Page 202 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.8.5
Memory-Mapped PMB Configuration
To enable the PMB to be managed by software, its contents are allowed to be read from and
written to by a P1 or P2 area program with a MOV instruction in privileged mode. The PMB
address array is allocated to addresses H'F610 0000 to H'F61F FFFF in the P4 area and the PMB
data array to addresses H'F710 0000 to H'F71F FFFF in the P4 area. VPN and V in the PMB can
be accessed as an address array, PPN, V, SZ, C, WT, and UB as a data array. V can be accessed
from both the address array side and the data array side. A program which executes a PMB
memory-mapped access should be placed in the page area at which the C bit in PMB is cleared to
0.
1. PMB address array read
When memory reading is performed while bits 31 to 20 in the address field are specified as
H'F61 which indicates the PMB address array and bits 11 to 8 in the address field as an entry,
bits 31 to 24 in the data field are read as VPN and bit 8 in the data field as V.
2. PMB address array write
When memory writing is performed while bits 31 to 20 in the address field are specified as
H'F61 which indicates the PMB address array and bits 11 to 8 in the address field as an entry,
and bits 31 to 24 in the data field are specified as VPN and bit 8 in the data field as V, data is
written to the specified entry.
3. PMB data array read
When memory reading is performed while bits 31 to 20 in the address field are specified as
H'F71 which indicates the PMB data array and bits 11 to 8 in the address field as an entry, bits
31 to 24 in the data field are read as PPN, bit 9 in the data field as UB, bit 8 in the data field as
V, bits 7 and 4 in the data field as SZ, bit 3 in the data field as C, and bit 0 in the data field as
WT.
4. PMB data array write
When memory writing is performed while bits 31 to 20 in the address field are specified as
H'F71 which indicates the PMB data array and bits 11 to 8 in the address field as an entry, and
bits 31 to 24 in the data field are specified as PPN, bit 9 in the data field as UB, bit 8 in the
data field as V, bits 7 and 4 in the data field as SZ, bit 3 in the data field as C, and bit 0 in the
data field as WT, data is written to the specified entry.
Rev.1.00 Jan. 10, 2008 Page 203 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
31
20 19
E
24 23
31
Data field
8 7
12 11
Address field 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0
0
00 0 0 0 0 0 0
8
0
V
VPN
VPN: Physical page number
V: Validity bit
E: Entry
: Reserved bits (write value should be 0
and read value is undefined )
Figure 7.28 Memory-Mapped PMB Address Array
31
20 19
12 11
Address field 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0
24 23
31
Data field
8 7
E
10 9 8 7 6 5 4 3 2 1 0
UB V
PPN
PPN: Physical page number
V: Validity bit
E: Entry
SZ: Page size bits
0
0 0 0 0 0 0 0 0
C
UB: Buffered write bit
SZ
C: Cacheability bit
WT: Write-through bit
: Reserved bits (write value should be 0
and read value is undefined )
WT
Figure 7.29 Memory-Mapped PMB Data Array
7.8.6
Notes on Using 32-Bit Address Extended Mode
When using 32-bit address extended mode, note that the items described in this section are
extended or changed as follows.
(1)
PASCR
The SE bit is added in bit 31 in the control register (PASCR). The bits 6 to 0 of the UB in the
PASCR are invalid (Note that the bit 7 of the UB is still valid). When writing to the P1 or P2 area,
the UB bit in the PMB controls whether a buffered write is performed or not. When the MMU is
enabled, the UB bit in the TLB controls writing to the P0, P3, or U0 area. When the MMU is
disabled, writing to the P0, P3, or U0 area is always performed as a buffered write.
Bit
Bit Name
Initial
Value
R/W
Description
31
SE
0
R/W
0: 29-bit address mode
1: 32-bit address extended mode
Rev.1.00 Jan. 10, 2008 Page 204 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Bit
Bit Name
Initial
Value
R/W
Description
30 to 8
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
7 to 0
UB
All 0
R/W
Buffered Write Control for Each Area (64 Mbytes)
When writing is performed without using the cache or in
the cache write-through mode, these bits specify
whether the CPU waits for the end of writing for each
area.
0: The CPU does not wait for the end of writing
1: The CPU stalls and waits for the end of writing
UB[7]: Corresponding to the control register area
UB[6:0]: These bits are invalid in 32-bit address
extended mode.
(2)
ITLB
The PPN field in the ITLB is extended to bits 31 to 10.
(3)
UTLB
The PPN field in the UTLB is extended to bits 31 to 10. The same UB bit as that in the PMB is
added in each entry of the UTLB.
• UB: Buffered write bit
Specifies whether a buffered write is performed.
0: Buffered write (Subsequent processing proceeds without waiting for the write to complete.)
1: Unbuffered write (Subsequent processing is stalled until the write has completed.)
In a memory-mapped TLB access, the UB bit can be read from or written to by bit 9 in the data
array.
(4)
PTEL
The same UB bit as that in the PMB is added in bit 9 in PTEL. This UB bit is written to the UB bit
in the UTLB by the LDTLB instruction. The PPN field is extended to bits 31 to 10.
Rev.1.00 Jan. 10, 2008 Page 205 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
(5)
CCR.CB
The CB bit in CCR is invalid. Whether a cacheable write for the P1 area is performed in copyback mode or write-though mode is determined by the WT bit in the PMB.
(6)
IRMCR.MT
The MT bit in IRMCR is valid for a memory-mapped PMB write.
(7)
QACR0, QACR1
AREA0[4:2]/AREA1[4:2] fields of QACR0/QACR1 are extended to AREA0[7:2]/AREA1[7:2]
corresponding to physical address [31:26].
(8)
LSA0, LSA1, LDA0, LDA1
L0SADR, L1SADR, L0DADR, and L1DADR fields are extended to bits 31 to 10.
When using 32-bit address mode, the following notes should be applied to software.
1. For the SE bit switching, switching from 0 to 1 is only supported in a boot routine which is
allocated in an area where caching and TLB-based address translation are not allowed and runs
after a power-on reset or manual reset.
2. After switching the SE bit, an area in which the program is allocated becomes the target of the
PMB address translation. Therefore, the area should be recorded in the PMB before switching
the SE bit. An address which may be accessed in the P1 or P2 area such as the exception
handler should also be recorded in the PMB.
3. When an external memory access occurs by an operand memory access located before the
MOV.L instruction which switches the SE bit, external memory space addresses accessed in
both address modes should be the same.
4. Note that the V bit is mapped to both address array and data array in PMB registration. That is,
first write 0 to the V bit in one of arrays and then write 1 to the V bit in another array.
Rev.1.00 Jan. 10, 2008 Page 206 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.9
32-Bit Boot Function
The address mode of this LSI after a power-on reset or manual reset can be switched between 29bit address mode and 32-bit address extended mode by specifying external pins. The following
changes apply when this LSI is booted up in 32-bit address extended mode.
7.9.1
Initial Entries to PMB
When 32-bit address extended mode is specified by external pins, the following initial entries are
recorded in the PMB after a power-on reset or manual reset, and the SE bit in the PASCR register
is initialized to 1. For entries 2 to 15, only the V bit is initialized to 0.
Entry
VPN[31:24]
PPN[31:24]
V
SZ[1:0]
C
UB
WT
0
10000000
00000000
1
11
1
0
1
1
10100000
00000000
1
11
0
0
0
7.9.2
Notes on 32-Bit Boot
Immediately after a power-on or manual reset, the P1 or P2 area is mapped to the PMB. Therefore,
when an area other than that indicated by the initial entry needs to be mapped, follow the
procedures below to modify the PMB, taking care not to generate PMB misses and multiple PMB
hits. The procedure should be set up within the boot routine and should be executed before
activation of the caches and TLB (CCR.ICE = 1, CCR.OCE = 1, and MMUCR.AT = 1). Do not
use routines other than the boot routine to change the value recorded in the PMB.
(1)
When the Program Modifying the PMB is in the P1 or P2 Area
1. Read the initial entry, change only the SZ bits to reduce the page size, and save the new value
over the previous entry. The program that changes the PMB should be allocated within 1
Mbyte of the top of the page with the reduced size.
2. Invalidate the entry remaining in the ITLB that corresponds to the PMB by writing 1 to the TI
bit in the MMUCR register.
3. In the memory-mapped PMB, record PMB entries to fill the P1 or P2 area in which the PMB
translation information is evicted by step 1.
4. Execute one of the following steps, A, B, and C. Do not execute a branch or operand access for
the P1 or P2 area in which the PMB translation information is evicted by step 1.
A. Perform a branch using the RTE instruction.
B. Execute the ICBI instruction for any address (including non-cacheable area).
Rev.1.00 Jan. 10, 2008 Page 207 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
C. If the MT bit in IRMCR is set to 0 (initial value) before accessing the memory-mapped
PMB, no specific sequence is required.
However, correct operation with method C may no longer be guaranteed in future SuperHfamily products. Selection of step A or B is recommended to ensure compatibility with future
SuperH-family products.
(2)
When the Program Modifying the PMB is in Areas Other than the P1 or P2 Area
1. Invalidate the entry remaining in the ITLB by writing 1 to the TI bit in MMUCR.
2. In the memory-mapped PMB, change PMB entries.
3. Execute one of the following steps, A, B, and C. Do not execute a branch or operand access for
the P1 or P2 area before this execution.
A. Perform a branch using the RTE instruction.
B. Execute the ICBI instruction for any address (including non-cacheable area).
C. If the MT bit in IRMCR is set to 0 (initial value) before accessing the memory-mapped
PMB, no specific sequence is required.
However, correct operation with method C may no longer be guaranteed in future SuperHfamily products. Selection of step A or B is recommended to ensure compatibility with future
SuperH-family products.
Rev.1.00 Jan. 10, 2008 Page 208 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
7.10
Usage Notes
7.10.1
Note on Using LDTLB Instruction
When using an LDTLB instruction instead of software to a value to the MMUCR. URC, execute 1
or 2 below.
1. In 29-bit address mode, follow A. and B. below. In 32-bit address mode, follow A. through D.
below.
A. Place the TLB miss exception handling routine*1 only in the P1, P2 area ,or the on-chip
memory so that all the instruction accesses*3 in the TLB miss exception handling routine
should occur solely in the P1, P2 area, or the on-chip memory. Clear the RP bit in the
RAMCR register to 0 (initial value), when the TLB miss exception handling routine is
placed in the on-chip memory.
B. Use only one page of the PMB for instruction accesses*3 in the TLB miss exception
handling routine*1. In 32-bit address mode, do not place them in the last 64 bytes of a page
of the PMB.
C. In 32-bit address mode, obey 1 and 2 below when recording information in the UTLB in
the MMU-related exception*2 handling routine.
a. When thea TLB miss exception occurs, and recording the information of a page with
the access right in the UTLB, do not record the page, in which the exception has
occurred, in the UTLB using the following two operations.
⎯ Specifies the protection key data that causes a protection violation exception upon
re-execution of the instruction that has caused the TLB miss exception and records
the page, in which the TLB miss exception has occurred, in the UTLB.
⎯ Specifies the protection key data that does not cause a protection violation
exception in the protection violation exception handling routine to record the page
in the UTLB and re-executes the instruction that has caused the protection violation
exception.
b. When an initial page write exception occurs and the TLB entry in the UTLB of which
the dirty bit is 1 is replaced, before the write instruction for the page corresponding to
this replaced TLB entry is completed, register the TLB entry of which the dirty bit is 1.
D. Do not make an attempt to execute the FDIV or FSQRT instruction in the TLB miss
exception handling routine.
2. If a TLB miss exception occurs, add 1 to MMUCR.URC before executing an LDTLB
instruction.
Rev.1.00 Jan. 10, 2008 Page 209 of 1658
REJ09B0261-0100
7. Memory Management Unit (MMU)
Notes: 1. An exception handling routine is an entire set of instructions that are executed from the
address (VBR + offset) upon occurrence of an exception to the RTE for returning to the
original program or to the RTE delay slot.
2. MMU-related exceptions are: instruction TLB miss exception, instruction TLB miss
protection violation exception, data TLB miss exception, data TLB protection violation
exception, and initial page write exception.
3. Instruction accesses include the PREFI and ICBI instructions.
Rev.1.00 Jan. 10, 2008 Page 210 of 1658
REJ09B0261-0100
8. Caches
Section 8 Caches
This LSI has an on-chip 32-Kbyte instruction cache (IC) for instructions and an on-chip 32-Kbyte
operand cache (OC) for data.
8.1
Features
The features of the cache are given in table 8.1.
This LSI supports two 32-byte store queues (SQs) to perform high-speed writes to external
memory. The features of the store queues are given in table 8.2.
Table 8.1
Cache Features
Item
Instruction Cache
Operand Cache
Capacity
32-Kbyte cache
32-Kbyte cache
Type
4-way set-associative, virtual
4-way set-associative, virtual
address index/physical address tag address index/physical address tag
Line size
32 bytes
32 bytes
Entries
256 entries/way
256 entries/way
Write method
⎯
Copy-back/write-through selectable
Replacement method
LRU (least-recently-used) algorithm LRU (least-recently-used) algorithm
Table 8.2
Store Queue Features
Item
Store Queues
Capacity
32 bytes × 2
Addresses
H'E000 0000 to H'E3FF FFFF
Write
Store instruction (1-cycle write)
Write-back
Prefetch instruction (PREF instruction)
Access right
When MMU is disabled: Determined by SQMD bit in MMUCR
When MMU is enabled: Determined by PR for each page
The operand cache of this LSI is 4-way set associative, each may comprising 256 cache lines.
Figure 8.1 shows the configuration of the operand cache.
The instruction cache is 4-way set-associative, each way comprising 256 cache lines. Figure 8.2
shows the configuration of the instruction cache.
Rev.1.00 Jan. 10, 2008 Page 211 of 1658
REJ09B0261-0100
8. Caches
This LSI has an IC way prediction scheme to reduce power consumption. In addition, memorymapped associative writing, which is detectable as an exception, can be enabled by using the nonsupport detection exception register (EXPMASK). For details, see section 5, Exception Handling.
Virtual address
12
31
Address array
(way 0 to way 3)
8
0
5 4
[12:5]
Entry selection
22
10
Tag
U
3
V
2
0
Longword (LW) selection
Data array
(way 0 to way3)
LRU
LW0 LW1 LW2 LW3 LW4 LW5 LW6 LW7
MMU
19
255
19 bits
1 bit 1 bit
32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits
Comparison
Read data
Write data
(Way 0 to way 3)
Hit signal
Figure 8.1 Configuration of Operand Cache (Cache size = 32 Kbytes)
Rev.1.00 Jan. 10, 2008 Page 212 of 1658
REJ09B0261-0100
6 bits
8. Caches
Virtual address
31
13 12
10
5 4
[12:5]
2
0
Longword (LW) selection
Entry selection
22
Address array
(way 0 to way 3)
8
0
3
Data array
(way 0 to way3)
Tag
V
LW0 LW1 LW2 LW3 LW4 LW5 LW6 LW7
19 bits
1 bit
32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits
LRU
MMU
19
255
6 bits
Comparison
Read data
(Way 0 to way 3)
Hit signal
Figure 8.2 Configuration of Instruction Cache (Cache size = 32 Kbytes)
• Tag
Stores the upper 19 bits of the 29-bit physical address of the data line to be cached. The tag is
not initialized by a power-on or manual reset.
• V bit (validity bit)
Indicates that valid data is stored in the cache line. When this bit is 1, the cache line data is
valid. The V bit is initialized to 0 by a power-on reset, but retains its value in a manual reset.
• U bit (dirty bit)
The U bit is set to 1 if data is written to the cache line while the cache is being used in copyback mode. That is, the U bit indicates a mismatch between the data in the cache line and the
data in external memory. The U bit is never set to 1 while the cache is being used in writethrough mode, unless it is modified by accessing the memory-mapped cache (see section 8.6,
Memory-Mapped Cache Configuration). The U bit is initialized to 0 by a power-on reset, but
retains its value in a manual reset.
Rev.1.00 Jan. 10, 2008 Page 213 of 1658
REJ09B0261-0100
8. Caches
• Data array
The data field holds 32 bytes (256 bits) of data per cache line. The data array is not initialized
by a power-on or manual reset.
• LRU
In a 4-way set-associative method, up to 4 items of data can be registered in the cache at each
entry address. When an entry is registered, the LRU bit indicates which of the 4 ways it is to be
registered in. The LRU mechanism uses 6 bits of each entry, and its usage is controlled by
hardware. The LRU (least-recently-used) algorithm is used for way selection, and selects the
less recently accessed way. The LRU bits are initialized to 0 by a power-on reset but not by a
manual reset. The LRU bits cannot be read from or written to by software.
Rev.1.00 Jan. 10, 2008 Page 214 of 1658
REJ09B0261-0100
8. Caches
8.2
Register Descriptions
The following registers are related to cache.
Table 8.3
Register Configuration
Register Name
Abbreviation R/W
P4 Address*
Area 7 Address*
Size
Cache control register
CCR
R/W
H'FF00 001C
H'1F00 001C
32
Queue address control register 0
QACR0
R/W
H'FF00 0038
H'1F00 0038
32
Queue address control register 1
QACR1
R/W
H'FF00 003C
H'1F00 003C
32
On-chip memory control register
RAMCR
R/W
H'FF00 0074
H'1F00 0074
32
Note:
*
Table 8.4
These P4 addresses are for the P4 area in the virtual address space. These area 7
addresses are accessed from area 7 in the physical address space by means of the
TLB.
Register States in Each Processing State
Register Name
Abbreviation
Power-on Reset Manual Reset
Sleep
Standby
Cache control register
CCR
H'0000 0000
H'0000 0000
Retained
Retained
Queue address control register 0 QACR0
Undefined
Undefined
Retained
Retained
Queue address control register 1 QACR1
Undefined
Undefined
Retained
Retained
On-chip memory control register
H'0000 0000
H'0000 0000
Retained
Retained
RAMCR
Rev.1.00 Jan. 10, 2008 Page 215 of 1658
REJ09B0261-0100
8. Caches
8.2.1
Cache Control Register (CCR)
CCR controls the cache operating mode, the cache write mode, and invalidation of all cache
entries.
CCR modifications must only be made by a program in the non-cacheable P2 area or IL memory.
After CCR has been updated, execute one of the following three methods before an access
(including an instruction fetch) to the cacheable area is performed.
1. Execute a branch using the RTE instruction. In this case, the branch destination may be the
cacheable area.
2. Execute the ICBI instruction for any address (including non-cacheable area).
3. If the R2 bit in IRMCR is 0 (initial value) before updating CCR, the specific instruction does
not need to be executed. However, note that the CPU processing performance will be lowered
because the instruction fetch is performed again for the next instruction after CCR has been
updated.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
ICE
ICI
Initial value:
R/W:
Bit
0
R
0
R
Bit Name
31 to 12 ⎯
0
R
0
R
0
R/W
0
R
0
R
0
R/W
Initial
Value
R/W
Description
All 0
R
Reserved
0
R
0
R
0
R
0
R
3
2
1
0
OCI
CB
WT
OCE
0
R/W
0
R/W
0
R/W
0
R/W
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
11
ICI
0
R/W
IC Invalidation Bit
When 1 is written to this bit, the V bits of all IC entries
are cleared to 0. This bit is always read as 0.
Rev.1.00 Jan. 10, 2008 Page 216 of 1658
REJ09B0261-0100
8. Caches
Bit
Bit Name
Initial
Value
R/W
Description
10, 9
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
8
ICE
0
R/W
IC Enable Bit
Selects whether the IC is used. Note however when
address translation is performed, the IC cannot be used
unless the C bit in the page management information is
also 1.
0: IC not used
1: IC used
7 to 4
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
3
OCI
0
R/W
OC Invalidation Bit
When 1 is written to this bit, the V and U bits of all OC
entries are cleared to 0. This bit is always read as 0.
2
CB
0
R/W
Copy-Back Bit
Indicates the P1 area cache write mode.
0: Write-through mode
1: Copy-back mode
1
WT
0
R/W
Write-Through Mode
Indicates the P0, U0, and P3 area cache write mode.
When address translation is performed, the value of the
WT bit in the page management information has
priority.
0: Copy-back mode
1: Write-through mode
0
OCE
0
R/W
OC Enable Bit
Selects whether the OC is used. Note however when
address translation is performed, the OC cannot be
used unless the C bit in the page management
information is also 1.
0: OC not used
1: OC used
Rev.1.00 Jan. 10, 2008 Page 217 of 1658
REJ09B0261-0100
8. Caches
8.2.2
Queue Address Control Register 0 (QACR0)
QACR0 specifies the area onto which store queue 0 (SQ0) is mapped when the MMU is disabled.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R
0
R
AREA0
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
R
Reserved
0
R
0
R
0
R
R/W
R/W
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
4 to 2
AREA0
Undefined R/W
1, 0
⎯
All 0
R
When the MMU is disabled, these bits generate
physical address bits [28:26] for SQ0.
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
Rev.1.00 Jan. 10, 2008 Page 218 of 1658
REJ09B0261-0100
8. Caches
8.2.3
Queue Address Control Register 1 (QACR1)
QACR1 specifies the area onto which store queue 1 (SQ1) is mapped when the MMU is disabled.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
0
R
0
R
AREA1
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
R
Reserved
0
R
0
R
0
R
R/W
R/W
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
4 to 2
AREA1
Undefined R/W
1, 0
⎯
All 0
R
When the MMU is disabled, these bits generate
physical address bits [28:26] for SQ1.
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
Rev.1.00 Jan. 10, 2008 Page 219 of 1658
REJ09B0261-0100
8. Caches
8.2.4
On-Chip Memory Control Register (RAMCR)
RAMCR controls the number of ways in the IC and OC and prediction of the IC way.
RAMCR modifications must only be made by a program in the non-cacheable P2 area. After
RAMCR has been updated, execute one of the following three methods before an access
(including an instruction fetch) to the cacheable area, the IL memory area, the OL memory area, or
the U memory area is performed.
1. Execute a branch using the RTE instruction. In this case, the branch destination may be the
non-cacheable area, the IL memory area, the OL memory area, or the U memory area.
2. Execute the ICBI instruction for any address (including non-cacheable area).
3. If the R2 bit in IRMCR is 0 (initial value) before updating RAMCR, the specific instruction
does not need to be executed. However, note that the CPU processing performance will be
lowered because the instruction fetch is performed again for the next instruction after RAMCR
has been updated.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
7
6
5
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Bit
0
R
0
R
Bit Name
31 to 10 ⎯
0
R
0
R
0
R
0
R
9
8
RMD
RP
IC2W OC2W ICWPW
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
All 0
R
Reserved
0
R/W
0
R/W
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
9
RMD
0
R/W
On-Chip Memory Access Mode Bit
For details, see section 9.4, On-Chip Memory
Protective Functions.
Rev.1.00 Jan. 10, 2008 Page 220 of 1658
REJ09B0261-0100
8. Caches
Bit
Bit Name
Initial
Value
R/W
Description
8
RP
0
R/W
On-Chip Memory Protection Enable Bit
For details, see section 9.4, On-Chip Memory
Protective Functions.
7
IC2W
0
R/W
IC Two-Way Mode bit
0: IC is a four-way operation
1: IC is a two-way operation
For details, see section 8.4.3, IC Two-Way Mode.
6
OC2W
0
R/W
OC Two-Way Mode bit
0: OC is a four-way operation
1: OC is a two-way operation
For details, see section 8.3.6, OC Two-Way Mode.
5
ICWPD
0
R/W
IC Way Prediction Stop
Selects whether the IC way prediction is used.
0: Instruction cache performs way prediction.
1: Instruction cache does not perform way prediction.
4 to 0
⎯
All 0
R
Reserved
For details on reading from or writing to these bits, see
description in General Precautions on Handling of
Product.
Rev.1.00 Jan. 10, 2008 Page 221 of 1658
REJ09B0261-0100
8. Caches
8.3
Operand Cache Operation
8.3.1
Read Operation
When the Operand Cache (OC) is enabled (OCE = 1 in CCR) and data is read from a cacheable
area, the cache operates as follows:
1. The tag, V bit, U bit, and LRU bits on each way are read from the cache line indexed by virtual
address bits [12:5].
2. The tags read from the each way is compared with bits [28:10] of the physical address
resulting from virtual address translation by the MMU:
⎯ If there is a way whose tag matches and its V bit is 1, see No. 3.
⎯ If there is no way whose tag matches and its V bit is 1 and the U bit of the way which is
selected to replace using the LRU bits is 0, see No. 4.
⎯ If there is no way whose tag matches and its V bit is 1 and the U bit of the way which is
selected to replace using the LRU bits is 1, see No. 5.
3. Cache hit
The data indexed by virtual address bits [4:0] is read from the data field of the cache line on
the hitted way in accordance with the access size. Then the LRU bits are updated to indicate
the hitted way is the latest one.
4. Cache miss (no write-back)
Data is read into the cache line on the way, which is selected to replace, from the physical
address space corresponding to the virtual address. Data reading is performed, using the
wraparound method, in order from the quad-word data(8 bytes) including the cache-missed
data. When the corresponding data arrives in the cache, the read data is returned to the CPU.
While the remaining data on the cache line is being read, the CPU can execute the next
processing. When reading of one line of data is completed, the tag corresponding to the
physical address is recorded in the cache, 1 is written to the V bit and 0 is written to the U bit
on the way. Then the LRU bit is updated to indicate the way is latest one.
5. Cache miss (with write-back)
The tag and data field of the cache line on the way which is selected to replace are saved in the
write-back buffer. Then data is read into the cache line on the way which is selected to replace
from the physical address space corresponding to the virtual address. Data reading is
performed, using the wraparound method, in order from the quad-word data (8 bytes)
including the cache-missed data, and when the corresponding data arrives in the cache, the
read data is returned to the CPU. While the remaining one cache line of data is being read, the
CPU can execute the next processing. When reading of one line of data is completed, the tag
corresponding to the physical address is recorded in the cache, 1 is written to the V bit, and 0
to the U bit. And the LRU bits are updated to indicate the way is latest one. The data in the
Rev.1.00 Jan. 10, 2008 Page 222 of 1658
REJ09B0261-0100
8. Caches
write-back buffer is then written back to external memory.
8.3.2
Prefetch Operation
When the Operand Cache (OC) is enabled (OCE = 1 in CCR) and data is prefetched from a
cacheable area, the cache operates as follows:
1. The tag, V bit, U bit, and LRU bits on each way are read from the cache line indexed by virtual
address bits [12:5].
2. The tag, read from each way, is compared with bits [28:10] of the physical address resulting
from virtual address translation by the MMU:
⎯ If there is a way whose tag matches and its V bit is 1, see No. 3.
⎯ If there is no way whose tag matches and the V bit is 1, and the U bit of the way which is
selected to replace using the LRU bits is 0, see No. 4.
⎯ If there is no way whose tag matches and the V bit is 1, and the U bit of the way which is
selected to replace using the LRU bits is 1, see No. 5.
3. Cache hit
Then the LRU bits are updated to indicate the hitted way is the latest one.
4. Cache miss (no write-back)
Data is read into the cache line on the way, which is selected to replace, from the physical
address space corresponding to the virtual address. Data reading is performed, using the
wraparound method, in order from the quad-word data (8 bytes) including the cache-missed
data. In the prefetch operation the CPU doesn't wait the data arrives. While the one cache line
of data is being read, the CPU can execute the next processing. When reading of one line of
data is completed, the tag corresponding to the physical address is recorded in the cache, 1 is
written to the V bit and 0 is written to the U bit on the way. And the LRU bit is updated to
indicate the way is latest one.
5. Cache miss (with write-back)
The tag and data field of the cache line on the way which is selected to replace are saved in the
write-back buffer. Then data is read into the cache line on the way which is selected to replace
from the physical address space corresponding to the virtual address. Data reading is
performed, using the wraparound method, in order from the quad-word data (8 bytes)
including the cache-missed data. In the prefetch operation the CPU doesn't wait the data
arrives. While the one cache line of data is being read, the CPU can execute the next
processing. And the LRU bits are updated to indicate the way is latest one. The data in the
write-back buffer is then written back to external memory.
Rev.1.00 Jan. 10, 2008 Page 223 of 1658
REJ09B0261-0100
8. Caches
8.3.3
Write Operation
When the Operand Cache (OC) is enabled (OCE = 1 in CCR) and data is written to a cacheable
area, the cache operates as follows:
1. The tag, V bit, U bit, and LRU bits on each way are read from the cache line indexed by virtual
address bits [12:5].
2. The tag, read from each way, is compared with bits [28:10] of the physical address resulting
from virtual address translation by the MMU:
⎯ If there is a way whose tag matches and its V bit is 1, see No. 3 for copy-back and No. 4
for write-through.
⎯ I If there is no way whose tag matches and its V bit is 1 and the U bit of the way which is
selected to replace using the LRU bits is 0, see No. 5 for copy-back and No. 7 for writethrough.
⎯ If there is no way whose tag matches and its V bit is 1 and the U bit of the way which is
selected to replace using the LRU bits is 1, see No. 6 for copy-back and No. 7 for writethrough.
3. Cache hit (copy-back)
A data write in accordance with the access size is performed for the data field on the hit way
which is indexed by virtual address bits [4:0]. Then 1 is written to the U bit. The LRU bits are
updated to indicate the way is the latest one.
4. Cache hit (write-through)
A data write in accordance with the access size is performed for the data field on the hit way
which is indexed by virtual address bits [4:0]. A write is also performed to external memory
corresponding to the virtual address. Then the LRU bits are updated to indicate the way is the
latest one. In this case, the U bit isn't updated.
5. Cache miss (copy-back, no write-back)
A data write in accordance with the access size is performed for the data field on the hit way
which is indexed by virtual address bits [4:0]. Then, the data, excluding the cache-missed data
which is written already, is read into the cache line on the way which is selected to replace
from the physical address space corresponding to the virtual address.
Data reading is performed, using the wraparound method, in order from the quad-word data (8
bytes) including the cache-missed data. While the remaining data on the cache line is being
read, the CPU can execute the next processing. When reading of one line of data is completed,
the tag corresponding to the physical address is recorded in the cache, 1 is written to the V bit
and the U bit on the way. Then the LRU bit is updated to indicate the way is latest one.
Rev.1.00 Jan. 10, 2008 Page 224 of 1658
REJ09B0261-0100
8. Caches
6. Cache miss (copy-back, with write-back)
The tag and data field of the cache line on the way which is selected to replace are saved in the
write-back buffer. Then a data write in accordance with the access size is performed for the
data field on the hit way which is indexed by virtual address bits [4:0]. Then, the data,
excluding the cache-missed data which is written already, is read into the cache line on the
way which is selected to replace from the physical address space corresponding to the virtual
address. Data reading is performed, using the wraparound method, in order from the quadword data (8 bytes) including the cache-missed data. While the remaining data on the cache
line is being read, the CPU can execute the next processing. When reading of one line of data
is completed, the tag corresponding to the physical address is recorded in the cache, 1 is
written to the V bit and the U bit on the way. Then the LRU bit is updated to indicate the way
is latest one. Then the data in the write-back buffer is then written back to external memory.
7. Cache miss (write-through)
A write of the specified access size is performed to the external memory corresponding to the
virtual address. In this case, a write to cache is not performed.
8.3.4
Write-Back Buffer
In order to give priority to data reads to the cache and improve performance, this LSI has a writeback buffer which holds the relevant cache entry when it becomes necessary to purge a dirty cache
entry into external memory as the result of a cache miss. The write-back buffer contains one cache
line of data and the physical address of the purge destination.
Physical address bits [28:5]
LW0
LW1
LW2
LW3
LW4
LW5
LW6
LW7
Figure 8.3 Configuration of Write-Back Buffer
8.3.5
Write-Through Buffer
This LSI has a 64-bit buffer for holding write data when writing data in write-through mode or
writing to a non-cacheable area. This allows the CPU to proceed to the next operation as soon as
the write to the write-through buffer is completed, without waiting for completion of the write to
external memory.
Physical address bits[28:0]
LW0
LW1
Figure 8.4 Configuration of Write-Through Buffer
Rev.1.00 Jan. 10, 2008 Page 225 of 1658
REJ09B0261-0100
8. Caches
8.3.6
OC Two-Way Mode
When the OC2W bit in RAMCR is set to 1, OC two-way mode which only uses way 0 and way 1
in the OC is entered. Thus, power consumption can be reduced. In this mode, only way 0 and way
1 are used even if a memory-mapped OC access is made.
The OC2W bit should be modified by a program in the P2 area. At that time, if the valid line has
already been recorded in the OC, data should be written back by software, if necessary, 1 should
be written to the OCI bit in CCR, and all entries in the OC should be invalid before modifying the
OC2W bit.
Rev.1.00 Jan. 10, 2008 Page 226 of 1658
REJ09B0261-0100
8. Caches
8.4
Instruction Cache Operation
8.4.1
Read Operation
When the IC is enabled (ICE = 1 in CCR) and instruction fetches are performed from a cacheable
area, the instruction cache operates as follows:
1. The tag, V bit, U bit and LRU bits on each way are read from the cache line indexed by virtual
address bits [12:5].
2. The tag, read from each way, is compared with bits [28:10] of the physical address resulting
from virtual address translation by the MMU:
⎯ If there is a way whose tag matches and the V bit is 1, see No. 3.
⎯ If there is no way whose tag matches and the V bit is 1, see No. 4.
3. Cache hit
The data indexed by virtual address bits [4:2] is read as an instruction from the data field on
the hit way. The LRU bits are updated to indicate the way is the latest one.
4. Cache miss
Data is read into the cache line on the way which selected using LRU bits to replace from the
physical address space corresponding to the virtual address. Data reading is performed, using
the wraparound method, in order from the quad-word data (8 bytes) including the cachemissed data, and when the corresponding data arrives in the cache, the read data is returned to
the CPU as an instruction. While the remaining one cache line of data is being read, the CPU
can execute the next processing. When reading of one line of data is completed, the tag
corresponding to the physical address is recorded in the cache, and 1 is written to the V bit, the
LRU bits are updated to indicate the way is the latest one.
8.4.2
Prefetch Operation
When the IC is enabled (ICE = 1 in CCR) and instruction prefetches are performed from a
cacheable area, the instruction cache operates as follows:
1. The tag, V bit, Ubit and LRU bits on each way are read from the cache line indexed by virtual
address bits [12:5].
2. The tag, read from each way, is compared with bits [28:10] of the physical address resulting
from virtual address translation by the MMU:
⎯ If there is a way whose tag matches and the V bit is 1, see No. 3.
⎯ If there is no way whose tag matches and the V bit is 1, see No. 4.
Rev.1.00 Jan. 10, 2008 Page 227 of 1658
REJ09B0261-0100
8. Caches
3. Cache hit
The LRU bits is updated to indicate the way is the latest one.
4. Cache miss
Data is read into the cache line on a way which selected using the LRU bits to replace from the
physical address space corresponding to the virtual address. Data reading is performed, using
the wraparound method, in order from the quad-word data (8 bytes) including the cachemissed data. In the prefetch operation, the CPU doesn't wait the data arrived. While the one
cache line of data is being read, the CPU can execute the next processing. When reading of one
line of data is completed, the tag corresponding to the physical address is recorded in the
cache, and 1 is written to the V bit, the LRU bits is updated to indicate the way is the latest
one.
8.4.3
IC Two-Way Mode
When the IC2W bit in RAMCR is set to 1, IC two-way mode which only uses way 0 and way 1 in
the IC is entered. Thus, power consumption can be reduced. In this mode, only way 0 and way 1
are used even if a memory-mapped IC access is made.
The IC2W bit should be modified by a program in the P2 area. At that time, if the valid line has
already been recorded in the IC, 1 should be written to the ICI bit in CCR and all entries in the IC
should be invalid before modifying the IC2W bit.
8.4.4
Instruction Cache Way Prediction Operation
This LSI incorporates an instruction cache (IC) way prediction scheme to reduce power
consumption. This is achieved by activating only the data array that corresponds to a predicted
way. When way prediction misses occur, data must be re-read from the right way, which may lead
to lower performance in instruction fetching. Setting the ICWPD bit to 1 disables the IC way
prediction scheme. Since way prediction misses do not occur in this mode, there is no loss of
performance in instruction fetching but the IC consumes more power. The ICWPD bit should be
modified by a program in the non-cacheable P2 area. If a valid line has already been recorded in
the IC at this time, invalidate all entries in the IC by writing 1 to the ICI bit in CCR before
modifying the ICWPD bit.
Rev.1.00 Jan. 10, 2008 Page 228 of 1658
REJ09B0261-0100
8. Caches
8.5
Cache Operation Instruction
8.5.1
Coherency between Cache and External Memory
(1)
Cache Operation Instruction
Coherency between cache and external memory should be assured by software. In this LSI, the
following six instructions are supported for cache operations. Details of these instructions are
given in section 11, Instruction Descriptions of the SH-4A Extended Functions Software Manual.
• Operand cache invalidate instruction: OCBI @Rn
Operand cache invalidation (no write-back)
• Operand cache purge instruction: OCBP @Rn
Operand cache invalidation (with write-back)
• Operand cache write-back instruction: OCBWB @Rn
Operand cache write-back
• Operand cache allocate instruction: MOVCA.L R0,@Rn
Operand cache allocation
• Instruction cache invalidate instruction: ICBI @Rn
Instruction cache invalidation
• Operand access synchronization instruction: SYNCO
Wait for data transfer completion
(2)
Coherency Control
The operand cache can receive "PURGE" and "FLUSH" transaction from SuperHyway bus to
control the cache coherency. Since the address used by the PURGE and FLUSH transaction is a
physical address, do not use the 1 Kbyte page size to avoid cache synonym problem in MMU
enable mode.
• PURGE transaction
When the operand cache is enabled, the PURGE transaction checks the operand cache and
invalidates the hit entry. If the invalidated entry is dirty, the data is written back to the external
memory. If the transaction is not hit to the cache, it is no-operation.
Rev.1.00 Jan. 10, 2008 Page 229 of 1658
REJ09B0261-0100
8. Caches
• FLUSH transaction
When the operand cache is enabled, the FLUSH transaction checks the operand cache and if
the hit line is dirty, then the data is written back to the external memory. If the transaction is
not hit to the cache or the hit entry is not dirty, it is no-operation.
(3)
Changes in Instruction Specifications Regarding Coherency Control
Of the operand cache operating instructions, the coherency control-related specifications of OCBI,
OCBP, and OCBWB have been changed from those of the SH-4A with H'20-valued VER bits in
the processor version register (PVR).
• Changes in the invalidate instruction OCBI@Rn
When Rn is designating an address in a non-cacheable area, this instruction is executed as
NOP in the SH-4A with H'20-valued VER bits in the processor version register (PVR). In this
LSI, this instruction invalidates the operand cache line designated by way = Rn[14:13] and
entry = Rn[12:5] provided that Rn[31:24] = H'F4 (OC address array area). In this process,
writing back of the line does not take place even if the line to be invalidated is dirty. This
operation is only executable in privileged mode, and an address error exception occurs in user
mode. TLB-related exceptions do not occur.
Do not execute this instruction to invalidate the memory-mapped array areas and control
register areas for which Rn[31:24] is not H'F4, and their reserved areas (H'F0 to H'F3, H'F5 to
H'FF).
• Changes in the purge instruction OCBP@Rn
When Rn is designating an address in a non-cacheable area, this instruction is executed as
NOP in the SH-4A with H'20-valued VER bits in the processor version register (PVR). In this
LSI, this instruction invalidates the operand cache line designated by way = Rn[14:13] and
entry = Rn[12:5] provided that Rn[31:24] = H'F4 (OC address array area). In this process,
writing back of the line takes place when the line to be invalidated is dirty. This operation is
only executable in privileged mode, and an address error exception occurs in user mode. TLBrelated exceptions do not occur.
Do not execute this instruction to invalidate the memory-mapped array areas and control
register areas for which Rn[31:24] is not H'F4, and their reserved areas (H'F0 to H'F3, H'F5 to
H'FF).
• Changes in the write-back instruction OCBWB@Rn
When Rn is designating an address in a non-cacheable area, this instruction is executed as
NOP in the SH-4A with H'20-valued VER bits in the processor version register (PVR). In this
LSI, provided that Rn[31:24] = H'F4 (OC address array area), this instruction writes back the
operand cache line designated by way = Rn[14:13] and entry = Rn[12:5] if it is dirty and clears
Rev.1.00 Jan. 10, 2008 Page 230 of 1658
REJ09B0261-0100
8. Caches
the dirty bit to 0. This operation is only executable in privileged mode, and an address error
exception occurs in user mode. TLB-related exceptions do not occur.
Do not execute this instruction to invalidate the memory-mapped array areas and control
register areas for which Rn[31:24] is not H'F4, and their reserved areas (H'F0 to H'F3, H'F5 to
H'FF).
8.5.2
Prefetch Operation
This LSI supports a prefetch instruction to reduce the cache fill penalty incurred as the result of a
cache miss. If it is known that a cache miss will result from a read or write operation, it is possible
to fill the cache with data beforehand by means of the prefetch instruction to prevent a cache miss
due to the read or write operation, and so improve software performance. If a prefetch instruction
is executed for data already held in the cache, or if the prefetch address results in a UTLB miss or
a protection violation, the result is no operation, and an exception is not generated. Details of the
prefetch instruction are given in section 11, Instruction Descriptions of the SH-4A Extended
Functions Software Manual.
• Prefetch instruction (OC)
• Prefetch instruction (IC)
: PREF @Rn
: PREFI @Rn
Rev.1.00 Jan. 10, 2008 Page 231 of 1658
REJ09B0261-0100
8. Caches
8.6
Memory-Mapped Cache Configuration
The IC and OC can be managed by software. The contents of IC data array can be read from or
written to by a program in the P2 area by means of a MOV instruction in privileged mode. The
contents of IC address array can also be read from or written to in privileged mode by a program
in the P2 area or the IL memory area by means of a MOV instruction. Operation is not guaranteed
if access is made from a program in another area. In this case, execute one of the following three
methods for executing a branch to the P0, U0, P1, or P3 area.
1. Execute a branch using the RTE instruction.
2. Execute a branch to the P0, U0, P1, or P3 area after executing the ICBI instruction for any
address (including non-cacheable area).
3. If the MC bit in IRMCR is 0 (initial value) before making an access to the memory-mapped
IC, the specific instruction does not need to be executed. However, note that the CPU
processing performance will be lowered because the instruction fetch is performed again for
the next instruction after making an access to the memory-mapped IC.
Note that the method 3 may not be guaranteed in the future SuperH Series. Therefore, it is
recommended that the method 1 or 2 should be used for being compatible with the future SuperH
Series.
In privileged mode, the OC contents can be read from or written to by a program in the P1 or P2
area by means of a MOV instruction. Operation is not guaranteed if access is made from a
program in another area. The IC and OC are allocated to the P4 area in the virtual address space.
Only data accesses can be used on both the IC address array and data array and the OC address
array and data array, and accesses are always longword-size. Instruction fetches cannot be
performed in these areas. For reserved bits, a write value of 0 should be specified and the read
value is undefined.
8.6.1
IC Address Array
The IC address array is allocated to addresses H'F000 0000 to H'F0FF FFFF in the P4 area. An
address array access requires a 32-bit address field specification (when reading or writing) and a
32-bit data field specification. The way and entry to be accessed are specified in the address field,
and the write tag and V bit are specified in the data field.
In the address field, bits [31:24] have the value H'F0 indicating the IC address array, and the way
is specified by bits [14:13] and the entry by bits [12:5]. The association bit (A bit) [3] in the
address field specifies whether or not association is performed when writing to the IC address
array. As only longword access is used, 0 should be specified for address field bits [1:0].
Rev.1.00 Jan. 10, 2008 Page 232 of 1658
REJ09B0261-0100
8. Caches
In the data field, the tag is indicated by bits [31:10], and the V bit by bit [0]. As the IC address
array tag is 19 bits in length, data field bits [31:29] are not used in the case of a write in which
association is not performed. Data field bits [31:29] are used for the virtual address specification
only in the case of a write in which association is performed.
The following three kinds of operation can be used on the IC address array:
1. IC address array read
The tag and V bit are read into the data field from the IC entry corresponding to the way and
entry set in the address field. In a read, associative operation is not performed regardless of
whether the association bit specified in the address field is 1 or 0.
2. IC address array write (non-associative)
The tag and V bit specified in the data field are written to the IC entry corresponding to the
way and entry set in the address field. The A bit in the address field should be cleared to 0.
3. IC address array write (associative)
When a write is performed with the A bit in the address field set to 1, the tag in each way
stored in the entry specified in the address field is compared with the tag specified in the data
field. The way numbers of bits [14:13] in the address field are not used. If the MMU is enabled
at this time, comparison is performed after the virtual address specified by data field bits
[31:10] has been translated to a physical address using the ITLB. If the addresses match and
the V bit in the way is 1, the V bit specified in the data field is written into the IC entry. In
other cases, no operation is performed. This operation is used to invalidate a specific IC entry.
If an ITLB miss occurs during address translation, or the comparison shows a mismatch, an
exception is not generated, no operation is performed, and the write is not executed.
Note: IC address array associative writing function may not be supported in the future SuperH
Series. Therefore, it is recommended that the ICBI instruction should be used to operate
the IC definitely by handling ITLB miss and reporting ITLB miss exception.
24 23
31
1514 13 12
Address field 1 1 1 1 0 0 0 0 * * * * * * * * *
Way
31
Data field
5 4 3 2 1 0
Entry
10 9
0 A 0 0 0
1 0
V
Tag
V : Validity bit
A : Association bit
: Reserved bits (write value should be 0 and read value is undefined )
* : Don't care
Figure 8.5 Memory-Mapped IC Address Array (Cache size = 32 Kbytes)
Rev.1.00 Jan. 10, 2008 Page 233 of 1658
REJ09B0261-0100
8. Caches
8.6.2
IC Data Array
The IC data array is allocated to addresses H'F100 0000 to H'F1FF FFFF in the P4 area. A data
array access requires a 32-bit address field specification (when reading or writing) and a 32-bit
data field specification. The way and entry to be accessed are specified in the address field, and
the longword data to be written is specified in the data field.
In the address field, bits [31:24] have the value H'F1 indicating the IC data array, and the way is
specified by bits [14:13] and the entry by bits [12:5]. Address field bits [4:2] are used for the
longword data specification in the entry. As only longword access is used, 0 should be specified
for address field bits [1:0].
The data field is used for the longword data specification.
The following two kinds of operation can be used on the IC data array:
1. IC data array read
Longword data is read into the data field from the data specified by the longword specification
bits in the address field in the IC entry corresponding to the way and entry set in the address
field.
2. IC data array write
The longword data specified in the data field is written for the data specified by the longword
specification bits in the address field in the IC entry corresponding to the way and entry set in
the address field.
31
24 23
1514 13 12
Address field 1 1 1 1 0 0 0 1 * * * * * * * * *
31
Data field
Way
5 4
Entry
2 1 0
L
0 0
0
Longword data
L : Longword specification bits
* : Don't care
Figure 8.6 Memory-Mapped IC Data Array (Cache size = 32 Kbytes)
8.6.3
OC Address Array
The OC address array is allocated to addresses H'F400 0000 to H'F4FF FFFF in the P4 area. An
address array access requires a 32-bit address field specification (when reading or writing) and a
Rev.1.00 Jan. 10, 2008 Page 234 of 1658
REJ09B0261-0100
8. Caches
32-bit data field specification. The way and entry to be accessed are specified in the address field,
and the write tag, U bit, and V bit are specified in the data field.
In the address field, bits [31:24] have the value H'F4 indicating the OC address array, and the way
is specified by bits [14:13] and the entry by bits [12:5]. The association bit (A bit) [3] in the
address field specifies whether or not association is performed when writing to the OC address
array. As only longword access is used, 0 should be specified for address field bits [1:0].
In the data field, the tag is indicated by bits [31:10], the U bit by bit [1], and the V bit by bit [0].
As the OC address array tag is 19 bits in length, data field bits [31:29] are not used in the case of a
write in which association is not performed. Data field bits [31:29] are used for the virtual address
specification only in the case of a write in which association is performed.
The following three kinds of operation can be used on the OC address array:
1. OC address array read
The tag, U bit, and V bit are read into the data field from the OC entry corresponding to the
way and entry set in the address field. In a read, associative operation is not performed
regardless of whether the association bit specified in the address field is 1 or 0.
2. OC address array write (non-associative)
The tag, U bit, and V bit specified in the data field are written to the OC entry corresponding to
the way and entry set in the address field. The A bit in the address field should be cleared to 0.
When a write is performed to a cache line for which the U bit and V bit are both 1, after writeback of that cache line, the tag, U bit, and V bit specified in the data field are written.
3. OC address array write (associative)
When a write is performed with the A bit in the address field set to 1, the tag in each way
stored in the entry specified in the address field is compared with the tag specified in the data
field. The way numbers of bits [14:13] in the address field are not used. If the MMU is enabled
at this time, comparison is performed after the virtual address specified by data field bits
[31:10] has been translated to a physical address using the UTLB. If the addresses match and
the V bit in the way is 1, the U bit and V bit specified in the data field are written into the OC
entry. In other cases, no operation is performed. This operation is used to invalidate a specific
OC entry. If the OC entry U bit is 1, and 0 is written to the V bit or to the U bit, write-back is
performed. If a UTLB miss occurs during address translation, or the comparison shows a
mismatch, an exception is not generated, no operation is performed, and the write is not
executed.
Note: OC address array associative writing function may not be supported in the future SuperH
Series. Therefore, it is recommended that the OCBI, OCBP, or OCBWB instruction
should be used to operate the OC definitely by reporting data TLB miss exception.
Rev.1.00 Jan. 10, 2008 Page 235 of 1658
REJ09B0261-0100
8. Caches
24 23
31
15 141312
Address field 1 1 1 1 0 1 0 0 * * * * * * * * *
Way
31
Data field
5 4 3 2 1 0
Entry
0 A 0 0 0
10 9
Tag
2 1 0
U V
V : Validity bit
U : Dirty bit
A : Association bit
: Reserved bits (write value should be 0 and read value is undefined )
* : Don't care
Figure 8.7 Memory-Mapped OC Address Array (Cache size = 32 Kbytes)
8.6.4
OC Data Array
The OC data array is allocated to addresses H'F500 0000 to H'F5FF FFFF in the P4 area. A data
array access requires a 32-bit address field specification (when reading or writing) and a 32-bit
data field specification. The way and entry to be accessed are specified in the address field, and
the longword data to be written is specified in the data field.
In the address field, bits [31:24] have the value H'F5 indicating the OC data array, and the way is
specified by bits [14:13] and the entry by bits [12:5]. Address field bits [4:2] are used for the
longword data specification in the entry. As only longword access is used, 0 should be specified
for address field bits [1:0].
The data field is used for the longword data specification.
The following two kinds of operation can be used on the OC data array:
1. OC data array read
Longword data is read into the data field from the data specified by the longword specification
bits in the address field in the OC entry corresponding to the way and entry set in the address
field.
2. OC data array write
The longword data specified in the data field is written for the data specified by the longword
specification bits in the address field in the OC entry corresponding to the way and entry set in
the address field. This write does not set the U bit to 1 on the address array side.
Rev.1.00 Jan. 10, 2008 Page 236 of 1658
REJ09B0261-0100
8. Caches
31
24 23
15 141312
Address field 1 1 1 1 0 1 0 1 * * * * * * * * *
31
Data field
5 4 3 2 1 0
Entry
Way
L
0 0
0
Longword data
L : Longword specification bits
* : Don't care
Figure 8.8 Memory-Mapped OC Data Array (Cache size = 32 Kbytes)
8.6.5
Memory-Mapped Cache Associative Write Operation
Associative writing to the IC and OC address arrays may not be supported in future SuperHfamily products. The use of instructions ICBI, OCBI, OCBP, and OCBWB is recommended.
These instructions handle ITLB misses, and notify instruction TLB miss exceptions and data TLB
miss exceptions, thus providing a sure way of controlling the IC and OC. As a transitional
measure, this LSI generates address errors when this function is used. If compatibility with
previous products is a crucial consideration, on the other hand, the MMCAW bit in EXPMASK
(H'FF2F 0004) can be set to 1 to enable this function. However, instructions ICBI, OCBI, OCBP,
and OCBWB should be used to guarantee compatibility with future SuperH-family products.
Rev.1.00 Jan. 10, 2008 Page 237 of 1658
REJ09B0261-0100
8. Caches
8.7
Store Queues
This LSI supports two 32-byte store queues (SQs) to perform high-speed writes to external
memory.
8.7.1
SQ Configuration
There are two 32-byte store queues, SQ0 and SQ1, as shown in figure 8.9. These two store queues
can be set independently.
SQ0
SQ0[0]
SQ0[1]
SQ0[2]
SQ0[3]
SQ0[4]
SQ0[5]
SQ0[6]
SQ0[7]
SQ1
SQ1[0]
SQ1[1]
SQ1[2]
SQ1[3]
SQ1[4]
SQ1[5]
SQ1[6]
SQ1[7]
4 byte
4 byte
4 byte
4 byte
4 byte
4 byte
4 byte
4 byte
Figure 8.9 Store Queue Configuration
8.7.2
Writing to SQ
A write to the SQs can be performed using a store instruction for addresses H'E000 0000 to
H'E3FF FFFC in the P4 area. A longword or quadword access size can be used. The meanings of
the address bits are as follows:
[31:26]
[25:6]
[5]
: 111000
: Don't care
: 0/1
[4:2]
[1:0]
: LW specification
: 00
Store queue specification
Used for external memory transfer/access right
0: SQ0 specification
1: SQ1 specification
Specifies longword position in SQ0/SQ1
Fixed at 0
Rev.1.00 Jan. 10, 2008 Page 238 of 1658
REJ09B0261-0100
8. Caches
8.7.3
Transfer to External Memory
Transfer from the SQs to external memory can be performed with a prefetch instruction (PREF).
Issuing a PREF instruction for addresses H'E000 0000 to H'E3FF FFFC in the P4 area starts a
transfer from the SQs to external memory. The transfer length is fixed at 32 bytes, and the start
address is always at a 32-byte boundary. While the contents of one SQ are being transferred to
external memory, the other SQ can be written to without a penalty cycle. However, writing to the
SQ involved in the transfer to external memory is kept waiting until the transfer is completed.
The physical address bits [28:0] of the SQ transfer destination are specified as shown below,
according to whether the MMU is enabled or disabled.
• When MMU is enabled (AT = 1 in MMUCR)
The SQ area (H'E000 0000 to H'E3FF FFFF) is set in VPN of the UTLB, and the transfer
destination physical address in PPN. The ASID, V, SZ, SH, PR, and D bits have the same
meaning as for normal address translation, but the C and WT bits have no meaning with regard
to this page. When a prefetch instruction is issued for the SQ area, address translation is
performed and physical address bits [28:10] are generated in accordance with the SZ bit
specification. For physical address bits [9:5], the address prior to address translation is
generated in the same way as when the MMU is disabled. Physical address bits [4:0] are fixed
at 0. Transfer from the SQs to external memory is performed to this address.
• When MMU is disabled (AT = 0 in MMUCR)
The SQ area (H'E000 0000 to H'E3FF FFFF) is specified as the address at which a PREF
instruction is issued. The meanings of address bits [31:0] are as follows:
[31:26]
[25:6]
[5]
: 111000
: Address
: 0/1
[4:2]
[1:0]
: Don't care
: 00
Store queue specification
Transfer destination physical address bits [25:6]
0: SQ0 specification
1: SQ1 specification and transfer destination physical
address bit [5]
No meaning in a prefetch
Fixed at 0
Physical address bits [28:26], which cannot be generated from the above address, are generated
from QACR0 and QACR1.
QACR0[4:2]
QACR1[4:2]
: Physical address bits [28:26] corresponding to SQ0
: Physical address bits [28:26] corresponding to SQ1
Rev.1.00 Jan. 10, 2008 Page 239 of 1658
REJ09B0261-0100
8. Caches
Physical address bits [4:0] are always fixed at 0 since burst transfer starts at a 32-byte
boundary.
8.7.4
Determination of SQ Access Exception
Determination of an exception in a write to an SQ or transfer to external memory (PREF
instruction) is performed as follows according to whether the MMU is enabled or disabled. If an
exception occurs during a write to an SQ, the SQ contents before the write are retained. If an
exception occurs in a data transfer from an SQ to external memory, the transfer to external
memory will be aborted.
• When MMU is enabled (AT = 1 in MMUCR)
Operation is in accordance with the address translation information recorded in the UTLB, and
the SQMD bit in MMUCR. Write type exception judgment is performed for writes to the SQs,
and read type exception judgment for transfer from the SQs to external memory (using a PREF
instruction). As a result, a TLB miss exception or protection violation exception is generated
as required. However, if SQ access is enabled in privileged mode only by the SQMD bit in
MMUCR, an address error will occur even if address translation is successful in user mode.
• When MMU is disabled (AT = 0 in MMUCR)
Operation is in accordance with the SQMD bit in MMUCR.
0: Privileged/user mode access possible
1: Privileged mode access possible
If the SQ area is accessed in user mode when the SQMD bit in MMUCR is set to 1, an address
error will occur.
8.7.5
Reading from SQ
In privileged mode in this LSI, reading the contents of the SQs may be performed by means of a
load instruction for addresses H'FF00 1000 to H'FF00 103C in the P4 area. Only longword access
is possible.
[31:6]
[5]
: H'FF00 1000
: 0/1
[4:2]
[1:0]
: LW specification
: 00
Store queue specification
0: SQ0 specification
1: SQ1 specification
Specifies longword position in SQ0/SQ1
Fixed at 0
Rev.1.00 Jan. 10, 2008 Page 240 of 1658
REJ09B0261-0100
8. Caches
8.8
Notes on Using 32-Bit Address Extended Mode
In 32-bit address extended mode, the items described in this section are extended as follows.
1. The tag bits [28:10] (19 bits) in the IC and OC are extended to bits [31:10] (22 bits).
2. An instruction which operates the IC (a memory-mapped IC access and writing to the ICI bit
in CCR) should be located in the P1 or P2 area. The cacheable bit (C bit) in the corresponding
entry in the PMB should be 0.
3. Bits [4:2] (3 bits) for the AREA0 bit in QACR0 and the AREA1 bit in QACR1 are extended to
bits [7:2] (6 bits).
Rev.1.00 Jan. 10, 2008 Page 241 of 1658
REJ09B0261-0100
8. Caches
Rev.1.00 Jan. 10, 2008 Page 242 of 1658
REJ09B0261-0100
9. On-Chip Memory
Section 9 On-Chip Memory
This LSI includes three types of memory modules for storage of instructions and data: OL
memory, IL memory, and U memory. The OL memory is suitable for data storage while the IL
memory is suitable for instruction storage. The U memory can store instructions and/or data.
9.1
(1)
Features
OL Memory
• Capacity
The OL memory in this LSI is 16 Kbytes.
• Page
The OL memory is divided into four pages (pages 0A, 0B, 1A and 1B).
• Memory map
The OL memory is allocated in the addresses shown in table 9.1 in both the virtual address
space and the physical address space.
Table 9.1
OL memory Addresses
Page 0A
H'E500 E000 to H'E500 EFFF
Page 0B
H'E500 F000 to H'E500 FFFF
Page 1A
H'E501 0000 to H'E501 0FFF
Page 1B
H'E501 1000 to H'E501 1FFF
• Ports
Each page has three independent read/write ports and is connected to the SuperHyway bus, the
cache/RAM internal bus, and operand bus. The operand bus is used when the OL memory is
accessed through operand access. The cache/RAM internal bus is used when the OL memory
is accessed through instruction fetch. The SuperHyway bus is used for OL memory access
from the SuperHyway bus master module.
• Priority
In the event of simultaneous accesses to the same page from different buses, the access
requests are processed according to priority. The priority order is: SuperHyway bus >
Cache/RAM internal bus > operand bus.
Rev.1.00 Jan. 10, 2008 Page 243 of 1658
REJ09B0261-0100
9. On-Chip Memory
(2)
IL Memory
• Capacity
The IL memory in this LSI is 8 Kbytes.
• Page
The IL memory is divided into two pages (pages 0 and 1).
• Memory map
The IL memory is allocated to the addresses shown in table 9.2 in both the virtual address
space and the physical address space.
Table 9.2
IL Memory Addresses
Page
Memory Address
Page 0
H'E520 0000 to H'E520 0FFF
Page 1
⎯
• Ports
The page has three independent read/write ports and is connected to the SuperHyway bus, the
cache/RAM internal bus, and the instruction bus. The instruction bus is used when the IL
memory is accessed through instruction fetch. The cache/RAM internal bus is used when the
IL memory is accessed through operand access. The SuperHyway bus is used for IL memory
access from the SuperHyway bus master module.
• Priority
In the event of simultaneous accesses to the same page from different buses, the access
requests are processed according to priority. The priority order is: SuperHyway bus >
cache/RAM internal bus > instruction bus.
(3)
U Memory
• Capacity
The U memory in this LSI is 128 Kbytes.
• Access method
Instruction fetch and operand write access are performed via the cache/RAM internal bus.
Operand read access is optimized for sequential operand access by using the read buffer.
• Memory map
The U memory is allocated to the addresses shown in table 9.3 in both the virtual address
space and the physical address space.
Rev.1.00 Jan. 10, 2008 Page 244 of 1658
REJ09B0261-0100
9. On-Chip Memory
The CPU can access the P4 area in the virtual address space (when SR.MD = 1) or on-chip
memory area (when SR.MD = 0 and RAMCR.RMD = 1). Access operations involving these
addresses are always non-cacheable.
Table 9.3
U Memory Addresses
Address Space
Memory Address
Virtual address
H'E55F 0000 to H'E560 FFFF
Physical address
H'E55F 0000 to H'E560 FFFF
• Ports
The U memory has three independent read/write ports and is connected to the operand bus, the
cache/RAM internal bus, and the SuperHyway bus. The operand bus is used when the U
memory is accessed through operand read access. The cache/RAM internal bus is used when
the U memory is accessed through instruction fetch and operand write access. The
SuperHyway bus is used for U memory access from the SuperHyway bus master module.
• Priority
In the event of simultaneous accesses to the U memory from different buses, the access
requests are processed according to priority. The priority order is: SuperHyway bus >
cache/RAM internal bus > operand bus.
Rev.1.00 Jan. 10, 2008 Page 245 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.2
Register Descriptions
The following registers are related to the on-chip memory.
Table 9.4
Register Configuration
Name
Abbreviation
R/W
P4 Address*
Area 7
Address*
Access Size
On-chip memory control
register
RAMCR
R/W
H'FF00 0074
H'1F00 0074
32
OL memory transfer source LSA0
address register 0
R/W
H'FF00 0050
H'1F00 0050
32
OL memory transfer source LSA1
address register 1
R/W
H'FF00 0054
H'1F00 0054
32
OL memory transfer
LDA0
destination address register
0
R/W
H'FF00 0058
H'1F00 0058
32
OL memory transfer
LDA1
destination address register
1
R/W
H'FF00 005C
H'1F00 005C
32
Note:
*
Table 9.5
The P4 address is the address used when using P4 area in the virtual address space.
The area 7 address is the address used when accessing from area 7 in the physical
address space using the TLB.
Register States in Each Processing Mode
Name
Abbreviation
Power-On
Reset
On-chip memory control
register
RAMCR
H'0000 0000 H'0000 0000
Retained
Retained
OL memory transfer source LSA0
address register 0
Undefined
Undefined
Retained
Retained
OL memory transfer source LSA1
address register 1
Undefined
Undefined
Retained
Retained
OL memory transfer
LDA0
destination address register
0
Undefined
Undefined
Retained
Retained
OL memory transfer
LDA1
destination address register
1
Undefined
Undefined
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 246 of 1658
REJ09B0261-0100
Manual Reset Sleep
Standby
9. On-Chip Memory
9.2.1
On-Chip Memory Control Register (RAMCR)
RAMCR controls the protective functions in the on-chip memory.
When updating RAMCR, please follow limitation described at section 8.2.4, On-Chip Memory
Control Register (RAMCR).
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit :
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
31to10
—
All 0
R
0
R
RMD RP IC2W OC2W ICWPD
0
0
0
0
0
R/W R/W R/W R/W R/W
Description
Reserved
For read/write in these bits, refer to General
Precautions on Handling of Product.
9
RMD
0
R/W
On-Chip Memory Access Mode
Specifies the right of access to the on-chip memory
from the virtual address space.
0: An access in privileged mode is allowed.
(An address error exception occurs in user mode.)
1: An access in user/ privileged mode is allowed.
8
RP
0
R/W
On-Chip Memory Protection Enable
Selects whether or not to use the protective functions
using ITLB and UTLB for accessing the on-chip
memory from the virtual address space.
0: Protective functions are not used.
1: Protective functions are used.
For further details, refer to section 9.4, On-Chip
Memory Protective Functions.
7
IC2W
0
R/W
IC Two-Way Mode
For further details, refer to section 8.4.3, IC Two-Way
Mode.
Rev.1.00 Jan. 10, 2008 Page 247 of 1658
REJ09B0261-0100
9. On-Chip Memory
Bit
Bit Name
Initial
Value
R/W
Description
6
OC2W
0
R/W
OC Two-Way Mode
For further details, refer to section 8.3.6, OC Two-Way
Mode.
5
ICWPD
0
R/W
IC Way Prediction Disable
For further details, refer to section 8.4.4, Instruction
Cache Way Prediction Operation.
4 to 0
—
All 0
R
Reserved
For read/write in these bits, refer to General
Precautions on Handling of Product.
9.2.2
OL memory Transfer Source Address Register 0 (LSA0)
When MMUCR.AT = 0 or RAMCR.RP = 0, the LSA0 specifies the transfer source physical
address for block transfer to page 0A or 0B of the OL memory.
Bit :
31
30
29
28
27
26
25
24
23
Initial value :
R/W:
0
R
0
R
0
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit :
15
14
13
12
11
10
9
8
7
6
22
21
L0DADR
20
19
18
17
16
R/W
R/W
R/W
R/W
R/W
R/W
5
4
3
2
1
0
R/W
R/W
L0DADR
Initial value :
R/W: R/W
Bit
R/W
Bit Name
31 to 29 —
R/W
R/W
L0DSZ
R/W
R/W
0
R
0
R
Initial
Value
R/W
Description
All 0
R
Reserved
0
R
0
R
R/W
R/W
R/W
R/W
For read/write in these bits, refer General Precautions
on Handling of Product.
28 to 10 L0SADR
Undefined R/W
OL memory Page 0 Block Transfer Source Address
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
specify the transfer source physical address for block
transfer to page 0A or 0B in the OL memory.
9 to 6
—
All 0
R
Reserved
For read/write in these bits, refer to General
Precautions on Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 248 of 1658
REJ09B0261-0100
9. On-Chip Memory
Bit
Bit Name
Initial
Value
5 to 0
L0SSZ
Undefined R/W
R/W
Description
OL memory Page 0 Block Transfer Source Address
Select
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
select whether the operand addresses or L0SADR
values are used as bits 15 to 10 of the transfer source
physical address for block transfer to page 0A or 0B in
the OL memory. L0SSZ[5:0] correspond to the transfer
source physical addresses [15:10].
0: The operand address is used as the transfer source
physical address.
1: The L0SADR value is used as the transfer source
physical address.
Settable values:
111111: Transfer source physical address is specified
in 1-Kbyte units.
111110: Transfer source physical address is specified
in 2-Kbyte units.
111100: Transfer source physical address is specified
in 4-Kbyte units.
111000: Transfer source physical address is specified
in 8-Kbyte units.
110000: Transfer source physical address is specified
in 16-Kbyte units.
100000: Transfer source physical address is specified
in 32-Kbyte units.
000000: Transfer source physical address is specified
in 64-Kbyte units.
Settings other than the ones given above are
prohibited.
Rev.1.00 Jan. 10, 2008 Page 249 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.2.3
OL memory Transfer Source Address Register 1 (LSA1)
When MMUCR.AT = 0 or RAMCR.RP = 0, the LSA1 specifies the transfer source physical
address for block transfer to page 1A or 1B in the OL memory.
Bit :
31
30
29
28
27
26
25
24
23
Initial value :
R/W:
0
R
0
R
0
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit :
15
14
13
12
11
10
9
8
7
6
22
21
L1SADR
20
19
18
17
16
R/W
R/W
R/W
R/W
R/W
R/W
5
4
3
2
1
0
R/W
R/W
L1SADR
Initial value :
R/W: R/W
Bit
R/W
Bit Name
31 to 29 —
R/W
R/W
L1SSZ
R/W
R/W
0
R
0
R
Initial
Value
R/W
Description
All 0
R
Reserved
0
R
0
R
R/W
R/W
R/W
R/W
For read/write in these bits, refer to General
Precautions on Handling of Product.
28 to 10 L1SADR
Undefined R/W
OL memory Page 1 Block Transfer Source Address
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
specify transfer source physical address for block
transfer to page 1A or 1B in the OL memory.
9 to 6
—
All 0
R
Reserved
For read/write in these bits, refer to General
Precautions on Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 250 of 1658
REJ09B0261-0100
9. On-Chip Memory
Bit
Bit Name
Initial
Value
5 to 0
L1SSZ
Undefined R/W
R/W
Description
OL memory Page 1 Block Transfer Source Address
Select
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
select whether the operand addresses or L1SADR
values are used as bits 15 to 10 of the transfer source
physical address for block transfer to page 1A or 1B in
the OL memory. L1SSZ bits [5:0] correspond to the
transfer source physical addresses [15:10].
0: The operand address is used as the transfer source
physical address.
1: The L1SADR value is used as the transfer source
physical address.
Settable values:
111111: Transfer source physical address is specified
in 1-Kbyte units.
111110: Transfer source physical address is specified
in 2-Kbyte units.
111100: Transfer source physical address is specified
in 4-Kbyte units.
111000: Transfer source physical address is specified
in 8-Kbyte units.
110000: Transfer source physical address is specified
in 16-Kbyte units.
100000: Transfer source physical address is specified
in 32-Kbyte units.
000000: Transfer source physical address is specified
in 64-Kbyte units.
Settings other than the ones given above are
prohibited.
Rev.1.00 Jan. 10, 2008 Page 251 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.2.4
OL memory Transfer Destination Address Register 0 (LDA0)
When MMUCR.AT = 0 or RAMCR.RP = 0, LDA0 specifies the transfer destination physical
address for block transfer to page 0A or 0B of the OL memory.
Bit :
31
30
29
28
27
26
25
24
23
Initial value :
R/W:
0
R
0
R
0
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit :
15
14
13
12
11
10
9
8
7
6
22
21
L0DADR
20
19
18
17
16
R/W
R/W
R/W
R/W
R/W
R/W
5
4
3
2
1
0
R/W
R/W
L0DADR
Initial value :
R/W: R/W
Bit
R/W
Bit Name
31 to 29 —
R/W
R/W
L0DSZ
R/W
R/W
0
R
0
R
Initial
Value
R/W
Description
All 0
R
Reserved
0
R
0
R
R/W
R/W
R/W
R/W
For read/write in these bits, refer to General
Precautions on Handling of Product.
28 to 10 L0DADR
Undefined R/W
OL memory Page 0 Block Transfer Destination Address
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
specify transfer destination physical address for block
transfer to page 0A or 0B in the OL memory.
9 to 6
—
All 0
R
Reserved
For read/write in these bits, refer to General
Precautions on Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 252 of 1658
REJ09B0261-0100
9. On-Chip Memory
Bit
Bit Name
Initial
Value
5 to 0
L0DSZ
Undefined R/W
R/W
Description
OL memory Page 0 Block Transfer Destination Address
Select
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
select whether the operand addresses or L0DADR
values are used as bits 15 to 10 of the transfer
destination physical address for block transfer to page
0A or 0B in the OL memory. L0DSZ bits [5:0]
correspond to the transfer destination physical address
bits [15:10].
0: The operand address is used as the transfer
destination physical address.
1: The L0DADR value is used as the transfer
destination physical address.
Settable values:
111111: Transfer destination physical address is
specified in 1-Kbyte units.
111110: Transfer destination physical address is
specified in 2-Kbyte units.
111100: Transfer destination physical address is
specified in 4-Kbyte units.
111000: Transfer destination physical address is
specified in 8-Kbyte units.
110000: Transfer destination physical address is
specified in 16-Kbyte units.
100000: Transfer destination physical address is
specified in 32-Kbyte units.
000000: Transfer destination physical address is
specified in 64-Kbyte units.
Settings other than the ones given above are
prohibited.
Rev.1.00 Jan. 10, 2008 Page 253 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.2.5
OL memory Transfer Destination Address Register 1 (LDA1)
When MMUCR.AT = 0 or RAMCR.RP = 0, LDA1 specifies the transfer destination physical
address for block transfer to page 1A or 1B in the OL memory.
Bit :
31
30
29
28
27
26
25
24
23
Initial value :
R/W:
0
R
0
R
0
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit :
15
14
13
12
11
10
9
8
7
6
22
21
L1DADR
20
19
18
17
16
R/W
R/W
R/W
R/W
R/W
R/W
5
4
3
2
1
0
R/W
R/W
L1DADR
Initial value :
R/W: R/W
Bit
R/W
Bit Name
31 to 29 —
R/W
R/W
L1DSZ
R/W
R/W
0
R
0
R
Initial
Value
R/W
Description
All 0
R
Reserved
0
R
0
R
R/W
R/W
R/W
R/W
For read/write in these bits, refer to General
Precautions on Handling of Product.
28 to 10 L1DADR
Undefined R/W
OL memory Page 1 Block Transfer Destination Address
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
specify transfer destination physical address for block
transfer to page 1A or 1B in the OL memory.
9 to 6
—
All 0
R
Reserved
For read/write in these bits, refer to General
Precautions on Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 254 of 1658
REJ09B0261-0100
9. On-Chip Memory
Bit
Bit Name
Initial
Value
5 to 0
L1DSZ
Undefined R/W
R/W
Description
OL memory Page 1 Block Transfer Destination Address
Select
When MMUCR.AT = 0 or RAMCR.RP = 0, these bits
select whether the operand addresses or L1DADR
values are used as bits 15 to 10 of the transfer
destination physical address for block transfer to page
1A or 1B in the OL memory. L1DSZ bits [5:0]
correspond to the transfer destination physical
addresses [15:10].
0: The operand address is used as the transfer
destination physical address.
1: The L1DADR value is used as the transfer
destination physical address.
Settable values:
111111: Transfer destination physical address is
specified in 1-Kbyte units.
111110: Transfer destination physical address is
specified in 2-Kbyte units.
111100: Transfer destination physical address is
specified in 4-Kbyte units.
111000: Transfer destination physical address is
specified in 8-Kbyte units.
110000: Transfer destination physical address is
specified in 16-Kbyte units.
100000: Transfer destination physical address is
specified in 32-Kbyte units.
000000: Transfer destination physical address is
specified in 64-Kbyte units.
Settings other than the ones given above are
prohibited.
Rev.1.00 Jan. 10, 2008 Page 255 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.3
Operation
9.3.1
Instruction Fetch Access from the CPU
(1)
OL Memory
Instruction fetch access from the CPU is performed via the cache/RAM internal bus. This access
takes more than one cycle.
(2)
IL Memory
Instruction fetch access from the CPU is performed directly via the instruction bus for a given
virtual address. In the case of successive accesses to the same page of IL memory and as long as
no page conflict occurs, the access takes one cycle.
(3)
U Memory
Instruction fetch access from the CPU is performed via the cache/RAM internal bus, and one
instruction fetch takes more than one cycle.
9.3.2
Operand Access from the CPU and Access from the FPU
Note: Operand access is applied for PC relative access (@(disp,pc)).
(1)
OL Memory
Access from the CPU or FPU is performed via the operand bus for a given virtual address. Read
access from the operand bus by virtual address takes one cycle if the access is made successively
to the same page of OL memory and as long as no page conflict occurs. Write access from the
operand bus by virtual address takes one cycle as long as no page conflict occurs.
(2)
IL Memory
Operand access from the CPU and access from the FPU are performed via the cache/RAM internal
bus. Access via the cache/RAM internal bus takes more than one cycle.
Rev.1.00 Jan. 10, 2008 Page 256 of 1658
REJ09B0261-0100
9. On-Chip Memory
(3)
U Memory
Operand access from the CPU and read access from the FPU are performed via the read buffer.
The read buffer is configured with two sets of one-line 32-byte buffers, and holds up to two lines
which have been accessed through operand access by the CPU and accessed through read access
by the FPU. The U memory can be accessed in one cycle when the read buffer is hit. If the read
buffer is missed, 32-byte data including data required from the U memory is read out, and returned
to the CPU, and the read buffer is updated. Access in this case takes more than one cycle. The
LRU algorithm is used to determine which of the two read buffers to update. In write access, the U
memory is directly updated, and if the corresponding line is held in the read buffer, the read buffer
is invalidated. It is unnecessary to guarantee the coherency by software since the hardware
invalidates the read buffer even when the SuperHyway bus master module, such as DMAC,
rewrites the U memory.
9.3.3
Access from the SuperHyway Bus Master Module
On-chip memory is always accessed by the SuperHyway bus master module, such as DMAC, via
the SuperHyway bus which is a physical address bus. The same addresses as for the virtual
addresses must be used.
9.3.4
OL Memory Block Transfer
High-speed data transfer can be performed through block transfer between the OL memory and
external memory without cache utilization.
Data can be transferred from the external memory to the OL memory through a prefetch
instruction (PREF). Block transfer from the external memory to the OL memory begins when the
PREF instruction is issued to the address in the OL memory area in the virtual address space.
Data can be transferred from the OL memory to the external memory through a write-back
instruction (OCBWB). Block transfer from the OL memory to the external memory begins when
the OCBWB instruction is issued to the address in the OL memory area in the virtual address
space.
In either case, transfer rate is fixed to 32 bytes. Since the start address is always limited to a 32byte boundary, the lower five bits of the address indicated by Rn are ignored, and are always dealt
with as all 0s. In either case, other pages and cache can be accessed during block transfer, but the
CPU will stall if the page which is being transferred is accessed before data transfer ends.
The physical addresses [28:0] of the external memory performing data transfers with the OL
memory are specified as follows according to whether the MMU is enabled or disabled.
Rev.1.00 Jan. 10, 2008 Page 257 of 1658
REJ09B0261-0100
9. On-Chip Memory
(1)
When MMU is Enabled (MMUCR.AT = 1) and RAMCR.RP = 1
An address of the OL memory area is specified to the UTLB VPN field, and to the physical
address of the transfer source (in the case of the PREF instruction) or the transfer destination (in
the case of the OCBWB instruction) to the PPN field. The ASID, V, SZ, SH, PR, and D bits have
the same meaning as normal address conversion; however, the C and WT bits have no meaning in
this page.
When the PREF instruction is issued to the OL memory area, address conversion is performed in
order to generate the physical address bits [28:10] in accordance with the SZ bit specification. The
physical address bits [9:5] are generated from the virtual address prior to address conversion. The
physical address bits [4:0] are fixed to 0. Block transfer is performed to the OL memory from the
external memory which is specified by these physical addresses.
When the OCBWB instruction is issued to the OL memory area, address conversion is performed
in order to generate the physical address bits [28:10] in accordance with the SZ bit specification.
The physical address bits [9:5] are generated from the virtual address prior to address conversion.
The physical address bits [4:0] are fixed to 0. Block transfer is performed from the OL memory to
the external memory specified by these physical addresses.
In PREF or OCBWB instruction execution, an MMU exception is checked as read type. After the
MMU execution check, a TLB miss exception or protection error exception occurs if necessary. If
an exception occurs, the block transfer is inhibited.
(2)
When MMU is Disabled (MMUCR.AT = 0) or RAMCR.RP = 0
The transfer source physical address in block transfer to page 0A or 0B in the OL memory is set in
the L0SADR bits of the LSA0 register. And the L0SSZ bits in the LSA0 register choose either the
virtual addresses specified through the PRFF instruction or the L0SADR values as bits 15 to 10 of
the transfer source physical address. In other words, the transfer source area can be specified in
units of 1 Kbyte to 64 Kbytes.
The transfer destination physical address in block transfer from page 0A or 0B in the OL memory
is set in the L0DADR bits of the LDA0 register. And the L0DSZ bits in the LDA0 register choose
either the virtual addresses specified through the OCBWB instruction or the L0DADR values as
bits 15 to 10 of the transfer destination physical address. In other words, the transfer source area
can be specified in units of 1 Kbyte to 64 Kbytes.
Block transfer to page 1A or 1B in the OL memory is set to LSA1 and LDA1 as with page 0A or
0B in the OL memory.
Rev.1.00 Jan. 10, 2008 Page 258 of 1658
REJ09B0261-0100
9. On-Chip Memory
When the PREF instruction is issued to the OL memory area, the physical address bits [28:10] are
generated in accordance with the LSA0 or LSA1 specification. The physical address bits [9:5] are
generated from the virtual address. The physical address bits [4:0] are fixed to 0. Block transfer is
performed from the external memory specified by these physical addresses to the OL memory.
When the OCBWB instruction is issued to the OL memory area, the physical address bits [28:10]
are generated in accordance with the LDA0 or LDA1 specification. The physical address bits [9:5]
are generated from the virtual address. The physical address bits [4:0] are fixed to 0. Block
transfer is performed from the OL memory to the external memory specified by these physical
addresses.
Rev.1.00 Jan. 10, 2008 Page 259 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.4
On-Chip Memory Protective Functions
This LSI implements the following protective functions to the on-chip memory by using the onchip memory access mode bit (RMD) and the on-chip memory protection enable bit (RP) in the
on-chip memory control register (RAMCR).
• Protective functions for access from the CPU and FPU
When RAMCR.RMD = 0, and the on-chip memory is accessed in user mode, it is determined
to be an address error exception.
When MMUCR.AT = 1 and RAMCR.RP = 1, MMU exception and address error exception are
checked in the on-chip memory area which is a part of area P4 as with the area P0/P3/U0.
The above descriptions are summarized in table 9.6.
Table 9.6
Protective Function Exceptions to Access On-Chip Memory
Always Occurring
Exceptions
Possibly Occurring
Exceptions
0
Address error
exception
—
1
—
—
1
x
—
—
0
0
Address error
exception
—
1
—
—
1
x
—
—
0
0
Address error
exception
—
1
—
MMU exception
x
—
MMU exception
MMUCR.AT RAMCR.RP SR.MD
RAMCR. RMD
0
1
x
0
1
0
1
Legend:
x: Don't care
Rev.1.00 Jan. 10, 2008 Page 260 of 1658
REJ09B0261-0100
9. On-Chip Memory
9.5
Usage Notes
9.5.1
Page Conflict
In the event of simultaneous access to the same page from different buses, page conflict occurs.
Although each access is completed correctly, this kind of conflict tends to lower OL memory
accessibility. Therefore it is advisable to provide all possible preventative software measures. For
example, conflicts will not occur if each bus accesses different pages.
9.5.2
(1)
Access Across Different Pages
OL Memory
Read access from the operand bus is performed in one cycle when the access is made successively
to the same page but takes multiple cycles (a maximum of two wait cycles may be required) when
the access is made across pages or the previous access was made to memory other than OL
memory. For this reason, from the viewpoint of performance optimization, it is recommended to
design the software such that the page corresponding to the address for read access from the
operand bus does not change so often.
(2)
IL Memory
Access from the instruction bus is performed in one cycle when the access is made successively to
the same page but takes multiple cycles (a maximum of two wait cycles may be required) when
the access is made across pages or the previous access was made to memory other than IL
memory. For this reason, from the viewpoint of performance optimization, it is recommended to
design the software such that the target page does not change so often in access from the
instruction bus. For example, allocating a separate program for each page will deliver better
efficiency.
9.5.3
(1)
On-Chip Memory Coherency
OL Memory
In order to allocate instructions in the OL memory, write an instruction to the OL memory,
execute the following sequence, then branch to the rewritten instruction.
• SYNCO
• ICBI @Rn
In this case, the target for the ICBI instruction can be any address (OL memory address may be
possible) within the range where no address error exception occurs, and cache hit/miss is possible.
Rev.1.00 Jan. 10, 2008 Page 261 of 1658
REJ09B0261-0100
9. On-Chip Memory
(2)
IL Memory
In order to allocate instructions in the IL memory, write an instruction to the IL memory, execute
the following sequence, then branch to the rewritten instruction.
• SYNCO
• ICBI @Rn
In this case, the target for the ICBI instruction can be any address (IL memory address may be
possible) within the range where no address error exception occurs, and cache hit/miss is possible.
(3)
U Memory
In order to allocate instructions in the U memory, write an instruction to the U memory, execute
the following sequence, then branch to the rewritten instruction.
• SYNCO
• ICBI @Rn
In this case, the target for the ICBI instruction can be any address (U memory address may be
possible) within the range where no address error exception occurs, and cache hit/miss is possible.
9.5.4
(1)
Sleep Mode
OL Memory, IL Memory
The SuperHyway bus master module, such as DMAC, cannot access OL memory and IL memory
in sleep mode.
(2)
U Memory
The SuperHyway bus master module, such as DMAC, can access U memory in sleep mode.
9.6
Note on Using 32-Bit Address Extended Mode
In 32-bit address extended mode, L0SADR fields in LSA0, L1SADR fields in LSA1, L0DADR
fields in LDA0, and L1DADR fields in LDA1 are extended from 19-bit [28:10] to 22-bit [31:10].
Rev.1.00 Jan. 10, 2008 Page 262 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Section 10 Interrupt Controller (INTC)
The interrupt controller (INTC) determines the priority of interrupt sources and controls the flow
of interrupt requests to the CPU (SH-4A). The INTC has registers for setting the priority of each
of the interrupts and processing of interrupt requests follows the priority order set in these registers
by the user.
10.1
Features
The INTC has the following features:
• Fifteen levels of external interrupt priority can be set
By setting the interrupt priority registers, the priorities of external interrupts can be selected
from 15 levels for individual pins.
• NMI noise canceller function
An NMI input-level bit indicates the NMI pin state. The bit can be read within the interrupt
exception handling routine to confirm the pin state and thus achieve a form of noise
cancellation.
• NMI request masking when the block bit (BL) in the status register (SR) is set to 1
Masking or non-masking of NMI requests when the BL bit in SR is set to 1 can be selected.
• Automatically updates the IMASK bit in SR according to the accepted interrupt level
• Thirty priority levels for interrupts from on-chip peripheral modules
By setting the ten interrupt priority registers for the on-chip peripheral module interrupts, any
of 30 priority levels can be assigned to the individual requesting sources.
• User-mode interrupt disabling function
An interrupt mask level in the user interrupt mask level register (USERIMASK) can be
specified to disable interrupts which do not have higher priority than the specified mask level.
This setting can be made in user mode.
• Holding mode of the level-sense IRQ and IRL interrupt sources (ICR0.LVLMODE)
For the IRQ and IRL interrupts when the level sensing is set, the following two modes are
available:
(a) A mode in which the source of interrupt is temporarily held inside of the INTC even if the
input level of the external pin is not retained.
(b) A mode in which the source of interrupt is not held inside of the INTC.
(c) The initial value of ICR0.LVLMODE is 0; however, it is recommended to set
ICR0.LVLMODE to 1 by setting the interrupt control register 0 (ICR0) by the initialization
routine.
Rev.1.00 Jan. 10, 2008 Page 263 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Figure 10.1 shows a block diagram of the INTC.
IRQOUT
NMI
IRQ
8
CPU
IRL
IRQ/IRL7 to
IRQ/IRL0
IRQ/IRL7 to
IRQ/IRL4 and
GPIO port
L4 to L1 are
multiplexed
Priority
determination
for external
interrupts
(levels 1 to 15)
Comparator
Input control
Comparator
NMI
USERIMASK.UIMASK
Interrupt
acceptance
SR.IMASK
INTPRI
Bus interface
GPIO Port
E5 to E0
H4 to H1
L7, L6
WDT
H-UDI
DMAC
PCIC
GPIO interrupts
Interrupt request
Interrupt request
Interrupt request
Interrupt request
Interrupt request
DU
GDTA
Other peripheral
modules*
Priority
determination
for on-chip
peripheral
module
interrupts
(levels 2 to 31)
Peripheral bus
12
ICR0, 1
Interrupt request
Interrupt request
On-chip
modules
INT2PRI0 to
INT2PRI9
Bus interface
INT2GPIC
Legend:
DMAC:
DU:
FLCTL:
GDTA:
HAC:
HSPI:
H-UDI:
ICR0, ICR1:
INTPRI:
INT2PRI0 to
INT2PRI9:
INT2GPIC:
Direct Memory Access Controller
Display Unit
NAND Flash Memory Controller
Graphics Data Translation Accelerator
Audio Codec Interface
Serial Peripheral Interface
User Debugging Interface
Interrupt Control Registers 0, 1
Interrupt Priority Level Register
MMCIF:
PCIC:
SCIF:
SIOF:
SR.IMASK:
SSI:
TMU:
USERIMASK.
UIMASK:
WDT:
Multimedia Card Interface
PCI Controller
Serial Communication Interface with FIFO
Synchronous Serial I/O with FIFO
IMASK bit in Status Register
Serial Sound Interface
Timer Unit
UIMASK bit in User Interrupt Mask Level Register
Watch Dog Timer
Interrupt Priority Registers 0 to 9
GPIO Interrupt Set Register
Note: * Other peripheral modules that can output interrupts are TMU, SCIF, HAC, SIOF, HSPI, MMCIF, SSI, and FLCTL.
Figure 10.1 Block Diagram of INTC
Rev.1.00 Jan. 10, 2008 Page 264 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
The details of the input control circuit of figure 10.1 are shown in figure 10.2.
Input control
NMI
detector*4
NMI
IRQ/IRL7 to
IRQ/IRL0
IRL/IRQ
pin mode
controller*1
IRL
mask
controller
Noise
canceller
Noise
canceller
for level
detection
IRL
detector*2
IRQ
detector*3
NMI interrupt
request
INTC
IRL
IRQ
Priority
determination
for external
interrupts
ICR0
INTREQ
ICR1
INTMSK2
INTMSK1
INTMSK0
Notes: 1.
2.
3.
4.
The internal signal for IRQ is fixed when ICR0.IRLMn (n = 0, 1) is cleared to 0, and the
internal signal for IRL is fixed when ICR0.IRLMn is set to 1 to prevent propagation of the state
transition on the pin to inside the LSI.
IRL detector includes a noise canceller.
When the interrupt source holding mode bit (ICR0.LVLMODE) is cleared to 0, the interrupt
source bits for the detected IRL interrupt request are retained in the INTC. When
ICR0.LVLMODE = 1, the interrupt source bits are not retained.
In the case of ICR0.LVLMODE = 0, if the IRL interrupt request masking is set by INTMSK2
after the interrupt source bit is retained, the IRL interrupt request of the source that has
already been retained will not be masked. To clear the retained interrupt request, refer to
section 10.7.1.
When the IRQ interrupt is configured for level-sense, the interrupt source bit of the IRQ
interrupt detected by this circuit is retained if ICR0.LVLMODE = 0. The interrupt source bits of
the level-sense IRQ are not retained if ICR0.LVLMODE = 1.
This circuit detects the NMI interrupt request.
Figure 10.2 Input Control Circuit for the Interrupt Requested from the External Pin
Rev.1.00 Jan. 10, 2008 Page 265 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.1.1
Interrupt Method
The basic flow of exception handling for interrupts is as follows.
In interrupt exception handling, the contents of the program counter (PC), status register (SR), and
general register 15 (R15) are saved in the saved program counter (SPC), saved status register
(SSR), and saved general register15 (SGR), and the CPU starts execution of the interrupt
exception handling routine at the corresponding vector address. An interrupt exception handling
routine is a program written by the user to handle a specific exception. The interrupt exception
handling routine is terminated and control returned to the original program by executing a returnfrom-exception instruction (RTE). This instruction restores the contents of PC and SR and returns
control to the normal processing routine at the point at which the exception occurred. The contents
of SGR are not written back to R15 by the RTE instruction.
1.
2.
3.
4.
5.
6.
7.
The contents of the PC, SR and R15 are saved in SPC, SSR and SGR, respectively.
The block (BL) bit in SR is set to 1.
The mode (MD) bit in SR is set to 1.
The register bank (RB) bit in SR is set to 1.
In a reset, the FPU disable (FD) bit in SR is cleared to 0.
The exception code is written to bits 13 to 0 of the interrupt event register (INTEVT).
Processing jumps to the start address of the interrupt exception handling routine, vector base
register (VBR) + H'600.
When the INTMU bit in CPOOPM is set to 1, the interrupt mask level (IMASK) in SR is
automatically modified to the level of the accepted interrupt.
8. The processing branches to the corresponding exception handling vector address and the
exception handling routine starts.
Rev.1.00 Jan. 10, 2008 Page 266 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.1.2
Interrupt Sources
Table 10.1 shows an example of the interrupt types. The INTC supports both external interrupts
and on-chip peripheral module interrupts.
External interrupts refer to the interrupts input through the external NMI, IRL, and IRQ pins.
The IRQ and IRL interrupts are assigned to the same pins in the SH7785. The pin functions are
selected to suit the system configuration.
Ether level-sense, or the rising or falling edge, can be selected for the detection of IRQ input.
Table 10.1 Interrupt Types
Number of
Sources
(Max.)
Priority
INTEVT
NMI
1
16
H'1C0
IRL
2
Inverse of values on the
input pins (because the
signals are active low)
H'200
IRL[3:0] = LLLL (H'0)
H'B00
IRL[7:4] = LLLL (H'0)
H'220
IRL[3:0] = LLLH (H'1)
H'B20
IRL[7:4] = LLLH (H'1)
H'240
IRL[3:0] = LLHL (H'2)
H'B40
IRL[7:4] = LLHL (H'2)
H'260
IRL[3:0] = LLHH (H'3)
H'B60
IRL[7:4] = LLHH (H'3)
H'280
IRL[3:0] = LHLL (H'4)
H'B80
IRL[7:4] = LHLL (H'4)
H'2A0
IRL[3:0] = LHLH (H'5)
H'BA0
IRL[7:4] = LHLH (H'5)
H'2C0
IRL[3:0] = LHHL (H'6)
H'BC0
IRL[7:4] = LHHL (H'6)
H'2E0
IRL[3:0] = LHHH (H'7)
H'BE0
IRL[7:4] = LHHH (H'7)
H'300
IRL[3:0] = HLLL (H'8)
H'C00
IRL[7:4] = HLLL (H'8)
Source
External
interrupts
Input level
H: high level
L: low level
(see table 10.11)
Remarks
High
Low
Rev.1.00 Jan. 10, 2008 Page 267 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Number of
Sources
(Max.)
Priority
Source
External
interrupts
IRL
IRQ
interrupt
2
8
INTEVT
Remarks
Inverse of values on
the input pins
(because the signals
are active low)
H'320
IRL[3:0] pin = HLLH (H'9)
H'C20
IRL[7:4] pin = HLLH (H'9)
H'340
IRL[3:0] pin = HLHL (H'A)
Input level
H: high level
L: low level
(see table 10.11)
H'C40
IRL[7:4] pin = HLHL (H'A)
H'360
IRL[3:0] pin = HLHH (H'B)
H'C60
IRL[7:4] pin = HLHH (H'B)
Values set in INTPRI
H'380
IRL[3:0] pin = HHLL (H'C)
H'C80
IRL[7:4] pin = HHLL (H'C)
H'3A0
IRL[3:0] pin = HHLH (H'D)
H'CA0
IRL[7:4] pin = HHLH (H'D)
H'3C0
IRL[3:0] pin = HHHL (H'E)
H'CC0
IRL[7:4] pin = HHHL (H'E)
Low
H'240
IRQ[0]
High
H'280
IRQ[1]
H'2C0
IRQ[2]
H'300
IRQ[3]
H'340
IRQ[4]
H'380
IRQ[5]
H'3C0
IRQ[6]
H'200
IRQ[7]
On-chip
WDT
1
peripheral
TMU-ch0 1
module
interrupts* TMU-ch1 1
H'560
Values set in
INT2PRI0 to INT2PRI9
H'580
H'5A0
TUNI1*
TMU-ch2 2
H'5C0
TUNI2*
H'5E0
TICPI2*
H-UDI
ITI*
TUNI0*
1
H'600
H-UDII
DMAC(0) 7
H'620
DMINT0*
H'640
DMINT1*
H'660
DMINT2*
Rev.1.00 Jan. 10, 2008 Page 268 of 1658
REJ09B0261-0100
High
Low
10. Interrupt Controller (INTC)
Number of
Sources
(Max.)
Priority
Source
DMAC(0) 7
On-chip
module
interrupts*
SCIF-ch0 4
SCIF-ch1 4
DMAC(1) 7
HSPI
Values set in INT2PRI0 to
INT2PRI9
INTEVT
Remarks
H'680
DMINT3*
H'6A0
DMINT4*
H'6C0
DMINT5*
H'6E0
DMAE0 (channels 0 to 5)*
H'700
ERI0*
H'720
RXI0*
H'740
BRI0*
H'760
TXI0*
H'780
ERI1*
H'7A0
RXI1*
H'7C0
BRI1*
H'7E0
TXI1*
H'880
DMINT6*
H'8A0
DMINT7*
H'8C0
DMINT8*
H'8E0
DMINT9*
H'900
DMINT10*
H'920
DMINT11*
H'940
DMAE1 (channels 6 to 11)*
1
H'960
SPII
SCIF-ch2 4
H'980
ERI2*, RXI2*, BRI2*, TXI2*
SCIF-ch3 4
H'9A0
ERI3*, RXI3*, BRI3*, TXI3*
SCIF-ch4 4
H'9C0
ERI4*, RXI4*, BRI4*, TXI4*
SCIF-ch5 4
H'9E0
ERI5*, RXI5*, BRI5*, TXI5*
PCIC(0)
4
H'A00
PCISERR
PCIC(1)
1
H'A20
PCIINTA
PCIC(2)
1
H'A40
PCIINTB
PCIC(3)
1
H'A60
PCIINTC
PCIC(4)
1
H'A80
PCIINTD
PCIC(5)
5
H'AA0
PCIERR
H'AC0
PCIPWD3, PCIPWD2,
PCIPWD1
H'AE0
PCIPWD0
Rev.1.00 Jan. 10, 2008 Page 269 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Source
SIOF
On-chip
module
MMCIF
interrupts*
Number of
Sources
(Max.)
Priority
INTEVT
Remarks
1
H'CE0
SIOFI
H'D00
FSTAT
H'D20
TRAN
4
DU
1
GDTA
3
Values set in INT2PRI0 to
INT2PRI9
H'D40
ERR
H'D60
FRDY
H'D80
DUI
H'DA0
GACLI
H'DC0
GAMCI
H'DE0
GAERI
TMU-ch3 1
H'E00
TUNI3*
TMU-ch4 1
H'E20
TUNI4*
TMU-ch5 1
H'E40
TUNI5*
SSI-ch0
1
H'E80
SSII0
SSI-ch1
1
H'EA0
SSII1
HAC-ch0
1
H'EC0
HACI0
HAC-ch1
1
H'EE0
HACI1
FLCTL
4
H'F00
FLSTE*
GPIO
Legend:
ITI:
TUNI0 to TUNI5:
TICPI2:
DMINT0 to DMINT11:
DMAE0 (ch0 to 5):
DMAE1 (ch6 to 11):
ERI0, ERI1, ERI2,
ERI3, ERI4, ERI5:
RXI0, RXI1, RXI2,
RXI3, RXI4, RXI5:
4
H'F20
FLTEND*
H'F40
FLTRQ0*
H'F60
FLTRQ1*
H'F80
GPIOI0 (Port pins E0 to E2)
H'FA0
GPIOI1 (Port pins E3 to E5)
H'FC0
GPIOI2 (Port pins H1 to H4)
H'FE0
GPIOI3 (Port pins L6 and L7)
WDT Interval timer interrupt
TMU channels 0 to 5 underflow interrupt
TMU channel 2 input capture interrupt
DMAC channels 0 to 11 transfer end interrupt
DMAC address error interrupt (channels 0 to 5)
DMAC address error interrupt (channels 6 to 11)
SCIF channels 0 to 5 receive error interrupt
SCIF channels 0 to 5 receive data full interrupt
Rev.1.00 Jan. 10, 2008 Page 270 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
BRI0, BRI1, BRI2,
BRI3, BRI4, BRI5:
SCIF channels 0 to 5 break interrupt
TXI0, TXI1, TXI2, TXI3,
TXI4, TXI5:
SCIF channels 0 to 5 transmission data empty interrupt
FLSTE:
FLCTL error interrupt
FLTEND:
FLCTL error interrupt
FLTRQ0:
FLCTL data FIFO transfer request interrupt
FLTRQ1:
FLCTL control code FIFO transfer request interrupt
Note: * Abbreviations used in the sources of the on-chip peripheral module interrupts.
Rev.1.00 Jan. 10, 2008 Page 271 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.2
Input/Output Pins
Table 10.2 shows the pin configuration.
Table 10.2 INTC Pin Configuration
Pin Name
Function
I/O
NMI
Nonmaskable Input
interrupt
input pin
Description
Nonmaskable interrupt request signal input
Interrupt request signal input of IRQ7 to IRQ0 or IRL[7:4]
and IRL[3:0]
IRQ/IRL7 to External
IRQ/IRL0
interrupt
input pins
Input
IRQOUT
Output Informs an external device of the generation of an interrupt
request.
Interrupt
request
output pin
The IRQ/IRL7 pin is multiplexed with FD7 (FLCTL I/O),
MODE3 (mode control input), and port L1 (GPIO I/O) pin,
the IRQ/IRL6 pin is multiplexed with FD6 (FLCTL I/O),
MODE2 (mode control input), and port L2 (GPIO I/O) pin,
the IRQ/IRL5 pin is multiplexed with FD5 (FLCTL I/O),
MODE1 (mode control input), and port L3 (GPIO I/O) pin,
and the IRQ/IRL4 pin is multiplexed with FD4 (FLCTL I/O),
MODE3 (mode control input), and port L4 (GPIO I/O) pin.
The IRQOUT pin is multiplexed with MRESETOUT (reset,
watchdog timer (WDT) output pin).
IRQOUT outputs the low level even if the interrupt request is
not accepted by the CPU because of the priority of a
generated interrupt request being lower than SR.IMASK.
However, IRQOUT is not asserted in the following cases:
(1) IRL interrupt
•
The IRL interrupt is masked by INTMASK1, or
• The IRQ interrupt is masked by INTMASK2.
(2) IRQ interrupt
•
The interrupt is masked by INTMASK1, or
• The priority of the IRQ interrupt is set to H'0 by INTPRI
(3) On-chip module interrupt
•
The on-chip module interrupt is masked by INT2MSKR,
or
•
The priority is set to H'00 or H'01 by INT2PRI0 to
INT2PRI9.
Rev.1.00 Jan. 10, 2008 Page 272 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.3
Register Descriptions
Table 10.3 shows the INTC register configuration. Table 10.4 shows the register states in each
operating mode.
Table 10.3 INTC Register Configuration
Name
Abbreviation
R/W
P4 Address
Area 7 Address
Access Sync.
Size
Clock
Interrupt control register 0
ICR0
R/W
H'FFD0 0000
H'1FD0 0000
32
Pck
Interrupt control register 1
ICR1
R/W
H'FFD0 001C
H'1FD0 001C
32
Pck
Interrupt priority register
INTPRI
R/W
H'FFD0 0010
H'1FD0 0010
32
Pck
1
Interrupt source register
INTREQ
R/(W)* H'FFD0 0024
H'1FD0 0024
32
Pck
Interrupt mask register 0
INTMSK0
R/W
H'FFD0 0044
H'1FD0 0044
32
Pck
Interrupt mask register 1
INTMSK1
R/W
H'FFD0 0048
H'1FD0 0048
32
Pck
Interrupt mask register 2
INTMSK2
R/W
H'FFD4 0080
H'1FD4 0080
32
Pck
Interrupt mask clear register 0 INTMSKCLR0
R/W
H'FFD0 0064
H'1FD0 0064
32
Pck
Interrupt mask clear register 1 INTMSKCLR1
R/W
H'FFD0 0068
H'1FD0 0068
32
Pck
Interrupt mask clear register 2 INTMSKCLR2
R/W
H'FFD4 0084
H'1FD4 0084
32
Pck
2
NMI flag control register
NMIFCR
R/(W)* H'FFD0 00C0
H'1FD0 00C0
32
Pck
User interrupt mask level
register
USERIMASK
R/W
H'FFD3 0000
H'1FD3 0000
32
Pck
Interrupt priority registers
INT2PRI0
R/W
H'FFD4 0000
H'1FD4 0000
32
Pck
INT2PRI1
R/W
H'FFD4 0004
H'1FD4 0004
32
Pck
Interrupt source register (not
affected by the mask state)
INT2PRI2
R/W
H'FFD4 0008
H'1FD4 0008
32
Pck
INT2PRI3
R/W
H'FFD4 000C
H'1FD4 000C
32
Pck
INT2PRI4
R/W
H'FFD4 0010
H'1FD4 0010
32
Pck
INT2PRI5
R/W
H'FFD4 0014
H'1FD4 0014
32
Pck
INT2PRI6
R/W
H'FFD4 0018
H'1FD4 0018
32
Pck
INT2PRI7
R/W
H'FFD4 001C
H'1FD4 001C
32
Pck
INT2PRI8
R/W
H'FFD4 0020
H'1FD4 0020
32
Pck
INT2PRI9
R/W
H'FFD4 0024
H'1FD4 0024
32
Pck
INT2A0
R
H'FFD4 0030
H'1FD4 0030
32
Pck
Rev.1.00 Jan. 10, 2008 Page 273 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Name
Abbreviation
R/W
P4 Address
Area 7 Address
Access Sync.
Size
Clock
Interrupt source register
(affected by the mask state)
INT2A1
R
H'FFD4 0034
H'1FD4 0034
32
Pck
Interrupt mask register
INT2MSKR
R/W
H'FFD4 0038
H'1FD4 0038
32
Pck
Interrupt mask clear register
INT2MSKCLR
R/W
H'FFD4 003C
H'1FD4 003C
32
Pck
On-chip module interrupt
source registers
INT2B0
R
H'FFD4 0040
H'1FD4 0040
32
Pck
INT2B1
R
H'FFD4 0044
H'1FD4 0044
32
Pck
INT2B2
R
H'FFD4 0048
H'1FD4 0048
32
Pck
INT2B3
R
H'FFD4 004C
H'1FD4 004C
32
Pck
INT2B4
R
H'FFD4 0050
H'1FD4 0050
32
Pck
INT2B5
R
H'FFD4 0054
H'1FD4 0054
32
Pck
INT2B6
R
H'FFD4 0058
H'1FD4 0058
32
Pck
INT2B7
R
H'FFD4 005C
H'1FD4 005C
32
Pck
INT2GPIC
R/W
H'FFD4 0090
H'1FD4 0090
32
Pck
GPIO interrupt set register
Notes: 1. The interrupt source registers (INTREQ) are readable and conditionally writable
registers. For details, refer to section 10.3.1, External Interrupt Request Registers.
2. The NMI flag control register (NMIFCR) is readable and conditionally writable register.
For details, refer to section 10.3.1, External Interrupt Request Registers.
Rev.1.00 Jan. 10, 2008 Page 274 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Table 10.4 Register States in Each Operating Mode
Name
Abbreviation
Power-on
Reset by
PRESET
Pin/WDT/H-UDI
Manual Reset
by
WDT/Multiple
Exception
Sleep by
SLEEP
Instruction
Deep Sleep by
SLEEP
Instruction
(DSLP = 1)
Interrupt control
register 0
ICR0
H'x000 0000*
H'x000 0000*
Retained
Retained
Interrupt control
register 1
ICR1
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt priority
register
INTPRI
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt source
register
INTREQ
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt mask
register 0
INTMSK0
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt mask
register 1
INTMSK1
H'FF00 0000
H'FF00 0000
Retained
Retained
Interrupt mask
register 2
INTMSK2
H'FF00 0000
H'FF00 0000
Retained
Retained
Interrupt mask clear
register 0
INTMSKCLR0
H'xx00 0000
H'xx00 0000
Retained
Retained
Interrupt mask clear
register 1
INTMSKCLR1
H'x000 0000
H'x000 0000
Retained
Retained
Interrupt mask clear
register 2
INTMSKCLR2
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
NMI flag control
register
NMIFCR
H'x000 0000*
H'x000 0000*
Retained
Retained
User interrupt mask
level register
USERIMASK
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt priority
registers
INT2PRI0
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI1
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI2
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI3
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI4
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI5
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI6
H'0000 0000
H'0000 0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 275 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Name
Abbreviation
Power-on
Reset by
PRESET
Pin/WDT/H-UDI
Interrupt priority
registers
INT2PRI7
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI8
H'0000 0000
H'0000 0000
Retained
Retained
INT2PRI9
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt source
INT2A0
register (not affected
by the mask state)
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
Interrupt source
register (affected by
the mask state)
INT2A1
H'0000 0000
H'0000 0000
Retained
Retained
Interrupt mask
register
INT2MSKR
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Interrupt mask clear
register
INT2MSKCR
H'0000 0000
H'0000 0000
Retained
Retained
Module interrupt
source registers
INT2B0
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B1
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B2
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B3
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B4
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B5
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B6
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2B7
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
INT2GPIC
H'0000 0000
H'0000 0000
Retained
Retained
GPIO interrupt set
register
Note:
*
Manual Reset
by
WDT/Multiple
Exception
Sleep by
SLEEP
Instruction
Deep Sleep by
SLEEP
Instruction
(DSLP = 1)
initial values of ICR0.NMIL and NMIFCR.NMIL depend on the level input to the NMI pin.
Rev.1.00 Jan. 10, 2008 Page 276 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.3.1
(1)
External Interrupt Request Registers
Interrupt Control Register 0 (ICR0)
ICR0 is a 32-bit readable and partially writable register that sets the input signal detection mode
for the external interrupt input pins and NMI pin, and indicates the level being input on the NMI
pin.
31
30
29
28
27
26
NMIL
MAI
⎯
⎯
⎯
⎯
Initial value:
R/W:
—
R
0
R/W
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
Initial value:
R/W:
Bit
Name
Initial
Value
R/W
31
NMIL
Undefined
R
25
24
23
22
21
LVL
NMIB NMIE IRLM0 IRLM1 MODE
0
0
0
0
0
R/W R/W R/W R/W R/W
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
Description
NMI Input Level
Indicates the signal level being input on the NMI pin.
Reading this bit allows the user to know the NMI pin
level, and writing is invalid.
0: Low level is being input on the NMI pin
1: High level is being input on the NMI pin
30
MAI
0
R/W
MAI (mask all interrupts) Interrupt Mask
Specifies whether all interrupts are masked while the
NMI pin is at the low level regardless of the setting of
the BL bit in SR of the CPU.
0: Interrupts remain enabled even when the NMI pin
goes low
1: Interrupts are disabled when the NMI pin goes low
29 to 26 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 277 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
25
NMIB
0
R/W
NMI Block Mode
Selects whether an NMI interrupt is held until the BL bit
in SR is cleared to 0 or detected immediately when the
BL bit in SR of the CPU is set to 1.
0: An NMI interrupt is held when the BL bit in SR is set
to 1 (initial value)
1: An NMI interrupt is not held when the BL bit in SR is
set to 1
Note: If interrupts are accepted with the BL bit in SR
set to 1, information saved for any previous
exception (SSR, SPC, SGR, and INTEVT) is lost.
24
NMIE
0
R/W
NMI Edge Select
Selects whether an interrupt request signal to the NMI
pin is detected at the rising edge or the falling edge.
0: An interrupt request is detected at the falling edge of
NMI input (initial value)
1: An interrupt request is detected at the rising edge of
NMI input
23
IRLM0*1*2
0
R/W
IRL Pin Mode 0
Selects whether IRQ/IRL3 to IRQ/IRL0 are used as
encoded interrupt requests (IRL3 to IRL0) or as four
independent interrupts (IRQ3 to IRQ0 interrupts).
0: IRQ/IRL3 to IRQ/IRL0 are used as the encoded
interrupt requests (initial value)
1: IRQ/IRL3 to IRQ/IRL0 are used as four independent
interrupt requests
22
IRLM1*1*2
0
R/W
IRL Pin Mode 1
Selects whether IRQ/IRL7 to IRQ/IRL4 are used as 4bit level-encoded interrupt requests (IRL7 to IRL4
interrupts) or as four independent interrupts (IRQ7 to
IRQ4 interrupts).
0: IRQ/IRL7 to IRQ/IRL4 are used as the 4-bit levelencoded interrupt requests (initial value)
1: IRQ/IRL7 to IRQ/IRL4 are used as four independent
interrupt requests
Rev.1.00 Jan. 10, 2008 Page 278 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Initial
Value
Bit
Name
21
LVLMODE 0
R/W
Description
R/W
Level-sense IRQ/IRL with holding function
Selects whether or not to use the holding function for
level-sense IRQ and IRL interrupts.
0: Level-sense IRQ and IRL interrupt requests are held
(initial value)
1: Level-sense IRQ and IRL interrupt requests are not
held
Rewriting to this bit should be performed by the
initialization routine before canceling the masking
(INTMASK0 and INTMASK1) for the IRQ interrupts and
IRL interrupt. After this, do not rewrite this bit until
power-on reset or manual reset is made. The initial
value is 0, however. it is recommended to use INTC
after this bit has been set to 1 by the initialization
routine.
For the details of the operation when this bit is set to 0,
refer to section 10.4.2, IRQ Interrupts, section 10.4.3,
IRL Interrupts, section 10.7.1, Example of Handing
Routine of IRL Interrupts and Level Detection IRQ
Interrupts when ICR0.LVLMODE = 0, and section
10.7.3, Clearing IRQ and IRL Interrupt Requests.
20 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Notes: 1. When IRLM0 and IRLM1 are changed from 0 to 1, the IRL interrupt source that has
been detected or held is cleared. When IRLM0 and IRLM1 are changed from 1 to 0, the
IRL interrupt source that has been detected or held is not cleared.
2. When using the IRQ/IRL3 to IRQ/IRL0 pins or IRQ/IRL7 to IRQ/IRL4 pins as encoded
IRL interrupt inputs, set IM00 to IM03 or IM04 to IM07 of the interrupt mask register 0 to
1, respectively.
Rev.1.00 Jan. 10, 2008 Page 279 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(2)
Interrupt Control Register 1 (ICR1)
ICR1 is a 32-bit readable/writable register that specifies the individual input signal detection
modes for the respective external interrupt input pins IRQ/IRL7 to IRQ/IRL0. These settings are
only valid when IRLM0 or IRLM1 of ICR0 is set to 1 so that IRQ/IRL3 to IRQ/IRL0 or
IRQ/IRL7 to IRQ/IRL4 pins are used as individual interrupts (IRQ7 to IRQ0 interrupts) inputs.
Bit:
31
30
IRQ0S
Initial value:
R/W:
Bit:
29
28
IRQ1S
27
26
25
IRQ2S
24
23
IRQ3S
0
R/W
21
0
R/W
0
R/W
20
19
IRQ5S
0
R/W
0
R/W
18
17
IRQ6S
0
R/W
0
R/W
16
IRQ7S
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
0
R/W
22
IRQ4S
0
R/W
0
R/W
Bit
Name
Initial
Value
R/W
Description
31, 30
IRQ0S
00
R/W
IRQn Sense Select
29, 28
IRQ1S
00
R/W
27, 26
IRQ2S
00
R/W
25, 24
IRQ3S
00
R/W
Selects whether the corresponding individual pin
interrupt signal on the IRQ/IRL7 to IRQ/IRL0 pins is
detected on rising or falling edges, or at the high or
low level.
23, 22
IRQ4S
00
R/W
21, 20
IRQ5S
00
R/W
19, 18
IRQ6S
00
R/W
17, 16
IRQ7S
00
R/W
00: The interrupt request is detected on falling edges
of the IRQn input.
01: The interrupt request is detected on rising edges
of the IRQn input.
10: The interrupt request is detected when the IRQn
input is at the low level.
11: The interrupt request is detected when the IRQn
input is at the high level.
Note: n = 0 to 7
15 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Notes: 1. When an IRQ pin is set for level input (IRQnS1 = 1) and the source holding mode
(LVLMODE of ICR0) of the interrupt control register 0 (ICR0) is 0, the interrupt source is
held until the CPU accepts the interrupt (this is also true for other interrupts). Therefore,
even if an interrupt source is disabled before this LSI returns from sleep mode,
branching of processing to the interrupt handler when this LSI returns from sleep mode
is guaranteed. A held interrupt can be cleared by setting the corresponding interrupt
mask bit (the IM bit in the interrupt mask register) to 1 (refer to section 10.7.3, Clearing
Rev.1.00 Jan. 10, 2008 Page 280 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
IRQ and IRL Interrupt Requests).
2. When the IRQnS setting is changed from edge sense (IRQnS is 00 or 01) to level
sense (IRQnS is 10 or 11), the IRQ interrupt source that has been edge sensed is
cleared. When the IRQnS setting is changed from level sense (IRQnS is 10 or 11) to
edge sense (IRQnS is 00 or 01), the IRQ interrupt source that has been sensed or held
is cleared. When the IRQnS setting is changed form falling-edge sense (IRQnS is 00) to
rising edge sense (IRQnS is 01), or changed from rising edge sense (IRQnS is 01) to
the falling edge sense (IRQnSis 00), the IRQ interrupt source that has been sensed
before changing the setting is not cleared. Likewise, when IRQnS setting is changed
from low-level sense (IRQnS is 10) to high-level sense (IRQnS is 11), or changed from
high-level sense (IRQnS is 11) to the low-level sense (IRQnSis 10), the IRQ interrupt
source that has been sensed before changing the setting is not cleared.
Rev.1.00 Jan. 10, 2008 Page 281 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(3)
Interrupt Priority Register (INTPRI)
INTPRI is a 32-bit readable/writable register used to set the priorities of IRQ[7:0] (as levels from
15 to 0). These settings are only valid for IRQ/IRL7 to IRQ/IRL4 or IRQ/IRL3 to IRQ/IRL0 when
set up as individual IRQ interrupts (IRQ7 to IRQ0 interrupts) by setting the IRLM0 or IRLM1 bit
in ICR0 to 1.
Bit:
31
30
29
28
27
26
25
IP0
Initial value:
R/W:
Bit:
24
23
22
IP1
21
20
19
18
IP2
17
16
IP3
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
IP4
0
R/W
0
R/W
IP5
0
R/W
0
R/W
0
R/W
0
R/W
IP6
0
R/W
0
R/W
0
R/W
0
R/W
IP7
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Initial
Name Value
R/W
Description
31 to 28
IP0
H'0
R/W
Set the priority of IRQ0 as an individual pin interrupt request.
27 to 24
IP1
H'0
R/W
Set the priority of IRQ1 as an individual pin interrupt request.
23 to 20
IP2
H'0
R/W
Set the priority of IRQ2 as an individual pin interrupt request.
19 to 16
IP3
H'0
R/W
Set the priority of IRQ3 as an individual pin interrupt request.
15 to 12
IP4
H'0
R/W
Set the priority of IRQ4 as an individual pin interrupt request.
11 to 8
IP5
H'0
R/W
Set the priority of IRQ5 as an individual pin interrupt request.
7 to 4
IP6
H'0
R/W
Set the priority of IRQ6 as an individual pin interrupt request.
3 to 0
IP7
H'0
R/W
Set the priority of IRQ7 as an individual pin interrupt request.
Note: Interrupt priorities are established by setting values from H'F to H'1 in each of the 4-bit
fields. A larger value corresponds to a higher priority. When the value H'0 is set in a field,
the corresponding interrupt request is masked (initial value).
Rev.1.00 Jan. 10, 2008 Page 282 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(4)
Interrupt Source Register (INTREQ)
INTREQ is a 32-bit readable and conditionally writable register that indicates which of the IRQ
[n] (n = 0 to 7) interrupts is currently asserting a request for the INTC.
Even if an interrupt is masked by the setting in INTPRI or INTMSK0, operation of the
corresponding INTREQ bit is not affected.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
0
0
0
0
0
0
0
0
R/W: R/(W) R/(W) R/(W) R/(W) R/(W) R/(W) R/(W) R/(W)
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Description
Bit
Initial
Name Value
R/W
31
IR0
0
R/(W)
30
IR1
0
R/(W)
29
IR2
0
R/(W)
28
IR3
0
R/(W)
27
IR4
0
R/(W)
26
IR5
0
R/(W)
25
IR6
0
R/(W)
24
IR7
0
R/(W)
All 0
R
23 to 0 ⎯
Edge Detection
(IRQnS = 00 or 01)*1
Level Detection
(IRQnS = 10 or 11)*1
[When read]
0: The corresponding IRQ
interrupt request has not
been detected.
1: The corresponding IRQ
interrupt request has been
detected.
[When written]*2
When clearing each bit, write a
0 after having read a 1 from it.
Writing 1 to the bit is ignored.
[When read]
(ICR0.LVLMODE = 0)
0: The corresponding interrupt
source has not been
detected.
1: The corresponding interrupt
source has been detected.
[When read]
(ICR0.LVLMODE = 1)
0: The corresponding IRQ
interrupt pin is not asserted.
1: The corresponding IRQ
interrupt pin is asserted, but
the CPU has not accepted
the interrupt request yet.
Writing have no effect.*3
Reserved
These bits are always read as 0. The write value should always
be 0.
Notes: 1. n = 0 to 7
2. Write 1 to the bit if it should not be cleared yet.
3. For the method of clearing the IRQ interrupt request that has been detected by level
sensing, refer to section 10.7.3, Clearing IRQ and IRL Interrupt Requests.
Rev.1.00 Jan. 10, 2008 Page 283 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(5)
Interrupt Mask Register 0 (INTMSK0)
INTMSK0 is a 32-bit readable and conditionally writable register that sets masking for each of the
interrupt requests IRQn (n = 0 to 7). To clear the mask setting for an interrupt, write 1 to the
corresponding bit in INTMSKCLR0. Writing 0 to the bits in INTMSK0 has no effect. By reading
this register once after writing to this register or after clearing the mask by setting
IMTMSKCLR0, the time length necessary for reflecting the register value can be assured (the
value read is reflected to the mask status).
When using IRQ/IRL3 to IRQ/IRL0 pins or IRQ/IRL7 to IRQ/IRL4 pins for encoded IRL
interrupt inputs, write 1 to IM00 to IM03 or IM04 to IM07, respectively.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
23
22
21
20
19
18
17
16
IM00 IM01 IM02 IM03 IM04 IM05 IM06 IM07
31
30
29
28
27
26
25
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R/W
24
1
R/W
Bit
Name
Initial
Value
R/W
Description
31
IM00
1
R/W
Sets masking of individual
pin interrupt source on
IRQ0.
[When read]
0: The interrupts are
accepted.
30
IM01
1
R/W
Sets masking of individual
pin interrupt source on
IRQ1.
1: The interrupts are
masked.
29
IM02
1
R/W
Sets masking of individual
pin interrupt source on
IRQ2.
0: No effect
28
IM03
1
R/W
Sets masking of individual
pin interrupt source on
IRQ3.
27
IM04
1
R/W
Sets masking of individual
pin interrupt source on
IRQ4.
Rev.1.00 Jan. 10, 2008 Page 284 of 1658
REJ09B0261-0100
[When written]
1: Masks the interrupt
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
26
IM05
1
R/W
Sets masking of individual
pin interrupt source on
IRQ5.
[When read]
0: The interrupts are
accepted.
25
IM06
1
R/W
Sets masking of individual
pin interrupt source on
IRQ6.
1: The interrupts are
masked.
24
IM07
1
R/W
Sets masking of individual
pin interrupt source on
IRQ7.
0: No effect
23 to 0
All 0
R
[When written]
1: Masks the interrupt
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 285 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(6)
Interrupt Mask Register 1 (INTMSK1)
INTMSK1 is a 32-bit readable and conditionally writable register that sets masking for IRL
interrupt requests. To clear the mask setting for the interrupt, write 1 to the corresponding bit in
INTMSKCLR1. Writing 0 to the bits in INTMSK1 has no effect. By reading this register once
after writing to this register or after clearing the mask by setting IMTMSKCLR1, the time length
necessary for reflecting the register value can be assured (the value read is reflected to the mask
status).
Bit:
Initial value:
R/W:
Bit:
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IM10 IM11
31
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
1
R/W
1
R/W
1
R
1
R
1
R
1
R
1
R
1
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
30
Bit
Name
Initial
Value
R/W
Description
31
IM10
1
R/W
30
IM11
1
R/W
Mask setting for all IRL3 to [When read]
IRL0 interrupt sources
0: The interrupt is
when pins IRQ/IRL3 to
accepted.
IRQ/IRL0 operate as an
1: The interrupt is
encoded interrupt input.
masked.
Mask setting for all IRL7 to [When written]
IRL4 interrupt sources
0: No effect
when pins IRQ/IRL7 to
1: Masks the interrupt
IRQ/IRL4 operate as an
encoded interrupt input.
29 to 24 ⎯
All 1
R
Reserved
These bits are always read as 1. The write value
should always be 1.
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
23 to 0
Rev.1.00 Jan. 10, 2008 Page 286 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(7)
Interrupt Mask Register 2 (INTMSK2)
INTMSK2 is a 32-bit readable and conditionally writable register that sets masking for IRL
interrupt requests for input level pattern on the IRL pins. To clear the mask setting for the
interrupt, write 1 to the corresponding bit in INTMSKCLR2. Writing 0 to the bits in INTMSK2
has no effect. By reading this register once after writing to this register or after clearing the mask
by setting IMTMSKCLR2, the time length necessary for reflecting the register value can be
assured (the value read is reflected to the mask status).
INTMSK2 settings are valid when the IRQ/IRL3 to IRQ/IRL0 pins or IRQ/IRL7 to IRQ/IRL4
pins are used for encoded IRL interrupt inputs, and the corresponding IRL interrupt is not masked
by INTMSK1.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
IM015 IM014 IM013 IM012 IM011 IM010 IM009 IM008 IM007 IM006 IM005 IM004 IM003 IM002 IM001
Initial value:
R/W:
Bit:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
IM115 IM114 IM113 IM112 IM111 IM110 IM109 IM108 IM107 IM106 IM105 IM104 IM103 IM102 IM101
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Name
Initial
Value
R/W
Description
31
IM015
0
R/W
30
IM014
0
R/W
29
IM013
0
R/W
Masks the interrupt source [When read]
of IRL3 to IRL0 = LLLL
0: The interrupt is
(H'0).
accepted.
Masks the interrupt source 1: The interrupt is
of IRL3 to IRL0 = LLLH
masked.
(H'1).
[When written]
Masks the interrupt source 0: No effect
of IRL3 to IRL0 = LLHL
1: Masks the interrupt
(H'2).
28
IM012
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = LLHH
(H'3).
27
IM011
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = LHLL
(H'4).
16
⎯
0
R
0
⎯
0
R
Rev.1.00 Jan. 10, 2008 Page 287 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
26
IM010
0
R/W
25
IM009
0
R/W
24
IM008
0
R/W
Masks the interrupt source [When read]
of IRL3 to IRL0 = LHLH
0: The interrupt is
(H'5).
accepted.
Masks the interrupt source 1: The interrupt is
of IRL3 to IRL0 = LHHL
masked.
(H'6).
[When written]
Masks the interrupt source 0: No effect
of IRL3 to IRL0 = LHHH
1: Masks the interrupt
(H'7).
23
IM007
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HLLL
(H'8).
22
IM006
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HLLH
(H'9).
21
IM005
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HLHL
(H'A).
20
IM004
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HLHH
(H'B).
19
IM003
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HHLL
(H'C).
18
IM002
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HHLH
(H'D).
17
IM001
0
R/W
Masks the interrupt source
of IRL3 to IRL0 = HHHL
(H'E).
16
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 288 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
15
IM115
0
R/W
14
IM114
0
R/W
13
IM113
0
R/W
Masks the interrupt source [When read]
of IRL7 to IRL4 = LLLL
0: The interrupt is
(H'0).
accepted.
Masks the interrupt source 1: The interrupt is
of IRL7 to IRL4 = LLLH
masked.
(H'1).
[When written]
Masks the interrupt source 0: No effect
of IRL7 to IRL4 = LLHL
1: Masks the interrupt
(H'2).
12
IM112
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = LLHH
(H'3).
11
IM111
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = LHLL
(H'4).
10
IM110
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = LHLH
(H'5).
9
IM109
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = LHHL
(H'6).
8
IM108
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = LHHH
(H'7).
7
IM107
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = HLLL
(H'8).
6
IM106
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = HLLH
(H'9).
5
IM105
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = HLHL
(H'A).
4
IM104
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = HLHH
(H'B).
3
IM103
0
R/W
Masks the interrupt source
of IRL7 to IRL4 = HHLL
(H'C).
Rev.1.00 Jan. 10, 2008 Page 289 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
2
IM102
0
R/W
1
IM101
0
R/W
Masks the interrupt source [When read]
of IRL7 to IRL4 = HHLH
0: The interrupt is
(H'D).
accepted.
Masks the interrupt source 1: The interrupt is
of IRL7 to IRL4 = HHHL
masked.
(H'E).
[When written]
0: No effect
1: Masks the interrupt
0
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 290 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(8)
Interrupt Mask Clear Register 0 (INTMSKCLR0)
INTMSKCLR0 is a 32-bit write-only register that clears the mask settings for each of the interrupt
requests IRQn (n = 0 to 7). Undefined values are read from this register.
Bit:
Initial value:
R/W:
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IC00
IC01
IC02
IC03
IC04
IC05
IC06
IC07
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Bit
Name
Initial
Value
R/W
Description
31
IC00
0
R/W
Clears masking of IRQ0
interrupt.
30
IC01
0
R/W
Clears masking of IRQ1
interrupt.
29
IC02
0
R/W
Clears masking of IRQ2
interrupt.
28
IC03
0
R/W
Clears masking of IRQ3
interrupt.
27
IC04
0
R/W
Clears masking of IRQ4
interrupt.
26
IC05
0
R/W
Clears masking of IRQ5
interrupt.
25
IC06
0
R/W
Clears masking of IRQ6
interrupt.
24
IC07
0
R/W
Clears masking of IRQ7
interrupt.
23 to 0
—
All 0
R
[When read]
Undefined values are
read.
[When written]
0: No effect
1: Clears the
corresponding interrupt
mask (enables the
interrupt)
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 291 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(9)
Interrupt Mask Clear Register 1 (INTMSKCLR1)
INTMSKCLR1 is a 32-bit write-only register that clears the mask settings for the IRL interrupt
requests. Undefined values are read from this register.
Bit:
Initial value:
R/W:
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IC10
IC11
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Bit
Name
Initial
Value
R/W
Description
31
IC10
0
R/W
Clears masking of IRL3 to
IRL0 interrupt sources
when IRL3 to IRL0 operate
as an encoded interrupt
input.
[When read]
Undefined values are read.
[When written]
0: No effect
30
IC11
0
R/W
Clears masking of IRL7 to 1: Clears the
corresponding interrupt
IRL4 interrupt sources
mask (enables the
when IRL7 to IRL4 operate
interrupt)
as an encoded interrupt
input.
29 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 292 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(10) Interrupt Mask Clear Register 2 (INTMSKCLR2)
INTMSKCLR2 is a 32-bit write-only register that clears the mask settings for the IRL interrupt
requests for each input level pattern on the IRL pins. Undefined values are read from this register.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
IC015 IC014 IC013 IC012 IC011 IC010 IC009 IC008 IC007 IC006 IC005 IC004 IC003 IC002 IC001
Initial value:
R/W:
Bit:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
IC115 IC114 IC113 IC112 IC111 IC110 IC109 IC108 IC107 IC106 IC105 IC104 IC103 IC102 IC101
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Name
Initial
Value
R/W
Description
31
IC015
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LLLL (H'0).
[When read]
Clears masking of the
interrupt source of IRL3 to
IRL0 = LLLH (H'1).
[When written]
30
IC014
0
R/W
29
IC013
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LLHL (H'2).
28
IC012
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LLHH (H'3).
27
IC011
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LHLL (H'4).
26
IC010
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LHLH (H'5).
25
IC009
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LHHL (H'6).
24
IC008
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = LHHH (H'7).
0
R/W
16
⎯
0
R
0
⎯
0
R
Undefined values are
read.
0: No effect
1: Clears the
corresponding interrupt
mask (enables the
interrupt)
Rev.1.00 Jan. 10, 2008 Page 293 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
23
IC007
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = HLLL (H'8).
[When read]
Clears masking of the
interrupt source of IRL3 to
IRL0 = HLLH (H'9).
[When written]
22
IC006
0
R/W
21
IC005
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = HLHL (H'A).
20
IC004
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = HLHH (H'B).
19
IC003
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = HHLL (H'C).
18
IC002
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = HHLH (H'D).
17
IC001
0
R/W
Clears masking of the
interrupt source of IRL3 to
IRL0 = HHHL (H'E).
16
—
0
R
Undefined values are
read.
0: No effect
1: Clears the
corresponding interrupt
mask (enables the
interrupt)
Reserved
This bit is always read as 0. The write value should
always be 0.
15
14
IC115
IC114
0
0
R/W
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = LLLL (H'0).
[When read]
Clears masking of the
interrupt source of IRL7 to
IRL4 = LLLH (H'1).
[When written]
13
IC113
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = LLHL (H'2).
12
IC112
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = LLHH (H'3).
Rev.1.00 Jan. 10, 2008 Page 294 of 1658
REJ09B0261-0100
Undefined values are
read.
0: No effect
1: Clears the
corresponding interrupt
mask (enables the
interrupt)
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
Description
11
IC111
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = LHLL (H'4).
[When read]
Clears masking of the
interrupt source of IRL7 to
IRL4 = LHLH (H'5).
[When written]
10
IC110
0
R/W
9
IC109
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = LHHL (H'6).
8
IC108
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = LHHH (H'7).
7
IC107
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HLLL (H'8).
6
IC106
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HLLH (H'9).
5
IC105
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HLHL (H'A).
4
IC104
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HLHH (H'B).
3
IC103
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HHLL (H'C).
2
IC102
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HHLH (H'D).
1
IC101
0
R/W
Clears masking of the
interrupt source of IRL7 to
IRL4 = HHHL (H'E).
0
—
0
R
Reserved
Undefined values are
read.
0: No effect
1: Clears the
corresponding interrupt
mask (enables the
Interrupt)
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 295 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(11) NMI Flag Control Register (NMIFCR)
NMIFCR is a 32-bit readable and conditionally writable register that has an NMI flag (NMIFL
bit). The NMIFL bit is automatically set to 1 when an NMI interrupt is detected by the INTC.
Writing 0 to the NMIFL bit clears it.
The value of the NMIFL bit does not affect acceptance of the NMI by the CPU. Although an NMI
request detected by the INTC is cleared when the CPU accepts the NMI, the NMIFL bit is not
cleared automatically. Even if 0 is written to the NMIFL bit before the NMI request is accepted by
the CPU, the NMI request is not canceled.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
NMIL
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
NMIFL
Initial value:
R/W:
x
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/(W)
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
Initial value:
R/W:
Bit
Name
Initial
Value
R/W
Description
31
NMIL
x
R
NMI Input Level
Indicates the level of the signal input to the NMI pin;
that is, this bit is read to determine the level on the NMI
pin. This bit cannot be modified.
0: The low level is being input to the NMI pin
1: The high level is being input to the NMI pin
30 to 17 —
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 296 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Name
Initial
Value
R/W
16
NMIFL
0
R/(W) NMI Flag (NMI Interrupt Request Detection)
Description
Indicates whether an NMI interrupt request signal has
been detected. This bit is automatically set to 1 when
the INTC detects an NMI interrupt request. Write 0 to
clear the bit. Writing 1 to this bit has no effect.
[When read]
1: NMI has been detected
0: NMI has not been detected
[When written]
0: Clears the NMI flag
1: No effect
15 to 0
—
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 297 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.3.2
(1)
User Mode Interrupt Disable Function
User Interrupt Mask Level Setting Register (USERIMASK)
USERIMASK is a 32-bit readable and conditionally writable register that sets the acceptable
interrupt level. This register is allocated to the 64-Kbyte page that the other registers in the INTC
are not allocated. Therefore, only this register can be set to be accessible in user mode by changing
the address to area 7 address through the MMU.
The interrupts that the level is lower than the level set in the UIMASK bits are masked. When H'F
is set in the UIMASK bit, all interrupts other than the NMI are masked.
The interrupts that the level is higher than the level set in the UIMASK bits are accepted under the
following conditions. The corresponding interrupt mask bit in the interrupt mask register is cleared
to 0 (the interrupt is enabled). The IMASK bit in SR is set lower than its interrupt level.
The value of the UIMASK bit does not change even if an interrupt is accepted.
USERIMASK is initialized to H'0000 0000 (all interrupts are enabled) by a power-on reset or
manual reset.
To prevent incorrect writing, this register should not be written to unless bits 31 to 24 are set to
H'A5.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
7
6
5
4
Code for writing (H'A5)
Initial value:
R/W:
Bit:
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 298 of 1658
REJ09B0261-0100
0
R/W
UIMASK
0
R/W
0
R/W
0
R/W
0
R/W
3
2
1
0
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
10. Interrupt Controller (INTC)
Initial
Value
R/W
Description
31 to 24 (Code for
writing)
H'00
R/W
Code for writing (H'A5)
23 to 8
All 0
Bit
Name
—
These bits are always read as 0. Set these bits to H'A5
when writing to the UIMASK bits (Write to the UIMASK
bits with these bits set to H'A5).
R
Reserved
These bits are always read as 0. The write value
should always be 0.
7 to 4
UIMASK
0
R/W
Interrupt Mask Level
The interrupts whose level is equal to or lower than the
value set in the UIMASK bits are masked.
3 to 0
—
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
(2)
Procedure for Using the User Interrupt Mask Level Register
By setting the interrupt mask level in USERIMASK, the interrupts whose level is equal to or
lower than the value set in USERIMASK are disabled. This function is used to disable less urgent
interrupts when more urgent processing is performed by the tasks such as device drivers operating
in user mode to reduce the processing time.
USERIMASK is allocated in a different 64-Kbyte space apart from the one where other INTC
registers are allocated. Access to this register in user mode involves address translation by the
MMU. In a multitasking OS, the memory-protection functions of the MMU should be used to
control the processes that can access USERIMASK. Clear USERIMASK to 0 before completing a
task or switching to another task. If a task is completed with the UIMASK bits set to a value other
than 0, the interrupts whose level is equal to or lower than UIMASK remain disabled. This can
lead to problems, for example, the OS may not be able to switch between tasks.
An example procedure for using USERIMASK is described below.
1. Classify interrupts into A and B, as described below. Then, set the interrupt level of A-type
interrupts higher than that of the B-priority interrupts.
A. Interrupts to be accepted by device drivers (interrupts used in the OS, such as a timer
interrupt)
B. Interrupts that should not be accepted by device drivers
2. Set the MMU so that the access to the address space containing USERIMASK is only allowed
for the device drivers that need to disable the interrupts.
Rev.1.00 Jan. 10, 2008 Page 299 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
3. Branch to the device driver.
4. In the device driver operating in user mode, set the UIMASK bits to mask the B-type
interrupts.
5. Process more urgent interrupts in the device driver.
6. Clear the UIMASK bit to 0 and return from the processing by the device driver.
10.3.3
(1)
On-chip Module Interrupt Priority Registers
Interrupt Priority Registers (INT2PRI0 to INT2PRI9)
INT2PRI0 to INT2PRI9 are 32-bit readable/writable registers that set priority levels (31 to 0) of
the on-chip peripheral module interrupts. These registers are initialized to H'0000 0000 by a reset.
These registers can set the priority of each interrupt source in 30 levels (H'00 and H'01 mask the
interrupt request) by the 5-bit field.
31
30
29
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit:
15
14
13
12
11
10
9
8
⎯
⎯
⎯
0
R
0
R
0
R
Bit:
Initial value:
R/W:
28
0
R/W
27
0
R/W
26
0
R/W
25
0
R/W
24
0
R/W
23
22
21
⎯
⎯
⎯
20
19
18
17
16
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
7
6
5
⎯
⎯
⎯
0
R
0
R
0
R
Table 10.5 shows the correspondence between interrupt request sources and bits in INT2PRI0 to
INT2PRI9.
Rev.1.00 Jan. 10, 2008 Page 300 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Table 10.5 Interrupt Request Sources and INT2PRI0 to INT2PRI9
Bits
Register
28 to 24
20 to 16
12 to 8
4 to 0
INT2PRI0
TMU channel 0
TMU channel 1
TMU channel 2
TMU channel 2
input capture
INT2PRI1
TMU channel 3
TMU channel 4
TMU channel 5
Reserved*
INT2PRI2
SCIF channel 0
SCIF channel 1
SCIF channel 2
SCIF channel 3
INT2PRI3
SCIF channel 4
SCIF channel 5
WDT
Reserved*
INT2PRI4
H-UDI
DMAC (0)
DMAC (1)
Reserved*
INT2PRI5
HAC channel 0
HAC channel 1
PCIC (0)
PCIC (1)
INT2PRI6
PCIC (2)
PCIC (3)
PCIC (4)
PCIC (5)
INT2PRI7
SIOF
HSPI
MMCIF
Reserved*
INT2PRI8
FLCTL
GPIO
SSI channel 0
SSI channel 1
INT2PRI9
DU
GDTA
Reserved*
Reserved*
Notes: The larger the value is, the higher the priority is. If the value is set to H'00 or H'01, the
request is masked. For details, see table 10.1, Interrupt Sources.
* Reserved bits are always read as 0. The write value should always be 0.
Rev.1.00 Jan. 10, 2008 Page 301 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(2)
Interrupt Source Register (Not affected by Mask Setting) (INT2A0)
INT2A0 is a 32-bit read-only register that indicates the interrupt sources of on-chip peripheral
modules. Even if an interrupt is masked by the interrupt mask register, the corresponding bit in
INT2A0 is set (further interrupt operation is not performed for the corresponding bit). Use
INT2A1 instead if the bits for the interrupt sources masked by the interrupt mask registers should
not be set.
31
30
29
—
—
—
Initial value:
R/W:
0
R
0
R
Bit:
15
Initial value:
R/W:
—
R
Bit:
28
27
26
25
24
23
22
21
20
19
18
17
16
0
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
Table 10.6 shows the correspondence between bits in INT2A0 and the interrupt sources.
Table 10.6 Correspondence between Bits in INT2A0 and Interrupt Sources
Bit
Initial
Value
R/W Source
Function
31 to All 0
29
R
Reserved
28
Undefined
R
GDTA
27
Undefined
R
DU
26
Undefined
R
SSI
channel 1
25
Undefined
R
SSI
channel 0
24
Undefined
R
GPIO
23
Undefined
R
FLCTL
These bits are always read These bits indicate the
interrupt source of each
as 0. The write value
peripheral module that is
should always be 0.
generating an interrupt.
GDTA interrupt source
(INT2A0 is not affected by the
indication
setting of the interrupt mask
DU interrupt source
register).
indication
0: No interrupt
SSI channel 1 interrupt
1: An interrupt has occurred
source indication
Note: Interrupt sources can
SSI channel 0 interrupt
also be identified by
source indication
directly reading the
INTEVT code. In this
GPIO interrupt source
case, reading from this
indication
register is not required.
FLCTL interrupt source
indication
22
Undefined
R
MMCIF
Rev.1.00 Jan. 10, 2008 Page 302 of 1658
REJ09B0261-0100
MMCIF interrupt source
indication
Description
10. Interrupt Controller (INTC)
Bit
Initial
Value
R/W Source
Function
Description
21
Undefined
R
HSPI
HSPI interrupt source
indication
20
Undefined
R
SIOF
SIOF interrupt source
indication
19
Undefined
R
PCIC (5)
PCIERR and PCIPWD3 to
PCIPWD0 interrupt source
indication
These bits indicate the
interrupt source of each
peripheral module that is
generating an interrupt.
(INT2A0 is not affected by the
setting of the interrupt mask
register).
18
Undefined
R
PCIC (4)
PCIINTD interrupt source
indication
17
Undefined
R
PCIC (3)
PCIINTC interrupt source
indication
16
Undefined
R
PCIC (2)
PCIINTB interrupt source
indication
15
Undefined
R
PCIC (1)
PCIINTA interrupt source
indication
14
Undefined
R
PCIC (0)
PCISERR interrupt source
indication
13
Undefined
R
HAC
channel 1
HAC channel 1 interrupt
source indication
12
Undefined
R
HAC
channel 0
HAC channel 0 interrupt
source indication
11
Undefined
R
DMAC (1)
DMAC channels 6 to 11
and address error interrupt
source indication
10
Undefined
R
DMAC (0)
DMAC channels 0 to 5 and
address error interrupt
source indication
9
Undefined
R
H-UDI
H-UDI interrupt source
indication
8
Undefined
R
WDT
WDT interrupt source
indication
7
Undefined
R
SCIF
channel 5
SCIF channel 5 interrupt
source indication
6
Undefined
R
SCIF
channel 4
SCIF channel 4 interrupt
source indication
0: No interrupt
1: An interrupt has occurred
Note: Interrupt sources can
also be identified by
directly reading the
INTEVT code. In this
case, reading from this
register is not required.
Rev.1.00 Jan. 10, 2008 Page 303 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Initial
Value
5
Undefined R
4
R/W Source
Function
Description
SCIF
channel 3
SCIF channel 3 interrupt
source indication
Undefined R
SCIF
channel 2
SCIF channel 2 interrupt
source indication
3
Undefined R
SCIF
channel 1
SCIF channel 1 interrupt
source indication
These bits indicate the
interrupt source of each
peripheral module that is
generating an interrupt.
(INT2A0 is not affected by the
setting of the interrupt mask
register).
2
Undefined R
SCIF
channel 0
SCIF channel 0 interrupt
source indication
1
Undefined R
TMU
TMU channel 3 to 5
channels 3 interrupt source indication
to 5
0
Undefined R
TMU
TMU channel 0 to 2
channels 0 interrupt source indication
to 2
0: No interrupt
1: An interrupt has occurred
Note: Interrupt sources can
also be identified by
directly reading the
INTEVT code. In this
case, reading from this
register is not required.
If the interrupt source in an individual module is set or cleared, the time required until the state is
reflected in INT2A0 is as shown in table 10.7.
Rev.1.00 Jan. 10, 2008 Page 304 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Table 10.7 Reflection time for INT2A0 and INT2A1 when Interrupt Source Bit in
Peripheral Module Is Set/Cleared
Module
WDT, TMU, SCIF, HSPI, SIOF,
MMCIF, DU, SSI, HAC, FLCTL
Relation between Setting/Clearing Interrupt Source of
Module and Indication by INT2A0 and INT2A1
When an interrupt source bit is set in the register* in the
module that indicates generation of interrupt requests, the
same interrupt status information is read from that register and
INT2A0 or INT2A1. This means that the time required for
reflection in INT2A0 and INT2A1 is guaranteed by hardware.
When an interrupt source is cleared, the status after the source
is cleared can be read from INT2A0 or INT2A1 if read after
clearing the interrupt source flag in the module.
H-UDI, GDTA
When an interrupt source bit is set in the register* in the
module that indicates generation of interrupt requests (SDINT
in the H-UDI, GACISR in the GDTA), the same interrupt status
information is read from that register and INT2A0 or INT2A1.
This means that the time required for reflection in INT2A0 and
INT2A1 is guaranteed by hardware.
When an interrupt source is cleared, the time required for
reflection in INT2A0 and INT2A1 can be guaranteed by
dummy-reading SDINT in the H-UDI or GACISR in the GDTA
once after clearing the interrupt source flag in the module.
PCIC (excluding the pin inputrelated interrupt sources
PCIINTA, PCIINTB, PCIINTC,
and PCIINTD)
When a PCIC interrupt source bit is set in PCIIR, PCIAINT, or
PCIPINT that indicates generation of interrupt requests, the
time required for reflection in INT2A0 and INT2A1 is
guaranteed by dummy-reading an arbitrary register in the INTC
once and then reading from INT2A0 or INT2A1.
When a PCIC interrupt source is cleared, the time required for
reflection in INT2A0 and INT2A1 is guaranteed in this way:
after writing to PCIIR, PCIAINT, or PCIPINT, dummy-read
PCIIR, PCIAINT, or PCIPINT once and then dummy-read an
arbitrary register in the INTC.
Rev.1.00 Jan. 10, 2008 Page 305 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Module
DMAC
Relation between Setting/Clearing Interrupt Source of
Module and Indication by INT2A0 and INT2A1
Interrupt sources When the DMAE0 or DMAE1 interrupt source bit (i.e. the AE bit
DMAE0, DMAE1 in DMAOR0 or DMAOR1) is set, the same interrupt status
information is read from registers DMAOR0 and DMAOR1 and
registers INT2A0 and INT2A1. This means that the time
required for reflection in INT2A0 and INT2A1 is guaranteed by
hardware.
When the DMAE0 or DMAE1 interrupt source is cleared, the
time required for reflection in INT2A0 and INT2A1 is
guaranteed by dummy reading DMAOR0 or DMAOR1 once
after writing to DMAOR0 or DMAOR1.
Interrupt sources Setting of the HE and TE bits in CHCR0 to CHCR11 and output
DMINT0 to
of interrupt request to the INTC take place with different timing.
DMINT11
For details, see section 14, Direct Memory Access Controller
(DMAC).
When interrupt sources, DMINT0 to DMINT11 (corresponding
to bits HE and TE in CHCR0 to CHCR11) are cleared, the time
required for reflection in INT2A0 and INT2A1 is guaranteed by
dummy-reading CHCR0 to CHCR11 once after writing to
CHCR0 to CHCR11 that indicate generation of interrupt
requests.
Note: The registers in the modules that indicate generation of interrupt requests are as follows.
WDT: WDTCSR
TMU: TCR0 to TCR5
SCIF: SCFSR0 to SCFSR6, SCLSR0 to SCLSR6
HSPI: SPSR
SIOF: SISTR
MMCIF: INTSTR0 to INTSTR2
DU:
DSSR
SSI:
SSISR
HAC: HACTSR, HACRSR
FLCTL: FLINTDMACR, FLTRCR
Rev.1.00 Jan. 10, 2008 Page 306 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(3)
Interrupt Source Register (Affected by Mask States) (INT2A1)
INT2A1 is a 32-bit read-only register that indicates the interrupt sources of on-chip peripheral
modules. If an interrupt is masked by the interrupt mask register, the corresponding bit in INT2A1
is not set to 1. Use INT2A0 to check whether interrupts have been generated, regardless of the
state of the interrupt mask register.
31
30
29
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
Bit:
15
Initial value:
R/W:
0
R
Bit:
28
27
26
25
24
23
22
21
20
19
18
17
16
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Table 10.8 shows the correspondence between bits in INT2A1 and the interrupt sources.
Table 10.8 Correspondence between Bits in INT2A1 and Interrupt Sources
Bit
Initial
Value R/W Source
Function
Description
These bits indicate the interrupt
source of each peripheral module
that is generating an interrupt.
(INT2A1 is affected by the setting
of the interrupt mask register).
31 to 0
29
R
Reserved
These bits are read as 0
and cannot be modified.
28
0
R
GDTA
GDTA interrupt source
indication
27
0
R
DU
DU interrupt source
indication
26
0
R
SSI channel 1 SSI channel 1 interrupt
source indication
25
0
R
SSI channel 0 SSI channel 0 interrupt
source indication
24
0
R
GPIO
GPIO interrupt source
indication
23
0
R
FLCTL
FLCTL interrupt source
indication
22
0
R
MMCIF
MMCIF interrupt source
indication
21
0
R
HSPI
HSPI interrupt source
indication
0: No interrupt
1: An interrupt has occurred
Note: Interrupt sources can also
be identified by directly
reading the INTEVT code.
In this case, reading from
this register is not required.
Rev.1.00 Jan. 10, 2008 Page 307 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Initial
Value R/W Source
20
0
R
19
0
18
Function
Description
SIOF
SIOF interrupt source
indication
R
PCIC (5)
PCIERR and PCIPWD3 to
PCIPWD0 interrupt source
indication
These bits indicate the interrupt
source of each peripheral module
that is generating an interrupt.
(INT2A1 is affected by the setting
of the interrupt mask register).
0
R
PCIC (4)
PCIINTD interrupt source
indication
17
0
R
PCIC (3)
PCIINTC interrupt source
indication
16
0
R
PCIC (2)
PCIINTB interrupt source
indication
15
0
R
PCIC (1)
PCIINTA interrupt source
indication
14
0
R
PCIC (0)
PCISERR interrupt source
indication
13
0
R
HAC channel HAC channel 1 interrupt
1
source indication
12
0
R
HAC channel HAC channel 0 interrupt
0
source indication
11
0
R
DMAC (1)
DMAC channels 6 to 11 and
address error interrupt
source indication
10
0
R
DMAC (0)
DMAC channels 0 to 5 and
address error interrupt
source indication
9
0
R
H-UDI
H-UDI interrupt source
indication
8
0
R
WDT
WDT interrupt source
indication
7
0
R
SCIF
channel 5
SCIF channel 5 interrupt
source indication
6
0
R
SCIF
channel 4
SCIF channel 4 interrupt
source indication
5
0
R
SCIF
channel 3
SCIF channel 3 interrupt
source indication
4
0
R
SCIF
channel 2
SCIF channel 2 interrupt
source indication
Rev.1.00 Jan. 10, 2008 Page 308 of 1658
REJ09B0261-0100
0: No interrupt
1: An interrupt has occurred
Note: Interrupt sources can also
be identified by directly
reading the INTEVT code.
In this case, reading from
this register is not required.
10. Interrupt Controller (INTC)
Bit
Initial
Value R/W Source
3
0
R
2
0
1
0
Function
Description
SCIF
channel 1
SCIF channel 1 interrupt
source indication
R
SCIF
channel 0
SCIF channel 0 interrupt
source indication
0
R
TMU
channels
3 to 5
These bits indicate the interrupt
source of each peripheral module
that is generating an interrupt.
(INT2A1 is affected by the setting
of the interrupt mask register).
TMU channel 3 to 5 interrupt
0: No interrupt
source indication
1: An interrupt has occurred
0
R
TMU
channels
0 to 2
TMU channel 0 to 2 interrupt Note: Interrupt sources can also
be identified by directly
source indication
reading the INTEVT code.
In this case, reading from
this register is not required.
If the interrupt source in an individual module is set or cleared, the time required until the state is
reflected in INT2A1 is as shown in table 10.7.
If the interrupt masking is set by INT2MSKR or the interrupt masking by INT2MSKR is cleared
by INT2MSKCLR, the reflection time required for INT2A1 is guaranteed by hardware. Therefore,
after the interrupt mask is set or cleared, the contents that reflect the setting of INT2MSKR can be
read.
Rev.1.00 Jan. 10, 2008 Page 309 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(4)
Interrupt Mask Register (INT2MSKR)
INT2MSKR is a 32-bit readable/writable register that can mask interrupts for sources indicated in
the interrupt source register. When a bit in this register is set to 1, the interrupt in the
corresponding bit is not notified. INT2MSKR is initialized to H'FFFF FFFF (all masked) by a
reset.
After this register is written to or the masking is cleared by writing to INT2MSKCLR, the timing
required to reflect the register value is guaranteed by reading from this register once.
31
30
29
⎯
⎯
⎯
Initial value:
R/W:
1
R
1
R
Bit:
15
1
R/W
Bit:
Initial value:
R/W:
28
27
26
25
24
23
22
21
20
19
18
17
16
1
R
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Table 10.9 shows the correspondence between bits in INT2MSKR and the interrupts that are
masked.
Table 10.9 Correspondence between Bits in INT2MSKR and Interrupts that Are Masked
Bit
Initial
Value R/W Source
Reserved
Function
Description
31 to All 1
29
R
28
1
R/W GDTA
These bits are always read as 1.
Masks interrupt of each
The write value should always be 1. on-chip peripheral
module
Masks GDTA interrupt
27
1
R/W DU
Masks DU interrupt
26
1
R/W SSI channel 1 Masks the SSI channel 1 interrupt
25
1
R/W SSI channel 0 Masks the SSI channel 0 interrupt
24
1
R/W GPIO
Masks the GPIO interrupt
0: Not masked
23
1
R/W FLCTL
Masks the FLCTL interrupt
1: Masked
22
1
R/W MMCIF
Masks the MMCIF interrupt
21
1
R/W HSPI
Masks the HSPI interrupt
20
1
R/W SIOF
Masks the SIOF interrupt
19
1
R/W PCIC (5)
Masks PCIERR and PCIPWD3 to
PCIPWD0 interrupt
Rev.1.00 Jan. 10, 2008 Page 310 of 1658
REJ09B0261-0100
[When written]
0: Invalid
1: Interrupt is masked
[When read]
10. Interrupt Controller (INTC)
Bit
Initial
Value R/W Source
18
1
R/W PCIC (4)
17
1
R/W
16
1
R/W
15
1
R/W
14
1
R/W
13
1
R/W
12
1
R/W
11
1
R/W
10
1
R/W DMAC (0)
Masks DMAC channels 0 to 5
interrupts and address error
interrupt
9
1
R/W H-UDI
Masks the H-UDI interrupt
8
1
R/W WDT
Masks the WDT interrupt
7
1
R/W SCIF channel 5 Masks SCIF channel 5 interrupt
6
1
R/W SCIF channel 4 Masks SCIF channel 4 interrupt
5
1
R/W SCIF channel 3 Masks SCIF channel 3 interrupt
4
1
R/W SCIF channel 2 Masks SCIF channel 2 interrupt
3
1
R/W SCIF channel 1 Masks SCIF channel 1 interrupt
2
1
R/W SCIF channel 0 Masks SCIF channel 0 interrupt
1
1
R/W TMU channels Masks TMU channels 3 to 5
3 to 5
interrupts
0
1
R/W TMU channels Masks TMU channels 0 to 2
0 to 2
interrupts
Function
Description
Masks interrupt to each
on-chip peripheral
PCIC (3)
Masks the PCIINTC interrupt
module
PCIC (2)
Masks the PCIINTB interrupt
[When written]
0: Invalid
PCIC (1)
Masks the PCIINTA interrupt
1: Interrupts are masked
PCIC (0)
Masks the PCISERR interrupt
[When read]
HAC channel 1 Masks the HAC channel 1 interrupt
0: Not masked
HAC channel 0 Masks the HAC channel 0 interrupt 1: Masked
DMAC (1)
Masks DMAC channels 6 to 11
interrupts and address error
interrupt
Masks the PCIINTD interrupt
Rev.1.00 Jan. 10, 2008 Page 311 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(5)
Interrupt Mask Clear Register (INT2MSKCR)
INT2MSKCR is a 32-bit write-only register that clears the masking set in the interrupt mask
register. When the corresponding bit in this register is set to 1, the interrupt source masking is
cleared. These bits are always read as 0.
31
30
29
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
Bit:
15
0
R/W
Bit:
Initial value:
R/W:
28
27
26
25
24
23
22
21
20
19
18
17
16
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Table 10.10 shows the correspondence between bits in INT2MSKCR and interrupt masking that
are cleared.
Table 10.10 Correspondence between Bits in INT2MSKCR and Interrupt Masking that Are
Cleared
Bit
Initial
Value R/W Source
Function
Description
24
0
R/W GPIO
Clears interrupt
These bits are always read as 0.
The write value should always be 0. masking for each onchip peripheral module
Clears the GDTA interrupt masking
[When written]
Clears the DU interrupt masking
0: Invalid
Clears the SSI channel 1 interrupt
1: Clears interrupt
masking
masking
Clears the SSI channel 0 interrupt [When read]
masking
Always 0
Clears the GPIO interrupt masking
23
0
R/W FLCTL
Clears the FLCTL interrupt masking
22
0
R/W MMCIF
Clears the MMCIF interrupt
masking
21
0
R/W HSPI
Clears the HSPI interrupt masking
31 to All 0
29
R
Reserved
28
0
R/W GDTA
27
0
R/W DU
26
0
R/W SSI channel 1
25
0
R/W SSI channel 0
20
0
R/W SIOF
Clears the SIOF interrupt masking
19
0
R/W PCIC (5)
Clears the PCIERR and PCIPWD3
to PCIPWD0 interrupts masking
Rev.1.00 Jan. 10, 2008 Page 312 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Bit
Initial
Value R/W Source
18
0
17
Function
Description
R/W PCIC (4)
Clears the PCIINTD interrupt
masking
0
R/W PCIC (3)
Clears the PCIINTC interrupt
masking
16
0
R/W PCIC (2)
Clears the PCIINTB interrupt
masking
15
0
R/W PCIC (1)
Clears the PCIINTA interrupt
masking
14
0
R/W PCIC (0)
Clears the PCISERR interrupt
masking
Clears interrupt
masking for each onchip peripheral module
[When written]
0: Invalid
1: Clears interrupt
masking
[When read]
Always 0
13
0
R/W HAC channel 1 Clears the HAC channel 1 interrupt
masking
12
0
R/W HAC channel 0 Clears the HAC channel 0 interrupt
masking
11
0
R/W DMAC (1)
Clears DMAC channels 6 to 11
interrupt masking and address
error interrupt
10
0
R/W DMAC (0)
Clears DMAC channels 0 to 5
interrupt masking and address
error interrupt
9
0
R/W H-UDI
Clears H-UDI interrupt masking
Clears the WDT interrupt masking
8
0
R/W WDT
7
0
R/W SCIF channel 5 Clears SCIF channel 5 interrupt
masking
6
0
R/W SCIF channel 4 Clears SCIF channel 4 interrupt
masking
5
0
R/W SCIF channel 3 Clears SCIF channel 3 interrupt
masking
4
0
R/W SCIF channel 2 Clears SCIF channel 2 interrupt
masking
3
0
R/W SCIF channel 1 Clears SCIF channel 1 interrupt
masking
2
0
R/W SCIF channel 0 Clears SCIF channel 0 interrupt
masking
1
0
R/W TMU channels
3 to 5
Clears TMU channel 3 to 5
interrupt masking
0
0
R/W TMU channels
0 to 2
Clears TMU channel 0 to 2
interrupt masking
Rev.1.00 Jan. 10, 2008 Page 313 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.3.4
Individual On-Chip Module Interrupt Source Registers (INT2B0 to INT2B7)
INT2B0 to INT2B7 are registers that indicate more details on each interrupt source, in addition to
the interrupt source that is corresponding to each module and is indicated in the interrupt source
register. INT2B0 to INT2B7 are 32-bit read-only registers that are not affected by the masked
state in the interrupt mask register. To mask each detailed source independently, set the interrupt
mask register of the corresponding module, or the interrupt enable register.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
R/W:
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
(1)
INT2B0: Detailed Interrupt Sources for the TMU
Description
Module
Bit
Name
Detailed Source
TMU
31 to 7
⎯
6
TUNI5
TMU interrupt sources are
indicated. This register indicates
the TMU interrupt sources even if
the mask setting for TMU is made
TMU channel 5 underflow
in the interrupt mask register.
interrupt
5
TUNI4
TMU channel 4 underflow
interrupt
4
TUNI3
TMU channel 3 underflow
interrupt
3
TICPI2
TMU channel 2 input
capture interrupt
2
TUNI2
TMU channel 2 underflow
interrupt
1
TUNI1
TMU channel 1 underflow
interrupt
0
TUNI0
TMU channel 0 underflow
interrupt
Reserved
These bits are read as 0
and cannot be modified.
Rev.1.00 Jan. 10, 2008 Page 314 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(2)
INT2B1: Detailed Interrupt Sources for the SCIF
Module
Bit
Name
Detailed Source
Description
SCIF
31 to 24
⎯
Reserved
These bits are read as 0
and cannot be modified.
23
TXI5
SCIF channel 5 transmit
FIFO data empty interrupt
SCIF interrupt sources are
indicated. This register indicates
the SCIF interrupt sources even if
the mask setting for SCIF is made
in the interrupt mask register.
22
BRI5
SCIF channel 5 break
interrupt or overrun error
interrupt
21
RXI5
SCIF channel 5 receive
FIFO data full interrupt or
receive data ready
interrupt
20
ERI5
SCIF channel 5 receive
error interrupt
19
TXI4
SCIF channel 4 transmit
FIFO data empty interrupt
18
BRI4
SCIF channel 4 break
interrupt or overrun error
interrupt
17
RXI4
SCIF channel 4 receive
FIFO data full interrupt or
receive data ready
interrupt
16
ERI4
SCIF channel 4 receive
error interrupt
15
TXI3
SCIF channel 3 transmit
FIFO data empty interrupt
14
BRI3
SCIF channel 3 break
interrupt or overrun error
interrupt
13
RXI3
SCIF channel 3 receive
FIFO data full interrupt or
receive data ready
interrupt
12
ERI3
SCIF channel 3 receive
error interrupt
Rev.1.00 Jan. 10, 2008 Page 315 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Module
Bit
Name
Detailed Source
Description
SCIF
11
TXI2
SCIF channel 2 transmit
FIFO data empty interrupt
10
BRI2
SCIF channel 2 break
interrupt or overrun error
interrupt
SCIF interrupt sources are
indicated. This register indicates
the SCIF interrupt sources even if
the mask setting for SCIF is made
in the interrupt mask register.
9
RXI2
SCIF channel 2 receive
FIFO data full interrupt or
receive data ready
interrupt
8
ERI2
SCIF channel 2 receive
error interrupt
7
TXI1
SCIF channel 1 transmit
FIFO data empty interrupt
6
BRI1
SCIF channel 1 break
interrupt or overrun error
interrupt
5
RXI1
SCIF channel 1 receive
FIFO data full interrupt or
receive data ready
interrupt
4
ERI1
SCIF channel 1 receive
error interrupt
3
TXI0
SCIF channel 0 transmit
FIFO data empty interrupt
2
BRI0
SCIF channel 0 break
interrupt or overrun error
interrupt
1
RXI0
SCIF channel 0 receive
FIFO data full interrupt or
receive data ready
interrupt
0
ERI0
SCIF channel 0 receive
error interrupt
Rev.1.00 Jan. 10, 2008 Page 316 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(3)
INT2B2: Detailed Interrupt Sources for the DMAC
Module
Bit
Name
Detailed Source
Description
DMAC
31 to 14
⎯
Reserved
These bits are read as 0
and cannot be modified.
13
DMAE1
Channels 6 to 11 DMA
address error interrupt
DMAC interrupt sources are
indicated. This register indicates
the DMAC interrupt sources
even if the mask setting for
DMAC is made in the interrupt
mask register.
12
DMINT11
Channel 11 DMA transfer
end or half-end interrupt
11
DMINT10
Channel 10 DMA transfer
end or half-end interrupt
10
DMINT9
Channel 9 DMA transfer
end or half-end interrupt
9
DMINT8
Channel 8 DMA transfer
end or half-end interrupt
8
DMINT7
Channel 7 DMA transfer
end or half-end interrupt
7
DMINT6
Channel 6 DMA transfer
end or half-end interrupt
6
DMAE0
Channels 0 to 5 DMA
address error interrupt
5
DMINT5
Channel 5 DMA transfer
end or half-end interrupt
4
DMINT4
Channel 4 DMA transfer
end or half-end interrupt
3
DMINT3
Channel 3 DMA transfer
end or half-end interrupt
2
DMINT2
Channel 2 DMA transfer
end or half-end interrupt
1
DMINT1
Channel 1 DMA transfer
end or half-end interrupt
0
DMINT0
Channel 0 DMA transfer
end or half-end interrupt
Rev.1.00 Jan. 10, 2008 Page 317 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(4)
INT2B3: Detailed Interrupt Sources for the PCIC
Module
Bit
Name
Detailed Source
Description
PCIC
31 to 10
⎯
Reserved
These bits are read as
0 and cannot be
modified.
9
PCIPWD0
PCIC power state D0
state interrupt
PCIC interrupt sources are indicated.
This register indicates the PCIC
interrupt sources even if the mask
setting for PCIC is made in the
interrupt mask register.
8
PCIPWD1
PCIC power state D1
state interrupt
7
PCIPWD2
PCIC power state D2
state interrupt
6
PCIPWD3
PCIC power state D3
state interrupt
5
PCIERR
PCIC error interrupt
4
PCIINTD
PCIC INTD interrupt
3
PCIINTC
PCIC INTC interrupt
2
PCIINTB
PCIC INTB interrupt
1
PCIINTA
PCIC INTA interrupt
0
PCISERR
PCIC SERR interrupt
Rev.1.00 Jan. 10, 2008 Page 318 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(5)
INT2B4: Detailed Interrupt Sources for the MMCIF
Module
Bit
Name
Detailed Source
MMCIF
31 to 4
⎯
3
FRDY
2
ERR
Reserved
MMCIF interrupt sources are
These bits are read as 0 indicated. This register indicates the
and cannot be modified. MMCIF interrupt sources even if the
mask setting for MMCIF is made in
FIFO ready end interrupt
the interrupt mask register.
CRC error interrupt, data
timeout error interrupt,
or command timeout
error interrupt
1
TRAN
Data response interrupt,
data transfer end
interrupt, command
response receive end
interrupt, command
transmit end interrupt, or
data busy end interrupt
0
FSTAT
FIFO empty interrupt or
FIFO full interrupt
(6)
Description
INT2B5: Detailed Interrupt Sources for the FLCTL
Module
Bit
Name
Detailed Source
Description
FLCTL
31 to 4
⎯
Reserved
These bits are read as
0 and cannot be
modified.
3
FLTRQ1
FLCTL FLECFIFO
transfer request
interrupt
FLCTL interrupt sources are
indicated. This register indicates the
FLCTL interrupt sources even if the
mask setting for FLCTL is made in
the interrupt mask register.
2
FLTRQ0
FLCTL TLDTFIFO
transfer request
interrupt
1
FLTEND
FLCTL transfer end
interrupt
0
FLSTE
FLCTL status error
interrupt or ready/busy
timeout error interrupt
Rev.1.00 Jan. 10, 2008 Page 319 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(7)
INT2B6: Detailed Interrupt Sources for the GPIO
Module
Bit
Name
GPIO
31 to 26 ⎯
25
PORTL7I
24
PORTL6I
Detailed Source
Reserved
These bits are read as 0
and cannot be modified.
Description
GPIO interrupt sources are
indicated. This register indicates the
GPIO interrupt sources even if the
mask setting for GPIO is made in
GPIO interrupt from port L
the interrupt mask register.
pin 7
GPIO interrupt from port L
pin 6
23 to 20 ⎯
Reserved
These bits are read as 0
and cannot be modified.
19
PORTH4I
GPIO interrupt from port H
pin 4
18
PORTH3I
GPIO interrupt from port H
pin 3
17
PORTH2I
GPIO interrupt from port H
pin 2
16
PORTH1I
GPIO interrupt from port H
pin 1
15 to 11 ⎯
Reserved
These bits are read as 0
and cannot be modified.
10
PORTE5I
GPIO interrupt from port E
pin 5
9
PORTE4I
GPIO interrupt from port E
pin 4
8
PORTE3I
GPIO interrupt from port E
pin 3
7 to 3
⎯
Reserved
These bits are read as 0
and cannot be modified.
2
PORTE2I
GPIO interrupt from port E
pin 2
1
PORTE1I
GPIO interrupt from port E
pin 1
0
PORTE0I
GPIO interrupt from port E
pin 0
Rev.1.00 Jan. 10, 2008 Page 320 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(8)
INT2B7: Detailed Interrupt Sources for the GDTA
Module
Bit
Name
Detailed Source
Description
GDTA
31 to 3
⎯
Reserved
These bits are read as 0
and cannot be modified.
2
GAERI
GDTA error interrupt
1
GAMCI
MC transfer end interrupt
GDTA interrupt sources are
indicated. This register indicates
the GDTA interrupt sources even
if the mask setting for GDTA is
made in the interrupt mask
register.
0
GACLI
CL transfer end interrupt
Rev.1.00 Jan. 10, 2008 Page 321 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.3.5
GPIO Interrupt Set Register (INT2GPIC)
INT2GPIC enables interrupt requests input from the pins 0 to 5 of port E, pins 1 to 4 of port H,
pins 6 and 7 of port L, as GPIO interrupts.
A GPIO interrupt is a low-active interrupt. Enable interrupt requests after setting the pins
corresponding to the port control register (E, H, and L) used for GPIO interrupts to be input pins
from ports For the port control registers, see section 28, General Purpose I/O Ports (GPIO).
The timing required to reflect the register value is guaranteed by writing to this register, and then,
reading from this register once (the interrupt request is reflected).
31
30
29
28
27
26
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
Bit:
15
14
13
12
11
10
9
8
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
Bit:
Initial value:
R/W:
0
R/W
25
0
R/W
24
0
R/W
23
22
21
20
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
19
18
17
16
0
R/W
0
R/W
0
R/W
0
R/W
2
1
0
0
R/W
0
R/W
0
R/W
7
6
5
4
3
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
Table 10.11 shows the correspondence between bits in INT2GPIC and the functions.
Table 10.11 Correspondence between Bits in INT2GPIC and GPIO Interrupts
Initial
Value R/W
Function
31 to ⎯
26
All 0
R/W
Reserved
25
PORTL7E
0
R/W
24
PORTL6E
0
R/W
All 0
R/W
Bit
Name
23 to ⎯
20
19
PORTH4E 0
Enables GPIO interrupt
request for each pin.
These bits are always read as 0.
The write value should always be 0. 0: Disable the
corresponding interrupt
Enables interrupt request from pin 7
request
of port L.
1: Enable the
Enables interrupt request from pin 6
corresponding interrupt
of port L.
request
Reserved
These bits are always read as 0.
The write value should always be 0.
R/W
Description
Enables interrupt request from pin 4
of port H.
Rev.1.00 Jan. 10, 2008 Page 322 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Initial
Value R/W
Bit
Name
18
PORTH3E 0
R/W
Enables interrupt request from pin 3 Enables a GPIO interrupt
request for each pin.
of port H.
17
PORTH2E 0
R/W
16
PORTH1E 0
R/W
Enables interrupt request from pin 2 0: Disable the
corresponding interrupt
of port H.
request
Enables interrupt request from pin 1
1:
Enable
the
of port H.
corresponding interrupt
Reserved
request
These bits are always read as 0.
The write value should always be 0.
15 to ⎯
11
All 0
R/W
Function
Description
10
PORTE5E 0
R/W
Enables interrupt request from pin 5
of port E.
9
PORTE4E 0
R/W
Enables interrupt request from pin 4
of port E.
8
PORTE3E 0
R/W
Enables interrupt request from pin 3
of port E.
7 to
3
⎯
R/W
Reserved
2
PORTE2E 0
R/W
Enables interrupt request from pin 2
of port E.
1
PORTE1E 0
R/W
Enables interrupt request from pin 1
of port E.
0
PORTE0E 0
R/W
Enables interrupt request from pin 0
of port E.
All 0
These bits are always read as 0.
The write value should always be 0.
When a GPIO port pin is used as an interrupt pin, the GPIO notifies the INTC of the interrupt
when the GPIO detects an interrupt. The INTC indicates the interrupt as a 1-bit source in INT2A0
or INT2A1. In this case, the port and the pin number which interrupts are generated from can be
identified by referring to INT2B6. Also, the ports can be specified by referring to the INTEVT
code.
Rev.1.00 Jan. 10, 2008 Page 323 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.4
Interrupt Sources
There are four types of interrupt sources, NMI, IRQ, IRL, and on-chip module interrupts. Each
interrupt has a priority level (16 to 0). Level 16 is the highest and level 1 is the lowest. When the
level is set to 0, the interrupt is masked and interrupt requests are ignored.
10.4.1
NMI Interrupts
The NMI interrupt has the highest priority of level 16. The interrupt is always accepted unless the
BL bit in SR of the CPU is set to 1. In sleep mode, the interrupt is accepted even if the BL bit is
set to 1.
According to a setting, the NMI interrupt can be accepted even if the BL bit is set to 1.
Input from the NMI pin is detected at the edge. The NMI edge select bit (NMIE) in ICR0 is used
to select from the rising or falling edge. After the NMIE bit in ICR0 is modified, the NMI
interrupt is not detected for up to six bus clock cycles.
When the INTMU bit in the CPUOPM is set to 1, the interrupt mask level (IMASK) in SR is
automatically set to level 15. When the INTMU bit in CPUOPM is cleared to 0, the IMASK value
in SR is not affected by accepting an NMI interrupt.
10.4.2
(1)
IRQ Interrupts
Independence from ICR0.LVLMODE Setting
The IRQ interrupt is valid when 1 is written to the IRLM0 and IRLM1 bits in ICR0 and pins
IRQ/IRL7 to IRQ/IRL0 are used for independent interrupts. The rising edge, falling edge, low
level, and high level detections are enabled by setting the IRQnS1 and IRQnS0 bits (n = 0 to 7).
The priority of interrupts is set by INTPR1.
If an IRQ interrupt request is detected by the low level or high level detection, the pin state of IRQ
interrupt state should be retained until interrupt handling starts after interrupts are accepted.
When the INTMU bit in CPUOPM is set to 1, the interrupt mask level (IMASK) in SR is
automatically set to the level of the accepted interrupt. When the INTMU bit in CPUOPM is set to
0, the IMASK value in SR is not affected by accepting an IRQ interrupt.
Rev.1.00 Jan. 10, 2008 Page 324 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
(2)
Dependence on ICR0.LVLMODE Setting
For the IRQ interrupt at level detection, there are the following features according to the setting of
ICR0.LVLMODE. The initial value of the ICR0 bit in LVLMODE is 0. It is recommended to set
the bit to 1 before using the INTC.
(a)
ICR0.LVLMODE = 0
After an IRQ interrupt request is detected at the level detection, the source is retained in INTREQ
even if the pin state of IRQ interrupts is changed and the request is turned down before the request
is accepted by the CPU. The source is retained until the CPU accepts an interrupt (including other
interrupts), or the correspondence interrupt mask bit is set to 1.
To clear the IRQ interrupt source retained in the INTC, change the pin state of IRQ interrupts by
interrupt routine and withdraw the request. Then, clear the source retained in INTREQ to 0. For
details of clearing, see section 10.7.3, Clearing IRQ and IRL Interrupt Requests.
(b)
ICR0.LVLMODE = 1
The INTC does not retain the IRQ interrupt source detected at the level detection.
10.4.3
(1)
IRL Interrupts
Independence from ICR0.LVLMODE Setting
The IRL interrupt is an interrupt input as level from pins IRQ/IRL7 to IRQ/IRL4 or pins
IRQ/IRL3 to IRQ/IRL0.
The priority level is indicated by pins IRQ/IRL7 to IRQ/IRL4 or pins IRQ/IRL3 to IRQ/IRL0.
Pins IRQ/IRL7 to IRQ/IRL4 or pins IRQ/IRL3 to IRQ/IRL0 indicate the interrupt request with the
highest priority (level 15) when these pins are all low. When these pins are all high, these pins
indicate no interrupt requests (level 0). Figure 10.3 shows an example of IRL interrupt connection,
and table 10.12 shows the correspondence between the levels on the IRL pins and interrupt
priority.
Rev.1.00 Jan. 10, 2008 Page 325 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
SH7785
Interrupt
requests
Priority
encoder
IRL3 to IRL0
IRQ/IRL3 to
IRQ/IRL0
Interrupt
requests
Priority
encoder
IRL7 to IRL4
IRQ/IRL7 to
IRQ/IRL4
Figure 10.3 Example of IRL Interrupt Connection
Table 10.12 IRL Interrupt Pins (IRL[3:0], IRL[7:4]) and Interrupt Levels
IRL3 or
IRL7
IRL2 or
IRL6
IRL1 or
IRL5
IRL0 or
IRL4
Interrupt
Priority Level
Interrupt Request
Low
Low
Low
Low
15
Level 15 interrupt request
Low
Low
Low
High
14
Level 14 interrupt request
Low
Low
High
Low
13
Level 13 interrupt request
Low
Low
High
High
12
Level 12 interrupt request
Low
High
Low
Low
11
Level 11 interrupt request
Low
High
Low
High
10
Level 10 interrupt request
Low
High
High
Low
9
Level 9 interrupt request
Low
High
High
High
8
Level 8 interrupt request
High
Low
Low
Low
7
Level 7 interrupt request
High
Low
Low
High
6
Level 6 interrupt request
High
Low
High
Low
5
Level 5 interrupt request
High
Low
High
High
4
Level 4 interrupt request
High
High
Low
Low
3
Level 3 interrupt request
High
High
Low
High
2
Level 2 interrupt request
High
High
High
Low
1
Level 1 interrupt request
High
High
High
High
0
No interrupt request
IRL interrupt detection requires an on-chip noise-cancellation feature. This detection is performed
when the level sampled at every bus clock is the same for three consecutive cycles. This detection
can prevent the incorrect level from being taking in when the IRL interrupt pin state changes.
Rev.1.00 Jan. 10, 2008 Page 326 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
The priority of IRL interrupts should be retained from when an interrupt is accepted to when
interrupt handling starts. The level can be changed to a higher level.
When the INTMU bit in CPUOPM is set to 1, the interrupt mask level (IMASK) bit in SR is
automatically set to the level of the accepted interrupt. When the INTMU bit in CPUOPM is
cleared to 0, the IMASK bit in SR is not affected.
When 1 is written to the IRLM0 and IRLM1 bits in ICR0, pins IRQ/IRL0 to IRQ/IRL3 or
IRQ/IRL7 to IRQ/IRL4 can be used for independent IRQ interrupts. For details, see section
10.4.2, IRQ Interrupts.
(2)
Dependence on ICR0.LVLMODE Setting
(a)
ICR0.LVLMODE = 0
After an IRL interrupt request is detected, the IRL interrupt with the highest priority is retained in
the following cases until the CPU accepts an interrupt (including other interrupts). The cases are
where the interrupt request is withdrawn or where the priority is set lower.
To clear the retained IRL interrupt source, change the pin state of IRL interrupts by interrupt
routine and withdraw the interrupt request. The, clear the corresponding interrupt mask bit to 1
(To clear the IRL interrupt request by pins IRQ/IRL3 to IRQ/IRL0, write 1 to the IM10 bit in
INTMSK1. To clear the IRL interrupt request by pins IRQ/IRL7 to IRQ/IRL4, write 1 to the IM11
bit in INTMSK1. The IRL interrupt source being detected cannot be cleared even if the masking is
performed in INTMSK2 by the level.).
(b)
ICR0.LVLMODE = 1
The INTC does not retain the IRL interrupt source.
10.4.4
On-Chip Peripheral Module Interrupts
On-chip module interrupts are interrupts generated in the on-chip modules.
The interrupt vectors are not allocated to each source, but the source is reflected on INTEVT.
Therefore, the source can be easily identified by branching the value of INTEVT as offset during
exception handling routine.
A priority ranging from 31 to 0 can be set for each module by INT2PRI0 to INT2PRI9. To notify
the CPU of the priority, round down the least 1-bit and change to 4 bits. For details, see section
10.4.5, Priority of On-Chip Peripheral Module Interrupts.
Rev.1.00 Jan. 10, 2008 Page 327 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
An on-chip peripheral module interrupt source flag or an interrupt enable flag should be updated
when the BL bit in SR is set to 1 or when the corresponding interrupt is not generated by the
setting of interrupt masking occurs. To prevent the acceptance of incorrect interrupts by the
updated interrupt source, read from the on-chip peripheral module register that has the
corresponding flag. Then, clear the BL bit to 0 or update the interrupt masking setting so that the
corresponding interrupt can be accepted, after waiting for the on-chip peripheral module priority
determination time specified by table 10.14, Interrupt Response Time (for example, read from a
register operating with the peripheral module clock in the INTC). These procedures can guarantee
the required timing. To update multiple flag, read from the register that has the last flag after
updating the flag.
If a flag is updated when the BL bit is 0, the processing may skip to interrupt processing routine
with the INTEVT value cleared to 0. This is because interrupt processing starts, relative to the
timing that the flag is updated and the interrupt request is identified in this LSI. The processing
can be continued successfully by executing the RTE instruction.
Note that the GPIO interrupt is a low-active interrupts. Unlike the IRL interrupt and the IRQ
interrupt that is detected by the level detection, the GPIO interrupt source cannot be retained by
hardware if the pin state is changed and the interrupt request is withdrawn.
10.4.5
Priority of On-Chip Peripheral Module Interrupts
When any interrupt is generated, the on-chip peripheral module interrupt outputs the exception
code specific to the source to SH-4A. Accepting the interrupt, Sh-4A indicates the corresponding
INTEVT code in INTEVT. An interrupt handler can identify the source by reading from INTEVT
in SH-4A, without reading the source indicate register in the INTC. For the correspondence
between on-chip peripheral module interrupt sources and exception codes, see table 10.1.
As shown in figure 10.4, an on-chip module interrupt source can be set to 30 levels (H'00 and H'01
mask interrupt requests) by the 5-bit field. The interrupt level receive interface in SH-4A can be
set to 15 levels (H'0 masks interrupt requests) by the 4-bit field. The priority of on-chip peripheral
module interrupts is determined by selecting each interrupt source with 5 bits that are extended 1
bit. Then, change 4 bits that round down the least 1 bit and notifies. For example, two interrupt
sources with priority levels set to H'1A and H'1B will both be output to the CPU as the 4-bit
priority level H'D. The two interrupt sources have the same priority value. However, although the
rounded codes are the same for both interrupt sources, the interrupt with priority level H'1B
clearly has priority when we consider the 5-bit data in the priority setting. That is, the 5-bit values
in the fields give INTC a way to differentiate between interrupts with the same four-bit priority
level. If the interrupts of the same priority coinside, the INTEVT code is notified according to the
priority shown in table 10.13.
Rev.1.00 Jan. 10, 2008 Page 328 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
An interrupt request is masked if priority level H'01 is set.
INTC
Priority level: H'01
0
INTC distinguishes between priority levels H'1A and H'1B,
although both become the same level after truncating the
least significant bit for the CPU.
INTC
Priority level: higher (H'1B)
0
0
0
1
0 0 0 0
CPU
Priority level: H'0 (interrupt is masked)
Priority level H'01 becomes H'00 after the least significant
bit is truncated, so the CPU is not notified of the
corresponding interrupt. The range of priority levels in
the interrupt priority register thus H'02 to H'1F
(30 priority levels).
1
CPU
Priority level:
1
lower (H'1A)
1
0
1
1
0
1
1
1
1
0
1
1
1
0
1
0
Regarded as the same level (H'D)
If multiple interrupt requests from on-chip modules
occur simultaneously, the INTC processes the interrupt with
the higher priority level (H'1B in the above case).
However, if an external interrupt request is also generated
at the same time the external interrupt request will have
higher priority in the following cases:
- an NMI interrupt request
- an IRQ or IRL interrupt request that has the same or
higher priority level (H'D or greater in the above case).
Figure 10.4 Priority of On-Chip Peripheral Module Interrupts
10.4.6
Interrupt Exception Handling and Priority
Table 10.13 shows the interrupt source, codes for INTEVT, and the order of interrupt priority.
A unique INTEVT code is allocated to each interrupt source. The start address of the exception
handling routine is the same for all of the interrupt sources. Therefore, the INTEVT value is used
to control branching at the start of the exception handling routine. For instance, the INTEVT
values are used to branch to offsets.
The priority of the on-chip modules is arbitrarily specified by setting values from 31 to 2 in
INT2PRI0 to INT2PRI7. The priority values for the on-chip modules are set to 0 by a reset.
When interrupt sources share the same priority level and are generated simultaneously, they are
handled according to the default priority order given in table 10.13.
Values of INTPRI and INT2PRI0 to INT2PRI7 should only be updated when the BL bit in SR is
set to 1. To prevent erroneous interrupt acceptance, only clear the BL bit to 0 after having read one
of the interrupt priority level-setting registers. This guarantees the necessary timing internally.
Rev.1.00 Jan. 10, 2008 Page 329 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Table 10.13 Interrupt Exception Handling and Priority
Interrupt Source
INTEVT Interrupt Mask/Clear
Code
Priority Register & Bit
Priority
Interrupt Detail
within
Source Source Sets of Default
Register Register Sources Priority
NMI
⎯
H'1C0
16
⎯
⎯
⎯
IRL
IRL[3:0] = LLLL (H'0)
H'200
15
INTMSK2[31]
INTMSKCLR2[31]
⎯
⎯
High
L: Low
level
input
IRL[7:4] = LLLL (H'0)
H'B00
INTMSK2[15]
INTMSKCLR2[15]
⎯
⎯
Low
IRL[3:0] = LLLH (H'1)
H'220
INTMSK2[14]
INTMSKCLR2[14]
⎯
⎯
High
IRL[7:4] = LLLH (H'1)
H'B20
INTMSK2[30]
INTMSKCLR2[30]
⎯
⎯
Low
IRL[3:0] = LLHL (H'2)
H'240
INTMSK2[13]
INTMSKCLR2[13]
⎯
⎯
High
IRL[7:4] = LLHL (H'2)
H'B40
INTMSK2[29]
INTMSKCLR2[29]
⎯
⎯
Low
IRL[3:0] = LLHH (H'3)
H'260
INTMSK2[12]
INTMSKCLR2[12]
⎯
⎯
High
IRL[7:4] = LLHH (H'3)
H'B60
INTMSK2[28]
INTMSKCLR2[28]
⎯
⎯
Low
IRL[3:0] = LHLL (H'4)
H'280
INTMSK2[11]
INTMSKCLR2[11]
⎯
⎯
High
IRL[7:4] = LHLL (H'4)
H'B80
INTMSK2[27]
INTMSKCLR2[27]
⎯
⎯
Low
IRL[3:0] = LHLH (H'5)
H'2A0
INTMSK2[10]
INTMSKCLR2[10]
⎯
⎯
High
IRL[7:4] = LHLH (H'5)
H'BA0
INTMSK2[26]
INTMSKCLR2[26]
⎯
⎯
Low
IRL[3:0] = LHHL (H'6)
H'2C0
INTMSK2[9]
INTMSKCLR2[9]
⎯
⎯
High
IRL[7:4] = LHHL (H'6)
H'BC0
INTMSK2[25]
INTMSKCLR2[25]
⎯
⎯
Low
IRL[3:0] = LHHH (H'7)
H'2E0
INTMSK2[8]
INTMSKCLR2[8]
⎯
⎯
High
IRL[7:4] = LHHH (H'7)
H'BE0
INTMSK2[24]
INTMSKCLR2[24]
⎯
⎯
Low
H: High
level
input
(See
table
10.11)
Rev.1.00 Jan. 10, 2008 Page 330 of 1658
REJ09B0261-0100
14
13
12
11
10
9
8
High
Low
10. Interrupt Controller (INTC)
Interrupt Source
INTEVT Interrupt
Code
Priority
Mask/Clear
Register & Bit
INTMSK2[7]
INTMSKCLR2[7]
IRL
IRL[3:0] = HLLL (H'8)
H'300
L: Low
level
input
IRL[7:4] = HLLL (H'8)
H'C00
IRL[3:0] = HLLH (H'9)
H'320
IRL[7:4] = HLLH (H'9)
H'C20
H: High
level
input
(See
table
10.11)
IRL [3:0] = HLHL (H'A) H'340
IRL[7:4] = HLHL (H'A)
Priority
Interrupt Detail
within
Source
Source Sets of Default
Register Register Sources Priority
7
6
5
H'C40
IRL[3:0] = HLHH (H'B) H'360
4
IRL[7:4] = HLHH (H'B) H'C60
IRL[3:0] = HHLL (H'C)
H'380
IRL[7:4] = HHLL (H'C)
H'C80
IRL[3:0] = HHLH (H'D) H'3A0
3
2
IRL[7:4] = HHLH (H'D) H'CA0
IRL[3:0] = HHHL (H'E) H'3C0
IRL[7:4] = HHHL (H'E) H'CC0
1
⎯
⎯
High
INTMSK2[23]
⎯
INTMSKCLR2[23]
⎯
Low
⎯
⎯
High
INTMSK2[22]
⎯
INTMSKCLR2[22]
⎯
Low
⎯
⎯
High
INTMSK2[21]
⎯
INTMSKCLR2[21]
⎯
Low
⎯
⎯
High
INTMSK2[20]
⎯
INTMSKCLR2[20]
⎯
Low
⎯
⎯
High
INTMSK2[19]
⎯
INTMSKCLR2[19]
⎯
Low
⎯
⎯
High
INTMSK2[18]
⎯
INTMSKCLR2[18]
⎯
Low
⎯
⎯
High
INTMSK2[17]
⎯
INTMSKCLR2[17]
⎯
Low
INTMSK2[6]
INTMSKCLR2[6]
INTMSK2[5]
INTMSKCLR2[5]
INTMSK2[4]
INTMSKCLR2[4]
INTMSK2[3]
INTMSKCLR2[3]
INTMSK2[2]
INTMSKCLR2[2]
INTMSK2[1]
INTMSKCLR2[1]
High
Low
Rev.1.00 Jan. 10, 2008 Page 331 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Interrupt Source
Interrupt
Source
INTEVT Interrupt Mask/Clear
Code
Priority Register & Bit Register
Detail
Source
Register
IRQ
IRQ[0]
H'240
INTPRI
[31:28]
INTMSK0[31]
INTMSKCLR0
[31]
INTREQ
[31]
⎯
IRQ[1]
H'280
INTPRI
[27:24]
INTMSK0[30]
INTMSKCLR0
[30]
INTREQ
[30]
⎯
IRQ[2]
H'2C0
INTPRI
[23:20]
INTMSK0[29]
INTMSKCLR0
[29]
INTREQ
[29]
⎯
IRQ[3]
H'300
INTPRI
[19:16]
INTMSK0[28]
INTMSKCLR0
[28]
INTREQ
[28]
⎯
IRQ[4]
H'340
INTPRI
[15:12]
INTMSK0[27]
INTMSKCLR0
[27]
INTREQ
[27]
⎯
IRQ[5]
H'380
INTPRI
[11:8]
INTMSK0[26]
INTMSKCLR0
[26]
INTREQ
[26]
⎯
IRQ[6]
H'3C0
INTPRI
[7:4]
INTMSK0[25]
INTMSKCLR0
[25]
INTREQ
[25]
⎯
IRQ[7]
H'200
INTPRI
[3:0]
INTMSK0[24]
INTMSKCLR0
[24]
INTREQ
[24]
⎯
WDT
ITI*
H'560
INT2PRI3 INT2MSKR[8] INT2A0[8]
[12:8]
INT2MSKCR[8] INT2A1[8]
⎯
TMU-ch0
TUNI0*
H'580
INT2B0[0]
TMU-ch1
TUNI1*
H'5A0
INT2PRI0 INT2MSKR[0]
INT2MSKCLR
[28:24]
[0]
INT2PRI0
[20:16]
TMU-ch2
TUNI2*
H'5C0
INT2PRI0
[12:8]
INT2B0[2]
TICPI2*
H'5E0
INT2PRI0
[4:0]
INT2B0[3]
H-UDII
H'600
INT2PRI4 INT2MSKR[9]
[28:24]
INT2MSKCLR
[9]
H-UDI
Rev.1.00 Jan. 10, 2008 Page 332 of 1658
REJ09B0261-0100
INT2A0[0]
INT2A1[0]
Priority
within
Sets of Default
Sources Priority
High
INT2B0[1]
INT2A0[9]
INT2A1[9]
⎯
Low
10. Interrupt Controller (INTC)
Interrupt
Source
Register
Detail
Source
Register
Priority
within
Sets of Default
Sources Priority
Interrupt Source
INTEVT
Code
Interrupt Mask/Clear
Priority
Register & Bit
DMAC(0)
DMINT0*
H'620
DMINT1*
H'640
INT2PRI4 INT2MSKR[10]
[20:16]
INT2MSKCLR
[10]
DMINT2*
H'660
INT2B3[2]
DMINT3*
H'680
INT2B3[3]
DMINT4*
H'6A0
INT2B3[4]
DMINT5*
H'6C0
INT2B3[5]
DMAE (ch0 to ch5)* H'6E0
INT2B3[6]
Low
INT2B2[0]
High
INT2A0[10] INT2B3[0]
INT2A1[10]
INT2B3[1]
INT2PRI2 INT2MSKR[2]
INT2A0[2]
[28:24]
INT2MSKCLR[2] INT2A1[2]
High
SCIF-ch0 ERI0*
H'700
RXI0*
H'720
BRI0*
H'740
INT2B2[2]
TXI0*
H'760
INT2B2[3]
Low
SCIF-ch1 ERI1*
H'780
INT2B3[4]
High
RXI1*
H'7A0
BRI1*
H'7C0
INT2B3[6]
TXI1*
H'7E0
INT2B3[7]
DMINT6*
H'880
DMINT7*
H'8A0
DMINT8*
H'8C0
INT2B2[9]
DMINT9*
H'8E0
INT2B2[10]
DMINT10*
H'900
INT2B3[11]
DMINT11*
H'920
INT2B3[12]
DMAE (ch6 to
ch11)*
H'940
INT2B3[13]
SPII
H'960
DMAC(1)
HSPI
INT2PRI2 INT2MSKR[3]
INT2A0[3]
[20:16]
INT2MSKCLR[3] INT2A1[3]
INT2PRI4 INT2MSKR[11]
[12:8]
INT2MSKCLR
[11]
INT2PRI7 INT2MSKR[21]
[20:16]
INT2MSKCLR
[21]
High
INT2B2[1]
INT2B3[5]
Low
INT2A0[11] INT2B2[7]
INT2A1[11]
INT2B2[8]
INT2A0[21] ⎯
INT2A1[21]
Low
Rev.1.00 Jan. 10, 2008 Page 333 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Interrupt
Source
Register
Interrupt Source
INTEVT
Code
Interrupt Mask/Clear
Priority
Register & Bit
SCIF-ch2 ERI2*
H'980
INT2PRI2 INT2MSKR[4]
INT2A0[4]
[12:8]
INT2MSKCLR[4] INT2A1[4]
RXI2*
Detail
Source
Register
INT2B1[8]
INT2B1[10]
TXI2*
INT2B1[11]
H'9A0
RXI3*
INT2PRI2 INT2MSKR[5]
INT2A0[5]
[4:0]
INT2MSKCLR[5] INT2A1[5]
INT2B1[12]
INT2B1[12]
BRI3*
INT2B1[14]
TXI3*
INT2B1[15]
SCIF-ch4 ERI4*
H'9C0
RXI4*
INT2PRI3 INT2MSKR[6]
INT2A0[6]
[28:24]
INT2MSKCLR[6] INT2A1[6]
INT2B1[16]
INT2B1[17]
BRI4*
INT2B1[18]
TXI4*
INT2B1[19]
SCIF-ch5 ERI5*
H'9E0
RXI5*
INT2PRI2 INT2MSKR[7]
INT2A0[7]
[20:16]
INT2MSKCLR[7] INT2A1[7]
INT2B1[20]
INT2B1[21]
BRI5*
INT2B1[22]
TXI5*
INT2B1[23]
PCIC(0)
PCISERR
H'A00
INT2PRI5 INT2MSKR[14]
[12:8]
INT2MSKCLR
[14]
INT2A0[14] INT2B3[0]
INT2A1[14]
PCIC(1)
PCIINTA
H'A20
INT2PRI5 INT2MSKR[15]
[4:0]
INT2MSKCLR
[15]
INT2A0[15] INT2B3[1]
INT2A1[15]
PCIC(2)
PCIINTB
H'A40
INT2PRI6 INT2MSKR[16]
[28:24]
INT2MSKCLR
[16]
INT2A0[16] INT2B3[2]
INT2A1[16]
PCIC(3)
PCIINTC
H'A60
INT2PRI6 INT2MSKR[17]
[20:16]
INT2MSKCLR
[17]
INT2A0[17] INT2B3[3]
INT2A1[17]
PCIC(4)
PCIINTD
H'A80
INT2PRI6 INT2MSKR[18]
[12:8]
INT2MSKCLR
[18]
INT2A0[18] INT2B3[4]
INT2A1[18]
Rev.1.00 Jan. 10, 2008 Page 334 of 1658
REJ09B0261-0100
High
INT2B1[9]
BRI2*
SCIF-ch3 ERI3*
Priority
within
Sets of Default
Sources Priority
Low
10. Interrupt Controller (INTC)
Interrupt
Source
Register
Detail
Source
Register
Interrupt Source
INTEVT Interrupt Mask/Clear
Code
Priority
Register & Bit
PCIC(5)
PCIERR
H'AA0
PCIPWD3
H'AC0
PCIPWD2
H'AC0
INT2B4[7]
PCIPWD1
H'AC0
INT2B4[8]
INT2PRI6 INT2MSKR[19]
[4:0]
INT2MSKCLR
[19]
INT2A0[19] INT2B4[5]
INT2A1[19]
INT2B4[6]
PCIPWD0
H'AE0
SIOF
SIOFI
H'CE0
INT2PRI6 INT2MSKR[20] INT2A0[20] ⎯
[28:24]
INT2MSKCR[20] INT2A1[20]
INT2B4[9]
MMCIF
FSTAT
H'D00
INT2PRI6 INT2MSKR[22]
[12:8]
INT2MSKCLR
[22]
INT2A0[22] INT2B4[0]
INT2A1[22]
INT2B4[1]
Priority
within
Sets of Default
Sources Priority
High
Low
High
TRAN
H'D20
ERR
H'D40
INT2B4[2]
FRDY
H'D60
INT2B4[3]
Low
DU
DUI
H'D80
INT2PRI9 INT2MSKR[27]
[28:24]
INT2MSKCLR
[27]
INT2A0[27]
INT2A1[27]
GDTA
GACLI
H'DA0
H'DC0
INT2A0[28] INT2B7[0]
INT2A1[28]
INT2B7[1]
High
GAMCI
INT2PRI9 INT2MSKR[28]
[20:16]
INT2MSKCLR
[28]
INT2B7[2]
Low
GAERI
H'DE0
TMU-ch3
TUNI3*
H'E00
INT2PRI1 INT2MSKR[1]
INT2A0[1]
[28:24]
INT2MSKCLR[1] INT2A1[1]
INT2B0[4]
TMU-ch4
TUNI4*
H'E20
INT2PRI1
[20:16]
INT2B0[5]
TMU-ch5
TUNI5*
H'E40
INT2PRI1
[12:8]
INT2B0[6]
SSI-ch0
SSII0
H'E80
INT2PRI8 INT2MSKR[25]
[12:8]
INT2MSKCLR
[25]
INT2A0[25] ⎯
INT2A1[25]
SSI-ch1
SSII1
H'EA0
INT2PRI6 INT2MSKR[26]
[4:0]
INT2MSKCLR
[26]
INT2A0[26] ⎯
INT2A1[26]
HAC-ch0
HACI0
H'EC0
INT2PRI6 INT2MSKR[12]
[28:24]
INT2MSKCLR
[12]
INT2A0[12] ⎯
INT2A1[12]
High
Low
Rev.1.00 Jan. 10, 2008 Page 335 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Interrupt Source
INTEVT Interrupt Mask/Clear
Code
Priority Register & Bit
HAC-ch1
HACI1
H'EE0
INT2PRI6 INT2MSKR[13]
[20:16]
INT2MSKCLR
[13]
FLCTL
FLSTE*
H'F00
GPIO
Priority
within
Sets of Default
Sources Priority
INT2A0[13] ⎯
INT2A1[13]
High
High
FLTEND*
H'F20
FLTRQ0*
H'F40
INT2B5[2]
FLTRQ1*
H'F60
INT2B5[3]
Low
GPIOI0 (Port E0)
H'F80
High
GPIOI0 (Port E1)
INT2PRI8 INT2MSKR[24] INT2A0[24] INT2B6[0]
[20:16]
INT2MSKCR[24] INT2A1[24]
INT2B6[1]
GPIOI0 (Port E2)
INT2B6[2]
H'FA0
GPIOI1 (Port E4)
GPIOI2 (Port H1)
INT2B6[8]
INT2B6[9]
GPIOI1 (Port E5)
INT2B6[10]
H'FC0
INT2B6[16]
GPIOI2 (Port H2)
INT2B6[17]
GPIOI2 (Port H3)
INT2B6[18]
GPIOI2 (Port H4)
GPIOI3 (Port L6)
INT2B6[19]
H'FE0
GPIOI3 (Port L7)
*
Detail
Source
Register
INT2PRI8 INT2MSKR[23] INT2A0[23] INT2B5[0]
[28:24]
INT2MSKCR[23] INT2A1[23]
INT2B5[1]
GPIOI1 (Port E3)
Note:
Interrupt
Source
Register
INT2B6[24]
INT2B6[25] Low
Low
ITI: Interval timer interrupt
TUNI0 to TUNI5: TMU channels 0 to 5 under flow interrupt
TICPI2: TMU channel 2 input capture interrupt
DMINT0 to DMINT11: Transfer end or half-end interrupts for DMAC channel 0 to 11
DMAE0: DMAC address error interrupt (channels 0 to 5)
DMAE1: DMAC address error interrupt (channels 6 to 11)
ERI0, ERI1, ERI2, ERI3, ERI4, ERI5: SCIF channels 0 to 5 receive error interrupts
RXI0, RXI1, RXI2, RXI3, RXI4, RXI5: SCIF channels 0 to 5 receive data full interrupts
BRI0, BRI1, BRI2, BRI3, BRI4, BRI5: SCIF channels 0 to 5 break interrupts
TXI0, TXI1, TXI2, TXI3, TXI4, TXI5: SCIF channels 0 to 5 transmission data empty
interrupts
FLSTE: FLCTL error interrupt
FLTEND: FLCTL error interrupt
FLTRQ0: FLCTL data FIFO transfer request interrupt
FLTRQ1: FLCTL control code FIFO transfer request interrupt
Rev.1.00 Jan. 10, 2008 Page 336 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.5
Operation
10.5.1
Interrupt Sequence
The sequence of interrupt operations is described below. Figure 10.4 shows a flowchart of the
operations.
1. Interrupt request sources send interrupt request signals to the INTC.
2. The INTC selects the interrupt with the highest priority among the interrupts that have been
sent, according to the priority set in INTPRI and INT2PRI0 to INT2PRI9. Lower priority
interrupts are held as pending interrupts. If two of the interrupts have the same priority level or
multiple interrupts are generated by a single module, the interrupt with the highest priority is
selected according to table 10.13.
3. The priority level of the interrupt selected by the INTC is compared with the interrupt mask
level (IMASK) set in SR of the CPU. Only the interrupt with a higher priority than the IMASK
bit is accepted, and an interrupt request signal is sent to the CPU.
4. The CPU accepts an interrupt at the next break between instructions.
5. The interrupt source code is set in the interrupt event register (INTEVT).
6. The SR and program counter (PC) are saved in SSR and SPC, respectively. At that time, R15
is saved in SGR.
7. The BL, MD, and RB bits in SR are set to 1.
8. Execution jumps to the start address of the interrupt exception handling routine (the sum of the
value set in the vector base register (VBR) and H'0000 0600).
In the exception handling routine, the value of INTEVT is branched as an offset. This easily
enables to branch the exception handling routine to handling routine for each interrupt source.
Notes: 1. When the INTMU bit in CPUOPM is set to 1, the interrupt mask level (IMASK) in SR
is automatically set to the level of the accepted interrupt. When the INTMU bit in
CPUOPM is cleared to 0, the value of the IMASK in SR is not affected by the accepted
interrupt.
2. The interrupt source flag should be cleared during exception handling routine. To
ensure that an interrupt source which should have been cleared is not erroneously
accepted again, read the interrupt source flag after it has been cleared, and wait for the
time shown in table 10.14. Then, clear the BL bit or execute an RTE instruction.
3. The IRQ interrupts, IRL interrupts, on-chip peripheral module interrupts are initialized
to the interrupt masking state by a power-on reset. Therefore, clear the interrupt
masking for each interrupt , INTMSK0, INTMSK1, and INT2MSKR by using
INTMSKCLR0, INTMSKCLR1, and INT2MSKCLR.
Rev.1.00 Jan. 10, 2008 Page 337 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Program execution state
Yes
ICR0.MAI = 1?
No
Is NMI input low?
Yes
No
No
Interrupt
generated?
Yes
Yes
SR.BL = 0 or
sleep mode?
No
No
ICR0.NMIB = 1?
Yes
No
NMI?
Yes
NMI?
No
Level 15
interrupt?
Yes
Yes
Yes
Level 14
interrupt?
Is SR.IMASK level
14 or less?
No
No
Yes
Yes
Level 1
interrupt?
Is SR.IMASK level
13 or less?
No
Yes
No
CPUOPM.INTMU = 1?
Yes
Set SR.IMASK to
accepted interrupt level
Set interrupt source
code in INTEVT
Save SR in SSR;
save PC in SPC;
save R15 in SGR
Branch to
exception handling routine
Figure 10.5 Flowchart of Interrupt Operation
Rev.1.00 Jan. 10, 2008 Page 338 of 1658
REJ09B0261-0100
No
Yes
Is SR.IMASK level
0?
No
No
10. Interrupt Controller (INTC)
10.5.2
Multiple Interrupts
To handle multiple interrupts, the procedure for the interrupt handling routine should be as
follows.
1. To identify the interrupt source, set the value of INTEVT to an offset and branch it to the
interrupt handling routine for each interrupt source.
2. Clear the corresponding interrupt source in the interrupt handling routine.
3. Save SSR and SPC on the stack.
4. Clear the BL bit in SR. When the INTMU bit in CPUOPM is set to 1, the interrupt mask level
(IMASK) in SR is automatically set to the level of the accepted interrupt. When the INTMU
bit in CPUOPM is cleared to 0, software should be used to set the IMASK bit in SR to the
priority level of the accepted interrupt.
5. Execute processing as required in response to the interrupt.
6. Set the BL bit in SR to 1.
7. Release SSR and SPC from the stack.
8. Execute the RTE instruction.
By following the above procedure, if further interrupts are generated right after step 4, an interrupt
with higher priority than the one currently being handled can be accepted after step 4. This reduces
the interrupt response time for urgent processing.
10.5.3
Interrupt Masking by MAI Bit
When the MAI bit in ICR0 is set to 1, interrupts can be masked whole the NMI pin is low
regardless of the settings of the BL and IMASK bits in and SR.
• Normal operation or sleep mode
All other interrupts are masked while the NMI signal is low. Note that only NMI interrupts due to
the change of the NMI pin are generated.
Rev.1.00 Jan. 10, 2008 Page 339 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.6
Interrupt Response Time
Table 10.14 shows response time. The response time is the interval from generation of an interrupt
request until the start of interrupt exception handling and until fetching of the first instruction of
the exception handling routine.
Table 10.14 Interrupt Response Time
Number of States
Peripheral Modules
Item
NMI
IRL
IRQ
Priority
determination time
6Bcyc +
2Pcyc
8Bcyc +
2Pcyc
4Bcyc +
2Pcyc
Wait time until the
CPU finishes the
current sequence
S-1 (≥ 0)
× Icyc
Interval from the
start of interrupt
exception handling
(saving SR and PC)
until a SuperHyway
bus request is issued
to fetch the first
instruction of the
exception handling
routine
11Icyc
+ 1Scyc
Response Total
time
(S + 10) Icyc
+ 1Scyc
+ 5Bcyc
+ 2Pcyc
(S + 10) Icyc
+ 1Scyc
+ 8Bcyc
+ 2Pcyc
Legend:
Icyc: Period of one CPU clock cycle
Scyc: Period of one SuperHyway clock cycle
Bcyc: Period of one bus clock cycle
Pcyc: Period of one peripheral clock cycle
S:
Number of instruction execution states
Rev.1.00 Jan. 10, 2008 Page 340 of 1658
REJ09B0261-0100
(S + 10) Icyc
+ 1Scyc
+ 4Bcyc
+ 2Pcyc
Other than
GPIO/PCIC
GPIO/PCIC
5Pcyc
7Pcyc
(S + 10) Icyc
+ 1Scyc
+ 5Pcyc
(S + 10) Icyc
+ 1Scyc
+ 7Pcyc
Remarks
10. Interrupt Controller (INTC)
Table 10.15 shows response time. The response time is from the interrupt exception handling to
the start of fetching the first instruction in exception handling routine. In this case, suppose that
the setting values of the following registers that enable or disable interrupt, INTMSK0,
INTMSK1, INTMSK2, INT2MSKR, and INT2GPIC, are changed from the interrupt disable state
to the interrupt enable state.
Table 10.15 Response Time after Changing the Value of Interrupt Enable/Disable Registers
(Interrupt Disabled → Interrupt Enabled)
Number of States
IRL
IRQ
Peripheral
Modules
Remarks
Item
INTMSK1
INTMSK2
INTMSK0
Registers that
INT2MSKR, enable/disable
INT2GPIC interrupts
Priority determination time*
1Pcyc
8Bcyc +
2Pcyc
1Pcyc
4Pcyc
(S + 10) Icyc
+ 1Scyc
+ 1Pcyc
(S + 10) Icyc
+ 1Scyc
+ 4Pcyc
Wait time until the CPU
S-1 (≥ 0) × Icyc
finishes the current sequence
Interval from the start of
interrupt exception handling
(saving SR and PC) until a
SuperHyway bus request is
issued to fetch the first
instruction of the exception
handling routine
11Icyc + 1Scyc
Response
time
(S + 10) Icyc
+ 1Scyc
+ 1Pcyc
Total
(S + 10) Icyc
+ 1Scyc
+ 8Bcyc
+ 2Pcyc
Legend:
Icyc: Period of one CPU clock cycle
Scyc: Period of one SuperHyway clock cycle
Bcyc: Period of one bus clock cycle
Pcyc: Period of one peripheral clock cycle
S:
Number of instruction execution states
Note: * When INTMSKCLR0, INTMSKCLR1, INTMSKCLR2, and INT2MSKCLR are written to,
INTMSK0, INTMSK1, INTMSK2, and INTMSKR enable an interrupt by clearing the
mask bits in INTMSK0, INTMSK1, INTMSK2, and INTMSKR. The priority determination
times in table 10.15 are the values after the values of INTMSK0, INTMSK1, INTMSK2,
and INT2MSKR are changed.
Rev.1.00 Jan. 10, 2008 Page 341 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Table 10.16 shows response time. The response time is the time until when the interrupt request
signal from the INTC to the CPU is negated. In this case, suppose that the setting values of the
following registers, INTMSK0, INTMSK1, INTMSK2, INT2MSKR, and INT2GPIC, are changed
from the interrupt enable state to the interrupt disable state.
Table 10.16 Response Time after Changing the Value of Interrupt Enable/Disable Registers
(Interrupt Enabled → Interrupt Disabled)
Number of States
IRL
IRQ
Peripheral
Modules
Remarks
Registers that
enable/disable
interrupts
Item
INTMSK1
INTMSK2
INTMSK0
INT2MSKR,
INT2GPIC
Priority
determination
time
1Pcyc
8Bcyc +
2Pcyc*
1Pcyc
4Pcyc
Note:
*
The IRL interrupt source that has been already retained inside cannot cancel the
interrupt request signal to the CPU even if the IRL interrupt source is masked.
Rev.1.00 Jan. 10, 2008 Page 342 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.7
Usage Notes
10.7.1
Example of Handing Routine of IRL Interrupts and Level Detection IRQ
Interrupts when ICR0.LVLMODE = 0
When ICR0.LVLMODE is 0, IRL interrupt requests and level detection IRQ interrupt requests
that the INTC retains should be cleared in the interrupt handling routine because the CPU detects
after accepting interrupts. The IRQ interrupt sources (INTREQ) should also be cleared.
Start of IRQ level-sense or IRL
level-encoded interrupt handling
Interrupt handling
Instruct the external device to cancel
the IRQ/IRL level interrupt request by
using the GPIO output or writing to an
address in the local bus
1) Write to the GPIO register or local
bus space.
2) Read from the address that has been
written to.
Wait until the interrupt request signal
input on the IRL/IRQ pin is negated
and the INTC detects the negation
(at least 8 bus-clock cycles are
required)
Clear the IRQ/IRL level interrupt
request holding in the detection circuit
and clear the IRQ interrupt source
1) Set the corresponding bit in
INTMSK0/1 to 1.
2) Set the corresponding bit in
INTMSKCLR0/1 to 1.
3) Read INTMSK0/1.
End of IRQ/IRL level
interrupt handling
Figure 10.6 Example of Interrupt Handling Routine
Canceling the IRL interrupt request and level detection IRQ interrupt request that the CPU accepts
should be notified to the external device in the interrupt handling routine. For example, output the
data that can identify the accepted level and pins to the GPIO pin, or read the specific address. In
this case, write to the GPIO register and the local bus space, and read the same address
continuously.
To clear an interrupt request that is retained in the INTC, the wait time that the CPU detects the
cleared interrupt request is required. To guarantee the wait time, write to INTMSK0, INTMSK1,
INTMSKCLR0, and INTMSKCLR1, and read from INTMSK0 continuously.
Rev.1.00 Jan. 10, 2008 Page 343 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.7.2
Notes on Setting IRQ/IRL[7:0] Pin Function
When the IRQ/IRL[7:0] pin functions are switched, the INTC may retain an incorrectly detected
interrupt request. Therefore, mask the IRL and IRQ interrupt requests before switching the
IRQ/IRL[7:0] pin functions.
Table 10.17 Switching Sequence of IRQ/IRL[7:0] Pin Function
Sequence Item
Procedure
1
IRL interrupt request and IRQ interrupt
request masking
Write 1 to all bits in INTMSK0 and
INTMSK1 except reserved bits
2
Setting IRL/IRQ[7:4] pins to IRL7 to IRL4
Write 0 to the PMSEL14 bit in PMSELR
Write 0 to the PL4MD1, PL4MD0,
PL3MD1, PL3MD0, PL2MD1, PL2MD0,
PL1MD1, PL1MD0 bits in PLCR
3
Setting IRQ/IRL[7:0] pins to IRL or IRQ
Set bits IRLM1 to IRLM0 in ICR0
4
Start of IRL and IRQ interrupt detection
Write 1 to the corresponding bit in
INTMSKCLR0 and INTMSKCLR1
Rev.1.00 Jan. 10, 2008 Page 344 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
10.7.3
Clearing IRQ and IRL Interrupt Requests
To clear the interrupt request retained in the INTC, follow the procedure below.
(1)
Clearing Interrupt Request Independent from ICR0.LVLMODE Setting
⎯ Clearing IRQ interrupt requests at edge detection
To clear the interrupt requests IRQ7 to IRQ0 setting edge detection, read the IR7 to IR0
bits corresponding to INTREQ as 1 and write 0 to the bits. The IRQ interrupt request
being detected cannot be cleared even if 1 is written to the corresponding bit in
INTMSK0.
(2)
Clearing Interrupt Request Dependent on ICR0.LVLMODE Setting
(a)
ICR0.LVLMODE = 0
⎯ Clearing IRL interrupt requests
To clear the IRL interrupt requests from the IRQ/IRL[3:0] pins, write 1 to the IM10 bit
in INTMSK1. To clear the IRL interrupt requests from the IRQ/IRL[7:4] pins, write 1 to
the IM11 bit in INTMSK1. The IRL interrupt request being detected cannot be cleared
even if masking is performed on INTMSK2 by the level.
⎯ Clearing IRQ interrupt requests at level detection
To clear the IRQ7 to IRQ0 interrupt request setting level detection, write 1 to the
corresponding IM07 to IM00 bits in INTMSK0. The IRQ interrupt request being
detected cannot be cleared even if 0 is written to the corresponding bit in INTPRI. The
IRQ interrupt request being detected can be checked by reading from INTREQ.
(b)
ICR0.LVLMODE = 1
The INTC does not retain the interrupt source even if IRQ interrupts are detected at level detection
or IRL interrupt requests are detected.
Rev.1.00 Jan. 10, 2008 Page 345 of 1658
REJ09B0261-0100
10. Interrupt Controller (INTC)
Rev.1.00 Jan. 10, 2008 Page 346 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Section 11 Local Bus State Controller (LBSC)
The local bus state controller (LBSC) divides the external memory space and outputs control
signals according to the specification of each memory and bus interface. The LBSC function
enables connection of the SRAM or ROM, etc. to this LSI. The LBSC also supports the PCMCIA
interface protocol, which implements simple system design and high-speed data transfers in a
compact system.
11.1
Features
The LBSC has the following features.
• Manages areas 0 to 6 of the external memory space divided into seven
⎯ Maximum 64 Mbytes for each of areas 0 to 6
⎯ Bus width of each area can be set by a register (Only the area-0 bus width is set by an
external pin.)
⎯ Wait cycle insertion by the RDY pin
⎯ Wait cycle insertion can be controlled by a program
⎯ Type of memory to be connected is specifiable for each area
⎯ Control signals are output for memory connected to each area
⎯ Automatic wait cycle insertion to prevent data bus collision in consecutive memory
accesses
⎯ The write strobe setup and hold time periods can be inserted in a write cycle to connect to
low-speed memory
• SRAM interface
⎯ Wait cycle insertion can be controlled by a program
Connectable area: 0 to 6
Settable bus width: 64, 32, 16 and 8 bits
• Burst ROM interface
⎯ Wait cycle insertion can be controlled by a program
⎯ Burst transfers for the number of times specified by the register
Connectable area: 0 to 6
Settable bus width: 64, 32, 16 and 8 bits
Rev.1.00 Jan. 10, 2008 Page 347 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
• MPX interface
⎯ Address/data multiplexing
Connectable area: 0 to 6
Settable bus width: 64 and 32 bits
• Byte control SRAM interface
⎯ SRAM interface with byte control
Connectable area: 1 and 4
Settable bus width: 64, 32 and 16 bits
• PCMCIA interface (Little endian only)
⎯ Wait cycle insertion can be controlled by a program
⎯ Bus sizing function for I/O bus width
⎯ Supports the little endian
Connectable area: 5 and 6
Settable bus width: 16 and 8 bits
⎯ Prepared only for ATA device accesses
Rev.1.00 Jan. 10, 2008 Page 348 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
SuperHyway bus
Figure 11.1 shows a block diagram of the LBSC.
Bus interface
CSnWCR
CS0 to CS6
CE2A to CE2B
...
RDY
Wait controller
Area controller
CSnBCR
Module bus
...
BS
RD
R/W
WE7 to WE0
IORD, IOWR
REG
BCR
Memory
controller
CSnPCR
IOIS16
LBSC
Legend:
CSnWCR: CSn wait control register (n = 0 to 6)
CSnBCR: CSn bus control register (n = 0 to 6)
BCR:
Bus control register
CSnPCR: CSn PCMCIA control register (n = 5 and 6)
Figure 11.1 Block Diagram of LBSC
Rev.1.00 Jan. 10, 2008 Page 349 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.2
Input/Output Pins
Table 11.1 shows the LBSC pin configuration.
Table 11.1 Pin Configuration
Pin Name
Function
I/O
Description
A25 to A0
Address Bus
O
Address output
D63 to D0
Data Bus
I/O
Data input/output
These pins are multiplexed as follows:
D63 to D56: PCI, DU and ports A7 to A0 (GPIO
input/output)
D55 to D48: PCI, DU and ports B7 to B0 (GPIO
input/output)
D47 to D40: PCI, DU and ports C7 to C0 (GPIO
input/output)
D39 to D32: PCI, DU and ports D7 to D0 (GPIO
input/output)
D31 to D24: ports F7 to F0 (GPIO input/output)
D23 to D16: ports G7 to G0 (GPIO input/output)
BS
Bus Cycle Start O
Signal that indicates the start of a bus cycle
Asserted once for a burst transfer when the MPX
interface is set
Asserted in every data cycle in other burst
transfers
CS6 to CS0
Chip Select 6 to O
0
Chip select signals that indicates the area being
accessed. CS5 and CS6 can also be used as
CE1A and CE1B of the PCMCIA respectively.
R/W
Read/Write
O
Data bus input/output direction designation
signal. Also used as the PCMCIA interface write
designation signal
RD/FRAME
Read/Cycle
Frame
O
Strobe signal indicating a read cycle.
Rev.1.00 Jan. 10, 2008 Page 350 of 1658
REJ09B0261-0100
Used for FRAME signal when the MPX bus is
used
11. Local Bus State Controller (LBSC)
Pin Name
Function
I/O
Description
WE0/REG
Data Enable 0
O
Write strobe signal for D7 to D0 in SRAM
interface setting
WE1
Data Enable 1
O
REG signal in PCMCIA interface setting
Write strobe signal for D15 to D8 in SRAM
interface setting
Write strobe signal in PCMCIA interface setting
WE2/IORD
Data Enable 2
O
Write strobe signal for D23 to D16 in SRAM
interface setting
IORD signal in PCMCIA interface setting
WE3/IOWR
Data Enable 3
O
Write strobe signal for D31 to D24 in SRAM
interface setting
IOWR signal in PCMCIA interface setting
WE4
Data Enable 4
O
Write strobe signal for D39 to D32 in SRAM
interface setting
Multiplexed with PCI/Port R0 (GPIO
input/output).
WE5
Data Enable 5
O
Write strobe signal for D47 to D40 in SRAM
interface setting
Multiplexed with PCI/Port R1 (GPIO
input/output).
WE6
Data Enable 6
O
Write strobe signal for D55 to D48 in SRAM
interface setting
Multiplexed with PCI/Port R2 (GPIO
input/output).
WE7
Data Enable 7
O
Write strobe signal for D63 to D56 in SRAM
interface setting
Multiplexed with PCI/Port R3 (GPIO
input/output).
RDY
Ready
I
Wait cycle request signal
IOIS16
16-Bit I/O
I
16-bit I/O designation signal in PCMCIA
interface setting
Valid only in little endian mode
Multiplexed with MODE13, TCLK (TMU
input/output), and Port J0 (GPIO input/output)
BREQ
Bus Release
Request
I
Bus release request signal
Multiplexed with Port M1 (GPIO input/output).
Rev.1.00 Jan. 10, 2008 Page 351 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Pin Name
Function
I/O
Description
BACK
Bus Request
Acknowledge
O
Bus request acknowledge signal
PCMCIA Card
Select
O
CE2A* ,
CE2B*2
1
Multiplexed with Port M0 (GPIO input/output).
CE2A , CE2B in PCMCIA interface setting
Only valid in little endian mode
CE2A: Multiplexed with DACK2 (DMAC output),
Port L5 (GPIO input/output)
CE2B: Multiplexed with MODE12, DACK3
(DMAC output) and Port L0 (GPIO
input/output)
MODE5,
MODE6,
MODE7
Bus Width and
Memory Type
for Area 0
I
Signals for setting area 0 bus width (MODE5,
MODE6) and MPX interface (MODE7: high level
selects SRAM and low level selects MPX) at a
power-on reset by the PRESET pin
MODE5: Multiplexed with SIOF_MCLK (SIOF
input)
MODE6: Multiplexed with SIOF_SYNC (SIOF
input/output)
MODE7: Multiplexed with SCIF3_RXD (SCIF
input) and FALE (FLCTL output)
MODE8
Endian
Switching
I
Signal for setting endian at a power-on reset by
the PRESET pin
Multiplexed with SCIF3_SCK (SCIF
input/output), FD0 (FLCTL input/output) and Port
N3 (GPIO output)
MODE9
Master/Slave
Switching
I
Signal indicating master/slave at a power-on
reset by the PRESET pin
Multiplexed with SCIF4_TXD (SCIF output), FD1
(FLCTL input/output) and Port N2 (GPIO output).
Rev.1.00 Jan. 10, 2008 Page 352 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Pin Name
Function
I/O
Description
MODE11,
MODE12
Bus Mode
Switching
I
Signals for switching buses: local bus, PCI bus
or DU bus
Bus modes for D63 to D32 and WE7 to WE4 are
switched at a power-on reset by the PRESET
pin
MODE11: Multiplexed with SCIF4_SCK (SCIF
input/output), FD3 (FLCTL
input/output), Port N0 (GPIO output)
MODE12: Multiplexed with DACK3 (DMAC0
output), CE2B (LBSC output), Port L0
(GPIO output)
DACK0*3
DACK1*3
DACK2*
3
DACK3*3
DMAC0
Acknowledge
Signal
O
DMAC1
Acknowledge
Signal
O
DMAC2
Acknowledge
Signal
O
DMAC3
Acknowledge
Signal
O
Data acknowledge in DMAC channel 0
Multiplexed with Port K1 (GPIO input/output)
Data acknowledge in DMAC channel 1
Multiplexed with Port K0 (GPIO input/output)
Data acknowledge in DMAC channel 2
Multiplexed with SCIF2_TXD (SCIF output),
MMCCMD (MMCIF input/output), SIOF_TXD
(SIOF output) and Port K5 (GPIO input/output)
Data acknowledge in DMAC channel 3
Multiplexed with SCIF2_SCK (SCIF
input/output), MMCDAT (MMCIF input/output),
SIOF_SCK (SIOF input/output) and Port K4
(GPIO input/output)
Notes: 1. CE2A is an output pin when the TYPE bits in CS5BCR are set to B'100.
2. CE2B is an output pin when the TYPE bits in CS6BCR are set to B'100.
3. The polarity of DACK0 to DACK3 can be selected by the AL bit in CHCR0 to CHCR3
(the initial value selects active-low). For details, see section 14, Direct Memory Access
Controller (DMAC).
Rev.1.00 Jan. 10, 2008 Page 353 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.3
Overview of Areas
11.3.1
Space Divisions
The LSI has a 32-bit virtual address space as the architecture. The virtual address space is divided
into five areas according to the upper address value. Also, the memory space of the local bus has a
29-bit address space, and it is divided into eight areas.
A virtual address can be allocated to any external address by the address changing unit (MMU).
For details, see section 7, Memory Management Unit (MMU). This section describes the local bus
address area division.
Various types of memory or PC cards can be connected to the external address seven areas as
shown in table 11.2 and the chip select signals (CS0 to CS6, CE2A, and CE2B) are output for each
area. CS0 is asserted when area 0 is accessed, and CS6 is asserted when areas 6 is accessed. When
the PCMCIA interface is selected for area 5 or 6, CE2A or CE2B is asserted along with CS5 or
CS6, according to the accessed bytes.
256
H'0000 0000
P0 and U0 areas
P0 and U0 areas
H'8000 0000
H'A000 0000
H'C000 0000
H'E000 0000
H'E400 0000
H'FFFF FFFF
P1 area
P1 area
P2 area
P2 area
H'0000 0000
Area 1 (CS1)
H'0400 0000
Area 2 (CS2)
H'0800 0000
Area 3 (CS3)
H'0C00 0000
Area 4 (CS4)
H'1000 0000
Area 5 (CS5)
H'1400 0000
Area 6 (CS6)
H'1800 0000
H'1C00 0000
H'1FFF FFFF
Area 7 (Reserved)
P3 area
P3 area
Store-queue area
P4 area
Area 0 (CS0)
Store-queue area
P4 area
Notes 1. When the MMU is turned off (AT in MMUCR = 0), the upper 3 bits of the 32-bit address
are ignored and other bits are mapped in the 29-bit external addresses.
2. When the MMU is turned on (AT in MMUCR = 1), the P0, U0, P3 and store-queue areas
can be mapped in any external address using the TLB. For details, see section 7,
Memory Management Unit (MMU).
Figure 11.2 Correspondence between Virtual Address Space and Local Bus Memory Space
Rev.1.00 Jan. 10, 2008 Page 354 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.2 LBSC External Memory Space Map
Area
0
1
2
External
addresses
H'0000 0000 to
H'03FF FFFF
H'0400 0000 to
H'07FF FFFF
H'0800 0000 to
H'0BFF FFFF
Size
Connectable
Memory
Specifiable Bus
Width (bits)
8, 16, 32, 64*1
64 Mbytes SRAM
Burst ROM
8, 16, 32, 64*
MPX
32, 64*1
8, 16, 32, 64*2
64 Mbytes SRAM
Burst ROM
8, 16, 32, 64*
MPX
32, 64*2
Byte control SRAM
16, 32, 64*
8/16/32 bits,
32 bytes
8/16/32 bits,
32 bytes
8, 16, 32, 64*
2
8/16/32 bits,
32 bytes
32, 64*2
(DDR2-SDRAM)*
3
64 Mbytes SRAM
16, 32
8/16/32 bits,
32 bytes
8, 16, 32, 64*2
2
8/16/32 bits,
32 bytes
Burst ROM
8, 16, 32, 64*
MPX
32, 64*2
Byte control SRAM
16, 32, 64*2
(DDR2-SDRAM)*3
16, 32
8/16/32 bits,
32 bytes
32
8/16/32 bits,
32 bytes
(PCI)*
H'1400 0000 to
H'17FF FFFF
16, 32
8, 16, 32, 64*2
MPX
5
8/16/32 bits,
32 bytes
32, 64*2
3
H'0C00 0000 to 64 Mbytes SRAM
H'0FFF FFFF
Burst ROM
H'1000 0000 to
H'13FF FFFF
8/16/32 bits,
32 bytes
2
8, 16, 32, 64*2
Burst ROM
(DDR2-SDRAM)*
4
2
8, 16, 32, 64*2
64 Mbytes SRAM
MPX
3
1
Access Size*7
4
64 Mbytes SRAM
8, 16, 32, 64*2
2
MPX
32, 64*
Burst ROM
8, 16, 32, 64*2
PCMCIA
8, 16*2, 6
(DDR2-SDRAM)*3
16, 32
8/16/32 bits,
32 bytes
8/16/32 bits,
32 bytes
Rev.1.00 Jan. 10, 2008 Page 355 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Area
6
External
addresses
Size
H'1800 0000 to
H'1BFF FFFF
7*
7
Connectable
Memory
64 Mbytes SRAM
Specifiable Bus
Width (bits)
8, 16, 32, 64*2
2
MPX
32, 64*
Burst ROM
8, 16, 32, 64*2
PCMCIA
8, 16*
H'1C00 0000 to 64 Mbytes ⎯
H'1FFF FFFF
Access Size*7
8/16/32 bits,
32 bytes
2, 5
⎯
—
Notes: 1. The memory bus width is specified by the external pins.
2. The memory bus width is specified by the register.
3. These areas can be allocated to DDR2-SDRAM by setting MMSELR. For details, see
section 12, DDR2-SDRAM Interface (DBSC2).
4. This area can be allocated to PCI memory by setting MMSELR. For details, see section
13, PCI Controller (PCIC).
5. When the PCMCIA interface is used, the bus width should be 8 or 16 bits.
6. Do not access the reserved area. If the reserved area is accessed, correct operation is
not be guaranteed.
7. If the LBSC is requested to perform 8- or 16-byte access by the bus master, the LBSC
performs accesses two or four times respectively with 32-bit access size.
Area 0:
H'0000 0000
SRAM/Burst ROM/MPX
Area 1:
H'0400 0000
SRAM/Burst ROM/MPX/Byte control SRAM
Area 2:
H'0800 0000
SRAM/Burst ROM/MPX
(DDR2-SDRAM)
Area 3:
H'0C00 0000
SRAM/Burst ROM/MPX
(DDR2-SDRAM)
Area 4:
H'1000 0000
SRAM/Burst ROM/MPX/ Byte control SRAM
(DDR2-SDRAM/PCI)
Area 5: (1st half) H'1400 0000
(2nd half) H'1600 0000
SRAM/Burst ROM/MPX/PCMCIA *
(DDR2-SDRAM)
Area 6: (1st half) H'1800 0000
(2nd half) H'1A00 0000
SRAM/Burst ROM/MPX/PCMCIA *
The PCMCIA interface is
also used for memory I/O
cards.
Note: * Any of these memory devices can be connected to each of the 1st and 2nd halves of the area.
Figure 11.3 Local Bus Memory Space Allocation
Rev.1.00 Jan. 10, 2008 Page 356 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.3.2
Memory Bus Width
The memory bus width of the LBSC can be set independently for each area. In area 0, a bus width
of 8, 16, 32, or 64 bits is selected according to the external pin settings at a power-on reset by the
PRESET pin. The relation between the external pins (MODE 6 and MODE 5) and the bus width at
a power-on reset is shown below.
MODE6
MODE5
Bus Width
0
0
64 bits
0
1
8 bits
1
0
16 bits
1
1
32 bits
Note: When using 64 bits bus width, the MODE 12 and MODE11 must be set to 1 and 0
respectively.
By setting MODE12 and MODE11 to 1 and 0 respectively, D63 to D32 and WE7 and WE4 can be
used in the LBSC. When 64-bit bus is used, set MODE12 and MODE11 to 1 and 0 respectively.
The relationship between MODE12 and MODE11 and bus mode is shown below.
MODE12
MODE11
Bus Mode (D[63:32] and WE[7:4])
0
0
PCI (host)
0
1
PCI (normal)
1
0
LBSC
1
1
DU
When the SRAM or ROM interface is used in areas 0 to 6, a bus width of 8, 16, 32, or 64 bits can
be selected by the CSn bus control register (CSnBCR). When the burst ROM interface is used, a
bus width of 8, 16, 32, or 64 bits can be selected. When the byte control SRAM interface is used, a
bus width of 16, 32, or 64 bits can be selected. When the MPX interface is used, the bus width
should be set to 32 or 64 bits.
When the PCMCIA interface is used, the bus width should be set to 8 or 16 bits. For details, see
section 11.5.5, PCMCIA Interface.
For details of memory bus width, see section 11.4.3, CSn Bus Control Register (CSnBCR).
The address range of area 7, from H'1C00 0000 to H'1FFFF FFFF, is reserved and must not be
used.
Rev.1.00 Jan. 10, 2008 Page 357 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.3.3
PCMCIA Support
This LSI supports the PCMCIA interface specifications for areas 5 and 6 in the external memory
space.
The IC memory card interface and I/O card interface specified in JEIDA specifications version 4.2
(PCMCIA2.1) are supported.
Both the IC memory card interface and the I/O card interface are supported in areas 5 and 6 in the
external memory space.
The PCMCIA interface is supported only in little endian mode.
Table 11.3 PCMCIA Interface Features
Item
Features
Access
Random access
Data bus
8/16 bits
Memory type
Masked ROM, OTPROM, EPROM, flash memory, SRAM, ATA
device
Common memory capacity
Max. 64 Mbytes
Attribute memory capacity
Max. 64 Mbytes
Others
Dynamic bus sizing for I/O bus width, access to the ATA device
control register
Rev.1.00 Jan. 10, 2008 Page 358 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.4 PCMCIA Support Interface
IC Memory Card Interface
I/O Card Interface
Function
Corresponding
Pin of SH7785
Ground
⎯
Data
D3
I/O
Data
D4
D5
I/O
Data
D5
D6
I/O
Data
D6
I/O
Function
Signal
Name
Ground
GND
D3
I/O
Data
D3
I/O
3
D4
I/O
Data
D4
4
D5
I/O
Data
5
D6
I/O
Data
Pin
Signal
Name
1
GND
2
I/O
6
D7
I/O
Data
D7
I/O
Data
D7
7
CE1
I
Card enable
CE1
I
Card enable
CS5 or CS6
8
A10
I
Address
A10
I
Address
A10
9
OE
I
Output enable
OE
I
Output enable
RD
10
A11
I
Address
A11
I
Address
A11
11
A9
I
Address
A9
I
Address
A9
12
A8
I
Address
A8
I
Address
A8
13
A13
I
Address
A13
I
Address
A13
14
A14
I
Address
A14
I
Address
A14
15
WE
I
Write enable
WE
I
Write enable
WE1
16
READY
O
Ready
IREQ
O
Interrupt request
Sensed on port
17
VCC
Operating
power supply
VCC
Operating power
supply
⎯
18
VPP1
(VPP)
Programming
power supply
VPP1
(VPP)
Programming/
peripheral power
supply
⎯
19
A16
I
Address
A16
I
Address
A16
20
A15
I
Address
A15
I
Address
A15
21
A12
I
Address
A12
I
Address
A12
22
A7
I
Address
A7
I
Address
A7
23
A6
I
Address
A6
I
Address
A6
24
A5
I
Address
A5
I
Address
A5
25
A4
I
Address
A4
I
Address
A4
26
A3
I
Address
A3
I
Address
A3
27
A2
I
Address
A2
I
Address
A2
28
A1
I
Address
A1
I
Address
A1
29
A0
I
Address
A0
I
Address
A0
Rev.1.00 Jan. 10, 2008 Page 359 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
IC Memory Card Interface
I/O Card Interface
Pin
Signal
Name
I/O
Function
Signal
Name
I/O
Function
Corresponding
Pin of SH7785
30
D0
I/O
Data
D0
I/O
Data
D0
31
D1
I/O
Data
D1
I/O
Data
D1
32
D2
I/O
Data
D2
I/O
Data
D2
33
WP*1
O
Write protect
IOIS16
O
16-bit I/O port
IOIS16
34
GND
Ground
GND
Ground
⎯
35
GND
Ground
GND
Ground
⎯
36
CD1
O
Card detection
CD1
O
Card detection
Sensed on port
37
D11
I/O
Data
D11
I/O
Data
D11
38
D12
I/O
Data
D12
I/O
Data
D12
39
D13
I/O
Data
D13
I/O
Data
D13
40
D14
I/O
Data
D14
I/O
Data
D14
41
D15
I/O
Data
D15
I/O
Data
D15
42
CE2
I
Card enable
CE2
I
Card enable
CE2A or CE2B
43
RFSH
(VS1)
I
Refresh request RFSH
(VS1)
I
Refresh request
Output from port
44
RSRVD
Reserved
IORD
I
I/O read
IORD
45
RSRVD
Reserved
IOWR
I
I/O write
IOWR
46
A17
I
Address
A17
I
Address
A17
47
A18
I
Address
A18
I
Address
A18
48
A19
I
Address
A19
I
Address
A19
49
A20
I
Address
A20
I
Address
A20
50
A21
I
Address
A21
I
Address
A21
51
VCC
Power supply
VCC
Power supply
⎯
52
VPP2
(VPP)
Programming
power supply
VPP2
(VPP)
Programming/
peripheral power
supply
⎯
53
A22
I
Address
A22
I
Address
A22
54
A23
I
Address
A23
I
Address
A23
55
A24
I
Address
A24
I
Address
A24
56
A25
I
Address
A25
I
Address
A25
57
RSRVD
Reserved
RSRVD
Reserved
⎯
58
RESET
I
Reset
RESET
I
Reset
Output from port
59
WAIT
O
Wait request
WAIT
O
Wait request
RDY*2
Rev.1.00 Jan. 10, 2008 Page 360 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
IC Memory Card Interface
I/O Card Interface
Corresponding
Pin of SH7785
Function
Signal
Name
I/O
Function
Reserved
INPACK
O
Input acknowledge ⎯
I
Attribute
memory space
select
REG
I
Attribute memory
space select
BVD2
O
Battery voltage
detection
SPKR
O
Digital voice signal Sensed on port
63
BVD1
O
Battery voltage
detection
STSCHG O
Card status change Sensed on port
64
D8
I/O
Data
D8
Data
65
D9
I/O
Data
D9
I/O
Data
D9
66
D10
I/O
Data
D10
I/O
Data
D10
67
CD2
O
Card detection
CD2
O
68
GND
Ground
GND
Pin
Signal
Name
60
RSRVD
61
REG
62
I/O
I/O
REG
D8
Card detection
Sensed on port
Ground
⎯
Notes: 1. WP is not supported.
2. Be careful of the polarity.
I/O means input/output in PCMCIA card.
The polarity of the PCMCIA card interface indicates that on the card side, and the
polarity of the corresponding pin of the SH7785 indicates that on this LSI side.
Rev.1.00 Jan. 10, 2008 Page 361 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.4
Register Descriptions
Table 11.5 shows registers for the LBSC. These registers control the interface with each memory,
wait state, etc.
Table 11.5 Register Configuration (1)
Area 7
Address
Access
Size*
Sync
Clock
Register Name
Abbrev.
R/W
P4 Address
Memory Address Map Select
Register
MMSELR
R/W
H'FC40 0020 H'1C40 0020 32
SHck
Bus Control Register
BCR
R/W
H'FF80 1000 H'1F80 1000
32
Bck
CS0 Bus Control Register
CS0BCR
R/W
H'FF80 2000 H'1F80 2000
32
Bck
CS1 Bus Control Register
CS1BCR
R/W
H'FF80 2010 H'1F80 2010
32
Bck
CS2 Bus Control Register
CS2BCR
R/W
H'FF80 2020 H'1F80 2020
32
Bck
CS4 Bus Control Register
CS4BCR
R/W
H'FF80 2040 H'1F80 2040
32
Bck
CS5 Bus Control Register
CS5BCR
R/W
H'FF80 2050 H'1F80 2050
32
Bck
CS6 Bus Control Register
CS6BCR
R/W
H'FF80 2060 H'1F80 2060
32
Bck
CS0 Wait Control Register
CS0WCR
R/W
H'FF80 2008 H'1F80 2008
32
Bck
CS1 Wait Control Register
CS1WCR
R/W
H'FF80 2018 H'1F80 2018
32
Bck
CS2 Wait Control Register
CS2WCR
R/W
H'FF80 2028 H'1F80 2028
32
Bck
CS4 Wait Control Register
CS4WCR
R/W
H'FF80 2048 H'1F80 2048
32
Bck
CS5 Wait Control Register
CS5WCR
R/W
H'FF80 2058 H'1F80 2058
32
Bck
CS6 Wait Control Register
CS6WCR
R/W
H'FF80 2068 H'1F80 2068
32
Bck
CS5 PCMCIA Control Register
CS5PCR
R/W
H'FF80 2070 H'1F80 2070
32
Bck
CS6 PCMCIA Control Register
CS6PCR
R/W
H'FF80 2080 H'1F80 2080
32
Bck
Note: Do not access with except the specified access size.
Rev.1.00 Jan. 10, 2008 Page 362 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.5 Register Configuration (2)
Register Name
Abbrev.
Power-on Reset Manual Reset by Sleep by
Deep Sleep by
by PRESET
WDT/Multiple
SLEEP
SLEEP Command
Pin/WDT/H-UDI Exception
Command (DSLP = 1)
Memory Address Map
Select Register
MMSELR
H'0000 0000
H'0000 0000
Retained
Retained
Bus Control Register
BCR
H'00 0000
Retained
Retained
Retained
CS0 Bus Control Register CS0BCR
H'7777 77F0
Retained
Retained
Retained
CS1 Bus Control Register CS1BCR
H'7777 77F0
Retained
Retained
Retained
CS2 Bus Control Register CS2BCR
H'7777 77F0
Retained
Retained
Retained
CS3 Bus Control Register CS3BCR
H'7777 77F0
Retained
Retained
Retained
CS4 Bus Control Register CS4BCR
H'7777 77F0
Retained
Retained
Retained
CS5 Bus Control Register CS5BCR
H'7777 77F0
Retained
Retained
Retained
CS6 Bus Control Register CS6BCR
H'7777 77F0
Retained
Retained
Retained
CS0 Wait Control
Register
CS0WCR
H'7777 770F
Retained
Retained
Retained
CS1 Wait Control
Register
CS1WCR
H'7777 770F
Retained
Retained
Retained
CS2 Wait Control
Register
CS2WCR
H'7777 770F
Retained
Retained
Retained
CS3 Wait Control
Register
CS3WCR
H'7777 770F
Retained
Retained
Retained
CS4 Wait Control
Register
CS4WCR
H'7777 770F
Retained
Retained
Retained
CS5 Wait Control
Register
CS5WCR
H'7777 770F
Retained
Retained
Retained
CS6 Wait Control
Register
CS6WCR
H'7777 770F
Retained
Retained
Retained
CS5 PCMCIA Control
Register
CS5PCR
H'7700 0000
Retained
Retained
Retained
CS6 PCMCIA Control
Register
CS6PCR
H'7700 0000
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 363 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.4.1
Memory Address Map Select Register (MMSELR)
MMSELR is a 32-bit register that selects memory address maps for areas 2 to 5. This register
should be accessed at the address H'FC40 0020 in longword. To prevent incorrect writing, writing
is accepted only when the upper 16-bit data is H'A5A5. The upper 29 bits are always read as 0.
This register is initialized to H'0000 0000 by a power-on reset or a manual reset.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
2
1
0
Code for writing (H'A5A5)
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Bit
Bit Name
31 to 16 (Code for
writing)
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
All 0
R/W
Code for writing
0
R/W
AREASEL
0
R/W
0
R/W
0
R/W
Set these bits to H'A5A5 (write H'A5A5 to these bits)
when writing to AREASEL (bits 2 to 0) in this register.
These bits are always read as 0.
15 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 364 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
2 to 0
AREASEL
000
R/W
DDR2-SDRAM/PCI Memory Space Select
000: Sets area 3 (H'0C00 0000 to H'0FFF FFFF) as the
DDR2-SDRAM space and the other areas as the
local bus space
001: Sets area 3 (H'0C00 0000 to H'0FFF FFFF) as the
DDR2-SDRAM space, area 4 (H'1000 0000 to
H'13FF FFFF) as the PCI space, and the other
areas as the local bus space
010: Sets areas 2 and 3 (H'0800 0000 to H'0FFF FFFF)
as the DDR2-SDRAM space and the other areas
as the local bus space
011: Sets areas 2 and 3 (H'0800 0000 to H'0FFF FFFF)
as the DDR2-SDRAM space, area 4 (H'1000 0000
to H'13FF FFFF) as the PCI space, and the other
areas as the local bus space
100: Sets areas 2 to 5 (H'0800 0000 to H'17FF FFFF)
as the DDR-SDRAM space
101: Sets areas 2 to 5 (H'0800 0000 to H'17FF FFFF)
as the local bus space
110: Sets area 4 (H'1000 0000 to H'13FF FFFF) as the
PCI space, and the other areas as the local bus
space
111: Setting prohibited
This register should be written by the CPU. Before writing to this register, set that no access will
be generated from the DMAC, GDTA, DU or PCIC and execute the SYNCO instruction
immediately before the MOV instruction to write this register, etc. to prevent remaining
unprocessed access.
Also, execute following instructions immediately after the MOV instruction to write to this
register.
1. MOV instruction to read this register
2. MOV instruction to read this register
3. SYNCO instruction
Rev.1.00 Jan. 10, 2008 Page 365 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Example:
----------------------------------------------------------------------MOV.L
#H'FC400020, R0
;
MOV.L
#MMSELR_DATA, R1
; MMSELR_DATA=Writing value of MMSELR
SYNCO
;
(upper word=H'A5A5)
MOV.L
R1, @R0
; Writing to MMSELR
MOV.L
@R0, R2
MOV.L
@R0, R2
SYNCO
-----------------------------------------------------------------------
The instruction to write to this register should be allocated to the uncacheable area P2 and to the
area that is not affected by writing to this register.
This register should be written before enabling the instruction cache, operand cache, and MMU
address translation and should not be rewritten until after a power-on reset or manual reset is
executed.
Rev.1.00 Jan. 10, 2008 Page 366 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.4.2
Bus Control Register (BCR)
BCR is a 32-bit readable/writable register that specifies the function, bus cycle state, etc for each
area. BCR is initialized to H'0000 0000 in big endian mode and to H'8000 0000 in little endian
mode by a power-on reset, however, not initialized by a manual reset.
31
30
29
28
27
26
25
24
END
IAN
MAS
TER
—
—
—
DPUP
—
OPUP
Initial value:
R/W:
x*
R
x*
R
0
R
0
R
0
R
0
R/W
0
R
0
R/W
BIt:
15
14
13
12
11
10
9
—
HIZ
CNT
—
—
—
—
—
0
R
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Note: *
23
22
21
20
DACKBST[3:0]
19
18
17
16
—
—
BREQ
EN
DMA
BST
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
—
—
0
R/W
0
R/W
0
R/W
ASYNC[6:0]
0
R/W
0
R/W
0
R/W
0
R/W
The initial values of bits 31 and 30 depend on the states of the external pins MODE8 and MODE9, respectively.
Bit
Bit Name
Initial
Value
R/W
Description
31
ENDIAN
x
R
Endian Flag
The value on the external pin (MODE8) that sets the
endian mode is sampled and reflected in this bit at a
power-on reset by the PRESET pin. This bit determines
the endian for all spaces.
0: Indicates that a low level is on the MODE8 pin at a
power-on reset and the LSI has been configured for
big endian.
1: Indicates that a high level is on the MODE8 pin at a
power-on reset and the LSI has been configured for
little endian.
30
MASTER
x
R
Master/Slave Flag
The value on the external pin (MODE9) that sets
master/slave is sampled and reflected in this bit at a
power-on reset by the PRESET pin. This bit specifies
master/slave for all spaces.
0: Indicates that a high level is on the MODE9 and the
LSI has been configured as master.
1: Indicates that a high level is on the MODE9 and the
LSI has been configured as slave.
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
29 to 27 ⎯
Rev.1.00 Jan. 10, 2008 Page 367 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
26
DPUP
0
R/W
25
⎯
0
R
Data Pin Pull-Up Resistor Control
Specifies the pull-up resistor state of the data pins (D63
to D0). This bit is initialized at a power-on reset. The
pins are not pulled up when access is performed or
when the bus is released, even if the pull-up resistor is
on.
0: Some cycles of the pull-up resistors of the data pins
(D63 to D0) are turned on before and after a
memory access.*
1: Pull-up resistors of the data pins (D63 to D0) are off.
Note: * When data pin pull-up is necessary, it is
recommended to connect a pull-up resistor
externally.
Reserved
This bit is always read as 0. The write value should
always be 0.
24
OPUP
0
R/W
Control Output Pin Pull-Up Resistor Control
Specifies the pull-up resistor state (A25 to A0, BS, CSn,
RD, WE, R/W, CE2A, and CE2B) when the control
output pins are high-impedance. This bit is initialized at
a power-on reset.
0: Pull-up resistors for control output pins (A25 to A0,
BS, CSn, RD, WE, R/W, CE2A, and CE2B) are on
1: Pull-up resistors for control output pins (A25 to A0,
BS, CSn, RD, WE, R/W, CE2A, and CE2B) are off
All 0
R/W
DACKBST3 to DACKBST0
0: DACKn signals asserted in synchronization with the
bus cycle (n = 0 to 3)
1: DACKn signals remain asserted from the start to the
end of burst transfer when DMA transfer is performed
in burst mode
These bits can be set to 1 only when the memory type
of the DACK output area in the corresponding DMA
transfer channel is set to PCMCIA interface. In other
cases, these bits should be cleared to 0.
The pins corresponding to each bits are as follows.
DACKBST[3]: DACK3
DACKBST[2]: DACK2
DACKBST[1]: DACK1
DACKBST[0]: DACK0
23 to 20 DACKBST
[3:0]
Rev.1.00 Jan. 10, 2008 Page 368 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
19, 18
⎯
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
17
BREQEN
0
R/W
BREQ Enable
Specifies whether an external request can be accepted
or not. In the initialized state at a power-on reset, an
external request is not accepted. When this LSI is
booted up in slave mode, an external request is
accepted regardless of the BREQEN value.
0: An external request is not accepted
1: An external request is accepted
16
DMABST
0
R/W
DMAC Burst Mode Transfer Priority Setting
Specifies the priority of burst mode transfers by DMA
channels 0 to 5. When this bit is cleared to 0, the
priority is as follows: bus release, DMAC (burst mode),
CPU, DMAC, PCIC. When this bit is set to 1, the bus is
not released until completion of the DMAC burst
transfer. This bit is initialized at a power-on reset.
0: DMAC burst mode transfer priority setting is off
1: DMAC burst mode transfer priority setting is on
15
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
14
HIZCNT
0
R/W
High Impedance (Hi-Z) Control
Specifies the state of signals WEn and RD/FRAME in
the bus-released state.
0: Signals WEn and RD/FRAME are high-impedance in
the bus-released state
1: Signals WEn and RD/FRAME are driven in the busreleased state
13 to 7
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 369 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Initial
Value
Bit
Bit Name
6 to 0
ASYNC[6:0] All 0
R/W
Description
R/W
Asynchronous Input
These bits enable asynchronous inputs of the
corresponding pins.
0: CLKOUT-synchronous inputs to the corresponding
pins
1: CLKOUT-asynchronous inputs to the corresponding
pins
ASYNC[6]: DREQ3
ASYNC[5]: DREQ2
ASYNC[4]: DREQ1
ASYNC[3]: DREQ0
ASYNC[2]: IOIS16
ASYNC[1]: BREQ
ASYNC[0]: RDY
When asynchronous input is set (ASYNCn = 1), the sampling timing is one cycle before the
synchronous input setting (see figure 11.4).
The timing shown in this section, other sections and section 32 Electrical Characteristics is that
with synchronous input setting (ASYNCn = 0). Note that the setup/hold time must be satisfied
when synchronous input is set.
T1
Tw
Tw
Twe
T2
CLKOUT
RDY
(BCR.ASYNC0 = 0)
RDY
(BCR.ASYNC0 = 1)
: Sampling Timing
Figure 11.4 RDY Sampling Timings with ASYNCn Settings
(Two Wait Cycles Inserted by CSnWCR.)
Rev.1.00 Jan. 10, 2008 Page 370 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.4.3
CSn Bus Control Register (CSnBCR)
CSnBCR are 32-bit readable/writable registers that specify the bus width for area n (n = 0 to 6),
idle mode between cycles, burst ROM setting and memory types.
Some types of memory continue to drive the data bus immediately after the read signal is turned
off. Therefore, data buses may collide with each other when different memory areas are accessed
consecutively or memory writing is performed immediately after it is read. This LSI automatically
inserts idle cycles as specified with CSnBCR when the data buses may collide. In the idle cycles,
CSn, RD, WEn, CE2A, CE2B, BS and R/W are set to high, and the data bus is not driven.
CSnBCR is initialized to H'7777 77F0 at a power-on reset, but is not initialized by a manual reset.
BIt:
31
30
⎯
Initial value:
R/W:
0
R
1
R/W
BIt:
15
14
⎯
0
R
Initial value:
R/W:
29
28
27
1
R/W
1
R/W
0
R
13
12
11
IWRRS
1
R/W
1
R/W
26
⎯
IWW
1
R/W
1
R/W
10
9
BST
1
R/W
25
24
23
0
R/W
22
⎯
IWRWD
1
R/W
8
SZ*
0
R
1
R/W
7
6
RDSPL
1
1
1
1
R/W R/W* R/W* R/W
21
20
1
R/W
19
18
⎯
IWRWS
1
R/W
1
R/W
5
4
17
16
IWRRD
0
R
1
R/W
3
2
1
R/W
1
R/W
1
0
BW
MPX*
TYPE
1
R/W
1
0
0
R/W R/W* R/W
0
R/W
0
R/W
Note: * Bits SZ and MPX in CS0BCR are read-only.
Bit
Bit Name
Initial
Value
R/W
31
⎯
0
R
Description
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 371 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
30 to 28 IWW
Initial
Value
R/W
Description
111
R/W
Idle Cycles between Write-Read/Write-Write
These bits specify the number of idle cycles to be
inserted after the access of the memory connected to
the space. The target cycles are write-read and writewrite cycles. For details, see section 11.5.8, Wait
Cycles between Access Cycles.
000: No idle cycle inserted
001: 1 idle cycle inserted
010: 2 idle cycles inserted
011: 3 idle cycles inserted
100: 4 idle cycles inserted
101: 5 idle cycles inserted
110: 6 idle cycles inserted
111: 7 idle cycles inserted
27
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
26 to 24 IWRWD
111
R/W
Idle Cycles between Read-Write in Different Spaces
These bits specify the number of idle cycles to be
inserted after the access of the memory connected to
the space. The target cycles are read-write cycles in
which consecutive accesses are performed to different
spaces. For details, see section 11.5.8, Wait Cycles
between Access Cycles.
000: No idle cycle inserted
001: 1 idle cycle inserted
010: 2 idle cycles inserted
011: 3 idle cycles inserted
100: 4 idle cycles inserted
101: 5 idle cycles inserted
110: 6 idle cycles inserted
111: 7 idle cycles inserted
Rev.1.00 Jan. 10, 2008 Page 372 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
23
⎯
0
R
Description
Reserved
This bit is always read as 0. The write value should
always be 0.
22 to 20 IWRWS
111
R/W
Idle Cycles between Read-Write in Same Space
These bits specify the number of idle cycles to be
inserted after the access to the memory connected to
the space. The target cycles are read-write cycles in
which consecutive accesses are performed to the same
space. For details, see section 11.5.8, Wait Cycles
between Access Cycles.
000: No idle cycle inserted
001: 1 idle cycle inserted
010: 2 idle cycles inserted
011: 3 idle cycles inserted
100: 4 idle cycles inserted
101: 5 idle cycles inserted
110: 6 idle cycles inserted
111: 7 idle cycles inserted
19
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
18 to 16 IWRRD
111
R/W
Idle Cycles between Read-Read in Different Spaces
These bits specify the number of idle cycles to be
inserted after the memory connected to the space is
accessed. The target cycles are read-read cycles in
which consecutive accesses are performed to different
spaces. For details, see section 11.5.8, Wait Cycles
between Access Cycles.
000: No idle cycle inserted
001: 1 idle cycle inserted
010: 2 idle cycles inserted
011: 3 idle cycles inserted
100: 4 idle cycles inserted
101: 5 idle cycles inserted
110: 6 idle cycles inserted
111: 7 idle cycles inserted
Rev.1.00 Jan. 10, 2008 Page 373 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
15
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
14 to 12 IWRRS
111
R/W
Idle Cycles between Read-Read in Same Space
These bits specify the number of idle cycles to be
inserted after the memory connected to the space is
accessed. The target cycles are read-read cycles in
which consecutive accesses are performed to the same
space. For details, see section 11.5.8, Wait Cycles
between Access Cycles.
000: No idle cycle inserted
001: 1 idle cycle inserted
010: 2 idle cycles inserted
011: 3 idle cycles inserted
100: 4 idle cycles inserted
101: 5 idle cycles inserted
110: 6 idle cycles inserted
111: 7 idle cycles inserted
11, 10
BST
01
R/W
Burst Number
These bits specify the number of bursts when the burst
ROM interface is used. The MPX interface is not
affected.
00: 4 consecutive accesses (Can be used with 8-, 16-,
or 32-bit bus width)
01: 8 consecutive accesses (Can be used with 8-, 16-,
or 32-bit bus width)
10: 16 consecutive accesses (Can be used with 8-, or
16-bit bus width)
11: 32 consecutive accesses (Can be used with 8-bit
bus width)
Rev.1.00 Jan. 10, 2008 Page 374 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
9, 8
SZ
11
R/W*
Description
Bus Width
In CS0BCR, the external pins (MODE5 and MODE6) to
specify the bus size are sampled at a power-on reset.
When using the MPX interface, set these bits to 00 or
11. When using the byte control SRAM interface, set
these bits to 00, 10 or 11.
00: 64 bits (can be specified when the MODE 12 and
MODE 11 pins are set to 1 and 0 respectively.)
01: 8 bits
10: 16 bits
11: 32 bits
Note: * The SZ bits in CS0BCR are read-only. When
area 0 is set to the MPX interface by the
MODE7 pin, the SZ bits in CS0BCR should be
set to 00 or 11.
7
RDSPL
1
R/W
RD Hold Cycle
Specifies the number of cycles to be inserted in the
hold time for the read data sample timing of RD. When
setting this bit to 1, specify the number of RD negationCSn negation delay cycles set by the RDH bit in
CSnWCR as 1 or more. Also the RD negation-CSn
negation delay cycle is reduced 1 cycle when this bit is
set to 1 (valid only when the SRAM interface, burst
ROM interface, or byte control SRAM interface is
selected).
0: No hold cycle inserted
1: 1 hold cycle inserted
Rev.1.00 Jan. 10, 2008 Page 375 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
6 to 4
BW
111
R/W
Burst Pitch
When the burst ROM interface is used, these bits
specify the number of wait cycles to be inserted after
the second data access in a burst transfer.
000: No idle cycle inserted, RDY pin disabled
001: 1 idle cycle inserted, RDY pin enabled
010: 2 idle cycles inserted, RDY pin enabled
011: 3 idle cycles inserted, RDY pin enabled
100: 4 idle cycles inserted, RDY pin enabled
101: 5 idle cycles inserted, RDY pin enabled
110: 6 idle cycles inserted, RDY pin enabled
111: 7 idle cycles inserted, RDY pin enabled
3
MPX
0
R/W*
MPX Interface Setting
Selects the type of the MPX interface
0: Memory type set by bits TYPE2 to TYPE0 is selected
1: MPX interface is selected
Note: * The MPX bit in CS0BCR is read-only.
2 to 0
TYPE
000
R/W
Memory Type Setting
These bits specify the type of memory connected to the
space.
000: SRAM (Initial value)
001: SRAM with byte-control*1
010: Burst ROM (burst at read/SRAM at write)
011: Reserved (Setting prohibited)
2
100: PCMCIA *
101: Reserved (Setting prohibited)
110: Reserved (Setting prohibited)
111: Reserved (Setting prohibited)
Notes: 1. Setting enabled only in CS1BCR and
CS4BCR
2. Setting enabled only in CS5BCR and
CS6BCR
Rev.1.00 Jan. 10, 2008 Page 376 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.4.4
CSn Wait Control Register (CSnWCR)
CSnWCR (n = 0 to 6) are 32-bit readable/writable registers that specify the number of wait cycles
to be inserted for areas 0 to 6, the number of wait cycles to be inserted preceding the first data in
burst memory access, the address setup time, which is the time from the point at which the output
of address for access is started until assertion of the read/write strobe signal, and the number of
cycles to be inserted as the data hold time from negation of the write strobe signal.
CSnWCR is initialized to H'7777 770F by a power-on reset, but it is not initialized by a manual
reset.
BIt:
31
30
⎯
Initial value:
R/W:
0
R
1
R/W
BIt:
15
14
⎯
0
R
Initial value:
R/W:
29
28
26
1
R/W
0
R
1
R/W
13
12
11
10
1
R/W
⎯
1
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31
⎯
0
R
25
24
1
R/W
1
R/W
9
8
1
R/W
22
1
R/W
0
R
1
R/W
7
6
0
R
21
20
19
17
16
RDH
1
R/W
1
R/W
0
R
1
R/W
1
R/W
1
R/W
5
4
3
2
1
0
BSH
0
R/W
18
⎯
RDS
⎯
WTH
1
R/W
23
⎯
ADH
1
R/W
WTS
1
R/W
27
⎯
ADS
0
R/W
IW[3:0]
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Description
Reserved
This bit is always read as 0. The write value should
always be 0.
30 to 28 ADS
111
R/W
Address Setup Cycle
These bits specify the number of cycles to be inserted
as the address setup time with respect to CSn
assertion. (Only valid when the SRAM interface, byte
control SRAM interface, or burst ROM interface is
selected.)
000: No cycle inserted
001: 1 cycle inserted
010: 2 cycles inserted
011: 3 cycles inserted
100: 4 cycles inserted
101: 5 cycles inserted
110: 6 cycles inserted
111: 7 cycles inserted
Rev.1.00 Jan. 10, 2008 Page 377 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
27
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
26 to 24 ADH
111
R/W
Address Hold Cycle
These bits specify the number of cycles to be inserted
as the address hold time with respect to CSn negation.
(Only valid when the SRAM interface, byte control
SRAM interface, or burst ROM interface is selected.)
000: No cycle inserted
001: 1 cycle inserted
010: 2 cycles inserted
011: 3 cycles inserted
100: 4 cycles inserted
101: 5 cycles inserted
110: 6 cycles inserted
111: 7 cycles inserted
23
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
22 to 20 RDS
111
R/W
RD Setup Cycle (CSn Assertion–RD Assertion Delay
Cycle)
These bits specify the number of cycles to be inserted
as the time from CSn assertion to RD assertion. (Only
valid only when the SRAM interface, byte control SRAM
interface, or burst ROM interface is selected.)
000: No cycle inserted (1 cycle delayed)
001: 1 cycle inserted (2 cycles delayed)
010: 2 cycles inserted (3 cycles delayed)
011: 3 cycles inserted (4 cycles delayed)
100: 4 cycles inserted (5 cycles delayed)
101: 5 cycles inserted (6 cycles delayed)
110: 6 cycles inserted (7 cycles delayed)
111: 7 cycles inserted (8 cycles delayed)
Rev.1.00 Jan. 10, 2008 Page 378 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
19
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
18 to 16 RDH
111
R/W
RD Hold Cycle (RD Negation–CSn Negation Delay
Cycle)
These bits specify the number of cycles to be inserted
as the time from RD negation to CSn negation. (Only
valid when the SRAM interface, byte control SRAM
interface, or burst ROM interface is selected.)
000: No cycle inserted (0 cycle delayed)
001: 1 cycle inserted (1 cycle delayed)
010: 2 cycles inserted (2 cycles delayed)
011: 3 cycles inserted (3 cycles delayed)
100: 4 cycles inserted (4 cycles delayed)
101: 5 cycles inserted (5 cycles delayed)
110: 6 cycles inserted (6 cycles delayed)
111: 7 cycles inserted (7 cycles delayed)
15
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
14 to 12 WTS
111
R/W
WE Setup Cycle (CSn Assertion–WE Assertion Delay
Cycle)
These bits specify the number of cycles to be inserted
as the time from CSn assertion to WE assertion. (Only
valid when the SRAM interface, byte control SRAM
interface, or burst ROM interface is selected.)
000: No cycle inserted (0.5 cycle delayed)
001: 1 cycle inserted (1.5 cycles delayed)
010: 2 cycles inserted (2.5 cycles delayed)
011: 3 cycles inserted (3.5 cycles delayed)
100: 4 cycles inserted (4.5 cycles delayed)
101: 5 cycles inserted (5.5 cycles delayed)
110: 6 cycles inserted (6.5 cycles delayed)
111: 7 cycles inserted (7.5 cycles delayed)
Rev.1.00 Jan. 10, 2008 Page 379 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
11
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
10 to 8
WTH
111
R/W
WE Hold Cycle (WE Negation–CSn Negation Delay
Cycle)
These bits specify the number of cycles to be inserted
as the time from WE negation to CSn negation. (Only
valid when the SRAM interface, byte control SRAM
interface, or burst ROM interface is selected.)
000: No cycle inserted (0.5 cycle delayed)
001: 1 cycle inserted (1.5 cycles delayed)
010: 2 cycles inserted (2.5 cycles delayed)
011: 3 cycles inserted (3.5 cycles delayed)
100: 4 cycles inserted (4.5 cycles delayed)
101: 5 cycles inserted (5.5 cycles delayed)
110: 6 cycles inserted (6.5 cycles delayed)
111: 7 cycles inserted (7.5 cycles delayed)
7
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
6 to 4
BSH
000
R/W
BS Hold Cycle
These bits specify the number of cycles to extend BS
assertion. The extension of the assertion is valid when
the RDS bits in CSnWCR are not set to 000 in reading
and when the WTS bits in CSnWCR are not set to 000
in writing. The total access cycle count is not changed
by setting these bits.
000: BS assertion is 1 cycle
001: BS assertion is 2 cycles
010: Setting prohibited
011: Setting prohibited
100: Setting prohibited
101: Setting prohibited
110: Setting prohibited
111: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 380 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
3 to 0
IW[3:0]
1111
R/W
Insert Wait Cycle
These bits specify the number of wait cycles to be
inserted. The wait cycles are as follows when the
SRAM interface, byte control SRAM interface, burst
ROM interface (first data cycle only), or PCMCIA
interface is selected. Insertion of external wait cycles by
the RDY pin is not possible when "no cycle inserted" is
selected.
0000: No cycle inserted
1000: 8 cycles inserted
0001: 1 cycle inserted
1001: 9 cycles inserted
0010: 2 cycles inserted
1010: 11 cycles inserted
0011: 3 cycles inserted
1011: 13 cycles inserted
0100: 4 cycles inserted
1100: 15 cycles inserted
0101: 5 cycles inserted
1101: 17 cycles inserted
0110: 6 cycles inserted
1110: 21 cycles inserted
0111: 7 cycles inserted
1111: 25 cycles inserted
When MPX interface is selected, the wait cycles are
inserted as follows according to the IW[2:0] setting. The
IW[3] setting is invalid. The external wait cycles can be
inserted by the RDY pin in any settings.
IW[2] specifies wait cycle insertion for the second and
subsequent data:
0: No cycle inserted
1: 1 cycle inserted
IW[1:0] specifies wait cycle insertion for the first data:
00: 1 cycle inserted in reading and no cycle inserted in
writing
01: 1 cycle inserted in reading and 1 cycle inserted in
writing
10: 2 cycles inserted in reading and 2 cycles inserted in
writing
11: 3 cycles inserted in reading and 3 cycles inserted in
writing
Rev.1.00 Jan. 10, 2008 Page 381 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.4.5
CSn PCMCIA Control Register (CSnPCR)
CSnPCR is a 32-bit readable/writable register that specifies the timing for the PCMCIA interface
connected to area n (CSnPCR, n = 5 or 6), the space property, and the assert/negate timing for the
OE and WE signals. Also, areas 5 and 6 in CSnPCR can be set for the first half and second half
individually. The first half of area 5 is allocated from H'1400 0000 to H'15FF FFFF, and the
second half of area 5 is allocated from H'1600 0000 to H'17FF FFFF. The first half of area 6 is
allocated from H'1800 0000 to H'19FF FFFF, and the second half of area 6 is allocated from
H'1A00 0000 to H'1BFF FFFF (these addresses are the local bus address). The pulse widths of OE
and WE assertion for the first half of area 5 and 6 are set by the IW bits in CSnWCR.
CSnPCR is initialized to H'7700 0000 by a power-on reset, but it is not initialized by a manual
reset.
BIt:
31
30
⎯
Initial value:
R/W:
0
R
1
R/W
BIt:
15
14
⎯
0
R
Initial value:
R/W:
29
28
26
1
R/W
0
R
1
R/W
13
12
11
10
0
R/W
⎯
0
R/W
0
R
25
24
SAB
1
R/W
TEDA
0
R/W
27
⎯
SAA
1
R/W
1
R/W
9
8
0
R/W
22
21
PCWA
0
R/W
0
R/W
7
6
⎯
TEDB
0
R/W
23
0
R/W
0
R
20
0
R/W
0
R/W
5
4
0
R/W
18
0
R/W
17
0
R/W
0
R/W
3
2
0
R
0
R/W
0
R/W
1
0
TEHB
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
111
R/W
Space Property A
These bits specify the space property of PCMCIA
connected to the first half of the area.
000: ATA complement mode
001: Dynamic I/O bus sizing
010: 8-bit I/O space
011: 16-bit I/O space
100: 8-bit common memory
101: 16-bit common memory
110: 8-bit attribute memory
111: 16-bit attribute memory
30 to 28 SAA
Rev.1.00 Jan. 10, 2008 Page 382 of 1658
REJ09B0261-0100
16
PCIW
⎯
TEHA
0
R/W
19
PCWB
0
R/W
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
27
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
26 to 24 SAB
111
R/W
Space Property B
These bits specify the space property of PCMCIA
connected to the second half of the area.
000: ATA complement mode
001: Dynamic I/O bus sizing
010: 8-bit I/O space
011: 16-bit I/O space
100: 8-bit common memory
101: 16-bit common memory
110: 8-bit attribute memory
111: 16-bit attribute memory
23, 22
PCWA
00
R/W
PCMCIA Wait A
These bits specify the number of wait cycles for lowspeed PCMCIA, which is added to the number set by
the IW bits in CSnWCR.
The bit settings are selected when the access area of
PCMCIA interface is the first half.
00: No wait cycle inserted
01: 15 wait cycles inserted
10: 30 wait cycles inserted
11: 50 wait cycles inserted
21, 20
PCWB
00
R/W
PCMCIA Wait B
These bits specify the number of wait cycles for lowspeed PCMCIA, which is added to the number set by
the PCIW bits.
The bit settings are selected when the access area of
PCMCIA interface is the second half.
00: No wait cycle inserted
01: 15 wait cycles inserted
10: 30 wait cycles inserted
11: 50 wait cycles inserted
Rev.1.00 Jan. 10, 2008 Page 383 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
19 to 16 PCIW
Initial
Value
R/W
Description
0000
R/W
PCMCIA Insert Wait Cycle B
These bits specify the number of wait cycles to be
inserted. The bit settings are selected when the access
area of PCMCIA interface is the second half. When the
access area of PCMCIA interface is the first half, the
number of wait cycles set by the IW bit in CSnWCR is
selected.
0000: No cycle inserted
0001: 1 cycle inserted
0010: 2 cycles inserted
0011: 3 cycles inserted
0100: 4 cycles inserted
0101: 5 cycles inserted
0110: 6 cycles inserted
0111: 7 cycles inserted
1000: 8 cycles inserted
1001: 9 cycles inserted
1010: 11 cycles inserted
1011: 13 cycles inserted
1100: 15 cycles inserted
1101: 17 cycles inserted
1110: 21 cycles inserted
1111: 25 cycles inserted
15
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 384 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
14 to 12 TEDA
Initial
Value
R/W
Description
000
R/W
OE/WE Assert Delay A
These bits set the delay time from address output to
OE/WE assertion when the first half area is accessed
with the connected PCMCIA interface.
000: No wait cycle inserted
001: 1 wait cycle inserted
010: 2 wait cycles inserted
011: 3 wait cycles inserted
100: 6 wait cycles inserted
101: 9 wait cycles inserted
110: 12 wait cycles inserted
111: 15 wait cycles inserted
11
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
10 to 8
TEDB
000
R/W
OE/WE Assert Delay B
These bits set the delay time from address output to
OE/WE assertion when the second half area is
accessed with the connected PCMCIA interface.
000: No wait cycle inserted
001: 1 wait cycle inserted
010: 2 wait cycles inserted
011: 3 wait cycles inserted
100: 6 wait cycles inserted
101: 9 wait cycles inserted
110: 12 wait cycles inserted
111: 15 wait cycles inserted
7
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 385 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Bit
Bit Name
Initial
Value
R/W
Description
6 to 4
TEHA
000
R/W
OE/WE Negation-Address Delay A
These bits set the delay time from OE/WE negation to
address hold when the first half area is accessed with
the connected PCMCIA interface.
000: No wait cycle inserted
001: 1 wait cycle inserted
010: 2 wait cycles inserted
011: 3 wait cycles inserted
100: 6 wait cycles inserted
101: 9 wait cycles inserted
110: 12 wait cycles inserted
111: 15 wait cycles inserted
3
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
2 to 0
TEHB
000
R/W
OE/WE Negation-Address Delay B
These bits set the delay time from OE/WE negation to
address hold when the second half area is accessed
with the connected PCMCIA interface.
000: No wait cycle inserted
001: 1 wait cycle inserted
010: 2 wait cycles inserted
011: 3 wait cycles inserted
100: 6 wait cycles inserted
101: 9 wait cycles inserted
110: 12 wait cycles inserted
111: 15 wait cycles inserted
Rev.1.00 Jan. 10, 2008 Page 386 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5
Operation
11.5.1
Endian/Access Size and Data Alignment
This LSI supports both big and little endian modes. In big endian mode, the most significant byte
(MSByte) in a string of byte data is stored at address 0, and in little endian mode, the least
significant byte (LSByte) in a string of byte data is stored at address 0. The mode is specified by
the external pin (MODE8 pin) at a power-on reset by the PRESET pin. At a power-on reset by the
PRESET pin, big endian mode is specified when the MODE8 pin is low, and little endian mode is
specified when the MODE8 pin is high.
The data bus width can be selected from 8, 16 and 32 bits for the normal memory interface. For
the PCMCIA interface, a data bus width of 8 or 16 bits can be selected. Data is aligned according
to the data bus width and endian mode of each device. Therefore, when the data bus width is
smaller than the access size, multiple bus cycles are automatically generated to reach the access
size. In this case, access is performed by incrementing the addresses corresponding to the bus
width. For example, when a longword access is performed in the area with an 8-bit width with the
SRAM interface, each address is incremented by one, and accesses are performed four times. In
the 32-byte transfer, a total of 32-byte data is continuously transferred according to the specified
bus width. The first access is performed on the data for which there was an access request, and the
remaining accesses are performed on the subsequent data up to the nearest 32-byte boundary in a
wraparound manner. The bus is not released during these transfers. This LSI automatically aligns
data and changes the data length between interfaces.
In an 8- or 16-byte transfer, the LBSC executes the 4-byte accesses twice and four times
respectively.
Tables 11.6 to 11.15 show the relationship between the device data width, endian mode and access
size.
Data structure
MSB
LSB
Data 7 to 0
Byte
MSB
LSB
Data 15 to 8
Word
LSB
Data 7 to 0
MSB
Longword
LSB
Data 31 to 24
Data 23 to 16
Data 15 to 8
Data 7 to 0
Rev.1.00 Jan. 10, 2008 Page 387 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.6 64-Bit External Device/Big Endian Access and Data Alignment (1)
Operation
Data Bus
Access
D63 to
D55 to
D47 to
D39 to
D31 to
D23 to
Size
Address No.
D56
D48
D40
D32
D24
D16
D15 to D8 D7 to D0
Byte
8n
1
Data 7 to 0 ⎯
⎯
⎯
⎯
⎯
⎯
⎯
8n + 1
1
⎯
Data 7 to 0 ⎯
⎯
⎯
⎯
⎯
⎯
8n + 2
1
⎯
⎯
Data 7 to 0 ⎯
⎯
⎯
⎯
⎯
8n + 3
1
⎯
⎯
⎯
Data 7 to 0 ⎯
⎯
⎯
⎯
8n + 4
1
⎯
⎯
⎯
⎯
Data 7 to 0 ⎯
⎯
⎯
8n + 5
1
⎯
⎯
⎯
⎯
⎯
Data 7 to 0 ⎯
⎯
8n + 6
1
⎯
⎯
⎯
⎯
⎯
⎯
Data 7 to 0 ⎯
8n + 7
1
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Data 7 to 0
8n
1
⎯
⎯
⎯
⎯
⎯
⎯
Data
Data
⎯
⎯
⎯
⎯
15 to 8
7 to 0
⎯
⎯
Data
Data
⎯
⎯
15 to 8
7 to 0
⎯
⎯
Data
Data
15 to 8
7 to 0
Word
8n + 2
8n + 4
8n + 6
Longword 8n
8n + 4
32 Bytes* 8n
8n + 8
8n + 16
8n + 24
Note:
*
1
1
1
1
1
1
2
3
4
Data
Data
15 to 8
7 to 0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Data
Data
Data
Data
31 to 24
23 to 16
15 to 8
7 to 0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Data
Data
Data
Data
31 to 24
23 to 16
15 to 8
7 to 0
Data
Data
Data
Data
Data
Data
Data
Data
63 to 56
55 to 48
47 to 40
39 to 32
31 to 24
23 to 16
15 to 8
7 to 0
Data 127
Data 119
Data 111
Data 103
Data 95 to Data 87 to Data 79 to Data 71 to
to 120
to 112
to 104
to 96
88
80
72
64
Data 191
Data 183
Data 175
Data 167
Data 159
Data 151
Data 143
Data 135
to 184
to 176
to 168
to 160
to 152
to 144
to 136
to 128
Data 255
Data 247
Data 239
Data 231
Data 223
Data 215
Data 207
Data 199
to 248
to 240
to 232
to 224
to 216
to 208
to 200
to 192
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 388 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.7 64-Bit External Device/Big Endian Access and Data Alignment (2)
Operation
Strobe Signal
Access
Size
Address
No. WE7
Byte
8n
1
Asserted ⎯
8n + 1
1
8n + 2
Word
Longword
32 Bytes*
Note:
*
WE6
WE5
WE4
WE3
WE2
WE1
WE0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Asserted ⎯
⎯
⎯
⎯
⎯
⎯
1
⎯
⎯
Asserted ⎯
⎯
⎯
⎯
⎯
8n + 3
1
⎯
⎯
⎯
Asserted ⎯
⎯
⎯
⎯
8n + 4
1
⎯
⎯
⎯
⎯
Asserted ⎯
⎯
⎯
8n + 5
1
⎯
⎯
⎯
⎯
⎯
Asserted ⎯
⎯
8n + 6
1
⎯
⎯
⎯
⎯
⎯
⎯
Asserted ⎯
8n + 7
1
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Asserted
8n
1
Asserted Asserted ⎯
⎯
⎯
⎯
⎯
⎯
8n + 2
1
⎯
⎯
Asserted Asserted ⎯
⎯
⎯
⎯
8n + 4
1
⎯
⎯
⎯
⎯
Asserted Asserted ⎯
⎯
8n + 6
1
⎯
⎯
⎯
⎯
⎯
⎯
Asserted Asserted
8n
1
Asserted Asserted Asserted Asserted ⎯
⎯
⎯
8n + 4
1
⎯
⎯
⎯
⎯
⎯
Asserted Asserted Asserted Asserted
8n
1
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
8n + 8
2
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
8n + 16
3
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
8n + 24
4
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 389 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.8 32-Bit External Device/Big-Endian Access and Data Alignment
Operation
Data Bus
Strobe Signals
Access
Size
Address
D31 to
No. D24
D23 to
D16
D15 to
D8
D7 to
D0
WE3
Byte
4n
1
Data
7 to 0
⎯
⎯
⎯
Asserted
4n + 1
1
⎯
Data
7 to 0
⎯
⎯
4n + 2
1
⎯
⎯
Data
7 to 0
⎯
4n + 3
1
⎯
⎯
⎯
Data
7 to 0
4n
1
Data
15 to 8
Data
7 to 0
⎯
⎯
4n + 2
1
⎯
⎯
Data
15 to 8
Data
7 to 0
Asserted Asserted
Longword
4n
1
Data
Data
Data
31 to 24 23 to 16 15 to 8
Data
7 to 0
Asserted Asserted Asserted Asserted
32 Bytes*
8n
1
Data
Data
Data
31 to 24 23 to 16 15 to 8
Data
7 to 0
Asserted Asserted Asserted Asserted
8n + 4
2
Data
Data
Data
Data
Asserted Asserted Asserted Asserted
63 to 56 55 to 48 47 to 40 39 to 32
8n + 8
3
Data
Data
Data
Data
Asserted Asserted Asserted Asserted
95 to 88 87 to 80 79 to 72 71 to 64
Word
Note:
*
WE2
WE1
WE0
Asserted
Asserted
Asserted
Asserted Asserted
…
…
…
…
…
…
…
8n + 28
8
Data
255 to
248
Data
247 to
240
Data
239 to
232
Data
231 to
224
Asserted Asserted Asserted Asserted
…
…
…
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 390 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.9 16-Bit External Device/Big-Endian Access and Data Alignment
Operation
Data Bus
Access
Size
Address
D31 to
No. D24
Byte
2n
1
2n + 1
Word
Longword
32 Bytes
Note:
*
Strobe Signals
D23 to
D16
D15 to
D8
D7 to
D0
⎯
⎯
Data
7 to 0
⎯
1
⎯
⎯
⎯
Data
7 to 0
Asserted
2n
1
⎯
⎯
Data
15 to 8
Data
7 to 0
Asserted Asserted
4n
1
⎯
⎯
Data
Data
31 to 24 23 to 16
Asserted Asserted
4n + 2
2
⎯
⎯
Data
15 to 8
Data
7 to 0
Asserted Asserted
8n
1
⎯
⎯
Data
15 to 8
Data
7 to 0
Asserted Asserted
8n + 2
2
⎯
⎯
Data
Data
31 to 24 23 to 16
Asserted Asserted
8n + 4
3
⎯
⎯
Data
Data
47 to 40 39 to 32
Asserted Asserted
…
…
…
…
…
…
8n + 30
16
⎯
⎯
Data
255 to
248
Data
247 to
240
WE3
WE2
WE1
WE0
Asserted
…
…
…
…
Asserted Asserted
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 391 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.10 8-Bit External Device/Big-Endian Access and Data Alignment
Operation
Data Bus
Strobe Signals
Access
Size
Address
No.
D31 to
D24
D23 to
D16
D15 to
D8
D7 to
D0
Byte
n
1
⎯
⎯
⎯
Data
7 to 0
Asserted
Word
2n
1
⎯
⎯
⎯
Data
15 to 8
Asserted
2n + 1
2
⎯
⎯
⎯
Data
7 to 0
Asserted
4n
1
⎯
⎯
Data
31 to 24
Asserted
4n + 1
2
⎯
⎯
⎯
Data
23 to 16
Asserted
4n + 2
3
⎯
⎯
⎯
Data
15 to 8
Asserted
4n + 3
4
⎯
⎯
⎯
Data
7 to 0
Asserted
8n
1
⎯
⎯
⎯
Data 7
to 0
Asserted
8n + 1
2
⎯
⎯
⎯
Data 15
to 8
Asserted
8n + 2
3
⎯
⎯
⎯
Data 23
to 16
Asserted
…
…
…
…
…
…
8n + 31
32
⎯
⎯
⎯
Data
255 to
248
Longword
32 Bytes*
Note:
*
WE3
…
WE2
…
WE1
…
WE0
…
Asserted
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 392 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.11 64-Bit External Device/Little Endian Access and Data Alignment (1)
Operation
Data Bus
Access
D63 to
D55 to
D47 to
D39 to
D31 to
D23 to
Size
Address No.
D56
D48
D40
D32
D24
D16
D15 to D8 D7 to D0
Byte
8n
1
⎯
⎯
⎯
⎯
⎯
⎯
⎯
8n + 1
1
⎯
⎯
⎯
⎯
⎯
⎯
Data 7 to 0 ⎯
8n + 2
1
⎯
⎯
⎯
⎯
⎯
Data 7 to 0 ⎯
8n + 3
1
⎯
⎯
⎯
⎯
Data 7 to 0 ⎯
8n + 4
1
⎯
⎯
⎯
Data 7 to 0 ⎯
8n + 5
1
⎯
⎯
Data 7 to 0 ⎯
Data 7 to 0 ⎯
Word
⎯
Data 7 to 0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
8n + 6
1
⎯
⎯
⎯
⎯
⎯
⎯
8n + 7
1
Data 7 to 0 ⎯
⎯
⎯
⎯
⎯
⎯
⎯
8n
1
⎯
⎯
⎯
⎯
⎯
Data 15 to Data 7 to 0
⎯
8
8n + 2
1
⎯
⎯
⎯
⎯
Data 15 to Data 7 to 0 ⎯
⎯
8
8n + 4
1
⎯
⎯
Data 15 to Data 7 to 0 ⎯
⎯
⎯
⎯
⎯
⎯
⎯
8
8n + 6
1
Data 15 to Data 7 to 0 ⎯
⎯
⎯
⎯
Data 31 to Data 23 to Data 15 to Data 7 to 0
8
Longword 8n
8n + 4
1
⎯
24
16
8
1
Data 31 to Data 23 to Data 15 to Data 7 to 0 ⎯
⎯
⎯
24
32 Bytes* 8n
1
8n + 8
8n + 16
8n + 24
Note:
*
2
3
4
⎯
16
⎯
⎯
8
Data 63 to Data 55 to Data 47 to Data 39 to Data 31 to Data 23 to Data 15 to Data 7 to 0
56
48
40
32
24
16
8
Data 127
Data 119
Data 111
Data 103
Data 95 to Data 87 to Data 79 to Data 71 to
to 120
to 112
to 104
to 96
88
80
72
64
Data 191
Data 183
Data 175
Data 167
Data 159
Data 151
Data 143
Data 135
to 184
to 176
to 168
to 160
to 152
to 144
to 136
to 128
Data 255
Data 247
Data 239
Data 231
Data 223
Data 215
Data 207
Data 199
to 248
to 240
to 232
to 224
to 216
to 208
to 200
to 192
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 393 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.12 64-Bit External Device/Little Endian Access and Data Alignment (2)
Operation
Strobe Signal
Access
Size
Address No. WE7
Byte
8n
1
8n + 1
Word
WE6
WE5
WE4
WE3
WE2
WE1
WE0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Asserted
1
⎯
⎯
⎯
⎯
⎯
⎯
Asserted ⎯
8n + 2
1
⎯
⎯
⎯
⎯
⎯
Asserted ⎯
8n + 3
1
⎯
⎯
⎯
⎯
Asserted ⎯
8n + 4
1
⎯
⎯
⎯
Asserted ⎯
8n + 5
1
⎯
⎯
Asserted ⎯
Asserted ⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
8n + 6
1
⎯
⎯
⎯
⎯
⎯
⎯
1
Asserted ⎯
⎯
⎯
⎯
⎯
⎯
⎯
8n
1
⎯
⎯
⎯
⎯
⎯
⎯
Asserted Asserted
8n + 2
1
⎯
⎯
⎯
⎯
Asserted Asserted ⎯
8n + 4
1
⎯
⎯
Asserted Asserted ⎯
8n + 6
1
Asserted Asserted ⎯
⎯
⎯
1
⎯
⎯
Asserted Asserted Asserted Asserted
1
Asserted Asserted Asserted Asserted ⎯
8n + 4
32 Bytes* 8n
*
⎯
8n + 7
Longword 8n
Note:
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
1
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
8n + 8
2
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
8n + 16
3
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
8n + 24
4
Asserted Asserted Asserted Asserted Asserted Asserted Asserted Asserted
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 394 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.13 32-Bit External Device/Little-Endian Access and Data Alignment
Operation
Data Bus
Strobe Signals
Access
Size
Address
No.
D31 to
D24
D23 to
D16
D15 to
D8
D7 to
D0
Byte
4n
1
⎯
⎯
⎯
Data
7 to 0
4n + 1
1
⎯
⎯
Data
7 to 0
⎯
4n + 2
1
⎯
Data
7 to 0
⎯
⎯
4n + 3
1
Data
7 to 0
⎯
⎯
⎯
4n
1
⎯
⎯
Data
15 to 8
Data
7 to 0
4n + 2
1
Data
15 to 8
Data
7 to 0
⎯
⎯
Asserted Asserted
Longword
4n
1
Data
Data
Data
31 to 24 23 to 16 15 to 8
Data
7 to 0
Asserted Asserted Asserted Asserted
32 Bytes*
8n
1
Data 31
to 24
Data 23
to 16
Data 15
to 8
Data 7
to 0
Asserted Asserted Asserted Asserted
8n + 4
2
Data 63
to 56
Data 55
to 48
Data 47
to 40
Data 39
to 32
Asserted Asserted Asserted Asserted
8n + 8
3
Data 95
to 88
Data 87
to 80
Data 79
to 72
Data 71
to 64
Asserted Asserted Asserted Asserted
Word
Note:
*
WE3
WE2
WE1
WE0
Asserted
Asserted
Asserted
Asserted
Asserted Asserted
…
…
…
…
…
…
…
8n + 28
8
Data
255 to
248
Data
247 to
240
Data
239 to
232
Data
231 to
224
Asserted Asserted Asserted Asserted
…
…
…
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 395 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.14 16-Bit External Device/Little-Endian Access and Data Alignment
Operation
Data Bus
Strobe Signals
Access
Size
Address
No.
D31 to
D24
D23 to
D16
D15 to
D8
D7 to
D0
Byte
2n
1
⎯
⎯
⎯
Data
7 to 0
2n + 1
1
⎯
⎯
Data
7 to 0
⎯
Asserted
Word
2n
1
⎯
⎯
Data
15 to 8
Data
7 to 0
Asserted Asserted
Longword
4n
1
⎯
⎯
Data
15 to 8
Data
7 to 0
Asserted Asserted
4n + 2
2
⎯
⎯
Data
Data
31 to 24 23 to 16
Asserted Asserted
8n
1
⎯
⎯
Data 15
to 8
Data 7
to 0
Asserted Asserted
8n + 2
2
⎯
⎯
Data 31
to 24
Data 23
to 16
Asserted Asserted
8n + 4
3
⎯
⎯
Data 47
to 40
Data 39
to 32
Asserted Asserted
…
…
…
…
…
…
8n + 30
16
⎯
⎯
Data
255 to
248
Data
247 to
240
32 Bytes*
Note:
*
WE3
WE2
WE1
WE0
Asserted
…
…
…
…
Asserted Asserted
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 396 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.15 8-Bit External Device/Little-Endian Access and Data Alignment
Operation
Data Bus
Strobe Signals
Access
Size
Address
No.
D31 to
D24
D23 to
D16
D15 to
D8
D7 to
D0
Byte
n
1
⎯
⎯
⎯
Data
7 to 0
Asserted
Word
2n
1
⎯
⎯
⎯
Data
7 to 0
Asserted
2n + 1
2
⎯
⎯
⎯
Data
15 to 8
Asserted
4n
1
⎯
⎯
⎯
Data
7 to 0
Asserted
4n + 1
2
⎯
⎯
⎯
Data
15 to 8
Asserted
4n + 2
3
⎯
⎯
⎯
Data
23 to 16
Asserted
4n + 3
4
⎯
⎯
⎯
Data
31 to 24
Asserted
8n
1
⎯
⎯
⎯
Data 7
to 0
Asserted
8n + 1
2
⎯
⎯
⎯
Data 15
to 8
Asserted
8n + 2
3
⎯
⎯
⎯
Data 23
to 16
Asserted
…
…
…
…
…
8n + 31
32
Longword
32 Bytes*
Note:
*
…
Data
255 to
248
WE3
…
WE2
…
WE1
…
WE0
…
Asserted
This table shows an example when the access start address is on the 32-byte
boundary. When the start address is not on the 32-byte boundary, accesses are
performed up to immediately before the 32-byte boundary and the address is wrapped
around to the previous 32-byte boundary.
Rev.1.00 Jan. 10, 2008 Page 397 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.2
(1)
Areas
Area 0
Area 0 is an area where bits 28 to 26 in the local bus address are 000.
The interface that can be set for this area is the SRAM, burst ROM or MPX interface.
A bus width of 8, 16, 32, or 64 bits is selectable by external pins MODE6 and MODE5 at a poweron reset. For details, see section 11.3.2, Memory Bus Width.
When area 0 is accessed, the CS0 signal is asserted. In addition, the RD signal, which can be used
as OE, and write control signals WE0 to WE7 are asserted.
For the number of bus cycles, 0 to 25 wait cycles to be inserted can be selected with CS0WCR.
When the burst ROM interface is used, the number of a burst pitch is selectable in the range from
0 to 7 with the BW bits in CS0BCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when the number of inserted cycles is set to 0, the RDY signal is ignored.)
When the burst ROM interface is used, the number of transfer cycles for a burst cycle is selected
in the range from 2 to 9 according to the number of wait cycles.
The setup/hold cycle of the address, the assert delay cycle of the read/write strobe signals for CS0
assertion and the CS0 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS0WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS0WCR are not 000 in reading and the WTS bits in CS0WCR are not 000 in writing.
(2)
Area 1
Area 1 is an area where bits 28 to 26 in the local bus address are 001.
The interface that can be set for this area is the SRAM, burst ROM, MPX and byte-control SRAM
interface.
The bus width can be selected from 8, 16, 32 and 64 bits by bits SZ in CS1BCR. When the MPX
interface is used, the bus width should be set to 32 or 64 bits with bits SZ in CS1BCR. When the
byte control SRAM interface is used, the bus width should be set to 16 or 32 bits.
When area 1 is accessed, the CS1 signal is asserted. The RD signal, that can be used as OE, and
write control signals WE0 to WE7 are also asserted.
Rev.1.00 Jan. 10, 2008 Page 398 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
For the number of bus cycles, 0 to 25 wait cycles to be inserted can be selected by CS1WCR.
When the burst ROM interface is used, the number of a burst pitch is selectable in the range from
0 to 7 with the BW bits in CS1BCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when no cycles are inserted, the RDY signal is ignored.)
The setup/hold time of the address, the assert delay cycle of the read/write strobe signals for CS1
assertion and the CS1 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS1WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS1WCR are not 000 in reading and the WTS bits in CS1WCR are not 000 in writing.
(3)
Area 2
Area 2 is an area where bits 28 to 26 in the local bus address are 010.
The interface that can be set for this area is the SRAM, MPX, or burst ROM interface.
When the SRAM interface is used, a bus width of 8, 16, 32, 64 bits is selectable by bits SZ in
CS2BCR. When the MPX interface is used, a bus width of 32 or 64 bits should be selected by bits
SZ in CS2BCR.
When area 2 is accessed, the CS2 signal is asserted.
In the case where the SRAM interface is set, the RD signal, which can be used as OE, and write
control signals WE0 to WE7 are asserted.
For the number of bus cycles, 0 to 25 wait cycles inserted can be selected by CS2WCR.
When the burst ROM interface is used, the number of a burst pitch is selectable in the range from
0 to 7 with the BW bits in CS2WCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when no cycles are inserted, the RDY signal is ignored.)
The setup/hold time of the address, the assert delay cycle of the read/write strobe signals for CS2
assertion and the CS2 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS2WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS2WCR are not 000 in reading and the WTS bits in CS2WCR are not 000 in writing.
Rev.1.00 Jan. 10, 2008 Page 399 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
(4)
Area 3
Area 3 is an area where bits 28 to 26 in the local bus address are 011.
The interface that can be set for this area is the SRAM, MPX, or burst ROM interface.
A bus width of 8, 16, 32, or 64 bits is selectable by bits SZ in CS3BCR. When the MPX interface
is used, a bus width of 32 or 64 bits should be selected by the SZ bits in CS3BCR.
When area 3 is accessed, the CS3 signal is asserted. When the SRAM interface is set, the RD
signal, which can be used as OE, and write control signals WE0 to WE7 are asserted.
For the number of bus cycles, 0 to 25 wait cycles inserted can be selected by CS3WCR.
When the burst ROM interface is used, the number of a burst pitch is selectable in the range from
0 to 7 with the BW bits in CS3BCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when no cycles are inserted, the RDY signal is ignored.)
The setup/hold time of the address, the assert delay cycle of the read/write strobe signals for CS3
assertion and the CS3 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS3WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS3WCR are not 000 in reading and the WTS bits in CS3WCR are not 000 in writing.
(5)
Area 4
Area 4 is an area where bits 28 to 26 in the local bus address are 100.
The interface that can be set for this area is the SRAM, MPX, byte control RAM, and burst ROM
interface.
A bus width of 8, 16, 32, or 64 bits is selectable by bits SZ in CS4BCR. When the MPX interface
is used, a bus width of 32 bits should be selected through bits SZ in CS4BCR. When the byte
control SRAM interface is used, select a bus width of 16, 32, or 64 bits. For details, see section
11.3.2, Memory Bus Width.
When area 4 is accessed, the CS4 signal is asserted.
When the SRAM interface is set, the RD signal, which can be used as OE, and write control
signals WE0 to WE7 are asserted. For details, see section 11.5.8, Wait Cycles between Access
Cycles.
Rev.1.00 Jan. 10, 2008 Page 400 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
For the number of bus cycles, 0 to 25 wait cycles inserted can be selected by CS4WCR.
When the burst ROM interface is used, the number of a burst pitch is selectable in the range from
0 to 7 with the BW bits in CS4BCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when no cycles are inserted, the RDY signal is ignored.)
The setup/hold time of the address, the assert delay cycle of the read/write strobe signals for CS4
assertion and the CS4 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS4WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS4WCR are not 000 in reading and the WTS bits in CS4WCR are not 000 in writing.
(6)
Area 5
Area 5 is an area where bits 28 to 26 in the local bus address are 101.
When the SRAM or burst ROM interface is used, a bus width of 8, 16, 32, or 64 bits is selectable
by bits SZ in CS5BCR. When the MPX interface is used, a bus width of 32 bits should be selected
by bits SZ in CS5BCR. When the PCMCIA interface is used, select a bus width of 8 or 16 bits
with SZ in CS5BCR. For details, see section 11.3.2, Memory Bus Width.
While the SRAM interface is used, the CS5 signal is asserted when area 5 is accessed. The RD
signal, which can be used as OE, and write control signals WE0 to WE7 are also asserted. While
the PCMCIA interface is used, the CE1A and CE2A signals, the RD signal, (which can be used as
OE), the WE0, WE1, WE2, and WE3 signals, (which can be used as, REG, WE, IORD, and
IOWR, respectively) are asserted.
For the number of bus cycles, 0 to 25 wait cycles inserted by CS5WCR can be selected.
When the burst ROM interface is used, the number of a burst pitch is selectable the range from 0
to 7 with the BW bits in CS5BCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when no cycles are inserted, the RDY signal is ignored.)
The setup/hold time of the address, the assert delay cycle of the read/write strobe signals for CS5
assertion and the CS5 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS5WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS5WCR are not 000 in reading and the WTS bits in CS5WCR are not 000 in writing.
For the PCMCIA interface, the setup/hold time of the address, CE1A and CE2A to the read/write
strobe signal can be specified in the range from 0 to 15 cycles by bits TEDA/B and TEHA/B in
Rev.1.00 Jan. 10, 2008 Page 401 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
CS5PCR. In addition, the number of wait cycles can be specified in the range from 0 to 50 cycles
by the PCWA/B bit. The number of wait cycles specified by CS5PCR is added to the value
specified by bits IW3 to IW0 in CS5WCR or bits PCIW3 to PCIW0 in CS5PCR.
(7)
Area 6
Area 6 is an area where bits 28 to 26 in the local bus address are 110.
The interface is that can be set for this area is the SRAM, MPX, burst ROM, and PCMCIA
interface.
When the SRAM interface is used, a bus width of 8, 16, 32, or 64 bits is selectable by bits SZ in
CS6BCR. When the MPX interface is used, a bus width of 32 bits should be selected by bits SZ in
CS6BCR. When the PCMCIA interface is used, select a bus width of 8 or 16 bits with SZ in
CS6BCR. For details, see section 11.3.2, Memory Bus Width.
When the SRAM interface is used, the CS6 signal is asserted when area 6 is accessed. The RD
signal, which can be used as OE, and write control signals WE0 to WE7 are also asserted. When
the PCMCIA interface is used, the CE1B and CE2B signals, the RD signal (which can be used as
OE), and the WE0, WE1, WE2, and WE3 signals which can be used as REG, WE, IORD, and
IOWR, respectively are asserted.
For the number of bus cycles, 0 to 25 wait cycles inserted by CS6WCR can be selected.
When the burst ROM interface is used, the number of a burst pitch is selectable in the range from
0 to 7 with the BW bits in CS6BCR.
Any number of wait cycles can be inserted in each bus cycle through the external wait pin (RDY).
(when no cycles are inserted, the RDY signal is ignored.)
The setup/hold time of the address, the assert delay cycle of the read/write strobe signals for CS6
assertion and the CS6 negate delay cycle for the read/write strobe signals negation can be set in
the range from 0 to 7 cycles by CS6WCR. The BS hold cycles can be set to 1 or 2 when the RDS
bits in CS6WCR are not 000 in reading and the WTS bits in CS6WCR are not 000 in writing.
For the PCMCIA interface, the setup/hold time of the address, CE1B and CE2B to the read/write
strobe signal can be specified within a range from 0 to 15 cycles by bits TEDA/B and TEHA/B in
CS6PCR. In addition, the number of wait cycles can be specified in the range from 0 to 50 cycles
by the PCWA/B bit. The number of wait cycles specified by CS6PCR is added to the value
specified by bits IW3 to IW0 in CS6WCR or bits PCIW3 to PCIW0 in CS6PCR.
Rev.1.00 Jan. 10, 2008 Page 402 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.3
(1)
SRAM interface
Basic Timing
The strobe signals for the SRAM interface in this LSI are output primarily based on the SRAM
connection. Figure 11.5 shows the basic timing of the SRAM interface. Normal access without
wait cycles is completed in two cycles. The BS signal is asserted for one or two cycles to indicate
the start of a bus cycle. The CSn signal is asserted at the rising edge of the clock in the T1 state,
and negated at the next rising edge of the clock in the T2 state. Therefore, there is no negation
period in accesses at minimum pitch.
In reading, an access size is not specified. The output of an access address on the address pins
(A25 to A0) is correct, however, since the access size is not specified, 32-bit data is always output
when a 32-bit device is in use, and 16-bit data is output when a 16-bit device is in use. During
writing, only the WE signal corresponding to the byte to be written is asserted. For details, see
section 11.5.1, Endian/Access Size and Data Alignment.
In 32-byte transfer, a total of 32 bytes are transferred continuously according to the bus width set.
The first access is performed on the data for which an access request is issued, and the remaining
accesses are performed in wraparound method according to the set bus width. The bus is not
released during this transfer.
Rev.1.00 Jan. 10, 2008 Page 403 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
T2
CLKOUT
A25 to A0
CSn
R/W
RD
D31 to D0
(In reading)
WEn
D31 to D0
(In writing)
BS
RDY
DACKn
In this example, DACKn is high-active.
Figure 11.5 Basic Timing of SRAM Interface
Rev.1.00 Jan. 10, 2008 Page 404 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Figures 11.6 to 11.8 show examples of connections to SRAM with 32-, 16- and 8-bit data width,
respectively.
128K × 8 bits
SRAM
••••
A16
A0
CS
OE
I/O7
••••
••••
••••
D8
WE1
D7
••••
••••
••••
••••
••••
I/O0
WE
D16
WE2
D15
••••
A0
CS
OE
I/O7
••••
••••
D24
WE3
D23
A16
••••
••••
••••
A2
CSn
RD
D31
••••
••••
A18
••••
SH7785
I/O0
WE
D0
WE0
••••
A0
CS
OE
I/O7
••••
••••
••••
A16
••••
A16
A0
CS
OE
I/O7
••••
••••
••••
I/O0
WE
I/O0
WE
Figure 11.6 Example of 32-Bit Data Width SRAM Connection
Rev.1.00 Jan. 10, 2008 Page 405 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
128K × 8 bits
SRAM
SH7785
••••
••••
A0
CS
OE
I/O7
••••
••••
D8
WE1
D7
••••
I/O0
WE
D0
WE0
••••
••••
••••
A16
A0
CS
OE
I/O7
••••
••••
A1
CSn
RD
D15
••••
••••
A16
A17
I/O0
WE
Figure 11.7 Example of 16-Bit Data Width SRAM Connection
Rev.1.00 Jan. 10, 2008 Page 406 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
128K × 8 bits
SRAM
D0
WE0
••••
••••
A16
••••
A0
CS
OE
I/O7
••••
••••
A0
CSn
RD
D7
••••
••••
A16
••••
SH7785
I/O0
WE
Figure 11.8 Example of 8-Bit Data Width SRAM Connection
(2)
Wait Cycle Control
Wait cycle insertion for the SRAM interface can be controlled by CSnWCR. If the IW bits in
CSnWCR are set to a value other than 0, a software wait is inserted in accordance with the wait
control bits. For details, see section 11.4.4, CSn Wait Control Register (CSnWCR).
The specified number of Tw cycles is inserted as wait cycles in accordance with the CSnWCR
setting. The wait cycle insertion timing is shown in figure 11.9.
Rev.1.00 Jan. 10, 2008 Page 407 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
Tw
T2
CLKOUT
A25 to A0
CSn
R/W
RD
D31 to D0
(In reading)
WEn
D31 to D0
(In writing)
BS
RDY
DACKn
: Sampling Timing
In this example, DACKn is active-high. (The circle indicates the sampling timing.)
Figure 11.9 SRAM Interface Wait Timing (Software Wait Only)
Rev.1.00 Jan. 10, 2008 Page 408 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
When software wait insertion is specified by CSnWCR, the external wait input signal, RDY, is
also sampled. The RDY signal sampling timing is shown in figure 11.10, where a single wait cycle
is specified as a software wait. The RDY signal is sampled at the transition from the Tw state to
the T2 state. Therefore, the assertion of the RDY signal has no effect in the T1 cycle or in the first
Tw cycle. The RDY signal is sampled on the rising edge of the clock.
T1
Tw
Twe
T2
CLKOUT
A25 to A0
CSn
R/W
RD
(In reading)
D31 to D0
(In reading)
WEn
(In writing)
D31 to D0
(In writing)
BS
RDY
DACKn
: Sampling Timing
In this example, DACKn is active-high. (The circles indicate the sampling timing.)
Figure 11.10 SRAM Interface Wait Timing
(Wait Cycle Insertion by RDY Signal, RDY Signal Is Synchronous Input)
Rev.1.00 Jan. 10, 2008 Page 409 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
(3)
Read-Strobe/Write-Strobe Timing
When the SRAM interface is used, the strobe signal negation timing in reading can be specified
with the RDSPL bit in CSnBCR. For details of settings, see section 11.4.3, CSn Bus Control
Register (CSnBCR). The RDSPL bit should be cleared to 0 when a byte control SRAM is
specified.
Rev.1.00 Jan. 10, 2008 Page 410 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
TAS1
T1
TS1
Tw
Tw
Tw
Tw
T2
TH1
TH2
TAH1
CLKOUT
A25-A0
CSn
R/W
RD
*1
D31-D0
TS1: CSn assertion - RD assertion delay cycle
CSnWCR RDS = 001
TAS1: Address setup wait
CSnWCR ADS=001
TH1, TH2: RD negation - CSn negation delay cycle
CSnWCR RDH = 010
Tw: Access wait
CSnWCR IW = 0100
CLKOUT
TAH1: Address hold wait
CSnWCR AHS = 001
CLKOUT
WEn
D31-D0
(ADS=000)
D31-D0
(ADS=001 to 111)
TS1: CSn assertion - WEn assertion delay cycle
CSnWCR WTS = 001
TAS1: Address setup wait
CSnWCR BSH=001
BS
Notes: 1.
2.
TH1, TH2: WE negation - CSn negation delay cycle
CSnWCR WTH = 010
Tw: Access wait
CSnWCR IW = 0100
TAH1: Address hold wait
CSnWCR ADH = 001
*2
When CSnBCR RDSPL is set to 1
When CSnWCR BSH is set to 1
Figure 11.11 SRAM Interface Wait Timing (Read-Strobe/Write-Strobe Timing Setting)
Rev.1.00 Jan. 10, 2008 Page 411 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.4
Burst ROM Interface
When the TYPE bit in CSnBCR is set to 010, a burst ROM can be connected to areas 0 to 6. The
burst ROM interface provides high-speed access to ROM that has a burst access function. The
burst access timing of burst ROM is shown in figure 11.12. The wait cycle is set to 0. Although
the access is similar to that of the SRAM interface, only the address is changed when the first
cycle ends and then the next access is started. When 8-bit ROM is used, the number of consecutive
accesses can be set to 4, 8, 16, or 32 times through bits BST2 to BST0 in CSnBCR (n = 0 to 6).
Similarly, when 16-bit ROM is used, 4, 8 or 16 times can be set; when 32-bit ROM is used, 4 or 8
times can be set.
The RDY signal is always sampled when the wait cycle is set to 1 or more. Even when no wait is
specified in the burst ROM settings, the second and subsequent accesses are performed with two
cycles as shown in figure 11.13.
Writing to this interface is performed in the same way as for the SRAM interface.
In a 32-byte transfer, a total of 32 bytes are transferred continuously according to the set bus
width. The first access is performed on the data for which an access request is issued, and the
remaining accesses are performed on wraparound method according to the set bus width. The bus
is not released during this transfer.
Figure 11.14 shows the timing when the burst ROM is used and setup/hold is specified by
CSnWCR.
Rev.1.00 Jan. 10, 2008 Page 412 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
TB2
TB1
TB2
TB1
TB2
TB1
T2
CLKOUT
A25 to A5
A4 to A0
CSn
R/W
RD
D31 to D0
(In reading)
BS
RDY
Figure 11.12 Burst ROM Basic Timing
Rev.1.00 Jan. 10, 2008 Page 413 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
Tw
Twe
TB2
TB1
Tw
TB2
TB1
Tw
CLKOUT
A25 to A5
A4 to A0
CSn
R/W
RD
D31 to D0
(In reading)
BS
RDY
Figure 11.13 Burst ROM Wait Timing
Rev.1.00 Jan. 10, 2008 Page 414 of 1658
REJ09B0261-0100
TB2
TB1
Tw
T2
11. Local Bus State Controller (LBSC)
TAS1
T1
TS1
TB2
TB1
TB2
TB1
TB2
TB1
T2
TH1 TAH1
CLKOUT
A25 to A5
A4 to A0
CSn
R/W
RD
*2
D31 to D0
(In reading)
BS
RDY
DACKn *1
Notes: 1.
2.
In this example, DACKn is active-high.
When RDSPL in CSnBCR is set to 1.
Figure 11.14 Burst ROM Wait Timing
Rev.1.00 Jan. 10, 2008 Page 415 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.5
PCMCIA Interface
By setting the TYPE bits in CS5BCR and CS6BCR, the bus interface for the external space areas
5 and 6 can be set to the IC memory card interface or I/O card interface, which is stipulated in
JEIDA specification version 4.2 (PCMCIA 2.1).
Figure 11.15 shows the connection example of this LSI and PCMCIA card. PCMCIA card is
required to connect a three state buffer between this LSI bus interface and PCMCIA card to
perform hot swapping (a card is pulled out or plugged while the power supply of the system is
turned on).
Since operation in big endian mode is not explicitly stipulated in the JEIDA/PCMCIA standard,
this LSI only supports the little-endian PCMCIA interface with the little endian mode setting.
The PCMCIA interface space property can be selected from 8-bit common memory, 16-bit
common memory, 8-bit attribute memory, 16-bit attribute memory, 8-bit I/O space, 16-bit I/O
space, dynamic I/O bus sizing, and ATA complement mode by depending on the setting of the
SAA and SAB bits in CSnPCR.
When the first half area is accessed, the IW bit in CSnWCR and the PCWA, TEDA, and TEHA
bits in CSnPCR are selected. When the second half area is accessed, the IW bit in CSnWCR and
the PCWB, TEDB, and TEHB bits in CSnPCR are selected.
The PCWA/B1 and PCWA/B bits can be used to set the number of wait cycles to be inserted in a
low-speed bus cycle as 0, 15, 30, or 50. This value is added to the number of inserted wait cycles
specified by the IW bit in CSnWCR or PCIW bit in CSnPCR. The setup time of the address of the
RD and WE1 signals, CSn, CE2A, CE2B and REG can be set with the TEDA/B bit (with a setting
range from 0 to 15). The hold time of the address of the RD and WE1 signals, CSn, CE2A, CE2B
and REG can be set with the TEDA/B bit (with a setting range from 0 to 15).
The IW bits (IWW, IWWRD, IWWRS, IWRRD and IWRRS) in CS5BCR or CS6BCR are used to
set the number of idle cycles between cycles. The selected number of wait cycles between cycles
depends only on the area to be accessed (area 5 or 6). When area 5 is accessed, the IW bits in
CS5WCR are selected, and when area 6 is accessed, the IW bits in CS6WCR are selected.
In 32-byte transfer, a total of 32 bytes are transferred continuously according to the set bus width.
The first access is performed on the data for which there was an access request, and the remaining
accesses are performed in wraparound method according to the set bus width. The bus is not
released during this transfer.
ATA complement mode is to access the ATA device register connected to this LSI. The Device
Control Register, Alternate Status Register, Data Register, and Data Port can be accessed in ATA
Rev.1.00 Jan. 10, 2008 Page 416 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
complement mode. To access the Device Control Register and Alternate Status Register, use a
CPU byte access (do not use a DMA transfer), and to access the Data Register, use the CPU word
access (do not use a DMA transfer). To access the Data Port use a DMA transfer. When a CPU
byte access is executed, CE1x is negated and CE2x is asserted (x = A, B). When a CPU word
access is executed, CE1x is asserted and CE2x is negated. When a DMA access is executed, CE1x
and CE2x are negated. The setting example of the DMAC (by DMA channel control register
CHCR) is external request, burst mode, level detection, overrun 0, DACK output to the
correspondent PCMCIA connected area. Set the DACKBST bit in BCR of the corresponding
DMA transfer channel to 1, so that the corresponding DACK signal is asserted from the beginning
to the end of the DMA transfer cycle. Even if the corresponding DREQ signal is negated during
the transfer, the DACK signal is not negated. When DMA transfer that outputs DACK is made to
access an area where ATA complement mode is set, neither CE1x nor CE2x is asserted.
IO card interface, DACKBST = 0
CExx
DACKn
ATA complement mode, DACKBST = 1
CExx
DACKn
In this example, the number of DMA transfers = 4, transfer size = word, and DACKn is active-low.
Figure 11.15 CExx and DACKn Output during DMA Transfer in Access to Space where
ATA Complement Mode Is Set
Rev.1.00 Jan. 10, 2008 Page 417 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.16 Relationship between Address and CE when Using PCMCIA Interface
Bus (Bits)
Read/
Write
Access
(bits)*1
8
Read
8
Read
Write
Write
CE1
A0
D15 to D8
D7 to D0
×
⎯
H
L
L
Invalid
Read data
⎯
H
L
H
Invalid
Read data
Even
×
First
H
L
L
Invalid
Lower read data
Even
×
Second
H
L
H
Invalid
Upper read data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
H
L
L
Invalid
Write data
Odd
×
⎯
H
L
H
Invalid
Write data
Even
×
First
H
L
L
Invalid
Lower write data
Even
×
Second
H
L
H
Invalid
Upper write data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
8
Even
×
⎯
H
L
L
Invalid
Read data
Odd
×
⎯
L
H
H
Read data
Invalid
16
Even
×
⎯
L
L
L
Upper read data Lower read data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
8
Even
×
⎯
H
L
L
Invalid
Write data
Odd
×
⎯
L
H
H
Write data
Invalid
Even
×
⎯
L
L
L
Upper write data Lower write data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
8
Even
L
⎯
H
L
L
Invalid
Read data
Odd
L
⎯
L
H
H
Read data
Invalid
16
Even
L
⎯
L
L
L
Upper read data Lower read data
Odd
L
⎯
⎯
⎯
⎯
⎯
⎯
8
Even
L
⎯
H
L
L
Invalid
Write data
Odd
L
⎯
L
H
H
Write data
Invalid
Even
L
⎯
L
L
L
Upper write data Lower write data
Odd
L
⎯
⎯
⎯
⎯
⎯
⎯
Even
H
⎯
H
L
L
Invalid
Read data
Odd
H
First
L
H
H
Invalid
Invalid
Odd
H
Second
H
L
L
Invalid
Read data
8
16
Read
CE2
×
16
Dynamic
Read
Bus Sizing*2
Access
Even
16
16
IOIS16
Odd
16
Write
Odd/
Even
8
16
Even
H
First
L
L
L
Invalid
Lower read data
Even
H
Second
H
L
H
Invalid
Upper read data
Odd
H
⎯
⎯
⎯
⎯
⎯
⎯
Rev.1.00 Jan. 10, 2008 Page 418 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Read/
Access
Odd/
Bus (Bits)
Write
(bits)*1
Even
IOIS16
Access
CE2
CE1
A0
D15 to D8
D7 to D0
Dynamic
Write
8
Even
H
⎯
H
L
L
Invalid
Write data
Odd
H
First
L
H
H
Invalid
Write data
Odd
H
Second
H
L
H
Invalid
Write data
Even
H
First
L
L
L
Upper write data Lower write data
Bus
Sizing*2
16
ATA
Read
comple-
(does
8
ment mode not
output
16
DACK)
Write
8
(does
not
output
16
DACK)
Read
8
(outputs
DACK)
16
Write
8
(outputs
DACK)
16
Even
H
Second
H
L
H
Invalid
Upper write data
Odd
H
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
L
H
L
Invalid
Read data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
H
L
L
Upper read data Lower read data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
L
H
L
Invalid
Write data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
H
L
L
Upper write data Lower write data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
H
H
L
Invalid
Read data
Odd
×
⎯
H
H
L
Read data
Invalid
Even
×
⎯
H
H
H
Upper read data Lower read data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Even
×
⎯
H
H
L
Invalid
Write data
Odd
×
⎯
H
H
L
Write data
Invalid
Even
×
⎯
H
H
H
Upper write data Lower write data
Odd
×
⎯
⎯
⎯
⎯
⎯
⎯
Legend:
×: Don't care
L: Low level
H: High level
Notes: 1. In 32-bit/64-bit/16-byte/32-byte transfer, the address is automatically incremented by
the bus width, and the above accesses are repeated until the transfer data size is
reached.
2. PCMCIA I/O card interface only.
Rev.1.00 Jan. 10, 2008 Page 419 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
A25 to A0
A25 to A0
G
D15 to D0
D7 to D0
R/W
CE1B/(CS6)
D15 to D0
CE1A/(CS5)
G
DIR
CE2B
D15 to D8
CE2A
PC card
(memory I/O)
G
DIR
SH7785
CE1
CE2
OE
RD
WE/PGM
(IORD)
WE1
ICIORD
ICIOWR
(IOWR)
G
REG
REG
WAIT
RDY
IOIS16
(IOIS6)
Card
detection
circuit
CD1, CD2
A25 to A0
G
D7 to D0
D15 to D0
G
DIR
D15 to D8
PC card
(memory I/O)
G
DIR
CE1
CE2
OE
WE/PGM
G
REG
WAIT
Card
detection
circuit
Figure 11.16 Example of PCMCIA Interface
Rev.1.00 Jan. 10, 2008 Page 420 of 1658
REJ09B0261-0100
CD1, CD2
11. Local Bus State Controller (LBSC)
(1)
Memory Card Interface Basic Timing
Figure 11.17 shows the basic timing for the PCMCIA memory card interface, and figure 11.18
shows the wait timing for the PCMCIA memory card interface.
Tpcm1
Tpcm2
CLKOUT
A25 to A0
CExx
REG
R/W
RD
(In reading)
D15 to D0
(In reading)
WE1
(In writing)
D15 to D0
(In writing)
BS
DACKn
(DA)
In this example, DACKn is active-high.
Figure 11.17 Basic Timing for PCMCIA Memory Card Interface
Rev.1.00 Jan. 10, 2008 Page 421 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tpcm0
Tpcm0w
Tpcm1
Tpcm1w
Tpcm1w
Tpcm2
Tpcm2w
CLKOUT
A25 to A0
CExx
REG
R/W
RD
(In reading)
D15 to D0
(In reading)
WE1
(In writing)
D15 to D0
(In writing)
BS
RDY
DACKn
In this example, DACKn is active-high.
Figure 11.18 Wait Timing for PCMCIA Memory Card Interface
Rev.1.00 Jan. 10, 2008 Page 422 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
(2)
I/O Card Interface Timing
Figures 11.19 and 11.20 show the timing for the PCMCIA I/O card interface.
When a PCMCIA card is accessed as the I/O card interface, dynamic sizing with the I/O bus width
can be performed using the IOIS16 pin. With the 16-bit bus width selected, if the IOIS16 signal is
high during the word-size I/O bus cycle, the I/O port is recognized as eight bits in bus width. In
this case, a data access for only eight bits is performed in the I/O bus cycle being executed, and
this is automatically followed by a data access for the remaining eight bits. Dynamic bus sizing is
also performed for byte-size access to address 2n + 1.
Figure 11.21 shows the basic timing for dynamic bus sizing.
Rev.1.00 Jan. 10, 2008 Page 423 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tpci1
Tpci2
CLKOUT
A25 to A0
CExx
REG
R/W
ICIORD
(In reading)
D15 to D0
(In reading)
ICIOWR
(In writing)
D15 to D0
(In writing)
BS
DACKn
In this example, DACKn is active-high.
Figure 11.19 Basic Timing for PCMCIA I/O Card Interface
Rev.1.00 Jan. 10, 2008 Page 424 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tpci0
Tpci0w
Tpci1
Tpci1w
Tpci1w
Tpci2
Tpci2w
CLKOUT
A25 to A0
CExx
REG
R/W
ICIORD
(In reading)
D15 to D0
(In reading)
ICIOWR
(In writing)
D15 to D0
(In writing)
BS
RDY
IOIS16
DACKn
In this example, DACKn is active-high.
Figure 11.20 Wait Timing for PCMCIA I/O Card Interface
Rev.1.00 Jan. 10, 2008 Page 425 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tpci0
Tpci
Tpci1w
Tpci2
Tpci2w
Tpci0
Tpci
Tpci1w
Tpci2
Tpci2w
CLKOUT
A25 to A1
A0
CExx
REG
R/W
IORD (WE2)
(In reading)
D15 to D0
(In reading)
IOWR (WE3)
(In writing)
D15 to D0
(In writing)
BS
RDY
IOIS16
DACKn
In this example, DACKn is active-high.
Figure 11.21 Dynamic Bus Sizing Timing for PCMCIA I/O Card Interface
Rev.1.00 Jan. 10, 2008 Page 426 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.6
MPX Interface
When both the MODE 7 pin is set to 0 at a power-on reset by the PRESET pin, the MPX interface
is selected for area 0. The MPX interface is selected for areas 1 to 6 by the MPX bit in CS1BCR,
CS2BCR, and CS4BCR to CS6BCR. The MPX interface provides an address/data multiplex-type
bus protocol and facilitates connection with external memory controller chips using an
address/data multiplex-type 64- or 32-bit single bus. A bus cycle consists of an address phase and
a data phase. In the address phase, address information is output on D25 to D0, and the access size
is output on D63 to D61 for the 64-bit bus and on D31 to D29 for the 32-bit bus. The BS signal is
asserted for one cycle to indicate the address phase. The CSn signal is asserted at the rising edge in
Tm1 and is negated after the end of the last data transfer in the data phase. Therefore, a negation
cycle is not generated in the case of minimum pitch access. The FRAME signal is asserted at the
rising edge in Tm1 and negated at the start of the last data transfer cycle in the data phase.
Therefore, an external device for the MPX interface must internally store the address information
and access size output in the address phase and perform data input/output for the data phase. For
details, see section 11.5.1, Endian/Access Size and Data Alignment.
Values output to address pins A25 to A0 are not guaranteed.
In 32-byte transfer, a total of 32 bytes are transferred continuously according to the set bus width.
The first access is performed on the data for which an access request is issued, and the remaining
accesses are performed according to the set bus width. If the access size is larger than the bus
width, a burst access with continuing multiple data cycles occurs after one address output. The bus
is not released during this transfer.
Table 11.17 Relationship between D63/D31 to D61/D29 and Access Size in Address Phase
D63/D31
D62/D30
D61/D29
Access Size
0
0
0
Byte
1
Word
0
Longword
1
Unused
X
32-byte burst
1
1
X
Legend:
X: Don't care
Rev.1.00 Jan. 10, 2008 Page 427 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
SH7785
CLKOUT
CSn
BS
RD
R/W
D31 to D0
RDY
MPX device
CLK
CS
BS
FRAME
WE
I/O31 to I/O0
RDY
Figure 11.22 Example of 32-Bit Data Width MPX Connection
SH7785
CLKOUT
CSn
BS
RD
RD/WR
D63 to D0
RDY
MPX device
CLK
CS
BS
FRAME
WE
I/O63 to I/O0
RDY
Figure 11.23 Example of 64-Bit Data Width MPX Connection
The MPX interface timing is shown below.
When the MPX interface is used for area 0, the bus size should be set to 64 or 32 bits by MODE5
and MODE6. When the MPX interface is used for areas 1 to 6, the bus size should be set to 32 or
64 bits by CSnBCR.
Waits can be inserted by CSnWCR and the RDY pin.
In reading, one wait cycle is automatically inserted after address output even if CSnWCR is
cleared to 0.
Rev.1.00 Jan. 10, 2008 Page 428 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tmd1w
Tm1
Tmd1
Tm1
CLKOUT
RD/FRAME
D63 to D0
A
D0
A
CSn
R/W
RDY
BS
DACK
Figure 11.24 MPX Interface Timing 1
(Single Read Cycle, IW = 0000, No External Wait, 64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 429 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1w
Tmd1
CLKOUT
RD/FRAME
D63 to D0
A
D0
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high. The circles indicate the sampling timing.
Figure 11.25 MPX Interface Timing 2
(Single Read, IW = 0000, One External Wait Inserted, 64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 430 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1
CLKOUT
RD/FRAME
D63 to D0
A
D0
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high. The circle indicates the sampling timing.
Figure 11.26 MPX Interface Timing 3
(Single Write Cycle, IW = 0000, No External Wait, 64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 431 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1w
Tmd1
CLKOUT
RD/FRAME
D63 to D0
A
D0
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.27 MPX Interface Timing 4
(Single Write Cycle, IW = 0001, One External Wait Inserted, 64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 432 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1
Tmd2
Tmd3
Tmd4
CLKOUT
RD/FRAME
D63 to D0
A
D0
D1
D2
D3
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.28 MPX Interface Timing 5
(Burst Read Cycle, IW = 0000, No External Wait, 64-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 433 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1
Tmd2w
Tmd2
Tmd3
Tmd4w
Tmd4
CLKOUT
RD/FRAME
D63 to D0
A
D0
D1
D2
D3
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.29 MPX Interface Timing 6 (Burst Read Cycle, IW = 0000,
External Wait Control, 64-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 434 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1
Tmd2
Tmd3
Tmd4
CLKOUT
RD/FRAME
D63 to D0
A
D0
D1
D2
D3
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.30 MPX Interface Timing 7
(Burst Write Cycle, IW = 0000, No External Wait, 64-Bit Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 435 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1
Tmd2w
Tmd2
Tmd3
Tmd4w
Tmd4
CLKOUT
RD/FRAME
D63 to D0
A
D0
D1
D2
D3
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.31 MPX Interface Timing 8 (Burst Write Cycle, IW = 0001,
External Wait Control, 32-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 436 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1
Tmd2
Tmd3
Tmd4
Tmd5
Tmd6
Tmd7
Tmd8
CLKOUT
RD/FRAME
D31 to D0
A
D1
D2
D3
D4
D5
D6
D7
D8
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.32 MPX Interface Timing 9 (Burst Read Cycle, IW = 0000,
No External Wait, 32-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 437 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1
Tmd2w
Tmd2
Tmd3
Tmd7
Tmd8w
Tmd8
CLKOUT
RD/FRAME
D31 to D0
A
D1
D2
D3
D7
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.33 MPX Interface Timing 10 (Burst Read Cycle, IW = 0000,
External Wait Control, 32-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 438 of 1658
REJ09B0261-0100
D8
11. Local Bus State Controller (LBSC)
Tm1
Tmd1
Tmd2
Tmd3
Tmd4
Tmd5
Tmd6
Tmd7
Tmd8
CLKOUT
RD/FRAME
D31 to D0
A
D1
D2
D3
D4
D5
D6
D7
D8
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.34 MPX Interface Timing 11 (Burst Write Cycle, IW = 0000,
No External Wait, 32-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 439 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Tm1
Tmd1w
Tmd1
Tmd2w
Tmd2
Tmd3
Tmd7
Tmd8w
Tmd8
CLKOUT
RD/FRAME
D31 to D0
A
D1
D2
D3
D7
D8
CSn
R/W
RDY
BS
DACKn
In this example, DACKn is active-high.
Figure 11.35 MPX Interface Timing 12 (Burst Write Cycle, IW = 0001,
External Wait Control, 32-Bit Bus Width, 32-Byte Data Transfer)
Rev.1.00 Jan. 10, 2008 Page 440 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.7
Byte Control SRAM Interface
The byte control SRAM interface is a memory interface that outputs a byte-select strobe (WEn) in
both read and write bus cycles. This interface has 16-bit data pins and can be connected to SRAM
having an upper byte select strobe and lower select strobe functions such as UB and LB.
Areas 1 and 4 can be specified as a byte control SRAM interface.
The write timing for the byte control SRAM interface is identical to that of a normal SRAM
interface.
In reading operation, on the other hand, the WEn pin timing is different. In a read access, only the
WEn signal for the byte being read is asserted. Assertion is synchronized with the falling edge of
the CLKOUT clock in the same way as for the WEn signal, while negation is synchronized with
the rising edge of the CLKOUT clock in the same way as for the RD signal.
In 32-byte transfer, a total of 32 bytes are transferred continuously according to the set bus width.
The first access is performed on the data for which there was an access request, and the remaining
accesses are performed in wraparound method according to the set bus width. The bus is not
released during this transfer.
Figures 11.36 and 11.37 show examples of byte control SRAM connections, and figures 11.38 to
11.40 show examples of byte-control SRAM read cycles.
SH7785
A17 to A2
CSn
RD
R/W
64K × 16 bits
SRAM
D31 to D16
WE3
WE2
A15 to A0
CS
OE
WE
I/O15 to I/O0
UB
LB
D15 to D0
WE1
WE0
A15 to A0
CS
OE
WE
I/O15 to I/O0
UB
LB
Figure 11.36 Example of Byte Control SRAM with 32-Bit Data Width
Rev.1.00 Jan. 10, 2008 Page 441 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
SH7785
A18 to A3
CSn
RD
R/W
64K × 16 bits
SRAM
D63 to D48
WE7
WE6
A15 to A0
CS
OE
WE
I/O15 to I/O0
UB
LB
D47 to D32
WE5
WE4
A15 to A0
CS
OE
WE
I/O15 to I/O0
UB
LB
D31 to D16
WE3
WE2
A15 to A0
CS
OE
WE
I/O15 to /O0
UB
LB
D15 to D0
WE1
WE0
A15 to A0
CS
OE
WE
I/O15 to I/O0
UB
LB
Figure 11.37 Example of Byte Control SRAM with 64-Bit Data Width
Rev.1.00 Jan. 10, 2008 Page 442 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
T2
CLKOUT
A25 to A0
CSn
R/W
RD
D31 to D0
(In reading)
WEn
BS
RDY
DACKn
In this example, DACKn is active-high.
Figure 11.38 Basic Read Cycle of Byte Control SRAM (No Wait)
Rev.1.00 Jan. 10, 2008 Page 443 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
TAS1
T1
TS1
Tw
Tw
Tw
Tw
T2
TH1
TH2
TAH1
CLKOUT
A25-A0
CSn
R/W
WEn
(In reading)
*1
D63-D0
TS1: CSn assertion - RD assertion delay cycle
CSnWCR RDS = 001
TAS1: Address setup wait
CSnWCR ADS=001
TH1, TH2: RD negation - CSn negation delay cycle
CSnWCR RDH = 010
Tw: Access wait
CSnWCR IW = 0100
CLKOUT
TAH1: Address hold wait
CSnWCR AHS = 001
CLKOUT
WEn
(In writing)
D63 to D0
(ADS=000)
D63 to D0
(ADS=001 to 111)
TS1: CSn assertion - WEn assertion delay cycle
CSnWCR WTS = 001
TAS1: Address setup wait
CSnWCR BSH=001
BS
Notes: 1.
2.
TH1, TH2: WE negation - CSn negation delay cycle
CSnWCR WTH = 010
Tw: Access wait
CSnWCR IW = 0100
TAH1: Address hold wait
CSnWCR ADH = 001
*2
When CSnBCR RDSPL is set to 1
When CSnWCR BSH is set to 1
Figure 11.39 Wait State Timing of Byte Control SRAM
Rev.1.00 Jan. 10, 2008 Page 444 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
Tw
Twe
T2
CLKOUT
A25 to A0
CSn
R/W
RD
D31 to D0
(In reading)
WEn
BS
RDY
DACKn
In this example, DACKn is active-high.
Figure 11.40 Wait State Timing of Byte Control SRAM
(One Internal Wait + One External Wait)
Rev.1.00 Jan. 10, 2008 Page 445 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.8
Wait Cycles between Access Cycles
When the external memory bus operating frequency is high, the turn-off of the data buffer
performed on completion of reading from a low-speed device may not be made in time. This cause
a collision with the next access data or a malfunction, which results in lower reliability. To prevent
this problem, the data collision prevention function is provided. With this function, the preceding
access area and the type of read/write are stored and a wait cycle is inserted before the access
cycle if there is a possibility that a bus collision occurs when the next access is started. As an
example of wait cycle insertion, idle cycles are inserted between the access cycles as shown in
section 11.4.3, CSn Bus Control Register (CSnBCR). By using bits IWW, IWRWD, IWRWS,
IWRRD and IWRRS in CSnBCR, at least the specified number of cycles can be inserted as idle
cycles.
When bus arbitration is performed, the bus is released after wait cycles are inserted between the
cycles.
When DMA transfer is performed in dual address mode, wait cycles are inserted as set in
CSnBCR idle cycle bits.
When consecutive accesses to the MPX interface area are performed after a read access, 1 wait
cycle is inserted even if the wait cycle is set to 0.
When the access size is 8-byte or 16-byte, wait cycles are inserted every 4-byte access.
Rev.1.00 Jan. 10, 2008 Page 446 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
T1
T2
Twait
T1
T2
Twait
T1
T2
CLKOUT
A25 to A0
CSm
CSn
BS
R/W
RD
D31 to D0
Reading area m space
Reading area n space
CSnBCR.IWRRD=001
Writing area n space
CSnBCR.IWRWS=001
Figure 11.41 Wait Cycles between Access Cycles (Access Size Is 4 Bytes)
Rev.1.00 Jan. 10, 2008 Page 447 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.9
Bus Arbitration
This LSI is provided with a bus arbitration function that gives the bus to an external device when a
request is issued from the device.
This bus arbitration supports master mode and slave mode. In master mode the bus is held on a
steady state, and is released to another device in response to a bus request. In slave mode, the bus
is not held in the steady state. Each time the external bus cycle occurs, the bus mastership is
required, and the bus is released after completion of access.
Master mode and slave mode are specified by the external mode pin settings. In master mode and
slave mode, the bus enters the high-impedance state when not being held. In master mode, it is
possible to connect an external device that issues bus requests. In the following description, an
external device that issues bus requests is called a slave.
This LSI has five internal bus masters, the CPU, DMAC, GDTA, DU, and PCIC. In addition to
them, bus requests from external devices are issued. If requests occur simultaneously, priority is
given, in high-to-low order, to a bus request from an external device, and internal bus master. The
priority of the bus masters in this LSI is round-robin.
To prevent incorrect operation of connected devices when the bus is transferred between master
and slave, all bus control signals are negated before the bus is released. In addition, when the bus
mastership is received, bus control signals begin driving the bus from the negated state. Since the
same signals are driven by the master and slave that exchange the bus, output buffer collisions can
be avoided.
Bus transfer is executed between bus cycles.
When the bus release request signal (BREQ) is asserted, this LSI releases the bus as soon as the
currently executing bus cycle ends, and outputs the bus use permission signal (BACK). However,
bus release is not performed during multiple bus cycles generated because the data bus width is
smaller than the access size (for example, when performing longword access to 8-bit bus width
memory) or during a 32-byte transfer such as a cache fill or write-back. In addition, bus release is
not performed between read and write cycles during execution of a TAS instruction, or between
read and write cycles. When BREQ is negated, BACK is negated and use of the bus is resumed.
Since the CPU in this LSI is connected to cache memory by a dedicated internal bus, reading from
cache memory can be carried out when the bus is being used by another bus master inside or
outside the LSI. In writing from the CPU, an external write cycle is generated when write-through
has been set for the cache in this LSI, or when an access is made to a cache-off area. In this case,
operation is waited until the bus is returned.
Rev.1.00 Jan. 10, 2008 Page 448 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
CLKOUT
BREQ
Asserted for 2 cycles or more
BACK
Negated within 2 cycles
Hi-Z
A25 to A0
Hi-Z
CSn
Hi-Z
R/W
Hi-Z
RD
WEn
Hi-Z
D31 to D0
(write)
Hi-Z
BS
Hi-Z
Master-mode device access
Must be asserted
for 2 cycles or more
Must be negated
within 2 cycles
BREQ
BACK
Hi-Z
Hi-Z
Hi-Z
Hi-Z
Hi-Z
Hi-Z
Hi-Z
Hi-Z
WEn
Hi-Z
Hi-Z
D31 to D0
(write)
Hi-Z
Hi-Z
BS
Hi-Z
Hi-Z
A25 to A0
CSn
R/W
RD
Slave-mode device access
Master access
Slave access
Master access
Figure 11.42 Arbitration Sequence
Rev.1.00 Jan. 10, 2008 Page 449 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.10 Master Mode
The processor in master mode holds the bus itself until it receives a bus request.
On receiving an assertion (low level) of the bus request signal (BREQ) from the outside, the
master mode processor releases the bus and asserts (drives low) the bus use permission signal
(BACK) as soon as the currently executing bus cycle ends. On receiving the BREQ negation (high
level) indicating that the slave has released the bus, the processor negates (drives high) the BACK
signal and resumes use of the bus.
When the bus is released, all bus control output signals and input/output signals related to bus
interface enters a high-impedance state, except for BACK for bus arbitration and DACK0 to
DACK3 for controlling DMA transfer.
The actual bus release sequence is as follows.
First, the bus use permission signal is asserted in synchronization with the rising edge of the clock.
The address bus and data bus are put in a high-impedance state in synchronous with the rising
edge of the clock next to the BACK assertion. At the same time, the bus control signals (BS, CSn,
WEn, RD, R/W, CE2A, and CE2B) enters a high-impedance state. These bus control signals are
negated no later than one cycle before entering high-impedance. Bus request signal sampling is
performed on the rising edge of the clock.
The sequence for re-acquiring the bus from the slave is as follows.
As soon as BREQ negation is detected on the rising edge of the clock, BACK is negated and bus
control signal driving is started. Driving of the address bus and data bus starts at the next rising
edge of an in-phase clock. The bus control signals are asserted and the bus cycle is actually
started, at the earliest, at the clock rising edge at which the address and data signals are driven.
In order to reacquire the bus and start execution of bus access, the BREQ signal must be negated
for at least two cycles.
Rev.1.00 Jan. 10, 2008 Page 450 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.11 Slave Mode
In slave mode, usually, the bus is released. Unless the bus control is hold by performing bus
arbitration, the external device cannot be accessed. The bus is released at a reset, and the bus
arbitration sequence starts from the fetch of the reset vector.
To get the bus mastership, the BSREQ signal is asserted (driven low) in synchronous with the
rising edge of the clock. The BSACK signal, a bus use permission signal, is sampled at the rising
edge of the clock. When the asserted BSACK is detected, the bus control signal is driven low at
negate level after two cycles. At the following rising edge of the clock, the bus cycle starts. The
signal negated last at the end of the access cycle is synchronized with the rising edge of the clock.
As soon as the bus cycle ends, the BSREQ signal is negated to notify the master that the bus is
released. At the next rising edge of the clock, the control signal is put in high-impedance.
If the processor in slave mode starts access, two or more cycles of BSACK signal assertion are
required.
11.5.12 Cooperation between Master and Slave
To control system resources without contradiction by the master and slave, their respective roles
must be clearly defined, as well as in the standby state implementing power-down mode.
The design of the SH7785 provides for all control, including initialization, and standby control, to
be carried out by the master mode device.
If the SH7785 is specified as the master at a power-on reset, it will not accept bus requests from
the slave until the BREQ enable bit (BREQEN in BCR) is set to 1.
To ensure that the slave processor does not access memory requiring initialization before
completion of initialization, write 1 to the BREQ enable bit after the initialization is complete.
11.5.13 Power-Down Mode and Bus Arbitration
When deep sleep mode is used, in the system that performs bus arbitration, the BREQEN bit in
BCR of the processor in master mode should be cleared to 0 before a transition is made to deep
sleep mode. If a transition is made to deep sleep mode when the bit is set to 1, the operation is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 451 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
11.5.14 Mode Pin Settings and General Input Output Port Settings about Data Bus Width
Table 11.18 shows the examples of MODE pin settings and port settings (GPIO port control
register) related to the selection of the data bus width used in the local bus.
Table 11.18 MODE Pin Settings and Port Settings Related to Data Bus Width Selection
GPIO Port Control Register
Data Bus
Width
Data Pins
MODE12 MODE11 PACR
PBCR
PCCR
PDCR
PFCR
PGCR
64 bits
D63 to D0
H
L
H'0000
H'0000
H'0000
H'0000
H'0000
H'0000
32 bits
D31 to D0
Any
Any
Any
Any
Any
Any
H'0000
H'0000
16 bits
D16 to D0
Any
Any
Any
Any
Any
Any
8 bits
D7 to D0
Any
Any
Any
Any
Any
Any
Legend:
L: Low level
H: High level
Note: Concerning "any", setting should be correspondent to the system.
11.5.15 Pins Multiplexed with Other Modules Functions
Some pins used by the LBSC are multiplexed with general input output port (GPIO) and functions
used in other peripheral modules. The pins to be used by the LBSC should start access after setting
these pins to the LBSC functions with GPIO register. For example, when PCMCIA interface is
used, the functions of CE2A and CE2B should be enabled with the GPIO bit in PIMSELR and the
GPIO bit in PLCR before starting access.
11.5.16 Register Settings for Divided-Up DACKn Output
When the access size of DMAC1 transfer related to the local bus space is larger than the data bus
width, multiple bus cycles are generated. When multiple bus cycles are generated and CS is
negated between bus cycles, DACKn output is divided up, in the same way as CS.
Tables 11.19 to 11.22 shows the register settings when DACKn output is not divided up in DMA1
transfer and when it is divided up.
Rev.1.00 Jan. 10, 2008 Page 452 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.19 Register Settings for Divided-Up DACKn Output in DMA1 Transfer Using the
SRAM/Burst ROM/Byte Control SRAM Interfaces
Not Divided
Bus Width Access Size in
[Bit]
DMA Transfer
8
16
32
64
Divided
Bus Cycle
Number
IWRRD, IWRRS, or ADS and ADH in ADS and ADH
IWW in CSnBCR
CSnWCR.
inCSnWCR
Byte
1
⎯
⎯
Undividable
Word
2
⎯
B'000
B'111 to B'001
Longword
4
⎯
B'000
B'111 to B'001
16 bytes
16
B'000
B'000
B'111 to B'001
32 bytes
32
⎯
B'000
B'111 to B'001
Byte
1
⎯
⎯
Undividable
Word
1
⎯
⎯
Undividable
Longword
2
⎯
B'000
B'111 to B'001
16 bytes
8
B'000
B'000
B'111 to B'001
32 bytes
16
⎯
B'000
B'111 to B'001
Byte
1
⎯
⎯
Undividable
Word
1
⎯
⎯
Undividable
Longword
1
⎯
⎯
Undividable
16 bytes
4
B'000
B'000
B'111 to B'001
32 bytes
8
⎯
B'000
B'111 to B'001
Byte
1
⎯
⎯
Undividable
Word
1
⎯
⎯
Undividable
Longword
1
⎯
⎯
Undividable
16 bytes
4
B'000
B'000
B'111 to B'001
32 bytes
4
⎯
B'000
B'111 to B'001
Note: "⎯" means an arbitrary setting value. When transfer is done in a single bus cycle, DACKn
is not divided up because DACKn is output once in DMA1 transfer.
Rev.1.00 Jan. 10, 2008 Page 453 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.20 Register Settings for Divided-Up DACKn Output in DMA1 Transfer Using the
PCMCIA Interface
Not Divided
Divided
Bus Width
[Bit]
Access Size
Bus Cycle Number
IWRRD, IWRRS, or
IWW in CSnBCR
IWRRD, IWRRS, or
IWW in CSnBCR
8
Byte
1
⎯
Undividable
Word
2
⎯
Undividable∗1
Longword
4
⎯
Undividable∗1
16 bytes
16
B'000
B'111 to B'001∗2
32 bytes
32
⎯
Undividable∗1
Byte
1
⎯
Undividable
Word
1
⎯
Undividable
Longword
2
⎯
Undividable∗1
16 bytes
8
B'000
B'111 to B'001∗2
32 bytes
16
⎯
Undividable∗1
16
Notes: "⎯" means an arbitrary setting value. When transfer is done in a single bus cycle, DACKn
is not divided up because DACKn is output once in DMA1 transfer.
1. Multiple bus cycles are generated, however, DACKn cannot be divided.
2. Can be divided only in longword units.
Rev.1.00 Jan. 10, 2008 Page 454 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.21 Register Settings for Divided-Up DACKn Output in DMA1 Transfer in Read
Access Using the MPX Interface
Not Divided
Divided
Bus Width
[Bit]
Access Size
Bus Cycle Number
IWRRD or IWRRS, in
CSnBCR
IWRRD or IWRRS, in
CSnBCR
32
Byte
1
⎯
Undividable
Word
1
⎯
Undividable
Longword
1
⎯
Undividable
16 bytes
4
Must be divided
⎯
32 bytes
1
⎯
Undividable
Byte
1
⎯
Undividable
Word
1
⎯
Undividable
Longword
1
⎯
Undividable
16 bytes
4
Must be divided
⎯
32 bytes
1
⎯
Undividable
64
Note: "⎯" means an arbitrary setting value. When transfer is done in a single bus cycle, DACKn
is not divided up because DACKn is output once in DMA1 transfer.
Rev.1.00 Jan. 10, 2008 Page 455 of 1658
REJ09B0261-0100
11. Local Bus State Controller (LBSC)
Table 11.22 Register Settings for Divided-Up DACKn Output in DMA1 Transfer in Write
Access Using the MPX Interface
Not Divided
Divided
Bus Width
Bus Cycle
[Bit]
Access Size Number
IW1 and IW0 in
IWW in CSnBCR CSnWCR
IWW in CSnBCR
32
64
Byte
1
⎯
⎯
Undividable
Word
1
⎯
⎯
Undividable
Longword
1
⎯
⎯
Undividable
16 bytes
4
B'000
B'11 to B'01
B'111 to B'001
32 bytes
1
⎯
⎯
Undividable
Byte
1
⎯
⎯
Undividable
Word
1
⎯
⎯
Undividable
Longword
1
⎯
⎯
Undividable
16 bytes
4
B'000
B'11 to B'01
B'111 to B'001
32 bytes
1
⎯
⎯
Undividable
Note: "⎯" means an arbitrary setting value. When transfer is done in a single bus cycle, DACKn
is not divided up because DACKn is output once in DMA1 transfer.
Rev.1.00 Jan. 10, 2008 Page 456 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Section 12 DDR2-SDRAM Interface (DBSC2)
The DDR2-SDRAM interface (DBSC2) controls the DDR2-SDRAM.
12.1
Features
• Supports 32-bit and 16-bit external data bus widths
• Supports from DDR2-600 (controller operation at 300 MHz) to DDR2-400 (controller
operation at 200 MHz)
• Connects to 64-bit SuperHyway internal bus
• Supports 1:1 clock ratio between SuperHyway clock and DDR clock
• Queue provided for interface with SuperHyway
• During power-on reset, pin MODE8 can be used to switch between big- and little-endian
• Supports 4-bank and 8-bank DDR2-SDRAMs
• Supports sequential mode with burst length 4
• Supports Additive Latency (AL) of 0 only
• Supports differential data strobe signal (DQS, DQS)
Note: RDQS is not supported.
• Supports self-refresh
• Supports power supply backup mode
• Supported DDR2-SDRAM addresses × bit widths (total capacity) are as follows.
For details, refer to tables 12.12 through 12.19.
(When using 8-bank products, please refer to section 12.5.8, Important Information Regarding
Use of 8-Bank DDR2-SDRAM Products.)
⎯ DDR2-SDRAM data bus width: 32 bits
• Two 256 Mbits (16M × 16 bits) connected in parallel (total capacity = 512 Mbits)
• Four 256 Mbits (32M × 8 bits) connected in parallel (total capacity = 1 Gbit)
• Two 512 Mbits (32M × 16 bits) connected in parallel (total capacity = 1 Gbit)
• Four 512 Mbits (64M × 8 bits) connected in parallel (total capacity = 2 Gbits)
• Two 1 Gbit (64M × 16 bits) connected in parallel (total capacity = 2 Gbits)
• Four 1 Gbit (128M × 8 bits) connected in parallel (total capacity = 4 Gbits)
• Two 2 Gbits (128M × 16 bits) connected in parallel (total capacity = 4 Gbits)
• Four 2 Gbits (256M × 8 bits) connected in parallel (total capacity = 8 Gbits)
Rev.1.00 Jan. 10, 2008 Page 457 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
⎯ DDR2-SDRAM data bus width: 16 bits
• One 256 Mbits (16M × 16 bits) connected in parallel (total capacity = 256 Mbits)
• Two 256 Mbits (32M × 8 bits) connected in parallel (total capacity = 512 Mbits)
• One 512 Mbits (32M × 16 bits) connected in parallel (total capacity = 512 Mbits)
• Two 512 Mbits (64M × 8 bits) connected in parallel (total capacity = 1 Gbit)
• One 1 Gbit (64M × 16 bits) connected in parallel (total capacity = 1 Gbit)
• Two 1 Gbit (128M × 8 bits) connected in parallel (total capacity = 2 Gbits)
• One 2 Gbits (128M × 16 bits) connected in parallel (total capacity = 2 Gbits)
• Two 2 Gbits (256M × 8 bits) connected in parallel (total capacity = 4 Gbits)
Rev.1.00 Jan. 10, 2008 Page 458 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Figure 12.1 shows a block diagram of the DBSC2.
SuperHyway Bus
DBSC2
BUS IF
Request
queue
Response
queue
Write data
queue
Registers
Control
unit
DDRPAD
MBKPRST, MVREF
DLL
IO cells
MCK0/
MCK0,
MCK1/
MCK1
MCKE, MA14 to MA0,
MBA2 to MBA0, MCS,
MRAS, MCAS, MWE,
MODT
MDQS3 to MDQS0,
MDQS3 to MDQS0,
MDM3 to MDM0,
MDQ31 to MDQ0
DDR2-SDRAM
Notes:
Request queue:
Write data queue:
Response queue:
Control unit:
Registers:
DDRPAD:
Stores the access request of the SuperHyway bus.
Stores the write data sent from the SuperHyway bus.
Stores the read data to be sent back to the SuperHyway bus.
Controls each block depending on the request sent from the request queue.
Store timing parameters and SDRAM configuration information.
Interfaces with the DDR2-SDRAM. This incorporates the DLL
to perform phase adjustment of the DQS.
Figure 12.1 Block Diagram of the DBSC2
Rev.1.00 Jan. 10, 2008 Page 459 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.2
Input/Output Pins
Table 12.1 shows the pin configuration of the DBSC2.
Table 12.1 Pin Configuration of the DBSC2
Pin Name
Function
I/O
Description
MCK0
DDR2-SDRAM clock 0
Output
Clock output for the DDR2-SDRAM
MCK0
DDR2-SDRAM clock 0
Output
Clock output for the DDR2-SDRAM or
MCK0 inverted clock output
MCK1
DDR2-SDRAM clock 1
Output
Clock output for the DDR2-SDRAM
MCK1
DDR2-SDRAM clock 1
Output
Clock output for the DDR2-SDRAM or
MCK1 inverted clock output
MCKE
Clock enable
Output
CKE output signal
MCS
Chip select
Output
Chip select output signal
MWE
Write enable
Output
Write enable output signal
MRAS
Row address strobe
Output
Row address strobe output signal
MCAS
Column address strobe
Output
Column address strobe output signal
MA14 to MA0
Addresses
Output
Address output signals
MBA2, MBA1,
MBA0
Bank active
Output
Bank address output signal
MDQ31 to
MDQ0
Data
I/O
Data I/O signals
MDQS3 to
MDQS0
I/O data strobe
I/O
Data strobe I/O signals
MDQS3 to
MDQS0
I/O data strobe
I/O
Data strobe I/O signals or MDQS3 to
MDQS0 inverted signals
MDM3 to
MDM0
Data mask
Output
Data mask output signals
MODT
ODT enable
Output
ODT enable output signal to the SDRAM
MBKPRST
Power backup reset
Input
Used in power backup mode.
When this pin is brought low level, the
MCKE pin is also pulled low.
MVREF
Reference voltage input
Rev.1.00 Jan. 10, 2008 Page 460 of 1658
REJ09B0261-0100
Input
Input reference voltage
12. DDR2-SDRAM Interface (DBSC2)
The frequency of the SDRAM operation clocks MCK0, MCK0, MCK1, and MCK1 is the same as
the frequency of the DDR clock.
MDQ7 to MDQ0 correspond to MDQS0 and MDM0, MDQ15 to MDQ8 correspond to MDQS1
and MDM1, MDQ23 to MDQ16 correspond to MDQS2 and MDM2, and MDQ31 to MDQ24
correspond to MDQS3 and MDM3. When the external data bus width is 16 bits, MDQ15 to
MDQ0 are used.
Table 12.2 shows an example of connections when a total of four 2-Gb DDR2-SDRAM units
(256M × 8 bits) are used, with the external data bus width set to 32 bits. Command-related signals
(MCKE, MWE, MCS, MRAS, MCAS, MA14- MA0, MBA2- MBA0) are connected in common
to four DDR2-SDRAM units. Data signals (MDQ31 to MDQ0, MDQS3 to MDQS0, MDQS3 to
MDQS0, and MDM3 to MDM0) are connected to memory in 8-bit units. Clocks MCK1 and
MCK1 are connected to DDR2-SDRAM corresponding to the data signal upper sides (MDQ31 to
MDQ16, MDQS3, MDQS2, MDQS3, MDQS2, MDM3, and MDM2), and MCK0 and MCK0 are
connected to DDR2-SDRAM corresponding to the lower sides (MDQ15 to MDQ0, MDQS1,
MDQS0, MDQS1, MDQS0, MDM1, and MDM0). Address pins MA14 to MA0 should be
connected to the DDR2-SDRAM address pins, without swapping the order.
Nothing should be connected to unused pins.
Rev.1.00 Jan. 10, 2008 Page 461 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.2 An Example of DDR2-SDRAM Connection
(When Four 2-Gb DDR2-SDRAM Units (256 M × 8 Bits) Are Used)
Memory
MCK1,
MCK1
Memory #1
Connected*
Memory #2
Connected*
Memory #3
MODT,
MCKE,
MCS,
MRAS,
MCAS,
MWE, MA14
to MA0,
MBA2 to
MBA0
MCK0,
MCK0
MDQ31 to
MDQ24,
MDQS3,
MDQS3,
MDM3
2
MDQ23 to
MDQ16,
MDQS2,
MDQS2,
MDM2
1
Connected* Connected*
1
Connected*
2
1
2
4
Connected*
5
Connected* Connected*
Memory #4
MDQ7 to
MDQ0,
MDQS0,
MDQS0,
MDM0
3
2
1
MDQ15 to
MDQ8,
MDQS1,
MDQS1,
MDM1
Connected*
6
Connected* Connected*
Connected*
Notes: 1. SDRAM pins should be connected as shown below.
Memory #1 and #2
Pins
SH7785 Pins
Memory #3 and #4
Pins
SH7785 Pins
CK
MCK1
CK
MCK0
CK
MCK1
CK
MCK0
2. SDRAM pins should be connected as shown below.
Memory #1 to #4
Pins
SH7785 Pins
Memory #1 to #4
Pins
SH7785 Pins
ODT
MODT
A8
MA8
CKE
MCKE
A7
MA7
CS
MCS
A6
MA6
RAS
MRAS
A5
MA5
CAS
MCAS
A4
MA4
WE
MWE
A3
MA3
A14
MA14
A2
MA2
A13
MA13
A1
MA1
A12
MA12
A0
MA0
A11
MA11
BA2
MBA2
A10
MA10
BA1
MBA1
A9
MA9
BA0
MBA0
Rev.1.00 Jan. 10, 2008 Page 462 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
3. SDRAM pins should be connected as shown below.
Memory #1 Pins
SH7785 Pins
DQS
MDQS3
DQS
MDQS3
DM
MDM3
DQ7
MDQ31
DQ6
MDQ30
DQ5
MDQ29
DQ4
MDQ28
DQ3
MDQ27
DQ2
MDQ26
DQ1
MDQ25
DQ0
MDQ24
4. SDRAM pins should be connected as shown below.
Memory #2 Pins
SH7785 Pins
DQS
MDQS2
DQS
MDQS2
DM
MDM2
DQ7
MDQ23
DQ6
MDQ22
DQ5
MDQ21
DQ4
MDQ20
DQ3
MDQ19
DQ2
MDQ18
DQ1
MDQ17
DQ0
MDQ16
Rev.1.00 Jan. 10, 2008 Page 463 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
5. SDRAM pins should be connected as shown below.
Memory #3 Pins
SH7785 Pins
DQS
MDQS1
DQS
MDQS1
DM
MDM1
DQ7
MDQ15
DQ6
MDQ14
DQ5
MDQ13
DQ4
MDQ12
DQ3
MDQ11
DQ2
MDQ10
DQ1
MDQ9
DQ0
MDQ8
6. SDRAM pins should be connected as shown below.
Memory #4 Pins
SH7785 Pins
DQS
MDQS0
DQS
MDQS0
DM
MDM0
DQ7
MDQ7
DQ6
MDQ6
DQ5
MDQ5
DQ4
MDQ4
DQ3
MDQ3
DQ2
MDQ2
DQ1
MDQ1
DQ0
MDQ0
Rev.1.00 Jan. 10, 2008 Page 464 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.3
Data Alignment
The DBSC2 accesses DDR2-SDRAM with a fixed burst length of 4 (figure 12.2). As shown in
table 12.3 and table 12.4, invalid read data is discarded during reading, and data mask signals are
used to mask invalid data during writing, according to the access size. The access times in tables
12.3 and 12.4 correspond to the burst times during reading/writing shown in figure 12.2. For
example, when the external bus width is 32 bits with a little endian, the second access (falling
edge of DQS) includes valid data if a byte access of address (8n + 0, 1, 2, 3) occurs.
Tables 12.5 to 12.8 show the correspondence with data on the external data bus for each access
size. During 16-byte and 32-byte accesses, quad word (8 bytes) access is combined, and the
SDRAM command is issued the necessary number of times according to the size to access the
SDRAM as shown in figures 12.3 and 12.4. The DDR2-SDRAM specification stipulates
sequential address changes (0→1→2→3, 1→2→3→0, 2→3→0→1, 3→0→1→2), so that the
address provided as a command is different for reading and for writing. Endian switching is
performed at power-on reset by switching using external pin MODE8.
Rev.1.00 Jan. 10, 2008 Page 465 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Invalid
Valid
Invalid
Valid
Invalid
MA[10]
Invalid
Valid
Invalid
Valid
Invalid
MBA[2:0]
Invalid
Valid
Invalid
Valid
Invalid
Example of CL = 3
32-bit width: MDQS[3:0]
16-bit width: MDQS[1:0]
32-bit width: MDM[3:0]
16-bit width: MDM[1:0]
Invalid
32-bit width: MDQ[31:0]
16-bit width: MDQ[15:0]
Invalid
SDRAM
command
WRITE
bank A
Invalid
1st 2nd 3rd 4th
Invalid
Write data
Read data
READ
bank A
Figure 12.2 Burst Access Operation
Rev.1.00 Jan. 10, 2008 Page 466 of 1658
REJ09B0261-0100
1st 2nd 3rd 4th Invalid
12. DDR2-SDRAM Interface (DBSC2)
Table 12.3 Positions of Valid Data for Access with Burst Length of 4, when the External
Data Bus Width Is Set to 32 Bits
(1) Little Endian
First Access
Second Access
Third Access
Fourth Access
Byte access
(address 8n +
0,1,2,3)
Invalid
Valid
Invalid
Invalid
Byte access
(address 8n +
4,5,6,7)
Valid
Invalid
Invalid
Invalid
Word access
Invalid
(address 8n + 0,2)
Valid
Invalid
Invalid
Word access
Valid
(address 8n + 4,6)
Invalid
Invalid
Invalid
Longword access
(address 8n + 0)
Invalid
Valid
Invalid
Invalid
Longword access
(address 8n + 4)
Valid
Invalid
Invalid
Invalid
Quadword access Valid
(address 8n + 0)
Valid
Invalid
Invalid
(2) Big Endian
First Access
Second Access
Third Access
Fourth Access
Byte access
(address 8n +
0,1,2,3)
Valid
Invalid
Invalid
Invalid
Byte access
(address 8n +
4,5,6,7)
Invalid
Valid
Invalid
Invalid
Word access
Valid
(address 8n + 0,2)
Invalid
Invalid
Invalid
Word access
Invalid
(address 8n + 4,6)
Valid
Invalid
Invalid
Longword access
(address 8n + 0)
Valid
Invalid
Invalid
Invalid
Longword access
(address 8n + 4)
Invalid
Valid
Invalid
Invalid
Valid
Invalid
Invalid
Quadword access Valid
(address 8n + 0)
Rev.1.00 Jan. 10, 2008 Page 467 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.4 Positions of Valid Data for Access with Burst Length of 4, when the External
Data Bus Width Is Set to 16 Bits
(1) Little Endian
First Access
Second Access
Third Access
Fourth Access
Byte access
Invalid
(address 8n + 0,1)
Invalid
Invalid
Valid
Byte access
Invalid
(address 8n + 2,3)
Invalid
Valid
Invalid
Byte access
Invalid
(address 8n + 4,5)
Valid
Invalid
Invalid
Byte access
Valid
(address 8n + 6,7)
Invalid
Invalid
Invalid
Word access
(address 8n + 0)
Invalid
Invalid
Invalid
Valid
Word access
(address 8n + 2)
Invalid
Invalid
Valid
Invalid
Word access
(address 8n + 4)
Invalid
Valid
Invalid
Invalid
Word access
(address 8n + 6)
Valid
Invalid
Invalid
Invalid
Longword access
(address 8n + 0)
Invalid
Invalid
Valid
Valid
Longword access
(address 8n + 4)
Valid
Valid
Invalid
Invalid
Quadword access Valid
(address 8n + 0)
Valid
Valid
Valid
Rev.1.00 Jan. 10, 2008 Page 468 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
(2) Big Endian
First Access
Second Access
Third Access
Fourth Access
Byte access
Valid
(address 8n + 0,1)
Invalid
Invalid
Invalid
Byte access
Invalid
(address 8n + 2,3)
Valid
Invalid
Invalid
Byte access
Invalid
(address 8n + 4,5)
Invalid
Valid
Invalid
Byte access
Invalid
(address 8n + 6,7)
Invalid
Invalid
Valid
Word access
(address 8n + 0)
Valid
Invalid
Invalid
Invalid
Word access
(address 8n + 2)
Invalid
Valid
Invalid
Invalid
Word access
(address 8n + 4)
Invalid
Invalid
Valid
Invalid
Word access
(address 8n + 6)
Invalid
Invalid
Invalid
Valid
Longword access
(address 8n + 0)
Valid
Valid
Invalid
Invalid
Longword access
(address 8n + 4)
Invalid
Invalid
Valid
Valid
Valid
Valid
Valid
Quadword access Valid
(address 8n + 0)
Rev.1.00 Jan. 10, 2008 Page 469 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.5 Data Alignment for Access in Little Endian when External Data Bus Width Is
Set to 32 Bits
Access Size
Address
Byte
Address 0
MDQ31 to
MDQ24
MDQ23 to
MDQ16
MDQ15 to
MDQ8
MDQ7 to
MDQ0
Data
7 to 0
Address 1
Data
7 to 0
Address 2
Data
7 to 0
Address 3
Data
7 to 0
Address 4
Data
7 to 0
Address 5
Data
7 to 0
Address 6
Data
7 to 0
Address 7
Data
7 to 0
Word
Address 0
Address 2
Data
Data
15 to 8
7 to 0
Address 4
Address 6
Longword
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Address 0
Data
Data
Data
Data
31 to 24
23 to 16
15 to 8
7 to 0
Address 4
Data
Data
Data
Data
31 to 24
23 to 16
15 to 8
7 to 0
Rev.1.00 Jan. 10, 2008 Page 470 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Access Size
Address
MDQ31 to
MDQ24
MDQ23 to
MDQ16
MDQ15 to
MDQ8
MDQ7 to
MDQ0
Quadword
Address 0
Data
Data
Data
Data
(First access:
address 4)
63 to 56
55 to 48
47 to 40
39 to 32
Address 0
Data
Data
Data
Data
(Second access:
Address 0)
31 to 24
23 to 16
15 to 8
7 to 0
Table 12.6 Data Alignment for Access in Big Endian when External Data Bus Width Is Set
to 32 Bits
Access Size
Address
MDQ31 to
MDQ24
Byte
Address 0
Data
MDQ23 to
MDQ16
MDQ15 to
MDQ8
MDQ7 to
MDQ0
7 to 0
Address 1
Data
7 to 0
Address 2
Data
7 to 0
Address 3
Data
7 to 0
Address 4
Data
7 to 0
Address 5
Data
7 to 0
Address 6
Data
7 to 0
Address 7
Data
7 to 0
Rev.1.00 Jan. 10, 2008 Page 471 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Access Size
Address
MDQ31 to
MDQ24
MDQ23 to
MDQ16
Word
Address 0
Data
Data
15 to 8
7 to 0
Address 2
Address 4
Data
Data
15 to 8
7 to 0
Address 6
Longword
Address 0
MDQ7 to
MDQ0
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Data
Data
Data
Data
31 to 24
23 to 16
15 to 8
7 to 0
Data
Data
Data
Data
31 to 24
23 to 16
15 to 8
7 to 0
Address 0
Data
Data
Data
Data
(First access:
Address 0)
63 to 56
55 to 48
47 to 40
39 to 32
Address 0
Data
Data
Data
Data
(Second access:
Address 4)
31 to 24
23 to 16
15 to 8
7 to 0
Address 4
Quadword
MDQ15 to
MDQ8
Rev.1.00 Jan. 10, 2008 Page 472 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.7 Data Alignment for Access in Little Endian when External Data Bus Width Is
Set to 16 Bits
Access Size
Address
Byte
Address 0
MDQ15 to MDQ8
MDQ7 to MDQ0
Data
7 to 0
Address 1
Data
7 to 0
Address 2
Data
7 to 0
Address 3
Data
7 to 0
Address 4
Data
7 to 0
Address 5
Data
7 to 0
Address 6
Data
7 to 0
Address 7
Data
7 to 0
Word
Address 0
Address 2
Address 4
Address 6
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Rev.1.00 Jan. 10, 2008 Page 473 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Access Size
Address
MDQ15 to MDQ8
MDQ7 to MDQ0
Longword
Address 0
Data
Data
(First access:
Address 2)
31 to 24
23 to 16
Address 0
Data
Data
(Second access:
Address 0)
15 to 8
7 to 0
Quadword
Address 4
Data
Data
(First access:
Address 6)
31 to 24
23 to 16
Address 4
Data
Data
(Second access:
Address 4)
15 to 8
7 to 0
Address 0
Data
Data
(First access:
Address 6)
63 to 56
55 to 48
Address 0
Data
Data
(Second access:
Address 4)
47 to 40
39 to 32
Address 0
Data
Data
(Third access:
Address 2)
31 to 24
23 to 16
Address 0
Data
Data
(Fourth access:
Address 0)
15 to 8
7 to 0
Rev.1.00 Jan. 10, 2008 Page 474 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.8 Data Alignment for Access in Big Endian when External Data Bus Width Is Set
to 16 Bits
Access Size
Address
MDQ15 to MDQ8
Byte
Address 0
Data
MDQ7 to MDQ0
7 to 0
Address 1
Data
7 to 0
Address 2
Data
7 to 0
Address 3
Data
7 to 0
Address 4
Data
7 to 0
Address 5
Data
7 to 0
Address 6
Data
7 to 0
Address 7
Data
7 to 0
Word
Address 0
Address 2
Address 4
Address 6
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Data
Data
15 to 8
7 to 0
Rev.1.00 Jan. 10, 2008 Page 475 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Access Size
Address
MDQ15 to MDQ8
MDQ7 to MDQ0
Longword
Address 0
Data
Data
(First access:
Address 0)
31 to 24
23 to 16
Address 0
Data
Data
(Second access:
Address 2)
15 to 8
7 to 0
Quadword
Address 4
Data
Data
(First access:
Address 4)
31 to 24
23 to 16
Address 4
Data
Data
(Second access:
Address 6)
15 to 8
7 to 0
Address 0
Data
Data
(First access:
Address 0)
63 to 56
55 to 48
Address 0
Data
Data
(Second access:
Address 2)
47 to 40
39 to 32
Address 0
Data
Data
(Third access:
Address 4)
31 to 24
23 to 16
Address 0
Data
Data
(Fourth access:
Address 6)
15 to 8
7 to 0
Rev.1.00 Jan. 10, 2008 Page 476 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
When the external bus width is set to 16 bits
16-byte read/write access (a total of two commands are issued)
1st access
2nd access
Address 16n + 0
16n + 0
16n + 8
Address 16n + 8
16n + 8
16n + 0
32-byte read access (a total of four commands are issued)
1st access
2nd access
3rd access
4th access
Address 32n + 0
32n + 0
32n + 8
32n + 16
32n + 24
Address 32n + 8
32n + 0
32n + 8
32n + 16
32n+ 24
Address 32n + 16
32n + 16
32n + 24
32n + 0
32n + 8
Address 32n + 24
32n + 16
32n + 24
32n + 0
32n + 8
3rd access
4th access
32-byte write access (a total of four commands are issued)
1st access
2nd access
Address 32n + 0
32n + 0
32n + 8
32n + 16
32n + 24
Address 32n + 8
32n + 16
32n + 24
32n + 0
32n + 8
Address 32n + 16
32n + 16
32n + 24
32n + 0
32n + 8
Address 32n + 24
32n + 0
32n + 8
32n + 16
32n + 24
Figure 12.3 Addresses Generated upon 16/32-Byte Access when the External Data Bus
Width Is 16 Bits
Rev.1.00 Jan. 10, 2008 Page 477 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
When the external bus width is set to 32 bits
16-byte read/write access (a total of one command is issued)
1st access
Address 16n + 0
16n + 0
Address 16n + 8
16n + 8
32-byte read access (a total of two commands are issued)
1st access
2nd access
Address 32n + 0
32n + 0
32n + 16
Address 32n + 8
32n + 0
32n + 16
Address 32n + 16
32n + 16
32n + 0
Address 32n + 24
32n + 16
32n + 0
32-byte write access (a total of two commands are issued)
1st access
2nd access
Address 32n + 0
32n + 0
32n + 16
Address 32n + 8
32n + 16
32n + 0
Address 32n + 16
32n + 16
32n + 0
Address 32n + 24
32n + 0
32n + 16
Figure 12.4 Addresses Generated upon 16/32-Byte Access when the External Data Bus
Width Is 32 Bits
Rev.1.00 Jan. 10, 2008 Page 478 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4
Register Descriptions
Table 12.9 shows the DBSC2 register configuration; Table 12.10 shows register states in the
different processing modes.
The register bit width is 32 bits, and the longword size (32 bits) should be used for register access.
If registers are accessed with sizes other than the longword size, correct operation cannot be
guaranteed.
The DBSC2 register area is, in P4 addresses, from H'FE80 0000 to H'FEFF FFFF and in area 7
addresses, from H'FE800000 to H'FEFFFFFA. If an address other than the register addresses
indicated in table 12.9 is accessed, correct operation cannot be guaranteed.
Rev.1.00 Jan. 10, 2008 Page 479 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.9 DBSC2 Register Configuration
Register Name Abbreviation R/W
DBSC2 status
register
DBSTATE
Access SynchroniSize
zation
P4 Area Address Area 7 Address (Bits) Clock
R
H'FE80 000C
H'1E80 000C
32
DDRck
SDRAM
DBEN
operation enable
register
R/W
H'FE80 0010
H'1E80 0010
32
DDRck
SDRAM
command
control register
DBCMDCNT
R/W
H'FE80 0014
H'1E80 0014
32
DDRck
SDRAM
configuration
setting register
DBCONF
R/W
H'FE80 0020
H'1E80 0020
32
DDRck
SDRAM timing
register 0
DBTR0
R/W
H'FE80 0030
H'1E80 0030
32
DDRck
SDRAM timing
register 1
DBTR1
R/W
H'FE80 0034
H'1E80 0034
32
DDRck
SDRAM timing
register 2
DBTR2
R/W
H'FE80 0038
H'1E80 0038
32
DDRck
SDRAM refresh DBRFCNT0
control register 0
R/W
H'FE80 0040
H'1E80 0040
32
DDRck
SDRAM refresh DBRFCNT1
control register 1
R/W
H'FE80 0044
H'1E80 0044
32
DDRck
SDRAM refresh DBRFCNT2
control register 2
R/W
H'FE80 0048
H'1E80 0048
32
DDRck
SDRAM refresh DBRFSTS
status register
R/W
H'FE80 004C
H'1E80 004C
32
DDRck
DDRPAD
frequency
setting register
DBFREQ
R/W
H'FE80 0050
H'1E80 0050
32
DDRck
DDRPAD DIC,
ODT, OCD
setting register
DBDICODTO
CD
R/W
H'FE80 0054
H'1E80 0054
32
DDRck
SDRAM mode
setting register
DBMRCNT
W
H'FE80 0060
H'1E80 0060
32
DDRck
Rev.1.00 Jan. 10, 2008 Page 480 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.10 Register Status in each Processing Mode
Power-On Reset
Manual Reset
Sleep/Deep Sleep
Register Name
Abbreviation
By PRESET pin/
WDT/H-UDI
By WDT/Multiple By SLEEP
Exception
Instruction
DBSC2 status
register
DBSTATE
H'0000 0x00*
Retained
Retained
SDRAM operation DBEN
enable register
H'0000 0000
Retained
Retained
SDRAM command DBCMDCNT
control register
H'0000 0000
Retained
Retained
SDRAM
configuration
setting register
DBCONF
H'009A 0001
Retained
Retained
SDRAM timing
register 0
DBTR0
H'0203 0501
Retained
Retained
SDRAM timing
register 1
DBTR1
H'0001 0001
Retained
Retained
SDRAM timing
register 2
DBTR2
H'0104 0303
Retained
Retained
SDRAM refresh
control register 0
DBRFCNT0
H'0000 0000
Retained
Retained
SDRAM refresh
control register 1
DBRFCNT1
H'0000 0200
Retained
Retained
SDRAM refresh
control register 2
DBRFCNT2
H'1000 0080
Retained
Retained
SDRAM refresh
status register
DBRFSTS
H'0000 0000
Retained
Retained
DDRPAD
frequency setting
register
DBFREQ
H'0000 0000
Retained
Retained
DDRPAD DIC,
DBDICODTOCD
ODT, OCD setting
register
H'0000 0007
Retained
Retained
SDRAM mode
setting register
Undefined
Retained
Retained
Note:
*
DBMRCNT
Initial value is specified by external pin MODE8.
Rev.1.00 Jan. 10, 2008 Page 481 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.1
DBSC2 Status Register (DBSTATE)
The DBSC2 status register (DBSTATE) is a read-only register. Writing is invalid. It is initialized
only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
ENDN
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
x*
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Note: * Initial value is specified by external pin MODE8.
Bit
Bit Name
Initial
Value
R/W
Description
31 to 9
⎯
All 0
R
Reserved
These bits are always read as 0.
8
ENDN
×*
R
Endian Display Bit
Displays the endian of the DBSC2 set by external pin
MODE8.
0: Big endian
1: Little endian
⎯
7 to 0
All 0
R
Reserved
These bits are always read as 0.
Note:
*
Initial value is specified by external pin MODE8.
Rev.1.00 Jan. 10, 2008 Page 482 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.2
SDRAM Operation Enable Register (DBEN)
The SDRAM operation enable register (DBEN) is a readable/writable register. It is initialized only
upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
ACEN
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 1
⎯
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
0
ACEN
0
R/W
SDRAM Access Enable Bit
By setting this bit, data accessing of SDRAM is enabled.
When set to 0, access is disabled; when set to 1,
access is enabled. When access is disabled, attempts
to access SDRAM are ignored. This bit is used for the
initialization sequence or self-refresh operation.
0: Disables access
1: Enables access
Rev.1.00 Jan. 10, 2008 Page 483 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.3
SDRAM Command Control Register (DBCMDCNT)
The SDRAM command control register (DBCMDCNT) is a readable/writable register. It is
initialized only upon power-on reset. The CMD2 to CMD0 bits in DBCMDCNT are always read
as 000.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 3
⎯
All 0
R
Reserved
CMD2 CMD1 CMD0
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 484 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
2 to 0
CMD2 to
CMD0
Initial
Value
R/W
Description
000
R/W
SDRAM Command Issue Bit
These bits are used to issue commands necessary to
execute the DDR2-SDRAM initialization sequence and
self-refresh transition/cancellation. When these bits are
written, the command corresponding to the written value
is issued once. For example, in order to issue the autorefresh command twice, it would be necessary to write
100 to these bits twice. The precharge interval,
minimum interval between auto-refresh and the next
command, and other intervals are values set in the
SDRAM timing register, described below. When read,
these bits are always read as 000.
Once writing is performed to enable the MCKE signal, it
remains enabled. During self-refresh control, the MCKE
goes to low level, but on cancellation MCKE
automatically returns to high level.
For details on the MCKE signal operation, refer to
section 12.5.13, Regarding MCKE Signal Operation.
000: Normal operation (power-on reset)
001: Setting prohibited (Correct operation cannot be
guaranteed.)
010: Precharge (PALL) command issued
011: The MCKE signal is enabled (high level).
100: Auto-refresh (REF) command issued
101 to 111: Setting prohibited (Correct operation cannot
be guaranteed.)
Note: This register can be written only when automatic issue of auto-refresh is disabled (the
ARFEN bit in the DBRFCNT0 register is cleared to 0).
Rev.1.00 Jan. 10, 2008 Page 485 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.4
SDRAM Configuration Setting Register (DBCONF)
The SDRAM configuration setting register (DBCONF) is a readable/writable register. It is
initialized only upon power-on reset.
31
30
29
28
27
26
25
24
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 24 ⎯
Initial
Value
R/W
All 0
R
23
BASFT1 BASFT0
0
R/W
22
21
20
19
18
17
16
SPILT7 SPILT6 SPILT5 SPILT4 SPILT3 SPILT2 SPILT1 SPILT0
0
R/W
1
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
1
R/W
0
R/W
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
BWID
TH1
BWID
TH0
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
1
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
23 to 16 SPLIT7 to
SPLIT0
1001 1010 R/W
Memory Configuration Select Bits
These bits select the memory configuration to be used.
These are used in combination with the BASFT and the
BWIDTH bits. For details on address multiplexing, refer
to section 12.5.6, Regarding Address Multiplexing.
1001 1010: 256-Mbit product (16M × 16 bits)
1001 1011: 512-Mbit product (32M × 16 bits)
1101 1011: 1-Gbit product (64M × 16 bits)
1110 0011: 2-Gbit product (128M × 16 bits)
0001 1011: 256-Mbit product (32M × 8 bits)
0010 0011: 512-Mbit product (64M × 8 bits)
0110 0011: 1-Gbit product (128M × 8 bits)
0110 1011: 2-Gbit product (256M × 8 bits)
Other than above: Setting prohibited (If specified,
correct operation cannot be
guaranteed.)
Rev.1.00 Jan. 10, 2008 Page 486 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
15 to 10 ⎯
Initial
Value
R/W
Description
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
9, 8
BASFT1
and
BASFT0
00
R/W
Bank Address Shift Bits
These bits select the amount of shifting downward of
the bank address.
00: No shift
01: Shift the bank address downward 1 bit.
10: Shift the bank address downward 2 bits.
11: Shift the bank address downward 3 bits.
⎯
7 to 3
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
1, 0
BWIDTH1
and
BWIDTH0
01
R/W
SDRAM Bus Width Setting Bits
These bits set the external data bus width.
00: Setting prohibited (If specified, correct operation
cannot be guaranteed.)
01: 16 bits
10: 32 bits
11: Setting prohibited (If specified, correct operation
cannot be guaranteed.)
Note: Writing to this register should be performed only when the following conditions are met.
•
When SDRAM access is disabled (when the ACEN bit in the DBEN register is 0.).
•
When automatic issue of auto-refresh is disabled (when the ARFEN bit in the
DBRFCNT0 register is cleared to 0.).
Rev.1.00 Jan. 10, 2008 Page 487 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.5
SDRAM Timing Register 0 (DBTR0)
The SDRAM timing register 0 (DBTR0) is a readable/writable register. It is initialized only upon
power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
⎯
⎯
⎯
⎯
⎯
CL2
CL1
CL0
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R/W
1
R/W
0
R/W
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
BIt:
⎯
0
R
Initial value:
R/W:
Bit
TRFC6 TRFC5 TRFC4 TRFC3 TRFC2 TRFC1 TRFC0
0
R/W
Bit Name
31 to 27 ⎯
0
R/W
0
R/W
0
R/W
1
R/W
Initial
Value
R/W
All 0
R
0
R/W
1
R/W
19
18
17
16
TRAS3 TRAS2 TRAS1 TRAS0
0
R/W
7
6
5
4
3
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R/W
1
R/W
1
R/W
2
1
0
TRCD2 TRCD1 TRCD0
0
R/W
0
R/W
1
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
26 to 24 CL2 to CL0 010
R/W
CAS Latency Setting Bits
These bits set the CAS latency. These bits should be
set according to the DDR2-SDRAM specifications. The
number of cycles is the number of DDR clock cycles.
When using the ODT (On Die Termination) enable
output signal MODT, these bits should be set to 4 or
more cycles.
000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
001: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
010: 2 cycles
011: 3 cycles
100: 4 cycles
101: 5 cycles
110: 6 cycles
111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
Rev.1.00 Jan. 10, 2008 Page 488 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
23 to 20 ⎯
Initial
Value
R/W
Description
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
19 to 16 TRAS3 to
TRAS0
0011
R/W
tRAS (ACT-PRE period) Setting Bits
These bits set the ACT-PRE minimum period constraint
for the same bank. These bits should be set according
to the DDR2-SDRAM specifications. The number of
cycles is the number of DDR clock cycles.
0000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
0010: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
0011: 4 cycles
0100: 5 cycles
:
1110: 15 cycles
1111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
15
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 489 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
14 to 8
TRFC6 to
TRFC0
Initial
Value
R/W
Description
000 0101
R/W
tRFC (REF-ACT/REF period) Setting Bits
These bits set the REF-ACT/REF minimum period
constraint These bits should be set according to the
DDR2-SDRAM specifications. The number of cycles is
the number of DDR clock cycles.
000 0000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
000 0100: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
000 0101: 6 cycles
000 0110: 7 cycles
:
100 0001: 66 cycles
100 0010: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
111 1111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
7 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 490 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
2 to 0
TRCD2 to
TRCD0
Initial
Value
R/W
Description
001
R/W
tRCD (ACT-READ/WRITE period) Setting Bits
These bits set the ACT-READ/WRITE minimum period.
These bits should be set according to the DDR2SDRAM specifications. The number of cycles is the
number of DDR clock cycles.
000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
001: 2 cycles
010: 3 cycles
011: 4 cycles
100: 5 cycles
101: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
Notes: 1. AL (Additive Latency) supported by the DBSC2 is only 0.
2. Writing to this register should be performed only when the following conditions are met.
• When SDRAM access is disabled (when the ACEN bit in the DBEN register is 0.).
• When automatic issue of auto-refresh is disabled (when the ARFEN bit in the
DBRFCNT0 register is cleared to 0.).
Rev.1.00 Jan. 10, 2008 Page 491 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.6
SDRAM Timing Register 1 (DBTR1)
The SDRAM timing register 1 (DBTR1) is a readable/writable register. It is initialized only upon
power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
TRP2
TRP1
TRP0
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
1
R/W
BIt:
15
14
13
12
11
10
9
8
2
1
0
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 19 ⎯
TRRD2 TRRD1 TRRD0
0
R/W
Initial
Value
R/W
All 0
R
0
R/W
0
R/W
7
6
5
4
3
⎯
⎯
⎯
⎯
⎯
TWR2 TWR1 TWR0
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
1
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
18 to 16 TRP2 to
TRP0
001
R/W
tRP (PRE-ACT/REF period) Setting Bits
These bits set the PRE-ACT minimum period constraint
for the same bank. These bits should be set according
to the DDR2-SDRAM specifications. The number of
cycles is the number of DDR clock cycles.
000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
001: 2 cycles
010: 3 cycles
011: 4 cycles
100: 5 cycles
101: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
Rev.1.00 Jan. 10, 2008 Page 492 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
15 to 11 ⎯
Initial
Value
R/W
Description
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
10 to 8
TRRD2 to
TRRD0
000
R/W
tRRD (ACT(A)-ACT(B) period) Setting Bits
These bits set the ACT-ACT minimum period constraint
for the different banks. These bits should be set
according to the DDR2-SDRAM specifications. The
number of cycles is the number of DDR clock cycles.
000: 1 cycle
001: 2 cycles
010: 3 cycles
011: 4 cycles
100: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
7 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 493 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
2 to 0
TWR2 to
TWR0
Initial
Value
R/W
Description
001
R/W
tWR (write recovery period) Setting Bits
These bits set the write recovery minimum period
constraint. These bits should be set according to the
DDR2-SDRAM specifications. The number of cycles is
the number of DDR clock cycles.
000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
001: 2 cycles
010: 3 cycles
011: 4 cycles
100: 5 cycles
101: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
Note: Writing to this register should be performed only when the following conditions are met.
•
When SDRAM access is disabled (when the ACEN bit in the DBEN register is 0.).
•
When automatic issue of auto-refresh is disabled (when the ARFEN bit in the
DBRFCNT0 register is cleared to 0.).
Rev.1.00 Jan. 10, 2008 Page 494 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.7
SDRAM Timing Register 2 (DBTR2)
The SDRAM timing register 2 (DBTR2) is a readable/writable register. It is initialized only upon
power-on reset.
31
30
29
28
27
26
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
1
R/W
BIt:
15
14
13
12
11
10
9
8
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 26 ⎯
25
24
TRTP1 TRTP0
RDWR3 RDWR2 RDWR1 RDWR0
0
R/W
0
R/W
Initial
Value
R/W
All 0
R
1
R/W
1
R/W
23
22
21
20
19
18
17
16
⎯
⎯
⎯
TRC4
TRC3
TRC2
TRC1
TRC0
0
R
0
R
0
R
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
3
2
1
0
7
6
5
4
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
WRRD3 WRRD2 WRRD1 WRRD0
0
R/W
0
R/W
1
R/W
1
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
25, 24
TRTP1 and 01
TRTP0
R/W
tRTP (READ-PRE command minimum time) Setting Bits
These bits set the READ-PRE command minimum time
constraint for the same bank. These bits should be set
according to the SDRAM specifications. The number of
cycles is the number of DDR clock cycles.
00: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
01: 2 cycles
10: 3 cycles
11: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
23 to 21 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 495 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
20 to 16 TRC4 to
TRC0
Initial
Value
R/W
Description
0 0100
R/W
tRC (ACT-ACT/REF period) Setting Bits
These bits set the constraint for the minimum time from
ACT command to ACT command (in the same bank)/
REF command. These bits should be set according to
the SDRAM specifications. The number of cycles is the
number of DDR clock cycles.
00000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
00011: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
00100: 5 cycles
00101: 6 cycles
:
10010: 19 cycles
10011: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
11111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
15 to 12 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 496 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
11 to 8
RDWR3 to
RDWR0
Initial
Value
R/W
Description
0011
R/W
READ-WRITE Command Minimum Interval Setting Bits
These bits set the READ-WRITE command minimum
interval constraint. These bits should be set according
to the SDRAM specifications. The number of cycles is
the number of DDR clock cycles.
0000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
0010: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
0011: 4 cycles
0100: 5 cycles
:
1000: 9 cycles
1001: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
1111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
7 to 4
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 497 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
3 to 0
WRRD3 to
WRRD0
Initial
Value
R/W
Description
0011
R/W
WRITE-READ Command Minimum Interval Setting Bits
These bits set the WRITE-READ command minimum
interval constraint. These bits should be set according
to the SDRAM specifications. The number of cycles is
the number of DDR clock cycles.
0000: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
0010: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
0011: 4 cycles
0100: 5 cycles
:
1010: 11 cycles
1011: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
:
1111: Setting prohibit (If specified, correct operation
cannot be guaranteed.)
Note: Writing to this register should be performed only when the following conditions are met.
•
When SDRAM access is disabled (when the ACEN bit in the DBEN register is 0.).
•
When automatic issue of auto-refresh is disabled (when the ARFEN bit in the
DBRFCNT0 register is cleared to 0.).
Rev.1.00 Jan. 10, 2008 Page 498 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.8
SDRAM Refresh Control Register 0 (DBRFCNT0)
The SDRAM refresh control register 0 (DBRFCNT0) is a readable/writable register. It is
initialized only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
ARFEN
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
SRFEN
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 17 ⎯
Initial
Value
R/W
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
16
ARFEN
0
R/W
Auto-Refresh Enable Bit
Enables or disables automatic issue of auto-refresh.
The auto-refresh command is issued periodically
according to the settings of DBRFCNT1/2.
For details on the auto-refresh command issue timing,
refer to section 12.5.5, Auto-Refresh Operation.
0: Disables automatic issue of auto-refresh.
1: Enables automatic issue of auto-refresh.
15 to 1
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 499 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
Initial
Value
R/W
Description
0
SRFEN
0
R/W
Self-Refresh Mode Bit
Performs transition to or cancellation of self-refresh
mode. By writing 1, a transition is made to self-refresh.
By writing 0, self-refresh mode is cancelled. For details
on transition to or cancellation of self-refresh, refer to
section 12.5.4, Self-Refresh Operation.
0: Cancels self-refresh.
1: Makes a transition to self-refresh.
12.4.9
SDRAM Refresh Control Register 1 (DBRFCNT1)
The SDRAM refresh control register 1 (DBRFCNT1) is a readable/writable register. It is
initialized only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 13 ⎯
TREFI12 TREFI11 TREFI10 TREFI9 TREFI8 TREFI7 TREFI6 TREFI5 TREFI4 TREFI3 TREFI2 TREFI1 TREFI0
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
All 0
R
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 500 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Initial
Value
Bit
Bit Name
R/W
12 to 0
TREFI12 to 0 0010
R/W
TREFI0
0000 0000
Description
Average Refresh Interval Setting Bits
These bits set the average interval for auto-refresh
operation. Upon refresh execution, this value is added
to the refresh interval count register.
The number of cycles is the number of DDR clock
cycles.
0 0000 0000 0000: Setting prohibited (If specified,
correct operation cannot be
guaranteed.)
:
0 0000 0011 1111: Setting prohibited (If specified,
correct operation cannot be
guaranteed.)
0 0000 0100 0000: 65 cycles
0 0000 0100 0001: 66 cycles
:
1 1111 1111 1111: 8192 cycles
Note: Writing to this register should be performed only when the following condition is met.
•
When automatic issue of auto-refresh is disabled (when the ARFEN bit in the
DBRFCNT0 register is cleared to 0.).
Rev.1.00 Jan. 10, 2008 Page 501 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.10 SDRAM Refresh Control Register 2 (DBRFCNT2)
The SDRAM refresh control register 2 (DBRFCNT2) is a readable/writable register. It is
initialized only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
LV1
TH14
LV1
TH13
LV1
TH12
LV1
TH11
LV1
TH10
LV1
TH9
LV1
TH8
LV1
TH7
LV1
TH6
LV1
TH5
LV1
TH4
LV1
TH3
LV1
TH2
LV1
TH1
LV1
TH0
Initial value:
R/W:
0
R
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
LV0
TH7
LV0
TH6
LV0
TH5
LV0
TH4
LV0
TH3
LV0
TH2
LV0
TH1
LV0
TH0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31
⎯
0
R
Description
Reserved
This bit is always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
30 to 16 LV1TH14 to 001 0000 R/W
LV1TH0
0000 0000
Level 1 Threshold Setting Bits
These bits set the threshold cycles for executing autorefresh when there is a vacancy in access requests
received via the SuperHyway bus.
The number of cycles is the number of DDR clock
cycles.
When the internal refresh counter value exceeds
LV1TH, and there are consecutive requests received via
the SuperHyway bus, request processing is given
priority over auto-refresh.
The relation between LV1TH and LV0TH must satisfy
the relation LV1TH ≥ LV0TH. Correct operation cannot
be guaranteed if LV1TH <LV0TH.
The value of LV1TH should be set larger than the
constraint TRAS between PRE and ACT set in the
SDRAM timing register 0. If a value equal to or less than
TRAS is set, Correct operation cannot be guaranteed.
Rev.1.00 Jan. 10, 2008 Page 502 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
Initial
Value
R/W
Description
15 to 8
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
7 to 0
LV0TH7 to
LV0TH0
1000 0000 R/W
Level 0 Threshold Setting Bits
These bits set the threshold cycles for executing autorefresh. The number of cycles is the number of DDR
clock cycles.
When single-unit requests received via the SuperHyway
bus end, auto refresh is given priority over the next
request.
Notes: 1. The TREFI bit value of the DBRFCNT1 register and the LV1TH bit of this register are
added and the result used as the maximum value of the auto-refresh counter, that is,
the maximum interval for refresh commands when periodically issuing auto-refresh
signals. Specify the LV1TH bit value so that the maximum interval is within the
maximum value of the ACT-PRE command interval prescribed in the datasheet of the
respective memory manufacturers. For details, refer to section 12.5.5, Auto-Refresh
Operation.
2. Writing to this register should be performed only when the following condition is met.
When automatic issue of auto-refresh is disabled (when the ARFEN bit in the
DBRFCNT0 register is cleared to 0.).
Rev.1.00 Jan. 10, 2008 Page 503 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.11 SDRAM Refresh Status Register (DBRFSTS)
The SDRAM refresh status register (DBRFSTS) is a readable/writable register. It is initialized
only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
RFUDF
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 1
⎯
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
0
RFUDF
0
R/W
Refresh Counter Underflow Bit
Set to 1 to indicate that the refresh counter has
underflows when the refresh counter changes from 1 to
0. This bit is cleared to 0 by writing 0 to it.
Underflow may occur because the LV0TH bit value is
smaller than the maximum number of command
execution cycles, so that refresh cannot be issued until
the counter value reaches 0. In this case, the value of
the LV0TH bit should be changed.
For details on the refresh counter, refer to section
12.5.5, Auto-Refresh Operation.
0: Indicates that no underflow occurs.
1: Indicates that an underflow occurs.
Rev.1.00 Jan. 10, 2008 Page 504 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.12 DDRPAD Frequency Setting Register (DBFREQ)
The DDRPAD frequency setting register (DBFREQ) is a readable/writable register. It is initialized
only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DLLRST
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 9
⎯
All 0
R
FREQ2 FREQ1 FREQ0
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
8
DLLRST
0
R/W
DLL Reset Bit
Resets the DLL within DDRPAD. The FREQ bits should
be used to set the frequency when this bit is 0. If the
FREQ bit is changed when this bit is 1, correct
operation cannot be guaranteed.
0: Resets the frequency setting
1: Generates or retains the frequency setting
7 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
Rev.1.00 Jan. 10, 2008 Page 505 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
2 to 0
FREQ2 to
FREQ0
Initial
Value
R/W
Description
000
R/W
Frequency Setting Bits
These bits set the operating frequency of the data bus
in the DDR2-SDRAM.
000: up to 300 MHz (DDR2-600)
001: Reserved
010: 200 MHz (DDR2-400)
100 to 111: Setting prohibited. (If specified, correct
operation cannot be guaranteed.)
Note: This register is used for initialization, when canceling self-refresh, and when canceling
power supply backup.
For details, refer to section 12.5.3, Initialization Sequence, section 12.5.4, Self-Refresh
Operation, and (2) Recovery from SDRAM Power Supply Backup Mode in section 12.5.10,
DDR2-SDRAM Power Supply Backup Function.
Rev.1.00 Jan. 10, 2008 Page 506 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.13 DDRPAD DIC, ODT, OCD Setting Register (DBDICODTOCD)
The SDRAM refresh status register (DBRFSTS) is a readable/writable register. It is initialized
only upon power-on reset.
31
30
29
28
27
26
25
24
23
22
21
20
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DDRSIG
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
⎯
⎯
⎯
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 25 ⎯
ODTEN1 ODTEN0
0
R/W
0
R/W
19
18
17
DIC_AD DIC_DQ DIC_CK
0
R/W
0
R/W
0
R/W
16
DIC
0
R/W
7
6
5
4
3
2
1
0
ODT_
T_ODT1 T_ODT0
EARLY
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R/W
0
R
0
R
0
R
0
R
0
R
1
R/W
1
R/W
1
R/W
Initial
Value
R/W
All 0
R
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
24
DDRSIG
0
R/W
Write Preamble Time Setting Bit
Sets the preamble time of the DQS signal to be output
when data is written to the DDR2-SDRAM. The number
of cycles is the number of DDR clock cycles.
0: Write preamble time = 0.5 cycle
1: Write preamble time = 1 cycle
23 to 20 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Operation when a value other than 0 is written is not
guaranteed.
19
DIC_AD
0
R/W
Address and Command Pin Impedance Value
This bit should be set to the same value as the value set
for DIC of EMRS(1) in the DDR2-SDRAM.
0: Normal
1: Weak
Rev.1.00 Jan. 10, 2008 Page 507 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
Initial
Value
R/W
Description
18
DIC_DQ
0
R/W
Data Pin Impedance value
This bit should be set to the same value as the value set
for DIC of EMRS(1) in the DDR2-SDRAM.
0: Normal
1: Weak
17
DIC_CK
0
R/W
Clock Pin Impedance value
This bit should be set to the same value as the value set
for DIC of EMRS(1) in the DDR2-SDRAM.
0: Normal
1: Weak
16
DIC
0
R/W
Impedance Value Set in the DIC of EMRS(1) in the
SDRAM
This bit should be set to the same value as the value set
for DIC of EMRS(1) in the DDR2-SDRAM.
0: Normal
1: Weak
15 to 13 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
If a value other than 0 is written, correct operation
cannot be guaranteed.
12, 11
ODTEN1
and
ODTEN0
00
R/W
ODT Output Mode Switch
These bits switch the ODT output mode.
For details on the note when the ODTEN bits are set to
01, refer to section 12.5.9, Important Information
Regarding ODT Control Signal Output to SDRAM.
00: The ODT pin is fixed low regardless of WRITE
command issue.
01: The ODT pin is fixed high when the WRITE
command is issued.
10 and 11: The ODT pin is fixed high regardless of
WRITE command issue.
Rev.1.00 Jan. 10, 2008 Page 508 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Bit
Bit Name
10
ODT_
EARLY
Initial
Value
R/W
Description
0
R/W
ODT Assertion Period Setting
Sets the ODT assertion period. The number of cycles is
the number of DDR clock cycles.
This setting is valid only when ODTEN is set to 01. In
order to extend ODT by 1 cycle using the setting of
ODT_EARLY, after setting CL to 5 or higher, the RDWR
bits in the DBTR2 register must be set to the value
specified in the data sheet for the DDR2-SDRAM, plus
1.
For details on the note when the ODTEN bits are set to
01, refer to section 12.5.9, Important Information
Regarding ODT Control Signal Output to SDRAM.
0: Asserts the ODT pin to high for 3 cycles for one write
command.
1: Asserts the ODT pin to high for 4 cycles for one write
command.
9, 8
T_ODT1
and
T_ODT0
00
R/W
ODT Resistance Value Setting
These bits set the resistance value of the ODT
resistance within DDRPAD turned on for DDR2-SDRAM
reading. They should be set to the same value as the
Rtt set in EMRS(1) of DDR2-SDRAM.
00: ODT disabled
01: 75 Ω
10: 150 Ω
11: Setting prohibited (If specified, correct operation
cannot be guaranteed.)
7 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
If a value other than 0 is written, correct operation
cannot be guaranteed.
2 to 0
⎯
111
R/W
Reserved
These bits should always be written to 111. If these bits
are written to the value other than 111, correct operation
cannot be guaranteed.
Rev.1.00 Jan. 10, 2008 Page 509 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.4.14 SDRAM Mode Setting Register (DBMRCNT)
The SDRAM mode setting register (DBMRCNT) is a write-only register. If it is read, correct
operation cannot be guaranteed.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
BA2
BA1
BA0
Initial value:
R/W:
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
MA14
MA13
MA12
MA11
MA10
MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
⎯
W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 19 ⎯
Initial
Value
R/W
Undefined W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
If a value other than 0 is written, correct operation
cannot be guaranteed.
18 to 16 BA2 to BA0 Undefined W
SDRAM Mode Register and Extended Mode Register
Setting Bits
Bank address pins MBA2, MBA1, and MBA0
correspond to bit 18, bit 17, and bit 16, respectively.
15
⎯
Undefined W
Reserved
This bit is always read as 0. The write value should
always be 0.
If a value other than 0 is written, correct operation
cannot be guaranteed.
14 to 0
MA14 to
MA0
Undefined W
SDRAM Mode Register and Extended Mode Register
Setting Bits
The address pins MA14, MA13, ..., and MA0
correspond to bit 14, bit 13, ..., and bit 0, respectively.
Rev.1.00 Jan. 10, 2008 Page 510 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
By writing to this register, the DDR2-SDRAM address and bank address pins can be directly
manipulated to set the mode and extended mode registers. When this register is written, the mode
register setting (MRS)/extended mode register setting (EMRS) command is issued for the DDR2SDRAM. Upon command execution, settings should be made such that the burst length is 4, the
mode is sequential access mode, and the additive latency (AL) is 0, the DQS is enable, and the
RDQS is disable. Further, settings should be made such that the CAS latency (CL)/write recovery
(WR) is equal to the corresponding bits in SDRAM timing registers 0 and 1 (DBTR0 and
DBTR1).
Rev.1.00 Jan. 10, 2008 Page 511 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5
DBSC2 Operation
12.5.1
Supported SDRAM Commands
Table 12.11 lists the SDRAM commands issued by the DBSC2. These commands are issued to the
DDR2-SDRAM in synchronously with MCK0, MCK0, MCK1, and MCK1. In the table, n-1
indicates the state of the signal applied to DDR2-SDRAM one cycle before SDRAM command
issue; n indicates the state of the signal at the time of command issue.
Table 12.11 SDRAM Commands Issued by the DBSC2
MCKE
MA
MA10/ MBA
[2:0]
MRAS MCAS MWE [14:11] AP
MA
[9:0]
H H
X
X
X
X
X
X
X
H
H L
H
L
H
V
L
V
V
H
H L
H
L
L
V
L
V
V
Bank activate ACT
H
H L
L
H
H
V
V
V
V
Precharge
select bank
PRE
H
H L
L
H
L
X
L
V
X
Precharge all
banks
PALL
H
H L
L
H
L
X
H
X
X
Autorefresh
REF
H
H L
L
L
H
X
X
X
X
Selfrefresh entry
from IDLE
SLFRSH
H
L
L
L
L
H
X
X
X
X
Selfrefresh exit
SLFRSHX
L
H H
X
X
X
X
X
X
X
H
H L
L
L
L
V
V
V
V
Function
Symbol n-1 n
Device
deslect
DSEL
H
Read
READ
Write
WRITE
Mode register MRS/
set
EMRS
MCS
Legend:
H: High level
L: Low level
X: High or low level (don't care)
V: Valid data
The above DSEL command is issued when DDR2-SDRAM is not accessed, and so need not be
explicitly issued by the user.
Rev.1.00 Jan. 10, 2008 Page 512 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5.2
(1)
SDRAM Command Issue
Basic Access
The DBSC2 stores in a queue the requests received via the SuperHyway bus. Request processing
is begun around the time of preceding precharge/activate processing, but processing completion is
in the order received in the queue.
When SDRAM initialization is completed, upon receiving a read/write request, a page miss occurs
with all banks in the closed state. Hence the DBSC2 first issues an activate (ACT) command, to
open the corresponding bank. After opening the bank, the read/write command of the SDRAM
corresponding to the read/write request is issued. At this time, the number of issued read/write
commands differs depending on the bus width and the request size (1/2/4/8/16/32 bytes), as
indicated in figure 12.5. For example, when performing 32-byte reading from the SuperHyway
bus with an external data bus width of 32 bytes, two read commands are executed. When issuing
the read command in the first cycle, data is read with a burst length of 4 (two DDR clock cycles),
so that it is necessary to wait until the third cycle to issue the second read command.
When access ends, the DBSC2 leaves the bank open, without using a precharge (PRE) command.
The bank is closed when (1) the following request is for the same bank with a different row
address; (2) there is an auto-refresh request; or (3) the user issues a precharge-all (PALL)
command using the SDRAM command control register, for self-refresh processing.
Thus in normal access other than self-refresh, the DBSC2 uses hardware for bank management, so
that except for the register settings upon initialization, the user need not execute control.
Further, the DBSC2 performs multi-bank operation of four banks. Hence the maximum number of
banks which can be opened simultaneously is four. Refer to section 12.5.6, Regarding Address
Multiplexing, for the correspondence between access addresses from the SuperHyway bus and
SDRAM bank/row addresses.
When using the SDRAM with a memory capacity of 1 Gbit or greater, refer to section 12.5.8,
Important Information Regarding Use of 8-Bank DDR2-SDRAM Products.
Rev.1.00 Jan. 10, 2008 Page 513 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
1st cycle
16-bit external bus
2nd cycle
3rd cycle
Read (1, 2, 4, or 8 bytes)
1 command
Read
Read (16 bytes)
2 commands
Read
DSEL
Read
Read (32 bytes)
4 commands
Read
DSEL
Read
Write (1, 2, 4, or 8 bytes)
1 command
Write
Write (16 bytes)
2 commands
Write
DSEL
Write
Write (32 bytes)
4 commands
Write
DSEL
Write
DSEL
Read
DSEL
Write
4th cycle
5th cycle
6th cycle
7th cycle
DSEL
Read
DSEL
Read
DSEL
Write
DSEL
Write
32-bit external bus
Read (1, 2, 4, 8, or 16 bytes) 1 command
Read (32 bytes)
2 commands
Write (1, 2, 4, 8, or 16 bytes) 1 command
Write (32 bytes)
2 commands
Read
Read
Write
Write
Figure 12.5 Read/Write Command Issued to the SDRAM in Response
to the Request from the SuperHyway Bus
(2)
Preceding Precharge/Activate Processing
In order to utilize DDR2-SDRAM multibank functions to reduce SDRAM command vacant cycles
insofar as possible and improve the efficiency of bus use, the DBSC2 issues in advance a
PRE/ACT command corresponding to the following request queue page miss processing. Only the
PRE/ACT command is issued in advance, so there is no change in the read/write order. A
PRE/ACT command is issued in advance only when the following request (1) results in a page
miss, and moreover (2) entails access of a bank different from that of the request currently being
processed. Figure 12.6 shows an example of execution of preceding precharge/activate processing.
This is an example of a command issued to the SDRAM when the external data bus width is 32
bits, the PRE/ACT minimum time constraint is 3 cycles, the ACT-READ/WRITE minimum time
constraint is 3 cycles, and the ACT (A)-ACT (B) minimum time constraint is 2 cycles. In this
example, the first through fourth requests are accumulated, and the first request is the request
initially provided to the queue.
First, at time 1 the DBSC2 issues to the SDRAM a PRE command for the first read (16-byte)
request processing. Then, when determining the command to be issued at time 2, due to timing
constraints it is not possible to issue at time 2 the ACT command necessary as request processing
for the first read (16-byte) request, which has higher priority. Hence the DBSC2 searches for a
Rev.1.00 Jan. 10, 2008 Page 514 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
command to be issued at time 2 from the following request queue. From the search results it is
seen that advance precharge processing can be executed for the third read (8-byte) request and the
fourth read (16-byte) request. Because the DBSC2 gives priority to preceding requests, it decides
to perform advance precharge processing for the third read (8-byte) request, and issues a PRE
command to the SDRAM.
When the time advances to time 3, the ACT command cannot be issued for the first read (16-byte)
request at time 3 either, and so a search of the following queue is performed for a command which
can be issued. Due to timing constraints, the ACT command cannot be issued for the third read (8byte) request, and as a result, issuance of the PRE command corresponding to the fourth read (16byte) request is selected.
At time 4, it is possible to execute request processing for the first read (16-byte) request, and an
ACT command is issued to the DDR2-SDRAM.
Thereafter, the processing described above is repeated.
Request
Request
No.
Bank to be Page state
Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time
accessed during request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
Read (16 bytes)
Bank 0
Miss
2
Read (32 bytes)
Bank 1
Hit
3
Read (8 bytes)
Bank 2
Miss
4
Read (16 bytes)
Bank 3
Miss
SDRAM command
PRE
ACT
READ
READ
PRE
PRE
READ
ACT
PRE
PRE
READ
PRE
ACT
ACT
ACT READ ACT READ
READ
READ
READ
READ
As the burst length is 4 in the DDR2-SDRAM, the interval between READ commands is always two cycles.
Figure 12.6 Example of Preceding Precharge/Activate Processing
Rev.1.00 Jan. 10, 2008 Page 515 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5.3
Initialization Sequence
The following shows an example of the initialization sequence. For detailed information such as
the power supply and timing parameters, please refer to the datasheet for the DDR2-SDRAM
being used.
1. Following the instructions in the datasheet guide for the SDRAM being used, supply the power
and the reference voltage.
2. After the power-on reset has been canceled for the LSI and the CPU has begun operating, the
system judges whether the LSI was in power supply backup mode or the normal initialization
sequence (for information on entering settings in power backup mode, please refer to (2)
Recovery from SDRAM Power Supply Backup Mode in section 12.5.10, DDR2-SDRAM
Power Supply Backup Function). If it was an initialization sequence, the software is used to
initiate a wait of at least 100 μs. (An example of how to make the system wait for a specific
interval such as 100 μs can be found in section 12.5.11, Method for Securing Time Required
for Initialization, Self-Refresh Cancellation, etc.)
3. Enter the settings for the SDRAM configuration setting register (DBCONF), the SDRAM
timing register 0 (DBTR0), the SDRAM timing register 1 (DBTR1), and the SDRAM timing
register 2 (DBTR2).
4. DLL settings are entered by writing them to the DDRPAD frequency setting register
(DBFREQ).
A. Set DLLRST = 0.
B. Set the frequency of DDRPAD in the FREQ bit.
C. After DLLRST has been set to 1, the time interval of 100 μs that the DLL needs in order to
stabilize is applied through the software. The clock stabilization supply time of 200 μs that
is required for the DDR2-SDRAM to boot, including the wait time described in item 2
above, can be assured.
5. Write the setting to the DDRPAD DIC, ODT, OCD setting register (DBDICODTOCD). The
value written to the register should match the value set in EMRS(1) of the SDRAM.
6. Writing to the CMD bits in the SDRAM command control register (DBCMDCNT) sets the
MCKE signal to the high level (H), and the software is used to have the system wait for at least
400 ns.
7. Writing to the CMD bits in DBCMDCNT issues the PALL command.
8. Writing to the SDRAM mode setting register (DBMRCNT) issues the EMRS(2) command to
the SDRAM. After that, the EMRS(3) command is issued.
9. Writing to DBMRCNT issues the EMRS(1) command to the SDRAM and sets various
parameters in the EMRS(1) register in the DDR2-SDRAM. The values for DIC, ODT, and
OCD should be set to match the DIC bit, ODT bit, and OCD bit settings in the DIC, ODT,
OCD setting registers of DDRPAD.
Rev.1.00 Jan. 10, 2008 Page 516 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
10. Writing to DBMRCNT issues the MRS command to the SDRAM and sets the various
parameters. At this point, the operating mode is set to normal mode, the DLL reset is set to
reset, the burst length is set to 4, and the burst type is set to sequential. The additive latency
should be set to 0, and CAS latency and write recovery times should be set to match the
settings of DBTR0 and DBTR1.
11. Writing to the CMD bits in DBCMDCNT issues the PALL command.
12. Writing to the CMD bits in DBCMDCNT issues the REF command. Following that, writing to
the CMD bits in DBCMDCNT is done once again and the REF command is issued.
13. Writing to DBMRCNT issues the MRS command to the SDRAM. Other than the parameter
that cancels a DLL reset in the SDRAM, the parameters are the same as the values set in item
10 above.
14. After a wait of at least 200 clock cycles has elapsed via the software, writing to DBMRCNT
issues the EMRS(1) command to the SDRAM and issues the OCD default command.
Subsequently, writing is done to DBMRCNT, the EMRS(1) command is issued, and the OCD
calibration mode exit command is issued.
15. A 1 (access enabled) is set in the ACEN bit in the SDRAM operation enable register (DBEN).
16. Enter settings in the SDRAM refresh control register 1 (DBRFCNT1) and the SDRAM refresh
control register 2 (DBRFCNT2), and set the auto-refresh interval and other parameters.
17. Set the ARFEN bit in DBRFCNT0 to 1 (automatic issue of auto-refresh enabled). Normal
access is subsequently enabled.
12.5.4
Self-Refresh Operation
Self-refreshing helps to reduce the amount of power consumed by the SDRAM and makes it
possible to change the clock frequency and stop the clock.
Also, using the self-refresh operation in combination with power supply control makes it possible
to operate in power supply backup mode, with all power supplies other than that of the SDRAM
off. For details on power supply backup mode, refer to section 12.5.10, DDR2-SDRAM Power
Supply Backup Function.
(1)
Self-Refreshing (without Stopping the Clock)
If it is not necessary to access the SDRAM, the SDRAM can be put in self-refresh mode to reduce
power consumption while still retaining data contents.
Shifting to self-refresh mode is done by writing 1 to the self-refresh enable bit (SRFEN) in the
SDRAM refresh control register 0 (DBRFCNT0). Self-refresh mode can be cancelled by writing 0
to the SRFEN bit.
Rev.1.00 Jan. 10, 2008 Page 517 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Because access is disabled in self-refresh mode, any attempt to access data in the DDR2-SDRAM
will be ignored.
The following procedure is used to make a transition to self-refresh mode.
1. Check to make sure the DBSC2 is not being accessed. The time required for transition to selfrefresh must not exceed the auto-refresh interval requested by the SDRAM by interrupts or
some other causes.
2. Set the ACEN bit in the SDRAM operation enable register (DBEN) to 0 (access disabled).
3. Set the ARFEN bit in the SDRAM refresh control register 0 (DBRFCNT0) to 0 (automatic
issue of auto-refresh disabled).
4. Use the CMD bits in the SDRAM command control register (DBCMDCNT) to issue the
PALL (precharge all banks) command.
5. Use the CMD bits in DBCMDCNT to issue the REF (auto-refresh) command.
6. Set the SRFEN bit in DBRFCNT0 to 1 to make a transition to self-refresh mode.
Use the following procedure to cancel self-refresh mode.
1. Make sure that the processing described in items 2 through 6 will not be disrupted by
interrupts, etc. to assure the auto-refresh interval.
2. Set the SRFEN bit in DBRFCNT0 to 0, to cancel self-refresh mode.
3. Use the software to wait until access to the SDRAM is enabled. The value for this time period
must be at least as long as the time until the non-read command is issued following
cancellation of the self-refresh status (tXSNR time) that is specified in the datasheet for the
SDRAM being used.
4. Use the CMD bits DBCMDCNT to issue the REF (auto-refresh) command.
5. Set the ACEN bit in DBEN to 1 (access enabled).
6. Set the ARFEN bit in DBRFCNT0 to 1 (automatic issue of auto-refresh enabled). Normal
access is enabled after that point).
(2)
Self-Refreshing (Stopping the Clock or Changing the Frequency)
Shifting to self-refresh mode is done by writing 1 to the self-refresh enable bit (SRFEN) in the
SDRAM refresh control register 0 (DBRFCNT0). Self-refresh mode can be cancelled by writing 0
to the SRFE bit.
Because access is disabled in self-refresh mode, no commands are issued to the SDRAM if an
attempt to access data in the SDRAM is made.
The following procedure is used to make a transition to self-refresh mode.
Rev.1.00 Jan. 10, 2008 Page 518 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
1. Check to make sure the DBSC2 is not being accessed. The time required for transition to selfrefresh must not exceed the auto-refresh interval requested by the SDRAM by interrupts or
some other causes.
2. Set the ACEN bit in the SDRAM operation enable register (DBEN) to 0 (access disabled).
3. Set the ARFEN bit in the SDRAM refresh control register 0 (DBRFCNT0) to 0 (automatic
issue of auto-refresh disabled).
4. Use the CMD bits in the SDRAM command control register (DBCMDCNT) to issue the
PALL (precharge all banks) command.
5. Use the CMD bits in DBCMDCNT to issue the REF (auto-refresh) command.
6. Set the SRFEN bit in DBRFCNT0 to 1 to make a transition to self-refresh mode.
7. Read DBRFCNT0, and make sure the SRFEN bit is set to 1.
8. Using the CPG setting, stop the clock to the DBSC2, or change the frequency.
Use the following procedure to cancel self-refresh mode.
1. Re-start the clock supply, and wait until the clock is being stably supplied to the DBSC2.
2. Writing to the DDRPAD frequency setting register (DBFREQ) enters the DLL settings.
A. Set DLLRST = 0.
B. Set the DDRPAD frequency in the FREQ bit.
C. After DLLRST = 1 has been set, use the software to wait the time necessary for the DLL to
stabilize with the DDRPAD, which is at least 100 μs.
3. Set the SRFEN bit in DBRFCNT0 to 0, to cancel self-refresh mode.
4. Use the software to wait until access to the DDR2-SDRAM is enabled. The value for this time
period must be at least as long as the time until the non-read command is issued following
cancellation of the self-refresh status (tXSNR time) that is specified in the datasheet for the
SDRAM being used.
5. Use the CMD bits in DBCMDCNT to issue the REF (auto-refresh) command.
6. Set the ACEN bit in DBEN to 1 (access enabled).
7. Set the ARFEN bit in DBRFCNT0 to 1 (automatic issue of auto-refresh enabled). Normal
access is enabled after that point.
Rev.1.00 Jan. 10, 2008 Page 519 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5.5
Auto-Refresh Operation
When the auto-refresh enable bit (ARFEN) in the SDRAM refresh control register 0
(DBRFCNT0) is 1, the auto-refresh command is issued periodically. If accessing data in the
SDRAM, always make sure this is set.
The average refresh interval is set in the TREFI bits in the SDRAM refresh control register 1
(DBRFCNT1).
In order to minimize reductions in the data transfer capability caused by auto-refreshing, the
timing at which auto-refreshing is carried out can be divided into three levels and controlled:
• Level 0: Refreshing is done in vacant periods between commands being received from the
SuperHyway bus.
• Level 1: Refreshes are issued during request empty cycles.
• Level 2: Refreshing is not done.
The threshold values for level 0 and level 1 are set using the LV0TH bit in the SDRAM refresh
control register 2 (DBRFCNT2), and the threshold values for level 1 and level 2 are set using the
LV1TH bit.
The refresh timing is controlled using a 14-bit refresh counter. The refresh counter counts down
based on the DDR clock, until a refresh is carried out. When a refresh is carried out, the counter
value increments by the amount of the average refresh interval set with the TREFI bits in
DBRFCNT1. Figure 12.7 shows an example of the refresh operation and the update of the refresh
counter.
If there is a bank that is open before the auto-refresh is carried out, the DBSC2 automatically uses
the PALL (precharge all banks) command to precharge all of the banks, and then issues the REF
(auto-refresh) command. Consequently, after the refresh takes place, data access for all of the
banks will be in the missed page state.
Rev.1.00 Jan. 10, 2008 Page 520 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Refresh counter
value
Max. value
(Average refresh interval
+ LV1TH)
The counter value increments
by the amount of
the average refresh interval
Level 2
(Refreshing not done)
LV1TH
Level 1
(Refreshing during
request empty cycles)
Refreshing is done
during request
empty cycles
LV0TH
0
Level 0
(Refreshing in vacant
periods between
SHwy commands)
Refreshing is done immediately
after auto-refresh is enabled
Refreshing is done in
vacant periods between
SHwy commands
Time
Figure 12.7 Relation between Auto-Refresh Operation and Threshold Values
12.5.6
Regarding Address Multiplexing
Memory of various sizes can be connected through the settings of the SDRAM configuration
register (DBCONF). The BWIDTH bits are used to set the external data bus width, and the SPLIT
bit is used to set the size of the memory connected. The BASFT bit setting is used to move the
position of the bank address toward the lower bits; depending on the application the possibility of
page hits may be increased.
Rev.1.00 Jan. 10, 2008 Page 521 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.12 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 16 Bits (BASFT = 00)
(When Using a 16-Bit Product, One Is Connected; for 8-Bit Products, Two Are
Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A11
A10
⎯
⎯
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
A12
⎯
A11
A10
⎯
⎯
⎯
⎯
⎯
⎯
A9
A8
A7
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
A12
A11
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A12
A11
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
A12
A11
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A12
A11
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
64M× ROW ⎯
A12
A11
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
A12
A11
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A12
A13
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A11
A12
A13
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
128M ROW A11
A12
A13
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A11
A12
A13
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
128M ROW A11
16b
8b
COL
COL
⎯
64M× ROW A11
16b
×8b
COL
COL
A12
A13
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A11
A12
A13
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
256M ROW A11
A12
A13
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A12
A13
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
×16b
×8b
COL
COL
A11
Rev.1.00 Jan. 10, 2008 Page 522 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.13 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 32 Bits (BASFT = 00)
(When Using 16-Bit Products, Two Are Connected; for 8-Bit Products, Four
Are Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A12
A11
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A12
A11
⎯
⎯
⎯
⎯
⎯
⎯
A10
A9
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
A12
A13
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
A12
A13
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
64M× ROW ⎯
A12
A13
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A12
A13
⎯
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
128M ROW A14
A12
A13
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
128M ROW A14
16b
8b
COL
COL
⎯
64M× ROW A14
16b
×8b
COL
COL
A12
A13
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
256M ROW A14
A12
A13
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A12
A13
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
×16b
×8b
COL
COL
A14
Rev.1.00 Jan. 10, 2008 Page 523 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.14 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 16 Bits (BASFT = 01)
(When Using a 16-Bit Product, One Is Connected; for 8-Bit Products, Two Are
Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A10
A9
⎯
⎯
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
A12
⎯
A10
A9
⎯
⎯
⎯
⎯
⎯
⎯
A11
A8
A7
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
A11
A10
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A11
A10
⎯
⎯
⎯
⎯
⎯
A12
A9
A8
A7
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
A11
A10
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A11
A10
⎯
⎯
⎯
⎯
⎯
A12
A9
A8
A7
A6
A5
A4
A3
A2
A1
64M× ROW ⎯
A11
A10
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
A11
A10
⎯
⎯
⎯
⎯
⎯
A12
A9
A8
A7
A6
A5
A4
A3
A2
A1
A11
A12
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A10
A11
A12
⎯
⎯
⎯
⎯
⎯
A13
A9
A8
A7
A6
A5
A4
A3
A2
A1
128M ROW A10
A11
A12
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A10
A11
A12
⎯
⎯
⎯
⎯
⎯
A13
A9
A8
A7
A6
A5
A4
A3
A2
A1
128M ROW A10
16b
8b
COL
COL
⎯
64M× ROW A10
16b
×8b
COL
COL
A11
A12
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A10
A11
A12
⎯
⎯
⎯
⎯
⎯
A13
A9
A8
A7
A6
A5
A4
A3
A2
A1
256M ROW A10
A11
A12
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A11
A12
⎯
⎯
⎯
⎯
⎯
A13
A9
A8
A7
A6
A5
A4
A3
A2
A1
×16b
×8b
COL
COL
A10
Rev.1.00 Jan. 10, 2008 Page 524 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.15 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 32 Bits (BASFT = 01)
(When Using 16-Bit Products, Two Are Connected; for 8-Bit Products, Four
Are Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A11
A10
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A11
A10
⎯
⎯
⎯
⎯
⎯
⎯
A12
A9
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
A11
A12
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A11
A12
⎯
⎯
⎯
⎯
A13
A10
A9
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
⎯
A11
A12
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A11
A12
⎯
⎯
⎯
⎯
⎯
A13
A10
A9
A8
A7
A6
A5
A4
A3
A2
64M× ROW ⎯
A11
A12
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A11
A12
⎯
⎯
⎯
⎯
⎯
A13
A10
A9
A8
A7
A6
A5
A4
A3
A2
A11
A12
⎯
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A13
A11
A12
⎯
⎯
⎯
⎯
⎯
A14
A10
A9
A8
A7
A6
A5
A4
A3
A2
128M ROW A13
A11
A12
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A13
A11
A12
⎯
⎯
⎯
⎯
⎯
A14
A10
A9
A8
A7
A6
A5
A4
A3
A2
128M ROW A13
16b
8b
COL
COL
⎯
64M× ROW A13
16b
×8b
COL
COL
A11
A12
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A13
A11
A12
⎯
⎯
⎯
⎯
⎯
A14
A10
A9
A8
A7
A6
A5
A4
A3
A2
256M ROW A13
A11
A12
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A11
A12
⎯
⎯
⎯
⎯
⎯
A14
A10
A9
A8
A7
A6
A5
A4
A3
A2
×16b
×8b
COL
COL
A13
Rev.1.00 Jan. 10, 2008 Page 525 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.16 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 16 Bits (BASFT = 10)
(When Using a 16-Bit Product, One Is Connected; for 8-Bit Products, Two Are
Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A9
A8
⎯
⎯
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
A12
A9
A8
⎯
⎯
⎯
⎯
⎯
⎯
A11
A10
A7
A6
A5
A4
A3
A2
A1
A10
A9
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A10
A9
⎯
⎯
⎯
⎯
⎯
A12
A11
A8
A7
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
16M× ROW ⎯
16b
COL
⎯
32M× ROW ⎯
8b
COL
A10
A9
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A10
A9
⎯
⎯
⎯
⎯
⎯
A12
A11
A8
A7
A6
A5
A4
A3
A2
A1
64M× ROW ⎯
A10
A9
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A10
A9
⎯
⎯
⎯
⎯
⎯
A12
A11
A8
A7
A6
A5
A4
A3
A2
A1
64M× ROW A9
A10
A11
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A9
A10
A11
⎯
⎯
⎯
⎯
⎯
A13
A12
A8
A7
A6
A5
A4
A3
A2
A1
128M ROW A9
A10
A11
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A9
A10
A11
⎯
⎯
⎯
⎯
⎯
A13
A12
A8
A7
A6
A5
A4
A3
A2
A1
128M ROW A9
16b
8b
16b
×8b
COL
COL
COL
COL
A10
A11
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A9
A10
A11
⎯
⎯
⎯
⎯
⎯
A13
A12
A8
A7
A6
A5
A4
A3
A2
A1
256M ROW A9
A10
A11
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A10
A11
⎯
⎯
⎯
⎯
⎯
A13
A12
A8
A7
A6
A5
A4
A3
A2
A1
×16b
×8b
COL
COL
A9
Rev.1.00 Jan. 10, 2008 Page 526 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.17 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 32 Bits (BASFT = 10)
(When Using 16-Bit Products, Two Are Connected; for 8-Bit Products, Four
Are Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A10
A9
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A10
A9
⎯
⎯
⎯
⎯
⎯
⎯
A12
A11
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
A10
A11
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A10
A11
⎯
⎯
⎯
⎯
A13
A12
A9
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
⎯
A10
A11
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A10
A11
⎯
⎯
⎯
⎯
⎯
A13
A12
A9
A8
A7
A6
A5
A4
A3
A2
64M× ROW ⎯
A10
A11
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A10
A11
⎯
⎯
⎯
⎯
⎯
A13
A12
A9
A8
A7
A6
A5
A4
A3
A2
A10
A11
⎯
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A12
A10
A11
⎯
⎯
⎯
⎯
⎯
A14
A13
A9
A8
A7
A6
A5
A4
A3
A2
128M ROW A12
A10
A11
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A12
A10
A11
⎯
⎯
⎯
⎯
⎯
A14
A13
A9
A8
A7
A6
A5
A4
A3
A2
128M ROW A12
16b
8b
COL
COL
⎯
64M× ROW A12
16b
×8b
COL
COL
A10
A11
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A12
A10
A11
⎯
⎯
⎯
⎯
⎯
A14
A13
A9
A8
A7
A6
A5
A4
A3
A2
256M ROW A12
A10
A11
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A10
A11
⎯
⎯
⎯
⎯
⎯
A14
A13
A9
A8
A7
A6
A5
A4
A3
A2
×16b
×8b
COL
COL
A12
Rev.1.00 Jan. 10, 2008 Page 527 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.18 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 16 Bits (BASFT = 11)
(When Using a 16-Bit Product, One Is Connected; for 8-Bit Products, Two Are
Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A8
A7
⎯
⎯
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
A12
⎯
A8
A7
⎯
⎯
⎯
⎯
⎯
⎯
A11
A10
A9
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
A9
A8
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A9
A8
⎯
⎯
⎯
⎯
⎯
A12
A11
A10
A7
A6
A5
A4
A3
A2
A1
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
A9
A8
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A9
A8
⎯
⎯
⎯
⎯
⎯
A12
A11
A10
A7
A6
A5
A4
A3
A2
A1
64M× ROW ⎯
A9
A8
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A9
A8
⎯
⎯
⎯
⎯
⎯
A12
A11
A10
A7
A6
A5
A4
A3
A2
A1
64M× ROW A8
A9
A10
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A8
A9
A10
⎯
⎯
⎯
⎯
⎯
A13
A12
A11
A7
A6
A5
A4
A3
A2
A1
128M ROW A8
A9
A10
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A8
A9
A10
⎯
⎯
⎯
⎯
⎯
A13
A12
A11
A7
A6
A5
A4
A3
A2
A1
128M ROW A8
16b
8b
16b
×8b
COL
COL
COL
COL
A9
A10
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A8
A9
A10
⎯
⎯
⎯
⎯
⎯
A13
A12
A11
A7
A6
A5
A4
A3
A2
A1
256M ROW A8
A9
A10
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A9
A10
⎯
⎯
⎯
⎯
⎯
A13
A12
A11
A7
A6
A5
A4
A3
A2
A1
×16b
×8b
COL
COL
A8
Rev.1.00 Jan. 10, 2008 Page 528 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Table 12.19 Relation between SDRAM Address Pins and Logical Addresses when the
External Data Bus Width Is Set to 32 Bits (BASFT = 11)
(When Using 16-bit Products, Two Are Connected; for 8-Bit Products, Four
Are Connected)
Memory
MBA
MBA
MBA
Type
2
1
0
MA14 MA13 MA12 MA11 MA10 MA9
MA8
MA7
MA6
MA5
MA4
MA3
MA2
MA1
MA0
A9
A8
⎯
⎯
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A13
⎯
A9
A8
⎯
⎯
⎯
⎯
⎯
⎯
A12
A11
A10
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
A9
A10
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A9
A10
⎯
⎯
⎯
⎯
A13
A12
A11
A8
A7
A6
A5
A4
A3
A2
32M× ROW ⎯
16M× ROW ⎯
16b
8b
COL
COL
⎯
A9
A10
⎯
⎯
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
⎯
A9
A10
⎯
⎯
⎯
⎯
⎯
A13
A12
A11
A8
A7
A6
A5
A4
A3
A2
64M× ROW ⎯
A9
A10
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A14
A9
A10
⎯
⎯
⎯
⎯
⎯
A13
A12
A11
A8
A7
A6
A5
A4
A3
A2
A9
A10
⎯
⎯
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A11
A9
A10
⎯
⎯
⎯
⎯
⎯
A14
A13
A12
A8
A7
A6
A5
A4
A3
A2
128M ROW A11
A9
A10
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A11
A9
A10
⎯
⎯
⎯
⎯
⎯
A14
A13
A12
A8
A7
A6
A5
A4
A3
A2
128M ROW A11
16b
8b
COL
COL
⎯
64M× ROW A11
16b
×8b
COL
COL
A9
A10
⎯
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A11
A9
A10
⎯
⎯
⎯
⎯
⎯
A14
A13
A12
A8
A7
A6
A5
A4
A3
A2
256M ROW A11
A9
A10
A29
A28
A27
A26
A25
A24
A23
A22
A21
A20
A19
A18
A17
A16
A15
A9
A10
⎯
⎯
⎯
⎯
⎯
A14
A13
A12
A8
A7
A6
A5
A4
A3
A2
×16b
×8b
COL
COL
A11
Rev.1.00 Jan. 10, 2008 Page 529 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5.7
Regarding SDRAM Access and Timing Constraints
In this section, waveforms at the various pins during basic DDR2-SDRAM access are explained
first and then the relation between DDR2-SDRAM access and the CAS latency (CL), tRAS, tRFC,
tRCD, tRP, tRRD, tWR, tRTP, tRC, READ-WRITE minimum interval, WRITE-READ minimum
interval set using the SDRAM timing registers 0 to 2 (DBTR0 to DBTR2) is explained.
(1)
Basic SDRAM Access
In this section, waveforms at the various pins during basic SDRAM access, including reading,
writing, auto-refresh, and self-refresh operations, are explained.
For the relation between writing and the ODT control signal output, refer to section 12.5.9,
Important Information Regarding ODT Control Signal Output to SDRAM.
Figure 12.8 shows waveforms for 1/2/4/8/16-byte reading when the bus width is set to 32 bits. In
this case, single-reading is performed in which the READ command is issued once. In this
example, read access processing is executed for bank A after the ACT command is issued, but
when there is a page hit, access begins with the issue of the READ command.
Rev.1.00 Jan. 10, 2008 Page 530 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
Invalid
Valid
Invalid
MA[10]
Valid
Invalid
Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid
Invalid
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Read data
SDRAM
ACT
command bank A
READ
bank A
Figure 12.8 Waveforms for 1/2/4/8/16-Byte Reading
(When the Bus Width Is Set to 32 Bits)
Figure 12.9 shows waveforms for 32-byte reading when the bus width is set to 32 bits. In this case,
the READ command is issued twice. In this example, read access processing is executed for bank
A after the ACT command is issued, but when there is a page hit, access begins with the issue of
the READ command.
Rev.1.00 Jan. 10, 2008 Page 531 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11 ]
MA[9:0]
Valid
Invalid
Valid Invalid Valid
Invalid
MA[10]
Valid
Invalid
Valid Invalid Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid Invalid Valid
Invalid
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Read data
SDRAM
ACT
command bank A
READ
bank A
READ
bank A
Figure 12.9 Waveforms for 32-Byte Reading
(When the Bus Width Is Set to 32 Bits)
Figure 12.10 shows waveforms for 1/2/4/8/16-byte writing when the bus width is set to 32 bits. In
this case, single-writing is performed in which the WRITE command is issued once. In this
example, write access processing is executed for bank A after the ACT command is issued, but
when there is a page hit, access begins with the issue of the WRITE command.
Rev.1.00 Jan. 10, 2008 Page 532 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
Invalid
Valid
Invalid
MA[10]
Valid
Invalid
Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid
Invalid
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
Invalid
MDQ[31:0]
Invalid
Invalid
Write data
SDRAM
ACT
command bank A
WRITE
bank A
Figure 12.10 Waveforms for 1/2/4/8/16-Byte Writing
(When the Bus Width Is Set to 32 Bits)
Figure 12.11 shows waveforms for 32-byte writing when the bus width is set to 32 bits. In this
case, the WRITE command is issued twice. In this example, write access processing is executed
for bank A after the ACT command is issued, but when there is a page hit, access begins with the
issue of the WRITE command.
Rev.1.00 Jan. 10, 2008 Page 533 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
Invalid
Valid Invalid Valid
Invalid
MA[10]
Valid
Invalid
Valid Invalid Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid Invalid Valid
Invalid
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Invalid
Write data
SDRAM
ACT
command bank A
WRITE
bank A
WRITE
bank A
Figure 12.11 Waveforms for 32-Byte Writing (When the Bus Width Is Set to 32 Bits)
Figure 12.12 shows waveforms during auto-refresh operation resulting from settings of the
SDRAM refresh control registers 0, 1, and 2. The DBSC2 issues a REF command automatically
after the PALL command is issued when at least one DDR2-SDRAM bank is activated before the
REF command. Consequently, there is no need to use software to manage precharging of all the
banks for the auto-refresh operation.
Rev.1.00 Jan. 10, 2008 Page 534 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
MA[10]
Invalid
Invalid
Invalid
MBA[2:0]
Invalid
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
SDRAM
command
PALL
REF
Figure 12.12 Auto-Refresh Operation
Figure 12.13 shows the self-refresh operation. In order to perform self-refresh operation, the
sequence must be observed. For details, refer to section 12.5.4, Self-Refresh Operation.
When performing processing according to the sequence in section 12.5.4, Self-Refresh Operation,
commands to be issued to the SDRAM are those shown in figure 12.13. Before the transition to
self-refresh, the PALL command is issued in software. Then, software is used to issue the REF
command, and the SLFRSH (self-refresh entry from IDLE) command is issued. The SDRAM
continues in self-refresh mode until self-refresh is cancelled in software. After issuing the
SLFRSHX (self-refresh exit) command in software, it is necessary to wait for the time (tXSNR)
specified in the datasheet for the SDRAM being used until issuing a REF command. A wait
Rev.1.00 Jan. 10, 2008 Page 535 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
example is shown in section 12.5.11, Method for Securing Time Required for Initialization, SelfRefresh Cancellation, etc.
MCK0,
MCK1
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
MA[10]
Invalid
Invalid
Invalid
MBA[2:0]
Invalid
Self-refresh in progress
tXSNR
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
SDRAM
command
REF
PALL
SLFRSH
SLF
RSHX
REF
Figure 12.13 Self-Refresh Operation
(2)
Regarding Timing Constraints
Figure 12.14 shows the relation between the settings of CL, tRAS, tRCD, and tRP, and the issuing
of commands. Figure 12.15 shows the relation to tRRD and tRTP, figure 12.16 shows the relation
to tWR, figure 12.17 shows the relation to tRC, figure 12.18 shows the relation to READ-WRITE,
figure 12.19 shows the relation to WRITE-READ, and figure 12.20 shows the relation to tRFC.
Figure 12.14 corresponds to operation in a case in which, with bank A open, there is read access of
bank A and a page miss occurs. The constraint tRP between the PRE command and ACT
Rev.1.00 Jan. 10, 2008 Page 536 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
command, the constraint tRCD between the ACT command and READ command, and the
constraint tRAS between the ACT command and the PRE command are involved. The DBSC2
waits to issue commands until each of the constraints is satisfied.
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
MA[10]
MBA[2:0]
Valid
Invalid
Valid
Invalid
Valid
Invalid
Valid
Invalid
Invalid
Invalid
Valid
Invalid
Valid
Invalid
Valid Invalid
Invalid
Valid
tRCD
= 3 cycles
tRP
= 3 cycles
Invalid
CL
= 3 cycles
tRAS
= 9 cycles
MDQS[3:0]
MDM[3:0]
Invalid
Invalid
MDQ[31:0]
SDRAM
command
Invalid
Read data
PRE
bank A
ACT
bank A
PRE
bank A
READ
bank A
Figure 12.14 tRP, tRCD, CL, and tRAS
Rev.1.00 Jan. 10, 2008 Page 537 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid Invalid Valid Valid Invalid Valid Invalid Valid
MA[10]
Valid Invalid Valid Valid Invalid Valid Invalid Valid Invalid
MBA[2:0]
Valid Invalid Valid Valid Invalid Valid Invalid Valid Invalid Valid
tRRD
= 2 cycles
Valid
Invalid
Invalid
Valid
Invalid
Invalid
Valid
Invalid
Invalid
tRTP
= 2 cycles
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Read data
SDRAM
ACT
command bank A
ACT READ
bank B bank A
READ
bank B
READ
bank C
PRE
bank C
ACT
bank C
Figure 12.15 tRRD and tRTP
Figure 12.15 shows a case in which the pages for both of banks A and B are closed, the page for
bank C is open, and a page hit has occurred. When the tRRD time constraint has been satisfied
starting from issue of the ACT command for bank A, the ACT command for bank B is issued.
Because time tRCD has elapsed from the issue of the ACT command for bank A, a READ
command can be used. The READ command has a burst length of 4, so after two cycles a READ
command for bank B can be issued. A further two cycles later, a READ command for bank C can
be issued. However, the next request is access for which bank C must be closed, and so after the
elapse of time tRTP a PRE command is issued.
Rev.1.00 Jan. 10, 2008 Page 538 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
MA[10]
Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid
Invalid
Valid
Invalid
Valid
Invalid
Valid
Invalid
Valid
Invalid
Valid
Invalid
Valid
Example of CL = 3
tWR
= 3 cycles
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Invalid
Write data
SDRAM WRITE
command bank A
PRE
bank A
ACT
bank A
WRITE
bank A
Figure 12.16 tWR
Figure 12.16 shows a case in which, after a write request, access occurs requiring that bank B be
closed. After the issue of a WRITE command, it is necessary to wait for time tWR or longer after
output of the write data before issuing a PRE command.
Rev.1.00 Jan. 10, 2008 Page 539 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
Invalid
Valid
MA[10]
Valid
Invalid
Valid
MBA[2:0]
Valid
Invalid
Valid
Invalid
Invalid
Invalid
Invalid
tRP
= 3 cycles
tRAS
= 9 cycles
tRC
= 12 cycles
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Read data
SDRAM
ACT
command bank A
READ
bank A
PALL
REF
Figure 12.17 tRC
Figure 12.17 shows an example of performing auto-refresh after read access of bank A, the page
for which had been closed. After issuing an ACT command and READ command for bank A and
performing data reading, a PALL command must be used to close all banks in order to perform
auto-refresh. In order to issue the PALL command, the tRAS time constraint must be satisfied, and
issuing of the PALL command is delayed until this time. Then, when issuing the REF command,
both of time constraints tRP and tRC must be satisfied simultaneously. When these constraints are
both satisfied, the REF command is issued and auto-refresh is performed.
Rev.1.00 Jan. 10, 2008 Page 540 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
Invalid
Valid
Invalid
MA[10]
Valid
Invalid
Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid
Invalid
RDWR
= 4 cycles
Example of CL = 3
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Read data
SDRAM READ
command any
bank
Invalid
Invalid
Write data
WRITE
any
bank
Figure 12.18 READ-WRITE Minimum Time
Figure 12.18 is an example of a case in which, after issuing a READ command, a WRITE
command is issued. In order to issue the WRITE command after issuing the READ command, the
DBSC2 waits for a minimum time stipulated by the RDWR bits.
Rev.1.00 Jan. 10, 2008 Page 541 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
High level
MCKE
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Valid
Invalid
Valid
Invalid
MA[10]
Valid
Invalid
Valid
Invalid
MBA[2:0]
Valid
Invalid
Valid
Invalid
Example of CL= 3
WRRD
= 7 cycles
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
Invalid
Invalid
Write data
SDRAM WRITE
command any
bank
Read data
READ
any
bank
Figure 12.19 WRITE-READ Minimum Time
Figure 12.19 is an example of a case in which, after issuing a WRITE command, a READ
command is issued. In order to issue the READ command after issuing the WRITE command, the
DBSC2 waits for a minimum time stipulated by the WRRD bits.
Rev.1.00 Jan. 10, 2008 Page 542 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK0,
MCK1
MCKE
High level
MCS
MRAS
MCAS
MWE
MA[14:11]
MA[9:0]
Invalid
Valid
Invalid
Valid
Invalid
MA[10]
Invalid
Valid
Invalid
Valid
Invalid
MBA[2:0]
Invalid
Valid
Invalid
Valid
Invalid
tRFC
= 6 cycles
MDQS[3:0]
MDM[3:0]
Invalid
MDQ[31:0]
Invalid
SDRAM
REF
command
ACT
any
bank
READ
any
bank
Figure 12.20 tRFC
Figure 12.20 is an example of a case in which, after issuing a REF command, a READ request is
issued. In order to issue the ACT commend after issuing the REF command, the DBSC2 waits for
a time stipulated by tRFC.
Rev.1.00 Jan. 10, 2008 Page 543 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5.8
Important Information Regarding Use of 8-Bank DDR2-SDRAM Products
The DDR2-SDRAM specifications limit the number of banks in an 8-bank product which can be
activated simultaneously. Control must be executed so that the number of activated banks never
exceeds four banks. Hence the DBSC2 handles (BA2,BA1,BA0) = (1,X,Y) and (0,X,Y) as access
to the same banks. Through this handling, no more than four banks can be activated
simultaneously. As an operation example, consider a case in which the page corresponding to
bank (BA2,BA1,BA0) = (0,0,0) is opened, and then access of (BA2,BA1,BA0) = (1,0,0) occurs.
After using a PRE command to close the page of the bank corresponding to (BA2,BA1,BA0) =
(0,0,0), the DBSC2 issues an ACT command for the bank corresponding to (BA2,BA1,BA0) =
(1,0,0) to open the page, and accesses the memory. Because the DBSC2 executes the above
control, if a program which is activated simultaneously is placed in an address area such that
(BA2,BA1,BA0) = (1,X,Y) and (0,X,Y), frequent page misses may result.
12.5.9
Important Information Regarding ODT Control Signal Output to SDRAM
The following should be noted when having the DBSC2 output an ODT control signal to the
SDRAM.
• When an ODT control signal is output to the SDRAM, a CAS latency of at least four DDR
clock cycles is necessary (figure 12.21).
• When the ODT control signal is output one DDR clock cycle early using the ODT_EARLY bit
in the DBDICODTOCD register and is extended, the CAS latency must be at least five DDR
clock cycles, and moreover the setting of the RDWR bits in the DBTR2 register must be equal
to the value required by the SDRAM specifications, plus one (figure 12.22)
The DBSC2 supports only the memory for which tAOND is two cycles and tAOFD is 2.5 cycles.
Rev.1.00 Jan. 10, 2008 Page 544 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK
High level
MCKE
Command
write
3 cycles
for product
with CL = 4
Data
tAOFD
= 2.5 cycles
MODT
tAOND
= 2 cycles
Terminating
resistor
in SDRAM
Resistor ON
As shown in the above figure, when CL is 4, the effective ODT control signal
(MODT) to the SDRAM can be asserted at the same timing as the issue of the
WRITE command. If CL is 5 or greater, MODT is asserted after the issue of the
WRITE command. However, if CL is 3 or less, MODT needs to be asserted
before the issue of the WRITE command, which is not supported by this LSI.
Figure 12.21 ODT Control Signal when CL = 4
Rev.1.00 Jan. 10, 2008 Page 545 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCK
Command
High level
4 -> 5 cycles
MCKE
read
5 cycles for
product with CL = 5
write
4 cycles for
product with CL = 5
Data
If the interval from the READ command to the WRITE command is 4 cycles, read data exists
on the data bus when Rtt is turned on. Therefore, the interval should be 5 cycles.
tAOFD
= 2.5 cycles
MODT
tAOND
= 2 cycles
Terminating
Resistor ON
Extended for 1 cycle
resistor
in SDRAM
The above figure shows an example when a product with CL = 5 is used. As the ODT control signal (MODT)
is extended for one cycle, the product with CL = 5 or greater is required. If a product with CL = 4 or less is
used, MODT needs to be asserted before the issue of the WRITE command, which is not supported by this
LSI.
The interval between the READ and WRITE commands required for the SDRAM is assumed to be 4 cycles.
However, if the interval is 4 cycles, read data exists on the data bus when the terminating resistor in the
SDRAM is turned on since MODT is extended for one cycle. To prevent this, the interval should be set to 5
cycles.
Figure 12.22 Important Information on One-Cycle Extension of ODT Control Signal
12.5.10 DDR2-SDRAM Power Supply Backup Function
The SDRAM power supply backup function utilizes the SDRAM self-refresh state to turn off the
power supply to most of the modules including the DBSC2 (all modules except the 1.8 V I/O),
while maintaining the data in the SDRAM. By using this function, not only is it possible to cut
power consumption, but the time needed to transfer data once again to the SDRAM can be
eliminated, since the valid data is maintained within the SDRAM (see figure 12.23). In order to
realize this function, in addition to the LSI device containing the DBSC2, a separate external
control circuit (microcomputer or similar) is needed to monitor the states of this LSI and the
memory.
Rev.1.00 Jan. 10, 2008 Page 546 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
Normal operation
When SDRAM power supply backup function is used
This LSI
This LSI
DBSC2
Data is retained
in self-refresh state
DBSC2
SDRAM
IO cell
Internal
CKE
MCKE
Normal
operation
Internal
CKE
1.8-V
power on
External
High level device
input
Status signal
1.0-V
power off
Data
retained
MCKE
Low level
output
MBKPRST
1.0-V
power on
SDRAM
IO cell
1.8-V
power on
MBKPRST
Low level
input
External
device
Status signal
As the power to most modules, except the 1.8-V
power supply for DDRPAD, is turned off, chip
power consumption can be reduced.
Figure 12.23 SDRAM Power Supply Backup Function
In order to implement the power supply backup function, a control signal MBKPRST is necessary
to hold MCKE at low level even when power other than for the 1.8 V I/O is turned off. When this
signal is at low level, MCKE pin can be held at low level even when the power supply within the
chip is in the turned-off state. After using the DBSC2 to put the SDRAM into the self-refresh
state, by using this MBKPRST signal to hold the MCKE signal at low level, the SDRAM selfrefresh state can be maintained even when the power supply in the chip is turned off.
To cancel the power supply backup state, perform a power-on reset. As a result, the DBSC2
registers are initialized, and so the self-refresh control circuit is also initialized. In order to put the
SDRAM into the self-refresh state before power-on reset, when the internal CKE signal is
indefinite, and also during power-on reset, the MBKPRST signal must be held at low level.
Power-on reset causes the DBSC2 to fix the internal CKE signal at low level, so that after poweron reset is released the MBKPRST signal is raised to high level. (If not in the power supply
backup state, MBKPRST is always at high level and there is no problem.)
Thus the power supply backup state is cancelled through power-on reset, and so the software must
decide whether the normal SDRAM initialization sequence is necessary, or whether the LSI was in
the power supply backup state. In order to perform this decision, a state signal is input to this LSI
from an external control circuit. The method of input is arbitrary, and a general port can be used.
After power-on reset, the software monitors the state signal applied by the external control circuit,
and judges whether the state should be the power supply backup state or whether SDRAM
initialization is necessary. Before using register settings to send MCKE to high level, the state
signal must be made to signify a state other than the power supply backup state. (After driving pin
Rev.1.00 Jan. 10, 2008 Page 547 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
MCKE to high level, upon power-on reset the data within the SDRAM is destroyed. Hence if the
state signal is not set in advance to a state other than power supply backup state, there is the
danger that the destroyed data may be treated as the correct data.)
In this way, procedures are used to make a transition to and cancel SDRAM power supply backup
mode; if these procedures are not followed, the data in the SDRAM may be destroyed.
These procedures are explained below.
(1)
Transition to SDRAM Power Supply Backup Mode
The following method is used.
1. Confirm that the controller is not being accessed. The time required for transition must not
exceed the auto-refresh interval requested by the SDRAM by interrupts or some other causes.
2. Set the ACEN bit in the SDRAM operation enable register (DBEN) to 0 (access disabled).
3. Set the ARFEN bit in the SDRAM refresh control register 0 (DBRFCNT0) to 0 (automatic
issue of auto-refresh disabled).
4. Use the CMD bits in the SDRAM command control register (DBCMDCNT) to issue a PALL
(precharge all banks) command.
5. Use the CMD bits in DBCMDCNT to issue a REF (auto-refresh) command.
6. Set the SRFEN bit in DBRFCNT0 to 1, to make a transition to self-refresh.
7. Check that the SRFEN bit is 1 by reading the SDRAM refresh control register (DBRFCNT0).
8. Use a general-purpose port or other means to convey to the external device that the SDRAM
has entered the self-refresh state. Upon receiving this notification, the external device should
change the MBKPRST signal from high level to low level.
9. Turn off the unnecessary power, other than the DBSC2 1.8 V I/O.
(2)
Recovery from SDRAM Power Supply Backup Mode
The following method is used.
1. Turn on the power supply to the LSI.
2. Input a power-on reset to the LSI.
3. After release of power-on reset, an external device should change the MBKPRST signal from
low to high level.
4. An external control circuit decides, using a general-use port or the like, whether to perform a
normal initialization sequence of the SDRAM, or to recover from power supply backup mode.
For normal initialization sequence of the SDRAM, refer to section 12.5.3, Initialization
Sequence.
Rev.1.00 Jan. 10, 2008 Page 548 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
5. The SDRAM configuration setting register (DBCONF), SDRAM timing register 0 (DBTR0),
SDRAM timing register 1 (DBTR1), and SDRAM timing register 2 (DBTR2) should be set.
6. By writing to the DDRPAD frequency setting register DBFREQ, DLL settings are made.
A. Set DLLRST = 0.
B. Set the FREQ bits to the DDRPAD frequency.
C. After setting DLLRST = 1, the software waits for the DLL stabilization time of 100 μs or
more required by DDRPAD.
7. Write to the DDRPAD DIC, ODT, OCD setting register DBDICODTOCD. Values to be
written should match values set in SDRAM EMRS(1).
8. Use the CMD bits in the SDRAM command control register (DBCMDCNT) to set the MCKE
signal to high level, and have the software wait for the time, requested by the respective
memory manufacturers, from cancellation of the self-refresh state until issue of a non-read
command (time tXSNR).
9. Write to DBCMDCNT to issue a REF (auto-refresh) command.
10. Set the ACEN bit in the SDRAM operation enable register (DBEN) to 1 (access enabled).
11. Set the SDRAM refresh control registers 1 and 2 (DBRFCNT1 and DBRFCNT2).
12. Set the ARFEN bit in the SDRAM refresh control register 0 (DBRFCNT0) to 1 (automatic
issue of auto-refresh enabled). Thereafter, normal access is possible.
12.5.11 Method for Securing Time Required for Initialization, Self-Refresh Cancellation,
etc.
When using DBSC2 register settings to set initialization, cancel self-refresh and the like, it is
necessary to wait a time stipulated by the SDRAM specifications. One example of this waiting is
the method used to read the DBSC2 status register (DBSTATE). Upon executing reading of the
DBSC2 status register (DBSTATE), a minimum of 8 cycles of the memory clock elapse. If
operation is at 300 MHz, then approximately 26 ns elapses in a single DBSTATE read operation.
This can be utilized to secure the required time, by repeating read access the necessary number of
times.
12.5.12 Regarding the Supported Clock Ratio
The only clock ratio supported by the DBSC2 is a ratio of 1:1 between the SuperHyway clock and
the DDR clock. Clock ratios other than 1:1 are not supported.
Rev.1.00 Jan. 10, 2008 Page 549 of 1658
REJ09B0261-0100
12. DDR2-SDRAM Interface (DBSC2)
12.5.13 Regarding MCKE Signal Operation
The MCKE signal operation is explained using figure 12.24. Here, the explanation assumes that
MBKPRST is high-level input. Prior to power-on reset the MCKE signal is indefinite, but upon
power-on reset is output at low level. After release of power-on reset, by writing 011 to the CMD
bits in the SDRAM command control register (DBCMDCNT), the MCKE signal output is at high
level, corresponding to the enable state. Once the MCKE signal is output at a high level in this
way, the DBSC2 does not output a low-level MCKE signal except when causing a transition to
self-refresh state. (Once the CMD bits in DBCMDCNT are set to 011, no matter what value is
subsequently written to CMD, the MCKE signal is never output at low level.) After the transition
to self-refresh state, when 0 is written to SRFEN in DBRFCNT0 to release the self-refresh state,
the MCKE signal output returns to high level.
MCKE
Undefined
Power-on reset
Power-on reset canceled
011 is written to the CMD2 to CMD0 bits
in DBCMDCNT.
The SRFEN bit in DBRFCNT0 is set to
1 (transition to self-refresh state).
The SRFEN bit in DBRFCNT0 is cleared to
0 (release of self-refresh state).
Figure 12.24 MCKE Signal Operation
Rev.1.00 Jan. 10, 2008 Page 550 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Section 13 PCI Controller (PCIC)
The PCI controller (PCIC) controls the PCI bus and enables data transfers between memory
connected to an external bus and a PCI device connected to the PCI bus. The PCIC facilitates the
system design using the PCI bus and enables short and fast data transfer.
The PCIC operates as a bus bridge which links the PCI bus to the internal bus (SuperHyway bus).
It has transfer channels, for example, between a PCI device on the PCI bus and memory that is
connected to the external bus.
The PCIC supports both the host mode and normal mode (non-host mode). In host mode,
arbitration can be performed on the PCI bus. In normal mode, the PCI bus arbitration is performed
by the external PCI bus arbiter.
13.1
Features
The PCIC has the following features.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Conforms to the subset of the PCI Local Bus Specification Revision 2.2
Operates at 33 or 66 MHz
32-bit data bus
PCI master and target functions
Conforms to the subset of the PCI Power Management Revision 1.1
Supports the host mode and normal mode
PCI arbiter (in host mode)
Supports four external masters
Pseudo-round-robin or fixed priority arbitration
Supports external bus arbiter mode
Supports configuration mechanism #1 (in host mode)
Supports burst transfer
Parity check and error report
Exclusive access (only when PCIC is a target)
Exclusive access between the internal module and the external PCI master is not supported.
⎯ The PCIC is a master: Not supported
⎯ The PCIC is a target: When the PCIC is locked, it can be accessed through only the PCI
device that has asserted the LOCK signal (the SuperHyway bus is not locked during lock
transfer).
Rev.1.00 Jan. 10, 2008 Page 551 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
• Cache snoop functions are supported when the PCIC is a target (cache coherency can be
supported by sacrificing performance).
• Supports four external interrupt inputs (INTA, INTB, INTC, and INTD) in host mode
• Supports one external interrupt output (INTA) in normal mode
• Both big endian and little endian are supported in SH7785 (the PCI bus operates in little
endian mode).
Note: The following PCI functions are not supported.
•
•
•
•
•
•
•
Supports cache (without the SBO and SDONE pins)
Address wraparound mechanism
PCI JTAG (this LSI supports JTAG)
Dual address cycles
Interrupt acknowledge cycles
Start of fast back-to-back transfer (it is supported when the PCIC operates as a target device)
Extended ROM for initialization, and boot of system
Rev.1.00 Jan. 10, 2008 Page 552 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Figure 13.1 shows a block diagram of the PCIC.
PCIC module
AD[31:0]
SHwy bus
interface
Target control
CBE[3:0]
Data FIFO
write
32 bytes x 2
Configuration
registers
/local registers
Master control
PCI bus interface
(PCI bus access control)
Internal bus (SHwybus)
PCIECR
Register control
FRAME
IRDY
TRDY
DEVSEL
STOP
PERR
SERR
LOCK
IDSEL
PCI bus
PAR
Data FIFO
read
32 bytes x 2
INTA
INT[B:D]
REQ0/REQOUT
GNT0/GNTIN
SHwy clock input
REQ[3:1]
GNT[3:1]
PCIRESET
Interrupt control
Interrupt
PCICLK input
Figure 13.1 Block Diagram of PCIC
The PCIC comprises two blocks, the PCI bus interface block and SuperHyway bus interface
block.
The PCI bus interface block comprises the PCI configuration register, local register, PCI master
controller, and PCI target controller.
The SuperHyway bus interface converts the access from the PCI bus interface into the access to
the SuperHyway bus, and converts the access from the SuperHyway bus (the CPU or DMAC) into
access to the PCI bus interface block. The SuperHyway bus interface block comprises PCIECR,
the access control block from the SuperHyway bus to the PCI bus, and the access control block
from the PCI bus to the SuperHyway bus.
The interrupt controller controls the issue of interrupts to INTC of this LSI.
Rev.1.00 Jan. 10, 2008 Page 553 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.2
Input/Output Pins
Table 13.1 shows the pin configuration of the PCIC.
Table 13.1 Signal Descriptions
Signal Name
PCI Standard
Signal
I/O
Description
D32/AD0/DR0 to AD[31:0]
D37/AD5/DR5,
D38/AD6/DG0 to
D43/AD11/DG5,
D44/AD12/DB0 to
D49/AD17/DB5,
D50/AD18 to
D63/AD31
TRI
PCI Address/Data Bus
Address and data buses are multiplexed. In each bus
transaction, an address phase is followed by one or
more data phases.
WE7/CBE3 to
WE4/CBE0
C/BE[3:0]
TRI
PCI Command/Byte Enable
Commands and byte enable are multiplexed. These
signals indicate the type of command and byte enable
during the address phase and the data phases
respectively.
PAR
PAR
TRI
PCI Parity
Generates/checks even parity between AD[31:0] to
C/BE[3:0].
PCICLK/
DCLKIN
CLK
IN
PCI Clock
Provides timing for all transactions on the PCI bus.
PCIFRAME/
VSYNC
FRAME
STRI
PCI Frame
Driven by the current initiator, and indicates the start
and duration of a transaction.
TRDY/DISP
TRDY
STRI
PCI Target Ready
Driven by the selected target, and indicates the target
is ready to start and maintain a transaction.
IRDY/HSYNC
IRDY
STRI
PCI Initiator Ready
Driven by the current bus master. During writing,
indicates that valid data is present on the AD [31:0]
lines. During reading, indicates that the master is ready
to accept data.
STOP/CDE
STOP
STRI
PCI Stop
Driven by the selected target drives to stop the current
transaction.
Rev.1.00 Jan. 10, 2008 Page 554 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Signal Name
PCI Standard
Signal
I/O
LOCK/ODDF
LOCK
STRI
PCI Lock
Exclusive access (the target resource is locked) is
accepted when the PCIC is a target
IDSEL
IDSEL
IN
PCI Configuration Device Select
Description
This signal is input to select the PCIC in configuration
cycles (only in normal mode).
DEVSEL/
DCLKOUT
DEVSEL
SCIF0_CTS/
INTD
INTD
DREQ3/INTC
INTC
STRI
PCI Device Select
Indicates the PCIC has decoded the address of the PCI
device as the target. When this signal is an input signal,
it indicates that the PCIC has been selected.
IN
Interrupt D
Indicates that a PCI device is requesting PCI interrupts.
Only in host mode.
IN
Interrupt C
Indicates that a PCI device is requesting PCI interrupts.
Only in host mode.
DREQ2/INTB
INTB
IN
Interrupt B
Indicates that a PCI device is requesting PCI interrupts.
Only in host mode.
INTA
INTA
O/D
Interrupt A
Indicates that a PCI device is requesting PCI interrupts
in host mode. This signal is output so that the PCIC can
request interrupts in normal mode.
REQ3
REQ3
IN
PCI Bus Request (only in host mode)
REQ2 to REQ1
REQ[2:1]
IN
PCI Bus Request (only in host mode)
GNT3
GNT3
TRI
PCI Bus Grant (only in host mode)
GNT2 to GNT1
GNT[2:1]
TRI
PCI Bus Grant (only in host mode)
REQ0/REQOUT
REQ0
TRI
PCI Bus Request (input/output in host mode, and
output in normal mode)
GNT0/GNTIN
GNT0
TRI
PCI Bus Grant (output/input in host mode, and input in
normal mode)
SERR
SERR
O/D
PCI System Error
PERR
PERR
TRI
PCI Parity Error
PCIRESET
—
OUT
PCI Reset Output
Rev.1.00 Jan. 10, 2008 Page 555 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Signal Name
MODE12
MODE11
PCI Standard
Signal
I/O
Description
—
PCI Operating Mode Select
IN
00: PCI host mode, or PCI host bridge operation by
PCICLK
01: PCI normal mode, or non-PCI host bridge operation
by PCICLK
10: Local bus 64-bit mode (the PCI disabled)
11: DU mode (the PCI disabled)
Legend:
TRI: Tri-state
STRI: Sustained tri-state
OD:
Open Drain
IN:
Only input
OUT: Only output
Rev.1.00 Jan. 10, 2008 Page 556 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.3
Register Descriptions
Table 13.2 shows a list of PCIC registers. The addresses and offsets of PCI configuration registers
are the values used when the PCIC is in little endian mode. The access size is the maximum access
size in each register. The registers in the PCI configuration register space can be accessed with
32-, 16-, or 8-bit access sizes.
Table 13.2 List of PCIC Registers
Name
Abbreviation
SH*1
PCI*2
R/W
R/W
Sync
P4 address
Access
Area 7 address Clock
Size*3
H'1E00 0008
SHck
32
Control register space (physical address: H'FE04 0000 to H'FE04 00FF)
PCIC enable control register
PCIECR
R/W
—
H'FE00 0008
PCI control register space (physical address: H'FE04 0000 to H'FE04 00FF)
PCI vendor ID register
PCIVID
R
R
H'FE04 0000
H'1E04 0000
PCIclk
(32)/16/8
PCI device ID register
PCIDID
R
R
H'FE04 0002
H'1E04 0002
PCIclk
(32)/16/8
PCI command register
PCICMD
R/W
R/W
H'FE04 0004
H'1E04 0004
PCIclk
(32)/16/8
PCI status register
PCISTATUS
R/W
R/W
H'FE04 0006
H'1E04 0006
PCIclk
(32)/16/8
PCI revision ID register
PCIRID
R
R
H'FE04 0008
H'1E04 0008
PCIclk
(32)/(16)/8
PCI program interface register PCIPIF
R/W
R
H'FE04 0009
H'1E04 0009
PCIclk
(32)/(16)/8
PCI sub class code register
R/W
R
H'FE04 000A
H'1E04 000A
PCIclk
(32)/(16)/8
PCISUB
PCI base class code register
PCIBCC
R/W
R
H'FE04 000B
H'1E04 000B
PCIclk
(32)/(16)/8
PCI cache line size register
PCICLS
R
R
H'FE04 000C
H'1E04 000C
PCIclk
(32)/(16)/8
PCI latency timer register
PCILTM
R/W
R/W
H'FE04 000D
H'1E04 000D
PCIclk
(32)/(16)/8
PCI header type register
PCIHDR
R
R
H'FE04 000E
H'1E04 000E
PCIclk
(32)/(16)/8
PCI BIST register
PCIBIST
R
R
H'FE04 000F
H'1E04 000F
PCIclk
(32)/(16)/8
PCI I/O base address register
PCIIBAR
R/W
R/W
H'FE04 0010
H'1E04 0010
PCIclk
32/16/8
PCI Memory base address
PCIMBAR0
R/W
R/W
H'FE04 0014
H'1E04 0014
PCIclk
32/16/8
PCIMBAR1
R/W
R/W
H'FE04 0018
H'1E04 0018
PCIclk
32/16/8
PCISVID
R/W
R
H'FE04 002C
H'1E04 002C
PCIclk
(32)/16/8
PCI subsystem ID register
PCISID
R/W
R
H'FE04 002E
H'1E04 002E
PCIclk
(32)/16/8
PCI capabilities pointer
PCICP
R
R
H'FE04 0034
H'1E04 0034
PCIclk
(32)/(16)/8
register 0
PCI Memory base address
register 1
PCI subsystem vendor ID
register
register
Rev.1.00 Jan. 10, 2008 Page 557 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
SH*1
PCI*2
Sync
Access
Name
Abbreviation
R/W
R/W
P4 address
Area 7 address Clock
Size*3
PCI interrupt line register
PCIINTLINE
R/W
R/W
H'FE04 003C
H'1E04 003C
PCIclk
(32)/(16)/8
PCI interrupt pin register
PCIINTPIN
R/W
R
H'FE04 003D
H'1E04 003D
PCIclk
(32)/(16)/8
PCI minimum grant register
PCIMINGNT
R
R
H'FE04 003E
H'1E04 003E
PCIclk
(32)/(16)/8
PCI maximum latency register PCIMAXLAT
R
R
H'FE04 003F
H'1E04 003F
PCIclk
(32)/(16)/8
PCI capability ID register
PCICID
R
R
H'FE04 0040
H'1E04 0040
PCIclk
(32)/(16)/8
PCI next item pointer register
PCINIP
R
R
H'FE04 0041
H'1E04 0041
PCIclk
(32)/(16)/8
PCI power management
PCIPMC
R/W
R/W
H'FE04 0042
H'1E04 0042
PCIclk
(32)/16/8
PCIPMCSR
R/W
R/W
H'FE04 0044
H'1E04 0044
PCIclk
(32)/16/8
PCI PMCSR bridge support
PCIPMCSR_
R/W
R
H'FE04 0046
H'1E04 0046
PCIclk
(32)/(16)/8
extension register
BSE
PCI power
PCIPCDD
R/W
R
H'FE04 0047
H'1E04 0047
PCIclk
(32)/(16)/8
capability register
PCI power management
control/status register
consumption/dissipation data
register
PCI local register space (physical address: H'FE04 0100 to H'FE04 03FF)
PCI control register
PCICR
R/W
R
H'FE04 0100
H'1E04 0100
PCIclk
32/16/8
PCI local space register 0
PCILSR0
R/W
R
H'FE04 0104
H'1E04 0104
PCIclk
32/16/8
PCI local space register 1
PCILSR1
R/W
R
H'FE04 0108
H'1E04 0108
PCIclk
32/16/8
PCI local address register 0
PCILAR0
R/W
R
H'FE04 010C
H'1E04 010C
PCIclk
32/16/8
PCI local address register 1
PCILAR1
R/W
R
H'FE04 0110
H'1E04 0110
PCIclk
32/16/8
PCI interrupt register
PCIIR
R/WC
R
H'FE04 0114
H'1E04 0114
PCIclk
32/16/8
PCI interrupt mask register
PCIIMR
R/W
R
H'FE04 0118
H'1E04 0118
PCIclk
32/16/8
PCI error address information
PCIAIR
R
R
H'FE04 011C
H'1E04 011C
PCIclk
32/16/8
PCICIR
R
R
H'FE04 0120
H'1E04 0120
PCIclk
32/16/8
PCI arbiter interrupt register
PCIAINT
R/WC
R
H'FE04 0130
H'1E04 0130
PCIclk
32/16/8
PCI arbiter interrupt mask
PCIAINTM
R/WC
R
H'FE04 0134
H'1E04 0134
PCIclk
32/16/8
PCIBMIR
R
R
H'FE04 0138
H'1E04 0138
PCIclk
32/16/8
PCIPAR
R/W
—
H'FE04 01C0
H'1E04 01C0
PCIclk
32/16/8
register
PCI error command
information register
register
PCI arbiter bus master error
information register
PCI PIO address register
Rev.1.00 Jan. 10, 2008 Page 558 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
SH*1
PCI*2
Sync
Area 7 address Clock
Access
Size*3
Name
Abbreviation
R/W
R/W
P4 address
PCI power management
PCIPINT
R/WC
—
H'FE04 01CC H'1E04 01CC
PCIclk
32/16/8
PCIPINTM
R/W
—
H'FE04 01D0
H'1E04 01D0
PCIclk
32/16/8
PCI memory bank register 0
PCIMBR0
R/W
—
H'FE04 01E0
H'1E04 01E0
PCIclk
32/16/8
PCI memory bank mask
PCIMBMR0
R/W
—
H'FE04 01E4
H'1E04 01E4
PCIclk
32/16/8
PCI memory bank register 1
PCIMBR1
R/W
—
H'FE04 01E8
H'1E04 01E8
PCIclk
32/16/8
PCI memory bank mask
PCIMBMR1
R/W
—
H'FE04 01EC
H'1E04 01EC
PCIclk
32/16/8
PCI memory bank register 2
PCIMBR2
R/W
—
H'FE04 01F0
H'1E04 01F0
PCIclk
32/16/8
PCI memory bank mask
PCIMBMR2
R/W
—
H'FE04 01F4
H'1E04 01F4
PCIclk
32/16/8
PCI I/O bank register
PCIIOBR
R/W
—
H'FE04 01F8
H'1E04 01F8
PCIclk
32/16/8
PCI I/O bank master register
PCIIOBMR
R/W
—
H'FE04 01FC
H'1E04 01FC
PCIclk
32/16/8
PCI cache snoop control
PCICSCR0
R/W
—
H'FE04 0210
H'1E04 0210
PCIclk
32/16/8
PCICSCR1
R/W
—
H'FE04 0214
H'1E04 0214
PCIclk
32/16/8
PCICSAR0
R/W
—
H'FE04 0218
H'1E04 0218
PCIclk
32/16/8
PCICSAR1
R/W
—
H'FE04 021C
H'1E04 021C
PCIclk
32/16/8
PCIPDR
R/W
—
H'FE04 0220
H'1E04 0220
PCIclk
32/16/8
interrupt register
PCI power management
interrupt mask register
register 0
register 1
register 2
register 0
PCI cache snoop control
register 1
PCI cache snoop address
register 0
PCI cache snoop address
register 1
PCI PIO data register
Notes: 1. SH: SuperHyway bus (internal bus)
PCI: PCI local bus
WC in R/W column: Write clear (Cleared by writing 1; writing 0 has no effect.)
⎯: Access is prohibited.
2. PIO: Programmed I/O.
3. It It is possible to access multiple registers at once by using an access size exceeding
the register size.
Rev.1.00 Jan. 10, 2008 Page 559 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Table 13.3 Register States in Each Processing Mode
Name
Abbreviation
Power-On Reset
Manual Reset
Sleep Mode
Retained
Retained
Control register space (physical address: H'FE00 0000 to H'FE03 FFFF)
PCIC enable control register
PCIECR
H'0000 0000
PCI configuration register space (physical address: H'FE04 0000 to H'FE04 00FF)
PCI vendor ID register
PCIVID
H'1912
Retained
Retained
PCI device ID register
PCIDID
H'0007
Retained
Retained
PCI command register
PCICMD
H'0080
Retained
Retained
PCI status register
PCISTATUS
H'0290
Retained
Retained
PCI revision ID register
PCIRID
H'xx
Retained
Retained
PCI program interface register
PCIPIF
H'00
Retained
Retained
PCI sub class code register
PCISUB
H'00
Retained
Retained
PCI base class code register
PCIBCC
H'xx
Retained
Retained
PCI cache line size register
PCICLS
H'20
Retained
Retained
PCI latency timer register
PCILTM
H'00
Retained
Retained
PCI header type register
PCIHDR
H'00
Retained
Retained
PCI BIST register
PCIBIST
H'00
Retained
Retained
PCI I/O base address register
PCIIBAR
H'0000 0001
Retained
Retained
PCI Memory base address register 0
PCIMBAR0
H'0000 0000
Retained
Retained
PCI Memory base address register 1
PCIMBAR1
H'0000 0000
Retained
Retained
PCI subsystem vendor ID register
PCISVID
H'0000
Retained
Retained
PCI subsystem ID register
PCISID
H'0000
Retained
Retained
PCI capabilities pointer register
PCICP
H'40
Retained
Retained
PCI interrupt line register
PCIINTLINE
H'00
Retained
Retained
PCI interrupt pin register
PCIINTPIN
H'01
Retained
Retained
PCI minimum grant register
PCIMINGNT
H'00
Retained
Retained
PCI maximum latency register
PCIMAXLAT
H'00
Retained
Retained
PCI capability ID register
PCICID
H'01
Retained
Retained
PCI next item pointer register
PCINIP
H'00
Retained
Retained
PCI power management capability register
PCIPMC
H'000A
Retained
Retained
PCI power management control/status register PCIPMCSR
H'0000
Retained
Retained
PCI PMCSR bridge support extension register PCIPMCSR_
BSE
H'00
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 560 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Name
Abbreviation
Power-On Reset
Manual Reset
Sleep Mode
PCI power consumption/dissipation data
register
PCIPCDD
H'00
Retained
Retained
PCI local register space (physical address: H'FE04 0100 to H'FE04 03FF)
PCI control register
PCICR
H'0000 00xx
Retained
Retained
PCI local space register 0
PCILSR0
H'0000 0000
Retained
Retained
PCI local space register 1
PCILSR1
H'0000 0000
Retained
Retained
PCI local address register 0
PCILAR0
H'0000 0000
Retained
Retained
PCI local address register 1
PCILAR1
H'0000 0000
Retained
Retained
PCI interrupt register
PCIIR
H'0000 0000
Retained
Retained
PCI interrupt mask register
PCIIMR
H'0000 0000
Retained
Retained
PCI error address information register
PCIAIR
H'xxxx xxxx
Retained
Retained
PCI error command information register
PCICIR
H'xx00 000x
Retained
Retained
PCI arbiter interrupt register
PCIAINT
H'0000 0000
Retained
Retained
PCI arbiter interrupt mask register
PCIAINTM
H'0000 0000
Retained
Retained
PCI arbiter bus master error information
register
PCIBMIR
H'0000 00xx
Retained
Retained
PCI PIO address register
PCIPAR
H'80xx xxxx
Retained
Retained
PCI power management interrupt register
PCIPINT
H'0000 0000
Retained
Retained
PCI power management interrupt mask
register
PCIPINTM
H'0000 0000
Retained
Retained
PCI memory bank register 0
PCIMBR0
H'0000 0000
Retained
Retained
PCI memory bank mask register 0
PCIMBMR0
H'0000 0000
Retained
Retained
PCI memory bank register 1
PCIMBR1
H'0000 0000
Retained
Retained
PCI memory bank mask register 1
PCIMBMR1
H'0000 0000
Retained
Retained
PCI memory bank register 2
PCIMBR2
H'0000 0000
Retained
Retained
PCI memory bank mask register 2
PCIMBMR2
H'0000 0000
Retained
Retained
PCI I/O bank register
PCIIOBR
H'0000 0000
Retained
Retained
PCI I/O bank master register
PCIIOBMR
H'0000 0000
Retained
Retained
PCI cache snoop control register 0
PCICSCR0
H'0000 0000
Retained
Retained
PCI cache snoop control register 1
PCICSCR1
H'0000 0000
Retained
Retained
PCI cache snoop address register 0
PCICSAR0
H'0000 0000
Retained
Retained
PCI cache snoop address register 1
PCICSAR1
H'0000 0000
Retained
Retained
PCI PIO data register
PCIPDR
H'xxxx xxxx
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 561 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.3.1
PCIC Enable Control Register (PCIECR)
PCIECR is a register that specifies whether the PCIC is valid or invalid.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
ENBL
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
Initial
Value
R/W
Description
31 to 1
—
All 0
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
0
ENBL
0
SH: R/W PCI Enable Bit.
PCI: ⎯
Enables (validates) the PCIC. When this bit is 0, the
PCIC is disabled and the access from the CPU to the
PCIC, or from the external PCI device to the PCIC is
invalid (the PCIECR can be accessed). The access
from other CPU is invalid during writing and undefined
during reading. The access from the external PCI
device cannot be accepted).
0: PCIC disabled
1: PCIC enabled
Rev.1.00 Jan. 10, 2008 Page 562 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.3.2
Configuration Registers
The configuration registers define the programming model and usage rules of the configuration
register space in a PCI compliant device. For details, see section 6, Configuration Space, in the
PCI Local Bus Specification Revision 2.2.
(1)
PCI Vender ID Register (PCIVID)
This field defines the PCI vendor ID.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
VID
Initial value:
SH R/W:
0
R
0
R
0
R
1
R
1
R
0
R
0
R
1
R
0
R
0
R
0
R
1
R
0
R
0
R
1
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
15 to 0
VID
H'1912
(2)
R/W
Description
SH: R
PCI Vender ID
PCI: R
These bits indicate the vender ID that is allocated by
PCI-SIG. Renesas Technology's vendor ID is H'1912.
PCI Device ID Register (PCIDID)
This field defines the PCI device ID.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DID
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R
1
R
1
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
15 to 0
DID
H'0007
SH: R
PCI Device ID
PCI: R
These bits indicate the device ID of this LSI that is
allocated by the vendor of a PCI device.
SH7785's device ID is H'0007.
Rev.1.00 Jan. 10, 2008 Page 563 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(3)
PCI Command Register (PCICMD)
PCICMD controls the basic functions of the PCIC to generate and respond to PCI cycles. When 0
is written to this register, this register ignores access commands from the external PCI device,
other than configuration access.
Bit:
15
14
13
12
11
10
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R/W
Bit
Bit Name
15 to 10 ⎯
9
FBBE
Initial
Value
All 0
0
9
8
7
3
2
1
0
PER VGAPS MWIE
SC
BM
MS
IOS
1
R/W
0
R/W
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
R/W
R/W
R
R
R
R/W
R/W
R/W
FBBE SERRE WCC
R/W
Description
6
5
4
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R
PCI Fast Back-to-Back Enable
PCI: R
Specifies whether fast back-to-back control is
performed on the different devices or not when the
PCIC is a master.
0: Enables fast back-to-back control for the same target
1: Enables fast back-to-back control for different targets
(not supported)
8
SERRE
0
SH: R/W
SERR Output Control
PCI: R/W Controls the SERR output.
0: SERR output disabled (pulled up by high impedance
and a pull-up resistor)
1: SERR output enabled (SERR = low output)
7
WCC
1
SH: R/W
Wait Cycle Control
PCI: R/W Controls the address/data stepping.
When WCC is 1, both an address and data, only an
address, and only data are output at master write,
master read, and target read respectively for two clock
cycles.
0: Address/data stepping control disabled
1: Address/data stepping control enabled
Rev.1.00 Jan. 10, 2008 Page 564 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
6
PER
0
SH: R/W Parity Error Response
PCI: R/W Controls the response of the device when the PCIC
detects a parity error or receives a parity error. When
this bit is set to 1, the PERR signal is asserted.
0: Ignores parity error
1: Responds to parity error
5
VGAPS
0
SH: R
PCI: R
VGA Palette Snoop Control
0: VGA compatible device
1: Incompatible with palette register write (not
supported)
4
MWIE
0
SH: R
PCI: R
Memory Write and Invalidate Control
This bit controls issue of a memory and invalidate
command when the PCIC is a master.
0: Memory write is used
1: Memory write and invalidate command can be
executed (not supported)
3
SC
0
SH: R
PCI: R
Special Cycle Control
This bit indicates whether special cycles are supported
when the PCIC is a target.
0: Special cycles ignored
1: Special cycles monitored (not supported)
2
BM
0
SH: R/W PCI Bus Master Control
PCI: R/W Controls a bus master.
0: Bus master disabled
1: Bus master enabled
1
MS
0
SH: R/W PCI Memory Space Control
PCI: R/W This bit controls accesses to memory spaces when the
PCIC is a target. When this bit is cleared to 0, a
memory transfer to the PCIC is completed by master
abort.
0: Accesses to memory spaces disabled
1: Accesses to memory spaces enabled
0
IOS
0
SH: R/W PCI I/O Space Control
PCI: R/W This bit controls accesses to memory spaces when the
PCIC is a target. When this bit is cleared to 0, an I/O
transfer to the PCIC is completed by master abort.
0: Accesses to I/O spaces disabled
1: Accesses to I/O spaces enabled
R/W
Description
Rev.1.00 Jan. 10, 2008 Page 565 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(4)
PCI Status Register (PCISTATUS)
PCISTATUS is used to record status information for events related to the PCI bus. The reserved
bits are read-only bits that are read as 0.
Reading from this register is normally performed. During writing, the write clear bit can be reset,
but it cannot be set (R/WC in the figure below). Write 1 to the bit to be cleared. For example, to
clear bit 14 so that other bits will not be affected, write the B'0100 0000 0000 0000 to this register.
Bit:
15
14
13
12
11
DPE
SSE
RMA
RTA
STA
10
9
DEVSEL
6
5
4
3
2
1
0
MDPE FBBC
8
7
⎯
66C
CL
⎯
⎯
⎯
⎯
Initial value:
0
0
0
0
0
SH R/W: R/WC R/WC R/WC R/WC R/WC
0
R
1
R
0
R/WC
1
R
0
R
0
R/W
1
R
0
R
0
R
0
R
0
R
PCI R/W: R/WC R/WC R/WC R/WC R/WC
R
R
R/WC
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
15
DPE
0
R/W
Description
SH: R/WC Parity Error Detect Status
PCI: R/WC Indicates that a parity error was detected in read data
when the PCIC is a master, or in write data when the
PCIC is a target. This bit is set regardless of the value
of parity error response bit.
0: Device did not detect parity error.
1: Device detected parity error.
14
SSE
0
SH: R/WC System Error Output Status
PCI: R/WC Indicates that the PCIC asserted SERR.
0: SERR was asserted
1: SERR was asserted (the value is retained until this
bit is cleared)
13
RMA
0
SH: R/WC Master Abort Receive Status
PCI: R/WC This bit indicates that a transaction was completed by
master abort when the PCIC is a master.
0: Transaction is not completed by master abort
1: The bus master detected completion of transaction
by master abort. Master abort is not set in special
cycles.
Rev.1.00 Jan. 10, 2008 Page 566 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
12
RTA
0
SH: R/WC Target Abort Receive Status
Description
PCI: R/WC This bit indicates that a transaction was completed by
target abort when the PCIC is a master.
0: Transaction is not completed with target abort
1: The bus master detected completion of transaction
with target abort.
11
STA
0
SH: R/WC Target Abort Execution Status
PCI: R/WC This bit indicates that a transaction was completed by
target abort when the PCIC is a target.
0: Transaction is not completed by target abort
1: Transaction was completed by target abort
10, 9
DEVSEL
01
SH: R
DEVSEL Timing Status
PCI: R
This bit indicate the response timing status of
DEVSEL when the PCIC is a target.
00: Fast (not support)
01: Medium
10: Slow (not support)
11: Reserved
8
MDPE
0
SH: R/WC Data Parity Error
PCI: R/WC This bit indicates that the PCIC asserted PERR or
detected the assertion of PERR when the PCIC is a
master. This bit is set to 1 only when the parity
response bit is set to 1.
0: Data parity error is not generated
1: Data parity error was generated
7
FBBC
1
SH: R
Fast Back-to-Back Status
PCI: R
This bit indicates whether a target can accept fast
back-to-back transfers for a different target if the PCIC
is a target.
0: A target does not support fast back-to-back
transactions for a different target
1: A target supports fast back-to-back transactions for
a different target
Rev.1.00 Jan. 10, 2008 Page 567 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
6
⎯
0
SH: R/W
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W
66MHz-Operation Capable Status
PCI: R
Indicates whether the PCIC can operate at 66MHz.
5
66C
0
0: PCIC operates at 33 MHz
1: PCIC operates at 66 MHz
4
CL
1
SH: R
PCI Power Management (extended function)
PCI: R
Indicates whether the PCI power management is
supported.
0: Power management not supported
1: Power management supported
3 to 0
(5)
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
PCI Revision ID Register (PCIRID)
PCIRID specifies a revision identifier specific to a PCI device.
Bit:
7
6
5
4
3
2
1
0
RID
Initial value:
SH R/W:
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
RID
H'xx
SH: R
Revision ID
PCI: R
Indicates the level revision of the PCIC.The initial
value depends on the logic version of this LSI.
Rev.1.00 Jan. 10, 2008 Page 568 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(6)
PCI Program Interface Register (PCIPIF)
This field is the programming interface for the class code of the IDE controller. For details of the
code value, see appendix D in PCI Local Bus Specification Revision 2.2.
Bit:
Initial value:
SH R/W:
PCI R/W:
Bit
Bit Name
Initial
Value
7
MIDED
0
7
6
5
4
3
2
1
0
MIDED
—
—
—
PIS
OMS
PIP
OMP
0
R/W
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
R
R
R
R
R
R
R
R
R/W
Description
SH: R/W
PCI Master IDE Device
PCI: R
Specifies the PCI master IDE device.
0: PCI slave IDE device
1: PCI master IDE device
If this bit is written during register initialization
(PCICR.CFINT = 0) in the PCIC, the value of this bit is
updated. The value is not updated after initialization
(PCICR.CFINT = 1).
6 to 4
3
2
1
⎯
PIS
OMS
PIP
All 0
0
0
0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W
PCI Programmable Indicator (Secondary)
PCI: R
If this bit is written during register initialization
(PCICR.CFINT = 0) in the PCIC, the value of this bit is
updated. The value is not updated after initialization
(PCICR.CFINT = 1).
SH: R/W
PCI Operating Mode (Secondary)
PCI: R
If this bit is written during register initialization
(PCICR.CFINT = 0) in the PCIC, the value of this bit is
updated. The value is not updated after initialization
(PCICR.CFINT = 1).
SH: R/W
PCI Programmable Indicator (Primary)
PCI: R
If this bit is written during register initialization
(PCICR.CFINT = 0) in the PCIC, the value of this bit is
updated. The value is not updated after initialization
(PCICR.CFINT = 1).
Rev.1.00 Jan. 10, 2008 Page 569 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
0
OMP
0
SH: R/W
PCI Operating Mode (Primary)
PCI: R
If this bit is written during register initialization
(PCICR.CFINT = 0) in the PCIC, the value of this bit is
updated. The value is not updated after initialization
(PCICR.CFINT = 1).
(7)
PCI Sub Class Code Register (PCISUB)
This field defines the sub class code. For details of the code value, see appendix D in PCI Local
Bus Specification Revision 2.2.
Bit:
7
6
5
4
3
2
1
0
SUB
Initial value:
SH R/W:
PCI R/W:
Bit
Bit Name
Initial
Value
7 to 0
SUB
H'00
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R
R
R
R
R
R
R
R
R/W
Description
SH: R/W
Sub Class Code
PCI: R
These bits indicate the sub class code. The initial
value is H'00.
Rev.1.00 Jan. 10, 2008 Page 570 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(8)
PCI Base Class Code Register (PCIBCC)
This field defines the base class code. For details of the class code, see appendix D in PCI Local
Bus Specification Revision 2.2.
Bit:
7
6
5
4
3
2
1
0
BCC
Initial value:
SH R/W:
PCI R/W:
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
BCC
H'xx
SH: R/W
Base Class Code
PCI: R
These bits indicate the base class code. The initial
value is H'xx.
(9)
PCI Cache Line Size Register (PCICLS)
Bit:
7
6
5
4
3
2
1
0
CLS
Initial value:
SH R/W:
0
R
0
R
1
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
CLS
H'20
SH: R
Cache Line Size
PCI: R
SBO and SDON are ignored because a memory
target does not support cache.
Rev.1.00 Jan. 10, 2008 Page 571 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(10) PCI Latency Timer Register (PCILTM)
Bit:
7
6
5
4
3
2
1
0
LTM
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
LTM
H'00
SH: R/W
Latency Timer Register
PCI: R/W
These bits specify the maximum time that the PCI bus
is occupied with the clock cycle when the PCIC is a
master.
(11) PCI Header Type Register (PCIHDR)
Bit:
7
6
5
4
3
2
1
0
HDR
MFE
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7
MFE
0
SH: R
Multiple Function Enable (HEAD7)
PCI: R
Indicates whether the device is multi-function or
single-function
0: Single function device
1: The device has two to eight multifunction devices
(not supported)
6 to 0
HDR
H'00
SH: R
Configuration Layout Type (HEAD6 to HEAD0)
PCI: R
These bits indicate the layout type of configuration
registers.
H'00: Type 00h layout supported
H'01: Type 01h layout supported (not supported)
Rev.1.00 Jan. 10, 2008 Page 572 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(12) PCI BIST Register (PCIBIST)
7
6
5
4
3
2
1
0
BISTC
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit:
Bit
Bit Name
Initial
Value
R/W
Description
7
BISTC
0
SH: R
This bit is used for the BIST function control and
status.
PCI: R
0: Function not available
1: Function available (not supported)
6 to 0
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 573 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(13) PCI I/O Base Address Register (PCIIBAR)
This register is the I/O space base address register of the PCI configuration register space header
that is defined in PCI local bus specification. This register specifies the base address in the I/O
space of the PCIC.
See section 13.4.4 (2), Accessing PCIC I/O Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IOB1 (upper)
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
Bit:
IOB1 (upper)
IOB2 (lower)
1
0
⎯
ASI
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
R
R
R
R
R
R
R
Initial
Value
Bit
Bit Name
31 to 8
IOB1
(upper)
H'000000 SH: R/W
7 to 2
IOB2
(lower)
000000
1
⎯
0
0
ASI
1
R/W
Description
I/O Space Base Address (upper 24 bits)
PCI: R/W
These bits specify the upper 24 bits of the base
address for the I/O space of the PCIC (PCIC control
register space).
SH: R
I/O Space Base Address (lower 6 bits)
PCI: R
These bits are fixed to B'000000 by hardware.
SH: R
Reserved
PCI: R
This bit is always read as 0. The write value should
always be 0.
SH: R
Address Space Indicator
PCI: R
Indicates whether the base address indicated by this
register is in the I/O space or memory space.
0: Memory space
1: I/O space
Rev.1.00 Jan. 10, 2008 Page 574 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(14) PCI Memory Base Address Register 0 (PCIMBAR0)
This register is the memory base address register of the PCI configuration register space header
that is defined in PCI local bus specification. PCIMBAR0 specifies the memory space 0 (local
address space 0) in this LSI internal bus (SuperHyway bus).
See section 13.4.4 (1), Accessing Memory Space in This LSI.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
MBA1
18
17
16
MBA2
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
R
R
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
Bit:
MBA2
LAP
1
LAT
0
ASI
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 20 MBA1
Initial
Value
R/W
Description
H'000
SH: R/W
Memory Space 0 Base Address (upper 12 bits)
PCI: R/W
These bits specify the upper 12 bits of memory base
address for the local address space 0 (the address
space in the internal bus).
The valid bits of MBA1 depend on the capacity of the
local address space specified with LSR in PCILSR0.
LSR in PCILSR0 Address space Valid bits of MBA1
[28:20]
B'0 0000 0000
1 Mbyte
[31:20]
B'0 0000 0001
2 Mbytes
[31:21]
B'0 0000 0011
4 Mbytes
[31:22]
B'0 0000 0111
8 Mbytes
[31:23]
B'0 0000 1111
16 Mbytes
[31:24]
B'0 0001 1111
32 Mbytes
[31:25]
B'0 0011 1111
64 Mbytes
[31:26]
B'0 0111 1111
128 Mbytes
[31:27]
B'0 1111 1111
256 Mbytes
[31:28]
B'1 1111 1111
512 Mbytes
[31:29]
Other than above: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 575 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
19 to 4
MBA2
H'0000 SH: R
3
LAP
0
R/W
Description
Memory Space 0 Base Address (lower 16 bits)
PCI: R
These bits are fixed to H'0000 by hardware.
SH: R
Prefetch Control
PCI: R
Indicates whether prefetch can be performed in local
address space 0.
0: Prefetch disabled
1: Prefetch enabled (not supported)
2, 1
LAT
00
SH: R
Memory Type
PCI: R
These bits indicate the memory type of local address
space 0.
00: Base address can be set to 32-bit width and 32-bit
space
01: Reserved
10: Base address is set to 64-bit width (Not
supported)
11: Reserved
0
ASI
0
SH: R
Address Space Indicator
PCI: R
Indicates whether the base address indicated by this
register is in the I/O space or memory space.
0: Memory space
1: I/O space
Rev.1.00 Jan. 10, 2008 Page 576 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(15) PCI Memory Base Address Register 1 (PCIMBAR1)
This register is the memory base address register of the PCI configuration register space header
that is defined in PCI local bus specification. PCIMBAR1 specifies the memory space 1 (local
address space 1) in this LSI internal bus (SuperHyway bus).
See section 13.4.4 (1), Accessing Memory Space in This LSI.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
MBA1
18
17
16
MBA2
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
R
R
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
Bit:
MBA2
LAP
1
LAT
0
ASI
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 20 MBA1
Initial
Value
R/W
Description
H'000
SH: R/W
Memory Space 1 Base Address (upper 12 bits)
PCI: R/W
These bits specify the upper 12 bits of memory base
address for the local address space 1 (the address
space in the internal bus).
The valid bits of MBA1 depend on the capacity of the
local address space specified with LSR in PCILSR1.
LSR
Address space
in PCILSR1
[28:20]
B'0 0000 0000
1 Mbyte
B'0 0000 0001
2 Mbytes
B'0 0000 0011
4 Mbytes
B'0 0000 0111
8 Mbytes
B'0 0000 1111
16 Mbytes
B'0 0001 1111
32 Mbytes
B'0 0011 1111
64 Mbytes
B'0 0111 1111
128 Mbytes
B'0 1111 1111
256 Mbytes
B'1 1111 1111
512 Mbytes
Other than above: Setting prohibited
Valid bits of
MBA1
[31:20]
[31:21]
[31:22]
[31:23]
[31:24]
[31:25]
[31:26]
[31:27]
[31:28]
[31:29]
Rev.1.00 Jan. 10, 2008 Page 577 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
19 to 4
MBA2
H'0000 SH: R
3
LAP
0
R/W
Description
Memory Space 1 Base Address (lower 16 bits)
PCI: R
These bits are fixed to H'0000 by hardware.
SH: R
Prefetch Control
PCI: R
Indicates whether prefetch can be performed in local
address space 1.
0: Prefetch disabled
1: Prefetch enabled (not supported)
2, 1
LAT
00
SH: R
Memory Type
PCI: R
These bits indicate the memory type of local address
space 1.
00: Base address can be set to 32-bit width and 32-bit
space
01: Reserved
10: Base address is set to 64-bit width (Not
supported)
11: Reserved
0
ASI
0
SH: R
Address Space Indicator
PCI: R
Indicates whether the base address indicated by this
register is in the I/O or memory space.
0: Memory space
1: I/O space
Rev.1.00 Jan. 10, 2008 Page 578 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(16) PCI Subsystem Vender ID Register (PCISVID)
See the description of each register in PCI Local Bus Specification Revision 2.2.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
SVID
Initial value:
SH R/W:
PCI R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
15 to 0
SVID
H'0000 SH: R/W
R/W
Description
PCI: R
Subsystem ID
These bits specify the subsystem ID of the PCIC.
These bits are updated when these bits are written
during the initialization (CFINIT = 0 in PCICR) in the
PCIC. The value is not updated when these bits are
written after initialization (CFINIT = 1 in PCICR).
(17) PCI Subsystem ID Register (PCISID)
See description of each register in PCI Local Bus Specification Revision 2.2.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
SID
Initial value:
SH R/W:
PCI R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
15 to 0
SID
H'0000 SH: R/W
R/W
PCI: R
Description
Subsystem Vendor ID
These bits specify the subsystem vendor ID of the
PCIC.
These bits are updated when these bits are written
during the initialization (CFINIT = 0 in PCICR) in the
PCIC. The value is not updated when these bits are
written after initialization (CFINIT = 1 in PCICR).
Rev.1.00 Jan. 10, 2008 Page 579 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(18) PCI Capability Pointer Register (PCICP)
This register is the extension function pointer register of the PCI configuration register that is
defined in the PCI Power Management Specification.
Bit:
7
6
5
4
3
2
1
0
CP
Initial value:
SH R/W:
0
R
1
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
CP
H'40
SH: R
Capabilities Pointer
PCI: R
These bits indicate the offset of the expansion
function (power management) ID register.
(19) PCI Interrupt Line Register (PCIINTLINE)
Bit:
7
6
5
4
3
2
1
0
INTLINE
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
7 to 0
INTLINE
H'00
R/W
Description
SH: R/W
PCI: R/W
PCI Interrupt Line
These bits specify the information on PCI interrupt
path from this LSI. These bits are set by system
software during initialization. The initial value is H'00.
The setting value of this register does not affect the
operation of this LSI.
Rev.1.00 Jan. 10, 2008 Page 580 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(20) PCI Interrupt Pin Register (PCIINTPIN)
7
Bit:
6
5
4
3
2
1
0
INTPIN
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
R
R
R
R
R
R
R
R
PCI R/W:
Bit
Bit Name
Initial
Value
7 to 0
INTPIN
H'01
R/W
Description
SH: R/W
PCI: R
Interrupt Pin Select
These bits specify which interrupt pin is used as
connection destination when the PCIC outputs
interrupt requests. The initial value is H'01.
H'00: PCI interrupt pins not used
H'01: INTA used
H'02: INTB used
H'03: INTC used
H'04: INTD used
H'05 to H'FF: Reserved
(21) Minimum Grant Register (PCIMINGNT)
This register is not programmable.
Bit:
7
6
5
4
3
2
1
0
MINGNT
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
MINGNT
H'00
SH: R
Minimum Grant Specification
PCI: R
These bits specify the burst time required by the PCI
master device (not supported).
Rev.1.00 Jan. 10, 2008 Page 581 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(22) Maximum Latency Register (PCIMAXLAT)
This register is not programmable.
Bit:
7
6
5
4
3
2
1
0
MAXLAT
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
MAXLAT
H'00
SH: R
Maximum Latency Specification (MILAT7 to MILAT0)
PCI: R
These bits specify the maximum time from requesting
the bus mastership by the PCI master device to
acquiring bus (not supported).
(23) PCI Capability Identifier Register (PCICID)
Bit:
7
6
5
4
3
2
1
0
CID
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
7 to 0
CID
H'01
R/W
Description
SH: R
Extension Function ID
PCI: R
These bits specify the extension function ID.
H'01: Indicates that the expansion function is power
management.
Rev.1.00 Jan. 10, 2008 Page 582 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(24) PCI Next Item Pointer Register (PCINIP)
PCINIP indicates the location of the next item in the list of extension function.
Bit:
7
6
5
4
3
2
1
0
NIP
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
NIP
H'00
SH: R
Next Item Pointer
PCI: R
H'00: Indicates that power management function is
listed as the last item.
Rev.1.00 Jan. 10, 2008 Page 583 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(25) PCI Power Management Register (PCIPMC)
PCIPMC is a 16-bit register that provides information on the functions related to power
management. For details, see section 3, PCI Power Management Interface in PCI Bus Power
Management Interface Specification Revision 1.1. This register is not cleared by a power-on reset.
This register must be set during initialization of register initialization in the PCIC (CFINIT = 0 in
PCICR).
Bit:
15
14
13
12
11
PMCS
10
9
8
7
6
5
4
3
D2S
D1S
⎯
⎯
⎯
DSI
⎯
PMEC
2
1
0
PMV
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
1
R/W
0
R/W
1
R/W
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
15 to 11 PMCS
Initial
Value
R/W
Description
00000
SH: R
PME SUPPORT
PCI: R
This 5-bit field indicates the power state that asserts
PME, by using this power management function.
When these bits are 0, these bits indicate that this
function cannot assert PME at that power state (not
supported).
(Bit11) xxxx1: PME can be asserted from D0
(Bit12) xxx1x: PME can be asserted from D1
(Bit13) xx1xx: PME can be asserted from D2
(Bit14) x1xxx: PME can be asserted from D3hot
(Bit15) 1xxxx: PME can be asserted from D3cold
Note: The PCIC in this LSI dose not have the PME
pin.
10
9
D2S
D1S
0
0
SH: R/W
D2 Support
PCI: R
When this bit is 1, this power management function
supports the D2 power management state. When the
D2 power management state is not supported, this bit
should always be read as 0.
SH: R/W
D1 Support
PCI: R
When this bit is 1, This function supports the D1
power management state. When the D1 power
management state is not supported, this bit is read as
0.
Rev.1.00 Jan. 10, 2008 Page 584 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
8 to 6
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R
DSI
PCI: R
The write value should always be 0.
5
DSI
0
0: Indicates that the proper initialization is not required
4
3
⎯
PMEC
0
1
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W
PCI PME Clock
PCI: R
Specifies whether the clock is required to support
PME.
0: The clock is not required to support PME.
Note: The PCIC in this LSI dose not have the PME
pin.
2 to 0
PMV
010
SH: R/W
Version
PCI: R
Indicates the version of the power management
specifications.
010: Indicates that the power management
specification conforms to revision 1.1
Rev.1.00 Jan. 10, 2008 Page 585 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(26) PCI Power Management Control/Status Register (PCIPMCSR)
This register manages power management events (PME) of the PCI function. For details, see
section 3, PCI Power Management Interface in PCI Bus Power Management Interface
Specification Revision 1.1.
Bit:
15
14
PMES
13
12
11
DSC
10
9
DSL
8
7
6
5
4
3
2
PME
EN
⎯
⎯
⎯
⎯
⎯
⎯
1
0
PS
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R/W
R/W
Bit
Bit Name
Initial
Value
15
PMES
0
R/W
Description
SH: R
PME Status
PCI: R
Indicates the state of the PME signal (not supported)
Note: The PCIC in this LSI dose not has the PME
pin.
14, 13
12 to 9
8
DSC
DSL
PMEEN
00
0000
0
SH: R
Data Scale
PCI: R
These bits specify the scaling value of data field (not
supported)
SH: R
Data Select
PCI: R
These bits specify the value output to the data field
(not supported)
SH: R
PME Enable
PCI: R
Controls the PME output (not supported)
Note: The PCIC in this LSI dose not has the PME
pin.
7 to 2
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 586 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
1, 0
PS
00
SH: R/W
Power State
PCI: R/W
These bits specify the power state.
If an unsupported state is specified, a state transition
is not made. However, the register is written normally
and no error is indicated.
00: D0 state
01: D1 state
10: D2 state
11: D3 hot state
Rev.1.00 Jan. 10, 2008 Page 587 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(27) PCIPMCSR Bridge Support Extension Register (PCIPMCSRBSE)
This register supports the functions specific to the PCI bridge and is required for all PCI-to-PCI
bridges.
7
6
5
4
3
2
1
0
BPC
CEN
B2B3N
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
Bit:
Bit
Bit Name
Initial
Value
R/W
Description
7
BPCCEN
0
SH: R
When the bus power/clock control mechanism is
disabled, the system software does not use the power
state field in PCI_PMCSR of the bridge to control the
power or clock of the secondary bus of the bridge.
PCI: R
6
B2B3N
0
SH: R
PCI: R
The state of this bit determines the action to be taken
as a result of programming that sets the power
management function to the D3 hot state.
0: Indicates that the power supplied to the secondary
will be stopped (B3) when the bridge function is set
to the D3 hot state.
1: Indicates that the PCI clock of the secondary bus
will be stopped (B2) when the bridge function is set
to the D3 hot state.
This bit is valid only when bit 7 (PCI_BPCCEN) is set
to 1.
5 to 0
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 588 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(28) PCI Power Consumption/Radiation Register (PCIPCDD)
The data register is an 8-bit optional register (read-only from the PCI bus) that notifies operation
data such as power consumption depending on the state and heat dissipation. For details, see
section 3, PCI Power Management Interface in PCI Bus Power Management Interface
Specification Revision 1.1.
Bit:
7
6
5
4
3
2
1
0
PCDD
Initial value:
SH R/W:
PCI R/W:
Bit
Bit Name
Initial
Value
7 to 0
PCDD
H'00
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R
R
R
R
R
R
R
R
R/W
Description
SH: R/W
This register is used to notify the state-dependent
data requested by the PCIPMCSR.DSL fields.
PCI: R
The value of this register is scaled by the value
notified by the PCIPMCSR.DSC field.
Rev.1.00 Jan. 10, 2008 Page 589 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.3.3
(1)
PCI Local Registers
PCI Control Register (PCICR)
PCICR is a 32-bit register which controls the operation of the PCIC in this LSI.
Writing to this register is valid only when the value of bits 31 to 24 are H'A5.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R/W
PCI R/W:
R
R
R
R
R
Initial value:
SH R/W:
Bit
Bit Name
31 to 24 ⎯
Initial
Value
H'00
9
8
7
6
5
4
3
2
1
0
PFE
TBS
—
BMAM
—
—
—
IOCS
RST
CTL
CFINT
0
R/W
0
R/W
0
R/W
0
R
0
R/W
x
R
x
R
x
R
0
R/W
0
R/W
0
R/W
R
R
R
R
R
R
R
R
R
R
R
PFCS FTO
R/W
Description
SH: R/W Reserved
PCI: R
These bits should be set to H'A5 (write H'A5 to these
bits) only before bits 11 to 8, 6, and 2 to 0 are written.
These bits are always read as 0.
23 to 12 ⎯
11
PFCS
All 0
0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W PCI Pre-Fetch Command Setting
PCI: R
Specifies the access size for pre-fetch when the target
memory read access is issued by an external PCI
device.
This bit is valid only when the PFE bit is 1.
0: 8-byte pre-fetch is always performed
1: 32-byte pre-fetch is always performed
Rev.1.00 Jan. 10, 2008 Page 590 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
10
FTO
0
SH: R/W PCI TRDY/Control Enable
PCI: R
Description
Specifies the function that negates TRDY within 5
cycles before disconnection in a target access.
0: Disabled
1: Enabled
9
PFE
0
SH: R/W PCI Pre-Fetch Enable
PCI: R
Specifies whether pre-fetch is performed when a
target memory access is performed by an external
PCI device.
0: Disabled
1: Enabled
8
TBS
0
SH: R/W Byte Swap
PCI: R
Specifies whether byte data is swapped when the PCI
bus is accessed.
0: No swap
1: Byte data is swapped
For details, see section 13.4.3 (5), Endian or
section 13.4.4 (6), Endian.
7
6
⎯
BMAM
0
0
SH: R
Reserved
PCI: R
This bit is always read as 0. The write value should
always be 0.
SH: R/W Bus Master Arbitration
PCI: R
Controls the PCI bus arbitration mode of the PCIC
when the PCIC is in host mode. This bit is ignored
when the PCIC is in normal mode.
Note: For details, see section 13.4.5 (3), Arbitration.
0: Priority fixed mode (PCIC > device0 > device1 >
device2 > device3)
1: Pseudo-round-robin (the priority of the device that
has bus mastership is set to the lowest.)
5 to 3
⎯
xxx
SH: R
Reserved
PCI: R
These bits are always read as an undefined value.
The write value should always be 0.
Rev.1.00 Jan. 10, 2008 Page 591 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
2
IOCS
0
SH: R/W INTA Output
PCI: R
Description
Controls the INTA output by software. This bit is valid
only when the PCIC operates in normal mode.
0: The INTA pin is in the high-impedance state (driven
high by an on-chip pull-up resistor)
1: Asserts INTA (output at low level)
1
RSTCTL
0
SH: R/W PCIRST Output
PCI: R
Controls the PCIRST pin state by setting this bit to 1.
The PCIRST pin is output at low level at a power-on
reset.
0: Negates PCIRST (output at high level)
1: Asserts PCIRST (output at low level)
0
CFINIT
0
SH: R/W PCIC Internal Register Initialization Control
PCI: R
This bit should be set to 1 after the PCIC internal
registers are initialized. Setting this bit enables
accesses from the PCI bus. During initialization in
host mode, the bus mastership is not given to the
other devices on the PCI bus. In normal mode, the
PCIC returns RETRY without accepting the access
from the PCI bus when it is accessed from the PCI
bus.
0: Initialization being performed
1: Initialization completed
Rev.1.00 Jan. 10, 2008 Page 592 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(2)
PCI Local Space Register 0 (PCILSR0)
See section 13.4.4 (1), Accessing Memory Space in This LSI.
Bit:
31
30
29
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
MBA
RE
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 29 ⎯
28 to 20 LSR
28
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
0
R/W
0
R
0
R
0
R
0
R
R
R
R
R
R
LSR
Initial
Value
All 0
27
R/W
Description
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
0 0000 SH: R/W
0000
PCI: R
Size of Local Address Spaces 0 (9 bits)
These bits specify the size of the local address space
0 (address space for this LSI internal bus) in byte
units.
(Specified size (Mbytes) − 1) should be set to these
bits. When all bits are set to 0, 1-Mbyte space is
secured (initial value).
B'0 0000 0000: 1 Mbyte
B'0 0000 0001: 2 Mbytes
B'0 0000 0011: 4 Mbytes
B'0 0000 0111: 8 Mbytes
B'0 0000 1111: 16 Mbytes
B'0 0001 1111: 32 Mbytes
B'0 0011 1111: 64 Mbytes
B'0 0111 1111: 128 Mbytes
B'0 1111 1111: 256 Mbytes
B'1 1111 1111: 512 Mbytes
Other than above: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 593 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
19 to 1
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W
PCI Memory Base Address Register 0 Enable
PCI: R
Enables accesses to the local address space 0 by
setting this bit to 1.
0
MBARE
0
0: MBAR0 disabled
1: MBAR0 enabled
(3)
PCI Local Space Register 1 (PCILSR1)
See section 13.4.4 (1), Accessing Memory Space in This LSI.
Bit:
31
30
29
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
MBA
RE
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 29 ⎯
28
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
0
R/W
0
R
0
R
0
R
0
R
R
R
R
R
R
LSR
Initial
Value
All 0
27
R/W
Description
SH: R
PCI: R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 594 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
28 to 20 LSR
Initial
Value
R/W
0 0000 SH: R/W
0000
PCI: R
Description
Capacity of Local Address Spaces 1 (9 bits)
These bits specify the size of the local address space
1 (address space for this LSI internal bus) in byte
units.
(Specified size (Mbytes) − 1) should be set to these
bits. When all bits are set to 0, 1-Mbyte space is
secured (initial value).
B'0 0000 0000: 1 Mbyte
B'0 0000 0001: 2 Mbytes
B'0 0000 0011: 4 Mbytes
B'0 0000 0111: 8 Mbytes
B'0 0000 1111: 16 Mbytes
B'0 0001 1111: 32 Mbytes
B'0 0011 1111: 64 Mbytes
B'0 0111 1111: 128 Mbytes
B'0 1111 1111: 256 Mbytes
B'1 1111 1111: 512 Mbytes
Other than above: Setting prohibited
19 to 1
⎯
All 0
SH: R
PCI: R
Reserved
These bits are always read as 0. The write value
should always be 0.
0
MBARE
0
SH: R/W
PCI Memory Base Address Register 1 Enable
PCI: R
Enables accesses to the local address space 1 by
setting this bit to 1.
0: MBAR1 disabled
1: MBAR1 enabled
Rev.1.00 Jan. 10, 2008 Page 595 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(4)
PCI Local Address Register 0 (PCILAR0)
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
LAR
19
18
17
16
—
—
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Initial value:
SH R/W:
Bit
Initial
Bit Name Value R/W
31 to 20 LAR
Description
H'000 SH: R/W Local Address (12 bits)
PCI: R
These bits specify bits 31 to 20 for the start address of the
local address space 0 (internal bus space in this LSI).
As shown below, the valid bits of LAR change depending on
the local address space size specified by the LSR bit in
PCILSR0.
PCILSR0.LSR ([28:20]) = B'0 0000 0000: Bits [31:20] are valid.
PCILSR0.LSR ([28:20]) = B'0 0000 0001: Bits [31:21] are valid.
PCILSR0.LSR ([28:20]) = B'0 0000 0011: Bits [31:22] are valid.
PCILSR0.LSR ([28:20]) = B'0 0000 0111: Bits [31:23] are valid.
PCILSR0.LSR ([28:20]) = B'0 0000 1111: Bits [31:24] are valid.
PCILSR0.LSR ([28:20]) = B'0 0001 1111: Bits [31:25] are valid.
PCILSR0.LSR ([28:20]) = B'0 0011 1111: Bits [31:26] are valid.
PCILSR0.LSR ([28:20]) = B'0 0111 1111: Bits [31:27] are valid.
PCILSR0.LSR ([28:20]) = B'0 1111 1111: Bits [31:28] are valid.
PCILSR0.LSR ([28:20]) = B'1 1111 1111: Bits [31:29] are valid.
19 to 0
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 596 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(5)
PCI Local Address Register 1 (PCILAR1)
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
LAR
19
18
17
16
—
—
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Initial value:
SH R/W:
Bit
Bit Name
31 to 20 LAR
Initial
Value
R/W
Description
H'000
SH: R/W
Local Address (12 bits)
PCI: R
These bits specify bits 31 to 20 for the start address of
the local address space 1 (this LSI internal bus
space).
As shown below, the valid bits of LAR change
depending on the local address space size specified
by the LSR bit in PCILSR1.
PCILSR1.LSR ([28:20]) = B'0 0000 0000: Bits [31:20] are valid.
PCILSR1.LSR ([28:20]) = B'0 0000 0001: Bits [31:21] are valid.
PCILSR1.LSR ([28:20]) = B'0 0000 0011: Bits [31:22] are valid.
PCILSR1.LSR ([28:20]) = B'0 0000 0111: Bits [31:23] are valid.
PCILSR1.LSR ([28:20]) = B'0 0000 1111: Bits [31:24] are valid.
PCILSR1.LSR ([28:20]) = B'0 0001 1111: Bits [31:25] are valid.
PCILSR1.LSR ([28:20]) = B'0 0011 1111: Bits [31:26] are valid.
PCILSR1.LSR ([28:20]) = B'0 0111 1111: Bits [31:27] are valid.
PCILSR1.LSR ([28:20]) = B'0 1111 1111: Bits [31:28] are valid.
PCILSR1.LSR ([28:20]) = B'1 1111 1111: Bits [31:29] are valid.
19 to 0
⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 597 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(6)
PCI Interrupt Register (PCIIR)
PCIIR records interrupt sources. When an interrupt occurs, the corresponding bit is set to 1. When
multiple interrupts occur, only the first source is registered. When an interrupt is disabled, 1 is
written to the corresponding bit by the interrupt source, and no interrupt occurs.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
—
TTA
DI
—
—
—
—
Initial value:
SH R/W:
0
R
0
R/WC
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
Bit
Bit Name
31 to 15 ⎯
14
TTADI
Initial
Value
All 0
0
9
8
TMT
OI
MDEI
7
6
5
4
3
2
1
0
APE SDI DPEI PEDI TAD MAD MW MRD
DI
TW
TR
IM
IM
PDI PEI
0
0
0
0
0
0
0
0
0
0
R/WC R/WC R/WC R/WC R/WC R/WC R/WC R/WC R/WC R/WC
R
R
R
R/W
Description
R
R
R
R
R
R
R
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/WC
Target Target-Abort Interrupt
PCI: R
Indicates that the PCIC has terminated a transaction
with a target-abort when the PCIC functions as a
target.
A target-abort is detected as an illegal byte enable
when the lower two bits (bits 1 and 0) of the address
and the byte enable do not match during an I/O
transfer (target).
0: Target-abort interrupt does not occur
[Clear condition]
Write 1 to this bit (write clear).
1: Target-abort interrupt occurs
[Set condition]
When a target-abort interrupt occurs.
13 to 10 ⎯
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 598 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
9
TMTOI
0
SH: R/WC
Target Memory Read Retry Timeout Interrupt
PCI: R
Indicates that the master did not perform retry
processing within 215 clocks in PCICLK when the
PCIC is a target. This bit is detected only for memory
read transfers.
0: A target memory read retry timeout interrupt was
not generated
1: A target memory read retry timeout interrupt was
generated
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
8
MDEI
0
SH: R/WC
Master Function Disable Error Interrupt
PCI: R
Indicates that the PCIC attempted to operate as a
master (PIO or DMA transfer) although bit 2 (BM) in
PCICMD is cleared to 0 and operation as a bus
master is disabled.
0: A master function disable error interrupt was not
generated
1: A master function disable error interrupt was
generated
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
7
APEDI
0
SH: R/WC
Address Parity Error Detection Interrupt
PCI: R
Indicates that an address parity error was detected.
Note: An address parity error is detected only when
both of the bits 8 (SERRE) and 6 (PER) in
PCICMD are set to 1.
0: An address parity error interrupt was not
generated
1: An address parity error interrupt was generated
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
Rev.1.00 Jan. 10, 2008 Page 599 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
6
SDI
0
SH: R/WC
SERR Detection Interrupt
PCI: R
Indicates that the assertion of SERR was detected
when the PCIC is a host.
0: A SERR detection interrupt was not generated
1: A SERR detection interrupt was generated
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
5
DPEITW
0
SH: R/WC
Data Parity Error Interrupt in Target Write
PCI: R
Indicates that a data parity error was detected in
reception of a target write transfer when the PCIC is
a target.
Note: A data parity error in target write is detected
only when bit 6 (PER) in PCICMD is set to 1.
0: A data parity error interrupt was not generated in
target write
1: A data parity error interrupt was generated in
target write
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
4
PEDITR
0
SH: R/WC
PERR Detection Interrupt in Target Read
PCI: R
Indicates that PERR was received in reception of a
target read transfer when the PCIC is a target.
Note: PERR is detected in target read only when bit
6 (PER) in PCICMD is set to 1.
0: A PERR detection interrupt was not generated in
target read
1: A PERR detection interrupt was generated in
target read
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
Rev.1.00 Jan. 10, 2008 Page 600 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
3
TADIM
0
SH: R/WC
Target Abort Detection Interrupt for Master
PCI: R
Indicates that transaction was terminated by a target
abort when the PCIC is a master.
0: A target abort interrupt was not generated when
the PCIC is a master
1: A target abort interrupt was generated when the
PCIC is a master
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
2
MADIM
0
SH: R/WC
Master-Abort Interrupt for Master
PCI: R
Indicates that transaction was terminated by a
master abort when the PCIC is a master
0: A master abort interrupt was not generated when
the PCIC is a master
1: A master abort interrupt was generated when the
PCIC is a master
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
1
MWPDI
0
SH: R/WC
Master Write PERR Detection Interrupt
PCI: R
Indicates that the PCIC received PERR from a target
during data write to the target and the PCIC is a
master.
Note: Master write PERR is detected only when bit 6
(PER) in PCICMD is set to 1.
0: A master write PERR detection interrupt was not
generated
1: A master write PERR detection interrupt was
generated
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
Rev.1.00 Jan. 10, 2008 Page 601 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
0
MRDPEI
0
SH: R/WC
Master Read Data Parity Error Interrupt
PCI: R
Indicates that the PCIC detected a parity error during
data read from the target when the PCIC is a master.
Note: A master read data parity error is detected only
when bit 6 (PER) in PCICMD is set to 1.
0: A master read data parity error interrupt was not
generated
1: A master read data parity error interrupt was
generated
When TTADI bit is write to 0, target target-abort
interrupt is cleared. When write to 1, it is not
available.
Rev.1.00 Jan. 10, 2008 Page 602 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(7)
PCI Interrupt Mask Register (PCIIMR)
This register is the mask register for PCIIR.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
—
TTA
DIM
—
—
—
—
TMT
OIM
MDE
IM
Initial value:
SH R/W:
0
R
0
R/W
0
R
0
R
0
R
0
R
0
R/W
0
R/W
PCI R/W:
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 15 ⎯
14
TTADIM
Initial
Value
All 0
0
7
6
5
4
3
APE SDIM DPEI PEDI TAD
DIM
TWM TRM IMM
0
0
0
0
0
R/W R/W R/W R/W R/W
R/W
Description
R
R
R
R
R
2
1
0
MAD MW MRD
IMM PDIM PEIM
0
0
0
R/W R/W R/W
R
R
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W
Target Target-Abort Interrupt Mask
PCI: R
0: TTADI disabled (masked)
R
1: TTADI enabled (not masked)
13 to 10 ⎯
9
TMTOIM
All 0
0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/W
Target Retry Time Out Interrupt Mask
PCI: R
0: TMTOI disabled (masked)
1: TMTOI enabled (not masked)
8
MDEIM
0
SH: R/W
Master Function Disable Error Interrupt Mask
PCI: R
0: MDEI disabled (masked)
1: MDEI enabled (not masked)
7
APEDIM
0
SH: R/W
Address Parity Error Detection Interrupt Mask
PCI: R
0: APEDI disabled (masked)
1: APEDI enabled (not masked)
Rev.1.00 Jan. 10, 2008 Page 603 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
6
SDIM
0
SH: R/W
SERR Detection Interrupt Mask
PCI: R
0: SEDI disabled (masked)
1: SEDI enabled (not masked)
5
DPEITWM 0
SH: R/W
PCI: R
Data Parity Error Interrupt Mask for Target Write
0: DPEITW disabled (masked)
1: DPEITW enabled (not masked)
4
PEDITRM
0
SH: R/W
PCI: R
PERR Detection Interrupt Mask for Target Read
0: PEDITR disabled (masked)
1: PEDITR enabled (not masked)
3
TADIMM
0
SH: R/W
PCI: R
Target-Abort Interrupt Mask for Master
0: TADIM disabled (masked)
1: TADIM enabled (not masked)
2
MADIMM
0
SH: R/W
PCI: R
Master-Abort Interrupt Mask for Master
0: MADIM disabled (masked)
1: MADIM enabled (not masked)
1
MWPDIM
0
SH: R/W
PCI: R
Master Write Data Parity Error Interrupt Mask
0: MWPEDI disabled (masked)
1: MWPEDI enabled (not masked)
0
MRDPEIM 0
SH: R/W
PCI: R
Master Read Data Parity Error Interrupt Mask
0: MRDPEI disabled (masked)
1: MRDPEI enabled (not masked)
Rev.1.00 Jan. 10, 2008 Page 604 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(8)
PCI Error Address Information Register (PCIAIR)
This register records PCI address information when an error is detected.
The value of this register is undefined until an interrupt is detected. Regardless of the information
on mask registers, etc, the value is retained when an interrupt is detected.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
AIR
Initial value:
SH R/W:
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
AIR
Initial value:
SH R/W:
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
x
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
AIR
H'xxxx xxxx
SH: R
Address Log
PCI: R
This register retains PCI address information (the
states of the AD[31:0] line) when an error occurs.
Rev.1.00 Jan. 10, 2008 Page 605 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(9)
PCI Error Command Information Register (PCICIR)
This register records the PCI command information when an error is detected.
The value of this register is undefined until an interrupt is detected. Regardless of the information
on mask registers, etc, the value is retained when an interrupt is detected.
Bit:
31
30
29
28
27
MTEM
—
—
—
—
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
0
R
26
RW
TET
x
R
Initial value:
SH R/W:
x
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
—
—
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
x
R
x
R
x
R
x
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit
Bit Name
Initial
Value
R/W
Description
31
MTEM
x
SH: R
Master Error
ECL
PCI: R Indicates that an error occurred during a master read
or a master write transfer
0: No master error
1: Master error occurred
30 to 27 ⎯
All 0
SH: R
Reserved
PCI: R These bits are always read as 0. The write value
should always be 0.
26
RWTET
x
SH: R
Target Error
PCI: R Indicates that an error occurred during a target read
or a target write transfer.
0: No target error
1: Target error occurred
25 to 4
⎯
All 0
SH: R
Reserved
PCI: R These bits are always read as 0. The write value
should always be 0.
3 to 0
ECL
xxxx
SH: R
Command Log
PCI: R These bits retain PCI command information (the state
of the C/BE [3:0] line) when an error occurs.
Rev.1.00 Jan. 10, 2008 Page 606 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(10) PCI Arbiter Interrupt Register (PCIAINT)
In host mode, this register records interrupt sources. When multiple interrupts occur, only the first
source is registered. When an interrupt is disabled, the source is written to the corresponding bit in
this register, and, no interrupt occurs.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
MBI
TB
TOI
MB
TOI
—
—
—
—
—
—
—
TAI
MAI
RD
PEI
WD
PEI
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 14 ⎯
13
MBI
0
0
0
R/WC R/WC R/WC
R
R
R
0
0
0
0
R/WC R/WC R/WC R/WC
R
R
R
Initial
Value
R/W
Description
All 0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
0
R
SH: R/WC Master-Broken Interrupt
PCI: R
An interrupt is detected when the master that received
the bus mastership did not start transaction
(PCIFRAME is not asserted) within 16 clock cycles.
0: A master-broken interrupt was not generated
1: A master-broken interrupt was generated
12
TBTOI
0
SH: R/WC Target Bus Time-Out Interrupt
PCI: R
An interrupt is detected when TRDY or STOP is not
asserted within 16 clock cycles in the first data
transfer or 8 clock cycles in the second and
subsequent data transfer.
0: A target bus timeout interrupt was not generated
1: A target bus timeout interrupt was generated
Rev.1.00 Jan. 10, 2008 Page 607 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
11
MBTOI
0
SH: R/WC Master Bus Time-Out Interrupt
PCI: R
Description
An interrupt is detected when IRDY is not asserted
within 8 clock cycles during data transfer.
0: A master bus timeout interrupt was not generated
1: A master bus timeout interrupt was generated
10 to 4
3
⎯
TAI
All 0
0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/WC Target-Abort Interrupt
PCI: R
Indicates that a transaction was terminated by a target
abort when a device other than the PCIC is a bus
master.
0: A target abort interrupt was not generated
1: A target abort interrupt was generated
2
MAI
0
SH: R/WC Master-Abort Interrupt
PCI: R
Indicates that a transaction was terminated by a
master abort when a device other than the PCIC is a
bus master.
0: A master abort interrupt was not generated
1: A master abort interrupt was generated
1
RDPEI
0
SH: R/WC Read Parity Error Interrupt
PCI: R
PERR assertion was detected during data read when
a device other than the PCIC is a bus master.
0: A read parity error interrupt was not generated
1: A read parity error interrupt was generated
0
WDPEI
0
SH: R/WC Write Parity Error Interrupt
PCI: R
PERR assertion was detected during data write when
a device other than the PCIC is a bus master.
0: A write data parity error interrupt was not generated
1: A write data parity error interrupt was generated
Rev.1.00 Jan. 10, 2008 Page 608 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(11) PCI Arbiter Interrupt Mask Register (PCIAINTM)
This register is the mask register for PCIAINT.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
—
—
MBIM
TBT
OIM
MBT
OIM
—
—
—
—
—
—
—
3
2
1
TAIM MAIM RDP
EIM
Initial value:
SH R/W:
0
R
0
R
0
0
0
R/WC R/WC R/WC
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
0
0
0
R/WC R/WC R/WC R/WC
PCI R/W:
R
R
R
R
R
R
R
R
R
Bit
Bit Name
31 to 14 ⎯
13
MBIM
R
Initial
Value
All 0
0
R
R
R
R
R
R/W
Description
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
0
WDP
EIM
R
SH: R/WC Master-Broken Interrupt Mask
PCI: R
0: MBI disabled (masked)
1: MBI enabled (not masked)
12
TBTOIM
0
SH: R/WC Target Bus Time-Out Interrupt Mask
PCI: R
0: TBTOI disabled (masked)
1: TBTOI enabled (not masked)
11
MBTOIM
0
SH: R/WC Master Bus Time-Out Interrupt Mask
PCI: R
0: MBTOI disabled (masked)
1: MBTOI enabled (not masked)
10 to 4
3
⎯
TAIM
All 0
0
SH: R
Reserved
PCI: R
These bits are always read as 0. The write value
should always be 0.
SH: R/WC Target-Abort Interrupt Mask
PCI: R
0: TAI disabled (masked)
1: TAI enabled (not masked)
Rev.1.00 Jan. 10, 2008 Page 609 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
2
MAIM
0
SH: R/WC
Master-Abort Interrupt Mask
PCI: R
0: MAI disabled (masked)
1: MAI enabled (not masked)
1
RDPEIM
0
SH: R/WC
Read Data Parity Error Interrupt Mask
PCI: R
0: RDPEI disabled (masked)
1: RDPEI enabled (not masked)
0
WDPEIM
0
SH: R/WC
Write Data Parity Error Interrupt Mask
PCI: R
0: WDPEI disabled (masked)
1: WDPEI enabled (not masked)
(12) PCI Arbiter Bus Master Information Register (PCIBMIR)
In host mode, this register records when the interrupt is generated by PCIAINT. When multiple
interrupts occur, only the first source is registered. When an interrupt is disabled, the source is
registered in the corresponding bit, and no interrupt occurs.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
x
R
x
R
x
R
x
R
x
R
PCI R/W:
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
Rev.1.00 Jan. 10, 2008 Page 610 of 1658
REJ09B0261-0100
REQ3 REQ2 REQ1 REQ0
BME BME BME BME
0
PCIC
BME
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
31 to 5
⎯
All 0
4
R/W
Description
SH: R
PCI: R
Reserved
These bits are always read as 0. The write value
should always be 0.
REQ3BME x
SH: R
PCI: R
REQ3 Error
Indicates that an error occurred when the device 3
(REQ3) is a bus master
0: No device 3 bus master error occurred
1: A device 3 bus master error occurred
3
REQ2BME x
SH: R
PCI: R
REQ2 Error
Indicates that an error occurred when the device 2
(REQ2) is a bus master
0: No device 2 bus master error occurred
1: A device 2 bus master error occurred
2
REQ1BME x
SH: R
PCI: R
REQ1 Error
Indicates that an error occurred when the device 1
(REQ1) is a bus master
0: No device 1 bus master error occurred
1: A device 1 bus master error occurred
1
REQ0BME x
SH: R
PCI: R
REQ0 Error
Indicates that an error occurred when the device 0
(REQ0) is a bus master
0: No device 0 bus master error occurred
1: A device 0 bus master error occurred
0
PCICBME x
SH: R
PCI: R
PCIC Error
Indicates that an error occurred when the PCIC is a
bus master.
0: No PCIC bus master error occurred
1: A PCIC bus master error occurred
Rev.1.00 Jan. 10, 2008 Page 611 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(13) PCI PIO Address Register (PCIPAR)
Setting this register generates configuration cycles on the PCI bus. For details, see section 13.4.5
(2), Configuration Space Access.
Bit:
31
30
29
28
27
26
25
24
CCIE
—
—
—
—
—
—
—
Initial value:
SH R/W:
1
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
x
R/W
x
R/W
x
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
DN
Initial value:
SH R/W:
PCI R/W:
23
22
21
20
19
18
17
16
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
—
—
—
—
—
4
3
2
BN
FN
CRA
1
0
—
—
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
0
R
0
R
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
Initial
Value
R/W
Description
31
CCIE
1
SH: R
Configuration Cycle Issue Enable
PCI: ⎯
0: Indicates that configuration cycle issue is disable
1: ⎯
30 to 24 ⎯
23 to 16 BN
All 0
H'xx
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
SH: R/W PCI Bus Number
PCI: ⎯
Rev.1.00 Jan. 10, 2008 Page 612 of 1658
REJ09B0261-0100
These bits specify a PCI bus number for the
configuration access target. The bus number 0
indicates the bus to which the PCIC is connected. A
bus number is represented by an 8-bit value in the
range from 0 to 255.
13. PCI Controller (PCIC)
Bit
Bit Name
15 to 11 DN
Initial
Value
R/W
xxxxx
SH: R/W Device Number
PCI: ⎯
Description
These bits specify a device number for the
configuration access target. A device number is
represented by a 5-bit value in the range from 0 to 31.
Corresponding to the device number specified in this
field, one of the ADn (n = 31 to 16) signals is driven
high instead of IDSEL (other bits are all low). The
following shows the correspondence between the
device number and IDSEL. If the device number is
H'10 or more, all bits from 31 to 16 of the AD signals
are driven low.
10 to 8
FN
xxx
1, 0
CRA
⎯
xxxxxx
All 0
Device No. IDSEL
H'0:
AD[16] = High
H'8:
AD[24] = High
H'1:
AD[17] = High
H'9:
AD[25] = High
H'2:
AD[18] = High
H'A:
AD[26] = High
H'3:
AD[19] = High
H'B:
AD[27] = High
H'4:
AD[20] = High
H'C:
AD[28] = High
H'5:
AD[21] = High
H'D:
AD[29] = High
H'6:
AD[22] = High
H'E:
AD[30] = High
H'7:
AD[23] = High
H'F:
AD[31] = High
SH: R/W Function Number
PCI: ⎯
7 to 2
Device No. IDSEL
These bits specify a function number for the
configuration access target. A function number is
represented by a 3-bit value in the range from 0 to 7.
SH: R/W Configuration Register Address
PCI: ⎯
These bits specify a register for the configuration
access target on a longword boundary.
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 613 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(14) PCI Power Management Interrupt Register (PCIPINT)
This register registers power management interrupt sources.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Initial
Bit Name Value
31 to 4
⎯
3
PMD3H
All 0
0
3
2
1
0
PMD PMD PMD PMD
3H
2
1
0
0
0
0
0
R/WC R/WC R/WC R/WC
—
—
—
—
R/W
Description
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value should
always be 0.
SH: R/WC PCI Power Management D3H (D3hot) Status Transition
Interrupt
PCI: ⎯
Indicates that an interrupt to request a transition to the
PCI bus power-down mode was generated.
0: No D3H (D3hot) status transition interrupt was
generated
1: A D3H (D3hot) status transition interrupt was
generated
2
PMD2
0
SH: R/WC PCI Power Management D2 Status Transition Interrupt
PCI: ⎯
Indicates that an interrupt to request a transition to the
PCI bus power-down mode was generated.
0: No D2 status transition interrupt was generated
1: A D2 status transition interrupt was generated
1
PMD1
0
SH: R/WC PCI Power Management D1 Status Transition Interrupt
PCI: ⎯
Indicates that an interrupt to request a transition to the
PCI bus power-down mode was generated.
0: No D1 status transition interrupt was generated
1: A D1 status transition interrupt was generated
Rev.1.00 Jan. 10, 2008 Page 614 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Initial
Bit Name Value
R/W
0
PMD0
SH: R/WC PCI Power Management D0 Status Transition Interrupt
0
Description
PCI: ⎯
Indicates that an interrupt to request a transition to the
PCI bus power-down mode was generated.
0: No D0 status transition interrupt was generated
1: A D0 status transition interrupt was generated
(15) PCI Power Management Interrupt Mask Register (PCIPINTM)
This register is the mask register for PCIPINT.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
Initial
Value
31 to 4
⎯
All 0
3
PMD3HM
0
R/W
Description
3
2
1
0
PMD PMD PMD PMD
3HM 2M
1M
0M
0
0
0
0
R/W R/W R/W R/W
—
—
—
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
SH: R/W
PCI Power Management D3H (D3hot) Status
Transition Interrupt Mask
PCI: ⎯
—
0: PMD3H disabled (masked)
1: PMD3H enabled (not masked)
2
PMD2M
0
SH: R/W
PCI: ⎯
PCI Power Management D2 Status Transition
Interrupt Mask
0: PMD2 disabled (masked)
1: PMD2 enabled (not masked)
Rev.1.00 Jan. 10, 2008 Page 615 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
1
PMD1M
0
SH: R/W
PCI Power Management D1 Status Transition
Interrupt Mask
PCI: ⎯
0: PMD1 disabled (masked)
1: PMD1 enabled (not masked)
0
PMD0M
0
SH: R/W
PCI: ⎯
PCI Power Management D0 Status Transition
Interrupt Mask
0: PMD0 disabled (masked)
1: PMD0 enabled (not masked)
(16) PCI Memory Bank Register 0 (PCIMBR0)
This register specifies the upper 14 bits of the memory space address on the PCI bus for a memory
read or write to the PCI memory space 0 by the CPU or DMAC.
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
PMSBA0
Initial value:
SH R/W:
17
16
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 18 PMSBA0
17 to 0
⎯
Initial
Value
R/W
H'0000 SH: R/W
All 0
Description
PCI Memory Space 0 Bank Address (14 bits)
PCI: ⎯
These bits specify an bank address for the PCI
memory space 0 for PIO transfer.
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 616 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(17) PCI Memory Bank Mask Register 0 (PCIMBMR0)
This register is the mask register for PCIMBR0. This register specifies the memory space size on
the PCI bus for a memory read or write to the PCI memory space 0 by the CPU or DMAC.
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
25
24
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 24 ⎯
23 to 18 MSBAM0
Initial
Value
All 0
23
22
21
20
19
18
17
16
—
—
0
R/W
0
R
0
R
—
—
—
MSBAM0
R/W
Description
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
000000 SH: R/W
PCI: ⎯
PCI Memory Space 0 Bank Address Mask (6 bits)
0000 00: 256 kbytes
0000 01: 512 kbytes
0000 11: 1 Mbyte
0001 11: 2 Mbytes
0011 11: 4 Mbytes
0111 11: 8 Mbytes
1111 11: 16 Mbytes
Other than above: Setting prohibited
17 to 0
⎯
All 0
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 617 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(18) PCI Memory Bank Register 1 (PCIMBR1)
This register specifies the upper 14 bits of the memory space address on the PCI bus for a memory
read or write to the PCI memory space 1 by the CPU or DMAC.
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
PMSBA1
Initial value:
SH R/W:
17
16
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 18 PMSBA1
17 to 0
⎯
Initial
Value
All 0
All 0
R/W
Description
SH: R/W
PCI Memory Space 1 Bank Address (14 bits)
PCI: ⎯
These bits specify a bank address for the PCI
memory space 1.
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 618 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(19) PCI Memory Bank Mask Register 1 (PCIMBMR1)
This register is the mask register for PCIMBR1. This register specifies the memory space size on
the PCI bus for a memory read or write to the PCI memory space 1 by the CPU or DMAC.
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 26 ⎯
25 to 18 MSBAM1
Initial
Value
All 0
All 0
25
24
23
22
21
20
19
18
17
16
—
—
0
R/W
0
R
0
R
—
—
—
MSBAM1
R/W
Description
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
SH: R/W
PCI Memory Space 1 Bank Address Mask (8 bits)
PCI: ⎯
00 0000 00: 256 kbytes
00 0000 01: 512 kbytes
00 0000 11: 1 Mbyte
00 0001 11: 2 Mbytes
00 0011 11: 4 Mbytes
00 0111 11: 8 Mbytes
00 1111 11: 16 Mbytes
01 1111 11: 32 Mbytes
11 1111 11: 64 Mbytes
Other than above: Setting prohibited
17 to 0
⎯
All 0
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 619 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(20) PCI Memory Bank Register 2 (PCIMBR2)
This register specifies the upper 14 bits of the memory space address on the PCI bus for a memory
read or write to the PCI memory space 2 by the CPU or DMAC.
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
PMSBA2
Initial value:
SH R/W:
17
16
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 18 PMSBA2
17 to 0
⎯
Initial
Value
All 0
All 0
R/W
Description
SH: R/W
PCI Memory Space 2 Bank Address (14 bits)
PCI: ⎯
These bits specify a bank address for the PCI
memory space 2.
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 620 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(21) PCI Memory Bank Mask Register 2 (PCIMBMR2)
This register is the mask register for PCIMBR2. This register specifies the memory space size on
the PCI bus for a memory read or write to the PCI memory space 2 by the CPU or DMAC.
See section 13.4.3 (2), Accessing PCI Memory Space.
Bit:
31
30
29
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
0
R/W
0
R
0
R
—
—
—
MSBAM2
Initial
Value
R/W
Description
31 to 29 ⎯
All 0
SH: R
PCI: ⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
28 to 18 MSBAM2
All 0
SH: R/W
PCI: ⎯
PCI Memory Space 2 Bank Address Mask (11 bits)
0 0000 0000 00: 256 kbytes
0 0000 0000 01: 512 kbytes
0 0000 0000 11: 1 Mbyte
0 0000 0001 11: 2 Mbytes
0 0000 0011 11: 4 Mbytes
0 0000 0111 11: 8 Mbytes
0 0000 1111 11: 16 Mbytes
0 0001 1111 11: 32 Mbytes
0 0011 1111 11: 64 Mbytes
0 0111 1111 11: 128 Mbytes
0 1111 1111 11: 256 Mbytes
1 1111 1111 11: 512 Mbytes
Other than above: Setting prohibited
All 0
SH: R
PCI: ⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
17 to 0
⎯
Rev.1.00 Jan. 10, 2008 Page 621 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(22) PCI I/O Bank Register (PCIIOBR)
This register specifies the upper 14 bits of the I/O space address on the PCI bus for an I/O-read or
I/O-write to the PCI I/O space by the CPU or DMAC.
See section 13.4.3 (3), Accessing PCI I/O Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
PIOSBA
Initial value:
SH R/W:
17
16
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 18 PIOSBA
17 to 0
⎯
Initial
Value
All 0
All 0
R/W
Description
SH: R/W
PCI I/O Space Bank Address (14 bits)
PCI: ⎯
These bits specify a bank register for the PCI I/O
space.
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 622 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(23) PCI I/O Bank Mask Register (PCIIOBMR)
This register is the mask register for PCIIOBR. This register specifies the I/O space size on the
PCI bus for an I/O-read or I/O-write to the PCI I/O space by the CPU or DMAC.
See section 13.4.3 (3), Accessing PCI I/O Space.
Bit:
31
30
29
28
27
26
25
24
23
22
21
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
31 to 21 —
20 to 18 IOBAM
Initial
Value
All 0
All 0
R/W
Description
20
19
18
17
16
—
—
0
R/W
0
R
0
R
—
—
—
IOBAM
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
SH: R/W
PCI I/O Space Bank Address Mask (3 bits)
PCI: ⎯
000: 256 kbytes
001: 512 kbytes
011: 1 Mbyte
111: 2 Mbytes
Other than above: Setting prohibited
17 to 0
⎯
All 0
SH: R
Reserved
PCI: ⎯
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 623 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(24) PCI Cache Snoop Control Register 0 (PCICSCR0)
An external PCI device can access memory of this LSI via the PCIC. When an PCI device
accesses a cacheable area, the PCIC can issue cache snoop commands to the on-chip caches. This
register can specify the function that uses PCICSAR0. For details, see section 13.4.4 (7), Cache
Coherency.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit
Bit Name
Initial
Value
31 to 5
⎯
All 0
4 to 2
RANGE
All 0
R/W
Description
RANGE
SNPMD
SH: R
Reserved
PCI: —
These bits are always read as 0. The write value
should always be 0.
SH: R/W
Address Range to be Compared
PCI: —
These bits specify the address range of PCICSAR0 to
be compared.
000: Compared with PCICSAR0.CADR[31:12] (4 kbytes)
001: Compared with PCICSAR0.CADR[31:16] (64 kbytes)
010: Compared with PCICSAR0.CADR[31:20] (1 Mbyte)
011: Compared with PCICSAR0.CADR[31:24] (16 Mbytes)
100: Compared with PCICSAR0.CADR[31:25] (32 Mbytes)
101: Compared with PCICSAR0.CADR[31:26] (64 Mbytes)
110: Compared with PCICSAR0.CADR[31:27] (128 Mbytes)
111: Compared with PCICSAR0.CADR[31:28] (256 Mbytes)
Valid only when PCICSCR0.SNPMD = 10 or 11.
Rev.1.00 Jan. 10, 2008 Page 624 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
1, 0
SNPMD
All 0
SH: R/W
Snoop Mode for PCICSAR0
PCI: —
These bits specify whether PCICSAR0 is compared
with the SuperHyway bus address requested by an
external device, or not. When PCICSAR0 is specified
to be compared, a condition to issue snoop
commands can be specified.
00: PCICSAR0 is not compared
01: Reserved (setting prohibited)
10: PCICSAR0 is compared. If the address matches
PCICSAR0 in the range, snoop commands are
not issued. If not, snoop commands are issued.
11: PCICSAR0 is compared. If the address matches
PCICSAR0 in the range, snoop commands are
issued. If not, snoop commands are not issued.
(25) PCI Cache Snoop Control Register 1 (PCICSCR1)
An external device can access memory of this LSI via the PCIC. When an PCI device accesses a
cacheable area, the PCIC can issue cache snoop commands to the on-chip caches. This register can
specify the function that uses PCICSAR1. For details, see section 13.4.4 (7), Cache Coherency.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
Initial value:
SH R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
RANGE
SNPMD
Rev.1.00 Jan. 10, 2008 Page 625 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
SH: R
Reserved
PCI: —
These bits are always read as 0. The write value
should always be 0.
SH: R/W
Address Range to be Compared
PCI: —
These bits specify the address range of PCICSAR1 to
be compared.
4 to 2
RANGE
All 0
000: Compared with PCICSAR1.CADR[31:12] (4 kbytes)
001: Compared with PCICSAR1.CADR[31:16] (64 kbytes)
010: Compared with PCICSAR1.CADR[31:20] (1 Mbyte)
011: Compared with PCICSAR1.CADR[31:24] (16 Mbytes)
100: Compared with PCICSAR1.CADR[31:25] (32 Mbytes)
101: Compared with PCICSAR1.CADR[31:26] (64 Mbytes)
110: Compared with PCICSAR1.CADR[31:27] (128 Mbytes)
111: Compared with PCICSAR1.CADR[31:28] (256 Mbytes)
Valid only when PCICSCR1.SNPMD = 10 or 11.
1, 0
SNPMD
All 0
SH: R/W
Snoop Mode for PCICSAR1
PCI: —
These bits specify whether PCICSAR1 is compared
with the SuperHyway bus address requested by an
external device, or not. When PCICSAR1 is specified
to be compared, a condition to issue snoop
commands can be specified.
00: PCICSAR1 not compared
01: Reserved (setting prohibited)
10: PCICSAR1 is compared. If the address matches
PCICSAR1 in the range, snoop commands are
not issued. If not, snoop commands are issued.
11: PCICSAR1 is compared. If the address matches
PCICSAR1 in the range, snoop commands are
issued. If not, snoop commands are not issued.
Rev.1.00 Jan. 10, 2008 Page 626 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(26) PCI Cache Snoop Address Register 0 (PCICSAR0)
This register specifies the address to be compared with the PCI address requested by an external
PCI device to the PCIC. For details, see section 13.4.4 (7), Cache Coherency.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CADR
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Bit:
CADR
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
31 to 0
CADR
Initial
Value
R/W
H'0000 SH: R/W
0000
PCI: R/W
Description
Address to be Compared
This register specifies the address to be compared
with the SuperHyway bus address that is requested
by an external device to the PCI
Rev.1.00 Jan. 10, 2008 Page 627 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(27) PCI Cache Snoop Address Register 1 (PCICSAR1)
This register specifies the address to be compared with the PCI address requested by an external
PCI device to the PCIC. For details, see section 13.4.4 (7), Cache Coherency.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CADR
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Bit:
CADR
Initial value:
SH R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
PCI R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
31 to 0
CADR
Initial
Value
R/W
H'0000 SH: R/W
0000
PCI: R/W
Rev.1.00 Jan. 10, 2008 Page 628 of 1658
REJ09B0261-0100
Description
Address to be Compared
This register specifies the address to be compared
with the SuperHyway bus address that is requested
by an external device to the PCI
13. PCI Controller (PCIC)
(28) PCI PIO Data Register (PCIPDR)
By reading or writing to this register, a configuration cycle is generated on the PCI bus. For
details, see section 13.4.5 (2), Configuration Space Access.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
PDR
Initial value:
SH R/W:
PCI R/W:
Bit:
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PDR
Initial value:
SH R/W:
PCI R/W:
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
Bit
Bit Name
31 to 0
PDR
Initial
Value
H'xxxx
xxxx
R/W
Description
SH: R/W PCI PIO Data Register
PCI: ⎯
By reading or writing to this register, a configuration
cycle is generated on the PCI bus.
Rev.1.00 Jan. 10, 2008 Page 629 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.4
Operation
13.4.1
Supported PCI Commands
Table 13.4 Supported PCI Commands
C/BE[3:0]
Commands
PCI Master
PCI Target
0000
Interrupt acknowledge cycle
No
⎯
0001
Special cycle
Yes*
⎯
0010
I/O read
Yes
Yes*2
0011
I/O write
Yes
Yes*2
0100
Reserved
⎯
⎯
0101
Reserved
⎯
⎯
0110
Memory read
Yes
Yes
0111
Memory write
Yes
Yes
1000
Reserved
⎯
⎯
1001
Reserved
⎯
1
⎯
1
1010
Configuration read
Yes*
Yes
1011
Configuration write
Yes*1
Yes
1100
Memory read multiple
No
Partially yes*3
1101
Dual address cycle
No
No
1110
Memory read line
No
Partially yes*3
1111
Memory write and invalidate
No
Partially yes*4
Legend:
Yes:
Supported
Partially yes: Supported with conditions
No:
Not supported
⎯:
Not respond
Notes: 1. Only host mode supported
2. Only single transfer
3. Operate as the memory read command
4. Operate as the memory write command
Rev.1.00 Jan. 10, 2008 Page 630 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.4.2
PCIC Initialization
After a power-on reset, the ENBL bit in PCIECR and the CFINIT bit in PCICR are cleared. At
this time, if the PCIC operates as the PCI bus host (host mode), device arbitration is not performed
on the PCI bus, and the bus mastership is always granted to the PCIC. When the PCIC does not
operate as host (normal mode), access from an external PCI device connected to the PCI bus is not
accepted, and retries are returned to the PCI bus. In addition, all accesses to the PCIC from the
CPU are invalid except the access to PCIECR (a write access is invalid and a read access will read
0), and read or write accesses to each register and the PCI bus is not executed.
To initialize the PCIC, follow the procedures below.
1. Set the ENBL bit in PCIECR to 1.
2. Initialize the PCI configuration register and PCI local register in the PCIC (while the CFINIT
bit is cleared to 0).
3. Set the CFINT bit in PCICR to 1.
On completion of initialization of the registers, set the CFINIT bit to 1. Then, arbitration is
enabled in host mode, and the access from the PCI bus can be accepted in normal mode.
Whether the PCIC is in host mode or normal mode, external PCI devices cannot be accessed from
the PCIC while the CFINIT bit is being cleared. Set the CFINIT bit to 1 before accessing an
external PCIC device.
Be sure to initialize the following registers while the CFINIT bit is being cleared (before setting to
1): PCICMD, PCISTATUS, PCISVID, PCISID, PCILSR0, PCILSR1, PCILAR0 and PCILAR1.
Rev.1.00 Jan. 10, 2008 Page 631 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.4.3
Master Access
This section describes how software controls the PCI when the PCIC is a bus master. This section
describes the cases where the PCIC is used in both host mode and normal mode.
(1)
Address Map
Table 13.5 shows the PCIC address map.
Table 13.5 PCIC Address Map
Address
Physical
Address
Size
Memory Space
29-Bit Address
Mode*1
32-Bit Address
Extended Mode*1
PCI memory space1
2
(Area 4: PCI selected* )
H'1000 0000 to
H'13FF FFFF
H'1000 0000 to
H'13FF FFFF
64 Mbytes
PCI memory space 2
—
(Only 32-bit address extended mode*1)
H'C000 0000 to
H'DFFF FFFF
512 Mbytes
PCI memory space 0
H'FD00 0000 to
H'FDFF FFFF
H'FD00 0000 to
H'FDFF FFFF
16 Mbytes
Control register space
H'FE00 0000 to
H'FE03 FFFF
H'FE00 0000 to
H'FE03 FFFF
256 Kbytes
PCIC internal register
H'FE04 0000 to
H'FE07 FFFF
H'FE04 0000 to
H'FE07 FFFF
256 Kbytes
Reserved
H'FE08 0000 to
H'FE1F FFFF
H'FE08 0000 to
H'FE1F FFFF
1.5 Mbytes
PCI I/O space
H'FE20 0000 to
H'FE3F FFFF
H'FE20 0000 to
H'FE3F FFFF
2 Mbytes
Notes: 1. Please see MMU about 29/32bit address mode
2. Please see LBSC.
The PCIC has four types of address space (six types, physically). They are PCI memory (three
types), the control register space, PCIC internal control register (PCI configuration registers and
PCI local registers) spaces, and I/O space.
Rev.1.00 Jan. 10, 2008 Page 632 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(2)
Accessing PCI Memory Space
Figure 13.2 shows the memory map from the SuperHyway bus to the PCI bus.
SHwy bus address space (4 GB)
H'0000 0000
H'1000 0000
PCI address space (4 GB)
16 MB
PCI memory space 1
64 MB
H'C000 0000
64 MB
512 MB
PCI memory space 2
512 MB
H'FD00 0000
H'FE00 0000
H'FE20 0000
PCI memory space 0
16 MB
Register space 2 MB
PCI I/O space 2 MB
Figure 13.2 Memory Map from SuperHyway Bus to PCI Bus
To access the PCI memory space, use PCIMBR and PCIMBMR. These registers can allocate
address space ranging from 16 Mbytes to 512 Mbytes. PCI addresses can be allocated to by
software.
Burst transfers are supported for memory transfers.
Consecutive 32-byte burst accesses from the CPU or DMAC result in a burst transfer of 32 bytes
or more (64 bytes, 96 bytes, etc.) on the PCI bus.
The PCI memory spaces are allocated from H'FD00 0000 to H'FDFF FFFF for PCI memory space
0 (16 Mbytes), H'1000 0000 to H'13FF FFFF for PCI memory space 1 (64 Mbytes, selection of the
PCIC and LBSC spaces), and H'C000 0000 to H'DFFF FFFF for PCI memory space 2 (512
Mbytes, available only in 32-bit address extended mode).
Address translation from the SuperHyway bus to PCI local bus is shown below.
The lower 15 bits ([17:3]) of a SuperHyway bus address are sent without translation.
Rev.1.00 Jan. 10, 2008 Page 633 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
For PCI memory space 0, the middle six bits ([23:18]) are controlled by PCIMBMR0.
• PCIMBMR0 [23:18] B'1111 11: PCI address [23:18] = SuperHyway bus address [23:18]
• PCIMBMR0 [23:18] B'0000 00: PCI address [23:18] = PCIMBR0 [23:18]
The upper eight bits ([31:24]) of a SuperHyway bus address are replaced with bits 31 to 24 in
PCIMBR0.
31 24
23
18 17
0
SHwy bus address
31 24
23
18 17
0
31 24
23
18 17
0
PCI address
31 24
23
18 17
0
mask
PCIMBR0
PCIMBMR0
Figure 13.3 Access from SuperHyway Bus to PCI Memory (PCI Bus)
(PCI Memory Space 0)
For PCI memory space 1 accesses, the middle eight bits ([25:18]) are controlled by PCIMBMR1.
• PCIMBMR1 [25:18] B'11 1111 11: PCI address [25:18] = SuperHyway bus address [25:18]
• PCIMBMR1 [25:18] B'00 0000 00: PCI address [25:18] = PCIMBR1 [25:18]
The upper six bits ([31:26]) of a SuperHyway bus address are replaced with bits 31 to 26 in
PCIMBR1.
31 26
25
18 17
0
SHwy bus address
31 26
25
18 17
0
31 26
25
18 17
0
PCI address
31 26
25
PCIMBMR1
18 17
0
mask
PCIMBR1
Figure 13.4 Access from SuperHyway Bus to PCI Memory (PCI Bus)
(PCI Memory Space 1)
Rev.1.00 Jan. 10, 2008 Page 634 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
For PCI memory space 2 accesses, the middle eleven bits ([28:18]) are controlled by PCIMBMR2.
• PCIMBMR2 [28:18] B'1 1111 1111 11: PCI address [28:18] = SuperHyway bus address [28:18]
• PCIMBMR2 [28:18] B'0 0000 0000 00: PCI address [28:18] = PCIMBR2 [28:18]
The upper three bits ([31:29]) of a SuperHyway bus address are replaced with bits 31 to 29 in
PCIMBR2.
31 29
28
18 17
0
SHwy bus address
28
18 17
0
31 29
28
18 17
0
PCI address
31 29
PCIMBMR2
31 29
28
18 17
0
mask
PCIMBR2
Figure 13.5 Access from SuperHyway Bus to PCI Memory (PCI Bus)
(PCI Memory Space 2)
Rev.1.00 Jan. 10, 2008 Page 635 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(3)
Accessing PCI I/O Space
Burst transfers are not supported in I/O transfers. Access within the size of 4-byte.
The PCI I/O address space is allocated from H'FD20 0000 to H'FE3F FFFF (2 Mbytes).
Address translation from SuperHyway bus to PCI local bus is shown below.
The lower 15 bits ([17:3]) of a SuperHyway bus address are sent without translation.
The middle bits ([20:18]) of a SuperHyway bus address are controlled by PCIIOBMR.
• PCIIOMR0 [20:18] B'111: PCI address [20:18] = SuperHyway bus address [20:18]
• PCIIOMR0 [20:18] B'000: PCI address [20:18] = PCIIOBR [20:18]
The upper eleven bits ([31:21]) of a SuperHyway bus address are replaced with bits 31 to 21 in
PCIIOBR.
31 21
20
18 17
0
SHwy bus address
31 21
20
18 17
0
31 21
20
18 17
0
PCI address
31 21
20
18 17
PCIIOBMR
0
mask
PCIIOBR
Figure 13.6 Access from SuperHyway Bus to PCI I/O Space (PCI Bus)
(4)
Accessing Internal Registers of This LSI
All internal registers, that is, PCIECR, PCI configuration registers, and PCI local registers can be
accessed through the CPU. 4-byte, 2-byte, and 1-byte transmission are supported.
(5)
Endian
The PCIC in this LSI supports both the big endian and little endian formats. Since the PCI bus
supports little endian, the PCIC supports both byte swapping and non-byte swapping.
The endian format setting is specified by the TBS bit in PCICR.
Rev.1.00 Jan. 10, 2008 Page 636 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
1. Little endian
SHwy data
Buffer data
MSB
LSB
A' B' C' D' A B C D
A' B' C' D' A B C D
PCI_Addr[2] = 1
PCI_Addr[2] = 0
PCI bus data
A B C D
31
0
2. Big endian
SHwy data
Buffer data
MSB
LSB
A B C D A' B' C' D'
A B C D A' B' C' D'
PCI_Addr[2] = 0
PCI_Addr[2] = 1
PCI bus data
A B C D
31
0
Note: PCIAddr[2]: PCI bus AD[2]
Figure 13.7 Endian Conversion from SuperHyway Bus to PCI Bus
(Non-Byte Swapping: TBS = 0)
Rev.1.00 Jan. 10, 2008 Page 637 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
1. Little endian
SHwy data
MSB
LSB
A' B' C' D' A B C D
A' B' C' D' A B C D
Buffer data
PCI_Addr[2] = 1
PCI_Addr[2] = 0
PCI bus data
A B C D
31
0
2. Big endian
SHwy data
MSB
LSB
D C B A D' C' B' A'
A B C D A' B' C' D'
Buffer data
PCI_Addr[2] = 1
PCI_Addr[2] = 0
PCI bus data
A B C D
31
0
Note: PCIAddr[2]: PCI bus AD[2]
Figure 13.8 Endian Conversion from SuperHyway Bus to PCI Local Bus
(Byte Swapping: TBS = 1)
Rev.1.00 Jan. 10, 2008 Page 638 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCI bus
SHwy bus
Big-endian CPU
Size
Address
Data
31
4n + 0
0
A
4n + 1
Little-endian CPU
Data (without swapping) Data (with swapping)
31
0
31
0
A
B
A
B
31
0
A
B
B
Byte
4n + 2
C
4n + 3
4n + 0
C
D
A
B
C
D
A
C
D
D
B
B
A
A
B
Word
4n + 2
longword
4n + 0
A
B
C
D
C
D
A
B
C
D
D
C
C
D
D
C
B
A
A
B
C
D
C
D
Figure 13.9 Data Alignments for SuperHyway Bus and PCI Bus
Rev.1.00 Jan. 10, 2008 Page 639 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.4.4
Target Access
This section describes how the PCIC in this LSI is accessed by an external PCI local bus master
when the PCIC is used in both the host mode and normal mode.
(1)
Accessing Memory Space in This LSI
Accesses to the PCIC in this LSI by an external PCI bus master are described below.
PCI bus address space (4GB)
H'00000000
SHwy bus address space (4GB)
H'00000000
Memory base 0
Local address
space 0 (base 0)
Memory base 1
Local address
space 1 (base 1)
H'FE000000
I/O space
H'FFFFFFFF
H'FE3FFFFF
PCI I/O space
H'FFFFFFFF
I/O base
Figure 13.10 Memory Map from PCI Bus to SuperHyway Bus
Rev.1.00 Jan. 10, 2008 Page 640 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
To access the address space in this LSI, use PCIMBAR0/1, PCILSR0/1, and PCILAR0/1. PCI
addresses can be allocated to by software. The PCIC has two types of registers for memory
mapping, Local Address Space 0 (base 0) and Local Address Space 1 (base 1).
By setting these two registers, two types of spaces (bases) can be allocated.
The size of these address spaces are selectable from 1 Mbyte to 512 Mbytes by PCILSR0/1.
Single-longword (32 bits) and burst transfers on the PCI bus are supported for PCI target memory
transfers.
For details of accesses to PCIC internal registers (PCI configuration registers and PCI local
registers), see after-mentioned description for configuration access and access to I/O space.
A certain range of the address space on the PCI bus corresponds to the local address space in the
internal bus address space. The local address space 0 in this LSI is controlled by PCIMBAR0,
PCILSR0 and PCILAR0. The local address space 1 is controlled by PCIMBAR1, PCILSR1 and
PCILAR1. Figure 13.11 shows the address translation from the PCI bus to the SuperHyway bus in
this LSI.
PCIMBAR indicates the start address of the PCI bus memory space used by an external PCI
device. PCILAR indicates the start address of the local address space for this LSI. PCILSR
indicates the size of the address space used by an external PCI device.
For PCIMBAR and PCILAR, the upper address bits that are higher than the memory size set in
PCILSR becomes valid. The upper bits in PCIMBAR and the PCI address output from an external
PCI device are compared to determine whether the PCIC is accessed. If these addresses match, an
access to the PCIC is recognized, and a local address is generated from the upper bits in PCILAR
and the lower bits of the PCI address output from the external PCI device. A PCI command
(memory read/write) is executed for this address. If the upper bits of the PCI address output from
the external PCI device does not match the upper bits of PCIMBAR, the PCIC does not respond to
a PCI command.
The PCIC supports data prefetching for a memory read command. When burst read is performed
on the PCI bus, data is prefetched in block units of 8 bytes or 32 bytes (set by PCICR.PFCS and
PCICR.PFE).
When all the MBARE bits in PCILSR0/1 are 0, a PCI bus address is transferred to the internal bus
without translation.
Rev.1.00 Jan. 10, 2008 Page 641 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
31
29 28
20 19
0
31
29 28
20 19
0
31
29 28
20 19
0
SHwy bus
address
PCI address
Compare
PCILAR0/1
31
29 28
20 19
29 28
20 19
0
PCIMBAR0/1
31
0
MBARE
PCILSR0/1
Figure 13.11 PCI Bus to SuperHyway Bus Address Translation
(2)
Accessing PCIC I/O Space
The PCI I/O address space should be allocated as 256 bytes.
The lower eight bits ([7:0]) are sent to the internal bus without translation.
When bits 31 to 8 of a PCI address match bits 31 to 8 of PCIIBAR, the upper 24 bits are replaced
with H'FE04 01 and a PCI local register is accessed.
31
8
7
31
0
PCI address
SHwy bus address
8
7
0
H'FE0401
Compare
31
8
7
0
PCI address
Figure 13.12 I/O Access from PCI Bus to SuperHyway Bus
Rev.1.00 Jan. 10, 2008 Page 642 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(3)
Accessing PCIC Registers
Configuration Registers: Configuration registers should be read or written with (offset from
configuration register space base address) by configuration accesses. A burst transfer is cut off and
terminated.
Local Registers: Local registers should be accessed with (PCI address + offset) using I/O read or
write commands. Only a single longword access is supported. A burst transfer is cut off and
terminated.
Control Register (PCIECR): The control register space should not be read or written from the
PCI bus using a memory read/write command.
(4)
Access to SH7785
Memory Space: See Section 13.4.4 (1), Accessing Memory Space in This LSI. Areas 0 to 6 (CS0
to CS6) on the SH7785 memory map, DDR2-SDRAM space and URAM/ILRAM/OLRAM in the
SH-4A core can be accessed.
On-chip IO Space: The on-chip I/O space should not be read or written from the PCI bus using a
memory read/write command. The read/write operation is not guaranteed.
(5)
Exclusive Access
The lock accessing on the PCI bus is supported.
When the PCI bus is locked, the PCIC is accessible from the device that asserts LOCK.
Resource lock on the SuperHyway bus is not supported. (Another on-chip module can access the
PCIC during lock transfer.)
Rev.1.00 Jan. 10, 2008 Page 643 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(6)
Endian
This LSI supports both the big and little endian formats. Since the PCI local bus is inherently little
endian, the PCIC supports both byte swapping and non-byte swapping.
The endian format is specified by the TBS bit in PCICR.
1. Little endian
PCI bus data
31
0
A B C D
PCI_Addr[2] = 0
PCI_Addr[2] = 1
A' B' C' D' A B C D
Buffer data
MSB
SHwy data
LSB
A' B' C' D' A B C D
2. Big endian
PCI bus data
31
0
A B C D
PCI_Addr[2] = 1
PCI_Addr[2] = 0
A B C D A' B' C' D'
Buffer data
MSB
SHwy data
LSB
A B C D A' B' C' D'
Note: PCIAddr[2]: PCI bus AD[2]
Figure 13.13 Endian Conversion from PCI Bus to SuperHyway Bus
(Non-Byte Swapping: TBS = 0)
Rev.1.00 Jan. 10, 2008 Page 644 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
1. Little endian
PCI bus data
31
0
A B C D
PCI_Addr[2] = 0
PCI_Addr[2] = 1
A' B' C' D' A B C D
Buffer data
MSB
SHwy data
LSB
A' B' C' D' A B C D
2. Big endian
PCI bus data
31
0
A B C D
PCI_Addr[2] = 1
PCI_Addr[2] = 0
D C B A D' C' B' A'
Buffer data
MSB
SHwy data
LSB
D C B A D' C' B' A'
Note: PCIAddr[2]: PCI bus AD[2]
Figure 13.14 Endian Conversion from PCI Bus to SuperHyway Bus
(Byte Swapping: TBS = 1)
Rev.1.00 Jan. 10, 2008 Page 645 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
SHwy bus
PCI bus
Big-endian CPU
Size
Address
Data
31
4n + 0
0
A
4n + 1
Little-endian CPU
Data (without swapping) Data (with swapping)
31
0
31
0
A
B
A
B
31
0
A
B
B
Byte
4n + 2
C
4n + 3
4n + 0
C
D
A
B
C
D
A
C
D
D
B
B
A
A
B
Word
4n + 2
Longword
4n + 0
A
B
C
D
C
D
A
B
C
D
D
C
C
D
D
C
B
A
A
Figure 13.15 Data Alignments for SuperHyway Bus and PCI Bus
Rev.1.00 Jan. 10, 2008 Page 646 of 1658
REJ09B0261-0100
B
C
D
C
D
13. PCI Controller (PCIC)
(7)
Cache Coherency
The PCIC supports cache coherency function.
When the PCIC functions as a target device, cache coherency is guaranteed on the PCI bus for
accesses from a master device both in host mode and normal mode. When a cacheable area of this
LSI is accessed, PCICSCR0/1 and PCICSAR0/1 should be set.
The following shows the usage notes for this function.
• Up to two conditions can be set for the snoop address. These two conditions are logical ORed
for address comparison.
• When this function is used, a flush/purge request is issued to the CPU before memory
read/write is performed in an access by an address hit. It seriously reduces the PCI bus transfer
speed and CPU performance.
• Do not use the prefetch function when using this function. (Do not set the PFE bit in PCICR to
1.)
• Do not use this function when the CPU is in the sleep state. If a cache hit occurs when the CPU
is in the sleep state, an error occurs on the SuperHyway bus and memory read/write is not
performed. Specify the SNPMD bit (snoop mode) in PCICSCR to 00 (to turn off the snoop
function) before the CPU enters the sleep mode. To keep the coherency before/after the CPU
enters the sleep state, execute cache purge before the sleep instruction is executed.
• When using this function, do not use debugging functions using an emulator. (Do not use this
function when using an emulator).
Set
PCI bus address
Internal bus address
Compare
Cache snoop control register
Cache snoop address register
Hit
No hit
Cache flash/purge
Execute read/write
Execute read/write
Figure 13.16 Cache Flush/Purge Execution Flow from PCI Bus to SuperHyway Bus
Rev.1.00 Jan. 10, 2008 Page 647 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.4.5
(1)
Host Mode
Operation in Host Mode
The PCI interface of this LSI supports a subset of the PCI version 2.2 and can be connected to a
device with a PCI bus interface.
According to the PCIC mode, host mode or normal mode, operation differs in two points: (1) the
PCIC unconditionally performs bus parking or not, and (2) the PCI bus arbitration function is
enabled or disabled.
In host mode, the PCIC drives the AD, C/BE, PAR signal lines when a transfer is not performed
on the PCI bus. When the PCIC subsequently starts a transfer as the master, the PCIC continues to
drive these signal lines until the address phase ends.
The REQ and GNT signals between PCIC and an arbiter in the PCIC are internally connected.
Here, pins REQ0/REQOUT, REQ1, REQ2, and REQ3 function as the REQ inputs from external
masters 0 to 3. Similarly, GNT0/GNTIN, GNT1, GNT2, and GNT3 function as the GNT outputs
to external masters 0 to 3. Arbitration for five masters including the PCIC can be performed.
(2)
Configuration Space Access
The PCIC supports configuration mechanism #1. The PCI PIO address register (PCIPAR) and PCI
PIO data register (PCIPDR) correspond to the configuration address register and configuration
data register, respectively.
When PCIPAR is set and PCIPDR is read or written to, a configuration cycle is issued on the PCI
bus. For the type-0 transfer, bits 10 to 2 of the configuration address register are sent to the PCI
bus without translation and AD31 to AD11 are changed to be used as the IDSEL signal.
When the device number is set to 0, AD16 is driven to 1 and the other bits are made to be 0.
When the device number is set to 1, AD17 is driven to 1 and the other bits are made to be 0.
Similarly, setting the device number to 2 drives AD18 to 1 and setting the device number to 3
drives AD19 to 0.
When the device number is set to 16, AD31 is driven to 1 and the other bits are made to be 0.
Rev.1.00 Jan. 10, 2008 Page 648 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
3130
2423
Configuration address
Reserved
Bus No.
register
Enable bit
0: Disabled
1: Enabled
PCI bus address
1110 8 7
1615
210
Device No. Function
Register No. 0 0
No.
Only one bit is set to 1.
31
00
1110
87
210
Figure 13.17 Address Generation for Type 0 Configuration Access
In configuration accesses, no interrupt is generated by a PCI master abort (no device connected).
A configuration write will end normally. A configuration read will return a value of 0.
(3)
Arbitration
In host mode, the PCI bus arbiter in the PCIC is activated.
The PCIC supports four external masters (four pairs of REQ and GNT).
If the bus usage is simultaneously requested by two devices or more, the bus arbiter accepts the
request of the highest priority device.
The PCI bus arbiter supports two modes to determine the device priority: (1) fixed priority and (2)
pseudo-round-robin. The mode is selected by the BMAM bit in PCICR.
In the following description, the device n indicates a PCI device that uses REQn.
(a) Fixed Priority: When the BMAM bit in PCICR is cleared to 0, the priorities of devices are
fixed by the default as follows:
PCIC > device 0 > device 1 > device 2 > device 3
The PCIC has the priority to use the bus in comparison with other devices.
(b) Pseudo-Round-Robin: When the BMAM bit in PCICR is set to 1, the most recently permitted
device is assigned as the lowest priority.
The initial priority is the same as that of the fixed priority mode.
After the device 1 requires the bus and transfer data and the request is permitted, the priority
changes as follows:
PCIC > device 0 > device 2 > device 3 > device 1
Rev.1.00 Jan. 10, 2008 Page 649 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Subsequently, after the PCIC requires the bus and transfer data and the request is permitted, the
priority changes as follows:
Device 0 > device 2 > device 3 > device 1 > PCIC
Then, after the device 3 requires the bus and transfer data and the request is permitted, the priority
changes as follows:
Device 0 > device 2 > device 1 > PCIC > device 3
(4)
Interrupts
• The PCIC has 10 interrupts (these signals are connected to the INTC of this LSI)
• Interrupts are enabled/disabled and their priority levels are specified by the INTC of this LSI
• When the PCIC operates in normal mode, INTA output is available as an interrupt to the host
device on the PCI bus. The INTA pin can be set to be asserted or negated by the IOCS bit in
PCICR.
Table 13.6 Interrupt Priority
Signal
Interrupt Source
INTEVT Priority
PCISERR
SERR assertion detected in host mode
H'A00
PCIINTA
PCI interrupt A (INTA) assertion detected in host mode
H'A20
PCIINTB
PCI interrupt B (INTB) assertion detected in host mode
H'A40
PCIINTC
PCI interrupt C (INTC) assertion detected in host mode
H'A60
PCIINTD
PCI interrupt D (INTD) assertion detected in host mode
H'A80
PCIEER
A PCI error occurs. Generated by PCIIR and PCIAINT.
(Maskable)
H'AA0
PCIPWD3
Power state transition to D3. Generated by PCIPINT.
(Maskable)
H'AC0
PCIPWD2
Power state transition to D2. Generated by PCIPINT.
(Maskable)
PCIPWD1
Power state transition to D1. Generated by PCIPINT.
(Maskable)
PCIPWD0
Power state transition to D0. Generated by PCIPINT.
(Maskable)
Rev.1.00 Jan. 10, 2008 Page 650 of 1658
REJ09B0261-0100
High
H'AE0
Low
13. PCI Controller (PCIC)
The PCIC can retain error information on the PCI bus. When an error occurs, the error address is
stored in PCIAIR and the transfer type and command information are stored in PCICIR. When the
PCIC is in host mode, the bus master information at the error occurrence is stored in PCIBMIR.
The PCIC can retain only one error information. Therefore, when multiple errors occur, only the
first error information is retained and subsequent error information is not retained. The error
information is initialized by a power-on reset.
13.4.6
Normal Mode
In normal mode, the bus arbiter in the PCIC does not operate. The PCI bus arbitration is
performed by an external PCI bus arbiter.
The Bus master that performs bus parking is decided by the GNT signal output from the external
bus arbiter. If the master that performs bus parking and the master that starts the next transfer are
different, high-impedance state is generated for one clock cycle or more before the address phase.
The GNT0/GNTIN pin is used for the GNT input to the PCIC, and the REQ0/REQOUT pin is
used for the REQ output from the PCIC.
13.4.7
Power Management
The PCIC has PCI power management configuration registers (supporting subsets in version 1.1).
The following shows the supported features:
• Supports the PCI power management control configuration registers
• Supports the power-down/restore request interrupts from a host device on the PCI bus
The PCIC supports seven configuration registers for PCI power management control. PCICP
indicates the address offset for the power management configuration registers. In the PCIC,
PCICP is fixed to H'40. PCICID, PCINIP, PCIPMC, PCIPMCSR, PCIPMCSRBSE and PCIPCDD
are power management registers. These registers support four states: power state D0 (normal state)
power state D1 (bus idle state) power state D2 (clock stopped state) and power state D3 (power
down mode).
Figure 13.18 shows power down state transitions on the PCI bus.
Rev.1.00 Jan. 10, 2008 Page 651 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
D0
(Nomal state)
D2
(Clock stopped)
D1
(Bus idle)
D3
(Power-down)
Figure 13.18 Power Down State Transitions on PCI Bus
When the PCIC detects that the power state (PS) bit in PCIPMCSR changes (PS is written by an
external PCI device), it issues a power management interrupt. PCIPINT and PCIPINTM are used
to control the power management interrupts. As the power management interrupts, PCIPWD0 that
detects a transition from the power state D1/D2/D3 to D0, PCIPWD1 that detects a transition from
the power state D0 to D1, PCIPWD2 that detects a transition from the power state D0/D1 to D2,
and PCIPWD3 that detects a transition from the power state D0/D1/D2 to D3 are supported. An
interrupt mask can be set for each interrupt.
The power state D0 interrupt is not generated at a power-on reset.
When the PCIC operates in normal mode and accepts a power down interrupt from an external
host device, note the following:
With the PCI power management function, the PCI bus clock is stopped 16 clocks or more after
the host device directs a transition to the power state D3. Therefore, after detecting a power state
D3 interrupt, do not attempt to read or write to the PCIC internal local registers and configuration
registers that can be accessed both from the CPU and PCI bus, and PCI local bus accesses (I/O and
memory spaces). If the PCI bus clock stops during the access, the read/write cycle will not be
completed and hung up on the SuperHyway bus because these accesses operate with the PCI bus
clock
Rev.1.00 Jan. 10, 2008 Page 652 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
13.4.8
PCI Local Bus Basic Interface
The PCI interface of this LSI supports subsets in the PCI bus version 2.2 and it can be connected
to a device with a PCI bus interface. The following figures show the timing in each operating
mode.
(1)
Master Read/Write Cycle Timing
Figure 13.19 shows an example of a single-write cycle in host mode. Figure 13.20 shows an
example of a single-read cycle in host mode. Figure 13.21 shows an example of a burst-write
cycle in normal mode. Figure 13.22 is an example of a burst-read cycle in normal mode. Note that
the response speed of DEVSEL and TRDY differs according to the connected target device. In
PIO transfer, a single read/write cycle should be used. The configuration transfers can be issued
only in host mode.
PCICLK
Addr
AD[31:0]
D0
AP
PAR
C/BE[3:0]
Com
DP0
BE0
PCIFRAME
IRDY
DEVSEL
TRDY
LOCK
IDSEL
REQ
GNT
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.19 Master Write Cycle in Host Mode (Single)
Rev.1.00 Jan. 10, 2008 Page 653 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
Addr
AD[31:0]
D0
DP0
AP
PAR
Com
C/BE[3:0]
BE0
PCIFRAME
IRDY
DEVSEL
TRDY
LOCK
IDSEL
REQ
GNT
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.20 Master Read Cycle in Host Mode (Single)
Rev.1.00 Jan. 10, 2008 Page 654 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
Addr
AD[31:0]
PAR
Com
C/BE[3:0]
D0
D1
Dn
AP
DP0
DPn-1
BE0
BE1
BEn
DPn
PCIFRAME
IRDY
DEVSEL
TRDY
LOCK
IDSEL
REQOUT
GNTIN
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.21 Master Write Cycle in Normal Mode (Burst)
Rev.1.00 Jan. 10, 2008 Page 655 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
D0
Addr
AD[31:0]
AP
PAR
Com
C/BE[3:0]
BE0
D1
Dn
DP0
DPn-1 DPn
BE1
BEn
PCIFRAME
IRDY
DEVSEL
TRDY
LOCK
IDSEL
REQOUT
GNTIN
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.22 Master Read Cycle in Normal Mode (Burst)
Rev.1.00 Jan. 10, 2008 Page 656 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(2)
Target Read/Write Cycle Timing
The PCIC returns retries to target memory read accesses from an external master until 8 longword
(32-bit) data are prepared in the PCIC internal FIFO. That is, the first target read is always
responded by a retry.
When a target memory write access is performed for the PCIC, the PCIC returns retries to all
subsequent target memory accesses until the write data is completely written to local memory.
Thus, the data contents are guaranteed when data written to the target is target-read immediately
after it was written.
Only single transfers are supported for target accesses to the configuration space and I/O space. If
a burst access request is issued, the external master is disconnected when the first transfer is
complete. Note that the DEVSEL response speed is fixed to 2 clocks (medium) for the target
access to the PCIC.
Figure 13.23 shows an example of a target single-read cycle in normal mode. Figure 13.24 shows
an example of a target single-write cycle in normal mode. Figure 13.25 shows an example of a
target burst-read cycle in host mode. Figure 13.26 shows an example of a target burst-write cycle
in host mode.
Rev.1.00 Jan. 10, 2008 Page 657 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
Addr
AD[31:0]
D0
AP
PAR
Com
C/BE[3:0]
DP0
BE0
PCIFRAME
IRDY
DEVSEL
TRDY
STOP
Disconnect
LOCK
Lock
IDSEL
Configuration space access
REQOUT
GNTIN
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.23 Target Read Cycle in Normal Mode (Single)
Rev.1.00 Jan. 10, 2008 Page 658 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
AD[31:0]
Addr
D0
AP
PAR
C/BE[3:0]
Com
DP0
BE0
PCIFRAME
IRDY
DEVSEL
TRDY
STOP
Disconnect
LOCK
Lock
IDSEL
Configuration space access
REQOUT
GNTIN
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.24 Target Write Cycle in Normal Mode (Single)
Rev.1.00 Jan. 10, 2008 Page 659 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
AD[31:0]
Addr
D0
AP
PAR
C/BE[3:0]
Com
D1
DP0
BE0
BE1
Dn
DPn-1 DPn
BEn
PCIFRAME
IRDY
DEVSEL
TRDY
STOP
Disconnect
Lock
LOCK
IDSEL
REQ
GNT
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.25 Target Memory Read Cycle in Host Mode (Burst)
Rev.1.00 Jan. 10, 2008 Page 660 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
AD[31:0]
Addr
D0
AP
PAR
C/BE[3:0]
Com
D1
DPn-1 DPn
DP0
BE0
Dn
BE1
BEn
PCIFRAME
IRDY
DEVSEL
TRDY
STOP
Disconnect
Lock
LOCK
IDSEL
REQ
GNT
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.26 Target Memory Write Cycle in Host Mode (Burst)
Rev.1.00 Jan. 10, 2008 Page 661 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
(3)
Address/Data Stepping Timing
By writing 1 to the SC bit in PCICMD, a wait (stepping) of one clock can be inserted when the
PCIC is driving the AD bus. As a result, the PCIC drives the AD bus with 2 clocks. This function
can be used when the PCI bus load is heavy and the AD bus does not achieve the stipulated logic
level in one clock.
It is recommended to use this function when the PCIC issues configuration transfers in host mode.
Figure 13.27 shows an example of a burst memory write cycle with address stepping. Figure 13.28
shows an example of a target burst read cycle with address stepping.
PCICLK
Addr
AD[31:0]
AP
PAR
Com
C/BE[3:0]
Dn
D0
DP0
BE0
DPn
DPn-1
BEn
PCIFRAME
IRDY
DEVSEL
TRDY
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.27 Master Write Cycle in Host Mode (Burst, with Stepping)
Rev.1.00 Jan. 10, 2008 Page 662 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
PCICLK
AD[31:0]
Addr
D0
AP
PAR
C/BE[3:0]
Com
D1
DP0
BE0
BE1
Dn
DPn-1
DPn
BEn
PCIFRAME
IRDY
DEVSEL
TRDY
Legend:
Addr: PCI space address
Dn: nth data
AP: Address parity
DPn: nth data parity
Com: Command
BEn: nth data byte enable
Figure 13.28 Target Memory Read Cycle in Host Bus Bridge Mode (Burst, with Stepping)
Rev.1.00 Jan. 10, 2008 Page 663 of 1658
REJ09B0261-0100
13. PCI Controller (PCIC)
Rev.1.00 Jan. 10, 2008 Page 664 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Section 14 Direct Memory Access Controller (DMAC)
This LSI includes an on-chip direct memory access controller (DMAC). Instead of the CPU, the
DMAC can be used to perform data transfers among external devices equipped with DACK
(transfer request acceptance signal), external memory, on-chip memory, memory-mapped external
devices, and on-chip peripheral modules.
14.1
•
•
•
•
•
•
•
•
•
•
•
Features
Number of channels: Twelve channels (channels 0 to 3 can accept an external request)
Address space: 4 Gbytes on the architecture (Physical address)
Transfer data length: Byte, word (2 bytes), longword (4 bytes), 16 bytes, and 32 bytes
Maximum transfer count: 16,777,216
Address mode: Dual address mode
Transfer requests:
Choice of external request (channels 0 to 3), on-chip peripheral module request, or autorequest
The following modules can issue an on-chip peripheral module request.
⎯ SCIF0 to SCIF5, HAC0, HAC1, HSPI, SIOF, SSI0, SSI1, FLCTL, and MMCIF
Bus mode:
Choice of cycle steal mode (normal mode or intermittent mode) or burst mode
Priority: Choice of fixed mode and round-robin mode
Interrupt request: An interrupt request can be generated to the CPU after half of transfers have
ended, all transfers have ended, or an address error has occurred
External request detection: Choice of low/high level detection and rising/falling edge detection
of DREQ input
DMA transfer end notification signal: Active levels for DACK can be specified independently
Rev.1.00 Jan. 10, 2008 Page 665 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Figure 14.1 shows a block diagram of the DMAC.
DMAC channels 0 to 5
On-chip
memory
SuperHyway bus
On-chip
peripheral
module
Peripheral
bus controller
DMA transfer request signal
DMA transfer end signal
Interrupt controller
Iteration
control
Register
control
Start-up
control
SAR0 to SAR5
DAR0 to DAR5
TCR0 to TCR5
CHCR0 to CHCR5
DMAOR0
DMARS0 to DMARS2
Request
priority
control
DMINT0 to DMINT11
DMAE0
DMAE1
SARB0 to SARB3
DARB0 to DARB3
TCRB0 to TCRB3
Bus
interface
DREQ0 to DREQ3
DRAK0 to DRAK3
DACK0 to DACK3
DMAC channels 6 to 11
External ROM
External RAM
Iteration
control
LBSC
Register
control
External I/O
Start-up
control
DDRIF
SAR6 to SAR11
DAR6 to DAR11
TCR6 to TCR11
CHCR6 to CHCR11
DMAOR1
DMARS3 to DMARS5
Request
priority
control
PCIC
SARB6 to SARB9
DARB6 to DARB9
TCRB6 to TCRB9
Bus
interface
Legend:
SAR0 to SAR11:
SARB0 to SARB3, SARB6 to SARB11:
DAR0 to DAR11:
DARB0 to DARB3, DARB6 to DARB9:
TCR0 to TCR11:
TCRB0 to TCRB3, TCRB6 to TCRB9:
CHCR0 to CHCR11:
DMAOR0 and DMAOR1:
DMARS0 to DMARS5:
DMINT0 to DMINT11:
DMAE0:
DMAE1:
DMA source address register
DMA source address register B
DMA destination address register
DMA destination address register B
DMA transfer count register
DMA transfer count register B
DMA channel control register
DMA operation register
DMA extended resource register
DMA transfer end/half-end interrupt request*
channels 0 to 5 address error interrupt request
channels 6 to 11 address error interrupt request
Note: * The half-end interrupt request is valid for only channels 0 to 3 and channels 6 to 9.
Figure 14.1 Block Diagram of DMAC
Rev.1.00 Jan. 10, 2008 Page 666 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.2
Input/Output Pins
The DMAC-related external pins are shown below.
Table 14.1 shows the configuration of the pins that are connected to external device. The DMAC
has pins for four channels (channels 0 to 3) used in the external bus.
Table 14.1 Pin Configuration for the External Bus
Channel Function
Pin Name
I/O
Description
0
DMA transfer request
DREQ0*
Input
DMA transfer request input from external
device to channel 0
DREQ0 acceptance
confirmation
DRAK0*2
Output Notifies acceptance of DMA transfer
request and start of execution from
channel 0 to external device
DMA transfer end
notification
DACK0*2
Output Outputs strobe to DMA transfer request
from channel 0 to external device
DMA transfer request
DREQ1*1
Input
DREQ1 acceptance
confirmation
DRAK1*2
Output Notifies acceptance of DMA transfer
request and start of execution from
channel 1 to external device
DMA transfer end
notification
DACK1*2
Output Outputs strobe to DMA transfer request
from channel 1 to external device
DMA transfer request
DREQ2*1
Input
DREQ2 acceptance
confirmation
DRAK2*2
Output Notifies acceptance of DMA transfer
request and start of execution from
channel 2 to external device
DMA transfer end
notification
DACK2*2
Output Outputs strobe to DMA transfer request
from channel 2 to external device
DMA transfer request
DREQ3*1
Input
DREQ3 acceptance
confirmation
DRAK3*2
Output Notifies acceptance of DMA transfer
request and start of execution from
channel 3 to external device.
DMA transfer end
notification
DACK3*2
Output Outputs strobe to DMA transfer request
from channel 3 to external device
1
2
3
1
DMA transfer request input from external
device to channel 1
DMA transfer request input from external
device to channel 2
DMA transfer request input from external
device to channel 3
Notes: 1. The initial value is low-level detection.
2. The initial value is low-active.
Rev.1.00 Jan. 10, 2008 Page 667 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3
Register Descriptions
Table 14.2 shows the register configuration.
Table 14.2 Register Configuration of the DMAC (1)
Area 7
Access Sync
Channel Name
Abbrev.
R/W
P4 Address
Address
Size*3
clock
0
DMA source address register 0
SAR0
R/W
H'FC80 8020
H'1C80 8020
32
Bck
DMA destination address register 0
DAR0
R/W
H'FC80 8024
H'1C80 8024
32
Bck
DMA transfer count register 0
TCR0
R/W
H'FC80 8028
H'1C80 8028
32
Bck
H'FC80 802C
H'1C80 802C
32
Bck, Pck*4
DMA channel control register 0
1
2
CHCR0
R/W*
DMA source address register 1
SAR1
R/W
H'FC80 8030
H'1C80 8030
32
Bck
DMA destination address register 1
DAR1
R/W
H'FC80 8034
H'1C80 8034
32
Bck
DMA transfer count register 1
TCR1
R/W
H'FC80 8038
H'1C80 8038
32
Bck
DMA channel control register 1
CHCR1
R/W*
H'FC80 803C
H'1C80 803C
32
Bck, Pck*4
DMA source address register 2
SAR2
R/W
H'FC80 8040
H'1C80 8040
32
Bck
DMA destination address register 2
DAR2
R/W
H'FC80 8044
H'1C80 8044
32
Bck
DMA transfer count register 2
TCR2
R/W
H'FC80 8048
H'1C80 8048
32
Bck
H'FC80 804C
H'1C80 804C
32
Bck, Pck*4
DMA channel control register 2
3
1
1
1
CHCR2
R/W*
DMA source address register 3
SAR3
R/W
H'FC80 8050
H'1C80 8050
32
Bck
DMA destination address register 3
DAR3
R/W
H'FC80 8054
H'1C80 8054
32
Bck
DMA transfer count register 3
TCR3
R/W
H'FC80 8058
H'1C80 8058
32
Bck
DMA channel control register 3
CHCR3
R/W*
H'FC80 805C
H'1C80 805C
32
Bck, Pck*4
0 to 5
DMA operation register 0
DMAOR0
R/W*2
H'FC80 8060
H'1C80 8060
16
Bck, Pck*5
4
DMA source address register 4
SAR4
R/W
H'FC80 8070
H'1C80 8070
32
Bck
DMA destination address register 4
DAR4
R/W
H'FC80 8074
H'1C80 8074
32
Bck
DMA transfer count register 4
TCR4
R/W
H'FC80 8078
H'1C80 8078
32
Bck
5
1
DMA channel control register 4
CHCR4
R/W*
H'FC80 807C
H'1C80 807C
32
Bck, Pck*4
DMA source address register 5
SAR5
R/W
H'FC80 8080
H'1C80 8080
32
Bck
DMA destination address register 5
DAR5
R/W
H'FC80 8084
H'1C80 8084
32
Bck
DMA transfer count register 5
TCR5
R/W
H'FC80 8088
H'1C80 8088
32
Bck
H'FC80 808C
H'1C80 808C
32
Bck, Pck*4
DMA channel control register 5
CHCR5
Rev.1.00 Jan. 10, 2008 Page 668 of 1658
REJ09B0261-0100
1
1
R/W*
14. Direct Memory Access Controller (DMAC)
Area 7
Access Sync
Channel Name
Abbrev.
R/W
P4 Address
Address
Size*3
clock
0
SARB0
R/W
H'FC80 8120
H'1C80 8120
32
Bck
1
2
3
DMA source address register B0
DMA destination address register B0 DARB0
R/W
H'FC80 8124
H'1C80 8124
32
Bck
DMA transfer count register B0
TCRB0
R/W
H'FC80 8128
H'1C80 8128
32
Bck
DMA source address register B1
SARB1
R/W
H'FC80 8130
H'1C80 8130
32
Bck
DMA destination address register B1 DARB1
R/W
H'FC80 8134
H'1C80 8134
32
Bck
DMA transfer count register B1
TCRB1
R/W
H'FC80 8138
H'1C80 8138
32
Bck
DMA source address register B2
SARB2
R/W
H'FC80 8140
H'1C80 8140
32
Bck
DMA destination address register B2 DARB2
R/W
H'FC80 8144
H'1C80 8144
32
Bck
DMA transfer count register B2
TCRB2
R/W
H'FC80 8148
H'1C80 8148
32
Bck
DMA source address register B3
SARB3
R/W
H'FC80 8150
H'1C80 8150
32
Bck
DMA destination address register B3 DARB3
R/W
H'FC80 8154
H'1C80 8154
32
Bck
DMA transfer count register B3
TCRB3
R/W
H'FC80 8158
H'1C80 8158
32
Bck
0, 1
DMA extended resource selector 0
DMARS0
R/W
H'FC80 9000
H'1C80 9000
16
Pck
2, 3
DMA extended resource selector 1
DMARS1
R/W
H'FC80 9004
H'1C80 9004
16
Pck
4, 5
DMA extended resource selector 2
DMARS2
R/W
H'FC80 9008
H'1C80 9008
16
Pck
DMA source address register 6
SAR6
R/W
H'FCC0 8020
H'1CC0 8020
32
Bck
DMA destination address register 6
DAR6
R/W
H'FCC0 8024
H'1CC0 8024
32
Bck
6
7
8
9
DMA transfer count register 6
TCR6
R/W
H'FCC0 8028
H'1CC0 8028
32
Bck
DMA channel control register 6
CHCR6
R/W*1
H'FCC0 802C
H'1CC0 802C
32
Bck,
Pck*4
DMA source address register 7
SAR7
R/W
H'FCC0 8030
H'1CC0 8030
32
Bck
DMA destination address register 7
DAR7
R/W
H'FCC0 8034
H'1CC0 8034
32
Bck
DMA transfer count register 7
TCR7
R/W
H'FCC0 8038
H'1CC0 8038
32
Bck
DMA channel control register 7
CHCR7
R/W*1
H'FCC0 803C
H'1CC0 803C
32
Bck,
Pck*4
DMA source address register 8
SAR8
R/W
H'FCC0 8040
H'1CC0 8040
32
Bck
DMA destination address register 8
DAR8
R/W
H'FCC0 8044
H'1CC0 8044
32
Bck
DMA transfer count register 8
TCR8
R/W
H'FCC0 8048
H'1CC0 8048
32
Bck
DMA channel control register 8
CHCR8
R/W*1
H'FCC0 804C
H'1CC0 804C
32
Bck,
Pck*4
DMA source address register 9
SAR9
R/W
H'FCC0 8050
H'1CC0 8050
32
Bck
DMA destination address register 9
DAR9
R/W
H'FCC0 8054
H'1CC0 8054
32
Bck
DMA transfer count register 9
TCR9
R/W
H'FCC0 8058
H'1CC0 8058
32
Bck
DMA channel control register 9
CHCR9
R/W*1
H'FCC0 805C
H'1CC0 805C
32
Bck,
Pck*4
Rev.1.00 Jan. 10, 2008 Page 669 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Channel Name
Abbrev.
R/W
Access Sync
Address
Size*3
clock
6 to 11
DMA operation register 1
DMAOR1
R/W*
H'FCC0 8060
H'1CC0 8060
16
Bck, Pck*5
10
DMA source address register 10
SAR10
R/W
H'FCC0 8070
H'1CC0 8070
32
Bck
DMA destination address register 10 DAR10
R/W
H'FCC0 8074
H'1CC0 8074
32
Bck
DMA transfer count register 10
R/W
H'FCC0 8078
H'1CC0 8078
32
Bck
11
6
7
8
9
TCR10
2
Area 7
P4 Address
DMA channel control register 10
CHCR10
R/W*
H'FCC0 807C
H'1CC0 807C
32
Bck, Pck*4
DMA source address register 11
SAR11
R/W
H'FCC0 8080
H'1CC0 8080
32
Bck
DMA destination address register 11 DAR11
R/W
H'FCC0 8084
H'1CC0 8084
32
Bck
DMA transfer count register 11
R/W
H'FCC0 8088
H'1CC0 8088
32
Bck
TCR11
1
1
DMA channel control register 11
CHCR11
R/W*
H'FCC0 808C
H'1CC0 808C
32
Bck, Pck*4
DMA source address register B6
SARB6
R/W
H'FCC0 8120
H'1CC0 8120
32
Bck
DMA destination address register B6 DARB6
R/W
H'FCC0 8124
H'1CC0 8124
32
Bck
DMA transfer count register B6
TCRB6
R/W
H'FCC0 8128
H'1CC0 8128
32
Bck
DMA source address register B7
SARB7
R/W
H'FCC0 8130
H'1CC0 8130
32
Bck
DMA destination address register B7 DARB7
R/W
H'FCC0 8134
H'1CC0 8134
32
Bck
DMA transfer count register B7
TCRB7
R/W
H'FCC0 8138
H'1CC0 8138
32
Bck
DMA source address register B8
SARB8
R/W
H'FCC0 8140
H'1CC0 8140
32
Bck
DMA destination address register B8 DARB8
R/W
H'FCC0 8144
H'1CC0 8144
32
Bck
DMA transfer count register B8
TCRB8
R/W
H'FCC0 8148
H'1CC0 8148
32
Bck
DMA source address register B9
SARB9
R/W
H'FCC0 8150
H'1CC0 8150
32
Bck
DMA destination address register B9 DARB9
R/W
H'FCC0 8154
H'1CC0 8154
32
Bck
DMA transfer count register B9
TCRB9
R/W
H'FCC0 8158
H'1CC0 8158
32
Bck
6, 7
DMA extended resource selector 3
DMARS3
R/W
H'FCC0 9000
H'1CC0 9000
16
Pck
8, 9
DMA extended resource selector 4
DMARS4
R/W
H'FCC0 9004
H'1CC0 9004
16
Pck
10, 11
DMA extended resource selector 5
DMARS5
R/W
H'FCC0 9008
H'1CC0 9008
16
Pck
Notes: 1. To clear the flag, the HE and TE bits in CHCR can be read as 1, and then, 0 can be
written to.
2. To clear the flag, the AE and NMIF bits in DMAOR can be read as 1, and then, 0 can be
written to.
3. Accessing with other access sizes is prohibited.
4. The synchronous clock for the HE and TE bits in CHCR is Bck, and the synchronous
clock for the other bits in CHCR is Pck.
5. The synchronous clock for the AE, NMIF, and DME bits in DMAOR is Bck, and the
synchronous clock for the CMS and PR bits in DMAOR is Pck.
Rev.1.00 Jan. 10, 2008 Page 670 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Table 14.2 Register Configuration of the DMAC (2)
Power-on
Manual
Reset
Reset
by PRESET by
Deep Sleep
Sleep
by SLEEP
instruction Module
Pin/WDT/
WDT/Multiple by SLEEP
Abbrev.
H-UDI
Exception
instruction (DSLP = 1)
Standby
DMA source address register 0
SAR0
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 0
DAR0
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 0
TCR0
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 0
CHCR0
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 1
SAR1
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 1
DAR1
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 1
TCR1
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 1
CHCR1
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 2
SAR2
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 2
DAR2
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 2
TCR2
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 2
CHCR2
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 3
SAR3
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 3
DAR3
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 3
TCR3
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 3
CHCR3
H'4000 0000 H'4000 0000
Retained
Retained
Retained
0 to 5
DMA operation register 0
DMAOR0 H'0000
H'0000
Retained
Retained
Retained
4
DMA source address register 4
SAR4
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 4
DAR4
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 4
TCR4
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 4
CHCR4
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 5
SAR5
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 5
DAR5
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 5
TCR5
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 5
CHCR5
H'4000 0000 H'4000 0000
Retained
Retained
Retained
Channel Name
0
1
2
3
5
Rev.1.00 Jan. 10, 2008 Page 671 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Power-on
Manual
Reset
Reset
by PRESET by
Deep Sleep
Sleep
Pin/WDT/
WDT/Multiple by SLEEP
by SLEEP
instruction Module
Channel Name
Abbrev.
H-UDI
Exception
instruction (DSLP = 1)
Standby
0
DMA source address register B0
SARB0
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB0
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register B0
TCRB0
Undefined
Undefined
Retained
Retained
Retained
DMA source address register B1
SARB1
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB1
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register B1
TCRB1
Undefined
Undefined
Retained
Retained
Retained
DMA source address register B2
SARB2
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB2
Undefined
Undefined
Retained
Retained
Retained
B0
1
B1
2
B2
DMA transfer count register B2
TCRB2
Undefined
Undefined
Retained
Retained
Retained
DMA source address register B3
SARB3
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB3
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register B3
TCRB3
Undefined
Undefined
Retained
Retained
Retained
0, 1
DMA extended resource selector 0
DMARS0 H'0000
H'0000
Retained
Retained
Retained
2, 3
DMA extended resource selector 1
DMARS1 H'0000
H'0000
Retained
Retained
Retained
4, 5
DMA extended resource selector 2
DMARS2 H'0000
H'0000
Retained
Retained
Retained
6
DMA source address register 6
SAR6
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 6
DAR6
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 6
TCR6
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 6
CHCR6
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 7
SAR7
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 7
DAR7
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 7
TCR7
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 7
CHCR7
H'4000 0000 H'4000 0000
Retained
Retained
Retained
3
B3
7
Rev.1.00 Jan. 10, 2008 Page 672 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Power-on
Manual
Reset
Reset
by PRESET by
Deep Sleep
Sleep
Pin/WDT/
WDT/Multiple by SLEEP
by SLEEP
instruction Module
Channel Name
Abbrev.
H-UDI
Exception
instruction (DSLP = 1)
Standby
8
DMA source address register 8
SAR8
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 8
DAR8
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 8
TCR8
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 8
CHCR8
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 9
SAR9
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 9
DAR9
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 9
TCR9
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 9
CHCR9
H'4000 0000 H'4000 0000
Retained
Retained
Retained
6 to 11
DMA operation register 1
DMAOR1 H'0000
H'0000
Retained
Retained
Retained
10
DMA source address register 10
SAR10
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register 10 DAR10
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 10
TCR10
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 10
CHCR10
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register 11
SAR11
Undefined
Retained
Retained
Retained
9
11
6
Undefined
DMA destination address register 11 DAR11
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register 11
TCR11
Undefined
Undefined
Retained
Retained
Retained
DMA channel control register 11
CHCR11
H'4000 0000 H'4000 0000
Retained
Retained
Retained
DMA source address register B6
SARB6
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB6
Undefined
Undefined
Retained
Retained
Retained
TCRB6
Undefined
Undefined
Retained
Retained
Retained
DMA source address register B7
SARB7
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB7
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register B7
TCRB7
Undefined
Undefined
Retained
Retained
Retained
DMA source address register B8
SARB8
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB8
Undefined
Undefined
Retained
Retained
Retained
TCRB8
Undefined
Undefined
Retained
Retained
Retained
B6
DMA transfer count register B6
7
B7
8
B8
DMA transfer count register B8
Rev.1.00 Jan. 10, 2008 Page 673 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Power-on
Manual
Reset
Reset
by PRESET by
Deep Sleep
Sleep
Pin/WDT/
WDT/Multiple by SLEEP
by SLEEP
instruction Module
Channel Name
Abbrev.
H-UDI
Exception
instruction (DSLP = 1)
Standby
9
DMA source address register B9
SARB9
Undefined
Undefined
Retained
Retained
Retained
DMA destination address register
DARB9
Undefined
Undefined
Retained
Retained
Retained
DMA transfer count register B9
TCRB9
Undefined
Undefined
Retained
Retained
Retained
DMA extended resource selector 3
DMARS3 H'0000
H'0000
Retained
Retained
Retained
B9
6, 7
8, 9
DMA extended resource selector 4
DMARS4 H'0000
H'0000
Retained
Retained
Retained
10, 11
DMA extended resource selector 5
DMARS5 H'0000
H'0000
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 674 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.1
DMA Source Address Registers 0 to 11 (SAR0 to SAR11)
SAR are 32-bit readable/writable registers that specify the source address of a DMA transfer.
During a DMA transfer, these registers indicate the source address of the next transfer. A word or
longword boundary address should be specified when a word or longword transfer is performed
respectively. A 16-byte or 32-byte boundary value should be specified when a 16-byte or 32-byte
transfer is performed respectively.
In 29-bit address mode, the source address is changed as follows before it is output.
• The upper three bits are output as 000 when bits 31 to 29 are not 111 and areas 0 to 6 are used.
• The upper three bits are output as 111 when bits 31 to 29 are not 111 and area 7 is used.
• The written address is output as it is when bits 31 to 29 are 111.
In 32-bit address mode, the written address is output as it is.
The initial value of SAR is undefined.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
Rev.1.00 Jan. 10, 2008 Page 675 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.2
DMA Source Address Registers B0 to B3, B6 to B9 (SARB0 to SARB3, SARB6 to
SARB9)
SARB are 32-bit readable/writable registers that specify the source address of a DMA transfer that
is set in SAR again in repeat/reload mode. The data written to SAR by the CPU is also written to
SARB. To set the address that is different from SAR address, write data to SAR, then, to SARB.
A word or longword boundary address should be specified when a word or longword transfer is
performed respectively. A 16-byte or 32-byte boundary value should be specified when a 16-byte
or 32-byte transfer is performed respectively.
The initial value of SARB is undefined.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
Rev.1.00 Jan. 10, 2008 Page 676 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.3
DMA Destination Address Registers 0 to 11 (DAR0 to DAR11)
DAR are 32-bit readable/writable registers that specify the destination address of a DMA transfer.
During a DMA transfer, these registers indicate the destination address of the next transfer.
A word or longword boundary address should be specified when a word or longword transfer is
performed respectively. A 16-byte or 32-byte boundary value should be specified when a 16-byte
or 32-byte transfer is performed respectively.
In 29-bit address mode, the source address is changed as follows before it is output.
• The upper three bits are output as 000 when bits 31 to 29 are not 111 and areas 0 to 6 are used.
• The upper three bits are output as 111 when bits 31 to 29 are not 111 and area 7 is used.
• The written address is output as it is when bits 31 to 29 are 111.
In 32-bit address mode, the written address is output as it is.
The initial value of DAR is undefined.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
Rev.1.00 Jan. 10, 2008 Page 677 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.4
DMA Destination Address Registers B0 to B3, B6 to B9 (DARB0 to DARB3,
DARB6 to DARB9)
DARB are 32-bit readable/writable registers that specify the destination address of a DMA
transfer that is set in DAR again in repeat/reload mode. The data written to DAR by the CPU is
also written to DARB. To set the address that is different from DAR address, write data to DAR,
then, to DARB.
A word or longword boundary address should be specified when a word or longword transfer is
performed respectively. A 16-byte or 32-byte boundary value should be specified when a 16-byte
or 32-byte transfer is performed respectively.
The initial value of DARB is undefined.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
Rev.1.00 Jan. 10, 2008 Page 678 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.5
DMA Transfer Count Registers 0 to 11 (TCR0 to TCR11)
TCR are 32-bit readable/writable registers that specify the DMA transfer count. When the value is
set to H'00000001, H'00FFFFFF, H'00000000, the transfer count is 1, 16,777,215, and 16,777,216
(the maximum) respectively. During a DMA transfer, these registers indicate the remaining
transfer count.
The upper eight bits in TCR (bits 31 to 24) are always read as 0. The write value should always be
0.
The initial value of TCR is undefined.
31
30
29
28
27
26
25
24
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
BIt:
15
14
13
12
11
10
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
BIt:
Initial value:
R/W:
23
22
21
20
19
18
17
16
⎯
R
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
9
8
7
6
5
4
3
2
1
0
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
Rev.1.00 Jan. 10, 2008 Page 679 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.6
DMA Transfer Count Registers B0 to B3, B6 to B9 (TCRB0 to TCRB3, TCRB6 to
TCRB9)
TCRB are 32-bit readable/writable registers. The data written to TCR by the CPU is also written
to TCRB. While the half end function is being used, TCRB are used as the initial value retain
registers to detect half end. Also, TCRB specify the number of DMA transfers which are set in
TCR again in repeat mode. TCRB specify the number of DMA transfers and are used as transfer
count counters in reload mode.
In reload mode, bits 7 to 0 operate as transfer count counters. When the values are 0, values of
SAR and DAR are updated, and the value of the bits 23 to 16 in TCRB are loaded to the bits 7 to
0. Set the number of transfers until reloading starts to bits 23 to 16. In reload mode, a value from
H'FF (255 times) to H'01 (1 time) can be specified to the bits 23 to 16 and 7 to 0 in TCRB, and set
the same number to bits 23 to 16 and bits 7 to 0 and set bits 15 to 8 to H'00. Also, clear the HIE bit
in CHCR to 0 and do not use the half end function.
Bits 31 to 24 in TCRB are always read as 0. The write value should always be 0.
The initial value of TCRB is undefined.
31
30
29
28
27
26
25
24
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
BIt:
15
14
13
12
11
10
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
BIt:
Initial value:
R/W:
Rev.1.00 Jan. 10, 2008 Page 680 of 1658
REJ09B0261-0100
23
22
21
20
19
18
17
16
⎯
R
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
9
8
7
6
5
4
3
2
1
0
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
⎯
R/W
14. Direct Memory Access Controller (DMAC)
14.3.7
DMA Channel Control Registers 0 to 11 (CHCR0 to CHCR11)
CHCR are 32-bit readable/writable registers that control the DMA transfer mode.
Bit:
31
30
29
28
27
26
25
24
RPT[2:0]
LCKN
Initial value:
R/W:
0
R
1
R/W
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R
Bit:
15
14
13
12
11
10
9
8
DM[1:0]
Initial value:
R/W:
0
R/W
0
R/W
SM[1:0]
0
R/W
0
R/W
RS[3:0]
0
R/W
0
R/W
0
R/W
0
R/W
23
22
DO
RL
0
R/W
0
R/W
21
0
R
7
6
5
DL
DS
TB
0
R/W
0
R/W
0
R/W
20
19
18
17
16
TS2
HE
HIE
AM
AL
0
0
0
R/W R/(W)* R/W
0
R/W
0
R/W
4
3
2
1
0
TS[1:0]
IE
TE
DE
0
R/W
0
R/W
0
0
0
R/W R/(W)* R/W
Note: * R/(W): To clear the flag, 0 can be written to.
Bit
Bit Name
Initial
Value
R/W
31
⎯
0
R
Descriptions
Reserved
This bit is always read as 0. The write value should
always be 0.
30
LCKN
1
R/W
Bus Lock Signal Disable
Specifies whether the bus lock signal output is enabled
or disabled during a read instruction for the
SuperHyway bus. This bit is valid in cycle steal mode.
Clear this bit to 0 in burst mode.
If the bus lock signal is disabled, the bus request from
the bus master other than the DMAC can be accepted.
This can improve the bus usage efficiency in the
system.
For channels 0 to 5, this bit can be set to 0 or 1.
For channels 6 to 11, do not clear this bit to 0. The write
value should always be 1.
0: Bus lock signal output enabled
1: Bus lock signal output disabled
29, 28
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 681 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
27 to 25
RPT[2:0]
000
R/W
DMA Setting Update Specification
These bits are valid in only CHCR0 to CHCR3, and
CHCR6 to CHCR9.
000: Normal mode
001: Repeat mode
SAR/DAR/TCR are repeated
010: Repeat mode
DAR/TCR is repeated
011: Repeat mode
SAR/TCR is repeated
100: Reserved (setting prohibited)
101: Reload mode
SAR/DAR is reloaded
110: Reload mode
DAR is reloaded
111: Reload mode
SAR is reloaded
24
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
23
DO
0
R/W
DMA Overrun
Selects whether DREQ is detected by overrun 0 or by
overrun 1. This bit is valid in only CHCR0 to CHCR3.
0: Detects DREQ by overrun 0
1: Detects DREQ by overrun 1
22
RL
0
R/W
Request Check Level
Selects whether the DRAK signal output is an activehigh or active-low. This bit valid in only CHCR0 to
CHCR3. If the DRAK active direction is changed,
reflecting the change on the external pins requires one
cycle of the external bus clock after writing to the
register is completed.
0: DRAK is an active-low output
1: DRAK is an active-high output
Rev.1.00 Jan. 10, 2008 Page 682 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
21
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
20
TS2
0
R/W
DMA Transfer Size Specification
Specifies the DMA transfer size with TS1 and TS0.
When the transfer source or transfer destination is a
register in an on-chip peripheral module register that
the access size is specified, the transfer data size for
the register should be the same as the access size. For
the address set to SAR or DAR as transfer source or
transfer destination, the transfer data size should be the
same as the address boundary.
TS2, TS1, TS0
000: Byte units
001: Word (2-byte) units
010: Longword (4-byte) units
011: 16-byte units
100: 32-byte units
Other than above: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 683 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
19
HE
0
R/(W)* Half End Flag
Descriptions
After HIE (bit 18) is set to 1 and the number of transfers
is half of TCR (one bit shift to right) which is set before
transfer, HE is 1.
•
HE is set to 1 when the number of transfers is an
even number ((TCR set before transfer)/2)
•
HE is set to 1 when the number of transfers is an
odd number ((TCR set before transfer − 1)/2)
•
HE is set to 1 when the number of transfer is the
maximum transfer count 8,388,608 (H'00800000)
The HE bit is not set when transfers are ended by an
NMI interrupt or address error, or by clearing the DE or
DME bit in DMAOR before the number of transfers is
decreased to half of the TCR value set before the
transfer. The HE bit is kept set when the transfer ends
by an NMI interrupt or address error, or clearing the DE
bit (bit 0) or the DME bit in DMAOR after the HE bit is
set to 1. To clear the HE bit, write 0 after reading 1 from
the HE bit. This bit is valid in only CHCR0 to CHCR3,
and CHCR6 to CHCR9.
0: DMA transfer is being performed or DMA transfer has
been aborted TCR > (TCR set before transfer)/2
Clearing condition: Write 0 after HE is read as 1
1: TCR (TCR set before transfer)/2
18
HIE
0
R/W
Half End Interrupt Enable
Specifies whether an interrupt request is generated to
the CPU when the read cycle of the transfer that the
number of transfers is decreased to half of the TCR
value set before the transfer has ended. If the HIE bit is
set to 1, an interrupt request is generated to the CPU
when the HE bit is set. To confirm that the half of the
transfer has ended, execute a dummy read of the
destination space after issuing the SYNCO instruction.
Clear this bit to 0 while reload mode is set. This bit is
valid in CHCR0 to CHCR3, and CHCR6 to CHCR9.
0: Half end interrupt disabled
1: Half end interrupt enabled
Rev.1.00 Jan. 10, 2008 Page 684 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
17
AM
0
R/W
Acknowledge Mode
Selects whether DACK is output in a data read cycle or
in a data write cycle. DACK is output only for LBSC
space transfers.
This bit is valid in only CHCR0 to CHCR3.
0: DACK output in a read cycle
(DACK is output only when the DMA transfer source
is LBSC space.)
1: DACK output in a write cycle
(DACK is output only when the DMA transfer
destination is LBSC space.)
16
AL
0
R/W
Acknowledge Level
Specifies whether the DACK signal output is high-active
or low-active. This bit is valid in only CHCR0 to CHCR3.
If DACK active direction has been changed, reflecting
the change on the external pins requires two cycles of
the external bus clock after writing to register is
completed.
0: DACK output low-active
1: DACK output high-active
Rev.1.00 Jan. 10, 2008 Page 685 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
15, 14
DM[1:0]
00
R/W
Destination Address Mode 1, 0
Specify whether the DMA destination address is
incremented or decremented.
00: Destination address is fixed
01: Destination address is incremented
byte unit transfer: +1
word unit transfer: +2
longword unit transfer: +4
16-byte unit transfer: +16
32-byte unit transfer: +32
10: Destination address is decremented
byte unit transfer: −1
word unit transfer: −2
longword unit transfer: −4
Setting prohibited in 16/32-byte unit transfer
11: Setting prohibited
For any setting (00, 01, or 10), specifying a transfer size
greater than the bus width divides bus cycles into two or
more, and increases the number of addresses for the
divided bus cycles.
13, 12
SM[1:0]
00
R/W
Source Address Mode 1, 0
Specify whether the DMA source address is
incremented or decremented.
00: Source address is fixed
01: Source address is incremented
byte unit transfer: +1
word unit transfer: +2
longword units transfer: +4
16-byte unit transfer: +16
32-byte unit transfer: +32
10: Source address is decremented
byte unit transfer: −1
word unit transfer: −2
longword unit transfer: −4
Setting prohibited in 16/32-byte unit transfer
11: Setting prohibited
For any setting (00, 01, or 10), specifying a transfer size
greater than the bus width divides bus cycles into two or
more, and increases the number of addresses for the
divided bus cycles.
Rev.1.00 Jan. 10, 2008 Page 686 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
11 to 8
RS[3:0]
0000
R/W
Resource Select 3 to 0
Specify the transfer request source. To change the
transfer request source, the DMA enable (DE) bit
should be cleared to 0.
0000: External request, or dual address mode
0100: Auto-request
1000: On-chip peripheral module request
Selected by DMA extended resource selector
(DMARS0 to DMARS5)
Other than above: Setting prohibited
Note: External request specification is valid in only
CHCR0 to CHCR3. The external request cannot
be specified in CHCR4 to CHCR11.
7
DL
0
R/W
DREQ Level and DREQ Edge Select
6
DS
0
R/W
Specify the detecting method of the DREQ input and
the detecting level.
These bits are valid in only CHCR0 to CHCR3. Even in
channels 0 to 3, if the transfer request source is
specified as an on-chip peripheral module or if an autorequest is specified, these bits are invalid.
00: DREQ detected in low level (DREQ)
01: DREQ detected at falling edge
10: DREQ detected in high level
11: DREQ detected at rising edge
5
TB
0
R/W
Transfer Bus Mode
Specifies the bus mode for DMA transfers.
0: Cycle steal mode
1: Burst mode
Select cycle steal mode when the on-chip peripheral
module requests are specified. This bit can be set to 0
or 1 only for channels 0 to 5.
For channels 6 to 11, this bit cannot be set to 1. The
write value should always be 0.
4, 3
TS[1:0]
00
R/W
DMA Transfer Size Specification
See the description of TS2 (bit 20).
Rev.1.00 Jan. 10, 2008 Page 687 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
2
IE
0
R/W
Interrupt Enable
Specifies whether an interrupt request is generated to
the CPU at the end of the final DMA transfer. Setting
this bit to 1 generates an interrupt request (DMINT) to
the CPU when the TE bit is set to 1 and a read cycle of
the final DMA transfer has ended. To confirm that the
final transfer has ended, execute a dummy read of the
destination space after issuing the SYNCO instruction.
0: Interrupt request disabled
1: Interrupt request enabled
1
TE
0
R/(W)* Transfer End Flag
The TE bit is set to 1 when DMA transfer count register
(TCR) is set to 0 (when the DMAC starts executing the
final DMA transfer). The TE bit is not set, if DMA
transfer ends due to an NMI interrupt or DMA address
error before TCR is cleared to 0, or if DMA transfer is
ended by clearing the DE bit and DME bit in DMA
operation register (DMAOR). To clear the TE bit, the TE
bit should be read as 1, and then, 0 is written to.
Even if the DE bit is set to 1 while this bit is set to 1,
transfer is not enabled.
0: When DMA transfer is being performed or DMA
transfer has been interrupted
[Clearing condition]: Write 0 after TE is read as 1
1: TCR = 0 (when the final DMA transfer is being
performed or the DMA transfer ends)
0
DE
0
R/W
Note:
*
DMA Enable
Enables or disables DMA transfer.
In auto-request mode, DMA transfer starts by setting
the DE bit and the DME bit in DMAOR to 1. The TE,
NMIF, and AE bits in DMAOR should be 0.
In an external request or on-chip peripheral module
request, DMA transfer starts if DMA transfer request is
generated by the corresponding devices or
corresponding peripheral modules after the DE and
DME bits are set to 1. In this case, too, the TE, NMIF,
and AE bits should be 0.
Clearing the DE bit to 0 can abort DMA transfer.
In an on-chip peripheral module request, when aborting
a transfer by clearing the DE bit, clear the DE bit while
the transfer request has been cleared.
0: DMA transfer disabled
1: DMA transfer enabled
To clear the flag, 0 can be written to.
Rev.1.00 Jan. 10, 2008 Page 688 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.8
DMA Operation Register 0, 1 (DMAOR0 and DMAOR1)
DMAOR are 16-bit readable/writable registers that specify the priority of channels in DMA
transfer. Also, these registers show the DMA transfer status.
DMAOR 0 is a register common to channels 0 to 5, and DMAOR1 is a register common to
channels 6 to11.
Bit:
15
14
13
12
11
10
CMS[1:0]
Initial value:
R/W:
0
R
0
R
0
R/W
0
R/W
9
8
7
6
5
4
3
PR[1:0]
0
R
0
R
0
R/W
0
R/W
2
AE
0
R
0
R
0
R
0
R
0
R
1
0
NMIF DME
0
0
0
R/(W)*R/(W)* R/W
Note: * To clear the flag, 0 can be written to.
Bit
Bit Name
Initial
Value
R/W
Descriptions
15, 14
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
13, 12
CMS[1:0]
00
R/W
Cycle Steal Mode Select 1, 0
Select normal mode or intermittent mode in cycle steal
mode.
To validate intermittent mode, bus mode in all channels
(channels 0 to 5) corresponding to DMAOR0 or all
channels (channels 6 to 11) corresponding to DMAOR1
should be in cycle steal mode.
00: Normal mode
01: Setting prohibited
10: Intermittent mode 16
Executes a DMA transfer after waiting 16 Bck clock
of the external clock
11: Intermittent mode 64
Executes a DMA transfer after waiting 64 Bck clock
of the external clock
For details, see the descriptions on intermittent mode
16 and Intermittent mode 64, under section 14.4.3 (2)
(a), Cycle Steal Mode.
Rev.1.00 Jan. 10, 2008 Page 689 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
11, 10
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
9, 8
PR[1:0]
00
R/W
Priority Mode 1, 0
Determine the priority between channels when there
are transfer requests for multiple channels
simultaneously.
00: CH0 > CH1 > CH2 > CH3 > CH4 > CH5 (DMAOR0)
CH6 > CH7 > CH8 > CH9 > CH10 > CH11
(DMAOR1)
01: CH0 > CH2 > CH3 > CH1 > CH4 > CH5 (DMAOR0)
CH6 > CH8 > CH9 > CH7 > CH10 > CH11
(DMAOR1)
10: Setting prohibited
11: Round-robin mode for CH0 to CH5 (DMAOR0)
Round-robin mode for CH6 to CH11 (DMAOR1)
When round-robin mode is specified, do not mix the
cycle steal mode and the burst mode in any channels
(channels 0 to 5) corresponding to DMAOR0. For any
channels corresponding to DMAOR1 (channels 6 to
11), only normal mode 2 in the cycle steal mode
(CHCR.LCKN = 1, CHCR.TB = 0) can be specified.
7 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 690 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
2
AE
0
R/(W)* Address Error Flag
Descriptions
Indicates that an address error occurred during DMA
transfer.
This bit is set under following conditions.
•
The value set in SAR or DAR does not match to the
transfer size boundary.
•
The transfer source or transfer destination is
undefined space on the address map.
•
The transfer source or transfer destination is in
module stop mode
When the AE bit in DMAOR0 is set, DMA transfers for
channels 0 to 5 are disabled even if the DE bit in CHCR
of the channels (channels 0 to 5) corresponding to
DMAOR0 and the DME bit in DMAOR0 are set to 1.
When the AE bit in DMAOR1 is set, DMA transfers for
channels 6 to 11 are disabled even if the DE bit in
CHCR of the channels (channels 6 to 11)
corresponding to DMAOR1 and the DME bit in
DMAOR1 are set to 1.
0: No DMAC address error
[Clearing condition]: Write 0 to the AE bit after the bit
is read as 1
1: DMAC address error occurs
1
NMIF
0
R/(W)* NMI Flag
Indicates that an NMI interrupt occurred. If this bit is set,
DMA transfer is disabled even if the DE bit in CHCR
and the DME bit in DMAOR are set to 1.
When the NMI is input, the DMA transfer is stopped.
Set registers of all channels again after returning from
the exception handling routine of a NMI and then start a
transfer. When the DMAC does not operate, the NMIF
bit is set to 1 even if the NMI interrupt is input.
0: No NMI interrupt
[Clearing condition]: Write 0 to NMIF after NMIF is
read as 1
1: NMI interrupt occurs
Rev.1.00 Jan. 10, 2008 Page 691 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Bit
Bit Name
Initial
Value
R/W
Descriptions
0
DME
0
R/W
DMA Master Enable
Enables or disables DMA transfers on all channels
(channels 0 to 5) corresponding to DMAOR0, and all
channels (channels 6 to 11) corresponding to
DMAOR1. If the DME bit, and the DE bit in CHCR are
set to 1, transfer is enabled. All of the TE bit in CHCR in
the channel that executes transfer, NMIF, and AE in
DMAOR corresponding to channels should be 0. If the
DME bit is cleared to 0, transfers in all channels
(channels 0 to 5) corresponding to DMAOR0 and all
channels (channels 6 to 11) corresponding to DMAOR1
are aborted.
In an on-chip peripheral module request, when aborting
the transfer by clearing the DME bit, clear the DME bit
while all on-chip peripheral module transfer requests
corresponding channels of DMAOR is cleared.
0: DMA transfers on channels 0 to 5 disabled
(DMAOR0)
DMA transfers on channels 6 to 11 disabled
(DMAOR1)
1: DMA transfers on channels 0 to 5 enabled
(DMAOR0)
DMA transfers on channels 6 to 11 enabled
(DMAOR1)
Note:
*
To clear the flag, 0 can be written to.
Rev.1.00 Jan. 10, 2008 Page 692 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.3.9
DMA Extended Resource Selectors 0 to 5 (DMARS0 to DMARS5)
DMARS are 16-bit readable/writable registers. DMARS0, DMARS1, DMARS2, DMARS3,
DMARS4, and DMARS5 specify DMA transfer request source from peripheral modules for
channels 0 and 1, channels 2 and 3, channels 4 and 5, channels 6 and 7, channels 8 and 9, and
channels 10 and 11 respectively. These registers can specify the transfer request of SCIF0 to
SCIF5, HAC0, HAC1, HSPI, SIOF, SSI0, SSI1, FLCTL, and MMCIF.
When MID/RID other than the values listed in table 14.3 is specified, the operation of this LSI is
not guaranteed. The transfer request from DMARS is valid only when the resource select bits RS3
to RS0 have been set to B'1000 for CHCR. When the bits are not set to B'1000, transfer request
source is not accepted even if DMARS has been specified.
• DMARS0
Bit:
15
14
13
12
11
10
Ch1MID
Initial value:
R/W:
0
R/W
9
8
7
6
Ch1RID
5
4
3
2
Ch0MID
1
0
Ch0RID
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
• DMARS1
Bit:
15
Ch3MID
Initial value:
R/W:
0
R/W
Ch3RID
Ch2MID
Ch2RID
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
• DMARS2
Bit:
15
Ch5MID
Initial value:
R/W:
0
R/W
Ch5RID
Ch4MID
Ch4RID
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
• DMARS3
Bit:
15
Ch7MID
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
Ch7RID
0
R/W
0
R/W
0
R/W
0
R/W
Ch6MID
0
R/W
0
R/W
0
R/W
0
R/W
Ch6RID
0
R/W
0
R/W
0
R/W
0
R/W
Rev.1.00 Jan. 10, 2008 Page 693 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• DMARS4
Bit:
15
14
13
12
11
10
9
Ch9MID
Initial value:
R/W:
0
R/W
8
7
6
Ch9RID
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
5
4
3
2
Ch8MID
0
R/W
0
R/W
0
R/W
0
R/W
9
8
7
6
1
0
Ch8RID
0
R/W
0
R/W
0
R/W
0
R/W
5
4
3
2
0
R/W
0
R/W
1
0
• DMARS5
Bit:
15
Ch11MID
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
Ch11RID
0
R/W
0
R/W
0
R/W
0
R/W
Ch10MID
0
R/W
0
R/W
0
R/W
0
R/W
Ch10RID
0
R/W
0
R/W
0
R/W
0
R/W
• DMARS0
Bit
Bit Name
Initial
Value
R/W
Descriptions
15
C1MID5
0
R/W
14
C1MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 1 (MID)
13
C1MID3
0
R/W
See table 14.3.
12
C1MID2
0
R/W
11
C1MID1
0
R/W
10
C1MID0
0
R/W
9
C1RID1
0
R/W
8
C1RID0
0
R/W
7
C0MID5
0
R/W
6
C0MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 0 (MID)
5
C0MID3
0
R/W
See table 14.3.
4
C0MID2
0
R/W
3
C0MID1
0
R/W
2
C0MID0
0
R/W
1
C0RID1
0
R/W
0
C0RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 1 (RID)
See table 14.3.
Transfer request source register ID1 and ID0 for DMA
channel 0 (RID)
See table 14.3.
Rev.1.00 Jan. 10, 2008 Page 694 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• DMARS1
Bit
Bit Name
Initial
Value
R/W
Descriptions
15
C3MID5
0
R/W
14
C3MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 3 (MID)
13
C3MID3
0
R/W
See table 14.3.
12
C3MID2
0
R/W
11
C3MID1
0
R/W
10
C3MID0
0
R/W
9
C3RID1
0
R/W
8
C3RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 3 (RID)
See table 14.3.
7
C2MID5
0
R/W
6
C2MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 2 (MID)
5
C2MID3
0
R/W
See table 14.3.
4
C2MID2
0
R/W
3
C2MID1
0
R/W
2
C2MID0
0
R/W
1
C2RID1
0
R/W
0
C2RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 2 (RID)
See table 14.3.
Rev.1.00 Jan. 10, 2008 Page 695 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• DMARS2
Bit
Bit Name
Initial
Value
R/W
Descriptions
15
C5MID5
0
R/W
14
C5MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 5 (MID)
13
C5MID3
0
R/W
See table 14.3.
12
C5MID2
0
R/W
11
C5MID1
0
R/W
10
C5MID0
0
R/W
9
C5RID1
0
R/W
8
C5RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 5 (RID)
See table 14.3.
7
C4MID5
0
R/W
6
C4MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 4 (MID)
5
C4MID3
0
R/W
See table 14.3.
4
C4MID2
0
R/W
3
C4MID1
0
R/W
2
C4MID0
0
R/W
1
C4RID1
0
R/W
0
C4RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 4 (RID)
See table 14.3.
Rev.1.00 Jan. 10, 2008 Page 696 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• DMARS3
Bit
Bit Name
Initial
Value
R/W
Descriptions
15
C7MID5
0
R/W
14
C7MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 7 (MID)
13
C7MID3
0
R/W
See table 14.3.
12
C7MID2
0
R/W
11
C7MID1
0
R/W
10
C7MID0
0
R/W
9
C7RID1
0
R/W
8
C7RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 7 (RID)
See table 14.3.
7
C6MID5
0
R/W
6
C6MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 6 (MID)
5
C6MID3
0
R/W
See table 14.3.
4
C6MID2
0
R/W
3
C6MID1
0
R/W
2
C6MID0
0
R/W
1
C6RID1
0
R/W
0
C6RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 6 (RID)
See table 14.3.
Rev.1.00 Jan. 10, 2008 Page 697 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• DMARS4
Bit
Bit Name
Initial
Value
R/W
Descriptions
15
C9MID5
0
R/W
14
C9MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 9 (MID)
13
C9MID3
0
R/W
See table 14.3.
12
C9MID2
0
R/W
11
C9MID1
0
R/W
10
C9MID0
0
R/W
9
C9RID1
0
R/W
8
C9RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 9 (RID)
See table 14.3.
7
C8MID5
0
R/W
6
C8MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 8 (MID)
5
C8MID3
0
R/W
See table 14.3.
4
C8MID2
0
R/W
3
C8MID1
0
R/W
2
C8MID0
0
R/W
1
C8RID1
0
R/W
0
C8RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 8 (RID)
See table 14.3.
Rev.1.00 Jan. 10, 2008 Page 698 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• DMARS5
Bit
Bit Name
Initial
Value
R/W
Descriptions
15
C11MID5
0
R/W
14
C11MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 11 (MID)
13
C11MID3
0
R/W
See table 14.3.
12
C11MID2
0
R/W
11
C11MID1
0
R/W
10
C11MID0
0
R/W
9
C11RID1
0
R/W
8
C11RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 11 (RID)
See table 14.3.
7
C10MID5
0
R/W
6
C10MID4
0
R/W
Transfer request source module ID5 to ID0 for DMA
channel 10 (MID)
5
C10MID3
0
R/W
See table 14.3.
4
C10MID2
0
R/W
3
C10MID1
0
R/W
2
C10MID0
0
R/W
1
C10RID1
0
R/W
0
C10RID0
0
R/W
Transfer request source register ID1 and ID0 for DMA
channel 10 (RID)
See table 14.3.
Rev.1.00 Jan. 10, 2008 Page 699 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Table 14.3 List of Transfer Request Sources
Peripheral
Module
Setting Value for One
Channel (MID and RID fields) MID
RID
Function
SSI0
H'03
B'000000
B'11
Transmit/receive
SSI1
H'07
B'000001
B'11
Transmit/receive
SCIF0
H'21
B'001000
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
H'22
SCIF1
H'25
B'001001
H'26
SCIF2
H'29
B'001010
H'2A
SCIF3
H'2D
B'001011
H'2E
SCIF4
H'31
B'001100
H'32
SCIF5
H'35
B'001101
H'36
HAC0
H'41
B'010000
H'42
HAC1
H'45
B'010001
H'46
SIOF
H'51
B'010100
H'52
FLCTL
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
B'01
Transmit
B'10
Receive
H'83
B'100000
B'11
Transmit/receive of
data part
H'87
B'100001
B'11
Transmit/receive of
management code part
MMCIF
H'93
B'100100
B'11
Transmit/receive
HSPI
H'A1
B'101000
B'01
Transmit
B'10
Receive
H'A2
Rev.1.00 Jan. 10, 2008 Page 700 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.4
Operation
When DMA transfer is requested, the DMAC starts transfer according to the determined channel
priority. When the transfer end conditions are satisfied, the DMAC ends transfer. Transfer
requests have three modes: auto-request mode, external request mode, and on-chip peripheral
module request mode. Bus modes can be chosen from burst mode or cycle steal mode.
14.4.1
DMA Transfer Requests
DMA transfer requests are basically generated in either the data transfer source or data transfer
destination, but they can also be generated in external devices or on-chip peripheral modules that
are neither the transfer source nor the transfer destination.
Transfers can be requested in three modes: auto-request, external request, and on-chip peripheral
module request. The transfer request is selected by bits RS3 to RS0 in CHCR0 to CHCR11, and
DMARS0 to DMARS5, according to DMA channels.
(1)
Auto-Request Mode
Auto-request mode is a mode that automatically generates transfer request signal in the DMAC
when there is no transfer request signal from an external source, like memory-to-memory transfer
or a transfer between memory and an on-chip peripheral module that cannot generate transfer
request. When the DE bit in CHCR, the DME bit in DMAOR0 for channels 0 to 5, and the DME
bit in DMAOR1 for channels 6 to 11 are set to 1, transfers are started. In channels 0 to 5, the AE
and NMIF bits in DMAOR0 should be all 0. In channels 6 to 11, the AE and NMIF bits in
DMAOR1 should be all 0.
(2)
External Request Mode
External request mode is a mode that starts transfer by the transfer request signal (DERQ0 to
DREQ3) from the external device of this LSI. This mode is valid in only channels 0 to 3. Table
14.4 shows the external request mode settings. While DMA transfer is enabled (DE = 1, DME = 1,
TE = 0, AE = 0, NMIF = 0), DMA transfer starts when DREQ is input.
Table 14.4 External Request Mode Setting with RS Bits
CHCR
RS3
RS2
RS1
RS0
Address Mode
Transfer Source
Transfer Destination
0
0
0
0
Dual address mode
Any
Any
Rev.1.00 Jan. 10, 2008 Page 701 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Choose whether DREQ is detected by edge or level with the DREQ level (DL) bit and DREQ
select (DS) bit in CHCR0 to CHCR3 shown in table 14.5. The source of the transfer request does
not have to be the transfer source or transfer destination.
Table 14.5 External Request Detection Selection with DL and DS Bits
CHCR
DL
DS
Detection of External Request
0
0
Low level detection (initial value: DREQ)
1
Falling edge detection
1
0
High level detection
1
Rising edge detection
When DREQ is accepted, the DREQ pin cannot accept requests. After acknowledge DACK is
output to the accepted DREQ, the DREQ pin can accept requests again.
When DREQ is used for level detection, the timing to detect the next DREQ after outputting
DACK depends on the DO bit in CHCR.
For details, see section 14.4.7, DREQ Pin Sampling Timing.
Table 14.6 Selecting External Request Detection with the DO Bit
CHCR
DO
External Request
0
Overrun 0 (initial value)
1
Overrun 1
DACK can be output to only LBSC space, and is output at the same timing as CSn. The setting
whether DACK is output during the reading or writing cycle is selected by the AM bit in CHCR
shown in table 14.7.
Table 14.7 Acknowledge Mode Selection with AM Bit
CHCR
AM
External Request
0
DACK output during the reading cycle (initial value)
1
DACK output during the writing cycle
Rev.1.00 Jan. 10, 2008 Page 702 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
(3)
On-Chip Peripheral Module Request Mode
On-chip peripheral module request mode is a mode that performs transfer by DMA transfer
request signal from an on-chip peripheral module. DMA transfer request signals include a transmit
data empty transfer request and receive data full transfer request that are from the SCIF0 to SCIF5,
HAC0, HAC1, HSPI, SIOF, SSI0, SSI1, and MMCIF set in DMARS0 to DMARS5, and a transfer
request from the FLCTL.
If the DMA transfer is enabled (DE = 1, DME = 1, TE = 0, AE = 0, NMIF = 0) in this mode, a
transfer is performed by transfer request signal.
When a transmit data empty transfer request of the SCIF0 is specified as the transfer request, the
transfer destination must be the SCIF0's transmit data register. Likewise, when receive data full
transfer request of the SCIF0 is specified as the transfer request, the transfer source must be the
SCIF0's receive data register. These conditions also apply to the SCIF1 to SCIF5, HAC0, HAC1,
HSPI, SIOF, SSI0, SSI1 and MMCIF.
Table 14.8 shows the settings required to select the on-chip peripheral module request mode.
Rev.1.00 Jan. 10, 2008 Page 703 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Table 14.8 List of On-Chip Peripheral Module Request Modes
CHCR
DMARS
RS[3:0] MID
1000
DMA Transfer
RID Request Source DMA Transfer Request Signal Source
000000 11
000001 11
001000 01
10
001001 01
10
001010 01
10
001011 01
10
001100 01
10
Bus
Destination Mode
SSI0 transmitter
Transmit data empty request
Any
(In transmit mode, the DMRQ
bit in the SSISR0 register is 1.)
SSITDR0
Cycle
steal
SSI0 receiver
Unread data is present (In
SSIRDR0
receive mode, the DMRQ bit in
the SSISR0 register is 1.)
Any
Cycle
steal
SSI1 transmitter
Transmit data empty request
Any
(In transmit mode, the DMRQ
bit in the SSISR1 register is 1.)
SSITDR1
Cycle
steal
SSI1 receiver
Unread data is present (In
SSIRDR1
receive mode, the DMRQ bit in
the SSISR1 register is 1.)
Any
Cycle
steal
SCIF0 transmitter TXI (transmit FIFO data empty) Any
SCFTDR0
Cycle
steal
SCIF0 receiver
Any
Cycle
steal
SCIF1 transmitter TXI (transmit FIFO data empty) Any
SCFTDR1
Cycle
steal
SCIF1 receiver
Any
Cycle
steal
SCIF2 transmitter TXI (transmit FIFO data empty) Any
SCFTDR2
Cycle
steal
SCIF2 receiver
Any
Cycle
steal
SCIF3 transmitter TXI (transmit FIFO data empty) Any
SCFTDR3
Cycle
steal
SCIF3 receiver
Any
Cycle
steal
SCIF4 transmitter TXI (transmit FIFO data empty) Any
SCFTDR4
Cycle
steal
SCIF4 receiver
Any
Cycle
steal
Rev.1.00 Jan. 10, 2008 Page 704 of 1658
REJ09B0261-0100
RXI (receive FIFO data full)
RXI (receive FIFO data full)
RXI (receive FIFO data full)
RXI (receive FIFO data full)
RXI (receive FIFO data full)
SCFRDR0
SCFRDR1
SCFRDR2
SCFRDR3
SCFRDR4
14. Direct Memory Access Controller (DMAC)
CHCR
DMARS
RS[3:0] MID
1000
DMA Transfer
RID Request Source DMA Transfer Request Signal Source
001101 01
10
010000 01
10
010001 01
10
010100 01
10
100000 11
100001 11
100100 11
101000 01
10
Bus
Destination Mode
SCIF5 transmitter TXI (transmit FIFO data empty) Any
SCFTDR5
Cycle
steal
SCIF5 receiver
SCFRDR5
Any
Cycle
steal
HAC0 transmitter Transmit data empty request
Any
HACPCML0, Cycle
HACPCMR0 steal
HAC0 receiver
HACPCML0, Any
HACPCMR0
RXI (receive FIFO data full)
Unread receive data is present
Cycle
steal
HAC1 transmitter Transmit data empty request
Any
HACPCML1, Cycle
HACPCMR1 steal
HAC1 receiver
Unread receive data is present
HACPCML1, Any
HACPCMR1
Cycle
steal
SIOF transmitter
Transmit FIFO data empty
request
Any
SITDR
Cycle
steal
SIOF receiver
Receive FIFO data full request
SIRDR
Any
Cycle
steal
FLCTL data part
transmitter
Transmit FIFO data empty
request
Any
FLDTFIFO
Cycle
steal
FLCTL data part
receiver
Receive FIFO data full request
FLDTFIFO
Any
Cycle
steal
FLCTL
management
code part
transmitter
Transmit FIFO data empty
request
Any
FLECFIFO
Cycle
steal
FLCTL
Receive FIFO data full request
management
code part receiver
FLECFIFO
Any
Cycle
steal
MMCIF data part
transmitter
FIFO write request
Any
DR
Cycle
steal
MMCIF data part
receiver
FIFO read request
DR
Any
Cycle
steal
HSPI transmitter
Transmit data
Any
SPTBR
Cycle
steal
HSPI receiver
Receive data
SPRBR
Any
Cycle
steal
Rev.1.00 Jan. 10, 2008 Page 705 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.4.2
Channel Priority
When the DMAC receives transfer requests on two or more channels simultaneously, it transfers
data according to a determined priority. Modes are chosen from among fixed mode and roundrobin mode. Modes are selected by bits PR1 and PR0 in DMAOR0 (channels 0 to 5) and
DMAOR1 (channels 6 to 11).
The relationship between channels 0 to 5 and channels 6 to 11 is round-robin.
The priority immediately after reset is CH0 to CH5 > CH6 to CH11.
(1)
Fixed Mode
In fixed mode, the channel priority does not change. There are two kinds of fixed modes as
follows.
• Channels 0 to 5
⎯ CH0 > CH1 > CH2 > CH3 > CH4 > CH5
⎯ CH0 > CH2 > CH3 > CH1 > CH4 > CH5
• Channels 6 to 11
⎯ CH6 > CH7 > CH8 > CH9 > CH10 > CH11
⎯ CH6 > CH8 > CH9 > CH7 > CH10 > CH11
These are selected by bits PR1 and PR0 in DMAOR0 and DMAOR1.
(2)
Round-Robin Mode
In round-robin mode, each time data of one transfer unit (byte, word, longword, 16-byte, or 32byte unit) is transferred on one channel, the channel on which the transfer has just ended is the
bottom of the priority. Figure 14.2 shows the round-robin mode operation. The priority of roundrobin mode immediately after reset is CH0 > CH1 > CH2 > CH3 > CH4 > CH5, and CH6 > CH7
> CH8 > CH9 > CH10 > CH11.
When round-robin mode is specified, do not mix cycle steal mode and burst mode in all channels
(channels 0 to 5) corresponding to DMAOR0.
All channels (channels 6 to 11) corresponding to DMAOR1 can be set in only normal mode 2
(CHCR.LCKN=1, CHCR.TB=0) for cycle steal mode.
Rev.1.00 Jan. 10, 2008 Page 706 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
(1) When channel 0 transfers
Initial priority order
CH0 > CH1 > CH2 > CH3 > CH4 > CH5
Priority order
after transfer
Channel 0 becomes bottom
priority
CH1 > CH2 > CH3 > CH4 > CH5 > CH0
(2) When channel 1 transfers
Initial priority order
Channel 1 becomes bottom
priority.
The priority of channel 0, which
was higher than channel 1, is also
shifted.
CH0 > CH1 > CH2 > CH3 > CH4 > CH5
Priority order
after transfer
CH2 > CH3 > CH4 > CH5 > CH0 > CH1
(3) When channel 2 transfers
Initial priority order
CH0 > CH1 > CH2 > CH3 > CH4 > CH5
Priority order
after transfer
CH3 > CH4 > CH5 > CH0 > CH1 > CH2
Post-transfer priority order
when there is an
CH0 > CH1 > CH2 > CH3 > CH4 > CH5
immediate transfer
request to channel 5 only
Channel 2 becomes bottom
priority.
The priority of channels 0 and 1,
which were higher than channel 2,
are also shifted. If immediately
after there is a request to transfer
channel 5 only, channel 5 becomes
bottom priority and the priority of
channels 3 and 4, which were
higher than channel 5, are also
shifted.
(4) When channel 5 transfers
Initial priority order
CH0 > CH1 > CH2 > CH3 > CH4 > CH5
Priority order
after transfer
CH0 > CH1 > CH2 > CH3 > CH4 > CH5
Priority order does not change.
Figure 14.2 Round-Robin Mode (Example of Channels 0 to 5)
Rev.1.00 Jan. 10, 2008 Page 707 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Figure 14.3 shows how the priority changes when channel 0 and channel 3 transfers are requested
simultaneously and a channel 1 transfer is requested during the channel 0 transfer. The DMAC
operates as follows:
1. Transfer requests are generated simultaneously to channels 0 and 3.
2. As channel 0 has a higher priority, the channel 0 transfer starts (channel 3 is waiting for
transfer).
3. A channel 1 transfer request occurs during the channel 0 transfer (channels 1 and 3 are waiting
for transfer).
4. When the channel 0 transfer ends, channel 0 has the lowest priority.
5. As channel 1 has a higher priority than channel 3 at this point, the channel 1 transfer starts
(channel 3 is waiting for transfer).
6. When the channel 1 transfer ends, channel 1 has the lowest priority.
7. The channel 3 transfer starts.
8. When the channel 3 transfer ends, channels 3 and 2 have lower priority so that channel 3 has
the lowest priority.
Transfer request
Waiting channel(s) DMAC operation
Channel priority
(1) Channels 0 and 3
(3) Channel 1
3
(2) Channel 0 transfer
start
1,3 (4) Channel 0 transfer
ends
0>1>2>3>4>5
Priority order
changes
1>2>3>4>5>0
(5) Channel 1 transfer
starts
3
(6) Channel 1 transfer
ends
(7) Channel 3 transfer
starts
None
(8) Channel 3 transfer
ends
Priority order
changes
Priority order
changes
2>3>4>5>0>1
4>5>0>1>2>3
Figure 14.3 Changes in Channel Priority in Round-Robin Mode
(Example of Channels 0 to 5)
Rev.1.00 Jan. 10, 2008 Page 708 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.4.3
DMA Transfer Types
Tables 14.9 and 14.10 show the transfer directions that can be supported by the DMAC.
DMA transfer type supports dual address mode. A data transfer timing depends on the bus mode.
Bus modes include cycle steal mode and burst mode.
Table 14.9 DMA Transfer Directions for Auto-Request and External Request*2
Transfer Destination
PCIC Space
On-Chip
Peripheral
1
Module*
L or U
Memory
Y
Y
Y
Y
Y
Y
Y
Y
Y
PCIC Space
Y
Y
Y
Y
Y
On-Chip Peripheral
Module*1
Y
Y
Y
Y
Y
L or U Memory
Y
Y
Y
Y
Y
Transfer Source
LBSC
Space
DBSC
Space
LBSC Space
Y
DBSC Space
Legend:
Y: Transfer is enabled.
Notes: 1. This is the access size that is permitted by a register when the transfer source or
destination is a peripheral module.
2. External requests apply to only channels 0 to 3.
Rev.1.00 Jan. 10, 2008 Page 709 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Table 14.10 DMA Transfer Directions for On-Chip Peripheral Module Request*2*3
Transfer Destination
PCIC Space
On-Chip
Peripheral
Module*1
L or U
Memory
N
N
Y
N
N
N
N
Y
N
PCIC Space
N
N
N
Y
N
On-Chip Peripheral
Module*1
Y
Y
Y
Y
Y
L or U Memory
N
N
N
Y
N
Transfer Source
LBSC
Space
DBSC
Space
LBSC Space
N
DBSC Space
Legend:
Y: Transfer is enabled.
N: Transfer is disabled.
Notes: 1. This is the access size that is permitted by a register when the transfer source or
destination is an on-chip peripheral module.
2. The transfer source or destination must be the request source register for an on-chip
peripheral module request.
3. Only cycle steal mode can be set.
Rev.1.00 Jan. 10, 2008 Page 710 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
(1)
Dual Address Mode
In dual address mode, both the transfer source and transfer destination are accessed by address.
The source and destination can be specified externally or internally. Data is read from the transfer
source in a data read cycle and written to the transfer destination in a data write cycle, and two bus
cycles are required to execute DMA transfer. At this time, transfer data is temporarily stored in the
DMAC. In the transfer between external memories shown in figure 14.4, data is read from an
external memory to the DMAC in a data read cycle, and then the data is written to the other
external memory in a write cycle.
Figure 14.5 shows the DMA transfer timing in dual address mode.
DMAC
SAR
Data bus
Address bus
DAR
Memory
Data buffer
Transfer source
module
Transfer destination
module
The SAR value is an address, data is read from the transfer source module,
and the data is temporarily stored in the DMAC.
First bus cycle
DMAC
SAR
Data bus
Address bus
DAR
Memory
Transfer source
module
Transfer destination
module
Data buffer
The DAR value is an address and the value stored in the data buffer in the
DMAC is written to the transfer destination module.
Second bus cycle
Figure 14.4 Data Flow of Dual Address Mode
Rev.1.00 Jan. 10, 2008 Page 711 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
A25 to A0
Transfer
source address
Transfer
destination address
CSn
D31 to D0
RD
WEn
DACKn
(Active-low)
Figure 14.5 Example of DMA Transfer Timing in Dual Address Mode
(Source: SRAM, Destination: DDR-SDRAM)
Rev.1.00 Jan. 10, 2008 Page 712 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
(2)
Bus Modes
Bus modes include cycle steal mode and burst mode. The modes are chosen by the TB and LCKN
bits in CHCR.
(a)
Cycle Steal Mode
• Normal mode 1 (CHCR.LCKN = 0, CHCR.TB = 0)
In cycle steal normal mode 1, the DMAC gives the SuperHyway bus mastership to another bus
master after a one-transfer unit (byte, word, longword, 16-byte, or 32-byte unit). When the
next transfer is requested, the DMAC issues the next transfer request, another transfer is
performed for one-transfer unit. When the transfer ends, the DMAC gives bus mastership to
the other bus master. This is repeated until the transfer end conditions are satisfied.
Cycle steal normal mode 1 can be set for only channels 0 to 5.
Figure 14.6 shows an example of DMA transfer timing in cycle steal normal mode 1.
DREQ
Bus mastership returned to CPU once
SuperHyway
bus cycle
CPU
CPU
CPU
DMAC
DMAC
CPU
DMAC
Read/Write
DMAC
CPU
Read/Write
Figure 14.6 DMA Transfer Timing Example in Cycle Steal Normal Mode 1
(DREQ Low Level Detection)
• Normal mode 2 (CHCR.LCKN = 1, CHCR.TB = 0)
In cycle steal normal mode 2, the DMAC does not keep the SuperHyway bus mastership, and
obtains the bus mastership in every transfer unit of read or write cycle.
Figure 14.7 shows an example of DMA transfer timing in cycle steal normal mode 2.
DREQ
Bus mastership returned to CPU once
SuperHyway
bus cycle
CPU
CPU
CPU
DMAC
Read
CPU
DMAC
Write
CPU
DMAC
Read
CPU
DMAC
CPU
Write
Figure 14.7 DMA Transfer Timing Example in Cycle Steal Normal Mode 2
(DREQ Low Level Detection)
Rev.1.00 Jan. 10, 2008 Page 713 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
• Intermittent mode 16 (DMAOR. CMS = 10, CHCR.LCKN = 0 or 1, CHCR.TB = 0)
• Intermittent mode 64 (DMAOR. CMS = 11, CHCR.LCKN = 0 or 1, CHCR.TB = 0)
In intermittent mode of cycle steal, the DMAC gives the SuperHyway bus mastership to other
bus master whenever a one-transfer unit (byte, word, longword, or 16-byte or 32-byte unit) is
completed. After that, if the next transfer request occurs, the DMAC issues the next transfer
request after waiting for 16 or 64 clocks in Bck, transfers data of one-transfer unit again, and
returns the SuperHyway bus mastership to other bus master. These operations are repeated
until the transfer end condition is satisfied. It is possible to make lower the ratio of bus
occupation by DMA transfer than cycle steal normal modes 1 and 2.
When the DMAC issues the next transfer request again, DMA transfer can be postponed in
case of entry updating due to cache miss.
The intermittent modes must be cycle steal mode in all channels (channels 0 to 5)
corresponding to DMAOR0 or all channels (channels 6 to11) corresponding to DMAOR1.
Figure 14.8 shows an example of DMA transfer timing in cycle steal intermittent mode.
DREQ
More than 16 or 64 Bck
(depends on DMAOR.CMS settings)
SuperHyway
bus cycle
CPU
CPU
CPU
DMAC
DMAC
CPU
Read/Write
CPU
DMAC
DMAC
CPU
Read/Write
Figure 14.8 Example e of DMA Transfer Timing in Cycle Steal Intermittent Mode
(DREQ Low Level Detection)
(b)
Burst Mode (CHCR.LCKN = 1, CHCR.TB = 1)
In burst mode, once the DMAC obtains the SuperHyway bus mastership, the transfer is performed
continuously without releasing the bus mastership until the transfer end condition is satisfied. If
the DREQ is detected at level in external request mode, when the DREQ pin is not active, the
DMAC passes bus mastership to the other bus master after the DMAC transfer request that has
already been accepted ends, even if the transfer end conditions have not been satisfied.
Burst mode is not available when an on-chip peripheral module is the transfer request source.
Burst mode can be set for only channels 0 to 5.
Figure 14.9 shows DMA transfer timing in burst mode.
Rev.1.00 Jan. 10, 2008 Page 714 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
DREQ
SuperHyway
bus cycle
CPU
CPU
CPU
DMAC
DMAC
DMAC
DMAC
DMAC
DMAC
Read
Write
Read
Write
Read
Write
CPU
Figure 14.9 DMA Transfer Timing Example in Burst Mode
(DREQ Low Level Detection)
(3)
Bus Mode and Channel Priority
Figure 14.10 shows the bus modes and channel priority in priority fixed mode.
In priority fixed mode (CH0 > CH1), when channel 1 is transferring in burst mode, the transfer of
channel 0 starts immediately if there is a transfer request to channel 0 with a higher priority.
At this time, if channel 0 is also in burst mode, the channel 1 transfer continues after the channel 0
transfer has completely ended. (Figure 14.10 (h))
When channel 0 is in cycle steal mode, channel 0 with a higher priority performs the transfer of
one transfer unit and the channel 1 transfer is continuously performed without releasing the bus
mastership. The bus mastership then switches between the two in the order channel 0, channel 1,
channel 0, and channel 1. (Figure 14.10 (d))
In other words, the bus status looks as if the CPU cycle reached after the transfer in cycle steal
mode is replaced with transfer in burst mode (the status is called "burst mode priority execution").
When multiple channels are operating in burst modes, the channel with the highest priority is
executed first.
When DMA transfer is executed in the multiple channels, the bus mastership is not given to the
bus master until all competing burst transfers are completed.
In round-robin mode, the priority changes according to the specification shown in figure 14.3.
However, the channel in cycle steal mode and the channel in burst mode cannot be mixed.
Rev.1.00 Jan. 10, 2008 Page 715 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
(a) CH0: Cycle steal mode
CH1: Cycle steal mode
Priority: CH0 > CH1
CPU
DMA CH0
DMA CH0
DMA CH0
DMA CH0
DMA CH0
DMA CH0
Cycle steal
DMA CH1
DMA CH1
CPU
DMA CH1
Cycle steal
CH0 transfer source
CH1 transfer source
(b) CH0: Cycle steal mode
CH1: Cycle steal mode
Priority: CH0 > CH1
CPU
DMA CH1
DMA CH1
DMA CH0 DMA CH0
DMA CH0
DMA CH0
Cycle steal
DMA CH1
Cycle steal
DMA CH1
DMA CH1
CPU
DMA CH1
Cycle steal
CH0 transfer source
CH1 transfer source
(c) CH0: Cycle steal mode
CH1: Burst mode
Priority: CH0 > CH1
CPU
DMA CH0
DMA CH0
DMA CH0
Cycle steal
DMA CH1
DMA CH0
DMA CH1
DMA CH0 and CH1
Burst mode
DMA CH0
DMA CH0
CPU
DMA CH0
Cycle steal
CH0 transfer source
CH1 transfer source
(d) CH0: Cycle steal mode
CH1: Burst mode
Priority: CH0 > CH1
CPU
DMA CH1
DMA CH1
DMA CH1
Burst mode
DMA CH0
DMA CH1
DMA CH0
DMA CH0 and CH1
Burst mode
DMA CH1
DMA CH1
CPU
DMA CH1
Burst mode
CH0 transfer source
CH1 transfer source
(e) CH0: Burst mode
CH1: Cycle steal mode
Priority: CH0 > CH1
CPU
DMA CH0
DMA CH0
DMA CH0
DMA CH
DMA CH0
DMA CH1
DMA CH1
CPU
DMA CH1
Cycle steal
DMA CH0
Burst mode
CH0 transfer source
CH1 transfer source
(f)
CH0: Burst mode
CH1: Cycle steal mode
Priority: CH0 > CH1
CPU
DMA CH1
DMA CH1
DMA CH0
DMA CH0
DMA CH0
DMA CH0
Burst mode
DMA CH1
Cycle steal
DMA CH1
DMA CH1
CPU
DMA CH1
Cycle steal
CH0 transfer source
CH1 transfer source
(g) CH0: Burst mode
CH1: Burst mode
Priority: CH0 > CH1
CPU
DMA CH0
DMA CH0
DMA CH0
DMA CH0
DMA CH0
DMA CH0
Burst mode
DMA CH1
DMA CH1
CPU
DMA CH1
Burst mode
CH0 transfer source
CH1 transfer source
(h) CH0: Burst mode
CH1: Burst mode
Priority: CH0 > CH1
CPU
DMA CH1
DMA CH1
DMA CH1
Burst mode
DMA CH0
DMA CH0
DMA CH0
Burst mode
DMA CH0
DMA CH1
DMA CH1
CPU
DMA CH1
Burst mode
CH0 transfer source
CH1 transfer source
Figure 14.10 Bus Mode and Channel Priority in Priority Fixed Mode
Rev.1.00 Jan. 10, 2008 Page 716 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.4.4
DMA Transfer Flow
After intended transfer conditions are set to SAR, DAR, TCR, CHCR, DMAOR, and DMARS, the
DMAC transfers data according to the following procedure.
1. Checks if transfer is enabled (DE = 1, DME = 1, TE = 0, AE = 0, NMIF = 0)
2. When a transfer request occurs while transfer is enabled, the DMAC transfers one transfer unit
of data (depending on the settings of TS0, TS1, and TS2). In auto-request mode, the transfer
starts automatically when the DE and DME bits are set to 1. The TCR is decremented for each
transfer. The actual transfer flows depend on address mode and bus mode.
3. When the specified number of transfers has been completed (when TCR is 0), the transfer ends
successfully. If the IE bit in CHCR is set to 1 at this time, a DMINT interrupt is sent to the
CPU.
4. When an address error or an NMI interrupt is generated by the DMAC, the transfer is aborted.
Transfers are also aborted when the DE bit in CHCR or the DME bit in DMAOR is cleared to
0.
Figure 14.11 shows a flowchart of DMA transfer.
Rev.1.00 Jan. 10, 2008 Page 717 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Start
Initial settings
SAR, DAR, TCR, CHCR, DMAOR
SARB, DARB, TCRB, DMARS
DE, DME = 1 and
TE, AE, NMIF = 0?
*1
Yes
Transfer request occurs?
No
No
*3
*2
*4
Yes
Transfer (1 transfer unit);
TCR – 1 → TCR, SAR, and DAR updated
Reload mode: TCRBL – 1 → TCRBL
Reload mode?
Bus mode, DREQ
detection system,
transfer request mode
*6
Yes
No
No
TCRBL = 0?
Yes
*5
*6
SARB/DARB load
TCRBH → TCRBL load
TCR = 0?
No
No
Yes
TCR = TCRB/2?
TE = 1
Yes
DMINT interrupt request
(IE = 1)
Repeat mode?
HE = 1, DMINT interrupt
request (HIE = 1)
Yes
SARB/DARB load
TCRB → TCR load
No
NMIF = 1 or AE =1 or
DE = 0 or DME = 0?
*5
Yes
Yes
No
NMIF = 1 or AE = 1 or
DE = 0 or DME = 0?
HIE = 0 or HE = 1?
No
Yes
Normal end
Notes:
Transfer end
1. In repeat mode, a transfer request is acceptted with TE =1 when HIE = 1 and HE = 0
(half end interrupt is enable and clear the HE to 0 after HE is set to 1).
2. In auto-request mode, transfer starts when bits NMIF, AE, and TE are all 0 or bits TE
and HIE are 1 and HE is 0 (in repeat mode), and bits DE and DME are set to 1.
3. DREQ is level detection (external request) in burst mode or cycle-steral mode.
4. DREQ is edge detection (external request) or auto request in burst mode.
5. Loading to SAR and DAR differs according to the operating conditions in each mode.
6. TCRBH and TCRBL refer to TCRB23 to TCRB16 and TCRB7 to TCRB0 respectively.
Figure 14.11 Flowchart of DMA Transfer
Rev.1.00 Jan. 10, 2008 Page 718 of 1658
REJ09B0261-0100
No
14. Direct Memory Access Controller (DMAC)
14.4.5
Repeat Mode Transfer
A repeat mode transfer of the DMAC enables a DMA transfer to repeat without specifying the
transfer settings before a transfer.
Using a repeat mode transfer with the half end function can execute a double buffer transfer
virtually. This function can execute the following procedures efficiently. As an example, the
operation in receiving voice data from the VOICE CODEC and compressing the data is described.
The process described supposes that processing of compressing is executed whenever 40-word
voice data is received. Suppose that voice data is received by SIOF.
1. DMAC settings
⎯ Set the address of the SIOF receive data register in SAR
⎯ Set the address of an internal memory data store area in DAR
⎯ Set TCR to H'50 (80 times)
⎯ Set the following values to CHCR
RPT (bits 27 to 25) = B'010: Repeat mode (use DAR as a repeat area)
HIE (bit 18) = B'1: TCR/2 interrupt generated
DM (bits 15 and 14) = B'01: DAR incremented
SM (bits 13 and 12) = B'00: SAR fixed
IE (bit 2) = B'1: Interrupt enabled
DE (bit 0) = B'1: DMA transfer enabled
Set bits such as bits TB and TS according to use conditions
⎯ Set bits CMS and PR in DMAOR according to use conditions and set the DME bit to 1
2. Voice data is received and transferred by SIOF/DMAC
3. TCR is decreased to half of the initial value and an interrupt is generated
After reading CHCR and confirming that the HE (bit 19) is set to 1 by an interrupt processing,
clear HE (bit 19) to 0 and compress 40-word voice data from the address set in DAR.
4. TCR is cleared to 0 and an interrupt is generated
After reading CHCR and confirming that the TE bit is set to 1 with an interrupt processing,
clear the TE bit to 0 and compress 40-word voice data from the address that is obtained by
adding 40 to the address set in DAR. After this operation, the value of DARB is copied to
DAR in DMAC and initialized, and the value of TCRB is copied to TCR and initialized to
H'50 (80 times).
5. Steps 2 to 4 are repeated until the DME or DE bit is set to B'0, or an NMI interrupt is
generated. (If the HE bit is not cleared to 0 in the procedure 2 or if the TE bit is not cleared to 0
in the procedure 4, the transfer is stopped when both the HE and TE bits are set to 1.)
Rev.1.00 Jan. 10, 2008 Page 719 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
This function enables sequential voice compression by switching a storing buffer for data received
consequentially and a data buffer for processing signals alternately.
14.4.6
Reload Mode Transfer
In a reload mode transfer, according to the settings of bits RPT in CHCR, the value set in
SARB/DARB is reloaded to SAR/DAR at each transfer set in bits 23 to 16 and bits 7 to 0 in
TCRB, and the transfer is repeated until TCR is 0 without specifying the transfer again. This
function is effective when data transfer with specific area is repeatedly executed. Figure 14.12
shows the operation of reload mode transfer.
In reload mode, TCRB is used as a reload counter. See section 14.3.6, DMA Transfer Count
Registers B0 to B3, B6 to B9 (TCRB0 to TCRB3, TCRB6 to TCRB9), and set TCRB.
Figure 14.12 shows an example of reload mode settings.
The relationship between the register settings and the source and destination addresses
of reload mode transfer is described below.
Register settings
Set the source address in SAR (the data written to SAR is also written to SARB.)
Set the destination address in DAR
Set H'0000000C to TCR (12 transfers)
Set H'00040004 to TCRB (Reloading for every four transfers)
Set CHCR as follows.
RPT (bits 27 to 25) = B'111: Reload mode (Reloading SAR)
DM (bits 15 to 14) = B'01: An increase in DAR
SM (bits 13 to 12) = B'01: An increase in SAR
TS (bit 20 and bits 4 to 3) = B'010: Transfer for each (four-byte) longword
DMA transfer source addresses and DMA transfer destination addresses in the above register settings
Cycle 1:
Cycle 2:
Cycle 3:
Cycle 4:
Cycle 5:
Cycle 6:
Cycle 7:
Cycle 8:
Cycle 9:
Cycle 10:
Cycle 11:
Cycle 12:
Source address = SAR
Source address = SAR + H'04
Source address = SAR + H'08
Source address = SAR + H'0C
Source address = SAR
Source address = SAR + H'04
Source address = SAR + H'08
Source address = SAR + H'0C
Source address = SAR
Source address = SAR + H'04
Source address = SAR + H'08
Source address = SAR + H'0C
Destination address = DAR
Destination address = DAR + H'04
Destination address = DAR + H'08
Destination address = DAR + H'0C
Destination address = DAR + H'10 (reloading the value of SARB in SAR)
Destination address = DAR + H'14
Destination address = DAR + H'18
Destination address = DAR + H'1C
Destination address = DAR + H'20 (reloading the value of SARB in SAR)
Destination address = DAR + H'24
Destination address = DAR + H'28
Destination address = DAR + H'2C
Figure 14.12 Example of Operation Based on Reload Mode Settings
Rev.1.00 Jan. 10, 2008 Page 720 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.4.7
DREQ Pin Sampling Timing
Figures 14.13 to 14.22 show the timing that the DREQ input is sampled in each bus mode.
Figures 14.13, 14.16, and 14.20 show the timing that the DREQ input is sampled when byte
transfer is performed in 8-, 16-, 32-, or 64-bit bus width, word transfer is performed in 16-, 32-, or
64-bit bus width, or longword transfer is performed in 32- or 64-bit bus width. DACK is output
once in DMA1 transfer.
Figures 14.14, 14.17, and 14.21 show the timing that the DREQ input is sampled when word
transfer is performed in 8-bit bus width, longword transfer is performed in 8- or 16-bit bus width,
or 16- or 32-byte transfer is performed in 8-, 16-, 32-, or 64-bit bus width. These figures suppose
that DACK of DMA1 transfer is divided.
Figures 14.15, 14.18, and 14.22 show the timing that the DREQ input is sampled when word
transfer is performed in 8-bit bus width, longword transfer is performed in 8- or 16-bit bus width,
or 16- or 32-byte transfer is performed in 8-, 16-, 32-, or 64-bit bus width. These figures suppose
that DACK of DMA1 transfer is connected.
When word transfer is performed in 8-bit bus width, longword transfer is performed in 8- or 16-bit
bus width, or 16- or 32-byte transfer is performed in 8-, 16-, 32-, or 64-bit bus width, DMA
transfer units are divided into multiple bus cycles. If DMA transfer size is divided into multiple
bus cycles and CS is negated between bus cycles, DACK output is divided, like CS. For details,
see section 11.5.16, Register Settings for Divided-Up DACKn Output.
CLKOUT
Bus cycle
CPU
1st acceptance
DMAC
CPU
2nd acceptance
DREQ
(Rising edge)
DRAK
(High-active)
DACK
(High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the rising edge of DACK
Figure 14.13 Example 1 of DREQ Input Detection in Cycle Steal Mode Edge Detection
(Byte Transfer in 8/16/32/64-Bit Bus Width, Word Transfer in 16/32/64-Bit Bus Width, or
Longword Transfer in 32/64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 721 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
CPU
1st acceptance
DMAC
CPU
2nd acceptance
DREQ (Rising edge)
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the first rising edge of the divided-up DACK
Figure 14.14 Example 2 of DREQ Input Detection in Cycle Steal Mode Edge Detection
(Word Transfer in 8-Bit Bus Width, Longword Transfer in 8/16-Bit Bus Width, 16/32-Byte
Transfer in 8/16/32/64-Bit Bus Width: DACK of DMA1 Transfer Divided)
CLKOUT
Bus cycle
CPU
DMAC
CPU
Address
1st acceptance
2nd acceptance
DREQ (Rising edge)
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the rising edge of DACK
Figure 14.15 Example 3 of DREQ Input Detection in Cycle Steal Mode Edge Detection
(Word Transfer in 8-Bit Bus Width, Longword Transfer in 8/16-Bit Bus Width, or 16/32Byte Transfer in 8/16/32/64-Bit Bus Width: DACK of DMA1 Transfer Is Connected)
Rev.1.00 Jan. 10, 2008 Page 722 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
CPU
DMAC
1st acceptance
CPU
2nd acceptance
DREQ
(Overrun 0, High level)
DRAK
(High-active)
DACK
(High-active)
Acceptance started
Accepted after one cycle of CLKOUT
at the falling edge of DACK
CLKOUT
Bus cycle
CPU
1st acceptance
DMAC
CPU
2nd acceptance
DREQ
(Overrun 1, High level)
DRAK
(High-active)
DACK
(High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the rising edge of DACK
Figure 14.16 Example 1 of DREQ Input Detection in Cycle Steal Mode Level Detection
(Byte Transfer in 8/16/32/64-Bit Bus Width, Word Transfer in 16/32/64-Bit Bus Width, or
Longword Transfer in 32/64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 723 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
DREQ
(Overrun 0, High level)
CPU
DMAC
1st acceptance
CPU
2nd acceptance
DRAK (High-active)
DACK (High-active)
Acceptance started
Accepted after one cycle of CLKOUT
at the first falling edge of the divided-up DACK
: Non-sensitive period
CLKOUT
Bus cycle
DREQ
(Overrun 1, High level)
CPU
1st acceptance
DMAC
CPU
2nd acceptance
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the first rising edge of the divided-up DACK
Figure 14.17 Example 2 of DREQ Input Detection in Cycle Steal Mode Level Detection
(Word Transfer in 8-Bit Bus Width, Longword Transfer in 8/16-Bit Bus Width, 16/32-Byte
Transfer in 8/16/32/64-Bit Bus Width: DACK of DMA1 Transfer Divided)
Rev.1.00 Jan. 10, 2008 Page 724 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
CPU
CPU
DMAC
Address
DREQ
(Overrun 0, High level)
1st acceptance
2nd acceptance
DRAK (High-active)
DACK (High-active)
Acceptance started
Accepted after one cycle of CLKOUT
after the end of the first of the multiple bus cycles
CLKOUT
CPU
Bus cycle
DMAC
CPU
Address
DREQ
(Overrun 1, High level)
1st acceptance
2nd acceptance
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the rising edge of DACK
Figure 14.18 Example 3 of DREQ Input Detection in Cycle Steal Mode Level Detection
(Word Transfer in 8-Bit Bus Width, Longword Transfer in 8/16-Bit Bus Width, or 16/32Byte Transfer in 8/16/32/64-Bit Bus Width: DACK of DMA1 Transfer Is Connected)
CLKOUT
Bus cycle
CPU
DMAC
DMAC
Burst acceptance
DREQ
(Rising edge)
DRAK
(High-active)
DACK
(High-active)
: Non-sensitive period
Figure 14.19 Example of DREQ Input Detection in Burst Mode Edge Detection
Rev.1.00 Jan. 10, 2008 Page 725 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
CPU
DMAC
1st acceptance
2nd acceptance
DREQ
(Overrun 0, High level)
DRAK (High-active)
DACK (High-active)
Acceptance started
Accepted after one cycle of CLKOUT
at the falling edge of DACK
CLKOUT
Bus cycle
CPU
1st acceptance
DMAC
2nd acceptance
DREQ
(Overrun 1, High level)
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the rising edge of DACK
Figure 14.20 Example 1 of DREQ Input Detection in Burst Mode Level Detection (Byte
Transfer in 8/16/32/64-Bit Bus Width, Word Transfer in 16/32/64-Bit Bus Width, or
Longword Transfer in 32/64-Bit Bus Width)
Rev.1.00 Jan. 10, 2008 Page 726 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
DREQ
(Overrun 0, High level)
CPU
DMAC
1st acceptance
2nd acceptance
DRAK (High-active)
DACK (High-active)
Acceptance started
Accepted after one cycle of CLKOUT
at the first falling edge of the divided-up DACK
CLKOUT
Bus cycle
DREQ
(Overrun 1, High level)
CPU
1st acceptance
DMAC
2nd acceptance
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the first rising edge of the divided-up DACK
Figure 14.21 Example 2 of DREQ Input Detection in Burst Mode Level Detection (Word
Transfer in 8-Bit Bus Width, Longword Transfer in 8/16-Bit Bus Width, 16/32-Byte
Transfer in 8/16/32/64-Bit Bus Width: DACK of DMA1 Transfer Divided)
Rev.1.00 Jan. 10, 2008 Page 727 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
CLKOUT
Bus cycle
CPU
DMAC
Address
DREQ
(Overrun 0, High level)
1st acceptance
2nd acceptance
DRAK (High-active)
DACK (High-active)
Acceptance started
Accepted after one cycle of CLKOUT
after the end of the first of the multiple bus cycles
CLKOUT
Bus cycle
CPU
DMAC
Address
DREQ
(Overrun 1, High level)
1st acceptance
2nd acceptance
DRAK (High-active)
DACK (High-active)
: Non-sensitive period
Acceptance started
Accepted after one cycle of CLKOUT
at the rising edge of DACK
Figure 14.22 Example 3 of DREQ Input Detection in Burst Mode Level Detection (Word
Transfer in 8-Bit Bus Width, Longword Transfer in 8/16-Bit Bus Width, or 16/32-Byte
Transfer in 8/16/32/64-Bit Bus Width: DACK of DMA1 Transfer Is Connected)
Rev.1.00 Jan. 10, 2008 Page 728 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.5
DMAC Interrupt Sources
In the DMAC, each channel has 14 interrupt sources: a DMA transfer end/half-end interrupts
request (DMINT0 to DMINT11), a DMA address error interrupt request (DMAE0) common to
channels 0 to 5, and a DMA address error interrupt request (DMAE1) common to channels 6 to
11.
Table 14.11 shows each interrupt source. Each interrupt source is independently sent to the
interrupt controller.
Table 14.11 DMAC Interrupt Sources
Interrupt Factor
Description
DMINT0
Channel 0 DMA transfer-end/half-end interrupt
DMINT1
Channel 1 DMA transfer-end/half-end interrupt
DMINT2
Channel 2 DMA transfer-end/half-end interrupt
DMINT3
Channel 3 DMA transfer-end/half-end interrupt
DMINT4
Channel 4 DMA transfer-end/half-end interrupt
DMINT5
Channel 5 DMA transfer-end/half-end interrupt
DMAE0
DMA address error interrupt common to channels 0 to 5
DMINT6
Channel 6 DMA transfer-end/half-end interrupt
DMINT7
Channel 7 DMA transfer-end/half-end interrupt
DMINT8
Channel 8 DMA transfer-end/half-end interrupt
DMINT9
Channel 9 DMA transfer-end/half-end interrupt
DMINT10
Channel 10 DMA transfer-end/half-end interrupt
DMINT11
Channel 11 DMA transfer-end/half-end interrupt
DMAE1
DMA address error interrupt common to channels 6 to 11
Rev.1.00 Jan. 10, 2008 Page 729 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.6
Usage Notes
Note the following things in using this DMAC.
14.6.1
Stopping Modules and Changing Frequency
When the DMAC is operating, it is prohibited to set or clear the corresponding bit of MSTPCR1
that controls H-UDI, UBC, DMAC and GDTA modules operation, and also prohibited to change
any frequencies regarding the operation of this LSI. Operation is not guaranteed if these are
performed.
Check that the DME bits (bit 0) in both DMAOR0 and DMAOR1 are 0 or the TE bits in CHCR0
to CHCR11 are all 1 before stopping modules by MSTPCR1.
14.6.2
Address Error
When a DMA address error is occurred, set registers of all channels of corresponding DMAOR*
again and then start a transfer.
Note: Set registers of channels 0 to 5 again when the AE bit of DMAOR0 is set to 1, and set
registers of channels 6 to 11 again when the AE bit of DMAOR1 is set to 1.
14.6.3
NMI Interrupt
When a NMI interrupt is occurred, DMA transfer is stopped. Set registers of all channels again
after returning from the exception handling routine of a NMI and then start a transfer.
14.6.4
Burst Mode Transfer
During a burst mode transfer, do not make a transition to sleep mode until the transfer of
corresponding channel has been completed.
14.6.5
Divided-Up DACK Output
When 16- or 32-byte transfer is performed in 8-, 16-, 32-, or 64-bit bus width, longword transfer is
performed in 8- or 16-bit bus width, or word transfer is performed in 8-bit bus width, DMA
transfer units are divided into multiple bus cycles. Note that DACK output is divided-up, like CS,
if DMA transfer size is divided into multiple bus cycles and CS is negated between bus cycles.
Rev.1.00 Jan. 10, 2008 Page 730 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
14.6.6
DACK/DREQ Setting
If the IWRRD, IWRRS, and IWW bits in CSnBCR are set to B'000 (no idle cycles), DACK of two
or more DMA transfers may be connected. If DACK of two or more DMA transfers is connected,
operation is not guaranteed under the following conditions. In these cases, set the IWRRD,
IWRRS, and IWW bits to B'001 to B'111 to insert a minimum of one idle cycle between DMA
transfers.
1. DMA transfer source is in the LBSC space, DMA transfer destination is not in the LBSC
space, DACK output (CHCR.AM = 0) is set to a read cycle, and external request DREQ level
detection overrun 1 (cycle steal mode or burst mode) or external request DREQ edge detection
(cycle steal mode or burst mode) is set.
Prevent DACK of two or more DMA transfer units from connecting by setting the IWRRD
bits in CSnBCR to B'001 to B'111 (insert a minimum of one idle cycle in read-read cycles in
different space) and the IWRRS bits to B'001 to B'111 (insert a minimum of one idle cycle in
read-read cycles in the same space).
2. DMA transfer source is not in the LBSC space, DMA transfer destination is in the LBSC
space, DACK output (CHCR.AM = 1) is set to a write cycle, and the external request DREQ
level detection overrun 1 (cycle steal mode or burst mode) or external request DREQ edge
detection (cycle steal mode or burst mode) is set.
Prevent DACK of two or more DMA transfer units from connecting by setting the IWW bits in
CSnBCR to B'001 to B'111 (insert a minimum of one idle cycle between write-read/writewrite cycles).
Rev.1.00 Jan. 10, 2008 Page 731 of 1658
REJ09B0261-0100
14. Direct Memory Access Controller (DMAC)
Rev.1.00 Jan. 10, 2008 Page 732 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Section 15 Clock Pulse Generator (CPG)
The CPG generates clocks provided to the internal and external bus interfaces of the SH7785, and
controls power-down mode. The CPG consists of a crystal oscillator circuit, PLLs, dividers, and
the control unit.
15.1
Features
The CPG has the following features.
• Generates SH7785 internal clocks*
Generates the CPU clock (Ick) used in the CPU, FPU, cache, and TLB; the SuperHyway clock
(SHck) used in the SuperHyway, the GDTA clock (GAck) used in the graphic data translation
accelerator, the DU clock (DUck) used in the display unit; the peripheral clock (Pck) used in
the interface with on-chip peripheral modules; and the RAM clock (Uck) used in URAM
• Generates SH7785 external clocks
Generates the bus clock (Bck) used in the interface with the external devices, and the DDR
clock (DDRck) for the memory clock used in the DBSC2.
• Clock operating modes
Selects a crystal resonator or an external clock input for the clock input to the CPG
• Controls power-down mode
Can stop the CPU in sleep mode and specific modules in module standby mode. For details,
see section 17, Power-Down Mode.
Figure 15.1 shows a block diagram of the CPG.
Note: * For description of the clock used by each module, see the sections on individual
modules.
Rev.1.00 Jan. 10, 2008 Page 733 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Oscillator circuit
Crystal oscillator
circuit
PLL circuit 2
×1
Divider 1
XTAL
CLKOUT
×1
Divider 2
EXTAL
MODE 10
PLL circuit 1
× 72
× 36
× 1/2
× 1/4
× 1/6
× 1/8
× 1/12
× 1/16
× 1/18
× 1/24
× 1/32
× 1/36
× 1/48
GA clock
(GAck)
DU clock
(DUck)
Peripheral clock
(Pck)
DDR clock
(DDRck)
RAM clock
(Uck)
Control section
MODE 4
MODE 3
Clock frequency
control circuit
Clock control circuit
MODE 2
MODE 1
FRQCR0
FRQCR1
MSTPCR1
MODE 0
Bus interface
Peripheral bus
Legend:
FRQCR0: Frequency control register 0
FRQCR1: Frequency control register 1
MSTPCR1: Module standby control register 1*
Note: * For details about MSTPCR1, see section 17, Power-Down Mode.
Figure 15.1 Block Diagram of the CPG
Rev.1.00 Jan. 10, 2008 Page 734 of 1658
REJ09B0261-0100
CLKOUTENB
Bus clock
(Bck)
CPU clock
(Ick)
SHwy clock
(SHck)
15. Clock Pulse Generator (CPG)
The function of each block in the CPG is as follows.
• PLL circuit 1
PLL circuit 1 multiplies the input clock frequency on the PLL circuit by 36 or 72.
• PLL circuit 2
PLL circuit 2 matches the phases of the bus clock (Bck) and the clock of the CLKOUT pin that
is used in the local bus.
• Crystal oscillator circuit
The crystal oscillator circuit is used when a crystal resonator is connected to the XTAL and
EXTAL pins. The crystal oscillator circuit can be used by the MODE10 pin setting.
For details on input frequency, see section 32, Electrical Characteristics.
• Divider 1
Divider 1 divides the input clock frequency from the crystal oscillator circuit or the EXTAL
pin. The division ratio is set by mode pins MODE3 and MODE4.
• Divider 2
Divider 2 generates the CPU clock (Ick), SuperHyway clock (SHck), GDTA clock (GAck),
DU clock (DUck), peripheral module clock (Pck), DDR clock (DDRck), external bus clock
(Bck), and RAM clock (Uck). The division ratio is selected by mode setting pins MODE0 and
MODE1.
Rev.1.00 Jan. 10, 2008 Page 735 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.2
Input/Output Pins
Table 15.1 shows the CPG pin configuration.
Table 15.1 CPG Pin Configuration
Pin Name
Function
I/O
Description
MODE0,
MODE1,
MODE2,
MODE3,
1
and MODE4*
Mode Pins
0,1,2,3,4
Input
Select the clock operating mode
These pins are multiplexed with the following pins.
Clock
operating
1
mode*
MODE0: the IRL4 (INTC), FD4 (FLCTL), and PL4 (GPIO) pins
MODE1: the IRL5 (INTC), FD5 (FLCTL), and PL3 (GPIO) pins
MODE2: the IRL6 (INTC), FD6 (FLCTL), and PL2 (GPIO) pins
MODE3: the IRL7 (INTC), FD7 (FLCTL), and PL1 (GPIO) pins
MODE4: the SCIF3_TXD (SCIF channel 3), FCLE (FLCTL), and PN5
(GPIO) pins
MODE10
Mode Pin 10
Input
Selects whether the crystal resonator is used
When MODE10 is set to the low level, the external clock is input from
the EXTAL pin.
Clock input
1
mode*
When MODE10 is set to the high level, the crystal resonator is
connected directly to the EXTAL and XTAL pins.
MODE10 is multiplexed with the SCIF4_RXD (SCIF channel 4), FD2
(FLCTL), and PN1 (GPIO) pins.
XTAL
Clock Pins
EXTAL
2
CLKOUT*
CLKOUTENB
Clock Output
Enabled
Output
Connected to a crystal resonator
Input
Used to input an external clock or connected to a crystal resonator.
Output
Used to output a local bus clock
Output
The low level is output when the output clock of the CLKOUT is
unstable.
When the input to the PRESET pin is the low level, the high level is
output regardless of the status of the output clock on the CLKOUT
pin.
Notes: 1. The clock operating mode and the clock input mode depend on the states of the mode
pins on a power-on reset via the PRESET pin.
2. For details on ensuring the AC timing of the CLKOUT pin, see the section about
electrical characteristics. Note the relationship between the input frequency and
multiplication rate of a crystal oscillator circuit.
Rev.1.00 Jan. 10, 2008 Page 736 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.3
Clock Operating Modes
Table 15.2 shows the relationship between setting of the mode pins (MODE0 to MODE4) and the
clock operating modes.
Table 15.2 Clock Operating Modes and Operations of the Oscillator and PLLs
Setting of Mode Control Pins*1*2
Clock
Operating
Mode
MODE4
MODE3
MODE2
MODE1
MODE0
Divider 1
PLL1
PLL2
0
L
L
L
L
L
×1
On (× 72)
On
1
L
L
L
L
H
×1
On (× 72)
On
2
L
L
L
H
L
×1
On (× 72)
On
3
L
L
L
H
H
×1
On (× 72)
On
16
H
L
L
L
L
×1
On (× 36)
On
17
H
L
L
L
H
×1
On (× 36)
On
18
H
L
L
H
L
×1
On (× 36)
On
19
H
L
L
H
H
×1
On (× 36)
On
Notes: 1. For the MODE0 to MODE4 pins, setting except the above mode pins (MODE0 to
MODE4) is prohibited.
2. L stands for 'low level', and H stands for 'high level'.
Rev.1.00 Jan. 10, 2008 Page 737 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Table 15.3 Clock Operating Modes and Frequency Multiplication Ratio for Each Clock
(Both MODE12 and MODE11 Are Set to High Level)
Frequency Multiplication Ratio (for Input Clock)
Peripheral DDR
Bus
CPU
RAM
SuperHyway GDTA
Operating Initial
Clock
Clock
Clock
Clock
DU Clock
Clock
Clock
Clock
Mode
Value
Ick
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
0
H'1225 2448
× 36
× 18
× 18
×9
×9
×3
× 18
×6
1
H'122B 244B
× 36
× 18
× 18
×9
×9
× 3/2
× 18
× 3/2
2
H'1335 3558
× 36
× 12
× 12
×6
×6
×3
× 12
×6
3
H'133B 355B
× 36
× 12
× 12
×6
×6
× 3/2
× 12
× 3/2
16
H'1225 2448
× 18
×9
×9
× 9/2
× 9/2
× 3/2
×9
×3
17
H'122B 244B
× 18
×9
×9
× 9/2
× 9/2
× 3/4
×9
× 3/4
18
H'1335 3558
× 18
×6
×6
×3
×3
× 3/2
×6
×3
19
H'133B 355B
× 18
×6
×6
×3
×3
× 3/4
×6
× 3/4
Clock
FRQMR1
Table 15.4 Clock Operating Modes and Frequency Multiplication Ratio for Each Clock
(MODE12 or MODE11 Is Set to Low Level)
Frequency Multiplication Ratio (for Input Clock)
CPU
RAM
SuperHyway GDTA
Peripheral DDR
Bus
Operating Initial
Clock
Clock
Clock
Clock
DU Clock
Clock
Clock
Clock
Mode
Value
Ick
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
0
H'1225 24F8
× 36
× 18
× 18
×9
Stopped
×3
× 18
×6
1
H'122B 24FB
× 36
× 18
× 18
×9
Stopped
× 3/2
× 18
× 3/2
2
H'1335 35F8
× 36
× 12
× 12
×6
Stopped
×3
× 12
×6
3
H'133B 35FB
× 36
× 12
× 12
×6
Stopped
× 3/2
× 12
× 3/2
16
H'1225 24F8
× 18
×9
×9
× 9/2
Stopped
× 3/2
×9
×3
17
H'122B 24FB
× 18
×9
×9
× 9/2
Stopped
× 3/4
×9
× 3/4
18
H'1335 35F8
× 18
×6
×6
×3
Stopped
× 3/2
×6
×3
19
H'133B 35FB
× 18
×6
×6
×3
Stopped
× 3/4
×6
× 3/4
Clock
FRQMR1
Rev.1.00 Jan. 10, 2008 Page 738 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.4
Register Descriptions
Table 15.5 lists the registers. Table 15.6 shows the register states in each processing mode.
Table 15.5 Register Configuration
Register Name
Abbreviation
R/W
P4 Address
Area 7
Address
Access
Size
Sync
Clock
Frequency control register 0
FRQCR0
R/W
H'FFC8 0000
H'1FC8 0000
32
Pck
Frequency control register 1
FRQCR1
R/W
H'FFC8 0004
H'1FC8 0004
32
Pck
Frequency display register 1
FRQMR1
R
H'FFC8 0014
H'1FC8 0014
32
Pck
Sleep control register
SLPCR
R/W
H'FFC8 0020
H'1FC8 0020
32
Pck
PLL control register
PLLCR
R/W
H'FFC8 0024
H'1FC8 0024
32
Pck
Standby control register 0*
MSTPCR0
R/W
H'FFC8 0030
H'1FC8 0030
32
Pck
Standby control register 1*
MSTPCR1
R/W
H'FFC8 0034
H'1FC8 0034
32
Pck
Standby display register*
MSTPMR
R
H'FFC8 0044
H'1FC8 0044
32
Pck
Note:
*
For details on the standby control registers, see section 17, Power-Down Mode.
Rev.1.00 Jan. 10, 2008 Page 739 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Table 15.6 Register State in Each Processing Mode
Register Name
Abbreviation
Power-on Reset
by the PRESET
Pin, WDT, or
H-UDI
Frequency control register 0
FRQCR0
H'0000 0000
Frequency control register 1
FRQCR1
H'0000 0000
2
Manual Reset by
WDT or
Multiple
Exception
Sleep or Deep
Sleep
by Sleep
Instruction
Retained
Retained
Retained
Retained
Frequency display register 1
FRQMR1
H'1xxx xxxx*
Retained
Retained
Sleep control register
SLPCR
H'0000 0000
Retained
Retained
PLL control register
PLLCR
H'0000 0000
Retained
Retained
1
MSTPCR0
H'0000 0000
Retained
Retained
1
MSTPCR1
H'0000 0000
Retained
Retained
Retained
Retained
Standby control register 0*
Standby control register 1*
1
Standby display register*
MSTPMR
3
H'00x0 0000*
Notes: 1. For details on the standby control registers, see section 17, Power-Down Mode.
2. The state of this register depends on the settings of mode pins MODE0 to MODE4,
MODE11, and MODE12 obtained on a power-on reset via the PRESET pin. See Table
15.3 or 15.4.
3. The state of this register depends on the setting of mode pins MODE11 and MODE12
obtained on a power-on reset via the PRESET pin.
Rev.1.00 Jan. 10, 2008 Page 740 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.4.1
Frequency Control Register 0 (FRQCR0)
FRQCR0 is a 32-bit readable and partially writable register that executes a sequence for changing
the frequency of each clock. After the sequence is executed, FRQCR0 is automatically cleared to
0. FRQCR0 can only be accessed in longwords.
To write to FRQCR0, set the code value (H'CF) in the upper byte and use the longword. No other
code values can be written. The code value is always read as 0.
FRQCR0 is initialized by only a power-on reset via the PRESET pin or a WDT overflow.
BIt:
31
30
29
28
27
26
25
24
Code value (H'CF)
Initial value:
R/W:
BIt:
Bit
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
FRQE
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Bit Name
31 to 24 ⎯
0
R/W
22
⎯
0
R/W
Initial value:
R/W:
0
R/W
23
Initial
Value
R/W
Description
All 0
R/W
Code value (H'CF)
These bits are always read as 0. The write value
should always be H'CF.
23 to 1
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
0
FRQE
0
R/W
Frequency Change Sequence Enabled
Enables the execution of a sequence that changes the
frequency of each clock according to the value set in
FRQCR1. After executing the sequence, this bit is
automatically cleared to 0.
0: Execution of a sequence that changes the frequency
is disabled.
1: Execution of a sequence that changes the frequency
is enabled.
Note: Some division ratio settings are prohibited. When
a value that is not shown in Tables 15.8 to 15.11
is set in FRQCR1, do not set 1 in FRQE.
Rev.1.00 Jan. 10, 2008 Page 741 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.4.2
Frequency Control Register 1 (FRQCR1)
FRQCR1 is a 32-bit readable/writable register that can select the division ratio of divider 2 for the
CPU clock (lck), the SuperHyway clock (SHck), the peripheral clock (Pck), the DDR clock
(DDRck), the bus clock (Bck), the GDTA clock (GAck), the DU clock (DUck), and the RAM
clock (Uck). To check the division ratio of divider 2 for each clock, read FRQMR1. FRQCR1 can
only be accessed in longwords.
FRQCR1 only changes the division ratio of a clock to which a value other than H'0 has been
written. Therefore, set a value other than H'0 in the bit corresponding to the clock for which you
want to change the division ratio. Other bits should be set to H'0.
To change the division ratio of each clock to the value set in FRQCR1, you must set 1 in the
FRQE bit in FRQCR0 to execute the sequence that changes the frequency. After the sequence is
executed, this register is automatically cleared to H'0000 0000.
However, when changing the division ratio of the DDR clock (DDRck), switch SDRAM to the
self-refreshing state. For details on how to switch to or release the self-refreshing state, see section
12, DDR2-SDRAM Interface (DBSC2).
FRQCR1 is initialized by only a power-on reset via the PRESET pin or a WDT overflow.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IFC3
IFC2
IFC1
IFC0
UFC3
UFC2
UFC1
UFC0
SFC3
SFC2
SFC1
SFC0
BFC3
BFC2
BFC1
BFC0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
MFC3 MFC2 MFC1 MFC0 S2FC3 S2FC2 S2FC1 S2FC0 S3FC3 S3FC2 S3FC1 S3FC0 PFC3
PFC2
PFC1
PFC0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Rev.1.00 Jan. 10, 2008 Page 742 of 1658
REJ09B0261-0100
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15. Clock Pulse Generator (CPG)
Bit
Bit Name
Initial
Value
R/W
Description
31
IFC3
0
R/W
Frequency division ratio of the CPU clock (Ick)
30
IFC2
0
R/W
0000: No change
29
IFC1
0
R/W
0001: × 1/2
28
IFC0
0
R/W
0010: × 1/4
0011: × 1/6
Others: Setting prohibited
27
UFC3
0
R/W
Frequency division ratio of the RAM clock (Uck)
26
UFC2
0
R/W
0000: No change
25
UFC1
0
R/W
0010: × 1/4
24
UFC0
0
R/W
0011: × 1/6
Others: Setting prohibited
23
SFC3
0
R/W
22
SFC2
0
R/W
Frequency division ratio of the SuperHyway clock
(SHck)
21
SFC1
0
R/W
0000: No change
20
SFC0
0
R/W
0010: × 1/4
0011: × 1/6
Others: Setting prohibited
19
BFC3
0
R/W
Frequency division ratio of the bus clock (Bck)
18
BFC2
0
R/W
0000: No change
17
BFC1
0
R/W
0101: × 1/12
16
BFC0
0
R/W
0110: × 1/16
0111: × 1/18
1000: × 1/24
1001: × 1/32
1010: × 1/36
1011: × 1/48
Others: Setting prohibited
15
MFC3
0
R/W
Frequency division ratio of the DDR clock (DDRck)
14
MFC2
0
R/W
0000: No change
13
MFC1
0
R/W
0010: × 1/4
12
MFC0
0
R/W
0011: × 1/6
Others: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 743 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Bit
Bit Name
Initial
Value
R/W
Description
11
S2FC3
0
R/W
Frequency division ratio of the GDTA clock (GAck)
10
S2FC2
0
R/W
0000: No change
9
S2FC1
0
R/W
0100: × 1/8
8
S2FC0
0
R/W
0101: × 1/12
Others: Setting prohibited
7
S3FC3
0
R/W
Frequency division ratio of the DU clock (DUck)
6
S3FC2
0
R/W
0000: No change
5
S3FC1
0
R/W
0100: × 1/8
4
S3FC0
0
R/W
0101: × 1/12
0110: × 1/16
0111: × 1/18
1000: × 1/24
1001: × 1/32
1010: × 1/36
1011: × 1/48
Others: Setting prohibited
3
PFC3
0
R/W
Frequency division ratio of the peripheral clock (Pck)
2
PFC2
0
R/W
0000: No change
1
PFC1
0
R/W
0111: × 1/18
0
PFC0
0
R/W
1000: × 1/24
1001: × 1/32
1010: × 1/36
1011: × 1/48
Others: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 744 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.4.3
Frequency Display Register 1 (FRQMR1)
FRQMR1 is a 32-bit readable register that reads the division ratio of divider 2 for the CPU clock
(lck), the SuperHyway clock (SHck), the peripheral clock (Pck), the DDR clock (DDRck),the bus
clock (Bck), the GDTA clock (GAck), the DU clock (DUck), and the RAM clock (Uck).
FRQMR1 can only be accessed in longwords.
This register is initialized by only a power-on reset via the PRESET pin or a WDT overflow.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
IFST3 IFST2 IFST1 IFST0 UFST3 UFST2 UFST1 UFST0 SFST3 SFST2 SFST1 SFST0 BFST3 BFST2 BFST1 BFST0
Initial value:
R/W:
BIt:
0
R
0
R
0
R
1
R
0
R
0
R
1
R
x
R
0
R
0
R
1
R
x
R
x
R
x
R
x
R
1
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
MFST3 MFST2 MFST1 MFST0 S2FST3 S2FST2 S2FST1 S2FST0 S3FST3 S3FST2 S3FST1 S3FST0 PFST3 PFST2 PFST1 PFST0
Initial value:
R/W:
0
R
0
R
1
R
x
R
0
R
1
R
0
R
x
R
x
R
1
R
x
R
x
R
1
R
0
R
x
R
x
R
Note: The initial value (x: a bit whose value is undefined) depends on the settings of mode pins
MODE0 to MODE4, MODE11, and MODE12 on a power-on reset via the PRESET pin.
See Table 15.3 or 15.4.
Bit
Bit Name
Initial
Value
R/W
Description
31
IFST3
0
R
Frequency division ratio of the CPU clock (Ick)
30
IFST2
0
R
0001: × 1/2
29
IFST1
0
R
0010: × 1/4
28
IFST0
1
R
0011: × 1/6
27
UFST3
0
R
Frequency division ratio of the RAM clock (Uck)
26
UFST2
0
R
0010: × 1/4
25
UFST1
1
R
0011: × 1/6
24
UFST0
x
R
23
SFST3
0
R
22
SFST2
0
R
Frequency division ratio of the SuperHyway clock
(SHck)
21
SFST1
1
R
0010: × 1/4
20
SFST0
x
R
0011: × 1/6
Rev.1.00 Jan. 10, 2008 Page 745 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Bit
Bit Name
Initial
Value
R/W
Description
19
BFST3
x
R
Frequency division ratio of the bus clock (Bck)
18
BFST2
x
R
0101: × 1/12
17
BFST1
x
R
0110: × 1/16
16
BFST0
1
R
0111: × 1/18
1000: × 1/24
1001: × 1/32
1010: × 1/36
1011: × 1/48
15
MFST3
0
R
Frequency division ratio of the DDR clock (DDRck)
14
MFST2
0
R
0010: ×1/4
13
MFST1
1
R
0011: ×1/6
12
MFST0
x
R
11
S2FST3
0
R
Frequency division ratio of the GDTA clock (GAck)
10
S2FST2
1
R
0100: × 1/8
9
S2FST1
0
R
0101: × 1/12
8
S2FST0
x
R
1111: Stop the clock supply.
7
S3FST3
x
R
Frequency division ratio of the DU clock (DUck)
6
S3FST3
1
R
0100: × 1/8
5
S3FST3
x
R
0101: × 1/12
4
S3FST3
x
R
0110: × 1/16
0111: × 1/18
1000: × 1/24
1001: × 1/32
1010: × 1/36
1011: × 1/48
1111: Stop the clock supply
3
PFST3
1
R
Frequency division ratio of the peripheral clock (Pck)
2
PFST2
0
R
0111: × 1/18
1
PFST1
x
R
1000: × 1/24
0
PFST0
x
R
1001: × 1/32
1010: × 1/36
1011: × 1/48
Rev.1.00 Jan. 10, 2008 Page 746 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.4.4
PLL Control Register (PLLCR)
PLLCR is a 32-bit readable/writable register that controls the clock output on the CLKOUT pin.
This register can only be accessed in longwords.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
CKOFF
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 24
⎯
0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
23 to 16
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0. If a value other than 0 is written,
the operation is not guaranteed.
15 to 2
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
1
CKOFF
0
R/W
CLKOUT Output Enabled
Stops clock output on the CLKOUT pin
0: Clock is output on the CLKOUT pin
1: The CLKOUT pin is placed in the high impedance
state
0
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 747 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.5
Calculating the Frequency
Table 15.7 shows the relationship between the division ratio of divider 2 described for frequency
control register FRQCR1 and frequency display register FRQMR1, and the EXTAL input.
Table 15.7 Relationship Between the Division Ratio of Divider 2 and the Frequency
Frequency (for an input clock)
Division ratio of
divider 2
Clock operating mode 0 to 3
Clock operating mode 16 to 19
× 1/2
× 36
× 18
× 1/4
× 18
×9
× 1/6
× 12
×6
× 1/8
×9
× 9/2
× 1/12
×6
×3
× 1/16
× 9/2
× 9/4
× 1/18
×4
×2
× 1/24
×3
× 3/2
× 1/32
× 9/4
× 9/8
× 1/36
×2
×1
× 1/48
× 3/2
× 3/4
Rev.1.00 Jan. 10, 2008 Page 748 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.6
How to Change the Frequency
To change the frequency of the internal clock and the local bus clock (CLKOUT) with software,
set frequency control registers FRQCR0 and FRQCR1 according to the following procedure.
Tables 15.8 to 15.11 list the selectable combinations of frequencies.
15.6.1
Changing the Frequency of Clocks Other than the Bus Clock
When changing the frequency of a clock except the bus clock, disable counting-up by the WDT.
The following describes the procedure for changing the frequency.
1. In FRQCR1, set a value (other than H'0) in the bit corresponding to the clock for which you
want to change the division ratio.*
2. Set H'CF000001 in FRQCR0 to enable execution of the sequence that changes the frequency.
The sequence that changes the frequency starts.
3. When H'00000000 is read from FRQCR0, the sequence that changes the frequency has
finished. The internal clock has been changed to the clock with the specified division ratio.
Note: * When setting a value except H'0 in the MFC3 to MFC0 bits in FRQCR1 to change the
DDR clock frequency, switch SDRAM to the self-refreshing state before executing
step (2) above. For details on how to switch to or release the self-refreshing state, see
section 12, DDR2-SDRAM Interface (DBSC2).
15.6.2
Changing the Bus Clock Frequency
When changing the bus clock frequency, start counting-up by the WDT after the oscillation of
PLL circuit 2 is stable. When a WDT overflow occurs during counting, this LSI resumes
operation.
Figures 15.2 and 15.3 show the timing of the CLKOUT and CLKOUTENB pins when the bus
clock frequency is changed.
The following describes the procedure for changing the frequency.
1. Write 0 to the TME bit in WDTCSR to stop the WDT.
2. In WDTBST, after the oscillation of PLL circuit 2 is stable, set the time that can elapse before
the LSI resumes operation. Writing H'55000001 sets the minimum value. Writing H'55000000
sets the maximum value.
3. In FRQCR1, set a value (except H'0) in the bit corresponding to the clock for which you want
to change the division ratio.*
Rev.1.00 Jan. 10, 2008 Page 749 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
4. Set H'CF000001 in FRQCR0 to enable execution of the sequence that changes the frequency.
The sequence that changes the frequency starts.
5. The CLKOUTENB pin output changes to low level. After ten cycles of the peripheral clock
(Pck), an unstable clock is output to the CLKOUT pin.
6. When the oscillation of PLL circuit 2 is stable, wait for ten cycles of the peripheral clock
(Pck). Then output a high level signal to the CLKOUTENB pin.
7. When the WDT starts counting up and the value of WDTBCNT is equal to the value of
WDTBST, the LSI resumes operation.
8. When H'00000000 is read from FRQCR0, the sequence that changes the frequency has
finished. The internal clock has been changed to the clock with the specified division ratio.
Note: * When setting a value except H'0 in the MFC3 to MFC0 bits in FRQCR1 to change the
DDR clock frequency, switch SDRAM to the self-refreshing state before executing
step (2) above. For details on how to switch to or release the self-refreshing state, see
section 12, DDR2-SDRAM Interface (DBSC2).
CLKOUT
output
CLKOUTENB
output
Ten peripheral clock cycles
PLL circuit 2 oscillation starts
Figure 15.2 Beginning of the Change of the Bus Clock Frequency
CLKOUT
output
CLKOUTENB
output
Operation restarts
Ten peripheral clock cycles
PLL circuit 2 stabilized oscillation
Counting-up by the WDT
Figure 15.3 End of the Change of the Bus Clock Frequency
Rev.1.00 Jan. 10, 2008 Page 750 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Table 15.8 Selectable Combinations of Clock Frequency (CPU Clock: × 1/2, DDR Clock: ×
1/4)
Division ratio of divider 2
CPU
clock
RAM
clock
SuperHyway
clock
GDTA
clock
DU
clock
Peripheral DDR
clock
clock
Bus
clock
Ick
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
H'1225 2448
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/24
× 1/4
× 1/12
H'1225 2458
× 1/2
× 1/4
× 1/4
× 1/8
× 1/12
× 1/24
× 1/4
× 1/12
H'1225 2488
× 1/2
× 1/4
× 1/4
× 1/8
× 1/24
× 1/24
× 1/4
× 1/12
H'1225 244B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/12
H'1225 245B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/12
H'1225 246B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/12
H'1225 248B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/12
H'1225 24BB
× 1/2
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/12
H'1226 244A
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/36
× 1/4
× 1/16
H'1226 246A
× 1/2
× 1/4
× 1/4
× 1/8
× 1/16
× 1/36
× 1/4
× 1/16
H'1226 24AA
× 1/2
× 1/4
× 1/4
× 1/8
× 1/36
× 1/36
× 1/4
× 1/16
H'1226 244B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/16
H'1226 245B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/16
H'1226 246B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/16
H'1226 248B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/16
H'1226 24BB
× 1/2
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/16
H'1228 2448
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/24
× 1/4
× 1/24
H'1228 2458
× 1/2
× 1/4
× 1/4
× 1/8
× 1/12
× 1/24
× 1/4
× 1/24
H'1228 2488
× 1/2
× 1/4
× 1/4
× 1/8
× 1/24
× 1/24
× 1/4
× 1/24
H'1228 244B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/24
H'1228 245B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/24
H'1228 246B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/24
H'1228 248B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/24
H'1228 24BB
× 1/2
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/24
H'122A 244A
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/36
× 1/4
× 1/36
H'122A 246A
× 1/2
× 1/4
× 1/4
× 1/8
× 1/16
× 1/36
× 1/4
× 1/36
H'122A 24AA
× 1/2
× 1/4
× 1/4
× 1/8
× 1/36
× 1/36
× 1/4
× 1/36
FRQMR1
read value
Rev.1.00 Jan. 10, 2008 Page 751 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Division ratio of divider 2
CPU
clock
RAM
clock
SuperHyway
clock
GDTA
clock
DU
clock
Peripheral DDR
clock
clock
Ick
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
H'122B 244B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/48
H'122B 245B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/48
H'122B 246B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/48
H'122B 248B
× 1/2
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/48
H'122B 24BB
× 1/2
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/48
FRQMR1
read value
Bus
clock
Table 15.9 Selectable Combinations of Clock Frequency (CPU Clock: × 1/4, DDR Clock: ×
1/4)
Division ratio of divider 2
CPU
FRQMR1 read clock
value
Ick
RAM
clock
SuperHyway
clock
GDTA
clock
DU
clock
Peripheral DDR
clock
clock
Bus
clock
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
H'2225 2448
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/24
× 1/4
× 1/12
H'2225 2458
× 1/4
× 1/4
× 1/4
× 1/8
× 1/12
× 1/24
× 1/4
× 1/12
H'2225 2488
× 1/4
× 1/4
× 1/4
× 1/8
× 1/24
× 1/24
× 1/4
× 1/12
H'2225 244B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/12
H'2225 245B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/12
H'2225 246B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/12
H'2225 248B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/12
H'2225 24BB
× 1/4
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/12
H'2226 244A
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/36
× 1/4
× 1/16
H'2226 246A
× 1/4
× 1/4
× 1/4
× 1/8
× 1/16
× 1/36
× 1/4
× 1/16
H'2226 24AA
× 1/4
× 1/4
× 1/4
× 1/8
× 1/36
× 1/36
× 1/4
× 1/16
H'2226 244B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/16
H'2226 245B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/16
H'2226 246B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/16
H'2226 248B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/16
H'2226 24BB
× 1/4
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/16
H'2228 2448
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/24
× 1/4
× 1/24
Rev.1.00 Jan. 10, 2008 Page 752 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Division ratio of divider 2
CPU
FRQMR1 read clock
value
Ick
RAM
clock
SuperHyway
clock
GDTA
clock
DU
clock
Peripheral DDR
clock
clock
Bus
clock
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
H'2228 2458
× 1/4
× 1/4
× 1/4
× 1/8
× 1/12
× 1/24
× 1/4
× 1/24
H'2228 2488
× 1/4
× 1/4
× 1/4
× 1/8
× 1/24
× 1/24
× 1/4
× 1/24
H'2228 244B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/24
H'2228 245B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/24
H'2228 246B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/24
H'2228 248B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/24
H'2228 24BB
× 1/4
× 1/4
×1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/24
H'222A 244A
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/36
× 1/4
× 1/36
H'222A 246A
× 1/4
× 1/4
× 1/4
× 1/8
× 1/16
× 1/36
× 1/4
× 1/36
H'222A 24AA
× 1/4
× 1/4
× 1/4
× 1/8
× 1/36
× 1/36
× 1/4
× 1/36
H'222B 244B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/8
× 1/48
× 1/4
× 1/48
H'222B 245B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/12
× 1/48
× 1/4
× 1/48
H'222B 246B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/16
× 1/48
× 1/4
× 1/48
H'222B 248B
× 1/4
× 1/4
× 1/4
× 1/8
× 1/24
× 1/48
× 1/4
× 1/48
H'222B 24BB
× 1/4
× 1/4
× 1/4
× 1/8
× 1/48
× 1/48
× 1/4
× 1/48
Rev.1.00 Jan. 10, 2008 Page 753 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Table 15.10 Selectable Combinations of Clock Frequency (CPU Clock: × 1/2, DDR Clock: ×
1/6)
Division ratio of divider 2
CPU
FRQMR1 read clock
value
Ick
RAM
clock
SuperHyway
clock
GDTA
clock
DU
clock
Peripheral DDR
clock
clock
Bus
clock
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
H'1335 3558
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/24
× 1/6
× 1/12
H'1335 3588
× 1/2
× 1/6
× 1/6
× 1/12
× 1/24
× 1/24
× 1/6
× 1/12
H'1335 355A
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/36
× 1/6
× 1/12
H'1335 357A
× 1/2
× 1/6
× 1/6
× 1/12
× 1/18
× 1/36
× 1/6
× 1/12
H'1335 35AA
× 1/2
× 1/6
× 1/6
× 1/12
× 1/36
× 1/36
× 1/6
× 1/12
H'1335 355B
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/48
× 1/6
× 1/12
H'1335 358B
× 1/2
× 1/6
× 1/6
× 1/12
× 1/24
× 1/48
× 1/6
× 1/12
H'1335 35BB
× 1/2
× 1/6
× 1/6
× 1/12
× 1/48
× 1/48
× 1/6
× 1/12
H'1337 355A
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/36
× 1/6
× 1/18
H'1337 357A
× 1/2
× 1/6
× 1/6
× 1/12
× 1/18
× 1/36
× 1/6
× 1/18
H'1337 35AA
× 1/2
× 1/6
× 1/6
× 1/12
× 1/36
× 1/36
× 1/6
× 1/18
H'1338 3558
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/24
× 1/6
× 1/24
H'1338 3588
× 1/2
× 1/6
× 1/6
× 1/12
× 1/24
× 1/24
× 1/6
× 1/24
H'1338 355B
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/48
× 1/6
× 1/24
H'1338 358B
× 1/2
× 1/6
× 1/6
× 1/12
× 1/24
× 1/48
× 1/6
× 1/24
H'1338 35BB
× 1/2
× 1/6
× 1/6
× 1/12
× 1/48
× 1/48
× 1/6
× 1/24
H'133A 355A
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/36
× 1/6
× 1/36
H'133A 357A
× 1/2
× 1/6
× 1/6
× 1/12
× 1/18
× 1/36
× 1/6
× 1/36
H'133A 35AA
× 1/2
× 1/6
× 1/6
× 1/12
× 1/36
× 1/36
× 1/6
× 1/36
H'133B 355B
× 1/2
× 1/6
× 1/6
× 1/12
× 1/12
× 1/48
× 1/6
× 1/48
H'133B 358B
× 1/2
× 1/6
× 1/6
× 1/12
× 1/24
× 1/48
× 1/6
× 1/48
H'133B 35BB
× 1/2
× 1/6
× 1/6
× 1/12
× 1/48
× 1/48
× 1/6
× 1/48
Rev.1.00 Jan. 10, 2008 Page 754 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Table 15.11 Selectable Combinations of Clock Frequency (CPU Clock: × 1/6, DDR Clock: ×
1/6)
Division ratio of divider 2
CPU
clock
RAM
clock
SuperHyway
clock
GDTA
clock
DU
clock
Peripheral DDR
clock
clock
Bus
clock
Ick
Uck
SHck
GAck
DUck
Pck
DDRck
Bck
H'3335 3558
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/24
× 1/6
× 1/12
H'3335 3588
× 1/6
× 1/6
× 1/6
× 1/12
× 1/24
× 1/24
× 1/6
× 1/12
H'3335 355A
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/36
× 1/6
× 1/12
H'3335 357A
× 1/6
× 1/6
× 1/6
× 1/12
× 1/18
× 1/36
× 1/6
× 1/12
H'3335 35AA
× 1/6
× 1/6
× 1/6
× 1/12
× 1/36
× 1/36
× 1/6
× 1/12
H'3335 355B
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/48
× 1/6
× 1/12
H'3335 358B
× 1/6
× 1/6
× 1/6
× 1/12
× 1/24
× 1/48
× 1/6
× 1/12
H'3335 35BB
× 1/6
× 1/6
× 1/6
× 1/12
× 1/48
× 1/48
× 1/6
× 1/12
H'3337 355A
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/36
× 1/6
× 1/18
H'3337 357A
× 1/6
× 1/6
× 1/6
× 1/12
× 1/18
× 1/36
× 1/6
× 1/18
H'3337 35AA
× 1/6
× 1/6
× 1/6
× 1/12
× 1/36
× 1/36
× 1/6
× 1/18
H'3338 3558
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/24
× 1/6
× 1/24
H'3338 3588
× 1/6
× 1/6
× 1/6
× 1/12
× 1/24
× 1/24
× 1/6
× 1/24
H'3338 355B
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/48
× 1/6
× 1/24
H'3338 358B
× 1/6
× 1/6
× 1/6
× 1/12
× 1/24
× 1/48
× 1/6
× 1/24
H'3338 35BB
× 1/6
× 1/6
× 1/6
× 1/12
× 1/48
× 1/48
× 1/6
× 1/24
H'333A 355A
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/36
× 1/6
× 1/36
H'333A 357A
× 1/6
× 1/6
× 1/6
× 1/12
× 1/18
× 1/36
× 1/6
× 1/36
H'333A 35AA
× 1/6
× 1/6
× 1/6
× 1/12
× 1/36
× 1/36
× 1/6
× 1/36
H'333B 355B
× 1/6
× 1/6
× 1/6
× 1/12
× 1/12
× 1/48
× 1/6
× 1/48
H'333B 358B
× 1/6
× 1/6
× 1/6
× 1/12
× 1/24
× 1/48
× 1/6
× 1/48
H'333B 35BB
× 1/6
× 1/6
× 1/6
× 1/12
× 1/48
× 1/48
× 1/6
× 1/48
FRQMR1
read value
Rev.1.00 Jan. 10, 2008 Page 755 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
15.7
Notes on Designing Board
1. Note on Using a Crystal Resonator
Place the crystal resonator and capacitors close to the EXTAL and XTAL pins as much as
possible. No other signal lines should cross the signal line of these pins. Induction may prevent
correct oscillation.
CL1
CL2
Crossing of signal lines
is prohibited
R
EXTAL
Recommended values
CL1 = CL2 = 0 to 33 pF
R=0Ω
XTAL
SH7785
Note:
The values of CL1, CL2, and the dumping resistance should be determined through
evaluation and consultation with the manufacturer of the crystal resonator to be used.
Figure 15.4 Note on Using a Crystal Resonator
2. Note on Inputting the External Clock from the EXTAL Pin
Do not connect anything to the XTAL pin.
3. Note on Using a PLL Oscillator Circuit
Place VDDQ-PLL1, VDDQ-PLL2, VSSQ-PLL1, and VSSQ-PLL2 away from other VDDs
and VSSs on the power supply of the board. Insert resistors RCB, and bypass capacitors, CPB
and CB, as noise filters near the pins.
Rev.1.00 Jan. 10, 2008 Page 756 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
RCB1
CB1
SH7785
VDD-PLL1
CPB1
VSS-PLL1
RCB2
CB2
VDDA-PLL1
CPB2
VSSA-PLL1
RCB3
CB3
VDDQ-PLL1
CPB3
VSSQ-PLL1
RCB4
CB4
VDD-PLL2
Power supply 1
CPB4
VSS-PLL2
RCB5
VDDQ-PLL2
CB5
Power supply 2
CPB5
VSSQ-PLL2
Recommended values: RCB1 = RCB2 = RCB3 = RCB4 = RCB5 = 10 Ω
CPB1 = CPB2 = CPB3 = CPB4 = CPB5 = 10 μF (Tantalum capacitor)
CB1 = CB2 = CB3 = CB4 = CB5 = 0.1 μF
Figure 15.5 Note on Using a PLL Oscillator Circuit
Rev.1.00 Jan. 10, 2008 Page 757 of 1658
REJ09B0261-0100
15. Clock Pulse Generator (CPG)
Rev.1.00 Jan. 10, 2008 Page 758 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
Section 16 Watchdog Timer and Reset (WDT)
The watchdog timer and reset module (WDT) comprises a reset control unit and a watchdog timer
control unit, and controls the power-on reset sequence and internal reset of the LSI.
The WDT is a single-channel timer that can be used either as a watchdog timer or interval timer.
16.1
Features
• The watchdog timer unit monitors for system runaway using a timer counting at regular time
intervals.
• Two operating modes:
⎯ In watchdog timer mode, internal reset of the chip is initiated on counter overflow and onchip modules are reset.
⎯ In interval timer mode, an interrupt is generated on counter overflow.
• Selectable between power-on reset and manual reset. When manual reset is selected, a manual
reset signal is output from the MRESETOUT pin.
• In order to prevent accidental writing to the WDT-related registers, writing to them is only
possible when a certain code is set in the uppermost eight bits in the data for writing.
Rev.1.00 Jan. 10, 2008 Page 759 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
Figure 16.1 is a block diagram of the WDT.
Watchdog Timer and Reset module (WDT)
STATUS[1:0]
2
Reset control
circuit
PRESET
CPG
Internal reset request
MRESETOUT
Interrupt
control circuit
INTC
Interrupt request
WDTCSR
WDTCNT
WDTBCNT
Comparator
Peripheral clock
(Pck)
Comparator
WDTST
WDTBST
Count-up signal
Legend:
WDTCNT:
WDTST:
WDTBCNT:
WDTBST:
WDTCSR:
Watchdog timer counter
Watchdog timer stop time register
Watchdog timer base counter
Watchdog timer base stop time register
Watchdog timer control/status register
Figure 16.1 Block Diagram of WDT
Rev.1.00 Jan. 10, 2008 Page 760 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.2
Input/Output Pins
Table 16.1 shows the pin configuration of the WDT module.
Table 16.1 Pin Configuration
Pin name
Function
I/O
Description
PRESET
Power-on reset input
Input
A low level input to this pin places the LSI in
the power-on reset state.
MRESETOUT
Manual reset output
Output
Low level is output during manual reset
execution.
This pin is multiplexed with the IRQOUT
(INTC) pin.
STATUS[1:0]
Status output
Output
Indicate the LSI's operating status
STATUS1
STATUS0
Operating Status
High
High
Reset
High
Low
Sleep mode
Low
Low
Normal operation
The STATUS1 pin is multiplexed with the
DRAK1 (DMAC) and PK6 (GPIO) pins.
The STATUS0 pin is multiplexed with the
DRAK0 (DMAC) and PK7 (GPIO) pins.
Rev.1.00 Jan. 10, 2008 Page 761 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.3
Register Descriptions
Table 16.2 shows the registers of the WDT module. Table 16.3 shows the register states in each
operating mode.
Table 16.2 Register Configuration
Register Name
Abbreviation R/W
P4 Address
Area 7
Address
Access
Size
Sync
Clock
Watchdog timer stop time register
WDTST
R/W
H'FFCC 0000
H'1FCC 0000
32
Pck
Watchdog timer control/status
register
WDTCSR
R/W
H'FFCC 0004
H'1FCC 0004
32
Pck
Watchdog timer base stop time
register
WDTBST
R/W
H'FFCC 0008
H'1FCC 0008
32
Pck
Watchdog timer counter
WDTCNT
R
H'FFCC 0010
H'1FCC 0010
32
Pck
Watchdog timer base counter
WDTBCNT
R
H'FFCC 0018
H'1FCC 0018
32
Pck
Table 16.3 Register States in Each Operating Mode
Register Name
Power-on
Reset by
Abbreviation PRESET Pin
Power-on
Reset by
WDT/H-UDI
Manual
Reset by
WDT/
Multiple
Exception
Watchdog timer stop time register
WDTST
H'0000 0000
Retained
Retained
Retained
Watchdog timer control/status
register
WDTCSR
H'0000 0000
Retained
Retained
Retained
Watchdog timer base stop time
register
WDTBST
H'0000 0000
Retained
Retained
Retained
Watchdog timer counter
WDTCNT
H'0000 0000
H'0000 0000
Retained
Retained
Watchdog timer base counter
WDTBCNT
H'0000 0000
H'0000 0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 762 of 1658
REJ09B0261-0100
Sleep/Deep
Sleep Mode
by SLEEP
Instruction
16. Watchdog Timer and Reset (WDT)
16.3.1
Watchdog Timer Stop Time Register (WDTST)
WDTST is a 32-bit readable/writable register that specifies the time until watchdog timer counter
WDTCNT overflows. The time until WDTCNT overflows becomes minimum when H'5A00 0001
is set, and maximum when H'5A00 0000 is set.
WDTST should be written as a longword unit, with H'5A in the most significant byte. The value
read from this byte is always H'00. WDTST is only rest by a power-on reset caused by the
PRESET pin.
Bit:
31
30
29
28
27
26
25
24
Code for writing (H'5A)
Initial value:
R/W:
Bit:
Initial value:
R/W:
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
WDTST
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
(Code for
writing)
All 0
R/W
Code for writing (H'5A)
⎯
All 0
Bit
Bit Name
31 to 24
23 to 12
23
0
R/W
These bits are always read as H'00. When writing to
this register, the value written to these bits must be
H'5A.
R
Reserved
These bits are always read as 0. The write value
should always be 0.
11 to 0
WDTST
All 0
R/W
Timer Stop
These bits set the counter value at which WDTCNT
overflows.
H'001: Minimum overflow value
H'000: Maximum overflow value
Rev.1.00 Jan. 10, 2008 Page 763 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.3.2
Watchdog Timer Control/Status Register (WDTCSR)
WDTCSR is a 32-bit readable/writable register comprising timer mode-selecting bits and overflow
flags.
WDTCSR should be written to as a longword unit, with H'A5 in the most significant byte. The
value read from this byte is always H'00. WDTCSR is only rest by a power-on reset caused by the
PRESET pin.
Bit:
31
30
29
28
27
26
25
24
Code for writing (H'A5)
Initial value:
R/W:
Bit:
Initial value:
R/W:
0
R/W
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
6
5
4
3
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
TME
WT/IT RSTS WOVF IOVF
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R
0
R
0
R
Initial
Value
R/W
Description
(Code for
writing)
All 0
R/W
Code for writing (H'A5)
⎯
All 0
Bit
Bit Name
31 to 24
23 to 8
0
R/W
23
0
R/W
0
R/W
0
R/W
These bits are always read as H'00. When writing to
this register, the value written to these bits must be
H'A5.
R
Reserved
These bits are always read as 0. The write value
should always be 0.
7
TME
0
R/W
Timer Enable
Starts or stops the timer operation.
0: Stops counting up.
1: Starts counting up.
6
WT/IT
0
R/W
Timer Mode Select
Specifies whether the WDT is used as a watchdog
timer or interval timer. Up counting may not be
performed correctly if this bit is modified while the
WDT is running.
0: Interval timer mode
1: Watchdog timer mode
Rev.1.00 Jan. 10, 2008 Page 764 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
Bit
Bit Name
Initial
Value
R/W
Description
5
RSTS
0
R/W
Reset Select
Specifies the type of reset on WDTCNT overflow in
watchdog timer mode. This setting is ignored in
interval timer mode.
0: Power-on reset
1: Manual reset
4
WOVF
0
R/W
Watchdog Timer Overflow Flag
Indicates that WDTCNT has overflowed in watchdog
timer mode. This flag is not set in interval timer mode.
0: WDTCNT has not overflowed.
1: WDTCNT has overflowed.
3
IOVF
0
R/W
Interval Timer Overflow Flag
Indicates that WDTCNT has overflowed in interval
timer mode. This flag is not set in watchdog timer
mode.
0: WDTCNT has not overflowed.
1: WDTCNT has overflowed.
2 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 765 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.3.3
Watchdog Timer Base Stop Time Register (WDTBST)
WDTBST is a 32-bit readable/writable register that specifies the time until counter WDTBCNT
overflows when the bus clock frequency has been changed. The time until WDTBCNT overflows
becomes minimum when H'5500 0001 is set, and maximum when H'5500 0000 is set.
WDTBST should be written to as a longword unit, with H'55 in the most significant byte. The
value read from this byte is always H'00. WDTBST is only rest by a power-on reset caused by the
PRESET pin.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
⎯
⎯
⎯
⎯
⎯
⎯
WDTBST
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Code for writing (H'55)
Initial value:
R/W:
Bit:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
16
WDTBST
Initial value:
R/W:
0
R/W
Bit
Bit Name
31 to 24
23 to 18
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
(Code for
writing)
All 0
R/W
Code for writing (H'55)
⎯
All 0
These bits are always read as H'00. When writing to
this register, the value written to these bits must be
H'55.
R
Reserved
These bits are always read as 0. The write value
should always be 0.
17 to 0
WDTBST
All 0
R/W
Base Timer Stop
These bits set the counter value at which WDTBCNT
overflows.
H'00001: Minimum overflow value
H'00000: Maximum overflow value
Rev.1.00 Jan. 10, 2008 Page 766 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.3.4
Watchdog Timer Counter (WDTCNT)
WDTCNT is a 32-bit read-only register comprising a 12-bit counter that is incremented by the
WDTBCNT overflow signal. When WDTCNT overflows, a reset of the selected type is initiated
in watchdog timer mode, or an interrupt is generated in interval timer mode.
WDTCNT is only reset by a power-on reset. Writing to this register is invalid.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
Initial value:
R/W:
WDTCNT
0
R
Bit
Bit Name
Initial
Value
R/W
31 to 12
⎯
All 0
R
0
R
0
R
0
R
0
R
0
R
0
R
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
11 to 0
WDTCNT
All 0
R
Counter value
Rev.1.00 Jan. 10, 2008 Page 767 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.3.5
Watchdog Timer Base Counter (WDTBCNT)
WDTBCNT is a 32-bit read-only register comprising an 18-bit counter that is incremented by the
peripheral clock (Pck). When WDTBCNT overflows, WDTCNT is incremented and WDTBCNT
is cleared to H'0000 0000.
WDTBCNT is only reset by a power-on reset. Writing to this register is invalid.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
17
16
WDTBCNT
WDTBCNT
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
31 to 18
⎯
All 0
R
0
R
0
R
0
R
0
R
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
17 to 0
WDTBCNT All 0
R
Rev.1.00 Jan. 10, 2008 Page 768 of 1658
REJ09B0261-0100
Base counter value
16. Watchdog Timer and Reset (WDT)
16.4
Operation
16.4.1
Reset Request
Power-on reset and manual reset are available. Their requesting sources are described below.
(1)
Power-On Reset
• Requesting sources
⎯ A low level input on the PRESET pin
⎯ WDTCNT overflow when the WT/IT bit is 1 and the RSTS bit is 0 in WDTCSR
⎯ The H-UDI reset (For details, see section 30, User Debugging Interface (H-UDI))
• Branch address: H'A000 0000
• Operation until branching
The exception code H'000 is set in EXPEVT. After initializing VBR and SR, the processing
branches by setting PC = H'A000 0000.
During initialization, the VBR register is rest to H'0000 0000. The SR register is initialized
such that the MD, RB, and BL bits are set to 1, the FD bit is cleared to 0, and the interrupt
mask level bits (IMASK3 to IMASK0) are set to B'1111.
Then, the CPU and peripheral modules are initialized. For details, refer to the register
descriptions in the corresponding sections.
At power-on, ensure that a low level is input to the PRESET pin. A low level input is also
needed on the TRST pin to initialize the H-UDI.
Power_on_reset()
{
EXPEVT = H'0000 0000;
VBR = H'0000 0000;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
SR.(I0-I3) = B'1111;
SR.FD = 0;
Initialize_CPU();
Initialize_Module(PowerOn);
PC = H'A000 0000;
}
Rev.1.00 Jan. 10, 2008 Page 769 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
(2)
Manual Reset
• Requesting sources
⎯ A general exception other than a user break while the BL bit in SR is set to 1.
⎯ WDTCNT overflow when both the WT/IT and RSTS bits in WDTCSR are set to 1
• Branch address: H'A000 0000
• Operation until branching
The exception code H'020 is set in EXPEVT. After initializing VBR and SR, the processing
branches by setting PC = H'A000 0000.
During initialization, the VBR register is rest to H'0000 0000. The SR register is initialized
such that the MD, RB, and BL bits are set to 1, the FD bit is cleared to 0, and the interrupt
mask level bits (IMASK3 to IMASK0) are set to B'1111.
Then, the CPU and peripheral modules are initialized. For details, refer to the register
descriptions in the corresponding sections.
Manual_reset()
{
EXPEVT = H'0000 0020;
VBR = H'0000 0000;
SR.MD = 1;
SR.RB = 1;
SR.BL = 1;
SR.(I0-I3) = B'1111;
SR.FD = 0;
Initialize_CPU();
Initialize_Module(Manual);
PC = H'A000 0000;
}
Rev.1.00 Jan. 10, 2008 Page 770 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.4.2
Using Watchdog Timer Mode
1.
2.
3.
4.
Set the WDTCNT overflow time in WDTST.
Set the WT/IT bit in WDTCSR to 1, and select the type of reset with the RSTS bit.
When the TME bit in WDTCSR is set to 1, the WDT counter starts.
In watchdog timer mode, clear the WDTCNT or WDTBCNT periodically so that WDTCNT
does not overflow. See section 16.4.5, Clearing WDT Counters, for how to clear the WDT
counter.
5. When the WDTCNT overflows, the WDT sets the WOVF flag in WDTCSR to 1, and
generates a reset of the type specified by the RSTS bit. After the reset state is exited,
WDTCNT and WDTBCNT start counting again.
16.4.3
Using Interval Timer Mode
In interval timer mode, the WDT generates an interval timer interrupt each time the counter
overflows. This allows interrupt generation at regular intervals.
1.
2.
3.
4.
Set the WDTCNT overflow time in WDTST.
Clear the WT/IT bit in WDTCSR to 0.
When the TME bit in WDTCSR is set to 1, the WDT counter starts.
When the WDTCNT overflows, the WDT sets the IOVF flag in WDTCSR to 1, generating an
interval timer interrupt (ITI) request. WDTCNT and WDTBCNT continue counting.
Rev.1.00 Jan. 10, 2008 Page 771 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.4.4
Time until WDT Counters Overflow
The relationship between WDTCNT and WDTBCNT is shown in figure 16.2. The example shown
in the figure is the operation in interval timer mode, where WDTCNT restarts counting after it has
overflowed. In watchdog timer mode, WDTCNT and WDTBCNT are cleared to 0 after the reset
state is exited and start counting up again.
WDTCNT value
Cleared to 0
on overflow
WDTST
Incremented on each
WDTBCNT overflow
H'0000 0000
Time
Cleared to 0
on overflow
WDTBCNT value
H'0003 FFFF
Incremented every
peripheral clock (Pck)
cycle
H'0000 0000
Counting starts
Flag is set
TME
WOVF
IOVF
Figure 16.2 WDT Counting Operations (Example in Interval Timer Mode)
Rev.1.00 Jan. 10, 2008 Page 772 of 1658
REJ09B0261-0100
Time
16. Watchdog Timer and Reset (WDT)
WDTBCNT is an 18-bit counter that is incremented by the peripheral clock. If the period of
peripheral clock Pck is represented as tPck (ns), the overflow time of WDTBCNT is expressed as
follows.
218 [bit] × tPck [ns] = 0.262 × tPck [ms]
WDTCNT is a 12-bit counter that is incremented each time WDTBCNT overflows. The time until
WDTCNT overflows becomes maximum when 0 is written to all the bits in WDTST. If the period
of peripheral clock Pck is represented as tPck (ns), the maximum overflow time of WDTCNT is
expressed as follows.
212 [bit] × (0.262 × tPck) [ms] = 1.073 × tPck [s]
The time until WDTCNT overflows becomes minimum when H'5A00 0001 is written to WDTST.
In this case, the overflow time is equal to that of WDTBCNT.
For example, if the peripheral clock frequency is 50 MHz, tPck is 20 ns and the overflow times are
as follows.
Overflow time of WDTBCNT: 0.262 × 20 = 5.24 [ms]
Maximum overflow time of WDTCNT: 1.073 × 20 = 21.46 [s]
16.4.5
Clearing WDT Counters
Setting the overflow value in WDTBST clears WDTBCNT to 0, and setting the overflow value in
WDTST clears WDTCNT to 0.
Rev.1.00 Jan. 10, 2008 Page 773 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.5
Status Pin Change Timing during Reset
16.5.1
Power-On Reset by PRESET Pin
Since the PLL circuit is initialized when the LSI enters the power-on reset state, the PLL
oscillation settling time needs to be ensured. This means that a high level must not be input to the
PRESET pin during the PLL oscillation settling time. The PLL oscillation settling time is the sum
of the settling times for PLL1 and PLL2.
After the state on the PRESET pin input is changed from a low level to high level, the internal
reset state continues until the reset holding time elapses. The reset holding time is equal to or more
than 40 cycles of the peripheral clock (Pck).
(1)
When the Power Is Turned On
When the power is turned on, ensure that a low level is input to the PRESET pin. A low level
input is also needed on the TRST pin to initialize the H-UDI.
The timing of reset state indication on the STATUS[1:0] pins is asynchronous. On the other hand,
the timing of indicating normal operation is synchronous with the peripheral clock (Pck), and is
therefore asynchronous with the clocks input from the EXTAL pin and the CLKOUT pin.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
VDD
PRESET
input
TRST
input
STATUS[1:0]
output
HH (reset)
EXTAL input
stabilization time
PLL oscillation
settling time
LL (normal)
Reset holding time
Figure 16.3 STATUS Output when Power Is Turned On
Rev.1.00 Jan. 10, 2008 Page 774 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
(2)
Power-On Reset Caused by PRESET Input during Normal Operation
It is necessary to ensure the PLL oscillation settling time when a power-on reset is initiated by low
level input on the PRESET pin during normal operation.
The timing of reset state indication on the STATUS[1:0] pins is asynchronous. The timing of
indicating normal operation is synchronous with the peripheral clock (Pck), and is therefore
asynchronous with the clocks input from the EXTAL pin and the CLKOUT pin.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
PRESET
input
STATUS[1:0]
output
LL (normal)
HH (reset)
PLL oscillation
settling time
HH (reset)
LL (normal)
Reset holding time
Figure 16.4 STATUS Output by Power-On Reset Caused by PRESET Input
during Normal Operation
Rev.1.00 Jan. 10, 2008 Page 775 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
(3)
Power-On Reset Caused by PRESET Input in Sleep Mode
It is necessary to ensure the PLL oscillation settling time when a power-on reset is initiated by a
low level input on the PRESET pin during sleep mode.
The timing of reset state indication on the STATUS[1:0] pins is asynchronous. The timing of
indicating normal operation is synchronous with the peripheral clock (Pck), and is therefore
asynchronous with the clocks input from the EXTAL pin and the CLKOUT pin.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
PRESET
input
STATUS[1:0]
output
HL (sleep)
HH (reset)
PLL oscillation
settling time
HH (reset)
LL (normal)
Reset holding time
Figure 16.5 STATUS Output by Power-On Reset Caused by PRESET Input
in Sleep Mode
Rev.1.00 Jan. 10, 2008 Page 776 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.5.2
Power-On Reset by Watchdog Timer Overflow
The time period taken by power-on reset on watchdog timer overflow (WDT reset holding time) is
equal to or more than 40 cycles of the peripheral clock (Pck).
The transition time from watchdog timer overflow to the power-on reset state (WDT reset setup
time) is equal to or more than 40 cycles of the peripheral clock (Pck).
If the bus clock frequency has been changed from the initial value, the oscillation settling time of
PLL2 circuit and the time until the LSI resumes operation (WDT count up) are also required. In
this case, the WDT reset holding time is two peripheral clock (Pck) cycles or more.
(1)
Power-On Reset Caused by Watchdog Timer Overflow during Normal Operation
The timing of indicating the reset state or normal operation on the STATUS[1:0] pins is
synchronous with the peripheral clock (Pck), and is therefore asynchronous with the clocks input
from the EXTAL pin and the CLKOUT pin.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
WDT overflow
signal
STATUS[1:0]
output
LL (normal)
WDT reset setup time
HH (reset)
PLL oscillation
settling time
LL (normal)
WDT count up
WDT reset
holding time
Figure 16.6 STATUS Output by Power-On Reset Caused by WDT Overflow
during Normal Operation
Rev.1.00 Jan. 10, 2008 Page 777 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
(2)
Power-On Reset Caused by Watchdog Timer Overflow in Sleep Mode
The timing of indicating the reset state or normal operation on the STATUS[1:0] pins is
synchronous with the peripheral clock (Pck), and is therefore asynchronous with the clocks input
from the EXTAL pin and the CLKOUT pin.
If the bus clock frequency has been changed from the initial value, the oscillation settling time of
PLL2 circuit and the time until the LSI resumes operation (WDT count up) are also required. In
this case, the WDT reset holding time is two peripheral clock (Pck) cycles or more.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
WDT overflow
signal
STATUS[1:0]
output
HL (sleep)
WDT reset setup time
HH (reset)
PLL oscillation
settling time
LL (normal)
WDT count up
WDT reset
holding time
Figure 16.7 STATUS Output by Power-On Reset Caused by WDT Overflow
in Sleep Mode
Rev.1.00 Jan. 10, 2008 Page 778 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
16.5.3
Manual Reset by Watchdog Timer Overflow
The time period taken by manual reset on watchdog timer overflow (WDT manual reset holding
time) is equal to or more than 30 cycles of the peripheral clock (Pck).
The transition time from watchdog timer overflow to the manual reset state (WDT reset setup
time) is equal to or more than eight cycles of the peripheral clock (Pck).
(1)
Manual Reset Caused by Watchdog Timer Overflow during Normal Operation
The timing of indicating the reset state or normal operation on the STATUS[1:0] pins is
synchronous with the peripheral clock (Pck), and is therefore asynchronous with the clocks input
from the EXTAL pin and the CLKOUT pin.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
WDT overflow
signal
MRESETOUT
output
STATUS[1:0]
output
LL (normal)
HH (reset)
LL (normal)
WDT reset setup time
WDT manual reset holding time
Figure 16.8 STATUS Output by Manual Reset Caused by WDT Overflow
during Normal Operation
Rev.1.00 Jan. 10, 2008 Page 779 of 1658
REJ09B0261-0100
16. Watchdog Timer and Reset (WDT)
(2)
Manual Reset Caused by Watchdog Timer Overflow in Sleep Mode
The timing of indicating the reset state or normal operation on the STATUS[1:0] pins is
synchronous with the peripheral clock (Pck), and is therefore asynchronous with the clocks input
from the EXTAL pin and the CLKOUT pin.
EXTAL
input
CLKOUT
output
CLKOUTENB
output
WDT overflow
signal
MRESETOUT
output
STATUS[1:0]
output
HL (sleep)
HH (reset)
WDT reset setup time
WDT manual reset holding time
LL (normal)
Figure 16.9 STATUS Output by Manual Reset Caused by WDT Overflow
in Sleep Mode
Rev.1.00 Jan. 10, 2008 Page 780 of 1658
REJ09B0261-0100
17. Power-Down Mode
Section 17 Power-Down Mode
In power-down mode, some of the on-chip modules and the CPU are stopped. This enables to
reduce power consumption.
17.1
Features
• Supports sleep mode, deep sleep mode, and module standby mode
• Supports DDR2-SDRAM power supply backup mode that turns off the power supplies the 1.8V power supply
17.1.1
Types of Power-Down Modes
Power-down modes have the following modes and functions.
•
•
•
•
Sleep mode
Deep sleep mode
Module standby function
DDR-SDRAM power supply backup
Table 17.1 shows the conditions of transition to each mode, the states of the CPU, on-chip
modules, etc. in each mode, and the methods for releasing each mode.
Rev.1.00 Jan. 10, 2008 Page 781 of 1658
REJ09B0261-0100
17. Power-Down Mode
Table 17.1 States of Power-Down Modes
State
PowerDown
On-Chip
Conditions of
Mode
Transition
CPG
Sleep
mode
SLEEP
instruction
executed (see
section 17.4)
Operate
Memory
CPU
Stopped
Retained
(contents
of registers
retained)
On-Chip Peripheral Module
Releasing
DMAC
GDTA
Others
Pin
DDR2-SDRAM
Methods
Operate
Operate
Operate
Operation
retained
Auto-refresh or
self-refresh*3
1. Interrupt
2. Power-on
reset
3. Manual
reset
Deep
sleep
mode
Module
standby
function
Corresponding Operate
bit in MSTPCR
set to 1 (see
section 17.3.2)
Clear the
Operate
corresponding
bits in
MSTPCR0 and
MSTPCR1 to 0
(see sections
17.3.2 and
17.3.3)
DDR2See section
SDRAM 17.7
power
supply
backup *2
Stopped
Stopped
Retained
(contents
of registers
retained)
Stopped
(contents
of
registers
retained)
Operate
Retained
Stopped
Undefined Stopped
Stopped
(contents
of
registers
retained)
Stopped Stopped
in sixchannel
units:
channels
0 to 5 and
channels
6 to 11.
Stopped
Operate Operation
(DU,
retained
TMU,
SCIF,
SIOF,
HSPI,
MMCIF,
HAC,
SSI,
FLCTL,
and UBC
are
stopped
*1)
Self-refresh
Specified Operation
modules retained
stopped
Auto-refresh or
self-refresh
Stopped
1. Interrupt
2. Power-on
reset
3. Manual
reset
Undefined
Self-refresh
except for the
1.8-V power
supply
interface
(When the
MBKPRST is
low level input,
the MCKE is
high level
output)
Clear the
corresponding
bits in
MSTPCR0 and
MSTPCR1 to 0
(see sections
17.3.2 and
17.3.3)
Power-on
reset
Notes: 1. The TMU, SCIF, SIOF, HSPI, MMCIF, HAC, SSI, FLCTL and UBC should be in module
stop state by using the module standby function before execute the SLEEP instruction
to make transition to deep sleep mode. For detail, refer to section 17.5, Deep Sleep
Mode.
2. Power supplies (1.1 V, 3.3 V) except the 1.8 V power supply are stopped in DDR2SDRAM power supply backup mode. Therefore, all circuitry other than the pad of DDR2
interface are stopped, including DDR2 interface control unit, and the contents of
registers are not retained.
3. For details on auto-refresh and self-refresh operation, see section 12, DDR2-SDRAM
Interface (DBSC2).
Rev.1.00 Jan. 10, 2008 Page 782 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.2
Input/Output Pins
Table 17.2 shows the pins related to power-down mode.
Table 17.2 Pin Configuration
Pin name
Function
I/O
Description
STATUS1
Processing state 1
Output
Indicate the operating states of this LSI
STATUS0
Processing state 2
STATUS1
STATUS0
Operating states
H
H
Reset
H
L
Sleep mode
L
L
Normal operation
The STATUS1 pin is multiplexed with the DRAK1
(DMAC) and PK6 (GPIO) pins. The STATUS0 pin
is multiplexed with the DRAK0 (DMAC) and PK7
(GPIO) pins.
Note: L means low level, and H means high level.
17.3
Register Descriptions
Table 17.3 shows the list of registers. Table 17.4 shows the register states in each processing
mode.
Table 17.3 Register Configuration
Table 17.3 Register Configuration
Area 7
Address
Access Sync
Size
clock
Register Name
Abbreviation
R/W
P4 Address
Sleep control register
SLPCR
R/W
H'FFC8 0020 H'1FC8 0020 32
Pck
Standby control register 0 MSTPCR0
R/W
H'FFC8 0030 H'1FC8 0030 32
Pck
Standby control register 1 MSTPCR1
R/W
H'FFC8 0034 H'1FC8 0034 32
Pck
Standby display register
R
H'FFC8 0044 H'1FC8 0044 32
Pck
MSTPMR
Note: For details of MSTPCR0 and MSTPCR1, see figure 15.1.
Rev.1.00 Jan. 10, 2008 Page 783 of 1658
REJ09B0261-0100
17. Power-Down Mode
Table 17.4 Register States of CPG in Each Processing Mode
Register Name
Abbreviation
Standby control register 0*1 MSTPCR0
1
Standby control register 1* MSTPCR1
Standby display register
MSTPMR
Power-on Reset
Sleep/
Manual Reset Deep Sleep
By PRESET
Pin/WDT/H-UDI
By WDT
By SLEEP
Instruction
H'0000 0000
Retained
Retained
Retained
Retained
Retained
Retained
H'0000 0000
2
H'00x0 0000∗
Notes: 1. For details of MSTPCR0 and MSTPCR1, see figure 15.1.
2. The initial value after a power-on reset depends on the combination of mode pin states
(MODE11 and MODE12).
If a low level signal is input to the MODE12 pin, the initial value is H'0010 0000.
If a high level signal is input to the MODE12 pin and a low level signal is input to
MODE11, the initial value is H'0030 0000.
If a high level signal is input to the MODE12 and MODE11 pins, the initial value is
H'0020 0000.
Rev.1.00 Jan. 10, 2008 Page 784 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.3.1
Sleep Control Register (SLPCR)
SLPCR is a 32-bit readable/writable register that can specify transition to deep sleep mode.
SLPCR can be accessed only in longword.
This register is initialized by a power-on reset by the PRESET pin or power-on reset by WDT
overflow, or H-UDI reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DSLP
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 2
⎯
All 0
R
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
1
⎯
0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
0
DSLP
0
R/W
Deep Sleep
Enables transition to deep sleep mode by the SLEEP
instruction
0: Transition to sleep mode by the SLEEP instruction
1: Transition to deep sleep mode by the SLEEP
instruction
Rev.1.00 Jan. 10, 2008 Page 785 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.3.2
Standby Control Register 0 (MSTPCR0)
MSTPCR0 is a 32-bit readable/writable register that can specify whether each peripheral module
operates or is stopped. MSTPCR can be accessed only in longword.
This register is initialized by a power-on reset by the PRESET pin or power-on reset by WDT
overflow, or H-UDI reset.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
⎯
⎯
0
R/W
0
R/W
15
14
⎯
⎯
0
R/W
0
R/W
29
28
27
26
25
24
23
22
⎯
⎯
0
R/W
0
R/W
MSTP[29:24]
0
R/W
0
R/W
0
R/W
0
R/W
13
12
11
⎯
0
R/W
0
R/W
MSTP[13:12]
0
R/W
0
R/W
21
20
MSTP[21:20]
⎯
0
R/W
0
R/W
17
16
MSTP[17:16]
0
R/W
10
9
8
7
6
5
4
3
2
1
0
⎯
MSTP[9:8]
⎯
⎯
⎯
⎯
MSTP[3:2]
⎯
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31, 30
⎯
All 0
R/W
Reserved
0
R/W
18
⎯
0
R/W
0
R/W
0
R/W
19
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value
should always be 0.
29 to 24 MSTP[29:24]
All 0
R/W
Module Stop Bit [29:24]
Specify that the clock supply to the module of the
corresponding bit is stopped
[29]: SCIF channel 5, [28]: SCIF channel 4,
[27]: SCIF channel 3, [26]: SCIF channel 2,
[25]: SCIF channel 1, [24]: SCIF channel 0
0: The corresponding module operates
1: The clock to the corresponding module is
stopped
23, 22
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 786 of 1658
REJ09B0261-0100
17. Power-Down Mode
Bit
Bit Name
Initial
Value
R/W
Description
21, 20
MSTP[21:20]
All 0
R/W
Module Stop Bit [21:20]
Specify that the clock supply to the module of the
corresponding bit is stopped
[21]: SSI channel 1, [20]: SSI channel 0
0: The corresponding module operates
1: The clock to the corresponding module is
stopped
19, 18
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
17, 16
MSTP[17:16]
All 0
R/W
Module Stop Bit [17:16]
Specify that the clock supply to the module of the
corresponding bit is stopped
[17]: HAC channel 1, [16] HAC channel 0
0: The corresponding module operates
1: The clock to the corresponding module is
stopped
15, 14
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
13, 12
MSTP[13:12]
All 0
R/W
Module Stop Bit [13:12]
Specify that the clock supply to the module of the
corresponding bit is stopped
[13]: MMCIF, [12] FLCTL
0: The corresponding module operates
1: The clock to the corresponding module is
stopped
11, 10
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 787 of 1658
REJ09B0261-0100
17. Power-Down Mode
Bit
Bit Name
Initial
Value
R/W
Description
9, 8
MSTP[9:8]
All 0
R/W
Module Stop Bit [9:8]
Specify that the clock supply to the module of the
corresponding bit is stopped
[9]: TMU channels 3 to 5
[8]: TMU channels 2 to 0
0: The corresponding module operates
1: The clock to the corresponding module is
stopped
7 to 4
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
3, 2
MSTP[3:2]
All 0
R/W
Module Stop Bit [3:2]
Specify that the clock supply to the module of the
corresponding bit is stopped
[3]: SIOF, [2]: HSPI
0: The corresponding module operates
1: The clock to the corresponding module is
stopped
1, 0
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 788 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.3.3
Standby Control Register 1 (MSTPCR1)
MSTPCR1 is a 32-bit readable/writable register that each module of H-UDI, UBC, DMAC, and
GDTA operates or is stopped. MSTPCR1 can be accessed only in longword.
This register is initialized by a power-on reset by the PRESET pin or power-on reset by WDT
overflow, or H-UDI reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
MSTP119
⎯
MSTP117
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 20 ⎯
Initial
Value
R/W
Description
All 0
R/W
Reserved
MSTP[105:104]
0
R/W
0
R/W
3
2
1
0
⎯
⎯
⎯
MSTP100
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value
should always be 0.
19
MSTP119
0
R/W
Module Stop Bit 119
Specifies that the clock supply to the H-UDI module is
stopped
0: H-UDI operates
1: H-UDI stopped
18
⎯
0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
17
MSTP117
0
R/W
Module Stop Bit 117
Specifies that the clock supply to the UBC module is
stopped
0: UBC operates
1: UBC stopped
Rev.1.00 Jan. 10, 2008 Page 789 of 1658
REJ09B0261-0100
17. Power-Down Mode
Bit
Bit Name
Initial
Value
R/W
Description
16 to 6
⎯
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
5, 4
MSTP
[105:104]
All 0
R/W
Module Stop Bit [105:104]
Specifies that the clock supply to the DMAC channels
of the corresponding bit is stopped
MSTP105: DMAC channels 11 to 6,
MSTP104: DMAC channels 5 to 0
0: DMAC operates
1: DMAC stopped
⎯
3 to 1
All 0
R/W
Reserved
These bits are always read as 0. The write value
should always be 0.
0
MSTP100
0
R/W
Module Stop Bit 100
Specifies that the clock supply to the GDTA module is
stopped
To stop the clock, set this bit to 1 after confirming that
the operation of GDTA is completed.
0: GDTA operates
1: GDTA stopped∗
Note:
*
The GDTA should be placed in module standby state after confirming that the operation
of the GDTA is completed. For the procedure, see section 20.7.1, Regarding Module
Stoppage.
Rev.1.00 Jan. 10, 2008 Page 790 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.3.4
Standby Display Register (MSTPMR)
MSTPMR is a 32-bit readable register that indicates whether the PCIC/display unit
(DU)/DMAC/GDTA modules are in the module standby state. MSTPMR can be accessed only in
longword.
This register is initialized by a power-on reset by the PRESET pin, power-on reset by WDT
overflow, or H-UDI reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
MSTP
MPCI
MSTP
MDU
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
x
R
x
R
0
R
0
R
0
R
0
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 22 ⎯
Initial
Value
R/W
Description
All 0
R
Reserved
MSTPS MSTPS
105
104
0
R
0
R
3
2
1
0
⎯
⎯
⎯
MSTPS
100
0
R
0
R
0
R
0
R
These bits are always read as 0. The write value
should always be 0.
21
MSTPMPCI
x
R
Module Stop Display Bit PCIC
Indicates the state of clock supply to the PCIC module
When a high level signal is input to the MODE12 pin,
the clock supply to the PCIC is stopped
0: PCIC operates (MODE12 pin: Low level)
1: PCIC stopped (MODE12 pin: High level)
20
MSTPMDU
x
R
Module Stop Display Bit DU
Indicates the state of clock supply to the DU module.
When a low level signal is input to the MODE12 or
MODE11 pin, the clock supply to the DU is stopped.
0: DU operates (MODE[12:11] pin: All High level)
1: DU stopped (MODE[12:11] pin: Not all High level)
19 to 6
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 791 of 1658
REJ09B0261-0100
17. Power-Down Mode
Bit
Bit Name
5, 4
MSTPS105
MSTPS104
Initial
Value
R/W
Description
All 0
R
Module Stop Display Bit 105, 104
Indicates the state of clock supply to the DMAC
channels of the corresponding bit
MSTPS105: DMAC channels 11 to 6
MSTPS104: DMAC channels 5 to 0
0: The DMAC channels operate
1: The DMAC channels stopped
3 to 1
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
0
MSTP100
0
R
Module Stop Display Bit 100
Indicates the state of clock supply to the GDTA
module
0: GDTA operates
1: GDTA stopped
Rev.1.00 Jan. 10, 2008 Page 792 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.4
Sleep Mode
17.4.1
Transition to Sleep Mode
When the SLEEP instruction is executed, the state is changed from the program execution state to
sleep mode. Although the CPU is stopped after the instruction is executed, the contents of the
CPU register are retained.
On-chip modules other than the CPU continue to operate. The clock is output to the CLKOUT pin.
In sleep mode, a high level signal is output to the STATUS1 pin, and a low level signal is output
to the STATUS0 pin.
Complete the operation of DU before transition to sleep mode. Confirm that the operation of
GDTA is completed. The operation is not guaranteed if transition to sleep mode is performed
while the module is operating.
17.4.2
Releasing Sleep Mode
Sleep mode is released by interrupts (NMI, IRQ/IRL[7:0], and on-chip module) and reset.
In sleep mode, interrupts are accepted even if the BL bit in the SR register is 1. If needed, put
SPC, SSR, etc to stack before executing the SLEEP instruction.
(1)
Release by Interrupts
When the NMI, IRQ/IRL[7:0], and on-chip module interrupts are generated, sleep mode is
released and exception handling of interrupts are performed. The code corresponding to the
interrupt sources is set to the INTEVT register.
For details of the timing of the changes in the STATUS pin, see section 17.7.2, Releasing Sleep
Mode.
(2)
Release by a Reset
Sleep mode is released by a power-on reset by the PRESET pin, power-on reset by WDT
overflow, H-UDI reset, and manual reset. For details of the timing of the changes in the STATUS
pin, see section 16.5, Status Pin Change Timing during Reset.
Rev.1.00 Jan. 10, 2008 Page 793 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.5
Deep Sleep Mode
17.5.1
Transition to Deep Sleep Mode
If a SLEEP instruction is executed when the DSLP bit in SLPCR is set to 1, the chip switches
from the program execution state to deep sleep mode. The procedure for a transition to deep sleep
mode is as follows:
1. Make each modules stop by setting standby control registers MSTPCR0 and MSTPCR1 except
the H-UDI module, i.e. write H’3F33 330C to MSTPCR0 and write H’0002 0031 to MSTPCR1.
For the note of the transition to module standby mode, see section 17.6.1, Transition to Module
Standby Mode and each module sections.
2. Execute a SLEEP instruction when the DSLP bit in SLPCR.
After execution of the SLEEP instruction, the CPU halts but its register contents are retained. The
DU is stopped* as well as the modules that were stopped by the module standby function. Except
for the DMAC, peripheral modules continue to operate. The clock continues to be output to the
CKIO pin, but all bus access (including auto refresh) stops. When using memory that requires
refreshing, select self-refreshing mode prior to making the transition to deep sleep mode.
Note: * For the transition to deep sleep mode of the DU, PCIC, LBSC and DBSC, see notes of
the transition to deep sleep mode in each module sections.
In deep sleep mode, a high-level signal is output at the STATUS1 pin, and a low-level signal at
the STATUS0 pin.
When using the PCIC, it is prohibited to make a transition to deep sleep mode. If transition to deep
sleep mode, the operation of the PCIC is not guaranteed.
If making a transition to deep sleep mode while each modules are in operation, the results of those
operation cannot be guaranteed.
Rev.1.00 Jan. 10, 2008 Page 794 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.5.2
Releasing Deep Sleep Mode
Deep sleep mode is released by means of an interrupt (NMI, IRL, IRQ, GPIO, WDT interval
timer, or H-UDI) or a reset.
In deep sleep mode, an interrupt request is accepted even if the BL bit in SR is set to 1. The
SPC, SSR and other related contents should be saved before execute a SLEEP instruction if
necessary.
(1)
Release by Interrupt
When an NMI, IRL, IRQ, GPIO, or WDT interval timer interrupt is generated, deep sleep mode is
released and the interrupt exception handling is executed. The code corresponding to the interrupt
source is set in INTEVT. For details of the timing of the changes in the STATUS pin, that is
similar to sleep mode, see section 17.7.2, Releasing Sleep Mode.
(2)
Release by Reset
Deep sleep mode is released by means of a power-on via the PRESET pin or a WDT overflow, HUDI reset, or a manual reset by a WDT overflow. For details of the timing of the changes in the
STATUS pin, that is similar to sleep mode, see section 16.5, Status Pin Change Timing during
Reset.
Rev.1.00 Jan. 10, 2008 Page 795 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.6
Module Standby Functions
This LSI supports the module standby state, where the clock supplied to on-chip modules is
stopped.
17.6.1
Transition to Module Standby Mode
By setting the MSTP bits in MSPTCR, the clock supply can be stopped to the corresponding
module*.
In each module that is in the module standby state, the state right before transition to module
standby state is retained. After register setting, the state right before stop is retained. The state of
the external pin is retained. When the module is released from the module standby state, the
module resumes operation.
SSI, HSPI, HAC, and MMCIF are initialized by a manual reset even if they are in the module
standby state. Confirm that the operation of GDTA is completed before putting GDTA and
DMAC in the module standby state.
Note: * For details of the description of the individual MSTP bits in the standby control
registers, see section 17.3.2, Standby Control Register 0 (MSTPCR0) and 17.3.3,
Standby Control Register 1 (MSTPCR1).
The MSTP bits should be set to 1 while the module is in the idle state after completing
its operation and there is no possible activation sources from external pins or other
modules.
17.6.2
Releasing Module Standby Functions
The module standby functions are released by clearing the MSTP bits in MSTPCR0 to 0 or a
power-on reset.
Rev.1.00 Jan. 10, 2008 Page 796 of 1658
REJ09B0261-0100
17. Power-Down Mode
17.7
Timing of the Changes on the STATUS Pins
17.7.1
Reset
For details, see section 16.5, Status Pin Change Timing during Reset.
17.7.2
(1)
Releasing Sleep Mode
When Sleep Mode Is Released by an Interrupt
Figure 17.1 shows the timing of the changes in the STATUS pin.
Interrupt request
CLKOUT
IRQOUT
output
STATUS[1:0]
output
LL (Normal)
HL (Sleep)
LL (Normal)
Figure 17.1 Status Pins Output when an Interrupt Occurs in Sleep Mode
17.8
DDR-SDRAM Power Supply Backup
For details, see section 12.5.10, DDR2-SDRAM Power Supply Backup Function.
Rev.1.00 Jan. 10, 2008 Page 797 of 1658
REJ09B0261-0100
17. Power-Down Mode
Rev.1.00 Jan. 10, 2008 Page 798 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
Section 18 Timer Unit (TMU)
This LSI includes an on-chip 32-bit timer unit (TMU), which has six channels (channels 0 to 5).
18.1
Features
The TMU has the following features.
• Auto-reload type 32-bit down-counter provided for each channel
• Input capture function provided only for channel 2
• Selection of rising edge or falling edge as external clock input edge when external clock is
selected or input capture function is used: Channels 0 to 2
• 32-bit timer constant register for auto-reload use, readable/writable at any time, and 32-bit
down-counter provided for each channel
• Selection of six counter input clocks: Channels 0 to 2
External clock (TCLK) and five internal clocks (Pck/4, Pck/16, Pck/64, Pck/256, and
Pck/1024) obtained by dividing the peripheral clock (Pck is the peripheral clock).
• Selection of five counter input clocks: Channels 3 to 5
Five internal clocks (Pck/4, Pck/16, Pck/64, Pck/256, and Pck/1024) (Pck is the peripheral
clock).
• Two interrupt sources
One underflow source (each channel) and one input capture source (channel 2).
Rev.1.00 Jan. 10, 2008 Page 799 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
Figure 18.1 shows a block diagram of the TMU.
TSTR0
TCLK
Channel 0, 1
TCR
TCLK
controller
Clock
controller
TCOR
Interrupt
controller
TCNT
TUNI0
TUNI1
Channel 2
Bus interface
TCR
Clock
controller
TCOR
Interrupt
controller
TCNT
TUNI2
ICPI2
TCPR2
TSTR1
Prescaler
Channel 3, 4, 5
TCR
Clock
controller
Pck/4
Pck/16
Pck/64
To each
channel
TCOR
Peripheral
bus
TCNT
Interrupt
controller
Legend:
TCNT:
TCOR:
TCPR2:
TCR:
TSTR0, TSTR1:
Timer counter
Timer constant register
Input capture register 2 (channel 2 only)
Timer control register
Timer start register
Figure 18.1 Block Diagram of TMU
Rev.1.00 Jan. 10, 2008 Page 800 of 1658
REJ09B0261-0100
TUNI3
TUNI4
TUNI5
18. Timer Unit (TMU)
18.2
Input/Output Pins
Table 18.1 shows the TMU pin configuration.
Table 18.1 Pin Configuration
Pin Name
Abbrev.
I/O
Description
Clock input
TCLK
Input
External clock input pin for channels 0, 1 and 2
/input capture control input pin for channel 2
Rev.1.00 Jan. 10, 2008 Page 801 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.3
Register Descriptions
Tables 18.2 and 18.3 show the TMU register configuration.
Table 18.2 Register Configuration (1)
Register Name
Abbrev. R/W
P4 Address
Common
to 0, 1, 2
Timer start register 0
TSTR0
R/W
H'FFD8 0004 H'1FD8 0004
8
Pck
0
Timer constant register 0
TCOR0
R/W
H'FFD8 0008 H'1FD8 0008
32
Pck
1
2
Area 7 Address Size
Sync
Clock
Channel
Timer counter 0
TCNT0
R/W
H'FFD8 000C H'1FD8 000C
32
Pck
Timer control register 0
TCR0
R/W
H'FFD8 0010 H'1FD8 0010
16
Pck
Timer constant register 1
TCOR1
R/W
H'FFD8 0014 H'1FD8 0014
32
Pck
Timer counter 1
TCNT1
R/W
H'FFD8 0018 H'1FD8 0018
32
Pck
Timer control register 1
TCR1
R/W
H'FFD8 001C H'1FD8 001C
16
Pck
Timer constant register 2
TCOR2
R/W
H'FFD8 0020 H'1FD8 0020
32
Pck
Timer counter 2
TCNT2
R/W
H'FFD8 0024 H'1FD8 0024
32
Pck
Timer control register 2
TCR2
R/W
H'FFD8 0028 H'1FD8 0028
16
Pck
Input capture register 2
TCPR2
R
H'FFD8 002C H'1FD8 002C
32
Pck
Common
to 3, 4, 5
Timer start register 1
TSTR1
R/W
H'FFDC 0004 H'1FDC 0004
8
Pck
3
Timer constant register 3
TCOR3
R/W
H'FFDC 0008 H'1FDC 0008
32
Pck
Timer counter 3
TCNT3
R/W
H'FFDC 000C H'1FDC 000C
32
Pck
Timer control register 3
TCR3
R/W
H'FFDC 0010 H'1FDC 0010
16
Pck
Timer constant register 4
TCOR4
R/W
H'FFDC 0014 H'1FDC 0014
32
Pck
4
5
Timer counter 4
TCNT4
R/W
H'FFDC 0018 H'1FDC 0018
32
Pck
Timer control register 4
TCR4
R/W
H'FFDC 001C H'1FDC 001C
16
Pck
Timer constant register 5
TCOR5
R/W
H'FFDC 0020 H'1FDC 0020
32
Pck
Timer counter 5
TCNT5
R/W
H'FFDC 0024 H'1FDC 0024
32
Pck
Timer control register 5
TCR5
R/W
H'FFDC 0028 H'1FDC 0028
16
Pck
Rev.1.00 Jan. 10, 2008 Page 802 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
Table 18.3 Register Configuration (2)
Channel
Register Name
Abbrev.
Power-on
Reset by
PRESET Pin/
WDT/H-UDI
Common
to 0, 1, 2
Timer start register 0
TSTR0
H'00
H'00
Retained
Retained
0
Timer constant register 0
TCOR0
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 0
TCNT0
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 0
TCR0
H'0000
H'0000
Retained
Retained
Timer constant register 1
TCOR1
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 1
TCNT1
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 1
TCR1
H'0000
H'0000
Retained
Retained
Timer constant register 2
TCOR2
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 2
TCNT2
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 2
TCR2
H'0000
H'0000
Retained
Retained
Input capture register 2
TCPR2
Retained
Retained
Retained
Retained
Common
to 3, 4, 5
Timer start register 1
TSTR1
H'00
H'00
Retained
Retained
3
Timer constant register3
TCOR3
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 3
TCNT3
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
1
2
4
5
Manual Reset
by WDT/
Sleep by
Multiple
SLEEP
Module
Instruction Standby
Exceptions
Timer control register 3
TCR3
H'0000
H'0000
Retained
Retained
Timer constant register 4
TCOR4
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 4
TCNT4
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 4
TCR4
H'0000
H'0000
Retained
Retained
Timer constant register 5
TCOR5
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 5
TCNT5
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 5
TCR5
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 803 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.3.1
Timer Start Registers (TSTRn) (n = 0, 1)
The TSTR registers are 8-bit readable/writable registers that specifies whether TCNT of the
corresponding channel is operated or stopped.
• TSTR0
BIt:
Initial value:
R/W:
7
6
5
4
3
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
7 to 3
—
All 0
R
2
1
0
STR2 STR1 STR0
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
2
STR2
0
R/W
Counter Start 2
Specifies whether TCNT2 is operated or stopped.
0: TCNT2 count operation is stopped
1: TCNT2 performs count operation
1
STR1
0
R/W
Counter Start 1
Specifies whether TCNT1 is operated or stopped.
0: TCNT1 count operation is stopped
1: TCNT1 performs count operation
0
STR0
0
R/W
Counter Start 0
Specifies whether TCNT0 is operated or stopped.
0: TCNT0 count operation is stopped
1: TCNT0 performs count operation
Rev.1.00 Jan. 10, 2008 Page 804 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
• TSTR1
BIt:
Initial value:
R/W:
7
6
5
4
3
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
7 to 3
—
All 0
R
2
1
0
STR5 STR4 STR3
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
2
STR5
0
R/W
Counter Start 5
Specifies whether TCNT5 is operated or stopped.
0: TCNT5 count operation is stopped
1: TCNT5 performs count operation
1
STR4
0
R/W
Counter Start 4
Specifies whether TCNT4 is operated or stopped.
0: TCNT4 count operation is stopped
1: TCNT4 performs count operation
0
STR3
0
R/W
Counter Start 3
Specifies whether TCNT3 is operated or stopped.
0: TCNT3 count operation is stopped
1: TCNT3 performs count operation
Rev.1.00 Jan. 10, 2008 Page 805 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.3.2
Timer Constant Registers (TCORn) (n = 0 to 5)
The TCOR registers are 32-bit readable/writable registers. When a TCNT counter underflows
while counting down, the TCOR value is set in that TCNT, which continues counting down from
the set value.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
18.3.3
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Timer Counters (TCNTn) (n = 0 to 5)
The TCNT registers are 32-bit readable/writable registers. Each TCNT counts down on the input
clock selected by the TPSC2 to TPSC0 bits in TCR.
When a TCNT counter underflows while counting down, the UNF flag is set in TCR of the
corresponding channel. At the same time, the TCOR value is set in TCNT, and the count-down
operation continues from the set value.
BIt:
Initial value:
R/W:
BIt:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Rev.1.00 Jan. 10, 2008 Page 806 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.3.4
Timer Control Registers (TCRn) (n = 0 to 5)
The TCR registers are 16-bit readable/writable registers. Each TCR selects the count clock,
specifies the edge when an external clock is selected, and controls interrupt generation when the
flag indicating TCNT underflow is set to 1. TCR2 is also used for input capture control and
control of interrupt generation in the event of input capture.
• TCR0, TCR1, TCR3, TCR4 and TCR5
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
—
—
—
—
—
—
—
UNF
—
—
UNIE CKEG1 CKEG0 TPSC2 TPSC1 TPSC0
5
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
ICPF UNF ICPE1 ICPE0 UNIE CKEG1 CKEG0 TPSC2 TPSC1 TPSC0
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
• TCR2
BIt:
Initial value:
R/W:
Bit
Bit Name
15 to 10 —
Initial
Value
All 0
R/W
R
9
ICPF*1
0
R/W
8
UNF
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
Input Capture Interrupt Flag
Status flag, provided in channel 2 only, which indicates
the occurrence of input capture.
0: Input capture has not occurred
[Clearing condition]
When 0 is written to ICPF
1: Input capture has occurred
[Setting condition]
2
When input capture occurs*
Underflow Flag
Status flag that indicates the occurrence of TCNT
underflow.
0: TCNT has not underflowed
[Clearing condition]
When 0 is written to UNF
1: TCNT has underflowed
[Setting condition]
2
When TCNT underflows*
Rev.1.00 Jan. 10, 2008 Page 807 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
Bit
7
6
Initial
Value
R/W
Description
1
0
R/W
Input Capture Control
1
0
R/W
These bits, provided in channel 2 only, specify whether
the input capture function is used, and control enabling
or disabling of interrupt generation when the function is
used.
Bit Name
ICPE1*
ICPE0*
The CKEG bits specify whether the rising edge or falling
edge of the TCLK pin is used to set the TCNT2 value in
TCPR2.
The TCNT2 value is set in TCPR2 only when the ICPF
bit in TCR2 is 0. When the ICPF bit is 1, TCPR2 is not
set in the event of input capture.
00: Input capture function is not used.
01: Reserved (setting prohibited)
10: Input capture function is used, but interrupt due to
input capture (TICPI2) is not enabled.
11: Input capture function is used, and interrupt due to
input capture (TICPI2) is enabled.
5
UNIE
0
R/W
Underflow Interrupt Control
Controls enabling or disabling of interrupt generation
when the UNF status flag is set to 1, indicating TCNT
underflow.
0: Interrupt due to underflow (TUNI) is disabled
1: Interrupt due to underflow (TUNI) is enabled
4
CKEG1
0
R/W
Clock Edge 1 and 0
3
CKEG0
0
R/W
These bits select the external clock input edge when an
external clock that is input from the TCLK pin is selected
or the input capture function is used.
00: Count/input capture register set on rising edge
01: Count/input capture register set on falling edge
1X: Count/input capture register set on both rising and
falling edges
Rev.1.00 Jan. 10, 2008 Page 808 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
Bit
Bit Name
Initial
Value
R/W
Description
2
TPSC2
0
R/W
Timer Prescaler 2 to 0
1
TPSC1
0
R/W
These bits select the TCNT count clock.
0
TPSC0
0
R/W
000: Counts on Pck/4
001: Counts on Pck/16
010: Counts on Pck/64
011: Counts on Pck/256
100: Counts on Pck/1024
101, 110: Setting prohibited
111: Counts on external clock (TCLK) *3
Legend:
X: Don't care
Notes: 1. Reserved bit in channels 0 to 5 (initial value is 0, and can only be read).
2. Writing 1 does not change the value; the previous value is retained.
3. Do not set in channels 3, 4, and 5.
18.3.5
Input Capture Register 2 (TCPR2)
TCPR2 is a 32-bit read-only register for use with the input capture function, provided only in
channel 2. The input capture function is controlled by means of the ICPE and CKEG bits in TCR2.
When input capture occurs, the TCNT2 value is copied into TCPR2. The value is set in TCPR2
only when the ICPF bit in TCR2 is 0.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
R/W:
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
Rev.1.00 Jan. 10, 2008 Page 809 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.4
Operation
Each channel has a 32-bit timer counter (TCNT) and a 32-bit timer constant register (TCOR).
Each TCNT performs count-down operation. The channels have an auto-reload function that
allows cyclic count operations, and can also perform external event counting. Channel 2 also has
an input capture function.
18.4.1
Counter Operation
When one of bits STR0 to STR2 in TSTR is set to 1, the TCNT for the corresponding channel
starts counting. When TCNT underflows, the UNF flag in TCR is set. If the UNIE bit in TCR is
set to 1 at this time, an interrupt request is sent to the CPU. At the same time, the value is copied
from TCOR into TCNT, and the count-down continues (auto-reload function).
(1)
Example of Counter Operation Setting Procedure
Figure 18.2 shows an example of the counter operation setting procedure.
Counter operation setup
Select counter clock
(1)
Set up underflow
interrupt generation
(2)
(1) Select the counter clock with the TPSC2 to TPSC0 bits
in TCR. When the external clock (TCLK) is selected,
specify the external clock edge with the CKEG1 and
CKEG0 bits in TCR.
(2) Specify whether an interrupt is generated on TCNT
underflow with the UNIE bit in TCR.
When using
input capture
function
Set up input capture
interrupt generation
(3)
(3) When the input capture function is used, set the ICPE
bits in TCR, which also specify the use of the interrupt
function.
(4) Set a value in TCOR.
Note:
(5) Set the initial value in TCNT.
Set timer constant
register
(4)
Load the counter with
the initial value
(5)
Start counting
(6)
(6) Set the STR bit in TSTR to 1 to start counting.
When an interrupt is generated, clear the source flag in the interrupt handler processing.
If the interrupt is enabled without clearing the flag, another interrupt will be generated.
Figure 18.2 Example of Count Operation Setting Procedure
Rev.1.00 Jan. 10, 2008 Page 810 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
(2)
Auto-Reload Count Operation
Figure 18.3 shows the TCNT auto-reload operation.
TCNT value
TCOR value is set in TCNT
on underflow
TCOR
H'0000 0000
Time
STR0 to STR5
UNF
Figure 18.3 TCNT Auto-Reload Operation
Rev.1.00 Jan. 10, 2008 Page 811 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
(3)
TCNT Count Timing
• Operating on internal clock
Any of five internal count clocks (Pck/4, Pck/16, Pck/64, Pck/256, or Pck/1024) scaled from
the peripheral clock can be selected as the count clock by means of the TPSC2 to TPSC0 bits
in TCR.
Figure 18.4 shows the timing in this case.
Pck
Internal clock
TCNT
N+1
N
N–1
Figure 18.4 Count Timing when Operating on Internal Clock
• Operating on external clock
In channels 0, 1, and 2, the external clock input pin (TCLK) input can be selected as the timer
clock by means of the TPSC2 to TPSC0 bits in TCR. The detected edge (rising, falling, or both
edges) can be selected with the CKEG1 and CKEG0 bits in TCR.
Figure 18.5 shows the timing for both-edge detection.
Pck
External clock
input pin (TCLK)
TCNT
N+1
N
N–1
Figure 18.5 Count Timing when Operating on External Clock Input
Rev.1.00 Jan. 10, 2008 Page 812 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.4.2
Input Capture Function
Channel 2 has an input capture function.
The procedure for using the input capture function is as follows:
1. Use bits TPSC2 to TPSC0 in TCR2 to set an internal clock as the timer operating clock.
2. Use bits IPCE1 and IPCE0 in TCR2 to specify use of the input capture function, and whether
interrupts are to be generated when this function is used.
3. Use bits CKEG1 and CKEG0 in TCR2 to specify whether the rising or falling edge of the
TCLK pin is to be used to set the TCNT value in TCPR2.
When input capture occurs, the TCNT2 value is set in TCPR2 only when the ICPF bit in TCR2 is
0. A new DMAC transfer request is not generated until processing of the previous request is
finished.
Figure 18.7 shows the operation timing when the input capture function is used (with TCLK rising
edge detection).
TCNT2 value
TCPR2 value is set in TCNT2
on underflow
TCOR2
H'0000 0000
Time
TCLK
TCPR2
TCNT2 value is set
TICPI2
Figure 18.6 Operation Timing when Using Input Capture Function
Rev.1.00 Jan. 10, 2008 Page 813 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.5
Interrupts
There are seven TMU interrupt sources: underflow interrupts and the input capture interrupt when
the input capture function is used. Underflow interrupts are generated on each of the channels, and
input capture interrupts on channel 2 only.
An underflow interrupt request is generated (for each channel) when both the UNF bit and the
interrupt enable bit (UNIE) for that channel are set to 1.
When the input capture function is used and an input capture request is generated, an interrupt is
requested if the ICPF bit in TCR2 is 1 and the input capture control bits (ICPE1 and ICPE0) in
TCR2 are both set to 11.
The TMU interrupt sources are summarized in table 18.4.
Table 18.4 TMU Interrupt Sources
Channel
Interrupt Source
Description
0
TUNI0
Underflow interrupt 0
1
TUNI1
Underflow interrupt 1
2
TUNI2
Underflow interrupt 2
TICPI2
Input capture interrupt 2
3
TUNI3
Underflow interrupt 3
4
TUNI4
Underflow interrupt 4
5
TUNI5
Underflow interrupt 5
Rev.1.00 Jan. 10, 2008 Page 814 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
18.6
Usage Notes
18.6.1
Register Writes
When writing to a TMU register, timer count operation must be stopped by clearing the start bit
(STR5 to STR0) for the relevant channel in TSTR.
Note that TSTR can be written to, and the UNF and ICPF bits in TCR can be cleared while the
count is in progress. When the flags (UNF and ICPF) are cleared while the count is in progress,
make sure not to change the values of bits other than those being cleared.
18.6.2
Reading from TCNT
Reading from TCNT is performed synchronously with the timer count operation. Note that when
the timer count operation is performed simultaneously with reading from a register, the
synchronous processing causes the TCNT value before the count-down operation to be read as the
TCNT value.
18.6.3
External Clock Frequency
Ensure that the external clock (TCLK) input frequency for channels 0, 1 and 2 does not exceed
Pck/4.
Rev.1.00 Jan. 10, 2008 Page 815 of 1658
REJ09B0261-0100
18. Timer Unit (TMU)
Rev.1.00 Jan. 10, 2008 Page 816 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Section 19 Display Unit (DU)
19.1
Features
The display unit (DU) has the following features.
Plane: The display surfaces normally called the foreground, background, and cursor, are called
planes in this section. Parameters for each plane can be set independently through the settings of
an internal register. The internal register settings can also be used to set the display priority order.
Combined display of up to six planes is possible (however, the plane size is 480 × 234), when the
plane size is WVGA (854 × 480), up to four planes can be combined, when the plane size is
SVGA: 800 × 600, up to three planes can be combined.
•
•
•
•
•
•
•
•
Display size
Display position
Display data format (8 bits/pixel, 16 bits/pixel, ARGB (1555), YC)
Plane superpositioning
Scrolling
Wrap-around
Blinking
Buffer control
The internal register settings can be used to select two different control modes.
• Manual display change mode (double buffer)
• Auto display change mode (double buffer)
Synchronization Method: Internal register settings can be used to select any of three
synchronization modes for the display output timing.
• Master mode (internal sync mode)
• TV sync mode (external sync mode)
• Sync method switching mode
Rev.1.00 Jan. 10, 2008 Page 817 of 1658
REJ09B0261-0100
19. Display Unit (DU)
CRT Scan Mode (CRT Scan Method): Internal register settings can be used to select from
among three scan modes.
• Non-interlaced mode
• Interlaced sync mode
• Interlaced sync & video mode
YC→RGB Colorspace Conversion Functions: Image data stored in YC format can be converted
into the RGB colorspace and displayed in a window.
(However, when multiple planes are specified for YC → RGB conversion, the YC → RGB
conversion can be performed only for pixels in the uppermost plane.)
Color Palette: Four internal color palette planes are provided, capable of simultaneously
displaying 256 colors out of a possible 260,000 colors. When 8 bits/pixel data is selected in the
plane display format, one among the four planes can be selected.
Eight-bit blend ratios are provided for every 256 colors.
Register Access Control: Internal control registers are provided, and register access is possible
via the peripheral bus interface. The access size is fixed at 32 bits.
Rev.1.00 Jan. 10, 2008 Page 818 of 1658
REJ09B0261-0100
SHwy clock area
SHck
1 pixel division
Transparent
color
determination
1 pixel division
Transparent
color
determination
1 pixel division
Transparent
color
determination
Buffer-4
(128B x 3)
Buffer-5
(128B x 3)
SHwy interface
Buffer-6
(128B x 3)
Color palette
contention
determination
Display data format selection
Display timing generation
YC to RGB
conversion
Color palette 4
(26b x 256w)
Color palette 3
(26b x 256w)
Color palette 2
(26b x 256w)
Color palette 1
(26b x 256w)
16 bit/pixel
(no conversion)
Priority contention
determination
Dot clock generation
(frequency division circuit)
Dot clock area
DR5 to DR0
DG5 to DG0
DB5 to DB0
128-bit bus
1 pixel division
Transparent
color
determination
Buffer-3
(128B x 3)
1 pixel division
Transparent
color
determination
Buffer-2
(128B x 3)
DUck
1 pixel division
Transparent
color
determination
Peripheral
bus
Peripheral bus interface
irq
Buffer-1
(128B x 3)
Peripheral clock area
DCLKIN DCLKOUT
64-bit bus
DU clock area
19. Display Unit (DU)
Figure 19.1 shows a block diagram of the display unit (DU).
HSYNC
VSYNC
ODDF
DISP
CDE
Pin control (output timing adjustment)
Superposition (α blending, EOR operation)
YC conversion
contention
determination
Pck
Plane rearrangement by priority
Endian conversion
SHwy packet router
Legend:
B: byte
b: bit
w: word
Figure 19.1 Block Diagram of the Display Unit (DU)
Rev.1.00 Jan. 10, 2008 Page 819 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.2
Input/Output Pins
Table 19.1 shows the pin configuration of the display unit (DU).
Table 19.1 Pin Configuration of the Display Unit (DU)
Pin Name
Number I/O
Function
Signal Name Used
in This Section
DCLKIN
1
I/O
Input dot clock
DCLKIN
DCLKOUT
1
Output Output dot clock
DCLKOUT
HSYNC
1
I/O
Composite synchronous output signal
(Initial value)
CSYNC
Horizontal synchronous output/
External horizontal synchronous input
HSYNC (output)/
EXHSYNC (input)
VSYNC
1
I/O
Vertical synchronous output/
VSYNC (output)/
External vertical synchronous input (Initial EXVSYNC (input)
value)
Composite synchronous output signal
ODDF
DISP
1
1
I/O
CSYNC
Odd/even field (Initial value)
ODDF
CLAMP output signal
CLAMP
Output Display interval
DISP
Composite synchronous output signal
CSYNC
DE output signal
DE
CDE
1
Output Color detection
CDE
DR0
1
Output Digital red 0
Digital RGB
DR1
1
Output Digital red 1
DR2
1
Output Digital red 2
DR3
1
Output Digital red 3
DR4
1
Output Digital red 4
DR5
1
Output Digital red 5
DG0
1
Output Digital green 0
DG1
1
Output Digital green 1
DG2
1
Output Digital green 2
DG3
1
Output Digital green 3
DG4
1
Output Digital green 4
Rev.1.00 Jan. 10, 2008 Page 820 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Pin Name
Number I/O
DG5
1
Output Digital green 5
DB0
1
Output Digital blue 0
DB1
1
Output Digital blue 1
DB2
1
Output Digital blue 2
DB3
1
Output Digital blue 3
DB4
1
Output Digital blue 4
DB5
1
Output Digital blue 5
Signal Name Used
in This Section
Function
Note: In this section, unless otherwise noted, "dot clock" refers to the output dot clock.
19.3
Register Descriptions
Register update methods include external update and internal update.
(1)
External Update
An "external update" is an update which reflects the address-mapped register settings made by the
CPU after the end of CPU access. Registers related to display control (for example, the display
system control register) and the settings of which are updated through external updates can be
overwritten during the vertical blanking interval without display flicker by using the VBK flag and
FRM flag in the display status register (DSSR) indicating the start position of the vertical blanking
interval.
(2)
Internal Update
An "internal update" is an update which reflects the address-mapped register settings with the
internal update timing of the display unit (DU). Hence in the case of a register with an internal
update function, even when the CPU overwrites address-mapped registers related to display
operation without being aware of the display timing, display flicker can be prevented.
An internal update is performed during the interval in which the DRES bit in the display system
control register (DSYSR) is 1 and at the beginning of each frame. The internal update performed
at the beginning of each frame can be disabled using the IUPD bit in DSYSR.
Internal updates are performed on the following bits by setting to 1 the DRES bit in DSYSR:
Rev.1.00 Jan. 10, 2008 Page 821 of 1658
REJ09B0261-0100
19. Display Unit (DU)
• Display mode register (DSMR)
⎯ VSPM bit (VSYNC pin mode)
⎯ ODPM bit (ODPM pin mode)
⎯ ODDF bit (ODDF pin mode)
⎯ DIPM bit (DISP pin mode)
⎯ CSPM bit (HSYNC pin mode)
⎯ DIL bit (polarity reversal bit of the DISP pin)
⎯ VSL bit (polarity reversal bit of the VSYNC pin)
⎯ HSL bit (polarity reversal bit of the HSYNC pin)
• Output signal timing adjustment register (OTAR)
⎯ All bits
The registers for the X and Y start positions for plane n in the interlaced sync & video mode
(PnSPXR, PnSPYR) are also internally updated at the beginning of a field.
Internal updates at the beginning of each frame are performed at the falling edge of VSYNC
output when the sync method of DSYSR is master mode (TVM = 00), or at the falling edge of
EXVSYNC detected in TV sync mode (TVM = 10). In sync switching mode (TVM = 11), internal
updates are not performed, and data is retained.
The address-mapped registers with an internal update function are shown in table 19.2. The initial
settings for these registers should be made during the interval in which the DRES bit in DSYSR is
1. For other important information on the timing of register updates, please refer to the
explanations of each register.
Rev.1.00 Jan. 10, 2008 Page 822 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.2 Register Configuration
Register Name
Abbr.
R/W
P4
Address
Area 7
Address
Size
Synchronous
Clock
Display control registers
Display system control register
DSYSR
R/W
H'FFF80000
H'1FF80000
32
Pck
Display mode register
DSMR
R/W
H'FFF80004
H'1FF80004
32
Pck
Display status register
DSSR
R
H'FFF80008
H'1FF80008
32
Pck
Display status register clear
register
DSRCR
W
H'FFF8000C
H'1FF8000C
32
Pck
Display interrupt enable register
DIER
R/W
H'FFF80010
H'1FF80010
32
Pck
Color palette control register
CPCR
R/W
H'FFF80014
H'1FF80014
32
Pck
Display plane priority order
register
DPPR
R/W
H'FFF80018
H'1FF80018
32
Pck
Display extension function
enable register
DEFR
R/W
H'FFF80020
H'1FF80020
32
Pck
Display timing generation registers
Horizontal display start position
register
HDSR
R/W
H'FFF80040
H'1FF80040
32
Pck
Horizontal display end position
register
HDER
R/W
H'FFF80044
H'1FF80044
32
Pck
Vertical display start position
register
VDSR
R/W
H'FFF80048
H'1FF80048
32
Pck
Vertical display end position
register
VDER
R/W
H'FFF8004C
H'1FF8004C
32
Pck
Horizontal scan period register
HCR
R/W
H'FFF80050
H'1FF80050
32
Pck
Horizontal synchronous pulse
width register
HSWR
R/W
H'FFF80054
H'1FF80054
32
Pck
Vertical scan period register
VCR
R/W
H'FFF80058
H'1FF80058
32
Pck
Vertical synchronous position
register
VSPR
R/W
H'FFF8005C
H'1FF8005C
32
Pck
Equivalent pulse width register
EQWR
R/W
H'FFF80060
H'1FF80060
32
Pck
Separation width register
SPWR
R/W
H'FFF80064
H'1FF80064
32
Pck
CLAMP signal start position
register
CLAMPSR
R/W
H'FFF80070
H'1FF80070
32
Pck
CLAMP signal width register
CLAMPWR
R/W
H'FFF80074
H'1FF80074
32
Pck
Rev.1.00 Jan. 10, 2008 Page 823 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
R/W
P4
Address
Area 7
Address
Size
Synchronous
Clock
DE signal start position register
DESR
R/W
H'FFF80078
H'1FF80078
32
Pck
DE signal width register
DEWR
R/W
H'FFF8007C
H'1FF8007C
32
Pck
Display attribute registers
Color palette 1 transparent color
register
CP1TR
R/W
H'FFF80080
H'1FF80080
32
Pck
Color palette 2 transparent color
register
CP2TR
R/W
H'FFF80084
H'1FF80084
32
Pck
Color palette 3 transparent color
register
CP3TR
R/W
H'FFF80088
H'1FF80088
32
Pck
Color palette 4 transparent color
register
CP4TR
R/W
H'FFF8008C
H'1FF8008C
32
Pck
Display-off output register
DOOR
R/W
H'FFF80090
H'1FF80090
32
Pck
Color detection register
CDER
R/W
H'FFF80094
H'1FF80094
32
Pck
Base color register
BPOR
R/W
H'FFF80098
H'1FF80098
32
Pck
Raster interrupt offset register
RINTOFSR
R/W
H'FFF8009C
H'1FF8009C
32
Pck
Display plane registers
Plane 1 mode register
P1MR
R/W
H'FFF80100
H'1FF80100
32
Pck
Plane 1 memory width register
P1MWR
R/W
H'FFF80104
H'1FF80104
32
Pck
Plane 1 blend ratio register
P1ALPHAR
R/W
H'FFF80108
H'1FF80108
32
Pck
Plane 1 display size X register
P1DSXR
R/W
H'FFF80110
H'1FF80110
32
Pck
Plane 1 display size Y register
P1DSYR
R/W
H'FFF80114
H'1FF80114
32
Pck
Plane 1 display position X
register
P1DPXR
R/W
H'FFF80118
H'1FF80118
32
Pck
Plane 1 display position Y
register
P1DPYR
R/W
H'FFF8011C
H'1FF8011C
32
Pck
Plane 1 display area start
address 0 register
P1DSA0R
R/W
H'FFF80120
H'1FF80120
32
Pck
Plane 1 display area start
address 1 register
P1DSA1R
R/W
H'FFF80124
H'1FF80124
32
Pck
Plane 1 start position X register
P1SPXR
R/W
H'FFF80130
H'1FF80130
32
Pck
Plane 1 start position Y register
P1SPYR
R/W
H'FFF80134
H'1FF80134
32
Pck
Plane 1 wrap-around start
position register
P1WASPR
R/W
H'FFF80138
H'1FF80138
32
Pck
Rev.1.00 Jan. 10, 2008 Page 824 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
R/W
P4
Address
Area 7
Address
Size
Synchronous
Clock
Plane 1 wrap-around memory
width register
P1WAMWR
R/W
H'FFF8013C
H'1FF8013C
32
Pck
Plane 1 blinking period register
P1BTR
R/W
H'FFF80140
H'1FF80140
32
Pck
Plane 1 transparent color 1
register
P1TC1R
R/W
H'FFF80144
H'1FF80144
32
Pck
Plane 1 transparent color 2
register
P1TC2R
R/W
H'FFF80148
H'1FF80148
32
Pck
Plane 1 memory length register
P1MLR
R/W
H'FFF80150
H'1FF80150
32
Pck
Plane 2 mode register
P2MR
R/W
H'FFF80200
H'1FF80200
32
Pck
Plane 2 memory width register
P2MWR
R/W
H'FFF80204
H'1FF80204
32
Pck
Plane 2 blend ratio register
P2ALPHAR
R/W
H'FFF80208
H'1FF80208
32
Pck
Plane 2 display size X register
P2DSXR
R/W
H'FFF80210
H'1FF80210
32
Pck
Plane 2 display size Y register
P2DSYR
R/W
H'FFF80214
H'1FF80214
32
Pck
Plane 2 display position X
register
P2DPXR
R/W
H'FFF80218
H'1FF80218
32
Pck
Plane 2 display position Y
register
P2DPYR
R/W
H'FFF8021C
H'1FF8021C
32
Pck
Plane 2 display area start
address 0 register
P2DSA0R
R/W
H'FFF80220
H'1FF80220
32
Pck
Plane 2 display area start
address 1 register
P2DSA1R
R/W
H'FFF80224
H'1FF80224
32
Pck
Plane 2 start position X register
P2SPXR
R/W
H'FFF80230
H'1FF80230
32
Pck
Plane 2 start position Y register
P2SPYR
R/W
H'FFF80234
H'1FF80234
32
Pck
Plane 2 wrap-around start
position register
P2WASPR
R/W
H'FFF80238
H'1FF80238
32
Pck
Plane 2 wrap-around memory
width register
P2WAMWR
R/W
H'FFF8023C
H'1FF8023C
32
Pck
Plane 2 blinking period register
P2BTR
R/W
H'FFF80240
H'1FF80240
32
Pck
Plane 2 transparent color 1
register
P2TC1R
R/W
H'FFF80244
H'1FF80244
32
Pck
Plane 2 transparent color 2
register
P2TC2R
R/W
H'FFF80248
H'1FF80248
32
Pck
Plane 2 memory length register
P2MLR
R/W
H'FFF80250
H'1FF80250
32
Pck
Plane 3 mode register
P3MR
R/W
H'FFF80300
H'1FF80300
32
Pck
Rev.1.00 Jan. 10, 2008 Page 825 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
R/W
P4
Address
Area 7
Address
Size
Synchronous
Clock
Plane 3 memory width register
P3MWR
R/W
H'FFF80304
H'1FF80304
32
Pck
Plane 3 blend ratio register
P3ALPHAR
R/W
H'FFF80308
H'1FF80308
32
Pck
Plane 3 display size X register
P3DSXR
R/W
H'FFF80310
H'1FF80310
32
Pck
Plane 3 display size Y register
P3DSYR
R/W
H'FFF80314
H'1FF80314
32
Pck
Plane 3 display position X
register
P3DPXR
R/W
H'FFF80318
H'1FF80318
32
Pck
Plane 3 display position Y
register
P3DPYR
R/W
H'FFF8031C
H'1FF8031C
32
Pck
Plane 3 display area start
address 0 register
P3DSA0R
R/W
H'FFF80320
H'1FF80320
32
Pck
Plane 3 display area start
address 1 register
P3DSA1R
R/W
H'FFF80324
H'1FF80324
32
Pck
Plane 3 start position X register
P3SPXR
R/W
H'FFF80330
H'1FF80330
32
Pck
Plane 3 start position Y register
P3SPYR
R/W
H'FFF80334
H'1FF80334
32
Pck
Plane 3 wrap-around start
position register
P3WASPR
R/W
H'FFF80338
H'1FF80338
32
Pck
Plane 3 wrap-around memory
width register
P3WAMWR
R/W
H'FFF8033C
H'1FF8033C
32
Pck
Plane 3 blinking period register
P3BTR
R/W
H'FFF80340
H'1FF80340
32
Pck
Plane 3 transparent color 1
register
P3TC1R
R/W
H'FFF80344
H'1FF80344
32
Pck
Plane 3 transparent color 2
register
P3TC2R
R/W
H'FFF80348
H'1FF80348
32
Pck
Plane 3 memory length register
P3MLR
R/W
H'FFF80350
H'1FF80350
32
Pck
Plane 4 mode register
P4MR
R/W
H'FFF80400
H'1FF80400
32
Pck
Plane 4 memory width register
P4MWR
R/W
H'FFF80404
H'1FF80404
32
Pck
Plane 4 blend ratio register
P4ALPHAR
R/W
H'FFF80408
H'1FF80408
32
Pck
Plane 4 display size X register
P4DSXR
R/W
H'FFF80410
H'1FF80410
32
Pck
Plane 4 display size Y register
P4DSYR
R/W
H'FFF80414
H'1FF80414
32
Pck
Plane 4 display position X
register
P4DPXR
R/W
H'FFF80418
H'1FF80418
32
Pck
Plane 4 display position Y
register
P4DPYR
R/W
H'FFF8041C
H'1FF8041C
32
Pck
Rev.1.00 Jan. 10, 2008 Page 826 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
R/W
P4
Address
Area 7
Address
Size
Synchronous
Clock
Plane 4 display area start
address 0 register
P4DSA0R
R/W
H'FFF80420
H'1FF80420
32
Pck
Plane 4 display area start
address 1 register
P4DSA1R
R/W
H'FFF80424
H'1FF80424
32
Pck
Plane 4 start position X register
P4SPXR
R/W
H'FFF80430
H'1FF80430
32
Pck
Plane 4 start position Y register
P4SPYR
R/W
H'FFF80434
H'1FF80434
32
Pck
Plane 4 wrap-around start
position register
P4WASPR
R/W
H'FFF80438
H'1FF80438
32
Pck
Plane 4 wrap-around memory
width register
P4WAMWR
R/W
H'FFF8043C
H'1FF8043C
32
Pck
Plane 4 blinking period register
P4BTR
R/W
H'FFF80440
H'1FF80440
32
Pck
Plane 4 transparent color 1
register
P4TC1R
R/W
H'FFF80444
H'1FF80444
32
Pck
Plane 4 transparent color 2
register
P4TC2R
R/W
H'FFF80448
H'1FF80448
32
Pck
Plane 4 memory length register
P4MLR
R/W
H'FFF80450
H'1FF80450
32
Pck
Plane 5 mode register
P5MR
R/W
H'FFF80500
H'1FF80500
32
Pck
Plane 5 memory width register
P5MWR
R/W
H'FFF80504
H'1FF80504
32
Pck
Plane 5 blend ratio register
P5ALPHAR
R/W
H'FFF80508
H'1FF80508
32
Pck
Plane 5 display size X register
P5DSXR
R/W
H'FFF80510
H'1FF80510
32
Pck
Plane 5 display size Y register
P5DSYR
R/W
H'FFF80514
H'1FF80514
32
Pck
Plane 5 display position X
register
P5DPXR
R/W
H'FFF80518
H'1FF80518
32
Pck
Plane 5 display position Y
register
P5DPYR
R/W
H'FFF8051C
H'1FF8051C
32
Pck
Plane 5 display area start
address 0 register
P5DSA0R
R/W
H'FFF80520
H'1FF80520
32
Pck
Plane 5 display area start
address 1 register
P5DSA1R
R/W
H'FFF80524
H'1FF80524
32
Pck
Plane 5 start position X register
P5SPXR
R/W
H'FFF80530
H'1FF80530
32
Pck
Plane 5 start position Y register
P5SPYR
R/W
H'FFF80534
H'1FF80534
32
Pck
Plane 5 wrap-around start
position register
P5WASPR
R/W
H'FFF80538
H'1FF80538
32
Pck
Rev.1.00 Jan. 10, 2008 Page 827 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
R/W
P4
Address
Area 7
Address
Size
Synchronous
Clock
Plane 5 wrap-around memory
width register
P5WAMWR
R/W
H'FFF8053C
H'1FF8053C
32
Pck
Plane 5 blinking period register
P5BTR
R/W
H'FFF80540
H'1FF80540
32
Pck
Plane 5 transparent color 1
register
P5TC1R
R/W
H'FFF80544
H'1FF80544
32
Pck
Plane 5 transparent color 2
register
P5TC2R
R/W
H'FFF80548
H'1FF80548
32
Pck
Plane 5 memory length register
P5MLR
R/W
H'FFF80550
H'1FF80550
32
Pck
Plane 6 mode register
P6MR
R/W
H'FFF80600
H'1FF80600
32
Pck
Plane 6 memory width register
P6MWR
R/W
H'FFF80604
H'1FF80604
32
Pck
Plane 6 blend ratio register
P6ALPHAR
R/W
H'FFF80608
H'1FF80608
32
Pck
Plane 6 display size X register
P6DSXR
R/W
H'FFF80610
H'1FF80610
32
Pck
Plane 6 display size Y register
P6DSYR
R/W
H'FFF80614
H'1FF80614
32
Pck
Plane 6 display position X
register
P6DPXR
R/W
H'FFF80618
H'1FF80618
32
Pck
Plane 6 display position Y
register
P6DPYR
R/W
H'FFF8061C
H'1FF8061C
32
Pck
Plane 6 display area start
address 0 register
P6DSA0R
R/W
H'FFF80620
H'1FF80620
32
Pck
Plane 6 display area start
address 1 register
P6DSA1R
R/W
H'FFF80624
H'1FF80624
32
Pck
Plane 6 start position X register
P6SPXR
R/W
H'FFF80630
H'1FF80630
32
Pck
Plane 6 start position Y register
P6SPYR
R/W
H'FFF80634
H'1FF80634
32
Pck
Plane 6 wrap-around start
position register
P6WASPR
R/W
H'FFF80638
H'1FF80638
32
Pck
Plane 6 wrap-around memory
width register
P6WAMWR
R/W
H'FFF8063C
H'1FF8063C
32
Pck
Plane 6 blinking period register
P6BTR
R/W
H'FFF80640
H'1FF80640
32
Pck
Plane 6 transparent color 1
register
P6TC1R
R/W
H'FFF80644
H'1FF80644
32
Pck
Plane 6 transparent color 2
register
P6TC2R
R/W
H'FFF80648
H'1FF80648
32
Pck
Plane 6 memory length register
P6MLR
R/W
H'FFF80650
H'1FF80650
32
Pck
Rev.1.00 Jan. 10, 2008 Page 828 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
P4
Address
R/W
Area 7
Address
Size
Synchronous
Clock
H'FFF81000
H'1FF81000
32
Pck
H'FFF813FC
H'1FF813FC
32
Pck
H'FFF82000
H'1FF82000
32
Pck
Color palette registers
Color palette 1 register 000
CP1_000R
R/W
⎯
Color palette 1 register 255
CP1_255R
R/W
Color palette 2 register 000
CP2_000R
R/W
⎯
Color palette 2 register 255
CP2_255R
R/W
H'FFF823FC
H'1FF823FC
32
Pck
Color palette 3 register 000
CP3_000R
R/W
H'FFF83000
H'1FF83000
32
Pck
⎯
Color palette 3 register 255
CP3_255R
R/W
H'FFF833FC
H'1FF833FC
32
Pck
Color palette 4 register 000
CP4_000R
R/W
H'FFF84000
H'1FF84000
32
Pck
H'FFF843FC
H'1FF843FC
32
Pck
⎯
Color palette 4 register 255
CP4_255R
R/W
External synchronization control register
External synchronization control
register
ESCR
R/W
H'FFF90000
H'1FF90000
32
Pck
Output signal timing adjustment
register
OTAR
R/W
H'FFF90004
H'1FF90004
32
Pck
Rev.1.00 Jan. 10, 2008 Page 829 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.3 Status of Registers in Each Processing Mode
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Display system
control register
DSYSR
H'00000280 Retained
Retained
Retained Retained DSEC
DEN
Display mode
register
DSMR
H'00000000 Retained
Retained
Retained Retained All bits
except the
following bits
which are
updated by the
DRES bit in the
display system
control register
(DSYSR):
VSPM
ODPM
DIPM
CSPM
DIL
VSL
HSL
Display status
register
DSSR
H'30000000 Retained
Retained
Retained Retained None
Display status
register clear
register
DSRCR
Undefined
Retained
Retained
Retained Retained None
Display interrupt
enable register
DIER
H'00000000 Retained
Retained
Retained Retained None
Color palette
control register
CPCR
H'00000000 Retained
Retained
Retained Retained All bits
Display plane
priority order
register
DPPR
H'00543210 Retained
Retained
Retained Retained All bits
Display extension
function enable
register
DEFR
H'00000000 Retained
Retained
Retained Retained None
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Display control registers
Rev.1.00 Jan. 10, 2008 Page 830 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Display timing generation registers
Horizontal display
start position
register
HDSR
Undefined
Retained
Retained
Retained Retained All bits
Horizontal display
end position
register
HDER
Undefined
Retained
Retained
Retained Retained All bits
Vertical display
start position
register
VDSR
Undefined
Retained
Retained
Retained Retained All bits
Vertical display
end position
register
VDER
Undefined
Retained
Retained
Retained Retained All bits
Horizontal scan
period register
HCR
Undefined
Retained
Retained
Retained Retained All bits
Horizontal
HSWR
synchronous pulse
width register
Undefined
Retained
Retained
Retained Retained All bits
Vertical scan
period register
VCR
Undefined
Retained
Retained
Retained Retained All bits
Vertical
synchronous
position register
VSPR
Undefined
Retained
Retained
Retained Retained All bits
Equivalent pulse
width register
EQWR
Undefined
Retained
Retained
Retained Retained All bits
Separation width
register
SPWR
Undefined
Retained
Retained
Retained Retained All bits
Undefined
Retained
Retained
Retained Retained All bits
CLAMP signal
width register
CLAMPWR Undefined
Retained
Retained
Retained Retained All bits
DE signal start
position register
DESR
Undefined
Retained
Retained
Retained Retained All bits
DE signal width
register
DEWR
Undefined
Retained
Retained
Retained Retained All bits
CLAMP signal start CLAMPSR
position register
Rev.1.00 Jan. 10, 2008 Page 831 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Display attribute registers
Color palette 1
transparent color
register
CP1TR
H'00000000 Retained
Retained
Retained Retained All bits
Color palette 2
transparent color
register
CP2TR
H'00000000 Retained
Retained
Retained Retained All bits
Color palette 3
transparent color
register
CP3TR
H'00000000 Retained
Retained
Retained Retained All bits
Color palette 4
transparent color
register
CP4TR
H'00000000 Retained
Retained
Retained Retained All bits
Display-off output
register
DOOR
Undefined
Retained
Retained
Retained Retained All bits
Color detection
register
CDER
Undefined
Retained
Retained
Retained Retained All bits
Base color register BPOR
Undefined
Retained
Retained
Retained Retained All bits
RINTOFSR Undefined
Retained
Retained
Retained Retained All bits
Raster interrupt
offset register
Display plane registers
Plane 1 mode
register
P1MR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 1 memory
width register
P1MWR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 blend ratio P1ALPHAR Undefined
register
Retained
Retained
Retained Retained All bits
Plane 1 display
size X register
P1DSXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 display
size Y register
P1DSYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 display
position X register
P1DPXR
Undefined
Retained
Retained
Retained Retained All bits
Rev.1.00 Jan. 10, 2008 Page 832 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Plane 1 display
position Y register
P1DPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 display
area start address
0 register
P1DSA0R
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 display
area start address
1 register
P1DSA1R
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 start
position X register
P1SPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 start
position Y register
P1SPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 wraparound start
position register
P1WASPR
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 wraparound memory
width register
P1WAMWR Undefined
Retained
Retained
Retained Retained All bits
Plane 1 blinking
period register
P1BTR
H'00000101 Retained
Retained
Retained Retained All bits
Plane 1
P1TC1R
transparent color 1
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 1
P1TC2R
transparent color 2
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 1 memory
length register
P1MLR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 2 mode
register
P2MR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 2 memory
width register
P2MWR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 blend ratio P2ALPHAR Undefined
register
Retained
Retained
Retained Retained All bits
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Rev.1.00 Jan. 10, 2008 Page 833 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Plane 2 display
size X register
P2DSXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 display
size Y register
P2DSYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 display
position X register
P2DPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 display
position Y register
P2DPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 display
area start address
0 register
P2DSA0R
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 display
area start address
1 register
P2DSA1R
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 start
position X register
P2SPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 start
position Y register
P2SPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 wraparound start
position register
P2WASPR
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 wraparound memory
width register
P2WAMWR Undefined
Retained
Retained
Retained Retained All bits
Plane 2 blinking
period register
P2BTR
H'00000101 Retained
Retained
Retained Retained All bits
Plane 2
P2TC1R
transparent color 1
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 2
P2TC2R
transparent color 2
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 2 memory
length register
H'00000000 Retained
Retained
Retained Retained All bits
P2MLR
Rev.1.00 Jan. 10, 2008 Page 834 of 1658
REJ09B0261-0100
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Plane 3 mode
register
P3MR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 3 memory
width register
P3MWR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 blend ratio P3ALPHAR Undefined
register
Retained
Retained
Retained Retained All bits
Plane 3 display
size X register
P3DSXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 display
size Y register
P3DSYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 display
position X register
P3DPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 display
position Y register
P3DPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 display
area start address
0 register
P3DSA0R
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 display
area start address
1 register
P3DSA1R
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 start
position X register
P3SPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 start
position Y register
P3SPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 wraparound start
position register
P3WASPR
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 wraparound memory
width register
P3WAMWR Undefined
Retained
Retained
Retained Retained All bits
Plane 3 blinking
period register
P3BTR
H'00000101 Retained
Retained
Retained Retained All bits
Undefined
Retained
Retained Retained All bits
Plane 3
P3TC1R
transparent color 1
register
Manual
Reset by
WDT
Retained
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Rev.1.00 Jan. 10, 2008 Page 835 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Plane 3
P3TC2R
transparent color 2
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 3 memory
length register
P3MLR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 4 mode
register
P4MR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 4 memory
width register
P4MWR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 blend ratio P4ALPHAR Undefined
register
Retained
Retained
Retained Retained All bits
Plane 4 display
size X register
P4DSXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 display
size Y register
P4DSYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 display
position X register
P4DPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 display
position Y register
P4DPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 display
area start address
0 register
P4DSA0R
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 display
area start address
1 register
P4DSA1R
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 start
position X register
P4SPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 start
position Y register
P4SPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 wraparound start
position register
P4WASPR
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 wraparound memory
width register
P4WAMWR Undefined
Retained
Retained
Retained Retained All bits
Register Name
Abbr.
Rev.1.00 Jan. 10, 2008 Page 836 of 1658
REJ09B0261-0100
Bits with
Internal Update
Function
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Plane 4 blinking
period register
P4BTR
H'00000101 Retained
Retained
Retained Retained All bits
Plane 4
P4TC1R
transparent color 1
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 4
P4TC2R
transparent color 2
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 4 memory
length register
P4MLR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 5 mode
register
P5MR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 5 memory
width register
P5MWR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 blend ratio P5ALPHAR Undefined
register
Retained
Retained
Retained Retained All bits
Plane 5 display
size X register
P5DSXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 display
size Y register
P5DSYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 display
position X register
P5DPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 display
position Y register
P5DPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 display
area start address
0 register
P5DSA0R
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 display
area start address
1 register
P5DSA1R
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 start
position X register
P5SPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 start
position Y register
P5SPYR
Undefined
Retained
Retained
Retained Retained All bits
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Rev.1.00 Jan. 10, 2008 Page 837 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Plane 5 wraparound start
position register
P5WASPR
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 wraparound memory
width register
P5WAMWR Undefined
Retained
Retained
Retained Retained All bits
Plane 5 blinking
period register
P5BTR
H'00000101 Retained
Retained
Retained Retained All bits
Plane 5
P5TC1R
transparent color 1
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 5
P5TC2R
transparent color 2
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 5 memory
length register
P5MLR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 6 mode
register
P6MR
H'00000000 Retained
Retained
Retained Retained All bits
Plane 6 memory
width register
P6MWR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 blend ratio P6ALPHAR Undefined
register
Retained
Retained
Retained Retained All bits
Plane 6 display
size X register
P6DSXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 display
size Y register
P6DSYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 display
position X register
P6DPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 display
position Y register
P6DPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 display
area start address
0 register
P6DSA0R
Undefined
Retained
Retained
Retained Retained All bits
Rev.1.00 Jan. 10, 2008 Page 838 of 1658
REJ09B0261-0100
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Plane 6 display
area start address
1 register
P6DSA1R
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 start
position X register
P6SPXR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 start
position Y register
P6SPYR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 wraparound start
position register
P6WASPR
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 wraparound memory
width register
P6WAMWR Undefined
Retained
Retained
Retained Retained All bits
Plane 6 blinking
period register
P6BTR
H'00000101 Retained
Retained
Retained Retained All bits
Plane 6
P6TC1R
transparent color 1
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 6
P6TC2R
transparent color 2
register
Undefined
Retained
Retained
Retained Retained All bits
Plane 6 memory
length register
H'00000000 Retained
Retained
Retained Retained All bits
P6MLR
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Color palette registers
Color palette 1
register 000
CP1_000R
Undefined
Retained
Retained
Retained Retained All bits
⎯
Color palette 1
register 255
CP1_255R
Undefined
Retained
Retained
Retained Retained All bits
Color palette 2
register 000
CP2_000R
Undefined
Retained
Retained
Retained Retained All bits
Retained
Retained Retained All bits
⎯
Color palette 2
register 255
CP2_255R
Undefined
Retained
Rev.1.00 Jan. 10, 2008 Page 839 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Register Name
Abbr.
Power-On
Reset by
PRESET
Pin/ WDT/
H-UDI
Color palette 3
register 000
CP3_000R
Undefined
Manual
Reset by
WDT
Sleep by
Sleep
Module Deep
Instruction Standby Sleep
Bits with
Internal Update
Function
Retained
Retained
Retained Retained All bits
⎯
Color palette 3
register 255
CP3_255R
Undefined
Retained
Retained
Retained Retained All bits
Color palette 4
register 000
CP4_000R
Undefined
Retained
Retained
Retained Retained All bits
Retained
Retained Retained All bits
⎯
Color palette 4
register 255
CP4_255R
Undefined
Retained
External
synchronization
control register
ESCR
H'00000000 Retained
Retained
Retained Retained None
Output signal
timing adjustment
register
OTAR
H'00000000 Retained
Retained
Retained Retained These bits are
updated by the
DRES bit in
DSYSR.
External synchronization control register
Rev.1.00 Jan. 10, 2008 Page 840 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.1
Display Unit System Control Register
The display unit system control register (DSYSR) sets the system operation for the display unit
(DU).
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
DSEC
—
—
—
IUPD
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R
0
R/W
Internal update:
Bit:
Initial value:
R/W:
O
15
14
13
12
11
10
9
8
—
—
—
—
—
—
DRES
DEN
0
R
0
R
0
R
0
R
0
R
0
R
1
R/W
0
R/W
Internal update:
Bit
Bit Name
31 to 21 ⎯
7
6
TVM
1
R/W
0
R/W
5
4
SCM
0
R/W
0
R/W
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
O
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
20
DSEC
0
R/W
Yes
Display Data Endian Conversion
For details of data swap, see section 19.4.7,
Endian Conversion.
0: Display data in memory is not byte-data/worddata swapped
1: Display data in memory is byte-data/worddata swapped
19 to 17 ⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 841 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
16
IUPD
0
R/W
Yes
Internal Updating Disable
When DRES = 1, internal update is performed
regardless of this bit.
For details of internal update, see (2) Internal
Update in section 19.3, Register Descriptions.
0: Internal update is performed upon each
vertical sync signal (VSYNC) assertion
1: By setting this bit to 1, internal updates can be
prohibited.
When this bit is set to 0, register update is
performed upon the next vertical sync signal
(VSYNC).
15 to 10 ⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 842 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
9
DRES
1
R/W
None
Display Reset
8
DEN
0
R/W
Yes
Display Enable
00: Starts display synchronization operation.
In the case of a register not yet set,
unexpected operation may occur; hence
DRES should be set to 0 after setting all the
registers in the display unit (DU).
When DEN = 0, the display data is the value
set in the display-off output register (DOOR).
01: Starts display synchronization operation.
In the case of a register not yet set,
unexpected operation may occur; hence
DRES and DEN should be set to 0 and 1
respectively after setting all the registers in
the display unit (DU).
When DEN = 1, the display data is the value
stored in memory from the next frame.
10: Halts display and synchronization operation.
Halts display operation and synchronization
operation. Except for the following bits in
DSSR, register settings are held.
For these settings, operation is as follows.
1. All display data output is 0.
2. The following bits in DSSR are cleared to
0.
⎯ TV sync signal error flag (TVR)
⎯ Frame flag (FRM)
⎯ Vertical blanking flag (VBK)
⎯ Raster interrupt flag (RINT)
⎯ Horizontal blanking flag (HBK)
3. The HSYNC, VSYNC, ODDF pins are input
pins.
However, when the ODPM bit in DSMR is 1, the
ODDF pin output is clamped.
11: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 843 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
7, 6
TVM
10
R/W
None
TV Synchronization Mode
00: Master mode
HSYNC, VSYNC, CSYNC are output
01: Synchronization method switching mode
When switching from TV sync mode to
master mode, or from master mode to TV
sync mode, is necessary, the switching
should pass through this mode. In this
mode, operation of the display system is
forcibly halted, and DISP outputs a low level
signal. Clock signal supply to the DCLKIN
pin can also be halted (input disabled)
(within the LSI the level is fixed high).
When a clock signal is supplied to the
DCLKIN pin, the clock is output from the
DCLKOUT pin.
The HSYNC pin is the EXHSYNC input, the
VSYNC pin is the EXVSYNC input, and the
ODDF pin is the ODDF input.
However, when the ODPM bit in DSMR is 1,
the ODDF pin output is clamped.
10: TV synchronization mode
The HSYNC pin is the EXHSYNC input, the
VSYNC pin is the EXVSYNC input, and the
ODDF pin is the ODDF input.
However, when the ODPM bit in DSMR is 1,
the ODDF pin output is clamped.
11: Setting prohibited
5, 4
SCM
00
R/W
None
Scan Mode
00: Non-interlace mode
01: Setting prohibited
10: Interlace sync mode
11: Interlace sync and video mode
3 to 0
⎯
All 0
R
None
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 844 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.2
Display Mode Register (DSMR)
The display mode register (DSMR) sets the display operation of the display unit.
Bit:
Initial value:
R/W:
31
30
29
—
—
—
VSPM ODPM
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
*
*
*
Internal update:
Bit:
15
14
CDEL
Initial value:
R/W:
Internal update:
Bit
13
CDEM
28
27
24
23
22
21
20
19
18
17
16
CSPM
—
—
—
—
DIL
VSL
HSL
DDIS
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
*
*
*
*
*
*
12
11
10
9
8
—
—
—
ODEV
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
*
*
*
*
31 to 29 ⎯
25
DIPM
CDED
0
R/W
Bit Name
26
7
6
CSY
0
R/W
0
R/W
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
*
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
28
VSPM
0
R/W
*
VSYNC Pin Mode
Settings in DSYSR are given priority over
settings in this register.
0: VSYNC signal is output to the VSYNC pin
1: CSYNC signal is output to the VSYNC pin
27
ODPM
0
R/W
*
ODDF Pin Mode
0: ODDF signal is output to the ODDF pin
1: CLAMP signal is output to the ODDF pin
The ODDF pin is an output pin even when the
TVM bit in DSYSR is set to TV sync mode.
26, 25
DIPM
00
R/W
*
DISP Pin Mode
00: DISP signal is output to the DISP pin
01: CSYNC signal is output to the DISP pin
10: Setting prohibited
11: DE signal is output to the DISP pin
Rev.1.00 Jan. 10, 2008 Page 845 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
24
CSPM
0
R/W
*
CSYNC Pin Mode
Settings in DSYSR are given priority over
settings in this register.
0: CSYNC signal is output to the HSYNC pin
1: HSYNC signal is output to the HSYNC pin
23 to 20 ⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
19
DIL
0
R/W
*
DISP Polarity Select
0: DISP signal at high level during display
interval
1: DISP signal at low level during display interval
18
VSL
0
R/W
*
VSYNC Polarity Select
0: VSYNC signal is low-active
1: VSYNC signal is high-active
17
HSL
0
R/W
*
HSYNC Polarity Select
0: HSYNC signal is low-active
1: HSYNC signal is high-active
16
DDIS
0
R/W
*
DISP Output Disable
0: DISP signal is output
1: DISP signal is not output (fixed to low level)
15
CDEL
0
R/W
*
CDE Polarity Select
0: CDE signal is high when output display data
and the color detection register (CDER)
match, and is low when they do not match
1: CDE signal is low when output display data
and CDER match, and is high when they do
not match
Rev.1.00 Jan. 10, 2008 Page 846 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
14, 13
CDEM
00
R/W
*
CDE Output Mode
00: CDE signal is output without change
01: CDE signal is output without change
10: Low level output outside of display interval
(interval when DISP signal is inactive)
11: High level output outside of display interval
(interval when DISP signal is inactive)
12
CDED
0
R/W
*
CDE Disable
0: CDE signal is output
1: CDE signal is not output (fixed to low level)
11 to 9
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
8
ODEV
0
R/W
*
ODD Even Select for ODDF Signal
0: In interlaced display of the same frame, when
the ODDF pin is at low level the first half of
the field is displayed.
1: In interlaced display of the same frame, when
the ODDF pin is at high level the first half of
the field is displayed.
Rev.1.00 Jan. 10, 2008 Page 847 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
7, 6
CSY
00
R/W
None
CSYNC Mode
For details of CSYNC waveform, refer to section
19.5.2, CSYNC.
00: The relation among VSYNC, HSYNC, and
CSYNC is as follows.
VSYNC
HSYNC
CSYNC
Low level
Low level
High level
Low level
High level
Low level
High level
Low level
Low level
High level
High level
High level
01: Setting prohibited
10: For the interval of three raster scans after
the falling edge of VSYNC an equivalent
pulse is output, followed by separation pulse
for three raster scans, then an equivalent
pulse for three raster scans, and for the
interval after this the HSYNC waveform is
output as CSYNC.
11: 1/2 raster scan after the VSYNC falling
edge, an equivalent pulse is output for 2.5
raster scans, then separation pulse for 2.5
raster scans, then an equivalent pulse for
2.5 raster scans, and for the interval after
this the HSYNC waveform is output as
CSYNC.
⎯
5 to 0
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Note:
*
The bit is updated by setting the DRES bit in DSYSR to 1.
Rev.1.00 Jan. 10, 2008 Page 848 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.3
Display Status Register (DSSR)
The display status register (DSSR) is a register used to read, from outside, the internal state of the
display unit (DU).
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
DFB6
DFB5
DFB4
DFB3
DFB2
DFB1
0
R
0
R
1
R
1
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TVR
FRM
—
—
VBK
—
RINT
HBK
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
31, 30
⎯
00
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
29, 28
⎯
11
R
⎯
Reserved
These bits are always read as 1. The write value
should always be 1.
27 to 22 ⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
21
DFB6
0
R
None
Display Frame Buffer 6 Flag
0: The address indicated by the plane 6 display
area start address 0 register (P6DSA0R) in
plane 6 is being used as the display area start
address
1: The address indicated by the plane 6 display
area start address 1 register (P6DSA1R) in
plane 6 is being used as the display area start
address
Rev.1.00 Jan. 10, 2008 Page 849 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
20
DFB5
0
R
None
Display Frame Buffer 5 Flag
0: The address indicated by the plane 5 display
area start address 0 register (P5DSA0R) in
plane 5 is being used as the display area start
address
1: The address indicated by the plane 5 display
area start address 1 register (P5DSA1R) in
plane 5 is being used as the display area start
address
19
DFB4
0
R
None
Display Frame Buffer 4 Flag
0: The address indicated by the plane 4 display
area start address 0 register (P4DSA0R) in
plane 4 is being used as the display area start
address
1: The address indicated by the plane 4 display
area start address 1 register (P4DSA1R) in
plane 4 is being used as the display area start
address
18
DFB3
0
R
None
Display Frame Buffer 3 Flag
0: The address indicated by the plane 3 display
area start address 0 register (P3DSA0R) in
plane 3 is being used as the display area start
address
1: The address indicated by the plane 3 display
area start address 1 register (P3DSA1R) in
plane 3 is being used as the display area start
address
17
DFB2
0
R
None
Display Frame Buffer 2 Flag
0: The address indicated by the plane 2 display
area start address 0 register (P2DSA0R) in
plane 2 is being used as the display area start
address
1: The address indicated by the plane 2 display
area start address 1 register (P2DSA1R) in
plane 2 is being used as the display area start
address
Rev.1.00 Jan. 10, 2008 Page 850 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
16
DFB1
0
R
None
Display Frame Buffer 1 Flag
0: The address indicated by the plane 1 display
area start address 0 register (P1DSA0R) in
plane 1 is being used as the display area start
address
1: The address indicated by the plane 1 display
area start address 0 register (P1DSA1R) in
plane 1 is being used as the display area start
address
15
TVR
0
R
None
TV Synchronization Error Flag
0: After using the DRES bit in DSYSR or the
TVCL bit in the display status register clear
register (DSRCR) to clear the TVR bit to 0,
indicates that the rising edge of EXVSYNC is
being detected each time within the vertical
period determined by the setting of the
vertical scan period register (VCR).
1: Indicates that the rising edge of EXVSYNC
was not detected within the vertical period
determined by the setting of VCR when in TV
sync mode.
The TVR bit holds its state until cleared to 0
by the DRES bit in DSYSR or by the TVCL bit
in DSRCR.
14
FRM
0
R
None
Frame Flag
0: After clearing to 0 the FRM bit using either the
DRES bit in DSYSR or the FRCL bit in
DSRCR, in interlaced mode indicates the
interval to the next display end, and in
interlaced sync mode or in interlaced sync &
video mode indicates the interval to the
display end of the next even field.
1: After clearing to 0 the FRM bit using either the
DRES bit in DSYSR or the FRCL bit in
DSRCR, indicates the interval until the next
time the FRM bit is cleared, from the first
vertical blanking interval in non-interlaced
mode, and from the first even field blanking
interval in interlaced sync or in interlaced sync
& video mode. (frame units)
Rev.1.00 Jan. 10, 2008 Page 851 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
13, 12
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
11
VBK
0
R
None
Vertical Blanking Flag
0: Indicates the interval to the next display end
after clearing to 0 the VBK bit using either the
DRES bit in DSYSR or the VBCL bit in
DSRCR.
1: Indicates the interval, after clearing the VBK
bit using either the DRES bit in DSYSR or the
VBCL bit in DSRCR, from the first vertical
blanking interval until the VBK bit is again
cleared to 0. (field units)
10
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
9
RINT
0
R
None
Raster Interrupt Flag
0: Indicates the interval from the start of the next
display until raster scans set in the raster
interrupt offset register have elapsed, after
clearing to 0 the RINT bit using either the
DRES bit in DSYSR or the RICL bit in
DSRCR.
1: After clearing the RINT bit using either the
DRES bit in DSYSR or the RICL bit in
DSRCR, indicates the interval from the start
of the next display after raster scans set in the
raster interrupt offset register have elapsed
until the bit is again cleared to 0.
8
HBK
0
R
None
Horizontal Blanking Flag
0: Indicates the interval, after clearing to 0 the
HBK bit using the DRES bit in DSYSR or the
HBCL bit in DSRCR, to the next horizontal
blanking.
1: Indicates the interval, after clearing the HBK
bit using either the DRES bit in DSYSR or the
HBCL bit in DSRCR, from the first horizontal
blanking interval until the HBK bit is again
cleared to 0.
7 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 852 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.4
Display Unit Status Register Clear Register (DSRCR)
The display unit status register clear register (DSRCR) is a register which clears the various flags
in DSSR.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TVCL
FRCL
—
—
VBCL
—
RICL
HBCL
—
—
—
—
—
—
—
—
—
W
—
W
0
R
0
R
—
W
0
R
—
W
—
W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit
Initial
Bit Name Value
31 to 16 ⎯
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15
TVCL
Undefined W
None
TV Synchronous Signal Error Flag Clear
0: The TVR flag in DSSR is not changed.
1: The TVR flag in DSSR is cleared to 0.
14
FRCL
Undefined W
None
Flame Flag Clear
0: The FRM flag in DSSR is not changed.
1: The FRM flag in DSSR is cleared to 0.
13, 12
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
11
VBCL
Undefined W
None
Vertical Blanking Flag Clear
0: The VBK flag in DSSR is not changed.
1: The VBK flag in DSSR is cleared to 0.
10
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 853 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
9
RICL
Initial
Value
R/W
Undefined W
Internal
Update Description
None
Vertical Blanking Flag Clear
0: The RINT flag in DSSR is not changed.
1: The RINT flag in DSSR is cleared to 0.
8
HBCL
Undefined W
None
Vertical Blanking Flag Clear
0: The HBK flag in DSSR is not changed.
1: The HBK flag in DSSR is cleared to 0.
7 to 0
⎯
All 0
⎯
R
Reserved
These bits are always read as 0. The write value
should always be 0.
19.3.5
Display Unit Interrupt Enable Register (DIER)
The display unit interrupt enable register (DIER) is a register which enables interrupts to the CPU
the causes of which are internal states of the display unit (DU) reflected in DSSR. When bits are
set in this register, if bits in the same bit positions in DSSR are set, an interrupt is issued to the
CPU.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TVE
FRE
—
—
VBE
—
RIE
HBE
—
—
—
—
—
—
—
—
0
R/W
0
R/W
0
R
0
R
0
R/W
0
R
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Rev.1.00 Jan. 10, 2008 Page 854 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
31 to 16 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15
TVE
0
R/W
None
TV Synchronous Signal Error Interrupt Enable
0: Disables interrupt by the TVR flag in DSSR
1: Enables interrupt by the TVR flag in DSSR
14
FRE
0
R/W
None
Flame Flag Interrupt Enable
0: Disables interrupt by the FRM flag in DSSR
1: Enables interrupt by the FRM flag in DSSR
13, 12
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
11
VBE
0
R/W
None
Vertical Blanking Flag Interrupt Enable
0: Disables interrupt by the VBK flag in DSSR
1: Enables interrupt by the VBK flag in DSSR
10
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
9
RIE
0
R/W
None
Vertical Blanking Flag Interrupt Enable
0: Disables interrupt by the RINT flag in DSSR
1: Enables interrupt by the RINT flag in DSSR
8
HBE
0
R/W
None
Vertical Blanking Flag Interrupt Enable
0: Disables interrupt by the HBK flag in DSSR
1: Enables interrupt by the HBK flag in DSSR
7 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 855 of 1658
REJ09B0261-0100
19. Display Unit (DU)
The following are conditions, based on DSSR and this register, for issuing an interrupt to the CPU
from the display unit (DU).
Conditions for issuing an interrupt = a + b + c + d + e
•
•
•
•
•
a = TVR · TVE
b = FRM · FRE
c = VBK · VBE
d = RINT · RIE
e = HBK · HBE
Interrupts from the display unit (DU) are reflected by bit 27 of the interrupt source register (not
affected by the mask state) (INT2A0) or by bit 27 of the interrupt source register (affected by the
mask state) (INT2A1) of the interrupt controller (INTC).
Rev.1.00 Jan. 10, 2008 Page 856 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.6
Color Palette Control Register (CPCR)
The color palette control register (CPCR) is a register which enables switching of the color palette.
For information on color palette switching, refer to section 19.4.8, Color Palettes.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
19
18
17
16
CP4CE CP3CE CP2CE CP1CE
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit
Bit Name
31 to 20 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
19
CP4CE
0
R/W
Yes
Color Palette 4 Change Enable
0: Switching of color palette 4 is not performed.
1: Switching of color palette 4 is performed.
Switching is performed when the DRES bit in
DSYSR is changed from 1 to 0, or with the
timing of an internal update. This bit can only
be set to 1; an operation to set the bit to 0 is
invalid. After switching of the color palette 4,
the bit is cleared to 0.
When setting to 1 and clearing occur
simultaneously, clearing to 0 takes priority.
Rev.1.00 Jan. 10, 2008 Page 857 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
18
CP3CE
0
R/W
Yes
Color Palette 3 Change Enable
0: Switching of color palette 3 is not performed.
1: Switching of color palette 3 is performed.
Switching is performed when the DRES bit in
DSYSR is changed from 1 to 0, or with the
timing of an internal update. This bit can only
be set to 1; an operation to set the bit to 0 is
invalid. After switching of the color palette 3,
the bit is cleared to 0.
When setting to 1 and clearing occur
simultaneously, clearing to 0 takes priority.
17
CP2CE
0
R/W
Yes
Color Palette 2 Change Enable
0: Switching of color palette 2 is not performed.
1: Switching of color palette 2 is performed.
Switching is performed when the DRES bit in
DSYSR is changed from 1 to 0, or with the
timing of an internal update. This bit can only
be set to 1; an operation to set the bit to 0 is
invalid. After switching of the color palette 2,
the bit is cleared to 0.
When setting to 1 and clearing occur
simultaneously, clearing to 0 takes priority.
16
CP1CE
0
R/W
Yes
Color Palette 1 Change Enable
0: Switching of color palette 1 is not performed.
1: Switching of color palette 1 is performed.
Switching is performed when the DRES bit in
DSYSR is changed from 1 to 0, or with the
timing of an internal update. This bit can only
be set to 1; an operation to set the bit to 0 is
invalid. After switching of the color palette 1,
the bit is cleared to 0.
When setting to 1 and clearing occur
simultaneously, clearing to 0 takes priority.
15 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 858 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.7
Display Plane Priority Register (DPPR)
The display plane priority register (DPPR) sets the priority order for combining planes and turns
the display on and off.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
—
—
—
—
—
—
—
—
DPE6
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
1
R/W
0
R/W
1
R/W
0
R/W
1
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
7
6
5
4
3
2
1
0
Internal update:
Bit:
15
14
13
DPE4
Initial value:
R/W:
Internal update:
Bit
12
11
DPS4
10
DPE3
9
8
DPS3
22
21
20
DPS6
DPE2
19
18
DPE5
DPS2
17
16
DPS5
DPE1
DPS1
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit Name
31 to 24 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
23
DPE6
22 to 20 DPS6
0
R/W
Yes
101
R/W
Yes
Display Plane Priority 6 Enable
Display Plane Priority 6 Select
1000: Selects and displays plane 1 in priority 6
1001: Selects and displays plane 2 in priority 6
1010: Selects and displays plane 3 in priority 6
1011: Selects and displays plane 4 in priority 6
1100: Selects and displays plane 5 in priority 6
1101: Selects and displays plane 6 in priority 6
1110: Setting prohibited
1111: Setting prohibited
0---: Priority 6 is not displayed
Rev.1.00 Jan. 10, 2008 Page 859 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
19
DPE5
0
R/W
Yes
100
R/W
Yes
18 to 16 DPS5
Display Plane Priority 5 Enable
Display Plane Priority 5 Select
1000: Selects and displays plane 1 in priority 5
1001: Selects and displays plane 2 in priority 5
1010: Selects and displays plane 3 in priority 5
1011: Selects and displays plane 4 in priority 5
1100: Selects and displays plane 5 in priority 5
1101: Selects and displays plane 6 in priority 5
1110: Setting prohibited
1111: Setting prohibited
0---: Priority 5 is not displayed
15
DPE4
14 to 12 DPS4
0
R/W
Yes
Display Plane Priority 4 Enable
011
R/W
Yes
Display Plane Priority 4 Select
1000: Selects and displays plane 1 in priority 4
1001: Selects and displays plane 2 in priority 4
1010: Selects and displays plane 3 in priority 4
1011: Selects and displays plane 4 in priority 4
1100: Selects and displays plane 5 in priority 4
1101: Selects and displays plane 6 in priority 4
1110: Setting prohibited
1111: Setting prohibited
0---: Priority 4 is not displayed
Rev.1.00 Jan. 10, 2008 Page 860 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
11
DPE3
0
R/W
Yes
Display Plane Priority 3 Enable
10 to 8
DPS3
010
R/W
Yes
Display Plane Priority 3 Select
1000: Selects and displays plane 1 in priority 3
1001: Selects and displays plane 2 in priority 3
1010: Selects and displays plane 3 in priority 3
1011: Selects and displays plane 4 in priority 3
1100: Selects and displays plane 5 in priority 3
1101: Selects and displays plane 6 in priority 3
1110: Setting prohibited
1111: Setting prohibited
0---: Priority 3 is not displayed
7
DPE2
0
R/W
Yes
Display Plane Priority 2 Enable
6 to 4
DPS2
001
R/W
Yes
Display Plane Priority 2 Select
1000: Selects and displays plane 1 in priority 2
1001: Selects and displays plane 2 in priority 2
1010: Selects and displays plane 3 in priority 2
1011: Selects and displays plane 4 in priority 2
1100: Selects and displays plane 5 in priority 2
1101: Selects and displays plane 6 in priority 2
1110: Setting prohibited
1111: Setting prohibited
0---: Priority 2 is not displayed
3
DPE1
0
R/W
Yes
Display Plane Priority 1 Enable
2 to 0
DPS1
000
R/W
Yes
Display Plane Priority 1 Select
1000: Selects and displays plane 1 in priority 1
1001: Selects and displays plane 2 in priority 1
1010: Selects and displays plane 3 in priority 1
1011: Selects and displays plane 4 in priority 1
1100: Selects and displays plane 5 in priority 1
1101: Selects and displays plane 6 in priority 1
1110: Setting prohibited
1111: Setting prohibited
0---: Priority 1 is not displayed
Rev.1.00 Jan. 10, 2008 Page 861 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.8
Display Unit Extensional Function Enable Register (DEFR)
The display unit extensional function enable register (DEFR) enables extension functions.
DEFR should be set during display reset (the DRES bit and DEN bit in DSYSR should be set to 1
and to 0 respectively) for external updates. If update is performed during display, the display may
flicker.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
DCKE ABRE
—
—
—
DSAE
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R
0
R/W
Internal update:
Bit:
Initial value:
R/W:
0
R/W
Internal update:
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
31 to 6
⎯
All 0
R
⎯
Reserved
These bits are always read as undefined. The
write value should always be 0.
5
DCKE
0
R/W
None
Input Dot Clock Select Enable
0: The DCLKSEL bit and bit 4 of the FRQSEL
bits in the external sync control register
(ESCR) are disabled.
1: The DCLKSEL bit and bit 4 of the FRQSEL
bits in ESCR are enabled.
The following functions can be used.
Rev.1.00 Jan. 10, 2008 Page 862 of 1658
REJ09B0261-0100
•
The clock from the DCLKIN pin and the DU
clock (DUck) can be selected as the input
dot clock. Selection is performed using the
DCLKSEL bit in ESCR.
•
The dot clock frequency division ratio can be
selected in the range 0 to 32. The frequency
division ratio is set using the FRQSEL bits in
ESCR.
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
4
ABRE
0
R/W
None
Alpha Blend Ratio Enable
0: The 31 to 24 bits in the color palette registers
1 to 4 and the PnBRSL bits in the plane n
blend ratio registers (PnALPHAR) are
disabled.
The alpha blend ratio is set only by the
PnALPHA bits PnALPHAR.
1: The 31 to 24 bits in the color palette registers
1 to 4 and the PnBRSL bits in PnALPHAR are
enabled.
•
The following can be selected as the alpha
blend ratio. Selection is performed using the
PnBRSL bits in PnALPHAR.
•
PnALPHA bits in PnALPHAR
⎯ The 31 to 24 bits in the color palette
registers 1 to 4
⎯ Alpha plane data (display data)
For the alpha blend ratio, refer to section 19.4.9,
Superpositioning of Planes.
3 to 1
⎯
All 0
R
⎯
Reserved
These bits are always read as undefined. The
write value should always be 0.
0
DSAE
0
R/W
None
Display Area Start Address Enable
0: The 28 to 4 bits in the plane n display area
start address 0 and 1 registers (PnDSA0R
and PnDSA1R) are enabled.
The 31 to 29 bits are B'000.
1: The 31 to 4 bits PnDSA0R and PnDSA1R are
enabled.
Rev.1.00 Jan. 10, 2008 Page 863 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.9
Horizontal Display Start Register (HDSR)
The horizontal display start register (HDSR) sets the horizontal display start position. The value is
retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
HDS
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
31 to 9
⎯
R
⎯
All 0
Reserved
These bits are always read as 0. The write value
should always be 0.
8 to 0
HDS
Undefined R/W
Yes
Horizontal Display Start
The horizontal display start position should be
set in dot clock units.
Rev.1.00 Jan. 10, 2008 Page 864 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.10 Horizontal Display End Register (HDER)
The horizontal display end register (HDER) sets the horizontal display end position. The value is
retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
HDE
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
HDE
Undefined R/W
Yes
Horizontal Display End
The horizontal display end position should be
set in dot clock units.
Rev.1.00 Jan. 10, 2008 Page 865 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.11 Vertical Display Start Register (VDSR)
The vertical display start register (VDSR) sets the vertical display start position. The value is
retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Internal update:
Bit:
Initial value:
R/W:
Internal update:
VDS
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
31 to 9
⎯
R
⎯
All 0
Reserved
These bits are always read as 0. The write value
should always be 0.
8 to 0
VDS
Undefined R/W
Yes
Vertical Display Start
The vertical display start position should be set
in raster line units.
Rev.1.00 Jan. 10, 2008 Page 866 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.12 Vertical Display End Register (VDER)
The vertical display end register (VDER) sets the vertical display end position. The value is
retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
VDE
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
VDE
Undefined R/W
Yes
Vertical Display End
The vertical display end position should be set in
raster line units.
Rev.1.00 Jan. 10, 2008 Page 867 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.13 Horizontal Cycle Register (HCR)
The horizontal cycle register (HCR) sets the horizontal scan cycle.(period). The value is retained
during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
HC
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
HC
Undefined R/W
Yes
Horizontal Cycle
One horizontal scan period, including the
horizontal blanking interval, should be set in dot
clock units.
When in TV sync mode, this register should be
set so that the HSYNC period determined by this
register is the same as or greater than the
EXHSYNC period.
Rev.1.00 Jan. 10, 2008 Page 868 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.14 Horizontal Sync Width Register (HSWR)
The horizontal sync width register (HSWR) sets the low-level pulse width of the horizontal sync
signal. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
HSW
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
31 to 9
⎯
R
⎯
0
Reserved
These bits are always read as 0. The write value
should always be 0.
8 to 0
HSW
Undefined R/W
Yes
Horizontal Sync Width
The low-level pulse width of the horizontal sync
signal should be set in dot clock units.
Rev.1.00 Jan. 10, 2008 Page 869 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.15 Vertical Cycle Register (VCR)
The vertical cycle register (VCR) sets the vertical scan interval. The value is retained during
power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
VC
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
VC
Undefined R/W
Yes
Vertical Cycle
The vertical scan interval, including the vertical
blanking interval, should be set in raster line
units.
When in TV sync mode, the EXVSYNC risingedge detection interval time should be set. If not
detected within the interval, the result is
reflected in the TVR flag in DSSR.
Rev.1.00 Jan. 10, 2008 Page 870 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.16 Vertical Sync Point Register (VSPR)
The vertical sync point register (VSPR) sets the start position of the vertical sync signal in raster
line units. The value is retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
VSP
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
VSP
Undefined R/W
Yes
Vertical Sync Point
The start position of the vertical sync signal
should be set in raster line units.
When in TV sync mode, this register should be
set such that the VSYNC falling edge set
position in this register is the same as or later
than the EXVSYNC falling edge.
Rev.1.00 Jan. 10, 2008 Page 871 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.17 Equal Pulse Width Register (EQWR)
The equal pulse width register (EQWR) sets the low-level pulse width of a pulse equivalent to the
CSYNC signal. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
EQW
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
Internal update:
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
31 to 7
⎯
R
⎯
All 0
Reserved
These bits are always read as 0. The write value
should always be 0.
6 to 0
EQW
Undefined R/W
Yes
Equal Pulse Width
The low-level pulse width of a pulse equivalent
to the CSYNC signal should be set in dot clock
units.
To enable this setting, bit 1 of the CSY bits in
DSMR should be set to 1.
Rev.1.00 Jan. 10, 2008 Page 872 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.18 Separation Width Register (SPWR)
The separation width register (SPWR) sets the low-level pulse width of the separation pulse for
the CSYNC signal. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
SPW
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
SPW
Undefined R/W
Yes
Separation Width
The low-level pulse width of the separation pulse
for the CSYNC signal should be set in dot clock
units.
The value set should be smaller than 1/2 the HC
bits in HCR.
To enable this setting, bit 1 of the CSY bits in
DSMR should be set to 1.
Rev.1.00 Jan. 10, 2008 Page 873 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.19 CLAMP Signal Start Register (CLAMPSR)
The CLAMP signal start register (CLAMPSR) sets the rising edge position of the CLAMP signal.
For timing charts for the CLAMP signal and the DE signal, refer to section 19.5.6, CLAMP Signal
and DE Signal.
The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
CLAMPS
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
CLAMPS Undefined R/W
Yes
Clamp Signal Start
The CLAMP signal rising edge position should
be set in dot clock units relative to the falling
edge of the HSYNC signal.
The CLAMP signal rises (setting + 1) cycles
after the falling edge of the HSYNC signal.
Hence the CLAMP signal cannot be made to
rise in the same cycle as the falling edge of the
HSYNC signal.
Rev.1.00 Jan. 10, 2008 Page 874 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.20 CLAMP Signal Width Register (CLAMPWR)
The CLAMP signal width register (CLAMPWR) sets the high-level width of the CLAMP signal.
The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
CLAMPW
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
CLAMPW Undefined R/W
Yes
Clamp Signal Width
The high-level width of the CLAMP signal should
be set in dot clock units.
If the HSYNC signal falls while the CLAMP
signal is at high level, the CLAMP signal also
falls.
Rev.1.00 Jan. 10, 2008 Page 875 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.21 DE Signal Start Register (DESR)
The DE signal start register (DESR) sets the rising edge position of the DE signal. The value is
retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
DES
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
DES
Undefined R/W
Yes
DE Signal Start
The DE signal rising edge position should be set
in dot clock units relative to the falling edge of
the HSYNC signal.
The DE signal rises (setting + 1) cycles after the
falling edge of the HSYNC signal. Hence the DE
signal cannot be made to rise in the same cycle
as the falling edge of the HSYNC signal.
During the vertical blanking interval the level is
fixed at low level.
Rev.1.00 Jan. 10, 2008 Page 876 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.22 DE Signal Width Register (DEWR)
The DE signal width register (DEWR) sets the high-level width of the DE signal. The value is
retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
DEW
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
DEW
Undefined R/W
Yes
DE Signal Width
The high-level width of the DE signal should be
set in dot clock units.
If the HSYNC signal falls while the DE signal is
at high level, the DE signal also falls.
Rev.1.00 Jan. 10, 2008 Page 877 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.23 Color Palette 1 Transparent Color Register (CP1TR)
The color palette 1 transparent color register (CP1TR) specifies the transparent color for color
palette 1.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
CP1IF CP1IE CP1ID CP1IC CP1IB CP1IA CP1I9 CP1I8 CP1I7 CP1I6 CP1I5 CP1I4 CP1I3 CP1I2 CP1I1 CP1I0
Initial value:
R/W:
Internal update:
Bit
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit Name
31 to 16 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15
CP1IF
0
R/W
Yes
Color Palette 1 Index F
0: The color with index F in color palette 1 is not
set to the transparent color.
1: The color with index F in color palette 1 is set
to the transparent color.
14
CP1IE
0
R/W
Yes
Color Palette 1 Index E
0: The color with index E in color palette 1 is not
set to the transparent color.
1: The color with index E in color palette 1 is set
to the transparent color.
13
CP1ID
0
R/W
Yes
Color Palette 1 Index D
0: The color with index D in color palette 1 is not
set to the transparent color.
1: The color with index D in color palette 1 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 878 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
12
CP1IC
0
R/W
Yes
Color Palette 1 Index C
0: The color with index C in color palette 1 is not
set to the transparent color.
1: The color with index C in color palette 1 is set
to the transparent color.
11
CP1IB
0
R/W
Yes
Color Palette 1 Index B
0: The color with index B in color palette 1 is not
set to the transparent color.
1: The color with index B in color palette 1 is set
to the transparent color.
10
CP1IA
0
R/W
Yes
Color Palette 1 Index A
0: The color with index A in color palette 1 is not
set to the transparent color.
1: The color with index A in color palette 1 is set
to the transparent color.
9
CP1I9
0
R/W
Yes
Color Palette 1 Index 9
0: The color with index 9 in color palette 1 is not
set to the transparent color.
1: The color with index 9 in color palette 1 is set
to the transparent color.
8
CP1I8
0
R/W
Yes
Color Palette 1 Index 8
0: The color with index 8 in color palette 1 is not
set to the transparent color.
1: The color with index 8 in color palette 1 is set
to the transparent color.
7
CP1I7
0
R/W
Yes
Color Palette 1 Index 7
0: The color with index 7 in color palette 1 is not
set to the transparent color.
1: The color with index 7 in color palette 1 is set
to the transparent color.
6
CP1I6
0
R/W
Yes
Color Palette 1 Index 6
0: The color with index 6 in color palette 1 is not
set to the transparent color.
1: The color with index 6 in color palette 1 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 879 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
5
CP1I5
0
R/W
Yes
Color Palette 1 Index 5
0: The color with index 5 in color palette 1 is not
set to the transparent color.
1: The color with index 5 in color palette 1 is set
to the transparent color.
4
CP1I4
0
R/W
Yes
Color Palette 1 Index 4
0: The color with index 4 in color palette 1 is not
set to the transparent color.
1: The color with index 4 in color palette 1 is set
to the transparent color.
3
CP1I3
0
R/W
Yes
Color Palette 1 Index 3
0: The color with index 3 in color palette 1 is not
set to the transparent color.
1: The color with index 3 in color palette 1 is set
to the transparent color.
2
CP1I2
0
R/W
Yes
Color Palette 1 Index 2
0: The color with index 2 in color palette 1 is not
set to the transparent color.
1: The color with index 2 in color palette 1 is set
to the transparent color.
1
CP1I1
0
R/W
Yes
Color Palette 1 Index 1
0: The color with index 1 in color palette 1 is not
set to the transparent color.
1: The color with index 1 in color palette 1 is set
to the transparent color.
0
CP1I0
0
R/W
Yes
Color Palette 1 Index 0
0: The color with index 0 in color palette 1 is not
set to the transparent color.
1: The color with index 0 in color palette 1 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 880 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.24 Color Palette 2 Transparent Color Register (CP2TR)
The color palette 2 transparent color register (CP2TR) specifies the transparent color of color
palette 2.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
CP2IF CP2IE CP2ID CP2IC CP2IB CP2IA CP2I9 CP2I8 CP2I7 CP2I6 CP2I5 CP2I4 CP2I3 CP2I2 CP2I1 CP2I0
Initial value:
R/W:
Internal update:
Bit
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit Name
31 to 16 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15
CP2IF
0
R/W
Yes
Color Palette 2 Index F
0: The color with index F in color palette 2 is not
set to the transparent color.
1: The color with index F in color palette 2 is set
to the transparent color.
14
CP2IE
0
R/W
Yes
Color Palette 2 Index E
0: The color with index E in color palette 2 is not
set to the transparent color.
1: The color with index E in color palette 2 is set
to the transparent color.
13
CP2ID
0
R/W
Yes
Color Palette 2 Index D
0: The color with index D in color palette 2 is not
set to the transparent color.
1: The color with index D in color palette 2 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 881 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
12
CP2IC
0
R/W
Yes
Color Palette 2 Index C
0: The color with index C in color palette 2 is not
set to the transparent color.
1: The color with index C in color palette 2 is set
to the transparent color.
11
CP2IB
0
R/W
Yes
Color Palette 2 Index B
0: The color with index B in color palette 2 is not
set to the transparent color.
1: The color with index B in color palette 2 is set
to the transparent color.
10
CP2IA
0
R/W
Yes
Color Palette 2 Index A
0: The color with index A in color palette 2 is not
set to the transparent color.
1: The color with index A in color palette 2 is set
to the transparent color.
9
CP2I9
0
R/W
Yes
Color Palette 2 Index 9
0: The color with index 9 in color palette 2 is not
set to the transparent color.
1: The color with index 9 in color palette 2 is set
to the transparent color.
8
CP2I8
0
R/W
Yes
Color Palette 2 Index 8
0: The color with index 8 in color palette 2 is not
set to the transparent color.
1: The color with index 8 in color palette 2 is set
to the transparent color.
7
CP2I7
0
R/W
Yes
Color Palette 2 Index 7
0: The color with index 7 in color palette 2 is not
set to the transparent color.
1: The color with index 7 in color palette 2 is set
to the transparent color.
6
CP2I6
0
R/W
Yes
Color Palette 2 Index 6
0: The color with index 6 in color palette 2 is not
set to the transparent color.
1: The color with index 6 in color palette 2 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 882 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
5
CP2I5
0
R/W
Yes
Color Palette 2 Index 5
0: The color with index 5 in color palette 2 is not
set to the transparent color.
1: The color with index 5 in color palette 2 is set
to the transparent color.
4
CP2I4
0
R/W
Yes
Color Palette 2 Index 4
0: The color with index 4 in color palette 2 is not
set to the transparent color.
1: The color with index 4 in color palette 2 is set
to the transparent color.
3
CP2I3
0
R/W
Yes
Color Palette 2 Index 3
0: The color with index 3 in color palette 2 is not
set to the transparent color.
1: The color with index 3 in color palette 2 is set
to the transparent color.
2
CP2I2
0
R/W
Yes
Color Palette 2 Index 2
0: The color with index 2 in color palette 2 is not
set to the transparent color.
1: The color with index 2 in color palette 2 is set
to the transparent color.
1
CP2I1
0
R/W
Yes
Color Palette 2 Index 1
0: The color with index 1 in color palette 2 is not
set to the transparent color.
1: The color with index 1 in color palette 2 is set
to the transparent color.
0
CP2I0
0
R/W
Yes
Color Palette 2 Index 0
0: The color with index 0 in color palette 2 is not
set to the transparent color.
1: The color with index 0 in color palette 2 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 883 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.25 Color Palette 3 Transparent Color Register (CP3TR)
The color palette 3 transparent color register (CP3TR) specifies the transparent color of color
palette 3.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
CP3IF CP3IE CP3ID CP3IC CP3IB CP3IA CP3I9 CP3I8 CP3I7 CP3I6 CP3I5 CP3I4 CP3I3 CP3I2 CP3I1 CP3I0
Initial value:
R/W:
Internal update:
Bit
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit Name
31 to 16 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15
CP3IF
0
R/W
Yes
Color Palette 3 Index F
0: The color with index F in color palette 3 is not
set to the transparent color.
1: The color with index F in color palette 3 is set
to the transparent color.
14
CP3IE
0
R/W
Yes
Color Palette 3 Index E
0: The color with index E in color palette 3 is not
set to the transparent color.
1: The color with index E in color palette 3 is set
to the transparent color.
13
CP3ID
0
R/W
Yes
Color Palette 3 Index D
0: The color with index D in color palette 3 is not
set to the transparent color.
1: The color with index D in color palette 3 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 884 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
12
CP3IC
0
R/W
Yes
Color Palette 3 Index C
0: The color with index C in color palette 3 is not
set to the transparent color.
1: The color with index C in color palette 3 is set
to the transparent color.
11
CP3IB
0
R/W
Yes
Color Palette 3 Index B
0: The color with index B in color palette 3 is not
set to the transparent color.
1: The color with index B in color palette 3 is set
to the transparent color.
10
CP3IA
0
R/W
Yes
Color Palette 3 Index A
0: The color with index A in color palette 3 is not
set to the transparent color.
1: The color with index A in color palette 3 is set
to the transparent color.
9
CP3I9
0
R/W
Yes
Color Palette 3 Index 9
0: The color with index 9 in color palette 3 is not
set to the transparent color.
1: The color with index 9 in color palette 3 is set
to the transparent color.
8
CP3I8
0
R/W
Yes
Color Palette 3 Index 8
0: The color with index 8 in color palette 3 is not
set to the transparent color.
1: The color with index 8 in color palette 3 is set
to the transparent color.
7
CP3I7
0
R/W
Yes
Color Palette 3 Index 7
0: The color with index 7 in color palette 3 is not
set to the transparent color.
1: The color with index 7 in color palette 3 is set
to the transparent color.
6
CP3I6
0
R/W
Yes
Color Palette 3 Index 6
0: The color with index 6 in color palette 3 is not
set to the transparent color.
1: The color with index 6 in color palette 3 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 885 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
5
CP3I5
0
R/W
Yes
Color Palette 3 Index 5
0: The color with index 5 in color palette 3 is not
set to the transparent color.
1: The color with index 5 in color palette 3 is set
to the transparent color.
4
CP3I4
0
R/W
Yes
Color Palette 3 Index 4
0: The color with index 4 in color palette 3 is not
set to the transparent color.
1: The color with index 4 in color palette 3 is set
to the transparent color.
3
CP3I3
0
R/W
Yes
Color Palette 3 Index 3
0: The color with index 3 in color palette 3 is not
set to the transparent color.
1: The color with index 3 in color palette 3 is set
to the transparent color.
2
CP3I2
0
R/W
Yes
Color Palette 3 Index 2
0: The color with index 2 in color palette 3 is not
set to the transparent color.
1: The color with index 2 in color palette 3 is set
to the transparent color.
1
CP3I1
0
R/W
Yes
Color Palette 3 Index 1
0: The color with index 1 in color palette 3 is not
set to the transparent color.
1: The color with index 1 in color palette 3 is set
to the transparent color.
0
CP3I0
0
R/W
Yes
Color Palette 3 Index 0
0: The color with index 0 in color palette 3 is not
set to the transparent color.
1: The color with index 0 in color palette 3 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 886 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.26 Color Palette 4 Transparent Color Register (CP4TR)
The color palette 4 transparent color register (CP4TR) specifies the transparent color of color
palette 4.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
CP4IF CP4IE CP4ID CP4IC CP4IB CP4IA CP4I9 CP4I8 CP4I7 CP4I6 CP4I5 CP4I4 CP4I3 CP4I2 CP4I1 CP4I0
Initial value:
R/W:
Internal update:
Bit
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit Name
31 to 16 ⎯
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15
CP4IF
0
R/W
Yes
Color Palette 4 Index F
0: The color with index F in color palette 4 is not
set to the transparent color.
1: The color with index F in color palette 4 is set
to the transparent color.
14
CP4IE
0
R/W
Yes
Color Palette 4 Index E
0: The color with index E in color palette 4 is not
set to the transparent color.
1: The color with index E in color palette 4 is set
to the transparent color.
13
CP4ID
0
R/W
Yes
Color Palette 4 Index D
0: The color with index D in color palette 4 is not
set to the transparent color.
1: The color with index D in color palette 4 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 887 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
12
CP4IC
0
R/W
Yes
Color Palette 4 Index C
0: The color with index C in color palette 4 is not
set to the transparent color.
1: The color with index C in color palette 4 is set
to the transparent color.
11
CP4IB
0
R/W
Yes
Color Palette 4 Index B
0: The color with index B in color palette 4 is not
set to the transparent color.
1: The color with index B in color palette 4 is set
to the transparent color.
10
CP4IA
0
R/W
Yes
Color Palette 4 Index A
0: The color with index A in color palette 4 is not
set to the transparent color.
1: The color with index A in color palette 4 is set
to the transparent color.
9
CP4I9
0
R/W
Yes
Color Palette 4 Index 9
0: The color with index 9 in color palette 4 is not
set to the transparent color.
1: The color with index 9 in color palette 4 is set
to the transparent color.
8
CP4I8
0
R/W
Yes
Color Palette 4 Index 8
0: The color with index 8 in color palette 4 is not
set to the transparent color.
1: The color with index 8 in color palette 4 is set
to the transparent color.
7
CP4I7
0
R/W
Yes
Color Palette 4 Index 7
0: The color with index 7 in color palette 4 is not
set to the transparent color.
1: The color with index 7 in color palette 4 is set
to the transparent color.
6
CP4I6
0
R/W
Yes
Color Palette 4 Index 6
0: The color with index 6 in color palette 4 is not
set to the transparent color.
1: The color with index 6 in color palette 4 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 888 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
5
CP4I5
0
R/W
Yes
Color Palette 4 Index 5
0: The color with index 5 in color palette 4 is not
set to the transparent color.
1: The color with index 5 in color palette 4 is set
to the transparent color.
4
CP4I4
0
R/W
Yes
Color Palette 4 Index 4
0: The color with index 4 in color palette 4 is not
set to the transparent color.
1: The color with index 4 in color palette 4 is set
to the transparent color.
3
CP4I3
0
R/W
Yes
Color Palette 4 Index 3
0: The color with index 3 in color palette 4 is not
set to the transparent color.
1: The color with index 3 in color palette 4 is set
to the transparent color.
2
CP4I2
0
R/W
Yes
Color Palette 4 Index 2
0: The color with index 2 in color palette 4 is not
set to the transparent color.
1: The color with index 2 in color palette 4 is set
to the transparent color.
1
CP4I1
0
R/W
Yes
Color Palette 4 Index 1
0: The color with index 1 in color palette 4 is not
set to the transparent color.
1: The color with index 1 in color palette 4 is set
to the transparent color.
0
CP4I0
0
R/W
Yes
Color Palette 4 Index 0
0: The color with index 0 in color palette 4 is not
set to the transparent color.
1: The color with index 0 in color palette 4 is set
to the transparent color.
Rev.1.00 Jan. 10, 2008 Page 889 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.27 Display Off Mode Output Register (DOOR)
The display off mode output register (DOOR) sets the display data output when the display is
turned off. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
15
14
13
12
11
10
DOG
Initial value:
R/W:
Internal update:
Bit
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
Initial
Bit Name Value
31 to 24 ⎯
All 0
9
8
—
—
0
R
0
R
23
22
21
20
19
18
DOR
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
7
6
5
4
3
2
DOB
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
23 to 18 DOR
Undefined R/W
Yes
Display Off Mode Output Red
Red-color display data for output when the
display is off should be set.
17, 16
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15 to 10 DOG
Undefined R/W
Yes
Display Off Mode Output Green
Green-color display data for output when the
display is off should be set.
9, 8
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
7 to 2
DOB
Undefined R/W
Yes
Display Off Mode Output Blue
Blue-color display data for output when the
display is off should be set.
1, 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 890 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.28 Color Detection Register (CDER)
The color detection register (CDER) sets the color for color detection.
When the display output data match the settings of this register, high level is output from the CDE
pin. For information on the output color data format, please refer to section 19.4.6, Output Data
Format.
The value is held during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
15
14
13
12
11
10
CDG
Initial value:
R/W:
Internal update:
Bit
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
Initial
Bit Name Value
31 to 24 ⎯
All 0
9
8
—
—
0
R
0
R
23
22
21
20
19
18
CDR
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
7
6
5
4
3
2
CDB
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
23 to 18 CDR
Undefined R/W
Yes
Color Detection Red
Red-color data for color detection should be set.
17, 16
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15 to 10 CDG
Undefined R/W
Yes
Color Detection Green
Green-color data for color detection should be
set.
9, 8
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
7 to 2
CDB
Undefined R/W
Yes
Color Detection Blue
Blue-color data for color detection should be set.
Rev.1.00 Jan. 10, 2008 Page 891 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
1, 0
⎯
Initial
Value
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
19.3.29 Background Plane Output Register (BPOR)
The background plane output register (BPOR) sets the color for display when there is no plane for
display, due to the display size or to a transparent color, etc. For detailed conditions, refer to
section 19.4.2, Display On/Off. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
15
14
13
12
11
10
BPOG
Initial value:
R/W:
Internal update:
Bit
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
Initial
Bit Name Value
31 to 24 ⎯
All 0
9
8
—
—
0
R
0
R
23
22
21
20
19
18
BPOR
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
7
6
5
4
3
2
BPOB
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
23 to 18 BPOR
Undefined R/W
Yes
Background Plane Output Red
The red-color display data to be output when
there is no plane for display should be set.
17, 16
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15 to 10 BPOG
Undefined R/W
Yes
Background Plane Output Green
The green-color display data to be output when
there is no plane for display should be set.
Rev.1.00 Jan. 10, 2008 Page 892 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
9, 8
⎯
R
⎯
All 0
Reserved
These bits are always read as 0. The write value
should always be 0.
7 to 2
BPOB
Undefined R/W
Yes
Background Plane Output Blue
The blue-color display data to be output when
there is no plane for display should be set.
1, 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 893 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.30 Raster Interrupt Offset Register (RINTOFSR)
The raster interrupt offset register (RINTOFSR) sets the raster offset value for raster interrupts.
The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
RINTOFS
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
RINTOFS Undefined R/W
Yes
Raster Interrupt Offset
The raster offset value should be set, with
reference to the number of raster lines set in
VDSR.
If the offset value is n, then after horizontal
display interval of the (VDS + n)th raster line, the
RINT bit in DSSR is set to 1 at the falling edge
of HSYNC.
Rev.1.00 Jan. 10, 2008 Page 894 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.31 Plane n Mode Register (PnMR) (n = 1 to 6)
The plane n mode registers (PnMR, n = 1 to 6) set the display operation for plane n.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
—
—
—
—
—
—
—
—
—
—
—
PnYCDF
—
—
PnTC PnWAE
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R/W
0
R/W
O
O
1
0
Internal update:
Bit:
O
15
14
—
Initial value:
R/W:
0
R
12
0
R/W
0
R/W
0
R/W
O
O
O
Bit Name
31 to 21 ⎯
13
PnSPIM
Internal update:
Bit
17
11
10
9
—
—
PnCPSL
8
0
R
0
R
7
6
PnDC
—
0
R
0
R/W
0
R/W
0
R/W
O
O
O
Initial
Value
R/W
Internal
Update Description
All 0
R
⎯
5
4
PnBM
0
R/W
0
R/W
O
O
3
2
—
—
0
R
0
R
16
PnDDF
0
R/W
0
R/W
O
O
Reserved
These bits are always read as 0. The write value
should always be 0.
20
PnYCDF
0
R/W
Yes
Plane n YC Data Format
0: Sets the order of YC data to UYVY format.
1: Sets the order of YC data to YUYV format.
19, 18
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
17
PnTC
0
R/W
Yes
Plane n Transparent Color
0: When set to 8 bits/pixel display, the
transparent color is the color set in the plane
n transparent color 1 register (PnTC1R)
1: When set to 8 bits/pixel display, any of the
transparent colors set in CP1TR to CP4TR
can be a transparent color
CP1TR to CP4TR to be used are determined
by the setting of the PnCPSL bit.
16
PnWAE
0
R/W
Yes
Plane n Wrap Around Enable
0: Wraparound is not performed for plane n
1: Wraparound is performed for plane n
15
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 895 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
14 to 12 PnSPIM
Initial
Value
R/W
Internal
Update Description
0
R/W
Yes
Plane n Super Impose Mode
000: Transparent color processing is performed
for plane n.
When plane n is in the transparent color,
the lower plane is displayed.
001: Blending of plane n and the lower plane is
performed.
When plane n is the transparent color
blending is not performed, and the lower
plane is displayed.
010: An EOR operation is performed on plane n
and the lower plane.
When plane n is the transparent color the
EOR operation is not performed, and the
lower plane is displayed.
011: Setting prohibited
100: Transparent color processing is not
performed for plane n.
Plane n is displayed.
101: Blending of plane n and the lower plane is
performed.
The transparent color specification for
plane n is ignored, and blending is
performed between all the pixels of plane n
and the lower plane.
110: An EOR operation is performed on plane n
and the lower plane.
The transparent color specification for
plane n is ignored, and EOR operation is
performed on all the pixels of plane n and
the lower plane.
111: Setting prohibited
11, 10
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 896 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
9, 8
PnCPSL
0
R/W
Yes
Plane n Color Palette Select
When the PnDDF bit is set to 8 bits/pixel,
specifies the color palette to be used.
00: Selects the color palette 1
01: Selects the color palette 2
10: Selects the color palette 3
11: Selects the color palette 4
7
PnDC
0
R/W
Yes
Plane n Display Area Change
Controls switching of the frame buffer in manual
display change mode.
0: In manual display change mode, switching of
the frame buffer for display is not performed.
1: In manual display change mode, switching of
the frame buffer for display is performed.
When the PnDC bit is 0, bit setting is possible.
Switching is performed in frame units.
After frame buffer switching (after vertical
blanking detection), this bit is cleared to 0.
6
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
5, 4
PnBM
0
R/W
Yes
Plane n Buffer Mode
When set to manual display change mode or
auto display change mode (blinking mode),
double buffer control is performed using
PnDSA0R and PnDSA1R.
00: Manual display change mode
01: Setting prohibited
10: Auto display change mode (blinking mode)
11: Setting prohibited
3, 2
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
1, 0
PnDDF
0
R/W
Yes
Plane n Display Data Format
00: 8 bits/pixel
01: 16 bits/pixel
10: ARGB
11: YC (YUV422 is converted to RGB888)
Rev.1.00 Jan. 10, 2008 Page 897 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.32 Plane n Memory Width Register (PnMWR) (n = 1 to 6)
The plane n memory width registers (PnMWR, n = 1 to 6) set the memory width for plane n.
The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
—
—
—
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 13 ⎯
All 0
PnMWX
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
12 to 4
PnMWX
Undefined R/W
Yes
Plane n Memory Width X
The plane n memory width should be set in the
range 16 pixels to 4096 pixels, in 16-pixel units.
3 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 898 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.33 Plane n Blending Ratio Register (PnALPHAR) (n = 1 to 6)
The plane n blending ratio registers (PnALPHAR, n = 1 to 6) set the blend ratios and blend ratio
selection for plane n.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
PnBRSL
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
PnALPHA
0
R/W
0
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 899 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
Internal
R/W Update Description
9, 8
PnBRSL
R/W Yes
0
Plane n Blending Ratio Select
This bit is valid when the following two conditions are
satisfied.
• When the PnSPIM bit in PnMR specifies blending.
• When the ABRE bit in DEFR is set to 1.
00: The PnALPHA bits in this register are taken to be the
blend ratio.
01: Setting prohibited
10: Bits 31 to 24 of the color palette register specified by
the PnCPSL bit in PnMR are taken to be the blend
ratio.
Note: Enabled only when the display data format
specified by the PnDDF bit in PnMR is 8 bits/pixel.
For formats other than 8 bits/pixel, the blend ratio
is determined by the PnALPHA bits in this register.
11: The display data for the plane specified by bits 2 to 0
of the PnALPHA bits in this register is taken to be the
blend ratio.
• Bits 2 to 0 = 000: Display data for plane 1 is the
blend ratio
• Bits 2 to 0 = 001: Display data for plane 2 is the
blend ratio
• Bits 2 to 0 = 010: Display data for plane 3 is the
blend ratio
• Bits 2 to 0 = 011: Display data for plane 4 is the
blend ratio
• Bits 2 to 0 = 100: Display data for plane 5 is the
blend ratio
• Bits 2 to 0 = 101: Display data for plane 6 is the
blend ratio
Notes: 1. When the register's own plane is specified, the
PnALPHA bits in this register are taken to be
the blend ratio.
2. The specified plane should satisfy the
following conditions. If the conditions are not
satisfied, the blend ratio is undefined.
• The display should be turned on using DPPR.
• The display data format should be set to 8 bits/pixel.
• The display size (plane n display size X register
(PnDSXR), plane n display size Y register
(PnDSYR)) should be set equal to or greater than
the size of the plane forth is register.
• The display position (plane n display position X
register (PnDPXR), plane n display position Y
register (PnDPYR)) should be the same as for the
plane of this register.
Rev.1.00 Jan. 10, 2008 Page 900 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
7 to 0
PnALPHA
R/W
Undefined R/W
Internal
Update Description
Yes
Plane n Blending Ratio
The alpha value (α) which is the blend ratio for
plane n should be set.
Blending result = (α × plane n + (H'100 − α) ×
lower plane)/ H'100
Note: Blending result, α, plane n, and lower
plane in the above formula are all 8-bit
data.
19.3.34 Plane n Display Size X Register (PnDSXR) (n = 1 to 6)
The plane n display size X registers (PnDSXR, n = 1 to 6) set the display size in the horizontal
direction of plane n. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
PnDSX
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
PnDSX
Undefined R/W
Yes
Plane n Display Size X
The horizontal-direction display size of plane n
should be set in dot clock units.
Note: When YC is set by the PnDDF bit in
PnMR, this value should be set to an even
number.
Rev.1.00 Jan. 10, 2008 Page 901 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.35 Plane n Display Size Y Register (PnDSYR) (n = 1 to 6)
The plane n display size Y registers (PnDSYR, n = 1 to 6) set the display size in the vertical
direction for plane n. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
PnDSY
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
PnDSY
Undefined R/W
Yes
Plane n Display Size Y
The vertical-direction display size of plane n
should be set in raster line units.
Rev.1.00 Jan. 10, 2008 Page 902 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.36 Plane n Display Position X Register (PnDPXR) (n = 1 to 6)
The plane n display position X registers (PnDPXR, n = 1 to 6) set the horizontal start positions on
the display monitor for plane n. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 11 ⎯
All 0
PnDPX
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
10 to 0
PnDPX
Undefined R/W
Yes
Plane n Display Position X
The horizontal start position on the display
monitor of plane n should be set in dot clock
units, taking as the origin the upper-left corner of
the display monitor.
Rev.1.00 Jan. 10, 2008 Page 903 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.37 Plane n Display Position Y Register (PnDPYR) (n = 1 to 6)
The plane n display position Y registers (PnDPYR, n = 1 to 6) set the vertical start position on the
display monitor of plane n. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
Initial
Bit Name Value
31 to 10 ⎯
All 0
PnDPY
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
9 to 0
PnDPY
Undefined R/W
Yes
Plane n Display Position Y
The vertical start position on the display monitor
of plane n should be set in raster line units,
taking as the origin the upper-left corner of the
display monitor.
Rev.1.00 Jan. 10, 2008 Page 904 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.38 Plane n Display Area Start Address 0 Register (PnDSA0R) (n = 1 to 6)
The plane n display area start address 0 registers (PnDSA0R, n = 1 to 6) set the memory area in
frame buffer 0 for plane n. The value is retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
PnDSA0
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Internal update:
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
Initial value:
R/W:
PnDSA0
Initial value:
R/W:
Internal update:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
O
Bit
Initial
Bit Name Value
31 to 4
PnDSA0
R/W
Undefined R/W
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
Internal
Update Description
Yes
Plane n Display Area Start Address 0
To enable the 31 to 29 bits, the DSAE bit in
DEFR should be set to 1.
In the initial state the bits are not enabled, and
are fixed at 0.
When the buffer mode for plane n is manual
display change mode or auto display change
mode, the buffer is used as frame buffer 0.
Note: In 32-bit address extended mode, when
the 31 to 29 bits in this register are
disabled, of the lower 29 bits in a specified
32-bit physical address, a 25-bit address
(A28 to A4) is specified in the 28 to 4 bits.
3 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 905 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.39 Plane n Display Area Start Address 1 Register (PnDSA1R) (n = 1 to 6)
The plane n display area start address 1 registers (PnDSA1R, n = 1 to 6) set the memory area in
frame buffer 1 for plane n. The value is retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
PnDSA1
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Internal update:
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
Initial value:
R/W:
PnDSA1
Initial value:
R/W:
Internal update:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
O
Bit
Initial
Bit Name Value
31 to 4
PnDSA1
R/W
Undefined R/W
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
Internal
Update Description
Yes
Plane n Display Area Start Address 1
To enable the 31 to 29 bits, the DSAE bit in
DEFR should be set to 1.
In the initial state the bits are not enabled, and
are fixed at 0.
When the buffer mode for plane n is manual
display change mode or auto display change
mode, the buffer is used as frame buffer 1.
Note: In 32-bit address extended mode, when
the 31 to 29 bits in this register are
disabled, of the lower 29 bits of a specified
32-bit physical address, a 25-bit address
(A28 to A4) is specified in the 28 to 4 bits.
3 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 906 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.40 Plane n Start Position X Register (PnSPXR) (n = 1 to 6)
The plane n start position X registers (PnSPXR, n = 1 to 6) set the horizontal start position of
plane n in memory. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
PnSPX
Internal update:
Bit
Initial
Bit Name Value
31 to 12 ⎯
All 0
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
11 to 0
PnSPX
Undefined R/W
Yes
Plane n Start Position X
The horizontal start position of plane n in
memory should be set in dot units.
Notes: 1. When YC is set by the PnDDF bit in
PnMR, an even value should be set.
2. Setting of values exceeding twice the
value of the plane n memory width X
register (PnMWX) is prohibited.
Rev.1.00 Jan. 10, 2008 Page 907 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.41 Plane n Start Position Y Register (PnSPYR) (n = 1 to 6)
The plane n start position Y registers (PnSPYR, n = 1 to 6) set the vertical start position of plane n
in memory. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
PnSPY
Initial value:
R/W:
Internal update:
Bit
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Initial
Bit Name Value
31 to 16 ⎯
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15 to 0
PnSPY
Undefined R/W
Yes
Plane n Start Position Y
The vertical start position of plane n in memory
should be set in raster line units.
Note: Setting a value exceeding {twice the plane
n wrap-around start position Y
(PnWASPY) + twice the plane n wraparound memory width Y (PnWAMWY)} is
prohibited.
Rev.1.00 Jan. 10, 2008 Page 908 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.42 Plane n Wrap Around Start Position Register (PnWASPR) (n = 1 to 6)
The plane n wrap-around start position registers (PnWASPR, n = 1 to 6) set the Y direction start
position of one wrap-around area of plane n. The value is retained during power-on reset and
manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
—
—
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
Bit
PnWASPY
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
Initial
Bit Name Value
31 to 14 ⎯
All 0
R/W
Internal
Update Description
R
⎯
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
13 to 4
PnWASPY Undefined R/W
Yes
Plane n Wrap Around Start Position Y
The Y direction start position of one wraparound area should be set with reference to the
address specified in PnDSA0R and PnDSA1R.
The start position can be set every 16 raster
lines.
3 to 0
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 909 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.43 Plane n Wrap Around Memory Width Register (PnWAMWR) (n = 1 to 6)
The plane n wrap-around memory width registers (PnWAMWR, n = 1 to 6) set the wrap-around
Y-direction memory width for plane n. The value is retained during power-on reset and manual
reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
PnWAMWY
Internal update:
Bit
Initial
Bit Name Value
31 to 12 ⎯
All 0
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
O
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
11 to 0
PnWAMWY
Undefined R/W
Yes
Plane n Wrap Around Memory Width Y
The wrap-around Y-direction memory width
should be set in the range 240 to 4095 raster
lines, in raster line units.
Rev.1.00 Jan. 10, 2008 Page 910 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.44 Plane n Blinking Time Register (PnBTR) (n = 1 to 6)
The plane n blinking time registers (PnBTR, n = 1 to 6) set the display interval length for plane n.
When the PnBM bit in PnMR is set to the auto display change mode (blinking mode), by setting,
in this register, the length of the interval of display of PnDSA0R and PnDSA1R, blinking
operation is performed using PnDSA0R and PnDSA1R.
When 1 is set, PnDSA0R and PnDSA1R are switched for each field.
When 0 is set, operation is the same as when set to 1.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
PnBTA
Initial value:
R/W:
Internal update:
Bit
PnBTB
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Initial
Bit Name Value
31 to 16 ⎯
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15 to 8
PnBTA
H'01
R/W
Yes
Plane n Blinking Time A
The length of the interval of display of PnDSA0R
should be set in field units.
7 to 0
PnBTB
H'01
R/W
Yes
Plane n Blinking Time B
The length of the interval of display of PnDSA1R
should be set in field units.
Rev.1.00 Jan. 10, 2008 Page 911 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.45 Plane n Transparent Color 1 Register (PnTC1R) (n = 1 to 6)
The plane n transparent color 1 registers (PnTC1R, n = 1 to 6) set a transparent color for plane n,
in 8 bits/pixel data format. The value is retained during power-on reset and manual reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Internal update:
Bit:
Initial value:
R/W:
Internal update:
PnTC1
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
31 to 8
⎯
R
⎯
All 0
Reserved
These bits are always read as 0. The write value
should always be 0.
7 to 0
PnTC1
Undefined R/W
Yes
Plane n Transparent Color 1
A transparent color for plane n in 8 bits/pixel
data format should be set.
In order to render valid the transparent color set
in this register, the PnTC bit in PnMR should be
set to 0.
Rev.1.00 Jan. 10, 2008 Page 912 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.46 Plane n Transparent Color 2 Register (PnTC2R) (n = 1 to 6)
The plane n transparent color 2 registers (PnTC2R, n = 1 to 6) set a transparent color for plane n in
the 16 bits/pixel, ARGB data format. The value is retained during power-on reset and manual
reset.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Internal update:
Bit:
PnTC2
Initial value:
R/W:
Internal update:
Bit
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Initial
Bit Name Value
31 to 16 ⎯
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
15 to 0
PnTC2
Undefined R/W
Yes
Plane n Transparent Color 2
A transparent color for plane n in the 16
bits/pixel, ARGB data format should be set.
In the case of ARGB, bits 14 to 0 of this register
are compared, and bit 15 is ignored.
Rev.1.00 Jan. 10, 2008 Page 913 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.47 Plane n Memory Length Register (PnMLR) (n = 1 to 6)
The plane n memory length registers (PnMLR, n = 1 to 6) set the memory length (Y-direction
memory area) for plane n.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
PnMLY
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Internal update:
Bit:
O
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PnMLY
Initial value:
R/W:
Internal update:
Bit
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Initial
Bit Name Value
31 to 17 ⎯
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
16 to 0
PnMLY
0
R/W
Yes
Plane n Memory Length Y
The memory length (Y-direction memory area)
for plane n should be set in raster line units.
When the display exceeds this area, the display
data becomes the data for BPOR.
When the setting is 0, the area is handled as an
infinite area, and so the display data is never the
background color register data.
Rev.1.00 Jan. 10, 2008 Page 914 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.48 Color Palette 1 Register 000 to 255 (CP1_000R to CP1_255R)
The color palette 1 registers 000 to 255 (CP1_000R to CP1_255R) are a group of 256 registers
which set six bits for each of the RGB components of a color, and are used as a color palette
capable of displaying 256 colors among 260,000 possible colors. Bits 31 to 24 are used as a blend
ratio. The values are valid for 8 bits/pixel data display.
For details of color palette operation, refer to section 19.4.8, Color Palettes.
Values are retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
22
CP1_000A to CP1_255A
21
20
19
18
CP1_000R to CP1_255R
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Internal update:
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit:
15
14
13
12
11
10
7
6
5
4
3
2
Initial value:
R/W:
CP1_000G to CP1_255G
Initial value:
R/W:
Internal update:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
Bit
Bit Name
Initial
Value
31 to 24
CP1_000A to
Undefined R/W
R/W
9
8
—
—
0
R
0
R
CP1_000B to CP1_255B
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
Internal
Update Description
Yes
CP1_255A
Color Palette 1_000 to 255 Blending Ratio
To enable this bit, the ABRE bit in DEFR
should be set to 1. In the initial state, this bit is
not enabled.
When the PnBRSL bits in PnALPHAR are 10,
the value is the alpha value, which is the blend
ratio.
23 to 18
CP1_000R to
Undefined R/W
Yes
CP1_255R
17, 16
⎯
Color Palette 1_000 to 255 Red
Red-color data of color palette 1 should be set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
15 to 10
CP1_000G to
CP1_255G
Undefined R/W
Yes
Color Palette 1_000 to 255 Green
Green-color data of color palette 1 should be
set.
Rev.1.00 Jan. 10, 2008 Page 915 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
9, 8
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
7 to 2
Undefined R/W
CP1_000B to
Yes
Color Palette 1_000 to 255 Blue
CP1_255B
1, 0
Blue-color data of color palette 1 should be set.
⎯
All 0
⎯
R
Reserved
These bits are always read as 0. The write
value should always be 0.
19.3.49 Color Palette 2 Register 000 to 255 (CP2_000R to CP2_255R)
The color palette 2 registers 000 to 255 (CP2_000R to CP2_255R) are a group of 256 registers
which set six bits for each of the RGB components of a color, and are used as a color palette
capable of displaying 256 colors among 260,000 possible colors. Bits 31 to 24 are used as a blend
ratio. The values are valid for 8 bits/pixel data display.
For details of color palette operation, refer to section 19.4.8, Color Palettes.
Values are retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
CP2_000A to CP2_255A
22
21
20
19
18
CP2_000R to CP2_255R
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Internal update:
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit:
15
14
13
12
11
10
7
6
5
4
3
2
Initial value:
R/W:
CP2_000G to CP2_255G
Initial value:
R/W:
Internal update:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
Rev.1.00 Jan. 10, 2008 Page 916 of 1658
REJ09B0261-0100
9
8
—
—
0
R
0
R
CP2_000B to CP2_255B
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
31 to 24
CP2_000A to
Undefined R/W
R/W
Internal
Update Description
Yes
CP2_255A
Color Palette 2_000 to 255 Blending Ratio
To enable this bit, the ABRE bit in DEFR
should be set to 1. In the initial state, this bit is
not enabled.
When the PnBRSL bits in PnALPHAR are 10,
the value is the alpha value, which is the blend
ratio.
23 to 18
CP2_000R to
Undefined R/W
Yes
CP2_255R
17, 16
⎯
Color Palette 2_000 to 255 Red
Red-color data of color palette 2 should be set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
15 to 10
CP2_000G to
Undefined R/W
Yes
CP2_255G
9, 8
⎯
Color Palette 2_000 to 255 Green
Green-color data of color palette 2 should be
set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
7 to 2
CP2_000B to
Undefined R/W
Yes
CP2_255B
1, 0
⎯
Color Palette 2_000 to 255 Blue
Blue-color data of color palette 2 should be set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
Rev.1.00 Jan. 10, 2008 Page 917 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.50 Color Palette 3 Register 000 to 255 (CP3_000R to CP3_255R)
The color palette 3 registers 000 to 255 (CP3_000R to CP3_255R) are a group of 256 registers
which set six bits for each of the RGB components of a color, and are used as a color palette
capable of displaying 256 colors among 260,000 possible colors. Bits 31 to 24 are used as a blend
ratio. The values are valid for 8 bits/pixel data display.
For details of color palette operation, refer to section 19.4.8, Color Palettes.
Values are retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
CP3_000A to CP3_255A
22
21
20
19
18
CP3_000R to CP3_255R
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Internal update:
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit:
15
14
13
12
11
10
7
6
5
4
3
2
Initial value:
R/W:
CP3_000G to CP3_255G
Initial value:
R/W:
Internal update:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
Bit
Bit Name
Initial
Value
31 to 24
CP3_000A to
Undefined R/W
R/W
9
8
—
—
0
R
0
R
CP3_000B to CP3_255B
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
Internal
Update Description
Yes
CP3_255A
Color Palette 3_000 to 255 Blending Ratio
To enable this bit, the ABRE bit in DEFR
should be set to 1. In the initial state, this bit is
not enabled.
When the PnBRSL bits in PnALPHAR are 10,
the value is the alpha value, which is the blend
ratio.
23 to 18
CP3_000R to
Undefined R/W
Yes
CP3_255R
17, 16
⎯
Color Palette 3_000 to 255 Red
Red-color data of color palette 3 should be set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
15 to 10
CP3_000G to
Undefined R/W
CP3_255G
Rev.1.00 Jan. 10, 2008 Page 918 of 1658
REJ09B0261-0100
Yes
Color Palette 3_000 to 255 Green
Green-color data of color palette 3 should be
set.
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
R/W
Internal
Update Description
9, 8
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
7 to 2
Undefined R/W
CP3_000B to
Yes
Color Palette 3_000 to 255 Blue
CP3_255B
1, 0
Blue-color data of color palette 3 should be set.
⎯
All 0
⎯
R
Reserved
These bits are always read as 0. The write
value should always be 0.
19.3.51 Color Palette 4 Register 000 to 255 (CP4_000R to CP4_255R)
The color palette 4 registers 000 to 255 (CP4_000R to CP4_255R) are a group of 256 registers
which set six bits for each of the RGB components of a color, and are used as a color palette
capable of displaying 256 colors among 260,000 possible colors. Bits 31 to 24 are used as a blend
ratio. The values are valid for 8 bits/pixel data display.
For details of color palette operation, refer to section 19.4.8, Color Palettes.
Values are retained during power-on reset and manual reset.
Bit:
31
30
29
28
27
26
25
24
23
CP4_000A to CP4_255A
22
21
20
19
18
CP4_000R to CP4_255R
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Internal update:
O
O
O
O
O
O
O
O
O
O
O
O
O
O
Bit:
15
14
13
12
11
10
7
6
5
4
3
2
Initial value:
R/W:
CP4_000G to CP4_255G
Initial value:
R/W:
Internal update:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
9
8
—
—
0
R
0
R
CP4_000B to CP4_255B
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
O
O
O
O
O
O
17
16
—
—
0
R
0
R
1
0
—
—
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 919 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Bit Name
Initial
Value
31 to 24
CP4_000A to
Undefined R/W
R/W
Internal
Update Description
Yes
CP4_255A
Color Palette 4_000 to 255 Blending Ratio
To enable this bit, the ABRE bit in DEFR
should be set to 1. In the initial state, this bit is
not enabled.
When the PnBRSL bits in PnALPHAR are 10,
the value is the alpha value, which is the blend
ratio.
23 to 18
CP4_000R to
Undefined R/W
Yes
CP4_255R
17, 16
⎯
Color Palette 4_000 to 255 Red
Red-color data of color palette 4 should be set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
15 to 10
CP4_000G to
Undefined R/W
Yes
CP4_255G
9, 8
⎯
Color Palette 4_000 to 255 Green
Green-color data of color palette 4 should be
set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
7 to 2
CP4_000B to
Undefined R/W
Yes
CP4_255B
1, 0
⎯
Color Palette 4_000 to 255 Blue
Blue-color data of color palette 4 should be set.
All 0
R
⎯
Reserved
These bits are always read as 0. The write
value should always be 0.
Rev.1.00 Jan. 10, 2008 Page 920 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.52 External Synchronization Control Register (ESCR)
The external synchronization control register (ESCR) controls the dot clock.
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
DCLK
SEL
—
—
—
DCLK
DIS
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R
0
R
0
R
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
Internal update:
Bit:
Initial value:
R/W:
FRQSEL
0
R/W
0
R/W
0
R/W
Internal update:
Bit
Initial
Bit Name Value
31 to 21 ⎯
All 0
R/W
Internal
Update Description
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
20
DCLKSEL
0
R/W
None
DOTCLKIN Select
To enable this bit, the DCKE bit in DEFR should
be set to 1. In the initial state, this bit is fixed to 0.
0: The input dot clock source is the DCLKIN pin
1: The input dot clock is DUck
This setting should be made such that the
frequency of the frequency-divided dot clock
generated by the dot clock generation circuit is
50 MHz or lower.
19 to 17 ⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
16
DCLKDIS 0
R/W
None
DOTCLKOUT Disable
0: DOTCLKOUT is output.
1: DOTCLKOUT is not output.
DOTCLKOUT is fixed to low level.
15 to 5
⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 921 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
4 to 0 FRQSEL 0
Internal
R/W Update Description
R/W None
Frequency Select
To enable this bit, the DCKE bit in DEFR should be set to 1.
In the initial state, bit 4 is fixed at 0, and the frequency
division ratio is up to 16.
00000: Frequency division of the input dot clock (clock for
division) is not performed.
00001: Division by 2 of the input dot clock (clock for division)
00010: Division by 3 of the input dot clock (clock for division)
00011: Division by 4 of the input dot clock (clock for division)
00100: Division by 5 of the input dot clock (clock for division)
00101: Division by 6 of the input dot clock (clock for division)
00110: Division by 7 of the input dot clock (clock for division)
00111: Division by 8 of the input dot clock (clock for division)
01000: Division by 9 of the input dot clock (clock for division)
01001: Division by 10 of the input dot clock (clock for division)
01010: Division by 11 of the input dot clock (clock for division)
01011: Division by 12 of the input dot clock (clock for division)
01100: Division by 13 of the input dot clock (clock for division)
01101: Division by 14 of the input dot clock (clock for division)
01110: Division by 15 of the input dot clock (clock for division)
01111: Division by 16 of the input dot clock (clock for division)
10000: Division by 17 of the input dot clock (clock for division)
10001: Division by 18 of the input dot clock (clock for division)
10010: Division by 19 of the input dot clock (clock for division)
10011: Division by 20 of the input dot clock (clock for division)
10100: Division by 21 of the input dot clock (clock for division)
10101: Division by 22 of the input dot clock (clock for division)
10110: Division by 23 of the input dot clock (clock for division)
10111: Division by 24 of the input dot clock (clock for division)
11000: Division by 25 of the input dot clock (clock for division)
11001: Division by 26 of the input dot clock (clock for division)
11010: Division by 27 of the input dot clock (clock for division)
11011: Division by 28 of the input dot clock (clock for division)
11100: Division by 29 of the input dot clock (clock for division)
11101: Division by 30 of the input dot clock (clock for division)
11110: Division by 31 of the input dot clock (clock for division)
11111: Division by 32 of the input dot clock (clock for division)
Rev.1.00 Jan. 10, 2008 Page 922 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.3.53 Output Signal Timing Adjustment Register (OTAR)
The output signal timing adjustment register (OTAR) selects the timing for the output signal.
For information on adjustment timing, refer to section 19.5.5, Output Signal Timing Adjustment.
Bit:
31
30
—
Initial value:
R/W:
29
28
27
26
—
DEA
25
24
0
R
0
R/W
0
R/W
0
R/W
0
R
0
R/W
15
14
13
12
11
10
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
23
22
—
CLAMPA
0
R/W
0
R/W
9
8
21
20
DRGBA
0
R
0
R/W
7
6
0
R/W
0
R/W
5
4
19
18
17
16
—
—
—
—
0
R
0
R
0
R
0
R
3
2
1
0
Internal update:
Bit:
Initial value:
R/W:
—
CDEA
0
R/W
0
R/W
0
R/W
0
R
—
DISPA
0
R/W
0
R/W
0
R/W
0
R
SYNCA
0
R/W
0
R/W
0
R/W
Internal update:
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
31
⎯
R
⎯
0
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 923 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
30 to 28 DEA
0
R/W
Internal
Update Description
R/W
None
DE Output Timing Adjustment
000: Adjustment of output timing is not
performed.
The DE signal is output at the rising edge
of the dot clock, with the reference timing.
001: The DE signal is output at the rising edge,
delayed one dot clock cycle relative to the
reference timing.
010: The DE signal is output at the rising edge,
delayed two dot clock cycles relative to the
reference timing.
011: The DE signal is output at the rising edge,
delayed three dot clock cycles relative to
the reference timing.
100: The DE signal is output at the falling edge,
preceding the reference timing by 1/2 dot
clock cycle.
101: The DE signal is output at the falling edge,
delayed 1/2 dot clock cycle relative to the
reference timing.
110: The DE signal is output at the falling edge,
delayed (1+1/2) dot clock cycles relative to
the reference timing.
111: The DE signal is output at the falling edge,
delayed (2+1/2) dot clock cycles relative to
the reference timing.
27
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 924 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
26 to 24 CLAMPA 0
R/W
Internal
Update Description
R/W
None
CLAMP Output Timing Adjustment
000: Adjustment of output timing is not
performed.
The CLAMP signal is output at the rising
edge of the dot clock, with the reference
timing.
001: The CLAMP signal is output at the rising
edge, delayed one dot clock cycle relative
to the reference timing.
010: The CLAMP signal is output at the rising
edge, delayed two dot clock cycles relative
to the reference timing.
011: The CLAMP signal is output at the rising
edge, delayed three dot clock cycles
relative to the reference timing.
100: The CLAMP signal is output at the falling
edge, preceding the reference timing by 1/2
dot clock cycle.
101: The CLAMP signal is output at the falling
edge, delayed 1/2 dot clock cycle relative to
the reference timing.
110: The CLAMP signal is output at the falling
edge, delayed (1+1/2) dot clock cycles
relative to the reference timing.
111: The CLAMP signal is output at the falling
edge, delayed (2+1/2) dot clock cycles
relative to the reference timing.
23
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 925 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
22 to 20 DRGBA
0
R/W
Internal
Update Description
R/W
None
Digital IRGV Output Timing Adjustment
000: Adjustment of output timing is not
performed.
The RGB signal is output at the rising edge
of the dot clock, with the reference timing.
001: The RGB signal is output at the rising edge,
delayed one dot clock cycle relative to the
reference timing.
010: The RGB signal is output at the rising edge,
delayed two dot clock cycles relative to the
reference timing.
011: The RGB signal is output at the rising edge,
delayed three dot clock cycles relative to
the reference timing.
100: The RGB signal is output at the falling
edge, preceding the reference timing by 1/2
dot clock cycle.
101: The RGB signal is output at the falling
edge, delayed 1/2 dot clock cycle relative to
the reference timing.
110: The RGB signal is output at the falling
edge, delayed (1+1/2) dot clock cycles
relative to the reference timing.
111: The RGB signal is output at the falling
edge, delayed (2+1/2) dot clock cycles
relative to the reference timing.
19
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
18 to 16 ⎯
All 0
R
⎯
Reserved
These bits are always read as undefined. The
write value should always be 0.
15 to 11 ⎯
All 0
R
⎯
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 926 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
10 to 8
CDEA
R/W
None
0
CDE Output Timing Adjustment
000: Adjustment of output timing is not
performed.
The CDE signal is output at the rising edge
of the dot clock, with the reference timing.
001: The CDE signal is output at the rising edge,
delayed one dot clock cycle relative to the
reference timing.
010: The CDE signal is output at the rising edge,
delayed two dot clock cycles relative to the
reference timing.
011: The CDE signal is output at the rising edge,
delayed three dot clock cycles relative to
the reference timing.
100: The CDE signal is output at the falling
edge, preceding the reference timing by 1/2
dot clock cycle.
101: The CDE signal is output at the falling
edge, delayed 1/2 dot clock cycle relative to
the reference timing.
110: The CDE signal is output at the falling
edge, delayed (1+1/2) dot clock cycles
relative to the reference timing.
111: The CDE signal is output at the falling
edge, delayed (2+1/2) dot clock cycles
relative to the reference timing.
7
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 927 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
6 to 4
DISPA
R/W
None
0
DISP Output Timing Adjustment
000: Adjustment of output timing is not
performed.
The DISP signal is output at the rising edge
of the dot clock, with the reference timing.
001: The DISP signal is output at the rising
edge, delayed one dot clock cycle relative
to the reference timing.
010: The DISP signal is output at the rising
edge, delayed two dot clock cycles relative
to the reference timing.
011: The DISP signal is output at the rising
edge, delayed three dot clock cycles
relative to the reference timing.
100: The DISP signal is output at the falling
edge, preceding the reference timing by 1/2
dot clock cycle.
101: The DISP signal is output at the falling
edge, delayed 1/2 dot clock cycle relative
to the reference timing.
110: The DISP signal is output at the falling
edge, delayed (1+1/2) dot clock cycles
relative to the reference timing.
111: The DISP signal is output at the falling
edge, delayed (2+1/2) dot clock cycles
relative to the reference timing.
3
⎯
0
R
⎯
Reserved
This bit is always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 928 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Bit
Initial
Bit Name Value
R/W
Internal
Update Description
2 to 0
SYNCA
R/W
None
0
SYNC* Output Timing Adjustment
000: Adjustment of output timing is not
performed.
The SYNC* signal is output at the rising
edge of the dot clock, with the reference
timing.
001: The SYNC* signal is output at the rising
edge, delayed one dot clock cycle relative
to the reference timing.
010: The SYNC* signal is output at the rising
edge, delayed two dot clock cycles relative
to the reference timing.
011: The SYNC* signal is output at the rising
edge, delayed three dot clock cycles
relative to the reference timing.
100: The SYNC* signal is output at the falling
edge, preceding the reference timing by 1/2
dot clock cycle.
101: The SYNC* signal is output at the falling
edge, delayed 1/2 dot clock cycle relative to
the reference timing.
110: The SYNC* signal is output at the falling
edge, delayed (1+1/2) dot clock cycles
relative to the reference timing.
111: The SYNC* signal is output at the falling
edge, delayed (2+1/2) dot clock cycles
relative to the reference timing.
Note: * HSYNC, VSYNC, CSYNC, ODDF
signals
Rev.1.00 Jan. 10, 2008 Page 929 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4
Operation
19.4.1
Configuration of Output Screen
The display unit (DU) executes window displays with up to a maximum of six window layers.
Each of these windows is called a "plane", and the order of stacking of the planes can be set
arbitrarily. For each plane, display can be turned on and off, and the display data format (8
bits/pixel, 16 bits/pixel, ARGB, YC), blending functions, and other settings can be changed
independently.
Each plane has a double-buffer configuration, so that smooth display is possible.
Note: In cases of high-resolution display, the unified memory traffic volume may be
considerable depending on the number of combined planes and display size, and
constraints may arise owing to the traffic volume; but there are no constraints on display
functions.
Rev.1.00 Jan. 10, 2008 Page 930 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.4 Display Functions of Planes
Display Data Format
16
Display 8 bits/ bits/
On/Off pixel pixel ARGB YC
Blink
Superpositioning -ing
Size
Scroll
-ing
Wraparound
Plane 1 O
O*1
O
O
O*2 α blending/
transparent
color/
EOR operation
O
X, Y
arbitrary
O
O
Plane 2 O
O*1
O
O
O*2 α blending/
transparent
color/
EOR operation
O
X, Y
arbitrary
O
O
Plane 3 O
O*1
O
O
O*2 α blending/
transparent
color/
EOR operation
O
X, Y
arbitrary
O
O
Plane 4 O
O*1
O
O
O*2 α blending/
transparent
color/
EOR operation
O
X, Y
arbitrary
O
O
Plane 5 O
O*1
O
O
O*2 α blending/
transparent
color/
EOR operation
O
X, Y
arbitrary
O
O
Plane 6 O
O*1
O
O
O*2 α blending/
transparent
color/
EOR operation
O
X, Y
arbitrary
O
O
×
×
×
×
×
×
×
×
Background
color*3
×
×
Notes: 1. Any among the color the palette 1, 2, 3, 4 is selected.
2. If YC→RGB conversion is specified for multiple planes, it can be performed only on the
pixels of the uppermost plane.
3. The data format for background color is RGB:6·6·6.
Rev.1.00 Jan. 10, 2008 Page 931 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Frame
buffer 4
Output planes are combined
and displayed according to
the superpositioning order
and blending mode for
each plane.
Frame
buffer 2
Background color can be specified.
Frame
buffer 1
Display
side
The superpositioning
order can be specified
arbitrarily.
Frame
buffer 1
Frame
buffer 2
Frame
buffer 4
Frame
buffer 3
A double-buffer function is used to switch the frame buffer between drawing side and display side
Figure 19.2 Block Diagram of Plane Configuration and Superpositioning
Rev.1.00 Jan. 10, 2008 Page 932 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.2
Display On/Off
All plane display can be turned on and off using the DEN bit in DSYSR. When the DEN bit is 0,
the display data set in DOOR is displayed.
Display is turned on and off for planes 1 to 6 using DPPR. Under the following display conditions,
display data set in BPOR is displayed.
1. When display of all planes 1 to 6 is turned off
2. In an area with no plane for display, due to the display size and display position
3. When the pixels in a plane for display are all a transparent color
Table 19.5 Display On/Off of Plane 1 to 6
Display Plane
Display Plane Priority Register (DPPR)
Plane 1
Plane 1 is selected in one among priority positions 1 to 6, and the
corresponding enable bit is set to 1
Plane 2
Plane 2 is selected in one among priority positions 1 to 6, and the
corresponding enable bit is set to 1
Plane 3
Plane 3 is selected in one among priority positions 1 to 6, and the
corresponding enable bit is set to 1
Plane 4
Plane 4 is selected in one among priority positions 1 to 6, and the
corresponding enable bit is set to 1
Plane 5
Plane 5 is selected in one among priority positions 1 to 6, and the
corresponding enable bit is set to 1
Plane 6
Plane 6 is selected in one among priority positions 1 to 6, and the
corresponding enable bit is set to 1
Note: Even if display on is set using DPPR, under the following conditions, the setting is handled
as display off, and the corresponding plane is not displayed.
•
Planes for which the value set in PnDPXR is greater than the screen size (horizontal
display ending position register (HDE) - horizontal display start position register (HDS))
•
Planes for which the value set in PnDPYR is greater than the screen size (vertical
display ending position register (VDE) - vertical display start position register (VDS))
•
Planes for which the value set in PnDSXR is 0
•
Planes for which the value set in PnDSYR is 0
•
Planes for which the value set in PnMWR is 0
•
Planes for which the value set in PnSPXR is equal to or greater than twice the value set
in PnMWR
Rev.1.00 Jan. 10, 2008 Page 933 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.3
Plane Parameter
For each plane, a display area start position, memory width, display start position, and display size
are set using registers.
The followings are the schematic diagram of start positions and sizes related to planes and the
registers used for setting start positions and sizes.
2. DSA
1. MWX
Monitor origin (upper left)
6. SPY
3. WASPY
10. DPY
9. DPX
8. DSY
5. SPX
8. DSY
4. WAMWY
7. DSX
7. DSX
Monitor parameters
11. MLY
Memory parameters
Figure 19.3 Parameters
Rev.1.00 Jan. 10, 2008 Page 934 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.6 Memory Parameter/ Monitor Parameter Setting Registers
Names Used in the
No. Figure
Setting
Registers
1
MWX
(Plane memory width)
PnMWR
The plane X-direction memory width is set
between 16 and 4096 pixels, in 16 pixel units.
2
DSA
(Display area start
address)
PnDSA0R and
PnDSA1R
The start address in memory area is set for
plane n.
3
WASPY
PnWASPR
The Y direction start position of the plane n
wrap-around area is set in raster line units,
with the address set by DSA as reference.
WAMWY
(Wraparound memory
width)
PnWAMWR
The wrap-around Y-direction memory width is
set arbitrarily in the range 240 to 4095 lines.
SPX
PnSPXR
The distance in the X direction to the display
start position is set in pixel units, taking the
address set by DSA as the origin.
PnSPYR
The distance in the Y direction to the display
start position is set in raster line units, taking
the address set by DSA as the origin.
PnDSXR
The X-direction display size of plane n is set in
pixel units.
PnDSYR
The Y-direction display size of plane n is set in
raster line units.
PnDPXR
The X-direction distance to the display position
is set in pixel units, taking the upper-left corner
of monitor as the origin.
PnDPYR
The Y-direction distance to the display position
is set in raster line units, taking the upper-left
corner of monitor as the origin.
PnMLR
The Y-direction memory area of plane n is set
in raster line units.
(Plane n wrap-around start
position)
4
5
(Start position X)
6
SPY
(Start position Y)
7
DSX
(Display size X)
8
DSY
(Display size Y)
9
DPX
(Display position X)
10
DPY
(Display position Y)
11
MLY
(Memory length Y)
Description
Rev.1.00 Jan. 10, 2008 Page 935 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.4
Memory Allocation
A display start address for the display screen can be set individually for each plane. Leading
addresses for the memory areas used are set in each of the display area start address registers.
In the display unit (DU), the display area start addresses 0 and 1 are used for each plane to
perform double-buffer control and display each plane.
Below is a list of display area start address registers used for each of the planes.
Table 19.7 Memory Allocation Registers
Display Plane Setting Register Name
Plane 1
Plane 2
Plane 3
Plane 4
Plane 5
Plane 6
Plane 1 display area start address register 0
P1DSA0
Plane 1 display area start address register 1
P1DSA1
Plane 2 display area start address register 0
P2DSA0
Plane 2 display area start address register 1
P2DSA1
Plane 3 display area start address register 0
P3DSA0
Plane 3 display area start address register 1
P3DSA1
Plane 4 display area start address register 0
P4DSA0
Plane 4 display area start address register 1
P4DSA1
Plane 5 display area start address register 0
P5DSA0
Plane 5 display area start address register 1
P5DSA1
Plane 6 display area start address register 0
P6DSA0
Plane 6 display area start address register 1
P6DSA1
Rev.1.00 Jan. 10, 2008 Page 936 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.5
Input Display Data Format
The following format is used for input color data used in display.
• 8 bit/pixel
A color palette index is used. The color palette is used to convert and display image data into
RGB data with 6 bits for each RGB color (RGB666).
The arrangement of data in memory is as follows.
Address A
A+3
A+2
A+1
A
31
23
15
7
0
Index 3 Index 2 Index 1 Index 0 Address A
A
A+1
A+2
A+3
31
23
15
7
0
Index 0 Index 1 Index 2 Index 3
Address A+4 Index 7 Index 6 Index 5 Index 4 Address A+4 Index 4 Index 5 Index 6 Index 7
Address A+8 Index 11 Index 10 Index 9 Index 8 Address A+8 Index 8 Index 9 Index 10 Index 11
Little endian
Big endian
• 16 bit/pixel: RGB
The RGB levels are represented using 5 bits for R, 6 bits for G, and 5 bits for B (RGB565).
D15-D0 15
11
10
5
R
4
0
G
B
The arrangement of data in memory is as follows.
A+2
A
31
15
RGB565 - 1
RGB565 - 0
Address A
Address A+4 RGB565 - 3
Address A+8 RGB565 - 5
Address A
A
A+2
31
15
RGB565 - 0
RGB565 - 1
RGB565 - 2
Address A+4 RGB565 - 2
RGB565 - 3
RGB565 - 4
Address A+8 RGB565 - 4
RGB565 - 5
Little endian
0
0
Big endian
Rev.1.00 Jan. 10, 2008 Page 937 of 1658
REJ09B0261-0100
19. Display Unit (DU)
• 16 bit/pixel: ARGB
The ARGB levels are represented using A:1, R:5, G:5, B:5 bits (ARGB555). In addition to the
RGB values, an alpha value is set. Blending control using the A value is valid when the
PnSPIM bit in PnMR is set to perform blending; when A = 1, blending is performed. When the
PnSPIM bit is not set to perform blending, blending is not performed even when A = 1.
D15-D0 15
14
10
A
9
5
R
A+2
A
31
15
ARGB555 - 1
ARGB555- 0
Address A
Address A+4 ARGB555- 3
Address A+8 ARGB555- 5
Address A
4
0
G
B
A
A+2
31
15
ARGB555- 0
ARGB555- 1
ARGB555- 2
Address A+4 ARGB555- 2
ARGB555- 3
ARGB555- 4
Address A+8 ARGB555- 4
ARGB555- 5
Little endian
0
0
Big endian
• YC
Image data has the format YC (YCbCr) = 4:2:2. A calculation circuit is used to convert each of
the 8 bits of the RGB colors of image data.
The YC data order corresponds to the UYVY format and YUYV format. The UYVY format
and YUYV format can be selected using the PnYCDF bits in PnMR.
The conversion formulae for each of the 8 bits of the RGB colors are as follows:
R = Y + 1.37 × (Cr - 128)
G = Y - 0.698 × (Cr - 128) - 0.336 x (Cb - 128)
B = Y + 1.73 × (Cb - 128)
16 ≤ Y ≤ 235
16 ≤ Cr ≤ 240
16 ≤ Cb ≤ 240
The following coefficients are used for the above formulae.
(1) 1.37 = 1.0101111
(2) 1.73 = 1.1011110
(3) 0.698 = 0.10110010
(4) 0.336 = 0.01010110
The internal processing is performed in 16-bit units.
Calculation is performed with fixed-point arithmetic and values are rounded down.
Rev.1.00 Jan. 10, 2008 Page 938 of 1658
REJ09B0261-0100
19. Display Unit (DU)
• UYVY format
A+3
A+2
A+1
A
31
23
15
7
Y1
V0
Y0
U0
Address A
Address A+4 Y3
V2
Y2
Address A+8 Y5
V4
Y4
Address A
A
A+1
A+2
A+3
31
23
15
7
U0
Y0
V0
Y1
U2
Address A+4 U2
Y2
V2
Y3
U4
Address A+8 U4
Y4
V4
Y5
0
Little endian
0
Big endian
• YUYV format
A+3
A+2
A+1
A
31
23
15
7
V0
Y1
U0
Y0
Address A
Address A+4 V2
Y3
U2
Address A+8 V4
Y5
U4
Address A
Little endian
A
A+1
A+2
A+3
31
23
15
7
Y0
U0
Y1
V0
Y2
Address A+4 Y2
U2
Y3
V2
Y4
Address A+8 Y4
U4
Y5
V4
0
0
Big endian
Rev.1.00 Jan. 10, 2008 Page 939 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.6
Output Data Format
When outputting digital RGB data from the display unit (DU), the display data format is expanded
into the RGB666 format before output. The format at the time of output is as indicated in the
following table.
Table 19.8 Output Data Format
Pin
Output
Data
DR5 DR4 DR3 DR2 DR1 DR0 DG5 DG4 DG3 DG2 DG1 DG0 DG5 DG4 DG3 DG2 DG1 DG0
8 bits/
pixel
R (6 bits)
16 bits/
pixel
ARGB
G (6 bits)
R (5 bits)
0
R (5 bits)
0
YC→
RGB
R (upper 6 bits of the 8 bits)
19.4.7
Endian Conversion
B (6 bits)
G (6 bits)
G (5 bits)
0
B (5 bits)
0
B (5 bits)
0
G (upper 6 bits of the 8 bits) B (upper 6 bits of the 8 bits)
The display unit (DU) can perform big-endian/little-endian conversion according to the setting of
the DSEC bit in DSYSR.
The internal data format in the display unit (DU) is fixed at little-endian; by setting the DSEC bit
in DSYSR to 1, display data arranged in big-endian format in memory is converted into littleendian format and read.
The units for endian conversion (byte/word) is determined by the setting of the PnDDF bit in
PnMR.
Table 19.9 Endian Conversion
PnMR/PnDDF
Data Format
Units for Endian Conversion
00
8 bits/pixel
Byte
01
16 bits/pixel
Word
10
ARGB
Word
11
YC
Byte
Rev.1.00 Jan. 10, 2008 Page 940 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Endian conversion in each of the units indicated below is shown in figure 19.4.
Endian Conversion in Byte Units:
PnDDF = 0 0: 8 bits/pixel
PnDDF = 1 1: YC
SHwy bus (big endian)
Address
Data
63
A
A+8
0
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
B1
B0
Display data in the display unit (DU)
63
0
B7
B6
B5
B4
B3
B2
127
64
B15
B14
B13
B12
B11
B10
B9
B8
Endian Conversion in Word Units:
PnDDF = 0 1: 16 bits/pixel
PnDDF = 1 0: ARGB
SHwy bus (big endian)
Address
Data
63
A
A+8
0
W0
W1
W2
W3
W4
W5
W6
W7
Display data in the display unit (DU)
63
0
W3
W2
W1
W0
W7
W6
W5
W4
127
Figure 19.4 Endian Conversion
Rev.1.00 Jan. 10, 2008 Page 941 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.8
Color Palettes
8 bits/pixel data employs color palettes. Four color palettes can be used; these are called color
palette 1, color palette 2, color palette 3, and color palette 4.
The color palette used in each plane can be set to any among color palette 1, color palette 2, color
palette 3, and color palette 4 using the PnCPSL bits in PnMR. Each of the color palettes consists
of two alternate buffers; one serves as a display buffer, and the other is for CPU access. After
setting each color palette, by setting the color palette switching enable bits (CP4CE, CP3CE,
CP2CE, CP1CE) in CPCR to 1, the color palette thus set becomes valid at the next VSYNC falling
edge (internal update timing), or upon display reset (when the DRES bit in DSYSR is changed
from 1 to 0).
Notes on Use of Color Palettes:
1. Because palettes consist of alternate buffers, complete overwriting is necessary upon a color
palette update. However, when the details of color palette updates are being managed, there is
no problem with overwriting only the relevant part.
2. Upon completion of color palette settings, the switching enable bit must always be set to 1.
3. When reading a color palette which has been written from the CPU, reading should be
performed before setting the switching enabled bit to 1. If read after setting the bit to 1, there is
the possibility that different palette contents may be read after palette switching occurs.
Procedure For Setting A Color Palette:
• Procedure for switching from the initial state
The initial state (after power-on reset) is the display reset state.
A. Set the registers of the display unit (DU).
B. Set either color palette 1, color palette 2, color palette 3, or color palette 4.
C. After setting the color palette, set the color palette switching enable bit to 1.
D. Cancel the display reset.
• Procedure for switching from display state
In the display state, the DRES bit and DEN bit in the DSYSR are 0 and 1 respectively.
A. Confirm that the color palette switching enable bit is 0.
B. Set either color palette 1, color palette 2, color palette 3, or color palette 4.
C. After setting the color palette, set the color palette switching enable bit to 1.
Rev.1.00 Jan. 10, 2008 Page 942 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.9
Superpositioning of Planes
For each plane, three types of combined superpositioning are possible: α blending, transparent
colors, and EOR operations. By setting the PnSPIM bits in PnMR, the superpositioned display
type can be selected.
However, α blending and EOR operation cannot be performed simultaneously on the same plane.
α blending and EOR operations are performed after expanding the display data format into
RGB888 format.
Complementary formats for the different input display data formats are indicated in table 19.11.
α blending and EOR operations are performed in order from lower planes to higher planes. Figure
19.5 is a block diagram illustrating this procedure.
Table 19.10 Superpositioning
PnSPIM
Superpositioning
000
Transparency processing is performed for the specified plane.
When the specified plane is a transparent color, the lower plane is displayed.
(Initial value)
001
Blending of the specified plane with the lower plane is performed.
When the specified plane is a transparent color, blending is not performed and the
lower plane is displayed.
010
EOR operation of the specified plane and the lower plane is performed.
When the specified plane is a transparent color, EOR operation is not performed
and the lower plane is displayed.
011
Setting prohibited
100
Transparency processing is not performed for the specified plane.
The specified plane is displayed.
101
Blending of the specified plane with the lower plane is performed.
Transparent color specification for the specified plane is ignored, and blending of
all the pixels in the specified plane with the lower plane is performed.
110
EOR operation of the specified plane and the lower plane is performed.
Transparent color specification for the specified plane is ignored, and EOR
operation of all the pixels in the specified plane and the lower plane is performed.
111
Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 943 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.11 RGB888 Bit Configuration in Each Display Data Format
Data Format
R (8 bits)
G (8 bits)
B (8 bits)
8 bits/pixel
R (6 bits)
0
0
G (6 bits)
0
0
B (6 bits)
0
0
16 bits/pixel
R (5 bits)
0
0
0
G (6 bits)
0
0
B (5 bits)
0
0
0
ARGB
R (5 bits)
0
0
0
G (5 bits)
0
0
B (5 bits)
0
0
0
YC→RGB
R (8 bits)
0
G (8 bits)
B (8 bits)
Plane with priority 1
Output display data
Plane with priority 2
Plane with priority 3
Plane PnSPIM with priority 1
Plane with priority 4
Plane with priority 5
Plane with priority 6
The priority is set in DPPR.
Plane PnSPIM with priority 2
Plane PnSPIM with priority 3
Plane PnSPIM with priority 4
Plane PnSPIM with priority 5
Superposition
processing circuit
Figure 19.5 Plane Processing Sequence in α Blending and EOR Operation
When the format of display data for α blending or EOR operation is 8 bits/pixel, after selection in
advance of the color palette to be used, the α blending or EOR operation on/off should be
specified. At this time, when both planes for α blending or for EOR operation have the same color
palette selected (color palette contention), only the specified plane is displayed, with no α
blending or EOR operation performed. When display of all lower planes is turned off, the
specified plane is displayed. That is, blending or EOR operation of the specified plane with the
display data specified in BPOR is not performed.
α Blending: In α blending, blending processing is performed according to the alpha (α) value set
by the PnALPHA bits in PnALPHAR, the alpha (α) value set by the blend ratio bits in the color
palette, or the alpha (α) value of the input display data.
Blending result = (α × specified plane + (H'100-α) × lower plane)/H'100
Notes: 1. In the above formula, the blending result, α, the specified plane, and the lower plane
are all given as 8-bit data.
2. When 0 is set as the alpha value, only the lower plane is displayed.
3. Approximation compensation is not performed. Alpha value is equal to H'FF, specified
plane is equal to H'FF and lower plane equal to H’00, and then the result is H'FE.
Rev.1.00 Jan. 10, 2008 Page 944 of 1658
REJ09B0261-0100
19. Display Unit (DU)
When the PnDDF bit in PnMR is set to ARGB, and moreover the PnSPIM bit in PnMR is set to
perform blending, α blending is performed according to the A value of the input ARGB data
format.
Transparent Colors: For each plane, transparent color processing can be performed between the
specified plane and the lower plane by setting PnSPIM bit in PnMR to 0. However, in YC format
transparent color processing cannot be performed.
When the input display data and register value match, a color is judged to be a transparent color.
• In 8 bits/pixel mode
When the PnTC bit in PnMR is 0 (initial value), transparent color processing is performed
according to the setting in the plane n transparent color 1 register (PnTC1R). When the PnTC
bit PnMR is 1, up to a maximum 16 colors can be simultaneously specified for each of color
palette 1, color palette 2, color palette 3, color palette 4 according to the settings in CP1TR to
CP4TR. Only the indexes H'00 to H'0F can be specified as transparent colors; H'10 to H'FF
cannot be specified as transparent colors.
The color palette 1 to 4 transparent color registers can be selected using the PnCPSL bits in
PnMR.
• In 16 bits/pixel mode and ARGB mode
Transparent color processing is performed according to PnTC2R, regardless of the setting of
the PnTC bit in PnMR.
In the case of ARGB, bits 14 to 0 of PnTC2R are compared, and bit 15 is ignored.
The above is summarized in table 19.12, which indicates the transparent color specification
registers which are valid when the PnTC bit in PnMR is 0 and 1.
Rev.1.00 Jan. 10, 2008 Page 945 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.12 Transparent Color Specification Registers
Data Format
Transparent Color
Specification Bit
Color Palette Select
Bit
Transparent Color
Specification Register
⎯
(PnMR) /PnTC
(PnMR) /PnCPSL
⎯
8 bits/pixel
0
⎯
PnTC1R
1
00
CP1TR
1
01
CP2TR
1
10
CP3TR
1
11
CP4TR
16 bits/pixel
⎯
⎯
PnTC2R
ARGB
⎯
⎯
PnTC2R
EOR Operation: EOR operation of the specified plane with the lower plane is performed.
Rev.1.00 Jan. 10, 2008 Page 946 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.10 Display Contention
Color Palette Contention: When performing α blending and EOR operations, if the same color
palette is selected for both planes with the input display data format at 8 bits/pixel, color palette
contention may occur. This is because contention decisions occur not in plane units, but in pixel
units.
Figure 19.6 shows contention for a case in which data for plane 1, plane 2, and plane 3 is 8
bits/pixel, α blending is specified for plane 1 and EOR operation is specified for plane 2, and the
same color palette is selected for the three planes. (It is assumed that there are no transparent-color
pixels in plane 1, plane 2, or plane 3.)
When contention occurs, α blending and EOR operations become invalid, and the plane with the
highest priority is displayed.
A
Plane 1 (α blending)
Plane 2 (EOR operation)
Plane 3
Legend:
No contention
P1: Plane 1
P2: Plane 2
P1 is displayed
P3: Plane 3
Note: Bold black lines indicate the display area.
P1 and P2
contention
P1 is displayed
P1, P2, and P3
contention
P1 is displayed
P2 and P3
contention
P2 is displayed
No contention
P3 is displayed
Figure 19.6 Color Palette Contention
(When Same Color Palette Is Selected for Multiple Planes)
Figure 19.7 summarizes the display results when combining color palette selection and transparent
colors in the display section A in Figure 19.6.
• P1αP2 shows the result of α blending of plane 1 and plane 2.
• P2⊕P3 shows the result of an EOR operation on plane 2 and plane 3.
• P1α (P2⊕P3) shows the result of α blending of plane 1 with the result of an EOR operation on
plane 2 and Plane 3.
• BPOR shows display data in the background color register.
Rev.1.00 Jan. 10, 2008 Page 947 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Color palette selection Δ: Same color palette selected; X: Different color palette selected
P1
Δ
Δ
Δ
X
X
P1
P2
P2
Δ
Δ
X
Δ
X
P3
Δ
X
Δ
Δ
X
P1
P1
P1
P1
P1
P1αP3
P1
P1αP2
P1αP2
P1
P1αP2
P1αP2
P1(P2⊕P3)
P1αP2
P1αP3
P2⊕P3
P2
P3
P2⊕P3
P2
P3
P3
P2
P2
P3
BPOR
BPOR
BPOR
BPOR
P3
P1
P2
P2
P1
P1αP3
P1
P1
P2⊕P3
P2
P3
BPOR
Transparent color
Non-transparent color
Figure 19.7 Results of Display Combining Color Palette Selection and Transparent Colors
YC Data Contention: The display unit (DU) has only one YC-RGB conversion circuit internally,
and so YC-RGB conversion cannot be performed simultaneously for two or more planes. When
there are pixels requiring YC-RGB conversion on two or more planes simultaneously, the pixels
on the uppermost plane are YC-RGB converted, and the lower plane is not displayed.
Figure 19.8 describes YC-RGB conversion when the data for three planes is in YC format.
Plane 1 (YC data)
Plane 2 (YC data)
Plane 3 (YC data)
YC-RGB conversion plane
Plane 1
Plane 1
Plane 1
Figure 19.8 YC Data Contention
Rev.1.00 Jan. 10, 2008 Page 948 of 1658
REJ09B0261-0100
Plane 2
Plane 3
19. Display Unit (DU)
Plane Priority Order: The display priority order for planes is set using DPPR; if one plane is set
in two or more places in the priority order, the place with highest priority is selected.
For example, if the setting in DPPR is H'00CBD888, then the results of the priority order and
display on/off settings are as follows.
Plane with priority 1
Plane 1
Plane with priority 2
No corresponding plane
Plane with priority 3
No corresponding plane
Plane with priority 4
Plane 6
Plane with priority 5
Plane 4
Plane with priority 6
Plane 5
Display off planes
Plane 2 and plane 3
19.4.11 Blinking
For each plane, blinking operation can be performed by using the display area start address 0 and
1 registers.
Usually, double buffer control is performed for each plane according to the setting of the PnBM
bit in PnMR. However, blinking is performed with the period specified by the PnBTA and PnBTB
bits in PnBTR by setting the PnBM bits in PnMR to 10 (Auto display change mode (blinking
mode)). If the PnBTA and PnBTB bits are set to 0, operation is the same as when set to 1.
(m-1)th frame
m-th frame
First frame
Second frame
VSYNC
Operation of
the display unit (DU)
A0 is displayed on screen
A1 is displayed on screen
A0: Display area start address 0
A1: Display area start address 1
Blinking period
setting
PnBTA (A0 display period is set)
Buffer switching performed
according to blinking period
PnBTB (A1 display period is set)
(Internal counter)
BTA-1
BTA
0
1
Rev.1.00 Jan. 10, 2008 Page 949 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.12 Scroll Display
By setting display area and display screen sizes and start positions independently for each plane,
smooth scroll processing can be performed independently for each plane.
The display can be scrolled by cyclically setting the plane n display start position X, Y values
(coordinates specified by PnSPXR and PnSPYR), taking as the origin the leading address in
memory specified by PnDSA0R and PnDSA1R for each plane.
Figure 19.9 summarizes display scrolling. The display is scrolled by setting the display start
position from A to B.
Note: Display sizes and other area settings for each plane should be set such that there is no data
display outside the memory configuration area.
Plane 1 display area start address
Display start position
A
B
Memory width
Plane 6 display area start address
.
.
.
Display start position
B
A
Memory width
Figure 19.9 Schematic Diagram of Scroll Display
Rev.1.00 Jan. 10, 2008 Page 950 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.13 Wraparound Display
In addition to display scrolling, wrap-around display, which can be used in spherical scrolling, is
possible for each plane. When enabling wrap-around display, the PnWAE bit in PnMR is set. As a
result of changing the plane n display start position X, Y (the plane n start position X set in
PnSPXR and the plane n start position Y set in PnSPYR) in order to scroll the display, even when
plane n overflows the wrap-around area, the wrap-around area is seen as a spherical surface in
wrap-around display, as in figure 19.10, and the part overflowing is complemented and displayed.
The method used to specify the wrap-around area is described below.
1. The leading address of the memory used for plane n is specified in PnDSA0R and PnDSA1R.
2. With the beginning of the specified memory as origin, the upper-left coordinates of the wraparound area are specified in PnWASPR. The X-direction width of the wrap-around area is the
memory width set in PnMWR.
3. The Y-direction width of the wrap-around area is set in PnWAMWR.
Plane n display area start address
Plane n wrap-around start position
Wrap-around
memory width Y
Plane n display start position
Memory width
4
3
1
Plane n display start position
2
1
2
3
4
Wrap-around display
Figure 19.10 Schematic Diagram of Wraparound Display
Note: When wrap-around display is disabled (when the PnWAE bit in PnMR is 0), the part
overflowing the wrap-around area becomes the color specified by BPOR, and
superposition processing using this color is performed.
Rev.1.00 Jan. 10, 2008 Page 951 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.14 Upper-Left Overflow Display
For each plane, a display start position in memory (PnSPXR, PnSPYR) and display size
(PnDSXR, PnDSYR) can be set arbitrarily, so that by combining and using these registers, areas
overflowing the upper-left relative to the monitor origin (upper-left corner) can be displayed
without overwriting display data in memory.
For a picture of size (DSX, DSY) and with start position (SPX, SPY), by setting the size to (DSXΔX, DSY-ΔY) and the start position to (SPX+ΔX, SPY+ΔY), the ΔX part overflowing on the left
side and the ΔY part overflowing on top can be displayed. At this time, the display position
(PnDPXR, PnDPYR) is fixed at 0.
Display data in memory
Monitor screen
Display area start address
Monitor origin
SPY
SPX
DSY
DSY
DSX
Monitor
DSX
(DPX,DPY)=(0,0)
Overflow display
ΔY
SPY + ΔY
DSY - ΔY
ΔX
SPX + ΔX
DSY - ΔY
DSX - ΔX
Monitor
DSX - ΔX
(DPX,DPY)=(0,0)
Figure 19.11 Schematic Diagram of Upper-Left Overflow Display
Rev.1.00 Jan. 10, 2008 Page 952 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.15 Double Buffer Control
The double buffer control of the display unit (DU) includes two types of functions, which are a
manual display change mode in which display switching is all controlled by software, and an auto
display change mode to realize blinking.
In the case of manual display change mode, the display change is performed in frame units for
non-interlaced and interlaced sync display, and in field units for interlaced sync & video display.
In the case of auto display change mode, all switching is performed in field units.
Manual Display Change Mode: In manual display change mode, display frame switching is
controlled by software. Display switching can either be performed by software using the PnDC bit
in PnMR, or by setting the buffer 0 or buffer 1 start address in PnDSA0R and PnDSA1R indicated
by the DFBn bit in DSSR.
When making a transition from this mode to another mode, the PnDC bit should always be set to 1
first.
The following shows a control example for the manual display mode.
First frame
Second frame
VSYNC
(Non-interlaced)
A0: Display area start address 0
A1: Display area start address 1
A0 display
A0 display
PnDC bit is set to 1,
or
DSAR address is
set.
Transfer of display data for A1
Interrupt
processing
A1 display
Display is switched by
the PnDC bit or DSAR
at the falling edge of VSYNC.
Interrupt
processing
Start of
transfer
Start of
transfer
Interrupt
processing
The PnDC bit is
set by a transfer
end interrupt.
Display data
transfer by a
VBK interrupt
If display data
transfer for B1 has
not been completed,
a VBK interrupt is
ignored.
Display screen
operation
CPU operation
Third frame
Transfer of display data for A0
VBK: VBK bit in DSSR
Auto Display Change Mode: For information on the auto display change mode, refer to section
19.4.11, Blinking.
Rev.1.00 Jan. 10, 2008 Page 953 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.4.16 Sync Mode
In order to facilitate synchronization with external equipment, in addition to master mode, a TV
synchronization function is provided. Selection of master mode and TV sync mode is performed
using the TVM bit in DSYSR. Regardless of the synchronization method, the position of the
falling edge of the vertical sync signal (VSYNC) set by VSPR is detected and is reflected in the
FRM bit and VBK bit in DSSR.
Master Mode (Internal Sync Mode): By setting the period and pulse width of the horizontal and
vertical sync signals (HSYNC, VSYNC) in the display timing generation register, the
corresponding waveforms are output. Also, display data is output in sync with these signals.
When in interlaced sync mode and interlaced sync & video mode, a signal is output to the ODDF
pin indicating odd/even fields.
TV Sync Mode (External Sync Mode): In TV sync mode, display data is output in sync with a
horizontal sync signal and vertical sync signal (EXHSYNC, EXVSYNC) input from a TV, video,
or other external sync signal generation circuit. Display data is output with reference to the falling
edge of the EXHSYNC signal and the rising edge of the EXVSYNC signal.
The horizontal sync signal, vertical sync signal, and clock signal from the external sync signal
generation circuit are input to the HSYNC, VSYNC, and DCLKIN pin, respectively. CSYNC is at
high level. When in interlaced sync mode and interlaced sync & video mode, a signal should be
input to the ODDF pin indicating odd/even fields. When in non-interlaced mode, the input to the
ODDF pin should be fixed at low level or at high level.
When operating the unit in TV sync mode also, values must be set in HCR, HSWR, VCR, and
VSPR (display timing generation registers).
When the EXVSYNC signal is input, either before or after completion of display of the display
size portion set in the display unit (DU), the display unit (DU) performs vertical display
completion operation and transitions to control for the next screen. When the EXVSYNC signal is
not input, the unit continues to wait for the EXVSYNC signal while remaining in the vertical
blanking interval (auto-control is not performed). Similarly, when the EXHSYNC signal is input
the display unit (DU) performs horizontal display completion operation and transitions to control
for the next raster line; but if the EXHSYNC signal is not input, the unit continues to wait for the
EXHSYNC signal while remaining in the horizontal blanking interval (auto-control is not
performed).
Rev.1.00 Jan. 10, 2008 Page 954 of 1658
REJ09B0261-0100
19. Display Unit (DU)
TV (sync signal generation circuit): Master
Clock
HSYNC VSYNC Field signal
R,G,B
Display
Input 2
DCLKIN HSYNC VSYNC
ODDF
This LSI: Slave
Output
DR5-DR0
DG5-DG0
DB5-DB0
CDE
Input 1
Switching between master
(input 2) and slave (input 1)
by CDE.
Figure 19.12 Signal Flow in TV Sync Mode
Sync Method Switching Mode: When switching from master mode into TV sync mode, or from
TV sync mode into master mode, when necessary this mode should be switched into first. Even if
a transition to this mode is not made first, switching of the synchronization method is possible.
In this mode, input/output pins connected to the display unit (DU) are for input, and so pin
collision can be avoided. Also, in this mode no display operation is performed, and the internal dot
clock is stopped, so that disorder in the input dot clock has no effect on display operation.
Rev.1.00 Jan. 10, 2008 Page 955 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.5
Display Control
19.5.1
Display Timing Generation
In the display unit (DU), display timing is generated for the horizontal direction and vertical
direction of the display screen. Display timing is set by using display timing generation registers.
Figure 19.13 shows the display timing in non-interlaced mode. Here, the display screen is defined
in terms of the variables of Table 19.13.
hc
hsw
xs
VSYNC
HSYNC
xw
ys
vc
yw
Display area
vsw
Figure 19.13 Display Timing Generation for Horizontal Direction and Vertical Direction of
Display Screen
Rev.1.00 Jan. 10, 2008 Page 956 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.13 Variables Defined in Display Screen
Variables
hc*
1
Contents
Units
Horizontal scan period
Dot clock
hsw
Horizontal sync pulse width
Dot clock
xs
From rise of HSYNC to display start position in the Dot clock
horizontal direction of the display screen
xw
Display width per 1 raster of display screen
Dot clock
vc*
Vertical scan period
Raster line
vsw
Vertical sync pulse width
Raster line
ys
From rise of VSYNC to display start position in the Raster line
vertical direction of the display screen
yw
Vertical display period of display screen
2
Raster line
Notes: 1. Should be set such that hsw + xs + xw < hc + 18 (decimal)
2. Should be set such that vsw + ys + yw < vc
The display timing generation register settings are different depending on the scan method and
synchronization method. Hence the value of the display timing generation register should be set
after performing calculations like those indicated in Table 19.14.
Rev.1.00 Jan. 10, 2008 Page 957 of 1658
REJ09B0261-0100
19. Display Unit (DU)
Table 19.14 Correspondence Table of Settings of Display Timing Generation Registers
Synchronization Method
Register Name
Bit Name
Master Mode
TV Sync Mode
Horizontal display start position
register (HDSR)
HDS
hsw + xs - 19
hsw + xs – 24 *2
Horizontal display end position
register (HDER)
HDE
hsw + xs – 19 + xw
hsw + xs – 24 + xw *2
Vertical display start position register VDS
(VDSR)
ys – 2 *3
ys – 2 *3
Vertical display end position register VDE
(VDER)
ys – 2 + yw
ys – 2 + yw
Horizontal synchronous pulse width
register (HSWR)
HSW
hsw - 1
hsw - 1
Horizontal scan period register
(HCR)
HC
hc - 1
hc - 1
Vertical synchronous position
register (VSPR)
VSP
vc – vsw - 1
vc – vsw - 1
Vertical scan period register (VCR)
VC
vc - 1
vc - 1
Notes: The numerical values in the above table are decimal numbers.
1. In all scan modes, VDS, VDE, VSP, VC settings are in single-field units.
2. The values of HDS and HDE are from the fourth rising edge of DCLKOUT after
detection of the falling edge of HSYNC through the rising edge of DCLKOUT.
DCLKIN(input)
HSYNC( input)
DCLKOUT(output)
DR5-DR0(output)
DG5-DG0(output)
DB5-DB0(output)
3. VDS should be set to 1 or greater.
4. HC should be set so as to satisfy HC > HDE.
Rev.1.00 Jan. 10, 2008 Page 958 of 1658
REJ09B0261-0100
hsw + xs
D0
D1
D2
19. Display Unit (DU)
19.5.2
CSYNC
When in master mode, a CSYNC (composite sync) signal is output. EQWR is used to set the lowlevel pulse width of the CSYNC equal pulse. SPWR is used to set the low-level pulse width of the
CSYNC separation pulse.
The CSYNC waveform is selected using the CSY bit in DSMR.
HC
HSW
HSYNC
VSYNC
CSYNC
(CSY = 00)
EQW
SPW
(CSY = 10)
Equivalent pulse:
3 rasters
Separation pulse:
3 rasters
Equivalent pulse:
3 rasters
(CSY = 11)
1/2HC
Equivalent pulse:
2.5 rasters
Separation pulse:
2.5 rasters
Equivalent pulse:
2.5 rasters
When HC is odd, it is rounded to an even value.
Figure 19.14 CSYNC Timing Chart (Non-Interlaced Mode, First Half of Interlace Frame)
Rev.1.00 Jan. 10, 2008 Page 959 of 1658
REJ09B0261-0100
19. Display Unit (DU)
HC
HSW
HSYNC
VSYNC
CSYNC
(CSY = 00)
1/2HC
EQW
SPW
(CSY = 10)
Equivalent pulse:
3 rasters
Separation pulse:
3 rasters
Equivalent pulse:
3 rasters
(CSY = 11)
1/2HC
Equivalent pulse:
2.5 rasters
Separation pulse:
2.5 rasters
Equivalent pulse:
2.5 rasters
When HC is odd, it is rounded to an even value.
Figure 19.15 CSYNC Timing Chart (Last Half of Interlace Frame)
Rev.1.00 Jan. 10, 2008 Page 960 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.5.3
Scan Method
The scan method can be selected from among non-interlaced mode, interlaced sync mode, and
interlaced sync & video mode. The mode is selected using the SCM bit in DSYSR.
• Non-interlaced mode
In this scan method, one frame consists of a single field.
• Interlaced sync mode
In this scan method, one frame consists of two fields. The two fields are an even field and an
odd field, displaying the same data.
• Interlaced sync & video mode
In this scan method, one frame consists of two fields. The two fields are an even field and an
odd field, displaying different data.
The ODEV bit in DSMR is used to set the display order of fields in interlaced sync mode and in
interlaced sync & video mode. When the ODEV bit is 0, the display order for one frame is odd
field, then even field; when the ODEV bit is 1, the order for one frame is even field, then odd
field.
When in master mode, high level is output from the ODDF pin during even field display, and low
level is output during odd field display. When in TV sync mode, high level is input to the ODDF
pin to cause display of the even field, and low level is input to cause display of the odd field.
Note: When non-interlaced mode is selected in TV sync mode, the ODDF pin should be fixed at
low level or high level.
Rev.1.00 Jan. 10, 2008 Page 961 of 1658
REJ09B0261-0100
19. Display Unit (DU)
00
00
00
01
01
01
02
02
02
03
03
03
04
04
04
05
05
05
06
06
06
07
07
07
08
08
08
09
09
Non-interlaced mode
00
09
Interlaced sync mode
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
Raster scanned in an odd field
Raster scanned in an even field
0F
10
11
12
13
Interlaced sync & video mode
Figure 19.16 Example of Display in Each Scan Mode
Rev.1.00 Jan. 10, 2008 Page 962 of 1658
REJ09B0261-0100
19. Display Unit (DU)
• Example of vertical scan period
Non-interlaced mode:
1/60 second/field, 1/30 second/field
Interlaced mode:
1/30 second/frame
Interlaced sync & video mode: 1/30 second/frame
• Display in non-interlaced method
In this method, all lines are displayed at once without providing intervals between input video
signals.
This input method is for monitors capable of high-resolution display.
Display in non-interlaced mode
The ODEV and ODDF pins are not used.
HSYNC
VSYNC
VDS
0
1
2
3
4
5
6
7
476
477
478
479
Figure 19.17 Display in Non-Interlaced Method
Rev.1.00 Jan. 10, 2008 Page 963 of 1658
REJ09B0261-0100
19. Display Unit (DU)
• Display in interlaced method
At every scan period VC of the input video signal, even lines and odd lines are switched and
displayed in alternation, and a single screen (one frame) is combined and displayed (with the
afterimage of the preceding VC) with a period of 2VC. This is the normal TV input method.
1. Display in interlaced sync mode
When one frame is configured as shown below,
clear the ODEV bit to 0.
· The first field is an odd field (the ODDF pin is low)
· The second field is an even field (the ODDF pin is high)
HSYNC
VSYNC
ODDF
When one frame is configured as shown below,
set the ODEV bit to 1.
· The first field is an even field (the ODDF pin is high)
· The second field is an odd field (the ODDF pin is low)
HSYNC
VSYNC
Even field
238
239
238
239
Even field
Odd filed
0
1
2
3
0
1
2
3
238
239
238
239
2. Display in interlaced sync & video mode
When one frame is configured as shown below,
clear the ODEV bit to 0.
· The first field is an odd field (the ODDF pin is low)
· The second field is an even field (the ODDF pin is high)
HSYNC
VSYNC
When one frame is configured as shown below,
set the ODEV bit to 1.
· The first field is an even field (the ODDF pin is high)
· The second field is an odd field (the ODDF pin is low)
ODDF
HSYNC
VSYNC
Even field
477
479
476
478
Even field
Odd filed
0
2
4
6
1
3
5
7
476
478
477
479
Figure 19.18 Display in Interlaced Method
Rev.1.00 Jan. 10, 2008 Page 964 of 1658
REJ09B0261-0100
VDS + HC/2
0
2
4
6
VDS - HC/2
1
3
5
7
VDS
VDS
Odd filed
VDS + HC/2
0
1
2
3
VDS - HC/2
0
1
2
3
ODDF
VDS
VDS
Odd filed
ODDF
19. Display Unit (DU)
19.5.4
Color Detection
When output display data matches a color set in CDER, high level is output from the CDE pin.
The CDEM bit in DSMR can be used to fix the level outside display intervals. Also, the CDEL bit
in DSMR can be used to select the polarity of the output level.
Table 19.15 Output Level of the CDE Pin
The CDE pin in display intervals
The CDE pin outside display
intervals
Result of comparison of output
display data and color detection
register
Value of the color detection
register*
CDEL
CDEM
Same
Different
0
Other than 0
0
00
High level
Low level
High level
Low level
0
01
High level
Low level
High level
Low level
0
10
High level
Low level
Low level
Low level
0
11
High level
Low level
High level
High level
1
00
Low level
High level
Low level
High level
1
01
Low level
High level
Low level
High level
1
10
Low level
High level
High level
High level
1
11
Low level
High level
Low level
Low level
Note:
*
Output display data is 0 outside display intervals.
Rev.1.00 Jan. 10, 2008 Page 965 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.5.5
Output Signal Timing Adjustment
The display unit (DU) enables selection of output timing, with respect to the output dot clock, of
the various output signals (the four sync signals HSYNC, VSYNC, CSYNC, ODDF, as well as
DISP, CDE, CLAMP, DE, digital RGB signals). Timing is selected by setting OTAR.
Table 19.16 Output Signal Timing Setting Parameters
Bit Name in OTAR
Description
SYNCA
Sets output timing of the HSYNC, VSYNC, CSYNC, ODDF signal
DISPA
Sets output timing of the DISP signal
CDEA
Sets output timing of the CDE signal
DRGBA
Sets output timing of digital RGB signal
CLAMPA
Sets output timing of the CLAMP signal
DEA
Sets output timing of the DE signal
DCLKOUT
Register value
B'000
(Initial value)
Reference timing
Adjustable range of output timing
B'100
B'101
B'001
B'110
B'010
B'111
B'011
Note: Timing charts other than this chart in this section are all provided on basic timing.
Figure 19.19 Adjustable Range of Output Timing
Rev.1.00 Jan. 10, 2008 Page 966 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.5.6
CLAMP Signal and DE Signal
The display unit (DU) generates a CLAMP signal and DE signal, independent of the DISP signal
indicating the display interval.
The rising-edge start position and high-level width of the CLAMP signal and DE signal, with
reference to the HSYNC signal falling edge, can be set in dot clock units. Figure 19.20 shows the
timing chart.
However, the DE signal is fixed at low level during the vertical blanking interval.
DCLKOUT
(output)
HSYNC signal
CLAMP signal/
DE signal
Starting position value
+1
High-level width value
When start position value is 0
CLAMP signal/
DE signal
When the HSYNC
signal falls, the
CLAMP signal/DE
signal also falls.
The minimum value of rising position = 1
When (start position value + high-level width value) exceeds the HSYNC period
CLAMP signal/
DE signal
Start position value
+1
High-level width value
Figure 19.20 CLAMP Signal and DE Signal
Rev.1.00 Jan. 10, 2008 Page 967 of 1658
REJ09B0261-0100
19. Display Unit (DU)
19.6
Power-Down Sequence
When executing the power-down sequence by the following modes or functions, turn off the
display in advance.
1.
2.
3.
4.
5.
Sleep mode
Deep sleep mode
Module standby
Change of frequency
Manual reset
Even when the display unit (DU) enters the power-down sequence, the register values are retained.
During a power-down sequence, do not access the display unit (DU).
19.6.1
Procedures before Executing the Power-Down Sequence
1. Display is turned off by setting both the DEN and DRES bits in DSYSR to 0.
2. Use the VBK bit in DSSR to confirm the next VBK flag (because the display is turned off with
the timing of VBK).
3. The display unit (DU) displays the data in DOOR before the display is turned off.
4. Execute the power-down sequence.
5. Display unit (DU) is turned off.
19.6.2
Resetting the Power-Down Sequence
1. Reset the power-down sequence and start the clock.
2. Make settings to turn the display on, with the DEN and DRES bits in DSYSR set to 1 and 0
respectively.
Rev.1.00 Jan. 10, 2008 Page 968 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Section 20 Graphics Data Translation Accelerator (GDTA)
This block incorporates a YUV data conversion processing module (CL) that converts data in the
YUV 4:2:0 format to YUV 4:2:2 or ARGB format, as well as a video processing module (MC)
that generates estimated images using motion vectors.
A GADMAC is provided within the GDTA; the internal GADMAC performs high-speed data
transfer between external DDR2-SDRAM and the internal image processing function block,
bypassing the CPU. This block is also provided with buffer RAM; the buffer RAM is used for
color conversion table data in CL processing and as storage work RAM for IDCT data in MC
processing. RAM read access is performed by the internal GADMAC, to realize high-speed image
processing.
20.1
Features
• CL: YUV data conversion processing unit
Reads an image in external memory, processes the data, and writes the data back to external
memory
Conversion modes: YUV 4:2:0 → YUV 4:2:2 (YUYV mode), ARGB8888 (ARGB mode)
• MC: Video processing control unit
Reads images in external memory, processes the data, and writes the data back to external
memory
Generates estimated images through motion vectors in macroblock units (Y: 16 pixels x 16
lines, U/V: 8 pixels x 8 lines)
Modes: Forward, reverse, bidirectional, and intra macroblock processing
• Internal GADMAC dedicated to data transfer and internal data buffer RAM
The GADMAC for data transfer has four channels, and is capable of high-speed data transfer
bypassing the CPU.
In addition, 8 Kbytes of buffer RAM each are incorporated for both color conversion table data
storage in CL processing, and for IDCT data storage in MC processing.
Rev.1.00 Jan. 10, 2008 Page 969 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Figure 20.1 shows the GDTA block diagram.
LBSC
External memory
CPU
DDR2IF
DDR2-SDRAM
(external)
(external)
SuperHyway bus
GDTA
Target interface
Response
queue
(4 planes)
Arbiter
Initiator interface
Request
queue
(4 planes)
CLWCLRMCWMCRGADMAC GADMAC GADMAC GADMAC
Control
register
Buffer RAM
interface
CL/MC
interface
Color conversion
table control
IDCT control
RAM 1 interface
arbiter
RAM 0 interface
arbiter
Buffer
RAM 0
(8 Kbytes)
CL
function block
MC
function block
Figure 20.1 GDTA Block Diagram
Rev.1.00 Jan. 10, 2008 Page 970 of 1658
REJ09B0261-0100
Buffer
RAM 1
(8 Kbytes)
20. Graphics Data Translation Accelerator (GDTA)
(1)
Target Interface
The target interface controls access by the CPU to the GDTA internal registers, buffer RAM 0/1,
and CL and MC function blocks (image processing function blocks). The target interface places a
request queue/response queue in the high-speed SuperHyway bus reception unit, and alleviates the
access load of the initiator on this bus.
(2)
Initiator Interface
Four GADMAC channels are provided within the GDTA, for data control during DMA data
transfer between external memory and internal image processing function blocks.
(3)
GADMAC (CLR_GADMAC, CLW_GADMAC, MCR_GADMAC, MCW_GADMAC)
The GADMAC executes DMA control of data transfer between external memory and internal
image processing function blocks. A total of four channels are provided, including two channels
for CL functions and two channels for MC functions. The GADMAC is controlled through
registers within the CL function block and MC function block.
Applications of each of the channels are as follows.
CLR_GADMAC: Data transfer from external memory to the CL function block (read data
transfer)
CLW_GADMAC: Data transfer from the CL function block to external memory (write data
transfer)
MCR_GADMAC: Data transfer from external memory to the MC function block (read data
transfer)
MCW_GADMAC: Data transfer from the MC function block to external memory (write data
transfer)
* External memory: The external DDR2-SDRAM or the external memory connected to the
local bus.
(4)
Color Conversion Table Control
In color conversion table control, color conversion table data is transferred between buffer RAM 0
and the CL function block.
(5)
IDCT Control
In IDCT control, IDCT data is transferred between the buffer RAM 1 and MC function block.
Rev.1.00 Jan. 10, 2008 Page 971 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
(6)
Buffer RAM
Buffer RAM consists of two SRAM units each with an 8-Kbyte capacity. The RAM is used to
store color conversion table data for CL functions (buffer RAM 0) and to store IDCT data for MC
functions (buffer RAM 1). The entire 16-Kbyte capacity of this buffer RAM is allocated to a
memory map seen from the CPU. Valid access sizes are 4, 8, 16 and 32 bytes, and invalid access
sizes are 1 and 2 bytes.
(7)
Buffer RAM Interface
The buffer RAM interface controls access to the buffer RAM 0/1. When there is access contention
between the CPU and the color conversion table transfer unit or the IDCT data transfer unit, bus
arbitration is performed. The buffer RAM interface exists as two independent blocks for the two
buffer RAM units. Because there is no access contention even during simultaneous reading of
buffer RAM 0 by the color conversion table data transfer unit and reading of buffer RAM 1 by the
IDCT table transfer unit, processing delays due to wait states and so on do not occur.
(8)
CL Function Block
This block realizes CL functions. Specifically, data in YUV 4:2:0 format is converted into YUV
4:2:2 format or into ARGB8888 format.
(9)
MC Function Block
This block realizes MC functions. Specifically, estimated images are generated using motion
vectors.
(10) CL/MC Bus Interface
The CL/MC bus interface controls access to the CL/MC function block by the CPU.
(11) Arbiter
When there is contention of access from each GADMAC in the GDTA to the SuperHyway bus,
bus arbitration is performed.
Rev.1.00 Jan. 10, 2008 Page 972 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.2
GDTA Address Space
Figure 20.2 shows the GDTA address space (physical addresses). The GDTA consists of a number
of function blocks; the address space is divided into function block units owned by the respective
blocks. However, not all actually existing addresses are on the space; addresses following those in
a function block are mapped as mirror spaces for the function block. For the details of addresses
actually existing in each function block, refer to section 20.3, Register Descriptions. Mirror spaces
also exist in buffer RAM.
Note: The space from H'FE40_3000 to H'FE40_3FFF, excluding the space for registers
DRCL_CTL, DWCL_CTL, DRMC_CTL, DWMC_CTL, DCP_CTL, and DID_CTL is a
reserved area, and write access is prohibited. If write access is made, correct operation
cannot be guaranteed.
P4 area address
Area 7 address
H'FE40 0000
H'1E40 0000
Common registers for bus interface
H'FE40 1000
H'1E40 1000
H'FE40 2000
H'1E40 2000
H'FE40 3000
H'1E40 3000
H'FE41 0000
H'1E41 0000
H'FE41 2000
H'1E41 2000
H'FE42 0000
H'1E42 0000
H'FE42 2000
H'1E42 2000
H'FE43 0000
H'1E43 0000
CL
MC
Reserved
Buffer RAM 0 (8 Kbytes)
Undefined (buffer RAM 0 mirror space: 8 Kbytes × 7)
Buffer RAM 1 (8 Kbytes)
Undefined (buffer RAM 1 mirror space: 8 Kbytes × 7)
Reserved
H'FE4F FFFF
H'1E4F FFFF
Figure 20.2 GDTA Address Space Map (Physical Addresses)
Rev.1.00 Jan. 10, 2008 Page 973 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3
Register Descriptions
Table 20.1 to 20.3 show the register configuration of the GDTA. Table 20.4 to 20.6 show the
register states in each processing mode.
Table 20.1 GDTA Register Configuration (GDTA Common Registers)
Name
Abbreviation
R/W
P4 Address
Area 7
Address
Access Sync
Size
Clock
GA mask register
GACMR
R/W
H'FE40 000C H'1E40 000C
32
GAck
GA enable register
GACER
R/W
H'FE40 0010
H'1E40 0010
32
GAck
GA processing end
interrupt source
indicating register
GACISR
R
H'FE40 0014
H'1E40 0014
32
GAck
GA processing end
interrupt source
indication clear register
GACICR
W
H'FE40 0018
H'1E40 0018
32
GAck
GA interrupt enable
register
GACIER
R/W
H'FE40 001C H'1E40 001C
32
GAck
GA CL output data
alignment register
DWCL_CTL
R/W
H'FE40 3000
H'1E40 3000
32
GAck
GA CL input data
alignment register
DRCL_CTL
R/W
H'FE40 3200
H'1E40 3200
32
GAck
GA MC input data
alignment register
DRMC_CTL
R/W
H'FE40 3400
H'1E40 3400
32
GAck
GA MC output data
alignment register
DWMC_CTL
R/W
H'FE40 3600
H'1E40 3600
32
GAck
GA buffer RAM 0 data
alignment register
DCP_CTL
R/W
H'FE40 3800
H'1E40 3800
32
GAck
GA buffer RAM 1 data
alignment register
DID_CTL
R/W
H'FE40 3A00
H'1E40 3A00
32
GAck
Rev.1.00 Jan. 10, 2008 Page 974 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.2 GDTA Register Configuration (CL Block)
Name
Abbreviation
R/W
P4 Address
Area 7
Address
Access Sync
Size
Clock
CL command FIFO
CLCF
W
H'FE40 1000
H'1E40 1000
32
GAck
CL control register
CLCR
R/W
H'FE40 1004
H'1E40 1004
32
GAck
CL status register
CLSR
R
H'FE40 1008
H'1E40 1008
32
GAck
CL frame width setting
register
CLWR
R/W
H'FE40 100C H'1E40 100C
32
GAck
CL frame height setting
register
CLHR
R/W
H'FE40 1010
H'1E40 1010
32
GAck
CL input Y padding size
setting register
CLIYPR
R/W
H'FE40 1014
H'1E40 1014
32
GAck
CL input UV padding
size setting register
CLIUVPR
R/W
H'FE40 1018
H'1E40 1018
32
GAck
CL output padding size
setting register
CLOPR
R/W
H'FE40 101C H'1E40 101C
32
GAck
R/W
H'FE40 1020
32
GAck
CL palette pointer setting CLPLPR
register
H'1E40 1020
Rev.1.00 Jan. 10, 2008 Page 975 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.3 GDTA Register Configuration (MC Block)
Name
Abbreviation
R/W
P4 Address
Area 7
Address
Access Sync
Size
Clock
MC command FIFO
MCCF
W
H'FE40 2000
H'1E40 2000
32
GAck
MC status register
MCSR
R
H'FE40 2004
H'1E40 2004
32
GAck
MC frame width setting
register
MCWR
R/W
H'FE40 2008
H'1E40 2008
32
GAck
MC frame height setting
register
MCHR
R/W
H'FE40 200C H'1E40 200C
32
GAck
MC Y padding size
setting register
MCYPR
R/W
H'FE40 2010
H'1E40 2010
32
GAck
MC UV padding size
setting register
MCUVPR
R/W
H'FE40 2014
H'1E40 2014
32
GAck
MC output frame Y
pointer register
MCOYPR
R/W
H'FE40 2018
H'1E40 2018
32
GAck
MC output frame U
pointer register
MCOUPR
R/W
H'FE40 201C H'1E40 201C
32
GAck
MC output frame V
pointer register
MCOVPR
R/W
H'FE40 2020
H'1E40 2020
32
GAck
MC past frame Y pointer MCPYPR
register
R/W
H'FE40 2024
H'1E40 2024
32
GAck
MC past frame U pointer MCPUPR
register
R/W
H'FE40 2028
H'1E40 2028
32
GAck
MC past frame V pointer MCPVPR
register
R/W
H'FE40 202C H'1E40 202C
32
GAck
MC future frame Y
pointer register
MCFYPR
R/W
H'FE40 2030
H'1E40 2030
32
GAck
MC future frame U
pointer register
MCFUPR
R/W
H'FE40 2034
H'1E40 2034
32
GAck
MC future frame V
pointer register
MCFVPR
R/W
H'FE40 2038
H'1E40 2038
32
GAck
Rev.1.00 Jan. 10, 2008 Page 976 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.4 GDTA Register States in Each Processing Mode (GDTA Common Registers)
Register
Abbreviation
Power-On Reset
Manual Reset
Sleep
Deep Sleep
GACMR
H'0000 0000
H'0000 0000
Retained
Retained
GACER
H'0000 0000
H'0000 0000
Retained
Retained
GACISR
H'0000 0000
H'0000 0000
Retained
Retained
GACICR
H'0000 0000
H'0000 0000
Retained
Retained
GACIER
H'0000 0000
H'0000 0000
Retained
Retained
DWCL_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DRCL_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DRMC_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DWMC_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DCP_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DID_CTL
H'0000 0000
H'0000 0000
Retained
Retained
Table 20.5 GDTA States in Each Processing Mode (CL Block)
Register
Abbreviation
Power-On Reset
Manual Reset
Sleep
Deep Sleep
CLCF
H'0000 0000
H'0000 0000
Retained
H'0000_0000
CLCR
H'0000 0000
H'0000 0000
Retained
Retained
CLSR
H'0000 0000
H'0000 0000
Retained
Retained
CLWR
H'0000 0000
H'0000 0000
Retained
Retained
CLHR
H'0000 0000
H'0000 0000
Retained
Retained
CLIYPR
H'0000 0000
H'0000 0000
Retained
Retained
CLIUVPR
H'0000 0000
H'0000 0000
Retained
Retained
CLOPR
H'0000 0000
H'0000 0000
Retained
Retained
CLPLPR
H'0000 0000
H'0000 0000
Retained
Retained
Note: A 0 is always read from these registers.
Rev.1.00 Jan. 10, 2008 Page 977 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.6 GDTA States in Each Processing Mode (MC Block)
Register
Abbreviation
Power-On
Reset
Manual Reset Sleep
Deep Sleep
Module
Standby
MCCF
H'0000 0000
H'0000 0000
Retained
H'0000_0000
H'0000_0000
MCSR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCWR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCHR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCYPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCUVPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCOYPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCOUPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCOVPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCPYPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCPUPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCPVPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCFYPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCFUPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
MCFVPR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
Note: A 0 is always read from these registers.
Rev.1.00 Jan. 10, 2008 Page 978 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.1
GA Mask Register (GACMR)
GACMR is in the GDTA common register block and enables writing to the GA enable register
(GACER). Writing to GACER is enabled by writing of the key code to this register. In the initial
state, the key code is not written and writing to GACER is disabled.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
GACM
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
GACM
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
GACM
0
R/W
Write the key code [H'A55A 0FF0] to enable writing to
GACER. If a value other than the key code is written,
writing to the GA enable register is disabled.
Rev.1.00 Jan. 10, 2008 Page 979 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.2
GA Enable Register (GACER)
GACER is in the GDTA common register block and controls the block operation.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
MC_EN
CL_EN
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 2
⎯
All 0
⎯
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
1
MC_EN
0
R/W
Enables access to the MC registers.
0: Writing to the MC registers is invalid. The value read
from the MC register is undefined.
1: Reading and writing are enabled.
0
CL_EN
0
R/W
Enables access to the CL registers.
0: Writing to the CL registers is invalid. The value read
from the CL register is undefined.
1: Reading and writing are enabled.
Rev.1.00 Jan. 10, 2008 Page 980 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.3
GA Interrupt Source Indicating Register (GACISR)
GACISR is in the GDTA common register block and indicates the states of interrupt sources for
each module.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 4
⎯
All 0
⎯
Reserved
MC_ERR CL_ERR MC_END CL_END
0
R
0
R
0
R
0
R
These bits are always read as 0. The write value should
always be 0.
3
MC_EER
0
R
Indicates whether an MC module error interrupt has
occurred.
0: No error
1: Error occurred
2
CL_EER
0
R
Indicates whether a CL module error interrupt has
occurred.
0: No error
1: Error occurred
1
MC_END
0
R
Indicates whether an MC module processing end
interrupt has occurred.
0: '1' has been written to the MC_ENCR bit in GACICR.
1: Processing completed
0
CL_END
0
R
Indicates whether a CL module processing end interrupt
has occurred.
0: '1' has been written to the CL_ENCR bit in GACICR.
1: Processing completed
Note: MC processing completion is indicated when the command processing is complete and the
end command is written to the MC command FIFO (see section 20.3.17, CL Input Y
Padding Size Setting Register (CLIYPR)).
Rev.1.00 Jan. 10, 2008 Page 981 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.4
GA Interrupt Source Indication Clear Register (GACICR)
GACICR is in the GDTA common register block and clears interrupt source indication for each
module. Bits in this register are read as 0.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
MC_
ERCR
CL_
ERCR
MC_
ENCR
CL_
ENCR
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
W
0
W
0
W
0
W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 4
⎯
All 0
⎯
Reserved
These bits are always read as 0. The write value should
always be 0.
3
MC_ERCR
0
W
Clears indication of an MC error interrupt (clears the
MC_ERR bit)
0: No effect
1: Clears error interrupt indication
2
CL_ERCR
0
W
Clears indication of a CL error interrupt (clears the
CL_ERR bit)
0: No effect
1: Clears error interrupt indication
1
MC_ENCR
0
W
Clears indication of an MC processing end interrupt
(clears the MC_END bit)
0: No effect
1: Clears processing end interrupt indication
0
CL_ENCR
0
W
Clears indication of a CL processing end interrupt (clears
the CL_END bit)
0: No effect
1: Clears processing end interrupt indication
Rev.1.00 Jan. 10, 2008 Page 982 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.5
GA Interrupt Enable Register (GACIER)
GACIER is in the GDTA common register block and sets interrupt output for each module.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
MC_
EREN
CL_
EREN
MC_
ENEN
CL_
ENEN
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 4
⎯
All 0
⎯
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
3
MC_EREN
0
R/W
Controls output of an MC module error interrupt
0: Does not output the interrupt.
1: Outputs the interrupt.
2
CL_EREN
0
R/W
Controls output of a CL module error interrupt
0: Does not output the interrupt.
1: Outputs the interrupt.
1
MC_ENEN
0
R/W
Controls output of an MC module processing end
interrupt
0: Does not output the interrupt.
1: Outputs the interrupt.
0
CL_ENEN
0
R/W
Controls output of a CL module processing end interrupt
0: Does not output the interrupt.
1: Outputs the interrupt.
Rev.1.00 Jan. 10, 2008 Page 983 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.6
GA CL Input Data Alignment Register (DRCL_CTL)
DRCL_CTL is in the GDTA common register block and specifies data alignment of CL input
data.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DCLR_
DTAM
DCLR_DTSA
DCLR_DTUA
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
⎯
Reserved
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
4
DCLR_DTAM 0
R/W
Specifies data alignment conversion mode.
0: Data alignment is performed using an endian signal
1: Data alignment is performed using the DRCL_CTL
register setting
3, 2
DCLR_DTSA 0
R/W
Specifies the data size for data alignment conversion.
00: No conversion
01: 64 bits
10: 32 bits
11: 16 bits
1, 0
DCLR_DTUA 0
R/W
Specifies the unit for data alignment conversion.
00: No conversion
01: 8 bits
10: 16 bits
11: 32 bits
Note: For details of data alignment conversion patterns, refer to section 20.6, Data Alignment.
Rev.1.00 Jan. 10, 2008 Page 984 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.7
GA CL Output Data Alignment Register (DWCL_CTL)
DWCL_CTL is in the GDTA common register block and specifies data alignment of CL output
data.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DCLW_
DTAM
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
⎯
Reserved
DCLW_DTSA
DCLW_DTUA
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
4
DCLW_DTAM 0
R/W
Specifies data alignment conversion mode
0: Data alignment is performed using an endian signal
1: Data alignment is performed using the DWCL_CTL
register setting
3, 2
DCLW_DTSA 0
R/W
Specifies the data size for data alignment conversion.
00: No conversion
01: 64 bits
10: 32 bits
11: 16 bits
1, 0
DCLW_DTUA 0
R/W
Specifies the unit for data alignment conversion.
00: No conversion
01: 8 bits
10: 16 bits
11: 32 bits
Note: For details of data alignment conversion patterns, refer to section 20.6, Data Alignment.
Rev.1.00 Jan. 10, 2008 Page 985 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.8
GA MC Input Data Alignment Register (DRMC_CTL)
DRMC_CTL is in the GDTA common register block and specifies data alignment of MC input
data.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DMCR_
DTAM
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
⎯
Reserved
DMCR_DTSA
DMCR_DTUA
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
4
DMCR_DTAM 0
R/W
Specifies data alignment conversion mode
0: Data alignment is performed using an endian signal
1: Data alignment is performed using the DRMC_CTL
register setting
3, 2
DMCR_DTSA 0
R/W
Specifies the data size for data alignment conversion.
00: No conversion
01: 64 bits
10: 32 bits
11: 16 bits
1, 0
DMCR_DTUA 0
R/W
Specifies the unit for data alignment conversion.
00: No conversion
01: 8 bits
10: 16 bits
11: 32 bits
Note: For details of data alignment conversion patterns, refer to section 20.6, Data Alignment.
Rev.1.00 Jan. 10, 2008 Page 986 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.9
GA MC Output Data Alignment Register (DWMC_CTL)
DWMC_CTL is in the GDTA common register block and specifies data alignment of MC output
data.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 5 ⎯
Initial
Value
R/W
Description
All 0
⎯
Reserved
DMCW_
DTAM DMCW_DTSA
0
R/W
0
R/W
0
R/W
DMCW_DTUA
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
4
DMCW_DTAM 0
R/W
Specifies data alignment conversion mode
0: Data alignment is performed using an endian signal
1: Data alignment is performed using the DWMC_CTL
register setting
3, 2
DMCW_DTSA 0
R/W
Specifies the data size for data alignment conversion.
00: No conversion
01: 64 bits
10: 32 bits
11: 16 bits
1, 0
DMCW_DTUA 0
R/W
Specifies the unit for data alignment conversion.
00: No conversion
01: 8 bits
10: 16 bits
11: 32 bits
Note: For details of data alignment conversion patterns, refer to section 20.6, Data Alignment.
Rev.1.00 Jan. 10, 2008 Page 987 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.10 GA Buffer RAM 0 Data Alignment Register (DCP_CTL)
DCP_CTL is in the GDTA common register block and specifies data alignment of the data stored
in buffer RAM 0.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DCP_
DTAM
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
⎯
Reserved
DCP_DTSA
DCP_DTUA
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
4
DCP_DTAM
0
R/W
Specifies data alignment conversion mode
0: Data alignment is performed using an endian signal
1: Data alignment is performed using the DCP_CTL
register setting
3, 2
DCP_DTSA
0
R/W
Specifies the data size for data alignment conversion.
00: No conversion
01: 64 bits
10: 32 bits
11: 16 bits
1, 0
DCP_DTUA
0
R/W
Specifies the unit for data alignment conversion.
00: No conversion
01: 8 bits
10: 16 bits
11: 32 bits
Note: For details of data alignment conversion patterns, refer to section 20.6, Data Alignment.
Rev.1.00 Jan. 10, 2008 Page 988 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.11 GA Buffer RAM 1 Data Alignment Register (DID_CTL)
DID_CTL is in the GDTA common register block and specifies data alignment of the data stored
in buffer RAM 1.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
DID_
DTAM
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 5
⎯
All 0
⎯
Reserved
DID_DTSA
0
R/W
0
R/W
DID_DTUA
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
4
DID_DTAM
0
R/W
Specifies data alignment conversion mode
0: Data alignment is performed using an endian signal
1: Data alignment is performed using the DID_CTL
register setting
3, 2
DID_DTSA
0
R/W
Specifies the data size for data alignment conversion.
00: No conversion
01: 64 bits
10: 32 bits
11: 16 bits
1, 0
DID_DTUA
0
R/W
Specifies the unit for data alignment conversion.
00: No conversion
01: 8 bits
10: 16 bits
11: 32 bits
Note: For details of data alignment conversion patterns, refer to section 20.6, Data Alignment.
Rev.1.00 Jan. 10, 2008 Page 989 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.12 CL Command FIFO (CLCF)
CLCF is in the CL register block and receives commands. This register uses the FIFO method and
recognizes four command parameters according to the writing order. This register does not retain
the written values. This register is always read as 0.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CL_CF
Initial value:
R/W:
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
W
0
W
0
W
0
W
0
W
0
W
0
W
CL_CF
Initial value:
R/W:
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CL_CF
0
W
Command FIFO register
Notes: 1. Setting Method
When accessing this register, the CL_EN bit in GACER should be set to 1. Access is
possible only when the CL_EN bit is set to 1. If the CL_EN bit is 0, access is invalid
(writing is invalid; the result of reading is indefinite).
The following shows the parameter contents assumed according to the writing order:
Writing Order
Setting Contents
CL command parameter 1
Input Y pointer
CL command parameter 2
Input U pointer
CL command parameter 3
Input V pointer
CL command parameter 4
Output pointer
CL command
•
Input Y pointer: Pointer for input Y data (Input Y data storing address)
•
Input U pointer: Pointer for input U data (Input U data storing address)
•
Input V pointer: Pointer for input V data (Input V data storing address)
•
Output pointer: Pointer for output data (Output data storing address)
Rev.1.00 Jan. 10, 2008 Page 990 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
2. Setting Method When Setting Values in Succession
When setting values in this register in succession, the CL module is able to receive the
next command while the CL_CFF bit in CLSR is 0. To perform processing by changing
the command alone, just set the new command in this register.
3. The input Y/U/V pointers and output pointers must be set to point to addresses on 32byte boundaries. If not, the lower address is regarded as 0.
4. Two commands can be received. If the next command is written when the command
FIFO is full, the commands stored in the command FIFO are retained and the next
command is ignored.
20.3.13 CL Control Register (CLCR)
CLCR is in the CL register block and specifies the CL operating mode.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 9
⎯
All 0
⎯
0
R/W
0
R/W
0
R/W
3
⎯
CL_DA
0
R/W
0
R/W
0
⎯
CL_OD CL_OA CL_MD
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
8 to 4
CL_DA
All 0
R/W
Specifies output data alignment.
The correspondence between the alignment and
specified value is shown in the following table.
3
⎯
0
⎯
Reserved
This bit is always read as 0. The write value should
always be 0.
2
CL_OD
0
R/W
Specifies output access size (access size for output)
0: 4 bytes
1: 32 bytes
Rev.1.00 Jan. 10, 2008 Page 991 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Bit
Bit Name
Initial
Value
R/W
Description
1
CL_OA
0
R/W
Specifies output address mode
0: Output address incremented
When the output access size is 4 bytes, the address is
incremented by H'4; when the output access size is 32
bytes, the address is incremented by H'20.
1: Output address fixed
The address set in CLCF as command parameter 4
(output pointer) is output.
0
CL_MD
0
R/W
Specifies conversion mode
0: YUYV conversion
Converts from YUV420 to YUV422 format
1: ARGB conversion
Converts from YUV420 to ARGB8888 format
A Table of CL_DA Register Settings And Output Data Alignment
CL_DA
YUYV
Conversion
ARGB
Conversion
CL_DA
YUYV
Conversion
ARGB
Conversion
H'0
Y0UY1V
ARGB
H'10
UVY0Y1
RBAG
H'1
Y0UVY1
ARBG
H'11
UVY1Y0
RBGA
H'2
Y0Y1UV
AGRB
H'12
VY1Y0U
BGAR
H'3
Y0Y1VU
AGBR
H'13
VY1UY0
BGRA
H'4
Y0VY1U
ABGR
H'14
VY0Y1U
BAGR
H'5
Y0VUY1
ABRG
H'15
VY0UY1
BARG
H'6
Y1UY0V
GRAB
H'16
VUY0Y1
BRAG
H'7
Y1UVY0
GRBA
H'17
VUY1Y0
BRGA
H'8
Y1Y0UV
GARB
H'18
Y0UY1V
ARGB
H'9
Y1Y0VU
GABR
H'19
Y0UY1V
ARGB
H'A
Y1VY0U
GBAR
H'1A
Y0UY1V
ARGB
H'B
Y1VUY0
GBRA
H'1B
Y0UY1V
ARGB
H'C
UY1Y0V
RGAB
H'1C
Y0UY1V
ARGB
H'D
UY1VY0
RGBA
H'1D
Y0UY1V
ARGB
H'E
UY0Y1V
RAGB
H'1E
Y0UY1V
ARGB
H'F
UY0VY1
RABG
H'1F
Y0UY1V
ARGB
Rev.1.00 Jan. 10, 2008 Page 992 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.14 CL Status Register (CLSR)
CLSR is in the CL register block and indicates the internal states of the CL.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31 to 4
⎯
All 0
⎯
Reserved
CLSR_
CL_CFF
EXE
0
R
0
R
CL_CFS
0
R
0
R
These bits are always read as 0. The write value should
always be 0.
3
CLSR_EXE
0
R
CL execution state display
0: Stopped
1: Executing
2
CL_CFF
0
R
CL_CF (command FIFO) status display
Indicates the state of command buffer reception.
0: Command receivable
1: Command buffer full
1, 0
CL_CFS
0
R
Command pointer status display
00: CL_CF command parameter 1 setting wait state
01: CL_CF command parameter 2 setting wait state
10: CL_CF command parameter 3 setting wait state
11: CL_CF command parameter 4 setting wait state
Rev.1.00 Jan. 10, 2008 Page 993 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.15 CL Frame Width Setting Register (CLWR)
CLWR is in the CL register block and sets the input image width in pixel units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
CL_W
0
R/W
Initial
Value
R/W
All 0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 0
CL_W
All 0
R/W
Frame width setting
Should be set in pixel units.
Value set should be 2 × n (n: an integer greater than 0)
Notes: 1.
2.
3.
4.
CL processing is prohibited when the setting is 0.
Addition is performed taking that 1 pixel = 1 byte.
CLWR (bytes) + CLIYPR (bytes) should be 32 bytes × n (n: an integer greater than 0)
CLWR (bytes)/2 + CLUVPR (bytes) should be 32 bytes × n (n: an integer greater than
0)
Rev.1.00 Jan. 10, 2008 Page 994 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.16 CL Frame Height Setting Register (CLHR)
CLHR is in the CL register block and sets the input image height in line units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
CL_H
0
R/W
Initial
Value
R/W
All 0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 0
CL_H
All 0
R/W
Frame height setting
Should be set in line units.
Note: CL processing is prohibited when the setting is 0.
Rev.1.00 Jan. 10, 2008 Page 995 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.17 CL Input Y Padding Size Setting Register (CLIYPR)
CLIYPR is in the CL register block and sets the input Y padding size in byte units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
CL_IYP
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
All 0
⎯
Reserved
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
11 to 0
CL_IYP
All 0
R/W
Input Y padding size setting
Should be set in byte units.
Value set should be 2 × n (n: an integer greater than 0)
Notes: 1. Addition is performed taking that 1 pixel = 1 byte.
2. CLWR (bytes) + CLIYPR (bytes) should be 32 bytes × n (n: an integer greater than 0)
Rev.1.00 Jan. 10, 2008 Page 996 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.18 CL Input UV Padding Size Setting Register (CLIUVPR)
CLIUVPR is in the CL register block and sets the input UV padding size in byte units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
CL_IUVP
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
All 0
⎯
Reserved
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
11 to 0
CL_IUVP
All 0
R/W
Input UV padding size setting
Should be set in byte units.
Notes: 1. Addition is performed taking that 1 pixel = 1 byte.
2. CLWR (bytes)/2 + CLUVPR (bytes) should be 32 bytes × n (n: an integer greater than
0)
Rev.1.00 Jan. 10, 2008 Page 997 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.19 CL Output Padding Size Setting Register (CLOPR)
CLOPR is in the CL register block and sets the output padding size in byte units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
CL_OP
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
All 0
⎯
Reserved
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
11 to 0
CL_OP
All 0
R/W
Output padding size setting
Should be set in byte units.
Value set should be 2 × n (n: an integer greater than 0)
Rev.1.00 Jan. 10, 2008 Page 998 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.20 CL Palette Pointer Register (CLPLPR)
CLPLPR is in the CL register block and sets the color conversion table pointer. The RAM 0
address used for a work area should be specified. This register setting is used only in the ARBG
conversion mode, not used in the YUYV conversion mode.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CL_PLPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
CL_PLPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CL_PLPT
All 0
R/W
Palette Pointer Setting
An address in the range from H'FE41_0000 to
H'FE41_1FFF (P4 area address) should be specified.
Note: A 4-byte boundary address must be specified.
Rev.1.00 Jan. 10, 2008 Page 999 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.21 MC Command FIFO (MCCF)
MCCF is in the MC register block and receives commands. This register uses the FIFO method
and recognizes a maximum of eight command parameters according to the writing order. This
register does not retain the written values. This register is always read as 0.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_CF
Initial value:
R/W:
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
W
0
W
0
W
0
W
0
W
0
W
0
W
MC_CF
Initial value:
R/W:
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
0
W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
MC_CF
0
W
Command FIFO Register
Setting Method: When accessing this register, the MC_EN bit in GACER should be set to 1.
Access is possible only when the MC_EN bit is set to 1. If the MC_EN bit is 0, access is invalid
(writing is invalid; the read value is indefinite).
The following shows the setting contents assumed according to the writing order:
Rev.1.00 Jan. 10, 2008 Page 1000 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Reverse
Bidirectional
Intra Macroblock Macroblock
Forward
Macroblock
Macroblock
End
Writing Order
Processing
Processing
Processing
Processing
Command
Command
Bits 31 to 26: cbp
Bits 31 to 26: cbp
Bits 31 to 26: cbp
Bits 31 to 26: cbp
Bits 2 to 0: H'4
parameter 1
Bits 2 to 0: H'0
Bits 2 to 0: H'1
Bits 2 to 0: H'2
Bits 2 to 0: H'3
Command
mbcol
mbcol
mbcol
mbcol
⎯
mbrow
mbrow
mbrow
mbrow
⎯
Command
Buffer RAM
Forward_
Back_
Forward_
⎯
parameter 4
pointer
Recon_down
Recon_down
Recon_down
Command
⎯
Forward_
Back_
Forward_
Recon_right
Recon_right
Recon_right
parameter 2
Command
parameter 3
parameter 5
Command
⎯
parameter 6
Command
⎯
Buffer RAM
Buffer RAM
Back_
pointer
pointer
Recon_down
⎯
⎯
parameter 7
Command
parameter 8
Back_
MC
⎯
command
⎯
⎯
Recon_right
⎯
⎯
⎯
Buffer RAM
⎯
pointer
• MC Operating Mode:
⎯ Bits 2 to 0 are H'0: Intra macroblock processing
⎯ Bits 2 to 0 are H'1: Forward macroblock processing
⎯ Bits 2 to 0 are H'2: Reverse macroblock processing
⎯ Bits 2 to 0 are H'3: Bidirectional macroblock processing
⎯ Bits 2 to 0 are H'4: End command (When bit 2 is 1, it is regarded as the end command.)
• Coded Block Pattern (cbp):
⎯ Bit 31: Indicates whether or not the Y0 IDCT data exists (0: IDCT data is invalid, 1: IDCT
data is valid)
⎯ Bit 30: Indicates whether or not the Y1 IDCT data exists (0: IDCT data is invalid, 1: IDCT
data is valid)
⎯ Bit 29: Indicates whether or not the Y2 IDCT data exists (0: IDCT data is invalid, 1: IDCT
data is valid)
⎯ Bit 28: Indicates whether or not the Y3 IDCT data exists (0: IDCT data is invalid, 1: IDCT
data is valid)
⎯ Bit 27: Indicates whether or not the U IDCT data exists (0: IDCT data is invalid, 1: IDCT
data is valid)
Rev.1.00 Jan. 10, 2008 Page 1001 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
•
•
•
•
•
•
•
⎯ Bit 26: Indicates whether or not the V IDCT data exists (0: IDCT data is invalid, 1: IDCT
data is valid)
mbcol: Row position in macroblock units (number of macroblocks)
mbrow: Column position in macroblock units (number of macroblocks)
Forward_Recon_down: Past-frame vertical-direction vector (half-pixel units)
Forward_Recon_right: Past-frame horizontal-direction vector (half-pixel units)
Back_Recon_down: Future-frame vertical-direction vector (half-pixel units)
Back_Recon_right: Future-frame horizontal-direction vector (half-pixel units)
Buffer RAM pointer: Pointer to the buffer RAM 1 in use (RAM 1 address storing IDCT data)
Notes on MC Command FIFO Register (MCCF) Settings:
1. Buffer RAM pointers should point to addresses on 4-byte boundaries. If not, the lower address
is regarded as 0.
2. When setting values in this register in succession, the MC module is able to receive the next
command while the MC_CFF bit in MCSR is 0. To perform processing by changing the
command alone, just set the new command in this register.
3. Four commands can be received. If the next command is written when the command FIFO is
full, the commands stored in the command FIFO are retained and the next command is
ignored.
4. Specify the RAM 1 pointer even when the cbp is set to 6'h00. The specified address should be
H'FE42_0000.
5. In intra macroblock processing mode, the output data values are not guaranteed if the cbp is set
to a value other than 6'h3F.
Rev.1.00 Jan. 10, 2008 Page 1002 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.22 MC Status Register (MCSR)
MCSR is in the MC register block and indicates the internal states of the MC.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
2
1
0
⎯
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 11 ⎯
MC_CFA
0
R
0
R
0
R
Initial
Value
R/W
Description
All 0
⎯
Reserved
7
6
5
4
3
⎯
⎯
⎯
⎯
MC_CFF
0
⎯
0
⎯
0
⎯
0
⎯
0
R
MC_CFS
0
R
0
R
0
R
These bits are always read as 0. The write value should
always be 0.
10 to 8
MC_CFA
All 0
R
Indicates the number of commands accumulated in
MCCF (command FIFO); maximum number accumulated
is 4
Number of accumulated commands:
000: 0
001: 1
010: 2
011: 3
100: 4
7 to 4
⎯
All 0
⎯
Reserved
These bits are always read as 0. The write value should
always be 0.
3
MC_CFF
0
R
MCCF status display
Indicates the state of command buffer reception.
0: Command receivable
1: Command buffer full
Rev.1.00 Jan. 10, 2008 Page 1003 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Bit
Bit Name
Initial
Value
R/W
Description
2 to 0
MC_CFS
All 0
R
Command pointer status display
000: MCCF command parameter 1 setting wait state
001: MCCF command parameter 2 setting wait state
010: MCCF command parameter 3 setting wait state
011: MCCF command parameter 4 setting wait state
100: MCCF command parameter 5 setting wait state
101: MCCF command parameter 6 setting wait state
110: MCCF command parameter 7 setting wait state
111: MCCF command parameter 8 setting wait state
20.3.23 MC Frame Width Setting Register (MCWR)
MCWR is in the MC register block and sets the input frame width in pixel units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
MC_W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
31 to 12 ⎯
All 0
⎯
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 0
All 0
R/W
Frame width setting
Should be set by the number of pixels.
Bit
Bit Name
MC_W
Notes: 1.
2.
3.
4.
MC processing is prohibited when the setting is 0.
Addition is performed taking that 1 pixel = 1 byte.
MCWR (bytes) + MCYPR (bytes) should be 16 bytes x n (n: an integer greater than 0)
MCWR (bytes)/2 + MCUVPR (bytes) should be 8 bytes x n (n: an integer greater than
0)
5. MCWR (bytes)/2: Shifts the MCWR setting one bit to the right. (When the setting is odd,
the bit 0 setting is discarded.)
Rev.1.00 Jan. 10, 2008 Page 1004 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.24 MC Frame Height Setting Register (MCHR)
MCHR is in the MC register block and sets the input image height in line units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
MC_H
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
R/W
Description
All 0
⎯
Reserved
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
11 to 0
MC_H
All 0
R/W
Frame height setting
Should be set by the number of lines.
Note: MC processing is prohibited when the setting is 0.
Rev.1.00 Jan. 10, 2008 Page 1005 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.25 MC Y Padding Size Setting Register (MCYPR)
MCYPR is in the MC register block and sets the input Y padding size in byte units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
MC_YP
0
R/W
Initial
Value
R/W
All 0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 0
MC_YP
All 0
R/W
Input Y padding size setting
Should be set by the number of bytes.
Notes: 1. Addition is performed taking that 1 pixel = 1 byte.
2. MCWR (bytes) + MCYPR (bytes) should be 16 bytes x n (n: an integer greater than 0)
Rev.1.00 Jan. 10, 2008 Page 1006 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.26 MC UV Padding Size Setting Register (MCUVPR)
MCUVPR is in the MC register block and sets the input UV padding size in byte units.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
⎯
BIt:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
0
⎯
0
⎯
0
⎯
0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
BIt:
Initial value:
R/W:
Bit
Bit Name
31 to 12 ⎯
MC_UVP
0
R/W
Initial
Value
R/W
All 0
⎯
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 0
MC_UVP
All 0
R/W
Input UV padding size setting
Should be set by the number of bytes.
Notes: 1. Addition is performed taking that 1 pixel = 1 byte.
2. MCWR (bytes)/2 + MCUVPR (bytes) should be 8 bytes x n (n: an integer greater than
0)
3. MCWR (bytes)/2: Shifts the MCWR setting one bit to the right. (When the setting is odd,
the bit 0 setting is discarded.)
Rev.1.00 Jan. 10, 2008 Page 1007 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.27 MC Output Frame Y Pointer Register (MCOYPR)
MCOYPR is in the MC register block and specifies the Y pointer address for an output frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_OYPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_OYPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 0
MC_OYPT
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Output Frame Y Pointer
The address should be set. 0 should be written to bits 3
to 0.
Note: A 16-byte boundary address must be specified.
20.3.28 MC Output Frame U Pointer Register (MCOUPR)
MCOUPR is in the MC register block and specifies the U pointer address for an output frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_OUPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_OUPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 0
MC_OUPT
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Output Frame U Pointer
The address should be set. 0 should be written to bits 2
to 0.
Note: An 8-byte boundary address must be specified.
Rev.1.00 Jan. 10, 2008 Page 1008 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.29 MC Output Frame V Pointer Register (MCOVPR)
MCOVPR is in the MC register block and specifies the V pointer address for an output frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_OVPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_OVPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 0
MC_OVPT
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Output Frame V Pointer
The address should be set. 0 should be written to bits 2
to 0.
Note: An 8-byte boundary address must be specified.
20.3.30 MC Past Frame Y Pointer Register (MCPYPR)
MCPYPR is in the MC register block and specifies the Y pointer address for a past frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_PYPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_PYPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
MC_PYPT
All 0
R/W
Past Frame Y Pointer
The address should be set. 0 should be written to bits 3
to 0.
Note: A 16-byte boundary address must be specified.
Rev.1.00 Jan. 10, 2008 Page 1009 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.31 MC Past Frame U Pointer Register (MCPUPR)
MCPUPR is in the MC register block and specifies the U pointer address for a past frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_PUPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_PUPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 0
MC_PUPT
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Past Frame U Pointer
The address should be set. 0 should be written to bits 2
to 0.
Note: An 8-byte boundary address must be specified.
20.3.32 MC Past Frame V Pointer Register (MCPVPR)
MCPVPR is in the MC register block and specifies the V pointer address for a past frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_PVPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_PVPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
MC_PVPT
All 0
R/W
Past Frame V Pointer
The address should be set. 0 should be written to bits 2
to 0.
Note: An 8-byte boundary address must be specified.
Rev.1.00 Jan. 10, 2008 Page 1010 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.33 MC Future Frame Y Pointer Register (MCFYPR)
MCFYPR is in the MC register block and specifies the Y pointer address for a future frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_FYPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_FYPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 0
MC_FYPT
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Future Frame Y Pointer
The address should be set. 0 should be written to bits 3
to 0.
Note: A 16-byte boundary address must be specified.
20.3.34 MC Future Frame U Pointer Register (MCFUPR)
MCFUPR is in the MC register block and specifies an address to set the U pointer for a future
frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_FUPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_FUPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
MC_FUPT
All 0
R/W
Future Frame U Pointer
The address should be set. 0 should be written to bits 2
to 0.
Note: An 8-byte boundary address must be specified.
Rev.1.00 Jan. 10, 2008 Page 1011 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.3.35 MC Future Frame V Pointer Register (MCFVPR)
MCFVPR is in the MC register block and specifies the V pointer address for a future frame.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
MC_FVPT
Initial value:
R/W:
BIt:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
MC_FVPT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 0
MC_FVPT
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Future Frame V Pointer
The address should be set. 0 should be written to bits 2
to 0.
Note: An 8-byte boundary address must be specified.
Rev.1.00 Jan. 10, 2008 Page 1012 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.4
GDTA Operation
20.4.1
Explanation of CL Operation
By writing 1 to the CL_EN bit in GACER, registers in the CL register unit can be accessed. After
setting, as initial values, the input frame width/height, input padding size, output padding size,
operating mode (and, in ARGB conversion mode, the palette pointer setting), data written in
succession to CLCF is received, and upon receiving four command parameters (input Y/U/V
pointers, output pointer), processing is begun. In processing, data for one input frame as defined
by the settings (width vs. height) is read, and by setting the CL_MD bit in CLCR, YUYV
conversion or ARGB conversion is performed within the module. Processing is performed in
single frame units, and one frame's worth of converted data is transmitted to the output destination.
The CL can store two commands (in register CLCF) and does not accept the command for the next
frame when two commands are already stored (command FIFO full). A judgment as to whether
processing has ended can be made by using either an interrupt or the CL_END bit in GACISR.
(1)
Overview of YUYV Conversion Functions
The following shows an outline of the YUYV conversion specification.
In the example of this figure, H'8 is set in CLIWR
and H'30 is set in CLOPR.
Output padding size (= 48 bytes)
Display image
DDR2-SDRAM
Frame width (8 pixels in this figure)
Input
Y pointer
Y1 Y2
Y5 Y6
** . **
.
** . **
Y9 ...
Y3
Y7
**
**
U4 U5 ...
Input
V pointer
V0 V1 V2 V3
** ** .. ** **
** ** . ** **
Y0
U0
Y1
V0
Y2
U1
Y3
V1
Y4
U2
Y5
V2
Y6
U3
Y7
V3
Y8
U0
Y9
V0
Y10 U1 Y11 V1
Y12 U2
Y13
V2 Y14 U3 Y15 V3
Converted data output order
Y16
U4 Y17
V4
Y18 U5 Y19 V5
Y20 U6
Y21
V6 Y22 U7 Y23
Y24
U8 Y25
V8
Y26 U9 Y27 V9
Y28 U10 Y29 V10 Y30 U11 Y31 V11
Y32
U1 Y33 V12 Y34 U13 Y35 V13 Y36 U14 Y37 V14 Y38 U15 Y39 V15
V7
(2) Rearrangement (with output padding)
Invalid data
U0 U1 U2 U3
** ** .. ** **
** ** . ** **
(1) Input data
reading
Frame height
Input
U pointer
Y0
Y4
**
**
Y8
V4 V5 ...
Output
pointer
Y0
Y2
Y4
Y6
**
**
Y8
Y10
U0 Y1
U1 Y3
U2 Y5
U3 Y7
** .. **
** . **
U0 Y9
U1 ...
V0
V1
V2
V3
**
**
V0
(3) Output data writing (including output padding data)
External memory
connected to the
local bus
For output
(= 16 bytes)
Not for output
(= 32 bytes)
Depending on the specified width and padding size,
there may exist either one or neither of "padding data
for output" and "padding data not for output".
Figure 20.3 YUYV Conversion Functions
Rev.1.00 Jan. 10, 2008 Page 1013 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.7 shows YUYV4:2:2 conversion sequence shown in figure 20.3.
No. in the table corresponds to the number used in figure 20.3.
Table 20.7 YUYV4:2:2 Conversion Sequence
No. Operation
Description
(1)
YUV-separated input data stored in DDR2-SDRAM is read into the GDTA.
(2)
Input data
reading
The input data includes padding data with the specified input Y (UV)
padding size, but the GDTA excludes this padding data when reading the
data. However, if the input frame width is not on a 32-byte boundary,
padding data of the amount for 32-byte boundary adjustment is read into
the GDTA. Transfer of data from the DDR2-SDRAM to the GDTA is in 32
byte units, so that the input data size should be an integral multiple of 32
bytes for one line (frame width + input padding). If there are deviations in
the specified padding sizes for Y and U/V, operation is not guaranteed.
Rearrangement YUV data is rearranged according to the format indicated in the display
image of figure 20.3.
(When converting from YUYV 4:2:0 to YUYV 4:2:2, because the data
quantity for UV is 1/2 that for Y, the UV data in even lines is used for the UV
data in odd lines. For example, the UV data in line 0 is also used in line 1.)
Converted data is output in the converted data output order of the display
image diagram of figure 20.3, regardless of the output destination.
Before the converted data is output, padding data of the size specified by
the CLOPR register is added.
(3)
Output data
writing
Because output data is transferred in 32 byte units, one line of output data,
including output padding, should be made an integral multiple of 32 bytes.
(Similarly when the transfer destination is an external device, one line
should be an integral multiple of 32 bytes.)
Padding data other than that used for adjustment for the 32-byte boundary
is not output.
The output data write address for the next line output is calculated by
adding, to the current write address, the size of the padding data that is
specified as the output padding size for each line.
Rev.1.00 Jan. 10, 2008 Page 1014 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
(2)
Overview of ARGB Conversion Functions
The following shows an outline of the ARGB conversion specification.
256 entries
256 entries
16 bits
A
A
A
Y1: 1.164 (Y-16)
Y1: 1.164 (Y-16)
Y1: 1.164 (Y-16)
.
.
.
.
.
.
.
.
U0: -0.392 (U-128)
U0: -0.392 (U-128)
U0: -0.392 (U-128)
U1: 2.017 (U-128)
U1: 2.017 (U-128)
U1: 2.017 (U-128)
.
.
.
.
.
.
.
.
V0: 1.596 (V-128)
V0: 1.596 (V-128)
V0: 1.596 (V-128)
V1: -0.813 (V-128)
V1: -0.813 (V-128)
V1: -0.813 (V-128)
.
.
.
.
.
.
.
.
A
R
G
B
A
A
R
G
B
A
R
G
B
A
R
G
A
R
G
R
G
B
A
R
G
B
A
R
A
R
G
B
A
R
G
B
A
R
G
B
Converted data output order
B
R
G
B
A
R
G
B
A
R
G
B
B
B
R
G
B
A
R
G
B
A
R
G
B
B
B
R
G
B
A
R
G
B
A
R
G
B
G
B
Invalid data
256 entries
(3) Color
information
reading
16 bits
Frame height
Pallete
Pointer
Output padding size (= 48 bytes)
Display image
Frame width (4 pixels in this sample figure)
Buffer RAM 0
(4) ARGB conversion (with output padding)
DDR2-SDRAM
(5) Output data writing
(including output padding data)
Output pointer
Data for the
frame width
of 1 line
Output padding size
data inserted
A
A
A
A
R
R
R
R
G
G
G
G
B
B
B
B
** ** . ** **
** ** . ** **
A R G B
A R G B
For output
(= 16 bytes)
Not for output
(= 32 bytes)
Multiple of 32 bytes of data
External memory
connected to the
local bus
Depending on the specified width and
padding size, there may exist either one or
neither of "padding data for output" and
"padding data not for output".
Figure 20.4 ARGB Conversion Functions
Rev.1.00 Jan. 10, 2008 Page 1015 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.8 shows ARGB8888 conversion sequence shown in figure 20.4.
No. in the table corresponds to the number used in figure 20.4. (1) and (2) correspond to the
numbers in figure 20.3.
Table 20.8 ARGB8888 Conversion Sequence
No. Operation
Description
(1)
YUV-separated input data stored in DDR2-SDRAM is read into the GDTA.
(2)
Input data
reading
The input data includes padding data with the specified input Y (UV)
padding size, but the GDTA excludes this padding data when reading the
data. However, if the input frame width is not on a 32-byte boundary,
padding data of the amount for 32-byte boundary adjustment is read into the
GDTA. Transfer of data from the DDR2-SDRAM to the GDTA is in 32 byte
units, so that the input data size should be an integral multiple of 32 bytes
for one line (frame width + input padding). If there are deviations in the
specified padding sizes for Y and U/V, operation is not guaranteed.
Rearrangement YUV data is rearranged according to the format indicated in the display
image of figure 20.3.
(When converting from YUV 4:2:0 to YUV 4:2:2, because the data quantity
for UV is 1/2 that for Y, the UV data in even lines is used for the UV data in
odd lines. For example, the UV data in line 0 is also used in line 1.)
(3)
Color
information
reading
Data converted in (2) is used as the address of the color conversion table
stored in buffer RAM 0 (CLPLPR setting address + converted data), and
color information is read from buffer RAM 0.
(Converted data: Data converted in (2) is shifted two bits to the left and
added to be the RAM 0 address.)
(Color information is read from the buffer RAM 0 address calculated by
adding the Y value read from DDR2-SDRAM to the buffer RAM 0 palette
pointer value (the address set in CLPLPR). (Same for U and V))
Rev.1.00 Jan. 10, 2008 Page 1016 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
Description
(4)
ARGB data is generated from color information read from buffer RAM 0
using the following formula, and the converted data is output in the format
shown in the display image of figure 20.4. ARGB conversion is performed
according to the following conversion logic.
ARGB
conversion
A = The result of computation of clip_0_255((A+16)>> 5) for unsigned 16-bit
data (11 integer bits, 5 decimal bits) read from RAM 0 is output.
R = clip_0_255((Y1 +
V0 + 16) >> 5);
G = clip_0_255((Y1 + U0 + V1 + 16) >> 5);
B = clip_0_255((Y1 + U1
+ 16) >> 5);
When Y1 = 0, the conversion result is R, G, B = 0.
clip_0_255: 8-bit saturation calculation (0 ≤ x ≤ 255) (the sign is determined
by the uppermost bit (bit 15))
The converted data is output according to the conversion data output order
in the display image of figure 20.4, regardless of the output destination.
Converted data is output by the size 4 x the frame width specified by
CLWR, rounded up to an integral multiple of 32 bytes.
(5)
Output data
writing
Because output data is transferred in 32 byte units, one line of output data,
including output padding, should be made an integral multiple of 32 bytes.
Padding data other than that used for adjustment for the 32-byte boundary
is not output.
The output data write address for the next line output is calculated by
adding, to the current write address, the size of the padding data that is
specified as the output padding size for each line.
(3)
CL Processing Procedure
Various initial settings are made by the CPU, and processing is started. The processing procedure
is the same for YUYV conversion mode and for ARGB conversion mode, except that in ARGB
conversion mode the data of the color conversion table must be prepared in buffer RAM 0. The
procedure is described below.
Rev.1.00 Jan. 10, 2008 Page 1017 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Start
[Step (1) Clear the CL access mask]
After the CPU sets the key code in GACMR within the bus interface, set GACER to enable access to the CL function block.
[Step (2) Initialize the CL function block]
The CPU sets the frame width/height, input Y/UV padding size, output padding size, and output data/address mode.
In ARGB conversion mode, CLPLPR should also be set.
[Step (3) Write the color conversion table to RAM 0]
The CPU writes the color conversion table to RAM 0.
* Step (3) is not necessary in YUYV conversion mode; it is only required in ARGB conversion mode.
[Step (4) Write to the command FIFO]
The CPU writes commands to CLCF. Four command parameters are required
and should be written in succession in the following order:
(1) Data for writing: Input Y pointer
(2) Data for writing: Input U pointer
(3) Data for writing: Input V pointer
(4) Data for writing: Output pointer
No
Continuous processing?
Yes
No
Yes
Is continuous processing
timed by interrupt or setting of the
CL_END bit in GACISR?
Yes
Is the CL command FIFO full?
(Check the CK_CFF bit in CLSR.)
No
[Step (5) Wait for processing completion]
Processing completion is judged using an interrupt from the CPU or the CL_END bit in GACISR.
Yes
Next processing?
No
Change settings
for CL processing?
End
Figure 20.5 CL Processing Procedure
Rev.1.00 Jan. 10, 2008 Page 1018 of 1658
REJ09B0261-0100
Yes
No
20. Graphics Data Translation Accelerator (GDTA)
20.4.2
Explanation of MC Operation
By writing 1 to the MC_EN bit in GACER, registers in the MC register unit can be accessed.
After setting, as initial values, the input frame width/height, input YUV padding size, output frame
YUV pointer, past frame YUV pointer and future frame YUV pointer, data written in succession
to MCCF is received, and upon receiving a maximum of eight command parameters (estimating
mode, vector, buffer RAM 1 address), processing is begun. In processing, data is read in
macroblock units (Y: 16 pixels × 16 lines, U/V: 8 pixels × 8 lines), and estimated image
generation is performed within the module. The generated image by the amount of a macroblock
is output to the output destination.
The MC can store four commands (in register MCCF) and does not accept the command for the
next frame when four commands are already stored (command FIFO full). A judgment as to
whether processing has ended can be made by using either an interrupt or the MC_END bit in
GACISR.
Figure 20.6 illustrates the processing of one Y macroblock in "forward macroblock processing".
(After three rounds of processing for Y, U, and V have been done, a processing-end interrupt is
generated by writing an end command.) On the other hand, in "reverse macroblock processing" the
address for reading data from DDR2, shown in figure 20.6, is changed to the future frame pointer,
and other processing is the same. Hence in "bidirectional macroblock processing", (half-pixelcorrected past data + half-pixel-corrected future data + 1)/2 is taken to be the correction processing
result, and calculation is performed with the IDCT data.
Finally, in "intra macroblock processing" signed IDCT data (the sign of which is discriminated
using the uppermost bit (bit 15)) is converted into unsigned 8-bit data and written to the output
position.
Rev.1.00 Jan. 10, 2008 Page 1019 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
(1)
Estimated Image Generation Function
The following shows an outline of the estimated image generation function.
DDR2-SDRAM
(1) Calculation of output position (first row)
Output frame
Y pointer (current)
Output
target position
(mbcol, mbrow)
Output frame
U pointer (current)
Base point
Image data for one frame
mbcol
Future frame
Y pointer
Future frame
U pointer
Future frame
V pointer
Recon_down
(negative value indicates reverse direction)
Frame height
U (past)
V (past)
Past frame
V pointer
Recon_right (negative value indicates reverse direction)
(5) Data
reading
Y (future)
U (future)
V (future)
Output
(current)
Each frame pointer should point to an address on a 16-byte boundary
for Y and 8-byte boundary for U and V.
Correction
(3) Calculation of input position (first row)
Input data for one macroblock
case 3
A
Correction
case 2
× 17
B
For half-pixel processing,
Y: 17 × 17 dot
get data for a block with one
U: 9 × 9 dot
extra dot according to motion
V: 9 × 9 dot
vector values
(4) Calculation of input position (nth row)
Buffer RAM 1
(6) Half-pixel correction processing
Y0 (128 bytes)
Y1 (128 bytes)
Y2 (128 bytes)
Y3 (128 bytes)
U (128 bytes)
V (128 bytes)
D
E
IDCT data
Correction case 4
Y: 17 × 17 dot
U: 9 × 9 dot
V: 9 × 9 dot
× 17
(7) IDCT data
reading
Correction processing result (Y: 16 × 16, U/V: 8 × 8)
A'
B'
C'
D'
× 16
Input
Hardware performs processing
image
as is even when in padding part
(half-pixel)
Y: 16 × 16 dot
U: 8 × 8 dot
V: 8 × 8 dot
Correction
case 1
× 16
Y: 16 × 16 dot
U: 8 × 8 dot
V: 8 × 8 dot
Data after half-pixel
correction
Invalid data
Target position (mbcol, mbrow)
Y (past)
Comparison point
(+Recon_right, down)
Past frame
U pointer
Base point
(9) Estimated
image writing
mbrow
Past frame
Y pointer
Y padding
Frame width
Y (current)
U (current)
V (current)
Output frame
V pointer (current)
(2) Calculation of output position (nth row)
a
b
c
d
× 16
(8) Estimated-image generation
× 16
Y: 16 × 16 dot
U: 8 × 8 dot
V: 8 × 8 dot
IDCT data
8-bit saturation
calculation
(0 ≤ x ≤ 255)
A''
B'
C'
D'
× 16
× 16
Y: 16 × 16 dot
U: 8 × 8 dot
V: 8 × 8 dot
Data to be written back to the current target position
(result of forward macroblock processing)
Figure 20.6 Outline of Estimated Image Generation Function
Rev.1.00 Jan. 10, 2008 Page 1020 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Table 20.9 shows estimated image generation sequence shown in figure 20.6.
No. in the table corresponds to the number used in figure 20.6.
Table 20.9 Estimated Image Generation Sequence
No. Operation
(1)
Description
Calculation of The following formulae are used to compute output position (first row) (DDR2output position SDRAM output address).
(first row)
First row output address formulae
•
Y output target address
Calculation formula: Output frame Y point value (base point) + [mbrow ×
16 × (width + Y padding)] + [mbcol × 16]
Output frame Y pointer value (base point): MCOYPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
width: Calculated from MCWR setting
Y padding: Calculated from MCYPR setting
Subsequently, data for 16 dots (= 16 bytes) is processed in succession
•
U/V output target address
Calculation formula: Output frame U point value (base point) + [mbrow × 8
× (width/2 + U padding)] + [mbcol × 8]
Output frame U pointer value (base point): MCOUPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
width: Calculated from MCWR setting
U padding: Calculated from MCUVPR setting
Subsequently, data for 8 dots (= 8 bytes) is processed in succession
V pointer address is calculated using a formula similar to that for the U pointer
address.
Rev.1.00 Jan. 10, 2008 Page 1021 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
(2)
Description
Calculation of The following formulae are used to compute output positions (nth row and
output position below) (DDR2-SDRAM output address).
(nth row and
Output address formulae for nth row and below
below)
• Y output target address
Calculation formula: Output frame Y point value (base point) + [(mbrow ×
16 + n - 1) × (width + Y padding)] + [mbcol × 16]
Output frame Y pointer value (base point): MCOYPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
width: Calculated from MCWR setting
Y padding: Calculated from MCYPR setting
Subsequently, data for 16 dots (= 16 bytes) is processed in succession
•
U/V output target address
Calculation formula: Output frame U point value (base point) + [(mbrow ×
8 + n - 1) × (width/2 + U padding)] + [mbcol × 8]
Output frame U pointer value (base point): MCOUPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
width: Calculated from MCWR setting
U padding: Calculated from MCUVPR setting
Subsequently, data for 8 dots (= 8 bytes) is processed in succession
V pointer address is calculated using a formula similar to that for the U pointer
address.
Rev.1.00 Jan. 10, 2008 Page 1022 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
Description
(3)
The following formulae are used to compute input position (first row) (DDR2SDRAM input address).
Calculation of
input position
(first row)
First row input address formulae
•
Y input comparison address
Calculation formula: Past frame Y point value (base point) + [(mbrow × 16
+ (Recon_down>>1)) × (width + Y padding)] + [mbcol × 16 +
(Recon_right>>1)]
Past frame Y pointer value (base point): MCPYPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
Recon_down: Calculated from MCCF setting
Recon_right: Calculated from MCCF setting
width: Calculated from MCWR setting
Y padding: Calculated from MCYPR setting
Depending on the motion vector value, 16-dot data (16 bytes) or 17-dot data
(17 bytes) is processed in succession.
Future frame Y pointer address is calculated using a formula similar to that for
the past frame.
* Calculation result for Recon_down>>1 is shown below:
Recon_
down
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
Recon_
down>>1
-3
-3
-2
-2
-1
-1
0
0
1
1
2
2
3
Calculation result for Recon_right>>1 is the same.
Rev.1.00 Jan. 10, 2008 Page 1023 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
Description
(3)
•
Calculation of
input position
(first row)
U/V input comparison address
Calculation formula: Past frame U point value (base point) + [(mbrow × 8 +
(Recon_down/2>>1)) × (width/2 + U padding)] + [mbcol × 8 +
(Recon_right/2>>1)]
Past frame U pointer value (base point): MCPUPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
Recon_down: Calculated from MCCF setting
Recon_right: Calculated from MCCF setting
width: Calculated from MCWR setting
U padding: Calculated from MCUVPR setting
Depending on the motion vector value, 8-dot data (8 bytes) or 9-dot data (9
bytes) is processed in succession.
Future frame U pointer address is calculated using a formula similar to that for
the past frame.
V pointer address is calculated using a formula similar to that for the U pointer
address.
* Calculation result for Recon_down/2>>1 is shown below:
Recon_
down
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
Recon_
down/2>>1
-2
-1
-1
-1
-1
0
0
0
0
0
1
1
1
Calculation result for Recon_right/2>>1 is the same.
Rev.1.00 Jan. 10, 2008 Page 1024 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
Description
(4)
The following formulae are used to compute input positions (nth row and
below) (DDR2-SDRAM input address).
Calculation of
input position
(nth row and
below)
Input address formulae for nth row and below
•
Y input comparison address
Calculation formula: Past frame Y point value (base point) + [(mbrow × 16
+ (Recon_down>>1) + n - 1) × (width + Y padding)] + [mbcol × 16 +
(Recon_right>>1)]
Past frame Y pointer value (base point): MCPYPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
Recon_down: Calculated from MCCF setting
Recon_right: Calculated from MCCF setting
width: Calculated from MCWR setting
Y padding: Calculated from MCYPR setting
Depending on the motion vector value, 16-dot data (16 bytes) or 17-dot data
(17 bytes) is processed in succession.
Future frame Y pointer address is calculated using a formula similar to that for
the past frame.
•
U/V input comparison address
Calculation formula: Past frame U point value (base point) + [(mbrow × 8 +
(Recon_down/2>>1) + n - 1) × (width/2 + U padding)] + [mbcol × 8 +
((Recon_right/2)>>1)]
Past frame U pointer value (base point): MCPUPR setting address
mbrow: Calculated from MCCF setting
mbcol: Calculated from MCCF setting
Recon_down: Calculated from MCCF setting
Recon_right: Calculated from MCCF setting
width: Calculated from MCWR setting
U padding: Calculated from MCUVPR setting
Depending on the motion vector value, 8-dot data (8 bytes) or 9-dot data (9
bytes) is processed in succession.
Future frame U pointer address is calculated using a formula similar to that for
the past frame.
V pointer address is calculated using a formula similar to that for the U pointer
address.
(5)
Data reading
Input data stored in DDR2-SDRAM is read into the GDTA at the address
computed in (3) and (4).
Rev.1.00 Jan. 10, 2008 Page 1025 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
Description
(6)
Half-pixel correction processing is performed for the data read in (5).
Half-pixel
correction
processing
(For the Y pointer: 16 to the right and 16 downward in 4 pixel units, for a total
of 256 processed)
* The Recon_down value is used to perform half-pixel correction even/odd
decisions. Decision results are as follows.
(The Recon_right value is similarly used to perform half-pixel correction
even/odd decisions.)
Recon_down -6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
Y even/odd
even odd even odd even odd even odd even odd even odd even
U/V
even/odd
odd even even odd odd even even even odd odd even even odd
Formulae for each correction case at "Input data for one macroblock" in figure
20.6 are as follows.
Correction case 1: right = even, down = even
-> (A + A + 1)/2 = A (digits below the decimal point are discarded (no
change))
Correction case 2: right = even, down = odd
-> (A + C + 1)/2 = A' (digits below the decimal point are discarded)
Correction case 3: right = odd, down = even
-> (A + B + 1)/2 = A' (digits below the decimal point are discarded)
Correction case 4: right = odd, down = odd
-> (A + D + B + C + 2)/4 = A' (digits below the decimal point are discarded)
In bidirectional macroblock processing, the result of computation of the
following formula using past data after half-pixel correction and future data
after half-pixel correction is taken to be the half-pixel correction result, and
computation processing with IDCT data is performed.
(past data after half-pixel correction + future data after half-pixel correction
+1)/2 = half-pixel correction result
There are cases in which, due to the settings, input macroblock data is not
within the padding area and the data exceeds the screen height (invalid
image data), but the hardware performs processing without modification.
Rev.1.00 Jan. 10, 2008 Page 1026 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
No. Operation
Description
(7)
IDCT data stored in buffer RAM 1 is read.
IDCT data
reading
(Only blocks specified by a CBP setting of 1 are read from buffer RAM 1.)
The IDCT data should be stored in buffer RAM 1 as 16-bit signed data.
(The sign is discriminated using the uppermost bit (bit 15).)
Regardless of the CBP value, the IDCT data should be stored in successive
addresses in the order Y0 (128 bytes), Y1 (128 bytes), Y2 (128 bytes), Y3
(128 bytes), U (128 bytes), V (128 bytes).
When there is a CBP=0 block, the address space should not be packed, but
data should be stored in successive addresses in the Y0, Y1, Y2, Y3, U, V
data format.
The CBP value indicates whether a sign is required compared with the
comparison image for the six blocks (four luminance blocks and two
chrominance blocks). The above Y0, Y1, Y2, Y3, U, V are CBP values of
block positions in the following format.
CBP Blocks with YUV4:2:0
Luminance Y
Y0
Y1
Y2
Y3
Chrominance
U/V
U
V
(Data for a CBP=0 block: data invalid)
9-bit saturation computation is performed for IDCT data read from RAM 1 (256 ≤ x ≤ 255).
(The sign is discriminated using the uppermost bit (bit 15).)
IDCT data reading is performed in parallel with the operation of (5) and (6).
(8)
Estimated
image data
generation
Estimated image data is generated using the following formula from the halfpixel processing data generated in (6) and the IDCT data (9-bit data after
saturation computation) read in (7).
Formula: (data of (6) + data of (7)) -> (saturation computation) (0 ≤ x ≤ 255)
(9)
Estimated
image data
writing
Estimated image data is written to DDR2-SDRAM at the address computed in
(1) and (2).
(2)
MC Processing Procedure
The CPU performs required initialization and starts the processing. IDCT data must be prepared in
the buffer RAM 1. The procedure is shown below.
Rev.1.00 Jan. 10, 2008 Page 1027 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Start
[Step (1) Clear the MC access mask]
After the CPU sets the key code in GACMR within the bus interface,
set GACER to enable access to the MC function block.
[Step (2) Initialize the MC function block]
The CPU sets the frame width/height, input Y/UV padding size, output frame Y/U/V pointers,
past frame Y/U/V pointers, and future frame Y/U/V pointers.
[Step (3) Write IDCT data to RAM 1]
The CPU writes IDCT data to RAM 1.
[Step (4) Write commands to FIFO]
The CPU writes commands to MCCF. Eight command parameters are required,
and are written in sequence.
For details of settings, refer to section 20.3.21, MC Command FIFO (MCCF).
Yes
Continuous processing?
No
Is an interrupt used to recognize
processing completion?
No
Yes
[Step (5) Write the end command to command FIFO]
The CPU writes the end command to MCCF.
[Step (6) Wait for an interrupt signaling processing completion]
Processing completion is judged using an interrupt from the CPU.
[Step (7) Check the register to confirm processing completion]
Processing completion is judged using the MC_END bit in GACISR.
End
Figure 20.7 MC Processing Procedure
Rev.1.00 Jan. 10, 2008 Page 1028 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.5
Interrupt Processing
In the GDTA, there are four types of interrupt sources. There are three interrupt flags for CL
processing end, MC processing end, and CL/MC errors, used to identify interrupt sources. The
interrupt enable bit allows generation of interrupt requests.
CL errors and MC errors use a common GAERI interrupt.
Table 20.10 GDTA Interrupt Request
Interrupt Source
Interrupt Flag
Enable Bit
Description
CL_END interrupt
CL_END
CL_ENEN
CL processing ended
MC_END interrupt
MC_END
MC_ENEN
MC processing ended
CL_ERR interrupt
CL_ERR or MC_ERR
MC_ERR interrupt
20.6
CL_EREN
CL error occurred
MC_EREN
MC error occurred
Data Alignment
The GDTA performs data alignment conversion of input data, output data, and RAM 0/1 data
using an endian signal (pin MD8) or using GDTA internal registers.
Table 20.11 shows the correspondence between data alignment conversion patterns and the
settings of DRCL_CTL, DWCL_CTL, DRMC_CTL, DWMC_CTL, DCP_CTL, and DID_CTL.
Table 20.11 GDTA Data Alignment Conversion
DTAM
DTSA
DTUA
Little (MD8)
Data Alignment Conversion Pattern Remarks
0
H'00
H'00
0
CP3 (2)
0
H'00
H'00
1
CP3 (1)
1
H'00
H'00
*
CP3 (2)
1
H'01
H'01
*
CP1 (1)
1
H'01
H'10
*
CP2 (1)
1
H'01
H'11
*
CP3 (1)
1
H'10
H'01
*
CP1 (2)
1
H'10
H'10
*
CP2 (2)
1
H'11
H'01
*
CP1 (3)
Note:
*
For the data alignment pattern numbers, refer to figure 20.8.
Rev.1.00 Jan. 10, 2008 Page 1029 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
Data alignment unit: 1 byte
1.
Conversion pattern 1 (CP1)
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0
D1
D2
D3
D4
D5
D6
D7
3.
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0 D1 D2 D3 D4 D5 D6 D7
D5
D6
D7
D0
D1
D2
D3
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
D7
D6
D5
D4
D3
D2
D1
D0
D3
D2
D1
D0
D7
D6
D5
D4
D1
D0
D3
D2
D5
D4
D7
D6
Conversion pattern 2 (CP2)
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0
D1
D2
D3
D4
D5
D6
D7
2.
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0 D1 D2 D3 D4 D5 D6 D7
D4
D5
D6
D7
D0
D1
D1
D3
D0
D1
D2
D3
D4
D5
D6
D7
D6
D7
D4
D5
D2
D3
D0
D1
D2
D3
D0
D1
D6
D7
D4
D5
Data alignment unit: 3 bytes
1.
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0 D1 D2 D3 D4 D5 D6 D7
D4
Data alignment unit: 2 bytes
1.
2.
Conversion pattern 3 (CP3)
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0
D1
D2
D3
D4
D5
D6
D7
2.
63 56 55 48 47 40 39 32 31 24 23 16 15 8 7 0
D0 D1 D2 D3 D4 D5 D6 D7
D4
D5
D6
D7
D0
D1
D2
D3
D0
D1
D2
D3
D4
D5
D6
D7
D4
D5
D6
D7
D0
D1
D2
D3
D0
D1
D2
D3
D4
D5
D6
D7
* D0 to D7 above indicate byte data on the SHwy.
Figure 20.8 Data Alignment Conversion Pattern
Rev.1.00 Jan. 10, 2008 Page 1030 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.7
Usage Notes
When using the GDTA, note the following:
20.7.1
Regarding Module Stoppage
During GDTA operation, the CPG register settings must not be done to stop a module (other
modules as well as the GDTA). If a module is stopped during GDTA operation, the GDTA
processing is stopped and processing contents set in CL/MC command FIFO are cleared.
When stopping the module, settings should be changed to stop the module only after confirming
that the CLSR.EXE bit (bit 3) in CLSR is 0 and the MC_CFA bits (bits 10 to 8) in MCSR are 000.
In order to resume the processing, the procedure described in section 20.4.1 (3), CL Processing
Procedure or section 20.4.2 (2), MC Processing Procedure should be used after releasing the
module stop. (After a module is stopped, the processing that was in progress and processing
contents set in the CL/MC command FIFO should be performed again.)
20.7.2
Regarding Deep Sleep Modes
During GDTA operation, deep sleep mode must not be entered. If a transition is made to deep
sleep mode during GDTA operation, the GDTA processing is stopped and processing contents set
in CL/MC command FIFO are cleared.
When entering deep sleep mode, a transition should be made only after confirming that the
CLSR.EXE bit (bit 3) in CLSR is 0, and also after confirming that the MC_CFA bits (bits 10 to 8)
in MCSR are 000.
In order to resume the processing, the procedure described in section 20.4.1 (3), CL Processing
Procedure or section 20.4.2 (2), MC Processing Procedure should be used after releasing the deep
sleep mode. (After deep sleep mode is entered, the processing that was in progress and processing
contents set in the CL/MC command FIFO should be performed again.)
Rev.1.00 Jan. 10, 2008 Page 1031 of 1658
REJ09B0261-0100
20. Graphics Data Translation Accelerator (GDTA)
20.7.3
Regarding Frequency Changes
During GDTA operation, the CPG register setting must not be used to change frequency. If
frequency is changed during GDTA operation, the GDTA processing is stopped and processing
contents set in CL/MC command FIFO are cleared.
When changing the frequency, the frequency should be changed only after confirming that the
CLSR.EXE bit (bit 3) in CLSR is 0 and the MC_CFA bits (bits 10 to 8) in MCSR are 000.
When resuming the processing, the procedure described in section 20.4.1 (3), CL Processing
Procedure or section 20.4.2 (2), MC Processing Procedure should be used after changing the
frequency. (After a frequency is changed, the processing that was in progress and processing
contents set in the CL/MC command FIFO should be performed again.)
Rev.1.00 Jan. 10, 2008 Page 1032 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Section 21 Serial Communication Interface with FIFO
(SCIF)
This LSI is equipped with a 6-channel serial communication interface with built-in FIFO buffers
(Serial Communication Interface with FIFO: SCIF). The SCIF can perform both asynchronous and
clocked synchronous serial communications.
64-stage FIFO buffers are provided for transmission and reception, enabling fast, efficient, and
continuous communication.
Channel 0 has modem control functions (RTS and CTS).
21.1
Features
The SCIF has the following features.
• Asynchronous serial communication mode
Serial data communication is executed using an asynchronous system in which
synchronization is achieved character by character. Serial data communication can be carried
out with standard asynchronous communication chips such as a Universal Asynchronous
Receiver/Transmitter (UART) or Asynchronous Communication Interface Adapter (ACIA).
There is a choice of 8 serial data transfer formats.
⎯ Data length: 7 or 8 bits
⎯ Stop bit length: 1 or 2 bits
⎯ Parity: Even/odd/none
⎯ Receive error detection: Parity, framing, and overrun errors
⎯ Break detection: A break is detected when a framing error lasts for more than 1 frame
length at Space 0 (low level). When a framing error occurs, a break can also be detected by
reading the SCIF0_RXD to SCIF5_RXD pin levels directly from the serial port register
(SCSPTR).
• Clocked synchronous serial communication mode
Serial data communication is synchronized with a clock. Serial data communication can be
carried out with other LSIs that have a synchronous communication function.
There is a single serial data communication format.
Data length: 8 bits
Receive error detection: Overrun errors
Rev.1.00 Jan. 10, 2008 Page 1033 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
• Full-duplex communication capability
The transmitter and receiver are independent units, enabling transmission and reception to be
performed simultaneously.
The transmitter and receiver both have a 64-stage FIFO buffer structure, enabling continuous
transmission and reception of serial data.
• LSB first for data transmission and reception
• On-chip baud rate generator allows any bit rate to be selected.
• Choice of clock source: internal clock from baud rate generator or external clock from
SCIF0_SCK to SCIF5_SCK pins
• Four interrupt sources
There are four interrupt sources – transmit-FIFO-data-empty, break, receive-FIFO-data-full,
and receive error – that can issue requests independently.
• The DMA controller (DMAC) can be activated to execute a data transfer by issuing a DMA
transfer request in the event of a transmit-FIFO-data-empty or receive-FIFO-data-full interrupt.
• When not in use, the SCIF can be stopped by halting its clock supply to reduce power
consumption.
• In asynchronous mode, modem control functions (SCIF0_RTS and SCIF0_CTS) are
provided.(only in channel 0)
• The amount of data in the transmit/receive FIFO registers, and the number of receive errors in
the receive data in the receive FIFO register, can be ascertained.
• In asynchronous mode, a timeout error (DR) can be detected during reception.
Rev.1.00 Jan. 10, 2008 Page 1034 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Module data bus
SCFRDRn (128 stages)
(64 stages)
SCIFn_RXD
SCFTDRn (128 stages)
(64 stages)
SCRSRn
SCTSRn
SCSMRn
SCLSRn
SCTFDRn
SCRFDRn
SCFCRn
SCFSRn
SCSCRn
SCBRRn
Pck
Baud rate generator
SCSPTRn
SCRERn
Parity generation
Pck/4
Pck/16
Pck/64
Transmission/
reception control
SCIFn_TXD
Peripheral bus
Bus interface
Figure 21.1 shows a block diagram of the SCIF. Figures 21.2 to 21.6 show block diagrams of the
I/O ports in the SCIF. There are six channels in this LSI. In figures 21.2 to 21.6, the channel
number is omitted.
Clock
Parity check
External clock
SCIFn_SCK
TXIn
RXIn
ERIn
BRIn
SCIF0_CTS
SCIF0_RTS
SCIF
Legend:
SCRSRn:
SCFRDRn:
SCTSRn:
SCFTDRn:
SCSMRn:
SCSCRn:
SCFSRn:
SCBRRn:
SCSPTRn:
SCFCRn:
SCTFDRn:
SCRFDRn:
SCLSRn:
SCRERn:
Receive shift register
Receive FIFO data register
Transmit shift register
Transmit FIFO data register
Serial mode register
Serial control register
Serial status register
Bit rate register
Serial port register
FIFO control register
Transmit FIFO data count register
Receive FIFO data count register
Line status register
Serial error register
Note: n = 0 to 5
Channels 1 to 5 do not have SCIF1_CTS to SCIF5_CTS and SCIF1_RTS to SCIF5_RTS.
Figure 21.1 Block Diagram of SCIF
Figures 21.2 to 21.6 show block diagrams of the I/O ports in SCIF.
Rev.1.00 Jan. 10, 2008 Page 1035 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Reset
R
D7
Q
D
RTSIO
C
Peripheral bus
SPTRW
Reset
SCIF0_RTS
R
Q
D
RTSDT
C
D6
SPTRW
Modem control
enable signal*
SCIF0_RTS signal
SPTRR
Legend:
SPTRW: Write to SCSPTR
SPTRR: Read from SCSPTR
Note: * SCSPTR The SCIF0_RTS pin function is designated as modem control by the MCE bit in SCFCR.
Figure 21.2 SCIF0_RTS Pin
Rev.1.00 Jan. 10, 2008 Page 1036 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Reset
R
D5
Q
D
CTSIO
C
Peripheral bus
SPTRW
Reset
SCIF0_CTS
R
D4
Q
D
CTSDT
C
SPTRW
SCIF0_CTS signal
Modem control enable signal*
SPTRR
Legend:
SPTRW: Write to SCSPTR
SPTRR: Read from SCSPTR
Note: * The SCIF0_CTS pin function is designated as modem control by the MCE bit in SCFCR.
Figure 21.3 SCIF0_CTS Pin
Rev.1.00 Jan. 10, 2008 Page 1037 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Reset
R
D3
Q
D
SCKIO
C
Peripheral bus
SPTRW
SCIFn_SCK
Reset
R
D2
Q
D
SCKDT
C
SPTRW
Clock output enable signal*
Serial clock output signal*
Serial clock input signal*
Serial input enable signal*
Legend:
SPTRW: Write to SCSPTR
SPTRR: Read from SCSPTR
SPTRR
Note: * The SCIFn_SCK pin function is designated as internal clock output or external clock input
by the C/A bit in SCSMR and the CKE1 and CKE0 bits in SCSCR.
Figure 21.4 SCIFn_SCK Pin (n = 0 to 5)
Reset
R
Q
D
SPB2IO
C
D1
SPTRW
Peripheral bus
Reset
SCIFn_TXD
R
Q
D
SPB2DT
C
D0
SPTRW
Transmit enable signal
Serial transmit data
Legend:
SPTRW: Write to SCSPTR
Figure 21.5 SCIFn_TXD Pin (n = 0 to 5)
Rev.1.00 Jan. 10, 2008 Page 1038 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
SCIFn_RXD
Serial receive data
Peripheral bus
SPTRR
Legend:
SPTRR: Read from SCSPTR
Figure 21.6 SCIFn_RXD Pin (n = 0 to 5)
21.2
Input/Output Pins
Table 21.1 shows the SCIF pin configuration. Since the pin functions are the same in each
channel, the channel number is omitted in the description below. The modem control pins are
available only in channel 0.
Table 21.1 Pin Configuration
Pin Name
Abbreviation
I/O
Function
Serial clock pin
SCIF0_SCK to SCIF5_SCK
I/O
Clock input/output
Receive data pin
SCIF0_RXD to SCIF5_RXD
Input
Receive data input
Transmit data pin
SCIF0_TXD to SCIF5_TXD
Output
Transmit data output
Modem control pin
SCIF0_CTS
I/O
Transmission enabled
Modem control pin
SCIF0_RTS
I/O
Transmission request
Note: These pins function as serial pins by performing SCIF operation settings with the C/A bit in
SCSMR, the TE, RE, CKE1, and CKE0 bits in SCSCR, and the MCE bit in SCFCR. Break
state transmission and detection can be set by SCSPTR of the SCIF.
Rev.1.00 Jan. 10, 2008 Page 1039 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3
Register Descriptions
The SCIF has the following registers. Since the register functions are the same in each channel,
the channel number is omitted in the description below.
Table 21.2 Register Configuration (1)
Sync
Ch.
Register Name
Abbrev.
R/W
P4 Address
Area 7 Address
Size
Clock
0
Serial mode register 0
SCSMR0
R/W
H'FFEA 0000
H'1FEA 0000
16
Pck
Bit rate register 0
SCBRR0
R/W
H'FFEA 0004
H'1FEA 0004
8
Pck
Serial control register 0
SCSCR0
R/W
H'FFEA 0008
H'1FEA 0008
16
Pck
Transmit FIFO data register 0
SCFTDR0
W
H'FFEA 000C
H'1FEA 000C
8
Pck
1
1
Serial status register 0
SCFSR0
R/W*
H'FFEA 0010
H'1FEA 0010
16
Pck
Receive FIFO data register 0
SCFRDR0
R
H'FFEA 0014
H'1FEA 0014
8
Pck
FIFO control register 0
SCFCR0
R/W
H'FFEA 0018
H'1FEA 0018
16
Pck
Transmit FIFO data count register 0 SCTFDR0
R
H'FFEA 001C
H'1FEA 001C
16
Pck
Receive FIFO data count register 0 SCRFDR0
R
H'FFEA 0020
H'1FEA 0020
16
Pck
Serial port register 0
R/W
H'FFEA 0024
H'1FEA 0024
16
Pck
SCSPTR0
2
Line status register 0
SCLSR0
R/W*
H'FFEA 0028
H'1FEA 0028
16
Pck
Serial error register 0
SCRER0
R
H'FFEA 002C
H'1FEA 002C
16
Pck
Serial mode register 1
SCSMR1
R/W
H'FFEB 0000
H'1FEB 0000
16
Pck
Bit rate register 1
SCBRR1
R/W
H'FFEB 0004
H'1FEB 0004
8
Pck
Serial control register 1
SCSCR1
R/W
H'FFEB 0008
H'1FEB 0008
16
Pck
Transmit FIFO data register 1
SCFTDR1
W
H'FFEB 000C
H'1FEB 000C
8
Pck
1
Serial status register 1
SCFSR1
R/W*
H'FFEB 0010
H'1FEB 0010
16
Pck
Receive FIFO data register 1
SCFRDR1
R
H'FFEB 0014
H'1FEB 0014
8
Pck
FIFO control register 1
SCFCR1
R/W
H'FFEB 0018
H'1FEB 0018
16
Pck
R
H'FFEB 001C
H'1FEB 001C
16
Pck
Transmit FIFO data count register 1 SCTFDR1
Receive FIFO data count register 1 SCRFDR1
R
H'FFEB 0020
H'1FEB 0020
16
Pck
Serial port register 1
SCSPTR1
R/W
H'FFEB 0024
H'1FEB 0024
16
Pck
Line status register 1
SCLSR1
R/W*2
H'FFEB 0028
H'1FEB 0028
16
Pck
Serial error register 1
SCRER1
R
H'FFEB 002C
H'1FEB 002C
16
Pck
Rev.1.00 Jan. 10, 2008 Page 1040 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Sync
Ch.
Register Name
Abbrev.
R/W
P4 Address
Area 7 Address
Size
Clock
2
Serial mode register 2
SCSMR2
R/W
H'FFEC 0000
H'1FEC 0000
16
Pck
Bit rate register 2
SCBRR2
R/W
H'FFEC 0004
H'1FEC 0004
8
Pck
Serial control register 2
SCSCR2
R/W
H'FFEC 0008
H'1FEC 0008
16
Pck
Transmit FIFO data register 2
SCFTDR2
W
H'FFEC 000C
H'1FEC 000C
8
Pck
3
1
Serial status register 2
SCFSR2
R/W*
H'FFEC 0010
H'1FEC 0010
16
Pck
Receive FIFO data register 2
SCFRDR2
R
H'FFEC 0014
H'1FEC 0014
8
Pck
FIFO control register 2
SCFCR2
R/W
H'FFEC 0018
H'1FEC 0018
16
Pck
Transmit FIFO data count register 2 SCTFDR2
R
H'FFEC 001C
H'1FEC 001C
16
Pck
Receive FIFO data count register 2 SCRFDR2
R
H'FFEC 0020
H'1FEC 0020
16
Pck
Serial port register 2
R/W
H'FFEC 0024
H'1FEC 0024
16
Pck
SCSPTR2
2
Line status register 2
SCLSR2
R/W*
H'FFEC 0028
H'1FEC 0028
16
Pck
Serial error register 2
SCRER2
R
H'FFEC 002C
H'1FEC 002C
16
Pck
Serial mode register 3
SCSMR3
R/W
H'FFED 0000
H'1FED 0000
16
Pck
Bit rate register 3
SCBRR3
R/W
H'FFED 0004
H'1FED 0004
8
Pck
Serial control register 3
SCSCR3
R/W
H'FFED 0008
H'1FED 0008
16
Pck
Transmit FIFO data register 3
SCFTDR3
W
H'FFED 000C
H'1FED 000C
8
Pck
1
Serial status register 3
SCFSR3
R/W*
H'FFED 0010
H'1FED 0010
16
Pck
Receive FIFO data register 3
SCFRDR3
R
H'FFED 0014
H'1FED 0014
8
Pck
FIFO control register 3
SCFCR3
R/W
H'FFED 0018
H'1FED 0018
16
Pck
R
H'FFED 001C
H'1FED 001C
16
Pck
Transmit FIFO data count register 3 SCTFDR3
Receive FIFO data count register 3 SCRFDR3
R
H'FFED 0020
H'1FED 0020
16
Pck
Serial port register 3
SCSPTR3
R/W
H'FFED 0024
H'1FED 0024
16
Pck
Line status register 3
SCLSR3
R/W*2
H'FFED 0028
H'1FED 0028
16
Pck
Serial error register 3
SCRER3
R
H'FFED 002C
H'1FED 002C
16
Pck
Rev.1.00 Jan. 10, 2008 Page 1041 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Sync
Ch.
Register Name
Abbrev.
R/W
P4 Address
Area 7 Address
Size
Clock
4
Serial mode register 4
SCSMR4
R/W
H'FFEE 0000
H'1FEE 0000
16
Pck
Bit rate register 4
SCBRR4
R/W
H'FFEE 0004
H'1FEE 0004
8
Pck
Serial control register 4
SCSCR4
R/W
H'FFEE 0008
H'1FEE 0008
16
Pck
Transmit FIFO data register 4
SCFTDR4
W
H'FFEE 000C
H'1FEE 000C
8
Pck
5
1
Serial status register 4
SCFSR4
R/W*
H'FFEE 0010
H'1FEE 0010
16
Pck
Receive FIFO data register 4
SCFRDR4
R
H'FFEE 0014
H'1FEE 0014
8
Pck
FIFO control register 4
SCFCR4
R/W
H'FFEE 0018
H'1FEE 0018
16
Pck
Transmit FIFO data count register 4 SCTFDR4
R
H'FFEE 001C
H'1FEE 001C
16
Pck
Receive FIFO data count register 4 SCRFDR4
R
H'FFEE 0020
H'1FEE 0020
16
Pck
Serial port register 4
R/W
H'FFEE 0024
H'1FEE 0024
16
Pck
SCSPTR4
2
Line status register 4
SCLSR4
R/W*
H'FFEE 0028
H'1FEE 0028
16
Pck
Serial error register 4
SCRER4
R
H'FFEE 002C
H'1FEE 002C
16
Pck
Serial mode register 1
SCSMR5
R/W
H'FFEF 0000
H'1FEF 0000
16
Pck
Bit rate register 5
SCBRR5
R/W
H'FFEF 0004
H'1FEF 0004
8
Pck
Serial control register 5
SCSCR5
R/W
H'FFEF 0008
H'1FEF 0008
16
Pck
Transmit FIFO data register 5
SCFTDR5
W
H'FFEF 000C
H'1FEF 000C
8
Pck
1
Serial status register 5
SCFSR5
R/W*
H'FFEF 0010
H'1FEF 0010
16
Pck
Receive FIFO data register 5
SCFRDR5
R
H'FFEF 0014
H'1FEF 0014
8
Pck
FIFO control register 5
SCFCR5
R/W
H'FFEF 0018
H'1FEF 0018
16
Pck
R
H'FFEF 001C
H'1FEF 001C
16
Pck
Transmit FIFO data count register 5 SCTFDR5
Receive FIFO data count register 5 SCRFDR5
R
H'FFEF 0020
H'1FEF 0020
16
Pck
Serial port register 5
SCSPTR5
R/W
H'FFEF 0024
H'1FEF 0024
16
Pck
Line status register 5
SCLSR5
R/W*2
H'FFEF 0028
H'1FEF 0028
16
Pck
Serial error register 5
SCRER5
R
H'FFEF 002C
H'1FEF 002C
16
Pck
Rev.1.00 Jan. 10, 2008 Page 1042 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Table 21.2 Register Configuration (2)
Sleep/Deep
Power-on Reset
Manual Reset
Sleep
by PRESET Pin/
by WDT/Multiple
by SLEEP
Module
Ch.
Register Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
0
Serial mode register 0
SCSMR0
H'0000
H'0000
Retained
Retained
Bit rate register 0
SCBRR0
H'FF
H'FF
Retained
Retained
Serial control register 0
SCSCR0
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 0
SCFTDR0
Undefined
Undefined
Retained
Retained
Serial status register 0
SCFSR0
H'0060
H'0060
Retained
Retained
Receive FIFO data register 0
SCFRDR0 Undefined
Undefined
Retained
Retained
FIFO control register 0
SCFCR0
H'0000
H'0000
Retained
Retained
H'0000
H'0000
Retained
Retained
Retained
Retained
Transmit FIFO data count register 0 SCTFDR0
Receive FIFO data count register 0
1
SCRFDR0 H'0000
H'0000
3
3
Serial port register 0
SCSPTR0
H'0000*
H'0000*
Retained
Retained
Line status register 0
SCLSR0
H'0000
H'0000
Retained
Retained
Serial error register 0
SCRER0
H'0000
H'0000
Retained
Retained
Serial mode register 1
SCSMR1
H'0000
H'0000
Retained
Retained
Bit rate register 1
SCBRR1
H'FF
H'FF
Retained
Retained
Serial control register 1
SCSCR1
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 1
SCFTDR1
Undefined
Undefined
Retained
Retained
Serial status register 1
SCFSR1
H'0060
H'0060
Retained
Retained
Receive FIFO data register 1
SCFRDR1 Undefined
Undefined
Retained
Retained
FIFO control register 1
SCFCR1
Transmit FIFO data count register 1 SCTFDR1
Receive FIFO data count register 1
H'0000
H'0000
Retained
Retained
H'0000
H'0000
Retained
Retained
Retained
Retained
SCRFDR1 H'0000
H'0000
4
4
Serial port register 1
SCSPTR1
H'0000*
H'0000*
Retained
Retained
Line status register 1
SCLSR1
H'0000
H'0000
Retained
Retained
Serial error register 1
SCRER1
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1043 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Sleep/Deep
Ch.
2
Register Name
Abbrev.
Manual Reset
Sleep
by PRESET Pin/
by WDT/Multiple
by SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Serial mode register 2
SCSMR2
H'0000
H'0000
Retained
Retained
Bit rate register 2
SCBRR2
H'FF
H'FF
Retained
Retained
Serial control register 2
SCSCR2
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 2
SCFTDR2
Undefined
Undefined
Retained
Retained
Serial status register 2
SCFSR2
H'0060
H'0060
Retained
Retained
Receive FIFO data register 2
SCFRDR2 Undefined
Undefined
Retained
Retained
FIFO control register 2
SCFCR2
H'0000
H'0000
Retained
Retained
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 2 SCTFDR2
3
Power-on Reset
Receive FIFO data count register 2
SCRFDR2 H'0000
H'0000
Retained
Retained
Serial port register 2
SCSPTR2
H'0000*4
H'0000*4
Retained
Retained
Line status register 2
SCLSR2
H'0000
H'0000
Retained
Retained
Serial error register 2
SCRER2
H'0000
H'0000
Retained
Retained
Serial mode register 3
SCSMR3
H'0000
H'0000
Retained
Retained
Bit rate register 3
SCBRR3
H'FF
H'FF
Retained
Retained
Serial control register 3
SCSCR3
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 3
SCFTDR3
Undefined
Undefined
Retained
Retained
Serial status register 3
SCFSR3
H'0060
H'0060
Retained
Retained
Receive FIFO data register 3
SCFRDR3 Undefined
Undefined
Retained
Retained
FIFO control register 3
SCFCR3
H'0000
H'0000
Retained
Retained
H'0000
H'0000
Retained
Retained
Retained
Retained
Transmit FIFO data count register 3 SCTFDR3
Receive FIFO data count register 3
SCRFDR3 H'0000
H'0000
4
4
Serial port register 3
SCSPTR3
H'0000*
H'0000*
Retained
Retained
Line status register 3
SCLSR3
H'0000
H'0000
Retained
Retained
Serial error register 3
SCRER3
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1044 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Sleep/Deep
Ch.
4
Register Name
Abbrev.
Manual Reset
Sleep
by PRESET Pin/
by WDT/Multiple
by SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Serial mode register 4
SCSMR4
H'0000
H'0000
Retained
Retained
Bit rate register 4
SCBRR4
H'FF
H'FF
Retained
Retained
Serial control register 4
SCSCR4
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 4
SCFTDR4
Undefined
Undefined
Retained
Retained
Serial status register 4
SCFSR4
H'0060
H'0060
Retained
Retained
Receive FIFO data register 4
SCFRDR4 Undefined
Undefined
Retained
Retained
FIFO control register 4
SCFCR4
H'0000
H'0000
Retained
Retained
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 4 SCTFDR4
5
Power-on Reset
Receive FIFO data count register 4
SCRFDR4 H'0000
H'0000
Retained
Retained
Serial port register 4
SCSPTR4
H'0000*4
H'0000*4
Retained
Retained
Line status register 4
SCLSR4
H'0000
H'0000
Retained
Retained
Serial mode register 5
SCSMR5
H'0000
H'0000
Retained
Retained
Bit rate register 5
SCBRR5
H'FF
H'FF
Retained
Retained
Serial control register 5
SCSCR5
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 5
SCFTDR5
Undefined
Undefined
Retained
Retained
Serial status register 5
SCFSR5
H'0060
H'0060
Retained
Retained
Receive FIFO data register 5
SCFRDR5 Undefined
Undefined
Retained
Retained
FIFO control register 5
SCFCR5
H'0000
H'0000
Retained
Retained
H'0000
H'0000
Retained
Retained
Retained
Retained
Transmit FIFO data count register 5 SCTFDR5
Receive FIFO data count register 5
SCRFDR5 H'0000
H'0000
4
4
Serial port register 5
SCSPTR5
H'0000*
H'0000*
Retained
Retained
Line status register 5
SCLSR5
H'0000
H'0000
Retained
Retained
Serial error register 5
SCRER5
H'0000
H'0000
Retained
Retained
Notes: 1.
2.
3.
4.
Only 0 can be written to bits 7 to 4, 1, and 0 to clear the flags.
Only 0 can be written to bit 0 to clear the flags.
Bits 2 and 0 are undefined.
Bits 6, 4, 2, and 0 are undefined.
Rev.1.00 Jan. 10, 2008 Page 1045 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.1
Receive Shift Register (SCRSR)
SCRSR is the register used to receive serial data.
The SCIF sets serial data input from the SCIF_RXD pin in SCRSR in the order received, starting
with the LSB (bit 0), and converts it to parallel data. When one byte of data has been received, it is
transferred to SCFRDR, automatically.
SCRSR cannot be directly read from and written to by the CPU.
21.3.2
BIt:
7
6
5
4
3
2
1
0
Initial value:
R/W:
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Receive FIFO Data Register (SCFRDR)
SCFRDR is an 8-bit FIFO register of 64 stages that stores received serial data.
When the SCIF has received one byte of serial data, it transfers the received data from SCRSR to
SCFRDR where it is stored, and completes the receive operation. SCRSR is then enabled for
reception, and consecutive receive operations can be performed until SCFRDR is full.
SCFRDR is a read-only register, and cannot be written to by the CPU.
If a read is performed when there is no receive data in SCFRDR, an undefined value is returned.
When SCFRDR is full of receive data, subsequent serial data is lost.
BIt:
7
6
5
4
3
2
1
0
Initial value:
R/W:
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
⎯
R
Rev.1.00 Jan. 10, 2008 Page 1046 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.3
Transmit Shift Register (SCTSR)
SCTSR is a register used to transmit serial data.
To perform serial data transmission, the SCIF first transfers transmit data from SCFTDR to
SCTSR, then sends the data to the TXD pin starting with the LSB (bit 0). When transmission of
one byte of serial data is completed, the next transmit data is automatically transferred from
SCFTDR to SCTSR, and transmission started.
SCTSR cannot be directly read from and written to by the CPU.
21.3.4
BIt:
7
6
5
4
3
2
1
0
Initial value:
R/W:
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Transmit FIFO Data Register (SCFTDR)
SCFTDR is an 8-bit FIFO register of 64 stages that stores data for serial transmission.
If SCTSR is empty when transmit data has been written to SCFTDR, the SCIF transfers the
transmit data written in SCFTDR to SCTSR and starts serial transmission.
SCFTDR is a write-only register, and cannot be read from by the CPU. The next data cannot be
written when SCFTDR is filled with 64 bytes of transmit data. Data written in this case is ignored.
BIt:
7
6
5
4
3
2
1
0
Initial value:
R/W:
—
W
—
W
—
W
—
W
—
W
—
W
—
W
—
W
Rev.1.00 Jan. 10, 2008 Page 1047 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.5
Serial Mode Register (SCSMR)
SCSMR is a 16-bit register used to set the SCIF's serial communication format and select the baud
rate generator clock source.
SCSMR can always be read from and written to by the CPU.
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
C/A
CHR
PE
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
15 to 8
—
All 0
R
4
3
2
O/E STOP
⎯
0
R/W
0
R
0
R/W
1
0
CKS1 CKS0
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
7
C/A
0
R/W
Communication Mode
Selects asynchronous mode or clocked synchronous
mode as the SCIF operating mode.
0: Asynchronous mode
1: Clocked synchronous mode
6
CHR
0
R/W
Character Length
Selects 7 or 8 bits as the asynchronous mode data
length. In clocked synchronous mode, the data length is
fixed at 8 bits regardless of the CHR bit setting. When
7-bit data is selected, the MSB (bit 7) of SCFTDR is not
transmitted.
0: 8-bit data
1: 7-bit data
Rev.1.00 Jan. 10, 2008 Page 1048 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
5
PE
0
R/W
Parity Enable
In asynchronous mode, selects whether or not parity bit
addition is performed in transmission, and parity bit
checking is performed in reception.
In clocked synchronous mode, parity bit addition and
checking is disabled regardless of the PE bit setting.
0: Parity bit addition and checking disabled
1: Parity bit addition and checking enabled*1
4
O/E
0
R/W
Parity Mode
Selects either even or odd parity for use in parity
addition and checking. In asynchronous mode, the O/E
bit setting is only valid when the PE bit is set to 1,
enabling parity bit addition and checking. In clocked
synchronous mode or when parity addition and
checking is disabled in asynchronous mode, the O/E bit
setting is invalid.
0: Even parity
1: Odd parity
When even parity is set, parity bit addition is performed
in transmission so that the total number of 1-bits in the
transmit character plus the parity bit is even. In
reception, a check is performed to see if the total
number of 1-bits in the receive character plus the parity
bit is even.
When odd parity is set, parity bit addition is performed
in transmission so that the total number of 1-bits in the
transmit character plus the parity bit is odd. In
reception, a check is performed to see if the total
number of 1-bits in the receive character plus the parity
bit is odd.
Rev.1.00 Jan. 10, 2008 Page 1049 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
3
STOP
0
R/W
Stop Bit Length
In asynchronous mode, selects 1 or 2 bits as the stop
bit length. The stop bit setting is valid only in
asynchronous mode. Since the stop bit is not added in
clocked synchronous mode, the STOP bit setting is
invalid.
0: 1 stop bit*2
1: 2 stop bits*3
In reception, only the first stop bit is checked,
regardless of the STOP bit setting. If the second stop
bit is 1, it is treated as a stop bit. If it is 0, it is treated as
the start bit of the next transmit character.
2
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
1
CKS1
0
R/W
Clock Select 1 and 0
0
CKS0
0
R/W
These bits select the clock source for the on-chip baud
rate generator. The clock source can be selected from
Pck, Pck/4, Pck/16, and Pck/64, according to the CKS1
and CKS0 settings.
For details on the relationship among clock sources, bit
rate register settings, and baud rate, see section
21.3.8, Bit Rate Register n (SCBRR).
00: Pck clock
01: Pck/4 clock
10: Pck/16 clock
11: Pck/64 clock
Legend:
Pck: Peripheral Clock
Notes: 1. When the PE bit is set to 1, the parity (even or odd) specified by the O/E bit is added to
transmit data before transmission. In reception, the parity bit is checked for the parity
(even or odd) specified by the O/E bit.
2. In transmission, a single 1-bit (stop bit) is added to the end of a transmit character
before it is sent.
3. In transmission, two 1-bits (stop bits) are added to the end of a transmit character
before it is sent.
Rev.1.00 Jan. 10, 2008 Page 1050 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.6
Serial Control Register (SCSCR)
SCSCR is a register used to enable/disable transmission/reception by SCIF, serial clock output,
interrupt requests, and to select transmission/reception clock source for the SCIF.
SCSCR can always be read from and written to by the CPU.
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
TIE
RIE
TE
RE
REIE
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R
Bit
Bit Name
Initial
Value
R/W
Description
15 to 8
—
All 0
R
Reserved
1
0
CKE1 CKE0
0
R/W
0
R/W
These bits are always read as 0. The write value
should always be 0.
7
TIE
0
R/W
Transmit Interrupt Enable
Enables or disables transmit-FIFO-data-empty interrupt
(TXI) request generation when serial transmit data is
transferred from SCFTDR to SCTSR, the number of
data bytes in SCFTDR falls to or below the transmit
trigger setting count, and the TDFE flag in SCFSR is
set to 1.
TXI interrupt requests can be released by the following
methods: Either by reading 1 from the TDFE flag in
SCFSR, writing transmit data exceeding the transmit
trigger setting count to SCFTDR and then clearing the
TDFE flag in SCFSR to 0, or by clearing the TIE bit to
0.
0: Transmit-FIFO-data-empty interrupt (TXI) request
disabled
1: Transmit-FIFO-data-empty interrupt (TXI) request
enabled
Rev.1.00 Jan. 10, 2008 Page 1051 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
6
RIE
0
R/W
Receive Interrupt Enable*1
Enables or disables generation of a receive-data-full
interrupt (RXI) request when the RDF flag or DR flag in
SCFSR is set to 1, a receive-error interrupt (ERI)
request when the ER flag in SCFSR is set to 1, and a
break interrupt (BRI) request when the BRK flag in
SCFSR or the ORER flag in SCLSR is set to 1.
0: Receive-data-full interrupt (RXI) request, receiveerror interrupt (ERI) request, and break interrupt
(BRI) request disabled
1: Receive-data-full interrupt (RXI) request, receiveerror interrupt (ERI) request, and break interrupt
(BRI) request enabled
5
TE
0
R/W
Transmit Enable
Enables or disables the start of serial transmission by
the SCIF.
Serial transmission is started when transmit data is
written to SCFTDR while the TE bit is set to 1.
0: Transmission disabled
1: Transmission enabled*2
Rev.1.00 Jan. 10, 2008 Page 1052 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
4
RE
0
R/W
Receive Enable
Enables or disables the start of serial reception by the
SCIF.
Serial reception is started when a start bit or a
synchronization clock input is detected in
asynchronous mode or clocked synchronous mode,
respectively, while the RE bit is set to 1.
It should be noted that clearing the RE bit to 0 does not
affect the ER, BRK, FER, PER, RDF, and DR flags in
SCFSR, and ORER flag in SCLSR, which retain their
states.
Serial reception begins once the start bit is detected in
these states.
0: Reception disabled
1: Reception enabled*3
3
REIE
0
R/W
Receive Error Interrupt Enable
Enables or disables generation of receive-error
interrupt (ERI) and break interrupt (BRI) requests. The
REIE bit setting is valid only when the RIE bit is 0.
Receive-error interrupt (ERI) and break interrupt (BRI)
requests can be cleared by reading 1 from ER and
BRK in SCFSR, or the ORER flag in SCLSR, then
clearing the flag to 0, or by clearing the RIE and REIE
bits to 0. When REIE is set to 1, ERI and BRI interrupt
requests are generated even if RIE is cleared to 0. In
DMA transfer, this setting is made if the interrupt
controller is to be notified of ERI and BRI interrupt
requests.
0: Receive-error interrupt (ERI) and break interrupt
(BRI) requests disabled
1: Receive-error interrupt (ERI) and break interrupt
(BRI) requests enabled
2
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1053 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
1
0
CKE1
CKE0
0
0
R/W
R/W
Clock Enable 1, 0
These bits select the SCIF clock source and whether to
enable or disable the clock output from the SCIF_SCK
pin. The CKE1 and CKE0 bits are used together to
specify whether the SCIF_SCK pin functions as a serial
clock output pin or a serial clock input pin. Note
however that the CKE0 bit setting is valid only when an
internal clock is selected as the SCIF clock source
(CKE1 = 0). When an external clock is selected (CKE1
= 1), the CKE0 bit setting is invalid. The CKE1 and
CKE0 bit must be set before determining the SCIF's
operating mode with SCSMR.
• Asynchronous mode
00: Internal clock/SCIF_SCK pin functions as port
according to the SCSPTR settings
01: Internal clock/SCIF_SCK pin functions as clock
4
output*
1x: External clock/SCIF_SCK pin functions as clock
input*5
• Clocked synchronous mode
0x: Internal clock/SCIF_SCK pin functions as
synchronization clock output
1x: External clock/SCIF_SCK pin functions as
synchronization clock input
Legend:
x: Don't care
Notes: 1. An RXI interrupt request can be canceled by reading 1 from the RDF or DR flag in
SCFSR, then clearing the flag to 0, or by clearing the RIE bit to 0. ERI and BRI interrupt
requests can be canceled by reading 1 from ER and BRK in SCFSR, or ORER flag in
SCFSR, then clearing the flag to 0, or by clearing the RIE and REIE bits to 0.
2. SCSMR and SCFCR settings must be made, the transmission format determined, and
the transmit FIFO reset (the TFCL bit in SCFCR set to 1), before the TE bit is set to 1.
3. SCSMR and SCFCR settings must be made, the reception format determined, and the
receive FIFO reset (the RFCL bit in SCFCR set to 1), before the RE bit is set to 1.
4. The output clock frequency is 16 times the bit rate.
5. The input clock frequency is 16 times the bit rate.
(For the relation between the value set in SCBRR and the baud rate generator, see
section 21.3.8, Bit Rate Register n (SCBRR).)
Rev.1.00 Jan. 10, 2008 Page 1054 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.7
Serial Status Register n (SCFSR)
SCFSR is a 16-bit register that consists of status flags that indicate the operating status of the
SCIF.
SCFSR can be always read from or written to by the CPU. However, 1 cannot be written to the
ER, TEND, TDFE, BRK, RDF, and DR flags. Also note that in order to clear these flags they
must be read as 1 beforehand. The FER flag and PER flag are read-only flags and cannot be
modified.
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
ER
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
6
5
4
TEND TDFE BRK
0
1
1
0
R/W* R/W* R/W* R/W*
3
2
1
0
FER
PER
RDF
DR
0
R
0
R
0
0
R/W* R/W*
Note: * Only 0 can be written to clear the flag.
Bit
Bit Name
Initial
Value
R/W
Description
15 to 8
—
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
Rev.1.00 Jan. 10, 2008 Page 1055 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
7
ER
0
R/W*1 Receive Error
Indicates that a framing error or parity error occurred
during reception. The ER flag is not affected and
retains its previous state when the RE bit in SCSCR is
cleared to 0. When a receive error occurs, the receive
data is still transferred to SCFRDR, and reception
continues.
The FER and PER bits in SCFSR can be used to
determine whether there is a receive error in the
readout data from SCFRDR.
0: No framing error or parity error occurred during
reception
[Clearing conditions]
• Power-on reset or manual reset
• When 0 is written to ER after reading ER = 1
1: A framing error or parity error occurred during
reception
[Setting conditions]
• When the SCIF checks whether the stop bit at the
end of the receive data is 1 when reception ends,
and the stop bit is 0*2
• When, in reception, the number of 1-bits in the
receive data plus the parity bit does not match the
parity setting (even or odd) specified by the O/E bit
in SCSMR.
6
TEND
1
R/W*1 Transmit End
Indicates that transmission has been ended without
valid data in SCFTDR on transmission of the last bit of
the transmit character.
0: Transmission is in progress
[Clearing conditions]
• When transmit data is written to SCFTDR, and 0 is
written to TEND after reading TEND = 1
• When data is written to SCFTDR by the DMAC
1: Transmission has been ended
[Setting conditions]
• Power-on reset or manual reset
• When the TE bit in SCSCR is 0
• When there is no transmit data in SCFTDR on
transmission of the last bit of a 1-byte serial
transmit character
R/W
Rev.1.00 Jan. 10, 2008 Page 1056 of 1658
REJ09B0261-0100
Description
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
1
5
TDFE
1
R/W* Transmit FIFO Data Empty
Indicates that data has been transferred from SCFTDR
to SCTSR, the number of data bytes in SCFTDR has
fallen to or below the transmit trigger data count set by
the TTRG1 and TTRG0 bits in SCFCR, and new
transmit data can be written to SCFTDR.
0: A number of transmit data bytes exceeding the
transmit trigger setting count have been written to
SCFTDR
[Clearing conditions]
• When transmit data exceeding the transmit trigger
setting count is written to SCFTDR after reading
TDFE = 1, and 0 is written to TDFE
• When transmit data exceeding the transmit trigger
setting count is written to SCFTDR by the DMAC
1: The number of transmit data bytes in SCFTDR does
not exceed the transmit trigger setting count
[Setting conditions]
• Power-on reset or manual reset
• When the number of SCFTDR transmit data bytes
falls to or below the transmit trigger setting count as
3
the result of a transmit operation*
4
BRK
0
R/W*1 Break Detection
Indicates that a receive data break signal has been
detected.
0: A break signal has not been received
[Clearing conditions]
•
Power-on reset or manual reset
• When 0 is written to BRK after reading BRK = 1
1: A break signal has been received*4
[Setting condition]
•
When data with a framing error is received, followed
by the space 0 level (low level) for at least one
frame length
Rev.1.00 Jan. 10, 2008 Page 1057 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
3
FER
0
R
Framing Error Display
In asynchronous mode, indicates whether or not a
framing error has been found in the data that is to be
read from SCFRDR.
0: There is no framing error that is to be read next from
SCFRDR
[Clearing conditions]
•
Power-on reset or manual reset
•
When there is no framing error in the data that is to
be read next from SCFRDR
1: There is a framing error that is to be read from
SCFRDR
[Setting condition]
•
2
PER
0
R
When there is a framing error in the data that is to
be read next from SCFRDR
Parity Error Display
In asynchronous mode, indicates whether or not a
parity error has been found in the data that is to be
read next from SCFRDR.
0: There is no parity error that is to be read from
SCFRDR
[Clearing conditions]
•
Power-on reset or manual reset
•
When there is no parity error in the data that is to
be read next from SCFRDR
1: There is a parity error in the receive data that is to be
read next from SCFRDR
[Setting condition]
•
Rev.1.00 Jan. 10, 2008 Page 1058 of 1658
REJ09B0261-0100
When there is a parity error in the data that is to be
read next from SCFRDR
21. Serial Communication Interface with FIFO (SCIF)
Bit
1
Bit Name
RDF
Initial
Value
0
R/W
Description
1
R/W* Receive FIFO Data Full
Indicates that the received data has been transferred
from SCRSR to SCFRDR, and the number of receive
data bytes in SCFRDR is equal to or greater than the
receive trigger count set by the RTRG1 and RTRG0
bits in SCFCR.
0: The number of receive data bytes in SCFRDR is less
than the receive trigger setting count.
[Clearing conditions]
•
Power-on reset or manual reset
•
When SCFRDR is read until the number of receive
data bytes in SCFRDR falls below the receive
trigger setting count after reading RDF = 1, and 0 is
written to RDF
•
When SCFRDR is read by the DMAC until the
number of receive data bytes in SCFRDR falls
below the receive trigger setting count
1: The number of receive data bytes in SCFRDR is
equal to or greater than the receive trigger setting
count
[Setting condition]
•
When SCFRDR contains at least the receive trigger
5
setting count of receive data bytes*
Rev.1.00 Jan. 10, 2008 Page 1059 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
0
Bit Name
DR
Initial
Value
0
R/W
Description
1
R/W* Receive Data Ready
In asynchronous mode, indicates that there are fewer
than the receive trigger setting count of data bytes in
SCFRDR, and no further data has arrived for at least
15 etu after the stop bit of the last data received. This is
not set when using clocked synchronous mode.
0: Reception is in progress or has ended normally and
there is no receive data left in SCFRDR
[Clearing conditions]
• Power-on reset or manual reset
• When all the receive data in SCFRDR has been
read after reading DR = 1, and 0 is written to DR
• When all the receive data in SCFRDR has been
read by the DMAC
1: No further receive data has arrived
[Setting condition]
• When SCFRDR contains fewer than the receive
trigger setting count of receive data bytes, and no
further data has arrived for at least 15 etu after the
6
stop bit of the last data received*
Legend:
etu:
Elementary time unit (time for transfer of 1 bit)
Notes: 1. Only 0 can be written to clear the flag.
2. In 2-stop bit mode, only the first stop bit is checked for a value of 1; the second stop bit
is not checked.
3. As SCFTDR is a 64-byte FIFO register, the maximum number of bytes that can be
written when TDFE = 1 is 64 − (transmit trigger setting count). Data written in excess of
this is ignored. The upper bits of SCTFDR indicate the number of data bytes transmitted
to SCFTDR.
4. When a break is detected, the receive data (H'00) following detection is not transferred
to SCFRDR. When the break ends and the receive signal returns to mark 1, receive
data transfer is resumed.
5. SCFRDR is a 64-byte FIFO register. When RDF = 1, at least the receive trigger setting
count of data bytes can be read. If all the data in SCFRDR is read and another read is
performed, the data value is undefined. The number of receive data bytes in SCFRDR
is indicated by SCRFDR.
6. Equivalent to 1.5 frames with an 8-bit, 1-stop-bit format
Rev.1.00 Jan. 10, 2008 Page 1060 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.8
Bit Rate Register n (SCBRR)
SCBRR is an 8-bit register that sets the serial transmission/reception bit rate in accordance with
the baud rate generator operating clock selected by the CKS1 and CKS0 bits in SCSMR.
SCBRR can always be read from and written to by the CPU.
The SCBRR setting is found from the following equation.
Asynchronous mode:
N=
Pck
64 × 22n - 1 × B
× 106 - 1
Clocked synchronous mode:
N=
Where B:
N:
Pck:
n:
Pck
8 × 22n - 1 × B
× 106 - 1
Bit rate (bit/s)
SCBRR setting for baud rate generator (0 ≤ N ≤ 255)
Peripheral module operating frequency (MHz)
0, 1, 2, 3
(See table 21.3 for the relation between n and the baud rate generator input clock.)
Table 21.3 SCSMR Settings
SCSMR Setting
n
Baud Rate Generator Input Clock
CKS1
CKS0
0
Pck
0
0
1
Pck/4
0
1
2
Pck/16
1
0
3
Pck/64
1
1
The bit rate error in asynchronous mode is found from the following equation:
Error (%) =
Pck × 106
-1
(N + 1) × B × 64 × 22n - 1
× 100
Rev.1.00 Jan. 10, 2008 Page 1061 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.9
FIFO Control Register n (SCFCR)
SCFCR is a register that performs data count resetting and trigger data number setting for transmit
and receive FIFO registers, and also contains a loopback test enable bit.
SCFCR can always be read from and written to by the CPU.
BIt:
Initial value:
R/W:
15
14
13
12
11
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
10
9
8
7
6
5
4
3
2
RST
RST
RST
1
RG2*1 RG1*1 RG0*1 RTRG1 RTRG0 TTRG1 TTRG0 MCE* TFCL
0
R/W
Bit
Bit Name
Initial
Value
R/W
15 to 11
—
All 0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
0
RFCL LOOP
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
10
RSTRG2*1 0
R/W
SCIF_RTS Output Active Trigger
9
RSTRG1*1 0
R/W
The SCIF_RTS signal becomes high when the number
of receive data stored in SCFRDR exceeds the trigger
setting count shown below.
8
RSTRG0*
1
0
R/W
000:63
001:1
010:8
011:16
100:32
101:48
110:54
111:60
7
RTRG1
0
R/W
Receive FIFO Data Count Trigger
6
RTRG0
0
R/W
These bits are used to set the number of receive data
bytes that sets the RDF flag in SCFSR.
The RDF flag is set when the number of receive data
bytes in SCFRDR is equal to or greater than the trigger
setting count shown below.
00:1
01:16
10:32
11:48
Rev.1.00 Jan. 10, 2008 Page 1062 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
5
TTRG1
0
R/W
Transmit FIFO Data Count Trigger
4
TTRG0
0
R/W
These bits are used to set the number of remaining
transmit data bytes that sets the TDFE flag in SCFSR.
The TDFE flag is set when the number of transmit data
bytes in SCFTDR is equal to or less than the trigger
setting count shown below.
00: 32 (32)*2
01:16 (48)
10: 2 (62)
11: 0 (64)
3
MCE*1
0
R/W
Modem Control Enable
Enables the SCIF_CTS and SCIF_RTS modem control
signals. Always set the MCE bit to 0 in clocked
synchronous mode.
0: Modem signals disabled*3
1: Modem signals enabled
2
TFCL
0
R/W
Transmit FIFO Data Count Register Clear
Clears the transmit data count in the transmit FIFO
data count register to 0.
0: The FIFO data count not cleared*4
1: The FIFO data count cleared to 0
1
RFCL
0
R/W
Receive FIFO Data Count Register Clear
Clears the receive data count in the receive FIFO data
count register to 0.
0: The FIFO data count not cleared*4
1: The FIFO data count cleared
0
LOOP
0
R/W
Loopback Test
Internally connects the transmit output pin (SCIF_TXD)
and receive input pin (SCIF_RXD), and the SCIF_RTS
pin and SCIF_CTS pin, enabling loopback testing.
0: Loopback test disabled
1: Loopback test enabled
Notes: 1. Only channel 0. Reserved bit in channels 1 to 5.
2. Figures in parentheses are the number of empty bytes in SCFTDR when the flag is set.
3. SCIF_CTS is fixed at active-0 regardless of the input value, and SCIF_RTS output is
also fixed at 0.
4. A reset operation is performed in the event of a power-on reset or manual reset.
Rev.1.00 Jan. 10, 2008 Page 1063 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.10 Transmit FIFO Data Count Register n (SCTFDR)
SCTFDR is a 16-bit register that indicates the number of transmit data bytes stored in SCFTDR.
SCTFDR can always be read from the CPU.
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
T6
T5
T4
T3
T2
T1
T0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
15 to 7
—
All 0
R
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
6 to 0
T6 to T0
All 0
R
Rev.1.00 Jan. 10, 2008 Page 1064 of 1658
REJ09B0261-0100
These bits show the number of untransmitted data
bytes in SCFTDR. A value of H'00 indicates that there
is no transmit data, and a value of H'40 indicates that
SCFTDR is full of the maximum number (64 bytes) of
transmit data.
21. Serial Communication Interface with FIFO (SCIF)
21.3.11 Receive FIFO Data Count Register n (SCRFDR)
SCRFDR is a 16-bit register that indicates the number of receive data bytes stored in SCFRDR.
SCRFDR can always be read from the CPU.
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
R6
R5
R4
R3
R2
R1
R0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
15 to 7
—
All 0
R
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
6 to 0
R6 to R0
All 0
R
These bits show the number of receive data bytes in
SCFRDR. A value of H'00 indicates that there is no
receive data, and a value of H'40 indicates that
SCFRDR is full of receive data.
Rev.1.00 Jan. 10, 2008 Page 1065 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.12 Serial Port Register n (SCSPTR)
SCSPTR is a 16-bit readable/writable register that controls input/output and data for the port pins
multiplexed with the serial communication interface (SCIF) pins at all times. Input data can be
read from the RXD pin, and output data written to the TXD pin, and breaks in serial
transmission/reception controlled, by means of bits 1 and 0.
All SCSPTR bits except bits 6, 4, 2, and 0 are initialized to 0 by a power-on reset or manual reset;
the value of bits 6, 4, 2, and 0 is undefined. SCSPTR is not initialized in the module standby state.
Note that when reading data via a serial port pin in the SCIF, the peripheral clock value from 2
cycles before is read.
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
RTS
IO*
RTS
DT*
CTS
IO*
CTS
DT*
SCK
IO
SCK
DT
SPB2
IO
SPB2
DT
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
⎯
R/W
0
R/W
⎯
R/W
0
R/W
⎯
R/W
0
R/W
⎯
R/W
Bit
Bit Name
Initial
Value
R/W
15 to 8
—
All 0
R
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
7
RTSIO*
0
R/W
Serial Port SCIF_RTS Port Input/Output
Specifies the serial port SCIF_RTS pin input/output
condition. When actually setting the SCIF_RTS pin as
a port output pin to output the value set by the RTSDT
bit, the MCE bit in SCFCR should be cleared to 0.
0: RTSDT bit value is not output to SCIF_RTS pin
1: RTSDT bit value is output to SCIF_RTS pin
Rev.1.00 Jan. 10, 2008 Page 1066 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
6
RTSDT*
—
R/W
Serial Port SCIF_RTS Port Data
Specifies the serial port SCIF_RTS pin input/output
data. Input or output is specified by the RTSIO bit. In
output mode, the RTSDT bit value is output to the
SCIF_RTS pin. The SCIF_RTS pin value is read from
the RTSDT bit regardless of the value of the RTSIO bit.
The initial value of this bit after a power-on reset or
manual reset is undefined.
0: Input/output data is low-level
1: Input/output data is high-level
5
CTSIO*
0
R/W
Serial Port SCIF_CTS Port Input/Output
Specifies the serial port SCIF_CTS pin input/output
condition. When actually setting the SCIF_CTS pin as
a port output pin to output the value set by the CTSDT
bit, the MCE bit in SCFCR should be cleared to 0.
0: CTSDT bit value is not output to SCIF_CTS pin
1: CTSDT bit value is output to SCIF_CTS pin
4
CTSDT*
—
R/W
Serial Port SCIF_CTS Port Data
Specifies the serial port SCIF_CTS pin input/output
data. Input or output is specified by the CTSIO bit. In
output mode, the CTSDT bit value is output to the
SCIF_CTS pin. The SCIF_CTS pin is read from the
CTSDT bit regardless of the value of the CTSIO bit.
The initial value of this bit after a power-on reset or
manual reset is undefined.
0: Input/output data is low-level
1: Input/output data is high-level
3
SCKIO
0
R/W
Serial Port Clock Port Input/Output
Specifies the serial port SCIF_SCK pin input/output
condition. When actually setting the SCIF_SCK pin as
a port output pin to output the value set by the SCKDT
bit, the CKE1 and CKE0 bits in SCSCR should be
cleared to 0.
0: SCKDT bit value is not output to SCIF_SCK pin
1: SCKDT bit value is output to SCIF_SCK pin
Rev.1.00 Jan. 10, 2008 Page 1067 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Bit
Bit Name
Initial
Value
R/W
Description
2
SCKDT
—
R/W
Serial Port Clock Port Data
Specifies the serial port SCIF_SCK pin input/output
data. Input or output is specified by the SCKIO bit. In
output mode, the SCKDT bit value is output to the
SCIF_SCK pin. The SCIF_SCK pin value is read from
the SCKDT bit regardless of the value of the SCKIO bit.
The initial value of this bit after a power-on reset or
manual reset is undefined.
0: Input/output data is low-level
1: Input/output data is high-level
1
SPB2IO
0
R/W
Serial Port Break Input/Output
This bit specifies serial port SCIF_TXD pin output
condition. When actually setting the SCIF_TXD pin as a
port output pin to output the value set by the SPB2DT
bit, the TE bit in SCSCR should be cleared to 0.
0: SPB2DT bit value is not output to the SCIF_TXD pin
1: SPB2DT bit value is output to the SCIF_TXD pin
0
SPB2DT
—
R/W
Serial Port Break Data
Specifies the serial port SCIF_RXD pin input data and
SCIF_TXD pin output data. The SCIF_TXD pin output
condition is specified by the SPB2IO bit. When the
SCIF_TXD pin is designated as an output, the value of
the SPB2DT bit is output to the SCIF_TXD pin. The
SCIF_RXD pin value is read from the SPB2DT bit
regardless of the value of the SPB2IO bit. The initial
value of this bit after a power-on reset or manual reset
is undefined.
0: Input/output data is low-level
1: Input/output data is high-level
Note:
*
Only channel 0. Reserved bit in channels 1 to 5.
Rev.1.00 Jan. 10, 2008 Page 1068 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.13 Line Status Register n (SCLSR)
BIt:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
ORER
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W*
Note: * Only 0 can be written to clear the flag.
Bit
Bit Name
Initial
Value
R/W
Description
15 to 1
—
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
0
ORER
0
R/W*1 Overrun Error
Indicates that an overrun error occurred during
reception, causing abnormal termination.
0: Reception in progress, or reception has ended
normally*2
[Clearing conditions]
•
Power-on reset or manual reset
• When 0 is written to ORER after reading ORER = 1,
3
1: An overrun error occurred during reception*
[Setting condition]
•
When the next serial reception is completed while
SCFRDR receives 64-byte data (SCFRDR is full)
Notes: 1. Only 0 can be written to clear the flag.
2. The ORER flag is not affected and retains its previous state when the RE bit in SCSCR
is cleared to 0.
3. The receive data prior to the overrun error is retained in SCFRDR, and the data
received subsequently is lost. Serial reception cannot be continued while the ORER flag
is set to 1.
Rev.1.00 Jan. 10, 2008 Page 1069 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.3.14 Serial Error Register n (SCRER)
SCRER is a 16-bit register that indicates the number of receive errors in the data in SCFRDR.
SCRER can always be read from the CPU.
BIt:
Initial value:
R/W:
15
14
⎯
⎯
0
R
0
R
13
12
11
10
9
8
PER5 PER4 PER3 PER2 PER1 PER0
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
15, 14
—
All 0
R
Reserved
7
6
⎯
⎯
0
R
0
R
5
4
3
2
1
0
FER5 FER4 FER3 FER2 FER1 FER0
0
R
0
R
0
R
0
R
0
R
0
R
These bits are always read as 0. The write value
should always be 0.
13
PER5
0
R
Number of Parity Errors
12
PER4
0
R
11
PER3
0
R
10
PER2
0
R
These bits indicate the number of data bytes in which a
parity error occurred in the receive data stored in
SCFRDR.
9
PER1
0
R
8
PER0
0
R
After the ER bit in SCFSR is set, the value indicated by
bits PER5 to PER0 is the number of data bytes in
which a parity error occurred.
If all 64 bytes of receive data in SCFRDR have parity
errors, the value indicated by bits PER5 to PER0 is 0.
7, 6
—
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
5
FER5
0
R
Number of Framing Errors
4
FER4
0
R
3
FER3
0
R
2
FER2
0
R
These bits indicate the number of data bytes in which a
framing error occurred in the receive data stored in
SCFRDR.
1
FER1
0
R
0
FER0
0
R
After the ER bit in SCFSR is set, the value indicated by
bits FER5 to FER0 is the number of data bytes in which
a framing error occurred.
If all 64 bytes of receive data in SCFRDR have framing
errors, the value indicated by bits FER5 to FER0 is 0.
Rev.1.00 Jan. 10, 2008 Page 1070 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.4
Operation
21.4.1
Overview
The SCIF can perform serial communication in asynchronous mode, in which synchronization is
achieved character by character and in clocked synchronous mode, in which synchronization is
achieved with clock pulses. For details on asynchronous mode, see section 21.4.2, Operation in
Asynchronous Mode.
64-stage FIFO buffers are provided for both transmission and reception, reducing the CPU
overhead, and enabling fast and continuous communication to be performed.
SCIF_RTS and SCIF_CTS signals are also provided as modem control signals (only in channel 0).
The serial transfer format is selected using SCSMR as shown in table 21.4. The SCIF clock source
is determined by the combination of the C/A bit in SCSMR and the CKE1 and CKE0 bits in
SCSCR, as shown in table 21.5.
Asynchronous Mode:
• Data length: Choice of 7 or 8 bits
• LSB first for data transmission and reception
• Choice of parity addition and addition of 1 or 2 stop bits (the combination of these parameters
determines the transfer format and character length)
• Detection of framing errors, parity errors, receive-FIFO-data-full state, overrun errors, receivedata-ready state, and breaks, during reception
• Indication of the number of data bytes stored in the transmit and receive FIFO registers
• Choice of peripheral clock (Pck) or SCIF_SCK pin input as SCIF clock source
When peripheral clock is selected: The SCIF operates on the baud rate generator clock and can
output a clock with frequency of 16 times the bit rate.
When SCIF_SCK pin input is selected: A clock with frequency of 16 times the bit rate must be
input (the on-chip baud rate generator is not used).
Rev.1.00 Jan. 10, 2008 Page 1071 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Clocked Synchronous Mode
•
•
•
•
Data length: Fixed at 8 bits
LSB first for data transmission and reception
Detection of overrun errors during reception
Choice of peripheral clock (Pck) or SCIF_SCK pin input as SCIF clock source
When peripheral clock (Pck) is selected: The SCIF operates on the baud rate generator clock
and a serial clock is output to external devices.
When SCIF_SCK pin input is selected: The on-chip baud rate generator is not used and the
SCIF operates on the input serial clock.
Table 21.4 SCSMR Settings for Serial Transfer Format Selection
SCSMR Settings
SCIF Transfer Format
Bit 7:
C/A
Bit 6:
CHR
Bit 5:
PE
Bit 3:
STOP
Mode
Data
Length
Parity
Bit
Stop Bit
Length
0
0
0
0
Asynchronous mode
8-bit data
No
1 bit
1
1
2 bits
Yes
0
1
1
0
2 bits
0
7-bit data
No
1
1
x
x
0
x
Legend:
x: Don't care
Rev.1.00 Jan. 10, 2008 Page 1072 of 1658
REJ09B0261-0100
1 bit
2 bits
Yes
1
1
1 bit
1 bit
2 bits
Clocked synchronous
mode
8-bit data
No
No
21. Serial Communication Interface with FIFO (SCIF)
Table 21.5 SCSMR and SCSCR Settings for SCIF Clock Source Selection
SCSMR
SCSCR Settings
Bit 7:
C/A
Bit 1:
CKE1
Bit 0:
CKE0
0
0
0
1
1
Mode
Asynchronous
mode
0
Clock
Source
SCIF_SCK Pin Function
Internal
SCIF does not use SCIF_SCK pin
Outputs clock with frequency of
16 times the bit rate
External
times the bit rate
1
1
0
0
1
1
0
Inputs clock with frequency of 16
Clocked
synchronous
mode
Internal
Outputs synchronization clock
External
Inputs synchronization clock
1
Rev.1.00 Jan. 10, 2008 Page 1073 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.4.2
Operation in Asynchronous Mode
In asynchronous mode, a character that consists of data with a start bit indicating the start of
communication and a stop bit indicating the end of communication is transmitted or received. In
this mode, serial communication is performed with synchronization achieved character by
character.
Inside the SCIF, the transmitter and receiver are independent units, enabling full-duplex
communication. Both the transmitter and receiver have a 64-stage FIFO buffer structure, so that
data can be read or written during transmission or reception, enabling continuous data
transmission and reception.
Figure 21.7 shows the general format for asynchronous serial communication.
In asynchronous serial communication, the transmission line is usually held in the mark state (high
level). The SCIF monitors the transmission line, and when it goes to the space state (low level),
recognizes a start bit and starts serial communication.
One character in serial communication consists of a start bit (low level), followed by
transmit/receive data (LSB first; from the lowest bit), a parity bit (high or low level), and finally
stop bits (high level).
In reception in asynchronous mode, the SCIF synchronizes with the fall of the start bit. Receive
data can be latched at the middle of each bit because the SCIF samples data at the eighth clock
with frequency of 16 times the bit rate.
Idle state
(mark state)
1
Serial
data
LSB
0
Start
bit
D0
Idle state
(mark state)
1
MSB
D1
D2
D3
D4
D5
Transmit/receive data
1 bit
7 or 8 bits
D6
D7
0/1
1
1
Parity
bit
Stop bit
1 bit or
none
1 or 2 bits
One unit of transfer data (character or frame)
Figure 21.7 Data Format in Asynchronous Communication
(Example with 8-Bit Data, Parity, and Two Stop Bits)
Rev.1.00 Jan. 10, 2008 Page 1074 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(1)
Data Transfer Format
Table 21.6 shows the data transfer formats that can be used. Any of 8 transfer formats can be
selected according to the SCSMR settings.
Table 21.6 Serial Transfer Formats (Asynchronous Mode)
SCSMR Settings
Serial Transfer Format and Frame Length
CHR PE
STOP
1
2
3
4
5
6
7
8
9
10
11
12
0
0
0
S
8-bit data
STOP
0
0
1
S
8-bit data
STOP STOP
0
1
0
S
8-bit data
P
STOP
0
1
1
S
8-bit data
P
STOP STOP
1
0
0
S
7-bit data
STOP
1
0
1
S
7-bit data
STOP STOP
1
1
0
S
7-bit data
P
STOP
1
1
1
S
7-bit data
P
STOP STOP
Legend:
S:
Start bit
STOP: Stop bit
P:
Parity bit
Rev.1.00 Jan. 10, 2008 Page 1075 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(2)
Clock
Either an internal clock generated by the on-chip baud rate generator or an external clock input at
the SCIF_SCK pin can be selected as the SCIF's serial clock, according to the settings of the C/A
bit in SCSMR and the CKE1 and CKE0 bits in SCSCR. For details on SCIF clock source
selection, see table 21.5.
When an external clock is input to the SCIF_SCK pin, the clock frequency should be 16 times the
bit rate used.
When the SCIF is operated on an internal clock, a clock with frequency of 16 times the bit rate is
output from the SCIF_SCK pin.
(3)
SCIF Initialization (Asynchronous Mode)
Before transmitting and receiving data, it is necessary to clear the TE and RE bits in SCSCR to 0,
then initialize the SCIF as described below.
When the operating mode or transfer format, etc., is changed, the TE and RE bits must be cleared
to 0 before making the change using the following procedure.
1.
2.
3.
When the TE bit is cleared to 0, SCTSR is initialized. Note that clearing the TE and RE bits to
0 does not change the contents of SCFSR, SCFTDR, or SCFRDR.
The TE bit should be cleared to 0 after all transmit data has been sent and the TEND flag in
SCFSR has been set. The TE bit can also be cleared to 0 during transmission, but the data
being transmitted goes to the mark state after the clearance. Before setting TE again to start
transmission, the TFRST bit in SCFCR should first be set to 1 to reset SCFTDR.
When an external clock is used, the clock should not be stopped during operation, including
initialization, since operation will be unreliable in this case.
Rev.1.00 Jan. 10, 2008 Page 1076 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Figure 21.8 shows a sample SCIF initialization flowchart.
Start of initialization
[1] Set the clock selection in SCSCR.
Be sure to clear bits TIE, RIE, TE,
and RE to 0.
Clear TE and RE bits in
SCSCR to 0
[2] Set the data transfer format in
SCSMR.
Set TFCL and RFCL bits in
SCFCR to 1
Set CKE1 and CKE0 bits
in SCSCR (leaving TIE, RIE,
TE, and RE bits cleared to 0)
[1]
Set data transfer format
in SCSMR
[2]
Set value in SCBRR
[3]
Wait
1-bit interval elapsed?
No
[3] Write a value corresponding to the
bit rate into SCBRR. (Not
necessary if an external clock is
used.)
[4] Wait at least one bit interval, then
set the TE bit or RE bit in SCSCR
to 1. Also set the TIE, RIE, and
REIE bits.
Setting the TE and RE bits
enables the SCIF_TXD and
SCIF_RXD pins to be used.
When transmitting, the SCIF goes
to the mark state; when receiving,
it goes to the idle state, waiting for
a start bit.
Yes
Set RTRG1 and RTRG0,
TTRG1 and TTRG0, and
MCE bits in SCFCR, and
clear TFCL and RFCL bits to 0
Set TE and RE bits in
SCSCR to 1, and set TIE, RIE,
and REIE bits
[4]
End of initialization
Figure 21.8 Sample SCIF Initialization Flowchart
Rev.1.00 Jan. 10, 2008 Page 1077 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(4)
Serial Data Transmission (Asynchronous Mode)
Figure 21.9 shows a sample flowchart for serial transmission.
Use the following procedure for serial data transmission after enabling the SCIF for transmission.
Start of transmission
[1] SCIF status check and transmit data
write:
Read SCFSR and check that the
TDFE flag is set to 1, then write
transmit data to SCFTDR, and clear
the TDFE and TEND flags to 0.
The number of transmit data bytes
that can be written is 64 - (transmit
trigger setting count).
Read TDFE flag in SCFSR
TDFE = 1?
No
Yes
Write transmit data in SCFTDR,
and clear TDFE and TEND bits
in SCFSR to 0
All data transmitted?
[1]
No
[2]
Yes
Read TEND bit in SCFSR
TEND = 1?
No
Yes
Break output?
Yes
Clear SPB2DT to 0 and
set SPB2IO to 1
No
[3]
[2] Serial transmission continuation
procedure:
To continue serial transmission, read
1 from the TDFE flag to confirm that
writing is possible, then write data to
SCFTDR, and then clear the TDFE
flag to 0.
[3] Break output at the end of serial
transmission:
To output a break in serial
transmission, clear the SPB2DT bit to
0 and set the SPB2IO bit to 1 in
SCSPTR, then clear the TE bit in
SCSCR to 0.
In [1] and [2], it is possible to
ascertain the number of data bytes
that can be written from the number
of transmit data bytes in SCFTDR
indicated by SCTFDR.
Clear TE bit in SCSCR to 0
End of transmission
Figure 21.9 Sample Serial Transmission Flowchart
Rev.1.00 Jan. 10, 2008 Page 1078 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
In serial transmission, the SCIF operates as follows.
1. When data is written to SCFTDR, the SCIF transfers the data from SCFTDR to SCTSR and
starts transmission. Confirm that the TDFE flag in SCFSR is set to 1 before writing transmit
data to SCFTDR. The number of data bytes that can be written is at least 64 − (transmit trigger
setting count).
2. When data is transferred from SCFTDR to SCTSR and transmission is started, consecutive
transmit operations are performed until there is no transmit data left in SCFTDR. When the
number of transmit data bytes in SCFTDR falls to or below the transmit trigger count set in
SCFCR, the TDFE flag is set. If the TIE bit in SCSCR is set to 1 at this time, a transmit-FIFOdata-empty interrupt (TXI) request is generated.
The serial transmit data is sent from the SCIF_TXD pin in the following order.
(a) Start bit: One 0-bit is output.
(b) Transmit data: 8-bit or 7-bit data is output in LSB-first order.
(c) Parity bit: One parity bit (even or odd parity) is output. A format in which a parity bit is not
output can also be selected.
(d) Stop bit(s): One or two 1-bits (stop bits) are output.
(e) Mark state: 1 is output continuously until the start bit that starts the next transmission is
sent.
3. The SCIF checks the SCFTDR transmit data at the timing for sending the stop bit. If data is
present, the data is transferred from SCFTDR to SCTSR, the stop bit is sent, and then serial
transmission of the next frame is started.
If there is no transmit data after the stop bit is sent, the TEND flag in SCFSR is set to 1, and
then the SCIF goes to the mark state in which 1 is output from the SCIF_TXD pin.
Rev.1.00 Jan. 10, 2008 Page 1079 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Figure 21.10 shows an example of the operation for transmission in asynchronous mode.
Idle state
(mark state)
Start
bit
1
SCIF_TXD
Serial
data
0
Data
D0
Parity Stop Start
bit
bit bit
D1
D7
0/1
1
0
Data
D0
D1
Parity Stop
bit
bit
D7
0/1
1
1
Idle state
(mark state)
TDFE
TEND
TXI interrupt
TXI interrupt
request
Data written to SCFTDR request
and TDFE read as 1 then
cleared to 0 by TXI
interrupt handler
One frame
Figure 21.10 Example of SCIF Transmission Operation
(Example with 8-Bit Data, Parity, One Stop Bit)
4. When modem control is enabled, transmission can be stopped and restarted in accordance with
the SCIF_CTS input value. When SCIF_CTS is set to 1 during transmission, the SCIF goes to
the mark state after transmission of one frame. When SCIF_CTS is set to 0, the next transmit
data is output starting from the start bit.
Figure 21.11 shows an example of the operation when modem control is used.
Start
bit
Serial data
SCIF_TXD
0
ParityStop
bit bit
D0
D1
D7 0/1
Start
bit
0
D0 D1
D7 0/1
SCIF_CTS
Drive high before stop bit
Figure 21.11 Example of Operation Using Modem Control (SCIF_CTS)
(Only in Channel 0)
Rev.1.00 Jan. 10, 2008 Page 1080 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(5)
Serial Data Reception (Asynchronous Mode)
Figure 21.12 shows a sample flowchart for serial reception.
Use the following procedure for serial data reception after enabling the SCIF for reception.
Start of reception
Read ER, DR, BRK flags in
SCFSR and ORER
flag in SCLSR
ER or DR or BRK or ORER = 1?
No
Read RDF flag in SCFSR
No
[1]
Yes
Error handling
[2]
RDF = 1?
Yes
Read receive data in
SCFRDR, and clear RDF
flag in SCFSR to 0
No
All data received?
Yes
Clear RE bit in SCSCR to 0
End of reception
[3]
[1] Receive error handling and
break detection:
Read the DR, ER, and BRK
flags in SCFSR, and the
ORER flag in SCLSR, to
identify any error, perform the
appropriate error handling,
then clear the DR, ER, BRK,
and ORER flags to 0. In the
case of a framing error, a
break can also be detected by
reading the value of the
SCIF_RXD pin.
[2] SCIF status check and receive
data read:
Read SCFSR and check that
RDF = 1, then read the receive
data in SCFRDR, read 1 from
the RDF flag, and then clear
the RDF flag to 0. The
transition of the RDF flag from
0 to 1 can also be identified by
an RXI interrupt.
[3] Serial reception continuation
procedure:
To continue serial reception,
read at least the receive
trigger setting count of receive
data bytes from SCFRDR,
read 1 from the RDF flag, then
clear the RDF flag to 0. The
number of receive data bytes
in SCFRDR can be
ascertained by reading from
SCRFDR.
Figure 21.12 Sample Serial Reception Flowchart (1)
Rev.1.00 Jan. 10, 2008 Page 1081 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Error handling
No
ORER = 1?
Yes
Overrun error handling
No
ER = 1?
Yes
[1] Whether a framing error or parity error
has occurred in the receive data that
is to be read from SCFRDR can be
ascertained from the FER and PER
bits in SCFSR.
[2] When a break signal is received,
receive data (H'00) is not transferred
to SCFRDR.
However, note that the last data in
SCFRDR is H'00, and the break data
in which a framing error occurred is
stored.
When a break handling is completed
and a receive signal returns to 1, the
receive data transfer resumes.
Receive error handling
No
BRK = 1?
Yes
Break handling
No
DR = 1?
Yes
Read receive data in SCFRDR
Clear DR, ER, BRK flags
in SCFSR,
and ORER flag in SCLSR, to 0
End
Figure 21.12 Sample Serial Reception Flowchart (2)
Rev.1.00 Jan. 10, 2008 Page 1082 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
In serial reception, the SCIF operates as follows.
1. The SCIF monitors the transmission line, and if a 0-start bit is detected, performs internal
synchronization and starts reception.
2. The received data is stored in SCRSR in LSB-to-MSB order.
3. The parity bit and stop bit are received.
After receiving these bits, the SCIF carries out the following checks.
(a) Stop bit check: The SCIF checks whether the stop bit is 1. If there are two stop bits, only
the first is checked.
(b) The SCIF checks whether receive data can be transferred from SCRSR to SCFRDR.*
(c) Overrun error check: The SCIF checks that the ORER flag is 0, indicating that no overrun
error has occurred.*
(d) Break check: The SCIF checks that the BRK flag is 0, indicating that the break state is not
set.*
If (b), (c), and (d) checks are passed, the receive data is stored in SCFRDR.
Note: * Reception continues even when a parity error or framing error occurs.
4. If the RIE bit in SCSCR is set to 1 when the RDF or DR flag changes to 1, a receive-FIFOdata-full interrupt (RXI) request is generated.
If the RIE bit or REIE bit in SCSCR is set to 1 when the ER flag changes to 1, a receive-error
interrupt (ERI) request is generated.
If the RIE bit or REIE bit in SCSCR is set to 1 when the BRK or ORER flag changes to 1, a
break reception interrupt (BRI) request is generated.
Figure 21.13 shows an example of the operation for reception in asynchronous mode.
1
Serial
data
SCIF_RXD
Start
bit
0
Data
D0
D1
Parity Stop Start
bit
bit bit
D7
0/1
1
0
Data
D0
D1
Parity Stop
bit
bit
D7
0/1
0
0/1
Framing error
detected
RDF
FER
One frame
RXI interrupt
request
Data read and RDF flag
read as 1 then cleared to
0 by RXI interrupt handler
ERI interrupt request
generated by receive
error
Figure 21.13 Example of SCIF Receive Operation
(Example with 8-Bit Data, Parity, One Stop Bit)
Rev.1.00 Jan. 10, 2008 Page 1083 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
5. When modem control is enabled, the SCIF_RTS signal is output when SCFRDR is empty.
When SCIF_RTS is 0, reception is possible. When SCIF_RTS is 1, this indicates that
SCFRDR contains bytes of data equal to or more than the SCIF_RTS output active trigger
count. The SCIF_RTS output active trigger value is specified by bits 10 to 8 in SCFCR. For
details, see section 21.3.9, FIFO Control Register n (SCFCR). In addition, SCIF_RTS is also 1
when the RE bit in SCSCR is cleared to 0.
Figure 21.14 shows an example of the operation when modem control is used.
Start
bit
Serial data
SCIF_RXD
0
ParityStop
bit bit
D0
D1
D2
D7 0/1 1
Start
bit
0
SCIF_RTS
Figure 21.14 Example of Operation Using Modem Control (SCIF_RTS)
(Only in Channels 1 and 2)
Rev.1.00 Jan. 10, 2008 Page 1084 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.4.3
Operation in Clocked Synchronous Mode
Clocked synchronous mode, in which data is transmitted or received in synchronization with clock
pulses, is suitable for fast serial communication.
Since the transmitter and receiver are independent units in the SCIF, full-duplex communication
can be performed by sharing the clock. Both the transmitter and receiver have a 64-stage FIFO
buffer structure, so that data can be read or written during transmission or reception, enabling
continuous data transmission or reception.
Figure 21.15 shows the general format for clocked synchronous communication.
One unit of transfer data (character or frame)
*
*
Synchronization
clock
LSB
Serial data
Don't care
Bit 0
MSB
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Don't care
Note: * High except in continuous transfer
Figure 21.15 Data Format in Clocked Synchronous Communication
In clocked synchronous serial communication, data on the communication line is output from one
fall of the synchronization clock to the next fall. Data is guaranteed to be accurate at the start of
the synchronization clock.
In serial communication, each character is output starting with the LSB and ending with the MSB.
After the MSB is output, the communication line remains in the state of the last data.
In clocked synchronous mode, the SCIF receives data in synchronization with the rise of the
synchronization clock.
Rev.1.00 Jan. 10, 2008 Page 1085 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(1)
Data Transfer Format
A fixed 8-bit data format is used. No parity bit can be added.
(2)
Clock
Either an internal clock generated by the on-chip baud rate generator or an external
synchronization clock input at the SCIF_SCK pin can be selected as the SCIF's serial clock,
according to the settings of the C/A bit in SCSMR and the CKE1 and CKE0 bits in SCSCR. For
details on SCIF clock source selection, see table 21.5.
When the SCIF is operated on an internal clock, the synchronization clock is output from the
SCIF_SCK pin. Eight synchronization clock pulses are output in the transfer of one character, and
when no transfer is performed, the clock is fixed high. When an internal clock is selected in a
receive operation only, as long as the RE bit in SCSCR is set to 1, clock pulses are output until the
number of receive data bytes in the receive FIFO data register reaches the receive trigger count.
(3)
SCIF Initialization (Clocked Synchronous Mode)
Before transmitting and receiving data, it is necessary to clear the TE and RE bits in SCSCR to 0,
then initialize the SCIF as described below.
When changing the operating mode or transfer format, etc., the TE and RE bits must be cleared to
0 before making the change using the following procedure. When the TE bit is cleared to 0,
SCTSR is initialized. Note that clearing the RE bit to 0 does not initialize the RDF, PER, FER, or
ORER flag state or change the contents of SCFRDR.
Figure 21.16 shows a sample SCIF initialization flowchart.
Rev.1.00 Jan. 10, 2008 Page 1086 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Start of initialization
Clear TE and RE bits
in SCSCR to 0
[1]
[1] Leave the TE and RE bits cleared
to 0 until the initialization almost
ends. Be sure to clear the TIE,
RIE, TE, and RE bits to 0.
[2] Set the CKE1 and CKE0 bits.
Set TFCL and RFCL bits
in SCFCR to 1 to clear
the FIFO buffer
[3] Set the data transfer format in
SCSMR.
[4] Write a value corresponding to
the bit rate into SCBRR. This
is not necessary if an external
clock is used. Wait at least one
bit interval after this write before
moving to the next step.
After reading BRK, DR,
and ER flags in SCFSR,
write 0 to clear them
Set CKE1 and CKE0 bits
in SCSCR (leaving TE, RE, TIE,
and RIE bits cleared to 0)
[2]
Set data transfer format
in SCSMR
[3]
Set value in SCBRR
[4]
Wait
1-bit interval elapsed?
No
Yes
Set RTRG1 and RTRG0 and
TTRG1 and TTRG0 bits in SCFCR,
and clear TFCL and RFCL bits to 0
Set external pins to be used
(SCIF_CLK, SCIF_TXD,
and SCIF_RXD)
[5]
Set TE and RE bits in SCSCR
to 1, and set TIE, RIE,
and REIE bits
[6]
[5] Set the external pins to be used.
Set SCIF_RXD input for reception and
SCIF_TXD output for transmission.
The input/output of the SCIF_CLK pin
must match the setting of the CKE1
and CKE0 bits.
[6] Set the TE or RE bit in SCSCR
to 1. Also set the TIE, RIE, and
REIE bits to enable the SCIF_TXD,
SCIF_RXD, and SCIF_CLK pins to
be used. When transmitting, the
SCIF_TXD pin goes to the mark
state. When receiving in clocked
synchronous mode with the
synchronization clock output (clock
master) selected, a clock starts to
be output from the SCIF_CLK pin
at this point.
End of initialization
Figure 21.16 Sample SCIF Initialization Flowchart
Rev.1.00 Jan. 10, 2008 Page 1087 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(4)
Serial Data Transmission (Clocked Synchronous Mode)
Figure 21.17 shows a sample flowchart for serial transmission.
Use the following procedure for serial data transmission after enabling the SCIF for transmission.
[1]
Initialization
Start of transmission
[1]
SCIF initialization:
See Sample SCIF Initialization Flowchart in figure
21.16.
[2]
SCIF status check and transmit data write:
Read SCFSR and check that the TDFE flag is set to
1, then write transmit data to SCFTDR, and clear
the TDFE flag to 0. The transition of the TDFE flag
from 0 to 1 can also be identified by a TXI interrupt.
[3]
Serial transmission continuation procedure:
To continue serial transmission, read 1 from the
TDFE flag to confirm that writing is possible, then
write data to SCFTDR, and then clear the TDFE
flag to 0.
[2]
Read TDFE bit in SCFSR
No
TDFE = 1 ?
Yes
Write transmit data to SCFTDR and clear
TDFE and TEND bits in SCFSR to 0
No
[3]
All data transmitted?
Yes
Read TEND flag in SCFSR
TEND = 1 ?
No
Yes
Clear TE bit in SCSCR to 0
End of transmission
Figure 21.17 Sample Serial Transmission Flowchart
Rev.1.00 Jan. 10, 2008 Page 1088 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
In serial transmission, the SCIF operates as follows.
1. When data is written into SCFTDR, the SCIF transfers the data from SCFTDR to SCTSR and
starts transmitting. Confirm that the TDFE flag in SCFSR is set to 1 before writing transmit
data to SCFTDR. The number of data bytes that can be written is at least 64 (transmit trigger
setting count).
2. When data is transferred from SCFTDR to SCTSR and transmission is started, consecutive
transmit operations are performed until there is no transmit data left in SCFTDR. When the
number of transmit data bytes in SCFTDR falls to or below the transmit trigger count set in
SCFCR, the TDFE flag is set. If the TIE bit in SCSCR is set to 1 at this time, a transmit-FIFOdata-empty interrupt (TXI) request is generated.
If clock output mode is selected, the SCIF outputs eight synchronization clock pulses for each
data.
When the external clock is selected, data is output in synchronization with the input clock.
The serial transmit data is sent from the SCIF_TXD pin in LSB-first order.
3. The SCIF checks the SCFTDR transmit data at the timing for sending the last bit. If data is
present, the data is transferred from SCFTDR to SCTSR, and then serial transmission of the
next frame is started. If there is no transmit data, the TEND flag in SCFSR is set to 1 after the
last bit is sent, and the transmit data pin (SCIF_TXD pin) retains the output state of the last bit.
4. After serial transmission ends, the SCIF_SCK pin is fixed high when the CKE1 bit in SCSCR
is 0.
Figure 21.18 shows an example of the SCIF transmission operation.
Synchronization
clock
SCIF_SCK
MSB
LSB
Serial data
SCIF_TXD
Bit 0
Bit 1
Bit 7
Bit 0
Bit 1
Bit 6
Bit 7
TDFE
TEND
TXI interrupt
request
Data written to SCFTDR
and TDFE flag cleared to 0
by TXI interrupt handler
TXI interrupt
request
One frame
Figure 21.18 Example of SCIF Transmission Operation
Rev.1.00 Jan. 10, 2008 Page 1089 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(5)
Serial Data Reception (Clocked Synchronous Mode)
Figure 21.19 shows a sample flowchart for serial reception.
Use the following procedure for serial data reception after enabling the SCIF for reception.
When switching the operating mode from asynchronous mode to clocked synchronous mode
without initializing the SCIF, make sure that the ORER, PER7 to PER0, and FER7 to FER0 flags
are cleared to 0.
[1]
Initialization
Start of reception
[1]
SCIF initialization:
See Sample SCIF Initialization Flowchart in figure
21.16.
[2]
Receive error handling:
Read the ORER flag in SCLSR to identify any error,
perform the appropriate error handling, then clear the
ORER flag to 0.
Transmission/reception cannot be resumed while the
ORER flag is set to 1.
[3]
SCIF status check and receive data read:
Read SCFSR and check that RDF = 1, then read the
receive data in SCFRDR, and clear the RDF flag to
0. The transition of the RDF flag from 0 to 1 can also
be identified by an RXI interrupt.
[4]
Serial reception continuation procedure:
To continue serial reception, read at east the receive
trigger setting count of receive data bytes from
SCFRDR, read 1 from the RDF flag, then clear the
RDF flag to 0. The number of receive data bytes in
SCFRDR can be ascertained by reading SCRFDR.
Read ORER flag in SCLSR
Yes
ORER = 1 ?
[2]
No
Error handling
Read RDF flag in SCFSR
[3]
No
RDF = 1 ?
Yes
Read receive data in SCFRDR, and
clear RDF flag in SCFSR to 0
No
[4]
All data received?
Yes
Clear RE bit in SCSCR to 0
End of reception
Figure 21.19 Sample Serial Reception Flowchart (1)
Rev.1.00 Jan. 10, 2008 Page 1090 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Error handling
No
ORER = 1?
Yes
Overrun error handling
Clear ORER flag in SCLSR to 0
End
Figure 21.19 Sample Serial Reception Flowchart (2)
In serial reception, the SCIF operates as follows.
1. The SCIF is initialized internally in synchronization with the input or output of the
synchronization clock.
2. The receive data is stored in SCRSR in LSB-to-MSB order.
After receiving the data, the SCIF checks whether the receive data can be transferred from
SCRSR to SCFRDR. If this check is passed, the receive data is stored in SCFRDR. If an
overrun error is detected in the error check, reception cannot continue.
3. If the RIE bit in SCSCR is set to 1 when the RDF flag changes to 1, a receive-FIFO-data-full
interrupt (RXI) request is generated.
If the RIE bit in SCSCR is set to 1 when the ORER flag changes to 1, a break interrupt (BRI)
request is generated.
Figure 21.20 shows an example of the SCIF reception operation.
Rev.1.00 Jan. 10, 2008 Page 1091 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Synchronization
clock
Serial data
SCIF_RXD
Bit 7
LSB
MSB
Bit 0
Bit 7
Bit 0
Bit 1
Bit 6
Bit 7
RDF
ORER
RXI interrupt
request
Data read from
SCFRDR and RDF flag
cleared to 0 by RXI
interrupt handler
RXI interrupt
request
BRI interrupt request
by overrun error
One frame
Figure 21.20 Example of SCIF Reception Operation
Rev.1.00 Jan. 10, 2008 Page 1092 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(6)
Transmitting and Receiving Serial Data Simultaneously (Clocked Synchronous Mode)
Figure 21.21 shows a sample flowchart for transmitting and receiving data simultaneously.
Use the following procedure for the simultaneous serial transmission/reception of serial data, after
enabling the SCIF transmission/reception.
Initialization
[1]
[1]
SCIF initialization:
See Sample SCIF Initialization Flowchart in figure
21.16.
[2]
SCIF status check and transmit data write:
Read SCFSR and check that the TDFE flag is set to 1,
then write transmit data to SCFTDR, and clear the
TDFE flag to 0. The transition of the TDFE flag from 0
to 1 can also be identified by a TXI interrupt.
[3]
Receive error handling:
Read the ORER flag in SCLSR to identify any error,
perform the appropriate error handling, then clear the
ORER flag to 0. Reception cannot be resumed while
the ORER flag is set to 1.
[4]
SCIF status check and receive data read:
Read SCFSR and check that RDF = 1, then read the
receive data in SCFRDR, and clear the RDF flag to 0.
The transition of the RDF flag from 0 to 1 can also be
identified by an RXI interrupt.
[5]
Serial transmission and reception continuation
procedure:
To continue serial transmission and reception, read
RDF flag and SCFRDR, and clear the RDF flag to 0
before receiving the MSB in the current frame.
Similarly, read 1 from the TDFE flag to confirm that
writing is possible before transmitting the MSB in the
current frame. Then write data to SCFTDR and clear
the TDFE flag to 0.
Start of transmission and reception
Read TDFE flag in SCFSR
No
[2]
TDFE = 1 ?
Yes
Write transmit data to SCFTDR, and
clear TDFE flag in SCFSR to 0
Read ORER flag in SCLSR
ORER = 1 ?
No
Yes
[3]
Error handling
Read RDF flag in SCFSR
No
RDF = 1 ?
Yes
Read receive data in SCFRDR, and
clear RDF flag in SCFSR to 0
No
[4]
Note: When switching from a transmit operation or receive
operation to simultaneous transmission and reception
operations, clear the TE and RE bits to 0, and then set
them simultaneously to 1.
All data received?
Yes
Clear TE and RE bits in SCSCR to 0
[5]
End of transmission and reception
Figure 21.21 Sample Flowchart for Transmitting/Receiving Serial Data
Rev.1.00 Jan. 10, 2008 Page 1093 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.5
SCIF Interrupt Sources and the DMAC
The SCIF has four interrupt sources for each channel: transmit-FIFO-data-empty interrupt (TXI)
request, receive-error interrupt (ERI) request, receive-FIFO-data-full interrupt (RXI) request, and
break interrupt (BRI) request.
Table 21.7 shows the interrupt sources and their order of priority. The interrupt sources are
enabled or disabled by means of the TIE, RIE, and REIE bits in SCSCR. A separate interrupt
request is sent to the interrupt controller for each of these interrupt sources.
If the TDFE flag in SCFSR is set to 1 when a TXI interrupt is enabled by the TIE bit, a TXI
interrupt request and a transmit-FIFO-data-empty request for DMA transfer are generated. If the
TDFE flag is set to 1 when a TXI interrupt is disabled by the TIE bit, only a transmit-FIFO-dataempty request for DMA transfer is generated. A transmit-FIFO-data-empty request can activate
the DMAC to perform data transfer.
If the RDF or DR flag in SCFSR is set to 1 when an RXI interrupt is enabled by the RIE bit, an
RXI interrupt request and a receive-FIFO-data-full request for DMA transfer are generated. If the
RDF or DR flag is set to 1 when an RXI interrupt is disabled by the RIE bit, only a receive-FIFOdata-full request for DMA transfer is generated. A receive-FIFO-data-full request can activate the
DMAC to perform data transfer. Note that generation of an RXI interrupt request or a receiveFIFO-data-full request by setting the DR flag to 1 occurs only in asynchronous mode.
When the BRK flag in SCFSR or the ORER flag in SCLSR is set to 1, a BRI interrupt request is
generated.
If transmission/reception is carried out using the DMAC, set and enable the DMAC before making
the SCIF setting. Also make settings to inhibit output of RXI and TXI interrupt requests to the
interrupt controller. If output of interrupt requests is enabled, these interrupt requests to the
interrupt controller can be cleared by the DMAC regardless of the interrupt handler.
By setting the REIE bit to 1 while the RIE bit is cleared to 0 in SCSCR, it is possible to output
ERI interrupt requests, but not RXI interrupt requests.
Rev.1.00 Jan. 10, 2008 Page 1094 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Table 21.7 SCIF Interrupt Sources
Interrupt
Source
Description
DMAC
Activation
Priority on
Reset Release
ERI
Interrupt initiated by receive error flag (ER)
Not possible
High
RXI
Interrupt initiated by receive FIFO data full flag
(RDF) or receive data ready flag (DR)*
Possible
BRI
Interrupt initiated by break flag (BRK) or overrun Not possible
error flag (ORER)
TXI
Interrupt initiated by transmit FIFO data empty
flag (TDFE)
Note:
*
Possible
Low
An RXI interrupt by setting of the DR flag is available only in asynchronous mode.
Rev.1.00 Jan. 10, 2008 Page 1095 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
21.6
Usage Notes
Note the following when using the SCIF.
(1)
SCFTDR Writing and the TDFE Flag
The TDFE flag in SCFSR is set when the number of transmit data bytes written in SCFTDR has
fallen to or below the transmit trigger count set by bits TTRG1 and TTRG0 in SCFCR. After
TDFE is set, transmit data up to the number of empty bytes in SCFTDR can be written, allowing
efficient continuous transmission.
However, if the number of data bytes written in SCFTDR is equal to or less than the transmit
trigger count, the TDFE flag will be set to 1 again, even after being read as 1 and cleared to 0.
Therefore, the TDFE flag should be cleared when SCFTDR contains more than the transmit
trigger count of transmit data bytes.
The number of transmit data bytes in SCFTDR can be found from SCTFDR.
(2)
SCFRDR Reading and the RDF Flag
The RDF flag in SCFSR is set when the number of receive data bytes in SCFRDR has become
equal to or greater than the receive trigger count set by bits RTRG1 and RTRG0 in SCFCR. After
RDF is set, receive data equivalent to the trigger count can be read from SCFRDR, allowing
efficient continuous reception.
However, if the number of data bytes read in SCFRDR is equal to or greater than the trigger count,
the RDF flag will be set to 1 again even if it is cleared to 0. After the receive data is read, clear the
RDF flag readout to 0 in order to reduce the number of data bytes in SCFRDR to less than the
trigger count.
The number of receive data bytes in SCFRDR can be found from SCRFDR.
(3)
Break Detection and Processing
If a framing error (FER) is detected, break signals can also be detected by reading the SCIF_RXD
pin value directly. In the break state the input values from the SCIF_RXD consists of all 0s, so the
FER flag is set and the parity error flag (PER) may also be set.
Although the SCIF stops transferring receive data to SCFRDR after receiving a break, the receive
operation continues.
Rev.1.00 Jan. 10, 2008 Page 1096 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
(4)
Sending a Break Signal
The input/output condition and level of the SCIF_TXD pin are determined by bits SPB2IO and
SPB2DT in SCSPTR. This feature can be used to send a break signal.
After the serial transmitter is initialized and until the TE bit is set to 1 (enabling transmission), the
SCIF_TXD pin function is not selected and the value of the SPB2DT bit substitutes for the mark
state. The SPB2IO and SPB2DT bits should therefore be set to 1 (designating output and high
level) in the beginning.
To send a break signal during serial transmission, clear the SPB2DT bit to 0 (designating low
level), and then clear the TE bit to 0 (halting transmission). When the TE bit is cleared to 0, the
transmitter is initialized, regardless of the current transmission state, and 0 is output from the
SCIF_TXD pin.
(5)
Receive Data Sampling Timing and Receive Margin in Asynchronous Mode
In asynchronous mode, the SCIF operates on a base clock with frequency of 16 times the bit rate.
In reception, the SCIF synchronizes internally with the fall of the start bit, which it samples on the
base clock. Receive data is latched at the rising edge of the eighth base clock pulse.
Figure 21.22 shows the timing.
16 clocks
8 clocks
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5
Base clock
-7.5 clocks
Receive data
(SCIF_RXD)
Start bit
+7.5 clocks
D0
D1
Synchronization
sampling
timing
Data sampling timing
Figure 21.22 Receive Data Sampling Timing in Asynchronous Mode
Rev.1.00 Jan. 10, 2008 Page 1097 of 1658
REJ09B0261-0100
21. Serial Communication Interface with FIFO (SCIF)
Thus, the reception margin in asynchronous mode is given by formula (1).
M= (0.5 -
1
2N
) - (L - 0.5) F -
| D - 0.5 |
(1 + F) × 100 % .................. (1)
N
M: Receive margin (%)
N: Ratio of bit rate to clock (N = 16)
D: Clock duty (D = 0 to 1.0)
L:
Frame length (L = 9 to 12)
F:
Absolute value of clock rate deviation
From equation (1), if F = 0 and D = 0.5, the reception margin is 46.875%, as given by formula (2).
When D = 0.5 and F = 0:
M = (0.5 – 1 / (2 × 16) ) × 100% = 46.875% ............................................... (2)
However, this is a theoretical value. A reasonable margin to allow in system designs is 20% to
30%.
Rev.1.00 Jan. 10, 2008 Page 1098 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Section 22 Serial I/O with FIFO (SIOF)
This LSI is equipped with a clock-synchronized serial I/O module with FIFO (SIOF).
22.1
Features
• Serial transfer
32-bit FIFO × 16-stage (the transmit FIFO and receive FIFO are independent units)
Supports input/output for 8-bit data, 16-bit data, and 16-bit stereo audio data
MSB first for data transmission and reception
Supports up to 48-kHz sampling rate
Synchronization by either frame synchronization pulse or left/right channel switch
Supports CODEC control data interface
Connectable to linear, audio, A-Law, or μ-Law CODEC chip
Supports both master and slave modes
• Serial clock
An external pin input or peripheral clock (Pck) can be selected as the clock source.
• Interrupts: One type
• DMA transfer
Supports DMA transfer by a transfer request from the transmit FIFO unit
Rev.1.00 Jan. 10, 2008 Page 1099 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Figure 22.1 shows a block diagram of the SIOF.
SIOF interrupt
request
Peripheral bus
Bus interface
Control
registers
Transmit
FIFO
(32 bits ×
16 stages)
Transmit
control data
Pck
Baud rate
generator
SIOF_MCLK
1/nMCLK
Receive
FIFO
(32 bits ×
16 stages)
Receive
control data
Timing control
SIOF_SCK
SIOF_SYNC
P/S
S/P
SIOF_TXD
SIOF_RXD
Figure 22.1 Block Diagram of SIOF
Rev.1.00 Jan. 10, 2008 Page 1100 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.2
Input/Output Pins
Table 22.1 shows the pin configuration.
Table 22.1 Pin Configuration
Pin Name*
Function
I/O
Description
SIOF_MCLK
Master clock
Input
Master clock input pin
SIOF_SCK
Serial clock
I/O
Serial clock pin (common to
transmission/reception)
SIOF_SYNC
Frame synchronous I/O
signal
Frame synchronous signal
(common to transmission/reception)
SIOF_TXD
Transmit data
Output
Transmit data pin
Receive data
Input
Receive data pin
SIOF_RXD
Note:
*
A pin group to be used can be selected according to the setting of PFC.
For details, see Peripheral Module Select Register 1 and Peripheral Module Select
Register 2, in section 28, General Purpose I/O Ports (GPIO).
Rev.1.00 Jan. 10, 2008 Page 1101 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3
Register Descriptions
Table 22.2 shows the register configuration of the SIOF. Table 22.3 shows the register states in
each operating mode.
Table 22.2 Register Configuration
Access Sync
Area7 Address Size
Clock
Name
Abbreviation
R/W
P4 Address
Mode register
SIMDR
R/W
H'FFE2 0000 H'1FE2 0000 16
Pck
Clock select register
SISCR
R/W
H'FFE2 0002 H'1FE2 0002 16
Pck
Transmit data assign register
SITDAR
R/W
H'FFE2 0004 H'1FE2 0004 16
Pck
Receive data assign register
SIRDAR
R/W
H'FFE2 0006 H'1FE2 0006 16
Pck
Control data assign register
SICDAR
R/W
H'FFE2 0008 H'1FE2 0008 16
Pck
Control register
SICTR
R/W
H'FFE2 000C H'1FE2 000C 16
Pck
FIFO control register
SIFCTR
R/W
H'FFE2 0010 H'1FE2 0010 16
Pck
Status register
SISTR
R/W
H'FFE2 0014 H'1FE2 0014 16
Pck
Interrupt enable register
SIIER
R/W
H'FFE2 0016 H'1FE2 0016 16
Pck
Transmit data register
SITDR
W
H'FFE2 0020 H'1FE2 0020 32
Pck
Receive data register
SIRDR
R
H'FFE2 0024 H'1FE2 0024 32
Pck
Transmit control data register SITCR
R/W
H'FFE2 0028 H'1FE2 0028 32
Pck
Receive control data register
R/W
H'FFE2 002C H'1FE2 002C 32
Pck
SIRCR
Rev.1.00 Jan. 10, 2008 Page 1102 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Table 22.3 Register States in Each Operating Mode
Name
Power-On
Abbreviation Reset
Manual
Reset
Module
Standby
Sleep
Mode register
SIMDR
H'8000
H'8000
Retained
Retained
Clock select register
SISCR
H'C000
H'C000
Retained
Retained
Transmit data assign register SITDAR
H'0000
H'0000
Retained
Retained
Receive data assign register SIRDAR
H'0000
H'0000
Retained
Retained
Control data assign register
SICDAR
H'0000
H'0000
Retained
Retained
Control register
SICTR
H'0000
H'0000
Retained
Retained
FIFO control register
SIFCTR
H'1000
H'1000
Retained
Retained
Status register
SISTR
H'0000
H'0000
Retained
Retained
Interrupt enable register
SIIER
H'0000
H'0000
Retained
Retained
Transmit data register
SITDR
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
Receive data register
SIRDR
H'xxxx xxxx
H'xxxx xxxx
Retained
Retained
Transmit control data register SITCR
H'0000 0000 H'0000 0000 Retained
Retained
Receive control data register SIRCR
H'xxxx xxxx
Retained
H'xxxx xxxx
Retained
Rev.1.00 Jan. 10, 2008 Page 1103 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.1
Mode Register (SIMDR)
SIMDR is a 16-bit readable/writable register that sets the SIOF operating mode.
BIt:
Initial value:
R/W:
13
12
TRMD[1:0]
15
14
SYN
CAT
REDG
1
R/W
0
R/W
0
R/W
0
R/W
11
10
9
8
FL[3:0]
0
R/W
0
R/W
0
R/W
7
6
TXDIZ RCIM
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
15, 14
TRMD[1:0]
10
R/W
Transfer Mode 1, 0
5
4
3
2
1
0
SYN
CAC
SYN
CDL
—
—
—
—
0
R/W
0
R/W
0
R
0
R
0
R
0
R
These bits select transfer mode shown in table 22.4.
00: Slave mode 1
01: Slave mode 2
10: Master mode 1
11: Master mode 2
13
SYNCAT
0
R/W
SIOF_SYNC Pin Valid Timing
Indicates the position of the SIOF_SYNC signal to be
output as a synchronous pulse.
0: At the start bit data of frame
1: At the last bit data of slot
12
REDG
0
R/W
Receive Data Sampling Edge
0: The SIOF_RXD signal is sampled at the falling edge
of SIOF_SCK
1: The SIOF_RXD signal is sampled at the rising edge
of SIOF_SCK
Note: The timing to transmit the SIOF_TXD signal is at
the opposite edge of the timing that samples the
SIOF_RXD. This bit is valid only in master
mode.
11 to 8
FL[3:0]
0000
R/W
Frame Length 3 to 0
These bits specify the flame length of transfer data
format. For the correspondence among setting values,
data length, and frame length, see table 22.7.
Rev.1.00 Jan. 10, 2008 Page 1104 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
7
TXDIZ
0
R/W
SIOF_TXD Pin Output when Transmission is Invalid*
0: High output when invalid
1: High-impedance state when invalid
Note: Transmission is invalid when transmission is
disabled, or when a slot that is not assigned as
transmit data or control data is being
transmitted.
6
RCIM
0
R/W
Receive Control Data Interrupt Mode
0: Sets the RCRDY bit in SISTR when the contents of
SIRCR change.
1: Sets the RCRDY bit in SISTR each time when
SIRCR receives the control data.
5
SYNCAC
0
R/W
4
SYNCDL
0
R/W
SIOF_SYNC Pin Polarity
This bit is valid when the SIOF_SYNC signal is output
as synchronous pulse.
0: Active-high
1: Active-low
Data Pin Bit Delay for SIOF_SYNC Pin
This bit is valid when the SIOF_SYNC signal is output
as synchronous pulse. In slave mode, specify one-bit
delay.
0: No bit delay
1: 1-bit delay
3 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Table 22.4 shows the operation in each transfer mode.
Table 22.4 Operation in Each Transfer Mode
Transfer Mode
Master/Slave
SIOF_SYNC
Slave mode 1
Slave
Synchronous pulse SYNCDL bit
Slot position
Slave mode 2
Slave
Synchronous pulse
Secondary FS
Master mode 1
Master
Synchronous pulse
Slot position
Master mode 2
Master
L/R
Note:
*
Bit Delay
No
Control Data Method*
Not supported
The control data method is valid when the FL bits are set to 1xxx. (x: don't care.)
For details, see section 22.4.5, Control Data Interface.
Rev.1.00 Jan. 10, 2008 Page 1105 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.2
Control Register (SICTR)
SICTR is a 16-bit readable/writable register that sets the SIOF operating state.
BIt:
15
14
SCKE FSE
Initial value:
R/W:
0
R/W
0
R/W
13
12
11
10
9
8
7
6
5
4
3
2
—
—
—
—
TXE
RXE
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
15
SCKE
0
R/W
Serial Clock Output Enable
1
0
TXRST RXRST
0
R/W
0
R/W
This bit is valid in master mode.
0: Disables the SIOF_SCK output (outputs low level)
1: Enables the SIOF_SCK output
If this bit is set to 1, the SIOF initializes the baud rate
generator and initiates the operation. At the same time,
the SIOF outputs the clock generated by the baud rate
generator to the SIOF_SCK pin.
14
FSE
0
R/W
Frame Synchronous Signal Output Enable
This bit is valid in master mode.
0: Disables the SIOF_SYNC output (outputs low level)
1: Enables the SIOF_SYNC output
If this bit is set to 1, the SIOF initializes the frame
counter and initiates the operation.
13 to 10 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
9
TXE
0
R/W
Transmit Enable
0: Disables data transmission from the SIOF_TXD pin
(Outputs according to the value set in the TXDIZ bit)
1: Enables data transmission from the SIOF_TXD pin
•
•
•
Rev.1.00 Jan. 10, 2008 Page 1106 of 1658
REJ09B0261-0100
This bit setting becomes valid at the start of the next
frame (at the rising edge of the SIOF_SYNC signal).
When the 1 setting for this bit becomes valid, the
SIOF issues a transmit transfer request according to
the setting of the TFWM bit in SIFCTR. When
transmit data is stored in the transmit FIFO,
transmission of data from the SIOF_TXD pin begins.
This bit is initialized by a transmit reset.
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
8
RXE
0
R/W
Receive Enable
0: Disables data reception from SIOF_RXD
1: Enables data reception from SIOF_RXD
7 to 2
⎯
All 0
R
•
This bit setting becomes valid at the start of the next
frame (at the rising edge of the SIOF_SYNC signal).
•
When the 1 setting for this bit becomes valid, the
SIOF begins the reception of data from the
SIOF_RXD pin. When receive data is stored in the
receive FIFO, the SIOF issues a reception transfer
request according to the setting of the RFWM bit in
SIFCTR.
•
This bit is initialized by a receive reset.
Reserved
These bits are always read as 0. The write value should
always be 0.
1
TXRST
0
R/W
Transmit Reset
0: Does not reset transmit operation
1: Resets transmit operation
0
RXRST
0
R/W
•
This bit setting becomes valid immediately. For
details on initialization, see section 22.4.7 (5),
Transmit/Receive Reset.
•
This bit is automatically cleared by SIOF after
completes a reset, to be always read as 0.
Receive Reset
0: Does not reset receive operation
1: Resets receive operation
•
This bit setting becomes valid immediately. For
details on initialization, see section 22.4.7 (5),
Transmit/Receive Reset.
•
This bit is automatically cleared by SIOF after
completes a reset, to be always read as 0.
Rev.1.00 Jan. 10, 2008 Page 1107 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.3
Transmit Data Register (SITDR)
SITDR is a 32-bit write-only register that specifies SIOF transmit data.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
SITDL[15:0]
Initial value:
R/W:
—
W
—
W
—
W
—
W
—
W
—
W
—
W
BIt:
15
14
13
12
11
10
9
—
W
—
W
—
W
—
W
—
W
—
W
—
W
—
W
—
W
8
7
6
5
4
3
2
1
0
—
W
—
W
—
W
—
W
—
W
—
W
—
W
SITDR[15:0]
Initial value:
R/W:
Bit
—
W
—
W
Bit Name
—
W
—
W
Initial
Value
—
W
R/W
31 to 16 SITDL[15:0] Undefined W
—
W
—
W
—
W
—
W
Description
Left-Channel Transmit Data
These bits specify data to be output from the
SIOF_TXD pin as left-channel data. The position of the
left-channel data in the transmit frame depends on the
value set in the TDLA bit in SITDAR.
•
15 to 0
SITDR[15:0] Undefined W
These bits are valid when the TDLE bit in SITDAR is
set to 1.
Right-Channel Transmit Data
These bits specify data to be output from the
SIOF_TXD pin as right-channel data. The position of
the right-channel data in the transmit frame depends on
the value set in the TDRA bit in SITDAR.
•
Rev.1.00 Jan. 10, 2008 Page 1108 of 1658
REJ09B0261-0100
These bits are valid when the TDRE bit in SITDAR
is set to 1, and the TLREP bit in SITDAR is cleared
to 0.
22. Serial I/O with FIFO (SIOF)
22.3.4
Receive Data Register (SIRDR)
SIRDR is a 32-bit read-only register that reads receive data of the SIOF. SIRDR stores data in the
receive FIFO.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
SIRDL[15:0]
Initial value:
R/W:
—
R
—
R
—
R
—
R
—
R
—
R
—
R
BIt:
15
14
13
12
11
10
9
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
8
7
6
5
4
3
2
1
0
—
R
—
R
—
R
—
R
—
R
—
R
—
R
SIRDR[15:0]
Initial value:
R/W:
Bit
—
R
—
R
Bit Name
—
R
—
R
Initial
Value
—
R
R/W
31 to 16 SIRDL[15:0] Undefined R
—
R
—
R
—
R
—
R
Description
Left-Channel Receive Data
These bits store data received from the SIOF_RXD pin
as left-channel data. The position of the left-channel
data in the receive frame depends on the value set in
the RDLA bit in SIRDAR.
•
15 to 0
SIRDR[15:0] Undefined R
These bits are valid when the RDLE bit in SIRDAR
is set to 1.
Right-Channel Receive Data
These bits store data received from the SIOF_RXD pin
as right-channel data. The position of the right-channel
data in the receive frame depends on the value set in
the RDRA bit in SIRDAR.
•
These bits are valid when the RDRE bit in SIRDAR
is set to 1.
Rev.1.00 Jan. 10, 2008 Page 1109 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.5
Transmit Control Data Register (SITCR)
SITCR is a 32-bit readable/writable register that specifies transmit control data of the SIOF. The
setting of SITCR is valid only when bits FL3 to FL0 in SIMDR are set to 1xxx (x: any value).
SITCR is initialized by the conditions shown in table 22.3, Register State in Each Operating
Mode, or by a transmit reset by the TXRST bit in SICTR.
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
SITC0[15:0]
Initial value:
R/W:
BIt:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
15
14
13
12
11
10
9
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
8
7
6
5
4
3
2
1
0
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
SITC1[15:0]
Initial value:
R/W:
Bit
—
R/W
—
R/W
Bit Name
—
R/W
—
R/W
Initial
Value
31 to 16 SITC0[15:0] H'0000
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
R/W
Description
R/W
Control Channel 0 Transmit Data
These bits specify data to be output from the
SIOF_TXD pin as control channel 0 transmit data. The
position of the control channel 0 data in the transmit or
receive frame depends on the value set in the CD0A bit
in SICDAR.
•
15 to 0
SITC1[15:0] H'0000
R/W
These bits are valid when the CD0E bit in SICDAR
is set to 1.
Control Channel 1 Transmit Data
These bits specify data to be output from the
SIOF_TXD pin as control channel 1 transmit data. The
position of the control channel 1 data in the transmit or
receive frame depends on the CD1A bit in SICDAR.
•
Rev.1.00 Jan. 10, 2008 Page 1110 of 1658
REJ09B0261-0100
These bits are valid when the CD1E bit in SICDAR
is set to 1.
22. Serial I/O with FIFO (SIOF)
22.3.6
Receive Control Data Register (SIRCR)
SIRCR is a 32-bit readable/writable register that stores receive control data of the SIOF. The
setting of SIRCR is valid only when bits FL3 to FL0 in SIMDR are set to 1xxx (x: any value).
BIt:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
SIRC0[15:0]
Initial value:
R/W:
BIt:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
15
14
13
12
11
10
9
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
8
7
6
5
4
3
2
1
0
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
SIRC1[15:0]
Initial value:
R/W:
Bit
—
R/W
—
R/W
Bit Name
—
R/W
—
R/W
Initial
Value
—
R/W
—
R/W
R/W
31 to 16 SIRC0[15:0] Undefined R/W
—
R/W
—
R/W
—
R/W
Description
Control Channel 0 Receive Data
These bits store data received from the SIOF_RXD pin
as control channel 0 receive data. The position of the
control channel 0 data in the transmit or receive frame
depends on the value set the CD0A bit in SICDAR.
•
15 to 0
SIRC1[15:0] Undefined R/W
These bits are valid when the CD0E bit in SICDAR
is set to 1.
Control Channel 1 Receive Data
These bits store data received from the SIOF_RXD pin
as control channel 1 receive data. The position of the
control 1 channel data in the transmit or receive frame
depends on the value set in the CD1A bit in SICDAR.
•
These bits are valid when the CD1E bit in SICDAR
is set to 1.
Rev.1.00 Jan. 10, 2008 Page 1111 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.7
Status Register (SISTR)
SISTR is a 16-bit readable/writable register that indicates the SIOF state. Each bit in this register
becomes an SIOF interrupt source when the corresponding bit in SIIER is set to 1.
BIt:
15
—
14
0
R
Initial value:
R/W:
13
12
TCRDY TFEMP TDREQ
0
R
0
R
0
R
11
—
10
9
8
RCRDY RFFUL RDREQ
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
15
⎯
0
R
Reserved
7
6
—
—
0
R
0
R
5
4
SAERR FSERR
0
R/W
0
R/W
3
2
TFOVF
TFUDF
0
R/W
0
R/W
1
0
RFUDF RFOVF
0
R/W
0
R/W
This bit is always read as 0. The write value should
always be 0.
14
TCRDY
0
R
Transmit Control Data Ready
0: Indicates that writing to SITCR is disabled
1: Indicates that writing to SITCR is enabled
13
TFEMP
0
R
•
If SITCR is written to when this bit is cleared to 0,
SITCR is overwritten to and the previous contents of
SITCR are not output from the SIOF_TXD pin.
•
This bit is valid when the TXE bit in SITCR is set to
1.
•
This bit indicates the SIOF state. If SITCR is written
to, this bit is automatically cleared to 0.
•
To enable the issuance of this interrupt source, set
the TCRDYE bit in SIIER to 1.
Transmit FIFO Empty
0: Indicates that transmit FIFO is not empty
1: Indicates that transmit FIFO is empty
Rev.1.00 Jan. 10, 2008 Page 1112 of 1658
REJ09B0261-0100
•
This bit is valid when the TXE bit in SICTR is 1.
•
This bit indicates the SIOF state. If SITDR is written
to, this bit is automatically cleared to 0.
•
To enable the issuance of this interrupt source, set
the TFEMPE bit in SIIER to 1.
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
12
TDREQ
0
R
Transmit Data Transfer Request
0: Indicates that the size of empty space in the transmit
FIFO does not exceed the size specified by the
TFWM bit in SIFCTR.
1: Indicates that the size of empty space in the transmit
FIFO exceeds the size specified by the TFWM bit in
SIFCTR.
A transmit data transfer request is issued when the
empty space in the transmit FIFO exceeds the size
specified by the TFWM bit in SIFCTR.
When using transmit data transfer through the DMAC,
this bit is always cleared by one DMAC access. After
DMAC access, when conditions for setting this bit are
satisfied, the SIOF again indicates 1 for this bit.
11
⎯
0
R
•
This bit is valid when the TXE bit in SICTR is 1.
•
This bit indicates a state; if the size of empty space
in the transmit FIFO is less than the size specified
by the TFWM bit in SIFCTR, this bit is automatically
cleared to 0.
•
To enable the issuance of this interrupt source, set
the TDREQE bit in SIIER to 1.
Reserved
This bit is always read as 0. The write value should
always be 0.
10
RCRDY
0
R
Receive Control Data Ready
0: Indicates that SIRCR stores no valid data
1: Indicates that SIRCR stores valid data
•
If SIRCR is written to when this bit is set to 1,
SIRCR is overwritten to by the latest data.
•
This bit is valid when the RXE bit in SICTR is set to
1.
•
This bit indicates the state of the SIOF. If SIRCR is
read from, this bit is automatically cleared to 0.
•
To enable the issuance of this interrupt source, set
the RCRDYE bit in SIIER to 1.
Rev.1.00 Jan. 10, 2008 Page 1113 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
9
RFFUL
0
R
Receive FIFO Full
0: Receive FIFO not full
1: Receive FIFO full
8
RDREQ
0
R
•
This bit is valid when the RXE bit in SICTR is 1.
•
This bit indicates the state of the SIOF. If SIRDR is
read from, this bit is automatically cleared to 0.
•
To enable the issuance of this interrupt source, set
the RFFULE bit in SIIER to 1.
Receive Data Transfer Request
0: Indicates that the size of valid space in the receive
FIFO does not exceed the size specified by the
RFWM bit in SIFCTR.
1: Indicates that the size of valid space in the receive
FIFO exceeds the size specified by the RFWM bit in
SIFCTR.
A receive data transfer request is issued when the valid
space in the receive FIFO exceeds the value specified
by the RFWM bit in SIFCTR.
When using receive data transfer through the DMAC,
this bit is always cleared by one DMAC access. After
DMAC access, when conditions for setting this bit are
satisfied, this bit is set to 1 again by the SIOF.
7, 6
⎯
All 0
R
•
This bit is valid when the RXE bit in SICTR is 1.
•
This bit indicates a state; if the size of valid data
space in the receive FIFO is less than the size
specified by the RFWM bit in SIFCTR, this bit is
automatically cleared to 0.
•
To enable the issuance of this interrupt source, set
the RDREQE bit in SIIER to 1.
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1114 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
5
SAERR
0
R/W
Slot Assign Error
0: Indicates that no slot assign error occurs
1: Indicates that a slot assign error occurs
A slot assign error occurs when the settings in SITDAR,
SIRDAR, and SICDAR overlap.
If a slot assign error occurs, the SIOF does not transmit
data to the SIOF_TXD pin and does not receive data
from the SIOF_RXD pin. Note that the SIOF does not
clear the TXE bit or RXE bit in SICTR at a slot assign
error.
4
FSERR
0
R/W
•
This bit is valid when the TXE bit or RXE bit in
SICTR is 1.
•
When 1 is written to this bit, the contents are
cleared. Writing 0 to this bit is invalid.
•
To enable the issuance of this interrupt source, set
the SAERRE bit in SIIER to 1.
Frame Synchronization Error
0: Indicates that no frame synchronization error occurs
1: Indicates that a frame synchronization error occurs
A frame synchronization error occurs when the next
frame synchronization timing appears before the
previous data or control data transfers have been
completed.
If a frame synchronization error occurs, the SIOF
performs transmission or reception for slots that can be
transferred.
•
This bit is valid when the TXE or RXE bit in SICTR
is 1.
•
When 1 is written to this bit, the contents are
cleared. Writing 0 to this bit is invalid.
•
To enable the issuance of this interrupt source, set
the FSERRE bit in SIIER to 1.
Rev.1.00 Jan. 10, 2008 Page 1115 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
3
TFOVF
0
R/W
Transmit FIFO Overflow
0: Indicates that no transmit FIFO overflow occurs
1: Indicates that a transmit FIFO overflow occurs
A transmit FIFO overflow means that there has been an
attempt to write to SITDR when the transmit FIFO is full.
When a transmit FIFO overflow occurs, the SIOF
indicates overflow, and writing is invalid.
2
TFUDF
0
R/W
•
This bit is valid when the TXE bit in SICTR is 1.
•
When 1 is written to this bit, the contents are
cleared. Writing 0 to this bit is invalid.
•
To enable the issuance of this interrupt source, set
the TFOVFE bit in SIIER to 1.
Transmit FIFO Underflow
0: Indicates that no transmit FIFO underflow occurs
1: Indicates that a transmit FIFO underflow occurs
A transmit FIFO underflow means that loading for
transmission has occurred when the transmit FIFO is
empty.
When a transmit FIFO underflow occurs, the SIOF
repeatedly sends the previous transmit data.
Rev.1.00 Jan. 10, 2008 Page 1116 of 1658
REJ09B0261-0100
•
This bit is valid when the TXE bit in SICTR is 1.
•
When 1 is written to this bit, the contents are
cleared. Writing 0 to this bit is invalid.
•
To enable the issuance of this interrupt source, set
the TFUDFE bit to 1.
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
1
RFUDF
0
R/W
Receive FIFO Underflow
0: Indicates that no receive FIFO underflow occurs
1: Indicates that a receive FIFO underflow occurs
A receive FIFO underflow means that reading of SIRDR
has occurred when the receive FIFO is empty.
When a receive FIFO underflow occurs, the value of
data read from SIRDR is not guaranteed.
0
RFOVF
0
R/W
•
This bit is valid when the RXE bit in SICTR is 1.
•
When 1 is written to this bit, the contents are
cleared. Writing 0 to this bit is invalid.
•
To enable the issuance of this interrupt source, set
the RFUDFE bit in SIIER is set to 1.
Receive FIFO Overflow
0: Indicates that no receive FIFO overflow occurs
1: Indicates a receive FIFO overflow occurs
A receive FIFO overflow means that writing has
occurred when the receive FIFO is full.
When a receive FIFO overflow occurs, the SIOF
indicates overflow, and receive data is lost.
•
This bit is valid when the RXE bit in SICTR is 1.
•
When 1 is written to this bit, the contents are
cleared. Writing 0 to this bit is invalid.
•
To enable the issuance of this interrupt source, set
the RFOVFE bit in SIIER is set to 1.
Rev.1.00 Jan. 10, 2008 Page 1117 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.8
Interrupt Enable Register (SIIER)
SIIER is a 16-bit readable/writable register that enables the issuance of SIOF interrupts. When
each bit in this register is set to 1 and the corresponding bit in SISTR is set to 1, the SIOF issues
an interrupt.
BIt:
Initial value:
R/W:
15
14
13
12
11
TD
MAE
TCR
DYE
TFE
MPE
TDR
EQE
RD
MAE
RC
RF
RD
RDYE FULE REQE
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
0
R/W
7
6
—
—
0
R/W
0
R/W
5
4
3
2
1
0
SA
FS
TF
TF
RF
RF
ERRE ERRE OVFE UDFE UDFE OVFE
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
15
TDMAE
0
R/W
Transmit Data DMA Transfer Request Enable
0
R/W
0
R/W
Transmits an interrupt as a CPU interrupt or a DMA
transfer request when the TDREQE bit is 1.
0: Used as a CPU interrupt
1: Used as a DMA transfer request to the DMAC
14
TCRDYE
0
R/W
Transmit Control Data Ready Enable
0: Disables interrupts due to transmit control data ready
1: Enables interrupts due to transmit control data ready
13
TFEMPE
0
R/W
Transmit FIFO Empty Enable
0: Disables interrupts due to transmit FIFO empty
1: Enables interrupts due to transmit FIFO empty
12
TDREQE
0
R/W
Transmit Data Transfer Request Enable
0: Disables interrupts due to transmit data transfer
requests
1: Enables interrupts due to transmit data transfer
requests
11
RDMAE
0
R/W
Receive Data DMA Transfer Request Enable
Transmits an interrupt as a CPU interrupt or a DMA
transfer request when the RDREQE bit is 1.
0: Used as a CPU interrupt
1: Used as a DMA transfer request to the DMAC
Rev.1.00 Jan. 10, 2008 Page 1118 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
10
RCRDYE
0
R/W
Receive Control Data Ready Enable
0: Disables interrupts due to receive control data ready
1: Enables interrupts due to receive control data ready
9
RFFULE
0
R/W
Receive FIFO Full Enable
0: Disables interrupts due to receive FIFO full
1: Enables interrupts due to receive FIFO full
8
RDREQE
0
R/W
Receive Data Transfer Request Enable
0: Disables interrupts due to receive data transfer
requests
1: Enables interrupts due to receive data transfer
requests
7, 6
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
5
SAERRE
0
R/W
Slot Assign Error Enable
0: Disables interrupts due to slot assign error
1: Enables interrupts due to slot assign error
4
FSERRE
0
R/W
Frame Synchronization Error Enable
0: Disables interrupts due to frame synchronization
error
1: Enables interrupts due to frame synchronization error
3
TFOVFE
0
R/W
Transmit FIFO Overflow Enable
0: Disables interrupts due to transmit FIFO overflow
1: Enables interrupts due to transmit FIFO overflow
2
TFUDFE
0
R/W
Transmit FIFO Underflow Enable
0: Disables interrupts due to transmit FIFO underflow
1: Enables interrupts due to transmit FIFO underflow
1
RFUDFE
0
R/W
Receive FIFO Underflow Enable
0: Disables interrupts due to receive FIFO underflow
1: Enables interrupts due to receive FIFO underflow
0
RFOVFE
0
R/W
Receive FIFO Overflow Enable
0: Disables interrupts due to receive FIFO overflow
1: Enables interrupts due to receive FIFO overflow
Rev.1.00 Jan. 10, 2008 Page 1119 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.9
FIFO Control Register (SIFCTR)
SIFCTR is a 16-bit readable/writable register that indicates the area available for the
transmit/receive FIFO transfer.
BIt:
15
14
13
12
11
TFWM[2:0]
Initial value:
R/W:
Bit
0
R/W
0
R/W
Bit Name
15 to 13 TFWM[2:0]
10
9
8
TFUA[4:0]
0
R/W
1
R
0
R
Initial
Value
R/W
000
R/W
0
R
7
6
5
4
3
RFWM[2:0]
0
R
0
R
0
R/W
0
R/W
0
R/W
2
1
0
0
R
0
R
RFUA[4:0]
0
R
0
R
0
R
Description
Transmit FIFO Watermark
000: Issue a transfer request when 16 stages of the
transmit FIFO are empty.
001: Setting prohibited
010: Setting prohibited
011: Setting prohibited
100: Issue a transfer request when 12 or more stages
of the transmit FIFO are empty.
101: Issue a transfer request when 8 or more stages of
the transmit FIFO are empty.
110: Issue a transfer request when 4 or more stages of
the transmit FIFO are empty.
111: Issue a transfer request when 1 or more stages of
transmit FIFO are empty. Setting prohibited when
using the DMA transfer.
12 to 8
TFUA[4:0]
10000
R
•
A transfer request to the transmit FIFO is issued by
the TDREQE bit in SISTR.
•
The transmit FIFO is always used as 16 stages of
the FIFO regardless of these bit settings.
Transmit FIFO Usable Area
These bits indicate the number of words that can be
transferred by the CPU or DMAC as B'00000 (full) to
B'10000 (empty).
Rev.1.00 Jan. 10, 2008 Page 1120 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
7 to 5
RFWM[2:0]
000
R/W
Receive FIFO Watermark
000: Issue a transfer request when 1 stage or more of
the receive FIFO are valid.
001: Setting prohibited
010: Setting prohibited
011: Setting prohibited
100: Issue a transfer request when 4 or more stages of
the receive FIFO are valid.
101: Issue a transfer request when 8 or more stages of
the receive FIFO are valid.
110: Issue a transfer request when 12 or more stages
of the receive FIFO are valid.
111: Issue a transfer request when 16 stages of the
receive FIFO are valid.
4 to 0
RFUA[4:0]
00000
R
•
A transfer request to the receive FIFO is issued by
the RDREQE bit in SISTR.
•
The receive FIFO is always used as 16 stages of
the FIFO regardless of these bit settings.
Receive FIFO Usable Area
These bits indicate the number of words that can be
transferred by the CPU or DMAC as B'00000 (empty) to
B'10000 (full).
Rev.1.00 Jan. 10, 2008 Page 1121 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.10 Clock Select Register (SISCR)
SISCR is a 16-bit readable/writable register that sets the serial clock generation conditions for the
master clock. SCSCR can be specified when the TRMD1 and TRMD0 bits in SIMDR are set to
B'10 or B'11.
BIt:
15
14
MSSEL MSIMM
Initial value:
R/W:
1
R/W
1
R/W
13
12
11
—
0
R
10
9
8
BRPS[4:0]
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
15
MSSEL
1
R/W
0
R/W
0
R/W
0
R/W
7
6
5
4
3
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
2
1
0
BRDV[2:0]
0
R/W
0
R/W
0
R/W
Description
Master Clock Source Selection
The master clock is the clock source input to the baud
rate generator.
0: Uses the input signal of the SIOF_MCLK pin as the
master clock
1: Uses a peripheral clock (Pck) as the master clock
14
MSIMM
1
R/W
Master Clock Direct Selection
0: Uses the output clock of the baud rate generator as
the serial clock
1: Uses the master clock itself as the serial clock
13
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
12 to 8
BRPS[4:0]
00000
R/W
Prescaler Setting
These bits set the master clock division ratio according
to the count value of the prescaler of the baud rate
generator.
The range of settings is from B'00000 (× 1/1) to B'11111
(× 1/32).
7 to 3
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1122 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
2 to 0
BRDV[2:0]
000
R/W
Baud Rate Generator's Division Ratio Setting
These bits set the frequency division ratio for the output
stage of the baud rate generator.
000: Prescaler output × 1/2
001: Prescaler output × 1/4
010: Prescaler output × 1/8
011: Prescaler output × 1/16
100: Prescaler output × 1/32
101: Setting prohibited
110: Setting prohibited
111: Prescaler output × 1/1*
Note: This setting is valid only when the bits BRPS4 to
BRPS0 are set to B'00001.
22.3.11 Transmit Data Assign Register (SITDAR)
SITDAR is a 16-bit readable/writable register that specifies the position of the transmit data in a
frame.
BIt:
Initial value:
R/W:
15
14
13
12
TDLE
—
—
—
0
R/W
0
R
0
R
0
R
11
10
9
8
TDLA[3:0]
0
R/W
0
R/W
0
R/W
5
4
TDRE TLREP
7
—
—
0
R/W
0
R
0
R
0
R/W
6
0
R/W
3
2
1
0
TDRA[3:0]
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
15
TDLE
0
R/W
Transmit Left-Channel Data Enable
0
R/W
0
R/W
0
R/W
0: Disables left-channel data transmission
1: Enables left-channel data transmission
14 to 12 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1123 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
11 to 8
TDLA[3:0]
0000
R/W
Transmit Left-Channel Data Assigns 3 to 0
These bits specify the position of left-channel data in a
transmit frame as B'0000 (0) to B'1110 (14).
1111: Setting prohibited
•
7
TDRE
0
R/W
Transmit data for the left channel is specified in the
SITDL bit in SITDR.
Transmit Right-Channel Data Enable
0: Disables right-channel data transmission
1: Enables right-channel data transmission
6
TLREP
0
R/W
Transmit Left-Channel Repeat
0: Transmits data specified in the SITDR bit in SITDR
as right-channel data
1: Repeatedly transmits data specified in the SITDL bit
in SITDR as right-channel data
5, 4
—
All 0
R
•
This bit setting is valid when the TDRE bit is set to
1.
•
When this bit is set to 1, the SITDR settings are
ignored.
Reserved
These bits are always read as 0. The write value should
always be 0.
3 to 0
TDRA[3:0]
0000
R/W
Transmit Right-Channel Data Assigns 3 to 0
These bits specify the position of right-channel data in a
transmit frame as B'0000 (0) to B'1110 (14).
1111: Setting prohibited
•
Rev.1.00 Jan. 10, 2008 Page 1124 of 1658
REJ09B0261-0100
Transmit data for the right channel is specified in the
SITDR bit in SITDR.
22. Serial I/O with FIFO (SIOF)
22.3.12 Receive Data Assign Register (SIRDAR)
SIRDAR is a 16-bit readable/writable register that specifies the position of the receive data in a
frame.
BIt:
Initial value:
R/W:
15
14
13
12
RDLE
—
—
—
0
R/W
0
R
0
R
0
R
11
10
9
8
RDLA[3:0]
0
R/W
0
R/W
0
R/W
7
6
5
4
RDRE
—
—
—
0
R/W
0
R
0
R
0
R
0
R/W
3
2
1
0
RDRA[3:0]
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
15
RDLE
0
R/W
Receive Left-Channel Data Enable
0
R/W
0
R/W
0
R/W
0: Disables left-channel data reception
1: Enables left-channel data reception
14 to 12 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 8
RDLA[3:0]
0000
R/W
Receive Left-Channel Data Assigns 3 to 0
These bits specify the position of left-channel data in a
receive frame as B'0000 (0) to B'1110 (14).
1111: Setting prohibited
•
7
RDRE
0
R/W
Receive data for the left channel is stored in the
SIRDL bit in SIRDR.
Receive Right-Channel Data Enable
0: Disables right-channel data reception
1: Enables right-channel data reception
6 to 4
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
3 to 0
RDRA[3:0]
0000
R/W
Receive Right-Channel Data Assigns 3 to 0
These bits specify the position of right-channel data in a
receive frame as B'0000 (0) to B'1110 (14).
1111: Setting prohibited
•
Receive data for the right channel is stored in the
SIRDR bit in SIRDR.
Rev.1.00 Jan. 10, 2008 Page 1125 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.3.13 Control Data Assign Register (SICDAR)
SICDAR is a 16-bit readable/writable register that specifies the position of the control data in a
frame. SICDAR can be specified only when the FL bits in SIMDR are set to 1xxx (x: don't care.).
BIt:
Initial value:
R/W:
15
14
13
12
CD0E
—
—
—
0
R/W
0
R
0
R
0
R
11
10
9
8
CD0A[3:0]
0
R/W
0
R/W
0
R/W
7
6
5
4
CD1E
—
—
—
0
R/W
0
R
0
R
0
R
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
15
CD0E
0
R/W
Control Channel 0 Data Enable
3
2
1
0
CD1A[3:0]
0
R/W
0
R/W
0
R/W
0
R/W
0: Disables transmission and reception of control
channel 0 data
1: Enables transmission and reception of control
channel 0 data
14 to 12 ⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 8
CD0A[3:0]
0000
R/W
Control Channel 0 Data Assigns 3 to 0
These bits specify the position of control channel 0 data
in a receive or transmit frame as B'0000 (0) to B'1110
(14).
1111: Setting prohibited
7
CD1E
0
R/W
•
Transmit data for the control channel 0 data is
specified in the SITD0 bit in SITCR.
•
Receive data for the control channel 0 data is stored
in the SIRD0 bit in SIRCR.
Control Channel 1 Data Enable
0: Disables transmission and reception of control
channel 1 data
1: Enables transmission and reception of control
channel 1 data
6 to 4
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1126 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Bit
Bit Name
Initial
Value
R/W
Description
3 to 0
CD1A[3:0]
0000
R/W
Control Channel 1 Data Assigns 3 to 0
These bits specify the position of control channel 1 data
in a receive or transmit frame as B'0000 (0) to B'1110
(14).
1111: Setting prohibited
•
Transmit data for the control channel 1 data is
specified in the SITD1 bit in SITCR.
•
Receive data for the control channel 1 data is stored
in the SIRD1 bit in SIRCR.
Rev.1.00 Jan. 10, 2008 Page 1127 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.4
Operation
22.4.1
Serial Clocks
(1)
Master/Slave Modes
The following two modes are available as the SIOF clock mode.
• Slave mode: SIOF_SCK, SIOF_SYNC input
• Master mode: SIOF_SCK, SIOF_SYNC output
(2)
Baud Rate Generator
In SIOF master mode, the baud rate generator (BRG) is used to generate the serial clock. The baud
rate generator consists of the prescaler that can select 32 types of division ratio from 1 to 1/32 with
the BRPS4 to BRSP0 bits in SISCR and divider that can select the division ratio from 1, 1/2, 1/4,
1/8, 1/16, and 1/32. The division ratio of the baud rate generator ranges from 1 to 1/1024 of the
product of the division ratios of the prescaler and the divider.
When the master clock is not divided by the baud rate generator (the division ratio is 1), set the
MSIMM bit in SISCR to 1 and use the master clock without division as a serial clock.
Figure 22.2 shows connections for supply of the serial clock.
Baud rate generator
MCLK
1/1 to 1/1024 MCLK
Prescaler
Divider
SIOF_MCLK
Pck
Timing control
SCKE
Master
SIOF_SCK
Figure 22.2 Serial Clock Supply
Rev.1.00 Jan. 10, 2008 Page 1128 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Table 22.5 shows an example of serial clock frequency.
Table 22.5 SIOF Serial Clock Frequency
Sampling Rate*
Frame Length
8 kHz
44.1 kHz
48 kHz
32 bits
256 kHz
1.4112 MHz
1.536 MHz
64 bits
512 kHz
2.8224 MHz
3.072 MHz
128 bits
1.024 MHz
5.6448 MHz
6.144 MHz
256 bits
2.048 MHz
11.289 MHz
12.289 MHz
Note:
*
22.4.2
(1)
Control data formats are valid when the FL bits are set to 1xxx (x: Don't care).
Serial Timing
SIOF_SYNC
The SIOF_SYNC is a frame synchronous signal. Depending on the transfer mode, it has the
following two functions.
• Synchronous pulse: 1-bit-width pulse indicating the start of the frame
• L/R: 1/2-frame-width pulse indicating the left-channel stereo data (L) in high level and the
right-channel stereo data (R) in low level
Figure 22.3 shows the SIOF_SYNC synchronization timing.
Rev.1.00 Jan. 10, 2008 Page 1129 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(a) Synchronous pulse
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
Start bit data
1-bit delay
(b) L/R
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
Lch. Start bit of left channel data
(1/2 frame length)
No delay
Rch. Start bit of right channel data
(1/2 frame length)
Figure 22.3 Serial Data Synchronization Timing
(2)
Transmit/Receive Timing
The SIOF_TXD transmit timing and SIOF_RXD receive timing relative to the SIOF_SCK can be
set as the sampling timing in the following two ways. The transmit/receive timing is set by the
REDG bit in SIMDR.
• Falling-edge sampling
• Rising-edge sampling
Figure 22.4 shows the transmit/receive timing.
Rev.1.00 Jan. 10, 2008 Page 1130 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(a) Falling-edge sampling (REDG = 0)
(b) Rising-edge sampling (REDG = 1)
SIOF_SCK
SIOF_SCK
SIOF_SYNC
SIOF_SYNC
SIOF_TXD
SIOF_TXD
SIOF_RXD
SIOF_RXD
Receive timing
Transmit timing
Receive timing
Transmit timing
Figure 22.4 SIOF Transmit/Receive Timing
22.4.3
Transfer Data Format
The SIOF performs the following transfer.
• Transmit/receive data: Transfer of 8-bit data/16-bit data/16-bit stereo data
• Control data: Transfer of 16-bit data (uses the transmit/receive control register as interface)
(1)
Transfer Mode
As shown in table 22.6, the SIOF supports the following four transfer modes. The transfer mode
can be specified by the TRMD1 and TRMD0 bits in SIMDR.
Table 22.6 Serial Transfer Modes
TRMD1 and
TRMD0
Transfer Mode
SIOF_SYNC
Bit Delay
Control Data*
00
Slave mode 1
Synchronous pulse
SYNCDL bit
Slot position
01
Slave mode 2
Synchronous pulse
Secondary FS
10
Master mode 1
Synchronous pulse
Slot position
11
Master mode 2
L/R
Note:
*
No
Not supported
The control data method is valid when the FL bits are set to B'1xxx (x: don't care).
Rev.1.00 Jan. 10, 2008 Page 1131 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(2)
Frame Length
The frame length to be transferred by the SIOF is specified by the FL3 to FL0 bits in SIMDR.
Table 22.7 shows the relationship between the setting values and frame length.
Table 22.7 Frame Length
FL3 to FL0
Slot Length
Number of Bits
in a Frame
Transfer Data
00xx
8
8
8-bit monaural data
0100
8
16
8-bit monaural data
0101
8
32
8-bit monaural data
0110
8
64
8-bit monaural data
0111
8
128
8-bit monaural data
10xx
16
16
16-bit monaural data
1100
16
32
16-bit monaural/stereo data
1101
16
64
16-bit monaural/stereo data
1110
16
128
16-bit monaural/stereo data
1111
16
256
16-bit monaural/stereo data
Note: x: Don't care.
(3)
Slot Position
The SIOF can specify the position of transmit data, receive data, and control data in a frame
(common to transmission and reception) by slot numbers. The slot number of each data is
specified by the following registers.
• Transmit data: SITDAR
• Receive data: SIRDAR
• Control data: SICDAR
Only 16-bit data is valid for control data. In addition, control data is always assigned to the same
slot number both in transmission and reception.
Rev.1.00 Jan. 10, 2008 Page 1132 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.4.4
(1)
Register Allocation of Transfer Data
Transmit/Receive Data
Writing and reading of transmit/receive data is performed for the following registers.
• Transmit data writing: SITDR (32-bit access)
• Receive data reading: SIRDR (32-bit access)
Figure 22.5 shows the transmit/receive data and the SITDR and SIRDR bit alignment.
(a) 16-bit stereo data
31
24 23
16 15
L-channel data
87
0
R-channel data
(b) 16-bit monaural data
31
24 23
16 15
87
0
16 15
87
0
87
0
Data
(c) 8-bit monaural data
31
24 23
Data
(d) 16-bit stereo data (left and right same audio output)
31
24 23
16 15
Data
Figure 22.5 Transmit/Receive Data Bit Alignment
Note: In the figure, only the shaded areas are transmitted or received as valid data. Therefore,
access must be made in byte units for 8-bit data, and in word units for 16-bit data. Data in
not shaded areas is not transmitted or received.
Monaural or stereo can be specified for transmit data by the TDLE bit and TDRE bit in SITDAR.
Monaural or stereo can be specified for receive data by the RDLE bit and RDRE bit in SIRDAR.
To achieve left and right same audio output while stereo is specified for transmit data, set the
TLREP bit in SITDAR. Tables 22.8 and 22.9 show the audio mode specification for transmit data
and that for receive data, respectively.
Rev.1.00 Jan. 10, 2008 Page 1133 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Table 22.8 Audio Mode Specification for Transmit Data
Bit
Mode
TDLE
TDRE
TLREP
Monaural
1
0
x
Stereo
1
1
0
Left and right same audio output
1
1
1
Legend:
x: Don't care
Table 22.9 Audio Mode Specification for Receive Data
Bit
Mode
RDLE
RDRE
Monaural
1
0
Stereo
1
1
Note: Left and right same audio mode is not supported in receive data.
To execute 8-bit monaural transmission or reception, use the left channel.
(2)
Control Data
Control data is written to or read from by the following registers.
• Transmit control data write: SITCR (32-bit access)
• Receive control data read: SIRCR (32-bit access)
Figure 22.6 shows the control data and bit alignment in SITCR and SIRCR.
(a) Control data: One channel
31
24 23
16 15
87
0
16 15
87
0
Control data (channel 0)
(b) Control data: Two channels
31
24 23
Control data (channel 0)
Control data (channel 1)
Figure 22.6 Control Data Bit Alignment
Rev.1.00 Jan. 10, 2008 Page 1134 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
The number of channels in control data is specified by the CD0E and CD1E bits in SICDAR.
Table 22.10 shows the relationship between the number of channels in control data and bit
settings.
Table 22.10 Number of Channels in Control Data
Bit
Number of Channels
CD0E
CD1E
1
1
0
2
1
1
Note: To use only one channel in control data, use channel 0.
22.4.5
Control Data Interface
Control data performs control command output to the CODEC and status input from the CODEC.
The SIOF supports the following two control data interface methods.
• Control by slot position
• Control by secondary FS
Control data is valid when data length is specified as 16 bits.
(1)
Control by Slot Position (Master Mode 1 and Slave Mode 1)
Control data is transferred for all frames transmitted or received by the SIOF by specifying the slot
position of control data. This method can be used in both SIOF master and slave modes. Figure
22.7 shows an example of the control data interface timing by slot position control.
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
L-channel
data
Control
channel 0
R-channel
data
Slot No.0
Slot No.1
Slot No.2
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 1,
Control
channel 0
Slot No.3
REDG = 0
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0001,
FL[3:0] = 1110 (Frame length: 128 bits),
TDRE = 1,
TDRA[3:0] = 0010,
RDRE = 1,
RDRA[3:0] = 0010,
CD1E = 1,
CD1A[3:0] = 0011
Figure 22.7 Control Data Interface (Slot Position)
Rev.1.00 Jan. 10, 2008 Page 1135 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(2)
Control by Secondary FS (Slave Mode 2)
The CODEC normally outputs the SIOF_SYNC signal as synchronization pulse (FS). In this
method, the CODEC outputs the secondary FS specific to the control data transfer after 1/2 frame
time has been passed (not the normal FS output timing) to transmit or receive control data. This
method is valid for SIOF slave mode. The following summarizes the control data interface
procedure by the secondary FS.
• Transmit normal transmit data of LSB = 0 (the SIOF forcibly clears to 0).
• To execute control data transmission, send transmit data of LSB = 1 (the SIOF forcibly set to 1
by writing SITCDR).
• The CODEC outputs the secondary FS.
• The SIOF transmits or receives (stores in SIRCDR) control data (data specified by SITCDR)
synchronously with the secondary FS.
Figure 22.8 shows an example of the control data interface timing by the secondary FS.
1 frame
1/2 frame
1/2 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
Normal FS
Secondary FS
L-channel
data
Slot No.0
Control
channel 0
LSB = 1 (Secondary FS request)
Specifications: TRMD[1:0] = 01,
TDLE = 1,
RDLE = 1,
CD0E = 1,
Slot No.0
REDG = 0
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0000,
FL[3:0] = 1110 (Frame length: 128 bits),
TDRE = 0,
TDRA[3:0] = 0000,
RDRE = 0,
RDRA[3:0] = 0000,
CD1E = 0,
CD1A[3:0] = 0000,
Figure 22.8 Control Data Interface (Secondary FS)
Rev.1.00 Jan. 10, 2008 Page 1136 of 1658
REJ09B0261-0100
Normal FS
22. Serial I/O with FIFO (SIOF)
22.4.6
(1)
FIFO
Overview
The transmit and receive FIFO systems of the SIOF have the following features.
• 16-stage 32-bit FIFOs for transmission and reception
• The FIFO pointer can be updated in one read or write cycle regardless of access size of the
CPU and DMAC. (One-stage 32-bit FIFO access cannot be divided into multiple accesses.)
(2)
Transfer Request
The transfer request of the FIFO can be issued to the CPU or DMAC as the following interrupt
sources.
• FIFO transmit request: TDREQ (transmit interrupt source)
• FIFO receive request: RDREQ (receive interrupt source)
The request conditions for FIFO transmit or receive can be specified individually. The request
conditions for the FIFO transmit and receive are specified by the TFWM2 to TFWM0 bits and the
bits RFWM2 to RFWM0 in SIFCTR, respectively. Tables 22.11 and 22.12 summarize the
conditions to issue transmit request and those to issue receive request, respectively.
Table 22.11 Conditions to Issue Transmit Request
TFWM2 to
TFWM0
Number of
1
Requested Stages*
Transmit Request
Used Areas
Smallest
000
1
Empty area is 16 stages
100
4
Empty area is 12 stages or more
101
8
Empty area is 8 stages or more
12
Empty area is 4 stages or more
16
Empty area is 1 stage or more
110
2
111*
Largest
Notes: 1. The number of requested stages is the number of stages in transmit/receive FIFO.
2. Setting prohibited in DMA use.
Rev.1.00 Jan. 10, 2008 Page 1137 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
Table 22.12 Conditions to Issue Receive Request
RFWM2 to
RFWM0
Number of
Requested Stages*
Receive Request
Used Areas
000
1
Valid data is 1 stage or more
Smallest
100
4
Valid data is 4 stages or more
101
8
Valid data is 8 stages or more
110
12
Valid data is 12 stages or more
111
16
Valid data is 16 stages
Note:
*
Largest
The number of requested stages is the number of stages in transmit/receive FIFO.
The number of stages of the FIFO is always sixteen even if the data area or empty area exceeds the
FIFO size. Accordingly, an overflow error or underflow error occurs if data area or empty area
exceeds sixteen FIFO stages.
The FIFO transmit or receive request is canceled when the above condition is not satisfied even if
the FIFO is not empty or full.
(3)
Number of FIFOs
The number of FIFO stages used in transmission and reception is indicated by the following
register.
• Transmit FIFO: The number of empty FIFO stages is indicated by the TFUA4 to TFUA0 bits
in SIFCTR.
• Receive FIFO: The number of valid data stages is indicated by the bits RFUA4 to RFUA0 bits
in SIFCTR.
The above indicates possible data numbers that can be transferred by the CPU or DMAC.
Rev.1.00 Jan. 10, 2008 Page 1138 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.4.7
Transmit and Receive Procedures
Set each register after setting the PFC.
(1)
Transmission in Master Mode
Figure 22.9 shows an example of settings and operation for master mode transmission.
No.
Flowchart
SIOF Settings
SIOF Operation
Start
Set operating mode, serial clock, slot
Set SIMDR, SISCR, SITDAR,
SIRDAR, SICDAR, SITCR,
and SIFCTR
positions for transmit/receive data, slot
2
Set the SCKE bit in SICTR to 1
Set operation start for baud rate generator
3
Start SIOF_SCK output
4
Set the FSE and TXE bits in SICTR to 1
1
position for control data, and FIFO
request threshold value
Output serial clock
Set the start for frame synchronous signal
output and enable transmission
Output frame
synchronous signal and
issue transmit transfer
request*
No
5
TDREQ = 1
6
Set SITDR
7
Transmit SITDR from SIOF_TXD
synchronously with SIOF_SYNC
Yes
Set transmit data
Transmit
No
Transfer ended?
Yes
8
Set to disable transmission
End transmission
Set the TXE bit in SICTR to 0
End
Note: * When interrupts due to transmit data underflow are enabled, after setting the no. 6 transmit data, the TXE bit should be set to 1.
Figure 22.9 Example of Transmit Operation in Master Mode
Rev.1.00 Jan. 10, 2008 Page 1139 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(2)
Reception in Master Mode
Figure 22.10 shows an example of settings and operation for master mode reception.
No.
Flowchart
SIOF Settings
SIOF Operation
Start
Set operating mode, serial clock, slot
1
Set SIMDR, SISCR, SITDAR,
SIRDAR, SICDAR, SITCR,
and SIFCTR
positions for transmit/receive data, slot
position for control data, and FIFO
request threshold value
2
Set the SCKE bit in SICTR to 1
Set operation start for baud rate generator
3
Start SIOF_SCK output
4
Set the FSE and RXE bits in SICTR to 1
5
Store SIOF_RXD receive data in SIRDR
synchronously with SIOF_SYNC
Output serial clock
Set the start for frame synchronous signal
Output frame
output and enable reception
synchronous signal
Issue receive transfer
6
request according to
the receive FIFO
threshold value
No
Receive
RDREQ = 1
Yes
7
Read receive data
Read SIRDR
Transfer ended?
No
Yes
8
Set to disable reception
End reception
Clear the RXE bit in SICTR to 0
End
Figure 22.10 Example of Receive Operation in Master Mode
Rev.1.00 Jan. 10, 2008 Page 1140 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(3)
Transmission in Slave Mode
Figure 22.11 shows an example of settings and operation for slave mode transmission.
No.
Flowchart
SIOF Settings
SIOF Operation
Start
1
2
Set operating mode, serial clock, slot
positions for transmit/receive data, slot
Set SIMDR, SISCR, SITDAR,
SIRDAR, SICDAR, SITCR,
and SIFCTR
position for control data, and FIFO
request threshold value
Set the TXE bit in SICTR to 1
3
Set to enable transmission
Issue transmit transfer
request to enable
transmission when frame
synchronous signal is
input
No
TDREQ = 1
Yes
4
Set SITDR
5
Transmit SITDR from SIOF_TXD
synchronously with SIOF_SYNC
Set transmit data
Transmit
No
Transfer ended?
Yes
Set to disable transmission
6
End transmission
Clear the TXE bit in SICTR to 0
End
Figure 22.11 Example of Transmit Operation in Slave Mode
Rev.1.00 Jan. 10, 2008 Page 1141 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(4)
Reception in Slave Mode
Figure 22.12 shows an example of settings and operation for slave mode reception.
No.
Flowchart
SIOF Settings
SIOF Operation
Start
Set operating mode, serial clock, slot
1
Set SIMDR, SISCR, SITDAR,
SIRDAR, SICDAR, SITCR,
and SIFCTR
positions for transmit/receive data, slot
position for control data, and FIFO
Set the RXE bit in SICTR to 1
Set to enable reception
request threshold value
Enable reception when
2
the frame synchronous
signal is input
3
4
Issue receive transfer
request according to the
receive FIFO threshold
value
Store SIOF_RXD receive data in SIRDR
synchronously with SIOF_SYNC
No
Receive
RDREQ = 1
Yes
5
Read receive data
Read SIRDR
No
Transfer ended?
Yes
Set to disable reception
6
End reception
Clear the RXE bit in SICTR to 0
End
Figure 22.12 Example of Receive Operation in Slave Mode
Rev.1.00 Jan. 10, 2008 Page 1142 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(5)
Transmit/Receive Reset
The SIOF can separately reset the transmit and receive units by setting the following bits to 1.
• Transmit reset: TXRST bit in SICTR
• Receive reset: RXRST bit in SICTR
Table 22.13 shows the details on initialization upon transmit or receive reset.
Table 22.13 Transmit and Receive Reset
Type
Objects to be Initialized
Transmit reset
Stop transmitting from SIOF_TXD (output according to the value set in
the TXDIZ bit)
Transmit FIFO write pointer
TCRDY, TFEMP, and TDREQ bits in SISTR
TXE bit in SICTR
Receive reset
Stop receiving from SIOF_RXD
Receive FIFO read pointer
RCRDY, RFFUL, and RDREQ bits in SISTR
RXE bit in SICTR
Rev.1.00 Jan. 10, 2008 Page 1143 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.4.8
Interrupts
The SIOF has one type of interrupt.
(1)
Interrupt Sources
Interrupts can be issued by several sources. Each source is shown as an SIOF status in SISTR.
Table 22.14 lists the SIOF interrupt sources.
Table 22.14 SIOF Interrupt Sources
No. Classification
Bit Name Function Name
Description
1
TDREQ
Transmit FIFO transfer
request
The transmit FIFO stores data of
specified size or more.
TFEMP
Transmit FIFO empty
The transmit FIFO is empty.
RDREQ
Receive FIFO transfer
request
The receive FIFO stores data of
specified size or more.
RFFUL
Receive FIFO full
The receive FIFO is full.
TCRDY
Transmit control data
ready
The transmit control register is ready to
be written to.
RCRDY
Receive control data
ready
The receive control data register stores
valid data.
TFUDF
Transmit FIFO
underflow
Serial data transmit timing has arrived
while the transmit FIFO is empty.
8
TFOVF
Transmit FIFO overflow Write to the transmit FIFO is performed
while the transmit FIFO is full.
9
RFOVF
Receive FIFO overflow Serial data is received while the receive
FIFO is full.
10
RFUDF
Receive FIFO
underflow
The receive FIFO is read while the
receive FIFO is empty.
11
FSERR
Frame Synchronous
Error
A synchronous signal is input before
the specified bit number has been
passed (in slave mode).
12
SAERR
Slot assign error
The same slot is specified in both serial
data and control data.
Transmission
2
3
Reception
4
5
Control
6
7
Error
Whether an interrupt is issued or not as the result of an interrupt source is determined by the
SIIER settings. If an interrupt source is set to 1 and the corresponding bit in SIIER is set to 1, an
SIOF interrupt is issued.
Rev.1.00 Jan. 10, 2008 Page 1144 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(2)
Regarding Transmit and Receive Classification
The transmit sources and receive sources are signals indicating the state; after being set, if the state
changes, they are automatically cleared by the SIOF.
When the DMA transfer is used, a DMA transfer request is pulled low for one cycle at the end of
DMA transfer.
(3)
Processing when Errors Occur
On occurrence of each of the errors indicated as a status in SISTR, the SIOF performs the
following operations.
• Transmit FIFO underflow (TFUDF)
The immediately preceding transmit data is again transmitted.
• Transmit FIFO overflow (TFOVF)
The contents of the transmit FIFO are protected, and the write operation causing the overflow
is ignored.
• Receive FIFO overflow (RFOVF)
Data causing the overflow is discarded and lost.
• Receive FIFO underflow (RFUDF)
An undefined value is output on the bus.
• Frame synchronization error (FSERR)
The internal counter is reset according to the signal in which an error occurs.
• Slot assign error (SAERR)
⎯ If the same slot is assigned to both serial data and control data, the slot is assigned to serial
data.
⎯ If the same slot is assigned to two control data items, the data cannot be transferred
correctly.
Rev.1.00 Jan. 10, 2008 Page 1145 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
22.4.9
Transmit and Receive Timing
Figures 22.13 to 22.19 show examples of the SIOF serial transmission and reception.
(1)
8-bit Monaural Data (1)
Synchronous pulse method, falling edge sampling, slot No.0 used for transmit and receive data, a
frame length = 8 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
L-channel data
SIOF_RXD
Slot No.0
1-bit delay
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 0,
REDG = 0,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0000,
FL[3:0] = 0000 (frame length: 8 bits)
TDRE = 0,
TDRA[3:0] = 0000, SYNCDL = 1
RDRE = 0,
RDRA[3:0] = 0000,
CD1E = 0,
CD1A[3:0] = 0000
Figure 22.13 Transmit and Receive Timing (8-Bit Monaural Data (1))
Rev.1.00 Jan. 10, 2008 Page 1146 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(2)
8-bit Monaural Data (2)
Synchronous pulse method, falling edge sampling, slot No.0 used for transmit and receive data,
and frame length = 16 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
L-channel data
SIOF_RXD
Slot No.0
Slot No.1
1-bit delay
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 0,
REDG = 0,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0000,
FL[3:0] = 0100 (frame length: 16 bits)
TDRE = 0,
SYNCDL = 1
TDRA[3:0] = 0000,
RDRE = 0,
RDRA[3:0] = 0000,
CD1E = 0,
CD1A[3:0] = 0000
Figure 22.14 Transmit and Receive Timing (8-Bit Monaural Data (2))
(3)
16-bit Monaural Data
Synchronous pulse method, falling edge sampling, slot No.0 used for transmit and receive data,
and frame length = 64 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
L-channel data
Slot No.0
Slot No.1
Slot No.2
Slot No.3
1-bit delay
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 0,
REDG = 0,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0000,
FL[3:0] = 1101 (frame length: 64 bits)
TDRE = 0,
TDRA[3:0] = 0000,
SYNCDL = 1
RDRE = 0,
RDRA[3:0] = 0000,
CD1E = 0,
CD1A[3:0] = 0000
Figure 22.15 Transmit and Receive Timing (16-Bit Monaural Data)
Rev.1.00 Jan. 10, 2008 Page 1147 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(4)
16-bit Stereo Data (1)
L/R method, rising edge sampling, slot No.0 used for left-channel data, slot No.1 used for rightchannel data, and frame length = 32 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
L-channel data
R-channel data
Slot No.0
Slot No.1
SIOF_RXD
No bit delay
Specifications: TRMD[1:0] = 11,
TDLE = 1,
RDLE = 1,
CD0E = 0,
REDG = 1,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0000,
FL[3:0] = 1101 (frame length: 32 bits)
TDRE = 1,
TDRA[3:0] = 0001,
RDRE = 1,
RDRA[3:0] = 0001,
CD1E = 0,
CD1A[3:0] = 0000
Figure 22.16 Transmit and Receive Timing (16-Bit Stereo Data (1))
(5)
16-bit Stereo Data (2)
L/R method, rising edge sampling, slot No.0 used for left-channel transmit data, slot No.1 used for
left-channel receive data, slot No.2 used for right-channel transmit data, slot No.3 used for rightchannel receive data, and frame length = 64 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
L-channel data
R-channel data
L-channel data
SIOF_RXD
Slot No.0
Slot No.1
R-channel data
Slot No.2
Slot No.3
No bit delay
Specifications: TRMD[1:0] = 11,
TDLE = 1,
RDLE = 1,
CD0E = 0,
REDG = 1,
TDLA[3:0] = 0000,
RDLA[3:0] = 0001,
CD0A[3:0] = 0000,
FL[3:0] = 1101 (frame length: 64 bits),
TDRE = 1,
TDRA[3:0] = 0010,
RDRE = 1,
RDRA[3:0] = 0011,
CD1E = 0,
CD1A[3:0] = 0000
Figure 22.17 Transmit and Receive Timing (16-Bit Stereo Data (2))
Rev.1.00 Jan. 10, 2008 Page 1148 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(6)
16-bit Stereo Data (3)
Synchronous pulse method, falling edge sampling, slot No.0 used for left-channel data, slot No.1
used for right-channel data, slot No.2 used for control channel 0 data, slot No.3 used for control
channel 1 data, and frame length = 128 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
L-channel
data
R-channel
data
Control
channel 0
Control
channel 1
Slot No.0
Slot No.1
Slot No.2
Slot No.3
Slot No.4
Slot No.5
Slot No.6
Slot No.7
1 bit delay
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 1,
REDG = 0,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0010,
FL[3:0] = 1110 (frame length: 128 bits),
SYNCDL = 1
TDRE = 1,
TDRA[3:0] = 0001,
RDRE = 1,
RDRA[3:0] = 0001,
CD1E = 1,
CD1A[3:0] = 0011
Figure 22.18 Transmit and Receive Timing (16-Bit Stereo Data (3))
(7)
16-bit Stereo Data (4)
Synchronous pulse method, falling edge sampling, slot No.0 used for left-channel data, slot No.2
used for right-channel data, slot No.1 used for control channel 0 data, slot No.3 used for control
channel 1 data, and frame length = 128 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
L-channel
data
Control
channel 0
R-channel
data
Control
channel 1
Slot No.0
Slot No.1
Slot No.2
Slot No.3
Slot No.4
Slot No.5
Slot No.6
Slot No.7
1 bit delay
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 1,
REDG = 1,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0001,
FL[3:0] = 1110 (frame length: 128 bits)
TDRA[3:0] = 0010, SYNCDL = 1
TDRE = 1,
RDRA[3:0] = 0010,
RDRE = 1,
CD1A[3:0] = 0011
CD1E = 1,
Figure 22.19 Transmit and Receive Timing (16-Bit Stereo Data (4))
Rev.1.00 Jan. 10, 2008 Page 1149 of 1658
REJ09B0261-0100
22. Serial I/O with FIFO (SIOF)
(8)
Synchronization-Pulse Output Mode at End of Each Slot (SYNCAT Bit = 1)
Synchronous pulse method, falling edge sampling, slot No.0 used for left-channel data, slot No.1
used for right-channel data, slot No.2 used for control channel 0 data, slot No.3 used for control
channel 1 data, and frame length = 128 bits
1 frame
SIOF_SCK
SIOF_SYNC
SIOF_TXD
SIOF_RXD
L-channel
data
R-channel
data
Control
channel 0
Control
channel 1
Slot No.0
Slot No.1
Slot No.2
Slot No.3
Specifications: TRMD[1:0] = 00 or 10,
TDLE = 1,
RDLE = 1,
CD0E = 1,
Slot No.4
REDG = 0,
TDLA[3:0] = 0000,
RDLA[3:0] = 0000,
CD0A[3:0] = 0010,
Slot No.5
Slot No.6
FL[3:0] = 1110 (frame length: 128 bits),
TDRE = 1,
TDRA[3:0] = 0001,
RDRE = 1,
RDRA[3:0] = 0001,
CD1E = 1,
CD1A[3:0] = 0011
Figure 22.20 Transmit and Receive Timing (16-Bit Stereo Data)
Rev.1.00 Jan. 10, 2008 Page 1150 of 1658
REJ09B0261-0100
Slot No.7
23. Serial Peripheral Interface (HSPI)
Section 23 Serial Peripheral Interface (HSPI)
This LSI incorporates one channel of the Serial Protocol Interface (HSPI).
23.1
Features
The HSPI has the following features.
• Operating mode: Master mode or Slave mode.
• The transmit and receive sections within the module are double buffered to allow duplex
communication.
• A flexible peripheral clock (Pck) division strategy allows a wide range of bit rates to be
supported.
• The programmable clock control logic allows setting for two different transmit protocols and
accommodates transmit and receive functions on either edge of the serial clock.
• Error detection logic is provided for warning of the receive buffer overflow.
• The HSPI has a facility to generate the chip select signal to slave modules when configured as
a master either automatically as part of the data transfer process, or under the manual control
of the host processor.
• Both the transmit data and receive data can be DMA transferred independently via the two
DMA channels.
Rev.1.00 Jan. 10, 2008 Page 1151 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Figure 23.1 is a block diagram of the HSPI.
Peripheral bus
Bus interface
Registers
HSPI_CS
System
control
SPCR
SPSR
SPSCR
SPTBR
Transmit FIFO
SPRBR
Receive FIFO
(Eight entries
for each)
In FIFO mode
HSPI_RX
LSB
MSB
Shift register
HSPI_TX
Pck
Clock division
Polarity selection
SCK generator
Figure 23.1 Block Diagram of HSPI
Rev.1.00 Jan. 10, 2008 Page 1152 of 1658
REJ09B0261-0100
HSPI_CLK
23. Serial Peripheral Interface (HSPI)
23.2
Input/Output Pins
The input/output pins of the HSPI is shown in table 23.1.
Table 23.1 Pin Configuration
Pin Name
Abbrev.
I/O
Description
Serial bit clock pin
HSPI_CLK
I/O
Clock input/output
Transmit data pin
HSPI_TX
Output
Transmit data output
Receive data pin
HSPI_RX
Input
Receive data input
Chip select pin
HSPI_CS
I/O
Chip select
23.3
Register Descriptions
Table 23.2 Register Configuration (1)
Register Name
Abbrev.
R/W
P4 Address
Area 7 Address Size
Sync
Clock
Control register
SPCR
R/W
H'FFE5 0000
H'1FE5 0000
32
Pck
Status register
SPSR
R*
H'FFE5 0004
H'1FE5 0004
32
Pck
System control register
SPSCR
R/W
H'FFE5 0008
H'1FE5 0008
32
Pck
Transmit buffer register
SPTBR
R/W
H'FFE5 000C
H'1FE5 000C
32
Pck
Receive buffer register
SPRBR
R
H'FFE5 0010
H'1FE5 0010
32
Pck
Note: For bits 4 and 3, only 0s can be written to clear the flags.
Rev.1.00 Jan. 10, 2008 Page 1153 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Table 23.3 Register Configuration (2)
Register Name
Manual Reset
Power-on Reset by WDT/
by PRESET
Multiple
Abbrev. Pin/WDT/H-UDI Exception
Sleep/Deep
Sleep by
SLEEP
Module
Instruction Standby
Software
Reset
Control register
SPCR
Retained
Retained
Retained
H'0000 0000
H'0000 0000
1
1
2
H'xxxx xx20*
H'xxxx xx20*
Retained
Retained
H'xxxx xxxx*
System control register
SPSCR H'0000 0040
H'0000 0040
Retained
Retained
Retained
Transmit buffer register
SPTBR
H'0000 0000
H'0000 0000
Retained
Retained
Retained
Receive buffer register
SPRBR H'0000 0000
H'0000 0000
Retained
Retained
Retained
Status register
SPSR
Notes: 1. "x" represents an undefined value.
2. "x" represents an undefined value. Bits 9, 6, 4, and 3 are retained. The other bits are
initialized except those of which the initial values are undefined.
Rev.1.00 Jan. 10, 2008 Page 1154 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.3.1
Control Register (SPCR)
SPCR is a 32-bit readable/writable register that controls the transfer data of shift timing and
specifies the clock polarity and frequency.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
FBS CLKP IDIV CLKC4 CLKC3 CLKC2 CLKC1 CLKC0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Bit:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 8
⎯
All 0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
7
FBS
0
R/W
First Bit Start
Controls the timing relationship between each bit of
transferred data and the serial clock.
0: The first bit transmitted from the HSPI module is set
up such that it can be sampled by the receiving device at
the first edge of HSPI_CLK specified by the register after
the HSPI_CS pin goes low. Similarly the first received bit
is sampled at the first edge of HSPI_CLK after the
HSPI_CS pin goes low.
1: The first bit transmitted from the HSPI module is set
up such that it can be sampled by the receiving device at
the second edge of HSPI_CLK after the HSPI_CS pin
goes low. Similarly the first received bit is sampled at the
second edge of HSPI_CLK specified by the register after
the HSPI_CS pin goes low.
6
CLKP
0
R/W
Serial Clock Polarity
0: HSPI_CLK signal is not inverted and so is low when
inactive.
1: HSPI_CLK signal is inverted and so is high when
inactive.
Rev.1.00 Jan. 10, 2008 Page 1155 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Bit
Bit Name
Initial
Value
R/W
Description
5
IDIV
0
R/W
Initial Clock Division Ratio
0: The peripheral clock (Pck) is divided by a factor of 4
initially to create an intermediate frequency, which is
further divided to create the serial clock for master
mode.
1: The peripheral clock (Pck) is divided by a factor of 32
initially to create an intermediate frequency, which is
further divided to create the serial clock for master
mode.
4 to 0
CLKC4 to
CLKC0
All 0
R/W
Clock Division Count
These bits determine the frequency dividing ratio that is
used to obtain the serial clock from the intermediate
clock.
00000: 1 intermediate frequency cycle.
Serial clock frequency = Intermediate
frequency / 2.
00001: 2 Intermediate frequency cycles.
Serial clock frequency = Intermediate
frequency / 4.
00010: 3 intermediate frequency cycles.
Serial clock frequency = Intermediate
frequency / 6.
:
:
11111: 32 intermediate frequency cycles.
Serial clock frequency = Intermediate
frequency / 64.
Rev.1.00 Jan. 10, 2008 Page 1156 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
The serial clock frequency can be computed using the following formula:
Serial clock frequency =
Peripheral clock frequency
(Initial division ratio × (Clock division count + 1) × 2)
When the HSPI is configured as a slave, the IDIV and CLKC bits are ignored and the HSPI
synchronizes to the externally supplied serial clock. The maximum value of the external serial
clock that the module can operate with is Pck / 8.
If any of the FBS, CLKP, IDIV or CLKC bit values are changed, the HSPI will undergo a
software reset.
When IPIV or CLKC is specified or changed, the internal serial clock generation counter is reset.
In this case, data transmit/receive should be performed after the time length of at least one serial
clock cycle (depends on IDIV or CLKC specified) has elapsed.
Rev.1.00 Jan. 10, 2008 Page 1157 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.3.2
Status Register (SPSR)
SPSR is a 32-bit readable/writable register. Through the status flags in SPSR, it can be confirmed
whether or not the system is correctly operating. If the ROIE bit in SPSCR is set to 1, an interrupt
request is generated due to the occurrence of the receive buffer overrun error or the warning of the
receive buffer overrun error. When the TFIE bit in SPSCR is set to 1, an interrupt request is
generated by the transmit complete status flag. If the appropriate enable bit in SPSCR is set to 1,
an interrupt request is generated due to the receive FIFO halfway, receive FIFO full, transmit
FIFO empty, or transmit FIFO halfway flag. If the RNIE bit in SPSCR is set to 1, an interrupt
request is generated when the receive FIFO is not empty.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
R/W:
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
—
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
R
—
R
—
R
—
R
—
R
Bit:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
TXFU TXHA TXEM RXFU RXHA RXEM RXOO RXOW RXFL TXFN TXFL
R/W
0
R
0
R
1
R
0
R
0
R
1
R
0
0
R/W* R/W*
0
R
0
R
0
R
Description
31 to 11 ⎯
Undefined R
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
10
TXFU
0
R
Transmit FIFO Full Flag
This status flag is enabled only in FIFO mode. The flag
is set to 1 when the transmit FIFO is full of bytes for
transmission and cannot accept any more. It is cleared
to 0 when data is transmitted from the transmit FIFO to
the HSPI bus.
9
TXHA
0
R
Transmit FIFO Halfway Flag
This status flag is enabled only in FIFO mode. The flag
is set to 1 when the transmit FIFO reaches the halfway
point, that is, it has four bytes of data and free space for
four bytes of data. It is cleared to 0 when more data is
written to the transmit FIFO. It remains set to 1 until
cleared to 0 even if data stored in the FIFO becomes
less than four bytes (halfway point).
If TXHA = 1 and THIE = 1, an interrupt is generated.
Rev.1.00 Jan. 10, 2008 Page 1158 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Bit
Bit Name
Initial
Value
R/W
Description
8
TXEM
1
R
Transmit FIFO Empty Flag
This status flag is enabled only in FIFO mode. The flag
is set to 1 when the transmit FIFO is empty of data to
transmit. It is cleared to 0 when data is written to the
transmit FIFO.
If TXEM = 1 and TEIE = 1, an interrupt is generated.
7
RXFU
0
R
Receive FIFO Full Flag
This status flag is enabled only in FIFO mode. The flag
is set to 1 when the receive FIFO is full of received
bytes and cannot accept any more. It is cleared to 0
when data is read out of the receive FIFO.
If RXFU = 1 and RFIE = 1, an interrupt is generated.
6
RXHA
0
R
Receive FIFO Halfway Flag
This status flag is enabled only in FIFO mode. The flag
is set to 1 when the receive FIFO reaches the halfway
point, that is, it has four bytes of data and free space for
four bytes of data. This flag is cleared to 0 when the
receive data is read from receive FIFO and the data
stored in the FIFO becomes less than four bytes
(halfway point).
If RXHA = 1 and RHIE = 1, an interrupt is generated.
5
RXEM
1
R
Receive FIFO Empty Flag
This status flag is enabled only in FIFO mode. The flag
is set to 1 when the receive FIFO is empty of received
data. It is cleared to 0 when data is written to the
receive FIFO.
If RXEM = 0 and RNIE = 1, an interrupt is generated.
4
RXOO
0
R/W*
Receive Buffer Overrun Occurred Flag
This status flag is set to 1 when new data has been
received but the previous received data has not been
read from SPRBR. The previously received data will not
be overwritten by the newly received data. The RXOO
flag remains set to 1 until writing 0 to this bit position.
If RXOO = 1 and ROIE = 1, an interrupt is generated.
Rev.1.00 Jan. 10, 2008 Page 1159 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Bit
Bit Name
Initial
Value
R/W
Description
3
RXOW
0
R/W*
Receive Buffer Overrun Warning Flag
This status flag is set to 1 when a new serial data
transfer has started before the previous received data is
read from SPRBR. The RXOW remains set to 1 until
writing 0 to this bit position.
If RXOW= 1 and ROIE = 1, an interrupt is generated.
2
RXFL
0
R
Receive Buffer Full Status Flag
This status flag indicates that new data is available in
the SPRBR and has not yet been read. It is set to 1
when the shift register contents are loaded into the
SPRBR in the end of a serial bus transfer. This bit is
cleared to 0 by reading SPRBR.
1
TXFN
0
R
Transmit Complete Status Flag
This status flag indicates that the last transmission has
been completed. It is set to 1 when SPTBR is ready to
accept data from the peripheral bus. This bit is cleared
to 0 by writing data to SPTBR.
If TXFN = 1 and TFIE = 1, an interrupt is generated.
0
TXFL
0
R
Transmit Buffer Full Status Flag
This status flag indicates the SPTBR stores data that
has not been transmitted. It is set to 1 when SPTBR is
written with data from the peripheral bus. This bit is
cleared to 0 when SPTBR is ready to accept data from
the peripheral bus.
Note:
*
These bits are readable/writable bits. Writing 0 initializes these bits to the initial values
of respective bits, while writing 1 is ignored.
Rev.1.00 Jan. 10, 2008 Page 1160 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.3.3
System Control Register (SPSCR)
SPSCR is a 32-bit readable/writable register that enables or disables interrupts or FIFO mode,
selects either LSB first or MSB first in transmitting/receiving data, and master or slave mode.
If any of the FFEN, LMSB, CSA, or MASL bit values are changed, the module will undergo a
software reset.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
TEIE THIE RNIE RHIE RFIE FFEN LMSB CSV
CSA
TFIE
ROIE
RXDE TXDE MASL
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit:
Initial value:
R/W:
Bit
Bit Name
31 to 14 ⎯
0
R/W
0
R/W
Initial
Value
R/W
All 0
R
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
13
TEIE
0
R/W
Transmit FIFO Empty Interrupt Enable
0: Transmit FIFO empty interrupt disabled
1: Transmit FIFO empty interrupt enabled
12
THIE
0
R/W
Transmit FIFO Halfway Interrupt Enable
0: Transmit FIFO halfway interrupt disabled
1: Transmit FIFO halfway interrupt enabled
11
RNIE
0
R/W
Receive FIFO Not Empty Interrupt Enable
0: Receive FIFO not empty interrupt disabled
1: Receive FIFO not empty interrupt enabled
10
RHIE
0
R/W
Receive FIFO Halfway Interrupt Enable
0: Receive FIFO halfway interrupt disabled
1: Receive FIFO halfway interrupt enabled
9
RFIE
0
R/W
Receive FIFO Full Interrupt Enable
0: Receive FIFO full interrupt disabled
1: Receive FIFO full interrupt enabled
Rev.1.00 Jan. 10, 2008 Page 1161 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Bit
Bit Name
Initial
Value
R/W
Description
8
FFEN
0
R/W
FIFO Mode Enable
Enables or disables the FIFO mode. When FIFO mode
is enabled, two 8-entry FIFOs are made available, one
for transmit data and one for receive data. These FIFOs
are read and written via SPTBR and SPRBR,
respectively. When FIFO mode is disabled, the SPTBR
and SPRBR are used directly so new data must be
written to SPTBR and read from SPRBR for each and
every transfer through the HSPI bus. FIFO mode must
be disabled if DMA requests are also to be used to
service SPTBR and SPRBR.
0: FIFO mode disabled
1: FIFO mode enabled
7
LMSB
0
R/W
LSB/MSB First Control
0: Data is transmitted and received most significant bit
(MSB) first.
1: Data is transmitted and received least significant bit
(LSB) first.
6
CSV
1
R/W
Chip Select Value
Controls the value output as the chip select signal when
the HSPI is a master and manual generation of the chip
select signal has been selected.
0: Chip select output is low.
1: Chip select output is high.
5
CSA
0
R/W
Automatic/Manual Chip Select
0: Chip select output is automatically generated during
data transfer.
1: Chip select output is manually controlled, with its
value being determined by the CSV bit.
4
TFIE
0
R/W
Transmit Complete Interrupt Enable
0: Transmit complete interrupt disabled
1: Transmit complete interrupt enabled
3
ROIE
0
R/W
Receive Overrun Occurred/Warning Interrupt Enable
0: Receive overrun occurred/warning interrupt disabled
1: Receive overrun occurred/warning interrupt enabled
Rev.1.00 Jan. 10, 2008 Page 1162 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Bit
Bit Name
Initial
Value
R/W
Description
2
RXDE
0
R/W
Receive DMA Enable
0: Receive DMA transfer request disabled
1: Receive DMA transfer request enabled
1
TXDE
0
R/W
Transmit DMA Enable
0: Transmit DMA transfer request disabled
1: Transmit DMA transfer request enabled
0
MASL
0
R/W
Master/Slave Select Bit
0: HSPI module configured as a slave
1: HSPI module configured as a master
23.3.4
Transmit Buffer Register (SPTBR)
SPTBR is a 32-bit readable/writable register that stores data to be transmitted.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
Bit:
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
31 to 8
⎯
All 0
R
TD
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
7 to 0
TD
All 0
R/W
Transmit Data
Data written to this register is transferred to the shift
register for transmission.
When reading these bits, the data stored in the transmit
buffer is always read.
Rev.1.00 Jan. 10, 2008 Page 1163 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.3.5
Receive Buffer Register (SPRBR)
SPRBR is a 32-bit read-only register that stores received data.
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
Initial value:
R/W:
Bit
Initial
Bit Name Value
R/W
31 to 8
⎯
R
All 0
RD
0
R
0
R
0
R
0
R
Description
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
7 to 0
RD
All 0
R
Receive Data
Data is transferred from the shift register to these bits
every time one byte of data is received if the previously
received data has been read.
Rev.1.00 Jan. 10, 2008 Page 1164 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.4
Operation
23.4.1
Operation Overview with FIFO Mode Disabled
Figure 23.2 shows the flow of a transmit/receive operation procedure.
Start
Reset the system
Select master or slave
operation by setting the MASL bit
in SPSCR
Select required interrupts by
setting TFIE and ROIE bits in
SPSCR
Check if
SPTBR is empty by
reading the TXFL bit
in SPSR
No
Yes
Write data to SPTBR
Yes
TX/RX data to/from slave
Another
transmit required?
No
End
Figure 23.2 Operational Flowchart
Depending on the settings of SPCR, the master transmits data to the slave on either the falling or
rising edge of HSPI_CLK and samples data from the slave at the opposite edge. The data transfer
between the master and slave is completed when the transmit complete status flag (TXFN) in
SPSR is set to 1. This flag should be used to identify when an HSPI transfer event (byte
transmitted and byte received) has occurred, even in the case where the HSPI module is used to
receive data only (null data being transmitted). By default data is transmitted MSB first, but LSB
first is also possible depending on how the LMSB bit in SPSCR is set.
During the transmit operation the slave responds by sending data to the master synchronized with
the HSPI_CLK from the master transmitted. Data from the slave is sampled and transferred to the
shift register in the module and on completion of the transmit operation, is transferred to SPRBR.
Rev.1.00 Jan. 10, 2008 Page 1165 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
The HSPI_CS pin should be used to select the HSPI module and prepare it to receive data from an
external master when the HSPI is configured as a slave. When the FBS bit in SPCR is 0, the
HSPI_CS pin must be driven high between successive bytes (the HSPI_CS pin must be driven
high after a byte transfer). When FBS = 1, the HSPI_CS pin can stay low for several byte
transmissions. In this case, if the system is configured such that FBS is always 1, the HSPI_CS
line can be fixed at ground (if the HSPI will only be used as a slave).
23.4.2
Operation with FIFO Mode Enabled
In order to reduce the interrupt overhead on the CPU, FIFO mode has been provided. When FIFO
mode is enabled, up to eight bytes can be written in advance for transmission and up to eight bytes
can be received before the receive FIFO needs to be read. To transfer the specified amount of data
between the HSPI module and an external device, use the following procedure:
1. Set up the module for the required HSPI transfer characteristics (master/slave, clock polarity
etc.) and enable FIFO mode.
2. Write bytes into the transmit FIFO via SPTBR. If more than eight bytes are to be transmitted,
enable the transmit FIFO halfway interrupt to keep track of the FIFO level as data is
transmitted.
3. Respond to the transmit FIFO halfway interrupt when it occurs by writing more data to the
transmit FIFO and reading data from the receive FIFO via SPRBR.
4. When all of the transmit data has been written into the transmit FIFO, disable the transmit
FIFO halfway interrupt and read the contents of the receive FIFO until it is empty. Enable the
receive FIFO not empty interrupt to keep track of when the final bytes of the transfer are
received.
5. Respond to the receive FIFO not empty interrupt until all the expected data has been received.
6. Disable the module until it is required again.
In some applications, an undefined amount of data will be received from an external HSPI device.
If this is the case, use the following procedure:
1. Set up the module for the required HSPI transfer characteristics (master/slave, clock polarity,
etc.) and enable FIFO mode.
2. Fill the transmit FIFO with the data to transmit. Enable the receive FIFO not empty interrupt.
3. Respond to the receive FIFO not empty interrupt and read data from the receive FIFO until it is
empty. Write more data to the transmit FIFO if required.
4. Disable the module when the transfer is to stop.
Rev.1.00 Jan. 10, 2008 Page 1166 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.4.3
Timing Diagrams
The following diagrams explain the timing relationship of all shift and sample processes in the
HSPI. Figure 23.3 shows the conditions when FBS = 0, figure 23.4 shows the conditions when
FBS = 0 (continuous transfer), figure 23.5 shows the conditions when FBS = 1, and figure 23.6
shows the conditions when FBS = 1 (continuous transfer). It can be seen that if CLKP in SPCR is
0, transmit data is shifted at the falling edge of HSPI_CLK and receive data is sampled at the
rising edge of HSPI_CLK. The opposite is true when CLKP = 1.
1
2
3
4
5
6
7
8
MSB
6
5
4
3
2
1
LSB
6
5
4
3
2
1
LSB
Data transfer cycle
HSPI_CLK (CLKP = 0)
HSPI_CLK (CLKP = 1)
HSPI_TX
MSB
HSPI_RX
*
HSPI_CS
Figure 23.3 Timing Conditions when FBS = 0
Data transfer cycle
1
2
MSB
..
8
9
10
..
16
6
LSB
MSB
6
LSB
6
LSB
6
LSB
HSPI_CLK (CLKP = 0)
HSPI_CLK (CLKP = 1)
HSPI_TX
HSPI_RX
MSB
*
MSB
*
HSPI_CS
Figure 23.4 Timing Conditions when FBS = 0 (Continuous Transfer)
Rev.1.00 Jan. 10, 2008 Page 1167 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
Data transfer cycle
1
2
3
4
5
6
7
8
HSPI_TX
MSB
6
5
4
3
2
1
LSB
HSPI_RX
* MSB
6
5
4
3
2
1
HSPI_CLK (CLKP = 0)
HSPI_CLK (CLKP = 1)
LSB
HSPI_CX
Figure 23.5 Timing Conditions when FBS = 1
Data transfer cycle
1
2
HSPI_TX
MSB
6
HSPI_RX
* MSB
6
..
8
9
10
LSB
MSB
6
MSB
6
..
16
HSPI_CLK (CLKP = 0)
HSPI_CLK (CLKP = 1)
LSB
*
LSB
LSB
HSPI_CS
Figure 23.6 Timing Conditions when FBS = 1 (Continuous Transfer)
The asterisk (*) in the figures shows 0 or 1.
Rev.1.00 Jan. 10, 2008 Page 1168 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.4.4
HSPI Software Reset
If any of the control bits, except for SPCR and the interrupt and chip select value bits of SPSCR,
are changed, then the HSPI software reset is generated. The receive and transmit FIFO pointers
can be initialized by the HSPI software reset. The data transmission after the HSPI software reset
should conform to transmitting and receiving protocol of HSPI and be performed from the
beginning; otherwise, correct operation is not guaranteed.
When asserting the HSPI_CS except when the master device is transferring data with the HSPI in
slave mode, set CSA again after a software reset. This prevents the HSPI from receiving erroneous
data.
23.4.5
Clock Polarity and Transmit Control
SPCR also allows the user to define the shift timing for transmit data and polarity. The FBS bit in
SPCR allows selection between two different transfer formats. When CSA of SPSR is 0, the MSB
or LSB is valid at the falling edge of HSPI_CS. The CLKP bit in SPCR allows for control of the
polarity select block, shown in figure 23.1, which selects the edge of HSPI_CLK on which data is
shifted and sampled in the master and slave.
23.4.6
Transmit and Receive Routines
The master and slave can be considered linked together as a circular shift register synchronized
with HSPI_CLK. The transmit byte from the master is replaced with the receive byte from the
slave in eight HSPI_CLK cycles. Both the transmit and receive functions are double buffered to
allow for continuous reads and writes. When FIFO mode is enabled, 8-entry FIFOs are available
for both transmit and receive data.
Rev.1.00 Jan. 10, 2008 Page 1169 of 1658
REJ09B0261-0100
23. Serial Peripheral Interface (HSPI)
23.4.7
Flags and Interrupt Timing
The interrupt timing when the flags of the status register (SPSR) and the system control register
(SPSCR) are set is shown in figure 23.7.
HSPI_CLK
HSPI_CS
Pck
Internal interrupt
Flags (SPSR)
Interrupt
Figure 23.7 Flags and Interrupt Timing
If an interrupt cause (receive FIFO halfway, etc.) occurs, it is reflected to the status register
(SPSR) in synchronization with Pck, and an interrupt occurs.
23.4.8
Low-Power Consumption and Clock Synchronization
The HSPI operates in synchronization with the bus clock. Module standby mode is
enabled/disabled by the MSTP2 bit of the CPG module standby control register 0 (MSTPCR0).
Take the following steps to enter module standby mode.
1. Check that all data transfers have been completed. The transmit buffer (or FIFO) must be
empty and the receive buffer (or FIFO) must be read until the receive buffer becomes empty.
2. Disable all DMA requests, interrupt requests, and FIFO mode.
3. Set the MSTP2 bit of the standby control register 0 (MSTPCR0).
To activate the HSPI, write 0 to the MSTP2 bit of the standby control register 0 (MSTPCR0).
Rev.1.00 Jan. 10, 2008 Page 1170 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Section 24 Multimedia Card Interface (MMCIF)
This LSI supports a multimedia card interface (MMCIF). The MMC mode interface can be
utilized. The MMCIF is a clock-synchronous serial interface that transmits/receives data that is
distinguished in terms of command and response. A number of commands/responses are
predefined in the multimedia card. As the MMCIF specifies a command code and command
type/response type upon the issuance of a command, commands extended by the secure
multimedia card (Secure-MMC) and additional commands can be supported in the future within
the range of combinations of currently defined command types/response types.
24.1
Features
The MMCIF has the following features:
•
•
•
•
•
Supports a subset of the MultiMediaCard System Specification Version 3.1
Supports MMC mode
Incorporates 64 data-transfer FIFOs of 16 bits
Supports DMA transfer
Four interrupt sources
FIFO empty/full (FSTAT), command/response/data transfer complete (TRAN), transfer error
(ERR), and FIFO ready (FRDY)
• Interface via the MMCCLK output (transfer clock output) pin, the MMCCMD input/output
(command output/response input) pin, and the MMCDAT input/output (data input/output) pin
Rev.1.00 Jan. 10, 2008 Page 1171 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Figure 24.1 shows a block diagram of the MMCIF.
Port
MMCIF
MMCDAT
Data transmission/
reception control
Peripheral bus
Peripheral bus interface
FIFO
Command
transmission/
response
reception control
MMCCMD
Interrupt control
FSTAT
TRAN
ERR
FRDY
MMC mode control
Card clock
generator
MMCCLK
Figure 24.1 Block Diagram of MMCIF
24.2
Input/Output Pins
Table 24.1 summarizes the pins of the MMCIF.
Table 24.1 Pin Configuration
Pin Name
I/O
Function
MMCCLK
Input/Output
Card clock output
MMCCMD
Input/Output
Command output/response input
MMCDAT
Input/Output
Data input/output
Note: For insertion/detachment of a card or for signals switching over between open-drain and
CMOS modes, use ports of this LSI.
Rev.1.00 Jan. 10, 2008 Page 1172 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3
Register Descriptions
Table 24.2 shows the MMCIF register configuration.
Table 24.2 Register Configuration (1)
Register Name
Abbrev.
R/W
P4 Address
Area 7 Address Size
Sync
Clock
Command register 0
CMDR0
R/W
H'FFE6 0000
H'1FE6 0000
8
Pck
Command register 1
CMDR1
R/W
H'FFE6 0001
H'1FE6 0001
8
Pck
Command register 2
CMDR2
R/W
H'FFE6 0002
H'1FE6 0002
8
Pck
Command register 3
CMDR3
R/W
H'FFE6 0003
H'1FE6 0003
8
Pck
Command register 4
CMDR4
R/W
H'FFE6 0004
H'1FE6 0004
8
Pck
Command register 5
CMDR5
R
H'FFE6 0005
H'1FE6 0005
8
Pck
Command start register
CMDSTRT R/W
H'FFE6 0006
H'1FE6 0006
8
Pck
Operation control register
OPCR
R/W
H'FFE6 000A
H'1FE6 000A
8
Pck
Card status register
CSTR
R
H'FFE6 000B
H'1FE6 000B
8
Pck
Interrupt control register 0
INTCR0
R/W
H'FFE6 000C
H'1FE6 000C
8
Pck
Interrupt control register 1
INTCR1
R/W
H'FFE6 000D
H'1FE6 000D
8
Pck
Interrupt status register 0
INTSTR0
R/W
H'FFE6 000E
H'1FE6 000E
8
Pck
Interrupt status register 1
INTSTR1
R/W
H'FFE6 000F
H'1FE6 000F
8
Pck
Transfer clock control register
CLKON
R/W
H'FFE6 0010
H'1FE6 0010
8
Pck
Command timeout control register
CTOCR
R/W
H'FFE6 0011
H'1FE6 0011
8
Pck
Transfer byte number count register TBCR
R/W
H'FFE6 0014
H'1FE6 0014
8
Pck
Mode register
MODER
R/W
H'FFE6 0016
H'1FE6 0016
8
Pck
Command type register
CMDTYR
R/W
H'FFE6 0018
H'1FE6 0018
8
Pck
Response type register
RSPTYR
R/W
H'FFE6 0019
H'1FE6 0019
8
Pck
Transfer block number counter
TBNCR
R/W
H'FFE6 001A
H'1FE6 001A
16
Pck
Response register 0
RSPR0
R/W
H'FFE6 0020
H'1FE6 0020
8
Pck
Response register 1
RSPR1
R/W
H'FFE6 0021
H'1FE6 0021
8
Pck
Response register 2
RSPR2
R/W
H'FFE6 0022
H'1FE6 0022
8
Pck
Response register 3
RSPR3
R/W
H'FFE6 0023
H'1FE6 0023
8
Pck
Response register 4
RSPR4
R/W
H'FFE6 0024
H'1FE6 0024
8
Pck
Rev.1.00 Jan. 10, 2008 Page 1173 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Register Name
Abbrev.
R/W
P4 Address
Area 7 Address Size
Sync
Clock
Response register 5
RSPR5
R/W
H'FFE6 0025
H'1FE6 0025
8
Pck
Response register 6
RSPR6
R/W
H'FFE6 0026
H'1FE6 0026
8
Pck
Response register 7
RSPR7
R/W
H'FFE6 0027
H'1FE6 0027
8
Pck
Response register 8
RSPR8
R/W
H'FFE6 0028
H'1FE6 0028
8
Pck
Response register 9
RSPR9
R/W
H'FFE6 0029
H'1FE6 0029
8
Pck
Response register 10
RSPR10
R/W
H'FFE6 002A
H'1FE6 002A
8
Pck
Response register 11
RSPR11
R/W
H'FFE6 002B
H'1FE6 002B
8
Pck
Response register 12
RSPR12
R/W
H'FFE6 002C
H'1FE6 002C
8
Pck
Response register 13
RSPR13
R/W
H'FFE6 002D
H'1FE6 002D
8
Pck
Response register 14
RSPR14
R/W
H'FFE6 002E
H'1FE6 002E
8
Pck
Response register 15
RSPR15
R/W
H'FFE6 002F
H'1FE6 002F
8
Pck
Response register 16
RSPR16
R/W
H'FFE6 0030
H'1FE6 0030
8
Pck
CRC status register
RSPRD
R/W
H'FFE6 0031
H'1FE6 0031
8
Pck
Data timeout register
DTOUTR
R/W
H'FFE6 0032
H'1FE6 0032
16
Pck
Data register
DR
R/W
H'FFE6 0040
H'1FE6 0040
16
Pck
FIFO pointer clear register
FIFOCLR
W
H'FFE6 0042
H'1FE6 0042
8
Pck
DMA control register
DMACR
R/W
H'FFE6 0044
H'1FE6 0044
8
Pck
Interrupt control register 2
INTCR2
R/W
H'FFE6 0046
H'1FE6 0046
8
Pck
Interrupt status register 2
INTSTR2
R/W
H'FFE6 0048
H'1FE6 0048
8
Pck
Rev.1.00 Jan. 10, 2008 Page 1174 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Table 24.3 Register Configuration (2)
Power-on
Reset by
Manual
PRESET
Reset by WDT/ Sleep by
Pin/WDT/
Multiple
SLEEP
Register Name
Abbrev.
H-UDI
Exception
Instruction
Module
Standby
Command register 0
CMDR0
H'00
H'00
Retained
Retained
Command register 1
CMDR1
H'00
H'00
Retained
Retained
Command register 2
CMDR2
H'00
H'00
Retained
Retained
Command register 3
CMDR3
H'00
H'00
Retained
Retained
Command register 4
CMDR4
H'00
H'00
Retained
Retained
Command register 5
CMDR5
H'00
H'00
Retained
Retained
Command start register
CMDSTRT
H'00
H'00
Retained
Retained
Operation control register
OPCR
H'00
H'00
Retained
Retained
Card status register
CSTR
H'0x
H'0x
Retained
Retained
Interrupt control register 0
INTCR0
H'00
H'00
Retained
Retained
Interrupt control register 1
INTCR1
H'00
H'00
Retained
Retained
Interrupt status register 0
INTSTR0
H'00
H'00
Retained
Retained
Interrupt status register 1
INTSTR1
H'00
H'00
Retained
Retained
Transfer clock control register
CLKON
H'00
H'00
Retained
Retained
Command timeout control register
CTOCR
H'01
H'01
Retained
Retained
Transfer byte number count register
TBCR
H'00
H'00
Retained
Retained
Mode register
MODER
H'00
H'00
Retained
Retained
Command type register
CMDTYR
H'00
H'00
Retained
Retained
Response type register
RSPTYR
H'00
H'00
Retained
Retained
Transfer block number counter
TBNCR
H'0000
H'0000
Retained
Retained
Response register 0
RSPR0
H'00
H'00
Retained
Retained
Response register 1
RSPR1
H'00
H'00
Retained
Retained
Response register 2
RSPR2
H'00
H'00
Retained
Retained
Response register 3
RSPR3
H'00
H'00
Retained
Retained
Response register 4
RSPR4
H'00
H'00
Retained
Retained
Response register 5
RSPR5
H'00
H'00
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1175 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Power-on
Reset by
Manual Reset
PRESET
by WDT/
Sleep by
Pin/WDT/
Multiple
SLEEP
Register Name
Abbrev.
H-UDI
Exception
Instruction
Module
Standby
Response register 6
RSPR6
H'00
H'00
Retained
Retained
Response register 7
RSPR7
H'00
H'00
Retained
Retained
Response register 8
RSPR8
H'00
H'00
Retained
Retained
Response register 9
RSPR9
H'00
H'00
Retained
Retained
Response register 10
RSPR10
H'00
H'00
Retained
Retained
Response register 11
RSPR11
H'00
H'00
Retained
Retained
Response register 12
RSPR12
H'00
H'00
Retained
Retained
Response register 13
RSPR13
H'00
H'00
Retained
Retained
Response register 14
RSPR14
H'00
H'00
Retained
Retained
Response register 15
RSPR15
H'00
H'00
Retained
Retained
Response register 16
RSPR16
H'00
H'00
Retained
Retained
CRC status register
RSPRD
H'00
H'00
Retained
Retained
Data timeout register
DTOUTR
H'FFFF
H'FFFF
Retained
Retained
Data register
DR
H'xxxx
H'xxxx
Retained
Retained
FIFO pointer clear register
FIFOCLR
H'00
H'00
Retained
Retained
DMA control register
DMACR
H'00
H'00
Retained
Retained
Interrupt control register 2
INTCR2
H'00
H'00
Retained
Retained
Interrupt status register 2
INTSTR2
H'0x
H'0x
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1176 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.1
Command Registers 0 to 5 (CMDR0 to CMDR5)
The CMDR registers are six 8-bit registers. A command is written to CMDR as shown in table
24.4, and the command is transmitted when the CMDSTART bit in CMDSTRT is set to 1. Each
command is transmitted in order form the MSB (bit 7) in CMDR0 to the LSB (bit 0) in CMDR5.
Table 24.4 CMDR Configuration
Register
Contents
Operation
CMDR0 to
CMDR4
Command argument
Write command arguments.
CMDR5
CRC and End bit
Setting of CRC is unnecessary (automatic calculation).
End bit is fixed to 1 and its setting is unnecessary
(automatic setting).
The read value is 0.
(1)
CMDR0 to CMDR4
Bit:
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
(command argument)
Initial value:
R/W:
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
7 to 0
—
All 0
R/W
0
R/W
0
R/W
0
R/W
Description
Command arguments
See specifications for the MMC card.
Data is sequentially transmitted from CMDR0 MSB to
CMDR5 LSB.
Rev.1.00 Jan. 10, 2008 Page 1177 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(2)
CMDR5
Bit:
7
6
5
Initial value:
R/W:
0
R
0
R
0
R
4
3
2
1
0
R
0
R
0
R
0
R
CRC
0
End
0
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 1
CRC
All 0
R
These bits are always read as 0. The write value should
always be 0.
0
End
0
R
This bit is always read as 0. The write value should
always be 0.
24.3.2
Command Start Register (CMDSTRT)
CMDSTRT is an 8-bit readable/writable register that triggers the start of command transmission,
representing the start of a command sequence. The following operations should have been
completed before the command sequence starts.
• Analysis of prior command response, clearing the command response register write if
necessary
• Analysis/transfer of receive data of prior command if necessary
• Preparation of transmit data of the next command if necessary
• Setting of CMDTYR, RSPTYR, TBCR and TBNCR
• Setting of CMDR0 to CMDR4
The CMDR0 to CMDR4, CMDTYR, RSPTYR, TBCR and TBNCR registers should not be
changed until command transmission has ended (during the CWRE flag in CSTR has been set
to 1 or until command transmit end interrupt has occurred).
Command sequences are controlled by the sequencers in both the MMCIF side and the MMC card
side. Normally, these operate synchronously. However, if an error occurs or a command is
aborted, these may become temporarily unsynchronized. Be careful when setting the CMDOFF bit
in OPCR, issuing the CMD12 command, or processing an error in MMC mode. A new command
sequence should be started only after the end of the command sequence on both the MMCIF and
card sides is confirmed. See section24.4, Operation when an error occurred.
Rev.1.00 Jan. 10, 2008 Page 1178 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
CMD
START
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7 to 1
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
0
CMDSTART 0
R/W
Starts command transmission when 1 is written. This bit
is automatically cleared to 0 after the MMCIF received
the CMDSTART command. When 0 is written to this bit,
operation is not affected.
24.3.3
Operation Control Register (OPCR)
OPCR is an 8-bit readable/writable register that aborts command operation, and suspends or
continues data transfer.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
CMD
OFF
⎯
RD_
CONTI
DATAEN
⎯
⎯
⎯
⎯
0
R/W
0
R
0
R/W
0
R/W
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
7
CMDOFF
0
R/W
Description
Command Off
Aborts all command operations (MMCIF command
sequence) when 1 is written after a command is
transmitted. This bit is cleared to 0 automatically after
the MMCIF received the CMDOFF command.
Write enabled period: From command transmission
completion to command sequence end
Write of 0: Operation is not affected.
Write of 1: Command sequence is forcibly aborted.
Note: Do not write to this bit out of the write enable
period.
Rev.1.00 Jan. 10, 2008 Page 1179 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
6
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
5
RD_CONTI
0
R/W
Read Continue
Read data reception is resumed when 1 is written while
the sequence has been halted by FIFO full or
termination of block reading in multiple block read.
This bit is cleared to 0 automatically when 1 is written
and the MMCIF received the RD_CONTI command.
Write enabled period: While read data reception is
halted
Write of 0: Operation is not affected.
Write of 1: Resumes read data reception.
Note: Do not write to this bit out of the write enable
period.
4
DATAEN
0
R/W
Data Enable
Starts a write data transmission by a command with
write data. This bit is cleared automatically when 1 is
written and the MMCIF received the DATAEN
command. Resumes write data transmission while the
sequence has been halted by FIFO empty or
termination of block writing in multiple block write.
Write enabled period: (1) after receiving a response to a
command with write data, (2) while sequence is halted
by FIFO empty, (3) when one block writing in multiple
block write is terminated.
Write of 0: Operation is not affected.
Write of 1: Starts or resumes write data transmission.
Note: Do not write to this bit out of the write enable
period.
3 to 0
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1180 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
In write data transmission, the contents of the command response and data response should be
analyzed, and then transmission should be triggered. In addition, the data transmission should be
temporarily halted by FIFO full/empty, and it should be resumed when the preparation has been
completed.
In multiple block transfer, the transfer should be temporarily halted at every block break to select
either to continue to the next block or to abort the multiple block transfer command by issuing the
CMD12 command. To continue to the next block, the RD_CONTI and DATAEN bits should be
set to 1. To issue the CMD12 command, the CMDOFF bit should be set to 1 to abort the command
sequence on the MMCIF side. When using the auto-mode for a pre-defined multiple block
transfer, the setting of the RD_CONTI bit or the DATAEN bit between blocks can be omitted.
24.3.4
Card Status Register (CSTR)
CSTR indicates the MMCIF status during command sequence execution.
Bit:
Initial value:
R/W:
7
6
5
BUSY
FIFO_
FULL
FIFO_
EMPTY
CWRE
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
7
BUSY
0
R
4
3
2
DTBUSY
DTBUSY
_TU
—
R
0
R
1
0
—
REQ
0
R
0
R
Description
Command Busy
Indicates command execution status. When the
CMDOFF bit in OPCR is set to 1, this bit is cleared to 0
because the MMCIF command sequence is aborted.
0: Idle state waiting for a command, or data busy state
1: Command sequence execution in progress
6
FIFO_FULL 0
R
FIFO Full
This bit is set to 1 when the FIFO becomes full while
data is being received from the card, and cleared to 0
when RD_CONTI is set to 1 or the command sequence
is completed.
Indicates whether the FIFO is empty or not.
0: The FIFO is empty.
1: The FIFO is full.
Rev.1.00 Jan. 10, 2008 Page 1181 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Initial
Value
Bit
Bit Name
5
FIFO_EMPTY 0
R/W
Description
R
FIFO Empty
This bit is set to 1 when the FIFO becomes empty while
data is being sent to the card, and cleared to 0 when
DATA_EN is set to 1 or the command sequence is
completed.
Indicates whether the FIFO holds data or not.
0: The FIFO includes data.
1: The FIFO is empty.
4
CWRE
0
R
Command Register Write Enable
Indicates whether the CMDR command is being
transmitted or has been transmitted.
0: The CMDR command has been transmitted, or the
CMDSTART bit in CMDSTRT has not been set yet,
so the new command can be written.
1: The CMDR command is waiting for transmission or is
being transmitted. If a new command is written, a
malfunction will result.
3
DTBUSY
0
R
Data Busy
Indicates command execution status. Indicates that the
card is in the busy state after the command sequence
of a command without data transfer which includes the
busy state in the response, or a command with write
data has been ended.
0: Idle state waiting for a command, or command
sequence execution in progress
1: Card is in the data busy state after command
sequence termination.
2
DTBUSY_TU Undefined
R
Data Busy Pin Status
Indicates the MMCDAT pin level. By reading this bit, the
MMCDAT level can be monitored.
0: A low level is input to the MMCDAT pin.
1: A high level is input to the MMCDAT pin.
1
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1182 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
0
REQ
0
R
Interrupt Request
Indicates whether an interrupt is requested or not.
When any of the INTSTR0, INTSTR1 and INTSTR2
flags is set, this bit is set to 1. Setting of the INTSTR0,
INTSTR1 and INTSTR2 flags is controlled by the
enable bits in INTCR0, INTSTR1 and INTCR2.
0: No interrupt requested.
1: Interrupt requested.
24.3.5
Interrupt Control Registers 0 to 2 (INTCR0 to INTCR2)
The INTCR registers enable or disable interrupts.
(1)
INTCR0
Bit:
7
FEIE
Initial value:
R/W:
0
R/W
6
5
4
3
2
1
DBS
FFIE DRPIE DTIE CRPIE CMDIE
YIE
0
0
0
0
0
0
R/W R/W
R/W R/W
R/W R/W
0
BTIE
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
FEIE
0
R/W
FIFO Empty Interrupt Flag Setting Enable
0: Disables FIFO empty interrupt (disables FEI flag
setting).
1. Enables FIFO empty interrupt (enables FEI flag
setting).
6
FFIE
0
R/W
FIFO Full Interrupt Flag Setting Enable
0: Disables FIFO full interrupt (disables FFI flag
setting).
1: Enables FIFO full interrupt (enables FFI flag setting).
5
DRPIE
0
R/W
Data Response Interrupt Flag Setting Enable
0: Disables data response interrupt (disables DPRI flag
setting).
1: Enables data response interrupt (enables DPRI flag
setting).
Rev.1.00 Jan. 10, 2008 Page 1183 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
4
DTIE
0
R/W
Data Transfer End Interrupt Flag Setting Enable
0: Disables data transfer end interrupt (disables DTI
flag setting).
1: Enables data transfer end interrupt (enables DTI flag
setting).
3
CRPIE
0
R/W
Command Response Receive End Interrupt Flag
Setting Enable
0: Disables command response receive end interrupt
(disables CRPI flag setting).
1: Enables command response receive end interrupt
(enables CRPI flag setting).
2
CMDIE
0
R/W
Command Transmit End Interrupt Flag Setting Enable
0: Disables command transmit end interrupt (disables
CMDI flag setting).
1: Enables command transmit end interrupt (enables
CMDI flag setting).
1
DBSYIE
0
R/W
Data Busy End Interrupt Flag Setting Enable
0: Disables data busy end interrupt (disables DBSYI
flag setting).
1: Enables data busy end interrupt (enables DBSYI flag
setting).
0
BTIE
0
R/W
Multiple block Transfer End Flag Setting Enable
0: Disables multiple block transfer end flag setting
1: Enables multiple block transfer end flag setting
Rev.1.00 Jan. 10, 2008 Page 1184 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(2)
INTCR1
Bit:
7
6
INTR INTR
Q2E Q1E
Initial value:
0
0
R/W: R/W R/W
5
INTR
Q0E
0
R/W
4
3
⎯
⎯
0
R
0
R
2
1
CRCE DTE
RIE
RIE
0
0
R/W R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
INTRQ2E
0
R/W
ERR Interrupt Enable
0
CTE
RIE
0
R/W
0: Disables ERR interrupt.
1: Enables ERR interrupt.
6
INTRQ1E
0
R/W
TRAN Interrupt Enable
0: Disables TRAN interrupt.
1: Enables TRAN interrupt.
5
INTRQ0E
0
R/W
FSTAT Interrupt Enable
0: Disables FSTAT interrupt.
1: Enables FSTAT interrupt.
4, 3
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
2
CRCERIE
0
R/W
CRC Error Interrupt Flag Setting Enable
0: Disables CRC error interrupt (disables CRCERI flag
setting).
1: Enables CRC error interrupt (enables CRCERI flag
setting).
1
DTERIE
0
R/W
Data Timeout Error Interrupt Flag Setting Enable
0: Disables data timeout error interrupt (disables DTERI
flag setting).
1: Enables data timeout error interrupt (enables DTERI
flag setting).
0
CTERIE
0
R/W
Command Timeout Error Interrupt Flag Setting Enable
0: Disables command timeout error interrupt (disables
CTERI flag setting).
1: Enables command timeout error interrupt (enables
CTERI flag setting).
Rev.1.00 Jan. 10, 2008 Page 1185 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(3)
INTCR2
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
INTR
Q3E
⎯
⎯
⎯
⎯
⎯
⎯
FRDYIE
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
INTRQ3E
0
R/W
FRDY Interrupt Enable
0: Disables FRDY interrupt.
1: Enables FRDY interrupt.
6 to 1
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
0
FRDYIE
0
R/W
FIFO Ready Interrupt Enable
0: Disables FIFO ready interrupt (disables FRDY flag
setting).
1: Enables FIFO ready interrupt (enables FRDY flag
setting).
Rev.1.00 Jan. 10, 2008 Page 1186 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.6
Interrupt Status Registers 0 to 2 (INTSTR0 to INTSTR2)
The INTSTR registers enable or disable MMCIF interrupts FSTAT, TRAN, ERR and FRDY, and
interrupt flags.
(1)
INTSTR0
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
FEI
FFI
DRPI
DTI
CRPI CMDI DBSYI
BTI
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
Interrupt
output
7
FEI
0
R/W
FIFO Empty Interrupt Flag
FSTAT
0: No interrupt
[Clearing condition]
Write 0 after reading FEI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When FIFO becomes empty while FEIE = 1
and data is being transmitted
(when the FIFO_EMPTY bit in CSTR is set)
6
FFI
0
R/W
FIFO Full Interrupt Flag
FSTAT
0: No interrupt
[Clearing condition]
Write 0 after reading FFI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When FIFO becomes full while FFIE = 1
and data is being received
(when the FIFO_FULL bit in CSTR is set)
Rev.1.00 Jan. 10, 2008 Page 1187 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
Interrupt
output
5
DRPI
0
R/W
Data Response Interrupt Flag
TRAN
0: No interrupt
[Clearing condition]
Write 0 after reading DRPI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When the CRC status is received while
DRPIE = 1.
4
DTI
0
R/W
Data Transfer End Interrupt Flag
TRAN
0: No interrupt
[Clearing condition]
Write 0 after reading DTI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When the number of bytes of data transfer
specified in TBCR ends while DTIE = 1.
3
CRPI
0
R/W
Command Response Receive End Interrupt TRAN
Flag
0: No interrupt
[Clearing condition]
Write 0 after reading CRPI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When command response reception ends
while CRPIE = 1.
Rev.1.00 Jan. 10, 2008 Page 1188 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
Interrupt
output
2
CMDI
0
R/W
Command Transmit End Interrupt Flag
TRAN
0: No interrupt
[Clearing condition]
Write 0 after reading CMDI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When command transmission ends while
CMDIE = 1. (When the CWRE bit in CSTR
is cleared.)
1
DBSYI
0
R/W
Data Busy End Interrupt Flag
TRAN
0: No interrupt
[Clearing condition]
Write 0 after reading DBSYI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When data busy state is canceled while
DBSYIE = 1. (When the DTBUSY bit in
CSTR is cleared.)
0
BTI
0
R/W
Multiple block Transfer End Flag
TRAN
0: No interrupt
[Clearing condition]
Write 0 after reading BTI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When the number of bytes of data transfer
specified in TBCR is reached while BTIE =
1 and TBNCR = 0.
Rev.1.00 Jan. 10, 2008 Page 1189 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(2)
INTSTR1
Bit:
Initial value:
R/W:
7
6
5
4
3
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
7 to 3
—
All 0
R
2
1
0
CRC
DTERI CTERI
ERI
0
0
0
R/W R/W R/W
Description
Interrupt
output
Reserved
—
These bits are always read as 0. The write
value should always be 0.
2
CRCERI
0
R/W
CRC Error Interrupt Flag
ERR
0: No interrupt
[Clearing condition]
Write 0 after reading CRCERI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When a CRC error for command response
or receive data or a CRC status error for
transmit data response is detected while
CRCERIE = 1.
For the command response, CRC is
checked when the RTY4 in RSPTYR is
enabled.
1
DTERI
0
R/W
Data Timeout Error Interrupt Flag
0: No interrupt
[Clearing condition]
Write 0 after reading DTERI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When a data timeout error specified in
DTOUTR occurs while DTERIE = 1.
Rev.1.00 Jan. 10, 2008 Page 1190 of 1658
REJ09B0261-0100
ERR
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
Interrupt
output
0
CTERI
0
R/W
Command Timeout Error Interrupt Flag
ERR
0: No interrupt
[Clearing condition]
Write 0 after reading CTERI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When a command timeout error specified in
TOCR occurs while CTERIE = 1.
Rev.1.00 Jan. 10, 2008 Page 1191 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(3)
INTSTR2
Bit:
Initial value:
R/W:
7
6
5
4
3
2
—
—
—
—
—
—
0
R
0
R
0
R
0
R
0
R
0
R
1
0
FRDY
FRDYI
_TU
—
0
R
R/W
Bit
Bit Name
Initial
Value
R/W
Description
Interrupt
output
7 to 2
⎯
All 0
R
Reserved
⎯
These bits are always read as 0. The write
value should always be 0.
1
FRDY_TU
Undefined R
FIFO Ready Flag
⎯
Regardless of set values of DMAEN and
FRDYIE, this bit is read as 0 when FIFO
data amount matches the asserting
condition set in DMACR[2:0], and
otherwise, read as 1.
0
FRDYI
0
R/W
FIFO Ready Interrupt Flag
0: No interrupt
[Clearing condition]
Write 0 after reading FRDYI = 1.
(Writing 1 is invalid)
1: Interrupt requested
[Setting condition]
When remained FIFO data does not match
the assert condition set in DMACR while
DMAEN = 1 and FRDYIE = 1.
Note: FRDYI will be set on the setting
condition after clearing. To clear it,
disable the flag setting by FRDYIE in
INTCR2.
Rev.1.00 Jan. 10, 2008 Page 1192 of 1658
REJ09B0261-0100
FRDY
24. Multimedia Card Interface (MMCIF)
24.3.7
Transfer Clock Control Register (CLKON)
CLKON controls the transfer clock frequency and clock ON/OFF.
At this time, use a sufficiently slow clock for transfer through open-drain type output in MMC
mode.
In a command sequence, do not perform clock ON/OFF or frequency modification.
Bit:
Initial value:
R/W:
7
6
5
4
CLKON
⎯
⎯
⎯
0
R/W
0
R
0
R
0
R
3
2
1
0
CSEL3 CSEL2 CSEL1 CSEL0
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
CLKON
0
R/W
Clock On
0: Stops the transfer clock output from the MMCCLK
pin.
1: Outputs the transfer clock from the MMCCLK pin.
6 to 4
—
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
3
2
1
0
CSEL3
CSEL2
CSEL1
CSEL0
0
0
0
0
R/W
R/W
R/W
R/W
Transfer Clock Frequency Select
0000: Reserved
0001: Uses the 1/2-divided peripheral clock (Pck) as a
transfer clock.
0010: Uses the 1/4-divided peripheral clock as a
transfer clock.
0011: Uses the 1/8-divided peripheral clock as a
transfer clock.
0100: Uses the 1/16-divided peripheral clock as a
transfer clock.
0101: Uses the 1/32-divided peripheral clock as a
transfer clock.
0110: Uses the 1/64-divided peripheral clock as a
transfer clock.
0111: Uses the 1/128-divided peripheral clock as a
transfer clock.
1000: Uses the 1/256-divided peripheral clock as a
transfer clock.
1001 to 1111: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 1193 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.8
Command Timeout Control Register (CTOCR)
CTOCR specifies the period to generate a timeout for the command response.
The counter (CTOUTC), to which the peripheral bus does not have access, counts the transfer
clock to monitor the command timeout. The initial value of CTOUTC is 0, and CTOUTC starts
counting the transfer clock from the start of command transmission. CTOUTC is cleared and stops
counting the transfer clock when command response reception has been completed, or when the
command sequence has been aborted by setting the CMDOFF bit to 1.
When the command response cannot be received, CTOUTC continues counting the transfer clock,
and enters the command timeout error state when the number of transfer clock cycles reaches the
number specified in CTOCR. When the CTERIE bit in INTCR1 is set to 1, the CTERI flag in
INTSTR1 is set. As CTOUTC continues counting transfer clock, the CTERI flag setting condition
is repeatedly generated. To perform command timeout error handling, the command sequence
should be aborted by setting the CMDOFF bit to 1, and then the CTERI flag should be cleared to
prevent extra-interrupt generation.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
CTSEL0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R/W
Bit
Bit Name
Initial
Value
R/W
7 to 1
—
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
0
CTSEL0
1
R/W
Command Timeout Select
0: 128 transfer clock cycles from command
transmission completion to response reception
completion
1: 256 transfer clock cycles from command
transmission completion to response reception
completion
Transfer clock: MMCCLK
Note: If R2 response (17-byte command response) is requested and CTSEL0 is cleared to 0, a
timeout is generated during response reception. Therefore, set CTSEL0 to 1.
Rev.1.00 Jan. 10, 2008 Page 1194 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.9
Transfer Byte Number Count Register (TBCR)
TBCR is an 8-bit readable/writable register that specifies the number of bytes to be transferred
(block size) for each single block transfer command. TBCR specifies the number of data block
bytes not including the start bit, end bit, and CRC.
The multiple block transfer command corresponds to the number of bytes of each data block. This
setting is ignored by the stream transfer command.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
C3
C2
C1
C0
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
7 to 4
—
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
3
CS3
0
R/W
Transfer Data Block Size
2
CS2
0
R/W
1
CS1
0
R/W
Four or more bytes should be set before executing a
command with data transfer.
0
CS0
0
R/W
0000: 1 byte (for forced erase)
0001: 2 bytes
0010: 4 bytes
0011: 8 bytes
0100: 16 bytes
0101: 32 bytes
0110: 64 bytes
0111: 128 bytes
1000: 256 bytes
1001: 512 bytes
1010: 1024 bytes
1011: 2048 bytes
1100 to 1111: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 1195 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.10 Mode Register (MODER)
MODER is an 8-bit readable/writable register that specifies the MMCIF operating mode. The
following sequence should be repeated when the MMCIF uses the multimedia card: Send a
command, wait for the end of the command sequence and the end of the data busy state, and send
a next command.
The series of operations from command sending, command response reception, data
transmission/reception, and data response reception is called as the command sequence. The
command sequence starts from sending a command by setting the CMDSTART bit in CMDSTRT
to 1, and ends when all necessary data transmission/reception and response reception have been
completed. The multimedia card supports the data busy state such that only the specific command
is accepted to write/erase data to/from the flash memory in the card during command sequence
execution and after command sequence execution has ended. The data busy state is indicated by a
low level output from the card side to the MMCDAT pin.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
MODE
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Bit
Bit Name
Initial
Value
R/W
7 to 1
—
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
0
MODE
0
R/W
Operating Mode
Specifies the MMCIF operating mode.
0: Operates in MMC mode
1: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 1196 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.11 Command Type Register (CMDTYR)
CMDTYR is an 8-bit readable/writable register that specifies the command format in conjunction
with RSPTYR. Bits TY1 and TY0 specify the existence and direction of transfer data, and bits
TY6 to TY2 specify the additional settings. All of bits TY6 to TY2 should be cleared to 0 or only
one of them should be set to 1. Bits TY6 to TY2 can only be set to 1 if the corresponding settings
in TY1 and TY0 allow that setting. If these bits are not set correctly, the operation cannot be
guaranteed. When executing a single block transaction, set TY1 and TY0 to 01 or 10, and TY6 to
TY2 to all 0s.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
⎯
TY6
TY5
TY4
TY3
TY2
TY1
TY0
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
7 to 5
⎯
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
6
TY6
0
R/W
Type 6
Specifies a predefined multiple block transaction.
TY[1:0] should be set to 01 or 10.
When using the command set to this bit, it is necessary
to specify the transfer block size and the transfer block
number in the TBCR and TBNCR respectively.
5
TY5
0
R/W
Type 5
Specifies a multiple block transaction when using
secure MMC. TY[1:0] should be set to 01 or 10.
Using the command to set to this bit, it is necessary to
specify the transfer block size and the transfer block
number in the TBCR and TBNCR respectively.
4
TY4
0
R/W
Type 4
Set this bit to 1 when specifying the CMD12 command.
Bits TY1 and TY0 should be set to 00.
Rev.1.00 Jan. 10, 2008 Page 1197 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
3
TY3
0
R/W
Type 3
Set this bit to 1 when specifying stream transfer. Bits
TY1 and TY0 should be set to 01 or 10.
The command sequence of the stream transfer
specified by this bit ends when it is aborted by the
CMD12 command.
2
TY2
0
R/W
Type 2
Set this bit to 1 when specifying a multiple block
transfer. Bits TY1 and TY0 should be set to 01 or 10.
The command sequence of the multiple block transfer
specified by this bit ends when it is aborted by the
CMD12 command.
1
TY1
0
R/W
Types 1 and 0
0
TY0
0
R/W
These bits specify the existence and direction of
transfer data.
00: A command without data transfer
01: A command with read data reception
10: A command with write data transmission
11: Setting prohibited
24.3.12 Response Type Register (RSPTYR)
RSPTYR is an 8-bit readable/writable register that specifies command format in conjunction with
CMDTYR. Bits RTY2 to RTY0 specify the number of response bytes, and bits RTY6 to RTY4
specify the additional settings.
Bit:
7
⎯
Initial value:
R/W:
0
R
6
5
4
RTY6 RTY5 RTY4
0
R/W
Bit
Bit Name
Initial
Value
R/W
7
⎯
0
R
0
R/W
0
R/W
3
⎯
0
R
2
1
0
RTY2 RTY1 RTY0
0
R/W
0
R/W
0
R/W
Description
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1198 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Bit
Bit Name
Initial
Value
R/W
Description
6
RTY6
0
R/W
Response Type 5
Sets data busy status from the MMC card.
This bit is set to perform CRC check for the response
(R2 response of MMC mode) when the command that
reads, as a response, the register value of the
multimedia card, including CRC7, is executed.
RTY2 to RTY0 must be set to 101.
5
RTY5
0
R/W
Response Type 5
Sets data busy status from the MMC card.
0: A command without data busy
1: A command with data busy
4
RTY4
0
R/W
Response Type 4
Specifies that the command response CRC is checked
through CRC7. Bits RTY2 to RTY0 should be set to
100.
0: Does not check CRC through CRC7
1: Checks CRC through CRC7
3
⎯
0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
2
RTY2
0
R/W
Response Types 2 to 0
1
RTY1
0
R/W
0
RTY0
0
R/W
These bits specify the number of command response
bytes.
000: A command needs no command response.
001: Setting prohibited
010: Setting prohibited
011: Setting prohibited
100: A command needs 6-byte command responses.
Specified by R1, R1b, R3, R4, and R5 responses.
101: A command needs a 17-byte command response.
Specified by R2 response.
110: Setting prohibited
111: Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 1199 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Table 24.5 summarizes the correspondence between the commands described in the
MultiMediaCard System Specification Version 3.1 and the settings of the CMDTYR and
RSPTYR registers.
Table 24.5 Correspondence between Commands and Settings of CMDTYR and RSPTYR
CMD
CMDTYR
6
5
4
3
RSPTYR
INDEX
Abbreviation
resp
2
[1:0] 6
CMD0
GO_IDLE_STATE
⎯
00
CMD1
SEND_OP_COND
R3
00
CMD2
ALL_SEND_CID
R2
00
CMD3
SET_RELATIVE_ADDR
R1
00
CMD4
SET_DSR
⎯
00
CMD7
SELECT/DESELECT_CARD
CMD9
SEND_CSD
CMD10
SEND_CID
CMD11
READ_DAT_UNTIL_STOP
CMD12
STOP_TRANSMISSION
R1b
R2
00
R2
00
R1
1
R1b
00
SEND_STATUS
R1
00
CMD15
GO_INACTIVE_STATE
⎯
00
SET_BLOCKLEN
CMD17
READ_SINGLE_BLOCK
CMD18
READ_MULTIPLE_BLOCK
CMD20
WRITE_DAT_UNTIL_STOP
6
CMD23*
CMD24
SET_BLOCK_COUNT
WRITE_BLOCK
R1
WRITE_MULTIPLE_BLOCK
R1
R1
CMD28
CMD29
CMD30
SET_WRITE_PROT
CLR_WRITE_PROT
SEND_WRITE_PROT
*
*
1
R1
R1b
R1b
R1
Rev.1.00 Jan. 10, 2008 Page 1200 of 1658
REJ09B0261-0100
101
*4
1
*
*
*
*
*
100
101
4
*
101
4
100
4
100
4
100
*
1
*
*
000
4
100
4
100
4
100
4
100
4
100
4
100
10
*
4
100
10
*4
100
10
4
100
4
100
4
100
4
100
*
*
*
01
*
*
*
10
2
4
4
00
2
100
000
10
3
R1
PROGRAM_CID
PROGRAM_CSD
2
R1
CMD26
*
01
2
R1
CMD25
CMD27
*
R1
R1
100
00
3
[2:0]
4
01
1
4
000
00
CMD13
CMD16
5
00
00
01
*
1
1
*
*
*
24. Multimedia Card Interface (MMCIF)
CMD
CMDTYR
INDEX
Abbreviation
1
CMD32* TAG_SECTOR_START
1
CMD33* TAG_SECTOR_END
1
CMD34* UNTAG_SECTOR
resp
R1
R1
R1
6
5
4
3
2
RSPTYR
[1:0]
6
5
4
[2:0]
4
100
4
100
4
100
4
*
00
*
00
*
00
CMD35
TAG_ERASE_GROUP_
START
R1
00
*
100
CMD36
TAG_ERASE_GROUP_END
R1
00
*4
100
R1
00
*4
100
00
4
100
4
100
4
100
4
100
4
100
4
100
1
CMD37* UNTAG_ERASE_GROUP
CMD38
CMD39
CMD40
CMD42
CMD55
CMD56
ERASE
FAST_IO
GO_IRQ_STATE
LOCK_UNLOCK
APP_CMD
GEN_CMD
R1b
R4
R5
R1b
R1
R1b
1
*
00
*
00
10
1
*
*
*
00
5
*
1
*
Notes: A blank: Means value 0.
1. These commands are not supported by MMCA Ver3.1 and later cards.
2. Set bits TY6 and TY2 = B'10 when the number of blocks for transfer is set in advance.
Set bits TY6 and TY2 = B'01 when the number of blocks for transfer is not set.
3. Set this bit when executing multiple-block transfer with use of secure MMC.
4. Set this bit to 1 when checking CRC of a command response.
5. Set these bits to B'01 when reading and B'10 when writing.
6. This command was newly added in MMCA Ver.3.1.
Rev.1.00 Jan. 10, 2008 Page 1201 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.13 Transfer Block Number Counter (TBNCR)
A value other than 0 must be written to the TBNCR register if a multiple block transfer is selected
through the TY5 and TY6 bits in the CMDTYR. Set the transfer block number in the TBNCR.
The value of TBNCR is decremented by one as each block transfer is executed and the command
sequence ends when the TBNCR value equals 0.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
0
R/W
0
R/W
0
R/W
3
2
1
0
0
R/W
0
R/W
TBNCR
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
15 to 0
TBNCR
All 0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
0
R/W R/W
Description
Transfer Block Number Counter
[Clearing condition]
When the specified number of blocks are transferred or
0 is written to TBNCR.
Rev.1.00 Jan. 10, 2008 Page 1202 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.14 Response Registers 0 to 16, D (RSPR0 to RSPR16, RSPRD)
RSPR0 to RSPR16 are command response registers, which are seventeen 8-bit registers. RSPRD
is an 8-bit CRC status register.
The number of command response bytes differs according to the command. The number of
command response bytes can be specified by RSPTYR in the MMCIF. The command response is
shifted-in from bit 0 in RSPR16, and shifted to the number of command response bytes × 8 bits.
Table 24.6 summarizes the correspondence between the number of command response bytes and
valid RSPR register.
Table 24.6 Correspondence between Command Response Byte Number and RSPR
MMC Mode Response
RSPR registers
6 bytes (R1, R1b, R3, R4, R5)
17 bytes (R2)
RSPR0
⎯
1st byte
RSPR1
⎯
2nd byte
RSPR2
⎯
3rd byte
RSPR3
⎯
4th byte
RSPR4
⎯
5th byte
RSPR5
⎯
6th byte
RSPR6
⎯
7th byte
RSPR7
⎯
8th byte
RSPR8
⎯
9th byte
RSPR9
⎯
10th byte
RSPR10
⎯
11th byte
RSPR11
1st byte
12th byte
RSPR12
2nd byte
13th byte
RSPR13
3rd byte
14th byte
RSPR14
4th byte
15th byte
RSPR15
5th byte
16th byte
RSPR16
6th byte
17th byte
RSPR0 to RSPR16 are simple shift registers. A command response that has been shifted in is not
automatically cleared, and it is continuously shifted until it is shifted out from bit 7 in RSPR0. To
clear unnecessary bytes to H'00, write an arbitrary value to each RSPR.
Rev.1.00 Jan. 10, 2008 Page 1203 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(1)
RSPR0 to RSPR16
Bit:
7
6
5
4
0
R/W
0
R/W
0
R/W
0
R/W
3
2
1
0
0
R/W
0
R/W
0
R/W
RSPR
Initial value:
R/W:
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
RSPR
H'00
R/W
These bits are cleared to H'00 by writing an arbitrary
value.
RSPR0 to RSPR16 comprise a continuous 17-byte shift
register.
(2)
RSPRD
Bit:
Initial value:
R/W:
7
6
5
⎯
⎯
⎯
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
7 to 5
—
All 0
R
4
3
2
1
0
0
R/W
0
R/W
RSPRD
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
4 to 0
RSPRD
00000
R/W
CRC status
[Clearing condition]
When writing any value to these bits, cleared to
B'00000.
CRC status is stored. CRC status is command
response from the card when data is written into the
MMC card.
Rev.1.00 Jan. 10, 2008 Page 1204 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.15 Data Timeout Register (DTOUTR)
DTOUTR specifies the period to generate a data timeout. The 16-bit counter (DTOUTC) and a
prescaler, to which the peripheral bus does not have access, count the peripheral clock to monitor
the data timeout. The prescaler always counts the peripheral clock, and outputs a count pulse for
every 10,000 peripheral clock cycles. The initial value of DTOUTC is 0, and DTOUTC starts
counting the prescaler output from the start of the command sequence. DTOUTC is cleared when
the command sequence has ended, or when the command sequence has been aborted by setting the
CMDOFF bit to 1, after which the DTOUTC stops counting the prescaler output.
When the command sequence does not end, DTOUTC continues counting the prescaler output,
and enters the data timeout error states when the number of prescaler outputs reaches the number
specified in DTOUTR. When the DTERIE bit in INTCR1 is set to 1, the DTERI flag in INTSTR1
is set. As DTOUTC continues counting prescaler output, the DTERI flag setting condition is
repeatedly generated. To perform data timeout error handling, the command sequence should be
aborted by setting the CMDOFF bit to 1, and then the DTERI flag should be cleared to prevent
extra-interrupt generation.
For a command with data busy status, data timeout cannot be monitored since the command
sequence is terminated before entering the data busy state. Timeout in the data busy state should
be monitored by firmware.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
1
R/W
1
R/W
1
R/W
3
2
1
0
1
R/W
1
R/W
DTOUTR
Initial value:
R/W:
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
Value
R/W
15 to 0
DTOUTR
All 1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
1
R/W R/W
Description
Data Timeout Time/10,000
Data timeout time: Peripheral clock cycle × DTOUTR
setting value × 10,000.
Rev.1.00 Jan. 10, 2008 Page 1205 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.16 Data Register (DR)
DR is a register for reading/writing FIFO data.
Word/byte access is enabled to addresses of this register.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
—
R/W
—
R/W
—
R/W
—
R/W
3
2
1
0
—
R/W
—
R/W
DR
Initial value:
R/W:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
—
R/W R/W
Bit
Bit Name
Initial
Value
R/W
Description
15 to 0
DR
⎯
R/W
Register for reading/writing FIFO data.
Word/byte access is enabled.
When DR is accessed in words, the upper and lower
bytes are transmitted or received in that order. Word
access and byte access can be done in random order.
However, (DR address + 1) cannot be accessed in
bytes.
The following shows examples of DR access.
When data is written to DR in the following steps 1 to 4, the transmit data is stored in the FIFO as
shown in figure 24.2.
1.
2.
3.
4.
Write word data H'0123 to DR.
Write byte data H'45 to DR.
Write word data H'6789 to DR.
Write byte data H'AB to DR.
When the receive data is stored in the FIFO as shown in figure 24.2 (for example, after data is
started to be received while the FIFO is empty and data is received in the order of H'01, H'23, ...,
H'AB), data can be read from DR in the following steps 5 to 8.
5.
6.
7.
8.
Read byte data H'01 from DR.
Read word data H'2345 from DR.
Read byte data H'67 from DR.
Read word data H'89AB from DR.
Rev.1.00 Jan. 10, 2008 Page 1206 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1 word (2 bytes)
H'01
H'23
H'45
H'67
H'89
H'AB
64 words
.
.
.
.
.
.
FIFO
Figure 24.2 DR Access Example
24.3.17 FIFO Pointer Clear Register (FIFOCLR)
The FIFO write/read pointer is cleared by writing an arbitrary value to FIFOCLR.
Bit:
7
6
5
4
3
2
1
0
0
W
0
W
0
W
FIFOCLR
Initial value:
R/W:
0
W
0
W
0
W
0
W
0
W
Bit
Bit Name
Initial
Value
R/W
Description
7 to 0
FIFOCLR
H'00
W
The FIFO pointer is cleared by writing an arbitrary value
to this register.
Rev.1.00 Jan. 10, 2008 Page 1207 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.3.18 DMA Control Register (DMACR)
DMACR sets DMA request signal output. DMAEN enables or disables a DMA request signal.
The DMA request signal is output based on a value that has been set to SET2 to SET0.
Bit:
7
6
DMAEN AUTO
Initial value:
R/W:
0
R/W
0
R/W
5
4
3
2
1
0
⎯
⎯
⎯
SET2
SET1
SET0
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
DMAEN
0
R/W
DMA Enable
0: Disables output of DMA request signal.
1: Enables output of DMA request signal.
6
AUTO
0
R/W
Auto Mode for pre-define multiple block transfer using
DMA transfer
0: Disable auto mode
1: Enable auto mode
5 to 3
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
2
SET2
0
R/W
DMA Request Signal Assert Condition
1
SET1
0
R/W
Sets DMA request signal assert condition.
0
SET0
0
R/W
000: Not output
001: FIFO remained data is 1/4 or less of FIFO capacity.
010: FIFO remained data is 1/2 or less of FIFO capacity.
011: FIFO remained data is 3/4 or less of FIFO capacity.
100: FIFO remained data is 1 byte or more.
101: FIFO remained data is 1/4 or more of FIFO capacity.
110: FIFO remained data is 1/2 or more of FIFO capacity.
111: FIFO remained data is 3/4 or more of FIFO capacity.
Rev.1.00 Jan. 10, 2008 Page 1208 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.4
Operation
The multimedia card is an external storage media that can be easily connected or disconnected.
The MMCIF operates in MMC mode.
Insert a card and supply power to it. Then operate the MMCIF by applying the transfer clock after
setting an appropriate transfer clock frequency.
Do not connect or disconnect the card during command sequence execution or in the data busy
state.
24.4.1
Operations in MMC Mode
MMC mode is an operating mode in which the transfer clock is output from the MMCCLK pin,
command transmission/response receive occurs via the MMCCMD pin, and data is
transmitted/received via the MMCDAT pin. In this mode the next command can be issued while
data is being transmitted/received.
This feature is efficient for multiple block or stream transfer. In this case, the next command is the
CMD12 command, which aborts the current command sequence.
In MMC mode, broadcast commands that simultaneously issue commands to multiple cards are
supported. After information of the inserted cards is recognized by a broadcast command, a
relative address is given to each card. One card is selected by the relative address, other cards are
deselected, and then various commands are issued to the selected card.
Commands in MMC mode are basically classified into three types: broadcast, relative address, and
flash memory operation commands. The card can be operated by issuing these commands
appropriately according to the card state.
Rev.1.00 Jan. 10, 2008 Page 1209 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(1)
Operation of Broadcast Commands
CMD0, CMD1, CMD2, and CMD4 are broadcast commands. These commands and the CMD3
command comprise a sequence assigning relative addresses to individual cards. In this sequence,
the CMD output format is open drain, and the command response is wired-OR. During the
issuance of this command sequence, the transfer clock frequency should be set to a sufficiently
low value.
• All cards are initialized to the idle state by CMD0.
• The operation condition registers (OCR) of all cards are read via wired-OR and cards that
cannot operate are deactivated by CMD1.
The cards that are not deactivated enter the ready state.
• The card identifications (CID) of all cards in the ready state are read via wired-OR by CMD2.
Each card compares it's CID and data on the MMCCMD, and if they are different, the card
aborts the CID output. Only one card in which the CID can be entirely output enters the
acknowledge state. When the R2 response is necessary, set CTOCR to H'01.
• A relative address (RCA) is given to the card in the acknowledge state by CMD3.
The card to which the RCA is given enters the standby state.
• By repeating CMD2 and CMD3, RCAs are given to all cards in the ready state to make them
enter the standby state.
(2)
Operation of Relative Address Commands
CMD7, CMD9, CMD10, CMD13, CMD15, CMD39, and CMD55 are relative address commands
that address the card by RCA. The relative address commands are used to read card administration
information and original information, and to change the specific card states.
CMD7 sets one addressed card to the transfer state, and the other cards to the standby state. Only
the card in the transfer state can execute flash-memory operation commands, other than broadcast
or relative-address commands.
Rev.1.00 Jan. 10, 2008 Page 1210 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(3)
Operation of Commands Not Requiring Command Response
Some broadcast commands do not require a command response.
Figure 24.3 shows an example of the command sequence for commands that do not require a
command response.
Figure 24.4 shows the operational flow for commands that do not require a command response.
• Make settings to issue the command.
• Set the CMDSTART bit in CMDSTRT to 1 to start command transmission. MMCCMD must
be kept driven until the end bit output is completed.
• The end of the command sequence is detected by poling the BUSY flag in CSTR or by the
command transmit end interrupt (CMDI).
Input/output pins
MMCCLK
MMCCMD
Command output (48 bits)
MMCDAT
CMDSTRT
(CMDSTART)
Command transmission
started
Command transmission
ended
Cleared by
software
INTSTR0
(CMDI)
CSTR
(CWRE)
Command transmission period
(BUSY)
Command sequence period
(REQ)
Figure 24.3 Example of Command Sequence for Commands
Not Requiring Command Response
Rev.1.00 Jan. 10, 2008 Page 1211 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Set command data in CMDR0 to CMDR4
Set command type in CMDTYR
Set command response type in RSPTYR
Set the CMDSTART bit in CMDSTRT to 1
(CMDI) interrupt detected?
No
Yes
End of command sequence
Figure 24.4 Example of Operational Flow for Commands
Not Requiring Command Response
(4)
Operation of Commands without Data Transfer
Broadcast, relative address, and flash memory operation commands include a number of
commands that do not include data transfer. Such commands execute the desired data transfer
using command arguments and command responses. For a command that is related to timeconsuming processing such as flash memory write/erase, the card indicates the data busy state via
the MMCDAT.
Figures 24.5 and 24.6 show examples of the command sequence for commands without data
transfer.
Figure 24.7 shows the operational flow for commands without data transfer.
• Make settings to issue the command.
• Set the CMDSTART bit in CMDSTRT to 1 to start command transmission.
Command transmission completion can be confirmed by the command transmit end interrupt
(CMDI).
Rev.1.00 Jan. 10, 2008 Page 1212 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
• The command response is received from the card.
If the card returns no command response, the command response is detected by the command
timeout error (CTERI).
• The end of the command sequence is detected by poling the BUSY flag in CSTR or by the
command response receive end interrupt (CRPI).
• Check whether the state is data busy through the DTBUSY bit in CSTR. If data busy is
detected, the end of the data busy state is then detected through the data busy end interrupt
(DBSYI).
• Write the CMDOFF bit to 1, if a CRC error (CRCERI) or a command timeout error (CTERI)
occurs.
• The MMCCMD and MMCDAT pins go to the high impedance state when the MMCIF and the
MMC card do not drive the bus and the input level of these pins is high because they are
pulled-up internally.
Input/output pins
MMCCLK
MMCCMD
MMCDAT
CMDSTRT
(CMDSTART)
Command output (48 bits)
Command response
reception
Command transmission
started
(No busy state)
Response reception
completed
INTSTR0
(CMDI)
(CRPI)
(DBSYI)
CSTR
(CWRE)
(BUSY)
Command transmission period
Command sequence execution period
(DTBUSY_TU)
(DTBUSY)
(REQ)
Figure 24.5 Example of Command Sequence for Commands without Data Transfer
(No Data Busy State)
Rev.1.00 Jan. 10, 2008 Page 1213 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
MMCCMD
Command output (48 bits)
Command response
reception
(Busy state)
MMCDAT
CMDSTRT
(CMDSTART)
Command transmission
started
Response reception
completed
INTSTR0
(CMDI)
(CRPI)
Busy state
ends
(DBSYI)
CSTR
(CWRE)
Command transmission
period
(BUSY)
Command sequence execution period
(DTBUSY_TU)
(DTBUSY)
Data busy period
(REQ)
Figure 24.6 Example of Command Sequence for Commands without Data Transfer
(with Data Busy State)
Rev.1.00 Jan. 10, 2008 Page 1214 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Set command data in
CMDR0 to CMDR4
Set command type in CMDTYR
Set command response type
in RSPTYR
Write 1 to CMDSTRT
Yes
CRCERI
interrupt detected?
No
CRPI
interrupt detected?
No
Yes
R1b
response?
No
Yes
DTBUSY
detected?
Yes
No
DBSYI
interrupt detected?
No
CTERI interrupt
detected?
No
Yes
Write 1 to CMDOFF
Yes
End of command sequence
Figure 24.7 Example of Operational Flow for Commands without Data Transfer
Rev.1.00 Jan. 10, 2008 Page 1215 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(5)
Commands with Read Data
Flash memory operation commands include a number of commands involving read data. Such
commands confirm the card status by the command argument and command response, and receive
card information and flash memory data from the MMCDAT pin.
In multiple block transfer, two transfer methods can be used; one is open-ended and another one is
pre-defined. Open-ended operation is suspended for each block transfer and an instruction to
continue or end the command sequence is waited for. For pre-defined operation, the block number
of the transmission is set before transfer.
When the FIFO is full between blocks in multiple block transfer, the command sequence is
suspended. Once the command sequence is suspended, process the data in FIFO if necessary
before allowing the command sequence to continue.
Note: In multiple block transfer, when the command sequence is ended (the CMDOFF bit is
written to 1) before command response reception (CRPI), the command response may not
be received correctly. Therefore, to receive the command response correctly, the command
sequence must be continued (set the RD_CONT bit to 1) until the command response
reception ends.
Figures 24.8 to 24.11 show examples of the command sequence for commands with read data.
Figures 24.12 to 24.14 show the operational flows for commands with read data.
• Make settings to issue the command, and clear FIFO.
• Set the CMDSTART bit in CMDSTRT to 1 to start command transmission. MMCCMD must
be kept driven until the end bit output is completed.
Command transmission completion can be confirmed by the command transmit end interrupt
(CMDI).
• The command response is received from the card.
If the card does not return the command response, the command response is detected by the
command timeout error (CTERI).
• Read data is received from the card.
• The inter-block suspension in multiple block transfer and suspension by the FIFO full are
detected by the data transfer end interrupt (DTI) and FIFO full interrupt (FFI), respectively.
To continue the command sequence, the RD_CONTI bit in OPCR should be set to 1. To end
the command sequence, the CMDOFF bit in OPCR should be set to 1, and CMD12 should be
issued. Unless the sequence is suspended in pre-defined multiple block transfer, CMD12 is not
needed.
Rev.1.00 Jan. 10, 2008 Page 1216 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
• The end of the command sequence is detected by poling the BUSY flag in CSTR, by the data
transfer end interrupt (DTI) or pre-defined multiple block transfer end (BTI).
• Write the CMDOFF bit to 1 if a CRC error (CRCERI) or a command timeout error (CTERI)
occurs in the command response reception.
• Clear the FIFO by writing the CMDOFF bit to 1, when CRC error (CRCERI) and data timeout
error (DTERI) occurs in the read data reception.
Input/output pins
MMCCLK
CMD17 (READ_SINGLE_BLOCK)
MMCCMD
Command response
Command
MMCDAT
CMDSTRT
(CMDSTART)
Read data
Command
transmission
started
OPCR
(RD_CONTI)
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(FFI)
CSTR
(CWRE)
(BUSY)
Single block read command execution sequence
(FIFO_FULL)
(REQ)
Figure 24.8 Example of Command Sequence for Commands with Read Data
(Block Size ≤ FIFO Size)
Rev.1.00 Jan. 10, 2008 Page 1217 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
Transfer clock
transmission halted
CMD17 (READ_SINGLE_BLOCK)
MMCCMD
Command
Block data
reception suspended
Command response
MMCDAT
CMDSTRT
(CMDSTART)
OPCR
Command
transmission
started
Read data
Transfer clock
transmission resumed
Block data
reception resumed
Read data
(RD_CONTI)
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(FFI)
Reading data
from FIFO
CSTR
(CWRE)
(BUSY)
Single block read command execution sequence
(FIFO_FULL)
(REQ)
Figure 24.9 Example of Command Sequence for Commands with Read Data
(Block Size > FIFO Size)
Rev.1.00 Jan. 10, 2008 Page 1218 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
Transfer clock
transmission halted
CMD12
(STOP_TRANSMISSION)
CMD18 (READ_MULTIPLE_BLOCK)
MMCCMD
MMCDAT
CMDSTRT
(CMDSTART)
OPCR
Command Command
response
Read data
Transfer clock
transmission resumed
Read data
Command
transmission started
Command
Read data
Command
response
Block data
reception ended
(RD_CONTI)
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(FFI)
(BTI)
CSTR
(CWRE)
(BUSY)
Multiblock read command execution sequence
Stop command
execution sequence
(FIFO_FULL)
(REQ)
Figure 24.10 Example of Command Sequence for Commands with Read Data
(Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1219 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output
pins
MMCCLK
Transfer clock Transfer clock
transmission transmission resumed
halted
MMCCMD
Command
response
Data reception Data reception
resumed
suspended
Read data
MMCDAT
CMDSTRT
(CMDSTART)
CMD12
(STOP_TRANSMISSION)
CMD11 (READ_DAT_UNTIL_STOP)
Command
Command
transmission
started
Transfer clock
transmission resumed
Command Command
response
Read data
Read data
OPCR
(RD_CONTI)
Data reception ended
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(FFI)
Read data from FIFO
CSTR
(CWRE)
(BUSY)
Stream read command execution sequence
Stop command
execution sequence
(FIFO_FULL)
(REQ)
Figure 24.11 Example of Command Sequence for Commands with Read Data
(Stream Transfer)
Rev.1.00 Jan. 10, 2008 Page 1220 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the size of block
for transfer in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Execute CMD17
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
No
CRPI inte rrupt
detected?
Yes
Yes
No
No
CTERI interrupt
detected?
Read response register
No
Yes
Response status
normal?
Yes
Yes
DTERI interrupt
detected?
No
No
Cap ≥
Len - Cap × n (FFI)
Yes
Yes
CRCERI interrupt
detected?
No
Yes
DTERI interrupt
detected?
No
No
No
DTI interrupt
detected?
FFI interrupt
detected?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Yes
Read data from FIFO
Clear FIFO
Read data from FIFO
Set RD_CONTI to 1
End of command sequence
Legend:
Len:
Cap:
n (FFI):
Block length [bytes]
FIFO size [bytes]
Number of FIFO full interrupts (FFI) from the start of read sequence
Figure 24.12 Example of Operational Flow for Commands with Read Data
(Single Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1221 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Execute CMD18
(Set CMDR then CMDSTRT)
Yes
CRCERI interrupt
detected?
No
No
CRPI interrupt
detected?
Yes
No
CTERI interrupt
detected?
Read response register
No
Yes
Response status
normal?
Yes
1
2
Figure 24.13 Example of Operational Flow for Commands with Read Data (1)
(Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1222 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
DTERI interrupt
detected?
Yes
No
No
Cap ≥
Len (1 + n (DTI))
- Cap × n (FFI)
Yes
CRCERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
DTI interrupt
detected?
Yes
No
No
Read next block?
FFI interrupt
detected?
Yes
Yes
Read data from FIFO
Set RD_CONTI to 1
Read data from FIFO
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
Execute CMD12
Set CMDOFF to 1
Clear FIFO
End of command sequence
Legend:
Len:
Cap:
n (FFI):
n (DTI):
Block length [bytes]
FIFO size [bytes]
Number of FIFO full interrupts (FFI) from the start of read sequence
Number of data transfer end interrupts (DTI) from the start of read sequence
Figure 24.13 Example of Operational Flow for Commands with Read Data (2)
(Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1223 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Set the number of blocks
for transfer (TBNCR)
Execute CMD23
CMD23
normal end?
No
Yes
Execute CMD18
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
No
CTERI interrupt
detected?
Read response register
No
Yes
Response status
normal?
Yes
1
2
Figure 24.13 Example of Operational Flow for Commands with Read Data (3)
(Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1224 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
Yes
DTERI interrupt
detected?
No
Cap ≥
Len (1 + n (DTI))
- Cap × n (FFI)
No
Yes
Yes
CRCERI interrupt
detected?
No
Yes
DTERI interrupt
detected?
No
No
No
DTI interrupt
detected?
FFI interrupt
detected?
Yes
Yes
No
TBNCR value
= n (DTI)?
Yes
No
BTI interrupt
detected?
Yes
Read data from FIFO
Read data from FIFO
Set RD_CONTI to 1
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
Clear FIFO
End of command sequence
Legend:
Len:
Cap:
n (FFI):
n (DTI):
Block length [bytes]
FIFO size [bytes]
Number of FIFO full interrupts (FFI) from the start of read sequence
Number of data transfer end interrupts (DTI) from the start of read sequence
Figure 24.13 Example of Operational Flow for Commands with Read Data (4)
(Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1225 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Execute CMD11
(CMDR to CMDSTRT)
(CRCERI) interrupt
detected?
No
(CRPI) interrupt
detected?
Yes
Yes
No
No
(CTERI) interrupt
detected?
Read response register
No
Yes
Response status
normal ended?
Yes
Yes
(DTERI) interrupt
detected?
No
No
(FFI) interrupt
detected?
Yes
No
Data read
completed?
Yes
Read data from FIFO
Read data from FIFO
Set the RD_CONTI to 1
Set the CMDOFF to 1
Set the CMDOFF to 1
Execute CMD12
Execute CMD12
Set the CMDOFF to 1
Clear FIFO
End of command sequence
Figure 24.14 Example of Operational Flow for Commands with Read Data
(Stream Transfer)
Rev.1.00 Jan. 10, 2008 Page 1226 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
(6)
Commands with Write Data
Flash memory operation commands include a number of commands involving write data. Such
commands confirm the card status by the command argument and command response, and
transmit card information and flash memory data via the MMCDAT pin. For a command that is
related to time-consuming processing such as flash memory write, the card indicates the data busy
state via the MMCDAT pin.
In multiple block transfer, two transfer methods can be used; one is open-ended and the other is
pre-defined. Open-ended operation is suspended for each block transfer and an instruction to
continue or end the command sequence is waited for. For pre-defined operation, the block number
of the transmission is set before transfer.
When the FIFO is full between blocks in multiple block transfer, the command sequence is
suspended. Once the command sequence is suspended, process the data in FIFO if necessary
before allowing the command sequence to continue.
Figures 24.15 to 24.18 show examples of the command sequence for commands with write data.
Figures 24.19 to 24.21 show the operational flows for commands with write data.
• Make settings to issue a command, and clear FIFO.
• Set the CMDSTART bit in CMDSTRT to 1 to start command transmission. MMCCMD must
be kept driven until the end bit output is completed.
• Command transmission completion can be confirmed by the command transmit end interrupt
(CMDI).
• The command response is received from the card.
• If the card returns no command response, the command response is detected by the command
timeout error (CTERI).
• Set the write data to FIFO.
• Set the DATAEN bit in OPCR to 1 to start write data transmission. MMCDAT must be kept
driven until the end bit output is completed.
• Inter-block suspension in multiple block transfer and suspension according to the FIFO empty
are detected by the data response interrupt (DRPI) and FIFO empty interrupt (FEI),
respectively. To continue the command sequence, set the next data to FIFO and set the
DATAEN bit in OPCR to 1. To end the command sequence, set the CMDOFF bit in OPCR to
1 and issue CMD12. Unless the sequence is suspended in pre-defined multiple block transfer,
CMD12 is not needed.
Rev.1.00 Jan. 10, 2008 Page 1227 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
• The end of the command sequence is detected by poling the BUSY flag in CSTR, data transfer
end interrupt (DTI), data response interrupt (DRPI), or pre-defined multiple block transfer end
(BTI).
• The data busy state is checked through DTBUSY in CSTR. If the card is in data busy state, the
end of the data busy state is detected by the data busy end interrupt (DBSYI).
• Write the CMDOFF bit to 1 if a CRC error (CRCERI) or a command timeout error (CTERI)
occurs in the command response reception.
• Write the CMDOFF bit to 1 if a CRC error (CRCERI) or a data timeout error (DTERI) occurs
in the write data transmission.
Note: In a write to the card by stream transfer, the MMCIF continues data transfer to the card
even after a FIFO empty interrupt is detected. In this case, complete the command
sequence after at least 24 transfer clock cycles.
Rev.1.00 Jan. 10, 2008 Page 1228 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
CMD24 (WRITE_SINGLE_BLOCK)
MMCCMD
Command
Command
response
MMCDAT
CMDSTRT
(CMDSTART)
Command
transmission
started
Status
Write data
Busy
OPCR
(DATAEN)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(DRPI)
(DBSYI)
(FEI)
CSTR
(CWRE)
(BUSY)
Single block write command execution sequence
(FIFO_EMPTY)
(DTBUSY)
(DTBUSY_TU)
(REQ)
Figure 24.15 Example of Command Sequence for Commands with Write Data
(Block Size ≤ FIFO Size)
Rev.1.00 Jan. 10, 2008 Page 1229 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
CMD24 (WRITE_SINGLE_BLOCK)
MMCCMD
Transfer clock
transmission resumed
Command
Command
response
MMCDAT
Transfer clock
transmission
halted
Command
transmission
started
CMDSTRT
Write data
Write data
Busy
Block data
Block data
transmission transmission
suspended
resumed
(CMDSTART)
Writing data to FIFO
OPCR
(DATAEN)
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(DRPI)
(DBSYI)
(FEI)
CSTR
(CWRE)
(BUSY)
Single block write command execution sequence
(FIFO_EMPTY)
(DTBUSY)
(DTBUSY_TU)
(REQ)
Figure 24.16 Example of Command Sequence for Commands with Write Data
(Block Size > FIFO Size)
Rev.1.00 Jan. 10, 2008 Page 1230 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
CMD12(STOP_TRANSMISSION)
CMD25 (WRITE_MULTIPE_BLOCK)
MMCCMD
Command
MMCDAT
CMDSTRT
(CMDSTART)
OPCR
(DATAEN)
Command
response
Write data
Status
Write data
Write data
Status
Command
Command
response
Command
transmission
started
Block data
transmission
started
Next block data
transmission
started
Block data
reception
ended
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(DRPI)
(DBSYI)
(FEI)
CSTR
(CWRE)
(BUSY)
Stop-command
execution sequence
(FIFO_EMPTY)
(DTBUSY)
(DTBUSY_TU)
(REQ)
Figure 24.17 Example of Command Sequence for Commands with Write Data
(Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1231 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Input/output pins
MMCCLK
Transfer
clock
transmission
halted
CMD20 (WRITE_DAT_UNTIL_STOP)
Transfer
clock
transmission
resumed
Transfer
clock
transmission
halted
Transfer
clock
transmission
resumed
CMD12(STOP_TRANSMISSION)
MMCCMD
Command
Data
Data
Command transmission transmission
response suspended resumed
Data
transmission
suspended
Command
Command response
MMCDAT
CMDSTRT
(CMDSTART)
Command
transmission
started
Busy
Write data
Write data
Writing data to FIFO
OPCR
(DATAEN)
Write data
Data
transmission
ended
(CMDOFF)
INTSTR0
(CMDI)
(CRPI)
(DTI)
(DRPI)
(DBSYI)
(FEI)
CSTR
(CWRE)
(BUSY)
Stream write command execution sequence
Stop command
execution sequence
(FIFO_EMPTY)
(DTBUSY)
(DTBUSY_TU)
(REQ)
Figure 24.18 Example of Command Sequence for Commands with Write Data
(Stream Transfer)
Rev.1.00 Jan. 10, 2008 Page 1232 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the size of block
for transfer in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Execute CMD24
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
No
CRPI interrupt
detected?
Yes
Yes
No
No
CTERI interrupt
detected?
Read response register
Response status
normal?
Yes
No
Yes
Write data to FIFO
Set DATAEN to 1
No
FEI interrupt
detected?
Yes
No
Cap × n (FEI) ≥ Len
Yes
No
DTI interrupt
detected?
Yes
Yes
CRCERI interrupt
detected?
No
Yes
DTERI interrupt
detected?
No
No
Set CMDOFF to 1
DRPI interrupt
detected?
Yes
No
DTBUSY detected?
Yes
No
DBSYI interrupt
detected?
Yes
End of command sequence
Legend:
Len:
Block length [bytes]
Cap:
FIFO size [bytes]
n (FEI): Number of FIFO empty interrupts (FEI)
from the start of read sequence
Figure 24.19 Example of Operational Flow for Commands with Write Data
(Single Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1233 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Execute CMD25
(Set CMDR then CMDSTRT)
Yes
CRCERI interrupt
detected?
No
CRPI interrupt
detected?
No
Yes
No
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
Yes
1
2
Figure 24.20 (1) Example of Operational Flow for Commands with Write Data
(Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1234 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
Write data to FIFO
*
Set DATAEN to 1
No
FEI interrupt
detected?
Yes
No
No
Cap × n (FEI)
- Len (1 + n (DTI))
≥ Len
Yes
DTI interrupt
detected?
Yes
Yes
CRCERI interrupt
detected?
No
Yes
DTERI interrupt
detected?
No
No
DRPI interrupt
detected?
Yes
DTBUSY detected?
No
Yes
No
DBSYI interrupt
detected?
Yes
No
Next block write?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
End of command sequence
Legend:
Len:
Block length [bytes]
Cap:
FIFO size [bytes]
n (FEI): Number of FIFO empty interrupts (FEI) from the start of read sequence
n (DRPI): Number of data response interrupts (DRPI) from the start of write sequence
Note: * Write block size of data (if block size < or = FIFO size) or FIFO size of data (if block size > FIFO size).
Figure 24.20 (2) Example of Operational Flow for Commands with Write Data
(Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1235 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Set the number of
blocks in TBNCR
Execute CMD 23
CMD 23
normal end?
No
Yes
Execute CMD25
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
No
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
Yes
1
2
Figure 24.20 (3) Example of Operational Flow for Commands with Write Data
(Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1236 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
Write data to FIFO
*
Set DATAEN to 1
No
FEI interrupt
detected?
Yes
No
No
Cap × n (FEI)
- Len (1 + n (DRPI))
≥ Len
Yes
DTI interrupt
detected?
Yes
Yes
CRCERI interrupt
detected?
No
Yes
DTERI interrupt
detected?
No
No
DRPI interrupt
detected?
Yes
DTBUSY detected?
No
Yes
No
DBSYI interrupt
detected?
Yes
No
TBNCR = n(DRPI)?
Yes
No
BTI interrupt
detected?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
End of command sequence
Legend:
Len:
Cap:
n (FEI):
n (DRPI):
Block length [bytes]
FIFO size [bytes]
Number of FIFO empty interrupts (FEI) from the start of read sequence
Number of data response interrupts (DRPI) from the start of write sequence
Note: * Write block size of data (if block size < or = FIFO size) or FIFO size of data (if block size > FIFO size).
Figure 24.20 (4) Example of Operational Flow for Commands with Write Data
(Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1237 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Execute CMD20
(Set CMDR then CMDSTRT)
Yes
CRCERI interrupt
detected?
No
CRPI interrupt
detected?
No
Yes
No
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
Yes
Write data to FIFO
Set DATAEN to 1
No
FEI interrupt
detected?
Yes
No
All data written
to FIFO?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
End of command sequence
Figure 24.21 Example of Operational Flow for Commands with Write Data
(Stream Transfer)
Rev.1.00 Jan. 10, 2008 Page 1238 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.5
MMCIF Interrupt Sources
Table 24.7 lists the MMCIF interrupt sources. The interrupt sources are classified into four groups,
and four interrupt vectors are assigned. Each interrupt source can be individually enabled by the
enable bits in INTCR0 to INTCR2. Disabled interrupt sources do not set the flag.
Table 24.7 MMCIF Interrupt Sources
Name
Interrupt source
Interrupt flag
FSTAT
FIFO empty
FEI
FIFO full
FFI
Data response
DRPI
Data transfer end
DTI
Command response receive end
CRPI
Command transmit end
CMDI
Data busy end
DBSYI
CRC error
CRCERI
Data timeout error
DTERI
Command timeout error
CTERI
FIFO ready
FRDYI
TRAN
ERR
FRDY
Rev.1.00 Jan. 10, 2008 Page 1239 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.6
Operations when Using DMA
24.6.1
Operation in Read Sequence
In order to transfer data in FIFO with the DMAC, set MMCIF (DMACR) after setting the
DMAC*. Transmit the read command after setting DMACR.
Figure 24.22 to 24.24 shows the operational flow for a read sequence.
•
•
•
•
•
Clear FIFO and make settings in DMACR.
Read command transmission is started.
Command response is received from the card.
Read data is received from the card.
After the read sequence, data remains in FIFO. If necessary, write 100 to SET[2:0] in DMACR
to read all data from FIFO.
• Confirm that the DMAC transfer is completed and set the DMAEN bit in DMACR to 0.
• Set the CMDOFF bit to 1 and clear DMACR to H'00 if a CRC error (CRCERI) or a command
timeout error (CTERI) occurs in the command response reception.
• Set the CMDOFF bit to 1, clear DMACR to H'00, and clear FIFO if a CRC error (CRCERI) or
a data timeout error (DTERI) occurs in the read data reception.
When using DMA, next block read is resumed automatically when the AUTO bit in DMACR is
set to 1 and normal read is detected after the block transfer end of a pre-defined multiple block
transfer. Figure 24.25 shows the operational flow for a pre-defined multiple block read using automode.
•
•
•
•
•
•
•
Clear FIFO.
Set the block number to (TBNCR).
Set DMACR.
Read command transmission is started.
Command response is received from the card.
Read data is received from the card.
Detect the command timeout error (CTERI) if a command response is not received from the
card.
• The end of the command sequence is detected by poling the BUSY flag in CSTR or through
the pre-defined multiple block transfer end flag (BTI).
Rev.1.00 Jan. 10, 2008 Page 1240 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
• An error in a command sequence (during data reception) is detected through the CRC error
flag or data timeout flag. When these flags are detected, set the CMDOFF bit in OPCR to 1,
issue CMD12 and suspend the command sequence.
• The data remains in FIFO after the read sequence end. Set the SET[2:0] bits in DMACR to 100
to read all data in FIFO if necessary.
• Confirm the DMA transfer end and clear the DMAEN bit in DMACR to 0.
• Set the CMDOFF bit to 1 and clear DMACR to H'00 if a CRC error (CRCERI) or a command
timeout error (CTERI) occurs in the command response reception.
• Set the CMDOFF bit to 1, clear DMACR to H'00, and clear FIFO if a CRC error (CRCERI) or
a data timeout error (DTERI) occurs in the read data reception.
Notes: 1. In multiple block transfer, when the command sequence is ended (the CMDOFF bit is
written to 1) before command response reception (CRPI), the command response may
not be received correctly. Therefore, to receive the command response correctly, the
command sequence must be continued (set the RD_CONT bit to 1) until the command
response reception ends.
2. Access from the DMAC to FIFO must be done in bytes or words.
Rev.1.00 Jan. 10, 2008 Page 1241 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the size of block
for transfer in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
Execute CMD17
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
CRCERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
DTI interrupt
detected?
Yes
Set DMACR to H'84
Set CMDOFF to 1
Set CMDOFF to 1
Clear DMACR to H'00
Clear DMACR to H'00
Clear FIFO
No
DMA transfer end?
Yes
Clear DMACR to H'00
End of command sequence
Figure 24.22 Example of Read Sequence Flow (Single Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1242 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
Execute CMD 18
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
1
2
Figure 24.23 (1) Example of Read Sequence Flow (Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1243 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
CRCERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
DTI interrupt
detected?
Yes
No
Next block read?
Yes
Set RD_CONTI to 1
Set DMACR to H'84
No
DMA transfer end?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
Execute CMD12
Clear DMACR to H'00
Clear DMACR to H'00
Set CMDOFF to 1
Clear DMACR to H'00
Clear FIFO
End of command sequence
Figure 24.23 (2) Example of Read Sequence Flow (Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1244 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Set the number of
blocks in TBNCR
Execute CMD 23
CMD 23
normal end?
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
Execute CMD 18
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
1
2
Figure 24.23 (3) Example of Read Sequence Flow (Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1245 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
CRCERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
DTI interrupt
detected?
Yes
No
TBNCR = n (DTI)?
Yes
Set RD_CONTI to 1
No
BTI interrupt
detected?
Yes
Set DMACR to H'84
No
DMA transfer end?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
Clear DMACR to H'00
Clear DMACR to H'00
Clear DMACR to H'00
Clear FIFO
End of command sequence
Legend:
n (DTI): Number of data transfer end interrupts (DTI) from the start of read sequence
Figure 24.23 (4) Example of Read Sequence Flow (Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1246 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Configure the DMAC
Set DMACR (in the MMCIF)
Execute CMD11
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
DTERI interrupt
detected?
Yes
No
No
DMA transfer end?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
Execute CMD12
Set CMDOFF to 1
Clear FIFO
Clear DMACR to H'00
End of command sequence
Figure 24.24 Example of Operational Flow for Stream Read Transfer
Rev.1.00 Jan. 10, 2008 Page 1247 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Set the number of blocks
for transfer in TBNCR
Execute CMD 23
CMD 23
normal end?
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
(Specify auto mode)
Execute CMD 18
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
Yes
No
Yes
1
2
Figure 24.25 (1) Example of Operational Flow for Auto-mode
Pre-defined Multiple Block Read Transfer
Rev.1.00 Jan. 10, 2008 Page 1248 of 1658
REJ09B0261-0100
No
24. Multimedia Card Interface (MMCIF)
1
2
CRCERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
BTI interrupt
detected?
Yes
Set DMACR to H'84
No
DMA transfer end?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
Clear DMACR to H'00
Clear DMACR to H'00
Clear DMACR to H'00
Clear FIFO
End of command sequence
Figure 24.25 (2) Example of Operational Flow for Auto-mode
Pre-defined Multiple Block Read Transfer
Rev.1.00 Jan. 10, 2008 Page 1249 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.6.2
Operation in Write Sequence
To transfer data to FIFO with the DMAC, set MMCIF (DMACR) after setting the DMAC. Then,
start transfer to the card after a FIFO ready interrupt. Figure 24.26 to 24.28 shows the operational
flow for a write sequence.
•
•
•
•
Clear FIFO.
Transmit write command.
Make settings in DMACR, and set write data to FIFO.
Check whether data exceeding the DMACR setting condition is written to FIFO by a FIFO
ready interrupt (FRDYI) or DMAC has transferred all data to FIFO. Then set 1 to the
DATAEN bit in OPCR to start write-data transmission.
In a write to the card by stream transfer, the MMCIF continues data transfer to the card even
after a FIFO empty interrupt is detected. Therefore, complete the write sequence after at least
24 card clock cycles.
• Confirm that the DMAC transfer is completed and be sure to clear the DMAEN bit in
DMACR to 0.
• Set the CMDOFF bit to 1 if a CRC error (CRCERI) or a data timeout error (DTERI) occurs in
the command response reception.
• Set the CMDOFF bit to 1, clear FIFO, and clear DMACR to H'00 if a CRC error (CRCERI) or
a data timeout error (DTERI) occurs in the write data transmission.
When using DMA, an inter-block interrupt can be processed by hardware in pre-defined multiple
block transfer by setting the AUTO bit in DMACR to 1. Figure 24.29 shows the operational flow
for a pre-defined multiple block write sequence using auto-mode.
•
•
•
•
•
Clear FIFO.
Set the block number to TBNCR.
Set the CMDSTART bit in CMDSTRT to 1 and begin command transmission.
Command response is received from the card.
A command timeout error (CTERI) is detected if a command response is not received from the
card.
• Set DMACR and write data in FIFO.
• Confirm that the DMA transfer has been completed and clear the DMAEN bit in DMACR to
0.
• Detect the end of the command sequence by poling the BUSY flag in CSTR or through the
pre-defined multiple block transfer end flag (BTI).
Rev.1.00 Jan. 10, 2008 Page 1250 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
• An error in a command sequence (during data transmission) is detected through the CRC error
flag (CRCERI) or data timeout error flag. When these flags are detected, set the CMDOFF bit
in OPCR to 1, issue CMD12 (Stop Tran in SPI mode), and suspend the command sequence.
• Confirm there is no data busy state. Detect end of the data busy state by the data busy end flag
(DBSYI).
• Detect whether in the data busy state through the DTBUSY bit in CSTR after data transfer end
(after DRPI is detected). If still in the data busy state, wait for the DBSY flag to confirm that
the data busy state has ended.
• Set the CMDOFF bit to 1 and end the command sequence.
• Set the CMDOFF bit to 1 and clear DMACR to H'00 if a CRC error (CRCERI) or a command
timeout error (CTERI) occurs in the command response reception.
• Set the CMDOFF bit to 1, clear DMACR to H'00, and clear FIFO if a CRC error (CRCERI) or
a data timeout error (DTERI) occurs in the write data transmission.
Note: Access from the DMAC to FIFO must be done in bytes or words.
Rev.1.00 Jan. 10, 2008 Page 1251 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the size of block
for transfer in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Execute CMD 24
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
1
2
Figure 24.26 (1) Example of Write Sequence Flow (Single Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1252 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
No
2
FRDYI interrupt
detected or DMA transfer
end?
Yes
Set the DATAEN bit to 1
No
DMA transfer end?
Yes
Clear DMACR to H'00
No
DTI interrupt
detected?
Yes
CRCERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
DRPI interrupt
detected?
Set CMDOFF to 1
Yes
No
DTBUSY detected?
Yes
No
DBSYI interrupt
detected?
Yes
End of command sequence
Figure 24.26 (2) Example of Write Sequence Flow (Single Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1253 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Execute CMD 25
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
1
2
Figure 24.27 (1) Example of Write Sequence Flow (Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1254 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
No
2
FRDYI interrupt
detected or DMA transfer
end?
Yes
Set DATAEN to 1
No
DMA transfer end?
Yes
Clear DMACR to H'00
No
DTI interrupt
detected?
Yes
CRCERI
or WRERI interrupt
detected?
No
DTERI interrupt
detected?
No
No
Yes
Yes
DRPI interrupt
detected?
Yes
No
DTBUSY detected?
Yes
No
DBSYI interrupt
detected?
Yes
No
Next block write?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12 or Stop Tran
Execute CMD12 or Stop Tran
Clear DMACR to H'00
Clear FIFO
End of command sequence
Figure 24.27 (2) Example of Write Sequence Flow (Open-ended Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1255 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Set the number of
blocks in TBNCR
Execute CMD 23
CMD 23
normal end?
No
Yes
Execute CMD 25
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
1
2
Figure 24.27 (3) Example of Write Sequence Flow (Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1256 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
No
2
FRDYI interrupt
detected or DMA transfer
end?
Yes
Set DATAEN to 1
No
DMA transfer end?
Yes
Clear DMACR to H'00
No
DTI interrupt
detected?
Yes
CRCERI
or WRERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
DRPI interrupt
detected?
Yes
No
DTBUSY detected?
Yes
No
DBSYI interrupt
detected?
Yes
No
TBNCR = n (DRPI)?
Yes
No
BTI interrupt
detected?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12 or Stop Tran
Clear DMACR to H'00
Clear FIFO
End of command sequence
Legend:
n (DRPI): Number of data response interrupts (DRPI) from the start of write sequence
Figure 24.27 (4) Example of Write Sequence Flow (Pre-defined Multiple Block Transfer)
Rev.1.00 Jan. 10, 2008 Page 1257 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Execute CMD 20
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal?
No
Yes
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
No
FRDYI interrupt
detected or DMA transfer
end?
Yes
Set DATAEN to 1
No
DMA transfer end?
Yes
Clear DMACR to H'00
No
FEI interrupt
detected?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12
End of command sequence
Figure 24.28 Example of Operational Flow for Stream Write Transfer
Rev.1.00 Jan. 10, 2008 Page 1258 of 1658
REJ09B0261-0100
No
24. Multimedia Card Interface (MMCIF)
Start of command sequence
Clear FIFO
Set the block size in TBCR
Execute CMD16
CMD16
normal end?
No
Yes
Set the number of
blocks in TBNCR
Execute CMD 23
CMD 23
normal end?
No
Yes
Execute CMD 25
(Set CMDR then CMDSTRT)
CRCERI interrupt
detected?
Yes
No
CRPI interrupt
detected?
No
Yes
CTERI interrupt
detected?
Read response register
Response status
normal ended?
No
Yes
No
Yes
Configure the DMAC
Set DMACR (in the MMCIF)
1
2
Figure 24.29 (1) Example of Operational Flow for Auto-mode
Pre-defined Multiple Block Write Transfer
Rev.1.00 Jan. 10, 2008 Page 1259 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
1
2
No
DMA transfer end?
Yes
Clear DMACR to H'00
CRCERI
or WRERI interrupt
detected?
Yes
No
DTERI interrupt
detected?
Yes
No
No
BTI interrupt
detected?
Yes
No
DTBUSY detected?
Yes
No
DBSYI interrupt
detected?
Yes
Set CMDOFF to 1
Set CMDOFF to 1
Set CMDOFF to 1
Execute CMD12 or Stop Tran
Clear DMACR to H'00
Clear FIFO
End of command sequence
Figure 24.29 (2) Example of Operational Flow for Auto-mode
Pre-defined Multiple Block Write Transfer
Rev.1.00 Jan. 10, 2008 Page 1260 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
24.7
Register Accesses with Little Endian Specification
When the little endian is specified, the access size for registers or that for memory where the
corresponding data is stored should be fixed. For example, if data read from the MMCIF with the
word size is written to memory and then it is read from memory with the byte size, data
misalignment occurs.
Rev.1.00 Jan. 10, 2008 Page 1261 of 1658
REJ09B0261-0100
24. Multimedia Card Interface (MMCIF)
Rev.1.00 Jan. 10, 2008 Page 1262 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Section 25 Audio Codec Interface (HAC)
The HAC, the audio codec digital controller interface, supports a subset of Audio Codec 97
(AC'97) Version 2.1. The HAC provides serial transmission to/reception from the AC97 codec.
Each channel of the HAC can be connected to a single audio codec device.
The HAC carries out data extraction from/insertion into audio frames. For data slots within both
receive and transmit frames, the PIO transfer by the CPU or the DMA transfer by the DMAC can
be used.
25.1
Features
The HAC has the following features:
•
•
•
•
•
•
•
•
Supports a subset of digital interface to a single AC'97 revision 2.1 Audio Codec
PIO transfer of status slots 1 and 2 in RX frames
PIO transfer of command slots 1 and 2 in TX frames
PIO transfer of data slots 3 and 4 in RX frames
PIO transfer of data slots 3 and 4 in TX frames
Selectable 16-bit or 20-bit DMA transfer of data slots 3 and 4 in RX frames
Selectable 16-bit or 20-bit DMA transfer of data slots 3 and 4 in TX frames
Accommodates various sampling rates by qualifying slot data with tag bits and monitoring the
TX frame request bits of RX frames
• Generates data ready, data request, overrun and underrun interrupts
• Supports cold reset, warm reset, and power-down mode
Rev.1.00 Jan. 10, 2008 Page 1263 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Figure 25.1 shows a block diagram of the HAC.
HAC receiver
HACn_SDIN
Internal bus interface (Reception)
Data[19:0]
Shift register for slot 1
CSAR RX buffer
Data[19:0]
Shift register for slot 2
CSDR RX buffer
Data[31:0]
Data[19:0]
Shift register for slot 3
PCML RX buffer
Data[19:0]
Shift register for slot 4
PCMR RX buffer
Control signal
HACn_BITCLK
Request signal
for slots 3 and 4
DMA request
Bit control signal
Interrupt request
Internal bus interface (Transmission)
HAC transmitter
Data[19:0]
HACn_SDOUT
Shift register for slot 1
CSAR TX buffer
Data[19:0]
Shift register for slot 2
CSDR TX buffer
Data[31:0]
Data[19:0]
Shift register for slot 3
PCML TX buffer
Data[19:0]
Shift register for slot 4
PCMR TX buffer
Control signal
HACn_SYNC
HACn_RES
DMA control
DMA request
Interrupt request
Note: n = 0 to 1
Figure 25.1 Block Diagram
Rev.1.00 Jan. 10, 2008 Page 1264 of 1658
REJ09B0261-0100
Peripheral bus
DMA control
25. Audio Codec Interface (HAC)
25.2
Input/Output Pins
Table 25.1 describes the HAC pin configuration.
Table 25.1 Pin Configuration
Pin Name
Pin Count
I/O
Function
HAC0_BITCLK
1
Input
Serial data clock
HAC0_SDIN
1
Input
RX frame serial input data
HAC0_SDOUT
1
Output
TX frame serial output data
HAC0_SYNC
1
Output
Frame sync
HAC1_BITCLK
1
Input
Serial data clock
HAC1_SDIN
1
Input
RX frame serial input data
HAC1_SDOUT
1
Output
TX frame serial output data
HAC1_SYNC
1
Output
Frame sync
HAC_RES
1
Output
Reset (negative logic signal) (common to channels
0 and 1)
Rev.1.00 Jan. 10, 2008 Page 1265 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3
Register Descriptions
The following shows the HAC registers. In this manual, the registers are not discriminated by the
channel.
Table 25.2 Register Configuration (1)
Channel Register Name
Abbrev.
R/W
P4
Address
Area 7
Address
Sync
Size Clock
0
Control and status register 0
HACCR0
R/W
H'FFE3 0008
H'1FE3 0008
32
Pck
0
Command/status address
register 0
HACCSAR0
R/W
H'FFE3 0020
H'1FE3 0020
32
Pck
0
Command/status data register 0
HACCSDR0
R/W
H'FFE3 0024
H'1FE3 0024
32
Pck
0
PCM left channel register 0
HACPCML0
R/W
H'FFE3 0028
H'1FE3 0028
32
Pck
0
PCM right channel register 0
HACPCMR0
R/W
H'FFE3 002C H'1FE3 002C 32
Pck
0
TX interrupt enable register 0
HACTIER0
R/W
H'FFE3 0050
Pck
0
TX status register 0
HACTSR0
R/W
H'FFE3 0054
H'1FE3 0054
32
Pck
0
RX interrupt enable register 0
HACRIER0
R/W
H'FFE3 0058
H'1FE3 0058
32
Pck
0
RX status register 0
HACRSR0
R/W
H'FFE3 005C H'1FE3 005C 32
Pck
0
HAC control register 0
HACACR0
R/W
H'FFE3 0060
H'1FE3 0060
32
Pck
1
Control and status register 1
HACCR1
R/W
H'FFE4 0008
H'1FE4 0008
32
Pck
1
Command/status address
register 1
HACCSAR1
R/W
H'FFE4 0020
H'1FE4 0020
32
Pck
1
Command/status data register 1
HACCSDR1
R/W
H'FFE4 0024
H'1FE4 0024
32
Pck
1
PCM left channel register 1
HACPCML1
R/W
H'FFE4 0028
H'1FE4 0028
32
Pck
1
PCM right channel register 1
HACPCMR1
R/W
H'FFE4 002C H'1FE4 002C 32
Pck
1
TX interrupt enable register 1
HACTIER1
R/W
H'FFE4 0050
H'1FE4 0050
32
Pck
1
TX status register 1
HACTSR1
R/W
H'FFE4 0054
H'1FE4 0054
32
Pck
1
RX interrupt enable register 1
HACRIER1
R/W
H'FFE4 0058
H'1FE4 0058
32
Pck
1
RX status register 1
HACRSR1
R/W
H'FFE4 005C H'1FE4 005C 32
Pck
1
HAC control register 1
HACACR1
R/W
H'FFE4 0060
Pck
Rev.1.00 Jan. 10, 2008 Page 1266 of 1658
REJ09B0261-0100
H'1FE3 0050
H'1FE4 0060
32
32
25. Audio Codec Interface (HAC)
Table 25.2 Register Configuration (2)
Channel Register Name
Abbrev.
Power-on
Reset by
PRESET
Pin/WDT/
H-UDI
Manual
Reset by
WDT/
Multiple
Exceptions
Sleep by
Sleep
Instruction
Module
Standby
Deep
Sleep
H'0000 0200 H'0000 0200 Retained
Retained
Retained
0
Control and status HACCR0
register 0
0
Command/status
address register 0
HACCSAR0 H'0000 0000 H'0000 0000 Retained
Retained
Retained
0
Command/status
data register 0
HACCSDR0 H'0000 0000 H'0000 0000 Retained
Retained
Retained
0
PCM left channel
register 0
HACPCML0 H'0000 0000 H'0000 0000 Retained
Retained
Retained
0
PCM right channel HACPCMR0 H'0000 0000 H'0000 0000 Retained
register 0
Retained
Retained
0
TX interrupt enable HACTIER0
register 0
H'0000 0000 H'0000 0000 Retained
Retained
Retained
0
TX status register
0
HACTSR0
H'F000 0000 H'F000 0000 Retained
Retained
Retained
0
RX interrupt
enable register 0
HACRIER0
H'0000 0000 H'0000 0000 Retained
Retained
Retained
0
RX status register
0
HACRSR0
H'0000 0000 H'0000 0000 Retained
Retained
Retained
0
HAC control
register 0
HACACR0
H'8400 0000 H'8400 0000 Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1267 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Channel Register Name
Abbrev.
Power-on
Reset by
PRESET
Pin/WDT/
H-UDI
Manual
Reset by
WDT/
Multiple
Exceptions
Sleep by
Sleep
Instruction
Module
Standby
Deep
Sleep
H'0000 0200 H'0000 0200 Retained
Retained
Retained
1
Control and status HACCR1
register 1
1
Command/status
address register 1
HACCSAR1 H'0000 0000 H'0000 0000 Retained
Retained
Retained
1
Command/status
data register 1
HACCSDR1 H'0000 0000 H'0000 0000 Retained
Retained
Retained
1
PCM left channel
register 1
HACPCML1 H'0000 0000 H'0000 0000 Retained
Retained
Retained
1
PCM right channel HACPCMR1 H'0000 0000 H'0000 0000 Retained
register 1
Retained
Retained
1
TX interrupt enable HACTIER1
register 1
H'0000 0000 H'0000 0000 Retained
Retained
Retained
1
TX status register
1
HACTSR1
H'F000 0000 H'F000 0000 Retained
Retained
Retained
1
RX interrupt
enable register 1
HACRIER1
H'0000 0000 H'0000 0000 Retained
Retained
Retained
1
RX status register
1
HACRSR1
H'0000 0000 H'0000 0000 Retained
Retained
Retained
1
HAC control
register 1
HACACR1
H'8400 0000 H'8400 0000 Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1268 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.1
Control and Status Register (HACCR)
HACCR is a 32-bit read/write register for controlling input/output and monitoring the interface
status.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
11
10
9
8
7
6
5
4
3
2
1
0
CDRT WMRT ⎯
⎯
⎯
⎯
ST
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
W
0
R
0
R
0
R
0
R
0
R
15
14
13
12
CR
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
W
Bit
Bit Name
Initial
Value
R/W
31 to 16
⎯
All 0
R
0
W
1
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
15
CR
0
R
Codec Ready
0: The HAC-connected codec is not ready.
1: The HAC-connected codec is ready.
14 to 12
⎯
All 0
R
Reserved
These bits are always read as 0. Write prohibited.
11
CDRT
0
W
HAC Cold Reset
Use a cold reset only after power-on, or only to exit
from the power-down mode by the power-down
command.
[Write]
0: Always write 0 to this bit before writing 1 again.
(When this bit is changed from 0 to 1, a cold reset is
performed.)
1: Performs a cold reset on the HAC-connected codec.
[Read]
Always read as 0.
Rev.1.00 Jan. 10, 2008 Page 1269 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Bit
Bit Name
Initial
Value
R/W
Description
10
WMRT
0
W
HAC Warm Reset
Use a warm reset only after power-up, or only to exit
from the power-down mode by the power-down
command.
[Write]
0: Always write 0 to this bit before writing 1 again.
(When this bit is changed from 0 to 1, a warm reset is
performed.)
1: Performs a warm reset on the HAC-connected
codec.
[Read]
Always read as 0.
9
⎯
1
R
Reserved
This bit is always read as 1. The write value should
always be 1.
8 to 6
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
5
ST
0
W
Start Transfer
[Write]
0: Stops data transmission/reception at the end of the
current frame. Do not take this action to terminate
transmission/reception in normal operation. When
terminating transmission/reception in normal
operation, refer to the following description.
1: Starts data transmission/reception.
[Read]
Always read as 0.
4 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
To place the off-chip codec device into the power-down mode, write 1 to bit 12 of the register
index 26 in the off-chip codec via the HAC. When entering the power-down mode, the off-chip
codec stops HAC_BITCLK and suspends the normal operation. The off-chip codec acts in the
same manner at power-on. To resume the normal operation, perform a cold reset or a warm reset
on the off-chip codec.
Rev.1.00 Jan. 10, 2008 Page 1270 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.2
Command/Status Address Register (HACCSAR)
HACCSAR is a 32-bit read/write register that specifies the address of the codec register to be read
/written. When requesting a write to/read from a codec register, write the command register
address to HACCSAR and set the ST bit in the HACCR register to 1. The HAC then transmits this
register address to the codec via slot 1.
After the codec has responded to a read request (HACRSR.STARY = 1), the status address
received via slot 1 can be read out from HACCSAR.
Bit:
Initial value:
R/W:
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
RW
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
12
CA0/
SA0
0
R/W
11
SLR
EQ3
0
R
10
SLR
EQ4
0
R
9
SLR
EQ5
0
R
8
SLR
EQ6
0
R
7
SLR
EQ7
0
R
6
SLR
EQ8
0
R
Initial value:
R/W:
15
14
13
CA3/ CA2/ CA1/
SA3 SA2 SA1
0
0
0
R/W R/W R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 20
⎯
All 0
R
Reserved
18
17
16
CA6/ CA5/ CA4/
SA6 SA5 SA4
0
0
0
R/W R/W R/W
5
4
3
2
SLR SLR SLR SLR
EQ9 EQ10 EQ11 EQ12
0
0
0
0
R
R
R
R
1
0
⎯
⎯
0
R
0
R
These bits are always read as 0. The write value should
always be 0.
19
RW
0
R/W
Codec Read/Write Command
0: Notifies the off-chip codec device of a write access to
the register specified in the address field (CA6/SA6
to CA0/SA0).
Write the data to HACCSDR in advance.
When HACACR.TX12_ATOMIC is 1, the HAC
transmits HACCSAR and HACCSDR as a pair in the
same TX frame.
When HACACR.TX12_ATOMIC is 0, transmission of
HACCSAR and HACCSDR in the same TX frame is
not guaranteed.
1: Notifies the off-chip codec device of a read access to
the register specified in the address field (CA6/SA6
to CA0/SA0).
Rev.1.00 Jan. 10, 2008 Page 1271 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Bit
Bit Name
Initial
Value
R/W
Description
18
CA6/SA6
0
R/W
17
CA5/SA5
0
R/W
Codec Control Register Addresses 6 to 0/Codec Status
Register Addresses 6 to 0
16
CA4/SA4
0
R/W
[Write]
15
CA3/SA3
0
R/W
Specify the address of the codec register to be written.
14
CA2/SA2
0
R/W
[Read]
13
CA1/SA1
0
R/W
12
CA0/SA0
0
R/W
Indicate the status address received via slot 1,
corresponding to the codec register whose data has
been returned in HACCSDR.
11
SLREQ3
0
R
Slot Requests 3 to 12
10
SLREQ4
0
R
9
SLREQ5
0
R
8
SLREQ6
0
R
Valid only in the RX frame. Indicate whether the codec
is requesting slot data in the next TX frame.
Automatically set by hardware, and correspond to bits
11 to 2 of slot 1 in the RX frame.
7
SLREQ7
0
R
6
SLREQ8
0
R
5
SLREQ9
0
R
4
SLREQ10
0
R
3
SLREQ11
0
R
2
SLREQ12
0
R
1, 0
⎯
All 0
R
0: Slot data is requested.
1: Slot data is not requested.
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1272 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.3
Command/Status Data Register (HACCSDR)
HACCSDR is a 32-bit read/write data register used for accessing the codec register. Write the
command data to HACCSDR and set the ST bit in the HACCR register to 1. The HAC then
transmits the data to the codec via slot 2.
After the codec has responded to a read request (HACRSR.STDRY = 1), the status data received
via slot 2 can be read out from HACCSDR. In both read and write, HACCSAR stores the related
codec register address.
Bit:
Initial value:
R/W:
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
9
8
7
6
5
4
CD11/ CD10/ CD9/ CD8/ CD7/ CD6/ CD5/ CD4/ CD3/ CD2/ CD1/ CD0/
SD11 SD10 SD9 SD8 SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0
Initial value:
0
0
0
0
0
0
0
0
0
0
0
0
R/W: R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
19
18
17
16
CD15/ CD14/ CD13/ CD12/
SD15 SD14 SD13 SD12
0
0
0
0
R/W R/W R/W R/W
3
2
1
0
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 1273 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Bit
Bit Name
Initial
Value
R/W
Description
31 to 20
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
19
CD15/SD15
0
R/W
Command Data 15 to 0/Status Data 15 to 0
18
CD14/SD14
0
R/W
17
CD13/SD13
0
R/W
16
CD12/SD12
0
R/W
Write data to these bits and then write the codec
register address in HACCSAR. The HAC then transmits
the data to the codec.
15
CD11/SD11
0
R/W
14
CD10/SD10
0
R/W
13
CD9/SD9
0
R/W
12
CD8/SD8
0
R/W
11
CD7/SD7
0
R/W
10
CD6/SD6
0
R/W
9
CD5/SD5
0
R/W
8
CD4/SD4
0
R/W
7
CD3/SD3
0
R/W
6
CD2/SD2
0
R/W
5
CD1/SD1
0
R/W
4
CD0/SD0
0
R/W
3 to 0
⎯
All 0
R
Read these bits to get the contents of the codec register
indicated by HACCSAR.
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1274 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.4
PCM Left Channel Register (HACPCML)
HACPCML is a 32-bit read/write register used for accessing the left channel of the codec in
digital audio recording or stream playback. To transmit the PCM playback left channel data to the
codec, write the data to HACPCML. To receive the PCM record left channel data from the codec,
read HACPCML. The data is left justified when accommodating a codec with ADC/DAC
resolution of 20 bits or less.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
D19
D18
D17
D16
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 20
⎯
All 0
R
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
19 to 0
D19 to D0
All 0
R/W
Data 19 to 0
Write the PCM playback left channel data to these bits.
The HAC then transmits the data to the codec on an ondemand basis.
Read these bits to get the PCM record left channel data
from the codec.
Rev.1.00 Jan. 10, 2008 Page 1275 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
In 16-bit packed DMA mode, HACPCML is defined as follows:
Bit:
31
30
29
28
27
26
LD15 LD14 LD13 LD12 LD11 LD10
Initial value:
R/W:
Bit:
25
24
23
22
21
20
19
18
17
16
LD9
LD8
LD7
LD6
LD5
LD4
LD3
LD2
LD1
LD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
RD15 RD14 RD13 RD12 RD11 RD10 RD9
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
Initial
Value
Bit
Bit Name
31 to 16
LD15 to LD0 All 0
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
RD8
RD7
RD6
RD5
RD4
RD3
RD2
RD1
RD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R/W
Description
R/W
Left Data 15 to 0
Write the PCM playback left channel data to these bits.
The HAC then transmits the data to the codec on an ondemand basis.
Read these bits to get the PCM record left channel data
from the codec.
15 to 0
RD15 to RD0 All 0
R/W
Right Data 15 to 0
Write the PCM playback right channel data to these
bits. The HAC then transmits the data to the codec on
an on-demand basis.
Read these bits to get the PCM record right channel
data from the codec.
Rev.1.00 Jan. 10, 2008 Page 1276 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.5
PCM Right Channel Register (HACPCMR)
HACPCMR is a 32-bit read/write register used for accessing the right channel of the codec in
digital audio recording or stream playback. To transmit the PCM playback right channel data to
the codec, write the data to HACPCMR. To receive the PCM record right channel data from the
codec, read HACPCMR. The data is left justified when accommodating a codec with ADC/DAC
resolution of 20 bits or less.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
D19
D18
D17
D16
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 20
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
19 to 0
D19 to D0
All 0
R/W
Data 19 to 0
Write the PCM playback right channel data to these
bits. The HAC then transmits the data to the codec on
an on-demand basis.
Read these bits to get the PCM record right channel
data from the codec.
Rev.1.00 Jan. 10, 2008 Page 1277 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.6
TX Interrupt Enable Register (HACTIER)
HACTIER is a 32-bit read/write register that enables or disables HAC TX interrupts.
Bit:
31
30
29
28
PLTF PRTF
RQIE RQIE
0
0
R/W R/W
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
⎯
⎯
Initial value:
R/W:
0
R
0
R
Bit:
15
14
13
12
11
10
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
9
8
PLTF PRTF
UNIE UNIE
0
0
R/W R/W
Bit
Bit Name
Initial
Value
R/W
Description
31, 30
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
29
PLTFRQIE 0
R/W
PCML TX Request Interrupt Enable
0: Disables PCML TX request interrupts.
1: Enables PCML TX request interrupts.
28
PRTFRQIE 0
R/W
PCMR TX Request Interrupt Enable
0: Disables PCMR TX request interrupts.
1: Enables PCMR TX request interrupts.
27 to 10
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
9
PLTFUNIE 0
R/W
PCML TX Underrun Interrupt Enable
0: Disables PCML TX underrun interrupts.
1: Enables PCML TX underrun interrupts.
8
PRTFUNIE 0
R/W
PCMR TX Underrun Interrupt Enable
0: Disables PCMR TX underrun interrupts.
1: Enables PCMR TX underrun interrupts.
7 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1278 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.7
TX Status Register (HACTSR)
HACTSR is a 32-bit read/write register that indicates the status of the HAC TX controller. Writing
0 to the bit will initialize it.
Bit:
31
30
29
CMD CMD PLT
AMT DMT FRQ
Initial value:
1
1
1
R/W: R/W R/W R/W
Bit:
Initial value:
R/W:
28
PRT
FRQ
1
R/W
27
26
25
24
23
22
21
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
9
PLT
FUN
0
R/W
8
PRT
FUN
0
R/W
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W*2
Description
31
CMDAMT
1
R/W
Command Address Empty
0: CSAR TX buffer contains untransmitted data.
1: CSAR TX buffer is empty and ready to store data.*1
30
CMDDMT
1
R/W
Command Data Empty
0: CSDR TX buffer contains untransmitted data.
1: CSDR TX buffer is empty and ready to store data. *1
29
PLTFRQ
1
R/W
PCML TX Request
0: PCML TX buffer contains untransmitted data.
1: PCML TX buffer is empty and needs to store data. In
DMA mode, writing to HACPCML will automatically
clear this bit to 0.
28
PRTFRQ
1
R/W
PCMR TX Request
0: PCMR TX buffer contains untransmitted data.
1: PCMR TX buffer is empty and needs to store data. In
DMA mode, writing to HACPCMR will automatically
clear this bit to 0.
Rev.1.00 Jan. 10, 2008 Page 1279 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Bit
Bit Name
Initial
Value
R/W*2
Description
27 to 10
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
9
PLTFUN
0
R/W
PCML TX Underrun
0: No PCML TX underrun has occurred.
1: PCML TX underrun has occurred because the codec
has requested slot 3 data but new data is not written
to HACPCML.
8
PRTFUN
0
R/W
PCMR TX Underrun
0: No PCMR TX underrun has occurred.
1: PCMR TX underrun has occurred because the codec
has requested slot 4 data but new data is not written
to HACPCMR.
7 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Notes: 1. CMDAMT and CMDDMT have no associated interrupts. Poll these bits until they are
read as 1 before writing a new command to HACCSAR/HACCSDR. When bit 19 (RW)
of HACCSAR is 0 and TX12_ATOMIC is 1, take the following steps:
1. Initialize CMDDMT and CMDAMT before first accessing a codec register after HAC
initialization by any reset event.
2. After making the settings in HACCSDR and HACCSAR, poll CMDDMT and
CMDAMT until they are cleared to 1, and then initialize these bits.
3. Now the next write to a register is available.
2. These bits are readable/writable. Writing 0 to the bit initializes it but writing 1 has no
effect.
Rev.1.00 Jan. 10, 2008 Page 1280 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.8
RX Interrupt Enable Register (HACRIER)
HACRIER is a 32-bit read/write register that enables or disables HAC RX interrupts.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
STAR STDR PLRF PRRF
YIE
YIE RQIE RQIE
0
0
0
0
R/W R/W R/W R/W
18
17
16
⎯
⎯
⎯
0
R
0
R
0
R
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
13
12
PLRF PRRF
OVIE OVIE
0
0
R/W R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 23
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
22
STARYIE
0
R/W
Status Address Ready Interrupt Enable
0: Disables status address ready interrupts.
1: Enables status address ready interrupts.
21
STDRYIE
0
R/W
Status Data Ready Interrupt Enable
0: Disables status data ready interrupts.
1: Enables status data ready interrupts.
20
PLRFRQIE 0
R/W
PCML RX Request Interrupt Enable
0: Disables PCML RX request interrupts.
1: Enables PCML RX request interrupts.
19
PRRFRQIE 0
R/W
PCMR RX Request Interrupt Enable
0: Disables PCMR RX request interrupts.
1: Enables PCMR RX request interrupts.
18 to 14
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
13
PLRFOVIE 0
R/W
PCML RX Overrun Interrupt Enable
0: Disables PCML RX overrun interrupts.
1: Enables PCML RX overrun interrupts.
Rev.1.00 Jan. 10, 2008 Page 1281 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Initial
Value
Bit
Bit Name
12
PRRFOVIE 0
R/W
Description
R/W
PCMR RX Overrun Interrupt Enable
0: Disables PCMR RX overrun interrupts.
1: Enables PCMR RX overrun interrupts.
11 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
25.3.9
RX Status Register (HACRSR)
HACRSR is a 32-bit read/write register that indicates the status of the HAC RX controller.
Writing 0 to the bit will initialize it.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
31
30
29
28
27
26
25
24
23
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
13
PLR
FOV
0
R/W
12
PRR
FOV
0
R/W
15
14
⎯
⎯
0
R
0
R
22
21
20
PLR
STARY STDRY
FRQ
0
0
0
R/W R/W R/W
19
PRR
FRQ
0
R/W
18
17
16
⎯
⎯
⎯
0
R
0
R
0
R
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 1282 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Bit
Bit Name
Initial
Value
R/W*
Description
31 to 23
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
22
STARY
0
R/W
Status Address Ready
0: HACCSAR (status address) is not ready.
1: HACCSAR (status address) is ready.
21
STDRY
0
R/W
Status Data Ready
0: HACCSDR (status data) is not ready.
1: HACCSDR (status data) is ready.
20
PLRFRQ
0
R/W
PCML RX Request
0: PCML RX data is not ready.
1: PCML RX data is ready and must be read. In DMA
mode, reading HACPCML automatically clears this
bit to 0.
19
PRRFRQ
0
R/W
PCMR RX Request
0: PCMR RX data is not ready.
1: PCMR RX data is ready and must be read. In DMA
mode, reading HACPCMR automatically clears this
bit to 0.
18 to 14
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
13
PLRFOV
0
R/W
PCML RX Overrun
0: No PCML RX data overrun has occurred.
1: PCML RX data overrun has occurred because the
HAC has received new data from slot 3 before PCML
data is not read out.
12
PRRFOV
0
R/W
PCMR RX Overrun
0: No PCMR RX data overrun has occurred.
1: PCMR RX data overrun has occurred because the
HAC has received new data from slot 4 before PCMR
data is not read out.
⎯
11 to 0
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Note:
*
This register is readable/writable. Writing 0 to the bit initializes it but writing 1 has no
effect.
Rev.1.00 Jan. 10, 2008 Page 1283 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.3.10 HAC Control Register (HACACR)
HACACR is a 32-bit read/write register used for controlling the HAC interface.
Bit:
31
⎯
30
29
DMA DMA
RX16 TX16
0
0
R/W R/W
28
27
26
25
⎯
⎯
TX12_
ATOMIC
24
23
22
21
⎯
0
R
0
R
1
R/W
0
R
0
R/W
0
R/W
0
R/W
0
R/W
RXDMAL TXDMAL RXDMAR TXDMAR
_EN
_EN
_EN
_EN
20
19
18
17
16
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
1
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Initial value:
R/W:
Bit
Bit Name
Initial
Value
R/W
Description
31
⎯
1
R
Reserved
This bit is always read as 1. The write value should
always be 1.
30
DMARX16
0
R/W
16-bit RX DMA Enable
0: Disables 16-bit packed RX DMA mode. Enables the
RXDMAL_EN and RXDMAR_EN settings.
1: Enables 16-bit packed RX DMA mode. Disables the
RXDMAL_EN and RXDMAR_EN settings.
29
DMATX16
0
R/W
16-bit TX DMA Enable
0: Disables 16-bit packed TX DMA mode. Enables the
TXDMAL_EN and TXDMAR_EN settings.
1: Enables 16-bit packed TX DMA mode. Disables the
TXDMAL_EN and TXDMAR_EN settings.
28, 27
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
26
TX12_ATOMIC
1
R/W
TX Slot 1 and 2 Atomic Control
0: Transmits TX data in HACCSAR and that in
HACCSDR separately. (Setting prohibited)
1: Transmits TX data in HACCSAR and that in
HACCSDR in the same frame if bit 19 in HACCSAR
is 0 (write). (HACCSAR must be written last.)
Rev.1.00 Jan. 10, 2008 Page 1284 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Bit
Bit Name
Initial
Value
R/W
Description
25
⎯
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
24
RXDMAL_EN
0
R/W
RX DMA Left Enable
0: Disables 20-bit RX DMA for HACPCML.
1: Enables 20-bit RX DMA for HACPCML.
23
TXDMAL_EN
0
R/W
TX DMA Left Enable
0: Disables 20-bit TX DMA for HACPCML.
1: Enables 20-bit TX DMA for HACPCML.
22
RXDMAR_EN
0
R/W
RX DMA Right Enable
0: Disables 20-bit RX DMA for HACPCMR.
1: Enables 20-bit RX DMA for HACPCMR.
21
TXDMAR_EN
0
R/W
TX DMA Right Enable
0: Disables 20-bit TX DMA for HACPCMR.
1: Enables 20-bit TX DMA for HACPCMR.
20 to 0
⎯
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1285 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.4
AC 97 Frame Slot Structure
Figure 25.2 shows the AC97 frame slot structure. This LSI supports slots 0 to 4 only. Slots 5 to 12
(hatched area) are out of scope.
Slot No.
0
1
2
3
4
5
6
7
8
9
10
11
12
HAC_SYNC
HAC_SDOUT (transmit)
HAC_SDIN (receive)
TAG
CMD
Addr
CMD
Data
PCML PCMR LINE1 PCM
PCML PCMR PCM
Front Front DAC Center Surr
Surr
LFE
TAG
Status Status PCM
Addr
Data
Left
PCM
Right
LINE1 PCM
ADC
MIC
Reser
ved
Reser
ved
LINE2 HSET IO
DAC
DAC
CTRL
Reser LINE2 HSET IO
ADC
ved
ADC
Status
Figure 25.2 AC97 Frame Slot Structure
Table 25.3 AC97 Transmit Frame Structure
Slot
Name
Description
0
SDATA_OUT TAG
Codec IDs and Tags indicating valid data
1
Control CMD Addr write port
Read/write command and register address
2
Control DATA write port
Register write data
3
PCM L DAC playback
Left channel PCM output data
4
PCM R DAC playback
Right channel PCM output data
5
Modem Line 1 DAC
Modem 1 output data (unsupported)*
6
PCM Center
Center channel PCM data (unsupported)*
7
PCM Surround L
Surround left channel PCM data (unsupported)*
8
PCM Surround R
Surround right channel PCM data (unsupported)*
9
PCM LFE
LFE channel PCM data (unsupported)*
10
Modem Line 2 DAC
Modem 2 output data (unsupported)*
11
Modem handset DAC
Modem handset output data (unsupported)*
12
Modem IO control
Modem control IO output (unsupported)*
Note:
*
There is no register for unsupported functions.
Rev.1.00 Jan. 10, 2008 Page 1286 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Table 25.4 AC97 Receive Frame Structure
Slot
Name
Description
0
SDATA_IN TAG
Tags indicating valid data
1
Status ADDR read port
Register address and slot request
2
Status DATA read port
Register read data
3
PCM L ADC record
Left channel PCM input data
4
PCM R ADC record
Right channel PCM input data
5
Modem Line 1 ADC
Modem 1 input data (unsupported)*
6
Dedicated Microphone ADC
Optional PCM data (unsupported)*
7 to 9
Reserved
Reserved
10
Modem Line 2 ADC
Modem 2 input data (unsupported)*
11
Modem handset input DAC
Modem handset input data (unsupported)*
12
Modem IO status
Modem control IO input (unsupported)*
Note:
*
There is no register for unsupported functions.
Rev.1.00 Jan. 10, 2008 Page 1287 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.5
Operation
25.5.1
Receiver
The HAC receiver receives serial audio data input on the HAC_SDIN pin, synchronous to
HAC_BITCLK. From slot 0, the receiver extracts tag bits that indicate which other slots contain
valid data. It will update the receive data only when receiving valid slot data indicated by the tag
bits.
Supporting data only in slots 1 to 4, the receiver ignores tag bits and data related to slots 5 to 12. It
loads valid slot data to the corresponding shift register to hold the data for PIO or DMA transfer,
and sets the corresponding status bits. It is possible to read 20-bit data within a 32-bit register
using PIO.
In the case of RX overrun, the new data will overwrite the current data in the RX buffer of the
HAC.
25.5.2
Transmitter
The HAC transmitter outputs serial audio data on the HAC_SDOUT pin, synchronous to
HAC_BIT_CLK. The transmitter sets the tag bits in slot 0 to indicate which slots in the current
frame contain valid data. It loads data slots to the current TX frame in response to the
corresponding slot request bits from the previous RX frame.
The transmitter supports data only in slots 1 to 4. The TX buffer holds data that has been
transferred using PIO or DMA, and sets the corresponding status bit. It is possible to write 20-bit
data within a 32-bit register using PIO.
In the case of a TX underrun, the HAC will transmit the current TX buffer data until the next data
arrives.
Rev.1.00 Jan. 10, 2008 Page 1288 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.5.3
DMA
The HAC supports DMA transfer for slots 3 and 4 of both the RX and TX frames. Specify the slot
data size for DMA transfer, 16 or 20 bits, with the DMARX16 and DMATX16 bits in HACACR.
When the data size is 20 bits, transfer of data slots 3 and 4 requires two local bus access cycles.
Since each of the receiver and transmitter has its DMA request, the stereo mode generates a DMA
request for slots 3 and 4 separately. The mono mode generates a DMA request for just one slot.
When the data size is 16 bits, data from slots 3 and 4 are packed into a single 32-bit quantity (left
data and right data are in PCML), which requires only one local bus access cycle.
It may be necessary to halt a DMA transfer before the end count is reached, depending on system
applications. If so, clear the corresponding DMA bit in HACACR to 0 (DMA disabled). To
resume a DMA transfer, reprogram the DMAC and then set the corresponding DMA bit to 1
(DMA enabled).
25.5.4
Interrupts
Interrupts can be used for flag events from the receiver and transmitter. Make the setting for each
interrupt in the corresponding interrupt enable register. Interrupts include a request to the CPU to
read/write slot data, overrun and underrun. To get the interrupt source, read the status register.
Writing 0 to the bit will clear the corresponding interrupt.
Rev.1.00 Jan. 10, 2008 Page 1289 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.5.5
Initialization Sequence
Figure 25.3 shows an example of the initialization sequence.
START
HAC cold reset
(HACCR = H'0000 0A00)
Start transfer (receiver/transmitter)
(HACCR = H'0000 0220)
HAC module
initialization
Enable TX/RX
(Set HACACR to H'05E0 0000: 20-bit DMA, TX slots and 2 atomic control)*1
Codec ready?
(Set HACCCR to H'0000 8000: 20-bit DMA,
TX slots and 2 atomic control)*1
No
Set DMAC*2
Set read address to #h'26 (Power-down mode Ctrl/Stat)
(Set HACCSAR to H'000A 6000)*1
External codec
device
initialization
Off-chip codec internal status
ADC, DAC, Analog, REF = ready?
(Set HACCSDR to H'0000 00F0)*1
No
Yes
Set read volume and sampling rate
(1) HACACR = H'0000 0000
(2) Set HACCSAR and HACCSDR
(3) HACACR = H'01E0 0000
Notes: 1. Register values are reference data.
2. For details on DMAC settings, refer to section 14, Direct Memory Access Controller (DMAC)
Figure 25.3 Initialization Sequence
Rev.1.00 Jan. 10, 2008 Page 1290 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Prerequisite:
ACR.TX12_ATOMIC = 1
Write to codec
Write 0 to TSR.CMDAMT
Write 0 to TSR.CMDDMT
Clear RetryCnt to 0
Set data in CSDR
Set Addr. in CSAR
Clear LoopCnt to 0
TSR.CMDAMT = 1 &
TSR.CMDDMT = 1
Yes
No
Wait for 1 μs
LoopCnt++
E1 < LoopCnt 1
No
Yes
RetryCnt++
5 < RetryCnt
No
Yes
Return
Error
Notes: E1:
Loop count required in the target system
(21 < E1 < 1000)
Input:
Addr: Address of codec register to be written to
Data: Data to be written to codec register
RetryCnt: Software counter for error detection
LoopCnt: Software counter for wait insertion
Figure 25.4 Sample Flowchart for Off-Chip Codec Register Write
Rev.1.00 Jan. 10, 2008 Page 1291 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Read codec
Input: RegN (address of the codec register to be read)
RegN = Last_Reg?
No
Yes
Read_codec_aux (RegV)
RegV = H'7C
(Vender ID1)
Dummy read
Yes
Error
No
Error
Last_Reg: Address of the register
read last time
Read_codec_aux (RegN)
In continuous reading of registers in some off-chip codec
devices, the data in the register previously read may be read
again. In such case, take the steps in this flowchart.
: Data acquisition
Error
Yes
No
Data return
Error
Read_codec_aux Input: RegN (address of the codec register to be read)
Send_read_request (RegN)
Yes
Error
No
Send_read_request (RegN)
Yes
Error
No
Dummy processing
(Discard the first data)
Get_codec_data (RegN)
: Data 1 acquisition
Error
Yes
No
Get_codec_data (RegN)
: Data 2 acquisition
Yes
Error
No
Data 2 return
Error
Figure 25.5 Sample Flowchart for Off-Chip Codec Register Read (1)
Rev.1.00 Jan. 10, 2008 Page 1292 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Send_read_request
Input: RegN (address of the codec register to be read)
Write 0 to RSR.STARY
Write 0 to RSR.STDRY
Set RegN in CSAR
WaitLoop_CMDAMT
Error
Yes
No
Error
Return
Get_codec_data
Input: RegN (address of the codec register to be read)
Clear LoopCnt 2 to 0
WaitLoop_RSR
Error
Yes
No
Assign HACCSAR read value to Addr
Addr (R) = RegN?
Error
No
Yes
Wait for 5 μs
LoopCnt 2 ++
Assign HACCSDR read value to Data T
E2 < LoopCnt 2
No
Yes
Data T is returned
Error
Notes: E2:
Loop count required in the target system (13 < E2)
LoopCnt2: Software counter for wait insertion
Addr:
Variable to hold CSAR read value.
DataT:
Variable to hold CSDR read value.
Figure 25.6 Sample Flowchart for Off-Chip Codec Register Read (2)
Rev.1.00 Jan. 10, 2008 Page 1293 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
WaitLoop_CMDAMT
Clear LoopCnt 3 to 0
TSR.CMDAMT = 1
No
Yes
Wait for 1 μs
LoopCnt 3 ++
Write 0 to TSR.CMDAMT
No
E3 < LoopCnt 3
Return
Yes
Error
WaitLoop_RSR
Clear LoopCnt 4 to 0
RSR.STARY = 1 &
RSR.STDRY = 1
Yes
No
Wait for 1 μs
LoopCnt 4 ++
Write 0 to RSR.STARY
Write 0 to RSR.STDRY
E4 < LoopCnt 4
Return
No
Yes
Error
Notes: E3, E4:
Loop count required in the target system
(21 < E3, 21 < E4 < 1000)
LoopCnt3: Software counter for wait insertion
LoopCnt4: Software counter for wait insertion
Figure 25.7 Sample Flowchart for Off-Chip Codec Register Read (3)
Rev.1.00 Jan. 10, 2008 Page 1294 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
25.5.6
Power-Down Mode
It is possible to stop or resume the supply of clock to the HAC using the MSTP16 and MSTP17
bits in the standby control register 0 (MSTPCR0), which is a register used in power-down modes.
To cancel module standby function and resume the supply of clock to the HAC, write 0 to the
MSTP16 and MSTP17 bits in the standby control register 0 (MSTPCR0). It enables all accesses to
the HAC.
To place the HAC into the power-down mode, take the following steps:
1. Check that all data transfers have ended. Also check that the transmit buffer is empty and the
receive buffer has been read out to be empty.
2. Disable all DMA requests and interrupt requests.
3. Place the codec into power-down mode.
4. Write 0 to the MSTP16 and MSTP17 bits in the standby control register 0 (MSTPCR0).
25.5.7
Notes
The HAC_SYNC signal is generated by the HAC to indicate the position of slot 0 within a frame.
When using the two channels of the HAC concurrently, connect the HAC_RES pin to the reset
pins of the two codecs.
25.5.8
Reference
AC'97 Component Specification, Revision 2.1
Rev.1.00 Jan. 10, 2008 Page 1295 of 1658
REJ09B0261-0100
25. Audio Codec Interface (HAC)
Rev.1.00 Jan. 10, 2008 Page 1296 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Section 26 Serial Sound Interface (SSI) Module
This LSI incorporates two channels of serial sound interface (SSI) modules that send or receive
audio data to or from a variety of devices. In addition to the common formats, they support burst
and multi-channel mode.
26.1
Features
The SSI has the following features.
• Number of channels: Two channels
• Operating modes: Compressed mode and non-compressed mode
The compressed mode is used for continuous bit stream transfer
The non-compressed mode supports all serial audio streams divided into channels.
• The SSI module is configured as any of a transmitter or receiver. The serial bus format (refer
to table 26.3) can be used in the compressed and non-compressed mode.
• Asynchronous transfer between the data buffer and the shift register
• Division ratios of the serial bus interface clock can be selected.
• Data transmission/reception can be controlled from the DMAC or SSI interrupt.
Rev.1.00 Jan. 10, 2008 Page 1297 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Figure 26.1 is a block diagram of the SSI module.
Peripheral bus
INTC
DMAC
Interrupt
request
Control circuit
Register
Data buffer
DMA request
SSICR
SSISR
SSITDR
Serial audio bus
Barrel shifter
SSIRDR
SSIn_SDATA
MSB
SSIn_WS
Shift register
LSB
Bit counter
Serial clock control
SSIn_SCK
Divider
SSIn_CLK
SSI module
Note: n = 0 to 1
Figure 26.1 Block Diagram of SSI Module
Rev.1.00 Jan. 10, 2008 Page 1298 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.2
Input/Output Pins
Table 26.1 lists the pin configurations relating to the SSI module.
Table 26.1 Pin Configuration
Name
Number of
Pins
I/O
Function
SSI0_SCK
1
I/O
Serial bit clock
SSI0_WS
1
I/O
Word select
SSI0_SDATA
1
I/O
Serial data input/output
SSI0_CLK
1
Input
Divider input clock (oversampling clock
256/384/512fs input)
SSI1_SCK
1
I/O
Serial bit clock
SSI1_WS
1
I/O
Word select
SSI1_SDATA
1
I/O
Serial data input/output
SSI1_CLK
1
Input
Divider input clock (oversampling clock
256/384/512fs input)
Rev.1.00 Jan. 10, 2008 Page 1299 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.3
Register Descriptions
The SSI has the following registers. In this manual, the register description is not discriminated
by the channel.
Table 26.2 Register Configuration (1)
Channel
Register Name
Abbrev.
R/W
P4 Address
Area 7
Address
Sync
Size Clock
0
Control register 0
SSICR0
R/W
H'FFE0 0000
H'1FE0 0000
32
Pck
0
Status register 0
SSISR0
R/W*
H'FFE0 0004
H'1FE0 0004
32
Pck
0
Transmit data register 0
SSITDR0
R/W
H'FFE0 0008
H'1FE0 0008
32
Pck
0
Receive data register 0
SSIRDR0
R
H'FFE0 000C
H'1FE0 000C
32
Pck
1
Control register 1
SSICR1
R/W
H'FFE1 0000
H'1FE1 0000
32
Pck
1
Status register 1
SSISR1
R/W*
H'FFE1 0004
H'1FE1 0004
32
Pck
1
Transmit data register 1
SSITDR1
R/W
H'FFE1 0008
H'1FE1 0008
32
Pck
1
Receive data register 1
SSIRDR1
R
H'FFE1 000C
H'1FE1 000C
32
Pck
Note: Bits 26 and 27 of this register is readable/writable. The other bits are read only. For
details, see section 26.3.2, Status Register (SSISR).
Table 26.2 Register Configuration (2)
Channel
Register Name
Abbrev.
Power-on
Reset by
PRESET Pin/
WDT/H-UDI
0
Control register 0
SSICR0
H'0000 0000
H'0000 0000
Retained
Retained
Retained
0
Status register 0
SSISR0
H'0200 0003
H'0200 0003
Retained
Retained
Retained
0
Transmit data
register 0
SSITDR0
H'0000 0000
H'0000 0000
Retained
Retained
Retained
0
Receive data
register 0
SSIRDR0
H'0000 0000
H'0000 0000
Retained
Retained
Retained
1
Control register 1
SSICR1
H'0000 0000
H'0000 0000
Retained
Retained
Retained
1
Status register 1
SSISR1
H'0200 0003
H'0200 0003
Retained
Retained
Retained
1
Transmit data
register 1
SSITDR1
H'0000 0000
H'0000 0000
Retained
Retained
Retained
1
Receive data
register 1
SSIRDR1
H'0000 0000
H'0000 0000
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1300 of 1658
REJ09B0261-0100
Manual Reset
by WDT/
Sleep by
Multiple
SLEEP
Module
Instruction Standby
Exception
Deep
Sleep
26. Serial Sound Interface (SSI) Module
26.3.1
Control Register (SSICR)
SSICR is a 32-bit readable/writable register that controls interrupts, selects each polarity status,
and sets operating mode.
Bit:
Initial value:
R/W:
Bit:
31
30
29
28
27
26
25
⎯
⎯
⎯
DMEN
UIEN
OIEN
IIEN
DIEN CHNL1 CHNL0 DWL2 DWL1 DWL0 SWL2 SWL1 SWL0
⎯
R
⎯
R
⎯
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
SCKD SWSD SCKP SWSP SPDP
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 29
⎯
0
R
24
23
22
21
20
19
18
17
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
7
6
5
4
3
2
1
8
16
0
R/W
0
SDTA PDTA
DEL
BREN CKDV2 CKDV1 CKDV0 MUEN CPEN TRMD
EN
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
28
DMEN
0
R/W
DMA Enable
Enables or disables the DMA request.
0: DMA request disabled.
1: DMA request enabled.
27
UIEN
0
R/W
Underflow Interrupt Enable
0: Underflow interrupt disabled
1: Underflow interrupt enabled
26
OIEN
0
R/W
Overflow Interrupt Enable
0: Overflow interrupt disabled
1: Overflow interrupt enabled
25
IIEN
0
R/W
Idle Mode Interrupt Enable
0: Idle mode interrupt disabled
1: Idle mode interrupt enabled
24
DIEN
0
R/W
Data Interrupt Enable
0: Data interrupt disabled
1: Data interrupt enabled
Rev.1.00 Jan. 10, 2008 Page 1301 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
23
22
CHNL1
CHNL0
0
0
R/W
R/W
Channels
These bits indicate the number of channels in each
system word. These bits are ignored if CPEN = 1.
00: 1 channel per system word
01: 2 channels per system word
10: 3 channels per system word
11: 4 channels per system word
21
20
19
DWL2
DWL1
DWL0
0
0
0
R/W
R/W
R/W
Data Word Length
These bits indicate the number of bits in a data word.
These bits are ignored if CPEN = 1.
000: 8 Bits
001: 16 Bits
010: 18 Bits
011: 20 Bits
100: 22 Bits
101: 24 Bits
110: 32 Bits
111: Setting prohibited
18
17
16
SWL2
SWL1
SWL0
0
0
0
R/W
R/W
R/W
System Word Length
These bits indicate the number of bits in a system word.
These bits are ignored if CPEN = 1.
000: 8 Bits
001: 16 Bits
010: 24 Bits
011: 32 Bits
100: 48 Bits
101: 64 Bits
110: 128 Bits
111: 256 Bits
15
SCKD
0
R/W
Serial Bit Clock Direction
0: Serial clock input, slave mode
1: Serial clock output, master mode
Note: In non-compressed mode (SSICR.CPEN=0), the
combination of (SCKD, SWSD) = (0, 0) or (1, 1) is
available.
Rev.1.00 Jan. 10, 2008 Page 1302 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
14
SWSD
0
R/W
Serial WS Direction
0: Serial word select input, slave mode
1: Serial word select output, master mode
Note: In non-compressed mode (SSICR.CPEN=0), the
combination of (SCKD, SWSD) = (0, 0) or (1, 1) is
available.
13
SCKP
0
R/W
Serial Bit Clock Polarity
0: SSI_WS and SSI_SDATA change on falling edge of
SSI_SCK (sampled on rising edge of SCK)
1: SSI_WS and SSI_SDATA change on rising edge of
SSI_SCK (sampled on falling edge of SCK)
SCKP = 0
SCKP = 1
SSI_SDATA input sampling
timing in receive mode
(TRMD = 0)
SSI_SCK
rising edge
SSI_SCK
falling edge
SSI_SDATA output change
timing in transmit mode
(TRMD = 1)
SSI_SCK
falling edge
SSI_SCK
rising edge
SSI_WS input sampling
timing in slave mode
(SWSD = 0)
SSI_SCK
rising edge
SSI_SCK
falling edge
SSI_WS output change
timing in master mode
(SWSD = 1)
SSI_SCK
falling edge
SSI_SCK
rising edge
Rev.1.00 Jan. 10, 2008 Page 1303 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
12
SWSP
0
R/W
Serial WS Polarity
The function of this bit depends on whether the SSI
module is in non-compressed mode or compressed
mode.
CPEN = 0 (Non compressed mode):
0: SSI_WS is low for the first system word, high for the
second system word
1: SSI_WS is high for the first system word, low for the
second system word
CPEN = 1 (Compressed mode):
0: SSI_WS is active high flow control. WS = high means
data should be transferred, low means data should
not be transferred.
1: SSI_WS is active low flow control. WS = low means
data should be transferred, high means data should
not be transferred.
Note: Do not change this bit when EN is 1.
11
SPDP
0
R/W
Serial Padding Polarity
This bit is ignored if CPEN = 1.
0: Padding bits are low
1: Padding bits are high
Note: The padding bits become low-level when the
MUEN bit is set to 1. (Mute function has the
higher priority)
10
SDTA
0
R/W
Serial Data Alignment
This bit is ignored if CPEN = 1.
0: Serial data is transmitted/ received first, followed by
padding bits.
1: Padding bits are transmitted/ received first, followed
by serial data.
Rev.1.00 Jan. 10, 2008 Page 1304 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
9
PDTA
0
R/W
Parallel Data Alignment
This bit is ignored if CPEN = 1.
If the data word length = 32, 16 or 8 then this bit has no
meaning.
This bit is applied to SSIRDR in receive mode and to
SSITDR in transmit mode.
0: Parallel data (SSITDR or SSIRDR) is left aligned
1: Parallel data (SSITDR or SSIRDR) is right aligned
• DWL = 000 (data word length: 8 bits), PDTA ignored
All data bits in SSIRDR or SSITDR are used on the
audio serial bus. Four data words are
transmitted/received in each 32-bit access. The first
data word is derived from bits 7 to 0, the second
from bits 15 to 8, the third from bits 23 to 16 and the
last data word is stored in bits 31 to 24.
• DWL = 001 (data word length: 16 bits), PDTA
ignored
All data bits in SSIRDR or SSITDR are used on the
audio serial bus. Two data words are
transmitted/received in each 32-bit access. The first
data word is derived from bits 15 to 0 and the
second data word is stored in bits 31 to 16.
• DWL = 010, 011, 100, 101 (data word length: 18,
20, 22 and 24 bits), PDTA = 0 (left aligned)
• The data bits which are used in SSIRDR or SSITDR
are the following:
Bits 31 to (32 – number of bits having data word
length specified by DWL).
If DWL = 011 then data word length is 20 bits and
bits 31 to 12 are used of either SSIRDR or SSITDR.
All other bits are ignored or reserved.
• DWL = 010, 011, 100, 101 (data word length: 18,
20, 22 and 24 bits), PDTA = 1 (right aligned)
The data bits which are used in SSIRDR or SSITDR
are the following:
Bits (number of bits having data word length
specified by DWL - 1) to 0.
If DWL = 011 then data word length is 20 bits and
bits 19 to 0 are used of either SSIRDR or SSITDR.
All other bits are ignored or reserved.
• DWL = 110 (data word length: 32 bits), PDTA
ignored
All data bits in SSIRDR or SSITDR are used on the
audio serial bus.
Rev.1.00 Jan. 10, 2008 Page 1305 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
8
DEL
0
R/W
Serial Data Delay
Set this bit to 1, if CPEN=1
0: 1 clock cycle delay between SSI_WS and
SSI_SDATA
1: No delay between SSI_WS and SSI_SDATA
7
BREN
0
R/W
Burst Mode Enable
0: Burst mode is disabled.
1: Burst mode is enabled.
Burst mode is used only in compressed mode (CPEN =
1) and transmit mode. When burst mode is enabled the
SSI_SCK signal is gated. Clock pulses are output only
when there is valid serial data being output on
SSI_SDATA.
6 to 4
CKDV2
CKDV2
CKDV0
0
0
0
R/W
R/W
R/W
Serial Oversampling Clock Division Ratio
These bits define the division ratio between
oversampling clock (SSI_CLK) and the serial bit clock
(SSI_SCK).
These bits are ignored if SCKD = 0.
The serial bit clock is used for the shift register and is
provided on the SSI_SCK pin.
000: (Serial bit clock frequency = oversampling clock frequency/1)
001: (Serial bit clock frequency = oversampling clock frequency/2)
010: (Serial bit clock frequency = oversampling clock frequency/4)
011: (Serial bit clock frequency = oversampling clock frequency/8)
100: (Serial bit clock frequency = oversampling clock frequency/16)
101: (Serial bit clock frequency = oversampling clock frequency/6)
110: (Serial bit clock frequency = oversampling clock frequency/12)
111: Setting prohibited
3
MUEN
0
R/W
Mute Enable
0: The SSI module is not muted
1: The SSI module is muted
When the SSI module is muted in transmit mode, the
SSIn_SDATA pin is always low regardless of the
padding polarity selected.
Rev.1.00 Jan. 10, 2008 Page 1306 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
2
CPEN
0
R/W
Compressed Mode Enable
0: Compressed mode disabled
1: Compressed mode enabled
Note: In compressed mode (CPEN=1), using operation
mode except slave transmitter (SWSD=0 and
TRMD=1). Do not change this bit when EN = 1.
1
TRMD
0
R/W
Transmit/Receive Mode Select
0: The SSI module is in receive mode
1: The SSI module is in transmit mode
0
EN
0
R/W
SSI Module Enable
0: The SSI module is disabled
1: The SSI module is enabled
Rev.1.00 Jan. 10, 2008 Page 1307 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.3.2
Status Register (SSISR)
SSISR is configured by status flags that indicate the operating status of the SSI module and bits
that indicate the current channel number and word number.
Bit:
31
30
29
⎯
⎯
⎯
28
27
DMRQ UIRQ
Initial value:
0
0
0
0
R/W:
R
R
R
R
Bit:
15
14
13
12
11
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
Initial value:
R/W:
26
25
24
23
22
21
20
19
18
17
16
OIRQ
IIRQ
DIRQ
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
0
1
0
0
0
0
0
0
0
0
0
R
R
R
R
R
R
R
R
R
R
10
9
8
7
6
5
4
3
2
1
0
⎯
⎯
⎯
⎯
⎯
⎯
⎯
⎯
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
R/W* R/W*
Bit
Bit Name
Initial
Value
R/W
31 to 29
⎯
0
R
CHNO1 CHNO0 SWNO
0
R
0
R
1
R
IDST
1
R
Description
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
28
DMRQ
0
R
DMA Request Status Flag
This status flag allows the CPU to see the status of the
DMA request of SSI module.
TRMD = 0 (Receive Mode):
•
If DMRQ = 1 then SSIRDR has unread data.
•
If SSIRDR is read then DMRQ = 0 until there is new
unread data.
TRMD = 1 (Transmit Mode):
Rev.1.00 Jan. 10, 2008 Page 1308 of 1658
REJ09B0261-0100
•
If DMRQ = 1, SSITDR requests data to be written to
continue the transmission onto the audio serial bus.
•
Once data is written to SSITDR then DMRQ = 0
until further transmit data is requested.
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
27
UIRQ
0
R/W*
Underflow Error Interrupt Status Flag
This status flag indicates that the data has been
supplied at a lower rate than the required rate.
This bit is set to 1 regardless of the setting of UIEN bit.
In order to clear it to 0, write 0 in it.
If UIRQ = 1 and UIEN = 1, then an interrupt will be
generated.
When TRMD = 0 (Receive Mode):
If UIRQ = 1, it indicates that SSIRDR was read out
before DMRQ and DIRQ bits would indicate the
existence of new unread data. In this instance, the
same received data may be stored twice by the host,
which can lead to destruction of multi-channel data.
When TRMD = 1 (Transmit Mode):
If UIRQ = 1, it indicates that the transmitted data was
not written in SSITDR. By this, the same data may be
transmitted one time too often, which can lead to
destruction of multi-channel data. Consequently,
erroneous SSI data will be output, which makes this
error more serious than underflow in the receive mode.
Note: When underflow error occurs, the data in the data
buffer will be transmitted until the next data is
written in.
Rev.1.00 Jan. 10, 2008 Page 1309 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
26
OIRQ
0
R/W*
Overflow Error Interrupt Status Flag
This status flag indicates that the data has been
supplied at a higher rate than the required rate.
This bit is set to 1 regardless of the setting of OIEN bit.
In order to clear it to 0, write 0 in it.
If OIRQ = 1 and OIEN = 1, then an interrupt will be
generated.
When TRMD = 0 (Receive Mode):
If OIRQ = 1, it indicates that the previous unread data
had not been read out before new unread data was
written in SSIRDR. This may cause the loss of data,
which can lead to destruction of multi-channel data.
Note: When overflow error occurs, the data in the data
buffer will be overwritten by the next data sent from the
SSI interface.
When TRMD = 1 (Transmit Mode):
If OIRQ = 1, it indicates that SSITDR had data written in
before the data in SSITDR was transferred to the shift
register. This may cause the loss of data, which can
lead to destruction of multi-channel data.
25
IIRQ
1
R
Idle Mode Interrupt Status Flag
This status flag indicates whether the SSI module is in
the idle status. This bit is set to 1 regardless of the
setting of IIEN bit, so that polling will be possible.
The interrupt can be masked by clearing the IIEN bit to
0, but writing 0 in this bit will not clear the interrupt.
If IIRQ = 1 and IIEN = 1, then an interrupt will be
generated.
0: The SSI module is not in the idle status.
1: The SSI module is in the idle status.
In the idle state, the serial bus operation is stopped
after the SSI module is activated.
Rev.1.00 Jan. 10, 2008 Page 1310 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
24
DIRQ
0
R
Data Interrupt Status Flag
This status flag indicates that the SSI module requires
that data be either read out or written in.
This bit is set to 1 regardless of the setting of DIEN bit,
so that polling will be possible.
The interrupt can be masked by clearing DIEN bit to 0,
but writing 0 in this bit will not clear the interrupt.
If DIRQ = 1 and DIEN = 1, then an interrupt will be
generated.
When TRMD = 0 (Receive Mode):
0: No unread data exists in SSIRDR.
1: Unread data exists in SSIRDR.
When TRMD = 1 (Transmit Mode):
0: The transmit buffer is full.
1: The transmit buffer is empty, and requires that data
be written in SSITDR.
23 to 4
⎯
0
R
Reserved
These bits are always read as an undefined value. The
write value should always be 0.
3
CHNO1
0
R
Channel Number
2
CHNO0
0
R
The number indicates the current channel.
When TRMD = 0 (Receive Mode):
This bit indicates to which channel the current data in
SSIRDR belongs. When the data in SSIRDR is updated
by transfer from the shift register, this value will change.
When TRMD = 1 (Transmit Mode):
This bit indicates the data of which channel should be
written in SSITDR. When data is copied to the shift
register, regardless whether the data is written in
SSITDR, this value will change.
Rev.1.00 Jan. 10, 2008 Page 1311 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Bit
Bit Name
Initial
Value
R/W
Description
1
SWNO
1
R
Serial Word Number
The number indicates the current word number.
When TRMD = 0 (Receive Mode):
This bit indicates which system word the current data in
SSIRDR is. Regardless whether the data has been read
out from SSIRDR, when the data in SSIRDR is updated
by transfer from the shift register, this value will change.
When TRMD = 1 (Transmit Mode):
This bit indicates which system word should be written
in SSITDR. When data is copied to the shift register,
regardless whether the data is written in SSITDR, this
value will change.
0
IDST
1
R
Idle Mode Status Flag
Indicates that the serial bus activity has ceased.
This bit is cleared if EN = 1 and the serial bus is
currently active.
This bit can be set to 1 automatically under the
following conditions.
SSI = Serial bus master transmitter (SWSD = 1 and
TRMD = 1):
This bit is set to 1 if no more data has been written to
SSITDR and the current system word has been
completed. It can also be set to 1 when the EN bit has
been cleared and the data that has been written to
SSITDR is output on the serial data input/output pin
(SSI_SDATA), i.e., the serial data of the system word
length is output.
SSI = Serial bus master receiver (SWSD = 1 and TRMD
= 0):
This bit is set to 1 if the EN bit is cleared and the current
system word is completed.
SSI = slave transmitter/ receiver (SWSD = 0):
This bit is set to 1 if the EN bit is cleared and the current
system word is completed.
Note that when transmitting the data transmission in
slave mode, the WS signal should be input until
SSICR.IDST becomes 1 after SSICR.EN is cleared to
0.
Note: If the external device stops the serial bus clock
before the current system word is completed
then this bit will never be set.
Note:
*
These bits are readable/writable bits. If writing 0, these bits are initialized, although
writing 1 is ignored.
Rev.1.00 Jan. 10, 2008 Page 1312 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.3.3
Transmit Data Register (SSITDR)
SSITDR is a 32-bit register that stores data to be transmitted.
Data written to SSITDR is transferred to the shift register as it is required for transmission. If the
data word length is less than 32 bits then its alignment should be as defined by the PDTA control
bit in SSICR.
Reading this register will return the data in the buffer.
Bit:
Initial value:
R/W:
Bit:
Initial value:
R/W:
26.3.4
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Receive Data Register (SSIRDR)
SSIRDR is a 32-bit register that stores the received data.
Data in SSIRDR is transferred from the shift register as each data word is received. If the data
word length is less than 32 bits then its alignment should be as defined by the PDTA control bit in
SSICR.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 1313 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.4
Operation
26.4.1
Bus Format
The SSI module can operate as a transmitter or a receiver and can be configured into many serial
bus formats in either mode.
The bus formats can be one of eight major modes as shown in table 26.3.
1
Non-Compressed
Master Transmitter
1
0
1
1
Compressed Slave
Receiver
0
1
0/1
0
Compressed Slave
Transmitter
Control bits
Configuration bits
1
Ignored
Configuration
bits
Ignored
Ignored
Configuration
bits
Ignored
Cannot be used
Compressed
Master Receiver
0
1
0/1
1
Compressed
Master Transmitter
1
1
0/1
1
Rev.1.00 Jan. 10, 2008 Page 1314 of 1658
REJ09B0261-0100
Control bits
1
CHNL[1:0]
1
DWL[2:0]
0
SWL[2:0]
0
SCKP
Non-Compressed
Master Receiver
SWSP
0
SPDP
0
SDTA
0
Control bits
PDTA
1
DEL
Non-Compressed
Slave Transmitter
UIEN
0
OIEN
0
IIEN
SWSD
0
DIEN
SCKD
0
Bus Format
MUEN
CPEN
Non-Compressed
Slave Receiver
EN
TPMD
Table 26.3 Bus Formats of SSI Module
26. Serial Sound Interface (SSI) Module
26.4.2
Non-Compressed Modes
The non-compressed mode is designed to support all serial audio streams which are split into
channels. It can support Philips, Sony and Matsushita modes as well as many more variants on
these modes.
(1)
Slave Receiver
This mode allows the SSI module to receive serial data from another device. The clock and word
select signals used for the serial data stream are also supplied from an external device. If these
signals do not conform to the format as specified in the SSI module then operation is not
guaranteed.
(2)
Slave Transmitter
This mode allows the SSI module to transmit serial data to another device. The clock and word
select signals used for the serial data stream are also supplied from an external device. If these
signals do not conform to the format as specified in the SSI module then operation is not
guaranteed.
(3)
Master Receiver
This mode allows the SSI module to receive serial data from another device. The clock and word
select signals are internally derived from the SSI_CLK input clock. The format of these signals is
as defined in the SSI module. If the incoming data does not conform to the defined format then
operation is not guaranteed.
(4)
Master Transmitter
This mode allows the SSI module to transmit serial data to another device. The clock and word
select signals are internally derived from the SSI_CLK input clock. The format of these signals is
as defined in the configuration bits in the SSI module.
(5)
Configuration Fields—Word Length Related
All configuration bits relating to the word length of SSICR are valid in non-compressed modes.
There are many configurations that the SSI module can support and it is not sensible to show all of
the serial data formats in this document. Some of the combinations are shown below for the
popular formats by Philips, Sony, and Matsushita.
Rev.1.00 Jan. 10, 2008 Page 1315 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
1. Philips Format
Figures 26.2 and 26.3 show the supported Philips protocol both with padding and without.
Padding occurs when the data word length is smaller than the system word length.
SCKP = 0, SWSP = 0, DEL = 0, CHNL = 00
System word length = data word length
SSI_SCK
SSI_WS
SSI_SDATA
prev. sample
MSB
LSB+1 LSB
System word 1 =
data word 1
MSB
LSB+1 LSB
next sample
System word 2 =
data word 2
Figure 26.2 Philips Format (with No Padding)
SCKP = 0, SWSP = 0, DEL = 0, CHNL = 00, SPDP = 0, SDTA = 0
System word length > data word length
SSI_SCK
SSI_WS
SSI_SDATA
MSB
LSB
Data word 1
System word 1
MSB
Padding
LSB
Data word 2
next
Padding
System word 2
Figure 26.3 Philips Format (with Padding)
Figure 26.4 shows the format used by Sony. Figure 26.5 shows the format used by Matsushita.
Padding is assumed in both cases, but may not be present in a final implementation if the
system word length equals the data word length.
Rev.1.00 Jan. 10, 2008 Page 1316 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
2. Sony Format
SCKP = 0, SWSP = 0, DEL = 1, CHNL = 00, SPDP = 0, SDTA = 0
System word length > data word length
SSI_SCK
SSI_WS
SSI_SDATA MSB
LSB
MSB
Data word 1
Padding
next
LSB
Data word 2
System word 1
Padding
System word 2
Figure 26.4 Sony Format (with Serial Data First, Followed by Padding Bits)
3. Matsushita Format
SCKP = 0, SWSP = 0, DEL = 1, CHNL = 00, SPDP = 0, SDTA = 1
System word length > data word length
SSI_SCK
SSI_WS
SSI_SDATA
prev
MSB
Padding
LSB
Data word 1
System word 1
MSB
Padding
LSB
Data word 2
System word 2
Figure 26.5 Matsushita Format (with Padding Bits First, Followed by Serial Data)
(6)
Multi-Channel Formats
There is an extend format of the definition of the specification by Philips and allows more than 2
channels to be transferred within two system words.
The SSI module supports the transfer of 4, 6 and 8 channels by the use of the CHNL, SWL and
DWL bits. It is important that the system word length (SWL) is greater than or equal to the
number of channels (CHNL) times the data word length (DWL).
Table 26.4 shows the number of padding bits for each of the valid configurations. If a setup is not
valid it does not have a number in the following table and has instead a dash.
Rev.1.00 Jan. 10, 2008 Page 1317 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
Table 26.4 Number of Padding Bits for Each Valid Configuration
DWL[2:0] 000
001
010
011
100
101
110
SWL
[2:0]
Decoded
Word
Length
8
16
18
20
22
24
32
Padding Bits Per System Word
CHNL
[1:0]
Decoded
Channels per
System Word
00
1
000
001
010
011
100
101
110
111
8
16
24
32
48
64
128
256
0
8
16
24
40
56
120
248
—
0
8
16
32
48
112
240
—
—
6
14
30
46
110
238
—
—
4
12
28
44
108
236
—
—
2
10
26
42
106
234
—
—
0
8
24
40
104
232
—
—
—
0
16
32
96
224
01
2
10
3
11
4
000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
111
000
001
010
011
8
16
24
32
48
64
128
256
8
16
24
32
48
64
128
256
8
16
24
32
—
0
8
16
32
48
112
240
—
—
0
8
24
40
104
232
—
—
—
0
—
—
—
0
16
32
96
224
—
—
—
—
0
16
80
208
—
—
—
—
—
—
—
—
12
28
92
220
—
—
—
—
—
10
74
202
—
—
—
—
—
—
—
—
8
24
88
216
—
—
—
—
—
4
68
196
—
—
—
—
—
—
—
—
4
20
84
212
—
—
—
—
—
—
62
190
—
—
—
—
—
—
—
—
0
16
80
208
—
—
—
—
—
—
56
184
—
—
—
—
—
—
—
—
—
0
64
192
—
—
—
—
—
—
32
160
—
—
—
—
100
101
110
111
48
64
128
256
16
32
96
224
—
0
64
192
—
—
56
184
—
—
48
176
—
—
40
168
—
—
32
160
—
—
0
128
Rev.1.00 Jan. 10, 2008 Page 1318 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
In the case of the SSI module configured as a transmitter then each word that is written to SSITDR
is transmitted in order on the serial audio bus.
In the case of the SSI module configured as a receiver each word received on the serial audio bus
is presented for reading in order by SSIRDR.
Figures 26.6 to 26.8 show how 4, 6 and 8 channels are transferred on the serial audio bus.
Note that there are no padding bits in the first example, serial data is transmitted/received first and
followed by padding bits in the second example, and padding bits are transmitted/received first
and followed by serial data in the third example. This selection is purely arbitrary.
SCKP = 0, SWSP = 0, DEL = 1, CHNL = 01, SPDP = don't care, SDTA = don't care
System word length = data word length × 2
SSI_SCK
SSI_WS
SSI_SDATA
LSB MSB
LSB MSB
Data
word 1
LSB MSB
Data
word 2
System word 1
LSB MSB
Data
word 3
LSB MSB
Data
word 4
LSB MSB
Data
word 1
System word 2
LSB MSB
Data
word 2
LSB MSB
Data
word 3
System word 1
LSB MSB
Data
word 4
System word 2
Figure 26.6 Multi-channel Format (4 Channels, No Padding)
SCKP = 0, SWSP = 0, DEL = 1, CHNL = 10, SPDP = 1, SDTA = 0
System word length = data word length × 3
SSI_SCK
MSB
LSB MSB
Data
word 1
LSB MSB
Data
word 2
System word 1
LSB
Data
word 3
MSB
LSB MSB
Data
word 4
LSB MSB
Data
word 5
LSB
Data
word 6
Padding
SSI_SDATA
Padding
SSI_WS
MSB
System word 2
Figure 26.7 Multi-channel Format (6 Channels with High Padding)
Rev.1.00 Jan. 10, 2008 Page 1319 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
SCKP = 0, SWSP = 1, DEL = 1, CHNL = 11, SPDP = 0, SDTA = 1
System word length > data word length × 4
SSI_SCK
SSI_WS
Padding
MSB
LSB MSB
Data
word 1
LSB MSB
Data
word 2
LSB MSB
Data
word 3
System word 1
LSB
Data
word 4
MSB
Padding
SSI_SDATA
LSB MSB
Data
word 5
LSB MSB
Data
word 6
LSB MSB
Data
word 7
System word 2
Figure 26.8 Multi-channel Format (8 Channels,
Serial Data First, Followed by Padding Bits, with Padding)
Rev.1.00 Jan. 10, 2008 Page 1320 of 1658
REJ09B0261-0100
LSB
Data
word 8
26. Serial Sound Interface (SSI) Module
(7)
Configuration Fields—Signal Format Fields
There are several more configuration bits in non-compressed mode which will now be
demonstrated. These bits are NOT mutually exclusive, however some configurations will probably
not be useful for any other device.
They are demonstrated by referring to the following basic sample format shown in figure 26.9.
SWL = 6 bits (not attainable in SSI module, demonstration only)
DWL = 4 bits (not attainable in SSI module, demonstration only)
CHNL = 00, SCKP = 0, SWSP = 0, SPDP = 0, SDTA = 0, PDATA = 0, DEL = 0, MUEN = 0
4-bit data samples continuously written to SSITDR are transmitted onto the serial audio bus.
SSI_SCK
1st channel
SSI_WS
SSI_SDATA TD28
0
0
TD31 TD30 TD29 TD28
2nd channel
0
0
TD31 TD30 TD29 TD28
0
0
TD31
Key for this and following diagrams:
Arrow head indicates sampling point of receiver
TDn
0
1
Bit n in SSITDR
means a low level on the serial bus (padding or mute)
means a high level on the serial bus (padding)
Figure 26.9 Basic Sample Format
(Transmit Mode with Example System/Data Word Length)
In figure 26.9, system word length of 6 bits and a data word length of 4 bits are used. Neither of
these are possible with the SSI module but are used only for clarification of the other
configuration bits.
Rev.1.00 Jan. 10, 2008 Page 1321 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
1. Inverted Clock
As basic sample format configuration except SCKP = 1
SSI_SCK
System word 1
SSI_WS
SSI_SDATA
TD28
0
0
TD31 TD30 TD29 TD28
System word 2
0
0
TD31 TD30 TD29 TD28
0
0
TD31
0
0
TD31
1
1
TD31
Figure 26.10 Inverted Clock
2. Inverted Word Select
As basic sample format configuration except SWSP = 1
SSI_SCK
System word 1
SSI_WS
SSI_SDATA TD28
0
0
TD31 TD30 TD29 TD28
System word 2
0
0
TD31 TD30 TD29 TD28
Figure 26.11 Inverted Word Select
3. Inverted Padding Polarity
As basic sample format configuration except SPDP = 1
SSI_SCK
System word 1
SSI_WS
SSI_SDATA TD28
1
1
TD31 TD30 TD29 TD28
System word 2
1
1
TD31 TD30 TD29 TD28
Figure 26.12 Inverted Padding Polarity
Rev.1.00 Jan. 10, 2008 Page 1322 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
4. Padding Bits First, Followed by Serial Data, with Delay
As basic sample format configuration except SDTA = 1
SSI_SCK
System word 1
SSI_WS
SSI_SDATA
TD30 TD29 TD28
0
0
System word 2
TD31 TD30 TD29 TD28
0
0
TD31 TD30 TD29 TD28
0
Figure 26.13 Padding Bits First, Followed by Serial Data, with Delay
5. Padding Bits First, Followed by Serial Data, without Delay
As basic sample format configuration except SDTA = 1 and DEL = 1
SSI_SCK
System word 2
System word 1
SSI_WS
SSI_SDATA TD29 TD28
0
0
TD31 TD30 TD29 TD28
0
0
TD31 TD30 TD29 TD28
0
0
Figure 26.14 Padding Bits First, Followed by Serial Data, without Delay
6. Serial Data First, Followed by Padding Bits, without Delay
As basic sample format configuration except DEL = 1
SSI_SCK
System word 1
SSI_WS
SSI_SDATA
0
0
TD31 TD30 TD29 TD28
System word 2
0
0
TD31 TD30 TD29 TD28
0
0
TD31 TD30
Figure 26.15 Serial Data First, Followed by Padding Bits, without Delay
Rev.1.00 Jan. 10, 2008 Page 1323 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
7. Parallel Right Aligned with Delay
As basic sample format configuration except PDTA = 1
SSI_SCK
System word 1
SSI_WS
SSI_SDATA
TD0
0
0
System word 2
TD3 TD2 TD1 TD0
0
0
TD3 TD2 TD1 TD0
0
0
TD3
0
0
0
Figure 26.16 Parallel Right Aligned with Delay
8. Mute Enabled
As basic sample format configuration except MUEN = 1 (TD data ignored)
SSI_SCK
SSI_WS
SSI_SDATA
System word 1
0
0
0
0
0
0
System word 2
0
0
0
0
0
0
0
When MUBN = 1 in transmit mode, a low level is output from the SSI_SDATA pin regardless of padding setting.
Figure 26.17 Mute Enabled
26.4.3
Compressed Modes
The compressed mode is used to transfer a continuous bit stream. This would typically be a
compressed bit stream which requires downstream decoding.
When burst mode is not enabled, there is no concept of a data word. However in order to receive
and transmit it is necessary to transfer between the serial bus and word formatted memory.
Therefore the word boundary selection is arbitrary during receive/transmit and must be dealt with
by another module. When burst mode is enabled then data bits being transmitted can be identified
by virtue of the fact that the serial clock output is only activated when there is a word to be output
and only the required number of clock pulses necessary to clock out each 32-bit word are
generated. The serial bit clock stops at a low level when SSICR.SCKP = 0, and at a high level
when SSICR.SCKP = 1. Note burst mode is only valid in the context of the SSI module being a
transmitter of data. Burst mode data cannot be received by this module.
Data is transmitted and received in blocks of 32 bits, and the first bit received/transmitted bit is bit
31 when stored in memory.
Rev.1.00 Jan. 10, 2008 Page 1324 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
The word select pin in this mode does not act as a system word start signal as in non-compressed
mode, but instead is used to indicate that the receiver can receive another data burst, or the
transmitter can transmit another data burst.
Figures 26.18 and 26.19 show the compressed mode data transfer, with burst mode disabled, and
enabled, respectively.
TRMD = 1, CPEN = 1, SCKD = 1, SWSD = 1, SWSP = 0, BREN = 0
SSI_SCK
SSI_WS
SSI_SDATA
MSB
LSB MSB
Data word 1
LSB
Data word 2
MSB
Null data
LSB
Data word 3
Figure 26.18 Compressed Data Format, Master Transmitter, Burst Mode Disabled
TRMD = 1, CPEN = 1, SCKD = 1, SWSD = 1, SWSP = 0, BREN = 1
SSI_SCK
SSI_WS
SSI_SDATA
MSB
LSB MSB
Data word 1
LSB
Data word 2
MSB
Null data
LSB
Data word 3
Figure 26.19 Compressed Data Format, Master Transmitter, and Burst Mode Enabled
Rev.1.00 Jan. 10, 2008 Page 1325 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
(1)
Slave Receiver
This mode allows the module to receive a serial bit stream from another device and store it in
memory.
The shift register clock can be supplied from an external device or from an internal clock.
The word select pin is used as an input flow control. Assuming that SWSP = 0 if SSI_WS is high
then the module will receive the bit stream in blocks of 32 bits, one data bit per clock. If SSI_WS
goes low then the module will complete the current 32-bit block and then stop any further
reception, until SSI_WS goes high again.
(2)
Slave Transmitter
This mode cannot be used.
(3)
Master Receiver
This mode allows the SSI module to receive a serial bit stream from another device and store it in
memory.
The shift register clock can be supplied from an external device or from an internal clock.
The word select pin is used as an output flow control. The module always asserts the word select
signal to indicate it can receive more data continuously. It is the responsibility of the transmitting
device to ensure it can transmit data to the SSI module in time to ensure no data is lost.
(4)
Master Transmitter
This mode allows the module to transmit a serial bit stream from internal memory to another
device.
The shift register clock can be supplied from an external device or from an internal clock.
The word select pin is used as an output flow control. The module always asserts the word select
signal to indicate it will transmit more data continuously. Word select signal is not asserted until
the first word is ready to transmit however. It is the responsibility of the receiving device to ensure
it can receive the serial data in time to ensure no data is lost.
When the configuration for data transfer is completed, the SSI module can work with the
minimum interaction with CPU. The CPU specifies settings for the SSI module and DMAC then
handles overflow/ underflow interrupts if required.
Rev.1.00 Jan. 10, 2008 Page 1326 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.4.4
Operation Modes
There are three modes of operation: configuration, enabled and disabled. Figure 26.20 shows the
transition diagram between these operation modes.
Power-on reset
Manual reset
Module
configration
(after reset)
EN = 1
(IDST = 0)
EN = 0
(IDST = 1)
Module
disabled
(waiting until
bus inactive)
EN = 0
(IDST = 0)
Module
enabled
(normal tx/rx)
Figure 26.20 Transition Diagram between Operation Modes
(1)
Configuration Mode
This mode is entered after the module is released from reset. All required settings in the control
register should be defined in this mode, before the SSI module is enabled by setting the EN bit.
Setting the EN bit causes the SSI module to enter the module enabled mode.
(2)
Module Enabled Mode:
Operation of the module in this mode depends on the selected operating mode. For details, see
section 26.4.5, Transmit Operation and section 26.4.6, Receive Operation.
Rev.1.00 Jan. 10, 2008 Page 1327 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.4.5
Transmit Operation
Transmission can be controlled in one of two ways: either DMA or an interrupt driven.
DMA driven is preferred to reduce the CPU load. In DMA control mode, an underflow or
overflow of data or DMAC transfer end is notified by using an interrupt.
The alternative is using the interrupts that the SSI module generates to supply data as required.
This mode has a higher interrupt load as the SSI module is only double buffered and will require
data to be written at least every system word period.
When disabling the SSI module, the SSI clock* must be supplied continuously until the module
enters in the idle state, indicated by the IIRQ bit.
Figure 26.21 shows the transmit operation in the DMA controller mode. Figure 26.22 shows the
transmit operation in the interrupt controller mode.
Note: * SCKD = 0: Clock input through the SSI_SCK pin
SCKD = 1: Clock input through the SSI_CLK pin
Rev.1.00 Jan. 10, 2008 Page 1328 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
(1)
Transmission Using DMA Controller
Start
Specify TRMD, EN, SCKD,
SWSD, MUEN, DEL, PDTA,
SDTA, SPDP, SWSP, SCKP,
SWL, DWL, CHNL
Release reset,
specify configuration bits
in SSICR
Setup DMA controller to provide data
as required for transmission
EN = 1,
DMEN = 1,
UIEN = 1, OIEN = 1
Enable SSI module,
enable DMA,
enable error interrupts
Wait for interrupt from DMAC or SSI
SSI
error interrupt?
No
Yes
Yes
Has DMAC
Tx data been
completed?
More data to be send?
Disable SSI module,
disable DMA
disable error interrupt,
enable Idle interrupt
EN = 0,
DMEN = 0
UIEN = 0, OIEN = 0,
IIEN = 1
Wait for idle interrupt
from SSI module
End*
Note: * When SSI error interrupt occurs (underflow/overflow), back to start
and execute flow again.
Figure 26.21 Transmission Using DMA Controller
Rev.1.00 Jan. 10, 2008 Page 1329 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
(2)
Transmission using Interrupt Data Flow Control
Start
Specify TRMD, EN, SCKD,
SWSD, MUEN, DEL, PDTA,
SDTA, SPDP, SWSP, SCKP,
SWL, DWL, CHNL
Release reset,
specify configuration bits
in SSICR
Enable SSI module,
enable DMA,
enable error interrupts
EN = 1,
DIEN = 1,
UIEN = 1, OIEN = 1
n = ( (CHNL + 1) x 2)
Loop
Wait for interrupt from SSI
Data interrupt?
No
Use SSI status register bits
to realign data
after underflow/overflow
Yes
Load data of channel n
Next Channel
Yes
More data
to be send?
No
Disable SSI module,
disable DMA
disable error interrupt,
enable Idle interrupt
EN = 0,
DIEN = 0
UIEN = 0, OIEN = 0,
IIEN = 1
Wait for Idle interrupt
from SSI module
End
Figure 26.22 Transmission Using Interrupt Data Flow Control
Rev.1.00 Jan. 10, 2008 Page 1330 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.4.6
Receive Operation
As with transmission the reception can be controlled in one of two ways: either DMA or an
interrupt driven.
Figures 26.23 and 26.24 show the flow of operation.
When disabling the SSI module, the SSI clock must be supplied continuously until the module
enters in the idle state, which is indicated by the IIRQ bit.
Note: * SCKD = 0: Clock input through the SSI_SCK pin
SCKD = 1: Clock input through the SSI_CLK pin
Rev.1.00 Jan. 10, 2008 Page 1331 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
(1)
Reception Using DMA Controller
Start
Specify TRMD, EN, SCKD,
SWSD, MUEN, DEL, PDTA,
SDTA, SPDP, SWSP, SCKP,
SWL, DWL, CHNL
Release reset,
specify configuration bits
in SSICR
Setup DMA controller to transfer data
from SSI module to memory
EN = 1,
DMEN = 1,
UIEN = 1, OIEN = 1
Enable SSI module,
enable DMA,
enable error interrupts
Wait for interrupt from DMAC or SSI
SSI
Error interrupt?
Yes
No
No
Has DMAC Rx data
been completed?
Yes
Yes
More data
to be received?
No
Disable SSI module,
disable DMA
disable error interrupt,
enable Idle interrupt
EN = 0,
DMEN = 0
UIEN = 0, OIEN = 0,
IIEN = 1
Wait for idle interrupt
from SSI module
End*
Note: * When SSI error interrupt occurs (underflow/overflow), back to start
and execute flow again.
Figure 26.23 Reception Using DMA Controller
Rev.1.00 Jan. 10, 2008 Page 1332 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
(2)
Reception Using Interrupt Data Flow Control
Start
Specify TRMD, EN, SCKD,
SWSD, MUEN, DEL, PDTA,
SDTA, SPDP, SWSP, SCKP,
SWL, DWL, CHNL
Release reset,
specify configuration bits
in SSICR
Enable SSI module,
enable data interrupt,
enable error interrupts
EN = 1,
DIEN = 1,
UIEN = 1, OIEN = 1
Wait for interrupt from SSI
SSI
Error interrupt?
Yes
Use SSI status register bits
to realign data
after underflow/overflow
No
Read data from
receive data register
Yes
More data to be
received?
No
Disable SSI module,
disable data interrupt
disable error IRQ,
enable idle IRQ
EN = 0,
DIEN = 0
UIEN = 0, OIEN = 0,
IIEN = 1
Wait for idle interrupt
from SSI module
End
Figure 26.24 Reception Using Interrupt Data Flow Control
Rev.1.00 Jan. 10, 2008 Page 1333 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
When an underflow or overflow error condition is met (UIRQ = 1 or OIRQ = 1), the CHNO[1:0]
and SWNO bits can be used to recover the SSI module to a known status. When an underflow or
overflow occurs, the CPU can read the number of channels and the number of system words to
determine what point the serial audio stream has currently reached. In the transmitter case, the
CPU can skip forward through the data it wants to transmit until the transmit of the data for which
the SSI module is expecting to transmit next is enabled, and so resynchronize with the audio data
stream. In the receiver case, the CPU can skip forward storing null sample data until it is ready to
store the sample data that the SSI module will receive next to ensure consistency of the number of
received data, and so resynchronize with the audio data stream.
26.4.7
Serial Clock Control
This function is used to control and select which clock is used for the serial bus interface.
If the serial clock direction is set to input (SCKD = 0), the SSI module is in clock slave mode, then
the bit clock that is used in the shift register is derived from the SSI_SCK pin.
If the serial clock direction is set to output (SCKD = 1), the SSI module is in clock master mode,
and the shift register uses the bit clock derived from the SSI_CLK input pin or its clock divided.
This input clock is then divided by the ratio in the serial oversampling clock division ratio
(CKDV) bits in SSICR and used as the bit clock in the shift register.
In either case, the SSI_SCK pin output is the same as the bit clock.
Rev.1.00 Jan. 10, 2008 Page 1334 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
26.5
Usage Note
26.5.1
Restrictions when an Overflow Occurs during Receive DMA Operation
If an overflow occurs during receive DMA operation, the module must be reactivated.
The receive buffer of SSI has 32-bit common register to the left channel and right channel. If an
overflow occurs under the condition of control register (SSICR) data-word length (DWL2 to 0) is
32-bit and system-word length (SWL2 to 0) is 32-bit, SSI has received the data at right channel
that should be received at left channel.
If an overflow occurrence is confirmed through an overflow error interrupt or overflow error status
flag (the OIRQ bit in SSISR), disable the DMA transfer of the SSI to halt its operation by writing
0 to the EN bit and DMEN bit in SSICR (then terminate the DMAC setting). And clear the
overflow status flag by writing 0 to the OIRQ bit, set the DMA again to restart transfer.
26.5.2
Pin Function Setting for the SSI Module
Before setting or activating the SSI module, set the peripheral module select registers and the port
control registers in terms of the SSI0 and SSI1 channels as described in section 28, General
Purpose I/O Ports (GPIO).
26.5.3
Usage Note in Slave Mode
When terminating data transmission in slave mode, the WS signal (SSI WS) input should be kept
the active state until SSICR.IDST becomes 1 after SSICR.EN is cleared to 0 (see next page
figure). The “active state” means the WS signal is being input high (or low) and low (or high)
alternately as for each system word cycles (it will become more than five system word cycles after
EN bit is cleared to 0).
If the WS signal active state input is stopped before SSICR.IDST becomes 1, the transfer of the
SSI is not terminated normally and the transfer will be suspended. If SSICR.EN is set to 1 again in
this state, the transfer is resumed from the suspended state and an unexpected data transfer may
occur.
Note that, the normal data transmission of the SSI can be resumed from the first or second WS
falling edge after the EN bit is set to 1 while the IDST bit is 1.
Rev.1.00 Jan. 10, 2008 Page 1335 of 1658
REJ09B0261-0100
26. Serial Sound Interface (SSI) Module
SCK
One system word
Keep active WS input until IDST become 1
(more than five system words)
SSI_WS
SSI_SDATA
SSISR.IDST
SSICR.EN
Resumption from first or second WS falling
edge (SWSP = 0) after EN bit is set to 1
SSI internal
state
Data transmission
Termination and transition to idle
Idle or data transmission
Figure 26.25 SSI Transfer Termination and Resumption Timing in Slave Mode
Rev.1.00 Jan. 10, 2008 Page 1336 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Section 27 NAND Flash Memory Controller (FLCTL)
The NAND flash memory controller (FLCTL) provides interfaces with an external NAND-type
flash memory.
27.1
(1)
Features
NAND-Type Flash Memory Interface
• Interface that can be connected to NAND-type flash memory
• Read or write in sector* units (512 + 16 bytes)
• Read or write in byte units
Note: * In the data sheet of NAND-type flash memory, an access unit of some products is
defined to be 2048 + 64 bytes as a page. In this document, a sector always refers to the
access unit of 512 + 16 bytes.
(2)
Access Modes
The FLCTL has two selectable access modes.
• Command access mode:
Performs an access by specifying a command to be issued from the FLCTL to flash memory,
address, and data size to be input or output.
• Sector access mode:
Read or write in physical sector units by specifying a physical sector. By specifying the
number of sectors, the continuous physical sectors can be read from or written to.
(3)
Sectors and Control Codes
• A sector is comprised of 512-byte data and 16-byte control code.
(4)
Data Error
• When a program error or erase error occurs, the error is reflected on the error source flags.
Interrupts for each source can be specified.
Rev.1.00 Jan. 10, 2008 Page 1337 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
(5)
Data Transfer FIFO
• On-chip 224-byte FLDTFIFO for data transfer of flash memory
• On-chip 32-byte FLECFIFO for data transfer of a control code
• Flag bit for detection of overrun or underrun during access from the CPU or DMA
(6)
DMA Transfer
• By individually specifying the transfer destinations of data and control code of flash memory
to the DMA controller, data and control code can be transferred to different areas.
(7)
Access Size
• Registers include 32-bit registers and an 8-bit register. Read from or write to the register with
the specified access size.
• The access size of FIFO is 32 bits (4 bytes). In reading, set the byte number to a multiple of
four. In writing, set the byte number to a multiple of four in writing.
(8)
Access Time
• The operating frequency of the FLCTL pins can be specified by the FCKSEL bit and the
QTSEL bit in FLCMNCR, regardless of the operating frequency of the peripheral bus.
• The operating clock, FCLK, on the pins for the NAND-type flash memory is used by dividing
the operating clock of the peripheral bus (a peripheral clock).
• In NAND-type flash memory, the FRE and FWE pins operate with the FCLK specified by
FLCMNCR. To ensure the setup time, this operating frequencies should not exceed the
maximum operating frequency of memory to be connected.
Rev.1.00 Jan. 10, 2008 Page 1338 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Figure 27.1 shows a block diagram of the FLCTL.
DMAC
Details of interrupt source
Peripheral bus
DMA transfer
requests
(2 lines)
• FLSTE (status error or ready busy
timeout error)
• FLTEND (transfer end)
• FLTRQ0 (FIFO0 transfer request)
• FLTRQ1 (FIFO1 transfer request)
32
Peripheral bus interface
32
32
32
Interrupt
control
Registers
32
QTSEL
FCKSEL
Transmission/
reception
control
FIFO
256 bytes
FCLK
×1, ×1/2,
×1/4
Peripheral clock
Pck
8
8
Flash interface
FLCTL
8
Control signal
NAND-type
flash memory
Figure 27.1 Block Diagram of FLCTL
Rev.1.00 Jan. 10, 2008 Page 1339 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.2
Input/Output Pins
Table 27.1 shows the pin configuration of the FLCTL.
Table 27.1 Pin Configuration
Corresponding
Flash Memory
Pin
Pin Name
Function
I/O
NAND Type
Description
FCE
Chip enable
Output
CE
Enables flash memory connected to this
LSI.
Multiplexed with SCIF0_CTS/INTD.
FD7 to
FD0
Data I/O
I/O
I/O7 to I/O0
I/O pins for command, address, and data.
Multiplexed with MODE3/IRL7,
MODE2/IRL6, MODE1/IRL5,
MODE0/IRL4, MODE11/SCIF4_SCK,
MODE10/SCIF4_RXD,
MODE9/SCIF4_TXD, and
MODE8/SCIF3_SCK.
FCLE
Command latch Output
enable
CLE
Command Latch Enable (CLE)
Asserted when a command is output.
Multiplexed with MODE4/SCIF3_TXD.
FALE
Address latch
enable
Output
ALE
Address Latch Enable (ALE)
Asserted when an address is output.
Negated when data is input or output.
Multiplexed with MODE7/SCIF3_RXD.
FRE
Read enable
Output
RE
Read Enable (RE)
Reads data at the falling edge of RE.
Multiplexed with SCIF0_SCK/HSPI_CLK.
FWE
Write enable
Output
WE
Write Enable
Flash memory latches a command,
address, and data at the rising edge of
WE.
Multiplexed with
SCIF0_TXD/HSPI_TX/MODE8.
Rev.1.00 Jan. 10, 2008 Page 1340 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Corresponding
Flash Memory
Pin
Pin Name
Function
I/O
NAND Type
Description
FR/B
Ready/busy
Input
R/B
Ready/Busy
Indicates ready state at high level.
Indicates busy state at low level.
Multiplexed with SCIF0_RXD/HSPI_RX.
—*
—
—
WP
Write Protect/Reset
Prevents accidental erasure or
programming when power is turned on or
off, at low level.
FSE
Spare area
enable
Output
SE
Spare Area Enable
Enables access to spare area. This pin
must be fixed low in sector access mode.
Multiplexed with SCIF0_RTS/HSPI_CS.
Note:
∗
Not supported by this LSI.
Rev.1.00 Jan. 10, 2008 Page 1341 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3
Register Descriptions
Table 27.2 shows the register configuration of FLCTL. Table 27.3 shows the register states in
each processing mode.
Table 27.2 Register Configuration of FLCTL
Register Name
Abbreviation
R/W
P4 Address
Access Sync
Clock
Area 7 Address Size
Common control register
FLCMNCR
R/W
H'FFE9 0000
H'1FE9 0000
32
Pck
Command control register
FLCMDCR
R/W
H'FFE9 0004
H'1FE9 0004
32
Pck
Command code register
FLCMCDR
R/W
H'FFE9 0008
H'1FE9 0008
32
Pck
Address register
FLADR
R/W
H'FFE9 000C
H'1FE9 000C
32
Pck
Data register
FLDATAR
R/W
H'FFE9 0010
H'1FE9 0010
32
Pck
Data counter register
FLDTCNTR
R/W
H'FFE9 0014
H'1FE9 0014
32
Pck
Interrupt DMA control register FLINTDMACR
R/W
H'FFE9 0018
H'1FE9 0018
32
Pck
Ready busy timeout setting
register
FLBSYTMR
R/W
H'FFE9 001C
H'1FE9 001C
32
Pck
Ready busy timeout counter
FLBSYCNT
R
H'FFE9 0020
H'1FE9 0020
32
Pck
Data FIFO register
FLDTFIFO
R/W
H'FFE9 0024
H'1FE9 0024
32
Pck
Control code FIFO register
FLECFIFO
R/W
H'FFE9 0028
H'1FE9 0028
32
Pck
Transfer control register
FLTRCR
R/W
H'FFE9 002C
H'1FE9 002C
8
Pck
Address register 2
FLADR2
R/W
H'FFE9 003C
H'1FE9 003C
32
Pck
Rev.1.00 Jan. 10, 2008 Page 1342 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Table 27.3 Register States in Each Processing Mode
Register Abbreviation
Power-On Reset
Manual Reset
Sleep/Deep Sleep
Module Standby
FLCMNCR
H'0000 0000
H'0000 0000
Retained
Retained
FLCMDCR
H'0000 0000
H'0000 0000
Retained
Retained
FLCMCDR
H'0000 0000
H'0000 0000
Retained
Retained
FLADR
H'0000 0000
H'0000 0000
Retained
Retained
FLDATAR
H'0000 0000
H'0000 0000
Retained
Retained
FLDTCNTR
H'0000 0000
H'0000 0000
Retained
Retained
FLINTDMACR
H'0000 0000
H'0000 0000
Retained
Retained
FLBSYTMR
H'0000 0000
H'0000 0000
Retained
Retained
FLBSYCNT
H'0000 0000
H'0000 0000
Retained
Retained
FLDTFIFO
Undefined
Undefined
Retained
Retained
FLECFIFO
Undefined
Undefined
Retained
Retained
FLTRCR
H'00
H'00
Retained
Retained
FLADR2
H'0000 0000
H'0000 0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1343 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.1
Common Control Register (FLCMNCR)
FLCMNCR is a 32-bit readable/writable register that specifies the type (NAND) of flash memory,
access mode, and FCE pin output.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
SNAND QTSEL
Initial value:
R/W:
Bit:
0
R
0
R
0
R
0
R
0
R
0
R
15
14
13
12
11
10
FCK
SEL
ACM[1:0]
Initial value:
R/W:
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 19
—
All 0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R
0
R
9
8
7
6
5
4
NAND
WF
0
R/W
0
R
0
R/W
0
R/W
3
2
1
0
R
0
R
0
R
0
R
0
R/W
0
TYPE
SEL
CE0
0
R
0
R
0
R
0
R
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
18
SNAND
0
R/W
Large Capacity NAND Flash Memory Select
This bit is used to specify the NAND flash memory that
a page consists of 2048 + 64 bytes.
0: Selects the flash memory that a page consists of 512
+ 16 bytes
1: Selects the flash memory that a page consists of
2048 + 64 bytes
17
QTSEL
0
R/W
Quarter Flash Clock Select
0: Uses the FCLK selected by the FCKSEL bit
1: Divides the operating clock of the FLCTL (a
peripheral clock) by four and uses it as the FCLK
when FCKSEL = 0
Note: When FCKSEL = 1, setting this bit to 1 is
prohibited.
16
—
0
R
Reserved
This bit is always read as 0. The write value should
always be 0.
Rev.1.00 Jan. 10, 2008 Page 1344 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
15
FCKSEL
0
R/W
Flash Clock Select
0: Divides the operating clock of the FLCTL (a
peripheral clock) by two and uses it as the FCLK
1: Uses the operating clock of the FLCTL (a peripheral
clock) as the FCLK
14 to 12
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
11, 10
ACM[1:0]
00
R/W
Access Mode Specification [1:0]
Specify access mode.
00: Command access mode
01: Sector access mode
10: Setting prohibited
11: Setting prohibited
9
NANDWF
0
R/W
NAND Wait Insertion Operation
0: No wait
1: A wait cycle is inserted
8 to 4
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
3
CE0
0
R/W
Chip Enable 0
0: Disabled (Outputs high level to the FCE pin)
1: Enabled (Outputs low level to the FCE pin)
2, 1
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
0
TYPESEL
0
R/W
Memory Select
0: Reserved
1: NAND-type flash memory is selected
Note: Set TYPESEL to 1 to use FLCTL.
Rev.1.00 Jan. 10, 2008 Page 1345 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.2
Command Control Register (FLCMDCR)
FLCMDCR is a 32-bit readable/writable register that issues a command in command access mode,
specifies address issue, and specifies destination of data to be input or output. In sector access
mode, FLCMDCR specifies the number of sector transfers.
Bit:
31
30
ADR
CNT2
Initial value:
R/W:
Bit:
29
28
27
SCTCNT[19:16]
26
25
ADRMD CDSRC
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
15
14
13
12
11
10
9
24
23
22
DOSR
21
20
SELRW DOADR
19
18
17
16
ADRCNT[1:0] DOCMD2 DOCMD1
0
R/W
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
SCTCNT[15:0]
Initial value:
R/W:
0
R/W
Bit
Bit Name
31
0
R/W
0
R/W
0
R/W
Initial
Value
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R/W
Description
ADRCNT2 0
R/W
Address Issue Byte Number Specification
Specifies the number of bytes issued in the address
stage.
0: Issues address as many as the bytes specified in
ADRCNT1 and ADRCNT0
1: Issues 5-byte address
Note: Set ADRCNT1 and ADRCNT0 to 0.
30 to 27
SCTCNT
[19:16]
All 0
R/W
Selector Transfer Count Specification [19:16]
These bits are extended bits of bits SCTCNT[15:0].
When bits SCTCNT[19:16] and bits SCTCNT[15:0] are
put together, these bits operate as a 20-bit counter of
bits SCTCNT[19:0].
26
ADRMD
0
R/W
Sector Access Address Specification
This bit is invalid in command access mode. This bit is
valid only in sector access mode.
0: The value of the address register is handled as a
physical sector number. Always use this value in
sector access.
1: The value of the address register is output as the
address of flash memory.
Note: Clear this bit to 0 in continuous sector access.
Rev.1.00 Jan. 10, 2008 Page 1346 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
25
CDSRC
0
R/W
Data Buffer Specification
Specifies the data buffer to be read from or written to in
the data stage* in command access mode.
0: Specifies FLDATAR as the data buffer.
1: Specifies FLDTFIFO as the data buffer.
24
DOSR
0
R/W
Status Read Check
Specifies whether the status read is performed after the
second command has been issued in command access
mode.
0: Performs no status read
1: Performs status read
23, 22
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
21
SELRW
0
R/W
Data Read/Write Specification
Specifies whether the direction is read or write in data
stage.
0: Read
1: Write
20
DOADR
0
R/W
Address Stage Execution Specification
Specifies whether the address stage* is executed in
command access mode.
0: Performs no address stage
1: Performs address stage
19, 18
ADRCNT
[1:0]
00
R/W
Address Issue Byte Count Specification
Specify the number of bytes for the address data to be
issued in address stage*.
00: Issue 1-byte address
01: Issue 2-byte address
10: Issue 3-byte address
11: Issue 4-byte address
17
DOCMD2
0
R/W
Second Command Stage* Execution Specification
Specifies whether the second command stage* is
executed in command access mode.
0: Does not execute the second command stage
1: Executes the second command stage
Rev.1.00 Jan. 10, 2008 Page 1347 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
16
DOCMD1
0
R/W
First Command Stage* Execution Specification
Specifies whether the first command stage* is executed
in command access mode.
0: Does not execute the first command stage
1: Executes the first command stage
15 to 0
SCTCNT
[15:0]
H'0000
R/W
Sector Transfer Count Specification
Specify the number of sectors to be read continuously
in sector access mode. These bits are counted down for
each sector transfer end, and stop when they reach 0.
When accessing one sector, set SCTCNT to 1.
Note:
*
27.3.3
For command stage, address stage, and data stage, see figure 27.2.
Command Code Register (FLCMCDR)
FLCMCDR is a 32-bit readable/writable register that specifies a command to be issued in
command access or sector access.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
CMD[15:8]
CMD[7:0]
Initial value:
R/W:
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 16
—
All 0
R
Reserved
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
15 to 8
CMD[15:8] H'00
R/W
Specify a command code to be issued in the second
command stage.
7 to 0
CMD[7:0]
R/W
Specify a command code to be issued in the first
command stage.
H'00
Rev.1.00 Jan. 10, 2008 Page 1348 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.4
Address Register (FLADR)
FLADR is a 32-bit readable/writable register that specifies an address to be output in command
access mode. In sector access mode, a physical sector number specified in the physical sector
address bits is converted into an address to be output.
• Command access mode
Bit:
31
30
29
28
27
26
25
24
23
22
21
ADR[31:24]
Initial value:
R/W:
Bit:
0
R/W
0
R/W
0
R/W
15
14
13
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
12
11
10
9
8
7
6
5
ADR[15:8]
Initial value:
R/W:
Bit
0
R/W
0
R/W
Bit Name
0
R/W
0
R/W
Initial
Value
31 to 24 ADR[31:24] H'00
0
R/W
R/W
R/W
20
19
18
17
16
ADR[23:16]
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
4
3
2
1
0
0
R/W
0
R/W
0
R/W
ADR[7:0]
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Fourth Address Data
Specify the fourth data to be output to flash memory as
an address in command access mode.
23 to 16 ADR[23:16] H'00
R/W
Third Address Data
Specify the third data to be output to flash memory as
an address in command access mode.
15 to 8
ADR[15:8]
H'00
R/W
Second Address Data
Specify the second data to be output to flash memory
as an address in command access mode.
7 to 0
ADR[7:0]
H'00
R/W
First Address Data
Specify the first data to be output to flash memory as an
address in command access mode.
Rev.1.00 Jan. 10, 2008 Page 1349 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
• Sector access mode
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
ADR[25:16]
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
Bit:
15
14
13
12
11
10
9
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
ADR[15:0]
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 26
—
All 0
R
Reserved
0
R/W
These bits are undefined depending on the operation
mode of the FLCTL.
25 to 0
ADR[25:0] All 0
R/W
Physical Sector Address
Specify a physical sector number to be accessed in
sector access mode. The physical sector number is
converted into an address and is output to flash
memory. When the ADRCNT2 bit in FLCMDCR is 1,
ADR25 to ADR0 are valid. When the ADRCNT2 bit in
FLCMDCR is 0, ADR17 to ADR0 are valid.
Rev.1.00 Jan. 10, 2008 Page 1350 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.5
Address Register 2 (FLADR2)
FLADR2 is a 32-bit readable/writable register that is valid when the ADRCNT2 bit in FLCMDCR
is 1. This register specifies the value to be output as an address in command mode.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
ADR[7:0]
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
31 to 8
—
All 0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value should
always be 0.
7 to 0
ADR[7:0]
All 0
R/W
Fifth Address Data
Specify the fifth data to be output to flash memory as an
address in command access mode.
Rev.1.00 Jan. 10, 2008 Page 1351 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.6
Data Counter Register (FLDTCNTR)
FLDTCNTR is a 32-bit readable/writable register that specifies the number of bytes to be read or
written in command access mode.
Bit:
31
30
29
28
27
26
25
24
23
22
21
ECFLW[7:0]
20
19
18
17
16
DTFLW[7:0]
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
DTCNT[11:0]
Initial value:
R/W:
0
R
0
R
Bit
Bit Name
31 to 24
23 to 16
0
R
0
R
Initial
Value
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
R/W
Description
ECFLW[7:0] H'00
R
FLECFIFO Access Count
Specify the number of longwords (4 bytes) in FLECFIFO
to be read or written. These bit can be used when the
CPU reads from or writes to FLECFIFO.
In reading from FLECFIFO, these bits specify the number
of longwords of the data that can be read from
FLECFIFO.
In writing to FLECFIFO, these bits specify the number of
longwords of empty area that can be written to
FLECFIFO.
DTFLW[7:0] H'00
R
FLDTFIFO Access Count
Specify the number of longwords (4 bytes) in FLDTFIFO
to be read or written. These bit values are used when the
CPU reads from or writes to FLDTFIFO.
In reading from FLDTFIFO, these bits specify the number
of longwords of the data that can be read from
FLDTFIFO.
In writing to FLDTFIFO, these bits specify the number of
longwords of empty area that can be written in
FLDTFIFO.
15 to 12
—
AlI 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
11 to 0
DTCNT[11:0] H'000
R/W
Data Count Specification
Specify the number of bytes of data to be read or written
in command access mode (Up to 2048 + 64 bytes can be
specified.)
Rev.1.00 Jan. 10, 2008 Page 1352 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.7
Data Register (FLDATAR)
FLDATAR is a 32-bit readable/writable register. It stores data to be input or output used when the
CDSRC bit in FLCMDCR is cleared to 0 in command access mode.
Bit:
31
30
29
28
27
26
25
24
23
22
21
DT[31:24]
Initial value:
R/W:
Bit:
0
R/W
0
R/W
0
R/W
15
14
13
0
R/W
0
R/W
0
R/W
19
18
17
16
DT[23:16]
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
DT[15:8]
Initial value:
R/W:
20
0
R/W
0
R/W
DT[7:0]
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 24
DT[31:24]
H'00
R/W
Fourth Data
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Specify the 4th data to be input or output via the FD7 to
FD0 pins.
In writing: Specify write data
In reading: Store read data
23 to 16
DT[23:16]
H'00
R/W
Third Data
Specify the 3rd data to be input or output via the FD7 to
FD0 pins.
In writing: Specify write data
In reading: Store read data
15 to 8
DT[15:8]
H'00
R/W
Second Data
Specify the 2nd data to be input or output via the FD7
to FD0 pins.
In writing: Specify write data
In reading: Store read data
7 to 0
DT[7:0]
H'00
R/W
First Data
Specify the 1st data to be input or output via the FD7 to
FD0 pins.
In writing: Specify write data
In reading: Store read data
Rev.1.00 Jan. 10, 2008 Page 1353 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.8
Interrupt DMA Control Register (FLINTDMACR)
FLINTDMACR is a 32-bit readable/writable register that enables or disables DMA transfer
requests or interrupts. A transfer request from the FLCTL to the DMAC is issued after each access
mode has started.
Bit:
31
30
29
28
27
26
25
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 1354 of 1658
REJ09B0261-0100
0
R
0
R
24
0
R
23
0
R
22
0
R
21
20
19
18
17
16
FIFOTRG[1:0]
AC1
CLR
AC0 DREQ1 DREQ0
CLR
EN
EN
0
R/W
0
R/W
0
R/W
0
R/W
4
3
0
R/W
1
0
8
7
6
5
STE
RB
BTO
ERB
TRR
EQF1
TRR
EQF0
STER RBER
INTE INTE
TE
INTE
TR
TR
INTE1 INTE0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
2
0
R/W
0
R/W
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
31 to 22
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
21, 20
FIFOTRG
[1:0]
00
R/W
FIFO Trigger Setting
Change the condition for the FIFO transfer request.
(1) In reading flash memory
00: Issue an interrupt to the CPU or a DMA transfer
request when 4-byte data is written to
FLDTFIFO
01: Issue an interrupt to the CPU or a DMA transfer
request when 16-byte data is written to
FLDTFIFO
10: Issue an interrupt to the CPU or a DMA transfer
request when 128-byte data is written to
FLDTFIFO
11: Issue an interrupt to the CPU when FLDTFIFO
stores 128 bytes of data, or issue a DMA
transfer request when FLDTFIFO stores 16
bytes of data
(2) In writing flash memory
00: Issue an interrupt to the CPU when FLDTFIFO
has 4 bytes or more of empty area (do not set
DMA transfer)
01: Issue an interrupt or a DMA transfer request to
the CPU when FLDTFIFO has 16 bytes or more
of empty area
10: Issue an interrupt to the CPU when FLDTFIFO
has 128 bytes or more of empty area (do not
set DMA transfer)
11: Issue an interrupt to the CPU when FLDTFIFO
has 128 bytes or more of empty area, or issue a
DMA transfer request to the CPU when
FLDTFIFO has empty area of 16 bytes or more
19
AC1CLR
0
R/W
FLECFIFO Clear
Clears the address counter of FLECFIFO.
0: Retains the address counter value of FLECFIFO. In
flash-memory access, clear this bit to 0.
1: Clears the address counter of FLECFIFO. After
clearing the counter, clear this bit to 0.
Rev.1.00 Jan. 10, 2008 Page 1355 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
18
AC0CLR
0
R/W
FLDTFIFO Clear
Clears the address counter of FLDTFIFO.
0: Retains the address counter value of FLDTFIFO. In
flash-memory access, clear this bit to 0.
1: Clears the address counter of FLDTFIFO. After
clearing the counter, clear this bit to 0
17
DREQ1EN 0
R/W
FLECFIFODMA Request Enable
Enables or disables the DMA transfer request issued
from FLECFIFO.
0: Disables the issue of DMA transfer request from
FLECFIFO
1: Enables the issue of DMA transfer request from
FLECFIFO
16
DREQ0EN 0
R/W
FLDTFIFODMA Request Enable
Enables or disables the DMA transfer request issued
from FLDTFIFO.
0: Disables the issue of DMA transfer request from
FLDTFIFO
1: Enables the issue of DMA transfer request from
FLDTFIFO
15 to 9
—
All 0
R
Reserved
These bits are always read as 0. The write value should
always be 0.
8
STERB
0
R/W
Rev.1.00 Jan. 10, 2008 Page 1356 of 1658
REJ09B0261-0100
Status Error
Indicates the result of status read. This bit is set to 1 if
the specific bit in bits STAT7 to STAT0 in FLBSYCNT is
set to 1 in status read.
Since this bit is a flag bit, 1 cannot be written to this bit.
Only 0 can be written to clear the flag.
0: Indicates that no status error occurs (the specific bit
in bits STAT7 to STAT0 in FLBSYCNT is 0.)
1: Indicates that a status error occurs
For details on the specific bit, see section 27.4.4, Status
Read.
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
7
BTOERB
0
R/W
Timeout Error
This bit is set to 1 if a timeout error occurs (bits
RBTIMCNT20 to RBTIMCNT0 in FLBSYCNT are set to
0 after they are decremented).
Since this bit is a flag bit, 1 cannot be written to this bit.
Only 0 can be written to clear the flag.
0: Indicates that no timeout error occurs
1: Indicates that a timeout error occurs
6
TRREQF1 0
R/W
FLECFIFO Transfer Request Flag
Indicates that a transfer request is issued from
FLECFIFO.
Since this bit is a flag bit, 1 cannot be written to this bit.
Only 0 can be written to clear the flag.
0: Indicates that no transfer request is issued from
FLECFIFO
1: Indicates that a transfer request is issued from
FLECFIFO
5
TRREQF0 0
R/W
FLDTFIFO Transfer Request Flag
Indicates that a transfer request is issued from
FLDTFIFO.
Since this bit is a flag bit, 1 cannot be written to this bit.
Only 0 can be written to clear the flag.
0: Indicates that no transfer request is issued from
FLDTFIFO
1: Indicates that a transfer request is issued from
FLDTFIFO
4
STERINTE 0
R/W
Interrupt Enable at Status Error
Enables or disables an interrupt request to the CPU
when a status error has occurred.
0: Disables the interrupt request to the CPU by a status
error
1: Enables the interrupt request to the CPU by a status
error
Rev.1.00 Jan. 10, 2008 Page 1357 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Bit
Bit Name
Initial
Value
R/W
Description
3
BTOINTE
0
RW
Interrupt Enable at Timeout Error
Enables or disables an interrupt request to the CPU
when a timeout error has occurred.
0: Disables the interrupt request to the CPU by a
timeout error
1: Enables the interrupt request to the CPU by a
timeout error
2
TEINTE
0
R/W
Transfer End Interrupt Enable
Enables or disables an interrupt request to the CPU
when a transfer has been ended (TREND bit in
FLTRCR).
0: Disables an interrupt to the CPU at the end of a
transfer
1: Enables an interrupt to the CPU at the end of a
transfer
1
TRINTE1
0
R/W
FLECFIFO Transfer Request Enable to CPU
Enables or disables an interrupt request to the CPU by
a transfer request from FLECFIFO.
0: Disables an interrupt request to the CPU by a
transfer request from FLECFIFO.
1: Enables an interrupt request to the CPU by a transfer
request from FLECFIFO.
When the DMA transfer is enabled, this bit should be
cleared to 0.
0
TRINTE0
0
R/W
FLDTFIFO Transfer Request Enable to CPU
Enables or disables an interrupt request to the CPU by
a transfer request from FLDTFIFO.
0: Disables an interrupt request to the CPU by a
transfer request from FLDTFIFO
1: Enables an interrupt request to the CPU by a transfer
request from FLDTFIFO
When the DMA transfer is enabled, this bit should be
cleared to 0.
Rev.1.00 Jan. 10, 2008 Page 1358 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.9
Ready Busy Timeout Setting Register (FLBSYTMR)
FLBSYTMR is a 32-bit readable/writable register that specifies the timeout time when the FRB
pin is busy.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RBTMOUT[20:16]
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
0
R
0
R
0
R
0
R
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
RBTMOUT[15:0]
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
31 to 21
—
All 0
R
0
R/W
0
R/W
0
R/W
Description
Reserved
These bits are always read as 0. The write value
should always be 0.
20 to 0
RBTMOUT[20:0] H'00000 R/W
Ready Busy Timeout
Specify timeout time in the busy state
Set the timeout time in the busy state (with the clock
cycles of a peripheral clock)
When these bits are set to 0, timeout does not
occur.
Rev.1.00 Jan. 10, 2008 Page 1359 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.10 Ready Busy Timeout Counter (FLBSYCNT)
FLBSYCNT is a 32-bit read-only register.
The status of flash memory read by the status read is stored in the bits STAT7 to STAT0.
The timeout time set in bits RBTMOUT20 to RBTMOUT0 in FLBSYTMR is copied to bits
RBTIMCNT20 to RBTIMCNT0 and counting down is started when the FRB pin enters the busy
state. When values in bits RBTIMCNT20 to RBTIMCNT0 are decremented to 0, 1 the BTOERB
bit in FLINTDMACR is set to 1, and the occurrence of a timeout error is notified. In this case, an
FLSTE interrupt can be issued if an interrupt is enabled by the RBERINTE bit in FLINTDMACR.
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
STAT[7:0]
19
18
17
16
RBTIMCNT[20:16]
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
10
9
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
8
7
6
5
4
3
2
1
0
0
R
0
R
0
R
0
R
0
R
0
R
0
R
RBTIMCNT[15:0]
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 24
STAT[7:0]
H'00
R
Indicate the value obtained by the status read from
flash memory
23 to 21
—
All 0
R
Reserved
These bits are always read as 0.
20 to 0
RBTIMCNT[20:0] H'00000 R
Ready Busy Timeout Counter
When the FRB pin enters the busy state, the values
of bits RBTMOUT20 to RBTMOUT0 in FLBSYTMR
are copied to these bits. These bits are counted
down while the FRB pin is busy. A timeout error
occurs when these bits are decremented to 0.
Rev.1.00 Jan. 10, 2008 Page 1360 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.11 Data FIFO Register (FLDTFIFO)
FLDTFIFO is used to read from or write to the data FIFO area.
The read and write directions specified by the SELRW bit in FLCMDCR must match the read or
write access directions specified in this register.
Bit:
31
30
29
28
27
26
25
24
23
22
21
DTFO[31:24]
Initial value:
R/W:
Bit:
—
R/W
—
R/W
—
R/W
15
14
13
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
12
11
10
9
8
7
6
5
DTFO[15:8]
Initial value:
R/W:
—
R/W
—
R/W
—
R/W
—
R/W
Initial
Value
Bit
Bit Name
31 to 24
DTFO[31:24] ⎯
—
R/W
20
19
18
17
16
DTFO[23:16]
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
4
3
2
1
0
—
R/W
—
R/W
—
R/W
DTFO[7:0]
—
R/W
—
R/W
—
R/W
R/W
Description
R/W
First Data
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Specify the first data to be input or output via the FD7 to
FD0 pins.
In writing: Specify write data
In reading: Store read data
23 to 16
DTFO[23:16] ⎯
R/W
Second Data
Specify the second data to be input or output via the FD7
to FD0 pins.
In writing: Specify write data
In reading: Store read data
15 to 8
DTFO[15:8]
⎯
R/W
Third Data
Specify the third data to be input or output via the FD7 to
FD0 pins.
In writing: Specify write data
In reading: Store read data
7 to 0
DTFO[7:0]
⎯
R/W
Fourth Data
Specify the fourth data to be input or output via the FD7
to FD0 pins.
In writing: Specify write data
In reading: Store read data
Rev.1.00 Jan. 10, 2008 Page 1361 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.12 Control Code FIFO Register (FLECFIFO)
FLECFIFO is used to read from or write to the control code FIFO area.
The read and write directions specified by the SELRW bit in FLCMDCR must match the read and
write access directions specified in this register.
Bit:
31
30
29
28
27
26
25
24
23
22
21
ECFO[31:24]
Initial value:
R/W:
Bit:
—
R/W
—
R/W
—
R/W
15
14
13
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
12
11
10
9
8
7
6
5
ECFO[15:8]
Initial value:
R/W:
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
Initial
Value
20
19
18
17
16
ECFO[23:16]
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
4
3
2
1
0
—
R/W
—
R/W
—
R/W
ECFO[7:0]
—
R/W
—
R/W
—
R/W
Bit
Bit Name
31 to 24
ECFO[31:24] Undefined R/W First Data
—
R/W
—
R/W
—
R/W
—
R/W
—
R/W
R/W Description
Specify the first data to be input or output via the FD7 to
FD0 pins.
In writing: Specify write data
In reading: Store read data
23 to 16
ECFO[23:16] Undefined R/W Second Data
Specify the second data to be input or output via the
FD7 to FD0 pins.
In writing: Specify write data
In reading: Store read data
15 to 8
ECFO[15:8]
Undefined
R/W Third Data
Specify the third data to be input or output via the FD7
to FD0 pins.
In writing: Specify write data
In reading: Store read data
7 to 0
ECFO[7:0]
Undefined
R/W Fourth Data
Specify the fourth data to be input or output via the FD7
to FD0 pins.
In writing: Specify write data
In reading: Store read data
Rev.1.00 Jan. 10, 2008 Page 1362 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.3.13 Transfer Control Register (FLTRCR)
Setting the TRSTRT bit to 1 starts access to flash memory. The completion of the access can be
checked by the TREND bit.
Bit:
7
6
5
4
3
2
1
0
TREND TRSTRT
Initial value:
R/W:
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
7 to 2
—
All 0
R
Reserved
0
R
0
R
0
R/W
0
R/W
These bits are always read as 0. The write value should
always be 0.
1
TREND
0
R/W
Processing End Flag
Indicates that the processing performed in the specified
access mode has been completed. The write value
should always be 0.
0
TRSTRT
0
R/W
Transfer Start
When the TREND bit is 0, processing in the access mode
specified by the access mode specification bits ACM[1:0]
is started by setting the TRSTRT bit from 0 to 1.
0: Stops transfer
1: Starts transfer
Rev.1.00 Jan. 10, 2008 Page 1363 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.4
Operation
27.4.1
Operating Modes
Two operating modes are supported.
• Command access mode
• Sector access mode
27.4.2
Command Access Mode
Command access mode is a mode that accesses flash memory by specifying a command to be
issued to flash memory, address, data, read or write direction, and number of times for the
registers. In this mode, DMA transfer of input or output data can be performed by using
FLDTFIFO.
(1)
NAND-Type Flash Memory Access (512 + 16 Bytes)
Figure 27.2 shows an example of reading operation for NAND-type flash memory. In this
example, the first command is set to H'00, address data length is set to 3 bytes, and the number of
read bytes is set to 6 bytes in the data counter.
Command stage
Address stage
Data stage
CLE
ALE
WE
RE
I/O7 to I/O0
H'00
A1
A2
A3
1
2
3
4
5
R/B
Figure 27.2 Reading Operation Timing for NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1364 of 1658
REJ09B0261-0100
6
27. NAND Flash Memory Controller (FLCTL)
Figures 27.3 and 27.4 show examples of writing operation for NAND-type flash memory (512 +
16 bytes).
CLE
ALE
WE
RE
I/O7 to I/O0
H'80
A1
A2
A3
1
2
3
4
5
6
R/B
Figure 27.3 Writing Operation Timing for NAND-Type Flash Memory
CLE
ALE
WE
RE
I/O7 to I/O0
H'10
H'70
Status
R/B
Figure 27.4 Status Read Operation Timing for NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1365 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
(2)
NAND-Type Flash Memory Access (2048 + 64 Bytes)
Figure 27.5 shows an example of reading operation for NAND-type flash memory. In this
example, the first command is set to H'00, the second command is set to H'30, address data length
is set to 4 bytes, and the number of read bytes is set to 4 bytes in the data counter.
Command stage
Address stage
Command stage
Data stage
CLE
ALE
WE
R/B
Figure 27.5 Reading Operation Timing for NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1366 of 1658
REJ09B0261-0100
4
3
2
1
H'30
A4
A3
A1
A2
I/O7 to I/O0
H'00
RE
27. NAND Flash Memory Controller (FLCTL)
Figures 27.6 and 27.7 show examples of writing operation for NAND-type flash memory (2048 +
64 bytes).
CLE
ALE
WE
H'10
4
3
2
1
A4
A3
A2
I/O7 to I/O0
A1
H'80
RE
R/B
Figure 27.6 Writing Operation Timing for NAND-Type Flash Memory
CLE
ALE
WE
RE
I/O7 to I/O0
H'10
H'70
Status
R/B
Figure 27.7 Status Read Operation Timing for NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1367 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.4.3
Sector Access Mode
In sector access mode, flash memory can be read from or written to in sector units by specifying
the number of physical sectors to be accessed.
Since 512-byte data is stored in FLDTFIFO and 16-byte control code is stored in FLECFIFO,
DMA transfer can be performed by setting the DREQ1EN and DREQ0EN bits in FLINTDMACR.
Figure 27.8 shows the relationship of DMA transfer between sectors in flash memory (data and
control code) and memory in the address space.
Address space (external memory area)
Flash memory
Data (512 bytes)
Control
code
(16 bytes)
Data area
FLCTL
FLDTFIFO
DMA (channel 0)
transfer
FLECFIFO
Control code area
DMA (channel 1)
transfer
Figure 27.8 Diagram of DMA Transfer between Sector (Data and Control Code) in Flash
Memory and Memory in Address Space
Rev.1.00 Jan. 10, 2008 Page 1368 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
(1)
Physical Sector
Figure 27.9 shows the relationship between the physical sector address and flash memory address
of NAND-type flash memory.
• For NAND-type flash memory (512 + 16 bytes)
Physical sector address
Bit 17
Bit 0
Bit 17
Physical sector address bits (FLADR[17:0])
Bit 0
Row3
Row2
Row3
Row1
Row2
Row1
0 0 0 0 0 0
Order of address output to NAND-type flash memory I/O
Col
Row1
Col
0 0 0 0 0 0 0 0
Row2
Col: Column address
Row: Row address
(Page address)
Row3
• For NAND-type flash memory (2048 + 64 bytes)
Physical sector address
Bit 17
Bit 0
Bit 17
Physical sector address bits (FLADR[17:0])
Bit 0
Row2
Row1
Row2
Row1
Note: Since the address at each boundary
(512 + 16 bytes) of a column address is
generated by FLADR[1:0], when using
NAND-type flash memory (2048 + 64 bytes),
set FLADR[1:0] as follows:
00: Address at byte 0
01: Address at (512 + 16)th byte
10: Address at (1024 + 32)th byte
11: Address at (1536 + 48)th byte
Col
Col2
0 0 0 0 0
Order of address output to NAND-type flash memory I/O
Col1
Col2
Row1
Row2
0
Col1
0 0
0 0 0 0
Col: Column address
Row: Row address
(Page address)
Figure 27.9 Example of Sector Number and NAND-Type Flash Memory Address
Expansion
Rev.1.00 Jan. 10, 2008 Page 1369 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
(2)
Continuous Sector Access
Continuous physical sectors can be read from or written to by specifying the start physical sector
address of NAND-type flash memory and the number of sectors to be transferred. Figure 27.10
shows an example of physical sector specification register and transfer count specification register
settings when transferring logical sectors 0 to 40, which are not contiguous because of an unusable
sector in NAND-type flash memory.
Physical
sector
0
Logical
sector
0
11
12
13
11
***
13
40
40
300
12
Values specified in registers by CPU
Physical sector
specification
(FLADR, ADR17 to ADR0)
Physical sector
transfer count
(FLCMDCR, SCTCNT)
00
12
300
1
13
28
Transfer start
Sectors 0 to 11 are transferred
Transfer start
Sector 12 is transferred
Transfer start
Sectors 13 to 40 are transferred
Figure 27.10 Sector Access when Unusable Sector Is in Continuous Sectors
Rev.1.00 Jan. 10, 2008 Page 1370 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.4.4
Status Read
The FLCTL can read the status register of a NAND-type flash memory. The data in the status
register of a NAND-type flash memory is input through the I/O7 to I/O0 pins and stored in the bits
STAT7 to STAT0 in FLBSYCNT. The bits STAT7 to STAT0 in FLBSYCNT can be read by the
CPU. If a program error or erase error is detected when the status register value is stored in the
bits STAT7 to 0 in FLBSYCNT, the STERB bit in FLINTDMACR is set to 1 and generates an
interrupt to the CPU if the STERINTE bit in FLINTDMACR is enabled.
(1)
Status Read of NAND-Type Flash Memory (512 + 16 Bytes)
The status read of NAND-type flash memory can be performed by inputting the command H'70 to
NAND-type flash memory. When the DOSR bit in FLCMDCR is set to 1 and writing is performed
in command access mode or sector access mode, the FLCTL automatically inputs H'70 to NANDtype flash memory and status read is performed. During the status read of NAND-type flash
memory, the I/O7 to I/O0 pins indicate the following information as shown in table 27.4.
Table 27.4 Status Read of NAND-Type Flash Memory (512 + 16 Bytes)
I/O
Status (Definition)
Description
I/O7
Write protection
0: Cannot be written
1: Can be written
I/O6
Ready/busy
0: Busy state
1: Ready state
I/O5 to I/O1
Reserved
⎯
I/O0
Write/erase
0: Pass
1: Fail
Rev.1.00 Jan. 10, 2008 Page 1371 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
(2)
Status Read of NAND-Type Flash Memory (2048 + 64 Bytes)
The status read of NAND-type flash memory can be performed by inputting the command H'70 to
NAND-type flash memory. When the DOSR bit in FLCMDCR is set to 1 and writing is performed
in command access mode or sector access mode, the FLCTL automatically inputs H'70 to NANDtype flash memory and status read is performed. During the status read of NAND-type flash
memory, the I/O7 to I/O0 pins indicate the following information as shown in table 27.5.
Table 27.5 Status Read of NAND-Type Flash Memory (2048 + 64 Bytes)
I/O
Status (Definition)
Description
I/O7
Write protection
0: Cannot be written
I/O6
Ready/busy
1: Can be written
0: Busy state
1: Ready state
I/O5
Ready/busy
0: Busy state
1: Ready state
I/O4 to I/O1
Reserved
0
I/O0
Write/erase
0: Pass
1: Fail
Rev.1.00 Jan. 10, 2008 Page 1372 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.5
Example of Register Setting
The examples of setting and starting registers in each access mode are shown below.
Start of command access (block erase)
Common control register (FLCMNCR)
ACM[1:0] = B'00 (command access mode)
CE0 = B'1 (enable the chip)
TYPESEL = B'1 (select NAND-type flash memory)
Command control register (FLCMDCR)
DOCMD1 = B'1 (execute first command stage)
DOCMD2 = B'1 (execute second command stage)
DOADR = B'1 (execute address stage)
ADRMD = B'1 (address register value is output as
memory address)
ADRCNT[1:0] = B'01 (issue 2-byte address)
DOSR = B'1 (perform status read)
Command code register (FLCMCDR)
CMD[7:0] = H'60 (block erase command)
CMD[15:8] = H'D0 (block erase execute command)
Address register (FLADR)
Set erase addresses to ADR[7:0] and ADR[15:8]
Transfer control register (FLTRCR)
TRSTRT = B'1 (start flash memory access)
Perform block erase of flash memory
Issue first command
Issue address
Issue second command
Read status
Set TRSTRT = B'1 (start flash memory access)
FLTRCR.TREND = B'1?
No
Yes
End of flash memory access
FLTRCR.TREND = B'0 (clear processing end flag)
Read status
Check FLBSYCNT.STAT[7:0]
End of command access (block erase)
Figure 27.11 NAND Command Access (Block Erase)
Rev.1.00 Jan. 10, 2008 Page 1373 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
Start of sector access (flash write)
DMA source address registers (SAR0 and SAR1)
SAR0[31:0]: Set start address of data to be written
SAR1[31:0]: Set start address of control code to be written
DMA destination address registers (DAR0 and DAR1)
DAR0[31:0]: Set FLDTFIFO address
DAR1[31:0]: Set FLECFIFO address
Interrupt DMA control register (FLINTDMACR)
DREQ1EN = B'1
(enable DMA transfer request from FLECFIFO)
DREQ0EN = B'1
(enable DMA transfer request from FLDTFIFO)
Transfer control register (FLTRCR)
TRSTRT = B'1 (start flash memory access)
DMA transfer count registers (TCR0 and TCR1)
TCR0[31:0] = H'0000 0080 (512 bytes = 4 × 128)
TCR1[31:0] = H'0000 0004 (16 bytes = 4 × 4)
DMA channel control registers (CHCR0 and CHCR1)
SM[1:0] = B'01 (DMA transfer source address is
incremented)
RS[3:0] = B'1000 (DMA extended resource selector)
TS[2:0] = B'010 (longword transfer)
DE = B'1 (enable DMA transfer)
Perform flash memory writing
Issue first command
Issue address
Data stage (sector access)
Issue second command
Read status
DMA extended resource selector (DMARS0)
DMARS0[15:0] = H'8783 (FLCTL data and control code
part transmission/reception)
DMA operation register (DMAOR)
DME = B'1 (enable DMA transfer for all channels)
Common control register (FLCMNCR)
ACM[1:0] = B'01 (sector access mode)
CE0 = B'1 (enable the chip)
TYPESEL = B'1 (select NAND-type flash memory)
Command control register (FLCMDCR)
SELRW = B'1 (flash write)
DOCMD1 = B'1 (execute first command stage)
DOCMD2 = B'1 (execute second command stage)
DOADR = B'1 (execute address stage)
ADRMD = B'1 (specify physical sector address)
ADRCNT[1:0] = B'10 (issue 3-byte address)
DOSR = B'1 (perform status read)
Specify number of sector transfers to SCTCNT[15:0]
(1 sector)
FLTRCR.TREND = B'1?
Yes
End of flash memory access
FLTRCR.TREND = 0 (clear processing end flag)
Read status
Check FLBSYCNT.STAT[7:0]
End of sector access (flash write)
Command code register (FLCMCDR)
CMD[7:0] = H'80 (flash write command)
CMD[15:8] = H'10 (flash write execute command)
Address register (FLADR)
Specify physical sector address to ADR[17:0]
Figure 27.12 NAND Sector Access (Flash Write) Using DMAC
Rev.1.00 Jan. 10, 2008 Page 1374 of 1658
REJ09B0261-0100
No
27. NAND Flash Memory Controller (FLCTL)
Start of command access (flash read)
Common control register (FLCMNCR)
ACM[1:0] = B'00 (command access mode)
CE0 = B'1 (enable the chip)
TYPESEL = B'1 (select NAND-type flash memory)
Command control register (FLCMDCR)
DOCMD1 = B'1 (execute first command stage)
DOADR = B'1 (execute address stage)
ADRMD = B'1 (address register value is output as
memory address)
ADRCNT[1:0] = B'10 (issue 3-byte address)
DOSR = B'1 (perform status read)
Command code register (FLCMCDR)
CMD[7:0] = H'00 (flash read command)
Address register (FLADR)
Set addresses to ADR[7:0], ADR[15:8], and ADR[23:16]
Data counter register (FLDTCNTR)
Specify number of bytes of read data to DTCNT[11:0]
Interrupt DMA control register (FLINTDMACR)
Set enable bit of DMA transfer or interrupt request to 1
Transfer control register (FLTRCR)
TRSTRT = B'1 (start flash memory access)
Perform flash memory reading
Issue first command
Issue address
Issue second command
Read status
FLTRCR.TREND = B'1?
No
Yes
End of flash memory access
FLTRCR.TREND = B'0 (clear processing end flag)
Read status
Check FLBSYCNT.STAT[7:0]
End of command access (flash read)
Figure 27.13 NAND Command Access (Flash Read)
Rev.1.00 Jan. 10, 2008 Page 1375 of 1658
REJ09B0261-0100
27. NAND Flash Memory Controller (FLCTL)
27.6
Interrupt Processing
The FLCTL has four interrupt sources. Each of the interrupt sources has its corresponding
interrupt flag. The interrupt request is generated independently if the interrupt is enabled by the
interrupt enable bit. The status error and ready/busy timeout error use the common FLSTE
interrupt.
Table 27.6 FLCTL Interrupt Requests
Interrupt Source
Interrupt Flag
Enable Bit
Description
FLSTE interrupt
STERB
STERINTE
Status error
BTOERB
RBERINTE
Ready/busy timeout error
FLTEND interrupt
TREND
TEINTE
Transfer end
FLTRQ0 interrupt
TRREQF0
TRINTE0
FIFO0 transfer request
FLTRQ1 interrupt
TRREQF1
TRINTE1
FIFO1 transfer request
27.7
DMA Transfer Settings
The FLCTL can request DMA transfers separately to the data sector, FLDTFIFO, and control
code sector, FLECFIFO. Table 27.7 shows whether DMA transfer is enabled or disabled in each
access mode.
Table 27.7 DMA Transfer Settings
Sector Access Mode
Command Access Mode
FLDTFIFO
Enabled
Enabled
FLECFIFO
Enabled
Disabled
For details on DMAC settings, see section 14, Direct Memory Access Controller (DMAC).
Rev.1.00 Jan. 10, 2008 Page 1376 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Section 28 General Purpose I/O Ports (GPIO)
28.1
Features
This LSI has sixteen general-purpose ports (A to H, J to N, and P to R), which provide 111
input/output pins.
The general-purpose I/O (GPIO) port pins are multiplexed with the pins of peripheral modules to
select whether the pins are used by the GPIO or the peripheral modules.
The GPIO has the following features.
• Each port pin is a multiplexed pin, for which the port control register can specify the pin
function and control the pull-up MOS of the pin.
• Each port has a data register that stores data for the pins.
• GPIO interrupts are supported*.
Note: * For the ports which can be used as GPIO interrupt pins, refer to table 28.1. For GPIO
interrupt settings, refer to section 10, Interrupt Controller (INTC).
Rev.1.00 Jan. 10, 2008 Page 1377 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Table 28.1 Multiplexed Pins Controlled by Port Control Registers
Port
GPIO
Selectable Module
GPIO
Interrupt
2
A
PA7 input/output
LBSC/PCIC
⎯
2
A
PA6 input/output
LBSC/PCIC
⎯
2
A
PA5 input/output
LBSC/PCIC
⎯
2
A
PA4 input/output
LBSC/PCIC
⎯
2
A
PA3 input/output
LBSC/PCIC
⎯
2
A
PA2 input/output
LBSC/PCIC
⎯
2
A
PA1 input/output
LBSC/PCIC
⎯
2
A
PA0 input/output
LBSC/PCIC
⎯
2
B
PB7 input/output
LBSC/PCIC
⎯
2
B
PB6 input/output
LBSC/PCIC
⎯
2
B
PB5 input/output
LBSC/PCIC
⎯
2
B
PB4 input/output
LBSC/PCIC
⎯
2
B
PB3 input/output
LBSC/PCIC
⎯
Pin Name
D63/AD31*
D62/AD30*
D61/AD29*
D60/AD28*
D59/AD27*
D58/AD26*
D57/AD25*
D56/AD24*
D55/AD23*
D54/AD22*
D53/AD21*
D52/AD20*
D51/AD19*
B
PB2 input/output
LBSC/PCIC
⎯
2
B
PB1 input/output
LBSC/PCIC/DU
⎯
2
B
PB0 input/output
LBSC/PCIC/DU
⎯
2
C
PC7 input/output
LBSC/PCIC/DU
⎯
2
C
PC6 input/output
LBSC/PCIC/DU
⎯
2
C
PC5 input/output
LBSC/PCIC/DU
⎯
2
C
PC4 input/output
LBSC/PCIC/DU
⎯
D43/AD11/DG5*
2
C
PC3 input/output
LBSC/PCIC/DU
⎯
D42/AD10/DG4*
2
2
D50/AD18*
D49/AD17/DB5*
D48/AD16/DB4*
D47/AD15/DB3*
D46/AD14/DB2*
D45/AD13/DB1*
D44/AD12/DB0*
C
PC2 input/output
LBSC/PCIC/DU
⎯
2
C
PC1 input/output
LBSC/PCIC/DU
⎯
2
C
PC0 input/output
LBSC/PCIC/DU
⎯
2
D
PD7 input/output
LBSC/PCIC/DU
⎯
2
D
PD6 input/output
LBSC/PCIC/DU
⎯
2
D
PD5 input/output
LBSC/PCIC/DU
⎯
2
D
PD4 input/output
LBSC/PCIC/DU
⎯
2
D
PD3 input/output
LBSC/PCIC/DU
⎯
2
D
PD2 input/output
LBSC/PCIC/DU
⎯
D41/AD9/DG3*
D40/AD8/DG2*
D39/AD7/DG1*
D38/AD6/DG0*
D37/AD5/DR5*
D36/AD4/DR4*
D35/AD3/DR3*
D34/AD2/DR2*
Rev.1.00 Jan. 10, 2008 Page 1378 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Port
GPIO
Selectable Module
GPIO
Interrupt
2
D
PD1 input/output
LBSC/PCIC/DU
⎯
2
D32/AD0/DR0*
D
PD0 input/output
LBSC/PCIC/DU
⎯
REQ1
E
PE5 input/output
PCIC
Available
E
PE4 input/output
PCIC
Available
REQ3*
E
PE3 input/output
PCIC
Available
GNT1
E
PE2 input/output
PCIC
Available
E
PE1 input/output
PCIC
Available
GNT3/MMCCLK*
E
PE0 input/output
PCIC/MMCIF
Available
D31
F
PF7 input/output
LBSC
⎯
D30
F
PF6 input/output
LBSC
⎯
D29
F
PF5 input/output
LBSC
⎯
D28
F
PF4 input/output
LBSC
⎯
D27
F
PF3 input/output
LBSC
⎯
D26
F
PF2 input/output
LBSC
⎯
D25
F
PF1 input/output
LBSC
⎯
D24
F
PF0 input/output
LBSC
⎯
D23
G
PG7 input/output
LBSC
⎯
D22
G
PG6 input/output
LBSC
⎯
D21
G
PG5 input/output
LBSC
⎯
D20
G
PG4 input/output
LBSC
⎯
D19
G
PG3 input/output
LBSC
⎯
D18
G
PG2 input/output
LBSC
⎯
D17
G
PG1 input/output
LBSC
⎯
D16
G
PG0 input/output
LBSC
⎯
SCIF1_SCK
H
PH7 input/output
SCIF1
⎯
SCIF1_RXD
H
PH6 input/output
SCIF1
⎯
H
PH5 input/output
SCIF1
⎯
H
PH4 input/output
SCIF0/PCIC/FLCTL
Available
Pin Name
D33/AD1/DR1*
REQ2
1
GNT2
1
SCIF1_TXD
1
SCIF0_CTS/INTD/FCE*
1
SCIF0_RTS/HSPI_CS/FSE*
1
SCIF0_SCK/HSPI_CLK/FRE*
1
SCIF0_RXD/HSPI_RX/FRB*
H
PH3 input/output
SCIF0/HSPI/FLCTL
Available
H
PH2 input/output
SCIF0/HSPI/FLCTL
Available
H
PH1 input/output
SCIF0/HSPI/FLCTL
Available
Rev.1.00 Jan. 10, 2008 Page 1379 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Port
GPIO
Selectable Module
GPIO
Interrupt
H
PH0 input/output
SCIF0/HSPI/FLCTL
⎯
SCIF5_TXD/HAC1_SYNC/SSI1_WS*
J
PJ7 input/output
SCIF5/HAC1/SSI1
⎯
SIOF_TXD/HAC0_SDOUT/
1
SSI0_SDATA*
J
PJ6 input/output
SCOF/HAC0/SSI0
⎯
J
PJ5 input/output
SIOF/HAC0/SSI0
⎯
J
PJ4 input/output
SIOF/HAC0/SSI0
⎯
J
PJ3 input/output
SIOF/HAC
⎯
J
PJ2 input/output
SIOF/HAC0/SSI0
⎯
J
PJ1 input/output
HAC1/SSI1
⎯
J
PJ0 input/output
—/TMU/LBSC
⎯
K
PK7 input/output
[STATUS]/DMAC
⎯
Pin Name
SCIF0_TXD/HSPI_TX/FWE*
1
1
1
SIOF_RXD/HAC0_SDIN/SSI0_SCK*
1
SIOF_SYNC/HAC0_SYNC/SSI0_WS*
1
SIOF_MCLK/HAC_RES*
1
SIOF_SCK/HAC0_BITCLK/SSI0_CLK*
1
HAC1_BITCLK/SSI1_CLK*
1
MODE13/TCLK/IOIS16*
1
STATUS0/DRAK0*
STATUS1/DRAK1*
K
PK6 input/output
[STATUS]/DMAC
⎯
DACK2/SCIF2_TXD/MMCCMD/
1
SIOF_TXD*
K
PK5 input/output
DMAC/SCIF2/MMCIF/
SIOF
⎯
DACK3/SCIF2_SCK/MMCDAT/
1
SIOF_SCK*
K
PK4 input/output
DMAC/SCIF2/MMCIF/
SIOF
⎯
DREQ0
K
PK3 input/output
DMAC
⎯
1
DREQ1
K
PK2 input/output
DMAC
⎯
DACK0
K
PK1 input/output
DMAC
⎯
K
PK0 input/output
DMAC
⎯
L
PL7 input/output
DMAC/PCIC
Available
L
PL6 input/output
DMAC/PCIC
Available
DACK1
DREQ2/INTB*
1
DREQ3/INTC*
1
DRAK2/CE2A*
L
PL5 input/output
DMAC/LBSC
⎯
1
L
PL4 input/output
⎯/INTC/FLCTL
⎯
1
L
PL3 input/output
⎯/INTC/FLCTL
⎯
1
L
PL2 input/output
⎯/INTC/FLCTL
⎯
1
L
PL1 input/output
⎯/INTC/FLCTL
⎯
MODE12/DRAK3/CE2B*
L
PL0 input/output
⎯/DMAC/LBSC
⎯
BREQ/BSACK
M
PM1 input/output
LBSC
⎯
M
PM0 input/output
LBSC
⎯
N
PN7 input/output
SCIF5/HAC1/SS1
⎯
1
MODE0/IRL4/FD4*
MODE1/IRL5/FD5*
MODE2/IRL6/FD6*
MODE3/IRL7/FD7*
1
BACK/BSREQ
1
SCIF5_RXD/HAC1_SDIN/SSI1_SCK*
Rev.1.00 Jan. 10, 2008 Page 1380 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Pin Name
Port
GPIO
Selectable Module
GPIO
Interrupt
SCIF5_SCK/HAC1_SDOUT/
1
SSI1_SDATA*
N
PN6 input/output
SCIF5/HAC1/SS1
⎯
1
N
PN5 input/output
⎯/SCIF3/FLCTL
⎯
1
N
PN4 input/output
⎯/SCIF3/FLCTL
⎯
N
PN3 input/output
⎯/SCIF3/FLCTL
⎯
MODE4/SCIF3_TXD/FCLE*
MODE7/SCIF3_RXD/FALE*
1
MODE8/SCIF3_SCK/FD0*
N
PN2 input/output
⎯/SCIF4/FLCTL
⎯
1
N
PN1 input/output
⎯/SCIF4/FLCTL
⎯
1
MODE11/SCIF4_SCK/FD3*
N
PN0 input/output
⎯/SCIF4/FLCTL
⎯
DEVSEL/DCLKOUT*
P
PP5 input/output
PCIC/DU
⎯
STOP/CDE*
P
PP4 input/output
PCIC/DU
⎯
P
PP3 input/output
PCIC/DU
⎯
1
MODE9/SCIF4_TXD/FD1*
MODE10/SCIF4_RXD/FD2*
2
2
LOCK/ODDF*
2
TRDY/DISP*
P
PP2 input/output
PCIC/DU
⎯
P
PP1 input/output
PCIC/DU
⎯
PCIFRAME/VSYNC*
P
PP0 input/output
PCIC/DU
⎯
INTA
Q
PQ4 input/output
PCIC
⎯
GNT0/GNTIN
Q
PQ3 input/output
PCIC
⎯
REQ0/REQOUT
Q
PQ2 input/output
PCIC
⎯
PERR
Q
PQ1 input/output
PCIC
⎯
Q
PQ0 input/output
PCIC
⎯
WE7/CBE3*
R
PR3 input/output
LBSC/PCIC
⎯
WE6/CBE2*
R
PR2 input/output
LBSC/PCIC
⎯
WE5/CBE1*
R
PR1 input/output
LBSC/PCIC
⎯
R
PR0 input/output
LBSC/PCIC
⎯
⎯
⎯
PCIC/DU
⎯
⎯
⎯
SCIF2/SIOF
⎯
⎯
⎯
⎯/SIOF
⎯
⎯
⎯
⎯/SIOF
⎯
⎯
⎯
RESET/INTC
⎯
2
IRDY/HSYNC*
2
2
SERR
2
2
2
WE4/CBE0*
2
2
PCICLK/DCLKIN*
1
SCIF2_RXD/SIOF_RXD*
1
MODE5/SIOF_MCLK*
1
MODE6/SIOF_SYNC*
MRESETOUT/IRQOUT*
1
Notes: 1. The module that uses this pin is selected by the peripheral module select registers 1
and 2 (P1MSELR and P2MSELR).
2. The module that uses this pin is selected by the bus mode pins (MODE11 and
MODE12). For the details of bus mode pin setting, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1381 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2
Register Descriptions
The following registers are provided to control the GPIO ports.
Table 28.2 Register Configuration (1)
Register Name
Abbrev.
R/W
Area 7
P4 Address*1 Address*1
Access Sync
Size*2
Clock
Port A control register
PACR
R/W
H'FFE7 0000
H'1FE7 0000
16
Pck
Port B control register
PBCR
R/W
H'FFE7 0002
H'1FE7 0002
16
Pck
Port C control register
PCCR
R/W
H'FFE7 0004
H'1FE7 0004
16
Pck
Port D control register
PDCR
R/W
H'FFE7 0006
H'1FE7 0006
16
Pck
Port E control register
PECR
R/W
H'FFE7 0008
H'1FE7 0008
16
Pck
Port F control register
PFCR
R/W
H'FFE7 000A
H'1FE7 000A
16
Pck
Port G control register
PGCR
R/W
H'FFE7 000C
H'1FE7 000C
16
Pck
Port H control register
PHCR
R/W
H'FFE7 000E
H'1FE7 000E
16
Pck
Port J control register
PJCR
R/W
H'FFE7 0010
H'1FE7 0010
16
Pck
Port K control register
PKCR
R/W
H'FFE7 0012
H'1FE7 0012
16
Pck
Port L control register
PLCR
R/W
H'FFE7 0014
H'1FE7 0014
16
Pck
Port M control register
PMCR
R/W
H'FFE7 0016
H'1FE7 0016
16
Pck
Port N control register
PNCR
R/W
H'FFE7 0018
H'1FE7 0018
16
Pck
Port P control register
PPCR
R/W
H'FFE7 001A
H'1FE7 001A
16
Pck
Port Q control register
PQCR
R/W
H'FFE7 001C
H'1FE7 001C
16
Pck
Port R control register
PRCR
R/W
H'FFE7 001E
H'1FE7 001E
16
Pck
Port A data register
PADR
R/W
H'FFE7 0020
H'1FE7 0020
8
Pck
Port B data register
PBDR
R/W
H'FFE7 0022
H'1FE7 0022
8
Pck
Port C data register
PCDR
R/W
H'FFE7 0024
H'1FE7 0024
8
Pck
Port D data register
PDDR
R/W
H'FFE7 0026
H'1FE7 0026
8
Pck
Port E data register
PEDR
R/W
H'FFE7 0028
H'1FE7 0028
8
Pck
Port F data register
PFDR
R/W
H'FFE7 002A
H'1FE7 002A
8
Pck
Port G data register
PGDR
R/W
H'FFE7 002C
H'1FE7 002C
8
Pck
Port H data register
PHDR
R/W
H'FFE7 002E
H'1FE7 002E
8
Pck
Port J data register
PJDR
R/W
H'FFE7 0030
H'1FE7 0030
8
Pck
Rev.1.00 Jan. 10, 2008 Page 1382 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Register Name
Abbrev.
R/W
Area 7
P4 Address*1 Address*1
Access Sync
Size*2
Clock
Port K data register
PKDR
R/W
H'FFE7 0032
H'1FE7 0032
8
Pck
Port L data register
PLDR
R/W
H'FFE7 0034
H'1FEA 0034
8
Pck
Port M data register
PMDR
R/W
H'FFE7 0036
H'1FEA 0036
8
Pck
Port N data register
PNDR
R/W
H'FFE7 0038
H'1FEA 0038
8
Pck
Port P data register
PPDR
R/W
H'FFE7 003A
H'1FEA 003A
8
Pck
Port Q data register
PQDR
R/W
H'FFE7 003C
H'1FEA 003C
8
Pck
Port R data register
PRDR
R/W
H'FFE7 003E
H'1FEA 003E
8
Pck
Port E pull-up control register
PEPUPR
R/W
H'FFE7 0048
H'1FEA 0048
8
Pck
Port H pull-up control register
PHPUPR
R/W
H'FFE7 004E
H'1FEA 004E
8
Pck
Port J pull-up control register
PJPUPR
R/W
H'FFE7 0050
H'1FE7 0050
8
Pck
Port K pull-up control register
PKPUPR
R/W
H'FFE7 0052
H'1FE7 0052
8
Pck
Port L pull-up control register
PLPUPR
R/W
H'FFE7 0054
H'1FE7 0054
8
Pck
Port M pull-up control register
PMPUPR
R/W
H'FFE7 0056
H'1FE7 0056
8
Pck
Port N pull-up control register
PNPUPR
R/W
H'FFE7 0058
H'1FE7 0058
8
Pck
Input pin pull-up control register 1
PPUPR1
R/W
H'FFE7 0060
H'1FE7 0060
16
Pck
Input pin pull-up control register 2
PPUPR2
R/W
H'FFE7 0062
H'1FE7 0062
16
Pck
Peripheral module select register
1
P1MSELR R/W
H'FFE7 0080
H'1FE7 0080
16
Pck
Peripheral module select register
2
P2MSELR R/W
H'FFE7 0082
H'1FE7 0082
16
Pck
Notes: 1. The P4 area address uses the P4 area of the logical address area. The area 7 address
is accessed from area 7 of the physical address space using the TLB.
2. There are 8-bit and 16-bit registers. The registers must be accessed in the designate
size.
Rev.1.00 Jan. 10, 2008 Page 1383 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Table 28.2 Register Configuration (2)
Register Name
Abbrev.
Power-on
Reset by
RESET
Pin/WDT/
H-UDI
Port A control register
PACR
H'0000
Retained
Retained
Retained
Retained
Port B control register
PBCR
H'0000
Retained
Retained
Retained
Retained
Port C control register
PCCR
H'0000
Retained
Retained
Retained
Retained
Port D control register
PDCR
H'0000
Retained
Retained
Retained
Retained
Port E control register
PECR
H'00C3
Retained
Retained
Retained
Retained
Port F control register
PFCR
H'0000
Retained
Retained
Retained
Retained
Retained
Manual
Reset by
WDT/
Multiple
Exception
Sleep
by SLEEP Module
Instruction Standby
Deep
Sleep
Port G control register
PGCR
H'0000
Retained
Retained
Retained
Port H control register
PHCR
H'FFFF
Retained
Retained
Retained
Retained
Port J control register
PJCR
H'FFFF
Retained
Retained
Retained
Retained
Port K control register
PKCR
H'0FFF
Retained
Retained
Retained
Retained
Port L control register
PLCR
H'FFFF
Retained
Retained
Retained
Retained
Port M control register
PMCR
H'FFF0
Retained
Retained
Retained
Retained
Port N control register
PNCR
H'FFFF
Retained
Retained
Retained
Retained
Port P control register
PPCR
H'0000
Retained
Retained
Retained
Retained
Retained
Port Q control register
PQCR
H'0000
Retained
Retained
Retained
Port R control register
PRCR
H'0000
Retained
Retained
Retained
Retained
Port A data register
PADR
H'00
Retained
Retained
Retained
Retained
Port B data register
PBDR
H'00
Retained
Retained
Retained
Retained
Port C data register
PCDR
H'00
Retained
Retained
Retained
Retained
Port D data register
PDDR
H'00
Retained
Retained
Retained
Retained
Port E data register
PEDR
H'0x
Retained
Retained
Retained
Retained
Port F data register
PFDR
H'00
Retained
Retained
Retained
Retained
Retained
Port G data register
PGDR
H'00
Retained
Retained
Retained
Port H data register
PHDR
H'00
Retained
Retained
Retained
Retained
Port J data register
PJDR
H'xx
Retained
Retained
Retained
Retained
Port K data register
PKDR
H'xx
Retained
Retained
Retained
Retained
Port L data register
PLDR
H'xx
Retained
Retained
Retained
Retained
Port M data register
PMDR
H'xx
Retained
Retained
Retained
Retained
Port N data register
PNDR
H'xx
Retained
Retained
Retained
Retained
Port P data register
PPDR
H'00
Retained
Retained
Retained
Retained
Port Q data register
PQDR
H'00
Retained
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1384 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Register Name
Abbrev.
Power-on
Reset by
RESET
Pin/WDT/
H-UDI
Port R data register
PRDR
H'00
Retained
Retained
Port E pull-up control register
PEPUPR
H'FF
Retained
Retained
Retained
Retained
Port H pull-up control register
PHPUPR
H'FF
Retained
Retained
Retained
Retained
Port J pull-up control register
PJPUPR
H'FF
Retained
Retained
Retained
Retained
Port K pull-up control register
PKPUPR
H'FF
Retained
Retained
Retained
Retained
Port L pull-up control register
PLPUPR
H'FF
Retained
Retained
Retained
Retained
Port M pull-up control register
PMPUPR H'FF
Retained
Retained
Retained
Retained
Manual
Reset by
WDT/
Multiple
Exception
Sleep
by SLEEP Module
Instruction Standby
Deep
Sleep
Retained
Retained
Port N pull-up control register
PNPUPR
H'FF
Retained
Retained
Retained
Retained
Input pin pull-up control register 1
PPUPR1
H'FFFF
Retained
Retained
Retained
Retained
Input pin pull-up control register 2
PPUPR2
H'FFFF
Retained
Retained
Retained
Retained
Peripheral module select register 1 P1MSELR H'0000
Retained
Retained
Retained
Retained
Peripheral module select register 2 P2MSELR H'0000
Retained
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1385 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.1
Port A Control Register (PACR)
PACR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PA7
MD1
PA7
MD0
PA6
MD1
PA6
MD0
PA5
MD1
PA5
MD0
PA4
MD1
PA4
MD0
PA3
MD1
PA3
MD0
PA2
MD1
PA2
MD0
PA1
MD1
PA1
MD0
PA0
MD1
PA0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PA7MD1
0
R/W
PA7 Mode
14
PA7MD0
0
R/W
00: LBSC/PCIC module (D63/AD31)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PA6MD1
0
R/W
PA6 Mode
12
PA6MD0
0
R/W
00: LBSC/PCIC module (D62/AD30)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PA5MD1
0
R/W
PA5 Mode
10
PA5MD0
0
R/W
00: LBSC/PCIC module (D61/AD29)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1386 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
9
PA4MD1
0
R/W
PA4 Mode
8
PA4MD0
0
R/W
00: LBSC/PCIC module (D60/AD28)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
7
PA3MD1
0
R/W
PA3 Mode
6
PA3MD0
0
R/W
00: LBSC/PCIC module (D59/AD27)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PA2MD1
0
R/W
PA2 Mode
4
PA2MD0
0
R/W
00: LBSC/PCIC module (D58/AD26)*
When the bus mode is set to DU module via the
bus-mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PA1MD1
0
R/W
PA1 Mode
2
PA1MD0
0
R/W
00: LBSC/PCIC module (D57/AD25)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1387 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
1
PA0MD1
0
R/W
PA0 Mode
0
PA0MD0
0
R/W
00: LBSC/PCIC module (D56/AD24)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the bus-mode pins (MODE11 and
MODE12). For the details on setting the bus mode pin, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1388 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.2
Port B Control Register (PBCR)
PBCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PB7
MD1
PB7
MD0
PB6
MD1
PB6
MD0
PB5
MD1
PB5
MD0
PB4
MD1
PB4
MD0
PB3
MD1
PB3
MD0
PB2
MD1
PB2
MD0
PB1
MD1
PB1
MD0
PB0
MD1
PB0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PB7MD1
0
R/W
PB7 Mode
14
PB7MD0
0
R/W
00: LBSC/PCIC module (D55/AD23)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
12
PB6MD1
PB6MD0
0
0
R/W
R/W
PB6 Mode
00: LBSC/PCIC module (D54/AD22)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
10
PB5MD1
PB5MD0
0
0
R/W
R/W
PB5 Mode
00: LBSC/PCIC module (D53/AD21)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1389 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
9
8
PB4MD1
PB4MD0
0
0
R/W
R/W
PB4 Mode
00: LBSC/PCIC module (D52/AD20)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
7
6
PB3MD1
PB3MD0
0
0
R/W
R/W
PB3 Mode
00: LBSC/PCIC module (D51/AD19)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
4
PB2MD1
PB2MD0
0
0
R/W
R/W
PB2 Mode
00: LBSC/PCIC module (D50/AD18)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
2
PB1MD1
PB1MD0
0
0
R/W
R/W
PB1 Mode
00: LBSC/PCIC/DU module (D49/AD17/DB5)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
0
PB0MD1
PB0MD0
0
0
R/W
R/W
PB0 Mode
00: LBSC/PCIC/DU module (D48/AD16/DB4)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the bus-mode pin (MODE11 and
MODE12). For the details on setting the bus mode pin, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1390 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.3
Port C Control Register (PCCR)
PCCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PC7
MD1
PC7
MD0
PC6
MD1
PC6
MD0
PC5
MD1
PC5
MD0
PC4
MD1
PC4
MD0
PC3
MD1
PC3
MD0
PC2
MD1
PC2
MD0
PC1
MD1
PC1
MD0
PC0
MD1
PC0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PC7MD1
0
R/W
PC7 Mode
14
PC7MD0
0
R/W
00: LBSC/PCIC/DU module (D47/AD15/DB3)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PC6MD1
0
R/W
PC6 Mode
12
PC6MD0
0
R/W
00: LBSC/PCIC/DU module (D46/AD14/DB2)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PC5MD1
0
R/W
PC5 Mode
10
PC5MD0
0
R/W
00: LBSC/PCIC/DU module (D45AD13/DB1)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PC4MD1
0
R/W
PC4 Mode
8
PC4MD0
0
R/W
00: LBSC/PCIC/DU module (D44/AD12/DB0)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1391 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PC3MD1
0
R/W
PC3 Mode
6
PC3MD0
0
R/W
00: LBSC/PCIC/DU module (D43/AD11/DG5)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PC2MD1
0
R/W
PC2 Mode
4
PC2MD0
0
R/W
00: LBSC/PCIC/DU module (D42/AD10/DG4)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PC1MD1
0
R/W
PC1 Mode
2
PC1MD0
0
R/W
00: LBSC/PCIC/DU module (D41/AD9/DG3)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PC0MD1
0
R/W
PC0 Mode
0
PC0MD0
0
R/W
00: LBSC/PCIC/DU module (D40/AD8/DG2)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the bus-mode pins (MODE11 and
MODE12). For the details on setting the bus mode pin, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1392 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.4
Port D Control Register (PDCR)
PDCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PD7
MD1
PD7
MD0
PD6
MD1
PD6
MD0
PD5
MD1
PD5
MD0
PD4
MD1
PD4
MD0
PD3
MD1
PD3
MD0
PD2
MD1
PD2
MD0
PD1
MD1
PD1
MD0
PD0
MD1
PD0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PD7MD1
0
R/W
PD7 Mode
14
PD7MD0
0
R/W
00: LBSC/PCIC/DU module (D39/AD7/DG1)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
12
PD6MD1
PD6MD0
0
0
R/W
R/W
PD6 Mode
00: LBSC/PCIC/DU module (D38/AD6/DG0)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
10
PD5MD1
PD5MD0
0
0
R/W
R/W
PD5 Mode
00: LBSC/PCIC/DU module (D37/AD5/DR5)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
8
PD4MD1
PD4MD0
0
0
R/W
R/W
PD4 Mode
00: LBSC/PCIC/DU module (D36/AD4/DR4)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1393 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
6
PD3MD1
PD3MD0
0
0
R/W
R/W
PD3 Mode
00: LBSC/PCIC/DU module (D35/AD3/DR3)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
4
PD2MD1
PD2MD0
0
0
R/W
R/W
PD2 Mode
00: LBSC/PCIC/DU module (D34/AD2/DR2)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
2
PD1MD1
PD1MD0
0
0
R/W
R/W
PD1 Mode
00: LBSC/PCIC/DU module (D33/AD1/DR1)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
0
PD0MD1
PD0MD0
0
0
R/W
R/W
PD0 Mode
00: LBSC/PCIC/DU module (D32/AD0/DR0)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the bus-mode pins (MODE11 and
MODE12). For the details on setting the bus mode pin, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1394 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.5
Port E Control Register (PECR)
PECR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
PE5
MD1
PE5
MD0
PE4
MD1
PE4
MD0
PE3
MD1
PE3
MD0
PE2
MD1
PE2
MD0
PE1
MD1
PE1
MD0
PE0
MD1
PE0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
Bit Name
15 to 12 ⎯
Initial
value
R/W
Description
All 0
R/W
Reserved
These bits are always read as 0, and the write value
should always be 0.
11
PE5MD1
0
R/W
PE5 Mode
10
PE5MD0
0
R/W
00: PCIC module (REQ1)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PE4MD1
0
R/W
PE4 Mode
8
PE4MD0
0
R/W
00: PCIC module (REQ2)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
7
PE3MD1
1
R/W
PE3 Mode
6
PE3MD0
1
R/W
00: PCIC module (REQ3)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1395 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
5
PE2MD1
0
R/W
PE2 Mode
4
PE2MD0
0
R/W
00: PCIC module (GNT1)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PE1MD1
0
R/W
PE1 Mode
2
PE1MD0
0
R/W
00: PCIC module (GNT2)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PE0MD1
1
R/W
0
PE0MD0
1
R/W
PE0 Mode
00: PCIC/MMCIF module (GNT3/MMCCLK)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the peripheral module select register 2
(P2MSELR).
Rev.1.00 Jan. 10, 2008 Page 1396 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.6
Port F Control Register (PFCR)
PFCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PF7
MD1
PF7
MD0
PF6
MD1
PF6
MD0
PF5
MD1
PF5
MD0
PF4
MD1
PF4
MD0
PF3
MD1
PF3
MD0
PF2
MD1
PF2
MD0
PF1
MD1
PF1
MD0
PF0
MD1
PF0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PF7MD1
0
R/W
PF7 Mode
14
PF7MD0
0
R/W
00: LBSC module (D31)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PF6MD1
0
R/W
PF6 Mode
12
PF6MD0
0
R/W
00: LBSC module (D30)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PF5MD1
0
R/W
PF5 Mode
10
PF5MD0
0
R/W
00: LBSC module (D29)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PF4MD1
0
R/W
PF4 Mode
8
PF4MD0
0
R/W
00: LBSC module (D28)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1397 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PF3MD1
0
R/W
PF3 Mode
6
PF3MD0
0
R/W
00: LBSC module (D27)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PF2MD1
0
R/W
PF2 Mode
4
PF2MD0
0
R/W
00: LBSC module (D26)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PF1MD1
0
R/W
PF1 Mode
2
PF1MD0
0
R/W
00: LBSC module (D25)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PF0MD1
0
R/W
PF0 Mode
0
PF0MD0
0
R/W
00: LBSC module (D24)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1398 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.7
Port G Control Register (PGCR)
PGCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PG7
MD1
PG7
MD0
PG6
MD1
PG6
MD0
PG5
MD1
PG5
MD0
PG4
MD1
PG4
MD0
PG3
MD1
PG3
MD0
PG2
MD1
PG2
MD0
PG1
MD1
PG1
MD0
PG0
MD1
PG0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PG7MD1
0
R/W
PG7 Mode
14
PG7MD0
0
R/W
00: LBSC module (D23)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PG6MD1
0
R/W
PG6 Mode
12
PG6MD0
0
R/W
00: LBSC module (D22)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PG5MD1
0
R/W
PG5 Mode
10
PG5MD0
0
R/W
00: LBSC module (D21)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PG4MD1
0
R/W
PG4 Mode
8
PG4MD0
0
R/W
00: LBSC module (D20)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1399 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PG3MD1
0
R/W
PG3 Mode
6
PG3MD0
0
R/W
00: LBSC module (D19)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PG2MD1
0
R/W
PG2 Mode
4
PG2MD0
0
R/W
00: LBSC module (D18)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PG1MD1
0
R/W
PG1 Mode
2
PG1MD0
0
R/W
00: LBSC module (D17)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PG0MD1
0
R/W
PG0 Mode
0
PG0MD0
0
R/W
00: LBSC module (D16)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1400 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.8
Port H Control Register (PHCR)
PHCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PH7
MD1
PH7
MD0
PH6
MD1
PH6
MD0
PH5
MD1
PH5
MD0
PH4
MD1
PH4
MD0
PH3
MD1
PH3
MD0
PH2
MD1
PH2
MD0
PH1
MD1
PH1
MD0
PH0
MD1
PH0
MD0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PH7MD1
1
R/W
PH7 Mode
14
PH7MD0
1
R/W
00: SCIF[1] module (SCIF1_SCK)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PH6MD1
1
R/W
PH6 Mode
12
PH6MD0
1
R/W
00: SCIF[1] module (SCIF1_RXD)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PH5MD1
1
R/W
PH5 Mode
10
PH5MD0
1
R/W
00: SCIF[1] module (SCIF1_TXD)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PH4MD1
1
R/W
PTH4 Mode
8
PH4MD0
1
R/W
00: SCIF[0]/PCIC/FLCTL module
(SCIF0_CTS/INTD/FCE)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1401 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PH3MD1
1
R/W
PH3 Mode
6
PH3MD0
1
R/W
00: SCIF[0]/HSPI/FLCTL module
(SCIF0_RTS/HSPI_CS/FSE)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PH2MD1
1
R/W
PH2 Mode
4
PH2MD0
1
R/W
00: SCIF[0]/HSPI/FLCTL module
(SCIF0_SCK/HSPI_CLK/FRE)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PH1MD1
1
R/W
PH1 Mode
2
PH1MD0
1
R/W
00: SCIF[0]/HSPI/FLCTL module
(SCIF0_RXD/HSPI_RX/FRB)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PH0MD1
1
R/W
PH0 Mode
0
PH0MD0
1
R/W
00: SCIF[0]/HSPI/FLCTL module
(SCIF0_TXD/HSPI_TX/FWE)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses this pin can be selected by the peripheral module select register
1 (P1MSELR).
Rev.1.00 Jan. 10, 2008 Page 1402 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.9
Port J Control Register (PJCR)
PJCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PJ7
MD1
PJ7
MD0
PJ6
MD1
PJ6
MD0
PJ5
MD1
PJ5
MD0
PJ4
MD1
PJ4
MD0
PJ3
MD1
PJ3
MD0
PJ2
MD1
PJ2
MD0
PJ1
MD1
PJ1
MD0
PJ0
MD1
PJ0
MD0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PJ7MD1
1
R/W
PJ7 Mode
14
PJ7MD0
1
R/W
00: SCIF[5]/HAC[1]/SSI[1] module
(SCIF5_TXD/HAC1_SYNC/SSI1_WS)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PJ6MD1
1
R/W
PJ6 Mode
12
PJ6MD0
1
R/W
00: SIOF/HAC[0]/SSI[0]module
(SIOF_TXD/HAC0_SDOOUT/SSI0_SDATA)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PJ5MD1
1
R/W
PJ5 Mode
10
PJ5MD0
1
R/W
00: SIOF/HAC[0]/SSI[0] module
(SIOF_RXD/HAC0_SDIN/SSIO_SCK)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PJ4MD1
1
R/W
PJ4 Mode
8
PJ4MD0
1
R/W
00: SIOF/HAC[0]/SSI[0] module
(SIOF_SYNC/HAC0_SYNC/SSIO_WS)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1403 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
6
PJ3MD1
PJ3MD0
1
1
R/W
R/W
PJ3 Mode
00: SIOF/HAC module (SIOF_MCLK/HAC_RES)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
4
PJ2MD1
PJ2MD0
1
1
R/W
R/W
PJ2 Mode
00: SIOF/HAC[0]/SSI[0] module
1
(SIOF_SCK/HAC0_BITCLK/SSIO_CLK)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
2
PJ1MD1
PJ1MD0
1
1
R/W
R/W
PJ1 Mode
00: HAC[1]/SSI[1] module
1
(HAC1_BITCLK/SSI1_CLK)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
0
PJ0MD1
PJ0MD0
1
1
R/W
R/W
PJ0 Mode
00: TMU/LBSC module (MODE13/TCLK/IOIS16)*1
01: Port output
10: Port input (pull-up MOS: Off)
2
11: Port input (pull-up MOS: On)*
Notes: 1. The module that uses this pin can be selected by the peripheral module select register
1 (P1MSELR).
2. The pull-up MOS of this pin cannot be used for MODE pin setting during power-on reset
by the PRESET pin. (The pull-up MOS is turned off during power-on reset by the
PRESET pin.)
Rev.1.00 Jan. 10, 2008 Page 1404 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.10 Port K Control Register (PKCR)
PKCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PK7
MD1
PK7
MD0
PK6
MD1
PK6
MD0
PK5
MD1
PK5
MD0
PK4
MD1
PK4
MD0
PK3
MD1
PK3
MD0
PK2
MD1
PK2
MD0
PK1
MD1
PK1
MD0
PK0
MD1
PK0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PK7MD1
0
R/W
PK7 Mode
14
PK7MD0
0
R/W
00: [STATUS]/DMAC module (STATUS0/DRAK0)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PK6MD1
0
R/W
PK6 Mode
12
PK6MD0
0
R/W
00: [STATUS]/DMAC module (STATUS0/DRAK0)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PK5MD1
1
R/W
PK5 Mode
10
PK5MD0
1
R/W
00: DMAC/SCIF[2]/MMCIF/SIOF module
(DACK2/SCIF2_TXD/MMCCMD/SIOF_TXD)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PK4MD1
1
R/W
PK4 Mode
8
PK4MD0
1
R/W
00: DMAC/SCIF[2]/MMCIF/SIOF module
(DACK3/SCIF2_SCK/MMCDAT/SIOF_SCK)*
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1405 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PK3MD1
1
R/W
PK3 Mode
6
PK3MD0
1
R/W
00: DMAC module (DREQ0)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PK2MD1
1
R/W
PK2 Mode
4
PK2MD0
1
R/W
00: DMAC module (DREQ1)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PK1MD1
1
R/W
PK1 Mode
2
PK1MD0
1
R/W
00: DMAC module (DACK0)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PK0MD1
1
R/W
PK0 Mode
0
PK0MD0
1
R/W
00: DMAC module (DACK1)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses this pin can be selected by the peripheral module select register
1 (P1MSELR).
Rev.1.00 Jan. 10, 2008 Page 1406 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.11 Port L Control Register (PLCR)
PLCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PL7
MD1
PL7
MD0
PL6
MD1
PL6
MD0
PL5
MD1
PL5
MD0
PL4
MD1
PL4
MD0
PL3
MD1
PL3
MD0
PL2
MD1
PL2
MD0
PL1
MD1
PL1
MD0
PL0
MD1
PL0
MD0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PL7MD1
1
R/W
PL7 Mode
14
PL7MD0
1
R/W
00: DMAC/PCIC module (DREQ2/INTB)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PL6MD1
1
R/W
PL6 Mode
12
PL6MD0
1
R/W
00: DMAC/PCIC module (DREQ3/INTC)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PL5MD1
1
R/W
PL5 Mode
10
PL5MD0
1
R/W
00: DMAC/LBSC module (DREQ2/CE2A)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PL4MD1
1
R/W
PL4 Mode
8
PL4MD0
1
R/W
00: INTC/FLCTL module (MODE0/IRL4/FD4)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
Rev.1.00 Jan. 10, 2008 Page 1407 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PL3MD1
1
R/W
PL3 Mode
6
PL3MD0
1
R/W
00: INTC/FLCTL module (MODE1/IRL5/FD5)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
5
PL2MD1
1
R/W
PL2 Mode
4
PL2MD0
1
R/W
00: INTC/FLCTL module (MODE2/IRL6/FD6)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
3
PL1MD1
1
R/W
PL1 Mode
2
PL1MD0
1
R/W
00: INTC/FLCTL module (MODE3/IRL7/FD7)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
1
PL0MD1
1
R/W
PL0 Mode
0
PL0MD0
1
R/W
00: DMAC/LBSC module (MODE12/DRAK3/CE2B)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
Notes: 1. The module that uses this pin can be selected by the peripheral module select register
1 (P1MSELR).
2. This pin cannot be used as a pull-up resistor for setting mode pin at power-on reset by
the PRESET pin. (The pull-up MOS is turned off at power-on reset by the PRESET pin.)
Rev.1.00 Jan. 10, 2008 Page 1408 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.12 Port M Control Register (PMCR)
PMCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
PM1
MD1
PM1
MD0
PM0
MD1
PM0
MD0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15 to 4
⎯
All 1
R/W
Reserved
These bits are always read as 1, and the write value
should always be 1.
3
PM1MD1
0
R/W
PM1 Mode
2
PM1MD0
0
R/W
00: LBSC module (BREQ/BSACK)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PM0MD1
0
R/W
PM1 Mode
0
PM0MD0
0
R/W
00: LBSC module (BACK/BSREQ)
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1409 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.13 Port N Control Register (PNCR)
PNCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
PN7
MD1
PN7
MD0
PN6
MD1
PN6
MD0
PN5
MD1
PN5
MD0
PN4
MD1
PN4
MD0
PN3
MD1
PN3
MD0
PN2
MD1
PN2
MD0
PN1
MD1
PN1
MD0
PN0
MD1
PN0
MD0
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
PN7MD1
1
R/W
PN7 Mode
14
PN7MD0
1
R/W
00: SCIF[5]/HAC[1]/SSI[1] module
(SCIF5_RXD/HAC1_SDIN/SSI1_SCK)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
13
PL6MD1
1
R/W
PN6 Mode
12
PL6MD0
1
R/W
00: SCIF[5]/HAC[1]/SSI[1] module
(SCIF5_CSK/HAC1_SDOUT/SSI1_SDATA)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
11
PL5MD1
1
R/W
PN5 Mode
10
PL5MD0
1
R/W
00: SCIF[3]/FLCTL module
(MODE4/SCIF3_TXD/FCLE)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
9
PL4MD1
1
R/W
PN4 Mode
8
PL4MD0
1
R/W
00: SCIF[3]/FLCTL module
(MODE7/SCIF3_RXD/FALE)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
Rev.1.00 Jan. 10, 2008 Page 1410 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PL3MD1
1
R/W
PN3 Mode
6
PL3MD0
1
R/W
00: SCIF[3]/FLCTL module
(MODE8/SCIF3_SCK/FD0)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
5
PL2MD1
1
R/W
PN2 Mode
4
PL2MD0
1
R/W
00: SCIF[4]/FLCTL module
(MODE9/SCIF4_TXD/FD1)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
3
PL1MD1
1
R/W
PN1 Mode
2
PL1MD0
1
R/W
00: SCIF[4]/FLCTL module
(MODE10/SCIF4_RXD/FD2)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
1
PL0MD1
1
R/W
PL0 Mode
0
PL0MD0
1
R/W
00: SCIF[4]/FLCTL module
(MODE11/SCIF4_SCK/FD3)*1
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)*2
Notes: 1. The module that uses this pin can be selected by the peripheral module select register
1 (P1MSELR).
2. The pull-up MOS of these pins cannot be used for MODE pin setting during power-on
reset by the PRESET pin. (The pull-up MOS is turned off during power-on reset by the
PRESET pin.)
Rev.1.00 Jan. 10, 2008 Page 1411 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.14 Port P Control Register (PPCR)
PPCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
PP5
MD1
PP5
MD0
PP4
MD1
PP4
MD0
PP3
MD1
PP3
MD0
PP2
MD1
PP2
MD0
PP1
MD1
PP1
MD0
PP0
MD1
PP0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit Name
15 to 12 ⎯
Initial
value
R/W
Description
All 0
R/W
Reserved
These bits are always read as 0, and the write value
should always be 0.
11
PP5MD1
0
R/W
PP5 Mode
10
PP5MD0
0
R/W
00: PCIC/DU module (DEVSEL/DCLKOUT)*
When the bus mode is set to the local bus by the
bus mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
9
PP4MD1
0
R/W
PP4 Mode
8
PP4MD0
0
R/W
00: PCIC/DU module (STOP/CDE)*
When the bus mode is set to the local bus by the
bus mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1412 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
7
PP3MD1
0
R/W
PP3 Mode
6
PP3MD0
0
R/W
00: PCIC/DU module (LOCK/ODDF)*
When the bus mode is set to the local bus by the
bus mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PP2MD1
0
R/W
PP2 Mode
4
PP2MD0
0
R/W
00: PCIC/DU module (TRDY/DISP)*
When the bus mode is set to the local bus by the
bus mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PP1MD1
0
R/W
PP1 Mode
2
PP1MD0
0
R/W
00: PCIC/DU module (IRDY/HSYNC)*
When the bus mode is set to the local bus by the
bus mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PP0MD1
0
R/W
PP0 Mode
0
PP0MD0
0
R/W
00: PCIC/DU module (PCIFRAME/VSYNC)*
When the bus mode is set to the local bus by the
bus mode pins (MODE11 and MODE12), port input
(pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the bus-mode pins (MODE11 and
MODE12). For the details on setting the bus mode pin, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1413 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.15 Port Q Control Register (PQCR)
PQCR is a 16-bit readable/writable register that selects the pin function and controls the input
pull-up MOS.
Bit:
Initial value:
R/W:
Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
PQ4
MD1
PQ4
MD0
PQ3
MD1
PQ3
MD0
PQ2
MD1
PQ2
MD0
PQ1
MD1
PQ1
MD0
PQ0
MD1
PQ0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit Name
15 to 10 ⎯
Initial
value
R/W
Description
All 0
R/W
Reserved
These bits are always read as 0, and the write value
should always be 0.
9
PQ4MD1
0
R/W
PQ4 Mode
8
PQ4MD0
0
R/W
00: PCIC module (INTA)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
7
PQ3MD1
0
R/W
PQ3 Mode
6
PQ3MD0
0
R/W
00: PCIC module (GNT0/GNTIN)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1414 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
5
PQ2MD1
0
R/W
PQ2 Mode
4
PQ2MD0
0
R/W
00: PCIC module (REQ0/REQOUT)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
3
PQ1MD1
0
R/W
PQ1 Mode
2
PQ1MD0
0
R/W
00: PCIC module (PERR)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PQ0MD1
0
R/W
PQ0 Mode
0
PQ0MD0
0
R/W
00: PCIC module (SERR)
When the bus mode is set to the local bus or DU via
the bus mode pins (MODE1 and MODE2), port
input (pull-up MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1415 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.16 Port R Control Register (PRCR)
PRCR is a 16-bit readable/writable register that selects the pin function and controls the input pullup MOS.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
PR3
MD1
PR3
MD0
PR2
MD1
PR2
MD0
PR1
MD1
PR1
MD0
PR0
MD1
PR0
MD0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15 to 8
⎯
All 0
R/W
Reserved
These bits are always read as 0, and the write value
should always be 0.
7
PR3MD1
0
R/W
PR3 Mode
6
PR3MD0
0
R/W
00: LBSC/PCIC module (WE7/CBE3)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
5
PR2MD1
0
R/W
PR2 Mode
4
PR2MD0
0
R/W
00: LBSC/PCIC module (WE6/CBE2)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Rev.1.00 Jan. 10, 2008 Page 1416 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
3
PR1MD1
0
R/W
PR1 Mode
2
PR1MD0
0
R/W
00: LBSC/PCIC module (WE5/CBE1)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
1
PR0MD1
0
R/W
PR0 Mode
0
PR0MD0
0
R/W
00: LBSC/PCIC module (WE4/CBE0)*
When the bus mode is set to DU via the bus-mode
pins (MODE11 and MODE12), port input (pull-up
MOS: On) is selected.
01: Port output
10: Port input (pull-up MOS: Off)
11: Port input (pull-up MOS: On)
Note:
*
The module that uses the pin can be selected by the bus-mode pins (MODE11 and
MODE12). For the details on setting the bus mode pin, refer to the Appendix.
Rev.1.00 Jan. 10, 2008 Page 1417 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.17 Port A Data Register (PADR)
PADR is an 8-bit readable/writable register that stores port A data.
Bit:
7
6
5
4
3
2
1
0
PA7DT PA6DT PA5DT PA4DT PA3DT PA2DT PA1DT PA0DT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
PA7DT
0*
R/W
6
PA6DT
0*
R/W
5
PA5DT
0*
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PA4DT
0*
R/W
3
PA3DT
0*
R/W
2
PA2DT
0*
R/W
1
PA1DT
0*
R/W
0
PA0DT
0*
R/W
Note:
*
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
When the bus mode is set to DU via the bus mode pins (MODE11 and MODE12), the
pin is initially used as a general-purpose input, and the pin status is read from this
register.
Rev.1.00 Jan. 10, 2008 Page 1418 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.18 Port B Data Register (PBDR)
PBDR is an 8-bit readable/writable register that stores port B data.
Bit:
7
6
5
4
3
2
1
0
PB7DT PB6DT PB5DT PB4DT PB3DT PB2DT PB1DT PB0DT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
7
PB7DT
0*
R/W
6
PB6DT
0*
R/W
5
PB5DT
0*
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PB4DT
0*
R/W
3
PB3DT
0*
R/W
2
PB2DT
0*
R/W
1
PB1DT
0
R/W
0
PB0DT
0
R/W
Note:
*
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
When the bus mode is set to DU via the bus mode pins (MODE11 and MODE12), the
pin is initially used as a general-purpose input, and the pin status is read from this
register.
Rev.1.00 Jan. 10, 2008 Page 1419 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.19 Port C Data Register (PCDR)
PCDR is an 8-bit readable/writable register that stores port C data.
Bit:
7
6
5
4
3
2
1
0
PC7DT PC6DT PC5DT PC4DT PC3DT PC2DT PC1DT PC0DT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PC7DT
0
R/W
6
PC6DT
0
R/W
5
PC5DT
0
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PC4DT
0
R/W
3
PC3DT
0
R/W
2
PC2DT
0
R/W
1
PC1DT
0
R/W
0
PC0DT
0
R/W
Rev.1.00 Jan. 10, 2008 Page 1420 of 1658
REJ09B0261-0100
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
28. General Purpose I/O Ports (GPIO)
28.2.20 Port D Data Register (PDDR)
PDDR is an 8-bit readable/writable register that stores port D data.
Bit:
7
6
5
4
3
2
1
0
PD7DT PD6DT PD5DT PD4DT PD3DT PD2DT PD1DT PD0DT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PD7DT
0
R/W
6
PD6DT
0
R/W
5
PD5DT
0
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PD4DT
0
R/W
3
PD3DT
0
R/W
2
PD2DT
0
R/W
1
PD1DT
0
R/W
0
PD0DT
0
R/W
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
Rev.1.00 Jan. 10, 2008 Page 1421 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.21 Port E Data Register (PEDR)
PEDR is an 8-bit readable/writable register that stores port E data.
Bit:
Initial value:
R/W:
7
6
—
—
0
R/W
0
R/W
5
4
3
2
1
0
PE5DT PE4DT PE3DT PE2DT PE1DT PE0DT
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7 and 6
⎯
All 0
R/W
Reserved
x
R/W
0
R/W
0
R/W
x
R/W
These bits are always read as 0, and the write value
should always be 0.
5
PE5DT
0*
R/W
4
PE4DT
0*
R/W
3
PE3DT
Pin input R/W
2
PE2DT
0*
R/W
1
PE1DT
0*
R/W
PE0DT
Pin input R/W
0
Note:
*
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
When the bus mode is set to the local bus or DU via the bus mode pins (MODE11 and
MODE12), the pin is initially used as a general-purpose input, and the pin status is read
from this register.
Rev.1.00 Jan. 10, 2008 Page 1422 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.22 Port F Data Register (PFDR)
PFDR is an 8-bit readable/writable register that stores port F data.
Bit:
7
6
5
4
3
2
1
0
PF7DT PF6DT PF5DT PF4DT PF3DT PF2DT PF1DT PF0DT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PF7DT
0
R/W
6
PF6DT
0
R/W
5
PF5DT
0
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PF4DT
0
R/W
3
PF3DT
0
R/W
2
PF2DT
0
R/W
1
PF1DT
0
R/W
0
PF0DT
0
R/W
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
Rev.1.00 Jan. 10, 2008 Page 1423 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.23 Port G Data Register (PGDR)
PGDR is an 8-bit readable/writable register that stores port G data.
Bit:
7
6
5
4
3
2
1
0
PG7DT PG6DT PG5DT PG4DT PG3DT PG2DT PG1DT PG0DT
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PG7DT
0
R/W
6
PG6DT
0
R/W
5
PG5DT
0
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PG4DT
0
R/W
3
PG3DT
0
R/W
2
PG2DT
0
R/W
1
PG1DT
0
R/W
0
PG0DT
0
R/W
Rev.1.00 Jan. 10, 2008 Page 1424 of 1658
REJ09B0261-0100
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
28. General Purpose I/O Ports (GPIO)
28.2.24 Port H Data Register (PHDR)
PHDR is an 8-bit readable/writable register that stores port H data.
Bit:
7
6
5
4
3
2
1
0
PH7DT PH6DT PH5DT PH4DT PH3DT PH2DT PH1DT PH0DT
Initial value:
R/W:
x
R/W
Bit
Bit Name
Initial
value
7
PH7DT
Pin input R/W
6
PH6DT
Pin input R/W
5
PH5DT
Pin input R/W
4
PH4DT
Pin input R/W
3
PH3DT
Pin input R/W
2
PH2DT
Pin input R/W
1
PH1DT
Pin input R/W
0
PH0DT
Pin input R/W
R/W
x
R/W
x
x
R/W
R/W
x
R/W
x
x
x
R/W
R/W
R/W
Description
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
Rev.1.00 Jan. 10, 2008 Page 1425 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.25 Port J Data Register (PJDR)
PJDR is an 8-bit readable/writable register that stores port J data.
Bit:
7
6
5
4
3
2
1
0
PJ7DT PJ6DT PJ5DT PJ4DT PJ3DT PJ2DT PJ1DT PJ0DT
Initial value:
R/W:
x
R/W
Bit
Bit Name
Initial
value
7
PJ7DT
Pin input R/W
6
PJ6DT
Pin input R/W
5
PJ5DT
Pin input R/W
4
PJ4DT
Pin input R/W
3
PJ3DT
Pin input R/W
2
PJ2DT
Pin input R/W
1
PJ1DT
Pin input R/W
0
PJ0DT
Pin input R/W
R/W
Rev.1.00 Jan. 10, 2008 Page 1426 of 1658
REJ09B0261-0100
x
R/W
x
x
x
x
x
x
R/W
R/W
R/W
R/W
R/W
R/W
Description
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
28. General Purpose I/O Ports (GPIO)
28.2.26 Port K Data Register (PKDR)
PKDR is an 8-bit readable/writable register that stores port K data.
Bit:
7
6
5
4
3
2
1
0
PK7DT PK6DT PK5DT PK4DT PK3DT PK2DT PK1DT PK0DT
Initial value:
R/W:
0
R/W
0
R/W
x
x
x
x
R/W
R/W
R/W
R/W
x
R/W
x
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PK7DT
0
R/W
6
PK6DT
0
R/W
5
PK5DT
Pin input R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
4
PK4DT
Pin input R/W
3
PK3DT
Pin input R/W
2
PK2DT
Pin input R/W
1
PK1DT
Pin input R/W
0
PK0DT
Pin input R/W
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
Rev.1.00 Jan. 10, 2008 Page 1427 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.27 Port L Data Register (PLDR)
PLDR is an 8-bit readable/writable register that stores port L data.
Bit:
7
6
5
4
3
2
1
0
PL7DT PL6DT PL5DT PL4DT PL3DT PL2DT PL1DT PL0DT
Initial value:
R/W:
x
R/W
Bit
Bit Name
Initial
value
7
PL7DT
Pin input R/W
6
PL6DT
Pin input R/W
5
PL5DT
Pin input R/W
4
PL4DT
Pin input R/W
3
PL3DT
Pin input R/W
2
PL2DT
Pin input R/W
1
PL1DT
Pin input R/W
0
PL0DT
Pin input R/W
R/W
Rev.1.00 Jan. 10, 2008 Page 1428 of 1658
REJ09B0261-0100
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
x
R/W
Description
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
28. General Purpose I/O Ports (GPIO)
28.2.28 Port M Data Register (PMDR)
PMDR is an 8-bit readable/writable register that stores port M data.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
—
—
—
—
—
—
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7 to 2
⎯
All 0
R/W
Reserved
1
0
PM1DT PM0DT
0
R/W
0
R/W
These bits are always read as 0, and the write value
should always be 0.
1
PM1DT
0
R/W
0
PM0DT
0
R/W
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
Rev.1.00 Jan. 10, 2008 Page 1429 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.29 Port N Data Register (PNDR)
PNDR is an 8-bit readable/writable register that stores port N data.
Bit:
7
6
5
4
3
2
1
0
PN7DT PN6DT PN5DT PN4DT PN3DT PN2DT PN1DT PN0DT
Initial value:
R/W:
x
R/W
Bit
Bit Name
Initial
value
7
PN7DT
Pin input R/W
6
PN6DT
Pin input R/W
5
PN5DT
0
R/W
4
PN4DT
0
R/W
3
PN3DT
0
R/W
2
PN2DT
0
R/W
1
PN1DT
0
R/W
0
PN0DT
0
R/W
R/W
Rev.1.00 Jan. 10, 2008 Page 1430 of 1658
REJ09B0261-0100
x
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Description
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
28. General Purpose I/O Ports (GPIO)
28.2.30 Port P Data Register (PPDR)
PPDR is an 8-bit readable/writable register that stores port P data.
Bit:
Initial value:
R/W:
7
6
—
—
0
R/W
0
R/W
5
4
3
2
1
0
PP5DT PP4DT PP3DT PP2DT PP1DT PP0DT
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7 and 6
⎯
All 0
R/W
Reserved
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0, and the write value
should always be 0.
5
PP5DT
0*
R/W
4
PP4DT
0*
R/W
3
PP3DT
0*
R/W
2
PP2DT
0*
R/W
1
PP1DT
0*
R/W
0
PP0DT
0*
R/W
Note:
*
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
When the bus mode is set to the local bus via the bus mode pins (MODE11 and
MODE12), the pin is initially used as a general-purpose input, and the pin status is read
from this register.
Rev.1.00 Jan. 10, 2008 Page 1431 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.31 Port Q Data Register (PQDR)
PQDR is an 8-bit readable/writable register that stores port Q data.
Bit:
Initial value:
R/W:
7
6
5
—
—
—
0
R/W
0
R/W
0
R/W
4
3
2
1
0
PQ4DT PQ3DT PQ2DT PQ1DT PQ0DT
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
7 to 5
⎯
All 0
R/W
Reserved
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0, and the write value
should always be 0.
4
PQ4DT
0*
R/W
3
PQ3DT
0*
R/W
2
PQ2DT
0*
R/W
1
PQ1DT
0*
R/W
0
PQ0DT
0*
R/W
Note:
*
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
When the bus mode is set to the local bus or DU via the bus mode pins (MODE11 and
MODE12), the pin is initially used as a general-purpose input, and the pin status is read
from this register.
Rev.1.00 Jan. 10, 2008 Page 1432 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.32 Port R Data Register (PRDR)
PRDR is an 8-bit readable/writable register that stores port R data.
Bit:
Initial value:
R/W:
7
6
5
4
—
—
—
—
0
R/W
0
R/W
0
R/W
0
R/W
3
2
1
0
PR3DT PR2DT PR1DT PR0DT
Bit
Bit Name
Initial
value
R/W
Description
7 to 4
⎯
All 0
R/W
Reserved
0
R/W
0
R/W
0
R/W
0
R/W
These bits are always read as 0, and the write value
should always be 0.
3
PR3DT
0*
R/W
2
PR2DT
0*
R/W
1
PR1DT
0*
R/W
0
PR0DT
0*
R/W
Note:
*
These bits store output data of a pin which is used as a
general-purpose output port. When the pin functions as
a general-purpose output port, reading the port will read
out the value of the corresponding bit of this register.
When the pin functions as a general-purpose input port,
reading the port will read out the status of the
corresponding pin.
When the bus mode is set to DU by the bus mode pins (MODE11 and MODE12), the
pin is initially used as a general-purpose input, and the pin status is read from this
register.
Rev.1.00 Jan. 10, 2008 Page 1433 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.33 Port E Pull-Up Control Register (PEPUPR)
PEPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the port
E3 and E0 (PE3 and PE0) pins when the pins are used by peripheral modules. When the port E
pins are used by the GPIO, the setting for this register is ignored.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
1
0
—
—
—
—
PE3
PUPR
—
—
PE0
PUPR
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
7 to 4
—
All 1
R/W
Description
Reserved
These bits are always read as 1, and the write value
should always be 1.
3
PE3PUPR
1
R/W
Pull-up of the Port E3 pin can be controlled
independently.
0: PE3 pull-up off
1: PE3 pull-up on
2 and 1
—
All 1
R/W
Reserved
These bits are always read as 1, and the write value
should always be 1.
0
PE0PUPR
1
R/W
Pull-up of the Port E0 pin can be controlled
independently.
0: PE0 pull-up off
1: PE0 pull-up on
Rev.1.00 Jan. 10, 2008 Page 1434 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.34 Port H Pull-Up Control Register (PHPUPR)
PHPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the
port H7 to H0 (PH7 to PH0) pins when the port H pins are used by peripheral modules. When the
port H pins are used by the GPIO, the setting for this register is ignored.
Bit:
7
6
5
4
3
2
1
0
PH7
PH6
PH5
PH4
PH3
PH2
PH1
PH0
PUPR PUPR PUPR PUPR PUPR PUPR PUPR PUPR
Initial value:
R/W:
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PH7PUPR
1
R/W
6
PH6PUPR
1
R/W
Pull-up of each Port H pin can be controlled
independently.
5
PH5PUPR
1
R/W
4
PH4PUPR
1
R/W
3
PH3PUPR
1
R/W
2
PH2PUPR
1
R/W
1
PH1PUPR
1
R/W
0
PH0PUPR
1
R/W
0: PHn pull-up off
1: PHn pull-up on
Note: n = 7 to 0
Rev.1.00 Jan. 10, 2008 Page 1435 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.35 Port J Pull-Up Control Register (PJPUPR)
PJPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the port
J7 to J0 (PJ7 to PJ0) pins when the port J pins are used by peripheral modules. When the port J
pins are used by the GPIO, the setting for this register is ignored.
Bit:
7
6
5
4
3
2
1
0
PJ7
PJ6
PJ5
PJ4
PJ3
PJ2
PJ1
PJ0
PUPR PUPR PUPR PUPR PUPR PUPR PUPR PUPR
Initial value:
R/W:
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PJ7PUPR
1
R/W
6
PJ6PUPR
1
R/W
Pull-up of each Port J pin can be controlled
independently.
5
PJ5PUPR
1
R/W
4
PJ4PUPR
1
R/W
3
PJ3PUPR
1
R/W
2
PJ2PUPR
1
R/W
1
PJ1PUPR
1
R/W
0
PJ0PUPR
1
R/W
Note: n = 7 to 0
Rev.1.00 Jan. 10, 2008 Page 1436 of 1658
REJ09B0261-0100
0: PJn pull-up off
1: PJn pull-up on
28. General Purpose I/O Ports (GPIO)
28.2.36 Port K Pull-Up Control Register (PKPUPR)
PKPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the
port K7 to K0 (PK7 to PK0) pins when the port K pins are used by peripheral modules. When the
port K pins are used by the GPIO, the setting for this register is ignored.
Bit:
7
6
5
4
3
2
1
0
PK7
PK6
PK5
PK4
PK3
PK2
PK1
PK0
PUPR PUPR PUPR PUPR PUPR PUPR PUPR PUPR
Initial value:
R/W:
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PK7PUPR
1
R/W
6
PK6PUPR
1
R/W
Pull-up of each Port K pin can be controlled
independently.
5
PK5PUPR
1
R/W
4
PK4PUPR
1
R/W
3
PK3PUPR
1
R/W
2
PK2PUPR
1
R/W
1
PK1PUPR
1
R/W
0
PK0PUPR
1
R/W
0: PKn pull-up off
1: PKn pull-up on
Note: n = 7 to 0
Rev.1.00 Jan. 10, 2008 Page 1437 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.37 Port L Pull-Up Control Register (PLPUPR)
PLPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the port
L7 to L0 (PL7 to PL0) pins when the port L pins are used by peripheral modules. When the port L
pins are used by the GPIO, the setting for this register is ignored.
Bit:
7
6
5
4
3
2
1
0
PL7
PL6
PL5
PL4
PL3
PL2
PL1
PL0
PUPR PUPR PUPR PUPR PUPR PUPR PUPR PUPR
Initial value:
R/W:
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PL7PUPR
1
R/W
6
PL6PUPR
1
R/W
Pull-up of each Port L pin can be controlled
independently.
5
PL5PUPR
1
R/W
4
PL4PUPR
1
R/W
3
PL3PUPR
1
R/W
2
PL2PUPR
1
R/W
1
PL1PUPR
1
R/W
0
PL0PUPR
1
R/W
Note: n = 7 to 0
Rev.1.00 Jan. 10, 2008 Page 1438 of 1658
REJ09B0261-0100
0: PLn pull-up off
1: PLn pull-up on
28. General Purpose I/O Ports (GPIO)
28.2.38 Port M Pull-Up Control Register (PMPUPR)
PMPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the
port M1 and M0 (PM1 to PM0) pins when the port M pins are used by peripheral modules. When
the port M pins are used by the GPIO, the setting for this register is ignored.
Bit:
Initial value:
R/W:
7
6
5
4
3
2
—
—
—
—
—
—
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
7 to 2
—
All 1
R/W
1
0
PM1
PM0
PUPR PUPR
1
R/W
1
R/W
Description
Reserved
These bits are always read as 1, and the write value
should always be 1.
1
PM1PUPR
1
R/W
0
PM0PUPR
1
R/W
Pull-up of each Port M pin can be controlled
independently.
0: PMn pull-up off
1: PMn pull-up on
Note: n = 1 to 0
Rev.1.00 Jan. 10, 2008 Page 1439 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.39 Port N Pull-Up Control Register (PNPUPR)
PNPUPR is an 8-bit readable/writable register that performs the pull-up control for each of the
port N7 to N0 (PN7 to PN0) pins when the port N pins are used by peripheral modules. When the
port N pins are used by the GPIO, the setting for this register is ignored.
Bit:
7
6
5
4
3
2
1
0
PN7
PN6
PN5
PN4
PN3
PN2
PN1
PN0
PUPR PUPR PUPR PUPR PUPR PUPR PUPR PUPR
Initial value:
R/W:
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
7
PN7PUPR
1
R/W
6
PN6PUPR
1
R/W
Pull-up of each Port N pin can be controlled
independently.
5
PN5PUPR
1
R/W
4
PN4PUPR
1
R/W
3
PN3PUPR
1
R/W
2
PN2PUPR
1
R/W
1
PN1PUPR
1
R/W
0
PN0PUPR
1
R/W
Note: n = 7 to 0
Rev.1.00 Jan. 10, 2008 Page 1440 of 1658
REJ09B0261-0100
0: PNn pull-up off
1: PNn pull-up on
28. General Purpose I/O Ports (GPIO)
28.2.40 Input-Pin Pull-Up Control Register 1 (PPUPR1)
PPUPR1 is a 16-bit readable/writable register that performs the pull-up control for the pin
corresponding to each bit of the register field.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
RDY
PUP
—
—
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Bit
Bit Name
Initial
value
R/W
Description
15 to 3
—
All 1
R/W
Reserved
These bits are always read as 1, and the write value
should always be 1.
2
RDYPUP
1
Controls pull-up of the RDY pin
R/W
0: RDY pull-up off
1: RDY pull-up on
1 and 0
—
All 1
R/W
Reserved
These bits are always read as 1, and the write value
should always be 1.
28.2.41 Input-Pin Pull-Up Control Register 2 (PPUPR2)
PPUPR2 is a 16-bit readable/writable register that performs the pull-up control for the pin
corresponding to each bit of the register field.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
SIOF
UP1
SIOF
UP0
CLK
PUP
NMI
PUP
IRL3
PUP
IRL2
PUP
IRL1
PUP
IRL0
PUP
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
1
R/W
Rev.1.00 Jan. 10, 2008 Page 1441 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
15 to 8
—
All 1
R/W
Reserved
These bits are always read as 1, and the write value
should always be 1.
7
SIOFUP1
1
R/W
Controls pull-up of the MODE6/SIOF_MCLK pin
0: MODE6/SIOF_ MCLK pull-up off
1: MODE6/SIOF_ MCLK pull-up on*
6
SIOFUP0
1
R/W
Controls pull-up of the MODE5/SIOF_SYNC pin
0: MODE5/SIOF_SYNC pull-up off
1: MODE5/SIOF_SYNC pull-up on*
5
CLKPUP
1
R/W
Controls pull-up of the SCIF2_RXD/SIOF_RXD pin
0: SCIF2_RXD/SIOF_RXD pull-up off
1: SCIF2_RXD/SIOF_RXD pull-up on
4
NMIPUP
1
R/W
Controls pull-up of the NMI pin
0: NMI pull-up off
1: NMI pull-up on
3
IRL3PUP
1
R/W
Controls pull-up of the IRL3 pin
0: IRL3 pull-up off
1: IRL3 pull-up on
2
IRL2PUP
1
R/W
Controls pull-up of the IRL2 pin
0: IRL2 pull-up off
1: IRL2 pull-up on
1
IRL1PUP
1
R/W
Controls pull-up of the RL1 pin
0: IRL1 pull-up off
1: IRL1 pull-up on
0
IRL0PUP
1
R/W
Controls pull-up of the IRL0 pin
0: IRL0 pull-up off
1: IRL0 pull-up on
Note:
*
The pull-up MOS of this pin cannot be used for MODE pin setting during power-on reset
by the PRESET pin. (The pull-up MOS is turned off during power-on reset by the
PRESET pin.)
Rev.1.00 Jan. 10, 2008 Page 1442 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.42 Peripheral Module Select Register 1 (P1MSELR)
P1MSELR is a 16-bit readable/writable register. This register can be used to select the module that
uses multiplexed pins. For details of pin multiplexing, see table 28.1.
This register is valid only when peripheral modules are selected by PACR to PHCR, PJCR to
PNCR, PPCR to PRCR of the GPIO.
Bit:
15
14
13
12
11
10
9
P1M
P1M
P1M
P1M
P1M
P1M
P1M
SEL15 SEL14 SEL13 SEL12 SEL11 SEL10 SEL9
Initial value:
R/W:
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
8
7
6
5
4
3
2
1
0
P1M
SEL8
P1M
SEL7
P1M
SEL6
P1M
SEL5
P1M
SEL4
P1M
SEL3
P1M
SEL2
P1M
SEL1
P1M
SEL0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Bit
Bit Name
Initial
value
R/W
Description
15
P1MSEL15
0
R/W
Out of the modules STATUS and DMAC, selects the
one which uses the pins STATUS0/DRAK0 and
STATUS1/DRAK1.
0: STATUS
1: DMAC
14
P1MSEL14
0
R/W
Out of the modules INTC and FLCTL, selects the one
which uses the pins MODE3 to MODE0/IRL7 to
IRL4/FD7 to FD4.
0: INTC
1: FLCTL
At power-on reset by the PRESET pin, MODE3 to
MODE0 are selected.
13
P1MSEL13
0
R/W
Out of the modules DMAC and PCIC, selects the one
which uses the pins DREQ2/INTB and DREQ3/INTC.
0: DMAC
1: PCIC
Rev.1.00 Jan. 10, 2008 Page 1443 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
12
PMSEL12
0
R/W
11
PMSEL11
0
R/W
Out of the modules DMAC, SCIF[2], MMCIF, and SIOF,
selects the one uses the pins
DACK3/SCIF2_SCK/MMCDAT/SIOF_SCK and
DACK2/SCIF2_TXD/MMCCMD/SIOF_TXD.
00: DMAC
01: SIOF*
10: SCIF[2]
11: MMCIF
10
P1MSEL10
0
R/W
Out of the modules DMAC and LBSC, selects the one
which uses the pins MODE12/DRAK3/CE2B and
DRAK2/CE2A.
0: DMAC
1: LBSC
At power-on reset by the PRESET pin, MODE12 is
selected.
9
PMSEL9
0
R/W
Out of the modules TMU and LBSC, selects the one
which uses the MODE13/TCLK/IOIS16 pin.
0: TMU
1: LBSC
At power-on reset by the PRESET pin, MODE13 is
selected.
8
P1MSEL8
0
R/W
7
P1MSEL7
0
R/W
Out of the modules SCIF[0], HSPI, and FLCTL, selects
the one which uses the pins
SCIF0_TXD/HSPI_TX/FWE,
SCIF0_RXD/HSPI_RX/FRB,
SCIF0_SCK/HSPI_CLK/FRE,
SCIF0_RTS/HSPI_CS/FSE, and
SCIF0_CTS/INTD/FCE.
00: SCIF0
01: HSPI, PCIC
10: FLCTL
11: SCIF0, PCIC
When 11 is selected, the SCIF0_CTS/INTD/FCE pin is
used as the PCIC pin.
Rev.1.00 Jan. 10, 2008 Page 1444 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
6
P1MSEL6
0
R/W
5
P1MSEL5
0
R/W
Out of the modules SCIF[2] and SIOF, selects the one
using the pin SCIF2_RXD/SIOF_RXD.
00: SCIF[2]
01: Setting prohibited
10: SIOF*
11: Setting prohibited
4
PMSEL4
0
R/W
3
PMSEL3
0
R/W
Out of the modules SIOF, HAC, SSI[0], selects the one
which uses the pins
SIOF_SCK/HAC0_BITCLK/SSIO_CLK,
SIOF_MCLK/HAC_RES,
SIOF_SYNC/HAC0_SYNC/SSIO_WS,
SIOF_RXD/HAC0_SDIN/SSIO_SCK, and
SIOF_TXD/HAC0_SDOUT/SSIO_SDATA.
00: SIOF*
01: HAC
10: SSI[0]
11: Setting prohibited
When 10 is selected, the SIOF_MCLK/HAC_RES pin is
used as HAC_RES.
2
P1MSEL2
0
R/W
1
P1MSEL1
0
R/W
Out of the modules SCIF[5], HAC[1], SSI[1], selects the
one which uses the pins HAC1_BITCLK/SSI1_CLK,
SCIF5_TXD/HAC1_SYNC/SSI1_WS,
SCIF5_RXD/HAC1_SDIN/SSI1_SCK, and
SCIF5_SCK/HAC1_SDOUT/SSI1_SDATA.
00: SCIF[5]
01: HAC[1]
10: SSI[1]
11: Setting prohibited
When 00 is selected, the HAC1_BITCLK/SSI1_CLK pin
is used as HAC1_BITCLK.
Rev.1.00 Jan. 10, 2008 Page 1445 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
0
P1MSEL0
0
R/W
Out of the modules SCIF[3] and SCIF[4], and FLCTL,
selects the one which uses the pins
MODE4/SCIF3_TXD/FCLE,
MODE7/SCIF3_RXD/FALE, MODE8/SCIF3_SCK/FD0,
MODE9/SCIF4_TXD/FD1, MODE10/SCIF4_RXD/FD2,
and MODE11/SCIF4_SCK/FD3.
0: SCIF[3] and SCIF[4]
1: FLCTL
At power-on reset by the PRESET pin, MODE4 and
MODE7 to MODE11 are selected.
Note:
*
When using the SIOF, SIOF selection of P1MSEL4 and P1MSEL3 and that of
P1MSEL12 and P1MSEL11 and P1MSEL6 and P1MSEL5 must be specified without
contradiction. The settings of the registers when the SIOF is used are shown in the
following: Correct operation of the SIOF cannot be guaranteed by the settings other
than the following.
When the Following SIOF Pin Groups Are
Used:
When the Following SIOF Pin Groups Are
Used:
Register Bit
Name
SIOF_SCK/HAC0_BITCLK/SSIO_CLK
SIOF_MCLK/HAC_RES
SIOF_SYNC/HAC0_SYNC/SSIO_WS
SIOF_RXD/HAC0_SDIN/SSIO_SCK
SIOF_TXD/HAC0_SDOUT/SSIO_SDATA
DACK3/SCIF2_SCK/MMCDAT/SIOF_SCK
DACK2/SCIF2_TXD/MMCCMD/SIOF_TXD
SCIF2_RXD/SIOF_RXD
MODE5/SIOF_MCLK
MODE6/SIOF_SYNC
P1MSEL4, 3
B'00 is set.
Other than B'00 is set.
P1MSEL12, 11 Other than B'01 is set.
B'01 is set.
P1MSEL6, 5
Other than B'10 is set.
B'10 is set.
P1MSEL1
B'0 is set.
B'1 is set.
Rev.1.00 Jan. 10, 2008 Page 1446 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.2.43 Peripheral Module Select Register 2 (P2MSELR)
P2MSELR is a 16-bit readable/writable register. This register can be used to select the module that
uses multiplexed pins. For details of pin multiplexing, see table 28.1.
This register is valid only when peripheral modules are selected by PACR to PHCR, PJCR to
PNCR, PPCR to PRCR of the GPIO.
Bit:
Initial value:
R/W:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
—
—
—
—
—
—
—
—
—
—
—
—
—
P2M
SEL2
P2M
SEL1
P2M
SEL0
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
Rev.1.00 Jan. 10, 2008 Page 1447 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Bit
Bit Name
Initial
value
R/W
Description
15 to 3
—
All 0
R/W
Reserved
These bits are always read as 0, and the write value
should always be 0.
2
P2MSEL2
0
R/W
Out of the modules RESET and INTC, selects the one
which uses the pin MRESETOUT/IRQOUT.
0: Selects RESET
1: Selects INTC
1
P2MSEL1
0
R/W
Selects the pin group used by the SIOF.
0: Uses the SIOF pin selected by P1MSEL4 and 3.
(SIOF_SCK/HAC0_BITCLK/SSIO_CLK,
SIOF_MCLK/HAC_RES,
SIOF_SYNC/HAC0_SYNC/SSIO_WS,
SIOF_RXD/HAC0_SDIN/SSIO_SCK,
SIOF_TXD/HAC0_SDOUT/SSIO_SDATA)
1: Uses the SIOF pin selected by P1MSEL12, 11, and
P1MSEL6 and 5.
(DACK3/SCIF2_SCK/MMCDATA/SIOF_SCK,
DACK2/SCIF2_TXD/MMCCMD/SIOF_TXD,
SCIF2_RXD/SIOF_RXD, MODE5/SIOF_MCLK*,
MODE6/SIOF_SYNC*)
Note: At power-on reset by the PRESET pin, MODE5
and MODE6 are selected.
0
P2MSEL0
0
R/W
Out of the modules PCIC and MMCIF, selects the one
which uses the pins REQ3 and GNT3/MMCCLK.
0: PCIC
1: MMCIF
When 1 is selected, the REQ3 pin is determined as
unused pin. Accordingly, set bit 3 (PE3PUPR) of the
port E pull-up control register to B'1.
Rev.1.00 Jan. 10, 2008 Page 1448 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.3
Usage Example
Setting procedure examples are described below.
28.3.1
Port Output Function
To output the data of port data registers (PADR to PRDR) from the GPIO output port, write B'01
to the corresponding two bits in port control registers (PACR to PRCR).
In this case, for each output port, the settings of the port pull-up control registers (PEPUPR,
PHPUPR, PJPUPR, PKPUPR, PLPUPR, PMPUPR, and PNPUPR), peripheral module select
register 1 (P1MSELR), peripheral module select register 2 (P2MSELR), and bus mode pin
(MODE11 and MODE12) are invalid.
Figure 28.1 shows an example of operation timing diagram when port A is used as an output port.
The output data is written to port data registers (PADR to PRDR) and then the data is output via
the corresponding port pins after one peripheral clock (Pck).
CLKOUT
Peripheral clock (Pck)
Port A data register
PA7 to PA0
(D63/AD31 to D56/AD24)
Data
Data
Figure 28.1 Port A Data Output Timing Diagram
Rev.1.00 Jan. 10, 2008 Page 1449 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.3.2
Port Input function
To input the data via the GPIO port, write B'10 or B'11 to the corresponding two bits in port
control registers (PACR to PRCR). B’10 should be written when the pull-up MOS is off, and B'11
when the pull-up MOS is on. The input data to each port can be read out from the corresponding
bit in port data registers (PADR to PRCR).
In this case, for each input port, the settings of port pull-up control registers (PEPUPR, PHPUPR,
PJPUPR, PKPUPR, PLPUPR, PMPUPR, and PNPUPR), peripheral module select register 1
(P1MSELR), peripheral module select register 2 (P2MSELR), and bus-mode pin (MODE11 and
MODE12) are invalid.
Figure 28.2 shows an example of operation timing diagram when port A is used as an input port.
The input data from each port can be read out from corresponding port data register after the 2nd
rising edge of the peripheral clock (Pck).
CLKOUT
Peripheral clock (Pck)
Port A data register
PA7 to PA0
(D63/AD31 to D56/AD24)
Data
Data
Figure 28.2 Port A Data Input Timing Diagram
Rev.1.00 Jan. 10, 2008 Page 1450 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
28.3.3
Peripheral Module Function
The procedures for setting the peripheral module function are described below.
1. Select the peripheral module by using the peripheral module select register 1 (P1MSELR) and
peripheral module select register 2 (P2MSELR).
2. When an input or input/output pin is used, it is necessary to set the pull-up MOS for each pin
by using the port pull-up control registers (PEPUPR, PHPUPR, PJPUPR, PKPUPR. PLPUPR,
PMPUPR, and PNPUPR). Write B'0 (when the pull-up MOS is off ) or B'1 (when the pull-up
MOS is on) to the corresponding bit. When an output port is used, the pull-up MOS is off
regardless of the settings of the port pull-up control registers.
3. Write B'00 to the corresponding two bits in the port control registers (PACR to PRCR).
Rev.1.00 Jan. 10, 2008 Page 1451 of 1658
REJ09B0261-0100
28. General Purpose I/O Ports (GPIO)
Rev.1.00 Jan. 10, 2008 Page 1452 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Section 29 User Break Controller (UBC)
The user break controller (UBC) provides versatile functions to facilitate program debugging.
These functions help to ease creation of a self-monitor/debugger, which allows easy program
debugging using this LSI alone, without using the in-circuit emulator. Various break conditions
can be set in the UBC: instruction fetch or read/write access of an operand, operand size, data
contents, address value, and program stop timing for instruction fetch.
29.1
Features
1. The following break conditions can be set.
Break channels: Two (channels 0 and 1)
User break conditions can be set independently for channels 0 and 1, and can also be set as a
single sequential condition for the two channels, that is, a sequential break. (Sequential break
involves two cases such that the channel 0 break condition is satisfied in a certain bus cycle
and then the channel 1 break condition is satisfied in a different bus cycle, and vice versa.)
• Address
When 40 bits containing ASID and 32-bit address are compared with the specified value, all
the ASID bits can be compared or masked.
32-bit address can be masked bit by bit, allowing the user to mask the address in desired page
sizes such as lower 12 bits (4-Kbyte page) and lower 10 bits (1-Kbyte page).
• Data
32 bits can be masked only for channel 1.
• Bus cycle
The program can break either for instruction fetch (PC break) or operand access.
• Read or write access
• Operand sizes
Byte, word, longword, and quadword are supported.
2. The user-designated exception handling routine for the user break condition can be executed.
3. Pre-instruction-execution or post-instruction-execution can be selected as the PC break timing.
4. A maximum of 212 – 1 repetition counts can be specified as the break condition (available only
for channel 1).
Rev.1.00 Jan. 10, 2008 Page 1453 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Figure 29.1 shows the UBC block diagram.
ASID
Access
control
SDB
SAB
Internal bus
Access
comparator
CBR0
ASID
comparator
Address
comparator
CAR0
CAMR0
Channel 0
operation
control
CRR0
Access
comparator
CBR1
ASID
comparator
Address
comparator
Data
comparator
Channel 1
operation
control
CAR1
CAMR1
CDR1
CDMR1
CETR1
CRR1
CCMFR
Control
CBCR
User break is requested.
Legend:
CBR0:
CRR0:
CAR0:
CAMR0:
CBR1:
CRR1:
CAR1:
Match condition setting register 0
Match operation setting register 0
Match address setting register 0
Match address mask setting register 0
Match condition setting register 1
Match operation setting register 1
Match address setting register 1
CAMR1: Match address mask setting register 1
CDR1: Match data setting register 1
CDMR1: Match data mask setting register 1
CETR1: Execution count break register
CCMFR: Channel match flag register
CBCR: Break control register
Operand address bus
SAB:
Operand data bus
SDB:
Figure 29.1 Block Diagram of UBC
Rev.1.00 Jan. 10, 2008 Page 1454 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2
Register Descriptions
The UBC has the following registers.
Table 29.1 Register Configuration
Name
Abbreviation
R/W
P4 Address*
Area 7
Address*
Access
Size
Match condition setting
register 0
CBR0
R/W
H'FF200000
H'1F200000
32
Match operation setting
register 0
CRR0
R/W
H'FF200004
H'1F200004
32
Match address setting
register 0
CAR0
R/W
H'FF200008
H'1F200008
32
Match address mask setting CAMR0
register 0
R/W
H'FF20000C
H'1F20000C
32
Match condition setting
register 1
CBR1
R/W
H'FF200020
H'1F200020
32
Match operation setting
register 1
CRR1
R/W
H'FF200024
H'1F200024
32
Match address setting
register 1
CAR1
R/W
H'FF200028
H'1F200028
32
Match address mask setting CAMR1
register 1
R/W
H'FF20002C
H'1F20002C
32
Match data setting register 1 CDR1
R/W
H'FF200030
H'1F200030
32
Match data mask setting
register 1
CDMR1
R/W
H'FF200034
H'1F200034
32
Execution count break
register 1
CETR1
R/W
H'FF200038
H'1F200038
32
Channel match flag register
CCMFR
R/W
H'FF200600
H'1F200600
32
Break control register
CBCR
R/W
H'FF200620
H'1F200620
32
Note:
*
P4 addresses are used when area P4 in the virtual address space is used, and area 7
addresses are used when accessing the register through area 7 in the physical address
space using the TLB.
Rev.1.00 Jan. 10, 2008 Page 1455 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Table 29.2 Register Status in Each Processing State
Register Name
Abbreviation
Power-on Reset Manual Reset
Sleep
Match condition setting
register 0
CBR0
H'20000000
Retained
Retained
Match operation setting
register 0
CRR0
H'00002000
Retained
Retained
Match address setting
register 0
CAR0
Undefined
Retained
Retained
Match address mask
setting register 0
CAMR0
Undefined
Retained
Retained
Match condition setting
register 1
CBR1
H'20000000
Retained
Retained
Match operation setting
register 1
CRR1
H'00002000
Retained
Retained
Match address setting
register 1
CAR1
Undefined
Retained
Retained
Match address mask
setting register 1
CAMR1
Undefined
Retained
Retained
Match data setting
register 1
CDR1
Undefined
Retained
Retained
Match data mask setting
register 1
CDMR1
Undefined
Retained
Retained
Execution count break
register 1
CETR1
Undefined
Retained
Retained
Channel match flag
register
CCMFR
H'00000000
Retained
Retained
Break control register
CBCR
H'00000000
Retained
Retained
The access size must be the same as the control register size. If the size is different, the register is
not written to if attempted, and reading the register returns the undefined value. A desired break
may not occur between the time when the instruction for rewriting the control register is executed
and the time when the written value is actually reflected on the register. In order to confirm the
exact timing when the control register is updated, read the data which has been written most
recently. The subsequent instructions are valid for the most recently written register value.
Rev.1.00 Jan. 10, 2008 Page 1456 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.1
Match Condition Setting Registers 0 and 1 (CBR0 and CBR1)
CBR0 and CBR1 are readable/writable 32-bit registers which specify the break conditions for
channels 0 and 1, respectively. The following break conditions can be set in the CBR0 and CBR1:
(1) whether or not to include the match flag in the conditions, (2) whether or not to include the
ASID, and the ASID value when included, (3) whether or not to include the data value, (4)
operand size, (5) whether or not to include the execution count, (6) bus type, (7) instruction fetch
cycle or operand access cycle, and (8) read or write access cycle.
• CBR0
Bit :
Initial value :
R/W:
Bit :
31
30
MFE
AIE
0
R/W
0
R/W
15
14
29
28
27
26
25
24
0
R
0
R/W
22
21
20
19
18
17
16
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
4
3
2
1
0
CE
0
R/W
0
R/W
AIV
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
13
12
11
10
9
8
7
6
5
SZ
Initial value :
R/W:
23
MFI
0
R/W
0
R/W
0
R
0
R
0
R
0
R
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31
MFE
0
R/W
Match Flag Enable
RW
ID
CD
0
R/W
0
R/W
0
R
0
R/W
Specifies whether or not to include the match flag value
specified by the MFI bit of this register in the match
conditions. When the specified match flag value is 1, the
condition is determined to be satisfied.
0: The match flag is not included in the match conditions;
thus, not checked.
1: The match flag is included in the match conditions.
30
AIE
0
R/W
ASID Enable
Specifies whether or not to include the ASID specified by
the AIV bit of this register in the match conditions.
0: The ASID is not included in the match conditions;
thus, not checked.
1: The ASID is included in the match conditions.
Rev.1.00 Jan. 10, 2008 Page 1457 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Bit
Bit Name
Initial
Value
R/W
Description
29 to 24
MFI
100000
R/W
Match Flag Specify
Specifies the match flag to be included in the match
conditions.
000000: MF0 bit of the CCMFR register
000001: MF1 bit of the CCMFR register
Others: Reserved (setting prohibited)
Note: The initial value is the reserved value, but when 1
is written into CBR0[0], MFI must be set to 000000
or 000001. And note that the channel 0 is not hit
when MFE bit of this register is 1 and MFI bits are
000000 in the condition of CCRMF.MF0 = 0.
23 to 16
AIV
All 0
R/W
ASID Specify
Specifies the ASID value to be included in the match
conditions.
15
—
0
R
Reserved
For read/write in this bit, refer to General Precautions on
Handling of Product.
14 to 12
SZ
All 0
R/W
Operand Size Select
Specifies the operand size to be included in the match
conditions. This bit is valid only when the operand
access cycle is specified as a match condition.
000: The operand size is not included in the match
conditions; thus, not checked (any operand size
specifies the match condition).*1
001: Byte access
010: Word access
011: Longword access
100: Quadword access*2
Others: Reserved (setting prohibited)
11 to 8
—
All 0
R
Reserved
For read/write in this bit, refer to General Precautions on
Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 1458 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Bit
Bit Name
Initial
Value
R/W
Description
7, 6
CD
All 0
R/W
Bus Select
Specifies the bus to be included in the match conditions.
This bit is valid only when the operand access cycle is
specified as a match condition.
00: Operand bus for operand access
Others: Reserved (setting prohibited)
5, 4
ID
All 0
R/W
Instruction Fetch/Operand Access Select
Specifies the instruction fetch cycle or operand access
cycle as the match condition.
00: Instruction fetch cycle or operand access cycle
01: Instruction fetch cycle
10: Operand access cycle
11: Instruction fetch cycle or operand access cycle
3
—
0
R
Reserved
For read/write in this bit, refer to General Precautions on
Handling of Product.
2, 1
RW
All 0
R/W
Bus Command Select
Specifies the read/write cycle as the match condition.
This bit is valid only when the operand access cycle is
specified as a match condition.
00: Read cycle or write cycle
01: Read cycle
10: Write cycle
11: Read cycle or write cycle
0
CE
0
R/W
Channel Enable
Validates/invalidates the channel. If this bit is 0, all the
other bits of this register are invalid.
0: Invalidates the channel.
1: Validates the channel.
Notes: 1. If the data value is included in the match conditions, be sure to specify the operand
size.
2. If the quadword access is specified and the data value is included in the match
conditions, the upper and lower 32 bits of 64-bit data are each compared with the
contents of both the match data setting register and the match data mask setting
register.
Rev.1.00 Jan. 10, 2008 Page 1459 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
• CBR1
Bit :
31
30
MFE
AIE
Initial value :
0
R/W: R/W
0
R/W
Bit :
15
DBE
Initial value :
0
R/W: R/W
29
28
27
26
25
24
23
22
21
20
19
18
17
16
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
4
3
2
1
0
0
R/W
CE
0
R/W
MFI
AIV
1
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
0
R/W
14
13
12
11
10
9
8
7
6
5
0
R/W
SZ
0
R/W
ETBE
0
0
R/W R/W
CD
0
R
0
R
0
R
0
R/W
0
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31
MFE
0
R/W
Match Flag Enable
ID
0
R/W
RW
0
R/W
0
R
0
R/W
Specifies whether or not to include the match flag value
specified by the MFI bit of this register in the match
conditions. When the specified match flag value is 1,
the condition is determined to be satisfied.
0: The match flag is not included in the match
conditions; thus, not checked.
1: The match flag is included in the match conditions.
30
AIE
0
R/W
ASID Enable
Specifies whether or not to include the ASID specified
by the AIV bit of this register in the match conditions.
0: The ASID is not included in the match conditions;
thus, not checked.
1: The ASID is included in the match conditions.
29 to 24
MFI
100000
R/W
Match Flag Specify
Specifies the match flag to be included in the match
conditions.
000000: The MF0 bit of the CCMFR register
000001: The MF1 bit of the CCMFR register
Others: Reserved (setting prohibited)
Note: The initial value is the reserved value, but when 1
is written into CBR1[0], MFI must be set to
000000 or 000001. And note that the channel 1 is
not hit when MFE bit of this register is 1 and MFI
bits are 000001 in the condition of CCRMF.MF1 =
0.
Rev.1.00 Jan. 10, 2008 Page 1460 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Bit
Bit Name
Initial
Value
R/W
Description
23 to 16
AIV
All 0
R/W
ASID Specify
Specifies the ASID value to be included in the match
conditions.
15
DBE
0
R/W
Data Value Enable*3
Specifies whether or not to include the data value in the
match condition. This bit is valid only when the operand
access cycle is specified as a match condition.
0: The data value is not included in the match
conditions; thus, not checked.
1: The data value is included in the match conditions.
14 to 12
SZ
All 0
R/W
Operand Size Select
Specifies the operand size to be included in the match
conditions. This bit is valid only when the operand
access cycle is specified as a match condition.
000: The operand size is not included in the match
condition; thus, not checked (any operand size
specifies the match condition). *1
001: Byte access
010: Word access
011: Longword access
100: Quadword access*2
Others: Reserved (setting prohibited)
11
ETBE
0
R/W
Execution Count Value Enable
Specifies whether or not to include the execution count
value in the match conditions. If this bit is 1 and the
match condition satisfaction count matches the value
specified by the CETR1 register, the operation specified
by the CRR1 register is performed.
0: The execution count value is not included in the
match conditions; thus, not checked.
1: The execution count value is included in the match
conditions.
10 to 8
—
All 0
R
Reserved
For read/write in this bit, refer to General Precautions
on Handling of Product.
Rev.1.00 Jan. 10, 2008 Page 1461 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
Bit
Bit Name
Initial
Value
R/W
7, 6
CD
All 0
R/W
Description
Bus Select
Specifies the bus to be included in the match
conditions. This bit is valid only when the operand
access cycle is specified as a match condition.
00: Operand bus for operand access
Others: Reserved (setting prohibited)
5, 4
ID
All 0
R/W
Instruction Fetch/Operand Access Select
Specifies the instruction fetch cycle or operand access
cycle as the match condition.
00: Instruction fetch cycle or operand access cycle
01: Instruction fetch cycle
10: Operand access cycle
11: Instruction fetch cycle or operand access cycle
3
—
0
R
Reserved
For read/write in this bit, refer to General Precautions
on Handling of Product.
2, 1
RW
All 0
R/W
Bus Command Select
Specifies the read/write cycle as the match condition.
This bit is valid only when the operand access cycle is
specified as a match condition.
00: Read cycle or write cycle
01: Read cycle
10: Write cycle
11: Read cycle or write cycle
0
CE
0
R/W
Channel Enable
Validates/invalidates the channel. If this bit is 0, all the
other bits in this register are invalid.
0: Invalidates the channel.
1: Validates the channel.
Notes: 1. If the data value is included in the match conditions, be sure to specify the operand
size.
2. If the quadword access is specified and the data value is included in the match
conditions, the upper and lower 32 bits of 64-bit data are each compared with the
contents of both the match data setting register and the match data mask setting
register.
3. The OCBI instruction is handled as longword write access without the data value, and
the PREF, OCBP, and OCBWB instructions are handled as longword read access
without the data value. Therefore, do not include the data value in the match conditions
for these instructions.
Rev.1.00 Jan. 10, 2008 Page 1462 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.2
Match Operation Setting Registers 0 and 1 (CRR0 and CRR1)
CRR0 and CRR1 are readable/writable 32-bit registers which specify the operation to be executed
when channels 0 and 1 satisfy the match condition, respectively. The following operations can be
set in the CRR0 and CRR1 registers: (1) breaking at a desired timing for the instruction fetch cycle
and (2) requesting a break.
• CRR0
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit :
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
PCB
0
R/W
BIE
0
R/W
Initial value :
R/W:
0
R
0
R
1
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
31 to 14
—
All 0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Description
Reserved
For read/write in this bit, refer to General Precautions
on Handling of Product.
13
—
1
R
Reserved
This bit is always read as 1. The write value should
always be 1.
12 to 2
—
All 0
R
Reserved
For read/write in this bit, refer to General Precautions
on Handling of Product.
1
PCB
0
R/W
PC Break Select
Specifies either before or after instruction execution as
the break timing for the instruction fetch cycle. This bit
is invalid for breaks other than the ones for the
instruction fetch cycle.
0: Sets the PC break before instruction execution.
1: Sets the PC break after instruction execution.
0
BIE
0
R/W
Break Enable
Specifies whether or not to request a break when the
match condition is satisfied for the channel.
0: Does not request a break.
1: Requests a break.
Rev.1.00 Jan. 10, 2008 Page 1463 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
• CRR1
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit :
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
PCB
0
R/W
BIE
0
R/W
Initial value :
R/W:
0
R
0
R
1
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 14
—
All 0
R
Reserved
0
R
0
R
0
R
0
R
0
R
For read/write in this bit, refer to General Precautions
on Handling of Product.
13
—
1
R
Reserved
This bit is always read as 1. The write value should
always be 1.
12 to 2
—
All 0
R
Reserved
For read/write in this bit, refer to General Precautions
on Handling of Product.
1
PCB
0
R/W
PC Break Select
Specifies either before or after instruction execution as
the break timing for the instruction fetch cycle. This bit
is invalid for breaks other than ones for the instruction
fetch cycle.
0: Sets the PC break before instruction execution.
1: Sets the PC break after instruction execution.
0
BIE
0
R/W
Break Enable
Specifies whether or not to request a break when the
match condition is satisfied for the channel.
0: Does not request a break.
1: Requests a break.
Rev.1.00 Jan. 10, 2008 Page 1464 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.3
Match Address Setting Registers 0 and 1 (CAR0 and CAR1)
CAR0 and CAR1 are readable/writable 32-bit registers specifying the virtual address to be
included in the break conditions for channels 0 and 1, respectively.
• CAR0
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CA
Initial value :
R/W:
Bit :
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
CA
Initial value :
R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CA
Undefined
R/W
Compare Address
Specifies the address to be included in the break
conditions.
When the operand bus has been specified using the
CBR0 register, specify the SAB address in CA[31:0].
• CAR1
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CA
Initial value :
R/W:
Bit :
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
CA
Initial value :
R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CA
Undefined
R/W
Compare Address
Specifies the address to be included in the break
conditions.
When the operand bus has been specified using the
CBR1 register, specify the SAB address in CA[31:0].
Rev.1.00 Jan. 10, 2008 Page 1465 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.4
Match Address Mask Setting Registers 0 and 1 (CAMR0 and CAMR1)
CMAR0 and CMAR1 are readable/writable 32-bit registers which specify the bits to be masked
among the address bits specified by using the match address setting register of the corresponding
channel. (Set the bits to be masked to 1.)
• CAMR0
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CAM
Initial value :
R/W:
Bit :
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CAM
Initial value :
R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CAM
Undefined
R/W
Compare Address Mask
Specifies the bits to be masked among the address
bits which are specified using the CAR0 register. (Set
the bits to be masked to 1.)
0: Address bits CA[n] are included in the break
condition.
1: Address bits CA[n] are masked and not included in
the break condition.
[n] = any values from 31 to 0
Rev.1.00 Jan. 10, 2008 Page 1466 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
• CAMR1
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CAM
Initial value :
R/W:
Bit :
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CAM
Initial value :
R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CAM
Undefined
R/W
Compare Address Mask
Specifies the bits to be masked among the address
bits which are specified using the CAR1 register. (Set
the bits to be masked to 1.)
0: Address bits CA[n] are included in the break
condition.
1: Address bits CA[n] are masked and not included in
the break condition.
[n] = any values from 31 to 0
Rev.1.00 Jan. 10, 2008 Page 1467 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.5
Match Data Setting Register 1 (CDR1)
CDR1 is a readable/writable 32-bit register which specifies the data value to be included in the
break conditions for channel 1.
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CD
Initial value :
R/W:
Bit :
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CD
Initial value :
R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CD
Undefined
R/W
Compare Data Value
Specifies the data value to be included in the break
conditions.
When the operand bus has been specified using the
CBR1 register, specify the SDB data value in CD[31:0].
Table 29.3 Settings for Match Data Setting Register
Bus and Size Selected
Using CBR1
CD[31:24]
CD[23:16]
CD[15:8]
CD[7:0]
Operand bus (byte)
Don't care
Don't care
Don't care
SDB7 to SDB0
Operand bus (word)
Don't care
Don't care
SDB15 to SDB8
SDB7 to SDB0
Operand bus (longword) SDB31 to SDB24 SDB23 to SDB16 SDB15 to SDB8
SDB7 to SDB0
Notes: 1. If the data value is included in the match conditions, be sure to specify the operand
size.
2. The OCBI instruction is handled as longword write access without the data value, and
the PREF, OCBP, and OCBWB instructions are handled as longword read access
without the data value. Therefore, do not include the data value in the match conditions
for these instructions.
3. If the quadword access is specified and the data value is included in the match
conditions, the upper and lower 32 bits of 64-bit data are each compared with the
contents of both the match data setting register and match data mask setting register.
Rev.1.00 Jan. 10, 2008 Page 1468 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.6
Match Data Mask Setting Register 1 (CDMR1)
CDMR1 is a readable/writable 32-bit register which specifies the bits to be masked among the
data value bits specified using the match data setting register. (Set the bits to be masked to 1.)
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
CDM
Initial value :
R/W:
Bit :
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CDM
Initial value :
R/W:
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit
Bit Name
Initial
Value
R/W
Description
31 to 0
CDM
Undefined
R/W
Compare Data Value Mask
Specifies the bits to be masked among the data value
bits specified using the CDR1 register. (Set the bits to
be masked to 1.)
0: Data value bits CD[n] are included in the break
condition.
1: Data value bits CD[n] are masked and not included
in the break condition.
[n] = any values from 31 to 0
Rev.1.00 Jan. 10, 2008 Page 1469 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.7
Execution Count Break Register 1 (CETR1)
CETR1 is a readable/writable 32-bit register which specifies the number of the channel hits before
a break occurs. A maximum value of 212 – 1 can be specified. When the execution count value is
included in the match conditions by using the match condition setting register, the value of this
register is decremented by one every time the channel is hit. When the channel is hit after the
register value reaches H'001, a break occurs.
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit :
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
CET
Initial value :
R/W:
Bit
0
R
0
R
0
R
Initial
Bit Name Value
31 to 12 —
All 0
0
R
R/W
R/W
R/W
R/W
R/W
Description
R
Reserved
R/W
R/W
For read/write in this bit, refer to General Precautions on
Handling of Product.
11 to 0
CET
Undefined R/W
Execution Count
Specifies the execution count to be included in the break
conditions.
Rev.1.00 Jan. 10, 2008 Page 1470 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.8
Channel Match Flag Register (CCMFR)
CCMFR is a readable/writable 32-bit register which indicates whether or not the match conditions
have been satisfied for each channel. When a channel match condition has been satisfied, the
corresponding flag bit is set to 1. To clear the flags, write the data containing value 0 for the bits to
be cleared and value 1 for the other bits to this register. (The logical AND between the value
which has been written and the current register value is actually written to the register.) Sequential
operation using multiple channels is available by using these match flags.
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit :
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
MF1
0
R/W
MF0
0
R/W
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 2
—
All 0
R
Reserved
0
R
0
R
0
R
0
R
For read/write in this bit, refer to General Precautions
on Handling of Product.
1
MF1
0
R/W
Channel 1 Condition Match Flag
This flag is set to 1 when the channel 1 match
condition has been satisfied. To clear the flag, write 0
to this bit.
0: Channel 1 match condition has not been satisfied.
1: Channel 1 match condition has been satisfied.
0
MF0
0
R/W
Channel 0 Condition Match Flag
This flag is set to 1 when the channel 0 match
condition has been satisfied. To clear the flag, write 0
to this bit.
0: Channel 0 match condition has not been satisfied.
1: Channel 0 match condition has been satisfied.
Rev.1.00 Jan. 10, 2008 Page 1471 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.2.9
Break Control Register (CBCR)
CBCR is a readable/writable 32-bit register which specifies whether or not to use the user break
debugging support function. For details on the user break debugging support function, refer to
section 29.4, User Break Debugging Support Function.
Bit :
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit :
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
R
UBDE
0
R/W
Initial value :
R/W:
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial
Value
R/W
Description
31 to 1
—
All 0
R
Reserved
0
R
0
R
0
R
0
R
0
R
0
R
For read/write in this bit, refer to General Precautions on
Handling of Product.
0
UBDE
0
R/W
User Break Debugging Support Function Enable
Specifies whether or not to use the user break debugging
support function.
0: Does not use the user break debugging support
function.
1: Uses the user break debugging support function.
Rev.1.00 Jan. 10, 2008 Page 1472 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.3
Operation Description
29.3.1
Definition of Words Related to Accesses
"Instruction fetch" refers to an access in which an instruction is fetched. For example, fetching the
instruction located at the branch destination after executing a branch instruction is an instruction
access. "Operand access" refers to any memory access accompanying execution of an instruction.
For example, accessing an address (PC + disp × 2 + 4) in the instruction MOV.W@(disp,PC),Rn
is an operand access. "Data" is used in contrast to "address".
All types of operand access are classified into read or write access. Special care must be taken in
using the following instructions.
• PREF, OCBP, and OCBWB: Instructions for a read access
• MOVCA.L and OCBI: Instructions for a write access
• TAS.B: Instruction for a single read access or a single write access
The operand access accompanying the PREF, OCBP, OCBWB, and OCBI instructions is access
without the data value; therefore, do not include the data value in the match conditions for these
instructions.
The operand size should be defined for all types of operand access. Available operand sizes are
byte, word, longword, and quadword. For operand access accompanying the PREF, OCBP,
OCBWB, MOVCA.L, and OCBI instructions, the operand size is defined as longword.
Rev.1.00 Jan. 10, 2008 Page 1473 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.3.2
User Break Operation Sequence
The following describes the sequence from when the break condition is set until the user break
exception handling is initiated.
1. Specify the operand size, bus, instruction fetch/operand access, and read/write as the match
conditions using the match condition setting register (CBR0 or CBR1). Specify the break
address using the match address setting register (CAR0 or CAR1), and specify the address
mask condition using the match address mask setting register (CAMR0 or CAMR1). To
include the ASID in the match conditions, set the AIE bit in the match condition setting
register and specify the ASID value by the AIV bit in the same register. To include the data
value in the match conditions, set the DBE bit in the match condition setting register; specify
the break data using the match data setting register (CDR1); and specify the data mask
condition using the match data mask setting register (CDMR1). To include the execution count
in the match conditions, set the ETBE bit of the match condition setting register; and specify
the execution count using the execution count break register (CETR1). To use the sequential
break, set the MFE bit of the match condition setting register; and specify the number of the
first channel using the MFI bit.
2. Specify whether or not to request a break when the match condition is satisfied and the break
timing when the match condition is satisfied as a result of fetching the instruction using the
match operation setting register (CRR0 or CRR1). After having set all the bits in the match
condition setting register except the CE bit and the other necessary registers, set the CE bit and
read the match condition setting register again. This ensures that the set values in the control
registers are valid for the subsequent instructions immediately after reading the register.
Setting the CE bit of the match condition setting register in the initial state after reset via the
control registers may cause an undesired break.
3. When the match condition has been satisfied, the corresponding condition match flag (MF1 or
MF0) in the channel match flag register (CCMFR) is set. A break is also requested to the CPU
according to the set values in the match operation setting register (CRR0 or CRR1). The CPU
operates differently according to the BL bit value of the SR register: when the BL bit is 0, the
CPU accepts the break request and executes the specified exception handling; and when the
BL bit is 1, the CPU does not execute the exception handling.
4. The match flags (MF1 and MF0) can be used to confirm whether or not the corresponding
match condition has been satisfied. Although the flag is set when the condition is satisfied, it is
not cleared automatically; therefore, write 0 to the flag bit by issuing a memory store
instruction to the channel match flag register (CCMFR) in order to use the flag again.
5. Breaks may occur virtually at the same time for channels 0 and 1. In this case, only one break
request is sent to the CPU; however, the two condition match flags corresponding to these
breaks may be set.
Rev.1.00 Jan. 10, 2008 Page 1474 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
6. While the BL bit in the SR register is 1, no break requests are accepted. However, whether or
not the condition has been satisfied is determined. When the condition is determined to be
satisfied, the corresponding condition match flag is set.
7. If the sequential break conditions are set, the condition match flag is set every time the match
conditions are satisfied for each channel. When the conditions have been satisfied for the first
channel in the sequence but not for the second channel in the sequence, clear the condition
match flag for the first channel in the sequence in order to release the first channel in the
sequence from the match state.
29.3.3
Instruction Fetch Cycle Break
1. If the instruction fetch cycle is set in the match condition setting register (CBR0 or CBR1), the
instruction fetch cycle is handled as a match condition. To request a break upon satisfying the
match condition, set the BIE bit in the match operation setting register (CRR0 or CRR1) of the
corresponding channel. Either before or after executing the instruction can be selected as the
break timing according to the PCB bit value. If the instruction fetch cycle is specified as a
match condition, be sure to clear the LSB to 0 in the match address setting register (CAR0 or
CAR1); otherwise, no break occurs.
2. If pre-instruction-execution break is specified for the instruction fetch cycle, the break is
requested when the instruction is fetched and determined to be executed. Therefore, this
function cannot be used for the instructions which are fetched through overrun (i.e., the
instructions fetched during branching or making transition to the interrupt routine but not
executed). For priorities of pre-instruction-execution break and the other exceptions, refer to
section 5, Exception Handling. If pre-instruction-execution break is specified for the delayed
slot of the delayed branch instruction, the break is requested before the delayed branch
instruction is executed. However, do not specify pre-instruction-execution break for the
delayed slot of the RTE instruction.
3. If post-instruction-execution break is specified for the instruction fetch cycle, the break is
requested after the instruction which satisfied the match condition has been executed and
before the next instruction is executed. Similar to pre-instruction-execution break, this function
cannot be used for the instructions which are fetched through overrun. For priorities of postinstruction-execution break and the other exceptions, refer to section 5, Exception Handling. If
post-instruction-execution break is specified for the delayed branch instruction and its delayed
slot, the break does not occur until the first instruction at the branch destination.
4. If the instruction fetch cycle is specified as the channel 1 match condition, the DBE bit of
match condition setting register CBR1 becomes invalid, the settings of match data setting
register CDR1 and match data mask setting register CDMR1 are ignored. Therefore, the data
value cannot be specified for the instruction fetch cycle break.
Rev.1.00 Jan. 10, 2008 Page 1475 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.3.4
Operand Access Cycle Break
1. Table 29.4 shows the relation between the operand sizes specified using the match condition
setting register (CBR0 or CBR1) and the address bits to be compared for the operand access
cycle break.
Table 29.4 Relation between Operand Sizes and Address Bits to Be Compared
Selected Operand Size
Address Bits to be Compared
Quadword
Address bits A31 to A3
Longword
Address bits A31 to A2
Word
Address bits A31 to A1
Byte
Address bits A31 to A0
Operand size is not included in the
match conditions
Address bits A31 to A3 for quadword access
Address bits A31 to A2 for longword access
Address bits A31 to A1 for word access
Address bits A31 to A0 for byte access
The above table means that if address H'00001003 is set in the match address setting register
(CAR0 or CAR1), for example, the match condition is satisfied for the following access cycles
(assuming that all the other conditions are satisfied):
⎯ Longword access to address H'00001000
⎯ Word access to address H'00001002
⎯ Byte access to address H'00001003
2. When the data value is included in the channel 1 match conditions:
If the data value is included in the match conditions, be sure to select the quadword, longword,
word, or byte as the operand size using the operand size select bit (SZ) of the match condition
setting register (CBR1), and also set the match data setting register (CDR1) and the match data
mask setting register (CDMR1). With these settings, the match condition is satisfied when both
of the address and data conditions are satisfied. The data value and mask control for byte
access, word access, and longword access should be set in bits 7 to 0, 15 to 0, and 31 to 0 in
the bits CDR1 and CDMR1, respectively. For quadword access, 64-bit data is divided into the
upper and lower 32-bit data units, and each unit is independently compared with the specified
condition. When either the upper or lower 32-bit data unit satisfies the match condition, the
match condition for the 64-bit data is determined to be satisfied.
3. The operand access accompanying the PREF, OCBP, OCBWB, and OCBI instructions are
access without the data value; therefore, if the data value is included in the match conditions
for these instructions, the match conditions will never be satisfied.
Rev.1.00 Jan. 10, 2008 Page 1476 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
4. If the operand bus is selected, a break occurs after executing the instruction which has satisfied
the conditions and immediately before executing the next instruction. However, if the data
value is included in the match conditions, a break may occur after executing several
instructions after the instruction which has satisfied the conditions; therefore, it is impossible
to identify the instruction causing the break. If such a break has occurred for the delayed
branch instruction or its delayed slot, the break does not occur until the first instruction at the
branch destination.
However, do not specify the operand break for the delayed slot of the RTE instruction. And if
the data value is included in the match conditions, it is not allowed to set the break for the
preceding the RTE instruction by one to six instructions.
29.3.5
Sequential Break
1. Sequential break conditions can be specified by setting the MFE and MFI bits in the match
condition setting registers (CBR0 and CBR1). (Sequential break involves two cases such that
channel 0 break condition is satisfied then channel 1 break condition is satisfied, and vice
versa.) To use the sequential break function, clear the MFE bit of the match condition setting
register and the BIE bit of the match operation setting register of the first channel in the
sequence, and set the MFE bit and specify the number of the second channel in the sequence
using the MFI bit in the match condition setting register of the second channel in the sequence.
If the sequential break condition is set, the condition match flag is set every time the match
condition is satisfied for each channel. When the condition has been satisfied for the first
channel in the sequence but not for the second channel in the sequence, clear the condition
match flag for the first channel in the sequence in order to release the first channel in the
sequence from the match state.
2. For channel 1, the execution count break condition can also be included in the sequential break
conditions.
3. If the match conditions for the first and second channels in the sequence are satisfied within a
significantly short time, sequential operation may not be guaranteed in some cases, as shown
below.
• When the Match Condition is Satisfied at the Instruction Fetch Cycle for Both the First and
Second Channels in the Sequence:
Instruction B is 0 instruction after instruction A
Equivalent to setting the same addresses; do
not use this setting.
Instruction B is one instruction after instruction A Sequential operation is not guaranteed.
Instruction B is two or more instructions after
instruction A
Sequential operation is guaranteed.
Rev.1.00 Jan. 10, 2008 Page 1477 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
• When the match condition is satisfied at the instruction fetch cycle for the first channel in the
sequence whereas the match condition is satisfied at the operand access cycle for the second
channel in the sequence:
Instruction B is 0 or one instruction after
instruction A
Sequential operation is not guaranteed.
Instruction B is two or more instructions after
instruction A
Sequential operation is guaranteed.
• When the match condition is satisfied at the operand access cycle for the first channel in the
sequence whereas the match condition is satisfied at the instruction fetch cycle for the second
channel in the sequence:
Instruction B is 0 to five instructions after
instruction A
Sequential operation is not guaranteed.
Instruction B is six or more instructions after
instruction A
Sequential operation is guaranteed.
• When the match condition is satisfied at the operand access cycle for both the first and second
channels in the sequence:
Instruction B is 0 to five instructions after
instruction A
Sequential operation is not guaranteed.
Instruction B is six or more instructions after
instruction A
Sequential operation is guaranteed.
Rev.1.00 Jan. 10, 2008 Page 1478 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.3.6
Program Counter Value to be Saved
When a break has occurred, the address of the instruction to be executed when the program
restarts is saved in the SPC then the exception handling state is initiated. A unique instruction
causing a break can be identified unless the data value is included in the match conditions.
1. When the instruction fetch cycle (before instruction execution) is specified as the match
condition:
The address of the instruction which has satisfied the match conditions is saved in the SPC.
The instruction which has satisfied the match conditions is not executed, but a break occurs
instead. However, if the match conditions are satisfied for the delayed slot instruction, the
address of the delayed branch instruction is saved in the SPC.
2. When the instruction fetch cycle (after instruction execution) is specified as the match
condition:
The address of the instruction immediately after the instruction which has satisfied the match
conditions is saved in the SPC. The instruction which has satisfied the match conditions is
executed, then a break occurs before the next instruction. If the match conditions are satisfied
for the delayed branch instruction or its delayed slot, these instructions are executed and the
address of the branch destination is saved in the SPC.
3. When the operand access (address only) is specified as the match condition:
The address of the instruction immediately after the instruction which has satisfied the break
conditions is saved in the SPC. The instruction which has satisfied the match conditions are
executed, then a break occurs before the next instruction. However, if the conditions are
satisfied for the delayed slot, the address of the branch destination is saved in the SPC.
4. When the operand access (address and data) is specified as the match condition:
If the data value is added to the match conditions, the instruction which has satisfied the match
conditions is executed. A user break occurs before executing an instruction that is one through
six instructions after the instruction which has satisfied the match conditions. The address of
the instruction is saved in the SPC; thus, it is impossible to identify exactly where a break will
occur. If the conditions are satisfied for the delayed slot instruction, the address of the branch
destination is saved in the SPC. If a branch instruction follows the instruction which has
satisfied the match conditions, a break may occur after the delayed instruction and delayed slot
are executed. In this case, the address of the branch destination is also saved in the SPC.
Rev.1.00 Jan. 10, 2008 Page 1479 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.4
User Break Debugging Support Function
By using the user break debugging support function, the branch destination address can be
modified when the CPU accepts the user break request. Specifically, setting the UBDE bit of
break control register CBCR to 1 allows branching to the address indicated by DBR instead of
branching to the address indicated by the [VBR + offset]. Figure 29.2 shows the flowchart of the
user break debugging support function.
Exception/interrupt
is generated
Hardware operations
SPC ← PC
SSR ← SR
SR.BL ← B'1
SR.MD ← B'1
SR.RB ← B'1
Exception
Exception/interrupt/trap?
Interrupt
EXPEVT ← Exception code
INTEVT ← Interrupt code
Trap
EXPEVT ← H'160
TRA ← TRAPA (imm)
SGR ← R15
No
Yes
(CBCR.UBDE == 1)
&& (user break)?
Reset exception?
Yes
No
PC ← DBR
PC ← VBR + vector offset
Debugging program
Exception handling routine
PC ← H'A000 0000
R15 ← SGR
(STC instruction)
Execute RTE instruction
PC ← SPC
SR ← SSR
Exception operation ends
Figure 29.2 Flowchart of User Break Debugging Support Function
Rev.1.00 Jan. 10, 2008 Page 1480 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.5
(1)
User Break Examples
Match Conditions Are Specified for an Instruction Fetch Cycle
• Example 1-1
Register settings: CBR0 = H'00000013 / CRR0 = H'00002003 / CAR0 = H'00000404 /
CAMR0 = H'00000000 / CBR1 = H'00000013 / CRR1 = H'00002001 / CAR1 = H'00008010 /
CAMR1 = H'00000006 / CDR1 = H'00000000 / CDMR1 = H'00000000 / CETR1 =
H'00000000 / CBCR = H'00000000
Specified conditions: Independent for channels 0 and 1
⎯ Channel 0
Address: H'00000404 / Address mask: H'00000000
Bus cycle: Instruction fetch (after executing the instruction)
ASID is not included in the conditions.
⎯ Channel 1:
Address: H'00008010 / Address mask: H'00000006
Data: H'00000000 / Data mask: H'00000000 / Execution count: H'00000000
Bus cycle: Instruction fetch (before executing instruction)
ASID, data values, and execution count are not included in the conditions.
With the above settings, the user break occurs after executing the instruction at address
H'00000404 or before executing the instruction at address H'00008010 to H'00008016.
• Example 1-2
Register settings: CBR0 = H'40800013 / CRR0 = H'00002000 / CAR0 = H'00037226 /
CAMR0 = H'00000000 / CBR1 = H'C0700013 / CRR1 = H'00002001 / CAR1 = H'0003722E /
CAMR1 = H'00000000 / CDR1 = H'00000000 / CDMR1 = H'00000000 / CETR1 =
H'00000000 / CBCR = H'00000000
Specified conditions: Channel 0 → Channel1 sequential mode
⎯ Channel 0
Address: H'00037226 / Address mask: H'00000000 / ASID: H'80
Bus cycle: Instruction fetch (before executing the instruction)
⎯ Channel 1
Address: H'0003722E / Address mask: H'00000000 / ASID: H'70
Data: H'00000000 / Data mask: H'00000000 / Execution count: H'00000000
Bus cycle: Instruction fetch (before executing the instruction)
Data values and execution count are not included in the conditions.
Rev.1.00 Jan. 10, 2008 Page 1481 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
With the above settings, the user break occurs after executing the instruction at address
H'00037226 where ASID is H'80 before executing the instruction at address H'0003722E
where ASID is H'70.
• Example 1-3
Register settings: CBR0 = H'00000013 / CRR0 = H'00002001 / CAR0 = H'00027128 /
CAMR0 = H'00000000 / CBR1 = H'00000013 / CRR1 = H'00002001 / CAR1 = H'00031415 /
CAMR1 = H'00000000 / CDR1 = H'00000000 / CDMR1 = H'00000000 / CETR1 =
H'00000000 / CBCR = H'00000000
Specified conditions: Independent for channels 0 and 1
⎯ Channel 0
Address: H'00027128 / Address mask: H'00000000
Bus cycle: Instruction fetch (before executing the instruction)
ASID is not included in the conditions.
⎯ Channel 1
Address: H'00031415 / Address mask: H'00000000
Data: H'00000000 / Data mask: H'00000000 / Execution count: H'00000000
Bus cycle: Instruction fetch (before executing the instruction)
ASID, data values, and execution count are not included in the conditions.
With the above settings, the user break occurs for channel 0 before executing the instruction at
address H'00027128. No user break occurs for channel 1 since the instruction fetch is executed
only at even addresses.
• Example 1-4
Register settings: CBR0 = H'40800013 / CRR0 = H'00002000 / CAR0 = H'00037226 /
CAMR0 = H'00000000 / CBR1 = H'C0700013 / CRR1 = H'00002001 / CAR1 = H'0003722E /
CAMR1 = H'00000000 / CDR1 = H'00000000 / CDMR1 = H'00000000 / CETR1 =
H'00000000 / CBCR = H'00000000
Specified conditions: Channel 0 → Channel 1 sequential mode
⎯ Channel 0
Address: H'00037226 / Address mask: H'00000000 / ASID: H'80
Bus cycle: Instruction fetch (before executing the instruction)
⎯ Channel 1
Address: H'0003722E / Address mask: H'00000000 / ASID: H'70
Data: H'00000000 / Data mask: H'00000000 / Execution count: H'00000000
Bus cycle: Instruction fetch (before executing the instruction)
Data values and execution count are not included in the conditions.
Rev.1.00 Jan. 10, 2008 Page 1482 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
With the above settings, the user break occurs after executing the instruction at address
H'00037226 where ASID is H'80 and before executing the instruction at address H'0003722E
where ASID is H'70.
• Example 1-5
Register settings: CBR0 = H'00000013 / CRR0 = H'00002001 / CAR0 = H'00000500 /
CAMR0 = H'00000000 / CBR1 = H'00000813 / CRR1 = H'00002001 / CAR1 = H'00001000 /
CAMR1 = H'00000000 / CDR1 = H'00000000 / CDMR1 = H'00000000 / CETR1 =
H'00000005 / CBCR = H'00000000
Specified conditions: Independent for channels 0 and 1
⎯ Channel 0
Address: H'00000500 / Address mask: H'00000000
Bus cycle: Instruction fetch (before executing the instruction)
ASID is not included in the conditions.
⎯ Channel 1
Address: H'00001000 / Address mask: H'00000000
Data: H'00000000 / Data mask: H'00000000 / Execution count: H'00000005
Bus cycle: Instruction fetch (before executing the instruction)
Execution count: 5
ASID and data values are not included in the conditions.
With the above settings, the user break occurs for channel 0 before executing the instruction at
address H'00000500. The user break occurs for channel 1 after executing the instruction at
address H'00001000 four times; before executing the instruction five times.
• Example 1-6
Register settings: CBR0 = H'40800013 / CRR0 = H'00002003 / CAR0 = H'00008404 /
CAMR0 = H'00000FFF / CBR1 = H'40700013 / CRR1 = H'00002001 / CAR1 = H'00008010 /
CAMR1 = H'00000006 / CDR1 = H'00000000 / CDMR1 = H'00000000 / CETR1 =
H'00000000 / CBCR = H'00000000
Specified conditions: Independent for channels 0 and 1
⎯ Channel 0
Address: H'00008404 / Address mask: H'00000FFF / ASID: H'80
Bus cycle: Instruction fetch (after executing the instruction)
Rev.1.00 Jan. 10, 2008 Page 1483 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
⎯ Channel 1
Address: H'00008010 / Address mask: H'00000006 / ASID: H'70
Data: H'00000000 / Data mask: H'00000000 / Execution count: H'00000000
Bus cycle: Instruction fetch (before executing the instruction)
Data values and execution count are not included in the conditions.
With the above settings, the user break occurs after executing the instruction at address
H'00008000 to H'00008FFE where ASID is H'80 or before executing the instruction at address
H'00008010 to H'00008016 where ASID is H'70.
(2)
Match Conditions Are Specified for an Operand Access Cycle
• Example 2-1
Register settings: CBR0 = H'40800023 / CRR0 = H'00002001 / CAR0 = H'00123456 /
CAMR0 = H'00000000 / CBR1 = H'4070A025 / CRR1 = H'00002001 / CAR1 =
H'000ABCDE / CAMR1 = H'000000FF / CDR1 = H'0000A512 / CDMR1 = H'00000000 /
CETR1 = H'00000000 / CBCR = H'00000000
Specified conditions: Independent for channels 0 and 1
⎯ Channel 0
Address: H'00123456 / Address mask: H'00000000 / ASID: H'80
Bus cycle: Operand bus, operand access, and read (operand size is not included in the
conditions.)
⎯ Channel 1
Address: H'000ABCDE / Address mask: H'000000FF / ASID: H'70
Data: H'0000A512 / Data mask: H'00000000 / Execution count: H'00000000
Bus cycle: Operand bus, operand access, write, and word size
Execution count is not included in the conditions.
With these settings, the user break occurs for channel 0 for the following accesses: longword
read access to address H'000123454, word read access to address H'000123456, byte read
access to address H'000123456 where ASID is H'80. The user break occurs for channel 1 when
word H'A512 is written to address H'000ABC00 to H'000ABCFE where ASID is H'70.
Rev.1.00 Jan. 10, 2008 Page 1484 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
29.6
Usage Notes
1. A desired break may not occur between the time when the instruction for rewriting the UBC
register is executed and the time when the written value is actually reflected on the register.
After the UBC register is updated, execute one of the following three methods.
A. Read the updated UBC register, and execute a branch using the RTE instruction.
(It is not necessary that a branch using the RTE instruction is next to a reading UBC
register.)
B. Execute the ICBI instruction for any address (including non-cacheable area).
(It is not necessary that the ICBI instruction is next to a reading UBC register.)
C. Set 0 (initial value) to IRMCR.R1 before updating the UBC register and update with
following sequence.
a. Write the UBC register.
b. Read the UBC register which is updated at 1.
c. Write the value which is read at 2 to the UBC register.
Note: When two or more UBC registers are updated, executing these methods at each updating
the UBC registers is not necessary. At only last updating the UBC register, execute one of
these methods.
2. The PCB bit of the CRR0 and CRR1 registers is valid only when the instruction fetch is
specified as the match condition.
3. If the sequential break conditions are set, the sequential break conditions are satisfied when the
conditions for the first and second channels in the sequence are satisfied in this order.
Therefore, if the conditions are set so that the conditions for channels 0 and 1 should be
satisfied simultaneously for the same bus cycle, the sequential break conditions will not be
satisfied, causing no break.
4. For the SLEEP instruction, do not allow the post-instruction-execution break where the
instruction fetch cycle is the match condition. For the instructions preceding the SLEEP
instruction by one to five instructions, do not allow the break where the operand access is the
match condition.
5. If the user break and other exceptions occur for the same instruction, they are determined
according to the specified priority. For the priority, refer to section 5, Exception Handling. If
the exception having the higher priority occurs, the user break does not occur.
⎯ The pre-instruction-execution break is accepted prior to any other exception.
Rev.1.00 Jan. 10, 2008 Page 1485 of 1658
REJ09B0261-0100
29. User Break Controller (UBC)
⎯ If the post-instruction-execution break and data access break have occurred simultaneously
with the re-execution type exception (including the pre-instruction-execution break) having
a higher priority, only the re-execution type exception is accepted, and no condition match
flags are set. When the exception handling has finished thus clearing the exception source,
and when the same instruction has been executed again, the break occurs setting the
corresponding flag.
⎯ If the post-instruction-execution break or operand access break has occurred
simultaneously with the completion-type exception (TRAPA) having a higher priority, then
no user break occurs; however, the condition match flag is set.
6. When conditions have been satisfied simultaneously and independently for channels 0 and 1,
resulting in identical SPC values for both of the breaks, the user break occurs only once.
However, the condition match flags are set for both channels. For example,
Instruction at address 110 (post-instruction-execution break for instruction fetch for channel 0)
→ SPC = 112, CCMFR.MF0 = 1
Instruction at address 112 (pre-instruction-execution break for instruction fetch for channel 1)
→ SPC = 112, CCMFR.MF1 = 1
7. It is not allowed to set the pre-instruction-execution break or the operand break in the delayed
slot instruction of the RTE instruction. And if the data value is included in the match
conditions of the operand break, do not set the break for the preceding the RTE instruction by
one to six instructions.
8. If the re-execution type exception and the post-instruction-execution break are in conflict for
the instruction requiring two or more execution states, then the re-execution type exception
occurs. Here, the CCMFR.MF0 (or CCMFR.MF1) bit may or may not be set to 1 when the
break conditions have been satisfied.
Rev.1.00 Jan. 10, 2008 Page 1486 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Section 30 User Debugging Interface (H-UDI)
The H-UDI is a serial input/output interface which supports to a subset of JTAG (IEEE 1149.1).
The H-UDI is used to connect emulators.
30.1
Features
The H-UDI is a serial input/output interface which supports to a subset of JTAG (IEEE 1149.1:
IEEE Standard Test Access Port and Boundary-Scan Architecture). The H-UDI is used to connect
emulators. Do not use the JTAG functions of this interface when using an emulator. For the
method of connecting the emulator, see emulator manuals.
The H-UDI has six pins, the TCK, TMS, TDI, TDO, TRST, and ASEBRK/BRKACK pins. The
pin functions except ASEBRK/BRKACK, and serial transfer protocols conform to JTAG with the
subset. Also, the H-UDI has six signals (AUDSYNC, AUDCK, and AUDATA3 to AUDATA0)
used for emulator pins, and a signal (MPMD) for the chip mode select pin.
In the H-UDI in this LSI, the boundary-scan test access port (TAP) controller is separated from the
TAP controller for other H-UDI function control. When the TRST is asserted (including when the
power is turned on), the boundary-scan TAP controller is selected. Therefore, the switching
command should be input to use the H-UDI functions. The boundary-scan TAP controller cannot
be accessed through the CPU.
Figure 30.1 shows a block diagram of the H-UDI.
The H-UDI circuit has TAP controllers and four registers (SDBPR, SDBSR, SDIR, and SDINT).
SDBPR supports the JTAG bypass mode, SDBSR supports the JTAG boundary scan mode, SDIR
is used for commands, and SDINT is used for H-UDI interrupts. SDIR can be directly accessed
through the TDI and TDO pins.
Without reset pins of the chip, the TAP controller, control registers, and boundary-scan TAP
controller are reset when the TRST pin is set to low or when five or more TCK cycles are elapsed
after TMS is set to 1. The other circuits are reset in a normal reset period, and initialized.
Rev.1.00 Jan. 10, 2008 Page 1487 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Break
controller
ASEBRK/BRKACK
Interrupt/reset
Boundaryscan
TAP
controller
SDBSR
TCK
TMS
Pin multiplexer
SDBPR
TAP
controller
Decoder
TRST
SDIR
SDINT
TDO
AUDSYNC
AUDCK
AUDATA3
AUDATA2
AUDATA1
AUDATA0
Trace
controller
Figure 30.1 Block Diagram of H-UDI
Rev.1.00 Jan. 10, 2008 Page 1488 of 1658
REJ09B0261-0100
Peripheral bus
Shift register
TDI
30. User Debugging Interface (H-UDI)
30.2
Input/Output Pins
Table 30.1 shows the pin configuration of the H-UDI.
Table 30.1 Pin Configuration of H-UDI
When Not
in Use
Pin Name
Function
I/O
Description
TCK
Clock
Input
The functions are the same as the serial clock
input pin of JTAG. In synchronization with this
signal, data is sent from the TDI pin to the HUDI circuit or data is read from the TDO pin.
Open*1
TMS
Mode
Input
Mode Select Input Pin
Open*1
The meaning of data input from the TDI pin is
determined by changing this signal in
synchronization with TCK. The protocol
supports JTAG (IEEE 1149.1) with the subset.
TRST*2
Reset
Input
H-UDI Reset Input Pin
This signal is received without relating to TCK.
The JTAG interface circuit is reset when this
signal is at a low level. Regardless of whether
JTAG is used or not, TRST should be set to a
low level during a specific period when power is
turned on. This does not conform to the IEEE
standard.
TDI
Data input
Input
Fixed to
ground or
connected to
the PRESET
3
pin*
Open*1
Data Input Pin
Data is sent to the H-UDI circuit by changing
this signal in synchronization with TCK.
TDO
Data output Output Data Output Pin
Open
Data is read from the H-UDI circuit by reading
this signal in synchronization with TCK.
ASEBRK/
Emulator
BRKACK
AUDSYNC,
Emulator
AUDCK,
AUDATA3 to
AUDATA0
MPMD
Chip-mode
I/O
Open*1
Pins for emulators
Output Pins for emulators
Open
Input
Open
Indicates whether the operating mode of this
LSI is emulation support mode (MPMD = 0) or
chip mode (MPMD = 1).
Rev.1.00 Jan. 10, 2008 Page 1489 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Notes: 1. This pin is pulled up in the chip. In designing the board that can connect an emulator, or
using interrupts or resets through the H-UDI, there is no problem with putting the pull-up
resistor outside this LSI.
2. In designing the board that can connect an emulator, or using interrupts or resets
through the H-UDI, the TRST pin should be set so that it can be held low while the
PRESET signal is low after power is turned on and the TRST pin can be controlled
independently.
3. This pin should be connected to ground, or connected to the same signal as the
PRESET, or a pin which operates in the same way as the PRESET pin. When this pin
is connected to ground, the following problem occurs. Since the TRST pin is pulled up
within this LSI, weak current runs when the pin is connected to ground outside the LSI.
The current depends on a resistance of the pull-up for the port pin. Although this current
does not affect the operation of this LSI, it consumes unnecessary power.
The TCK clock or the CPG of this LSI should be set so that the frequency of the TCK clock is less
than that of the peripheral clock of this LSI. For details of the setting of the CPG, see section 15,
Clock Pulse Generator (CPG).
Rev.1.00 Jan. 10, 2008 Page 1490 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
30.3
Register Description
The H-UDI has the following registers.
Table 30.2 Register Configuration (1)
CPU Side
Register Name
Abbreviation
R/W
Area P4 Address Area 7 Address
Size
Sync
Clock
Instruction register
SDIR
R
H'FC11 0000
H'1C11 0000
16
Pck
Interrupt source register
SDINT
R/W
H'FC11 0018
H'1C11 0018
16
Pck
Boundary scan register
SDBSR
⎯
⎯
⎯
⎯
⎯
Bypass register
SDBPR
⎯
⎯
⎯
⎯
⎯
Table 30.3 Register Configuration (2)
H-UDI Side
Register Name
Instruction register
Abbreviation
SDIR
R/W
1
R/W*
2
Size
Sync Clock
32
Pck
Interrupt source register
SDINT
W*
32
Pck
Boundary scan register
SDBSR
R/W
⎯
⎯
Bypass register
SDBPR
R/W
1
⎯
Notes: 1. The read value from the H-UDI is always fixed to H’FFFF FFFD.
2. 1 can be written to the LSB by the H-UDI interrupt command.
Table 30.4 Register States in Each Processing State
Register Name
Abbreviation
Power-On
Reset
Manual
Reset
Module
Standby
Instruction register
SDIR
H'0EFF
Retained
Retained
Retained
Retained
Interrupt source
register
SDINT
H'0000
Retained
Retained
Retained
Retained
Sleep
Deep
Sleep
Rev.1.00 Jan. 10, 2008 Page 1491 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
30.3.1
Instruction Register (SDIR)
SDIR is a 16-bit read-only register that can be read from the CPU. Commands are set via the serial
input pin (TDI). SDIR is initialized by TRST or in the Test-Logic-Reset state of the TAP. This
register can be written to by the H-UDI, regardless of the CPU mode. Operation is not guaranteed
when a reserved command is set to this register.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
1
R
1
R
1
R
0
R
1
R
1
R
1
R
1
R
1
R
1
R
1
R
1
R
TI
Initial value:
R/W:
0
R
0
R
0
R
0
R
Bit
Bit Name
Initial Value R/W
Description
15 to 8
TI
0000 1110
Test Instruction Bits 7 to 0
R
0110 xxxx:
0111 xxxx:
101x xxxx:
0000 1110:
H-UDI reset negate
H-UDI reset assert
H-UDI interrupt
Initial state
Other than above: Setting prohibited
⎯
7 to 0
All 1
R
Reserved
These bits are always read as 1.
30.3.2
Interrupt Source Register (SDINT)
SDINT is a 16-bit register that can be read from or written to by the CPU. If the H-UDI interrupt
command (Update-IR) is set to SDIR, the INTREQ bit is set to 1. When an H-UDI interrupt
command is set in SDIR, SDINT is connected between the TDI and TDO pins, and becomes a 32bit readable register. In this case, the upper 16 bits are 0 and the lower 16 bits are values specified
in SDINT.
Only 0 can be written to the INTREQ bit by the CPU. While this bit is set to 1, an interrupt request
continues to be generated. Therefore, clear this bit to 0 in an interrupt handler and read this bit
again to confirm that this bit is cleared. This register is initialized by TRST or in the test-logicreset state.
Bit:
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
INTREQ
Initial value:
R/W:
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 1492 of 1658
REJ09B0261-0100
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R/W
30. User Debugging Interface (H-UDI)
Bit
Bit Name
Initial
Value
R/W
Description
15 to 1
⎯
All 0
R
Reserved
These bits are always read as 0. The write value
should always be 0.
0
INTREQ
0
R/W
Interrupt Request
Indicates whether or not an interrupt by an H-UDI
interrupt command has occurred. Clearing this bit to 0
by the CPU cancels an interrupt request. When writing
1 to this bit, the previous value is maintained.
30.3.3
Bypass Register (SDBPR)
SDBPR is a 1-bit register that supports the JTAG bypass mode. When the BYPASS command is
set to the boundary-scan TAP controller, SDBPR is connected between the TDI and TDO pins.
This register cannot be accessed through the CPU. This register is not initialized by a power-on
reset or assertion of TRST, but it is initialized to 0 by the Capture-DR state.
30.3.4
Boundary Scan Register (SDBSR)
SDBSR is a register that supports the JTAG boundary scan mode. SDBSR is a shift register that is
located on the PAD, to control the input/output pins. By using the SAMPLE/PRELOAD and
EXTEST commands, this register can perform the boundary scan test that supports the JTAG
standard (IEEE 1149.1) with the subset. This register cannot be accessed through the CPU,
regardless of chip mode. This register is not initialized by a power-on reset or assertion of TRST.
Rev.1.00 Jan. 10, 2008 Page 1493 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Table 30.5 Boundary Scan Register Configuration
Number
Pin Name
Type
Number
From TDI
Pin Name
Type
525
DREQ0
Control
550
DRAK2/CE2A
Input
524
DREQ0
Output
549
DRAK2/CE2A
Control
523
BACK
Input
548
DRAK2/CE2A
Output
522
BACK
Control
547
DACK3/SCK2/MMCDAT/SIOF Input
SCK1
521
BACK
Output
546
DACK3/SCK2/MMCDAT/SIOF Control
SCK1
520
BREQ
Input
545
DACK3/SCK2/MMCDAT/SIOF Output
SCK1
519
BREQ
Control
544
DACK2/TXD2/MMCCMD/SIOF Input
TXD1
518
BREQ
Output
543
DACK2/TXD2/MMCCMD/SIOF Control
TXD1
517
STATUS1/DRAK1
Input
542
DACK2/TXD2/MMCCMD/SIOF Output
TXD1
516
STATUS1/DRAK1
Control
541
DACK1
Input
515
STATUS1/DRAK1
Output
540
DACK1
Control
514
STATUS0/DRAK0
Input
539
DACK1
Output
513
STATUS0/DRAK0
Control
538
DACK0
Input
512
STATUS0/DRAK0
Output
537
DACK0
Control
511
IRL3
Input
536
DACK0
Output
510
IRL3
Control
535
DREQ3/INTC
Input
509
IRL3
Output
534
DREQ3/INTC
Control
508
IRL2
Input
533
DREQ3/INTC
Output
507
IRL2
Control
532
DREQ2/INTB
Input
506
IRL2
Output
531
DREQ2/INTB
Control
505
IRL1
Input
530
DREQ2/INTB
Output
504
IRL1
Control
529
DREQ1
Input
503
IRL1
Output
528
DREQ1
Control
502
IRL0
Input
527
DREQ1
Output
501
IRL0
Control
526
DREQ0
Input
500
IRL0
Output
Rev.1.00 Jan. 10, 2008 Page 1494 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
499
NMI
Input
467
REQ0/REQOUT
Control
498
NMI
Control
466
REQ0/REQOUT
Output
497
NMI
Output
465
PERR
Input
496
INTA
Input
464
PERR
Control
495
INTA
Control
463
PERR
Output
494
INTA
Output
462
SERR
Input
493
CLK/DCLKIN
Input
461
SERR
Control
492
PCIRESET
Input
460
SERR
Output
491
PCIRESET
Control
459
STOP/CDE
Input
490
PCIRESET
Output
458
STOP/CDE
Control
489
GNT3/MMCCLK
Input
457
STOP/CDE
Output
488
GNT3/MMCCLK
Control
456
PAR
Input
487
GNT3/MMCCLK
Output
455
PAR
Control
486
GNT2
Input
454
PAR
Output
485
GNT2
Control
453
DEVSEL/DCLKOUT
Input
484
GNT2
Output
452
DEVSEL/DCLKOUT
Control
483
GNT1
Input
451
DEVSEL/DCLKOUT
Output
482
GNT1
Control
450
LOCK/ODDF
Input
481
GNT1
Output
449
LOCK/ODDF
Control
480
REQ3/MMCCD
Input
448
LOCK/ODDF
Output
479
REQ3/MMCCD
Control
447
IDSEL
Input
478
REQ3/MMCCD
Output
446
IDSEL
Control
477
REQ2
Input
445
IDSEL
Output
476
REQ2
Control
444
TRDY/DISP
Input
475
REQ2
Output
443
TRDY/DISP
Control
474
REQ1
Input
442
TRDY/DISP
Output
473
REQ1
Control
441
IRDY/HSYNC
Input
472
REQ1
Output
440
IRDY/HSYNC
Control
471
GNT0/GNTIN
Input
439
IRDY/HSYNC
Output
470
GNT0/GNTIN
Control
438
FRAME/VSYNC
Input
469
GNT0/GNTIN
Output
437
FRAME/VSYNC
Control
468
REQ0/REQOUT
Input
436
FRAME/VSYNC
Output
Rev.1.00 Jan. 10, 2008 Page 1495 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
435
WE7/CBE3
Input
403
D57/AD25
Output
434
WE7/CBE3
Control
402
D56/AD24
Input
433
WE7/CBE3
Output
401
D56/AD24
Control
432
WE6/CBE2
Input
400
D56/AD24
Output
431
WE6/CBE2
Control
399
D55/AD23
Input
430
WE6/CBE2
Output
398
D55/AD23
Control
429
WE5/CBE1
Input
397
D55/AD23
Output
428
WE5/CBE1
Control
396
D54/AD22
Input
427
WE5/CBE1
Output
395
D54/AD22
Control
426
WE4/CBE0
Input
394
D54/AD22
Output
425
WE4/CBE0
Control
393
D53/AD21
Input
424
WE4/CBE0
Output
392
D53/AD21
Control
423
D63/AD31
Input
391
D53/AD21
Output
422
D63/AD31
Control
390
D52/AD20
Input
421
D63/AD31
Output
389
D52/AD20
Control
420
D62/AD30
Input
388
D52/AD20
Output
419
D62/AD30
Control
387
D51/AD19
Input
418
D62/AD30
Output
386
D51/AD19
Control
417
D61/AD29
Input
385
D51/AD19
Output
416
D61/AD29
Control
384
D50/AD18
Input
415
D61/AD29
Output
383
D50/AD18
Control
414
D60/AD28
Input
382
D50/AD18
Output
413
D60/AD28
Control
381
D49/AD17/DB5
Input
412
D60/AD28
Output
380
D49/AD17/DB5
Control
411
D59/AD27
Input
379
D49/AD17/DB5
Output
410
D59/AD27
Control
378
D48/AD16/DB4
Input
409
D59/AD27
Output
377
D48/AD16/DB4
Control
408
D58/AD26
Input
376
D48/AD16/DB4
Output
407
D58/AD26
Control
375
D47/AD15/DB3
Input
406
D58/AD26
Output
374
D47/AD15/DB3
Control
405
D57/AD25
Input
373
D47/AD15/DB3
Output
404
D57/AD25
Control
372
D46/AD14/DB2
Input
Rev.1.00 Jan. 10, 2008 Page 1496 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
371
D46/AD14/DB2
Control
340
D36/AD4/DR4
Output
370
D46/AD14/DB2
Output
339
D35/AD3/DR3
Input
369
D45/AD13/DB1
Input
338
D35/AD3/DR3
Control
368
D45/AD13/DB1
Control
337
D35/AD3/DR3
Output
367
D45/AD13/DB1
Output
336
D34/AD2/DR2
Input
366
D44/AD12/DB0
Input
335
D34/AD2/DR2
Control
365
D44/AD12/DB0
Control
334
D34/AD2/DR2
Output
364
D44/AD12/DB0
Output
333
D33/AD1/DR1
Input
363
D43/AD11/DG5
Input
332
D33/AD1/DR1
Control
362
D43/AD11/DG5
Control
331
D33/AD1/DR1
Output
361
D43/AD11/DG5
Output
330
D32/AD0/DR0
Input
360
D42/AD10/DG4
Input
329
D32/AD0/DR0
Control
359
D42/AD10/DG4
Control
328
D32/AD0/DR0
Output
358
D42/AD10/DG4
Output
327
CLKOUTENB
Input
357
D41/AD9/DG3
Input
326
CLKOUTENB
Control
356
D41/AD9/DG3
Control
325
CLKOUTENB
Output
355
D41/AD9/DG3
Output
324
CLKOUT
Input
354
D40/AD8/DG2
Input
323
CLKOUT
Control
353
D40/AD8/DG2
Control
322
CLKOUT
Output
352
D40/AD8/DG2
Output
321
RDY
Input
351
D39/AD7/DG1
Input
320
RDY
Control
350
D39/AD7/DG1
Control
319
RDY
Output
349
D39/AD7/DG1
Output
318
WE3
Input
348
D38/AD6/DG0
Input
317
WE3
Control
347
D38/AD6/DG0
Control
316
WE3
Output
346
D38/AD6/DG0
Output
315
WE2
Input
345
D37/AD5/DR5
Input
314
WE2
Control
344
D37/AD5/DR5
Control
313
WE2
Output
343
D37/AD5/DR5
Output
312
WE1
Input
342
D36/AD4/DR4
Input
311
WE1
Control
341
D36/AD4/DR4
Control
310
WE1
Output
Rev.1.00 Jan. 10, 2008 Page 1497 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
309
WE0
Input
277
CS0
Output
308
WE0
Control
276
A25
Input
307
WE0
Output
275
A25
Control
306
BS
Input
274
A25
Output
305
BS
Control
273
A24
Input
304
BS
Output
272
A24
Control
303
R/W
Input
271
A24
Output
302
R/W
Control
270
A23
Input
301
R/W
Output
269
A23
Control
300
RD
Input
268
A23
Output
299
RD
Control
267
A22
Input
298
RD
Output
266
A22
Control
297
CS6
Input
265
A22
Output
296
CS6
Control
264
A21
Input
295
CS6
Output
263
A21
Control
294
CS5
Input
262
A21
Output
293
CS5
Control
261
A20
Input
292
CS5
Output
260
A20
Control
291
CS4
Input
259
A20
Output
290
CS4
Control
258
A19
Input
289
CS4
Output
257
A19
Control
288
CS3
Input
256
A19
Output
287
CS3
Control
255
A18
Input
286
CS3
Output
254
A18
Control
285
CS2
Input
253
A18
Output
284
CS2
Control
252
A17
Input
283
CS2
Output
251
A17
Control
282
CS1
Input
250
A17
Output
281
CS1
Control
249
A16
Input
280
CS1
Output
248
A16
Control
279
CS0
Input
247
A16
Output
278
CS0
Control
246
A15
Input
Rev.1.00 Jan. 10, 2008 Page 1498 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
245
A15
Control
213
A4
Input
244
A15
Output
212
A4
Control
243
A14
Input
211
A4
Output
242
A14
Control
210
A3
Input
241
A14
Output
209
A3
Control
240
A13
Input
208
A3
Output
239
A13
Control
207
A2
Input
238
A13
Output
206
A2
Control
237
A12
Input
205
A2
Output
236
A12
Control
204
A1
Input
235
A12
Output
203
A1
Control
234
A11
Input
202
A1
Output
233
A11
Control
201
A0
Input
232
A11
Output
200
A0
Control
231
A10
Input
199
A0
Output
230
A10
Control
198
D31
Input
229
A10
Output
197
D31
Control
228
A9
Input
196
D31
Output
227
A9
Control
195
D30
Input
226
A9
Output
194
D30
Control
225
A8
Input
193
D30
Output
224
A8
Control
192
D29
Input
223
A8
Output
191
D29
Control
222
A7
Input
190
D29
Output
221
A7
Control
189
D28
Input
220
A7
Output
188
D28
Control
219
A6
Input
187
D28
Output
218
A6
Control
186
D27
Input
217
A6
Output
185
D27
Control
216
A5
Input
184
D27
Output
215
A5
Control
183
D26
Input
214
A5
Output
182
D26
Control
Rev.1.00 Jan. 10, 2008 Page 1499 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
181
D26
Output
149
D15
Control
180
D25
Input
148
D15
Output
179
D25
Control
147
D14
Input
178
D25
Output
146
D14
Control
177
D24
Input
145
D14
Output
176
D24
Control
144
D13
Input
175
D24
Output
143
D13
Control
174
D23
Input
142
D13
Output
173
D23
Control
141
D12
Input
172
D23
Output
140
D12
Control
171
D22
Input
139
D12
Output
170
D22
Control
138
D11
Input
169
D22
Output
137
D11
Control
168
D21
Input
136
D11
Output
167
D21
Control
135
D10
Input
166
D21
Output
134
D10
Control
165
D20
Input
133
D10
Output
164
D20
Control
132
D9
Input
163
D20
Output
131
D9
Control
162
D19
Input
130
D9
Output
161
D19
Control
129
D8
Input
160
D19
Output
128
D8
Control
159
D18
Input
127
D8
Output
158
D18
Control
126
D7
Input
157
D18
Output
125
D7
Control
156
D17
Input
124
D7
Output
155
D17
Control
123
D6
Input
154
D17
Output
122
D6
Control
153
D16
Input
121
D6
Output
152
D16
Control
120
D5
Input
151
D16
Output
119
D5
Control
150
D15
Input
118
D5
Output
Rev.1.00 Jan. 10, 2008 Page 1500 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
117
D4
Input
86
MODE9/TXD4/FD1
Input
116
D4
Control
85
MODE9/TXD4/FD1
Control
115
D4
Output
84
MODE9/TXD4/FD1
Output
114
D3
Input
83
MODE8/SCK3/FD0
Input
113
D3
Control
82
MODE8/SCK3/FD0
Control
112
D3
Output
81
MODE8/SCK3/FD0
Output
111
D2
Input
80
MODE7/RXD3/FALE
Input
110
D2
Control
79
MODE7/RXD3/FALE
Control
109
D2
Output
78
MODE7/RXD3/FALE
Output
108
D1
Input
77
MODE6/SIOFSYNC1
Input
107
D1
Control
76
MODE6/SIOFSYNC1
Control
106
D1
Output
75
MODE6/SIOFSYNC1
Output
105
D0
Input
74
MODE5/SIOFMCLK1
Input
104
D0
Control
73
MODE5/SIOFMCLK1
Control
103
D0
Output
72
MODE5/SIOFMCLK1
Output
102
MRESETOUT/IRQOUT
Input
71
MODE4/TXD3/FCLE
Input
101
MRESETOUT/IRQOUT
Control
70
MODE4/TXD3/FCLE
Control
100
MRESETOUT/IRQOUT
Output
69
MODE4/TXD3/FCLE
Output
99
MODE14
Input
68
MODE3/IRL7/FD7
Input
98
MODE13/TCLK/IOIS16
Input
67
MODE3/IRL7/FD7
Control
97
MODE13/TCLK/IOIS16
Control
66
MODE3/IRL7/FD7
Output
96
MODE13/TCLK/IOIS16
Output
65
MODE2/IRL6/FD6
Input
95
MODE12/DRAK3/CE2B
Input
64
MODE2/IRL6/FD6
Control
94
MODE12/DRAK3/CE2B
Control
63
MODE2/IRL6/FD6
Output
93
MODE12/DRAK3/CE2B
Output
62
MODE1/IRL5/FD5
Input
92
MODE11/SCK4/FD3
Input
61
MODE1/IRL5/FD5
Control
91
MODE11/SCK4/FD3
Control
60
MODE1/IRL5/FD5
Output
90
MODE11/SCK4/FD3
Output
59
MODE0/IRL4/FD4
Input
89
MODE10/RXD4/FD2
Input
58
MODE0/IRL4/FD4
Control
88
MODE10/RXD4/FD2
Control
57
MODE0/IRL4/FD4
Output
87
MODE10/RXD4/FD2
Output
56
SCK5/HAC1/SDOUT/SSI1/
SDATA
Input
Rev.1.00 Jan. 10, 2008 Page 1501 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Number
Pin Name
Type
Number
Pin Name
Type
55
SCK5/HAC1/SDOUT/SSI1/
SDATA
Control
26
SCK1
Input
54
SCK5/HAC1/SDOUT/SSI1/
SDATA
Output
25
SCK1
Control
53
RXD5/HAC1/SDIN/SSI1/SCK
Input
24
SCK1
Output
52
RXD5/HAC1/SDIN/SSI1/SCK
Control
23
RXD1
Input
51
RXD5/HAC1/SDIN/SSI1/SCK
Output
22
RXD1
Control
50
TXD5/HAC1/SYNC/SSI1/WS
Input
21
RXD1
Output
49
TXD5/HAC1/SYNC/SSI1/WS
Control
20
TXD1
Input
48
TXD5/HAC1/SYNC/SSI1/WS
Output
19
TXD1
Control
47
HAC1/BITCLK/SSI1/CLK
Input
18
TXD1
Output
46
HAC1/BITCLK/SSI1/CLK
Control
17
CTS0/INTD/FCE
Input
45
HAC1/BITCLK/SSI1/CLK
Output
16
CTS0/INTD/FCE
Control
44
TXD/HAC0/SDOUT/SSI0/SDATA Input
15
CTS0/INTD/FCE
Output
43
TXD/HAC0/SDOUT/SSI0/SDATA Control
14
RTS0/HSPI/CS/FSE
Input
42
TXD/HAC0/SDOUT/SSI0/SDATA Output
13
RTS0/HSPI/CS/FSE
Control
41
RXD/HAC0/SDIN/SSI0/SCK
Input
12
RTS0/HSPI/CS/FSE
Output
40
RXD/HAC0/SDIN/SSI0/SCK
Control
11
SCK0/HSPI/CLK/FRE
Input
39
RXD/HAC0/SDIN/SSI0/SCK
Output
10
SCK0/HSPI/CLK/FRE
Control
38
SYNC/HAC0/SYNC/SSI0/WS
Input
9
SCK0/HSPI/CLK/FRE
Output
37
SYNC/HAC0/SYNC/SSI0/WS
Control
8
RXD0/HSPI/RX/FR/B
Input
36
SYNC/HAC0/SYNC/SSI0/WS
Output
7
RXD0/HSPI/RX/FR/B
Control
35
MCLK/HAC/RES
Input
6
RXD0/HSPI/RX/FR/B
Output
34
MCLK/HAC/RES
Control
5
TXD0/HSPI/TX/FWE
Input
33
MCLK/HAC/RES
Output
4
TXD0/HSPI/TX/FWE
Control
32
SCK/HAC0/BITCLK/SSI0/CLK
Input
3
TXD0/HSPI/TX/FWE
Output
31
SCK/HAC0/BITCLK/SSI0/CLK
Control
2
ASEBRK
Input
30
SCK/HAC0/BITCLK/SSI0/CLK
Output
1
ASEBRK
Control
29
RXD2/SIOFRXD1
Input
0
ASEBRK
Output
28
RXD2/SIOFRXD1
Control
27
RXD2/SIOFRXD1
Output
Note:
*
To TDO
Control means a low-active signal. When a low-active signal is driven low, the
corresponding pin is driven by the output value.
Rev.1.00 Jan. 10, 2008 Page 1502 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
30.4
Operation
30.4.1
Boundary-Scan TAP Controller (IDCODE, EXTEST, SAMPLE/PRELOAD, and
BYPASS)
In the H-UDI in this LSI, the boundary-scan TAP controller is separated from the TAP controller
for other H-UDI function control. When the TRST is asserted (including when the power is turned
on), the boundary-scan TAP controller operates and the boundary scan function specified in JTAG
can be used. By inputting the switching command, an H-UDI reset and H-UDI interrupts can be
used. However, the following restrictions are put on this LSI.
• Clock-related pins (EXTAL and XTAL) are out of the scope of the boundary scan test.
• Reset-related pin (PRESET) is out of the scope of the boundary scan test.
• H-UDI-related pins (TCK, TDI, TDO, TMS, TRST, AUDSYNC, AUDCK, AUDATA3 to
AUDATA0, and MPMD) are out of the scope of the boundary scan test.
• DDRIF-related pins are out of the scope of the boundary scan test.
• During the boundary scan (IDCODE, EXTEST, SAMPLE/PRELOAD, BYPASS, and H-UDI
switching command), the maximum frequency of TCK is 10 MHz.
• The access size from the H-UDI to the boundary-scan TAP controller is 8 bits.
The commands supported by the boundary-scan TAP controller are shown below.
Note: During the boundary scan, the MPMD and the PRESET pins should be fixed to high level.
When the H-UDI operates in emulation support mode (MPMD = 0), the boundary scan
function cannot be used. Figure 30.2 shows the sequence to switch from the boundaryscan TAP controller to the H-UDI.
Table 30.6 Commands Supported by Boundary-Scan TAP Controller
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Description
0
1
0
1
0
1
0
1
IDCODE
1
1
1
1
1
1
1
1
BYPASS
0
0
0
0
0
0
0
0
EXTEST
0
1
0
0
0
0
0
0
SAMPLE/PRELOAD
0
0
0
0
1
0
0
0
H-UDI switching command
Other than above
Setting prohibited
Rev.1.00 Jan. 10, 2008 Page 1503 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
TRST is
asserted
H-UDI switching command is input to
boundary-scan TAP controller
H-UDI is used
TRST is
asserted
External pins
TCK
TMS
TRST
TDI
Shift-IR
0
0
0
Run-Test-Idle
Switchover is determined at falling of
first tck cycle after the boundary-scan TAP
controller has entered the Run-Test/Idle state
Run-Test
-Idle
0
Run-Test
-Idle
1
Test-Logic
-Reset
0
Test-Logic
-Reset
0
Exit1-IR
0
Update-IR
Select-IR
Capture-IR
Select-DR
Run-Test
-Idle
Test-Logic
-Reset
Status
Select-IR
Run-Test-Idle
Capture-IR
Status
Select-DR
H-UDI
selection
Test-Logic
-Reset
H-UDI
Boundary-scan TAP
controller
H-UDI switching command (B'00001000)
(when Shift-IR state > 8 cycles,
input of last 8 cycles is valid)
Shift-IR
Note: The hatched sections represent the functions connected to the external pins.
Figure 30.2 Sequence to Switch from Boundary-Scan TAP Controller to H-UDI
Rev.1.00 Jan. 10, 2008 Page 1504 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
30.4.2
TAP Control
Figure 30.3 shows the internal states of the TAP controller. The controller supports the state
transitions specified in JTAG with the subset.
• The condition of transition is the TMS value at the rising edge of TCK.
• The TDI value is sampled at the rising edge of TCK and shifted at the falling edge of TCK.
• The TDO value is changed at the falling edge of TCK. The TDO is in the high impedance state
other than in the Shift-DR or Shift-IR state.
• When TRST is changed to 0, the transition to the Test-Logic-Reset state is performed
asynchronously with the TCK signal.
1
Test -Logic-Reset
0
1
0
1
Run-Test/Idle
1
Select-DR-Scan
Select-IR-Scan
0
0
1
1
Capture-DR
Capture-IR
0
0
Shift-DR
0
Shift-IR
1
0
1
1
1
Exit1-DR
Exit1-IR
0
0
Pause-DR
1
0
0
Pause-IR
1
0
0
Exit2-DR
1
Exit2-IR
1
Update-DR
Update-IR
1
1
0
0
Figure 30.3 Diagram of Transitions of TAP Controller State
Rev.1.00 Jan. 10, 2008 Page 1505 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
30.4.3
H-UDI Reset
The H-UDI is reset by a power-on reset by the SDIR command. To reset the H-UDI, send the HUDI reset assert command from the H-UDI pin, and then send the H-UDI reset negate command
(see figure 30.4). The time required between the H-UDI reset assert and H-UDI reset negate
commands is the same as the time to keep the reset pin low in order to reset this LSI by a poweron reset. After the H-UDI reset assert command is set, the reset signal is asserted in the chip after
four cycles at a peripheral clock (Pck). When the H-UDI reset negate command is set, the reset
signal is negated in the chip after a reset hold period. (The minimum period is 17 cycles at a
peripheral clock, and the maximum period is 42 cycles at a peripheral clock. For details, see
section 15, Clock Pulse Generator (CPG).)
Note: The WDT/RST module is not initialized. However, the overflow counter of the WDT/RST
module is initialized.
H-UDI pin
H-UDI
reset negated
H-UDI
reset asserted
Command set timing
Reset hold period
Pck 4 cycles
Reset in the chip
CPU state
STATUS[1:0] output
Normal
LL (normal)
Reset
Reset processing
HH (reset)
LL (normal)
Figure 30.4 H-UDI Reset
Rev.1.00 Jan. 10, 2008 Page 1506 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
30.4.4
H-UDI Interrupt
The H-UDI interrupt function generates an interrupt by setting a command value in SDIR through
the H-UDI. The H-UDI interrupt function is general exception or interrupt operation, that is,
execution is branched to the address based on VBR and is returned to the branch source by the
RTE instruction. In this case, the exception code stored in INTEVT is H'600. Also, the priority of
the H-UDI interrupt is controlled by bits 28 to 24 in INT2PRI4. For details, see section 10,
Interrupt Controller (INTC).
An H-UDI interrupt request signal is asserted when the INTREQ bit in SDINT is set to 1 after
setting the command (Update-IRQ). Since the interrupt request signal is not negated unless the
INTREQ bit is cleared to 0 by software, the interrupt request cannot be missed. While the H-UDI
interrupt command is set in SDIR, SDINT is connected between the TDI and TDO pins. For
values read through the TDO pin and others, see section 30.3.2, Interrupt Source Register
(SDINT).
30.5
Usage Notes
1. Once the SDIR command is set, it is not changed unless a command is written through the HUDI, except the assertion of TRST or initialization by changing the TAP to the Test-LogicReset state.
2. Sleep mode and deep sleep mode are released by an H-UDI interrupt or H-UDI reset, and these
modes accept the interrupt and reset requests.
3. The H-UDI is used to connect an emulator. Therefore, the JTAG functions cannot be used
when an emulator is used.
Rev.1.00 Jan. 10, 2008 Page 1507 of 1658
REJ09B0261-0100
30. User Debugging Interface (H-UDI)
Rev.1.00 Jan. 10, 2008 Page 1508 of 1658
REJ09B0261-0100
31. Register List
Section 31 Register List
This section is a summary of the contents of the descriptions of on-chip I/O registers in the
individual sections.
31.1
Register Address List
The addresses of the I/O registers incorporated in the SH7785 are listed in table 31.1. The registers
are grouped by functional module, and these appear in the same order as the sections of the
manual. Since this is a summary, parts of the descriptions, along with the notes, have been
omitted. For details on the registers, refer to the descriptions in the corresponding sections.
Notes: 1. Access to undefined and reserved addresses is prohibited.
2. Access in an access unit other than that specified in this list is prohibited.
3. The register addresses are given as the P4-area address (the P4 area of the virtual
address space) and the area-7 address (accessed in area 7 of the physical address space
by using the TLB).
4. In the case of the PCIC module, entries under "R/W" indicate the state of the
SuperHyway bus in which the given register is accessed.
Rev.1.00 Jan. 10, 2008 Page 1509 of 1658
REJ09B0261-0100
31. Register List
Table 31.1 Register Address List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
Exception
TRAPA exception register
TRA
R/W
H'FF00 0020
H'1F00 0020
32
Exception event register
EXPEVT
R/W
H'FF00 0024
H'1F00 0024
32
Interrupt event register
INTEVT
R/W
H'FF00 0028
H'1F00 0028
32
Non-support detection exception register
EXPMASK
R/W
H'FF2F 0004
H'1F2F 0004
32
Page table entry high register
PTEH
R/W
H'FF00 0000
H'1F00 0000
32
Page table entry low register
PTEL
R/W
H'FF00 0004
H'1F00 0004
32
processing
MMU
Cache
L memory
Translation table base register
TTB
R/W
H'FF00 0008
H'1F00 0008
32
TLB exception address register
TEA
R/W
H'FF00 000C
H'1F00 000C
32
MMU control register
MMUCR
R/W
H'FF00 0010
H'1F00 0010
32
Physical address space control register
PASCR
R/W
H'FF00 0070
H'1F00 0070
32
Instruction re-fetch inhibit control register
IRMCR
R/W
H'FF00 0078
H'1F00 0078
32
Page table entry assistance register
PTEA
R/W
H'FF00 0034
H'1F00 0034
32
Cache control register
CCR
R/W
H'FF00 001C
H'1F00 001C
32
Queue address control register 0
QACR0
R/W
H'FF00 0038
H'1F00 0038
32
Queue address control register 1
QACR1
R/W
H'FF00 003C
H'1F00 003C
32
On-chip memory control register
RAMCR
R/W
H'FF00 0074
H'1F00 0074
32
L memory transfer source address register 0
LSA0
R/W
H'FF000050
H'1F000050
32
L memory transfer source address register 1
LSA1
R/W
H'FF000054
H'1F000054
32
L memory transfer destination address
LDA0
R/W
H'FF000058
H'1F000058
32
LDA1
R/W
H'FF00005C
H'1F00005C
32
Interrupt control register 0
ICR0
R/W
H'FFD0 0000
H'1FD0 0000
32
Interrupt control register 1
ICR1
R/W
H'FFD0 001C
H'1FD0 001C
32
Interrupt priority register
INTPRI
R/W
H'FFD0 0010
H'1FD0 0010
32
register 0
L memory transfer destination address
register 1
INTC
1
Interrupt source register
INTREQ
R/(W)*
H'FFD0 0024
H'1FD0 0024
32
Interrupt mask register 0
INTMSK0
R/W
H'FFD0 0044
H'1FD0 0044
32
Interrupt mask register 1
INTMSK1
R/W
H'FFD0 0048
H'1FD0 0048
32
Interrupt mask register 2
INTMSK2
R/W
H'FFD4 0080
H'1FD4 0080
32
Interrupt mask clear register 0
INTMSKCLR0 R/W
H'FFD0 0064
H'1FD0 0064
32
Rev.1.00 Jan. 10, 2008 Page 1510 of 1658
REJ09B0261-0100
31. Register List
Module
Name
Name
Abbreviation
R/W
INTC
Interrupt mask clear register 1
INTMSKCLR1 R/W
Interrupt mask clear register 2
INTMSKCLR2 R/W
2
P4 Area
Area 7
Access
Address
Address
Size
H'FFD0 0068
H'1FD0 0068
32
H'FFD4 0084
H'1FD4 0084
32
NMI flag control register
NMIFCR
R/(W)*
H'FFD0 00C0
H'1FD0 00C0
32
User interrupt mask level register
USERIMASK
R/W
H'FFD3 0000
H'1FD3 0000
32
Interrupt priority register 0
INT2PRI0
R/W
H'FFD4 0000
H'1FD4 0000
32
Interrupt priority register 1
INT2PRI1
R/W
H'FFD4 0004
H'1FD4 0004
32
Interrupt priority register 2
INT2PRI2
R/W
H'FFD4 0008
H'1FD4 0008
32
Interrupt priority register 3
INT2PRI3
R/W
H'FFD4 000C
H'1FD4 000C
32
Interrupt priority register 4
INT2PRI4
R/W
H'FFD4 0010
H'1FD4 0010
32
Interrupt priority register 5
INT2PRI5
R/W
H'FFD4 0014
H'1FD4 0014
32
Interrupt priority register 6
INT2PRI6
R/W
H'FFD4 0018
H'1FD4 0018
32
Interrupt priority register 7
INT2PRI7
R/W
H'FFD4 001C
H'1FD4 001C
32
Interrupt priority register 8
INT2PRI8
R/W
H'FFD4 0020
H'1FD4 0020
32
Interrupt priority register 9
INT2PRI9
R/W
H'FFD4 0024
H'1FD4 0024
32
Interrupt source register
INT2A0
R
H'FFD4 0030
H'1FD4 0030
32
INT2A1
R
H'FFD4 0034
H'1FD4 0034
32
Interrupt mask register
INT2MSKR
R/W
H'FFD4 0038
H'1FD4 0038
32
Interrupt mask clear register
INT2MSKCLR R/W
H'FFD4 003C
H'1FD4 003C
32
On-chip module interrupt source register 0
INT2B0
R
H'FFD4 0040
H'1FD4 0040
32
On-chip module interrupt source register 1
INT2B1
R
H'FFD4 0044
H'1FD4 0044
32
On-chip module interrupt source register 2
INT2B2
R
H'FFD4 0048
H'1FD4 0048
32
On-chip module interrupt source register 3
INT2B3
R
H'FFD4 004C
H'1FD4 004C
32
On-chip module interrupt source register 4
INT2B4
R
H'FFD4 0050
H'1FD4 0050
32
On-chip module interrupt source register 5
INT2B5
R
H'FFD4 0054
H'1FD4 0054
32
On-chip module interrupt source register 6
INT2B6
R
H'FFD4 0058
H'1FD4 0058
32
On-chip module interrupt source register 7
INT2B7
R
H'FFD4 005C
H'1FD4 005C
32
GPIO interrupt set register
INT2GPIC
R/W
H'FFD4 0090
H'1FD4 0090
32
Memory Address Map Select Register
MMSELR
R/W
H'FF40 0020
H'1F40 0020
32
Bus Control Register
BCR
R/W
H'FF80 1000
H'1F80 1000
32
CS0 Bus Control Register
CS0BCR
R/W
H'FF80 2000
H'1F80 2000
32
(not affected by the mask state)
Interrupt source register
(affected by the mask state)
LBSC
Rev.1.00 Jan. 10, 2008 Page 1511 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
LBSC
CS1 Bus Control Register
CS1BCR
R/W
H'FF80 2010
H'1F80 2010
32
CS2 Bus Control Register
CS2BCR
R/W
H'FF80 2020
H'1F80 2020
32
CS3 Bus Control Register
CS3BCR
R/W
H'FF80 2030
H'1F80 2030
32
CS4 Bus Control Register
CS4BCR
R/W
H'FF80 2040
H'1F80 2040
32
CS5 Bus Control Register
CS5BCR
R/W
H'FF80 2050
H'1F80 2050
32
CS6 Bus Control Register
CS6BCR
R/W
H'FF80 2060
H'1F80 2060
32
CS0 Wait Control Register
CS0WCR
R/W
H'FF80 2008
H'1F80 2008
32
CS1 Wait Control Register
CS1WCR
R/W
H'FF80 2018
H'1F80 2018
32
CS2 Wait Control Register
CS2WCR
R/W
H'FF80 2028
H'1F80 2028
32
CS3 Wait Control Register
CS3WCR
R/W
H'FF80 2038
H'1F80 2038
32
CS4 Wait Control Register
CS4WCR
R/W
H'FF80 2048
H'1F80 2048
32
CS5 Wait Control Register
CS5WCR
R/W
H'FF80 2058
H'1F80 2058
32
CS6 Wait Control Register
CS6WCR
R/W
H'FF80 2068
H'1F80 2068
32
CS5 PCMCIA Control Register
CS5PCR
R/W
H'FF80 2070
H'1F80 2070
32
CS6 PCMCIA Control Register
CS6PCR
R/W
H'FF80 2080
H'1F80 2080
32
DBSC2 status register
DBSTATE
R
H'FE80 000C
H'1E80 000C
32
SDRAM operation enable register
DBEN
R/W
H'FE80 0010
H'1E80 0010
32
SDRAM command control register
DBCMDCNT
R/W
H'FE80 0014
H'1E80 0014
32
SDRAM configuration setting register
DBCONF
R/W
H'FE80 0020
H'1E80 0020
32
SDRAM timing register 0
DBTR0
R/W
H'FE80 0030
H'1E80 0030
32
SDRAM timing register 1
DBTR1
R/W
H'FE80 0034
H'1E80 0034
32
SDRAM timing register 2
DBTR2
R/W
H'FE80 0038
H'1E80 0038
32
SDRAM refresh control register 0
DBRFCNT0
R/W
H'FE80 0040
H'1E80 0040
32
SDRAM refresh control register 1
DBRFCNT1
R/W
H'FE80 0044
H'1E80 0044
32
SDRAM refresh control register 2
DBRFCNT2
R/W
H'FE80 0048
H'1E80 0048
32
SDRAM refresh status register
DBRFSTS
R/W
H'FE80 004C
H'1E80 004C
32
DDRPAD frequency setting register
DBFREQ
R/W
H'FE80 0050
H'1E80 0050
32
DDRPAD DIC, ODT, OCD setting register
DBDICODTOCD R/W
H'FE80 0054
H'1E80 0054
32
SDRAM mode setting register
DBMRCNT
H'FE80 0060
H'1E80 0060
32
DDR2IF
Rev.1.00 Jan. 10, 2008 Page 1512 of 1658
REJ09B0261-0100
W
31. Register List
Modul e
Name
Name
PCIC
Control register space (physical address: H'FE04 0000 to H'FE04 00FF)
PCIC enable control register
Abbreviation
PCIECR
R/W
R/W
P4 Area
Area 7
Access
Address
Address
Size
H'FE00 0008
H'1E00 0008
32
PCI configuration register space (physical address: H'FE04 0000 to H'FE04 00FF)
PCI vendor ID register
PCIVID
R
H'FE04 0000
H'1E04 0000
(32)/16/8
PCI device ID register
PCIDID
R
H'FE04 0002
H'1E04 0002
(32)/16/8
PCI command register
PCICMD
R/W
H'FE04 0004
H'1E04 0004
(32)/16/8
PCI status register
PCISTATUS
R/W
H'FE04 0006
H'1E04 0006
(32)/16/8
PCI revision ID register
PCIRID
R
H'FE04 0008
H'1E04 0008
(32)/(16)/
8
PCI program interface register
PCIPIF
R/W
H'FE04 0009
H'1E04 0009
(32)/(16)/
8
PCI sub class code register
PCISUB
R/W
H'FE04 000A
H'1E04 000A
(32)/(16)/
8
PCI base class code register
PCIBCC
R/W
H'FE04 000B
H'1E04 000B
(32)/(16)/
8
PCI cache line size register
PCICLS
R
H'FE04 000C
H'1E04 000C
(32)/(16)/
8
PCI latency timer register
PCILTM
R/W
H'FE04 000D
H'1E04 000D
(32)/(16)/
8
PCI header type register
PCIHDR
R
H'FE04 000E
H'1E04 000E
(32)/(16)/
8
PCI BIST register
PCIBIST
R
H'FE04 000F
H'1E04 000F
(32)/(16)/
8
PCI I/O base address register
PCIIBAR
R/W
H'FE04 0010
H'1E04 0010
32/16/8
PCI Memory base address register 0
PCIMBAR0
R/W
H'FE04 0014
H'1E04 0014
32/16/8
PCI Memory base address register 1
PCIMBAR1
R/W
H'FE04 0018
H'1E04 0018
32/16/8
PCI subsystem vendor ID register
PCISVID
R/W
H'FE04 002C
H'1E04 002C
(32)/16/8
PCI subsystem ID register
PCISID
R/W
H'FE04 002E
H'1E04 002E
(32)/16/8
PCI capabilities pointer register
PCICP
R
H'FE04 0034
H'1E04 0034
(32)/(16)/
8
PCI interrupt line register
PCIINTLINE
R/W
H'FE04 003C
H'1E04 003C
(32)/(16)/
8
PCI interrupt pin register
PCIINTPIN
R/W
H'FE04 003D
H'1E04 003D
(32)/(16)/
8
Rev.1.00 Jan. 10, 2008 Page 1513 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
PCIC
PCI minimum grant register
PCIMINGNT
R
H'FE04 003E
H'1E04 003E
(32)/(16)/
8
PCI maximum latency register
PCIMAXLAT
R
H'FE04 003F
H'1E04 003F
(32)/(16)/
8
PCI capability ID register
PCICID
R
H'FE04 0040
H'1E04 0040
(32)/(16)/
8
PCI next item pointer register
PCINIP
R
H'FE04 0041
H'1E04 0041
(32)/(16)/
8
PCI power management capability register
PCIPMC
R/W
H'FE04 0042
H'1E04 0042
(32)/16/8
PCI power management control/status
PCIPMCSR
R/W
H'FE04 0044
H'1E04 0044
(32)/16/8
PCIPMCSR_BSE
R/W
H'FE04 0046
H'1E04 0046
register
PCI PMCSR bridge support extension
register
PCI power consumption/dissipation data
(32)/(16)/
8
PCIPCDD
R/W
H'FE04 0047
H'1E04 0047
register
(32)/(16)/
8
PCI local register space (physical address: H'FE04 0100 to H'FE04 03FF)
PCI control register
PCICR
R/W
H'FE04 0100
H'1E04 0100
32/16/8
PCI local space register 0
PCILSR0
R/W
H'FE04 0104
H'1E04 0104
32/16/8
PCI local space register 1
PCILSR1
R/W
H'FE04 0108
H'1E04 0108
32/16/8
PCI local address register 0
PCILAR0
R/W
H'FE04 010C
H'1E04 010C
32/16/8
PCI local address register 1
PCILAR1
R/W
H'FE04 0110
H'1E04 0110
32/16/8
PCI interrupt register
PCIIR
R/WC
H'FE04 0114
H'1E04 0114
32/16/8
PCI interrupt mask register
PCIIMR
R/W
H'FE04 0118
H'1E04 0118
32/16/8
PCI error address information register
PCIAIR
R
H'FE04 011C
H'1E04 011C
32/16/8
PCI error command information register
PCICIR
R
H'FE04 0120
H'1E04 0120
32/16/8
PCI arbiter interrupt register
PCIAINT
R/WC
H'FE04 0130
H'1E04 0130
32/16/8
PCI arbiter interrupt mask register
PCIAINTM
R/WC
H'FE04 0134
H'1E04 0134
32/16/8
PCI arbiter bus master error information
PCIBMIR
R
H'FE04 0138
H'1E04 0138
32/16/8
PCI PIO address register*2
PCIPAR
R/W
H'FE04 01C0
H'1E04 01C0
32/16/8
PCI power management interrupt register
PCIPINT
R/W
H'FE04 01CC H'1E04 01CC
32/16/8
PCI power management interrupt mask
PCIPINTM
R/W
H'FE04 01D0
32/16/8
register
register
Rev.1.00 Jan. 10, 2008 Page 1514 of 1658
REJ09B0261-0100
H'1E04 01D0
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
PCIC
PCI memory bank register 0
PCIMBR0
R/W
H'FE04 01E0
H'1E04 01E0
32/16/8
PCI memory bank mask register 0
PCIMBMR0
R/W
H'FE04 01E4
H'1E04 01E4
32/16/8
PCI memory bank register 1
PCIMBR1
R/W
H'FE04 01E8
H'1E04 01E8
32/16/8
PCI memory bank mask register 1
PCIMBMR1
R/W
H'FE04 01EC
H'1E04 01EC
32/16/8
PCI memory bank register 2
PCIMBR2
R/W
H'FE04 01F0
H'1E04 01F0
32/16/8
PCI memory bank mask register 2
PCIMBMR2
R/W
H'FE04 01F4
H'1E04 01F4
32/16/8
PCI I/O bank register
PCIIOBR
R/W
H'FE04 01F8
H'1E04 01F8
32/16/8
PCI I/O bank master register
PCIIOBMR
R/W
H'FE04 01FC
H'1E04 01FC
32/16/8
PCI cache snoop control register 0
PCICSCR0
R/W
H'FE04 0210
H'1E04 0210
32/16/8
PCI cache snoop control register 1
PCICSCR1
R/W
H'FE04 0214
H'1E04 0214
32/16/8
PCI cache snoop address register 0
PCICSAR0
R/W
H'FE04 0218
H'1E04 0218
32/16/8
PCI cache snoop address register 1
PCICSAR1
R/W
H'FE04 021C
H'1E04 021C
32/16/8
PCI PIO data register
PCIPDR
R/W
H'FE04 0220
H'1E04 0220
32/16/8
DMA source address register 0
SAR0
R/W
H'FC80 8020
H'1C80 8020
32
DMA destination address register 0
DAR0
R/W
H'FC80 8024
H'1C80 8024
32
DMA transfer count register 0
TCR0
R/W
H'FC80 8028
H'1C80 8028
32
DMAC
3
DMA channel control register 0
CHCR0
R/W*
H'FC80 802C
H'1C80 802C
32
DMA source address register 1
SAR1
R/W
H'FC80 8030
H'1C80 8030
32
DMA destination address register 1
DAR1
R/W
H'FC80 8034
H'1C80 8034
32
DMA transfer count register 1
TCR1
R/W
H'FC80 8038
H'1C80 8038
32
3
DMA channel control register 1
CHCR1
R/W*
H'FC80 803C
H'1C80 803C
32
DMA source address register 2
SAR2
R/W
H'FC80 8040
H'1C80 8040
32
DMA destination address register 2
DAR2
R/W
H'FC80 8044
H'1C80 8044
32
DMA transfer count register 2
TCR2
R/W
H'FC80 8048
H'1C80 8048
32
3
DMA channel control register 2
CHCR2
R/W*
H'FC80 804C
H'1C80 804C
32
DMA source address register 3
SAR3
R/W
H'FC80 8050
H'1C80 8050
32
DMA destination address register 3
DAR3
R/W
H'FC80 8054
H'1C80 8054
32
DMA transfer count register 3
TCR3
R/W
H'FC80 8058
H'1C80 8058
32
3
DMA channel control register 3
CHCR3
R/W*
H'FC80 805C
H'1C80 805C
32
DMA operation register 0
DMAOR0
R/W*4
H'FC80 8060
H'1C80 8060
16
DMA source address register 4
SAR4
R/W
H'FC80 8070
H'1C80 8070
32
Rev.1.00 Jan. 10, 2008 Page 1515 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
DMAC
DMA destination address register 4
DAR4
R/W
H'FC80 8074
H'1C80 8074
32
DMA transfer count register 4
TCR4
R/W
H'FC80 8078
H'1C80 8078
32
3
DMA channel control register 4
CHCR4
R/W*
H'FC80 807C
H'1C80 807C
32
DMA source address register 5
SAR5
R/W
H'FC80 8080
H'1C80 8080
32
DMA destination address register 5
DAR5
R/W
H'FC80 8084
H'1C80 8084
32
DMA transfer count register 5
TCR5
R/W
H'FC80 8088
H'1C80 8088
32
DMA channel control register 5
CHCR5
R/W*3
H'FC80 808C
H'1C80 808C
32
DMA source address register B0
SARB0
R/W
H'FC80 8120
H'1C80 8120
32
DMA destination address register B0
DARB0
R/W
H'FC80 8124
H'1C80 8124
32
DMA transfer count register B0
TCRB0
R/W
H'FC80 8128
H'1C80 8128
32
DMA source address register B1
SARB1
R/W
H'FC80 8130
H'1C80 8130
32
DMA destination address register B1
DARB1
R/W
H'FC80 8134
H'1C80 8134
32
DMA transfer count register B1
TCRB1
R/W
H'FC80 8138
H'1C80 8138
32
DMA source address register B2
SARB2
R/W
H'FC80 8140
H'1C80 8140
32
DMA destination address register B2
DARB2
R/W
H'FC80 8144
H'1C80 8144
32
DMA transfer count register B2
TCRB2
R/W
H'FC80 8148
H'1C80 8148
32
DMA source address register B3
SARB3
R/W
H'FC80 8150
H'1C80 8150
32
DMA destination address register B3
DARB3
R/W
H'FC80 8154
H'1C80 8154
32
DMA transfer count register B3
TCRB3
R/W
H'FC80 8158
H'1C80 8158
32
DMA extended resource selector 0
DMARS0
R/W
H'FC80 9000
H'1C80 9000
16
DMA extended resource selector 1
DMARS1
R/W
H'FC80 9004
H'1C80 9004
16
DMA extended resource selector 2
DMARS2
R/W
H'FC80 9008
H'1C80 9008
16
DMA source address register 6
SAR6
R/W
H'FCC0 8020
H'1CC0 8020
32
DMA destination address register 6
DAR6
R/W
H'FCC0 8024
H'1CC0 8024
32
DMA transfer count register 6
TCR6
R/W
H'FCC0 8028
H'1CC0 8028
32
3
DMA channel control register 6
CHCR6
R/W*
H'FCC0 802C H'1CC0 802C
32
DMA source address register 7
SAR7
R/W
H'FCC0 8030
H'1CC0 8030
32
DMA destination address register 7
DAR7
R/W
H'FCC0 8034
H'1CC0 8034
32
DMA transfer count register 7
TCR7
R/W
H'FCC0 8038
H'1CC0 8038
32
DMA channel control register 7
CHCR7
R/W*3
H'FCC0 803C H'1CC0 803C
32
DMA source address register 8
SAR8
R/W
H'FCC0 8040
32
Rev.1.00 Jan. 10, 2008 Page 1516 of 1658
REJ09B0261-0100
H'1CC0 8040
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
DMAC
DMA destination address register 8
DAR8
R/W
H'FCC0 8044
H'1CC0 8044
32
DMA transfer count register 8
TCR8
R/W
H'FCC0 8048
H'1CC0 8048
32
3
DMA channel control register 8
CHCR8
R/W*
H'FCC0 804C H'1CC0 804C
32
DMA source address register 9
SAR9
R/W
H'FCC0 8050
32
H'1CC0 8050
DMA destination address register 9
DAR9
R/W
H'FCC0 8054
H'1CC0 8054
32
DMA transfer count register 9
TCR9
R/W
H'FCC0 8058
H'1CC0 8058
32
DMA channel control register 9
CHCR9
R/W*3
H'FCC0 805C H'1CC0 805C
32
4
DMA operation register 1
DMAOR1
R/W*
H'FCC0 8060
H'1CC0 8060
16
DMA source address register 10
SAR10
R/W
H'FCC0 8070
H'1CC0 8070
32
DMA destination address register 10
DAR10
R/W
H'FCC0 8074
H'1CC0 8074
32
DMA transfer count register 10
TCR10
R/W
H'FCC0 8078
H'1CC0 8078
32
H'FCC0 807C H'1CC0 807C
32
DMA channel control register 10
CHCR10
3
R/W*
DMA source address register 11
SAR11
R/W
H'FCC0 8080
H'1CC0 8080
32
DMA destination address register 11
DAR11
R/W
H'FCC0 8084
H'1CC0 8084
32
DMA transfer count register 11
TCR11
R/W
H'FCC0 8088
H'1CC0 8088
32
3
DMA channel control register 11
CHCR11
R/W*
H'FCC0 808C H'1CC0 808C
32
DMA source address register B6
SARB6
R/W
H'FCC0 8120
H'1CC0 8120
32
DMA destination address register B6
DARB6
R/W
H'FCC0 8124
H'1CC0 8124
32
DMA transfer count register B6
TCRB6
R/W
H'FCC0 8128
H'1CC0 8128
32
DMA source address register B7
SARB7
R/W
H'FCC0 8130
H'1CC0 8130
32
DMA destination address register B7
DARB7
R/W
H'FCC0 8134
H'1CC0 8134
32
DMA transfer count register B7
TCRB7
R/W
H'FCC0 8138
H'1CC0 8138
32
DMA source address register B8
SARB8
R/W
H'FCC0 8140
H'1CC0 8140
32
DMA destination address register B8
DARB8
R/W
H'FCC0 8144
H'1CC0 8144
32
DMA transfer count register B8
TCRB8
R/W
H'FCC0 8148
H'1CC0 8148
32
DMA source address register B9
SARB9
R/W
H'FCC0 8150
H'1CC0 8150
32
DMA destination address register B9
DARB9
R/W
H'FCC0 8154
H'1CC0 8154
32
DMA transfer count register B9
TCRB9
R/W
H'FCC0 8158
H'1CC0 8158
32
DMA extended resource selector 3
DMARS3
R/W
H'FCC0 9000
H'1CC0 9000
16
DMA extended resource selector 4
DMARS4
R/W
H'FCC0 9004
H'1CC0 9004
16
DMA extended resource selector 5
DMARS5
R/W
H'FCC0 9008
H'1CC0 9008
16
Rev.1.00 Jan. 10, 2008 Page 1517 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
CPG/
Frequency control register 0
FRQCR0
R/W
H'FFC8 0000
H'1FC8 0000
32
Frequency control register 1
FRQCR1
R/W
H'FFC8 0004
H'1FC8 0004
32
Frequency display register 1
FRQMR1
R
H'FFC8 0014
H'1FC8 0014
32
Sleep control register
SLPCR
R/W
H'FFC8 0020
H'1FC8 0020
32
PLL control register
PLLCR
R/W
H'FFC8 0024
H'1FC8 0024
32
Standby control register 0*1
MSTPCR0
R/W
H'FFC8 0030
H'1FC8 0030
32
1
MSTPCR1
R/W
H'FFC8 0034
H'1FC8 0034
32
Standby display register*
MSTPMR
R
H'FFC8 0044
H'1FC8 0044
32
Watchdog timer stop time register
WDTST
R/W
H'FFCC 0000
H'1FCC 0000
32
Watchdog timer control/status register
WDTCSR
R/W
H'FFCC 0004
H'1FCC 0004
32
Watchdog timer base stop time register
WDTBST
R/W
H'FFCC 0008
H'1FCC 0008
32
Watchdog timer counter
WDTCNT
R
H'FFCC 0010
H'1FCC 0010
32
Powerdown
Standby control register 1*
1
WDT
TMU
Watchdog timer base counter
WDTBCNT
R
H'FFCC 0018
H'1FCC 0018
32
Timer start register 0
TSTR0
R/W
H'FFD8 0004
H'1FD8 0004
8
Timer constant register 0
TCOR0
R/W
H'FFD8 0008
H'1FD8 0008
32
Timer counter 0
TCNT0
R/W
H'FFD8 000C
H'1FD8 000C
32
Timer control register 0
TCR0
R/W
H'FFD8 0010
H'1FD8 0010
16
Timer constant register 1
TCOR1
R/W
H'FFD8 0014
H'1FD8 0014
32
Timer counter 1
TCNT1
R/W
H'FFD8 0018
H'1FD8 0018
32
Timer control register 1
TCR1
R/W
H'FFD8 001C
H'1FD8 001C
16
Timer constant register 2
TCOR2
R/W
H'FFD8 0020
H'1FD8 0020
32
Timer counter 2
TCNT2
R/W
H'FFD8 0024
H'1FD8 0024
32
Timer control register 2
TCR2
R/W
H'FFD8 0028
H'1FD8 0028
16
Input capture register 2
TCPR2
R
H'FFD8 002C
H'1FD8 002C
32
Timer start register 1
TSTR1
R/W
H'FFDC 0004
H'1FDC 0004
8
Timer constant register 3
TCOR3
R/W
H'FFDC 0008
H'1FDC 0008
32
Timer counter 3
TCNT3
R/W
H'FFDC 000C H'1FDC 000C 32
Timer control register 3
TCR3
R/W
H'FFDC 0010
H'1FDC 0010
16
Timer constant register 4
TCOR4
R/W
H'FFDC 0014
H'1FDC 0014
32
Timer counter 4
TCNT4
R/W
H'FFDC 0018
H'1FDC 0018
32
Timer control register 4
TCR4
R/W
H'FFDC 001C H'1FDC 001C 16
Rev.1.00 Jan. 10, 2008 Page 1518 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
TMU
Timer constant register 5
TCOR5
R/W
H'FFDC 0020
H'1FDC 0020
32
Timer counter 5
TCNT5
R/W
H'FFDC 0024
H'1FDC 0024
32
Timer control register 5
TCR5
R/W
H'FFDC 0028
H'1FDC 0028
16
Display system control register
DSYSR
R/W
H'FFF80000
H'1FF80000
32
DU
Display mode register
DSMR
R/W
H'FFF80004
H'1FF80004
32
Display status register
DSSR
R
H'FFF80008
H'1FF80008
32
Display status register clear register
DSRCR
W
H'FFF8000C
H'1FF8000C
32
Display interrupt enable register
DIER
R/W
H'FFF80010
H'1FF80010
32
Color palette control register
CPCR
R/W
H'FFF80014
H'1FF80014
32
Display plane priority order register
DPPR
R/W
H'FFF80018
H'1FF80018
32
Display extension function enable register
DEFR
R/W
H'FFF80020
H'1FF80020
32
Horizontal display start position register
HDSR
R/W
H'FFF80040
H'1FF80040
32
Horizontal display end position register
HDER
R/W
H'FFF80044
H'1FF80044
32
Vertical display start position register
VDSR
R/W
H'FFF80048
H'1FF80048
32
Vertical display end position register
VDER
R/W
H'FFF8004C
H'1FF8004C
32
Horizontal scan period register
HCR
R/W
H'FFF80050
H'1FF80050
32
Horizontal synchronous pulse width register
HSWR
R/W
H'FFF80054
H'1FF80054
32
Vertical scan period register
VCR
R/W
H'FFF80058
H'1FF80058
32
Vertical synchronous position register
VSPR
R/W
H'FFF8005C
H'1FF8005C
32
Equivalent pulse width register
EQWR
R/W
H'FFF80060
H'1FF80060
32
Separation width register
SPWR
R/W
H'FFF80064
H'1FF80064
32
CLAMP signal start position register
CLAMPSR
R/W
H'FFF80070
H'1FF80070
32
CLAMP signal width register
CLAMPWR
R/W
H'FFF80074
H'1FF80074
32
DE signal start position register
DESR
R/W
H'FFF80078
H'1FF80078
32
DE signal width register
DEWR
R/W
H'FFF8007C
H'1FF8007C
32
Color palette 1 transparent color register
CP1TR
R/W
H'FFF80080
H'1FF80080
32
Color palette 2 transparent color register
CP2TR
R/W
H'FFF80084
H'1FF80084
32
Color palette 3 transparent color register
CP3TR
R/W
H'FFF80088
H'1FF80088
32
Color palette 4 transparent color register
CP4TR
R/W
H'FFF8008C
H'1FF8008C
32
Display-off output register
DOOR
R/W
H'FFF80090
H'1FF80090
32
Color detection register
CDER
R/W
H'FFF80094
H'1FF80094
32
Rev.1.00 Jan. 10, 2008 Page 1519 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
DU
Base color register
BPOR
R/W
H'FFF80098
H'1FF80098
32
Raster interrupt offset register
RINTOFSR
R/W
H'FFF8009C
H'1FF8009C
32
Plane 1 mode register
P1MR
R/W
H'FFF80100
H'1FF80100
32
Plane 1 memory width register
P1MWR
R/W
H'FFF80104
H'1FF80104
32
Plane 1 blend ratio register
P1ALPHAR
R/W
H'FFF80108
H'1FF80108
32
Plane 1 display size X register
P1DSXR
R/W
H'FFF80110
H'1FF80110
32
Plane 1 display size Y register
P1DSYR
R/W
H'FFF80114
H'1FF80114
32
Plane 1 display position X register
P1DPXR
R/W
H'FFF80118
H'1FF80118
32
Plane 1 display position Y register
P1DPYR
R/W
H'FFF8011C
H'1FF8011C
32
Plane 1 display area start address 0 register
P1DSA0R
R/W
H'FFF80120
H'1FF80120
32
Plane 1 display area start address 1 register
P1DSA1R
R/W
H'FFF80124
H'1FF80124
32
Plane 1 start position X register
P1SPXR
R/W
H'FFF80130
H'1FF80130
32
Plane 1 start position Y register
P1SPYR
R/W
H'FFF80134
H'1FF80134
32
Plane 1 wrap-around start position register
P1WASPR
R/W
H'FFF80138
H'1FF80138
32
Plane 1 wrap-around memory width register
P1WAMWR
R/W
H'FFF8013C
H'1FF8013C
32
Plane 1 blinking period register
P1BTR
R/W
H'FFF80140
H'1FF80140
32
Plane 1 transparent color 1 register
P1TC1R
R/W
H'FFF80144
H'1FF80144
32
Plane 1 transparent color 2 register
P1TC2R
R/W
H'FFF80148
H'1FF80148
32
Plane 1 memory length register
P1MLR
R/W
H'FFF80150
H'1FF80150
32
Plane 2 mode register
P2MR
R/W
H'FFF80200
H'1FF80200
32
Plane 2 memory width register
P2MWR
R/W
H'FFF80204
H'1FF80204
32
Plane 2 blend ratio register
P2ALPHAR
R/W
H'FFF80208
H'1FF80208
32
Plane 2 display size X register
P2DSXR
R/W
H'FFF80210
H'1FF80210
32
Plane 2 display size Y register
P2DSYR
R/W
H'FFF80214
H'1FF80214
32
Plane 2 display position X register
P2DPXR
R/W
H'FFF80218
H'1FF80218
32
Plane 2 display position Y register
P2DPYR
R/W
H'FFF8021C
H'1FF8021C
32
Plane 2 display area start address 0 register
P2DSA0R
R/W
H'FFF80220
H'1FF80220
32
Plane 2 display area start address 1 register
P2DSA1R
R/W
H'FFF80224
H'1FF80224
32
Plane 2 start position X register
P2SPXR
R/W
H'FFF80230
H'1FF80230
32
Plane 2 start position Y register
P2SPYR
R/W
H'FFF80234
H'1FF80234
32
Plane 2 wrap-around start position register
P2WASPR
R/W
H'FFF80238
H'1FF80238
32
Rev.1.00 Jan. 10, 2008 Page 1520 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
DU
Plane 2 wrap-around memory width register
P2WAMWR
R/W
H'FFF8023C
H'1FF8023C
32
Plane 2 blinking period register
P2BTR
R/W
H'FFF80240
H'1FF80240
32
Plane 2 transparent color 1 register
P2TC1R
R/W
H'FFF80244
H'1FF80244
32
Plane 2 transparent color 2 register
P2TC2R
R/W
H'FFF80248
H'1FF80248
32
Plane 2 memory length register
P2MLR
R/W
H'FFF80250
H'1FF80250
32
Plane 3 mode register
P3MR
R/W
H'FFF80300
H'1FF80300
32
Plane 3 memory width register
P3MWR
R/W
H'FFF80304
H'1FF80304
32
Plane 3 blend ratio register
P3ALPHAR
R/W
H'FFF80308
H'1FF80308
32
Plane 3 display size X register
P3DSXR
R/W
H'FFF80310
H'1FF80310
32
Plane 3 display size Y register
P3DSYR
R/W
H'FFF80314
H'1FF80314
32
Plane 3 display position X register
P3DPXR
R/W
H'FFF80318
H'1FF80318
32
Plane 3 display position Y register
P3DPYR
R/W
H'FFF8031C
H'1FF8031C
32
Plane 3 display area start address 0 register
P3DSA0R
R/W
H'FFF80320
H'1FF80320
32
Plane 3 display area start address 1 register
P3DSA1R
R/W
H'FFF80324
H'1FF80324
32
Plane 3 start position X register
P3SPXR
R/W
H'FFF80330
H'1FF80330
32
Plane 3 start position Y register
P3SPYR
R/W
H'FFF80334
H'1FF80334
32
Plane 3 wrap-around start position register
P3WASPR
R/W
H'FFF80338
H'1FF80338
32
Plane 3 wrap-around memory width register
P3WAMWR
R/W
H'FFF8033C
H'1FF8033C
32
Plane 3 blinking period register
P3BTR
R/W
H'FFF80340
H'1FF80340
32
Plane 3 transparent color 1 register
P3TC1R
R/W
H'FFF80344
H'1FF80344
32
Plane 3 transparent color 2 register
P3TC2R
R/W
H'FFF80348
H'1FF80348
32
Plane 3 memory length register
P3MLR
R/W
H'FFF80350
H'1FF80350
32
Plane 4 mode register
P4MR
R/W
H'FFF80400
H'1FF80400
32
Plane 4 memory width register
P4MWR
R/W
H'FFF80404
H'1FF80404
32
Plane 4 blend ratio register
P4ALPHAR
R/W
H'FFF80408
H'1FF80408
32
Plane 4 display size X register
P4DSXR
R/W
H'FFF80410
H'1FF80410
32
Plane 4 display size Y register
P4DSYR
R/W
H'FFF80414
H'1FF80414
32
Plane 4 display position X register
P4DPXR
R/W
H'FFF80418
H'1FF80418
32
Plane 4 display position Y register
P4DPYR
R/W
H'FFF8041C
H'1FF8041C
32
Plane 4 display area start address 0 register
P4DSA0R
R/W
H'FFF80420
H'1FF80420
32
Plane 4 display area start address 1 register
P4DSA1R
R/W
H'FFF80424
H'1FF80424
32
Rev.1.00 Jan. 10, 2008 Page 1521 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
DU
Plane 4 start position X register
P4SPXR
R/W
H'FFF80430
H'1FF80430
32
Plane 4 start position Y register
P4SPYR
R/W
H'FFF80434
H'1FF80434
32
Plane 4 wrap-around start position register
P4WASPR
R/W
H'FFF80438
H'1FF80438
32
Plane 4 wrap-around memory width register
P4WAMWR
R/W
H'FFF8043C
H'1FF8043C
32
Plane 4 blinking period register
P4BTR
R/W
H'FFF80440
H'1FF80440
32
Plane 4 transparent color 1 register
P4TC1R
R/W
H'FFF80444
H'1FF80444
32
Plane 4 transparent color 2 register
P4TC2R
R/W
H'FFF80448
H'1FF80448
32
Plane 4 memory length register
P4MLR
R/W
H'FFF80450
H'1FF80450
32
Plane 5 mode register
P5MR
R/W
H'FFF80500
H'1FF80500
32
Plane 5 memory width register
P5MWR
R/W
H'FFF80504
H'1FF80504
32
Plane 5 blend ratio register
P5ALPHAR
R/W
H'FFF80508
H'1FF80508
32
Plane 5 display size X register
P5DSXR
R/W
H'FFF80510
H'1FF80510
32
Plane 5 display size Y register
P5DSYR
R/W
H'FFF80514
H'1FF80514
32
Plane 5 display position X register
P5DPXR
R/W
H'FFF80518
H'1FF80518
32
Plane 5 display position Y register
P5DPYR
R/W
H'FFF8051C
H'1FF8051C
32
Plane 5 display area start address 0 register
P5DSA0R
R/W
H'FFF80520
H'1FF80520
32
Plane 5 display area start address 1 register
P5DSA1R
R/W
H'FFF80524
H'1FF80524
32
Plane 5 start position X register
P5SPXR
R/W
H'FFF80530
H'1FF80530
32
Plane 5 start position Y register
P5SPYR
R/W
H'FFF80534
H'1FF80534
32
Plane 5 wrap-around start position register
P5WASPR
R/W
H'FFF80538
H'1FF80538
32
Plane 5 wrap-around memory width register
P5WAMWR
R/W
H'FFF8053C
H'1FF8053C
32
Plane 5 blinking period register
P5BTR
R/W
H'FFF80540
H'1FF80540
32
Plane 5 transparent color 1 register
P5TC1R
R/W
H'FFF80544
H'1FF80544
32
Plane 5 transparent color 2 register
P5TC2R
R/W
H'FFF80548
H'1FF80548
32
Plane 5 memory length register
P5MLR
R/W
H'FFF80550
H'1FF80550
32
Plane 6 mode register
P6MR
R/W
H'FFF80600
H'1FF80600
32
Plane 6 memory width register
P6MWR
R/W
H'FFF80604
H'1FF80604
32
Plane 6 blend ratio register
P6ALPHAR
R/W
H'FFF80608
H'1FF80608
32
Plane 6 display size X register
P6DSXR
R/W
H'FFF80610
H'1FF80610
32
Plane 6 display size Y register
P6DSYR
R/W
H'FFF80614
H'1FF80614
32
Plane 6 display position X register
P6DPXR
R/W
H'FFF80618
H'1FF80618
32
Rev.1.00 Jan. 10, 2008 Page 1522 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
DU
Plane 6 display position Y register
P6DPYR
R/W
H'FFF8061C
H'1FF8061C
32
Plane 6 display area start address 0 register
P6DSA0R
R/W
H'FFF80620
H'1FF80620
32
Plane 6 display area start address 1 register
P6DSA1R
R/W
H'FFF80624
H'1FF80624
32
Plane 6 start position X register
P6SPXR
R/W
H'FFF80630
H'1FF80630
32
GDTA
Plane 6 start position Y register
P6SPYR
R/W
H'FFF80634
H'1FF80634
32
Plane 6 wrap-around start position register
P6WASPR
R/W
H'FFF80638
H'1FF80638
32
Plane 6 wrap-around memory width register
P6WAMWR
R/W
H'FFF8063C
H'1FF8063C
32
Plane 6 blinking period register
P6BTR
R/W
H'FFF80640
H'1FF80640
32
Plane 6 transparent color 1 register
P6TC1R
R/W
H'FFF80644
H'1FF80644
32
Plane 6 transparent color 2 register
P6TC2R
R/W
H'FFF80648
H'1FF80648
32
Plane 6 memory length register
P6MLR
R/W
H'FFF80650
H'1FF80650
32
Color palette 1 register 000
CP1_000R
R/W
H'FFF81000
H'1FF81000
32
:
:
:
:
:
:
Color palette 1 register 255
CP1_255R
R/W
H'FFF813FC
H'1FF813FC
32
Color palette 2 register 000
CP2_000R
R/W
H'FFF82000
H'1FF82000
32
:
:
:
:
:
:
Color palette 2 register 255
CP2_255R
R/W
H'FFF823FC
H'1FF823FC
32
Color palette 3 register 000
CP3_000R
R/W
H'FFF83000
H'1FF83000
32
:
:
:
:
:
:
Color palette 3 register 255
CP3_255R
R/W
H'FFF833FC
H'1FF833FC
32
Color palette 4 register 000
CP4_000R
R/W
H'FFF84000
H'1FF84000
32
:
:
:
:
:
:
Color palette 4 register 255
CP4_255R
R/W
H'FFF843FC
H'1FF843FC
32
External synchronization control register
ESCR
R/W
H'FFF90000
H'1FF90000
32
Output signal timing adjustment register
OTAR
R/W
H'FFF90004
H'1FF90004
32
GA mask register
GACMR
R/W
H'FE40 000C
H'1E40 000C
32
GA enable register
GACER
R/W
H'FE40 0010
H'1E40 0010
32
GA processing end interrupt source
GACISR
R
H'FE40 0014
H'1E40 0014
32
GACICR
W
H'FE40 0018
H'1E40 0018
32
indicating register
GA processing end interrupt source
indication clear register
Rev.1.00 Jan. 10, 2008 Page 1523 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
GCTA
GA interrupt enable register
GACIER
R/W
H'FE40 001C
H'1E40 001C
32
GA CL input data alignment register
DRCL_CTL
R/W
H'FE40 3000
H'1E40 3000
32
GA CL output data alignment register
DWCL_CTL
R/W
H'FE40 3100
H'1E40 3100
32
GA MC input data alignment register
DRMC_CTL
R/W
H'FE40 3200
H'1E40 3200
32
GA MC output data alignment register
DWMC_CTL
R/W
H'FE40 3300
H'1E40 3300
32
GA buffer RAM 0 data alignment register
DCP_CTL
R/W
H'FE40 3400
H'1E40 3400
32
GA buffer RAM 1 data alignment register
DID_CTL
R/W
H'FE40 3500
H'1E40 3500
32
CL command FIFO
CLCF
W
H'FE40 1000
H'1E40 1000
32
CL control register
CLCR
R/W
H'FE40 1004
H'1E40 1004
32
CL status register
CLSR
R
H'FE40 1008
H'1E40 1008
32
CL frame width setting register
CLWR
R/W
H'FE40 100C
H'1E40 100C
32
CL frame height setting register
CLHR
R/W
H'FE40 1010
H'1E40 1010
32
CL input Y padding size setting register
CLIYPR
R/W
H'FE40 1014
H'1E40 1014
32
CL input UV padding size setting register
CLIUVPR
R/W
H'FE40 1018
H'1E40 1018
32
CL output padding size setting register
CLOPR
R/W
H'FE40 101C
H'1E40 101C
32
CL palette pointer setting register
CLPLPR
R/W
H'FE40 1020
H'1E40 1020
32
MC command FIFO
MCCF
W
H'FE40 2000
H'1E40 2000
32
MC status register
MCSR
R
H'FE40 2004
H'1E40 2004
32
MC frame width setting register
MCWR
R/W
H'FE40 2008
H'1E40 2008
32
MC frame height setting register
MCHR
R/W
H'FE40 200C
H'1E40 200C
32
MC Y padding size setting register
MCYPR
R/W
H'FE40 2010
H'1E40 2010
32
MC UV padding size setting register
MCUVPR
R/W
H'FE40 2014
H'1E40 2014
32
MC output frame Y pointer register
MCOYPR
R/W
H'FE40 2018
H'1E40 2018
32
MC output frame U pointer register
MCOUPR
R/W
H'FE40 201C
H'1E40 201C
32
MC output frame V pointer register
MCOVPR
R/W
H'FE40 2020
H'1E40 2020
32
MC past frame Y pointer register
MCPYPR
R/W
H'FE40 2024
H'1E40 2024
32
MC past frame U pointer register
MCPUPR
R/W
H'FE40 2028
H'1E40 2028
32
MC past frame V pointer register
MCPVPR
R/W
H'FE40 202C
H'1E40 202C
32
MC future frame Y pointer register
MCFYPR
R/W
H'FE40 2030
H'1E40 2030
32
MC future frame U pointer register
MCFUPR
R/W
H'FE40 2034
H'1E40 2034
32
MC future frame V pointer register
MCFVPR
R/W
H'FE40 2038
H'1E40 2038
32
Rev.1.00 Jan. 10, 2008 Page 1524 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
SCIF
Serial mode register 0
SCSMR0
R/W
H'FFEA 0000
H'1FEA 0000
16
Bit rate register 0
SCBRR0
R/W
H'FFEA 0004
H'1FEA 0004
8
Serial control register 0
SCSCR0
R/W
H'FFEA 0008
H'1FEA 0008
16
Transmit FIFO data register 0
SCFTDR0
W
5
H'FFEA 000C H'1FEA 000C
8
Serial status register 0
SCFSR0
R/W*
H'FFEA 0010
H'1FEA 0010
16
Receive FIFO data register 0
SCFRDR0
R
H'FFEA 0014
H'1FEA 0014
8
FIFO control register 0
SCFCR0
R/W
H'FFEA 0018
H'1FEA 0018
16
Transmit FIFO data count register 0
SCTFDR0
R
H'FFEA 001C H'1FEA 001C
16
Receive FIFO data count register 0
SCRFDR0
R
H'FFEA 0020
H'1FEA 0020
16
Serial port register 0
SCSPTR0
R/W
H'FFEA 0024
H'1FEA 0024
16
6
Line status register 0
SCLSR0
R/W*
H'FFEA 0028
H'1FEA 0028
16
Serial error register 0
SCRER0
R
H'FFEA 002C H'1FEA 002C
16
Serial mode register 1
SCSMR1
R/W
H'FFEB 0000
H'1FEB 0000
16
Bit rate register 1
SCBRR1
R/W
H'FFEB 0004
H'1FEB 0004
8
Serial control register 1
SCSCR1
R/W
H'FFEB 0008
H'1FEB 0008
16
Transmit FIFO data register 1
SCFTDR1
W
5
H'FFEB 000C H'1FEB 000C
8
Serial status register 1
SCFSR1
R/W*
H'FFEB 0010
H'1FEB 0010
16
Receive FIFO data register 1
SCFRDR1
R
H'FFEB 0014
H'1FEB 0014
8
FIFO control register 1
SCFCR1
R/W
H'FFEB 0018
H'1FEB 0018
16
Transmit FIFO data count register 1
SCTFDR1
R
H'FFEB 001C H'1FEB 001C
16
Receive FIFO data count register 1
SCRFDR1
R
H'FFEB 0020
H'1FEB 0020
16
Serial port register 1
SCSPTR1
R/W
H'FFEB 0024
H'1FEB 0024
16
Line status register 1
SCLSR1
R/W*6
H'FFEB 0028
H'1FEB 0028
16
Serial error register 1
SCRER1
R
H'FFEB 002C H'1FEB 002C
16
Serial mode register 2
SCSMR2
R/W
H'FFEC 0000
H'1FEC 0000
16
Bit rate register 2
SCBRR2
R/W
H'FFEC 0004
H'1FEC 0004
8
Serial control register 2
SCSCR2
R/W
H'FFEC 0008
H'1FEC 0008
16
Transmit FIFO data register 2
SCFTDR2
W
5
H'FFEC 000C H'1FEC 000C
8
Serial status register 2
SCFSR2
R/W*
H'FFEC 0010
H'1FEC 0010
16
Receive FIFO data register 2
SCFRDR2
R
H'FFEC 0014
H'1FEC 0014
8
Rev.1.00 Jan. 10, 2008 Page 1525 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
SCIF
FIFO control register 2
SCFCR2
R/W
H'FFEC 0018
H'1FEC 0018
16
Transmit FIFO data count register 2
SCTFDR2
R
H'FFEC 001C H'1FEC 001C
16
Receive FIFO data count register 2
SCRFDR2
R
H'FFEC 0020
H'1FEC 0020
16
Serial port register 2
SCSPTR2
R/W
H'FFEC 0024
H'1FEC 0024
16
6
Line status register 2
SCLSR2
R/W*
H'FFEC 0028
H'1FEC 0028
16
Serial error register 2
SCRER2
R
H'FFEC 002C H'1FEC 002C
16
Serial mode register 3
SCSMR3
R/W
H'FFED 0000
H'1FED 0000
16
Bit rate register 3
SCBRR3
R/W
H'FFED 0004
H'1FED 0004
8
Serial control register 3
SCSCR3
R/W
H'FFED 0008
H'1FED 0008
16
Transmit FIFO data register 3
SCFTDR3
W
5
H'FFED 000C H'1FED 000C
8
Serial status register 3
SCFSR3
R/W*
H'FFED 0010
H'1FED 0010
16
Receive FIFO data register 3
SCFRDR3
R
H'FFED 0014
H'1FED 0014
8
FIFO control register 3
SCFCR3
R/W
H'FFED 0018
H'1FED 0018
16
Transmit FIFO data count register 3
SCTFDR3
R
H'FFED 001C H'1FED 001C
16
Receive FIFO data count register 3
SCRFDR3
R
H'FFED 0020
H'1FED 0020
16
Serial port register 3
SCSPTR3
R/W
H'FFED 0024
H'1FED 0024
16
6
Line status register 3
SCLSR3
R/W*
H'FFED 0028
H'1FED 0028
16
Serial error register 3
SCRER3
R
H'FFED 002C H'1FED 002C
16
Serial mode register 4
SCSMR4
R/W
H'FFEE 0000
H'1FEE 0000
16
Bit rate register 4
SCBRR4
R/W
H'FFEE 0004
H'1FEE 0004
8
Serial control register 4
SCSCR4
R/W
H'FFEE 0008
H'1FEE 0008
Transmit FIFO data register 4
SCFTDR4
W
H'FFEE 000C H'1FEE 000C
8
Serial status register 4
SCFSR4
R/W*5
H'FFEE 0010
H'1FEE 0010
16
Receive FIFO data register 4
SCFRDR4
R
H'FFEE 0014
H'1FEE 0014
8
FIFO control register 4
SCFCR4
R/W
H'FFEE 0018
H'1FEE 0018
16
Transmit FIFO data count register 4
SCTFDR4
R
H'FFEE 001C H'1FEE 001C
16
Receive FIFO data count register 4
SCRFDR4
R
H'FFEE 0020
H'1FEE 0020
16
Serial port register 4
SCSPTR4
R/W
H'FFEE 0024
H'1FEE 0024
16
6
16
Line status register 4
SCLSR4
R/W*
H'FFEE 0028
H'1FEE 0028
16
Serial error register 4
SCRER4
R
H'FFEE 002C H'1FEE 002C
16
Serial mode register 5
SCSMR5
R/W
H'FFEF 0000
16
Rev.1.00 Jan. 10, 2008 Page 1526 of 1658
REJ09B0261-0100
H'1FEF 0000
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
SCIF
Bit rate register 5
SCBRR5
R/W
H'FFEF 0004
H'1FEF 0004
8
Serial control register 5
SCSCR5
R/W
H'FFEF 0008
H'1FEF 0008
16
Transmit FIFO data register 5
SCFTDR5
W
H'FFEF 000C
H'1FEF 000C
8
H'FFEF 0010
H'1FEF 0010
16
SIOF
HSPI
5
Serial status register 5
SCFSR5
R/W*
Receive FIFO data register 5
SCFRDR5
R
H'FFEF 0014
H'1FEF 0014
8
FIFO control register 5
SCFCR5
R/W
H'FFEF 0018
H'1FEF 0018
16
Transmit FIFO data count register 5
SCTFDR5
R
H'FFEF 001C
H'1FEF 001C
16
Receive FIFO data count register 5
SCRFDR5
R
H'FFEF 0020
H'1FEF 0020
16
Serial port register 5
SCSPTR5
R/W
H'FFEF 0024
H'1FEF 0024
16
6
Line status register 5
SCLSR5
R/W*
H'FFEF 0028
H'1FEF 0028
16
Serial error register 5
SCRER5
R
H'FFEF 002C
H'1FEF 002C
16
Mode register
SIMDR
R/W
H'FFE2 0000
H'1FE2 0000
16
Clock select register
SISCR
R/W
H'FFE2 0002
H'1FE2 0002
16
Transmit data assign register
SITDAR
R/W
H'FFE2 0004
H'1FE2 0004
16
Receive data assign register
SIRDAR
R/W
H'FFE2 0006
H'1FE2 0006
16
Control data assign register
SICDAR
R/W
H'FFE2 0008
H'1FE2 0008
16
Control register
SICTR
R/W
H'FFE2 000C
H'1FE2 000C
16
FIFO control register
SIFCTR
R/W
H'FFE2 0010
H'1FE2 0010
16
Status register
SISTR
R/W
H'FFE2 0014
H'1FE2 0014
16
Interrupt enable register
SIIER
R/W
H'FFE2 0016
H'1FE2 0016
16
Transmit data register
SITDR
W
H'FFE2 0020
H'1FE2 0020
32
Receive data register
SIRDR
R
H'FFE2 0024
H'1FE2 0024
32
Transmit control data register
SITCR
R/W
H'FFE2 0028
H'1FE2 0028
32
Receive control data register
SIRCR
R/W
H'FFE2 002C
H'1FE2 002C
32
Control register
SPCR
R/W
H'FFE5 0000
H'1FE5 0000
32
Status register
SPSR
R
H'FFE5 0004
H'1FE5 0004
32
System control register
SPSCR
R/W
H'FFE5 0008
H'1FE5 0008
32
Transmit buffer register
SPTBR
R/W
H'FFE5 000C
H'1FE5 000C
32
Receive buffer register
SPRBR
R
H'FFE5 0010
H'1FE5 0010
32
Rev.1.00 Jan. 10, 2008 Page 1527 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
MMCIF
Command register 0
CMDR0
R/W
H'FFE6 0000
H'1FE6 0000
8
Command register 1
CMDR1
R/W
H'FFE6 0001
H'1FE6 0001
8
Command register 2
CMDR2
R/W
H'FFE6 0002
H'1FE6 0002
8
Command register 3
CMDR3
R/W
H'FFE6 0003
H'1FE6 0003
8
Command register 4
CMDR4
R/W
H'FFE6 0004
H'1FE6 0004
8
Command register 5
CMDR5
R
H'FFE6 0005
H'1FE6 0005
8
Command start register
CMDSTRT
R/W
H'FFE6 0006
H'1FE6 0006
8
Operation control register
OPCR
R/W
H'FFE6 000A
H'1FE6 000A
8
Card status register
CSTR
R
H'FFE6 000B
H'1FE6 000B
8
Interrupt control register 0
INTCR0
R/W
H'FFE6 000C
H'1FE6 000C
8
Interrupt control register 1
INTCR1
R/W
H'FFE6 000D
H'1FE6 000D
8
Interrupt status register 0
INTSTR0
R/W
H'FFE6 000E
H'1FE6 000E
8
Interrupt status register 1
INTSTR1
R/W
H'FFE6 000F
H'1FE6 000F
8
Transfer clock control register
CLKON
R/W
H'FFE6 0010
H'1FE6 0010
8
Command timeout control register
CTOCR
R/W
H'FFE6 0011
H'1FE6 0011
8
Transfer byte number count register
TBCR
R/W
H'FFE6 0014
H'1FE6 0014
8
Mode register
MODER
R/W
H'FFE6 0016
H'1FE6 0016
8
Command type register
CMDTYR
R/W
H'FFE6 0018
H'1FE6 0018
8
Response type register
RSPTYR
R/W
H'FFE6 0019
H'1FE6 0019
8
Transfer block number counter
TBNCR
R/W
H'FFE6 001A
H'1FE6 001A
16
Response register 0
RSPR0
R/W
H'FFE6 0020
H'1FE6 0020
8
Response register 1
RSPR1
R/W
H'FFE6 0021
H'1FE6 0021
8
Response register 2
RSPR2
R/W
H'FFE6 0022
H'1FE6 0022
8
Response register 3
RSPR3
R/W
H'FFE6 0023
H'1FE6 0023
8
Response register 4
RSPR4
R/W
H'FFE6 0024
H'1FE6 0024
8
Response register 5
RSPR5
R/W
H'FFE6 0025
H'1FE6 0025
8
Response register 6
RSPR6
R/W
H'FFE6 0026
H'1FE6 0026
8
Response register 7
RSPR7
R/W
H'FFE6 0027
H'1FE6 0027
8
Response register 8
RSPR8
R/W
H'FFE6 0028
H'1FE6 0028
8
Response register 9
RSPR9
R/W
H'FFE6 0029
H'1FE6 0029
8
Response register 10
RSPR10
R/W
H'FFE6 002A
H'1FE6 002A
8
Rev.1.00 Jan. 10, 2008 Page 1528 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
MMCIF
Response register 11
RSPR11
R/W
H'FFE6 002B
H'1FE6 002B
8
Response register 12
RSPR12
R/W
H'FFE6 002C
H'1FE6 002C
8
Response register 13
RSPR13
R/W
H'FFE6 002D
H'1FE6 002D
8
Response register 14
RSPR14
R/W
H'FFE6 002E
H'1FE6 002E
8
HAC
Response register 15
RSPR15
R/W
H'FFE6 002F
H'1FE6 002F
8
Response register 16
RSPR16
R/W
H'FFE6 0030
H'1FE6 0030
8
CRC status register
RSPRD
R/W
H'FFE6 0031
H'1FE6 0031
8
Data timeout register
DTOUTR
R/W
H'FFE6 0032
H'1FE6 0032
16
Data register
DR
R/W
H'FFE6 0040
H'1FE6 0040
16
FIFO pointer clear register
FIFOCLR
W
H'FFE6 0042
H'1FE6 0042
8
DMA control register
DMACR
R/W
H'FFE6 0044
H'1FE6 0044
8
Interrupt control register 2
INTCR2
R/W
H'FFE6 0046
H'1FE6 0046
8
Interrupt status register 2
INTSTR2
R/W
H'FFE6 0048
H'1FE6 0048
8
Control and status register 0
HACCR0
R/W
H'FFE3 0008
H'1FE3 0008
32
Command/status address register 0
HACCSAR0
R/W
H'FFE3 0020
H'1FE3 0020
32
Command/status data register 0
HACCSDR0
R/W
H'FFE3 0024
H'1FE3 0024
32
PCM left channel register 0
HACPCML0
R/W
H'FFE3 0028
H'1FE3 0028
32
PCM right channel register 0
HACPCMR0
R/W
H'FFE3 002C
H'1FE3 002C
32
TX interrupt enable register 0
HACTIER0
R/W
H'FFE3 0050
H'1FE3 0050
32
TX status register 0
HACTSR0
R/W
H'FFE3 0054
H'1FE3 0054
32
RX interrupt enable register 0
HACRIER0
R/W
H'FFE3 0058
H'1FE3 0058
32
RX status register 0
HACRSR0
R/W
H'FFE3 005C
H'1FE3 005C
32
HAC control register 0
HACACR0
R/W
H'FFE3 0060
H'1FE3 0060
32
Control and status register 1
HACCR1
R/W
H'FFE4 0008
H'1FE4 0008
32
Command/status address register 1
HACCSAR1
R/W
H'FFE4 0020
H'1FE4 0020
32
Command/status data register 1
HACCSDR1
R/W
H'FFE4 0024
H'1FE4 0024
32
PCM left channel register 1
HACPCML1
R/W
H'FFE4 0028
H'1FE4 0028
32
PCM right channel register 1
HACPCMR1
R/W
H'FFE4 002C
H'1FE4 002C
32
TX interrupt enable register 1
HACTIER1
R/W
H'FFE4 0050
H'1FE4 0050
32
TX status register 1
HACTSR1
R/W
H'FFE4 0054
H'1FE4 0054
32
Rev.1.00 Jan. 10, 2008 Page 1529 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
HAC
RX interrupt enable register 1
HACRIER1
R/W
H'FFE4 0058
H'1FE4 0058
32
RX status register 1
HACRSR1
R/W
H'FFE4 005C
H'1FE4 005C
32
HAC control register 1
HACACR1
R/W
H'FFE4 0060
H'1FE4 0060
32
Control register 0
SSICR0
R/W
H'FFE0 0000
H'1FE0 0000
32
SSI
FLCTL
GPIO
1
Status register 0
SSISR0
R/W*
H'FFE0 0004
H'1FE0 0004
32
Transmit data register 0
SSITDR0
R/W
H'FFE0 0008
H'1FE0 0008
32
Receive data register 0
SSIRDR0
R
H'FFE0 000C
H'1FE0 000C
32
Control register 1
SSICR1
R/W
H'FFE1 0000
H'1FE1 0000
32
1
Status register 1
SSISR1
R/W*
H'FFE1 0004
H'1FE1 0004
32
Transmit data register 1
SSITDR1
R/W
H'FFE1 0008
H'1FE1 0008
32
Receive data register 1
SSIRDR1
R
H'FFE1 000C
H'1FE1 000C
32
Common control register
FLCMNCR
R/W
H'FFE9 0000
H'1FE9 0000
32
Command control register
FLCMDCR
R/W
H'FFE9 0004
H'1FE9 0004
32
Command code register
FLCMCDR
R/W
H'FFE9 0008
H'1FE9 0008
32
Address register
FLADR
R/W
H'FFE9 000C
H'1FE9 000C
32
Data register
FLDATAR
R/W
H'FFE9 0010
H'1FE9 0010
32
Data counter register
FLDTCNTR
R/W
H'FFE9 0014
H'1FE9 0014
32
Interrupt DMA control register
FLINTDMACR R/W
H'FFE9 0018
H'1FE9 0018
32
Ready busy timeout setting register
FLBSYTMR
R/W
H'FFE9 001C
H'1FE9 001C
32
Ready busy timeout counter
FLBSYCNT
R
H'FFE9 0020
H'1FE9 0020
32
Data FIFO register
FLDTFIFO
R/W
H'FFE9 0024
H'1FE9 0024
32
Control code FIFO register
FLECFIFO
R/W
H'FFE9 0028
H'1FE9 0028
32
Transfer control register
FLTRCR
R/W
H'FFE9 002C
H'1FE9 002C
8
Address register 2
FLADR2
R/W
H'FFE9 003C
H'1FE9 003C
32
Port A control register
PACR
R/W
H'FFE7 0000
H'1FE7 0000
16
Port B control register
PBCR
R/W
H'FFE7 0002
H'1FE7 0002
16
Port C control register
PCCR
R/W
H'FFE7 0004
H'1FE7 0004
16
Port D control register
PDCR
R/W
H'FFE7 0006
H'1FE7 0006
16
Port E control register
PECR
R/W
H'FFE7 0008
H'1FE7 0008
16
Port F control register
PFCR
R/W
H'FFE7 000A
H'1FE7 000A
16
Port G control register
PGCR
R/W
H'FFE7 000C
H'1FE7 000C
16
Rev.1.00 Jan. 10, 2008 Page 1530 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
GPIO
Port H control register
PHCR
R/W
H'FFE7 000E
H'1FE7 000E
16
Port J control register
PJCR
R/W
H'FFE7 0010
H'1FE7 0010
16
Port K control register
PKCR
R/W
H'FFE7 0012
H'1FE7 0012
16
Port L control register
PLCR
R/W
H'FFE7 0014
H'1FE7 0014
16
Port M control register
PMCR
R/W
H'FFE7 0016
H'1FE7 0016
16
Port N control register
PNCR
R/W
H'FFE7 0018
H'1FE7 0018
16
Port P control register
PPCR
R/W
H'FFE7 001A
H'1FE7 001A
16
Port Q control register
PQCR
R/W
H'FFE7 001C
H'1FE7 001C
16
Port R control register
PRCR
R/W
H'FFE7 001E
H'1FE7 001E
16
Port A data register
PADR
R/W
H'FFE7 0020
H'1FE7 0020
8
Port B data register
PBDR
R/W
H'FFE7 0022
H'1FE7 0022
8
Port C data register
PCDR
R/W
H'FFE7 0024
H'1FE7 0024
8
Port D data register
PDDR
R/W
H'FFE7 0026
H'1FE7 0026
8
Port E data register
PEDR
R/W
H'FFE7 0028
H'1FE7 0028
8
Port F data register
PFDR
R/W
H'FFE7 002A
H'1FE7 002A
8
Port G data register
PGDR
R/W
H'FFE7 002C
H'1FE7 002C
8
Port H data register
PHDR
R/W
H'FFE7 002E
H'1FE7 002E
8
Port J data register
PJDR
R/W
H'FFE7 0030
H'1FE7 0030
8
Port K data register
PKDR
R/W
H'FFE7 0032
H'1FE7 0032
8
Port L data register
PLDR
R/W
H'FFE7 0034
H'1FEA 0034
8
Port M data register
PMDR
R/W
H'FFE7 0036
H'1FEA 0036
8
Port N data register
PNDR
R/W
H'FFE7 0038
H'1FEA 0038
8
Port P data register
PPDR
R/W
H'FFE7 003A
H'1FEA 003A
8
Port Q data register
PQDR
R/W
H'FFE7 003C
H'1FEA 003C
8
Port R data register
PRDR
R/W
H'FFE7 003E
H'1FEA 003E
8
Port E pull-up control register
PEPUPR
R/W
H'FFE7 0048
H'1FEA 0048
8
Port H pull-up control register
PHPUPR
R/W
H'FFE7 004E
H'1FEA 004E
8
Port J pull-up control register
PJPUPR
R/W
H'FFE7 0050
H'1FE7 0050
8
Port K pull-up control register
PKPUPR
R/W
H'FFE7 0052
H'1FE7 0052
8
Port L pull-up control register
PLPUPR
R/W
H'FFE7 0054
H'1FE7 0054
8
Port M pull-up control register
PMPUPR
R/W
H'FFE7 0056
H'1FE7 0056
8
Rev.1.00 Jan. 10, 2008 Page 1531 of 1658
REJ09B0261-0100
31. Register List
Module
P4 Area
Area 7
Access
Name
Name
Abbreviation
R/W
Address
Address
Size
GPIO
Port N pull-up control register
PNPUPR
R/W
H'FFE7 0058
H'1FE7 0058
8
Input pin pull-up control register 1
PPUPR1
R/W
H'FFE7 0060
H'1FE7 0060
16
Input pin pull-up control register 2
PPUPR2
R/W
H'FFE7 0062
H'1FE7 0062
16
Peripheral module select register 1
P1MSELR
R/W
H'FFE7 0080
H'1FE7 0080
16
Peripheral module select register 2
P2MSELR
R/W
H'FFE7 0082
H'1FE7 0082
16
Match condition setting register 0
CBR0
R/W
H'FF200000
H'1F200000
32
Match operation setting register 0
CRR0
R/W
H'FF200004
H'1F200004
32
Match address setting register 0
CAR0
R/W
H'FF200008
H'1F200008
32
Match address mask setting register 0
CAMR0
R/W
H'FF20000C
H'1F20000C
32
Match condition setting register 1
CBR1
R/W
H'FF200020
H'1F200020
32
Match operation setting register 1
CRR1
R/W
H'FF200024
H'1F200024
32
Match address setting register 1
CAR1
R/W
H'FF200028
H'1F200028
32
Match address mask setting register 1
CAMR1
R/W
H'FF20002C
H'1F20002C
32
Match data setting register 1
CDR1
R/W
H'FF200030
H'1F200030
32
Match data mask setting register 1
CDMR1
R/W
H'FF200034
H'1F200034
32
Execution count break register 1
CETR1
R/W
H'FF200038
H'1F200038
32
Channel match flag register
CCMFR
R/W
H'FF200600
H'1F200600
32
Break control register
CBCR
R/W
H'FF200620
H'1F200620
32
Instruction register
SDIR
R
H'FC11 0000
H'1C11 0000
16
Interrupt source register
SDINT
R/W
H'FC11 0018
H'1C11 0018
16
Boundary scan register
SDBSR
⎯
⎯
⎯
⎯
Bypass register
SDBPR
⎯
⎯
⎯
⎯
UBC
H-UDI
Notes: 1. The interrupt source registers (INTREQ) are readable and conditionally writable
registers. For details, refer to section 10.3.1 (4), Interrupt Source Register (INTREQ).
2. The NMI flag control register (NMIFCR) is readable and conditionally writable register.
For details, refer to section 10.3.1 (11), NMI Flag Control Register (NMIFCR).
3. To clear the flag, the HE and TE bits in CHCR can be read as 1, and then, 0 can be
written to.
4. To clear the flag, the AE and NMIF bits in DMAOR can be read as 1, and then, 0 can be
written to.
5. To clear a flag, only writing 0 to bits 7 to 4, 1, and 0 is valid.
6. To clear a flag, only writing 0 to bit 0 is valid.
Rev.1.00 Jan. 10, 2008 Page 1532 of 1658
REJ09B0261-0100
31. Register List
31.2
States of the Registers in the Individual Operating Modes
The states of the I/O registers incorporated in the SH7785 in the individual operating modes are
listed in tables 31.2 to table 31.9. The registers are described in order of section number in this
manual, and are grouped by functional module. Since this is a summary, parts of the descriptions,
along with the notes, have been omitted. For details on the registers, refer to the descriptions in the
corresponding sections.
Table 31.2 States of the Registers in the Individual Operating Modes (1)
Module
Name
Exception
processing
MMU
Cache
L memory
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
TRAPA exception register
TRA
Undefined
Undefined
Retained
Exception event register
EXPEVT
H'0000 0000
H'0000 0020
Retained
Interrupt event register
INTEVT
Undefined
Undefined
Retained
Non-support detection exception register
EXPMASK
H'0000 0013
H'0000 0013
Retained
Page table entry high register
PTEH
Undefined
Undefined
Retained
Page table entry low register
PTEL
Undefined
Undefined
Retained
Translation table base register
TTB
Undefined
Undefined
Retained
TLB exception address register
TEA
Undefined
Retained
Retained
MMU control register
MMUCR
H'0000 0000
H'0000 0000
Retained
Physical address space control register
PASCR
H'0000 0000
H'0000 0000
Retained
Instruction re-fetch inhibit control register
IRMCR
H'0000 0000
H'0000 0000
Retained
Page table entry assistance register
PTEA
Undefined
Undefined
Retained
Cache control register
CCR
H'0000 0000
H'0000 0000
Retained
Queue address control register 0
QACR0
Undefined
Undefined
Retained
Queue address control register 1
QACR1
Undefined
Undefined
Retained
On-chip memory control register
RAMCR
H'0000 0000
H'0000 0000
Retained
L memory transfer source address register 0
LSA0
Undefined
Undefined
Retained
L memory transfer source address register 1
LSA1
Undefined
Undefined
Retained
L memory transfer destination address
LDA0
Undefined
Undefined
Retained
LDA1
Undefined
Undefined
Retained
register 0
L memory transfer destination address
register 1
Rev.1.00 Jan. 10, 2008 Page 1533 of 1658
REJ09B0261-0100
31. Register List
Module
Name
INTC
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
WDT/H-UDI
Exception
Instruction
1
1
Interrupt control register 0
ICR0
H'x000 0000*
H'x000 0000*
Retained
Interrupt control register 1
ICR1
H'0000 0000
H'0000 0000
Retained
Interrupt priority register
INTPRI
H'0000 0000
H'0000 0000
Retained
Interrupt source register
INTREQ
H'0000 0000
H'0000 0000
Retained
Interrupt mask register 0
INTMSK0
H'0000 0000
H'0000 0000
Retained
Interrupt mask register 1
INTMSK1
H'FF00 0000
H'FF00 0000
Retained
Interrupt mask register 2
INTMSK2
H'0000 0000
H'0000 0000
Retained
Interrupt mask clear register 0
INTMSKCLR0 H'xx00 0000
H'xx00 0000
Retained
Interrupt mask clear register 1
INTMSKCLR1 H'x000 0000
H'x000 0000
Retained
Interrupt mask clear register 2
INTMSKCLR2 H'xxxx xxxx
H'xxxx xxxx
Retained
NMI flag control register
NMIFCR
H'x000 0000*1
H'x000 0000*1
Retained
User interrupt mask level register
USERIMASK
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 0
INT2PRI0
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 1
INT2PRI1
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 2
INT2PRI2
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 3
INT2PRI3
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 4
INT2PRI4
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 5
INT2PRI5
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 6
INT2PRI6
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 7
INT2PRI7
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 8
INT2PRI8
H'0000 0000
H'0000 0000
Retained
Interrupt priority register 9
INT2PRI9
H'0000 0000
H'0000 0000
Retained
Interrupt source register
INT2A0
H'xxxx xxxx
H'xxxx xxxx
Retained
INT2A1
H'0000 0000
H'0000 0000
Retained
Interrupt mask register
INT2MSKR
H'FFFF FFFF
H'FFFF FFFF
Retained
Interrupt mask clear register
INT2MSKCR
H'0000 0000
H'0000 0000
Retained
Module interrupt source register 0
INT2B0
H'xxxx xxxx
H'xxxx xxxx
Retained
Module interrupt source register 1
INT2B1
H'xxxx xxxx
H'xxxx xxxx
Retained
(not affected by the mask state)
Interrupt source register
(affected by the mask state)
Rev.1.00 Jan. 10, 2008 Page 1534 of 1658
REJ09B0261-0100
31. Register List
Module
Name
INTC
LBSC
DDR2IF
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Exception
Instruction
Name
Abbrev.
WDT/H-UDI
Module interrupt source register 2
INT2B2
H'xxxx xxxx
H'xxxx xxxx
Retained
Module interrupt source register 3
INT2B3
H'xxxx xxxx
H'xxxx xxxx
Retained
Module interrupt source register 4
INT2B4
H'xxxx xxxx
H'xxxx xxxx
Retained
Module interrupt source register 5
INT2B5
H'xxxx xxxx
H'xxxx xxxx
Retained
Module interrupt source register 6
INT2B6
H'xxxx xxxx
H'xxxx xxxx
Retained
Module interrupt source register 7
INT2B7
H'xxxx xxxx
H'xxxx xxxx
Retained
GPIO interrupt set register
INT2GPIC
H'0000 0000
H'0000 0000
Retained
Memory Address Map Select Register
MMSELR
H'0000 0000
H'0000 0000
Retained
Bus Control Register
BCR
H'x000 0000
Retained
Retained
CS0 Bus Control Register
CS0BCR
H'7777 77F0
Retained
Retained
CS1 Bus Control Register
CS1BCR
H'7777 77F0
Retained
Retained
CS2 Bus Control Register
CS2BCR
H'7777 77F0
Retained
Retained
CS3 Bus Control Register
CS3BCR
H'7777 77F0
Retained
Retained
CS4 Bus Control Register
CS4BCR
H'7777 77F0
Retained
Retained
CS5 Bus Control Register
CS5BCR
H'7777 77F0
Retained
Retained
CS6 Bus Control Register
CS6BCR
H'7777 77F0
Retained
Retained
CS0 Wait Control Register
CS0WCR
H'7777 770F
Retained
Retained
CS1 Wait Control Register
CS1WCR
H'7777 770F
Retained
Retained
CS2 Wait Control Register
CS2WCR
H'7777 770F
Retained
Retained
CS3 Wait Control Register
CS3WCR
H'7777 770F
Retained
Retained
CS4 Wait Control Register
CS4WCR
H'7777 770F
Retained
Retained
CS5 Wait Control Register
CS5WCR
H'7777 770F
Retained
Retained
CS6 Wait Control Register
CS6WCR
H'7777 770F
Retained
Retained
CS5 PCMCIA Control Register
CS5PCR
H'7700 0000
Retained
Retained
CS6 PCMCIA Control Register
CS6PCR
H'7700 0000
Retained
Retained
DBSC2 status register
DBSTATE
H'0000 0x00*1
Retained
Retained
SDRAM operation enable register
DBEN
H'0000 0000
Retained
Retained
SDRAM command control register
DBCMDCNT
H'0000 0000
Retained
Retained
SDRAM configuration setting register
DBCONF
H'009A 0001
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1535 of 1658
REJ09B0261-0100
31. Register List
Module
Name
DDR2IF
PCIC
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
WDT/H-UDI
Exception
Instruction
SDRAM timing register 0
DBTR0
H'0203 0501
Retained
Retained
SDRAM timing register 1
DBTR1
H'0001 0001
Retained
Retained
SDRAM timing register 2
DBTR2
H'0104 0303
Retained
Retained
SDRAM refresh control register 0
DBRFCNT0
H'0000 0000
Retained
Retained
SDRAM refresh control register 1
DBRFCNT1
H'0000 0200
Retained
Retained
SDRAM refresh control register 2
DBRFCNT2
H'1000 0080
Retained
Retained
SDRAM refresh status register
DBRFSTS
H'0000 0000
Retained
Retained
DDRPAD frequency setting register
DBFREQ
H'0000 0000
Retained
Retained
DDRPAD DIC, ODT, OCD setting register
DBDICODTOCD H'0000 0007
Retained
Retained
SDRAM mode setting register
DBMRCNT
Retained
Retained
Retained
Retained
Undefined
Control register space (physical address: H'FE00 0000 to H'FE03 FFFF)
PCIC enable control register
PCIECR
H'0000 0000
PCI configuration register space (physical address: H'FE04 0000 to H'FE04 00FF)
PCI vendor ID register
PCIVID
H'1912
Retained
Retained
PCI device ID register
PCIDID
H'0007
Retained
Retained
PCI command register
PCICMD
H'0080
Retained
Retained
PCI status register
PCISTATUS
H'0290
Retained
Retained
PCI revision ID register
PCIRID
H'xx
Retained
Retained
PCI program interface register
PCIPIF
H'00
Retained
Retained
PCI sub class code register
PCISUB
H'00
Retained
Retained
PCI base class code register
PCIBCC
H'xx
Retained
Retained
PCI cache line size register
PCICLS
H'20
Retained
Retained
PCI latency timer register
PCILTM
H'00
Retained
Retained
PCI header type register
PCIHDR
H'00
Retained
Retained
PCI BIST register
PCIBIST
H'00
Retained
Retained
PCI I/O base address register
PCIIBAR
H'0000 0001
Retained
Retained
PCI Memory base address register 0
PCIMBAR0
H'0000 0000
Retained
Retained
PCI Memory base address register 1
PCIMBAR1
H'0000 0000
Retained
Retained
PCI subsystem vendor ID register
PCISVID
H'0000
Retained
Retained
PCI subsystem ID register
PCISID
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1536 of 1658
REJ09B0261-0100
31. Register List
Module
Name
PCIC
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
WDT/H-UDI
Exception
Instruction
PCI capabilities pointer register
PCICP
H'40
Retained
Retained
PCI interrupt line register
PCIINTLINE
H'00
Retained
Retained
PCI interrupt pin register
PCIINTPIN
H'01
Retained
Retained
PCI minimum grant register
PCIMINGNT
H'00
Retained
Retained
PCI maximum latency register
PCIMAXLAT
H'00
Retained
Retained
PCI capability ID register
PCICID
H'01
Retained
Retained
PCI next item pointer register
PCINIP
H'00
Retained
Retained
PCI power management capability register
PCIPMC
H'000A
Retained
Retained
PCI power management control/status
PCIPMCSR
H'0000
Retained
Retained
PCIPMCSR_BSE
H'00
Retained
Retained
PCIPCDD
H'00
Retained
Retained
register
PCI PMCSR bridge support extension
register
PCI power consumption/dissipation data
register
PCI local register space (physical address: H'FE04 0100 to H'FE04 03FF)
PCI control register
PCICR
H'0000 00xx
Retained
Retained
PCI local space register 0
PCILSR0
H'0000 0000
Retained
Retained
PCI local space register 1
PCILSR1
H'0000 0000
Retained
Retained
PCI local address register 0
PCILAR0
H'0000 0000
Retained
Retained
PCI local address register 1
PCILAR1
H'0000 0000
Retained
Retained
PCI interrupt register
PCIIR
H'0000 0000
Retained
Retained
PCI interrupt mask register
PCIIMR
H'0000 0000
Retained
Retained
PCI error address information register
PCIAIR
H'xxxx xxxx
Retained
Retained
PCI error command information register
PCICIR
H'xx00 000x
Retained
Retained
PCI arbiter interrupt register
PCIAINT
H'0000 0000
Retained
Retained
PCI arbiter interrupt mask register
PCIAINTM
H'0000 0000
Retained
Retained
PCI arbiter bus master error information
PCIBMIR
H'0000 00xx
Retained
Retained
register
PCI PIO address register
PCIPAR
H'80xx xxxx
Retained
Retained
PCI power management interrupt register
PCIPINT
H'0000 0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1537 of 1658
REJ09B0261-0100
31. Register List
Module
Name
PCIC
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
PCI power management interrupt mask
PCIPINTM
H'0000 0000
Retained
Retained
PCI memory bank register 0
PCIMBR0
H'0000 0000
Retained
Retained
PCI memory bank mask register 0
PCIMBMR0
H'0000 0000
Retained
Retained
PCI memory bank register 1
PCIMBR1
H'0000 0000
Retained
Retained
PCI memory bank mask register 1
PCIMBMR1
H'0000 0000
Retained
Retained
PCI memory bank register 2
PCIMBR2
H'0000 0000
Retained
Retained
PCI memory bank mask register 2
PCIMBMR2
H'0000 0000
Retained
Retained
PCI I/O bank register
PCIIOBR
H'0000 0000
Retained
Retained
PCI I/O bank master register
PCIIOBMR
H'0000 0000
Retained
Retained
PCI cache snoop control register 0
PCICSCR0
H'0000 0000
Retained
Retained
PCI cache snoop control register 1
PCICSCR1
H'0000 0000
Retained
Retained
PCI cache snoop address register 0
PCICSAR0
H'0000 0000
Retained
Retained
PCI cache snoop address register 1
PCICSAR1
H'0000 0000
Retained
Retained
PCI PIO data register
PCIPDR
H'xxxx xxxx
Retained
Retained
register
Notes: 1. Initial values of ICR0.NMIL and NMIFCR.NMIL depend on the level input to the NMI pin.
2. Initial values depend on the settings of external pin MODE8.
Rev.1.00 Jan. 10, 2008 Page 1538 of 1658
REJ09B0261-0100
31. Register List
Table 31.3 States of the Registers in the Individual Operating Modes (2)
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
DMAC
DMA source address register 0
SAR0
Undefined
Undefined
Retained
Retained
DMA destination address register 0
DAR0
Undefined
Undefined
Retained
Retained
Module
DMA transfer count register 0
TCR0
Undefined
Undefined
Retained
Retained
DMA channel control register 0
CHCR0
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 1
SAR1
Undefined
Undefined
Retained
Retained
DMA destination address register 1
DAR1
Undefined
Undefined
Retained
Retained
DMA transfer count register 1
TCR1
Undefined
Undefined
Retained
Retained
DMA channel control register 1
CHCR1
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 2
SAR2
Undefined
Undefined
Retained
Retained
DMA destination address register 2
DAR2
Undefined
Undefined
Retained
Retained
DMA transfer count register 2
TCR2
Undefined
Undefined
Retained
Retained
DMA channel control register 2
CHCR2
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 3
SAR3
Undefined
Undefined
Retained
Retained
DMA destination address register 3
DAR3
Undefined
Undefined
Retained
Retained
DMA transfer count register 3
TCR3
Undefined
Undefined
Retained
Retained
DMA channel control register 3
CHCR3
H'4000 0000
H'4000 0000
Retained
Retained
DMA operation register 0
DMAOR0
H'0000
H'0000
Retained
Retained
DMA source address register 4
SAR4
Undefined
Undefined
Retained
Retained
DMA destination address register 4
DAR4
Undefined
Undefined
Retained
Retained
DMA transfer count register 4
TCR4
Undefined
Undefined
Retained
Retained
DMA channel control register 4
CHCR4
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 5
SAR5
Undefined
Undefined
Retained
Retained
DMA destination address register 5
DAR5
Undefined
Undefined
Retained
Retained
DMA transfer count register 5
TCR5
Undefined
Undefined
Retained
Retained
DMA channel control register 5
CHCR5
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register B0
SARB0
Undefined
Undefined
Retained
Retained
DMA destination address register B0 DARB0
Undefined
Undefined
Retained
Retained
DMA transfer count register B0
Undefined
Undefined
Retained
Retained
TCRB0
Rev.1.00 Jan. 10, 2008 Page 1539 of 1658
REJ09B0261-0100
31. Register List
DMAC
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
DMA source address register B1
Module
Name
Power-on
SARB1
Undefined
Undefined
Retained
Retained
DMA destination address register B1 DARB1
Undefined
Undefined
Retained
Retained
DMA transfer count register B1
TCRB1
Undefined
Undefined
Retained
Retained
DMA source address register B2
SARB2
Undefined
Undefined
Retained
Retained
DMA destination address register B2 DARB2
Undefined
Undefined
Retained
Retained
DMA transfer count register B2
TCRB2
Undefined
Undefined
Retained
Retained
DMA source address register B3
SARB3
Undefined
Undefined
Retained
Retained
DMA destination address register B3 DARB3
Undefined
Undefined
Retained
Retained
DMA transfer count register B3
TCRB3
Undefined
Undefined
Retained
Retained
DMA extended resource selector 0
DMARS0
H'0000
H'0000
Retained
Retained
DMA extended resource selector 1
DMARS1
H'0000
H'0000
Retained
Retained
DMA extended resource selector 2
DMARS2
H'0000
H'0000
Retained
Retained
DMA source address register 6
SAR6
Undefined
Undefined
Retained
Retained
DMA destination address register 6
DAR6
Undefined
Undefined
Retained
Retained
DMA transfer count register 6
TCR6
Undefined
Undefined
Retained
Retained
DMA channel control register 6
CHCR6
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 7
SAR7
Undefined
Undefined
Retained
Retained
DMA destination address register 7
DAR7
Undefined
Undefined
Retained
Retained
DMA transfer count register 7
TCR7
Undefined
Undefined
Retained
Retained
DMA channel control register 7
CHCR7
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 8
SAR8
Undefined
Undefined
Retained
Retained
DMA destination address register 8
DAR8
Undefined
Undefined
Retained
Retained
DMA transfer count register 8
TCR8
Undefined
Undefined
Retained
Retained
DMA channel control register 8
CHCR8
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 9
SAR9
Undefined
Undefined
Retained
Retained
DMA destination address register 9
DAR9
Undefined
Undefined
Retained
Retained
DMA transfer count register 9
TCR9
Undefined
Undefined
Retained
Retained
DMA channel control register 9
CHCR9
H'4000 0000
H'4000 0000
Retained
Retained
DMA operation register 1
DMAOR1
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1540 of 1658
REJ09B0261-0100
31. Register List
DMAC
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
DMA source address register 10
Module
Name
Power-on
SAR10
Undefined
Undefined
Retained
Retained
DMA destination address register 10 DAR10
Undefined
Undefined
Retained
Retained
DMA transfer count register 10
TCR10
Undefined
Undefined
Retained
Retained
DMA channel control register 10
CHCR10
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register 11
SAR11
Undefined
Undefined
Retained
Retained
DMA destination address register 11 DAR11
Undefined
Undefined
Retained
Retained
DMA transfer count register 11
TCR11
Undefined
Undefined
Retained
Retained
DMA channel control register 11
CHCR11
H'4000 0000
H'4000 0000
Retained
Retained
DMA source address register B6
SARB6
Undefined
Undefined
Retained
Retained
DMA destination address register B6 DARB6
Undefined
Undefined
Retained
Retained
DMA transfer count register B6
TCRB6
Undefined
Undefined
Retained
Retained
DMA source address register B7
SARB7
Undefined
Undefined
Retained
Retained
DMA destination address register B7 DARB7
Undefined
Undefined
Retained
Retained
DMA transfer count register B7
TCRB7
Undefined
Undefined
Retained
Retained
DMA source address register B8
SARB8
Undefined
Undefined
Retained
Retained
DMA destination address register B8 DARB8
Undefined
Undefined
Retained
Retained
DMA transfer count register B8
TCRB8
Undefined
Undefined
Retained
Retained
DMA source address register B9
SARB9
Undefined
Undefined
Retained
Retained
DMA destination address register B9 DARB9
Undefined
Undefined
Retained
Retained
DMA transfer count register B9
TCRB9
Undefined
Undefined
Retained
Retained
DMA extended resource selector 3
DMARS3
H'0000
H'0000
Retained
Retained
DMA extended resource selector 4
DMARS4
H'0000
H'0000
Retained
Retained
DMA extended resource selector 5
DMARS5
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1541 of 1658
REJ09B0261-0100
31. Register List
Table 31.4 States of the Registers in the Individual Operating Modes (3)
Power-on
Module
Manual Reset Sleep/
Reset by
Power-on
by
PRESET Pin/
Reset by
WDT/Multiple by SLEEP
Deep Sleep
Name
Name
Abbrev.
WDT
H-UDI
Exception
Instruction
CPG/
Frequency control register 0
FRQCR0
H'0000 0000
Retained
Retained
Retained
Frequency control register 1
FRQCR1
H'0000 0000
Retained
Retained
Retained
Powerdown
WDT
1
Frequency display register 1
FRQMR1
H'1xxx xxxx*
Retained
Retained
Retained
Sleep control register
SLPCR
H'0000 0000
Retained
Retained
Retained
PLL control register
PLLCR
H'0000 0000
Retained
Retained
Retained
Standby control register 0
MSTPCR0
H'0000 0000
Retained
Retained
Retained
Standby control register 1
MSTPCR1
H'0000 0000
Retained
Retained
Retained
1
Standby display register
MSTPMR
H'00x0 0000*
Retained
Retained
Retained
Watchdog timer stop time register
WDTST
H'0000 0000
Retained
Retained
Retained
Watchdog timer control/status
WDTCSR
H'0000 0000
Retained
Retained
Retained
WDTBST
H'0000 0000
Retained
Retained
Retained
Watchdog timer counter
WDTCNT
H'0000 0000
H'0000 0000
Retained
Retained
Watchdog timer base counter
WDTBCNT
H'0000 0000
H'0000 0000
Retained
Retained
register
Watchdog timer base stop time
register
Notes: 1. The state of this register depends on the settings of mode pins MODE0 to MODE4,
MODE11, and MODE12 obtained on a power-on reset via the PRESET pin.
2. The state of this register depends on the setting of mode pins MODE11 and MODE12
obtained on a power-on reset via the PRESET pin.
Rev.1.00 Jan. 10, 2008 Page 1542 of 1658
REJ09B0261-0100
31. Register List
Table 31.5 States of the Registers in the Individual Operating Modes (4)
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
TMU
Timer start register 0
TSTR0
H'00
H'00
Retained
Retained
Timer constant register 0
TCOR0
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 0
TCNT0
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 0
TCR0
H'0000
H'0000
Retained
Retained
Timer constant register 1
TCOR1
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 1
TCNT1
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 1
TCR1
H'0000
H'0000
Retained
Retained
Timer constant register 2
TCOR2
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 2
TCNT2
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 2
TCR2
H'0000
H'0000
Retained
Retained
Module
DU
Input capture register 2
TCPR2
Retained
Retained
Retained
Retained
Timer start register 1
TSTR1
H'00
H'00
Retained
Retained
Timer constant register 3
TCOR3
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 3
TCNT3
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 3
TCR3
H'0000
H'0000
Retained
Retained
Timer constant register 4
TCOR4
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 4
TCNT4
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 4
TCR4
H'0000
H'0000
Retained
Retained
Timer constant register 5
TCOR5
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer counter 5
TCNT5
H'FFFF FFFF
H'FFFF FFFF
Retained
Retained
Timer control register 5
TCR5
H'0000
H'0000
Retained
Retained
Display system control register
DSYSR
H'00000280
Retained
Retained
Retained
Display mode register
DSMR
H'00000000
Retained
Retained
Retained
Display status register
DSSR
H'30000000
Retained
Retained
Retained
Display status register clear
DSRCR
Undefined
Retained
Retained
Retained
Display interrupt enable register
DIER
H'00000000
Retained
Retained
Retained
Color palette control register
CPCR
H'00000000
Retained
Retained
Retained
register
Rev.1.00 Jan. 10, 2008 Page 1543 of 1658
REJ09B0261-0100
31. Register List
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Display plane priority order register DPPR
H'00543210
Retained
Retained
Retained
Display extension function enable
DEFR
H'00000000
Retained
Retained
Retained
HDSR
Undefined
Retained
Retained
Retained
HDER
Undefined
Retained
Retained
Retained
VDSR
Undefined
Retained
Retained
Retained
VDER
Undefined
Retained
Retained
Retained
HCR
Undefined
Retained
Retained
Retained
Undefined
Retained
Retained
Retained
Module
Name
DU
Name
Abbrev.
register
Horizontal display start position
register
Horizontal display end position
register
Vertical display start position
register
Vertical display end position
register
Horizontal scan period register
Horizontal synchronous pulse width HSWR
register
Vertical scan period register
VCR
Undefined
Retained
Retained
Retained
Vertical synchronous position
VSPR
Undefined
Retained
Retained
Retained
register
Equivalent pulse width register
EQWR
Undefined
Retained
Retained
Retained
Separation width register
SPWR
Undefined
Retained
Retained
Retained
CLAMP signal start position
CLAMPSR
Undefined
Retained
Retained
Retained
CLAMP signal width register
CLAMPWR Undefined
Retained
Retained
Retained
DE signal start position register
DESR
Undefined
Retained
Retained
Retained
DE signal width register
DEWR
Undefined
Retained
Retained
Retained
Color palette 1 transparent color
CP1TR
H'00000000
Retained
Retained
Retained
CP2TR
H'00000000
Retained
Retained
Retained
CP3TR
H'00000000
Retained
Retained
Retained
CP4TR
H'00000000
Retained
Retained
Retained
DOOR
Undefined
Retained
Retained
Retained
register
register
Color palette 2 transparent color
register
Color palette 3 transparent color
register
Color palette 4 transparent color
register
Display-off output register
Rev.1.00 Jan. 10, 2008 Page 1544 of 1658
REJ09B0261-0100
31. Register List
Module
Name
DU
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Color detection register
CDER
Undefined
Retained
Retained
Retained
Base color register
BPOR
Undefined
Retained
Retained
Retained
Raster interrupt offset register
RINTOFSR Undefined
Retained
Retained
Retained
Plane 1 mode register
P1MR
H'00000000
Retained
Retained
Retained
Plane 1 memory width register
P1MWR
Undefined
Retained
Retained
Retained
Plane 1 blend ratio register
P1ALPHAR Undefined
Retained
Retained
Retained
Plane 1 display size X register
P1DSXR
Undefined
Retained
Retained
Retained
Plane 1 display size Y register
P1DSYR
Undefined
Retained
Retained
Retained
Plane 1 display position X register
P1DPXR
Undefined
Retained
Retained
Retained
Plane 1 display position Y register
P1DPYR
Undefined
Retained
Retained
Retained
Plane 1 display area start address
P1DSA0R
Undefined
Retained
Retained
Retained
P1DSA1R
Undefined
Retained
Retained
Retained
Plane 1 start position X register
P1SPXR
Undefined
Retained
Retained
Retained
Plane 1 start position Y register
P1SPYR
Undefined
Retained
Retained
Retained
Plane 1 wrap-around start position
P1WASPR
Undefined
Retained
Retained
Retained
Plane 1 wrap-around memory width P1WAMWR Undefined
Retained
Retained
Retained
0 register
Plane 1 display area start address
1 register
register
register
Plane 1 blinking period register
H'00000101
Retained
Retained
Retained
Plane 1 transparent color 1 register P1TC1R
P1BTR
Undefined
Retained
Retained
Retained
Plane 1 transparent color 2 register P1TC2R
Undefined
Retained
Retained
Retained
Plane 1 memory length register
P1MLR
H'00000000
Retained
Retained
Retained
Plane 2 mode register
P2MR
H'00000000
Retained
Retained
Retained
Plane 2 memory width register
P2MWR
Undefined
Retained
Retained
Retained
Plane 2 blend ratio register
P2ALPHAR Undefined
Retained
Retained
Retained
Plane 2 display size X register
P2DSXR
Retained
Retained
Retained
Undefined
Plane 2 display size Y register
P2DSYR
Undefined
Retained
Retained
Retained
Plane 2 display position X register
P2DPXR
Undefined
Retained
Retained
Retained
Plane 2 display position Y register
P2DPYR
Undefined
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1545 of 1658
REJ09B0261-0100
31. Register List
DU
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
Plane 2 display area start address
P2DSA0R
Undefined
Retained
Retained
Retained
P2DSA1R
Undefined
Retained
Retained
Retained
Plane 2 start position X register
P2SPXR
Undefined
Retained
Retained
Retained
Plane 2 start position Y register
P2SPYR
Undefined
Retained
Retained
Retained
Plane 2 wrap-around start position
P2WASPR
Undefined
Retained
Retained
Retained
Plane 2 wrap-around memory width P2WAMWR Undefined
Retained
Retained
Retained
H'00000101
Retained
Retained
Retained
Undefined
Retained
Retained
Retained
Plane 2 transparent color 2 register P2TC2R
Undefined
Retained
Retained
Retained
Plane 2 memory length register
P2MLR
H'00000000
Retained
Retained
Retained
Plane 3 mode register
P3MR
H'00000000
Retained
Retained
Retained
Plane 3 memory width register
P3MWR
Undefined
Retained
Retained
Retained
Plane 3 blend ratio register
P3ALPHAR Undefined
Retained
Retained
Retained
Plane 3 display size X register
P3DSXR
Undefined
Retained
Retained
Retained
Plane 3 display size Y register
P3DSYR
Undefined
Retained
Retained
Retained
Plane 3 display position X register
P3DPXR
Undefined
Retained
Retained
Retained
Plane 3 display position Y register
P3DPYR
Undefined
Retained
Retained
Retained
Plane 3 display area start address
P3DSA0R
Undefined
Retained
Retained
Retained
P3DSA1R
Undefined
Retained
Retained
Retained
P3SPXR
Undefined
Retained
Retained
Retained
Plane 3 start position Y register
P3SPYR
Undefined
Retained
Retained
Retained
Plane 3 wrap-around start position
P3WASPR
Undefined
Retained
Retained
Retained
Plane 3 wrap-around memory width P3WAMWR Undefined
Retained
Retained
Retained
Retained
Retained
Retained
Module
Name
Power-on
0 register
Plane 2 display area start address
1 register
register
register
Plane 2 blinking period register
P2BTR
Plane 2 transparent color 1 register P2TC1R
0 register
Plane 3 display area start address
1 register
Plane 3 start position X register
register
register
Plane 3 blinking period register
Rev.1.00 Jan. 10, 2008 Page 1546 of 1658
REJ09B0261-0100
P3BTR
H'00000101
31. Register List
Module
Name
DU
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Plane 3 transparent color 1 register P3TC1R
Undefined
Retained
Retained
Retained
Plane 3 transparent color 2 register P3TC2R
Undefined
Retained
Retained
Retained
Plane 3 memory length register
P3MLR
H'00000000
Retained
Retained
Retained
Plane 4 mode register
P4MR
H'00000000
Retained
Retained
Retained
Plane 4 memory width register
P4MWR
Undefined
Retained
Retained
Retained
Plane 4 blend ratio register
P4ALPHAR Undefined
Retained
Retained
Retained
Plane 4 display size X register
P4DSXR
Undefined
Retained
Retained
Retained
Plane 4 display size Y register
P4DSYR
Undefined
Retained
Retained
Retained
Plane 4 display position X register
P4DPXR
Undefined
Retained
Retained
Retained
Plane 4 display position Y register
P4DPYR
Undefined
Retained
Retained
Retained
Plane 4 display area start address
P4DSA0R
Undefined
Retained
Retained
Retained
P4DSA1R
Undefined
Retained
Retained
Retained
Plane 4 start position X register
P4SPXR
Undefined
Retained
Retained
Retained
Plane 4 start position Y register
P4SPYR
Undefined
Retained
Retained
Retained
Plane 4 wrap-around start position
P4WASPR
Undefined
Retained
Retained
Retained
Plane 4 wrap-around memory width P4WAMWR Undefined
Retained
Retained
Retained
0 register
Plane 4 display area start address
1 register
register
register
Plane 4 blinking period register
H'00000101
Retained
Retained
Retained
Plane 4 transparent color 1 register P4TC1R
P4BTR
Undefined
Retained
Retained
Retained
Plane 4 transparent color 2 register P4TC2R
Undefined
Retained
Retained
Retained
Plane 4 memory length register
P4MLR
H'00000000
Retained
Retained
Retained
Plane 5 mode register
P5MR
H'00000000
Retained
Retained
Retained
Plane 5 memory width register
P5MWR
Undefined
Retained
Retained
Retained
Plane 5 blend ratio register
P5ALPHAR Undefined
Retained
Retained
Retained
Plane 5 display size X register
P5DSXR
Retained
Retained
Retained
Undefined
Plane 5 display size Y register
P5DSYR
Undefined
Retained
Retained
Retained
Plane 5 display position X register
P5DPXR
Undefined
Retained
Retained
Retained
Plane 5 display position Y register
P5DPYR
Undefined
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1547 of 1658
REJ09B0261-0100
31. Register List
DU
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
Plane 5 display area start address
P5DSA0R
Undefined
Retained
Retained
Retained
P5DSA1R
Undefined
Retained
Retained
Retained
Plane 5 start position X register
P5SPXR
Undefined
Retained
Retained
Retained
Plane 5 start position Y register
P5SPYR
Undefined
Retained
Retained
Retained
Plane 5 wrap-around start position
P5WASPR
Undefined
Retained
Retained
Retained
Plane 5 wrap-around memory width P5WAMWR Undefined
Retained
Retained
Retained
H'00000101
Retained
Retained
Retained
Undefined
Retained
Retained
Retained
Plane 5 transparent color 2 register P5TC2R
Undefined
Retained
Retained
Retained
Plane 5 memory length register
P5MLR
H'00000000
Retained
Retained
Retained
Plane 6 mode register
P6MR
H'00000000
Retained
Retained
Retained
Plane 6 memory width register
P6MWR
Undefined
Retained
Retained
Retained
Plane 6 blend ratio register
P6ALPHAR Undefined
Retained
Retained
Retained
Plane 6 display size X register
P6DSXR
Undefined
Retained
Retained
Retained
Plane 6 display size Y register
P6DSYR
Undefined
Retained
Retained
Retained
Plane 6 display position X register
P6DPXR
Undefined
Retained
Retained
Retained
Plane 6 display position Y register
P6DPYR
Undefined
Retained
Retained
Retained
Plane 6 display area start address
P6DSA0R
Undefined
Retained
Retained
Retained
P6DSA1R
Undefined
Retained
Retained
Retained
P6SPXR
Undefined
Retained
Retained
Retained
Plane 6 start position Y register
P6SPYR
Undefined
Retained
Retained
Retained
Plane 6 wrap-around start position
P6WASPR
Undefined
Retained
Retained
Retained
Plane 6 wrap-around memory width P6WAMWR Undefined
Retained
Retained
Retained
Retained
Retained
Retained
Module
Name
Power-on
0 register
Plane 5 display area start address
1 register
register
register
Plane 5 blinking period register
P5BTR
Plane 5 transparent color 1 register P5TC1R
0 register
Plane 6 display area start address
1 register
Plane 6 start position X register
register
register
Plane 6 blinking period register
Rev.1.00 Jan. 10, 2008 Page 1548 of 1658
REJ09B0261-0100
P6BTR
H'00000101
31. Register List
Module
Name
DU
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Plane 6 transparent color 1 register P6TC1R
Undefined
Retained
Retained
Retained
Plane 6 transparent color 2 register P6TC2R
Undefined
Retained
Retained
Retained
Plane 6 memory length register
P6MLR
H'00000000
Retained
Retained
Retained
Color palette 1 register 000
CP1_000R
Undefined
Retained
Retained
Retained
:
:
:
:
:
:
Color palette 1 register 255
CP1_255R
Undefined
Retained
Retained
Retained
Color palette 2 register 000
CP2_000R
Undefined
Retained
Retained
Retained
:
:
:
:
:
:
Color palette 2 register 255
CP2_255R
Undefined
Retained
Retained
Retained
Color palette 3 register 000
CP3_000R
Undefined
Retained
Retained
Retained
:
:
:
:
:
:
Color palette 3 register 255
CP3_255R
Undefined
Retained
Retained
Retained
Color palette 4 register 000
CP4_000R
Undefined
Retained
Retained
Retained
:
:
:
:
:
:
Color palette 4 register 255
CP4_255R
Undefined
Retained
Retained
Retained
External synchronization control
ESCR
H'00000000
Retained
Retained
Retained
OTAR
H'00000000
Retained
Retained
Retained
GA mask register
GACMR
H'0000 0000
H'0000 0000
Retained
Retained
GA enable register
GACER
H'0000 0000
H'0000 0000
Retained
Retained
GA processing end interrupt source GACISR
H'0000 0000
H'0000 0000
Retained
Retained
H'0000 0000
H'0000 0000
Retained
Retained
register
Output signal timing adjustment
register
GDTA
indicating register
GA processing end interrupt source GACICR
indication clear register
GA interrupt enable register
GACIER
H'0000 0000
H'0000 0000
Retained
Retained
GA CL input data alignment
DRCL_CTL H'0000 0000
H'0000 0000
Retained
Retained
DWCL_CTL H'0000 0000
H'0000 0000
Retained
Retained
DRMC_CTL H'0000 0000
H'0000 0000
Retained
Retained
register
GA CL output data alignment
register
GA MC input data alignment
register
Rev.1.00 Jan. 10, 2008 Page 1549 of 1658
REJ09B0261-0100
31. Register List
GDTA
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
GA MC output data alignment
DWMC_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DCP_CTL
H'0000 0000
H'0000 0000
Retained
Retained
DID_CTL
H'0000 0000
H'0000 0000
Retained
Retained
CL command FIFO
CLCF
H'0000 0000
H'0000 0000
Retained
Retained
CL control register
CLCR
H'0000 0000
H'0000 0000
Retained
Retained
CL status register
CLSR
H'0000 0000
H'0000 0000
Retained
Retained
CL frame width setting register
CLWR
H'0000 0000
H'0000 0000
Retained
Retained
CL frame height setting register
CLHR
H'0000 0000
H'0000 0000
Retained
Retained
CL input Y padding size setting
CLIYPR
H'0000 0000
H'0000 0000
Retained
Retained
CLIUVPR
H'0000 0000
H'0000 0000
Retained
Retained
CLOPR
H'0000 0000
H'0000 0000
Retained
Retained
CLPLPR
H'0000 0000
H'0000 0000
Retained
Retained
Module
Name
Power-on
register
GA buffer RAM 0 data alignment
register
GA buffer RAM 1 data alignment
register
register
CL input UV padding size setting
register
CL output padding size setting
register
CL palette pointer setting register
MC command FIFO
MCCF
H'0000 0000
H'0000 0000
Retained
Retained
MC status register
MCSR
H'0000 0000
H'0000 0000
Retained
Retained
MC frame width setting register
MCWR
H'0000 0000
H'0000 0000
Retained
Retained
MC frame height setting register
MCHR
H'0000 0000
H'0000 0000
Retained
Retained
MC Y padding size setting register
MCYPR
H'0000 0000
H'0000 0000
Retained
Retained
MC UV padding size setting
MCUVPR
H'0000 0000
H'0000 0000
Retained
Retained
MC output frame Y pointer register
MCOYPR
H'0000 0000
H'0000 0000
Retained
Retained
MC output frame U pointer register
MCOUPR
H'0000 0000
H'0000 0000
Retained
Retained
MC output frame V pointer register
MCOVPR
H'0000 0000
H'0000 0000
Retained
Retained
MC past frame Y pointer register
MCPYPR
H'0000 0000
H'0000 0000
Retained
Retained
MC past frame U pointer register
MCPUPR
H'0000 0000
H'0000 0000
Retained
Retained
MC past frame V pointer register
MCPVPR
H'0000 0000
H'0000 0000
Retained
Retained
MC future frame Y pointer register
MCFYPR
H'0000 0000
H'0000 0000
Retained
Retained
register
Rev.1.00 Jan. 10, 2008 Page 1550 of 1658
REJ09B0261-0100
31. Register List
Module
Name
GDTA
SCIF
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
MC future frame U pointer register
MCFUPR
H'0000 0000
H'0000 0000
Retained
Retained
MC future frame V pointer register
MCFVPR
H'0000 0000
H'0000 0000
Retained
Retained
Serial mode register 0
SCSMR0
H'0000
H'0000
Retained
Retained
Bit rate register 0
SCBRR0
H'FF
H'FF
Retained
Retained
Serial control register 0
SCSCR0
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 0
SCFTDR0
Undefined
Undefined
Retained
Retained
Serial status register 0
SCFSR0
H'0060
H'0060
Retained
Retained
Receive FIFO data register 0
SCFRDR0
Undefined
Undefined
Retained
Retained
FIFO control register 0
SCFCR0
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 0 SCTFDR0
H'0000
H'0000
Retained
Retained
Receive FIFO data count register 0 SCRFDR0
H'0000
Retained
Retained
H'0000
1
1
Serial port register 0
SCSPTR0
H'000x*
H'000x*
Retained
Retained
Line status register 0
SCLSR0
H'0000
H'0000
Retained
Retained
Serial error register 0
SCRER0
H'0000
H'0000
Retained
Retained
Serial mode register 1
SCSMR1
H'0000
H'0000
Retained
Retained
Bit rate register 1
SCBRR1
H'FF
H'FF
Retained
Retained
Serial control register 1
SCSCR1
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 1
SCFTDR1
Undefined
Undefined
Retained
Retained
Serial status register 1
SCFSR1
H'0060
H'0060
Retained
Retained
Receive FIFO data register 1
SCFRDR1
Undefined
Undefined
Retained
Retained
FIFO control register 1
SCFCR1
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 1 SCTFDR1
H'0000
H'0000
Retained
Retained
Receive FIFO data count register 1 SCRFDR1
H'0000
Retained
Retained
H'0000
2
2
Serial port register 1
SCSPTR1
H'000x*
H'000x*
Retained
Retained
Line status register 1
SCLSR1
H'0000
H'0000
Retained
Retained
Serial error register 1
SCRER1
H'0000
H'0000
Retained
Retained
Serial mode register 2
SCSMR2
H'0000
H'0000
Retained
Retained
Bit rate register 2
SCBRR2
H'FF
H'FF
Retained
Retained
Serial control register 2
SCSCR2
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1551 of 1658
REJ09B0261-0100
31. Register List
Module
Name
SCIF
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Transmit FIFO data register 2
SCFTDR2
Undefined
Undefined
Retained
Retained
Serial status register 2
SCFSR2
H'0060
H'0060
Retained
Retained
Receive FIFO data register 2
SCFRDR2
Undefined
Undefined
Retained
Retained
FIFO control register 2
SCFCR2
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 2 SCTFDR2
H'0000
H'0000
Retained
Retained
Receive FIFO data count register 2 SCRFDR2
H'0000
Retained
Retained
H'0000
2
2
Serial port register 2
SCSPTR2
H'000x*
H'000x*
Retained
Retained
Line status register 2
SCLSR2
H'0000
H'0000
Retained
Retained
Serial error register 2
SCRER2
H'0000
H'0000
Retained
Retained
Serial mode register 3
SCSMR3
H'0000
H'0000
Retained
Retained
Bit rate register 3
SCBRR3
H'FF
H'FF
Retained
Retained
Serial control register 3
SCSCR3
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 3
SCFTDR3
Undefined
Undefined
Retained
Retained
Serial status register 3
SCFSR3
H'0060
H'0060
Retained
Retained
Receive FIFO data register 3
SCFRDR3
Undefined
Undefined
Retained
Retained
FIFO control register 3
SCFCR3
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 3 SCTFDR3
H'0000
H'0000
Retained
Retained
Receive FIFO data count register 3 SCRFDR3
H'0000
H'0000
Retained
Retained
2
2
Serial port register 3
SCSPTR3
H'000x*
H'000x*
Retained
Retained
Line status register 3
SCLSR3
H'0000
H'0000
Retained
Retained
Serial error register 3
SCRER3
H'0000
H'0000
Retained
Retained
Serial mode register 4
SCSMR4
H'0000
H'0000
Retained
Retained
Bit rate register 4
SCBRR4
H'FF
H'FF
Retained
Retained
Serial control register 4
SCSCR4
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 4
SCFTDR4
Undefined
Undefined
Retained
Retained
Serial status register 4
SCFSR4
H'0060
H'0060
Retained
Retained
Receive FIFO data register 4
SCFRDR4
Undefined
Undefined
Retained
Retained
FIFO control register 4
SCFCR4
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 4 SCTFDR4
H'0000
H'0000
Retained
Retained
Receive FIFO data count register 4 SCRFDR4
H'0000
H'0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1552 of 1658
REJ09B0261-0100
31. Register List
Module
Name
SCIF
SIOF
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
2
2
Serial port register 4
SCSPTR4
H'000x*
H'000x*
Retained
Retained
Line status register 4
SCLSR4
H'0000
H'0000
Retained
Retained
Serial error register 4
SCRER4
H'0000
H'0000
Retained
Retained
Serial mode register 5
SCSMR5
H'0000
H'0000
Retained
Retained
Bit rate register 5
SCBRR5
H'FF
H'FF
Retained
Retained
Serial control register 5
SCSCR5
H'0000
H'0000
Retained
Retained
Transmit FIFO data register 5
SCFTDR5
Undefined
Undefined
Retained
Retained
Serial status register 5
SCFSR5
H'0060
H'0060
Retained
Retained
Receive FIFO data register 5
SCFRDR5
Undefined
Undefined
Retained
Retained
FIFO control register 5
SCFCR5
H'0000
H'0000
Retained
Retained
Transmit FIFO data count register 5 SCTFDR5
H'0000
H'0000
Retained
Retained
Receive FIFO data count register 5 SCRFDR5
H'0000
Retained
Retained
H'0000
2
2
Serial port register 5
SCSPTR5
H'000x*
H'000x*
Retained
Retained
Line status register 5
SCLSR5
H'0000
H'0000
Retained
Retained
Serial error register 5
SCRER5
H'0000
H'0000
Retained
Retained
Mode register
SIMDR
H'8000
H'8000
Retained
Retained
Clock select register
SISCR
H'C000
H'C000
Retained
Retained
Transmit data assign register
SITDAR
H'0000
H'0000
Retained
Retained
Receive data assign register
SIRDAR
H'0000
H'0000
Retained
Retained
Control data assign register
SICDAR
H'0000
H'0000
Retained
Retained
Control register
SICTR
H'0000
H'0000
Retained
Retained
FIFO control register
SIFCTR
H'1000
H'1000
Retained
Retained
Status register
SISTR
H'0000
H'0000
Retained
Retained
Interrupt enable register
SIIER
H'0000
H'0000
Retained
Retained
Notes: 1. Bits 2 and 0 are undefined.
2. Bits 6, 4, 2 and 0 are undefined.
Rev.1.00 Jan. 10, 2008 Page 1553 of 1658
REJ09B0261-0100
31. Register List
Table 31.6 States of the Registers in the Individual Operating Modes (5)
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Software
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
Reset
HSPI
Control register
SPCR
H'0000 0000
H'0000 0000
Retained
Retained Retained
Status register
SPSR
H'xxxx x120
H'xxxx x120
Retained
Retained H'xxxx x1xx*
Module
System control register
SPSCR
H'0000 0040
H'0000 0040
Retained
Retained Retained
Transmit buffer register
SPTBR
H'0000 0000
H'0000 0000
Retained
Retained Retained
Receive buffer register
SPRBR
H'0000 0000
H'0000 0000
Retained
Retained Retained
Note: "x" represents an undefined value. The values of bits 9, 6, 4, and 3 are retained from the
prior state. The other bits, except those that have undefined initial values, are initialized.
Rev.1.00 Jan. 10, 2008 Page 1554 of 1658
REJ09B0261-0100
31. Register List
Table 31.7 States of the Registers in the Individual Operating Modes (6)
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
MMCIF
Command register 0
CMDR0
H'00
H'00
Retained
Retained
Command register 1
CMDR1
H'00
H'00
Retained
Retained
Command register 2
CMDR2
H'00
H'00
Retained
Retained
Command register 3
CMDR3
H'00
H'00
Retained
Retained
Command register 4
CMDR4
H'00
H'00
Retained
Retained
Command register 5
CMDR5
H'00
H'00
Retained
Retained
Command start register
CMDSTRT
H'00
H'00
Retained
Retained
Operation control register
OPCR
H'00
H'00
Retained
Retained
Card status register
CSTR
H'0x
H'0x
Retained
Retained
Interrupt control register 0
INTCR0
H'00
H'00
Retained
Retained
Module
Interrupt control register 1
INTCR1
H'00
H'00
Retained
Retained
Interrupt status register 0
INTSTR0
H'00
H'00
Retained
Retained
Interrupt status register 1
INTSTR1
H'00
H'00
Retained
Retained
Transfer clock control register
CLKON
H'00
H'00
Retained
Retained
Command timeout control register
CTOCR
H'01
H'01
Retained
Retained
Transfer byte number count
TBCR
H'00
H'00
Retained
Retained
Mode register
MODER
H'00
H'00
Retained
Retained
Command type register
CMDTYR
H'00
H'00
Retained
Retained
Response type register
RSPTYR
H'00
H'00
Retained
Retained
Transfer block number counter
TBNCR
H'0000
H'0000
Retained
Retained
Response register 0
RSPR0
H'00
H'00
Retained
Retained
Response register 1
RSPR1
H'00
H'00
Retained
Retained
Response register 2
RSPR2
H'00
H'00
Retained
Retained
Response register 3
RSPR3
H'00
H'00
Retained
Retained
Response register 4
RSPR4
H'00
H'00
Retained
Retained
Response register 5
RSPR5
H'00
H'00
Retained
Retained
Response register 6
RSPR6
H'00
H'00
Retained
Retained
register
Rev.1.00 Jan. 10, 2008 Page 1555 of 1658
REJ09B0261-0100
31. Register List
MMCIF
HAC
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
Module
Name
Power-on
Response register 7
RSPR7
H'00
H'00
Retained
Retained
Response register 8
RSPR8
H'00
H'00
Retained
Retained
Response register 9
RSPR9
H'00
H'00
Retained
Retained
Response register 10
RSPR10
H'00
H'00
Retained
Retained
Response register 11
RSPR11
H'00
H'00
Retained
Retained
Response register 12
RSPR12
H'00
H'00
Retained
Retained
Response register 13
RSPR13
H'00
H'00
Retained
Retained
Response register 14
RSPR14
H'00
H'00
Retained
Retained
Response register 15
RSPR15
H'00
H'00
Retained
Retained
Response register 16
RSPR16
H'00
H'00
Retained
Retained
CRC status register
RSPRD
H'00
H'00
Retained
Retained
Data timeout register
DTOUTR
H'FFFF
H'FFFF
Retained
Retained
Data register
DR
H'xxxx
H'xxxx
Retained
Retained
FIFO pointer clear register
FIFOCLR
H'00
H'00
Retained
Retained
DMA control register
DMACR
H'00
H'00
Retained
Retained
Interrupt control register 2
INTCR2
H'00
H'00
Retained
Retained
Interrupt status register 2
INTSTR2
H'0x
H'0x
Retained
Retained
Control and status register 0
HACCR0
H'0000 0200
H'0000 0200
Retained
Retained
Command/status address register 0 HACCSAR0 H'0000 0000
H'0000 0000
Retained
Retained
Command/status data register 0
HACCSDR0
H'0000 0000
H'0000 0000
Retained
Retained
PCM left channel register 0
HACPCML0 H'0000 0000
H'0000 0000
Retained
Retained
PCM right channel register 0
HACPCMR0
H'0000 0000
H'0000 0000
Retained
Retained
TX interrupt enable register 0
HACTIER0
H'0000 0000
H'0000 0000
Retained
Retained
TX status register 0
HACTSR0
H'F000 0000
H'F000 0000
Retained
Retained
RX interrupt enable register 0
HACRIER0 H'0000 0000
H'0000 0000
Retained
Retained
RX status register 0
HACRSR0
H'0000 0000
H'0000 0000
Retained
Retained
HAC control register 0
HACACR0
H'8400 0000
H'8400 0000
Retained
Retained
Control and status register 1
HACCR1
H'0000 0200
H'0000 0200
Retained
Retained
Command/status address register 1 HACCSAR1 H'0000 0000
H'0000 0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1556 of 1658
REJ09B0261-0100
31. Register List
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
Module
Name
HAC
SSI
FLCTL
Name
Command/status data register 1
HACCSDR1
H'0000 0000
H'0000 0000
Retained
Retained
PCM left channel register 1
HACPCML1 H'0000 0000
H'0000 0000
Retained
Retained
PCM right channel register 1
HACPCMR1
H'0000 0000
H'0000 0000
Retained
Retained
TX interrupt enable register 1
HACTIER1
H'0000 0000
H'0000 0000
Retained
Retained
TX status register 1
HACTSR1
H'F000 0000
H'F000 0000
Retained
Retained
RX interrupt enable register 1
HACRIER1 H'0000 0000
H'0000 0000
Retained
Retained
RX status register 1
HACRSR1
H'0000 0000
H'0000 0000
Retained
Retained
HAC control register 1
HACACR1
H'8400 0000
H'8400 0000
Retained
Retained
Control register 0
SSICR0
H'0000 0000
H'0000 0000
Retained
Retained
Status register 0
SSISR0
H'0200 0003
H'0200 0003
Retained
Retained
Transmit data register 0
SSITDR0
H'0000 0000
H'0000 0000
Retained
Retained
Receive data register 0
SSIRDR0
H'0000 0000
H'0000 0000
Retained
Retained
Control register 1
SSICR1
H'0000 0000
H'0000 0000
Retained
Retained
Status register 1
SSISR1
H'0200 0003
H'0200 0003
Retained
Retained
Transmit data register 1
SSITDR1
H'0000 0000
H'0000 0000
Retained
Retained
Receive data register 1
SSIRDR1
H'0000 0000
H'0000 0000
Retained
Retained
Common control register
FLCMNCR
H'0000 0000
H'0000 0000
Retained
Retained
Command control register
FLCMDCR
H'0000 0000
H'0000 0000
Retained
Retained
Command code register
FLCMCDR
H'0000 0000
H'0000 0000
Retained
Retained
Address register
FLADR
H'0000 0000
H'0000 0000
Retained
Retained
Data register
FLDATAR
H'0000 0000
H'0000 0000
Retained
Retained
Data counter register
FLDTCNTR H'0000 0000
H'0000 0000
Retained
Retained
Interrupt DMA control register
FLINTDMACR
H'0000 0000
H'0000 0000
Retained
Retained
Ready busy timeout setting register FLBSYTMR H'0000 0000
H'0000 0000
Retained
Retained
Ready busy timeout counter
FLBSYCNT H'0000 0000
H'0000 0000
Retained
Retained
Data FIFO register
FLDTFIFO
Undefined
Undefined
Retained
Retained
Control code FIFO register
FLECFIFO
Undefined
Undefined
Retained
Retained
Transfer control register
FLTRCR
H'00
H'00
Retained
Retained
Address register 2
FLADR2
H'0000 0000
H'0000 0000
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1557 of 1658
REJ09B0261-0100
31. Register List
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
GPIO
Port A control register
PACR
H'0000
Retained
Retained
Retained
Port B control register
PBCR
H'0000
Retained
Retained
Retained
Port C control register
PCCR
H'0000
Retained
Retained
Retained
Port D control register
PDCR
H'0000
Retained
Retained
Retained
Port E control register
PECR
H'00C3
Retained
Retained
Retained
Port F control register
PFCR
H'0000
Retained
Retained
Retained
Port G control register
PGCR
H'0000
Retained
Retained
Retained
Port H control register
PHCR
H'FFFF
Retained
Retained
Retained
Module
Port J control register
PJCR
H'FFFF
Retained
Retained
Retained
Port K control register
PKCR
H'0FFF
Retained
Retained
Retained
Port L control register
PLCR
H'FFFF
Retained
Retained
Retained
Port M control register
PMCR
H'FFF0
Retained
Retained
Retained
Port N control register
PNCR
H'FFFF
Retained
Retained
Retained
Port P control register
PPCR
H'0000
Retained
Retained
Retained
Port Q control register
PQCR
H'0000
Retained
Retained
Retained
Port R control register
PRCR
H'0000
Retained
Retained
Retained
Port A data register
PADR
H'00
Retained
Retained
Retained
Port B data register
PBDR
H'00
Retained
Retained
Retained
Port C data register
PCDR
H'00
Retained
Retained
Retained
Port D data register
PDDR
H'00
Retained
Retained
Retained
Port E data register
PEDR
H'0x
Retained
Retained
Retained
Port F data register
PFDR
H'00
Retained
Retained
Retained
Port G data register
PGDR
H'00
Retained
Retained
Retained
Port H data register
PHDR
H'00
Retained
Retained
Retained
Port J data register
PJDR
H'xx
Retained
Retained
Retained
Port K data register
PKDR
H'xx
Retained
Retained
Retained
Port L data register
PLDR
H'xx
Retained
Retained
Retained
Port M data register
PMDR
H'xx
Retained
Retained
Retained
Port N data register
PNDR
H'xx
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1558 of 1658
REJ09B0261-0100
31. Register List
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
Standby
GPIO
Port P data register
PPDR
H'00
Retained
Retained
Retained
Port Q data register
PQDR
H'00
Retained
Retained
Retained
Port R data register
PRDR
H'00
Retained
Retained
Retained
Port E pull-up control register
PEPUPR
H'FF
Retained
Retained
Retained
Port H pull-up control register
PHPUPR
H'FF
Retained
Retained
Retained
Port J pull-up control register
PJPUPR
H'FF
Retained
Retained
Retained
Port K pull-up control register
PKPUPR
H'FF
Retained
Retained
Retained
Port L pull-up control register
PLPUPR
H'FF
Retained
Retained
Retained
Module
Port M pull-up control register
PMPUPR
H'FF
Retained
Retained
Retained
Port N pull-up control register
PNPUPR
H'FF
Retained
Retained
Retained
Input pin pull-up control register 1
PPUPR1
H'FFFF
Retained
Retained
Retained
Input pin pull-up control register 2
PPUPR2
H'FFFF
Retained
Retained
Retained
Peripheral module select register 1 P1MSELR
H'0000
Retained
Retained
Retained
Peripheral module select register 2 P2MSELR
H'0000
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1559 of 1658
REJ09B0261-0100
31. Register List
Table 31.8 States of the Registers in the Individual Operating Modes (7)
Module
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Name
Name
Abbrev.
WDT/H-UDI
Exception
Instruction
UBC
Match condition setting register 0
CBR0
H'20000000
Retained
Retained
Match operation setting register 0
CRR0
H'00002000
Retained
Retained
Match address setting register 0
CAR0
Undefined
Retained
Retained
Match address mask setting register 0
CAMR0
Undefined
Retained
Retained
Match condition setting register 1
CBR1
H'20000000
Retained
Retained
Match operation setting register 1
CRR1
H'00002000
Retained
Retained
Match address setting register 1
CAR1
Undefined
Retained
Retained
Match address mask setting register 1
CAMR1
Undefined
Retained
Retained
Match data setting register 1
CDR1
Undefined
Retained
Retained
Match data mask setting register 1
CDMR1
Undefined
Retained
Retained
Execution count break register 1
CETR1
Undefined
Retained
Retained
Channel match flag register
CCMFR
H'00000000
Retained
Retained
Break control register
CBCR
H'00000000
Retained
Retained
Table 31.9 States of the Registers in the Individual Operating Modes (8)
Module
Name
H-UDI
Name
Abbrev.
Power-on
Manual Reset
Sleep/
Reset by
by
Deep Sleep by
PRESET Pin/
WDT/Multiple
SLEEP
Module
WDT/H-UDI
Exception
Instruction
Standby
Instruction register
SDIR
H'0EFF
Retained
Retained
Retained
Interrupt source register
SDINT
H'0000
Retained
Retained
Retained
Rev.1.00 Jan. 10, 2008 Page 1560 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Section 32 Electrical Characteristics
32.1
Absolute Maximum Ratings
Table 32.1 Absolute Maximum Ratings*1, 2
Item
Symbol
Value
Unit
I/O, CPG, PCI power supply
voltage
VDDQ
−0.3 to 4.5
V
−0.3 to 1.4
V
VDDQ-PLL1
VDDQ-PLL2
VDDQ-TD
Internal power supply voltage
VDD
VDD-PLL1/2
VDDA-PLL1
DDR power supply
VDD-DDR
−0.3 to 2.5
V
Input voltage
Vin (3.3V type)
−0.3 to VDDQ +0.3
V
Vin (1.8V type)
−0.3 to VDD-DDR +0.3
Topr
−20 to 85
Operating temperature
°C
−40 to 85*
3
Storage temperature
Tstg
−55 to 125
°C
Notes: 1. The LSI may be permanently damaged if the maximum ratings are exceeded.
2. The LSI may be permanently damaged if any of the VSS, VSSQ, VSSQ-TD, VSSQ-PLL1/2, VSS-PLL1/2,
and VSSA-PLL1 pins are not connected to GND.
3. R8A77850AADBG(V) only.
Rev.1.00 Jan. 10, 2008 Page 1561 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.2
DC Characteristics
Table 32.2 DC Characteristics (Ta = −20 to 85/−40 to 85°C)
Item
Symbol Min.
Typ.
Max.
Unit Test Conditions
Power supply voltage
VDDQ
3.0
3.3
3.6
V
Normal mode,
sleep mode,
module standby
mode
VDD-DDR
1.7
1.8
1.9
VDD
1.0
1.1
1.2
mA
Ick = 600 MHz
VDDQ-PLL1/2
VDDQ-TD
VDD-PLL1/2
VDDA-PLL1
Current
dissipation
Normal operation
Vref
0.49 × 0.50 × 0.51 ×
VDD-DDR VDD-DDR VDD-DDR
IDD
⎯
1800
3000
⎯
900
1700
Bck = 100 MHz
Sleep mode
Pck = 50 MHz
DDRck = 300 MHz
PCICLK = 66 MHz
Normal operation
IDDQ
Sleep mode
⎯
70
145
Ick = 600 MHz
⎯
50
100
Bck = 100 MHz
Pck = 50 MHz
DDRck = 300 MHz
PCICLK = 66 MHz
Normal operation
DDR Normal operation
DDR backup operation
Rev.1.00 Jan. 10, 2008 Page 1562 of 1658
REJ09B0261-0100
ΣI DD-PLL
⎯
3
7
ΣI DDQ-PLL
⎯
2
4
IDD-DDR
⎯
⎯
450
mA
DDRck = 300 MHz,
ODT enable (75,
150 Ω)
⎯
260
600
μA
VDD-DDR = 1.8V, ODT
disable
32. Electrical Characteristics
Item
Input
voltage
Symbol Min.
Typ.
Max.
Unit Test Conditions
V
PRESET, NMI, TRST VIH
VDDQ ×
0.9
⎯
VDDQ
+0.3
EXTAL
VDDQ ×
0.8
⎯
VDDQ
+0.3
~34MHz External
clock input
VDDQ ×
1.0
⎯
VDDQ
+0.3
34MHz~67MHz
External clock input
VDDQ = 3.0 to 3.6 V
VIH (DC)
Vref
⎯
+0.125
VDD-DDR
+0.3
VIH (AC)
Vref +0.2 ⎯
⎯
VIH
VDDQ ×
0.6
⎯
VDDQ
+0.3
Other PCI pins
VDDQ ×
0.5
⎯
VDDQ
+0.3
Other input pins
2.0
⎯
VDDQ
+0.3
PRESET, NMI, TRST VIL
−0.3
⎯
VDDQ × V
0.1
VDDQ = 3.0 to 3.6 V
EXTAL
−0.3
⎯
VDDQ ×
0.2
~34MHz External
clock input
−0.3
⎯
VDDQ ×
0.2
34MHz~67MHz
External clock input
VIL (DC)
−0.3
⎯
Vref
–0.125
VIL (AC)
⎯
⎯
Vref
–0.2
VIL
−0.3
⎯
VDDQ ×
0.3
Other PCI pins
−0.3
⎯
VDDQ ×
0.2
Other input pins
−0.3
⎯
VDDQ ×
0.2
DDR pins
PCICLK
DDR pins
PCICLK
Rev.1.00 Jan. 10, 2008 Page 1563 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Item
Symbol Min.
AC differential input voltage
VID (AC)
0.5
VDD-DDR V
+0.6
AC differential cross point voltage
VIX (AC)
VDD-DDR ⎯
× 0.5 –
0.175
VDD-DDR
× 0.5 +
0.175
Input leak
current
|L|
⎯
⎯
5
μA
|lin|
⎯
⎯
1
μA
|lsti|
⎯
⎯
1
DDR pins
Three-state All input pins
leak current
I/O, all output pins
(off condition)
Rev.1.00 Jan. 10, 2008 Page 1564 of 1658
REJ09B0261-0100
Typ.
Max.
Unit Item
VIN = 0.5 to
VDDQ −0.5 V
VIN = 0.5 to
VDDQ −0.5 V
32. Electrical Characteristics
Item
Output
voltage
Symbol Min.
Typ.
Max.
Unit Test Conditions
⎯
⎯
V
VTT
⎯
+0.603
⎯
AUDCK, AUDSYNC,
AUDATA0, AUDATA1,
AUDATA2, AUDATA3
VTT
⎯
+0.603
⎯
Other output pins
2.4
⎯
⎯
VDDQ = 3.0 V
IOH = –2 mA
⎯
⎯
0.55
VDDQ = 3.0 V
IOL = 4 mA
DDR pins
⎯
⎯
VTT
–0.603
VTT = Vref + 0.04 V
IOL = 13.4 mA
AUDCK, AUDSYNC,
AUDATA0, AUDATA1,
AUDATA2, AUDATA3
⎯
⎯
VTT
–0.603
Other output pins
⎯
⎯
0.55
PCI pins
VOH
DDR pins
PCI pins
VOL
2.4
VTT = Vref –0.04 V
IOH = –13.4mA
VDDQ = 3.0 V
IOL = 2 mA
AC differential cross point voltage
VOX (AC)
VDD-DDR ⎯
× 0.5 –
0.125
VDD-DDR V
× 0.5 +
0.125
Pull-up
resistance
Rpull
2
10
18
20
100
180
⎯
⎯
10
⎯
⎯
10
⎯
⎯
10
PCI pins
Other pins
Pin
DDR pins
capacitance AUDCK, AUDSYNC,
AUDATA0, AUDATA1,
AUDATA2, AUDATA3,
Other pins
CL
VDDQ = 3.0 V
IOH = –4 mA
kΩ
pF
Notes: 1. Regardless of whether or not the PLL is used, connect VDD-PLL1/2, VDDA-PLL1 and VDDQ-PLL1/2 to
the power supply, and VSS-PLL1/2, VSSA-PLL1 and VDDQ-PLL1/2 to GND. The LSI may be damage
when not filling this.
2. The current dissipation values are for VIH min = VDDQ −0.5 V and VIL max = 0.5 V with all
output pins unload.
Rev.1.00 Jan. 10, 2008 Page 1565 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Table 32.3 Permissible Output Currents
Item
Symbol
Min.
Typ.
Max.
Unit
Permissible output low current
(per pin; DDR pins)
IOL
⎯
⎯
13.4
mA
Permissible output low current
(per pin; PCI pins)
⎯
⎯
4
Permissible output low current
(per pin; other than DDR and PCI pins)
⎯
⎯
2
Permissible output low current (total)
ΣIOL
⎯
⎯
120
Permissible output high current
(per pin; DDR pins)
−IOH
⎯
⎯
13.4
Permissible output high current
(per pin; PCI pins)
⎯
⎯
4
Permissible output high current
(per pin; other than DDR and PCI pins)
⎯
⎯
2
⎯
⎯
40
Permissible output high current (total)
Σ|−IOH|
Note: To protect chip reliability, do not exceed the output current values in table 32.3.
Table 32.4 ODT Characteristics
Item
Symbol
Min.
Typ.
Max.
Unit
Rtt effective impedance value for EMRS
Rtt1
50
75
100
Ω
Rtt2
100
150
200
ΔVM
–6
Deviation of VM with respect to VDD-DDR/2
Rev.1.00 Jan. 10, 2008 Page 1566 of 1658
REJ09B0261-0100
+6
%
32. Electrical Characteristics
32.3
AC Characteristics
In principle, this LSI's input should be synchronous. Unless specified otherwise, ensure that the
setup time and hold times for each input signal are observed.
Table 32.5 Clock Timing
Item
Operating
frequency
CPU, FPU, cache, TLB
Symbol
Min.
f
Typ.
Max.
Unit
MHz
1
603
DDR2-SDRAM bus
200
302
External bus
1
101
PCI bus
DC
67
Peripheral modules
1
51
Rev.1.00 Jan. 10, 2008 Page 1567 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.1
Clock and Control Signal Timing
Table 32.6 Clock and Control Signal Timing
Item
EXTAL clock
input frequency
Divider 1: × 1, PLL1: × 72,
PLL2 in operation*4
Symbol
Min.
Max.
Unit
fEX
12
17
MHz
23
34
59
83
29
43
Divider 1: × 1, PLL1: × 36,
PLL2 in operation*6
EXTAL clock
input cycle time
Divider 1: × 1, PLL1: × 72,
PLL2 in operation*4
tEXcyc
Divider 1: × 1, PLL1: × 36,
6
PLL2 in operation*
Figure
ns
32.1
EXTAL clock input low pulse width
tEXL
3.5
⎯
ns
32.1
EXTAL clock input high pulse width
tEXH
3.5
⎯
ns
32.1
EXTAL clock input rise time
tEXr
⎯
4
ns
32.1
EXTAL clock input fall time
tEXf
⎯
4
ns
32.1
CLKOUT clock output (with use of PLL1/PLL2) fOP
25
101
MHz
CLKOUT clock output cycle time
tCKOcyc
10
1000
ns
32.2
CLKOUT clock output low pulse width
tCKOL1
1
⎯
ns
32.2
CLKOUT clock output high pulse width
tCKOH1
1
⎯
ns
32.2
CLKOUT clock output rise time
tCKOr
⎯
3
ns
32.2
CLKOUT clock output fall time
tCKOf
⎯
3
ns
32.2
CLKOUT clock output low pulse width
tCKOL2
3
⎯
ns
32.3
CLKOUT clock output high pulse width
tCKOH2
3
⎯
ns
32.3
Power-on oscillation settling time
tOSC1
10
⎯
ms
32.4
Power-on oscillation settling time/mode
(MODE14, MODE10, MODE9, MODE4 to
MODE0) settling time
tOSCMD
10
⎯
ms
32.4
MODE (MODE13 to MODE11, MODE8 to
MODE5) reset setup time
tMDRS
3
⎯
tcyc
32.6
Rev.1.00 Jan. 10, 2008 Page 1568 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Item
Symbol
MODE reset hold time MODE13 to MODE11, tMDRH
MODE8 to MODE5
Min.
Max.
Unit
Figure
20
⎯
ns
32.6
MODE14, MODE10,
MODE9, MODE4 to
MODE0
32.4
PRESET assert time
tRESW
20
⎯
tcyc
32.4
PLL synchronization settling time
tPLL
400
⎯
μs
32.5
TRST reset hold time
tTRSTRH
0
⎯
ns
32.4
PRESET input rise time
tPRr
⎯
20
μs
32.6
PRESET input fall time
tPRf
⎯
20
μs
32.6
Notes: 1. With a crystal resonator connected on EXTAL and XTAL, the maximum frequency is 34
MHz. When using a third-order overtone crystal resonator, a tank circuit must be
connected externally.
2. The load capacitance connected on the CLKOUT pin should be not greater than 50 pF.
3. tcyc is the period of one CLKOUT clock cycle.
4. This applies to clock operating modes 0, 1, 2, and 3 (see table 15.2).
5. This applies to clock operating modes 8, 9, 10, and 11 (see table 15.2).
6. This applies to clock operating modes 16, 17, 18, and 19 (see table 15.2).
tEXcyc
tEXL
tEXH
VIH
VIH
VIH
1/2VDDQ
1/2VDDQ
VIL
VIL
tEXf
tEXr
Note: When the clock is input from the EXTAL pin.
Figure 32.1 EXTAL Clock Input Timing
Rev.1.00 Jan. 10, 2008 Page 1569 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tCKOcyc
tCKOH1
VOH
tCKOL1
VOH
VOH
1/2VDDQ
1/2VDDQ
VOL
tCKOf
VOL
tCKOr
Figure 32.2 CLKOUT Clock Output Timing (1)
tCKOH2
1.5V
tCKOL2
1.5V
1.5V
Figure 32.3 CLKOUT Clock Output Timing (2)
Rev.1.00 Jan. 10, 2008 Page 1570 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Oscillation settling time
Internal clock
VDD min
VDD
tRESW
tOSC1
PRESET
tOSCMD
MODE14
MODE10
MODE9
MODE4 to MODE0
tMDRH
tTRSTRH
TRST
CLKOUT
Notes: 1. Oscillation settling time for the case when the on-chip resonator is used
2. PLL2 is operating
Figure 32.4 Power-On Oscillation Settling Time
EXTAL
input
CLKOUT
output
tPLL
Figure 32.5 PLL Synchronization Settling Time
Rev.1.00 Jan. 10, 2008 Page 1571 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tPRf
tPRr
PRESET
tMDRH
tMDRS
MODE13 to MODE11
MODE8 to MODE5
Figure 32.6 MODE Pin Setup/Hold Timing
32.3.2
Control Signal Timing
Table 32.7 Control Signal Timing
Conditions: VDDQ = 3.0 to 3.6 V, VDD = 1.1 V, Ta = −20 to +85/−40 to +85°C, CL = 30 pF
Item
Symbol
Min.
Max.
Unit
Figure
BREQ setup time*
tBREQS
3
—
ns
32.7
BREQ hold time
tBREQH
1.5
—
ns
BREQ delay time
tBACKD
—
6
ns
Bus tri-state delay time
tBOFF1
—
12
ns
Bus buffer on time
tBON1
—
12
ns
STATUS0, STATUS1 delay time
tSTD
—
6
ns
Note:
*
tcyc is the period of one CLKOUT cycle.
Rev.1.00 Jan. 10, 2008 Page 1572 of 1658
REJ09B0261-0100
32.8
32. Electrical Characteristics
CKIO
tBREQH
tBREQH
tBREQS
tBREQS
BREQ
tBACKD
BACK
tBACKD
tBOFF1
A[25:0], CSn, BS,
RD/WR, CE2A, CE2B,
RAS, WEn, RD, CASn
tBON1
Figure 32.7 Control Signal Timing
Power-on reset
Normal operation
CLKOUT
PRESET
STATUS1
STATUS0
Normal
Reset
tSTD
Figure 32.8 STATUS Pin Output Timing at Power-On Reset
Rev.1.00 Jan. 10, 2008 Page 1573 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.3
Bus Timing
Table 32.8 Bus Timing
Conditions: VDDQ = 3.0 to 3.6 V, VDD = 1.1 V, Ta = −20 to +85/−40 to 85°C, CL = 30 pF
Item
Symbol Min.
Max. Unit
Address delay time
tAD
1.5
6
ns
BS delay time
tBSD
1.5
6
ns
CS delay time
tCSD
1.5
6
ns
R/W delay time
tRWD
1.5
6
ns
RD delay time
tRSD
1.5
6
ns
Read data setup time
tRDS
2.5
⎯
ns
Read data hold time
tRDH
1.5
⎯
ns
WE delay time (falling edge)
tWEDF
1.5
6
ns
Notes
Relative to CLKOUT falling edge
WE delay time
tWED1
1.5
6
ns
Write data delay time
tWDD
1.5
6
ns
RDY setup time
tRDYS
2.5
⎯
ns
RDY hold time
tRDYH
1.5
⎯
ns
FRAME delay time
tFMD
1.5
6
ns
MPX
IOIS16 setup time
tIO16S
2.5
⎯
ns
PCMCIA
IOIS16 hold time
tIO16H
1.5
⎯
ns
PCMCIA
IOWR delay time (falling edge)
tICWSDF
1.5
6
ns
PCMCIA
IORD delay time
tICRSD
1.5
6
ns
PCMCIA
DACK delay time
tDACD
1.5
6
ns
DACK delay time (falling edge)
tDACDF
1.5
6
ns
Rev.1.00 Jan. 10, 2008 Page 1574 of 1658
REJ09B0261-0100
Relative to CLKOUT falling edge
32. Electrical Characteristics
T1
T2
CLKOUT
tAD
tAD
tCSD
tCSD
tRWD
tRWD
A25 to A0
CSn
RD/WR
tRSD
tRSD
tRSD
RD
tRDS
D31 to D0
(Read)
tWED1
tRDH
tWEDF
tWEDF
WEn
tWDD
tWDD
tWDD
D31 to D0
(Write)
tBSD
tBSD
BS
RDY
tDACD
DACKn
(SA: IO ← memory)
tDACDF
DACKn
(SA: IO → memory)
tDACD
tDACD
tDACDF
tDACD
tDACD
DACKn
(DA)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.9 SRAM Bus Cycle: Basic Bus Cycle (No Wait)
Rev.1.00 Jan. 10, 2008 Page 1575 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tw
T1
T2
CLKOUT
tAD
tAD
tCSD
tCSD
tRWD
tRWD
A25 to A0
CSn
RD/WR
tRSD
tRSD
tRSD
RD
tRDS
D31 to D0
(Read)
tRDH
tWED1
tWEDF
tWEDF
WEn
tWDD
tWDD
tWDD
D31 to D0
(Write)
tBSD
tBSD
BS
tRDYS
tRDYH
RDY
tDACD
tDACD
DACKn
(SA: IO ← memory)
tDACD
tDACDF
tDACDF
DACKn
(SA: IO → memory)
tDACD
tDACD
DACKn
(DA)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.10 SRAM Bus Cycle: Basic Bus Cycle (One Internal Wait Cycle)
Rev.1.00 Jan. 10, 2008 Page 1576 of 1658
REJ09B0261-0100
32. Electrical Characteristics
T1
Tw
Twe
T2
CLKOUT
tAD
tAD
tCSD
tCSD
tRWD
tRWD
A25 to A0
CSn
RD/WR
tRSD
tRSD
tRSD
RD
tRDS
D31 to D0
(Read)
tRDH
tWED1
tWEDF
tWEDF
WEn
tWDD
tWDD
tWDD
D31 to D0
(Write)
tBSD
tBSD
BS
tRDYS
tRDYH
RDY
tDACD
DACKn
(SA: IO ← memory)
tRDYS
tRDYH
tDACD
tDACDF
tDACD
tDACDF
DACKn
(SA: IO → memory)
tDACD
tDACD
DACKn
(DA)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.11 SRAM Bus Cycle: Basic Bus Cycle
(One Internal Wait Cycle + One External Wait Cycle)
Rev.1.00 Jan. 10, 2008 Page 1577 of 1658
REJ09B0261-0100
32. Electrical Characteristics
TS1
T1
T2
TH1
CLKOUT
tAD
tAD
tCSD
tCSD
tRWD
tRWD
A25 to A0
CSn
RD/WR
tRSD
tRSD
tRSD
RD
D31 to D0
(Read)
tRDS
tWED1
tWEDF
WEn
tWDD
tRDH
tWEDF
tWDD
tWDD
D31 to D0
(Write)
tBSD
tBSD
BS
RDY
tDACD
tDACD
tDACD
DACKn
(SA: IO ← memory)
tDACDF
DACKn
(SA: IO → memory)
DACKn
(DA)
tDACD
tDACDF
tDACD
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.12 SRAM Bus Cycle: Basic Bus Cycle (CSnWCR.IW = 0000,
CSnWCR.RDS = 001, CSnWCR.WTS = 001, CSnWCR.RDH = 001, CSnWCR.WTH = 001)
Rev.1.00 Jan. 10, 2008 Page 1578 of 1658
REJ09B0261-0100
32. Electrical Characteristics
TB2
T1
TB1
TB2
TB1
TB2
TB1
T2
CLKOUT
tAD
tAD
A25 to A5
tAD
A4 to A0
tCSD
tCSD
tRWD
tRWD
CSn
RD/WR
tRSD
tRSD
tRSD
RD
tRDS
D31 to D0
(Read)
tBSD
tRDH
tRDS
tRDH
tBSD
BS
RDY
tDACD
DACKn
(SA: IO ← memory)
tDACD
tDACD
tDACD
tDACD
DACKn
(DA)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.13 Burst ROM Bus Cycle (No Wait)
Rev.1.00 Jan. 10, 2008 Page 1579 of 1658
REJ09B0261-0100
32. Electrical Characteristics
T1
Tw
Twe
TB2
TB1
Twb
TB2
TB1
Twb
TB2
TB1
Twb
T2
CLKOUT
tAD
tAD
A25 to A5
tAD
A4 to A0
tCSD
tCSD
CSn
tRWD
tRWD
RD/WR
tRSD
tRSD
RD
tRDS
D31 to D0
(Read)
tRDH
tRDS
tRDH
tBSD
BS
tRDYH
tRDYS
tRDYS
tRDYH
RDY
DACKn
(SA: IO ← memory)
tDACD
tRDYS
tRDYH
tDACD
tDACD
tDACD
DACKn
(DA)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.14 Burst ROM Bus Cycle (One Internal Wait Cycle + One External Wait Cycle
for the 1st Datum; One Internal Wait Cycle for the 2nd, 3rd, and 4th Data)
Rev.1.00 Jan. 10, 2008 Page 1580 of 1658
REJ09B0261-0100
32. Electrical Characteristics
TS1
T1
TB2
TH1
TS1
TB1
TB2
TH1
TS1
TB1
TB2
TH1
TS1
TB1
T2
TH1
CLKOUT
tAD
tAD
A25 to A5
tAD
A4 to A0
tCSD
tCSD
tRWD
tRWD
CSn
RD/WR
tRSD
tRSD
RD
D31 to D0
(Read)
tRDS
tBSD
tRDH
tRDS
tRDH
tBSD
BS
RDY
DACKn
(SA: IO ← memory)
DACKn
(DA)
tDACD
tDACD
tDACD
tDACD
tDACD
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.15 Burst ROM Bus Cycle (CSnWCR.IW = 0000, CSnWCR.RDS = 001,
CSnWCR.WTS = 001, CSnWCR.RDH = 001, CSnWCR.WTH = 001)
Rev.1.00 Jan. 10, 2008 Page 1581 of 1658
REJ09B0261-0100
32. Electrical Characteristics
T1
Tw
Twe
TB2
TB1
Twb
Twbe
TB2
TB1
Twb
Twbe
TB2
TB1
Twb
Twbe
T2
CLKOUT
tAD
tAD
A25 to A5
tAD
A4 to A0
tCSD
tCSD
tRWD
tRWD
CSn
RD/WR
RD
tRSD
tRSD
tRSD
tRDS
D31 to D0
(Read)
tBSD
tRDS
tRDH
tBSD
tBSD
tRDH
tBSD
BS
tRDYS
tRDYS
tRDYH
tRDYH
RDY
tRDYS
DACKn
(SA: IO ← memory)
DACKn
(DA)
tDACD
tDACD
tRDYS
tRDYH
tRDYH
tDACD
tDACD
tDACD
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.16 Burst ROM Bus Cycle (One Internal Wait Cycle + One External Wait Cycle)
Rev.1.00 Jan. 10, 2008 Page 1582 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tpcm1
Tpcm2
Tpcm0
Tpcm1 Tpcm1w Tpcm1w Tpcm2 Tpcm2w
CLKOUT
tAD
tAD
tAD
tAD
tCSD
tCSD
tCSD
tCSD
tRWD
tRWD
tRWD
tRWD
tRSD
tRSD
A25 to A0
CExx
REG (WE0)
RD/WR
tRSD
tRSD
tRSD
tRSD
RD
tRDS
D15 to D0
(Read)
tWED1
tRDH
tWEDF
tWEDF
tRDS
tWED1
tRDH
tWEDF
tWEDF
WE1
D15 to D0
(Write)
tWDD
tBSD
tWDD
tWDD
tWDD
tBSD
tBSD
tWDD
tWDD
tBSD
BS
tRDYH
tRDYS
RDY
tDACD
tDACD
tDACD
tRDYS
tRDYH
tDACD
DACKn
(DA)
TED
(1) TED = 0, THE = 0, no wait
TEH
(2) TED = 1, THE = 1, one internal wait + one external wait cycles
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.17 PCMCIA Memory Bus Cycle
Rev.1.00 Jan. 10, 2008 Page 1583 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tpci1
Tpci2
Tpci0
Tpci1
Tpci1w Tpci1w
Tpci2
Tpci2w
CLKOUT
tAD
tAD
tAD
tAD
tCSD
tCSD
tCSD
tCSD
tRWD
tRWD
tRWD
A25 to A0
CExx
REG (WE0)
tRWD
RD/WR
tICRSD
tICRSD
tICRSD
tICRSD
tICRSD
ICIOWR (WE2)
tRDS
D15 to D0
(Read)
tRDH
tICWSDF tICWSDF
tRDS
tICWSDF
tRDH
tICWSDF
tICWSDF
ICIORD (WE3)
tWDD
tWDD
D15 to D0
(Write)
tBSD
tWDD
tBSD
tBSD
tWDD
tWDD
tBSD
BS
tRDYS
tRDYH
RDY
tIO16S
tRDYS
tIO16H
tRDYH
IOIS16
tDACD
tDACD
tDACD
tIO16S
tIO16H
tDACD
DACKn
(DA)
(1) TED = 0, THE = 0, no wait
(2) TED = 1, THE = 1, internal wait + external wait cycles
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.18 PCMCIA I/O Bus Cycle
Rev.1.00 Jan. 10, 2008 Page 1584 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tpci0
Tpci1
Tpci1w
Tpci2
Tpci2w
Tpci0
Tpci1
Tpci1w
Tpci2
Tpci2w
CLKOUT
tAD
tAD
A25 to A1
tAD
A0
CExx
REG (WE0)
tCSD
tCSD
tCSD
tRWD
tRWD
RD/WR
tICRSD
tICRSD
tICRSD
ICIORD (WE2)
tRDS
D15 to D0
(Read)
tICWSDF
ICIOWR (WE2)
D15 to D0
(Write)
tWDD
tBSD
tICWSDF
tRDH
tICWSDF
tICWSDF
tWDD
tWDD
tICWSDF
tWDD
tWDD
tBSD
BS
tRDYS tRDYS
tRDYS tRDYH
RDY
IOIS16
tIO16S tIO16H
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.19 PCMCIA I/O Bus Cycle
(TED = 1, TEH = 1, One Internal Wait Cycle, with Bus Sizing)
Rev.1.00 Jan. 10, 2008 Page 1585 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tm1
Tmd1w
tFMD
tFMD
Tmd1
Tm0
Tmd1w
tFMD
tFMD
Tmd1w
Tmd1
CLKOUT
RD/FRAME
tWDD
tWDD
tRDS
tCSD
tRDS
tWDD
tWDD
D0
A
D31 to D0
tRDH
A
tCSD
tRDH
D0
tCSD
tCSD
CSn
tRWD
tRWD
tRWD
tRWD
RD/WR
WEn
tWED1
tWED1
tRDYS
RDY
tBSD
tWED1
tRDYS
tRDYH
tBSD
tBSD
tWED1
tBSD
tRDYH
tRDYS
tRDYH
BS
tDACD
tDACD
tDACD
tDACD
DACKn
(DA)
(1) 1st data: One internal wait cycle
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0: Address
(2) 1st data: One internal wait + one external wait cycles
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0: Address
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.20 MPX Basic Bus Cycle (Read)
Rev.1.00 Jan. 10, 2008 Page 1586 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tm1
Tmd1
Tm1
Tmd1w
tFMD
tFMD
tFMD
tFMD
tWDD
tWDD
tWDD
tWDD
Tm1
Tmd1
Tmd1w
Tmd1w
Tmd1
CLKOUT
tFMD
tFMD
tWDD
tWDD
RD/FRAME
D31 to D0
A
tWDD
D0
A
tCSD
tCSD
tWDD
tCSD
tCSD
tWDD
D0
A
D0
tCSD
tCSD
CSn
tRWD
tRWD
tRWD
tRWD
tRWD
tRWD
RD/WR
tWED1
tWED1
tWED1
tWED1
tWED1
tWED1
WEn
tRDYS
RDY
tBSD
tRDYH
tRDYS
tBSD
tBSD
tRDYS
tRDYH
tBSD
tBSD
tRDYH
tRDYS
tRDYH
tBSD
BS
tDACD
tDACD
tDACD
tDACD
tDACD
tDACD
DACKn
(DA)
(1) 1st data: No wait
(2) 1st data: One internal wait cycle
Information in the first data bus cycle
Information in the first data bus cycle
D31 to D29: Access size
D31 to D29: Access size
000:
Byte
000:
Byte
001:
Word (2 bytes)
001:
Word (2 bytes)
010:
Longword (4 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
1xx:
Burst (32 bytes)
D25 to D0: Address
D25 to D0: Address
(3) 1st data: One internal wait + one external wait cycles
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0: Address
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.21 MPX Basic Bus Cycle (Write)
Rev.1.00 Jan. 10, 2008 Page 1587 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tm1 Tmd1w Tmd1 Tmd2 Tmd3 Tmd4 Tmd5 Tmd6 Tmd7 Tmd8
CLKOUT
tFMD
tFMD
RD/FRAME
tWDD
A
D31 to D0
tWDD tRDS
D1
tRDH
D2
D3
D4
D5
D6
D7
D8
tCSD
tCSD
tRWD
tRWD
CSn
RD/WR
tRDYS
tRDYH
RDY
tBSD
tBSD
BS
tDACD
DACKn
(DA)
tDACD
(1) 1st data: One internal wait cycle, 2nd to 8th data: No waitl
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0:
Address
Tm1 Tmd1w Tmd1 Tmd2w Tmd2 Tmd3
Tmd7 Tmd8w Tmd8
CLKOUT
tFMD
tFMD
RD/FRAME
D31 to D0
tWDD
A
tWDD tRDS
tRDH
D1
D3
D4
D6
D8
tCSD
tCSD
CSn
tRWD
tRWD
RD/WR
tRDYS
tRDYH
tRDYS
tRDYH
RDY
tBSD
tBSD
BS
DACKn
(DA)
tDACD
tDACD
(2) 1st data: No internal wait, 2nd to 8th data: No internal wait + external wait control
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0:
Address
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note:
DACK is configured as active-high.
Figure 32.22 MPX Bus Cycle (Burst Read)
Rev.1.00 Jan. 10, 2008 Page 1588 of 1658
REJ09B0261-0100
32. Electrical Characteristics
Tm1
Tmd1 Tmd2 Tmd3 Tmd4 Tmd5 Tmd6 Tmd7 Tmd8
tFMD
tFMD
CLKOUT
RD/FRAME
tWDD
A
D31 to D0
tWDD
D1
tWDD
D2
D3
D4
D5
D6
D7
D8
tCSD
tCSD
tRWD
tRWD
CSn
RD/WR
tRDYS
tRDYH
RDY
tBSD
tBSD
BS
tDACD
DACKn
(DA)
tDACD
(1) No internal wait
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0:
Address
Tm1 Tmd1w Tmd1 Tmd2w Tmd2 Tmd3
Tmd7 Tmd8w Tmd8
CLKOUT
tFMD
tFMD
RD/FRAME
D31 to D0
tWDD
A
tWDD
tWDD
D1
D2
D3
D7
D8
tCSD
tCSD
tRWD
tRWD
CSn
RD/WR
tRDYS
tRDYH
tRDYS
tRDYH
RDY
tBSD
tBSD
BS
DACKn
(DA)
tDACD
tDACD
(2) 1st data: One internal wait cycle, 2nd to 8th data: No internal wait + external wait control
Information in the first data bus cycle
D31 to D29: Access size
000:
Byte
001:
Word (2 bytes)
010:
Longword (4 bytes)
011:
Quadword (8 bytes)
1xx:
Burst (32 bytes)
D25 to D0:
Address
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note:
DACK is configured as active-high.
Figure 32.23 MPX Bus Cycle (Burst Write)
Rev.1.00 Jan. 10, 2008 Page 1589 of 1658
REJ09B0261-0100
32. Electrical Characteristics
T1
T2
T1
Tw
T1
T2
Tw
Twe
T2
CLKOUT
tAD
tAD
tAD
tAD
tAD
tAD
tCSD
tCSD
tCSD
tCSD
tCSD
tCSD
tRWD
tRWD
tRWD
tRWD
tRWD
tRWD
tRSD
tRSD
tRSD
tRSD
A25 to A0
CSn
RD/WR
tRSD
tRSD
tRSD
tRSD
tRSD
RD
tRDS
D31 to D0
(Read)
tRDH
tWED1
tRDS
tRDH
tWED1
tWEDF
tWED1
tRDS
tRDH
tWED1
tWEDF
tWED1
tWEDF
tWED1
WEn
tBSD
tBSD
tBSD
tBSD
tBSD
tBSD
BS
tRDYS
tRDYS
tRDYH
RDY
tDACD
tDACD
tDACD
tDACD
tDACD
tDACD
tDACD
tDACD
tRDYH
tRDYS
tDACD
tDACD
tRDYH
tDACD
DACKn
(SA: IO ← memory)
tDACD
tDACD
tDACD
tDACD
DACKn
(DA)
(1) Basic read cycle (no wait)
(2) Basic read cycle (one internal wait cycle)
(3) Basic read cycle (one internal wait + one external wait cycles)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.24 Memory Byte Control SRAM Bus Cycle
Rev.1.00 Jan. 10, 2008 Page 1590 of 1658
REJ09B0261-0100
32. Electrical Characteristics
TS1
T1
T2
TH1
CLKOUT
tAD
tAD
tCSD
tCSD
tRWD
tRWD
A25 to A0
CSn
RD/WR
tRSD
tRSD
tRSD
RD
D31 to D0
(Read)
tRDS
tRDH
tWED1
tWED1
tWEDF
WEn
tBSD
tBSD
BS
RDY
tDACD
tDACD
DACKn
(SA: IO ← memory)
tDACD
tDACD
DACKn
(DA)
Legend:
IO:
DACK device
SA:
Single-address DMA transfer
DA:
Dual-address DMA transfer
Note: DACK is configured as active-high.
Figure 32.25 Memory Byte Control SRAM Bus Cycle: Basic Read Cycle
(CSnWCR.IW = 0000, CSnWCR.RDS = 001, CSnWCR.WTS = 001, CSnWCR.RDH = 001,
CSnWCR.WTH = 001)
Rev.1.00 Jan. 10, 2008 Page 1591 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.4
DBSC2 Signal Timing
Table 32.9 DBSC2 Signal Timing
Conditions: VDD-DDR= 1.7 to 1.9 V, Vref= 0.9 V, VDD= 1.1 V, Ta= −20 to +85/−40 to 85°C,
CL= 30 pF, ODT=on), Drive Strength=Normal
Item
Symbol
Min.
Max.
Unit
MCK output cycle
tCK
3.33
5.0
ns
MCK output high-level pulse
width
tCH
0.45
0.55
tMCK
MCK output low-level pulse
width
tCL
0.45
0.55
tMCK
Address and control signal
setup time to MCK rising edge
tIS
880
—
ps
1290
Notes
DDR2-600
DDR2-400
Address and control signal hold tIH
time to MCK rising edge
880
Address and control signal
width
tIPW
0.6
—
tMCK
MCLK-to-MDQS skew time
(Read)
tRDQSDLY
−0.2
1.4
ns
MDQS high-level pulse width
(Read)
tRDQSH
0.35
0.65
tMCK
MDQS low-level pulse width
(Read)
tRDQSL
0.35
0.65
tMCK
MDQS preamble (Read)
tRPRE
0.9
1.1
tMCK
MDQS postamble (Read)
tRPST
0.4
0.6
tMCK
MDQS-to-MDQ skew time
(Read)
tRDQSQ
−390
390
ps
−590
590
MDQ signal hold time to DQS
(Read)
tRQH
0.45 × tMCK
−470
—
0.45 × tMCK
−630
—
Rev.1.00 Jan. 10, 2008 Page 1592 of 1658
REJ09B0261-0100
Figure
—
ps
1290
DDR2-600
DDR2-400
DDR2-600
DDR2-400
ps
DDR2-600
DDR2-400
32. Electrical Characteristics
Item
Symbol
Min.
Max.
Write command to first
MDQS delay time
(Rising edge)
tWDQSS
WL
−0.18
WL
tMCK
+0.18
MDQS falling edge
setup time to MCK
rising edge (Write)
tWDSS
0.27
—
tMCK
MDQS falling edge hold tWDSH
time to MCK rising edge
(Write)
0.27
—
tMCK
MDQS high-level pulse
width (Write)
tWDQSH
0.35
0.9
tMCK
MDQS low-level pulse
width (Write)
tWDQSL
0.35
0.9
tMCK
MDQS preamble (Write) tWPRE
0.35
—
tMCK
MDQS postamble
(write)
tWPST
0.4
—
tMCK
MDQ/MDM setup time
to MDQS (Write)
tWDS
430
630
MDQ/MDM hold time to tWDH
MDQS (Write)
Unit
Figure
ps
DDR2-600
—
430
Notes
DDR2-400
ps
630
—
MDQ/MDM signal width tWDIPW
(Write)
0.35
—
tMCK
MDQ high-impedance
tHZ
time from MDQS (Write)
tWDH
tMCK
ns
DDR2-600
DDR2-400
Note: tMCK: one MCK cycle time
tCK
tCH
tCL
MCK0, MCK1
MCK0, MCK1
Figure 32.26 MCK Output Clock
Rev.1.00 Jan. 10, 2008 Page 1593 of 1658
REJ09B0261-0100
32. Electrical Characteristics
MCK0, MCK1 (solid line)
MCK0, MCK1 (dotted line)
t IS
t IH
MCKE, MCS,
MRAS, MCAS,
MWE, MBA[2:0],
MA[14:0]
t IPW
Figure 32.27 Command Signal and MCK Output Clock
MCK0, MCK1 (solid line)
MCK0, MCK1 (dotted line)
MCKE, MCS,
MRAS, MCAS,
MWE, MBA[2:0],
MA[14:0]
READ
Command
CL (Cas Latency)
tRDQSCK (min)
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
tRDQSCK (Min.)
tRDQSCK (min)
tRDQSCK (max)
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
tRDQSCK (Max.)
tRDQSCK (max)
Figure 32.28 MDQS Input Timing at Data Read
Rev.1.00 Jan. 10, 2008 Page 1594 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tRDQSH
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
tRPST
HiZ
HiZ
tRPRE
tRDQSL
Figure 32.29 Restriction of MDQS Input Waveform (Read)
MCK0, MCK1 (solid line)
MCK0, MCK1 (dotted line)
MCKE, MCS,
MRAS, MCAS,
MWE, MBA[2:0],
MA[14:0]
WRITE
Command
WL = CL - 1
tWDQSS (min)
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
tWDQSS (Min.)
HiZ
HiZ
tWDSH
tWDSS
tWDSH
tWDSS
tWDQSS (max)
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
tWDQSS (Max.)
HiZ
HiZ
tWDSH
tWDSH
tWDSS
tWDSS
Figure 32.30 MDQS Output Waveform to MCK (Write)
tWDQSH
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
HiZ
HiZ
tWPRE
tWDQSL
tWPST
Figure 32.31 MDQS Output Waveform (Write)
Rev.1.00 Jan. 10, 2008 Page 1595 of 1658
REJ09B0261-0100
32. Electrical Characteristics
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
tWDS
tWDS
MDQ[31:0]
MDM[3:0]
tWDH
tWDIPW
tWDH
tWDIPW
Figure 32.32 MDQS and MDQ/MDM Output Waveform (Write)
MDQS[3:0] (solid line)
MDQS[3:0] (dotted line)
HiZ
HiZ
tHZ
MDQ[31:0]
HiZ
Figure 32.33 MDQ High-Impedance Time from MDQS (Write)
Rev.1.00 Jan. 10, 2008 Page 1596 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.5
INTC Module Signal Timing
Table 32.10 INTC Module Signal Timing
Conditions: VDDQ= 3.0 to 3.6 V, VDD= 1.1 V, Ta= −40 to 85°C, CL= 30 pF, PLL2 on
Item
Symbol
Min.
Typ.
Max.
Unit
Figure
NMI setup time
tNMIS
4
—
—
ns
32.34
NMI hold time
tNMIH
1.5
—
—
ns
32.34
NMI pulse width (high level)
tNMIIS
5
—
—
tcyc*
32.35
NMI pulse width (low level)
tNMIIH
5
—
—
tcyc*
32.35
Edge-sense IRQ pulse width (high
level)
tIRQIH
5
—
—
tcyc*
32.35
Edge-sense IRQ pulse width (low
level)
tIRQIL
5
—
—
tcyc*
32.35
IRL7 to IRL0 setup time
tIRLS
4
—
—
ns
32.34
IRL7 to IRL0 hold time
tIRLH
1.5
—
—
ns
32.34
IRQOUT delay time
tIRQOD
1.5
—
6
ns
32.36
Note:
*
tcyc is the period of one CLKOUT cycle.
CLKOUT
tNMIS
tNMIH
tIRLS
tIRLH
NMI
IRL3 to IRL0
IRL7 to IRL4
Figure 32.34 Interrupt Signal Input Timing (1)
Rev.1.00 Jan. 10, 2008 Page 1597 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tNMIIH
tNMIIL
tIRQIH
tIRQIL
NMI
IRQ
Figure 32.35 Interrupt Signal Input Timing (2)
CLKOUT
tIRQOD
IRQOUT
Figure 32.36 IRQOUT Timing
Rev.1.00 Jan. 10, 2008 Page 1598 of 1658
REJ09B0261-0100
tIRQOD
32. Electrical Characteristics
32.3.6
PCIC Module Signal Timing
Table 32.11 PCIC Signal Timing (in PCIREQ/PCIGNT Non-Port Mode) (1)
Conditions: VDDQ = 3.0 to 3.6 V, VDD = 1.1 V, Ta = –40 to 85°C, CL = 30 pF
33 MHz
Pin
Item
PCICLK
66 MHz
Symbol Min.
Max. Min.
Max. Unit
Figure
Clock period
tPCICYC
30
—
15
30
ns
32.37
Clock pulse width (high)
tPCIHIGH
11
—
6
—
Clock pulse width (low)
tPCIr
11
—
6
—
Clock rise time
tPCIf
—
4
—
1.5
Clock fall time
tNCDAD1
—
4
—
1.5
PCIRESET
Output data delay time
tPCIVAL
—
10
—
10
ns
32.38
IDSEL
Input setup time
tPCISU
3
—
3
—
ns
32.39
Input hold time
tPCIH
1.5
—
1.5
—
Output data delay time
ns
32.38
AD31 to AD0,
C/BE3 to C/BE0,
PCIFRAME,
PAR, IRDY,
TRDY, STOP,
LOCK, PERR,
DEVSEL,
tPCIVAL
2
10
2
6
Tri-state drive delay time tPCION
2
10
2
6
Tri-state Hi-Z delay time
tPCIOFF
2
12
2
6
Input setup time
tPCISU
3
—
3
—
Input hold time
tPCIH
1.5
—
1.5
—
tPCIVAL
2
10
2
6
tPCISU
3
—
3
—
tPCIH
1.5
—
1.5
—
Tri-state drive delay time tPCION
—
10
—
10
Tri-state Hi-Z delay time
tPCIOFF
—
12
—
12
Input setup time
tPCISU
3
—
3
—
Input hold time
tPCIH
1.5
—
1.5
—
REQ0/REQOUT, Output data delay time
GNT0/GNTIN
Input setup time
REQ1, REQ2,
Input hold time
REQ3, GNT1,
GNT2, GNT3
SERR, INTA,
INTB, INTC,
INTD
32.39
ns
32.38
32.39
ns
32.38
32.39
Rev.1.00 Jan. 10, 2008 Page 1599 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tPCICYC
tPCIHIGH
tPCILOW
VH
VH
VH
0.5VDDQ
0.5VDDQ
VL
VL
tPCIf
tPCIr
Figure 32.37 PCI Clock Input Timing
0.4VDDQ
PCICLK
tPCIVAL
0.4VDDQ
Output delay
Tri-state output
tPCION
Figure 32.38 PCI Output Signal Timing
Rev.1.00 Jan. 10, 2008 Page 1600 of 1658
REJ09B0261-0100
tPCIOFF
32. Electrical Characteristics
PCICLK
0.4VDDQ
tPCISU
tPCIH
0.4VDDQ
Input
Figure 32.39 PCI Input Signal Timing
32.3.7
DMAC Module Signal Timing
Table 32.12 DMAC Module Signal Timing
Conditions: VDDQ= 3.0 to 3.6 V, VDD= 1.5 V, Ta= −40 to 85°C, CL= 30 pF, PLL2 on
Module
Item
Symbol
Min.
Max.
Unit
Figure
DMAC
DREQ setup time
tDRQS
2.5
—
ns
32.40
DREQ hold time
tDRQH
1.5
—
DRAK delay time
tDRAKD
1.5
6
DACK delay time
tDAKD
1.5
6
tDRQS
tDRQH
Remarks
CLKOUT
DREQ
tDRAKD
tDRAKD
DRAK
Figure 32.40 DREQ/DRAK Signal Timing
Rev.1.00 Jan. 10, 2008 Page 1601 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.8
TMU Module Signal Timing
Table 32.13 TMU Module Signal Timing
Conditions: VDDQ= 3.0 to 3.6 V, VDD= 1.1 V, Ta= −40 to 85°C, CL= 30 pF, PLL2 on
Module
Item
Symbol
Min.
Max.
Unit
Figure
TMU
Timer clock pulse width
(high)
tTCLKWH
4
—
tPcyc
32.41
Timer clock pulse width
(low)
tTCLKWL
4
—
Timer clock rise time
tTCLKr
—
0.8
Timer clock fall time
tTCLKf
—
0.8
Note: tPcyc is the period of one peripheral clock (Pck) cycle.
TCLK
tTCLKWH
tTCLKWL
tTCLKf
Figure 32.41 TCLK Input Timing
Rev.1.00 Jan. 10, 2008 Page 1602 of 1658
REJ09B0261-0100
tTCLKr
Remarks
32. Electrical Characteristics
32.3.9
SCIF Module Signal Timing
Table 32.14 SCIF Module Signal Timing
Conditions: VDDQ= 3.0 to 3.6 V, VDD= 1.1 V, Ta= −40 to 85°C, CL= 30 pF, PLL2 on
Module
Item
Symbol
Min.
Max.
Unit
Figure
SCIFn
Input clock cycle (asynchronous)
tScyc
4
—
tPcyc
32.42
10
—
tPcyc
Input clock cycle (clock synchronous)
Input clock pulse width
tSCKW
0.4
0.6
tScyc
Input clock rise time
tSCKr
—
0.8
tPcyc
Input clock fall time
tSCKf
—
0.8
tPcyc
Transfer data delay time
tTXD
—
6
tPcyc
Receive data setup time
(clock synchronous)
tRXS
16
—
ns
Receive data hold time
(clock synchronous)
tRXH
16
—
ns
32.43
Note: tpcyc means one cycle time of the peripheral clock (Pck).
tSCKW
SCIFn_CLK
tScyc
tSCKf
tSCKr
Figure 32.42 SCIFn_CLK Input Clock Timing
Rev.1.00 Jan. 10, 2008 Page 1603 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tScyc
SCIFn_CLK
tTXD
tTXD
SCIFn_TXD
SCIFn_RXD
tRXS tRXH
Figure 32.43 Clock Timing in SCIF I/O Synchronous Mode
Rev.1.00 Jan. 10, 2008 Page 1604 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.10 H-UDI Module Signal Timing
Table 32.15 H-UDI Module Signal Timing
Conditions: VDDQ= 3.0 to 3.6 V, VDD= 1.1 V, Ta= −40 to 85°C, CL= 30 pF, PLL2 on
Item
Symbol
Min.
Max.
Unit
Figure Remarks
Input clock cycle
tTCKcyc
50
—
ns
32.44,
32.46
Input clock pulse width (high)
tTCKH
15
—
ns
32.44
Input clock pulse width (low)
tTCKL
15
—
ns
Input clock rise time
tTCKr
—
10
ns
Input clock fall time
tTCKf
—
10
ns
ASEBRK setup time
tASEBRKS
10
—
tcyc
ASEBRK hold time
tASEBRKH
1
—
ms
TDI/TMS setup time
tTDIS
15
—
ns
TDI/TMS hold time
tTDIH
15
—
ns
TDO data delay time
tTDO
0
12
ns
ASE-PINBRK pulse width
tPINBRK
2
—
tPcyc
32.45
32.46
32.47
Notes: 1. During a boundary scan, tTCKcyc is the period corresponding to a frequency of 10 MHz, i.e.
0.1 μs.
2. tcyc is the period of one CKIO clock cycle.
3. tPcyc is the period of one peripheral clock (Pck) cycle.
tTCKcyc
tTCKH
1/2VDDQ
VIH
tTCKL
VIH
VIL
VIL
tTCKf
VIH
1/2VDDQ
tTCKr
Note: When the clock is input from the TCK pin.
Figure 32.44 TCK Input Timing
Rev.1.00 Jan. 10, 2008 Page 1605 of 1658
REJ09B0261-0100
32. Electrical Characteristics
RESET
tASEBRKS
tASEBRKH
ASEBRK
BRKACK
Figure 32.45 RESET Hold Timing
tTCKcyc
TCK
TDI
TMS
tTDIS
tTDIH
tTDO
TDO
Figure 32.46 H-UDI Data Transfer Timing
tPINBRK
ASEBRK
Figure 32.47 Pin Break Timing
Rev.1.00 Jan. 10, 2008 Page 1606 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.11 GPIO Signal Timing
Table 32.16 GPIO Signal Timing
Item
Symbol
Min.
Max.
Unit
Figure
GPIO output delay time
tIOPD
—
8
ns
32.48
GPIO input setup time
tIOPS
3.5
—
ns
GPIO input hold time
tIOPH
1.5
—
ns
CLKOUT
tIOPD
GPIO[n] (OUTPUT)
tIOPS
tIOPH
GPIO[n] (INPUT)
Figure 32.48 GPIO Signal Timing
Rev.1.00 Jan. 10, 2008 Page 1607 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.12 HSPI Module Signal Timing
Table 32.17 HSPI Module Signal Timing
Item
Symbol
Min.
Max.
Unit
Figure
HSPI clock frequency (master)
TSPICYC
—
Pck/8
MHz
32.49
HSPI clock frequency (slave)
Pck/12
HSPI clock high level width
tSPIHW
60
—
ns
HSPI clock low level width
tSPILW
60
—
ns
HSPI_TX setup time
tSUSPITX
—
20
ns
HSPI_TX delay time
tDSPITX
—
20
ns
HSPI_RX setup time
tSUSPIRX
20
—
ns
HSPI_RX hold time
tHLSPIRX
20
—
ns
HSPI_CS lead time
tcCSLEAD
100
—
ns
Note: Pck is the frequency of the peripheral clock.
HSPI_CS
tSPICYC
tSPIHW
tSPILW
(CLKP = 0)
HSPI_CLK
(CLKP = 1)
HSPI_CLK
tCSLEAD
tSUSPITX
(LMSB = 0)
HSPI_TX
MSB
tSUSPIRX
HSPI_RX
tDSPITX
MSB-1
tHLSPIRX
MSB
MSB-1
tSUSPITX
MSB-2
tDSPITX
(LMSB = 1)
HSPI_TX
MSB
tHLSPIRX
tSUSPIRX
HSPI_RX
MSB-1
MSB
MSB-1
Figure 32.49 HSPI Data Output/Input Timing
Rev.1.00 Jan. 10, 2008 Page 1608 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.13 SIOF Module Signal Timing
Table 32.18 SIOF Module Signal Timing
Item
Symbol
Min.
Max.
Unit
Figure
SIOF_MCLK clock input cycle time
tMCYC
tpcyc
—
ns
32.50
SIOF_MCLK input high level width
tMWH
0.4 × tMCYC
—
ns
SIOF_MCLK input low level width
tMWL
0.4 × tMCYC
—
ns
SIOF_SCK clock cycle time
tSICYC
tpcyc
—
ns
32.51 to 32.55
SIOF_SCK output high level width
tSWHO
0.4 × tSICYC
—
ns
32.51 to 32.54
SIOF_SCK output low level width
tSWLO
0.4 × tSICYC
—
ns
SIOF_SYNC output delay time
tFSD
—
10
ns
SIOF_SCK input high level width
tSWHI
0.4 × tSICYC
—
ns
SIOF_SCK input low level width
tSWLI
0.4 × tSICYC
—
ns
SIOF_SYNC input setup time
tFSS
10
—
ns
SIOF_SYNC input hold time
tFSH
10
—
ns
SIOF_TXD output delay time
tSTDD
—
10
ns
SIOF_RXD input setup time
tSRDS
10
—
ns
SIOF_RXD input hold time
TSRDH
10
—
ns
32.55
32.51 to 32.55
tMCYC
SIOF_MCLK
tMWH
tMWL
Figure 32.50 SIOF_MCLK Input Timing
Rev.1.00 Jan. 10, 2008 Page 1609 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tSICYC
tSWHO
tSWLO
SIOF_SCK (Output)
tFSD
tFSD
SIOF_SYNC (Output)
tSTDD
tSTDD
SIOF_TXD
tSRDS
tSRDH
SIOF_RXD
Figure 32.51 SIOF Transmission/Reception Timing
(Master Mode 1, Sampling on Falling Edges)
tSICYC
tSWLO
SIOF_SCK (Output)
tFSD
tFSD
SIOF_SYNC (Output)
tSTDD
tSTDD
SIOF_TXD
tSRDS
tSRDH
SIOF_RXD
Figure 32.52 SIOF Transmission/Reception Timing
(Master Mode 1, Sampling on Rising Edges)
Rev.1.00 Jan. 10, 2008 Page 1610 of 1658
REJ09B0261-0100
tSWHO
32. Electrical Characteristics
tSICYC
tSWHO
tSWLO
SIOF_SCK (Output)
tFSD
tFSD
SIOF_SYNC (Output)
tSTDD
tSTDD
tSTDD
tSTDD
SIOF_TXD
tSRDS
tSRDH
SIOF_RXD
Figure 32.53 SIOF Transmission/Reception Timing
(Master Mode 2, Sampling on Falling Edges)
tSICYC
tSWLO
tSWHO
SIOF_SCK (Output)
tFSD
tFSD
SIOF_SYNC (Output)
tSTDD
tSTDD
tSTDD
tSTDD
SIOF_TXD
tSRDS
tSRDH
SIOF_RXD
Figure 32.54 SIOF Transmission/Reception Timing
(Master Mode 2, Sampling on Rising Edges)
Rev.1.00 Jan. 10, 2008 Page 1611 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tSICYC
tSWHI
tSWLI
SIOF_SCK (Output)
tFSS
tFSH
SIOF_SYNC (Output)
tSTDD
tSTDD
SIOF_TXD
tSRDS
tSRDH
SIOF_RXD
Figure 32.55 SIOF Transmission/Reception Timing (Slave Mode 1, Slave Mode 2)
Rev.1.00 Jan. 10, 2008 Page 1612 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.14 MMCIF Module Signal Timing
Table 32.19 MMCIF Module Signal Timing
Item
Symbol
Min.
Max.
Unit
Figure
MMCCLK clock cycle time
tMMcyc
50
—
ns
32.56
MMCCLK clock high level width
tMMWH
0.4 × tMmcyc
—
ns
MMCCLK clock low level width
tMMWL
0.4 × tMMcyc
—
ns
MMCCMD output data delay time
tMMTCD
—
10
ns
MMCCMD input data hold time
tMMRCS
10
—
ns
MMCCMD input data setup time
tMMRCH
10
—
ns
MMCD output data delay time
tMMTDD
—
10
ns
32.56
MMCD input data setup time
tMMRDS
10
—
ns
32.57, 32.58
MMCD input data hold time
tMMRDH
10
—
ns
32.57, 32.58
Note: tMmcyc is the period of one MMCCLK cycle.
tMMcyc
tMMWH tMMWL
MMCLK
tMMTCD
tMMTCD
MMCCMD (Output)
tMMTDD
tMMTDD
MMCDAT (Output)
Figure 32.56 MMCIF Transmission Timing
Rev.1.00 Jan. 10, 2008 Page 1613 of 1658
REJ09B0261-0100
32. Electrical Characteristics
MMCCLK
tMMRCS tMMRCH
MMCCMD (Input)
tMMRDS
tMMRDH
MMCDAT (Input)
Figure 32.57 MMCIF Reception Timing (Sampling on Rising Edges)
32.3.15 HAC Interface Module Signal Timing
Table 32.20 HAC Interface Module Signal Timing
Item
Symbol
Min.
Max.
Unit
Figure
HAC_RES active low pulse width
tRST_LOW
1000
—
ns
32.58
HAC_SYNC active pulse width
tSYN_HIGH
1000
—
ns
32.59
HAC_SYNC delay time 1
tSYNCD1
—
15
ns
32.61
HAC_SYNC delay time 2
tSYNCD2
—
15
ns
HAC_SDOUT delay time
tSDOUTD
—
15
ns
HAC_SDIN setup time
tSDIN0S
10
—
ns
HAC_SDIN hold time
tSDIN0H
10
—
ns
HAC_BITCLK input high level width
tICL0_HIGH
tPcyc/2
—
ns
HAC_BITCLK input low level width
tICL0_LOW
tPcyc/2
—
ns
Note: tPcyc is the period of one peripheral clock (Pck) cycle.
tRST_LOW
HAC_RES
Figure 32.58 HAC Cold Reset Timing
Rev.1.00 Jan. 10, 2008 Page 1614 of 1658
REJ09B0261-0100
32.60
32. Electrical Characteristics
tSYN_HIGH
HACn_SYNC
HACn_BITCLK
Figure 32.59 HAC Warm Reset Timing
tICL_HIGH
HACn_BITCLK
tICL_LOW
Figure 32.60 HAC Clock Input Timing
tSDNSU
HACn_BITCLK
HACn_SDIN
tSDNHD
tSDCUTD
HACn_SDOUT
tSYNCD1
HACn_SYNC
tSYNCD2
Figure 32.61 HAC Interface Module Signal Timing
Rev.1.00 Jan. 10, 2008 Page 1615 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.16 SSI Interface Module Signal Timing
Table 32.21 SSI Interface Module Signal Timing
Item
Symbol
Min.
Max.
Unit
Remarks Figure
Output cycle time
tOSCK
40
710
ns
Output
Input cycle time
tISCK
80
3300
ns
Input
Input high level width/input low level
width
tIHC/tILC
30
ns
Input
Output high level width/output low level
width
TOHC/tOLC
13
ns
Output
SCK output rise time
tRC
—
60
ns
Output
SDATA output delay time
tDTR
—
50
ns
Transmit
32.63,
32.64
SDATA/WS input setup time
tSR
10
—
ns
Receive
SDATA/WS input hold time
tHTR
10
—
ns
Receive
32.65,
32.66
tOHC
tIHC
SSIn_SCK
VIH
VOH
tRC
VIH
VOH
VIL
VOH
tOLC
tILC
VIH VOH
VIL VOH
VIH VOH
tISCK tOSCK
Figure 32.62 SSI Clock Input/Output Timing
SSIn_SCKn
tDTR
tHTR
SSIn_WS
SSIn_SDATA
Figure 32.63 SSI Transmission Timing (1)
Rev.1.00 Jan. 10, 2008 Page 1616 of 1658
REJ09B0261-0100
32.62
32. Electrical Characteristics
SSIn_SCK
tDTR
tHTR
SSIn_WS
SSIn_SDATA
Figure 32.64 SSI Transmission Timing (2)
SSIn_SCK
tSR
tHTR
SSIn_WS
SSIn_SDATA
Figure 32.65 SSI Reception Timing (1)
SSIn_SCK
tSR
tHTR
SSIn_WS
SSIn_SDATA
Figure 32.66 SSI Reception Timing (2)
Rev.1.00 Jan. 10, 2008 Page 1617 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.17 FLCTL Module Signal Timing
Table 32.22 NAND-Type Flash Memory Interface Timing
Item
Symbol
Min.
Max.
Unit
Figure
Command issue setup time
tNCDS
2 × tfcyc −10
—
ns
32.67, 32.71
Command issue hold time
tNCDH
1.5 × tfcyc −10 —
ns
Data output setup time
tNDOS
0.5 tfcyc −10
—
ns
Data output hold time
tNDOH
0.5 tfcyc −10
—
ns
32.67, 32.68,
32.70, 32.71
Command to address transition time 1 tNCDAD1
1.5 × tfcyc −10 —
ns
32.67, 32.68
Command to address transition time 2 tNCDAD2
2 × tfcyc −10
—
ns
32.68
FWE cycle time
tNWC
tfcyc −5
—
ns
32.68, 32.70
FWE low pulse width
tNWP
0.5 tfcyc −5
—
ns
32.67, 32.68,
32.70, 32.71
FWE high pulse width
tNWH
0.5 tfcyc −5
—
ns
32.68, 32.70
Address to ready/busy transition time tNADRB
—
32 × tpcyc
ns
32.68, 32.69
Ready/busy to data read transition
time 1
tNRBDR1
1.5 × tfcyc
—
ns
32.69
Ready/busy to data read transition
time 2
tNRBDR2
32 × tpcyc
—
ns
FSC cycle time
tNSCC
tfcyc
—
ns
FSC high pulse width
tNSPH
0.5 × tfcyc −5
—
ns
FSC low pulse width
tNSP
0.5 × tfcyc −5
—
ns
Read data setup time
tNRDS
24
—
ns
Read data hold time
tNRDH
5
—
ns
Data write setup time
tNDWS
32 × tpcyc −10 —
ns
32.70
Command to status read transition
time
tNCDSR
4 × tfcyc −10
—
ns
32.71
Command output off to status read
transition time
tNCDFSR
3.5 × tfcyc
—
ns
Status read setup time
tNSTS
2.5 × tfcyc −10
Notes: 1. tpcyc is the period of one peripheral clock (Pck) cycle.
2. tfcyc is the period of one FLCTL clock (Fck) cycle.
Rev.1.00 Jan. 10, 2008 Page 1618 of 1658
REJ09B0261-0100
ns
32.69, 32.71
32. Electrical Characteristics
FCE
(Low)
FCLE
tNCDAD1
FALE
tNCDS
tNWP
tNCDH
FWE
(High)
FRE
tNDOS
FD7 to FD0
tNDOH
Command
(High)
FR/B
Figure 32.67 Command Issue Timing of NAND-Type Flash Memory
FCE
(Low)
FCLE
tNWC
FALE
tNCDAD2
tNWP tNWH
tNWP tNWH tNWP
tNCDAD1
FWE
(High)
FRE
tNDOS tNDOH tNDOS tNDOH tNDOS tNDOH
Address
FD7 to FD0
(High)
Address
Address
tNADRB
FR/B
Figure 32.68 Address Issue Timing of NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1619 of 1658
REJ09B0261-0100
32. Electrical Characteristics
FCE
FCLE
(Low)
(Low)
FALE
tNSCC
(High)
FWE
tNSP
tNRBDR2
tNSPH tNSP
tNSP
FRE
tNRDS tNRDH tNRDS
FD7 to FD0
tNRDS tNRDH
Data
tNADRB
FR/B
Data
tNRBDR1
Figure 32.69 Data Read Timing of NAND-Type Flash Memory
FCE
FCLE
(Low)
(Low)
tNWC
FALE
tNDWS
tNWP tNWH
tNWP
tNWP
FWE
(High)
FRE
tNDOS tNDOH tNDOS
FD7 to FD0
Data
tNDOH tNDOS
Data
(High)
FR/B
Figure 32.70 Data Write Timing of NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1620 of 1658
REJ09B0261-0100
32. Electrical Characteristics
FCE
(Low)
FCLE
FALE
(Low)
tNCDS
tNWP
tNCDH
tNSTS
FWE
tNCDSR
tNSP
FRE
tNCDFSR
tNDOS
tNDOH
tNRDS
tNRDH
FD7 to FD0
Command
FR/B
Status
(High)
Figure 32.71 Status Read Timing of NAND-Type Flash Memory
Rev.1.00 Jan. 10, 2008 Page 1621 of 1658
REJ09B0261-0100
32. Electrical Characteristics
32.3.18 Display Unit Signal Timing
Table 32.23 PCICLK/DCLKIN Signal Timing
Conditions: VDDQ = 3.3 V ±0.3 V, Ta = -40°C to + 85°C, GND = VSSQ = 0 V
Item
Symbol
Min.
Typ.
Max.
Unit
Figure
PCICLK/DCLKIN cycle time
tDICYC
20
—
—
ns
32.72
PCICLK/DCLKIN high level width
tDCKIH
8
—
—
ns
PCICLK/DCLKIN low level width
tDCKIL
8
—
—
ns
Table 32.24 Display Timing
Conditions: VDDQ = 3.3 V ±0.3 V, Ta = –40°C to +85°C, GND = VSSQ = 0 V
Item
Symbol
Min.
Typ.
Max.
Unit
Figures
Display input control
signal setup time
tDS
5
—
—
ns
Display input control
signal hold time
tDH
3
—
—
ns
Figure 32.73
(with respect to
PCICLK/
DCLKIN)
DEVSEL/DCLKOUT
output cycle time
tDCYC
20
—
—
ns
DEVSEL/DCLKOUT
output high level width
tDCKH
6
—
—
ns
Delay time of display
output control signal
output
tDD
-2
—
8
ns
Display digital data output tDD
delay time
-2
—
8
ns
IRDY/HSYNC input low
level width
tEXHLW
4 × tDCYC
—
—
ns
IRDY/HSYNC input high
level width
tEXHHW
4 × tDCYC
—
—
ns
PCIFRAME/VSYNC input tEXVLW
low level width
3 × HC
—
—
tDCYC
LOCK/ODDF setup time 1 tOD1
(ys + yw) × HC —
—
tDCYC
LOCK/ODDF setup time 2 tOD2
1 × HC
—
tDCYC
Rev.1.00 Jan. 10, 2008 Page 1622 of 1658
REJ09B0261-0100
—
Figure 32.74
(with respect to
DEVSEL/
DCLKOUT)
Figure 32.75
32. Electrical Characteristics
Table 32.25 Classification of Pins
Pin Classification
Display Input Control
Signal*1
Display Output
Control Signal*2
Digital Data for
Display*3
Pin Name
PCIFRAME/VSYNC
PCIFRAME/VSYNC
D32/AD0/DR0
IRDY/HSYNC
IRDY/HSYNC
D33/AD1/DR1
LOCK/ODDF
LOCK/ODDF
D34/AD2/DR2
TRDY/DISP
D35/AD3/DR3
STOP/CDE
D36/AD4/DR4
D37/AD5/DR5
D38/AD6/DG0
D39/AD7/DG1
D40/AD8/DG2
D41/AD9/DG3
D42/AD10/DG4
D43/AD11/DG5
D44/AD12/DB0
D45/AD13/DB1
D46/AD14/DB2
D47/AD15/DB3
D48/AD16/DB4
D49/AD17/DB5
Note: *1, *2, and *3 correspond to the numbers with asterisk in figures 32.73 and 32.74.
tDICYC
tDCKIH
PCICLK/DCLKIN
(Input)
VIH
1/2VDDQ
tDCKIL
VIH
VIH
VIL
VIL
1/2VDDQ
Figure 32.72 PCICLK/DCLKIN Clock Input Timing
Rev.1.00 Jan. 10, 2008 Page 1623 of 1658
REJ09B0261-0100
32. Electrical Characteristics
PCICLK/DCLKIN
(Input)
tDS
tDH
Display input control signal*1
(Input)
Figure 32.73 Display Timing (with Respect to PCICLK/DCLKIN)
tDCYC
tDCKH
DEVSEL/DCLKOUT
(Output)
tDD
tDD
Display output control signal*2
(Output)
tDD
Digital data for display*3
(Output)
Figure 32.74 Display Timing (with Respect to DEVSEL/DCLKOUT)
Rev.1.00 Jan. 10, 2008 Page 1624 of 1658
REJ09B0261-0100
32. Electrical Characteristics
tEXHHW
tEXHLW
IRDY/HSYNC
(Input)
tEXVHW
IRDY/HSYNC
(Input)
tOD1
tOD2
LOCK/ODDF
(Input)
Figure 32.75 Display Timing in TV Synchronous Mode
32.4
AC Characteristic Test Conditions
The AC characteristic test conditions are as follows.
DDR pin only
• Input/output signal reference level
MDQS: /MDQS cross point
MCK: /MCK cross point
Other than above: VDDQ-DDR/2
• Input pulse level: VSSQ to VDDQ-DDR
• Input rise/fall time: 0.25 ns
Other pins
• Input/output signal reference level: VDDQ/2
• Input pulse level: VSSQ to VDDQ
• Input rise/fall time: 1 ns
Rev.1.00 Jan. 10, 2008 Page 1625 of 1658
REJ09B0261-0100
32. Electrical Characteristics
The following figure shows the output load circuit.
IOL
RT
DUT output
LSI output pin
CL
Reference level
IOH
Figure 32.76 Output Load Circuit
Notes: 1. CL is the total value, including the capacitance of the test jig. The capacitance of each
pin is set to 30 pF.
2. RT = 50Ω (DDR pin, AUD pin)
3. IOL = 24.5 mA (DDR pin, AUD pin)
4 mA (PC pin)
2 mA (other pins)
IOH = –24.5 mA (DDR pin, AUD pin)
–4 mA (PC pin)
–2 mA (other pins)
Rev.1.00 Jan. 10, 2008 Page 1626 of 1658
REJ09B0261-0100
Appendix
Appendix
A.
Package Dimensions
Figure A.1 Package Dimensions (436-Pin BGA)
Note: The Tj (junction temperature) of this LSI becomes over 125°C. So a careful thermal
design is necessary. Use a heat sink or forced air cooling to lower the Tj.
Rev.1.00 Jan. 10, 2008 Page 1627 of 1658
REJ09B0261-0100
Appendix
B.
Mode Pin Settings
The MODE14–MODE0 pin values are input in the event of a power-on reset via the PRESET pin.
Note: The MODE6 pin is output state after power-on reset.
Legend:
H: High level input
L: Low level input
Table B.1
Clock Operating Modes with External Pin Combination
Pin Value
MODE [4:0]
Pin Number
Clock
Operating
Mode
4 3 2 1 0
OSC/
External
input
Frequency
[MHz]
Min
12
Frequency
(vs. Input Clock)
Divider PLL
1
Ick Uck SHck GAck DUck Pck
Max 1
17
×1
× 36 × 18 × 18 × 9
×9
×3
DDRck Bck
× 18
×6
0
L
L
L
L
L
1
L
L
L
L
H
× 36 × 18 × 18
×9
×9
× 3/2 × 18
× 3/2
2
L
L
L
H L
× 36 × 12 × 12
×6
×6
×3
×6
3
L
L
L
H H
× 3/2 × 12
16
H L
L
L
L
17
H L
L
L
18
H L
19
H L
× 36 × 12 × 12
× 12
×6
×6
× 36 × 18 × 9
×9
× 9/2
× 9/2 × 3/2 × 9
×3
H
× 18 × 9
×9
× 9/2
× 9/2 × 3/4 × 9
× 3/4
L
H L
× 18 × 6
×6
×3
×3
× 3/2 × 6
×3
L
H H
× 18 × 6
×6
×3
×3
× 3/4 × 6
× 3/4
23
34
×1
Note: When MODE12 or MODE11 is set to low level, DUck is stopped.
The division ratio of the divider 2 can be read out from FRQMR1.
For details, see section 15, Clock Pulse Generator (CPG).
Rev.1.00 Jan. 10, 2008 Page 1628 of 1658
REJ09B0261-0100
× 3/2
Appendix
Table B.2
Area 0 Memory Type and Bus Width
Pin Value
MODE7
MODE6* MODE5
L
L
H
H
L
H
Note:
*
Table B.3
Memory Interface
Bus Width
L
MPX interface
64 bits
H
Setting prohibited
Setting prohibited
L
Setting prohibited
Setting prohibited
H
MPX interface
32 bits
L
SRAM interface
64 bits
H
SRAM interface
8 bits
L
SRAM interface
16 bits
H
SRAM interface
32 bits
The MODE6 pin is output state after power-on reset.
Endian
Pin Value
MODE8
Endian
L
Big endian
H
Little endian
Table B.4
Master/Slave
Pin Value
MODE9
Master/Slave
L
Slave
H
Master
Table B.5
Clock Input
Pin Value
MODE10
Clock Input
L
External input clock
H
Crystal resonator
Rev.1.00 Jan. 10, 2008 Page 1629 of 1658
REJ09B0261-0100
Appendix
Table B.6
Bus Mode
Pin Value
MODE12
L
H
Table B.7
MODE11
Bus Mode
L
PCI host bus bridge
H
PCIC normal (non-host)
L
Local bus
H
Display unit
Boot Address Mode
Pin Value
MODE13
Boot address Mode
L
29-bit address mode
H
32-bit address extended mode
Table B.8
Mode Control
Pin Value
MODE14
Mode
L
Setting prohibited
H
Normal operation
Table B.9
Mode Control
Pin Value
MPMD
Mode
L
Emulation support mode
H
LSI operation mode
Note: When using emulation support mode, refer to the emulator manual of the SH7785.
Rev.1.00 Jan. 10, 2008 Page 1630 of 1658
REJ09B0261-0100
Appendix
C.
Pin Functions
C.1
Pin States
Table C.1
Pin States in Reset, Power-Down State, and Bus-Released State
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
Related
Module
I/O
PowerModule Bus
on
Manual Sleep Standby Release
A[25:0]
A[25:0]
LBSC
O
PZ
K
K
⎯
PZ/Z
D[31:24]
D[31:24] (default) LBSC
I/O
Z
K
K
⎯
Z
Port F[7:0]
GPIO
I/O
⎯
K
K
⎯
Z
D[23:16] (default) LBSC
I/O
Z
K
K
⎯
Z
Port G[7:0]
GPIO
I/O
⎯
K
K
⎯
Z
D[15:0]
D[15:0]
LBSC
I/O
Z
K
K
⎯
Z
CS[6:0]
CS[6:0]
LBSC
O
H(m)/
K
1
PZ(s) *
K
⎯
PZ/Z
BACK/BSREQ
BACK/BSREQ
(default)
LBSC
I/O
H*2
K
K
⎯
O
Port M0
GPIO
I/O
⎯
K
K
⎯
O
BREQ/BSACK
(default)
LBSC
I/O
PZ
K
K
⎯
I
D[23:16]
BREQ/BSACK
Port M1
GPIO
I/O
⎯
K
K
⎯
I
BS
BS
LBSC
O
H(m)/
K
PZ(s) *1
K
⎯
PZ/Z
R/W
R/W
LBSC
O
H(m)/
K
PZ(s) *1
K
⎯
PZ/Z
RD/FRAME
RD/FRAME
LBSC
O
H(m)/
K
PZ(s) *1
K
⎯
PZ/Z
RDY
RDY
LBSC
I
PI
K
K
⎯
I
WE0/REG
WE0/REG
LBSC
O
H(m)/
K
PZ(s) *1
K
⎯
PZ/Z
WE1
WE1
LBSC
O
H(m)/
K
1
PZ(s) *
K
⎯
PZ/Z
WE2/IORD
WE2/IORD
LBSC
O
H(m)/
K
PZ(s) *1
K
⎯
PZ/Z
WE3/IOWR
WE3/IOWR
LBSC
O
H(m)/
K
PZ(s) *1
K
⎯
PZ/Z
Rev.1.00 Jan. 10, 2008 Page 1631 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
DACK0
DACK1
DACK2/
SCIF2_TXD/
MMCCMD/
SIOF_TXD
DACK3/
SCIF2_SCK/
MMCDAT/
SIOF_SCK
STATUS0/
DRAK0
STATUS1/
DRAK1
DRAK2/CE2A
Related
Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
Port K1(default) GPIO
I/O
PI
K
K
⎯
K
DACK0
O
⎯
O
O
K
O
Port K0 (default) GPIO
I/O
PI
K
K
⎯
K
DACK1
O
⎯
O
O
K
O
DMAC
DMAC
Port K5 (default) GPIO
I/O
PI
K
K
⎯
K
DACK2
DMAC
O
⎯
O
O
O
O
SCIF2_TXD
SCIF
O
⎯
PZ/Z
O
O
O
MMCCMD
MMCIF
I/O
⎯
PI/I
K
K
K
SIOF_TXD
SIOF
O
⎯
H
K
K
K
Port K4 (default) GPIO
I/O
PI
K
K
⎯
K
DACK3
DMAC
O
⎯
O
O
O
O
SCIF2_SCK
SCIF
I/O
⎯
I
K
K
K
MMCDAT
MMCIF
I/O
⎯
I
K
K
K
SIOF_SCK
SIOF
I/O
⎯
L
K
K
K
STATUS0
(default)
RESET
O
H
H
L
H
L
DRAK0
DMAC
O
⎯
O
O
O
O
Port K7
GPIO
I/O
⎯
K
K
K
K
STATUS1
(default)
RESET
O
H
H
H
L
L
DRAK1
DMAC
O
⎯
O
O
O
O
Port K6
GPIO
I/O
⎯
K
K
K
K
Port L5 (default) GPIO
I/O
PI
K
K
K
K
DRAK2
DMAC
O
⎯
O
O
O
O
CE2A
LBSC
O
⎯
K
K
K
K
Rev.1.00 Jan. 10, 2008 Page 1632 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
DREQ0
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
Port K3 (default) GPIO
I/O
PI
K
K
⎯
K
DREQ0
I
⎯
PI/I
PI/I
PI/I
PI/I
Port K2 (default) GPIO
I/O
PI
K
K
⎯
K
DREQ1
I
⎯
PI/I
PI/I
PI/I
PI/I
Port L7 (default) GPIO
I/O
PI
K
K
⎯
K
DREQ2
DMAC
I
⎯
PI/I
PI/I
PI/I
PI/I
INTB
PCIC
I
⎯
K
K
⎯
K
Port L6 (default) GPIO
I/O
PI
K
K
⎯
K
DREQ3
DMAC
I
⎯
PI/I
PI/I
PI/I
PI/I
INTC
PCIC
I
⎯
K
K
⎯
K
MCLK[1:0]
MCLK[1:0]
DBSC2
O
L
K
K
⎯
K
MCLK[1:0]
MCLK[1:0]
DBSC2
O
L
K
K
⎯
K
MDQS[3:0]
MDQS[3:0]
DBSC2
I/O
Z
K
K
⎯
K
MDQS[3:0]
MDQS[3:0]
DBSC2
I/O
Z
K
K
⎯
K
MDM[3:0]
MDQ[3:0]
DBSC2
O
H
K
K
⎯
K
MDQ[31:0]
MDQ[31:0]
DBSC2
I/O
Z
K
K
⎯
K
MCKE
MCKE
DBSC2
O
L
K
K
⎯
K
MCAS
MCAS
DBSC2
O
L
K
K
⎯
K
MRAS
MRAS
DBSC2
O
L
K
K
⎯
K
MCS
MCS
DBSC2
O
L
K
K
⎯
K
DREQ1
DREQ2/INTB
DREQ3/INTC
Related
Module
DMAC
DMAC
MWE
MWE
DBSC2
O
L
K
K
⎯
K
MODT
MODT
DBSC2
O
L
K
K
⎯
K
MA[14:0]
MA[14:0]
DBSC2
O
L
K
K
⎯
K
MBA[2:0]
MBA[2:0]
DBSC2
O
L
K
K
⎯
K
MBKPRST
MBKPRST
DBSC2
I
I
K
K
⎯
K
Rev.1.00 Jan. 10, 2008 Page 1633 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
Related
(Module level) Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
D[63:56]/
AD[31:24] *3
AD[31:24]
PCIC
I/O
PZ
K
K
⎯
K
D[63:56]
LBSC
I/O
PZ
K
K
⎯
Z
Port A[7:0]
GPIO
I/O
PZ
K
K
⎯
K
AD[23:18]
PCIC
I/O
PZ
K
K
⎯
K
D[55:50]/
AD[23:18] *3
D[49:48]/
AD[17:16]/
3
DB[5:4] *
D[47:44]/
AD[15:12]/
3
DB[3:0] *
D[43:40]/
AD[11:8]/
DG[5:2] *3
D[39:38]/
AD [7:6]/
3
DG[1:0] *
D[37:32]/
AD[5:0]/
DR[5:0] *3
WE[7:4]/
CBE [3:0] *3
GNT0/GNTIN*3
D[55:50]
LBSC
I/O
PZ
K
K
⎯
Z
Port B[7:2]
GPIO
I/O
PZ
K
K
⎯
K
AD[17:16]
PCIC
I/O
PZ
K
K
⎯
K
D[49:48]
LBSC
I/O
PZ
K
K
⎯
Z
DB[5:4]
DU
O
PZ
K
K
K
K
Port B[1:0]
GPIO
I/O
⎯
K
K
⎯
K
AD[15:12]
PCIC
I/O
PZ
K
K
⎯
K
D[47:44]
LBSC
I/O
PZ
K
K
⎯
Z
DB[3:0]
DU
O
PZ
K
K
K
K
Port C[7:4]
GPIO
I/O
⎯
K
K
⎯
K
AD[11:8]
PCIC
I/O
PZ
K
K
⎯
K
D[43:40]
LBSC
I/O
PZ
K
K
⎯
Z
DG[5:2]
DU
O
PZ
K
K
K
K
Port C[3:0]
GPIO
I/O
⎯
K
K
⎯
K
AD[7:6]
PCIC
I/O
PZ
K
K
⎯
K
D[39:38]
LBSC
I/O
PZ
K
K
⎯
Z
DG[1:0]
DU
O
PZ
K
K
K
K
Port D[7:6]
GPIO
I/O
⎯
K
K
⎯
K
AD[5:0]
PCIC
I/O
PZ
K
K
⎯
K
D[37:32]
LBSC
I/O
PZ
K
K
⎯
Z
DR[5:0]
DU
O
PZ
K
K
K
K
Port D[5:0]
GPIO
I/O
⎯
K
K
⎯
K
CBE[3:0]
PCIC
I/O
PZ
K
K
⎯
K
WE[7:4]
LBSC
O
PZ
K
K
⎯
Z
Port R[3:0]
GPIO
I/O
PZ
K
K
⎯
K
GNT0/GNTIN
PCIC
I/O
PZ
K
K
⎯
K
Port Q3
GPIO
I/O
PZ
K
K
⎯
K
Rev.1.00 Jan. 10, 2008 Page 1634 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
Related
(Module level) Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
GNT3/
MMCCLK *3
GNT3
PCIC
O
PZ
K
K
⎯
K
MMCCLK
MMCIF
O
PZ
K
K
K
K
Port E0
GPIO
I/O
PZ
K
K
⎯
K
GNT[2:1]
PCIC
O
PZ
K
K
⎯
K
GNT[2:1] *
3
GPIO
I/O
PZ
K
K
⎯
K
PCIC
I/O
PZ
K
K
⎯
K
Port Q2
GPIO
I/O
PZ
K
K
⎯
K
REQ3
PCIC
I
PZ
K
K
⎯
K
Port E3
GPIO
I/O
PZ
K
K
⎯
K
REQ[2:1]
PCIC
I
PZ
K
K
⎯
K
Port E1-E2
REQ0/REQOUT*3 REQ0/
REQOUT
REQ3*
3
REQ[2:1] *
3
DEVSEL/
DCLKOUT*3
PCIFRAME/
VSYNC*3
IDSEL
INTA*
3
IRDY/HSYNC*
LOCK/ODDF*
3
3
Port E4-E5
GPIO
I/O
PZ
K
K
⎯
K
DEVSEL
PCIC
I/O
PZ
K
K
⎯
K
DCLKOUT
DU
O
PZ
K
K
⎯
K
Port P5
GPIO
I/O
PZ
K
K
⎯
K
PCIFRAME
PCIC
I/O
PZ
K
K
⎯
K
VSYNC
DU
I/O
PZ
K
K
⎯
K
Port P0
GPIO
I/O
PZ
K
K
⎯
K
IDSEL
PCIC
I
I
I
K
⎯
I
INTA
PCIC
I/O
PZ
K
K
⎯
K
Port Q4
GPIO
I/O
PZ
K
K
⎯
K
IRDY
PCIC
I/O
PZ
K
K
⎯
K
HSYNC
DU
I/O
PZ
K
K
⎯
K
Port P1
GPIO
I/O
PZ
K
K
⎯
K
LOCK
PCIC
I/O
PZ
K
K
⎯
K
ODDF
DU
I/O
PZ
K
K
⎯
K
Port P3
GPIO
I/O
PZ
K
K
⎯
K
PAR
PAR
PCIC
I/O
PZ
O
K
⎯
O
PCICLK/
DCLKIN*4
PCICLK
PCIC
I
I
PI
K
⎯
K
DCLKIN
DU
I
I
PI
K
⎯
K
Rev.1.00 Jan. 10, 2008 Page 1635 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
Related
Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
PCIRESET
PCIRESET
PCIC
O
L
O
K
⎯
O
PERR*
3
PERR
PCIC
I/O
PZ
K
K
⎯
K
Port Q1
GPIO
I/O
PZ
K
K
⎯
K
SERR*
3
SERR
PCIC
I/O
PZ
K
K
⎯
K
Port Q0
GPIO
I/O
PZ
K
K
⎯
K
STOP
PCIC
I/O
PZ
K
K
⎯
K
CDE
DU
O
PZ
K
K
⎯
K
Port P4
GPIO
I/O
PZ
K
K
⎯
K
TRDY
PCIC
I/O
PZ
K
K
⎯
K
DISP
DU
O
PZ
K
K
⎯
K
Port P2
GPIO
I/O
PZ
K
K
⎯
K
CLKOUT
CPG
O
O
K
K
⎯
K
STOP/CDE*3
TRDY/DISP*
3
CLKOUT
CLKOUTENB
CLKOUTENB
CPG
O
H
K
K
⎯
K
PRESET
PRESET
RESET
I
I
I
I
⎯
I
NMI
NMI
INTC
I
PI
PI/I
PI/I
⎯
PI/I
MRESETOUT/
IRQOUT
MRESETOUT
(default)
RESET
O
H
L
O
⎯
O
IRQOUT
INTC
O
H
O
O
⎯
O
IRQ/IRL[3:0]
IRQ/IRL[3:0]
INTC
I
PI
I
I
⎯
I
MODE0/
IRQ/IRL4/
FD4
MODE0 (power- CPG
on reset)
I
I
⎯
⎯
⎯
⎯
Port L4 (default) GPIO
I/O
⎯
K
K
⎯
K
IRQ/IRL4
INTC
I
⎯
I
I
⎯
I
FD4
FLCTL
I/O
⎯
K
K
K
K
MODE1 (power- CPG
on reset)
I
I
⎯
⎯
⎯
⎯
Port L3 (default) GPIO
I/O
⎯
K
K
⎯
K
IRQ/IRL5
INTC
I
⎯
I
I
⎯
I
FD5
FLCTL
I/O
⎯
K
K
K
K
MODE1
IRQ/IRL5/
FD5
Rev.1.00 Jan. 10, 2008 Page 1636 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
MODE2/
IRQ/IRL6/
FD6
MODE3/
IRQ/IRL7/
FD7
MODE4/
SCIF3_TXD/
FCLE
MODE5/
SIOF_MCLK
MODE6/
SIOF_SYNC
MODE7/
SCIF3_RXD/
FALE
MODE8/
SCIF3_SCK/
FD0
Related
Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
MODE2 (power- CPG
on reset)
I
I
⎯
⎯
⎯
⎯
Port L2 (default) GPIO
I/O
⎯
K
K
⎯
K
IRQ/IRL6
INTC
I
⎯
I
I
⎯
I
FD6
FLCTL
I/O
⎯
K
K
K
K
MODE3
(POWER-ON
RESET)
CPG
I/O
I
⎯
⎯
⎯
⎯
Port L1 (default) GPIO
I/O
⎯
K
K
⎯
K
IRQ/IRL7
INTC
I
⎯
I
I
⎯
I
FD7
FLCTL
I/O
⎯
K
K
K
K
MODE4 (power- CPG
on reset)
I
I
⎯
⎯
⎯
⎯
Port N5 (default) GPIO
I/O
⎯
K
K
⎯
K
SCIF3_TXD
SCIF
O
⎯
Z
O
O
O
FCLE
FLCTL
O
⎯
K
K
K
K
MODE5 (power- LBSC
on reset)
I
I
⎯
⎯
⎯
⎯
SIOF_MCLK
(default)
SIOF
I
⎯
I
I
I
I
MODE6 (power- LBSC
on reset)
I
I
⎯
⎯
⎯
⎯
SIOF_SYNC
(default)
I/O
⎯
O*
K
K
K
MODE7 (power- LBSC
on reset)
I
I
⎯
⎯
⎯
⎯
Port N4 (default) GPIO
I/O
⎯
K
K
⎯
K
SIOF
2
SCIF3_RXD
SCIF
I
⎯
I
I
I
I
FALE
FLCTL
O
⎯
K
K
K
K
MODE8 (power- LBSC
on reset)
I
I
⎯
⎯
⎯
⎯
Port N3 (default) GPIO
I/O
⎯
K
K
⎯
K
SCIF3_SCK
SCIF
I/O
⎯
I
K
K
K
FD0
FLCTL
I/O
⎯
K
K
K
K
Rev.1.00 Jan. 10, 2008 Page 1637 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
MDOE9/
SCIF4_TXD/
FD1
MODE10/
SCIF4_RXD/
FD2
MODE11/
SCIF4_SCK/
FD3
MODE12/
DRAK3/
CE2B
Related
Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
MDOE9 (power- LBSC
on reset)
I
I
⎯
⎯
⎯
⎯
Port N2 (default) GPIO
I/O
⎯
K
K
⎯
K
SCIF4_TXD
SCIF
O
⎯
Z
O
O
O
FD1
FLCTL
I/O
⎯
K
K
K
K
MODE10
CPG
(power-on reset)
I
I
⎯
⎯
⎯
⎯
Port N1 (default) GPIO
I/O
⎯
K
K
⎯
K
SCIF4_RXD
SCIF
I
⎯
I
I
I
I
FD2
FLCTL
I/O
⎯
K
K
K
K
MODE11
LBSC
(power-on reset)
I
I
⎯
⎯
⎯
⎯
Port N0 (default) GPIO
I/O
⎯
K
K
⎯
K
SCIF4_SCK
SCIF
I/O
⎯
I
K
K
K
FD3
FLCTL
I/O
⎯
K
K
K
K
MODE12
LBSC
(power-on reset)
I
I
⎯
⎯
⎯
⎯
Port L0 (default) GPIO
I/O
⎯
K
K
⎯
K
DRAK3
DMAC
O
⎯
O
O
O
O
CE2B
LBSC
O
⎯
K
K
K
K
I
I
⎯
⎯
⎯
⎯
I/O
⎯
K
K
⎯
K
I
⎯
I
I
I
I
MODE13(power- MODE13
MMU
on reset)/
Port J0 (default) GPIO
TCLK/
TCLK
TMU
IOIS16
IOIS16
LBSC
I
⎯
K
K
K
K
MODE14
MODE14
CPG
I
I
I
I
I
I
EXTAL
EXTAL
CPG
I
I
I
I
⎯
I
XTAL
XTAL
CPG
O
O
O
O
⎯
O
SCIF0_CTS/
INTD/
FCE
Port H4 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF0_CTS
SCIF
I/O
⎯
I
K
K
K
INTD
PCIC
I
⎯
K
K
⎯
K
FCE
FLCTL
O
⎯
O
K
K
K
Rev.1.00 Jan. 10, 2008 Page 1638 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
SCIF0_RTS/
HSPI_CS/
FSE
SCIF0_RXD/
HSPI_RX/
FRB
SCIF0_SCK/
HSPI_CLK/
FRE
SCIF0_TXD/
HSPI_TX/
FWE
SCIF1_RXD
SCIF1_SCK
SCIF1_TXD
SCIF2_RXD/
SIOF_RXD
SIOF_MCLK/
HAC_RES
Related
Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
Port H3 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF0_RTS
SCIF
I/O
⎯
I
K
K
K
HSPI_CS
HSPI
I/O
⎯
Z
K
K
K
FSE
FLCTL
O
⎯
O
K
K
k
Port H1 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF0_RXD
SCIF
I
⎯
I
I
K
I
HSPI_RX
HSPI
I
⎯
I
K
K
K
FRB
FLCTL
I
⎯
I
K
K
K
Port H2 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF0_SCK
SCIF
I/O
⎯
I
K
K
K
HSPI_CLK
HSPI
I/O
⎯
Z
K
K
K
FRE
FLCTL
O
⎯
O
K
K
K
Port H0 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF0_TXD
SCIF
O
⎯
Z
O
K
O
HSPI_TX
HSPI
O
⎯
Z
K
K
K
FWE
FLCTL
O
⎯
O
K
K
K
Port H6 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF1_RXD
I
⎯
I
I
I
I
Port H7 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF1_SCK
I/O
⎯
I
K
K
K
SCIF
SCIF
Port H5 (default) GPIO
I/O
PI
Z
K
⎯
K
SCIF1_TXD
SCIF
O
⎯
K
O
K
O
SCIF2_RXD
(default)
SCIF
I
PI
I
K
K
K
SIOF_RXD
SIOF
I
⎯
I
I
I
I
Port J3 (default) GPIO
I/O
PI
K
K
⎯
K
SIOF_MCLK
SIOF
I
⎯
I
I
I
I
HAC_RES
HAC
O
⎯
O
O
O
O
Rev.1.00 Jan. 10, 2008 Page 1639 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
SIOF_RXD/
HAC0_SDIN/
SSI0_SCK
SIOF_SCK/
HAC0_BITCLK/
SSI0_CLK
SIOF_SYNC/
HAC0_SYNC/
SSI0_WS
SIOF_TXD/
HAC0_SDOUT/
SSI0_SDATA
HAC1_BITCLK/
SSI1_CLK
SCIF5_TXD/
HAC1_SYNC/
SSI1_WS
SCIF5_RXD/
HAC1_SDIN/
SSI1_SCK
Related
Module
I/O
Power
Module Bus
-on
Manual Sleep Standby Release
Port J5 (default) GPIO
I/O
PI
K
K
⎯
K
SIOF_RXD
SIOF
I
⎯
I
I
I
I
HAC0_SDIN
HAC
I
⎯
I
I
I
I
SSI0_SCK
SSI
I/O
⎯
K
K
K
K
Port J2 (default) GPIO
I/O
PI
K
K
⎯
K
SIOF_SCK
SIOF
I/O
⎯
L
K
K
K
HAC0_BITCLK
HAC
I
⎯
I
I
I
I
SSI0_CLK
SSI
I
⎯
I
I
I
I
Port J4 (default) GPIO
I/O
PI
K
K
⎯
K
SIOF_SYNC
SIOF
I/O
⎯
L
K
K
K
HAC0_SYNC
HAC
O
⎯
O
O
O
O
SSI0_WS
SSI
I/O
⎯
I
K
K
K
Port J6 (default) GPIO
I/O
PI
K
K
⎯
K
SIOF_TXD
SIOF
O
⎯
H
K
K
K
HAC0_SDOUT
HAC
O
⎯
O
O
O
O
SSI0_SDATA
SSI
I/O
⎯
I
K
K
K
Port J1 (default) GPIO
I/O
PI
K
K
⎯
K
HAC1_BITCLK
HAC
I
⎯
I
I
I
I
SSI1_CLK
SSI
I
⎯
I
I
I
I
Port J7 (default) GPIO
I/O
PI
K
K
⎯
K
SCIF5_TXD
SCIF
O
⎯
Z
O
O
O
HAC1_SYNC
HAC
O
⎯
O
O
O
O
SSI1_WS
SSI
I/O
⎯
I
K
K
K
Port N7
(default)
GPIO
I/O
PI
K
K
⎯
K
SCIF5_RXD
SCIF
I
⎯
I
I
I
I
HAC1_SDIN
HAC
I
⎯
I
I
I
I
SSI1_SCK
SSI
I/O
⎯
I
K
K
K
Rev.1.00 Jan. 10, 2008 Page 1640 of 1658
REJ09B0261-0100
Appendix
Reset
Pin Name
(LSI level)
Pin Name
(Module level)
Related
Module
I/O
Module Bus
Power
Manual Sleep Standby Release
-on
SCIF5_SCK/
HAC1_SDOUT/
SSI1_SDATA
Port N6
(default)
GPIO
I/O
PI
K
K
⎯
K
SCIF5_SCK
SCIF
I/O
⎯
I
K
K
K
ASEBRK/
BRKACK
TCK
TRST
TDI
TMS
TDO
AUDCK
AUDSYNC
AUDATA[3:0]
MPMD
HAC1_SDOUT
HAC
O
⎯
O
O
O
O
SSI1_SDATA
SSI
I/O
⎯
I
K
K
K
ASEBRK/
BRKACK
TCK
TRST
TDI
TMS
TDO
AUDCK
AUDSYNC
AUDATA[3:0]
MPMD
H-UDI
I/O
PI
PI/O
PI/O
⎯
PI/O
H-UDI
H-UDI
H-UDI
H-UDI
H-UDI
H-UDI
H-UDI
H-UDI
H-UDI
I
I
I
I
O
O
O
O
I
PI
PI
PI
PI
O
O
O
O
I
PI
PI
PI
PI
O
O
O
O
I
PI
PI
PI
PI
O
O
O
O
I
PI
PI
PI
PI
O
⎯
⎯
⎯
⎯
PI
PI
PI
PI
O
O
O
O
I
Legend:
⎯:
Disabled (not selected) or not supported
(m):
LBSC master mode
(s):
LBSC slave mode
I:
Input
O:
Output
H:
High level output
L:
Low level output
Z:
High impedance state
PI:
Input and pulled up with a built-in pull-up resistance.
PZ:
High impedance and pulled up with a built-in pull-up resistance.
K:
Retain the previous pin state.
POR: Power-on reset
Notes: 1. Depends on the MODE9 pin setting.
2. After power-or reset, this pin is output state. Must not input signals immediately after
power-on reset.
3. Depends on the settings of the MODE[12:11] pin and corresponding registers.
4. When the bus mode selected by MODE11/MODE12 pins is PCI host bus bridge or
PCIC normal (non-host), clock must be input to PCICLK pin. When the bus mode
selected by MODE11/MODE12 pins is local bus or display unit, PCICLK pin must be
pulled-up to VDDQ or pulled-down to GND.
Rev.1.00 Jan. 10, 2008 Page 1641 of 1658
REJ09B0261-0100
Appendix
C.2
Handling of Unused Pins
Table C.2
Treatment of Unused Pins
Pin Name (LSI level)
Pin Name
(Module level)
Module
I/O
When Not in Use
A[25:0]
A[25:0]
LBSC
O
Open
D[31:24]
D[31:24] (default)
LBSC
I/O
Open
Port F[7:0]
GPIO
I/O
D[23:16] (default)
LBSC
I/O
Port G[7:0]
GPIO
I/O
D[15:8]
D[15:8]
LBSC
I/O
Open
D[7:0]
D[7:0]
LBSC
I/O
Must be used
CS[6:1]
CS[6:1]
LBSC
O
Open
CS0
CS0
LBSC
O
Must be used
BACK/BSREQ
BACK/BSREQ (default) LBSC
I/O
Open
Port M0
GPIO
I/O
BREQ/BSACK (default) LBSC
I/O
Port M1
GPIO
I/O
BS
BS
LBSC
O
Open
R/W
R/W
LBSC
O
Open
RD/FRAME
RD/FRAME
LBSC
O
Open
RDY
RDY
LBSC
I
Pulled-down to VSS*1
WE0/REG
WE0/REG
LBSC
O
Open
WE1
WE1
LBSC
O
Open
WE2/IORD
WE2/IORD
LBSC
O
Open
WE3/IOWR
WE3/IOWR
LBSC
O
Open
DACK0
Port K1(default)
GPIO
I/O
Open
DACK0
DMAC
O
Port K0 (default)
GPIO
I/O
DACK1
DMAC
O
D[23:16]
BREQ/BSACK
DACK1
Rev.1.00 Jan. 10, 2008 Page 1642 of 1658
REJ09B0261-0100
Open
Pulled to VDDQ
Open
Appendix
Pin Name (LSI level)
DACK2/
SCIF2_TXD/
MMCCMD/
SIOF_TXD
DACK3/
SCIF2_SCK/
MMCDAT/
SIOF_SCK
STATUS0/
DRAK0
STATUS1/
DRAK1
DRAK2/CE2A
DREQ0
DREQ1
DREQ2/INTB
DREQ3/INTC
Pin Name
(Module level)
Module
I/O
When Not in Use
Port K5 (default)
GPIO
I/O
Open
DACK2
DMAC
O
SCIF2_TXD
SCIF
O
MMCCMD
MMCIF
I/O
SIOF_TXD
SIOF
O
Port K4 (default)
GPIO
I/O
DACK3
DMAC
O
SCIF2_SCK
SCIF
I/O
MMCDAT
MMCIF
I/O
SIOF_SCK
SIOF
I/O
STATUS0 (default)
RESET
O
DRAK0
DMAC
O
Port K7
GPIO
I/O
STATUS1 (default)
RESET
O
DRAK1
DMAC
O
Port K6
GPIO
I/O
Port L5 (default)
GPIO
I/O
DRAK2
DMAC
O
CE2A
LBSC
O
Port K3 (default)
GPIO
I/O
DREQ0
DMAC
I
Port K2 (default)
GPIO
I/O
DREQ1
DMAC
I
Port L7 (default)
GPIO
I/O
DREQ2
DMAC
I
INTB
PCIC
I
Port L6 (default)
GPIO
I/O
DREQ3
DMAC
I
INTC
PCIC
I
Open
Open
Open
Open
Open
Open
Open
Open
Rev.1.00 Jan. 10, 2008 Page 1643 of 1658
REJ09B0261-0100
Appendix
Pin Name
(LSI level)
Pin Name
(Module level)
Module
I/O
When Not in Use
MCLK[1:0]
MCLK[1:0]
DBSC2
O
Open
MCLK[1:0]
MCLK[1:0]
DBSC2
O
Open
MDQS[3:0]
MDQS[3:0]
DBSC2
I/O
Open
MDQS[3:0]
MDQS[3:0]
DBSC2
I/O
Open
MDM[3:0]
MDQ[3:0]
DBSC2
O
Open
MDQ[31:0]
MDQ[31:0]
DBSC2
I/O
Open
MCKE
MCKE
DBSC2
O
Open
MCAS
MCAS
DBSC2
O
Open
MRAS
MRAS
DBSC2
O
Open
MCS
MCS
DBSC2
O
Open
MWE
MWE
DBSC2
O
Open
MODT
MODT
DBSC2
O
Open
MA[14:0]
MA[14:0]
DBSC2
O
Open
MBA[2:0]
MBA[2:0]
DBSC2
O
Open
MBKPRST
MBKPRST
DBSC2
I
Pulled-up to VDD-DDR
D[63:56]/
AD[31:24]
AD[31:24]
PCIC
I/O
Open*2
D[63:56]
LBSC
I/O
Port A[7:0]
GPIO
I/O
AD[23:18]
PCIC
I/O
D[55:50]
LBSC
I/O
Port B[7:2]
GPIO
I/O
AD[17:16]
PCIC
I/O
D[49:48]
LBSC
I/O
DB[5:4]
DU
O
Port B[1:0]
GPIO
I/O
AD[15:12]
PCIC
I/O
D[47:44]
LBSC
I/O
DB[3:0]
DU
O
D[55:50]/
AD[23:18]
D[49:48]/
AD[17:16]/
DB[5:4]
D[47:44]/
AD[15:12]/
DB[3:0]
Rev.1.00 Jan. 10, 2008 Page 1644 of 1658
REJ09B0261-0100
Open*2
Open*2
Open*2
Open*2
Appendix
Pin Name (LSI level)
D[43:40]/
AD[11:8]/
DG[5:2]
D[39:38]/
AD [7:6]/
DG[1:0]
D[37:32]/
AD[5:0]/
DR[5:0]
WE[7:4]/
CBE [3:0]
GNT0/GNTIN
GNT3/MMCCLK
GNT[2:1]
REQ0/REQOUT
REQ3
REQ[2:1]
DEVSEL/
DCLKOUT
Pin Name
(Module level)
Module
I/O
When Not in Use
AD[11:8]
PCIC
I/O
Open*2
D[43:40]
LBSC
I/O
DG[5:2]
DU
O
Port C[3:0]
GPIO
I/O
AD[7:6]
PCIC
I/O
D[39:38]
LBSC
I/O
DG[1:0]
DU
O
Port D[7:6]
GPIO
I/O
AD[5:0]
PCIC
I/O
D[37:32]
LBSC
I/O
DR[5:0]
DU
O
Port D[5:0]
GPIO
I/O
CBE[3:0]
PCIC
I/O
WE[7:4]
LBSC
O
Port R[3:0]
GPIO
I/O
GNT0/GNTIN
PCIC
I/O
Port Q3
GPIO
I/O
GNT3
PCIC
O
MMCCLK
MMCIF
O
Port E0
GPIO
I/O
GNT[2:1]
PCIC
O
Port E1-E2
GPIO
I/O
REQ0/REQOUT
PCIC
I/O
Port Q2
GPIO
I/O
REQ3
PCIC
I
Port E3
GPIO
I/O
REQ[2:1]
PCIC
I
Port E4-E5
GPIO
I/O
DEVSEL
PCIC
I/O
DCLKOUT
DU
O
Port P5
GPIO
I/O
Open*2
Open*2
Open*2
Open*2
Open
Open
Open*2
Open*2 or pulled-up to VDDQ
when PCIC normal mode
Open*2 or pulled-up to VDDQ
when PCIC normal mode
Open*3
Rev.1.00 Jan. 10, 2008 Page 1645 of 1658
REJ09B0261-0100
Appendix
Pin Name
(Module level)
Module
I/O
When Not in Use
PCIFRAME
PCIC
I/O
Open*2
VSYNC
DU
I/O
Port P0
GPIO
I/O
IDSEL
IDSEL
PCIC
I
Pulled-down to VSS
INTA
INTA
PCIC
I/O
Port Q4
GPIO
I/O
Open*2 or pulled-up to VDDQ
when PCIC normal mode
IRDY
PCIC
I/O
Open*2
HSYNC
DU
I/O
Port P1
GPIO
I/O
LOCK
PCIC
I/O
ODDF
DU
I/O
Port P3
GPIO
I/O
PAR
PAR
PCIC
I/O
Open*2
PCICLK/
DCLKIN
PCICLK
PCIC
I
DCLKIN
DU
I
When the bus mode selected
by MODE11 and MODE12
pins is a PCI host bus bridge
or a PCI normal (non-host)
mode, clock must be input to
the PCICLK pin.
Pin Name (LSI level)
PCIFRAME/
VSYNC
IRDY/HSYNC
LOCK/ODDF
Open*2
When the bus mode selected
by MODE11 and MODE12
pins is a Local bus or Display
Unit mode, PCICLK pin must
be pulled-up to VDDQ or
pulled-down to GND.
PCIRESET
PCIRESET
PCIC
O
Open
PERR
PERR
PCIC
I/O
Open*2
Port Q1
GPIO
I/O
SERR
PCIC
I/O
Port Q0
GPIO
I/O
STOP
PCIC
I/O
CDE
DU
O
Port P4
GPIO
I/O
SERR
STOP/CDE
Rev.1.00 Jan. 10, 2008 Page 1646 of 1658
REJ09B0261-0100
Open*2
Open*2
Appendix
Pin Name (LSI level)
Pin Name
(Module level)
Module
I/O
When Not in Use
TRDY/DISP
TRDY
PCIC
I/O
Open*2
DISP
DU
O
Port P2
GPIO
I/O
CLKOUT
CPG
O
CLKOUT
Open
CLKOUTENB
CLKOUTENB
CPG
O
Open
PRESET
PRESET
RESET
I
Must be used
NMI
NMI
INTC
I
Pulled-up to VDDQ
MRESETOUT/
IRQOUT
MRESETOUT
RESET
O
Open
IRQOUT
INTC
O
IRQ/IRL[3:0]
IRQ/IRL[3:0]
INTC
I
Pulled-up to VDDQ
MODE0/
IRQ/IRL4/
FD4
MODE0 (power-on
reset)
CPG
I
Must be used during power-on
reset
Port L4 (default)
GPIO
I/O
Open
IRQ/IRL4
INTC
I
FD4
FLCTL
I/O
MODE1 (power-on
reset)
CPG
I
Must be used during power-on
reset
Port L3 (default)
GPIO
I/O
Open
IRQ/IRL5
INTC
I
FD5
FLCTL
I/O
MODE2 (power-on
reset)
CPG
I
Must be used during power-on
reset
Port L2 (default)
GPIO
I/O
Open
IRQ/IRL6
INTC
I
FD6
FLCTL
I/O
MODE3 (power-on
reset)
CPG
I/O
Must be used during power-on
reset
Port L1 (default)
GPIO
I/O
Open
IRQ/IRL7
INTC
I
FD7
FLCTL
I/O
MODE1
IRQ/IRL5/
FD5
MODE2/
IRQ/IRL6/
FD6
MODE3/
IRQ/IRL7/
FD7
Rev.1.00 Jan. 10, 2008 Page 1647 of 1658
REJ09B0261-0100
Appendix
Pin Name (LSI level)
MODE4/
SCIF3_TXD/
FCLE
MODE5/
SIOF_MCLK
MODE6/
SIOF_SYNC
MODE7/
SCIF3_RXD/
FALE
MODE8/
SCIF3_SCK/
FD0
MDOE9/
SCIF4_TXD/
FD1
MODE10/
SCIF4_RXD/
FD2
Pin Name
(Module level)
Module
I/O
When Not in Use
MODE4 (power-on
reset)
CPG
I
Must be used during power-on
reset
Port N5 (default)
GPIO
I/O
Open
SCIF3_TXD
SCIF
O
FCLE
FLCTL
O
MODE5 (power-on
reset)
LBSC
I
Must be used during power-on
reset
SIOF_MCLK
SIOF
I
Open
MODE6 (power-on
reset)
LBSC
I
Must be used during power-on
reset
SIOF_SYNC
SIOF
I/O
Open
MODE7 (power-on
reset)
LBSC
I
Must be used during power-on
reset
Port N4 (default)
GPIO
I/O
Open
SCIF3_RXD
SCIF
I
FALE
FLCTL
O
MODE8 (power-on
reset)
LBSC
I
Must be used during power-on
reset
Port N3 (default)
GPIO
I/O
Open
SCIF3_SCK
SCIF
I/O
FD0
FLCTL
I/O
MDOE9 (power-on
reset)
LBSC
I
Must be used during power-on
reset
Port N2 (default)
GPIO
I/O
Open
SCIF4_TXD
SCIF
O
FD1
FLCTL
I/O
MODE10 (power-on
reset)
CPG
I
Must be used during power-on
reset
Port N1 (default)
GPIO
I/O
Open
SCIF4_RXD
SCIF
I
FD2
FLCTL
I/O
Rev.1.00 Jan. 10, 2008 Page 1648 of 1658
REJ09B0261-0100
Appendix
Pin Name (LSI level)
MODE11/
SCIF4_SCK/
FD3
Pin Name
(Module level)
Module
I/O
When Not in Use
MODE11 (power-on
reset)
LBSC
I
Must be used during power-on
reset
Port N0 (default)
GPIO
I/O
Open
SCIF4_SCK
SCIF
I/O
FD3
FLCTL
I/O
MODE12 (power-on
reset)
LBSC
I
Must be used during power-on
reset
Port L0 (default)
GPIO
I/O
Open
DRAK3
DMAC
O
CE2B
LBSC
O
MODE13
MMU
I
Must be used during power-on
reset
Port J0 (default)
GPIO
I/O
Open
TCLK
TMU
I
IOIS16
LBSC
I
MODE14
MODE14
CPG
I
Must be used during power-on
reset (Pulled-up to VDDQ)
EXTAL
EXTAL
CPG
I
Must be used
XTAL
XTAL
CPG
O
Open
SCIF0_CTS/
INTD/
FCE
Port H4 (default)
GPIO
I/O
Open
SCIF0_CTS
SCIF
I/O
INTD
PCIC
I
FCE
FLCTL
O
Port H3 (default)
GPIO
I/O
SCIF0_RTS
SCIF
I/O
HSPI_CS
HSPI
I/O
FSE
FLCTL
O
Port H1 (default)
GPIO
I/O
SCIF0_RXD
SCIF
I
HSPI_RX
HSPI
I
FRB
FLCTL
I
MODE12/
DRAK3/
CE2B
MODE13/
TCLK/
IOIS16
SCIF0_RTS/
HSPI_CS/
FSE
SCIF0_RXD/
HSPI_RX/
FRB
Open
Open
Rev.1.00 Jan. 10, 2008 Page 1649 of 1658
REJ09B0261-0100
Appendix
Pin Name (LSI level)
SCIF0_SCK/
HSPI_CLK/
FRE
SCIF0_TXD/
HSPI_TX/
FWE
SCIF1_RXD
SCIF1_SCK
SCIF1_TXD
Pin Name
(Module level)
Module
I/O
When Not in Use
Port H2 (default)
GPIO
I/O
Open
SCIF0_SCK
SCIF
I/O
HSPI_CLK
HSPI
I/O
FRE
FLCTL
O
Port H0 (default)
GPIO
I/O
SCIF0_TXD
SCIF
O
HSPI_TX
HSPI
O
FWE
FLCTL
O
Port H6 (default)
GPIO
I/O
SCIF1_RXD
SCIF
I
Port H7 (default)
GPIO
I/O
SCIF1_SCK
SCIF
I/O
Port H5 (default)
GPIO
I/O
SCIF1_TXD
SCIF
O
SCIF2_RXD/
SIOF_RXD
SCIF2_RXD (default)
SCIF
I
SIOF_RXD
SIOF
I
SIOF_MCLK/
HAC_RES
Port J3 (default)
GPIO
I/O
SIOF_MCLK
SIOF
I
HAC_RES
HAC
O
Port J5 (default)
GPIO
I/O
SIOF_RXD/
HAC0_SDIN/
SSI0_SCK
SIOF_SCK/
HAC0_BITCLK/
SSI0_CLK
SIOF_SYNC/
HAC0_SYNC/
SSI0_WS
SIOF_RXD
SIOF
I
HAC0_SDIN
HAC
I
SSI0_SCK
SSI
I/O
Port J2 (default)
GPIO
I/O
SIOF_SCK
SIOF
I/O
HAC0_BITCLK
HAC
I
SSI0_CLK
SSI
I
Port J4 (default)
GPIO
I/O
SIOF_SYNC
SIOF
I/O
HAC0_SYNC
HAC
O
SSI0_WS
SSI
I/O
Rev.1.00 Jan. 10, 2008 Page 1650 of 1658
REJ09B0261-0100
Open
Open
Open
Open
Open
Open
Open
Open
Open
Appendix
Pin Name (LSI level)
SIOF_TXD/
HAC0_SDOUT/
SSI0_SDATA
HAC1_BITCLK/
SSI1_CLK
SCIF5_TXD/
HAC1_SYNC/
SSI1_WS
SCIF5_RXD/
HAC1_SDIN/
SSI1_SCK
Pin Name
(Module level)
Module
I/O
When Not in Use
Port J6 (default)
GPIO
I/O
Open
SIOF_TXD
SIOF
O
HAC0_SDOUT
HAC
O
SSI0_SDATA
SSI
I/O
Port J1 (default)
GPIO
I/O
HAC1_BITCLK
HAC
I
SSI1_CLK
SSI
I
Port J7 (default)
GPIO
I/O
SCIF5_TXD
SCIF
O
HAC1_SYNC
HAC
O
SSI1_WS
SSI
I/O
Port N7
GPIO
I/O
Open
Open
Open
SCIF5_RXD
SCIF
I
HAC1_SDIN
HAC
I
SSI1_SCK
SSI
I/O
Port N6
GPIO
I/O
SCIF5_SCK
SCIF
I/O
HAC1_SDOUT
HAC
O
SSI1_SDATA
SSI
I/O
THDAG
⎯
⎯
Connected to VSS
THDAS
THDAS
⎯
⎯
Connected to VSS
THDCTL
THDCTL
⎯
⎯
Connected to VSS
THDCD
THDCD
⎯
⎯
Connected to VSS
VDDQ-TD
VDDQ-TD
⎯
⎯
Connected to VSS or VDDQ
ASEBRK/
BRKACK
ASEBRK/
BRKACK
H-UDI
I/O
Open
TCK
TCK
H-UDI
I
Open
TRST
TRST
H-UDI
I
Pulled-down to VSS or
4
connected to PRESET*
TDI
TDI
H-UDI
I
Open
TMS
TMS
H-UDI
I
Open
TDO
TDO
H-UDI
O
Open
SCIF5_SCK/
HAC1_SDOUT/
SSI1_SDATA
THDAG
Open
Rev.1.00 Jan. 10, 2008 Page 1651 of 1658
REJ09B0261-0100
Appendix
Pin Name (LSI level)
Pin Name
(Module level)
Module
I/O
When Not in Use
AUDCK
AUDCK
H-UDI
O
Open
AUDSYNC
AUDSYNC
H-UDI
O
Open
AUDATA[3:0]
AUDATA[3:0]
H-UDI
O
Open
MPMD
MPMD
H-UDI
I
Pulled-up to VDDQ
Notes: Power must be supplied to each power supply pin, even when the function pin is not used.
When a pin is not used, do not set the register for the pin.
1. This pin is pulled-up within this LSI after power-on reset. Set the RDYPUP bit in
PPUPR1 (GPIO) to 1 to pull-up off the RDY pin's pulled-up.
2. The MODE[12:11] pin settings should be LBSC mode to be open these pins.
3. Specify LBSC mode or DU mode by the MODE[12:11] pins.
4. When not using emulator, the pin should be fixed to ground or connected to another pin
which operates in the same manner as PRESET. However, when fixed to a ground pin,
the following problem occurs. Since the TRST pin is pulled up within this LSI, a weak
current flows when the pin is externally connected to ground pin. The value of the
current is determined by a resistance of the pull-up MOS for the port pin. Although this
current does not affect the operation of this LSI, it consumes unnecessary power.
Rev.1.00 Jan. 10, 2008 Page 1652 of 1658
REJ09B0261-0100
Appendix
D.
Turning On and Off Power Supply
D.1
Turning On and Off Between Each Power Supply Series
The order of the power supply between the 1.0V series power supply (VDD10: VDD and VDDPLL1 to 2 and VDDA-PLL1), the 1.8V series power supply (VDD18: VDD-DDR) and the 3.3V
series power supply (VDD33: VDDQ and VDDQ-PLL1 to 2 and VDDQ-TD*) is as follows.
Note: * If VDDQ-TD is connected to VDDQ.
• Turning On Power Supply
There is no restriction for the order of the power supply between each power supply series
(VDD10, VDD18, VDD33). Within 300 ms after turning on one power supply series, turn on
all the other power supply series.
• Turning Off Power Supply
There is no restriction for the order of the power supply between each power supply series.
(VDD10, VDD18, VDD33). Within 300 ms after turning off the one power supply series, turn
off all the other power supply series.
VDD10: VDD, VDD-PLL1 to 2, VDDA-PLL1
VDD18: VDD-DDR (except DDR2-SDRAM backup to turning on)
VDD33: VDDQ, VDDQ-PLL1 to 2, VDDQ-TD*
Turning on
0.1 × V**
Note: * If VDDQ-TD is connected to VDDQ.
V** min
V**:
VDD10, VDD18 (transition from DDR power supply backup), VDD33
300 > t > or = 0
[ms]
Turning off
0.9 × V**
0.2 [V]
V**:
VDD10, VDD18 (transition from DDR power supply backup), VDD33
300 > t > or = 0
[ms]
Figure D.1 Sequence of Turning On and Off Each Power Supply
Rev.1.00 Jan. 10, 2008 Page 1653 of 1658
REJ09B0261-0100
Appendix
D.2
Power-On and Power-Off Sequences for Power Supplies with Different Potentials in
DDR2-SDRAM Power Supply Backup Mode
The power-on and power-off sequences for the 1.0 V power supply (VDD10 using pins VDD,
VDD-PLL1, VDDA-PLL1, and VDD-PLL2), 1.8 V power supply (VDD18 using pin VDD-DDR),
and 3.3 V power supply (VDD33 using pins VDDQ, VDDQ-PLL1, VDDQ-PLL2, and VDDQTD*) in DDR2-SDRAM power supply backup mode are as follows.
Note: * If VDDQ-TD is connected to VDDQ.
• Power-On Sequence
There is no restriction on the sequence in which the above power supplies are powered on.
Ensure that all the power supplies start within 300 ms of the start of a power supply other than
VDD-DDR.
• Power-Off Sequence
There is no restriction on the sequence in which the above power supplies are powered off.
Ensure that all the power supplies stop within 300 ms of the stop of a power supply other than
VDD-DDR.
VDD18 = ON
VDD10 (pins: VDD, VDD-PLL1, VDDA-PLL1, VDD-PLL2)
VDD33 (pins: VDDQ, VDDQ-PLL1, VDDQ-PLL2, VDDQ-TD*)
0.1 × V**
V** min
Note: * If VDDQ-TD is connected to VDDQ.
V**: VDD10, VDD18, VDD33
300ms > t ≥ 0s
VDD18 = ON
0.9 × V**
V**: VDD10,VDD33
0.2 [V]
300ms > t ≥ 0s
Figure D.2 Power-On and Power-Off Sequences for Power Supplies with Different
Potentials in DDR2-SDRAM Power Supply Backup Mode
Rev.1.00 Jan. 10, 2008 Page 1654 of 1658
REJ09B0261-0100
Appendix
D.3
Turning On and Off Between the Same Power Supply Series
The order of the power supply in the VDD10 series, the VDD18 series and the VDD33 series
power supply is as follows.
Figure D.3 is an explanation chart of VDD10. The regulation of the potential difference is the
same VDD10 as the other (VDD10, VDD33).
• Turning On Power Supply
There is no restriction for the order of the power supply between each power supply series
except that the potential difference of the one power supply series is less than 0.3V.
• Turning Off Power Supply
There is no restriction for the order of the power supply between each power supply series
except that the potential difference of the one power supply series is less than 0.3V.
V**: VDD10: VDD, VDD-PLL 1 to 2, VDDA-PLL1
Tuurning off
Turning on
V**
V**
0.3V (max)
V**
0.3V (max)
V**
Figure D.3 Sequence of Turning On and Off VDD10 Power Supply Series
Rev.1.00 Jan. 10, 2008 Page 1655 of 1658
REJ09B0261-0100
Appendix
E.
Version Registers (PVR, PRR)
The SH7785 has the read-only registers which show the version of a processor core, and the
version of a product. By using the value of these registers, it becomes possible to be able to
distinguish the version and product of a processor from software, and to realize the scalability of
the high system. Since the values of the version registers differ for every product, please refer to
the hardware manual or contact Renesas Technology Corp.
Note: The bit 7 to bit 0 of PVR register and the bit 3 to bit 0 of PRR register should be masked
by the software.
Table E.1
Register Configuration
Register Name
Initial
Abbrev. R/W Value
P4
Address
Area 7
Address
Access
Size
Processor Version Register
PVR
R
H'1030 07xx H'FF00 0030 H'1F00 0030 32
Product Register
PRR
R
H'0000 02xx H'FF00 0044 H'1F00 0044 32
Legend:
x: Undefined
• Processor Version Register (PVR)
Bit:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
version information
Initial value
R/W:
0
R
0
R
0
R
Bit:
15
14
13
1
R
0
R
0
R
0
R
0
R
0
R
0
R
1
R
1
R
0
R
0
R
0
R
0
R
12
11
10
9
8
7
6
5
4
3
2
1
0
1
R
23
22
21
20
19
18
17
16
version information
Initial value
R/W:
0
R
0
R
0
R
0
R
0
R
1
R
1
R
28
27
26
25
• Product Register (PRR)
Bit:
31
30
29
24
version information
Initial value
R/W:
0
R
0
R
0
R
0
R
0
R
Bit:
15
14
13
12
11
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
10
9
8
7
6
5
4
3
2
1
0
version information
Initial value
R/W:
0
R
0
R
0
R
0
R
0
R
Rev.1.00 Jan. 10, 2008 Page 1656 of 1658
REJ09B0261-0100
0
R
1
R
0
R
Appendix
F.
Product Lineup
Table F.1
SH7785 Product Lineup
Product
Type
Voltage
Operating
Frequency
Part Number
Operating
Temperature
SH7785
1.1 V
600 MHz
R8A77850AADBG
−40 to 85°C
R8A77850AADBGV
R8A77850ANBG
R8A77850ANBGV
Package
436-pin BGA
436-pin BGA
(Lead Free)
−20 to 85°C
436-pin BGA
436-pin BGA
(Lead Free)
Rev.1.00 Jan. 10, 2008 Page 1657 of 1658
REJ09B0261-0100
Appendix
Rev.1.00 Jan. 10, 2008 Page 1658 of 1658
REJ09B0261-0100
Renesas 32-Bit RISC Microcomputer
Hardware Manual
SH7785
Publication Date: Rev.1.00, January 10, 2008
Published by:
Sales Strategic Planning Div.
Renesas Technology Corp.
Edited by:
Customer Support Department
Global Strategic Communication Div.
Renesas Solutions Corp.
© 2008. Renesas Technology Corp., All rights reserved. Printed in Japan.
Sales Strategic Planning Div.
Nippon Bldg., 2-6-2, Ohte-machi, Chiyoda-ku, Tokyo 100-0004, Japan
RENESAS SALES OFFICES
http://www.renesas.com
Refer to "http://www.renesas.com/en/network" for the latest and detailed information.
Renesas Technology America, Inc.
450 Holger Way, San Jose, CA 95134-1368, U.S.A
Tel: <1> (408) 382-7500, Fax: <1> (408) 382-7501
Renesas Technology Europe Limited
Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, U.K.
Tel: <44> (1628) 585-100, Fax: <44> (1628) 585-900
Renesas Technology (Shanghai) Co., Ltd.
Unit 204, 205, AZIACenter, No.1233 Lujiazui Ring Rd, Pudong District, Shanghai, China 200120
Tel: <86> (21) 5877-1818, Fax: <86> (21) 6887-7858/7898
Renesas Technology Hong Kong Ltd.
7th Floor, North Tower, World Finance Centre, Harbour City, Canton Road, Tsimshatsui, Kowloon, Hong Kong
Tel: <852> 2265-6688, Fax: <852> 2377-3473
Renesas Technology Taiwan Co., Ltd.
10th Floor, No.99, Fushing North Road, Taipei, Taiwan
Tel: <886> (2) 2715-2888, Fax: <886> (2) 3518-3399
Renesas Technology Singapore Pte. Ltd.
1 Harbour Front Avenue, #06-10, Keppel Bay Tower, Singapore 098632
Tel: <65> 6213-0200, Fax: <65> 6278-8001
Renesas Technology Korea Co., Ltd.
Kukje Center Bldg. 18th Fl., 191, 2-ka, Hangang-ro, Yongsan-ku, Seoul 140-702, Korea
Tel: <82> (2) 796-3115, Fax: <82> (2) 796-2145
Renesas Technology Malaysia Sdn. Bhd
Unit 906, Block B, Menara Amcorp, Amcorp Trade Centre, No.18, Jln Persiaran Barat, 46050 Petaling Jaya, Selangor Darul Ehsan, Malaysia
Tel: <603> 7955-9390, Fax: <603> 7955-9510
Colophon 6.2
SH7785
Hardware Manual
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : Yes Encryption : Standard V1.2 (40-bit) User Access : Print, Copy, Annotate, Fill forms, Extract, Assemble, Print high-res Page Mode : UseOutlines XMP Toolkit : 3.1-702 Producer : Acrobat Distiller 7.0.5 (Windows) Keywords : Jan.10.08 Creator Tool : PScript5.dll Version 5.2 Modify Date : 2008:01:10 10:41:58+09:00 Create Date : 2007:12:28 17:53:20+09:00 Metadata Date : 2008:01:10 10:41:58+09:00 Format : application/pdf Title : SH7785 Hardware Manual Creator : Rev.1.00 Description : REJ09B0261-0100 Subject : Jan.10.08 Document ID : uuid:11d24901-7eff-437c-9fe8-51c2a38ba5f1 Instance ID : uuid:fa38eeeb-c1c9-495e-8f7a-5a0fc8376665 Page Count : 1692 Page Layout : SinglePage Author : Rev.1.00EXIF Metadata provided by EXIF.tools