3 softboot example steps, 3 softboot example steps -17, Section 2.5.2.3 – Cirrus Logic CS4953xx User Manual

Page 31

Advertising
background image

2-17

Copyright 2010 Cirrus Logic, Inc.

DS732UM10

Softboot
CS4953xx Hardware User’s Manual

2.5.2.3 Softboot Example Steps

1.

Send the SOFTBOOT message. The host sends the SOFTBOOT message to the CS4953xx to
begin overlay swap.

2.

Wait for IRQ low. The host then waits for SCP1_IRQ (or PCP_IRQ) to go low. If the TIMEOUT period
has been reached, the host should exit. If the IRQ pin is LOW, proceed to Step 3.

3.

Read the SOFTBOOT_ACK message. If the message is the SOFTBOOT_ACK message
(0x00000005), then the host should proceed to Step 4. If the message is not the SOFTBOOT_ACK
message, the host should return to Step 2.

4.

Send the correct HCMB_<MODE> message. The host sends to the CS4953xx the appropriate
HCMB_<MODE> message, where <MODE> indicates the type of external ROM: PARALLEL, SPI, or
I2C. This message tells CS4953xx the start address of the downloadable image (.ULD file) and
identifies which port will be used to access FLASH memory.

5.

Wait for IRQ low. The host then waits for SCP1_IRQ (or PCP_IRQ) to go low.

6.

Read the BOOT_START message. If the initialization is successful, CS4953xx will send the
BOOT_START message to the host. If the message is any other value, then the host should abort.

7.

Wait for IRQ low. After receiving the BOOT_START message, the host then waits for SCP1_IRQ (or
PCP_IRQ) to go low. This indicates that the DSP has written a message to the output buffer and the
boot process is complete.

8.

Read the BOOT_SUCCESS message. The host then reads another message from the appropriate
communications port. Each.ULD file contains a checksum that is compared at the end of the boot
process. The CS4953xx sends a BOOT_SUCCESS message to the host if the checksum is correct
after the download.

If the checksum was incorrect, CS4953xx responds with a BOOT_ERROR_CHECKSUM message.
This indicates that the image read by the DSP is corrupted. The communications interface hardware
and code image integrity should be checked if this occurs.

9.

Repeat Steps 4-8 for all code images/Overlays. The host repeats these steps until all overlays for
the application have been successfully loaded. See the application note for more information on the
overlays necessary at start-up.

10.

Send the SOFT_RESET message. After reading the BOOT_SUCCESS message on the last code
image/overlay, the host must send a SOFT_RESET message which will cause the application code to
begin executing.

11.

Wait for IRQ low. The host then waits for SCP1_IRQ (or PCP_IRQ) to go low.

12.

Read the APP_START message. If code execution is successful, the CS4953xx sends out an
APP_START message. This indicates that the code has been initialized and can accept further
configuration messages. The host should not attempt further communication with the CS4953xx until
the APP_START message has been read.

If the CS4953xx does not send an application start message, the host must return to

Step 1. If the

message read is any value other than APP_START, the system controller should abort.

13.

Send Hardware Configuration messages. The master boot procedure is completed. The operating
system on the CS4953xx is now ready for host configuration of hardware and software.

Hardware configuration messages are used to define the behavior of the CS4953xx’s audio ports.

14.

Send Software Configuration messages.The software configuration messages are specific to each
application. The application code User’s Guide for each application provides a list of all pertinent
configuration messages.

15.

Send the KICKSTART message. The CS4953xx begins processing audio after receiving this
message.

Advertising