[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 8/8] arm: Add an RX8900 RTC to the ASpeed boa
From: |
Andrew Jeffery |
Subject: |
Re: [Qemu-devel] [PATCH v4 8/8] arm: Add an RX8900 RTC to the ASpeed board |
Date: |
Wed, 04 Jan 2017 16:49:57 +1030 |
On Thu, 2016-12-15 at 16:48 +1100, Alastair D'Silva wrote:
> > From: Alastair D'Silva <address@hidden>
>
> Connect an RX8900 RTC to i2c12 of the AST2500 SOC at address 0x32
>
> > Signed-off-by: Alastair D'Silva <address@hidden>
> Signed-off-by: Chris Smart <address@hidden>
Reviewed-by: Andrew Jeffery <address@hidden>
> ---
> hw/arm/aspeed.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index 40c1383..ef63fd0 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -26,6 +26,12 @@ static struct arm_boot_info aspeed_board_binfo = {
> .nb_cpus = 1,
> };
>
> +typedef struct AspeedI2CDevice {
> + const char *type;
> + uint8_t address;
> + int bus;
> +} AspeedI2CDevice;
> +
> typedef struct AspeedBoardState {
> AspeedSoCState soc;
> MemoryRegion ram;
> @@ -37,6 +43,7 @@ typedef struct AspeedBoardConfig {
> const char *fmc_model;
> const char *spi_model;
> uint32_t num_cs;
> + const AspeedI2CDevice *i2c_devices;
> } AspeedBoardConfig;
>
> enum {
> @@ -80,6 +87,11 @@ enum {
> SCU_AST2500_HW_STRAP_ACPI_ENABLE | \
> SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_MASTER))
>
> +
> +static const AspeedI2CDevice ast2500_i2c_devices[] = {
> + {"rx8900", 0x32, 11}
> +};
> +
> static const AspeedBoardConfig aspeed_boards[] = {
> [PALMETTO_BMC] = {
> .soc_name = "ast2400-a1",
> @@ -94,6 +106,7 @@ static const AspeedBoardConfig aspeed_boards[] = {
> .fmc_model = "n25q256a",
> .spi_model = "mx25l25635e",
> .num_cs = 1,
> + .i2c_devices = ast2500_i2c_devices,
> },
> [ROMULUS_BMC] = {
> .soc_name = "ast2500-a1",
> @@ -104,6 +117,7 @@ static const AspeedBoardConfig aspeed_boards[] = {
> },
> };
>
> +
> static void aspeed_board_init_flashes(AspeedSMCState *s, const char
> *flashtype,
> Error **errp)
> {
> @@ -130,6 +144,19 @@ static void aspeed_board_init_flashes(AspeedSMCState *s,
> const char *flashtype,
> }
> }
>
> +static void aspeed_i2c_init(AspeedBoardState *bmc,
> + const AspeedBoardConfig *cfg)
> +{
> + AspeedSoCState *soc = &bmc->soc;
> + const AspeedI2CDevice *dev;
> +
> + for (dev = cfg->i2c_devices; dev != NULL && dev->type != NULL; dev++) {
> + I2CBus *i2c_bus = aspeed_i2c_get_bus((DeviceState *)&soc->i2c,
> + dev->bus);
> + (void)i2c_create_slave(i2c_bus, dev->type, dev->address);
> + }
> +}
> +
> static void aspeed_board_init(MachineState *machine,
> const AspeedBoardConfig *cfg)
> {
> @@ -174,6 +201,8 @@ static void aspeed_board_init(MachineState *machine,
> aspeed_board_binfo.ram_size = ram_size;
> aspeed_board_binfo.loader_start = sc->info->sdram_base;
>
> + aspeed_i2c_init(bmc, cfg);
> +
> arm_load_kernel(ARM_CPU(first_cpu), &aspeed_board_binfo);
> }
>
signature.asc
Description: This is a digitally signed message part
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v4 8/8] arm: Add an RX8900 RTC to the ASpeed board,
Andrew Jeffery <=