mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
hw/sd/sdhci: Move PCI-related code into a separate file
Some machines have an SDHCI device, but no PCI. To be able to compile hw/sd/sdhci.c without CONFIG_PCI, we must not call functions like pci_get_address_space() and pci_allocate_irq() there. Thus move the PCI-related code into a separate file. This is required for the new Kconfig-like build system, e.g. it is needed if a user wants to compile a QEMU binary with just one machine that has SDHCI, but no PCI, like the ARM "raspi" machines for example. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
a189a9375b
commit
ce86460344
5 changed files with 132 additions and 94 deletions
|
@ -304,4 +304,38 @@ extern const VMStateDescription sdhci_vmstate;
|
|||
|
||||
#define ESDHC_PRNSTS_SDSTB (1 << 3)
|
||||
|
||||
/*
|
||||
* Default SD/MMC host controller features information, which will be
|
||||
* presented in CAPABILITIES register of generic SD host controller at reset.
|
||||
*
|
||||
* support:
|
||||
* - 3.3v and 1.8v voltages
|
||||
* - SDMA/ADMA1/ADMA2
|
||||
* - high-speed
|
||||
* max host controller R/W buffers size: 512B
|
||||
* max clock frequency for SDclock: 52 MHz
|
||||
* timeout clock frequency: 52 MHz
|
||||
*
|
||||
* does not support:
|
||||
* - 3.0v voltage
|
||||
* - 64-bit system bus
|
||||
* - suspend/resume
|
||||
*/
|
||||
#define SDHC_CAPAB_REG_DEFAULT 0x057834b4
|
||||
|
||||
#define DEFINE_SDHCI_COMMON_PROPERTIES(_state) \
|
||||
DEFINE_PROP_UINT8("sd-spec-version", _state, sd_spec_version, 2), \
|
||||
DEFINE_PROP_UINT8("uhs", _state, uhs_mode, UHS_NOT_SUPPORTED), \
|
||||
\
|
||||
/* Capabilities registers provide information on supported
|
||||
* features of this specific host controller implementation */ \
|
||||
DEFINE_PROP_UINT64("capareg", _state, capareg, SDHC_CAPAB_REG_DEFAULT), \
|
||||
DEFINE_PROP_UINT64("maxcurr", _state, maxcurr, 0)
|
||||
|
||||
void sdhci_initfn(SDHCIState *s);
|
||||
void sdhci_uninitfn(SDHCIState *s);
|
||||
void sdhci_common_realize(SDHCIState *s, Error **errp);
|
||||
void sdhci_common_unrealize(SDHCIState *s, Error **errp);
|
||||
void sdhci_common_class_init(ObjectClass *klass, void *data);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue