1fca9ca1bSCédric Le Goater /* 2fca9ca1bSCédric Le Goater * Aspeed Machines 3fca9ca1bSCédric Le Goater * 4fca9ca1bSCédric Le Goater * Copyright 2018 IBM Corp. 5fca9ca1bSCédric Le Goater * 6fca9ca1bSCédric Le Goater * This code is licensed under the GPL version 2 or later. See 7fca9ca1bSCédric Le Goater * the COPYING file in the top-level directory. 8fca9ca1bSCédric Le Goater */ 9fca9ca1bSCédric Le Goater #ifndef ARM_ASPEED_H 10fca9ca1bSCédric Le Goater #define ARM_ASPEED_H 11fca9ca1bSCédric Le Goater 12fca9ca1bSCédric Le Goater #include "hw/boards.h" 13db1015e9SEduardo Habkost #include "qom/object.h" 14fca9ca1bSCédric Le Goater 15612b219aSPhilippe Mathieu-Daudé typedef struct AspeedMachineState AspeedMachineState; 16fca9ca1bSCédric Le Goater 17fca9ca1bSCédric Le Goater #define TYPE_ASPEED_MACHINE MACHINE_TYPE_NAME("aspeed") 18db1015e9SEduardo Habkost typedef struct AspeedMachineClass AspeedMachineClass; 19*8110fa1dSEduardo Habkost DECLARE_OBJ_CHECKERS(AspeedMachineState, AspeedMachineClass, 20*8110fa1dSEduardo Habkost ASPEED_MACHINE, TYPE_ASPEED_MACHINE) 21fca9ca1bSCédric Le Goater 22d3bad7e7SCédric Le Goater #define ASPEED_MAC0_ON (1 << 0) 23d3bad7e7SCédric Le Goater #define ASPEED_MAC1_ON (1 << 1) 24d3bad7e7SCédric Le Goater #define ASPEED_MAC2_ON (1 << 2) 25d3bad7e7SCédric Le Goater #define ASPEED_MAC3_ON (1 << 3) 26d3bad7e7SCédric Le Goater 27fca9ca1bSCédric Le Goater 28db1015e9SEduardo Habkost struct AspeedMachineClass { 29fca9ca1bSCédric Le Goater MachineClass parent_obj; 30baa4732bSCédric Le Goater 31baa4732bSCédric Le Goater const char *name; 32baa4732bSCédric Le Goater const char *desc; 33baa4732bSCédric Le Goater const char *soc_name; 34baa4732bSCédric Le Goater uint32_t hw_strap1; 35baa4732bSCédric Le Goater uint32_t hw_strap2; 36baa4732bSCédric Le Goater const char *fmc_model; 37baa4732bSCédric Le Goater const char *spi_model; 38baa4732bSCédric Le Goater uint32_t num_cs; 39d3bad7e7SCédric Le Goater uint32_t macs_mask; 40612b219aSPhilippe Mathieu-Daudé void (*i2c_init)(AspeedMachineState *bmc); 41db1015e9SEduardo Habkost }; 42fca9ca1bSCédric Le Goater 43fca9ca1bSCédric Le Goater 44fca9ca1bSCédric Le Goater #endif 45