qemu/include/hw/misc/bcm2835_powermgt.h
Nolan Leake 38f2cfbbc3 hw/arm: Add basic power management to raspi.
This is just enough to make reboot and poweroff work. Works for
linux, u-boot, and the arm trusted firmware. Not tested, but should
work for plan9, and bare-metal/hobby OSes, since they seem to generally
do what linux does for reset.

The watchdog timer functionality is not yet implemented.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/64
Signed-off-by: Nolan Leake <nolan@sigbus.net>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20210625210209.1870217-1-nolan@sigbus.net
[PMM: tweaked commit title; fixed region size to 0x200;
 moved header file to include/]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-07-02 11:48:36 +01:00

30 lines
663 B
C

/*
* BCM2835 Power Management emulation
*
* Copyright (C) 2017 Marcin Chojnacki <marcinch7@gmail.com>
* Copyright (C) 2021 Nolan Leake <nolan@sigbus.net>
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*/
#ifndef BCM2835_POWERMGT_H
#define BCM2835_POWERMGT_H
#include "hw/sysbus.h"
#include "qom/object.h"
#define TYPE_BCM2835_POWERMGT "bcm2835-powermgt"
OBJECT_DECLARE_SIMPLE_TYPE(BCM2835PowerMgtState, BCM2835_POWERMGT)
struct BCM2835PowerMgtState {
SysBusDevice busdev;
MemoryRegion iomem;
uint32_t rstc;
uint32_t rsts;
uint32_t wdog;
};
#endif