Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/versatile/versatile_pci.c
Show First 20 Lines • Show All 136 Lines • ▼ Show 20 Lines | |||||
static struct resource_spec versatile_pci_mem_spec[] = { | static struct resource_spec versatile_pci_mem_spec[] = { | ||||
{ SYS_RES_MEMORY, 0, RF_ACTIVE }, | { SYS_RES_MEMORY, 0, RF_ACTIVE }, | ||||
{ SYS_RES_MEMORY, 1, RF_ACTIVE }, | { SYS_RES_MEMORY, 1, RF_ACTIVE }, | ||||
{ SYS_RES_MEMORY, 2, RF_ACTIVE }, | { SYS_RES_MEMORY, 2, RF_ACTIVE }, | ||||
{ SYS_RES_MEMORY, 3, RF_ACTIVE }, | { SYS_RES_MEMORY, 3, RF_ACTIVE }, | ||||
{ -1, 0, 0 } | { -1, 0, 0 } | ||||
}; | }; | ||||
static struct ofw_compat_data compat_data[] = { | |||||
{"versatile,pci", 1}, | |||||
}; | |||||
static int | static int | ||||
versatile_pci_probe(device_t dev) | versatile_pci_probe(device_t dev) | ||||
{ | { | ||||
if (!ofw_bus_status_okay(dev)) | if (!ofw_bus_status_okay(dev)) | ||||
return (ENXIO); | return (ENXIO); | ||||
if (ofw_bus_is_compatible(dev, "versatile,pci")) { | if (ofw_bus_compatible_lookup(dev, compat_data)) { | ||||
device_set_desc(dev, "Versatile PCI controller"); | device_set_desc(dev, "Versatile PCI controller"); | ||||
return (BUS_PROBE_DEFAULT); | return (BUS_PROBE_DEFAULT); | ||||
} | } | ||||
return (ENXIO); | return (ENXIO); | ||||
} | } | ||||
static int | static int | ||||
▲ Show 20 Lines • Show All 353 Lines • ▼ Show 20 Lines | static driver_t versatile_pci_driver = { | ||||
"pcib", | "pcib", | ||||
versatile_pci_methods, | versatile_pci_methods, | ||||
sizeof(struct versatile_pci_softc), | sizeof(struct versatile_pci_softc), | ||||
}; | }; | ||||
static devclass_t versatile_pci_devclass; | static devclass_t versatile_pci_devclass; | ||||
DRIVER_MODULE(versatile_pci, simplebus, versatile_pci_driver, versatile_pci_devclass, 0, 0); | DRIVER_MODULE(versatile_pci, simplebus, versatile_pci_driver, versatile_pci_devclass, 0, 0); | ||||
SIMPLEBUS_PNP_INFO(compat_data); |