Tomasz Moń
804a40830e
Fix race conditions and misconfiguration in sdmmc
...
Properly configure pull up and pull down offsets for autocal.
Run autocal prior to every transfer.
Prevent race conditions in sdmmc_wait_for_event() - make sure the fault
handler has highest priority, then the target irq, state conditions and
finally the error mask.
Do not clear all bits (|=) when acknowledging fault conditions,
only acknowledge the fault conditions itself.
Enable interrupts before preparing command registers - if sdmmc is fast
enough it can actually finish transfer before we enabled the interrupts.
Enabling interrupts clears the COMMAND COMPLETE status bit.
Temporarily print all the sdmmc messages in stage2 - for yet unknown
reason respecting the log level results in some failures.
This results in working microsd card in stage2 on my switch with Samsung
EVO+ 256GB microsd card.
2018-06-09 17:37:53 +02:00
Tomasz Moń
7b9dcd2f1a
Make sdmmc autocalibration follow TRM procedure
...
Sleep for 1 us, not 1 ms.
Timeout after 10 ms, set driver strength code values according to TRM.
Fix typo (mS) - time is in milliseconds, not milliSiemens.
2018-06-05 19:07:14 +02:00
TuxSH
b2139ed182
Pass screen status and mmc struct from stage1 to 2
2018-06-04 19:17:23 +02:00
Tomasz Moń
0534e36cf8
Set SDMMC controller to SDR104 as a workaround
...
According to Tegra X1 Series Processors Silicon Errata there is possible
misalignment of received data which results in a CRC error. The issue is
present only in SDR50 mode.
2018-05-27 17:43:25 +02:00
TuxSH
d57f4c54a9
Fix mmc->allow_voltage_switching assignment in sdmmc_init
2018-05-24 17:39:36 +02:00
Kate J. Temkin
eaf8e559d6
fusee: work around some dual-init SDMMC issues
2018-05-23 07:47:02 -06:00
Kate J. Temkin
ac7ee45493
fusee: improve SDR104 frequency and support AUTOCMD23
2018-05-21 04:24:50 -06:00
Kate J. Temkin
add03d5774
fusee: correct computation of tuning block size
2018-05-20 07:21:49 -06:00
Kate J. Temkin
d5411b5b1f
fusee: begin adding support for MMC HS modes
2018-05-20 07:05:35 -06:00
Kate J. Temkin
5f3fc8156c
fusee: SD: implement tuning, allowing for all SD UHS-I speed
2018-05-20 07:05:35 -06:00
Kate J. Temkin
38350e769c
fusee: SD driver: implement everything necessary for UHS except tuning
2018-05-20 07:05:35 -06:00
Kate J. Temkin
817c42efc2
fusee: handle SDMMC speeds sanely
2018-05-20 07:05:35 -06:00
TuxSH
ec7e0d923d
Add custom panic driver
2018-05-20 14:11:46 +02:00
TuxSH
64cdd2e63f
Actually don't use memcpy in sdmmc
2018-05-19 03:10:06 +02:00
TuxSH
2a98e2e3b8
Sync sdmmc changes between stage1 and 2
2018-05-19 02:50:50 +02:00
Kate J. Temkin
7bfdf63a71
fusee sdmmc: don't time out on long reads
2018-05-18 07:43:09 -06:00
Kate J. Temkin
9f86c75ea4
fusee: undo a silly mistake in longer-than-8K operations
2018-05-11 21:36:46 -07:00
Kate J. Temkin
2b871397c2
fusee: allow sdmmc_read / sdmmc_write of more data than fits in the bounce buffer
2018-05-11 11:28:13 -07:00
Kate J. Temkin
402b69c549
fusee: actually obey the SD spec when switching voltage
2018-05-10 07:10:37 -07:00
Kate J. Temkin
437344fd25
fusee: support low-voltage SDMMC mode
2018-05-10 06:05:28 -07:00
Kate J. Temkin
b20a04ede5
fusee: use full bus width and faster initial clock speed
2018-05-10 06:05:28 -07:00
TuxSH
ff2472385f
[sdmmc] sdmmc_handle_cpu_transfer: handle unaligned buffers
2018-05-09 20:46:16 +02:00
TuxSH
b9b13e215f
Fix struct tegra_sdmmc definition
...
Definition errors were cancelling each other (for the most part)
2018-05-09 19:33:54 +02:00
TuxSH
3206583db3
[sdmmc] Fix const-correctness issue
2018-05-09 19:11:16 +02:00
Kate J. Temkin
8d071ca7c9
fusee: fix boot partition selection
2018-05-06 22:47:36 -06:00
Kate J. Temkin
f5ed029cdb
fusee: fix regression in card detection
2018-05-06 22:32:52 -06:00
TuxSH
1aa6b92bc4
Normalize drivers between stage1 and 2
2018-05-06 15:02:13 +02:00
Kate J. Temkin
8eb8de0e94
fusee: fix an obvious sdmmc error (oops)
2018-05-05 03:29:01 -06:00
Kate J. Temkin
bceb00ad8d
fusee: sdmmc: clean up and prepare for better SD/MMC/version separations
2018-05-04 18:48:20 -06:00
Kate J. Temkin
2e362d93da
fusee: add support for SDMMC write operations
2018-05-04 17:16:19 -06:00
Kate J. Temkin
932a5bd645
fusee: fix multiple-block SDMMC transfers
2018-05-04 16:15:18 -06:00
Kate J. Temkin
010ba9248c
fusee: make SDMMC debug printing more manageable
2018-05-04 03:38:41 -06:00
Kate J. Temkin
0120b9ce52
fusee: get uSD working, fix bad no_iopower, and abstract card differences
2018-05-04 03:24:27 -06:00
Kate J. Temkin
99f749ef82
fusee: fix SD pinmuxing / signal integrity issues
2018-05-04 03:24:27 -06:00
Kate J. Temkin
5b3be77f0e
fusee: fix drive strength and avoid a pad wear-condition
2018-05-04 03:24:27 -06:00
Kate J. Temkin
fc97c3f773
fusee: merge in most of the microSD card (not fully working)
2018-05-04 03:24:27 -06:00
Kate J. Temkin
608d59c229
fusee: implement partition support; needs some tweeks
2018-05-04 03:24:27 -06:00
Kate J. Temkin
01e3761d4c
fusee: sdmmc: use v3 compatibility mode for it's simpler DMA
...
we may want to change this at some point to get 64-bit addressing?
2018-05-04 03:24:27 -06:00
Kate J. Temkin
ef1923ebab
fusee: sdmmc: support CPU reads in addition to (broken?) DMA
2018-05-04 03:24:27 -06:00
Kate J. Temkin
21c177804e
fusee: sdmmc: handle DMA page boundaries
2018-05-04 03:24:27 -06:00
Kate J. Temkin
534c50fba5
sdmmc: mostly working for eMMC, now
2018-05-04 03:24:27 -06:00
Kate J. Temkin
eb48e06331
fusee: get non-data SDMMC commands fully working on eMMC
2018-05-04 03:24:27 -06:00
Kate J. Temkin
dbb65428e8
fusee: further flesh out sdmmc implementation
2018-05-04 03:24:27 -06:00
Kate J. Temkin
2e3af0c474
fusee: fix issue with SDMMC psuedo-interrupts
2018-05-04 03:24:27 -06:00
Kate J. Temkin
06bf132022
skeleton SDMMC
2018-05-04 03:24:27 -06:00
Michael Scire
18f1274587
Change fusee folder naming
2018-04-07 21:45:57 -06:00