mirror of https://github.com/xemu-project/xemu.git
aspeed: Add support for the quanta-q7l1-bmc board
The Quanta-Q71l BMC board is a board supported by OpenBMC. Tested: Booted quanta-q71l firmware. Signed-off-by: Patrick Venture <venture@google.com> Reviewed-by: Hao Wu <wuhaotsh@google.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20210416162426.3217033-1-venture@google.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
d24aa3241a
commit
9cccb912cf
|
@ -138,6 +138,19 @@ struct AspeedMachineState {
|
||||||
/* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */
|
/* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */
|
||||||
#define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1
|
#define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1
|
||||||
|
|
||||||
|
/* Quanta-Q71l hardware value */
|
||||||
|
#define QUANTA_Q71L_BMC_HW_STRAP1 ( \
|
||||||
|
SCU_AST2400_HW_STRAP_DRAM_SIZE(DRAM_SIZE_128MB) | \
|
||||||
|
SCU_AST2400_HW_STRAP_DRAM_CONFIG(2/* DDR3 with CL=6, CWL=5 */) | \
|
||||||
|
SCU_AST2400_HW_STRAP_ACPI_DIS | \
|
||||||
|
SCU_AST2400_HW_STRAP_SET_CLK_SOURCE(AST2400_CLK_24M_IN) | \
|
||||||
|
SCU_HW_STRAP_VGA_CLASS_CODE | \
|
||||||
|
SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_PASS_THROUGH) | \
|
||||||
|
SCU_AST2400_HW_STRAP_SET_CPU_AHB_RATIO(AST2400_CPU_AHB_RATIO_2_1) | \
|
||||||
|
SCU_HW_STRAP_SPI_WIDTH | \
|
||||||
|
SCU_HW_STRAP_VGA_SIZE_SET(VGA_8M_DRAM) | \
|
||||||
|
SCU_AST2400_HW_STRAP_BOOT_MODE(AST2400_SPI_BOOT))
|
||||||
|
|
||||||
/* AST2600 evb hardware value */
|
/* AST2600 evb hardware value */
|
||||||
#define AST2600_EVB_HW_STRAP1 0x000000C0
|
#define AST2600_EVB_HW_STRAP1 0x000000C0
|
||||||
#define AST2600_EVB_HW_STRAP2 0x00000003
|
#define AST2600_EVB_HW_STRAP2 0x00000003
|
||||||
|
@ -437,6 +450,34 @@ static void palmetto_bmc_i2c_init(AspeedMachineState *bmc)
|
||||||
object_property_set_int(OBJECT(dev), "temperature3", 110000, &error_abort);
|
object_property_set_int(OBJECT(dev), "temperature3", 110000, &error_abort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void quanta_q71l_bmc_i2c_init(AspeedMachineState *bmc)
|
||||||
|
{
|
||||||
|
AspeedSoCState *soc = &bmc->soc;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The quanta-q71l platform expects tmp75s which are compatible with
|
||||||
|
* tmp105s.
|
||||||
|
*/
|
||||||
|
i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4c);
|
||||||
|
i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4e);
|
||||||
|
i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 1), "tmp105", 0x4f);
|
||||||
|
|
||||||
|
/* TODO: i2c-1: Add baseboard FRU eeprom@54 24c64 */
|
||||||
|
/* TODO: i2c-1: Add Frontpanel FRU eeprom@57 24c64 */
|
||||||
|
/* TODO: Add Memory Riser i2c mux and eeproms. */
|
||||||
|
|
||||||
|
/* TODO: i2c-2: pca9546@74 */
|
||||||
|
/* TODO: i2c-2: pca9548@77 */
|
||||||
|
/* TODO: i2c-3: Add BIOS FRU eeprom@56 24c64 */
|
||||||
|
/* TODO: i2c-7: Add pca9546@70 */
|
||||||
|
/* - i2c@0: pmbus@59 */
|
||||||
|
/* - i2c@1: pmbus@58 */
|
||||||
|
/* - i2c@2: pmbus@58 */
|
||||||
|
/* - i2c@3: pmbus@59 */
|
||||||
|
/* TODO: i2c-7: Add PDB FRU eeprom@52 */
|
||||||
|
/* TODO: i2c-8: Add BMC FRU eeprom@50 */
|
||||||
|
}
|
||||||
|
|
||||||
static void ast2500_evb_i2c_init(AspeedMachineState *bmc)
|
static void ast2500_evb_i2c_init(AspeedMachineState *bmc)
|
||||||
{
|
{
|
||||||
AspeedSoCState *soc = &bmc->soc;
|
AspeedSoCState *soc = &bmc->soc;
|
||||||
|
@ -784,6 +825,23 @@ static void aspeed_machine_palmetto_class_init(ObjectClass *oc, void *data)
|
||||||
aspeed_soc_num_cpus(amc->soc_name);
|
aspeed_soc_num_cpus(amc->soc_name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void aspeed_machine_quanta_q71l_class_init(ObjectClass *oc, void *data)
|
||||||
|
{
|
||||||
|
MachineClass *mc = MACHINE_CLASS(oc);
|
||||||
|
AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
|
||||||
|
|
||||||
|
mc->desc = "Quanta-Q71l BMC (ARM926EJ-S)";
|
||||||
|
amc->soc_name = "ast2400-a1";
|
||||||
|
amc->hw_strap1 = QUANTA_Q71L_BMC_HW_STRAP1;
|
||||||
|
amc->fmc_model = "n25q256a";
|
||||||
|
amc->spi_model = "mx25l25635e";
|
||||||
|
amc->num_cs = 1;
|
||||||
|
amc->i2c_init = quanta_q71l_bmc_i2c_init;
|
||||||
|
mc->default_ram_size = 128 * MiB;
|
||||||
|
mc->default_cpus = mc->min_cpus = mc->max_cpus =
|
||||||
|
aspeed_soc_num_cpus(amc->soc_name);
|
||||||
|
}
|
||||||
|
|
||||||
static void aspeed_machine_supermicrox11_bmc_class_init(ObjectClass *oc,
|
static void aspeed_machine_supermicrox11_bmc_class_init(ObjectClass *oc,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
|
@ -1005,6 +1063,10 @@ static const TypeInfo aspeed_machine_types[] = {
|
||||||
.name = MACHINE_TYPE_NAME("g220a-bmc"),
|
.name = MACHINE_TYPE_NAME("g220a-bmc"),
|
||||||
.parent = TYPE_ASPEED_MACHINE,
|
.parent = TYPE_ASPEED_MACHINE,
|
||||||
.class_init = aspeed_machine_g220a_class_init,
|
.class_init = aspeed_machine_g220a_class_init,
|
||||||
|
}, {
|
||||||
|
.name = MACHINE_TYPE_NAME("quanta-q71l-bmc"),
|
||||||
|
.parent = TYPE_ASPEED_MACHINE,
|
||||||
|
.class_init = aspeed_machine_quanta_q71l_class_init,
|
||||||
}, {
|
}, {
|
||||||
.name = MACHINE_TYPE_NAME("rainier-bmc"),
|
.name = MACHINE_TYPE_NAME("rainier-bmc"),
|
||||||
.parent = TYPE_ASPEED_MACHINE,
|
.parent = TYPE_ASPEED_MACHINE,
|
||||||
|
|
Loading…
Reference in New Issue