mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
hw/arm/allwinner: add Security Identifier device
The Security Identifier device found in various Allwinner System on Chip designs gives applications a per-board unique identifier. This commit adds support for the Allwinner Security Identifier using a 128-bit UUID value as input. Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20200311221854.30370-8-nieklinnenbank@gmail.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
d26af5ded9
commit
6556617ce1
7 changed files with 254 additions and 1 deletions
|
@ -38,6 +38,7 @@ const hwaddr allwinner_h3_memmap[] = {
|
|||
[AW_H3_SRAM_A2] = 0x00044000,
|
||||
[AW_H3_SRAM_C] = 0x00010000,
|
||||
[AW_H3_SYSCTRL] = 0x01c00000,
|
||||
[AW_H3_SID] = 0x01c14000,
|
||||
[AW_H3_EHCI0] = 0x01c1a000,
|
||||
[AW_H3_OHCI0] = 0x01c1a400,
|
||||
[AW_H3_EHCI1] = 0x01c1b000,
|
||||
|
@ -78,7 +79,6 @@ struct AwH3Unimplemented {
|
|||
{ "mmc0", 0x01c0f000, 4 * KiB },
|
||||
{ "mmc1", 0x01c10000, 4 * KiB },
|
||||
{ "mmc2", 0x01c11000, 4 * KiB },
|
||||
{ "sid", 0x01c14000, 1 * KiB },
|
||||
{ "crypto", 0x01c15000, 4 * KiB },
|
||||
{ "msgbox", 0x01c17000, 4 * KiB },
|
||||
{ "spinlock", 0x01c18000, 4 * KiB },
|
||||
|
@ -198,6 +198,11 @@ static void allwinner_h3_init(Object *obj)
|
|||
|
||||
sysbus_init_child_obj(obj, "cpucfg", &s->cpucfg, sizeof(s->cpucfg),
|
||||
TYPE_AW_CPUCFG);
|
||||
|
||||
sysbus_init_child_obj(obj, "sid", &s->sid, sizeof(s->sid),
|
||||
TYPE_AW_SID);
|
||||
object_property_add_alias(obj, "identifier", OBJECT(&s->sid),
|
||||
"identifier", &error_abort);
|
||||
}
|
||||
|
||||
static void allwinner_h3_realize(DeviceState *dev, Error **errp)
|
||||
|
@ -315,6 +320,10 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp)
|
|||
qdev_init_nofail(DEVICE(&s->cpucfg));
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(&s->cpucfg), 0, s->memmap[AW_H3_CPUCFG]);
|
||||
|
||||
/* Security Identifier */
|
||||
qdev_init_nofail(DEVICE(&s->sid));
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(&s->sid), 0, s->memmap[AW_H3_SID]);
|
||||
|
||||
/* Universal Serial Bus */
|
||||
sysbus_create_simple(TYPE_AW_H3_EHCI, s->memmap[AW_H3_EHCI0],
|
||||
qdev_get_gpio_in(DEVICE(&s->gic),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue