summaryrefslogtreecommitdiffstats
path: root/sys/pccard
Commit message (Collapse)AuthorAgeFilesLines
* Add 16-bit before bus to keep the words card and bus apart.imp2002-07-311-1/+1
|
* MFp4:imp2002-07-262-122/+143
| | | | | | | | | | | o reduce the extra-long ID names. o TI-1510, 1520 and 4510 support. o MFUNC is the name of the register on TI 1200 and newer chips (except 125x and 1450). Initialize it in the func routine, but only if NO_MFUNC isn't set. o better comments about above workaround o register definitions for MFUNC. o move zoom video disable to a better place.
* Copy manufacturer and version string into the kernel, and copy it toimp2002-07-223-2/+10
| | | | | | the slot info. This brings OLDCARD's API much closer to NEWCARD and will allow moving more information into the kernel from pccard.conf for common drivers (ed).
* Add support for writing to mapping high memory for pccard memoryimp2002-07-204-0/+21
| | | | | | | | | | windows. Right now we only support pci chips that are memory mapped. These are the most common bridges in use today and will help a large majority of the users. I/O mapped PCI chips support this functionality in a different way, as do some of the ISA bridges (but only when mounted on a motherboard). These chips are not supported by this change.
* minor nit in commentsimp2002-07-201-1/+0
|
* Integrate the hw.pcic.pd6722_vsense tunable from the nomads list.imp2002-07-181-15/+49
| | | | | | | | | | | This allows one to select the method of 3.3V card detection from the three possible choices (none (0), the "6710 way" (1) and the "6729 way" (2)). The default is the 6710 way, since it works in the most cases. The datasheets for the 6722 suggest that the '29 way is more correct, but experience has shown this method to cause some laptops to hang solid. See source code for details until I update the man page. Submitted by: shibata-san (chiharu shibata <chi@bd.mbn.or.jp>)
* Some strange hacks for the clpd6729:imp2002-07-181-13/+44
| | | | | | | | | | | | | | o It needs to have pcic_isa_intr intrrupt handler o for pci interrupts, in the func interrupt handler it needs to check the isa registers rather than the pci ones for card present. o better commentary for some of the strangeness of the 6729 on pci o fix some crunchy comments to better reflect reality. With this I almost have the WL200 working, but an interrupt storm after attach is causing problems for reasons unknown. This code doesn't seem to break the normal clpd6729 case, and I'd like others with 6729 cards to try to test it (there were some that were used for external pccard slots in pci only systems).
* Better verbage on hw.pcic sysctls, delete now obsolete commentimp2002-07-171-10/+8
|
* o Remove workaround that I put in to mask the BadVcc problem.imp2002-07-172-34/+71
| | | | | | | | | | | o Add preliminary support for Cirrus Logic CL-PD6729 using PCI interrupts. To use it you you need to set hw.pcic.pd6729_intr_path to 2. This is allow us to still default to ISA intrrupt path for this part (which is found much more often in laptops using ISA IRQs). But some PCI cards have this part on them and this should allow them to be used. It is untested on PCI, but it seems to not break the ISA case. o Better sysctl descriptions (I hope).
* Be more conservative about the address ranges we assign. Someimp2002-07-171-0/+5
| | | | | machines don't like the more liberal default, so be more conservative about what we do by default.
* Add definitions for the Ext 1 register on cirrus logic PD-6729.imp2002-07-171-0/+9
|
* Rearrange previous commit that passed the vendor id to the kernel in a wayimp2002-07-142-28/+27
| | | | | | that's binary compatible for -stable. While binary compatibility doesn't matter much in -current, it is critical for -stable. This change requires pccardd/pccardc to be recompiled.
* Typo: do do -> to do.keramida2002-07-141-1/+1
| | | | Reviewed by: imp
* Lots of people have had to hack around the fixed address for cardbusimp2002-06-271-1/+1
| | | | | | bridges in modern hardware (that hardware w/ lots of RAM). Raise the address from 0x44000000 to 0x88000000 to match what we do with NEWCARD. However, this really should be done in the pci layer.
* Leave it to a non-native speaker of English to catch another typo: "do do" ->imp2002-06-271-1/+1
| | | | | | "to do" submitted by: marius@alchemy.franken.de
* Spell less like a 'merkin and more like a speaker of Englishimp2002-06-271-1/+1
|
* plxcard for OLDCARD isn't going to happen.imp2002-06-232-451/+0
|
* What:imp2002-06-235-74/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o ToPIC is happy with two cards now, even when the two cards are modems. o Fix (all?) hangs on boot when power is applied to the card. I suspect that this will make the Ricoh bridges happier and also make a lot of VAIO owners happy (confirm to me in private email please :-). o All Cardbus bridges should now support 3.3V, X.XV and Y.YV cards, to the extent that the underlying hardware supports such cards. (X.X and Y.Y haven't been assigned values yet :-). o Better 3.3V support for Ricoh ISA bridges. How: o Don't mess with the power register when scanning the cards. It is unnecessary and causes BADVcc conditions on many chipsets. These in turn can cause an interrupt storm. o Make pcic_disable reset the slot's voltage. o Move initializing voltage for the slot until after it has been disabled. o Fix a lot of issues with the pcic_cardbus_power routine. We now properly enable the card and take it out of reset after a power change. o When detecting the card's voltage, if we're in a BadVcc state, direct the bridge to rescan the card for what it supports. (we might need to in the future set the power register to 0 before doing this). o Don't preserve CLKSTOP. need to revisit this. o Better support for Ricoh ISA bridges for 3.3V cards. o Don't write to PCIC_POWER directly as offten, but instead go through the pcic_power interface. o All cardbus bridges now default to use cardbus power control. o Add misc register definitions. o remove some (now) bogus comments. Extra Special Thanks To: Scott Lamber for his kind and generous loan of a Toshiba laptop with a ToPIC 100 in it for my use.
* hw.pcic.ignore_pciimp2002-06-131-1/+9
| | | | | Set this to 1 to ignore cardbus bridges and work entirely in legacy ISA mode. This may help some folks.
* Forget to change lookup function for oldcard side.takawata2002-05-301-3/+5
|
* Change the suser() API to take advantage of td_ucred as well as do ajhb2002-04-011-8/+4
| | | | | | | | | | | | general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag. Discussed on: smp@
* Better power code and better power diagnosticsimp2002-03-202-36/+82
|
* Define masks for the VCC an VPP voltagesimp2002-03-201-0/+5
|
* Get the generic name rightimp2002-03-031-1/+1
|
* Add some code which is compatible for NEWCARD. It makes manufacturershiba2002-02-204-0/+18
| | | | | | id transfer from pccardd. Reviewed by: imp
* Garbage collect options AVM_A1_PCI, AVM_A1_PCMCIA, DEBUG_LINUX, DEV_APM,bde2002-02-151-2/+0
| | | | | GUS_DMA, GUS_DMA2, GUS_IRQ, OLTR_NO_BULLSEYE_MAC, OLTR_NO_HAWKEYE_MAC, OLTR_NO_TMS_MAC and PCIC_RESUME_RESET.
* The datasheet for the 6710/6722 says that you must use one method toimp2002-01-141-2/+8
| | | | | | | | | | | | | | | detect 3.3V cards for the 6710 and another method for the 6722. This latter method is also how the 6729/6730 is supposed to detect 3.3V cards. This method works great on my Fujitsu Stylistic 500. Sadly, it appears that not all laptop makers are as detail oriented as the folks that made the Stylistic. IBM Thinkpad 701C and AST Asentia 810N both hang hard when the 6729 method is used, but at least the thinkpad works when the 6710 method is used. The failure mode appears to be any access to the memory that we've mapped the CIS in causes the machine to hang until you eject the card. The Thinkpad, at least, works with this change, and it doesn't break my Stylistic. MFC after: 4 days
* Add recognition of the Omega 83C094 PCI <-> PCMCIA bridge chip set.imp2002-01-141-1/+5
| | | | MFC after: 5 days
* Avoid doubly defining machdep.pccardmsmith2002-01-082-2/+2
|
* Better error message when cardtype is not recognizedimp2001-11-131-1/+1
|
* Use d_thread_t (the new ugly compatibility hack) rather than the oldimp2001-11-121-6/+4
| | | | uglier compatibility hack (#define thread proc).
* Introduce the concept of "default" voltage. Have pccard layer use thisimp2001-11-112-56/+83
| | | | | | | | | value (-1) in lue of 50 (which assumes a 5.0V card). The rest of the pccard system doesn't detect the proper voltage for the card, so we have to do it on powerup. Many (all?) 3.3V cards can tolerate 5.0V for reading the CIS, but may fail to operate properly when so powered. Idea from: Chiharu Shibata-san <chi@bd.mbn.or.jp> in bsd-nomads:15867
* Do not assume that a I/O based bridge is a 6729. Intel made a funky chipimp2001-11-111-1/+1
| | | | that I have the datasheet on the way for that also does this.
* o Try to do 3.3V support better for the 6722 and 6729/30.imp2001-11-094-26/+57
| | | | | | | | | | | | | o Bite the bullet and create controller types for the 6729 and also for the 673x. Rename the 672x to 6722. o Define minimal extended register info (just register 0xa for reading VS[12]). # I think the last version may have broken 673x controllers, but this should # fix them. Tested on the 6722, but not the 6729. Ideas from: Chiharu Shibata-san's article in bsd-nomads:15866
* Fix the 3.3V support for Cirrus Logic CL-PD6710. This appears to workimp2001-11-091-0/+22
| | | | | | | | | | | | | | | | | on my CL-PD6722, but won't work on the CL-PD6729. The latter two need more sophisticated detection of 3.3V cards than I'm up to at the moment. Also, only a few of the ISA chipsets that support 3.3V will likely work at the moment. It appears that for 3.3V cards we must detect them and adjust the pwr.vcc value from 50 to 33. Give a strong hint to automatically power up the card for PD_POWER cards. This makes my SMC 2602W (the 3.3V version of the 2632W) work on my Fujitsu Stylistic 500. SMC 3.3V card donated by: Ryan Losh Thanks to: bsd-nomads for reviews of past 3.3V code
* Better error messages for the cases where device_add_child fails. Weimp2001-11-021-2/+8
| | | | | | | | should also whine if the old pccardd is used, but that's a little harder than it sounds. This also has the effect of fixing a typo that was in the last version I committed.
* Remove an extra " that crept into a string.silby2001-11-021-1/+1
|
* Print a warning when device_add_child returns NULL. This used to beimp2001-11-021-0/+5
| | | | | | impossible at this point, but now it apparently is. Grump. Submitted by: OGAWA Takaya <t-ogawa@triaez.kaisei.org>
* Restore the main BAR for the bridge on resume. Some machines don't saveimp2001-10-301-1/+21
| | | | | | | | | | | | this accross suspend/resume events and this was causing the dreaded false positive hit on my "static bug" test. Note: the PCI bus code should do this for us. Note2: We don't do the same for I/O based pci devices since it is more code and doesn't appear to be necessary. Submitted by: Toshiyuki Kawashima-san <tos@fa2.so-net.ne.jp> Obtained from: bsd-nomads:16012
* Add a tunable (hw.pcic.boot_deactivated) which will boot the systemimp2001-10-231-1/+14
| | | | | | | | | | with the pccards deactivated. This can work around some problems in pccard system, but is also for people that want to explicitly turn on cards after boot rather that at boot. MFC after: 7 days Submitted by: iwasaki-san Reviewed by: ume-san, shiba-san
* Print 4 per line. To do this, we test against i % 16 == 0 rather than i % 4imp2001-10-171-1/+1
| | | | since that's always true for this loop.
* ToPIC fixes. scale back what we do for functional interrupts becauseimp2001-10-171-1/+2
| | | | | | it appears to break at least the ToPIC 100. Submitted by: Mark Santcroos <marks@ripe.net>
* takashi shibagaki-san posted a similar patch to nomads. It seems thatimp2001-10-111-1/+6
| | | | | more laptops work w/o the shutdown code than with it on reboot. So let's disable it for a while.
* Use the NetBSD init code for the TOPIC parts as a more complete basisimp2001-10-112-13/+77
| | | | | | for initializing the parts. Since I don't have any of these parts in any of my working laptops, I'm committing this to allow people to test it. Will MFC when I receive reports of it working.
* Fix, I think, The second slot problem with Cirrus Logic PD6729/30 parts:imp2001-09-211-6/+5
| | | | | | | o Move initialization of the slot bst and bsh to inside the for loop. o move sc there as well. o Remove debug printf that prints the ID of the first slot twice. o Use the sp for the relevant slot in getb, rather than for the 0th slot.
* Ian Dowse had closed the race a little more in card ejection events.imp2001-09-161-16/+18
| | | | Maybe this will also fix the suprious eject events that we're seeing?
* <jkh> "Hey Rocky, watch me eject this pccard outta my laptop!" "What,imp2001-09-134-23/+92
| | | | | | | | | | | | | | | | | | | | | | again? That NEVER works!" "This time for sure!" Minor overhaul of how we do interrupts for the pci interrupt routing case to cope with card ejection better (read: make it not hand on so many cards): o Reintroduce func_intr and func_arg and use the to store the interrupt handler to call. o Create a pcic_pci_func_intr to call the real interrupt handler iff the card hasn't been ejected. o Remove some checks in pcic_setup_intr now that it is used exclusively for isa routed interrupts. o Defer the eject event until later too, but make sure we can't do any client driver ISR calling in the interrum. o Add some simple code to make sure that we don't attach more than one child. This should fix pccardd starting twice problem (ala single user -> multi-user when you started pccardd by hand in SU). MFC: after jkh thinks I've put the crack pipe away.
* Even better compatibility with 4.x. #define thread proc, since forimp2001-09-131-16/+2
| | | | | this file, that's a reasonable workaround. Also, include sys/proc.h for 4.x.
* Better way to do compatibility between the two versions.imp2001-09-131-20/+8
|
* Fix KSE breakage to this file:imp2001-09-131-0/+32
| | | | Make it compile again on 4.x.
OpenPOWER on IntegriCloud