mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00

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>
39 lines
865 B
C
39 lines
865 B
C
/*
|
|
* Raspberry Pi emulation (c) 2012 Gregory Estrade
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef BCM2835_PROPERTY_H
|
|
#define BCM2835_PROPERTY_H
|
|
|
|
#include "hw/sysbus.h"
|
|
#include "net/net.h"
|
|
#include "hw/display/bcm2835_fb.h"
|
|
#include "hw/nvram/bcm2835_otp.h"
|
|
#include "qom/object.h"
|
|
|
|
#define TYPE_BCM2835_PROPERTY "bcm2835-property"
|
|
OBJECT_DECLARE_SIMPLE_TYPE(BCM2835PropertyState, BCM2835_PROPERTY)
|
|
|
|
struct BCM2835PropertyState {
|
|
/*< private >*/
|
|
SysBusDevice busdev;
|
|
/*< public >*/
|
|
|
|
MemoryRegion *dma_mr;
|
|
AddressSpace dma_as;
|
|
MemoryRegion iomem;
|
|
qemu_irq mbox_irq;
|
|
BCM2835FBState *fbdev;
|
|
BCM2835OTPState *otp;
|
|
|
|
MACAddr macaddr;
|
|
uint32_t board_rev;
|
|
uint32_t addr;
|
|
char *command_line;
|
|
bool pending;
|
|
};
|
|
|
|
#endif
|