hw/misc: Implement mailbox properties for customer OTP and device specific private...
commit5d5f1b60916aa6bbebe192d74acb762414377430
authorRayhan Faizel <rayhan.faizel@gmail.com>
Sun, 19 May 2024 09:41:06 +0000 (19 15:11 +0530)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 1 Jul 2024 11:48:55 +0000 (1 12:48 +0100)
treec09cacc1d41c94ab658f4efb92a1b5a9883e6e50
parent6bf7993921827817eb313f44509bf4ba7ebf88bb
hw/misc: Implement mailbox properties for customer OTP and device specific private keys

Four mailbox properties are implemented as follows:
1. Customer OTP: GET_CUSTOMER_OTP and SET_CUSTOMER_OTP
2. Device-specific private key: GET_PRIVATE_KEY and
SET_PRIVATE_KEY.

The customer OTP is located in the rows 36-43. The device-specific private key
is located in the rows 56-63.

The customer OTP can be locked with the magic numbers 0xffffffff 0xaffe0000
when running the SET_CUSTOMER_OTP mailbox command. Bit 6 of row 32 indicates
this lock, which is undocumented. The lock also applies to the device-specific
private key.

Signed-off-by: Rayhan Faizel <rayhan.faizel@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/bcm2835_peripherals.c
hw/misc/bcm2835_property.c
include/hw/arm/raspberrypi-fw-defs.h
include/hw/misc/bcm2835_property.h