This adds the BCM2835 SDHost controller from Arasan. Signed-off-by: Clement Deschamps <clement.deschamps@antfield.fr> Message-id: 20170224164021.9066-2-clement.deschamps@antfield.fr Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Raspberry Pi (BCM2835) SD Host Controller
 | 
						|
 *
 | 
						|
 * Copyright (c) 2017 Antfield SAS
 | 
						|
 *
 | 
						|
 * Authors:
 | 
						|
 *  Clement Deschamps <clement.deschamps@antfield.fr>
 | 
						|
 *  Luc Michel <luc.michel@antfield.fr>
 | 
						|
 *
 | 
						|
 * 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_SDHOST_H
 | 
						|
#define BCM2835_SDHOST_H
 | 
						|
 | 
						|
#include "hw/sysbus.h"
 | 
						|
#include "hw/sd/sd.h"
 | 
						|
 | 
						|
#define TYPE_BCM2835_SDHOST "bcm2835-sdhost"
 | 
						|
#define BCM2835_SDHOST(obj) \
 | 
						|
        OBJECT_CHECK(BCM2835SDHostState, (obj), TYPE_BCM2835_SDHOST)
 | 
						|
 | 
						|
#define BCM2835_SDHOST_FIFO_LEN 16
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    SysBusDevice busdev;
 | 
						|
    SDBus sdbus;
 | 
						|
    MemoryRegion iomem;
 | 
						|
 | 
						|
    uint32_t cmd;
 | 
						|
    uint32_t cmdarg;
 | 
						|
    uint32_t status;
 | 
						|
    uint32_t rsp[4];
 | 
						|
    uint32_t config;
 | 
						|
    uint32_t edm;
 | 
						|
    uint32_t vdd;
 | 
						|
    uint32_t hbct;
 | 
						|
    uint32_t hblc;
 | 
						|
    int32_t fifo_pos;
 | 
						|
    int32_t fifo_len;
 | 
						|
    uint32_t fifo[BCM2835_SDHOST_FIFO_LEN];
 | 
						|
    uint32_t datacnt;
 | 
						|
 | 
						|
    qemu_irq irq;
 | 
						|
} BCM2835SDHostState;
 | 
						|
 | 
						|
#endif
 |