Commit Graph

111 Commits

Author SHA1 Message Date
jakllsch
55591e4a3e If necessary, unload and destroy dmamap upon detach. 2012-07-12 16:01:53 +00:00
jakllsch
9c9fcbaafe Replace integer constant SDMMC_MAXNSEGS with the formula said value was
calculated from.
2012-07-12 15:59:32 +00:00
matt
aa9f240255 Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that). 2012-07-12 03:05:49 +00:00
jakllsch
99f6667d4a Fix transposition typo in comment. 2012-07-11 18:21:27 +00:00
bouyer
f0112171b7 Do not read past array end, found by gcc -O3.
This could cause to HWRITE4() a bad value, but maybe last 2 bytes are
probably ignored by hardware anyway.
2012-03-15 18:37:43 +00:00
nonaka
5a4d57175c Added Ricoh 5U822/5U823 SD/MMC Controller support. 2012-03-02 18:20:33 +00:00
matt
60ea8594c0 Support 32-bit only access to the SDHC registers.
Add support for FreeScale "Enhanced" SDHC port.
Add support for CGM mode (XLP and BCM2835 (Arason)).
2012-02-23 21:06:21 +00:00
nonaka
6cabf8a9dc Use "opt_sdmmc.h" for SDHC_DEBUG. 2012-02-02 22:49:17 +00:00
tls
7b0b7dedd9 Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code
   to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
   source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
   avoid expensive operations on disabled entropy sources; make the
   rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
   have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
   system events, and skew between clocks, with a sample implementation
   for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files).  Tested with release
builds on amd64 and evbarm and live testing on amd64.
2012-02-02 19:42:57 +00:00
matt
91964d87da Add more FLAGS 2012-02-01 23:03:30 +00:00
matt
8cdb54786a Add XLP specific CGM mode for SDHC_CLOCK_CTL. 2012-02-01 22:53:19 +00:00
matt
127e8825f0 Add some more FreeScale ESDHC defintions. 2012-02-01 22:35:30 +00:00
matt
5e2f4552c6 Use "opt_sdmmc.h" for SDMMC_DEBUG, etc. 2012-02-01 22:34:42 +00:00
tsutsui
26266e6650 Protect ldattach ops with config_pending_intr(9)/config_pending_decr(9)
so that "boot device: ld0" detection works properly even on slower zaurus.
2012-01-27 14:28:33 +00:00
matt
499a32ac9e Remove suplurfious ++ 2012-01-27 03:07:21 +00:00
matt
66f29c3992 Fix sdmmmc_mem_decode_scr for BE machines. 2012-01-27 03:06:24 +00:00
matt
84efaa5d69 Print error if couldn't enable card. 2012-01-26 02:20:12 +00:00
nonaka
2388feef61 fix my license notice. 2012-01-21 19:44:28 +00:00
matt
459e142a08 Add some inital changes for the Freescale eSDHC. 2011-06-29 06:21:16 +00:00
dyoung
b11777e520 #include <sys/bus.h>, not <machine/bus.h>. 2011-05-18 01:02:43 +00:00
nonaka
cf8c061385 if poll card detect is enabled, don't show "couldn't enable card". 2011-03-20 03:02:48 +00:00
matt
2ee318db8f Add stuff that the Freescale PowerQUICC3 ESDHC controllers have. 2011-03-17 16:56:58 +00:00
nonaka
367cc7689b use MMC_CSD_CSDVER_EXT_CSD. 2011-02-13 07:25:56 +00:00
nonaka
833f453410 - Don't switch MMC high-speed timing, if host controller isn't supported.
- Only check EXT_CSD STRUCTURE version when CSD version is 3.
- initialize width at sdmmc_function_alloc().
2011-02-13 06:43:51 +00:00
nonaka
2431d55e10 Don't switch SD high-speed timing, if host controller isn't supported. 2011-02-05 15:45:21 +00:00
uebayasi
8184d5dc03 Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants.  These are provided by sys/param.h now.
2010-11-13 13:51:57 +00:00
kiyohara
8cd794a74b Fix build failure. s/const static/static const/. 2010-10-07 16:26:37 +00:00
kiyohara
b5a696dfa9 Fix read CIS. And pass to attach args the standard function interface code. 2010-10-07 12:40:34 +00:00
kiyohara
881038840f Remove unnecessary Tab. 2010-10-07 12:28:34 +00:00
kiyohara
62d43dee68 Support High-Speed mode. 2010-10-07 12:24:23 +00:00
kiyohara
370119eed5 Support change Open-drain/Push-pull by bus_rod(). 2010-10-07 12:06:09 +00:00
kiyohara
9e2097666b Add bus_rod. It use to change to Data Transfer mode. 2010-10-07 12:00:21 +00:00
kiyohara
542a9f73d8 Use DMA bounce buffer, if DMA buffer is making by multiple segments. A lot
of host controllers do not support to two or more segments.
2010-10-01 09:50:42 +00:00
kiyohara
014c324421 Print bus width and clock for feature(High speed support). 2010-09-23 12:03:27 +00:00
kiyohara
e02699bf8c Back out previous change. "automagically" is NOT a typo. 2010-09-22 04:32:53 +00:00
kiyohara
dc47a44e6b + Add macro SMC_CAPS_8BIT_MODE for 8bit mode support.
+ Typo.  s/automagically/automatically/.
2010-09-21 04:57:44 +00:00
kiyohara
7e29ca4012 Fix build failure.
A new variable width and value had been forgotten since r1.7.
2010-09-21 04:53:53 +00:00
kiyohara
b9cf6be02b Clean up return/error in sdmem_mem_send_scr(). 2010-09-20 09:42:32 +00:00
kiyohara
87b07383a1 Fix SCR data. 2010-09-20 09:34:47 +00:00
kiyohara
34f323b137 Support MMC 4,8-bit mode.
It tested only 4bit on Marvell Sheevaplug.
2010-09-20 09:30:20 +00:00
kiyohara
393dd47650 Sync with POSTREAD before memcpy. 2010-09-20 09:19:31 +00:00
kiyohara
ea26f43320 Clear SMF_CARD_PRESENT, if failed to attach. 2010-09-20 09:06:03 +00:00
kiyohara
fbd4ef36fc Print product name. like sd(4), wd(4) and etc... 2010-09-20 09:03:33 +00:00
reinoud
ae745f2c6a Initialise error variable to zero. If all the if's fail it exists the function
sdmmc_init returning the then still uninitialised variable.

gcc can't know if one of the if's is bound to happen.

Detected with -DDEBUG -DDIAGNOSTIC -DKGDB - ...
2010-05-01 21:14:39 +00:00
nonaka
7e6a2d093f - mention MMC SPI mode.
- support SD 4bit bus width mode.
2010-04-06 15:10:09 +00:00
nonaka
821373d09b Added sdhc at cardbus support. 2010-03-27 03:04:51 +00:00
dyoung
c1b390d493 A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
2010-02-24 22:37:54 +00:00
uebayasi
0eddd68d7f According to SD Host Controller Simplified Specification Version 2.00, 2.2.10.
Host Control Register (Offset 028h), the "Data Transfer Width" bit is in Host
Control Register (Offset 028h), not Power Control Register (Offset 029h).
2010-01-12 08:41:16 +00:00
dyoung
cd6e1fbf91 Expand PMF_FN_* macros. 2010-01-08 19:53:10 +00:00
pooka
faa8e1b3e3 Convert tsleep(&lbolt) to kpause(). Make ltsleep/mtsleep on lbolt
illegal.  I examined all places where lbolt is referenced to make
sure there were pointer aliases of it passed to tsleep, but put a
KASSERT in m/ltsleep() just to be sure.
2009-12-05 22:34:43 +00:00
nonaka
c6e1f64d7a Always sector size is treated as 512 bytes. 2009-11-28 10:00:24 +00:00
uebayasi
384f20ea46 Typo in comment. 2009-10-02 04:33:58 +00:00
hubertf
d0ffc7ee11 Remove trailing whitespace,
from KIYOHARA Takashi on current-users@
2009-06-28 11:17:39 +00:00
nonaka
84b5216c59 It is avoided that the error occurs when the card attaches it,
when wedge is supported.
2009-05-29 22:27:40 +00:00
nonaka
b822210843 SDHC card was able to be used. 2009-05-24 12:59:54 +00:00
cegger
82fdd59cb5 fix crash with LOCKDEBUG+DIAGNOSTIC kernels:
sdhc_bus_clock() calls mutex_enter().
then in DIAGNOSTIC section, sdhc_bus_clock() calls sdhc_card_detect().
sdhc_card_detect() calls mutex_enter() on the same mutex again.
when LOCKDEBUG is enabled, you get

Mutex error: lockdebug_wantlock: locking against myself
2009-05-17 14:36:46 +00:00
cegger
3261738b4d struct cfdata * -> cfdata_t, no functional changes intended. 2009-05-06 08:20:49 +00:00
nonaka
35df2d384d fix build broken.
Pointed by Takeshi Nakayama.
2009-04-26 13:05:55 +00:00
nonaka
9445e9e796 Added some command definitions. 2009-04-26 07:21:13 +00:00
nonaka
e1c4491975 regen 2009-04-21 03:10:41 +00:00
nonaka
e0297d1ead Added SD/MMC support from OpenBSD.
tested on i386, amd64 at current-users ML by pgoyette@.
tested on zaurus by myself.
2009-04-21 03:00:29 +00:00