Commit d442d95f authored by Philippe Mathieu-Daudé's avatar Philippe Mathieu-Daudé Committed by Peter Maydell
Browse files

hw/arm/bcm2835_peripherals: Use the thermal sensor block



Map the thermal sensor in the BCM2835 block.

Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20191019234715.25750-3-f4bug@amsat.org
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 99c64137
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -111,6 +111,10 @@ static void bcm2835_peripherals_init(Object *obj)
    object_property_add_const_link(OBJECT(&s->dma), "dma-mr",
                                   OBJECT(&s->gpu_bus_mr), &error_abort);

    /* Thermal */
    sysbus_init_child_obj(obj, "thermal", &s->thermal, sizeof(s->thermal),
                          TYPE_BCM2835_THERMAL);

    /* GPIO */
    sysbus_init_child_obj(obj, "gpio", &s->gpio, sizeof(s->gpio),
                          TYPE_BCM2835_GPIO);
@@ -321,6 +325,15 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
                                                  INTERRUPT_DMA0 + n));
    }

    /* THERMAL */
    object_property_set_bool(OBJECT(&s->thermal), true, "realized", &err);
    if (err) {
        error_propagate(errp, err);
        return;
    }
    memory_region_add_subregion(&s->peri_mr, THERMAL_OFFSET,
                sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->thermal), 0));

    /* GPIO */
    object_property_set_bool(OBJECT(&s->gpio), true, "realized", &err);
    if (err) {
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include "hw/misc/bcm2835_property.h"
#include "hw/misc/bcm2835_rng.h"
#include "hw/misc/bcm2835_mbox.h"
#include "hw/misc/bcm2835_thermal.h"
#include "hw/sd/sdhci.h"
#include "hw/sd/bcm2835_sdhost.h"
#include "hw/gpio/bcm2835_gpio.h"
@@ -53,6 +54,7 @@ typedef struct BCM2835PeripheralState {
    SDHCIState sdhci;
    BCM2835SDHostState sdhost;
    BCM2835GpioState gpio;
    Bcm2835ThermalState thermal;
    UnimplementedDeviceState i2s;
    UnimplementedDeviceState spi[1];
    UnimplementedDeviceState i2c[3];
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@
#define SPI0_OFFSET             0x204000
#define BSC0_OFFSET             0x205000 /* BSC0 I2C/TWI */
#define OTP_OFFSET              0x20f000
#define THERMAL_OFFSET          0x212000
#define BSC_SL_OFFSET           0x214000 /* SPI slave */
#define AUX_OFFSET              0x215000 /* AUX: UART1/SPI1/SPI2 */
#define EMMC1_OFFSET            0x300000