Software APIs
dif_soc_dbg_ctrl_autogen.h
Go to the documentation of this file.
1// Copyright lowRISC contributors (OpenTitan project).
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5
6
7#ifndef OPENTITAN_SW_DEVICE_LIB_DIF_AUTOGEN_DIF_SOC_DBG_CTRL_AUTOGEN_H_
8#define OPENTITAN_SW_DEVICE_LIB_DIF_AUTOGEN_DIF_SOC_DBG_CTRL_AUTOGEN_H_
9
10// THIS FILE HAS BEEN GENERATED, DO NOT EDIT MANUALLY. COMMAND:
11// util/autogen_dif.py -i hw/ip/soc_dbg_ctrl/data/soc_dbg_ctrl.hjson -o
12// bazel-out/k8-fastbuild-ST-ae23cdef058d/bin/sw/device/lib/dif/autogen
13
14
15/**
16 * @file
17 * @brief <a href="/book/hw/ip/soc_dbg_ctrl/">SOC_DBG_CTRL</a> Device Interface Functions
18 */
19
20#include <stdbool.h>
21#include <stdint.h>
22
26#include "dt/dt_soc_dbg_ctrl.h" // Generated.
27
28#ifdef __cplusplus
29extern "C" {
30#endif // __cplusplus
31
32/**
33 * A handle to soc_dbg_ctrl.
34 *
35 * This type should be treated as opaque by users.
36 */
37typedef struct dif_soc_dbg_ctrl {
38 /**
39 * The base address for the soc_dbg_ctrl hardware registers.
40 */
42 /**
43 * The instance, set to `kDtSocDbgCtrlCount` if not initialized
44 * through `dif_soc_dbg_ctrl_init_from_dt`.
45 */
48
49/**
50 * Creates a new handle for a(n) soc_dbg_ctrl peripheral.
51 *
52 * This function does not actuate the hardware.
53 *
54 * @param base_addr The MMIO base address of the soc_dbg_ctrl peripheral.
55 * @param[out] soc_dbg_ctrl Out param for the initialized handle.
56 * @return The result of the operation.
57 *
58 * DEPRECATED This function exists solely for the transition to
59 * dt-based DIFs and will be removed in the future.
60 */
63 mmio_region_t base_addr,
64 dif_soc_dbg_ctrl_t *soc_dbg_ctrl);
65
66/**
67 * Creates a new handle for a(n) soc_dbg_ctrl peripheral.
68 *
69 * This function does not actuate the hardware.
70 *
71 * @param dt The devicetable description of the device.
72 * @param[out] soc_dbg_ctrl Out param for the initialized handle.
73 * @return The result of the operation.
74 */
78 dif_soc_dbg_ctrl_t *soc_dbg_ctrl);
79
80/**
81 * Get the DT handle from this DIF.
82 *
83 * If this DIF was initialized by `dif_soc_dbg_ctrl_init_from_dt(dt, ..)`
84 * then this function will return `dt`. Otherwise it will return an error.
85 *
86 * @param soc_dbg_ctrl A soc_dbg_ctrl handle.
87 * @param[out] dt DT handle.
88 * @return `kDifBadArg` if the DIF has no DT information, `kDifOk` otherwise.
89 */
92 const dif_soc_dbg_ctrl_t *soc_dbg_ctrl,
94
95 /**
96 * A soc_dbg_ctrl alert type.
97 */
99 /**
100 * This fatal alert is triggered when a fatal TL-UL bus integrity fault is detected.
101 */
103 /**
104 * This recoverable alert is triggered upon detecting an update error in the shadowed Control Register.
105 */
108
109 /**
110 * Forces a particular alert, causing it to be escalated as if the hardware
111 * had raised it.
112 *
113 * @param soc_dbg_ctrl A soc_dbg_ctrl handle.
114 * @param alert The alert to force.
115 * @return The result of the operation.
116 */
119 const dif_soc_dbg_ctrl_t *soc_dbg_ctrl,
121
122
123#ifdef __cplusplus
124} // extern "C"
125#endif // __cplusplus
126
127#endif // OPENTITAN_SW_DEVICE_LIB_DIF_AUTOGEN_DIF_SOC_DBG_CTRL_AUTOGEN_H_