On 10/5/24 16:10, Rayhan Faizel wrote:
The OTP device registers are currently stubbed. For now, the device
houses the OTP rows which will be accessed directly by other peripherals.

Signed-off-by: Rayhan Faizel <rayhan.fai...@gmail.com>
---
  hw/nvram/bcm2835_otp.c         | 187 +++++++++++++++++++++++++++++++++
  hw/nvram/meson.build           |   1 +
  include/hw/nvram/bcm2835_otp.h |  43 ++++++++
  3 files changed, 231 insertions(+)
  create mode 100644 hw/nvram/bcm2835_otp.c
  create mode 100644 include/hw/nvram/bcm2835_otp.h


+/* OTP rows are 1-indexed */
+uint32_t bcm2835_otp_read_row(BCM2835OTPState *s, unsigned int row)
+{
+    assert(row <= 66 && row >= 1);
+
+    return s->otp_rows[row - 1];
+}
+
+void bcm2835_otp_write_row(BCM2835OTPState *s, unsigned int row,
+                           uint32_t value)
+{
+    assert(row <= 66 && row >= 1);
+
+    /* Real OTP rows work as e-fuses */
+    s->otp_rows[row - 1] |= value;

Maybe name get/set instead of read/write?

+}


Reply via email to