xref: /openbmc/qemu/include/hw/gpio/bcm2835_gpio.h (revision 4dad0a9aa818698e0735c8352bf7925a1660df6f)
1d72fc9dcSClement Deschamps /*
2d72fc9dcSClement Deschamps  * Raspberry Pi (BCM2835) GPIO Controller
3d72fc9dcSClement Deschamps  *
4d72fc9dcSClement Deschamps  * Copyright (c) 2017 Antfield SAS
5d72fc9dcSClement Deschamps  *
6d72fc9dcSClement Deschamps  * Authors:
7d72fc9dcSClement Deschamps  *  Clement Deschamps <clement.deschamps@antfield.fr>
8d72fc9dcSClement Deschamps  *  Luc Michel <luc.michel@antfield.fr>
9d72fc9dcSClement Deschamps  *
10d72fc9dcSClement Deschamps  * This work is licensed under the terms of the GNU GPL, version 2 or later.
11d72fc9dcSClement Deschamps  * See the COPYING file in the top-level directory.
12d72fc9dcSClement Deschamps  */
13d72fc9dcSClement Deschamps 
14d72fc9dcSClement Deschamps #ifndef BCM2835_GPIO_H
15d72fc9dcSClement Deschamps #define BCM2835_GPIO_H
16d72fc9dcSClement Deschamps 
17d72fc9dcSClement Deschamps #include "hw/sd/sd.h"
18ec150c7eSMarkus Armbruster #include "hw/sysbus.h"
19db1015e9SEduardo Habkost #include "qom/object.h"
20d72fc9dcSClement Deschamps 
21db1015e9SEduardo Habkost struct BCM2835GpioState {
22d72fc9dcSClement Deschamps     SysBusDevice parent_obj;
23d72fc9dcSClement Deschamps 
24d72fc9dcSClement Deschamps     MemoryRegion iomem;
25d72fc9dcSClement Deschamps 
26d72fc9dcSClement Deschamps     /* SDBus selector */
27d72fc9dcSClement Deschamps     SDBus sdbus;
28d72fc9dcSClement Deschamps     SDBus *sdbus_sdhci;
29d72fc9dcSClement Deschamps     SDBus *sdbus_sdhost;
30d72fc9dcSClement Deschamps 
31d72fc9dcSClement Deschamps     uint8_t fsel[54];
32d72fc9dcSClement Deschamps     uint32_t lev0, lev1;
33d72fc9dcSClement Deschamps     uint8_t sd_fsel;
34d72fc9dcSClement Deschamps     qemu_irq out[54];
35db1015e9SEduardo Habkost };
36d72fc9dcSClement Deschamps 
37d72fc9dcSClement Deschamps #define TYPE_BCM2835_GPIO "bcm2835_gpio"
38*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(BCM2835GpioState, BCM2835_GPIO)
39d72fc9dcSClement Deschamps 
40d72fc9dcSClement Deschamps #endif
41