hw/misc: Model KCS devices in the Aspeed LPC controller
commitc59f781e3bcca4a80aef5d229488fd45dbfdbd9a
authorAndrew Jeffery <andrew@aj.id.au>
Tue, 9 Mar 2021 11:01:28 +0000 (9 12:01 +0100)
committerCédric Le Goater <clg@kaod.org>
Tue, 9 Mar 2021 11:01:28 +0000 (9 12:01 +0100)
tree1f054f6c6aa37b384c16e5f5e4406233d6c26dca
parent2ecf17264debe1bc3399fe587690c78d03e8401b
hw/misc: Model KCS devices in the Aspeed LPC controller

Keyboard-Controller-Style devices for IPMI purposes are exposed via LPC
IO cycles from the BMC to the host.

Expose support on the BMC side by implementing the usual MMIO
behaviours, and expose the ability to inspect the KCS registers in
"host" style by accessing QOM properties associated with each register.

The model caters to the IRQ style of both the AST2600 and the earlier
SoCs (AST2400 and AST2500). The AST2600 allocates an IRQ for each LPC
sub-device, while there is a single IRQ shared across all subdevices on
the AST2400 and AST2500.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20210302014317.915120-6-andrew@aj.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
hw/arm/aspeed_ast2600.c
hw/arm/aspeed_soc.c
hw/misc/aspeed_lpc.c
include/hw/arm/aspeed_soc.h
include/hw/misc/aspeed_lpc.h