Device Tables (DT) for IP otp_ctrl and top darjeeling. More...
#include "hw/top/dt/dt_api.h"#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | dt_otp_partition_info |
| Description of an OTP partition. More... | |
Typedefs | |
| typedef enum dt_otp_ctrl | dt_otp_ctrl_t |
| List of instances. | |
| typedef enum dt_otp_ctrl_reg_block | dt_otp_ctrl_reg_block_t |
| List of register blocks. | |
| typedef enum dt_otp_ctrl_memory | dt_otp_ctrl_memory_t |
| List of memories. | |
| typedef enum dt_otp_ctrl_irq | dt_otp_ctrl_irq_t |
| List of IRQs. | |
| typedef enum dt_otp_ctrl_alert | dt_otp_ctrl_alert_t |
| List of Alerts. | |
| typedef enum dt_otp_ctrl_clock | dt_otp_ctrl_clock_t |
| List of clock ports. | |
| typedef enum dt_otp_ctrl_reset | dt_otp_ctrl_reset_t |
| List of reset ports. | |
| typedef struct dt_otp_partition_info | dt_otp_partition_info_t |
| Description of an OTP partition. | |
| typedef enum otp_partition | otp_partition_t |
| SW readable OTP partition identifier. | |
Enumerations | |
| enum | dt_otp_ctrl { kDtOtpCtrl = 0 , kDtOtpCtrlFirst = 0 , kDtOtpCtrlCount = 1 } |
| List of instances. More... | |
| enum | dt_otp_ctrl_reg_block { kDtOtpCtrlRegBlockCore = 0 , kDtOtpCtrlRegBlockCount = 1 } |
| List of register blocks. More... | |
| enum | dt_otp_ctrl_memory { kDtOtpCtrlMemoryCount = 0 } |
| List of memories. More... | |
| enum | dt_otp_ctrl_irq { kDtOtpCtrlIrqOtpOperationDone = 0 , kDtOtpCtrlIrqOtpError = 1 , kDtOtpCtrlIrqCount = 2 } |
| List of IRQs. More... | |
| enum | dt_otp_ctrl_alert { kDtOtpCtrlAlertFatalMacroError = 0 , kDtOtpCtrlAlertFatalCheckError = 1 , kDtOtpCtrlAlertFatalBusIntegError = 2 , kDtOtpCtrlAlertFatalPrimOtpAlert = 3 , kDtOtpCtrlAlertRecovPrimOtpAlert = 4 , kDtOtpCtrlAlertCount = 5 } |
| List of Alerts. More... | |
| enum | dt_otp_ctrl_clock { kDtOtpCtrlClockClk = 0 , kDtOtpCtrlClockEdn = 1 , kDtOtpCtrlClockCount = 2 } |
| List of clock ports. More... | |
| enum | dt_otp_ctrl_reset { kDtOtpCtrlResetRst = 0 , kDtOtpCtrlResetEdn = 1 , kDtOtpCtrlResetCount = 2 } |
| List of reset ports. More... | |
| enum | otp_partition { kOtpPartitionVendorTest = 0 , kOtpPartitionCreatorSwCfg = 1 , kOtpPartitionOwnerSwCfg = 2 , kOtpPartitionRotCreatorAuth = 3 , kOtpPartitionRotOwnerAuthSlot0 = 4 , kOtpPartitionRotOwnerAuthSlot1 = 5 , kOtpPartitionPlatIntegAuthSlot0 = 6 , kOtpPartitionPlatIntegAuthSlot1 = 7 , kOtpPartitionPlatOwnerAuthSlot0 = 8 , kOtpPartitionPlatOwnerAuthSlot1 = 9 , kOtpPartitionPlatOwnerAuthSlot2 = 10 , kOtpPartitionPlatOwnerAuthSlot3 = 11 , kOtpPartitionRomPatch = 12 , kOtpPartitionHwCfg0 = 13 , kOtpPartitionHwCfg1 = 14 , kOtpPartitionCount = 15 } |
| SW readable OTP partition identifier. More... | |
Functions | |
| dt_otp_ctrl_t | dt_otp_ctrl_from_instance_id (dt_instance_id_t inst_id) |
| Get the otp_ctrl instance from an instance ID. | |
| dt_instance_id_t | dt_otp_ctrl_instance_id (dt_otp_ctrl_t dt) |
| Get the instance ID of an instance. | |
| uint32_t | dt_otp_ctrl_reg_block (dt_otp_ctrl_t dt, dt_otp_ctrl_reg_block_t reg_block) |
| Get the register base address of an instance. | |
| uint32_t | dt_otp_ctrl_memory_base (dt_otp_ctrl_t dt, dt_otp_ctrl_memory_t mem) |
| Get the base address of a memory. | |
| uint32_t | dt_otp_ctrl_memory_size (dt_otp_ctrl_t dt, dt_otp_ctrl_memory_t mem) |
| Get the size of a memory. | |
| dt_plic_irq_id_t | dt_otp_ctrl_irq_to_plic_id (dt_otp_ctrl_t dt, dt_otp_ctrl_irq_t irq) |
| Get the PLIC ID of a otp_ctrl IRQ for a given instance. | |
| dt_otp_ctrl_irq_t | dt_otp_ctrl_irq_from_plic_id (dt_otp_ctrl_t dt, dt_plic_irq_id_t irq) |
| Convert a global IRQ ID to a local otp_ctrl IRQ type. | |
| dt_alert_id_t | dt_otp_ctrl_alert_to_alert_id (dt_otp_ctrl_t dt, dt_otp_ctrl_alert_t alert) |
| Get the alert ID of a otp_ctrl alert for a given instance. | |
| dt_otp_ctrl_alert_t | dt_otp_ctrl_alert_from_alert_id (dt_otp_ctrl_t dt, dt_alert_id_t alert) |
| Convert a global alert ID to a local otp_ctrl alert type. | |
| dt_clock_t | dt_otp_ctrl_clock (dt_otp_ctrl_t dt, dt_otp_ctrl_clock_t clk) |
| Get the clock signal connected to a clock port of an instance. | |
| dt_reset_t | dt_otp_ctrl_reset (dt_otp_ctrl_t dt, dt_otp_ctrl_reset_t rst) |
| Get the reset signal connected to a reset port of an instance. | |
| dt_otp_partition_info_t | dt_otp_ctrl_sw_readable_partition (dt_otp_ctrl_t dt, otp_partition_t partition) |
| Get a SW readable OTP partition information. | |
Device Tables (DT) for IP otp_ctrl and top darjeeling.
This file contains the type definitions and global functions of the otp_ctrl.
Definition in file dt_otp_ctrl.h.
| struct dt_otp_partition_info |
Description of an OTP partition.
Definition at line 289 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_BACKGROUND_CHECK_CHECK_TIMEOUT 1 |
Definition at line 124 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_BACKGROUND_CHECK_CONSISTENCY_CHECK_PERIOD 1 |
Definition at line 126 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_BACKGROUND_CHECK_INTEGRITY_CHECK_PERIOD 1 |
Definition at line 125 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_ENTROPY_READ 1 |
Definition at line 113 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_ERROR_HANDLING_FATAL 1 |
Definition at line 123 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_ERROR_HANDLING_RECOVERABLE 1 |
Definition at line 122 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_INIT 1 |
Definition at line 112 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_KEY_DERIVATION 1 |
Definition at line 114 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_CREATOR_SW_CFG 1 |
Definition at line 110 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_LIFE_CYCLE 1 |
Definition at line 119 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_OWNER_SW_CFG 1 |
Definition at line 111 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_SECRET0 1 |
Definition at line 116 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_SECRET1 1 |
Definition at line 117 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_SECRET2 1 |
Definition at line 118 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITION_VENDOR_TEST 1 |
List of supported hardware features.
Definition at line 109 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITIONS_FEATURE_READ_LOCK 1 |
Definition at line 120 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PARTITIONS_FEATURE_WRITE_LOCK 1 |
Definition at line 121 of file dt_otp_ctrl.h.
| #define OPENTITAN_OTP_CTRL_HAS_PROGRAM 1 |
Definition at line 115 of file dt_otp_ctrl.h.
| typedef enum dt_otp_ctrl_alert dt_otp_ctrl_alert_t |
List of Alerts.
Alerts are guaranteed to be numbered consecutively from 0.
| typedef enum dt_otp_ctrl_clock dt_otp_ctrl_clock_t |
List of clock ports.
Clock ports are guaranteed to be numbered consecutively from 0.
| typedef enum dt_otp_ctrl_irq dt_otp_ctrl_irq_t |
List of IRQs.
IRQs are guaranteed to be numbered consecutively from 0.
| typedef enum dt_otp_ctrl_memory dt_otp_ctrl_memory_t |
List of memories.
Memories are guaranteed to start at 0 and to be consecutively numbered.
| typedef enum dt_otp_ctrl_reg_block dt_otp_ctrl_reg_block_t |
List of register blocks.
Register blocks are guaranteed to start at 0 and to be consecutively numbered.
| typedef enum dt_otp_ctrl_reset dt_otp_ctrl_reset_t |
List of reset ports.
Reset ports are guaranteed to be numbered consecutively from 0.
| enum dt_otp_ctrl |
| enum dt_otp_ctrl_alert |
List of Alerts.
Alerts are guaranteed to be numbered consecutively from 0.
Definition at line 75 of file dt_otp_ctrl.h.
| enum dt_otp_ctrl_clock |
List of clock ports.
Clock ports are guaranteed to be numbered consecutively from 0.
| Enumerator | |
|---|---|
| kDtOtpCtrlClockClk | Clock port clk_i. |
| kDtOtpCtrlClockEdn | Clock port clk_edn_i. |
Definition at line 89 of file dt_otp_ctrl.h.
| enum dt_otp_ctrl_irq |
List of IRQs.
IRQs are guaranteed to be numbered consecutively from 0.
Definition at line 64 of file dt_otp_ctrl.h.
| enum dt_otp_ctrl_memory |
List of memories.
Memories are guaranteed to start at 0 and to be consecutively numbered.
Definition at line 55 of file dt_otp_ctrl.h.
List of register blocks.
Register blocks are guaranteed to start at 0 and to be consecutively numbered.
Definition at line 42 of file dt_otp_ctrl.h.
| enum dt_otp_ctrl_reset |
List of reset ports.
Reset ports are guaranteed to be numbered consecutively from 0.
| Enumerator | |
|---|---|
| kDtOtpCtrlResetRst | Reset port rst_ni. |
| kDtOtpCtrlResetEdn | Reset port rst_edn_ni. |
Definition at line 100 of file dt_otp_ctrl.h.
| enum otp_partition |
SW readable OTP partition identifier.
Definition at line 300 of file dt_otp_ctrl.h.
| dt_otp_ctrl_alert_t dt_otp_ctrl_alert_from_alert_id | ( | dt_otp_ctrl_t | dt, |
| dt_alert_id_t | alert ) |
Convert a global alert ID to a local otp_ctrl alert type.
| dt | Instance of otp_ctrl. |
| alert | A global alert ID that belongs to this instance. |
kDtOtpCtrlAlertCount.Note: This function assumes that the global alert ID belongs to the instance of otp_ctrl passed in parameter. In other words, it must be the case that dt_otp_ctrl_instance_id(dt) == dt_alert_id_to_instance_id(alert). Otherwise, this function will return kDtOtpCtrlAlertCount.
Definition at line 188 of file dt_otp_ctrl.c.
| dt_alert_id_t dt_otp_ctrl_alert_to_alert_id | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_alert_t | alert ) |
Get the alert ID of a otp_ctrl alert for a given instance.
Note: This function only makes sense if the instance is connected to the Alert Handler. For any instances where the instance is not connected, the return value is unspecified.
| dt | Instance of otp_ctrl. |
| alert | A otp_ctrl alert. |
Definition at line 182 of file dt_otp_ctrl.c.
| dt_clock_t dt_otp_ctrl_clock | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_clock_t | clk ) |
Get the clock signal connected to a clock port of an instance.
| dt | Instance of otp_ctrl. |
| clk | Clock port. |
Definition at line 200 of file dt_otp_ctrl.c.
| dt_otp_ctrl_t dt_otp_ctrl_from_instance_id | ( | dt_instance_id_t | inst_id | ) |
Get the otp_ctrl instance from an instance ID.
For example, dt_uart_from_instance_id(kDtInstanceIdUart3) == kDtUart3.
| inst_id | Instance ID. |
Note: This function only makes sense if the instance ID has device type otp_ctrl, otherwise the returned value is unspecified.
Definition at line 124 of file dt_otp_ctrl.c.
| dt_instance_id_t dt_otp_ctrl_instance_id | ( | dt_otp_ctrl_t | dt | ) |
Get the instance ID of an instance.
| dt | Instance of otp_ctrl. |
Definition at line 131 of file dt_otp_ctrl.c.
| dt_otp_ctrl_irq_t dt_otp_ctrl_irq_from_plic_id | ( | dt_otp_ctrl_t | dt, |
| dt_plic_irq_id_t | irq ) |
Convert a global IRQ ID to a local otp_ctrl IRQ type.
| dt | Instance of otp_ctrl. |
| irq | A PLIC ID that belongs to this instance. |
kDtOtpCtrlIrqCount.Note: This function assumes that the PLIC ID belongs to the instance of otp_ctrl passed in parameter. In other words, it must be the case that dt_otp_ctrl_instance_id(dt) == dt_plic_id_to_instance_id(irq). Otherwise, this function will return kDtOtpCtrlIrqCount.
Definition at line 167 of file dt_otp_ctrl.c.
| dt_plic_irq_id_t dt_otp_ctrl_irq_to_plic_id | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_irq_t | irq ) |
Get the PLIC ID of a otp_ctrl IRQ for a given instance.
If the instance is not connected to the PLIC, this function will return kDtPlicIrqIdNone.
| dt | Instance of otp_ctrl. |
| irq | A otp_ctrl IRQ. |
Definition at line 157 of file dt_otp_ctrl.c.
| uint32_t dt_otp_ctrl_memory_base | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_memory_t | mem ) |
Get the base address of a memory.
| dt | Instance of otp_ctrl. |
| mem | The memory requested. |
Definition at line 143 of file dt_otp_ctrl.c.
| uint32_t dt_otp_ctrl_memory_size | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_memory_t | mem ) |
Get the size of a memory.
| dt | Instance of otp_ctrl. |
| mem | The memory requested. |
Definition at line 150 of file dt_otp_ctrl.c.
| uint32_t dt_otp_ctrl_reg_block | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_reg_block_t | reg_block ) |
Get the register base address of an instance.
| dt | Instance of otp_ctrl. |
| reg_block | The register block requested. |
Definition at line 136 of file dt_otp_ctrl.c.
| dt_reset_t dt_otp_ctrl_reset | ( | dt_otp_ctrl_t | dt, |
| dt_otp_ctrl_reset_t | rst ) |
Get the reset signal connected to a reset port of an instance.
| dt | Instance of otp_ctrl. |
| rst | Reset port. |
Definition at line 207 of file dt_otp_ctrl.c.
| dt_otp_partition_info_t dt_otp_ctrl_sw_readable_partition | ( | dt_otp_ctrl_t | dt, |
| otp_partition_t | partition ) |
Get a SW readable OTP partition information.
| dt | Instance of otp_ctrl. |
| partition | OTP partition identifier. |
Definition at line 221 of file dt_otp_ctrl.c.