mirror of
https://github.com/xemu-project/xemu.git
synced 2026-07-11 01:24:41 +02:00
0c1b423ac2
This commit moves the QCOM DC-SCM V1 BMC machine implementation out of aspeed.c into a new standalone file aspeed_ast2600_qcom-dc-scm-v1.c. This refactor continues the modularization effort for Aspeed platform support, placing each board’s logic in its own dedicated source file. It improves maintainability, readability, and simplifies future development for new platforms without cluttering aspeed.c. Key updates include: - Moved QCOM_DC_SCM_V1_BMC_HW_STRAP1 and QCOM_DC_SCM_V1_BMC_HW_STRAP2 macro into the new file aspeed_ast2600_qcom-dc-scm-v1.c. - Moved qcom_dc_scm_bmc_i2c_init() and aspeed_machine_qcom_dc_scm_v1_class_init() into the new file aspeed_ast2600_qcom-dc-scm-v1.c. - Moved "qcom-dc-scm-v1-bmc" machine type registration from aspeed.c to the new file. - Updated hw/arm/meson.build to include aspeed_ast2600_qcom-dc-scm-v1.c. - Cleaned up all QCOM DC-SCM V1-specific code from aspeed.c. No functional changes. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20251104031325.146374-23-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
56 lines
1.7 KiB
C
56 lines
1.7 KiB
C
/*
|
|
* Qualcomm DC-SCM V1
|
|
*
|
|
* Copyright 2016 IBM Corp.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "qapi/error.h"
|
|
#include "hw/arm/machines-qom.h"
|
|
#include "hw/arm/aspeed.h"
|
|
#include "hw/arm/aspeed_soc.h"
|
|
|
|
/* Qualcomm DC-SCM hardware value */
|
|
#define QCOM_DC_SCM_V1_BMC_HW_STRAP1 0x00000000
|
|
#define QCOM_DC_SCM_V1_BMC_HW_STRAP2 0x00000041
|
|
|
|
static void qcom_dc_scm_bmc_i2c_init(AspeedMachineState *bmc)
|
|
{
|
|
AspeedSoCState *soc = bmc->soc;
|
|
|
|
i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 15), "tmp105", 0x4d);
|
|
}
|
|
|
|
static void aspeed_machine_qcom_dc_scm_v1_class_init(ObjectClass *oc,
|
|
const void *data)
|
|
{
|
|
MachineClass *mc = MACHINE_CLASS(oc);
|
|
AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
|
|
|
|
mc->desc = "Qualcomm DC-SCM V1 BMC (Cortex A7)";
|
|
mc->deprecation_reason = "use 'ast2600-evb' instead";
|
|
amc->soc_name = "ast2600-a3";
|
|
amc->hw_strap1 = QCOM_DC_SCM_V1_BMC_HW_STRAP1;
|
|
amc->hw_strap2 = QCOM_DC_SCM_V1_BMC_HW_STRAP2;
|
|
amc->fmc_model = "n25q512a";
|
|
amc->spi_model = "n25q512a";
|
|
amc->num_cs = 2;
|
|
amc->macs_mask = ASPEED_MAC2_ON | ASPEED_MAC3_ON;
|
|
amc->i2c_init = qcom_dc_scm_bmc_i2c_init;
|
|
mc->default_ram_size = 1 * GiB;
|
|
aspeed_machine_class_init_cpus_defaults(mc);
|
|
};
|
|
|
|
static const TypeInfo aspeed_ast2600_qcom_dc_scm_v1_types[] = {
|
|
{
|
|
.name = MACHINE_TYPE_NAME("qcom-dc-scm-v1-bmc"),
|
|
.parent = TYPE_ASPEED_MACHINE,
|
|
.class_init = aspeed_machine_qcom_dc_scm_v1_class_init,
|
|
.interfaces = arm_machine_interfaces,
|
|
}
|
|
};
|
|
|
|
DEFINE_TYPES(aspeed_ast2600_qcom_dc_scm_v1_types)
|