Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • Video
    • Power Management
    • RF & Microwave
    • Precision ADCs
    • FPGA Reference Designs

    Product Forums

    • Amplifiers
    • Clocks & Timers
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors & DSP
    • Processors & Microcontrollers
    • Switches & Multiplexers
    • Sensors
    • Voltage References
    View All

    Application Forums

    • A2B Audio Bus
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools & Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Enabling New Space Missions: Commercial Space Screening Approach for Agile, High-Reliability Payloads

    As the Space market evolves and accelerates, mission designers need space-capable electronics that balance performance, reliability, and affordability...

    Places

    • ADI Academy
    • ADI Webinars
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Latest Webinars

    • Enabling New Space Missions: Commercial Space Screening Approach for Agile, High-Reliability Payloads
    • Understanding and Selecting RF Low Noise Amplifiers for Instrumentation, Phased Array and General Purpose Applications
    • Design Smarter with Compact, Low-Power Precision Current Source Signal Chains
    • Power Management Fundamentals II Session 6: Key Layout Considerations for Power
    • A 16T/16R X-Band Direct Sampling Phased Array Subsystem using Apollo MxFE
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ296 about repairing an equation in a digital display

      1. Quote of this month: " When I die, I want to die like my grandfather who died peacefully in his sleep. Not screaming like all the passengers in his...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card!

      Important: Read the blog first . The quiz questions are all based on the content from the blog: Mature, Not Old! The Longevity of 4 – 20 mA New...

    View All

    Places

    • Community Help
    • Analog Dialogue Quiz
    • Logic Lounge
    • Super User Program

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Unpacking IEC 61508: Low Complexity versus Type A Made Simple

    IEC 61508 appears to include two very similar concepts. Type A and simple, which is referred to as “low complexity”. Anything that isn’t low complexity...

     

    Taming the AI Power Storm: Part 2 of 3

    Let’s peel back the curtain on how Analog Devices (ADI) is leading the charge, crafting power solutions that not only keep up with AI’s appetite but redefine...

    Latest Blogs

    • TIA Me Up, But Keep It Stable: Part 2 of 3
    • Celebrating Innovation: Top 3 EngineerZone Spotlight Blogs from 2025
    • Transforming Power: Transfer Techniques in SMPS: Part 3 of 4
    • Taming the Chaos: Correlated and Uncorrelated Sources in LTspice .NOISE Simulations: Part 3 of 3
    • ​​Where Errors Lurk in the GMSL Signal Chain​
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • ContentZone

    Visit ContentZone

    ContentZone

    Technical articles. Blogs. Videos. Your ADI content, all in one place.

    View ContentZone

    Featured Content

    Featured Content Title

    Blurb About Content

    View Content By Industry

    • Aerospace and Defense Systems
    • Automotive Solutions
    • Consumer Technology Solutions
    • Data Center Solutions
    • Energy Solutions
    • Healthcare Solutions
    • Industrial Automation Technology Solutions
    • Instrumentation and Measurement Solutions
    • Intelligent Building Solutions
    • Wireless Communication Solutions

    View Content By Technology

    • A2B Audio Bus
    • ADI OtoSense Predictive Maintenance Solutions
    • Dynamic Speaker Management
    • Gallium Nitride (GaN) Technology
    • Gigabit Multimedia Serial Link (GMSL)
    • Industrial Vision
    • Power Solutions
    • Precision Technology
    • RF
    • Sensor Interfaces
    • SmartMesh
EngineerZone
EngineerZone
ADSP-SC5xx/ADSP-215xx
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
ADSP-SC5xx/ADSP-215xx
  • Processors & DSP
  • SHARC Processors
  • ADSP-SC5xx/ADSP-215xx
  • Cancel
ADSP-SC5xx/ADSP-215xx
Documents FAQs on ADSP-SC5xx OTP
  • Q&A
  • Files
  • Documents
  • Members
  • Tags
  • Cancel
  • +ADSP-SC57x/2157x: FAQ
  • +ADSP-SC58x: FAQ
  • +PMU registers: FAQ
  • +SC58x: FAQ
  • +SHARC+: FAQ
  • +TMU: FAQ
  • +215XX: FAQ
  • +ADC Control Module: FAQ
  • +ADSP-21584: FAQ
  • +ADSP-215xxl: FAQ
  • +ADSP-SC573: FAQ
  • +ADSP-SC5xx/215xx: FAQ
  • -ADSP-SC5xx: FAQ
    • FAQs on ADSP-SC5xx OTP
    • How is the SPI clock configured in the adi_rom_Boot() API for ADSP-2156x/ADSP-2159x/ADSP-SC59x processor?
  • +CCES default startup routine: FAQ
  • +EMAC: FAQ
  • +HADC: FAQ
  • +Hardware Counter based Loops: FAQ
  • +L1 block: FAQ
  • +Preload code customization: FAQ
  • +RDEN bit: FAQ
  • +RGMII/RMII: FAQ
  • +SHARC EE-377: FAQ
  • +Sharc SC584: FAQ
  • +SMMR using MDMA2: FAQ
  • +UCOS: FAQ
  • +USBCLKSEL in CGU_CLKOUT: FAQ
  • ADSP-21569 SPORT single-transmitter multi-receiver example
  • ADSP-SC584 SSL Booting via ROM API from the ARM Cortex A5 (core0), SHARC0 and SHARC1
  • +adsp-sc584: FAQ
  • ADSP-SC594 SPDIF Example
  • ADSP-SC835 SPI Slave transmitter and Master Receiver example code
  • Are code segments placed in block1 and block2, when data caches are enabled?
  • ASRC TDM8/TDM16 Example for ADSP-SC59x
  • Can we use internal pull down resistor for ADSP-SC59x/ADSP-2159x LP_CLK and LP_ACK pins instead of external pull down?
  • +CDU: FAQ
  • Custom Error Handler in Booting for SC594
  • DAI Interrupt example for ADSP-SC573
  • Does QUAD SPI open-drain mode need external pull-up resistors for each of these signals (MISO, MOSI, D2 & D3) in ADSP-21569
  • Does the LRCLK support 50% duty cycle in TDM mode?
  • Does the TMREXP(Timer Expired) pin support in latest SHARC processor?
  • Driver file support for the ADSP-SC584/SC589 custom board, which utilizes the same flash and DDR as Ez-kit.
  • Flash write example for ADSP-SC573 Ez-Kit
  • How many cycles for a cache hit/miss?
  • How many times the DAI can be routed using SRU?
  • How to configure DAI interrupt in ADSP-21569?
  • How to use Assembly to Control Core Flags?
  • How to use PCG trigger event
  • How to use PC_07 instead of SYS_FAULT in ADSP-2156x/ADSP-SC59x/ADSP-2159x ?
  • +IDLE: FAQ
  • Is it possible to change the sampling/driving edges of the ASRC?
  • Is it possible to configure the DSP as Master and Host as Slave once SPI slave booting done?
  • Is it possible to disable/halt/pause the SHARC0/SHARC1 cores from ARM core?
  • Is it possible to verify Secure Booting without programming Keys into OTP Memory?
  • Is the SPIx_RDY signal necessary for SPI slave boot?
  • JEDEC thermal Resistance Data estimation for "θJA, θJC, ΨJT" in ADSP-SC5xx/ADSP-215xx processor.
  • +Local Oscillator: FAQ
  • +MLB channels: FAQ
  • +MSI IDMAC: FAQ
  • Once the processor is locked, is it possible to debug or flash a new application?
  • +Program the CBS parameters: FAQ
  • +SC57x: FAQ
  • SCB arbitration/priority scheme
  • +Sign and encrypt a normal bootstream: FAQ
  • SPI example for ADSP-SC584
  • SPI secure slave boot
  • +SPORT with ACM: FAQ
  • +SWU: FAQ
  • Understanding Halt feature in ACM Mode
  • Usage of flush_data_buffer api
  • Using MCAPI/MDMA for ADSP-SC594 Dual-SHARC Audio Talkthrough
  • What is "Multiplexed Function Input Tap" available in the "Signal Multiplexing" table in the datasheet.
  • What is the clock configuration (HFCLK, BCLK) required to transmit SPDIF?
  • What is the difference between ENUM_DMA_CFG_XCNT_INT and ENUM_DMA_CFG_PERIPH_INT?
  • What is the recommended TMU_GAIN and TMU_OFFSET value for Calibration?
  • What is the SPORT Latency using DMA between the SHARC cores(Core1 & Core2) for ADSP-SC58x?
  • What is the supported SLCK0 divisor value for ADSP-2156x

FAQs on ADSP-SC5xx OTP


1. What is the OTP hardware unique key field?
>> A unique value that customer can program. This can be used for customers to identify the part with a key they programmed solely for that purpose.

2. What is the OTP endorsement key field?
>> It is meant to be used with ARM trusted platform. The BOOT process or the part as such does not use it and it is purely an application dependent key.

3. What is the stage ID OTP field?
>> This is a space left in the OTP for the customer to define their platform either as Release mode, evaluation mode etc. Boot kernel does not touches this space. So programming this will have no impact on booting and is entirely left for the user to decide on how they want to use this space.

