Model the A6 crypto, interrupt, USB, and platform blocks needed to boot SecureROM through iBSS into iBEC Recovery. Add local lab identity, IMG3, and APTicket tooling, patched macOS recovery utilities, UART and GDB access, and English end-user documentation.
53 lines
1.3 KiB
C
53 lines
1.3 KiB
C
#ifndef HW_ARM_S5L8950X_H
|
|
#define HW_ARM_S5L8950X_H
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "hw/core/sysbus.h"
|
|
#include "target/arm/cpu.h"
|
|
#include "qom/object.h"
|
|
|
|
#define TYPE_S5L8950X "s5l8950x"
|
|
#define TYPE_S5L8950X_MACHINE "s5l8950x-machine"
|
|
|
|
#define TYPE_S5L8950X_CHIPID "s5l8950x-chipid"
|
|
#define TYPE_S5L8950X_AIC "s5l8950x-aic"
|
|
#define TYPE_S5L8950X_UART "s5l8950x-uart"
|
|
#define TYPE_S5L8950X_TIMER "s5l8950x-timer"
|
|
#define TYPE_S5L8950X_PMGR "s5l8950x-pmgr"
|
|
#define TYPE_S5L8950X_CLOCK "s5l8950x-clock"
|
|
#define TYPE_S5L8950X_MEMCTL "s5l8950x-memctl"
|
|
#define TYPE_S5L8950X_I2C "s5l8950x-i2c"
|
|
#define TYPE_S5L8950X_GPIO "s5l8950x-gpio"
|
|
#define TYPE_S5L8950X_USB_PHY "s5l8950x-usb-phy"
|
|
#define TYPE_S5L8950X_USB_OTG "s5l8950x-usb-otg"
|
|
|
|
OBJECT_DECLARE_SIMPLE_TYPE(S5L8950XState, S5L8950X)
|
|
|
|
struct S5L8950XState {
|
|
/*< private >*/
|
|
DeviceState parent_obj;
|
|
|
|
/*< public >*/
|
|
ARMCPU cpu;
|
|
|
|
MemoryRegion securerom;
|
|
MemoryRegion sram;
|
|
|
|
SysBusDevice *chipid;
|
|
SysBusDevice *aes;
|
|
SysBusDevice *pke;
|
|
SysBusDevice *sha1;
|
|
SysBusDevice *aic;
|
|
SysBusDevice *uart;
|
|
SysBusDevice *timer;
|
|
SysBusDevice *pmgr;
|
|
SysBusDevice *clock;
|
|
SysBusDevice *memctl;
|
|
SysBusDevice *i2c[3];
|
|
SysBusDevice *gpio;
|
|
SysBusDevice *usb_phy;
|
|
SysBusDevice *usb_otg;
|
|
};
|
|
|
|
#endif /* HW_ARM_S5L8950X_H */
|