diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/lpc.h | 6 | ||||
-rw-r--r-- | include/xscom.h | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/lpc.h b/include/lpc.h index 5611c54..a0990fd 100644 --- a/include/lpc.h +++ b/include/lpc.h @@ -27,6 +27,12 @@ extern void lpc_init(void); /* Check for a default bus */ extern bool lpc_present(void); +/* Return of LPC is currently usable. This can be false if the caller + * currently holds a lock that would make it unsafe, or the LPC bus + * is known to be in some error condition (TBI). + */ +extern bool lpc_ok(void); + /* Handle the interrupt from LPC source */ extern void __attrconst lpc_interrupt(uint32_t chip_id); diff --git a/include/xscom.h b/include/xscom.h index b1ecaf5..a841261 100644 --- a/include/xscom.h +++ b/include/xscom.h @@ -173,6 +173,11 @@ extern void xscom_init(void); /* Mark XSCOM lock as being in console path */ extern void xscom_used_by_console(void); +/* Returns true if XSCOM can be used. Typically this returns false if + * the current CPU holds the XSCOM lock (to avoid re-entrancy from error path). + */ +extern bool xscom_ok(void); + extern int64_t xscom_read_cfam_chipid(uint32_t partid, uint32_t *chip_id); #endif /* __XSCOM_H */ |