C-Boot ROM Description
588
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
6.6.9.3
MTOC IPC Command – IPC Commands Supported by C-Boot ROM
shows all the IPC commands supported by C-Boot ROM. The description column shows what
C-Boot ROM does to service the IPC command.
The ‘Value’ column shows the value that has to be written to MTOCIPCCOM register to send the
command in the MTOCIPCCOM column. The MTOCIPCADDR and MTOCIPCDATAW columns show how
these registers should be initialized by the master or how C-Boot ROM interprets these register contents
to be – for the respective command in the MTOCIPCCOM column.
The MTOCIPCDATAR and MTOCIPCFLG[31] columns show the values set by C-Boot ROM based on the
command sent by the master.
The heading ROW also shows the READ-WRITE permissions for each register for each core. If any of the
commands results in a failure, then the MTOCIPCDATAR register contents tell why the command failed.
This is explained in
.
Table 6-21. MTOC IPC Commands
Value
(M3 - R/W, C28X R)
MTOCIPCCOM
MTOCIPCADDR
(M3 - R/W,
B.C28X R)
MTOCIPCDATAW
(M3 - R/W, C28X
R)
MTOCIPCDATAR
(M3 - R, C28X
R/W)
MTOCIPCFLG[31]
= ?
(MTOCIPCFLAG[
0] = 0)
Description
0
MASTER_IPC_MTOC_COM
MAND_ILLEGAL
DON’T CARE
DON’T CARE
0x01 = Command
failure
Illegal command
1
MASTER_IPC_MTOC_SET_
BITS_16
Address of the 16
bit location
Data in
MTOCIPCDATAW[
15:0]
Data read back
from address after
write
0x00 = Command
success
*(address) |= data;
2
MASTER_IPC_MTOC_SET_
BITS_32
Address of the 32
bit register
Data;
Data read back
from address after
write
0x00 = Command
success
*(address) |= data;
3
MASTER_IPC_MTOC_CLEA
R_BITS_16
Address of the 16
bit register
Data in
MTOCIPCDATAW[
15:0]
Data read back
after write
0x00 = Command
success
*(address) &= ~data;
4
MASTER_IPC_MTOC_CLEA
R_BITS_32
Address of the 32
bit register
Data
Data read back
after write
0x00 = Command
success
*(address) &= ~data;
5
MASTER_IPC_MTOC_DATA
_WRITE_16
Address of the 16
bit register
Data in
MTOCIPCDATAW[
15:0]
Data read back
from the address
after write
0x00 = Command
success
*(address) = data;
6
MASTER_IPC_MTOC_DATA
_WRITE_32
Address of the 32
bit register
Data
Data read back
from the address
after write
0x00 = Command
success
*(address) = data;
7
MASTER_IPC_MTOC_DATA
_READ_16
Address of the 16
bit register
DON’T CARE
Data in
MTOCIPCDATAR[
15:0]
0x00 = Command
success
MTOCIPCDATAR[15:0]
= *(address);
Only 16 bit read from
address
8
MASTER_IPC_MTOC_DATA
_READ_32
Address of the 32
bit register
DON’T CARE
32 bit data
0x00 = Command
success
MTOCIPCDATAR[31:0]
= *(address);
32 bits read from
address
9
MASTER_IPC_MTOC_SET_
BITS_PROTECTED_16
Address of the 16
bit register
Data in
MTOCIPCDATAW[
15:0]
Data read back
from address after
write
0x00 = Command
success
EALLOW;
*(address) |= data;
EDIS;
10
MASTER_IPC_MTOC_SET_
BITS_PROTECTED_32
Address of the 32
bit register
Data;
Data read back
from address after
write
0x00 = Command
success
EALLOW;
*(address) |= data;
EDIS;
11
MASTER_IPC_MTOC_CLEA
R_BITS_PROTECTED_16
Address of the 16
bit register
Data in
MTOCIPCDATAW[
15:0]
Data read back
after write
0x00 = Command
success
EALLOW;
*(address) &= ~data;
EDIS;
12
MASTER_IPC_MTOC_CLEA
R_BITS_PROTECTED_32
Address of the 32
bit register
Data
Data read back
after write
0x00 = Command
success
EALLOW;
*(address) &= ~data;
EDIS;
13
MASTER_IPC_MTOC_DATA
_WRITE_PROTECTED_16
Address of the 16
bit register
Data in
MTOCIPCDATAW[
15:0]
Data read back
from the address
0x00 = Command
success
EALLOW;
*(address) = data;
EDIS;