4.  What is Public and Encryption (Private) Key in OTP Space?
>> There are two instances of public keys and four instances of encryption keys in the OTP space available. By default, the public_key0 field and the pvt_128key0 field are used for authentication and decryption of the secure boot stream. In order to use the other instances of the keys, like public_key1 and pvt_128key1, the previous instances need to be invalidated in the OTP space by setting the pubkey0Inv and privkey0Inv bits in the OTP space using the OTP Program API.

All the public and private keys can be invalidated using the various key*Inv fields provided in the ADI_ROM_OTP_BOOT_INFO structure, which is useful when a new key is required, as the boot ROM will always use the lowest valid key enumeration. If key0 is valid, then it is used, if key0 is invalid and key1 is valid, then key1 is used.

Once a key is invalidated, it cannot be used again

5. Does the boot ROM do anything to protect against memory-mapped I/O access of the OTP or OTP controller in order to bypass use of the OTP API when locked?
>> No, OTP access will always be there, though only core can access. Other peripherals or bus masters cannot access it.

6. Can all OTP fields be read via the OTP API by a booted program when the locked bit is set? If not, which fields can be read?
>> All the fields in customer area can be read.

7. Can unprogrammed OTP fields be written via the OTP API by a booted program when the OTP is locked?
>>Yes. Booted program can still write via API.

8. What OTP fields are accessible via the emulator when in the OTP is locked but the emulator has entered the correct password and the status is reported as unlocked?
>> Once part is successfully connected to debugger with security keys matched, all resources can be accessed.

9. Can the public and private key invalidate bits be set after the OTP is locked? If not, then what is the purpose of the redundant/replacement keys? If so, loss of power or system reset anytime when software is signed or encrypted with a key that is not active will result in a bricked unit (there is a window of vulnerability between the time that an invalidate bit is set and a program is stored in flash that is signed/encrypted with the right keys).
>> Its actually part lock. Program first the new available key out of 4 private keys. Then program invalidate bit. Even if invalidate bit is screwed during supply loss, there can be 2 cases. Either 1 or 0. If 1, use new key, if 0, use old key. But beyond that, there is no specific hardware detection for OTP programming during power loss.

10. Are the factory serial number and general purpose areas considered part of the "customer" data that can be read via the API even when the OTP lock bit is set?
>> Factory Serial Number is not a part of Customer OTP space. General purpose area is a part of customer data.

11. What can you do from the emulator when the OTP is locked and the correct password has NOT been entered? (Can you read anything from the OTP such as the factory serial number?)
>> Without password, the JTAG will not allow access to a locked part at all.

12. Can we program individual words of a field at different times (by setting the values to zero for words to avoid programming)? For example, can we program some but not all of the general purpose area 1 words and later program the previously unprogrammed words?
>> Yes this is possible. You have to make sure, the from the offset of the GP space, each 32 bit data is programmed at once. That way other spaces can be left as 0, and can be programmed later. So the write to the OTP space needs to passed as 32 bit value.

13. The public authentication keys occupy 16 32-bit words each in OTP though only 7 words are used. If the unused words are programmed to non-zero values will it interfere with authentication or are the unused words ignored by the boot ROM for the purposes of authenticating the signature on a boot stream?
>>The public authentication key comprises of two parts(Qx and Qy) each of 224 bit. So total 14 , 32 bit space will get programmed in the space allocated for public key in OTP space. It is not recommended to use the left over 2 , 32 bit words for some other purpose and it should be left as zero only.

14. Is anything done in the secure boot ROM to prevent inadvertent access to the OTP controller or memory mapped locations between OTP API calls? In other words, could a bug in a program inadvertently cause a write to OTP and possibly corrupt a key or set a key disable bit so that the current program in flash is no longer bootable?
>>The API to program the OTP space provided takes care to not program the OTP space again if it was previously programmed with some non-zero value. So any inadvertent access to the already programmed OTP space will not cause any issue. Care must be taken in programming the OTP space for the first time.
 
15. Do we need to program the SPI boot command (i.e., 0x207) into the OTP for the ROM to successfully boot a secure stream from SPI flash? Or are there methods that will allow this to happen without programming the OTP (such as default settings in the ROM or embedded settings in the boot stream)?
>> By default the SPI2 master boot happens with dbootcommand 0x207 irrespective of whether it is a normal boot or secure boot. The user need not program the dbootcommand in the OTP if they are fine with the default configuration.

16. What are the default clock settings for initial secure booting from external flash? Will we have to program the CGU to get anything other than running at the external crystal rate for the initial boot (of our secondary loader)?
>> The default clock is CCLK:100MHz, SysClk:50Mhz and SCLK:25MHz. So for this case, if booting is done via SPI2 master boot in Quad mode, the SPI CLK will be 12.5MHz. In order to increase the clock, the OTP space corresponding to CGU can be programmed in order to boost the processor boot speed.

  • Share
  • History
  • More
  • Cancel
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved