History log of /src/sys/dev/sdmmc/sdhc.c |
Revision | | Date | Author | Comments |
1.122 |
| 02-Sep-2025 |
jmcneill | sdhc: Disable bus power for 32-bit register accesses.
SDHC_FLAG_32BIT_ACCESS shouldn't prohibit clearing the SD Bus Power bit in the Power Control Register, that's what SDHC_FLAG_NO_PWR0 is for.
Should help with card initialization issues at boot on controllers that set the 32-bit access flag.
|
1.121 |
| 16-Feb-2025 |
jmcneill | sdhc: Remove delay in sdhc_wait_state
Replace the 10us delay loop in sdhc_wait_state with a microuptime based timeout test.
|
1.120 |
| 16-Feb-2025 |
jmcneill | sdhc: Remove now unused sc_write_delay
|
1.119 |
| 09-May-2024 |
dyoung | branches: 1.119.2; If the ACPI flag "non-removable" is present and true for an SD/MMC slot, then set a new flag on that slot to indicate that the media is non-removable. Make sdhc_card_detect always return true for a slot if its non-removable media flag is set.
This change lets the kernel automatically configure the permanently-installed MMC slot on the NXP LX2160-based HoneyComb LX2 board.
|
1.118 |
| 20-Jan-2024 |
jmcneill | sdmmc: add support for optional delay after register write
|
1.117 |
| 02-Nov-2022 |
jmcneill | branches: 1.117.2; Select DMA mode after programming the ADMA base address register(s).
The Arasan SDHCI 8.9a found in the Xilinx Zynq-7000 SoC requires this sequence to avoid sporadic transfer errors.
|
1.116 |
| 14-Oct-2022 |
jmcneill | Disable ADMA2 on Ricoh SDHCI controllers.
PR# 57015
|
1.115 |
| 06-Feb-2022 |
jmcneill | sdhc: Retire SDHC_FLAG_USE_ADMA2 flag.
ADMA2 support in sdhc is mature now, so no need for it to be opt-in.
|
1.114 |
| 17-Jan-2022 |
mrg | sdhc: avoid taking adaptive mutex while holding spin mutex
the clock_bus pre- and post- callbacks used in sdhc_bus_clock_ddr() are called with a spin mutex held, and the new sdhc@acpi ends up calling into (sleeping) ACPI code, triggering lockdebug assertion.
introduce an adaptive mutex that is held around these callbacks, and reduce the spin mutex held time in sdhc_bus_clock_ddr().
|
1.113 |
| 15-Jan-2022 |
jmcneill | sdhc: High speed support capability flag applies to eMMC too.
|
1.112 |
| 10-Nov-2021 |
msaitoh | s/suport/support/ in comment.
|
1.111 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.110 |
| 13-May-2021 |
msaitoh | branches: 1.110.4; Use unsigned to avoid undefined behavior in hwrite[12](). Found by kUBSan.
|
1.109 |
| 24-Apr-2021 |
thorpej | branches: 1.109.2; 1.109.4; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.108 |
| 13-Mar-2021 |
mlelstv | branches: 1.108.2; Enable block count only for count > 0. Don't enable autostop when command sets new flag SCF_NO_STOP.
|
1.107 |
| 15-Jul-2020 |
msaitoh | branches: 1.107.2; Identify SDHC 4.1 and 4.2. From {DragonFly,Free}BSD.
|
1.106 |
| 28-Oct-2019 |
joerg | Avoid warnings for tautological shifts as sole conditional.
|
1.105 |
| 28-Oct-2019 |
mlelstv | Skip setting power when the voltage doesn't change. Also increase some timeouts.
|
1.104 |
| 23-Oct-2019 |
hkenken | Add SDHC flags.
+ SDHC_FLAG_BROKEN_ADMA2_ZEROLEN Broken ADMA2 Zero length descriptor. Can't 64K Byte data transfer. + SDHC_FLAG_NO_1_8_V Support no 1.8V Supply. Disable UHS-I bus speed mode (SDR50, DDR50, SDR104).
|
1.103 |
| 03-Jul-2019 |
jmcneill | branches: 1.103.2; If switching to fixed sampling clock, do not return an error to the sdmmc layer.
|
1.102 |
| 13-Mar-2019 |
jmcneill | Add vendor callback for post-bus clock ops and add SDHC_FLAG_STOP_WITH_TC flag
|
1.101 |
| 23-Jun-2017 |
ryo | branches: 1.101.6; fix problem for ESDHC/USDHC due to change of r1.96
on ESDHC/USDHC, even if the iosize is less than SDHC_HOST_CTL_VERSION, specver must be an appropriate value.
|
1.100 |
| 22-Apr-2017 |
jmcneill | branches: 1.100.4; Add a vendor callback for setting signal voltage.
|
1.99 |
| 17-Feb-2017 |
nonaka | sdhc(4): hardware reset support for Intel eMMC controller
|
1.98 |
| 17-Feb-2017 |
nonaka | sdhc(4), sdmmc(4): Added MMC HS DDR52 support.
|
1.97 |
| 07-Jan-2017 |
kiyohara | branches: 1.97.2; Add flags SDHC_FLAG_NO_AUTO_STOP and SDHC_FLAG_NO_BUSY_INTR.
|
1.96 |
| 07-Jan-2017 |
kiyohara | Don't access SDHC_HOST_CTL_VERSION, if iosize less than this.
|
1.95 |
| 10-Aug-2016 |
nonaka | Use 1.65-1.95 voltage window for 1.8V support.
|
1.94 |
| 03-Jul-2016 |
kiyohara | branches: 1.94.2; Please more delay, if timeout in sdhc_wait_intr().
|
1.93 |
| 31-Dec-2015 |
ryo | add support iMX6 uSDHC - some UHS-I/SDR104 card are not stable - eMMC doesn't work yet
|
1.92 |
| 28-Dec-2015 |
ryo | fix typo. use pmask for SDHC_PRESENT_STATE.
|
1.91 |
| 03-Nov-2015 |
mlelstv | Also wait for DAT when sending RSP_BSY commands. Fixes PR 50388.
|
1.90 |
| 03-Nov-2015 |
mlelstv | fix timeout path in soft reset when building with SDHC_DEBUG
|
1.89 |
| 02-Nov-2015 |
jmcneill | allow vendor specific code to hook into bus width changes
|
1.88 |
| 06-Oct-2015 |
mlelstv | support hiding command timeout messages with a new command flag and use this when probing for cards. Should fix PR 50302.
|
1.87 |
| 09-Sep-2015 |
mlelstv | The iMX uSDHC controller doesn't have an interrupt error status flag, the bit position is reserved and reads as value 0. - Fake the flag if any of the error bits is set. - uSDHC supports the 32bit access, the 16bit path doesn't need that quirk.
|
1.86 |
| 09-Sep-2015 |
mlelstv | Don't test flags from error value in status value. Instead test the error interrupt status.
|
1.85 |
| 09-Sep-2015 |
mlelstv | fix DPRINTF parameters
|
1.84 |
| 09-Aug-2015 |
mlelstv | Ignore data inhibit for commands that do not use the DAT line. Do a soft reset when the inhibit condition persists for better error recovery.
Simplify interrupt handling and print errors reported by the controller.
Add more specific debug messages for timeout errors.
|
1.83 |
| 09-Aug-2015 |
mlelstv | Protect the whole tuning operation including the register setup.
|
1.82 |
| 09-Aug-2015 |
mlelstv | Add a quirk for Ricoh 5U823 controller. Operation with a 100MHz bus clock for SDR50 seems to be unstable, reduce frequency one notch (effectively down to 66MHz with divisor = 3).
|
1.81 |
| 06-Aug-2015 |
jmcneill | don't hold intr_lock while calling sdhc_execute_tuning
|
1.80 |
| 05-Aug-2015 |
jmcneill | support re-tuning modes 1 and 2
|
1.79 |
| 05-Aug-2015 |
jmcneill | Implement SDHC sampling clock tuning procedure.
|
1.78 |
| 05-Aug-2015 |
mlelstv | lock more hardware accesses
|
1.77 |
| 03-Aug-2015 |
jmcneill | Add SDHC_FLAG_POLL_CARD_DET flag which lets the bus glue request polling instead of standard SDHC card insert / detach events.
|
1.76 |
| 03-Aug-2015 |
jmcneill | Add support for DDR50 transfer modes.
|
1.75 |
| 03-Aug-2015 |
mlelstv | better error message
|
1.74 |
| 03-Aug-2015 |
jmcneill | don't select SDR12 mode if we are <= 400 kHz
|
1.73 |
| 03-Aug-2015 |
jmcneill | dont confuse signaling voltage and bus voltage
|
1.72 |
| 02-Aug-2015 |
jmcneill | let SDHC_FLAG_HOSTCAPS override SDHC_CAPABILITIES2 as well
|
1.71 |
| 02-Aug-2015 |
jmcneill | add support for UHS-I modes on capable 3.0+ controllers
|
1.70 |
| 02-Aug-2015 |
jmcneill | bus_dma_segment_t ds_addr is bus_addr_t not paddr_t (another case of it)
|
1.69 |
| 02-Aug-2015 |
jmcneill | bus_dma_segment_t ds_addr is bus_addr_t not paddr_t
|
1.68 |
| 02-Aug-2015 |
mlelstv | Be more verbose about error conditions.
|
1.67 |
| 02-Aug-2015 |
mlelstv | correct (the commented out) calculation of bus frequency.
|
1.66 |
| 02-Aug-2015 |
jmcneill | return MMC_OCR_HCS bit from host_ocr if the controller supports high-speed mode
|
1.65 |
| 31-Jul-2015 |
jmcneill | Simplify sdhc(4) locking
|
1.64 |
| 30-Jul-2015 |
jmcneill | print "platform DMA" instead of "SDMA" when using external DMA engine
|
1.63 |
| 29-Jul-2015 |
jmcneill | Add ADMA2 support, which enables scatter gather DMA for data transfers on controllers that support it.
|
1.62 |
| 28-Jul-2015 |
skrll | Remove unnecessary #include
|
1.61 |
| 23-Jul-2015 |
jmcneill | Add a SDHC_FLAG_NO_TIMEOUT quirk to handle spurious timeouts on Tegra K1 during data transfers. While here, increase the soft timeout for DMA transfers from 1s to 3s.
|
1.60 |
| 22-Jul-2015 |
skrll | Use C99 designated initializers.
No functional change.
|
1.59 |
| 30-May-2015 |
jmcneill | support 8-bit mode for SDHC 3.0+ controllers
|
1.58 |
| 03-May-2015 |
jmcneill | print some useful information at attach time
|
1.57 |
| 03-May-2015 |
jmcneill | Add SDHC_FLAG_SINGLE_POWER_WRITE flag, that tells the driver to update the SDHC_POWER_CTL register with a single write rather than in multiple steps. Required for Tegra K1 SDHC.
|
1.56 |
| 02-May-2015 |
jmcneill | support SDHC 4.0, allow for overriding clk base frequency
|
1.55 |
| 14-Apr-2015 |
bouyer | Add a new SDHC_FLAG, SDHC_FLAG_EXTDMA_DMAEN, which request that the SDHC_DMA_ENABLE bit be set in the command, even if we're using an external DMA engine. Needed by the upcoming DMA support for AM335x (beaglebone).
|
1.54 |
| 27-Feb-2015 |
nonaka | eSDHC has no DMA_BOUNDARY in BLOCK_SIZE register. So clear multi segment DMA transfer support bit.
|
1.53 |
| 27-Feb-2015 |
nonaka | Don't clear other bits. pq3sdhc is set more bits.
|
1.52 |
| 26-Jan-2015 |
nonaka | eSDHC has non standard Host Controller Version Register offset.
|
1.51 |
| 04-Oct-2014 |
jmcneill | branches: 1.51.2; pass sdhc_softc instead of sdhc_host to sc_vendor_transfer_data_dma, since the vendor specific code has no visibility into struct sdhc_host and can easily do device_private(sdhc_softc->sc_dev)
|
1.50 |
| 02-Oct-2014 |
mlelstv | Fix divisor calculation for SDHC 3.0. 1/1 -> 0 1/2 -> 1 1/4 -> 2 ... 1/2*N -> N
|
1.49 |
| 01-Oct-2014 |
jmcneill | correct clk div calculation for SD 3.0 controllers
|
1.48 |
| 01-Oct-2014 |
jmcneill | Don't check slot type for pre-3.0 controllers, the bits were reserved at the time. If an older controller advertises 1.8V support, just use it. This fixes high-speed mode support for me on BeagleBone Black.
|
1.47 |
| 14-Sep-2014 |
skrll | When doing vendor dma transfer wait for SDHC_TRANSFER_COMPLETE.
From jmcneill@ with some layout changes from me.
|
1.46 |
| 12-Sep-2014 |
jakllsch | Avoid NULL deref when sdhc(4) attaches via config_interrupts().
|
1.45 |
| 12-Sep-2014 |
jakllsch | Allow sdhc(4) to use a non-integrated DMA engine.
|
1.44 |
| 24-May-2014 |
hkenken | branches: 1.44.2; eSDHC Controller doesn't have "Host SDMA Buffer Boundary" bit field
|
1.43 |
| 10-Jan-2013 |
jmcneill | branches: 1.43.10; add SDHC_FLAG_NO_HS_BIT flag to prevent sdhc driver from setting the SDHC_HIGH_SPEED bit in SDHC_HOST_CTL, required to get many high speed cards working on rpi
|
1.42 |
| 08-Jan-2013 |
jakllsch | If the command protocol calls for a trailing busy signal, wait (up to 10 seconds) for it to be released.
|
1.41 |
| 07-Jan-2013 |
jakllsch | Find correct slot index in sdhc_cfprint().
|
1.40 |
| 24-Dec-2012 |
jakllsch | SDHC_VOLTAGE_SUPP_1_8V is only valid in the presence of SDHC_EMBEDDED_SLOT. Fixes probing of full-size 1GB Toshiba card made in 2008 that fails to respond with a 1.8V supply. (JMB389 (in TS-RDF1) host claims SDHC_VOLTAGE_SUPP_1_8V but does not claim SDHC_EMBEDDED_SLOT.)
|
1.39 |
| 23-Dec-2012 |
jakllsch | SMC_CAPS_DMA without SMC_CAPS_MULTI_SEG_DMA means we as a host driver only can support one segment per operation. This is not the case with SDHCI SDMA, the only SDHCI DMA mechanism we currently support in sdhc(4). Should fix corrupt data on DMA-enabled SDHCI controllers claiming conformance to a SDHCI Specification other than 1.0.
|
1.38 |
| 22-Dec-2012 |
jakllsch | Add support for SDHCI 3.0 bus clock generation, which unlike 1.0 and 2.0 has support for non-power-of-two divisors from 1 to 1023. Additionally restore finding the correct power-of-two divisor for standard-compliant pre-3.0 SDHCI parts. Also, calculate minimum divided clock for the clkmsk-quirk parts correctly.
XXX Will future standard-compliant SDHCI versions have a SDHCI 3.0 backwards-compatible clock generator, or just SDHCI 1.0/2.0?
|
1.37 |
| 20-Dec-2012 |
jakllsch | If we get a SDMA boundary-crossing interrupt at the end of the final segment, the transfer is not implicitly complete; we still need to wait for the transfer complete interrupt so that we can issue new commands successfully.
This fixes the problem my Ricoh R5C822 was having where all writes after a larger (64KiB) write were failing because we attempted to issue CMD13 (to check the status of the aformentioned write) too soon afterwards.
I suspect this fix to apply to other Ricoh SDHCI controllers I've heard people have had trouble with. Sorry I didn't look at this sooner.
|
1.36 |
| 20-Dec-2012 |
jakllsch | Change sdhc_detach so that it detaches all host controllers at once. This should make multiple slot controllers, for example those with a controller on more than one PCI/CardBus BAR, detach with fewer bugs. Tested with as-of-yet-uncommited sdhc_pci changes on a single-host ExpressCard JMicron JMB38[89].
|
1.35 |
| 13-Dec-2012 |
riastradh | Implement TI AM335x's SDHC reset quirk. Beaglebone SDHC works now!
On the AM335x, we first must wait for the controller to acknowledge the reset; then we can wait for the reset to complete.
I believe this quirk also applies to the OMAP4 ES, but I don't have one of those to test and we don't seem to have an obvious conditional for it anyway.
This quirk may work for controllers that don't require it too, but I am nervous about doing it by default because if we miss the reset acknowledgement, then we'll just time out even though everything is really hunky-dory.
Also, for all sdhc, don't bother writing 0 in sdhc_soft_reset while waiting for the reset to complete; there is no need.
ok matt
|
1.34 |
| 12-Dec-2012 |
matt | Add sc_vendor_bus_clock hook From jmcneill.
|
1.33 |
| 12-Dec-2012 |
riastradh | Avoid the 16-bit read in sdhc_host_found for 32-bit-only devices.
This change makes sdhc_host_found allocate hp up front before showing the identification, in order to avoid having to open-code a copy of HREAD2 before hp is available.
|
1.32 |
| 29-Oct-2012 |
kiyohara | Support omap3 SDHC driver. tested on OVERO only.
|
1.31 |
| 13-Sep-2012 |
joerg | Don't use const foo const as type, one const is enough.
|
1.30 |
| 31-Aug-2012 |
matt | branches: 1.30.2; Support deciphering SDHCv3 clock rates.
|
1.29 |
| 30-Jul-2012 |
matt | Make PIO on normal SDHC devices work correctly on big-endian machines. Add locking around interrupt manipulation (it should now be MP safe).
|
1.28 |
| 28-Jul-2012 |
matt | Only SDHC 1.0 controllers can do that fucky MULTI_SEG stuff.
|
1.27 |
| 28-Jul-2012 |
jakllsch | sdhc(4) currently only implements support for the SDHC 1.0 DMA mechanism, so only enable in that case.
|
1.26 |
| 26-Jul-2012 |
matt | MULTI_SEG does not for ESDHC. (Don't know how it works at all on any SDHC but ...)
|
1.25 |
| 23-Jul-2012 |
matt | Responses are actually in host order (except SCR which is return in big endian so that's convert to host order).
|
1.24 |
| 21-Jul-2012 |
skrll | Provide a method for attachments to specify capabilites.
|
1.23 |
| 20-Jul-2012 |
matt | Add use of watermark register when PIO to an ESDHC. After every kill or drain of watermask words, pause a bit to give time for the fifo to recover. Always the command response in BE byteorder. Rewrite __bitfield to deal with this.
|
1.22 |
| 17-Jul-2012 |
matt | If there was an error in 32-bit mode, just set ERROR_INTERRUPT otherwise see if matched anything we care about.
|
1.21 |
| 17-Jul-2012 |
skrll | Handle interrupt acknowledgement in the SDHC_FLAG_32BIT_ACCESS case in the same way as non-SDHC_FLAG_32BIT_ACCESS case.
|
1.20 |
| 12-Jul-2012 |
jakllsch | bus_space_*_stream_N() functions are not universally available. Provite alternate implementation for when they are unavailable.
|
1.19 |
| 12-Jul-2012 |
jakllsch | Completely rework (and enable) SDHC 1.0 DMA data transfer.
While without a large physically-contiguous buffer the performance suffers severly, this should still be better than PIO.
|
1.18 |
| 12-Jul-2012 |
jakllsch | No need to panic on failure to find a divisor. Additionally, add commented out calculation of actual clock frequency.
|
1.17 |
| 12-Jul-2012 |
jakllsch | SDHC can have multiple slots, note which slot a specific sdmmc(4) attaches to.
|
1.16 |
| 12-Jul-2012 |
jakllsch | SDHCI byte swaps the BE response on the wire into LE registers. As we always want response data in LE, use bus_space_read_stream. Additonally, read response data in 1 or 4 4-byte chunks, instead of one 4-byte chunk or 15 1-byte chunks.
|
1.15 |
| 12-Jul-2012 |
jakllsch | Always enable and set block count register. We never do infinite transfers. The old way seemed to be causing issues on a R5C822, at least with DMA enabled.
|
1.14 |
| 12-Jul-2012 |
matt | Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).
|
1.13 |
| 15-Mar-2012 |
bouyer | 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.
|
1.12 |
| 02-Mar-2012 |
nonaka | Added Ricoh 5U822/5U823 SD/MMC Controller support.
|
1.11 |
| 23-Feb-2012 |
matt | 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)).
|
1.10 |
| 02-Feb-2012 |
nonaka | branches: 1.10.2; Use "opt_sdmmc.h" for SDHC_DEBUG.
|
1.9 |
| 29-Jun-2011 |
matt | branches: 1.9.2; 1.9.6; Add some inital changes for the Freescale eSDHC.
|
1.8 |
| 07-Oct-2010 |
kiyohara | Support change Open-drain/Push-pull by bus_rod().
|
1.7 |
| 27-Mar-2010 |
nonaka | branches: 1.7.2; Added sdhc at cardbus support.
|
1.6 |
| 24-Feb-2010 |
dyoung | branches: 1.6.2; 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.
|
1.5 |
| 12-Jan-2010 |
uebayasi | branches: 1.5.2; 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).
|
1.4 |
| 08-Jan-2010 |
dyoung | Expand PMF_FN_* macros.
|
1.3 |
| 02-Oct-2009 |
uebayasi | branches: 1.3.2; Typo in comment.
|
1.2 |
| 17-May-2009 |
cegger | 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
|
1.1 |
| 21-Apr-2009 |
nonaka | branches: 1.1.2; 1.1.4; 1.1.6; Added SD/MMC support from OpenBSD. tested on i386, amd64 at current-users ML by pgoyette@. tested on zaurus by myself.
|
1.1.6.3 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.1.6.2 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.1.6.1 |
| 21-Apr-2009 |
jym | file sdhc.c was added on branch jym-xensuspend on 2009-05-13 17:21:29 +0000
|
1.1.4.6 |
| 09-Oct-2010 |
yamt | sync with head
|
1.1.4.5 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.1.4.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.1.4.3 |
| 20-Jun-2009 |
yamt | sync with head
|
1.1.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.1.4.1 |
| 21-Apr-2009 |
yamt | file sdhc.c was added on branch yamt-nfs-mp on 2009-05-04 08:13:18 +0000
|
1.1.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.1.2.1 |
| 21-Apr-2009 |
skrll | file sdhc.c was added on branch nick-hppapmap on 2009-04-28 07:36:33 +0000
|
1.3.2.2 |
| 07-Oct-2009 |
sborrill | branches: 1.3.2.2.4; Pull up the following revisions(s) (requested by jmcneill in ticket #1044): distrib/sets/lists/man/mi: patch share/man/man4/Makefile: patch sys/arch/amd64/conf/files.amd64: 1.67 sys/arch/i386/conf/files.i386: 1.349 sys/conf/files 1.945 share/man/man4/sdmmc.4: 1.1-1.4 sys/dev/sdmmc/Makefile.sdmmcdevs 1.1 sys/dev/sdmmc/devlist2h.awk 1.1 sys/dev/sdmmc/files.sdmmc 1.1-1.2 sys/dev/sdmmc/ld_sdmmc.c 1.1-1.3 sys/dev/sdmmc/sbt.c 1.1-1.2 sys/dev/sdmmc/sdhc.c 1.1-1.3 sys/dev/sdmmc/sdhcreg.h 1.1 sys/dev/sdmmc/sdhcvar.h 1.1 sys/dev/sdmmc/sdmmc.c 1.1 sys/dev/sdmmc/sdmmc_cis.c 1.1 sys/dev/sdmmc/sdmmc_io.c 1.1 sys/dev/sdmmc/sdmmc_ioreg.h 1.1 sys/dev/sdmmc/sdmmc_mem.c 1.1-1.2 sys/dev/sdmmc/sdmmcchip.h 1.1 sys/dev/sdmmc/sdmmcdevs 1.1 sys/dev/sdmmc/sdmmcdevs.h 1.1-1.2 sys/dev/sdmmc/sdmmcreg.h 1.1-1.3 sys/dev/sdmmc/sdmmcvar.h 1.1
Add sdmmc framework
|
1.3.2.1 |
| 02-Oct-2009 |
sborrill | file sdhc.c was added on branch netbsd-5 on 2009-10-07 15:41:13 +0000
|
1.3.2.2.4.1 |
| 26-Jul-2011 |
matt | Backport flash/nand/nor subsystem from -HEAD.
|
1.5.2.2 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.5.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.6.2.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.6.2.1 |
| 30-May-2010 |
rmind | sync with head
|
1.7.2.6 |
| 15-Feb-2014 |
matt | HAS_CGM -> HAVE_CGM (like current) Add 32BIT_ACCESS
|
1.7.2.5 |
| 05-Nov-2013 |
matt | turn off debug
|
1.7.2.4 |
| 27-Dec-2011 |
matt | Sync/merge with changes from matt-nb5-pq3
|
1.7.2.3 |
| 24-Dec-2011 |
matt | Add support for >63MHZ speeds. Add support for extended clock division via CGM.
|
1.7.2.2 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.7.2.1 |
| 27-Mar-2010 |
matt | file sdhc.c was added on branch matt-nb5-mips64 on 2010-04-21 00:27:52 +0000
|
1.9.6.6 |
| 05-Apr-2012 |
mrg | sync to latest -current.
|
1.9.6.5 |
| 06-Mar-2012 |
mrg | sync to -current
|
1.9.6.4 |
| 06-Mar-2012 |
mrg | sync to -current
|
1.9.6.3 |
| 04-Mar-2012 |
mrg | sync to latest -current.
|
1.9.6.2 |
| 24-Feb-2012 |
mrg | sync to -current.
|
1.9.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.9.2.4 |
| 23-Jan-2013 |
yamt | sync with head
|
1.9.2.3 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.9.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.9.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.10.2.5 |
| 13-Feb-2013 |
riz | Pull up following revision(s) (requested by skrll in ticket #813):
etc/MAKEDEV.tmpl 1.160 etc/etc.evbarm/MAKEDEV.conf 1.9 external/broadcom/rpi-firmware/dist/LICENCE.broadcom 1.1 external/broadcom/rpi-firmware/dist/bootcode.bin 1.1 external/broadcom/rpi-firmware/dist/bootcode.bin 1.2 external/broadcom/rpi-firmware/dist/fixup.dat 1.1 external/broadcom/rpi-firmware/dist/fixup.dat 1.2 external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.1 external/broadcom/rpi-firmware/dist/fixup_cd.dat 1.2 external/broadcom/rpi-firmware/dist/start.elf 1.1 external/broadcom/rpi-firmware/dist/start.elf 1.2 external/broadcom/rpi-firmware/dist/start_cd.elf 1.1 external/broadcom/rpi-firmware/dist/start_cd.elf 1.2 sys/arch/arm/broadcom/bcm2835_bsc.c 1.1 via patch sys/arch/arm/broadcom/bcm2835_bscreg.h 1.1 via patch sys/arch/arm/broadcom/bcm2835_dotg.c 1.1 via patch sys/arch/arm/broadcom/bcm2835_emmc.c 1.7 via patch sys/arch/arm/broadcom/bcm2835_genfb.c 1.4 via patch sys/arch/arm/broadcom/bcm2835_gpio_subr.c 1.2 via patch sys/arch/arm/broadcom/bcm2835_gpio_subr.h 1.1 via patch sys/arch/arm/broadcom/bcm2835_gpioreg.h 1.1 via patch sys/arch/arm/broadcom/bcm2835_intr.c 1.3 via patch sys/arch/arm/broadcom/bcm2835_mbox.c 1.5 via patch sys/arch/arm/broadcom/bcm2835_mbox.h 1.4 via patch sys/arch/arm/broadcom/bcm2835_obio.c 1.17 via patch sys/arch/arm/broadcom/bcm2835_pm.c 1.2 via patch sys/arch/arm/broadcom/bcm2835_rng.c 1.3 via patch sys/arch/arm/broadcom/bcm2835_space.c 1.5 via patch sys/arch/arm/broadcom/bcm2835_spi.c 1.1 via patch sys/arch/arm/broadcom/bcm2835_spireg.h 1.1 via patch sys/arch/arm/broadcom/bcm2835_tmr.c 1.3 via patch sys/arch/arm/broadcom/bcm2835reg.h 1.10 via patch sys/arch/arm/broadcom/files.bcm2835 1.14 via patch sys/arch/evbarm/conf/RPI 1.23 via patch sys/arch/evbarm/conf/files.rpi 1.3 via patch sys/arch/evbarm/conf/mk.rpi 1.2 via patch sys/arch/evbarm/conf/std.rpi 1.4 via patch sys/arch/evbarm/rpi/rpi_machdep.c 1.34 via patch sys/arch/evbarm/rpi/rpi_start.S 1.7 via patch sys/arch/evbarm/rpi/rpi_vcmbox.c 1.2 via patch sys/arch/evbarm/rpi/vcio.h 1.1 via patch sys/arch/evbarm/rpi/vcprop.h 1.7 via patch sys/conf/files patch sys/dev/sdmmc/sdhc.c 1.43 sys/dev/sdmmc/sdhcvar.h 1.13 sys/dev/usb/dwc_otg.c 1.45 via patch sys/dev/usb/dwc_otgreg.h 1.5 via patch sys/dev/usb/dwc_otgvar.h 1.11 via patch sys/dev/usb/files.usb 1.126 via patch sys/dev/usb/if_smsc.c 1.7 via patch sys/dev/usb/if_smscreg.h 1.1 via patch sys/dev/usb/if_smscvar.h 1.1 via patch sys/dev/usb/usbdevices.config patch sys/dev/usb/usbdevs 1.633 via patch sys/dev/usb/usbdevs.h regen sys/dev/usb/usbdevs_data.h regen sys/dev/wscons/wsconsio.h 1.105,1.107 via patch sys/dev/wscons/wsdisplayvar.h 1.50 sys/dev/wscons/wsdisplay_util.c 1.2 sys/dev/videomode/edid.c 1.12 via patch
Greatly improved Raspberry Pi support. USB and onboard Ethernet should work. [skrll, ticket #813]
|
1.10.2.4 |
| 02-Jan-2013 |
riz | sys/dev/sdmmc/sdhc.c patch sys/dev/sdmmc/sdhcreg.h patch
Support SDHC version 3 clocks. [skrll, ticket #759]
|
1.10.2.3 |
| 09-Aug-2012 |
jdc | Pull up revisions: src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4 src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65 src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40 src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14 src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11 src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2 src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108 src/sys/arch/arm/arm32/cpu.c revision 1.79 src/sys/arch/arm/include/armreg.h revisions 1.49,1.54 src/sys/arch/arm/arm32/pmap.c revision 1.229 src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77 src/sys/arch/arm/include/cpu.h revision 1.64 src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3 src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1 src/sys/arch/arm/conf/files.arm revision 1.106 src/sys/arch/arm/include/cpufunc.h revision 1.57 src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24 src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8 src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4 src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69 src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1 src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1 src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1 src/sys/arch/evbarm/Makefile revision 1.9 src/sys/arch/evbarm/conf/RPI revision 1.1 src/sys/arch/evbarm/conf/files.rpi revision 1.1 src/sys/arch/evbarm/conf/mk.rpi revision 1.1 src/sys/arch/evbarm/conf/std.rpi revision 1.1 src/sys/arch/evbarm/rpi/genassym.cf revision 1.1 src/sys/arch/evbarm/rpi/rpi.h revision 1.1 src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1 src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2 src/etc/etc.evbarm/Makefile.inc revision 1.28 (requested by skrll in ticket #454).
don't mix #define<TAB> and #define<SPACE> in a file.
avoid warning with options PLCOM_DEBUG for INTEGRATOR.
Rename register values. No functional change - same code before and after.
Existing names are prefixed with PL01X_ where they're common between the PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're found only on the respective chips.
Replace the simple_lock with a kmutex_t. Update the locking to match com(4) in the few places it didn't already.
DOH. Replace a line that got accidently deleted in the last commit.
device_t/softc split struct device * -> device_t struct cfdata * -> cfdata_t
Add the 'Z' to the 1176 cpu product name.
ok matt@
Fix locking botch introduced in 1.36.
Fix a KASSERT. From/OK'ed by matt@
Fix racy softint dispatch that lead to KASSERT(si->si_active) in softint_execute
Discussed with matt@. "Looks good to me"
Add the documented ARM11[37]6 Auxiliary control register defines.
Add support for the ARM1176JZS
Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).
Provide a method for attachments to specify capabilites.
Add support for the PL011 to plcom. Pull across a bunch of fixes from com(4) while I'm here and do some other tidyup.
Tested on a RaspberryPi.
PL010 not tested.
Initial commit of support for the RaspberryPI (www.raspberrypi.org)
This is enough for serial console via the gpio header pins and to get to multiuser.
A huge thank you to Matt Thomas for all his help.
Add RPI to KERNEL_SETS
Remove #if 0 code.
|
1.10.2.2 |
| 08-Aug-2012 |
jdc | Pull up revisions: src/sys/dev/sdmmc/sdhc.c revisions 1.16,1.20,1.21,1.22,1.23 via patch,1.25 src/sys/dev/sdmmc/sdhcreg.h revision 1.8 src/sys/dev/sdmmc/sdmmc_mem.c revisions 1.21,1.22 src/sys/dev/sdmmc/sdmmcreg.h revisions 1.10,1.11,1.12 (requested by matt in ticket 441).
SDHCI byte swaps the BE response on the wire into LE registers. As we always want response data in LE, use bus_space_read_stream. Additonally, read response data in 1 or 4 4-byte chunks, instead of one 4-byte chunk or 15 1-byte chunks.
bus_space_*_stream_N() functions are not universally available. Provite alternate implementation for when they are unavailable.
Handle interrupt acknowledgement in the SDHC_FLAG_32BIT_ACCESS case in the same way as non-SDHC_FLAG_32BIT_ACCESS case.
If there was an error in 32-bit mode, just set ERROR_INTERRUPT otherwise see if matched anything we care about.
Add use of watermark register when PIO to an ESDHC. After every kill or drain of watermask words, pause a bit to give time for the fifo to recover. Always the command response in BE byteorder. Rewrite __bitfield to deal with this.
Responses are actually in host order (except SCR which is return in big endian so that's convert to host order).
Fix comments about __bitfield.
|
1.10.2.1 |
| 11-Jun-2012 |
riz | Pull up following revision(s) (requested by matt in ticket #254): sys/arch/powerpc/booke/dev/pq3sdhc.c: revision 1.4 sys/dev/sdmmc/sdhc.c: revision 1.11 sys/dev/sdmmc/sdhc.c: revision 1.13 Use the new 32-bit and ESDHC support in sdhc.c 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)). 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.
|
1.30.2.4 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.30.2.3 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.30.2.2 |
| 25-Feb-2013 |
tls | resync with head
|
1.30.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.43.10.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.44.2.9 |
| 08-Nov-2015 |
riz | Pull up following revision(s) (requested by jmcneill in ticket #1022): sys/dev/sdmmc/sdhc.c: revision 1.89 sys/arch/arm/omap/omap3_sdhc.c: revision 1.19 sys/dev/sdmmc/sdhcvar.h: revision 1.25 sys/arch/evbarm/beagle/beagle_machdep.c: revision 1.62 allow vendor specific code to hook into bus width changes Support 8-bit eMMC for TI AM335x. On my BeagleBone Black, Before: 134217728 bytes transferred in 9.410 secs (14263307 bytes/sec) After: 134217728 bytes transferred in 7.518 secs (17852850 bytes/sec) enable 8-bit mode on AM335X SDMMC2
|
1.44.2.8 |
| 19-Apr-2015 |
msaitoh | Pull up following revision(s) (requested by bouyer in ticket #703): sys/dev/sdmmc/sdhcvar.h: revision 1.16 sys/dev/sdmmc/sdhc.c: revision 1.55 Add a new SDHC_FLAG, SDHC_FLAG_EXTDMA_DMAEN, which request that the SDHC_DMA_ENABLE bit be set in the command, even if we're using an external DMA engine. Needed by the upcoming DMA support for AM335x (beaglebone).
|
1.44.2.7 |
| 09-Mar-2015 |
snj | Pull up following revision(s) (requested by nonaka in ticket #577): sys/arch/powerpc/booke/dev/pq3sdhc.c: revision 1.6 sys/dev/sdmmc/sdhc.c: revision 1.54 sys/dev/sdmmc/sdmmc.c: revision 1.24 eSDHC has no DMA_BOUNDARY in BLOCK_SIZE register. So clear multi segment DMA transfer support bit. -- fix to simulate multi-segment dma transfer for pq3sdhc(4). -- pq3sdhc: Enable DMA transfer.
|
1.44.2.6 |
| 27-Jan-2015 |
martin | Pull up following revision(s) (requested by nonaka in ticket #460): sys/dev/sdmmc/sdhcreg.h: revision 1.12 sys/dev/sdmmc/sdhc.c: revision 1.52 eSDHC has non standard Host Controller Version Register offset.
|
1.44.2.5 |
| 05-Oct-2014 |
martin | Pull up following revision(s) (requested by skrll in ticket #129): sys/dev/sdmmc/sdhcvar.h: revision 1.15 sys/dev/sdmmc/sdhc.c: revision 1.51 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.19 Pass sdhc_softc instead of sdhc_host to sc_vendor_transfer_data_dma, since the vendor specific code has no access to it otherwise, but can easily do device_private(sdhc_softc->sc_dev).
|
1.44.2.4 |
| 04-Oct-2014 |
martin | Pull up following revision(s) (requested by skrll in ticket #127): sys/dev/sdmmc/sdhc.c: revision 1.50 Fix divisor calculation for SDHC 3.0.
|
1.44.2.3 |
| 03-Oct-2014 |
martin | Pull up following revision(s) (requested by skrll in ticket #126): sys/arch/evbarm/rpi/rpi_machdep.c: revision 1.47 sys/arch/arm/broadcom/bcm2835reg.h: revision 1.12 sys/arch/evbarm/conf/RPI: revision 1.52 sys/arch/evbarm/conf/RPI: revision 1.53 sys/arch/evbarm/conf/RPI: revision 1.54 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.10 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.11 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.12 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.13 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.14 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.15 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.3 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.4 sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.2 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.5 sys/arch/arm/broadcom/bcm2835_emmc.c: revision 1.18 sys/arch/arm/broadcom/bcm2835_dmac.h: revision 1.3 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.6 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.7 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.8 sys/arch/arm/broadcom/bcm2835_dmac.c: revision 1.9 sys/arch/arm/broadcom/files.bcm2835: revision 1.23 sys/dev/sdmmc/sdhc.c: revision 1.45 sys/dev/sdmmc/sdhc.c: revision 1.46 sys/dev/sdmmc/sdhc.c: revision 1.47 sys/dev/sdmmc/sdhcvar.h: revision 1.14 Various RPI DMAC and sdhc improvements.
|
1.44.2.2 |
| 02-Oct-2014 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #124): sys/dev/sdmmc/sdhc.c: revision 1.49 Correct clk div calculation for SD 3.0 controllers.
|
1.44.2.1 |
| 01-Oct-2014 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #123): sys/dev/sdmmc/sdhc.c: revision 1.48 Don't check slot type for pre-3.0 controllers, the bits were reserved at the time. If an older controller advertises 1.8V support, just use it. This fixes high-speed mode support for me on BeagleBone Black.
|
1.51.2.9 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.51.2.8 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.51.2.7 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.51.2.6 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.51.2.5 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.51.2.4 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.51.2.3 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.51.2.2 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.51.2.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.94.2.2 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.94.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.97.2.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.100.4.3 |
| 03-Dec-2021 |
martin | Pull up the following revisions (all via patch), requested by msaitoh in ticket #1713:
sys/dev/sdmmc/sdhc.c 1.110, 1.112 sys/dev/sdmmc/sdmmc_mem.c 1.74 sys/dev/pci/sdhc_pci.c 1.18
- Support 64bit BAR. - Use unsigned to avoid undefined behavior in hwrite[12]() and sdmmc_mem_sd_switch(). - Fix typo in comment.
|
1.100.4.2 |
| 05-Aug-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #1592):
sys/dev/sdmmc/sdhc.c: revision 1.107 sys/dev/sdmmc/sdhcreg.h: revision 1.21
Identify SDHC 4.1 and 4.2. From {DragonFly,Free}BSD.
|
1.100.4.1 |
| 07-Jan-2018 |
snj | Pull up following revision(s) (requested by ryo in ticket #468): sys/dev/sdmmc/sdhcreg.h: revision 1.19 sys/dev/sdmmc/sdhc.c: revision 1.101 fix problem for ESDHC/USDHC due to change of r1.96 on ESDHC/USDHC, even if the iosize is less than SDHC_HOST_CTL_VERSION, specver must be an appropriate value.
|
1.101.6.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.101.6.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.103.2.3 |
| 03-Dec-2021 |
martin | Pull up the followin revisions (all via patch), requested by msaitoh in ticket #1383:
sys/dev/sdmmc/sdhc.c 1.110, 1.112 sys/dev/sdmmc/sdmmc_mem.c 1.74 sys/dev/pci/sdhc_pci.c 1.18
- Support 64bit BAR. - Use unsigned to avoid undefined behavior in hwrite[12]() and sdmmc_mem_sd_switch(). - Fix typo in comment.
|
1.103.2.2 |
| 20-Jul-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #1021):
sys/dev/sdmmc/sdhc.c: revision 1.107 sys/dev/sdmmc/sdhcreg.h: revision 1.21
Identify SDHC 4.1 and 4.2. From {DragonFly,Free}BSD.
|
1.103.2.1 |
| 25-Feb-2020 |
martin | Pull up following revision(s) (requested by mrg in ticket #717):
sys/dev/fdt/dwcmmc_fdt.c 1.11 sys/dev/ic/bwfm.c 1.15-1.18 sys/dev/ic/bwfmreg.h 1.4-1.6 sys/dev/ic/bwfmvar.h 1.4,1.5 sys/dev/ic/dwc_mmc.c 1.21,1.22 sys/dev/ic/dwc_mmc_reg.h 1.8,1.9,1.12,1.13 sys/dev/pcmcia/pcmciareg.h 1.11 sys/dev/sdmmc/if_bwfm_sdio.c 1.4,1.6-1.12 sys/dev/sdmmc/if_bwfm_sdio.h 1.1,1.2 sys/dev/sdmmc/sdhc.c 1.105,1.106 sys/dev/sdmmc/sdmmc.c 1.37,1.39 sys/dev/sdmmc/sdmmc_cis.c 1.6,1.8 sys/dev/sdmmc/sdmmc_io.c 1.15-1.19 sys/dev/sdmmc/sdmmc_ioreg.h 1.4,1.5 sys/dev/sdmmc/sdmmc_mem.c 1.69-1.71 sys/dev/sdmmc/sdmmcdevs 1.5-1.8 sys/dev/sdmmc/sdmmcvar.h 1.31,1.33,1.34 sys/net/if_media.h 1.66
Add Broadcom devices - Fix typo - add PCMCIA_CISTPL_SDIO definition. - From OpenBSD: - move event handling to workqueue - check for save/restore capability - Tag work queue as MPsafe and increase length. - Juse use bpf_mtap(), the 802.11 encapsulation is handled by firmware. - From OpenBSD: - support block length per function - add functions to read/write regions - Decode (but not use) SDIO tuple in CIS. - Fix locking. - Add more SDIO defines (partially from version 3.0). - From OpenBSD: - All the missing pieces (firmware load, chip setup, protocol handling) TX queue and interrupt handling via sdmmc_task. - Fix locking. - Fix packet parsing. - Add parser for original firmware config files. - tagging work queue as MPSAFE was premature. Revert. - SD_IO_RW_EXTENDED is a data transfer command, so set ADTC flag instead of AC Use correct function to verify if a task has been queued. Avoids race that can corrupt the task queue. - More register definitions. - Add IFM_IEEE80211_VHT subtype, IFM_IEEE80211_11AC operating mode, and missing descriptions - If firmware is connected in HT or VHT mode, report it to SIOCGIFMEDIA - white space police.
Skip setting power when the voltage doesn't change. Also increase some timeouts. - Add and use sdmmc_pause to avoid long-term busy waits. - Add sdio abort function. - Additional error messages. - Print parameters for SDIO devices. - Minor cosmetics. - Simplyfy sdmmc_io_set_blocklen function signature by dropping the extra softc pointer. Aligns with OpenBSD. - Missing commit for sdio abort function. - More code from OpenBSD - no need to splnet() when enqueing packets - explicit structure padding - make internal functions static - also prepare for GPIO interrupts. - Avoid warnings for tautological shifts as sole conditional. - Follow the Linux driver an use the FDT "compatible" property to build a filename for the nvram config file, fall back to the standard filename. E.g. [Caching 123 nodes and 1093 properties] compatible 73696e6f 766f6970 2c627069 2d6d322d "sinovoip,bpi-m2- 0010: 7a65726f 00...... ........ ........ zero" 0015: 616c6c77 696e6e65 722c7375 6e38692d "allwinner,sun8i- 0025: 68322d70 6c757300 ........ ........ h2-plus" interrupt-parent 00000001 ........ ........ ........ .... model 42616e61 6e612050 69204250 492d4d32 "Banana Pi BPI-M2 0010: 2d5a6572 6f00.... ........ ........ -Zero" name 00...... ........ ........ ........ "" serial-number 30326330 30303432 65636431 36376566 02c00042ecd167ef 0010: 00...... ........ ........ ........ . -rw-r--r-- 1 root wheel 875 Nov 2 12:06 brcmfmac43430-sdio.AP6212.txt lrwxr-xr-x 1 root wheel 29 Dec 30 16:19 brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt -> brcmfmac43430-sdio.AP6212.txt -rw-r--r-- 1 root wheel 874 Jun 30 2019 brcmfmac43430-sdio.raspberrypi,3-model-b.txt -rw-r--r-- 1 root wheel 1864 Jun 30 2019 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt lrwxr-xr-x 1 root wheel 29 Dec 30 11:24 brcmfmac43455-sdio.raspberrypi,4-model-b-plus.txt -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt - Add product ID for Broadcom BCM43455 - Use correct firmware for BCM43456 - size check was backwards. - Be less noisy for some commands. - Fix DWC_MMC_INT_SDIO_INT bit - dwc_mmc fixes: - Rockchip uses a different SDIO int bit, so take this into consideration - Avoid unnecessary resets and always wait for resets to complete - kpause instead of delay while holding spinlock - Do not attempt autostop for SD_IO_RW_EXTENDED commands - Allow for sub-blklen byte counts for single block transfers - More SDIO stability and performance fixes
|
1.107.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.108.2.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.109.4.1 |
| 31-May-2021 |
cjep | sync with head
|
1.109.2.1 |
| 17-Jun-2021 |
thorpej | Sync w/ HEAD.
|
1.110.4.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|
1.117.2.2 |
| 22-Feb-2025 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #1063):
sys/dev/sdmmc/sdhcvar.h: revision 1.36 sys/dev/sdmmc/sdhc.c: revision 1.120 sys/dev/sdmmc/sdhc.c: revision 1.121
sdhc: Remove now unused sc_write_delay
sdhc: Remove delay in sdhc_wait_state
Replace the 10us delay loop in sdhc_wait_state with a microuptime based timeout test.
|
1.117.2.1 |
| 03-Feb-2024 |
martin | Pull up following revision(s) (requested by jmcneill in ticket #561):
etc/etc.evbppc/Makefile.inc: revision 1.15 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.1 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.2 sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.1 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.3 sys/arch/evbppc/wii/dev/bwdsp.c: revision 1.2 distrib/utils/embedded/files/evbppc_wii_icon.png: revision 1.1 usr.sbin/sysinst/arch/evbppc/md.h: revision 1.4 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.4 sys/arch/evbppc/wii/dev/viio.h: revision 1.1 sys/arch/evbppc/wii/dev/wiifb.c: revision 1.5 sys/arch/evbppc/wii/dev/mainbus.h: revision 1.1 distrib/utils/embedded/conf/wii.conf: revision 1.1 distrib/utils/embedded/conf/wii.conf: revision 1.2 distrib/utils/embedded/conf/wii.conf: revision 1.3 sys/dev/sdmmc/sdhcvar.h: revision 1.34 sys/dev/sdmmc/sdhc.c: revision 1.118 sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.1 distrib/utils/embedded/conf/evbppc.conf: revision 1.1 sys/dev/wsfb/genfb.c: revision 1.91 sys/arch/evbppc/wii/dev/resetbtn.c: revision 1.2 sys/dev/wscons/wsconsio.h: revision 1.127 sys/arch/powerpc/oea/oea_machdep.c: revision 1.85 sys/arch/evbppc/wii/dev/hollywood.h: revision 1.1 sys/arch/evbppc/conf/std.wii: revision 1.1 sys/arch/evbppc/wii/dev/hollywood.h: revision 1.2 sys/arch/evbppc/wii/dev/hollywood.c: revision 1.1 sys/arch/evbppc/conf/std.wii: revision 1.2 sys/arch/evbppc/wii/dev/hollywood.c: revision 1.2 sys/arch/evbppc/conf/std.wii: revision 1.3 sys/arch/powerpc/oea/cpu_subr.c: revision 1.109 sys/arch/evbppc/wii/wii_mmuinit.S: revision 1.1 sys/dev/usb/usb.h: revision 1.124 sys/arch/evbppc/wii/machdep.c: revision 1.1 sys/arch/evbppc/wii/dev/rtcsram.c: revision 1.1 sys/arch/powerpc/include/oea/hid.h: revision 1.14 sys/arch/evbppc/wii/mainbus.c: revision 1.1 sys/arch/evbppc/wii/machdep.c: revision 1.2 sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.1 sys/arch/evbppc/wii/mainbus.c: revision 1.2 sys/arch/evbppc/wii/machdep.c: revision 1.3 sys/arch/evbppc/wii/dev/ehci_hollywood.c: revision 1.2 sys/arch/evbppc/wii/mainbus.c: revision 1.3 sys/arch/evbppc/wii/machdep.c: revision 1.4 sys/arch/evbppc/wii/dev/hwgpio.c: revision 1.1 sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.1 sys/arch/evbppc/wii/dev/sdhc_hollywood.c: revision 1.2 sys/arch/evbppc/wii/wii_locore.S: revision 1.1 sys/arch/evbppc/conf/files.wii: revision 1.1 sys/arch/evbppc/wii/wii_locore.S: revision 1.2 sys/arch/evbppc/include/wii.h: revision 1.1 sys/arch/evbppc/conf/files.wii: revision 1.2 sys/arch/evbppc/wii/dev/exi.c: revision 1.1 sys/arch/evbppc/include/wii.h: revision 1.2 sys/arch/evbppc/conf/files.wii: revision 1.3 sys/arch/powerpc/powerpc/clock.c: revision 1.18 sys/arch/evbppc/include/wii.h: revision 1.3 sys/arch/evbppc/conf/files.wii: revision 1.4 sys/arch/evbppc/include/wii.h: revision 1.4 sys/arch/evbppc/wii/dev/exi.h: revision 1.1 sys/arch/evbppc/wii/dev/avenc.c: revision 1.1 sys/arch/evbppc/include/wii.h: revision 1.5 sys/arch/evbppc/include/wii.h: revision 1.6 sys/arch/evbppc/include/wii.h: revision 1.7 sys/arch/evbppc/wii/dev/avenc.h: revision 1.1 distrib/utils/embedded/mkimage: revision 1.79 sys/arch/evbppc/conf/WII: revision 1.1 sys/arch/evbppc/conf/INSTALL_WII: revision 1.1 distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.1 sys/arch/evbppc/wii/dev/vireg.h: revision 1.1 sys/arch/evbppc/conf/WII: revision 1.2 distrib/utils/embedded/files/evbppc_wii_meta.xml: revision 1.2 sys/arch/evbppc/wii/dev/vireg.h: revision 1.2 sys/arch/evbppc/conf/WII: revision 1.3 sys/arch/evbppc/conf/WII: revision 1.4 usr.sbin/sysinst/arch/evbppc/md.c: revision 1.11 sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.1 sys/dev/usb/ehcivar.h: revision 1.52 sys/arch/evbppc/wii/pic_pi.c: revision 1.1 sys/arch/evbppc/wii/dev/ohci_hollywood.c: revision 1.2 etc/etc.evbppc/ttys: revision 1.8 sys/arch/evbppc/wii/dev/bwai.c: revision 1.1 sys/arch/evbppc/wii/dev/bwai.c: revision 1.2 sys/arch/evbppc/wii/dev/bwai.c: revision 1.3 sys/arch/evbppc/wii/autoconf.c: revision 1.1 sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.1 sys/arch/evbppc/wii/dev/bwai.h: revision 1.1 sys/arch/evbppc/wii/autoconf.c: revision 1.2 sys/arch/evbppc/conf/Makefile.wii.inc: revision 1.2
powerpc: oea: Fix prefetchable mappings Prefetchable mappings need PMAP_NOCACHE to get write-combine semantics. powerpc: oea: Decode IBM750CL L2 cache information. sdmmc: add support for optional delay after register write wscons: Add HOLLYWOOD display and YUY2 pixel format types wsfb: add support for optional "devcmap" property A hardware driver can supply a pointer to a 16x 32-bit array to override the default rasops device colour map in the "devcmap" property. ehci: add EHCIF_32BIT_ACCESS flag to force 32-bit MMIO fix comments: HID0 ICFI/DCFI are "flash invalidate", not "flush invalidate" powerpc: fix delay for large (> ~5sec) values When calculating the target timebase, promote '1000' on the RHS to ULL to force 64-bit calculation, otherwise 'n * 1000' will overflow. usb: increase USB_PORT_RESET_RECOVERY from 10ms to 20ms I changed this from 250ms to 10ms back in 2021 based on a similar FreeBSD change, but it seems to be a bit too aggressive for some platforms. evbppc: Add initial support for the Nintendo Wii wii: support RB_POWERDOWN build fix: use dd with count=1 for compat with NetBSD dd(1) wii: Add NTSC 480p support. In addition to this, add VIIO_{GET,SET}REGS ioctl support to allow for poking at video interface registers from userland. This is helpful for debugging display issues. wii: Add 128x48 icon to SD card image wii: Fix a comment wii: Add drivers for Broadway DSP and Audio interface. 0: [*] audio0 @ bwdsp0: Broadway DSP playback: 16, 2ch, 48000Hz record: unavailable (P-) slinear_be 16/16, 2ch, { 48000 } wii: Add screenblank support. wii: Use screen dimming register for screen blanking. wii: Add GPIO, I2C, and basic A/V encoder driver. wii: Use A/V encoder volume controls instead of using a software filter. wii: Simply DSP driver - no interrupt handler required. wii: provide device names to intr_establish wii$ intrctl list interrupt id CPU0 device name(s) pi irq 14 64769* hollywood0 hollywood irq 36 5872* ehci0 hollywood irq 39 58907* sdhc0 hollywood irq 40 4* sdhc1 hollywood irq 49 0* resetbtn0 pi irq 5 0* bwai0 wii: Add support for passing boot options to the kernel. wii: Add External interface bus and RTC support wii: Remove objcopy after kernel build. HBC will do the right thing. Add wsvt25 entries (off by default) for ttyE0-ttyE3. Add support for "PAL" (576i) mode on Wii.
|
1.119.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|