mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-28 15:32:45 +00:00
Recognize, but don't actually do much with a TI PCI1130 PcCard/CardBus bridge.
This commit is contained in:
parent
b038679c5c
commit
29eb228ebb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=25418
@ -37,6 +37,8 @@
|
|||||||
#include <sys/systm.h>
|
#include <sys/systm.h>
|
||||||
#include <sys/kernel.h>
|
#include <sys/kernel.h>
|
||||||
#include <sys/select.h>
|
#include <sys/select.h>
|
||||||
|
#include <vm/vm.h>
|
||||||
|
#include <vm/pmap.h>
|
||||||
|
|
||||||
#include <machine/clock.h>
|
#include <machine/clock.h>
|
||||||
|
|
||||||
@ -52,6 +54,69 @@
|
|||||||
#include <pccard/driver.h>
|
#include <pccard/driver.h>
|
||||||
#include <pccard/slot.h>
|
#include <pccard/slot.h>
|
||||||
|
|
||||||
|
#ifdef LKM
|
||||||
|
#define NPCI 0
|
||||||
|
#else
|
||||||
|
#include <pci.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if NPCI > 0
|
||||||
|
#include <pci/pcivar.h>
|
||||||
|
#include <pci/pcireg.h>
|
||||||
|
|
||||||
|
static char *
|
||||||
|
pcic_pci_probe(pcici_t tag, pcidi_t type)
|
||||||
|
{
|
||||||
|
if (type == 0xac12104cul)
|
||||||
|
return ("TI 1130 PCMCIA/CardBus Bridge");
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
pcic_pci_attach(pcici_t tag, int unit)
|
||||||
|
{
|
||||||
|
int i,j;
|
||||||
|
u_char *p;
|
||||||
|
u_long *pl;
|
||||||
|
|
||||||
|
if (!bootverbose)
|
||||||
|
return;
|
||||||
|
|
||||||
|
printf ("PCI Config space:\n");
|
||||||
|
for (j=0;j<0x98;j+=16) {
|
||||||
|
printf("%02x: ", j);
|
||||||
|
for (i=0;i<16;i+=4) {
|
||||||
|
printf(" %08x", pci_conf_read(tag, i+j));
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
/* pci_conf_write(tag, 0x44, 1); */
|
||||||
|
p = (u_char*)pmap_mapdev(pci_conf_read(tag, 0x10), 0x1000);
|
||||||
|
pl = (u_long *)p;
|
||||||
|
printf ("Cardbus Socket registers:\n");
|
||||||
|
printf("00: ");
|
||||||
|
for (i=0;i<4;i+=1) printf(" %08x:",pl[i]);
|
||||||
|
printf("\n10: ");
|
||||||
|
for (i=4;i<8;i+=1) printf(" %08x:",pl[i]);
|
||||||
|
printf ("\nExCa registers:\n");
|
||||||
|
for (i=0;i<0x40;i+=16)
|
||||||
|
printf("%02x: %16D\n",i, p+0x800+i," ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static u_long pcic_pci_count;
|
||||||
|
|
||||||
|
static struct pci_device pcic_pci_device = {
|
||||||
|
"pcic",
|
||||||
|
pcic_pci_probe,
|
||||||
|
pcic_pci_attach,
|
||||||
|
&pcic_pci_count,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
DATA_SET(pcidevice_set, pcic_pci_device);
|
||||||
|
|
||||||
|
#endif /* NPCI > 0 */
|
||||||
/*
|
/*
|
||||||
* Prototypes for interrupt handler.
|
* Prototypes for interrupt handler.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user