143ddc182SClement Deschamps /* 243ddc182SClement Deschamps * Raspberry Pi (BCM2835) SD Host Controller 343ddc182SClement Deschamps * 443ddc182SClement Deschamps * Copyright (c) 2017 Antfield SAS 543ddc182SClement Deschamps * 643ddc182SClement Deschamps * Authors: 743ddc182SClement Deschamps * Clement Deschamps <clement.deschamps@antfield.fr> 843ddc182SClement Deschamps * Luc Michel <luc.michel@antfield.fr> 943ddc182SClement Deschamps * 1043ddc182SClement Deschamps * This work is licensed under the terms of the GNU GPL, version 2 or later. 1143ddc182SClement Deschamps * See the COPYING file in the top-level directory. 1243ddc182SClement Deschamps */ 1343ddc182SClement Deschamps 1443ddc182SClement Deschamps #ifndef BCM2835_SDHOST_H 1543ddc182SClement Deschamps #define BCM2835_SDHOST_H 1643ddc182SClement Deschamps 1743ddc182SClement Deschamps #include "hw/sysbus.h" 1843ddc182SClement Deschamps #include "hw/sd/sd.h" 19db1015e9SEduardo Habkost #include "qom/object.h" 2043ddc182SClement Deschamps 2143ddc182SClement Deschamps #define TYPE_BCM2835_SDHOST "bcm2835-sdhost" 22*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(BCM2835SDHostState, BCM2835_SDHOST) 2343ddc182SClement Deschamps 2443ddc182SClement Deschamps #define BCM2835_SDHOST_FIFO_LEN 16 2543ddc182SClement Deschamps 26db1015e9SEduardo Habkost struct BCM2835SDHostState { 2743ddc182SClement Deschamps SysBusDevice busdev; 2843ddc182SClement Deschamps SDBus sdbus; 2943ddc182SClement Deschamps MemoryRegion iomem; 3043ddc182SClement Deschamps 3143ddc182SClement Deschamps uint32_t cmd; 3243ddc182SClement Deschamps uint32_t cmdarg; 3343ddc182SClement Deschamps uint32_t status; 3443ddc182SClement Deschamps uint32_t rsp[4]; 3543ddc182SClement Deschamps uint32_t config; 3643ddc182SClement Deschamps uint32_t edm; 3743ddc182SClement Deschamps uint32_t vdd; 3843ddc182SClement Deschamps uint32_t hbct; 3943ddc182SClement Deschamps uint32_t hblc; 4043ddc182SClement Deschamps int32_t fifo_pos; 4143ddc182SClement Deschamps int32_t fifo_len; 4243ddc182SClement Deschamps uint32_t fifo[BCM2835_SDHOST_FIFO_LEN]; 4343ddc182SClement Deschamps uint32_t datacnt; 4443ddc182SClement Deschamps 4543ddc182SClement Deschamps qemu_irq irq; 46db1015e9SEduardo Habkost }; 4743ddc182SClement Deschamps 4843ddc182SClement Deschamps #endif 49