#
101260f3 |
| 14-Oct-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
arm: allwinner: Disable the clock before changing it's freq
You aren't supposed to changing the freq of a clock when it is enable so disable the clock before changing the freq and then re-enable it.
arm: allwinner: Disable the clock before changing it's freq
You aren't supposed to changing the freq of a clock when it is enable so disable the clock before changing the freq and then re-enable it.
MFC after: 1 month
show more ...
|
Revision tags: release/11.3.0 |
|
#
e532a999 |
| 20-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @349234
Sponsored by: The FreeBSD Foundation
|
#
440565da |
| 10-Jun-2019 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
allwinner mmc: move variable assignment into block
"blksz is only used in one of the two blocks, so assign it inside that block rather than outside.
MFC after: 2 weeks
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
5d5ae066 |
| 10-Apr-2019 |
Ilya Bakulin <kibab@FreeBSD.org> |
Implement CMD53 block mode support for SDHCI and AllWinner-based boards
If a custom block size requested, use it, otherwise revert to the previous logic of using just a data size if it's less than M
Implement CMD53 block mode support for SDHCI and AllWinner-based boards
If a custom block size requested, use it, otherwise revert to the previous logic of using just a data size if it's less than MMC_BLOCK_SIZE, and MMC_BLOCK_SIZE otherwise.
Reviewed by: bz Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D19783
show more ...
|
#
9a696dc6 |
| 04-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345880
|
#
5d20e651 |
| 01-Apr-2019 |
Ilya Bakulin <kibab@FreeBSD.org> |
Use information about max data size that the controller is able to operate
Using DFLTPHYS/MAXPHYS is not always OK, instead make it possible for the controller driver to provide maximum data size to
Use information about max data size that the controller is able to operate
Using DFLTPHYS/MAXPHYS is not always OK, instead make it possible for the controller driver to provide maximum data size to MMCCAM, and use it there.
The old stack already does this.
Reviewed by: manu Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D15892
show more ...
|
Revision tags: release/12.0.0 |
|
#
7847e041 |
| 24-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338026 through r338297, and resolve conflicts.
|
#
55f3f71c |
| 23-Aug-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Handle MMCBR_IVAR_RETUNE_REQ
Without this the mmc stack sometimes think that we are in in a retune operation and some command like switch the bus width to 4 bits failed. We now switch correc
aw_mmc: Handle MMCBR_IVAR_RETUNE_REQ
Without this the mmc stack sometimes think that we are in in a retune operation and some command like switch the bus width to 4 bits failed. We now switch correctly to 4 bits mode for sd card.
Reported by: jmg, others in pine64 irc channel
show more ...
|
#
7e807acf |
| 23-Jun-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Fix style(9) after r335476
|
Revision tags: release/11.2.0 |
|
#
5e03278f |
| 21-Jun-2018 |
Ilya Bakulin <kibab@FreeBSD.org> |
Add MMCCAM support to AllWinner MMC driver
Using MMCCAM on AllWinner boards is now possible, reaching highest possible data transfer speed.
For now, MMCCAM doesn't scan cards on boot. This means th
Add MMCCAM support to AllWinner MMC driver
Using MMCCAM on AllWinner boards is now possible, reaching highest possible data transfer speed.
For now, MMCCAM doesn't scan cards on boot. This means that scanning has to be done manually and that it's not possible to mount root FS from MMC/SD card since there is no block device at the boot time.
For manually scanning the cards, run: # camcontrol rescan X:0:0 Where X is the bus number (look at camcontrol devlist to determine bus number assigned to the MMC controller).
Reviewed by: manu Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D15891
show more ...
|
#
bbf8c8fa |
| 31-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Get max-frequency from the dtb
If a max-frequency is supplied in the dtb use it, otherwise fallback to a default one of 52Mhz.
|
#
623966e1 |
| 31-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Use the DEVMETHOD vccq for the IO line voltage
MMC controller should use this and not set the voltage during update_ios.
|
#
c39ea909 |
| 31-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Rework DMA
- Calculate the number of segments based on the page size - Add some comments on dma function so it's easier to read - Only enable interrupts on the last dma segment - If the
aw_mmc: Rework DMA
- Calculate the number of segments based on the page size - Add some comments on dma function so it's easier to read - Only enable interrupts on the last dma segment - If the segments size is the max transfer size, use the special size 0 for the controller. - The max_data ivars is in block so calculate it properly.
show more ...
|
#
ffdb1aa8 |
| 31-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Rename clock register defines consistently
|
#
b091392e |
| 21-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Correctly reset the mmc controller
Always disable FIFO access as we don't use it. Rename some register bits so they are in sync with the register name.
While here add my copyright as I've p
aw_mmc: Correctly reset the mmc controller
Always disable FIFO access as we don't use it. Rename some register bits so they are in sync with the register name.
While here add my copyright as I've probably wrote 70% of the code here.
show more ...
|
#
dfb8c122 |
| 12-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Rework regulator handling
Don't enable regulator on attach but dealt with them on power_up/power_off Only set the voltage for the signaling regulator since I don't have boards that can chang
aw_mmc: Rework regulator handling
Don't enable regulator on attach but dealt with them on power_up/power_off Only set the voltage for the signaling regulator since I don't have boards that can change the supply voltage. Enable 1.8v signaling voltage.
show more ...
|
#
35a18619 |
| 12-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Do not fully init the controller in attach
Only do a reset of the controller at attach and init it at power_up. We use to enable some interrupts in reset, only enable the interrupts we are i
aw_mmc: Do not fully init the controller in attach
Only do a reset of the controller at attach and init it at power_up. We use to enable some interrupts in reset, only enable the interrupts we are interested in when doing a request. While here remove the regulators handling in power_on as it is very wrong and will be dealt with in another commit.
Tested on: A31, A64
show more ...
|
#
2445c37a |
| 12-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Remove hardware reset
From all the BSP (Board Source Package) source that I've looked at it seems that it's never done, remove it.
Tested On: A31, A64
|
#
a37d59c1 |
| 12-May-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Read interrupt register value before writing to it
Reported by: jmcneill
|
#
3177f7cd |
| 03-Mar-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Regulator improvement
Getting regulator is good, enabling them is better. When the mmc stack decide to change the voltage for IO, don't change the main vcc of the sd/mmc, only the io vcc.
|
#
0f7a6420 |
| 17-Feb-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
aw_mmc: Only change the clock if it has really changed
This also seems to fix problem when booting Pine64 from the mmc.
Tested On: Pine64 Tested On: Pine64-LTS
|
#
ce0618be |
| 14-Jan-2018 |
Emmanuel Vadot <manu@FreeBSD.org> |
allwinner: mmc: Multiple improvement
- Add a per compatible configuration struct - Not all SoC uses the same size for DMA transfert, add this into the configuration data - Use new timing m
allwinner: mmc: Multiple improvement
- Add a per compatible configuration struct - Not all SoC uses the same size for DMA transfert, add this into the configuration data - Use new timing mode for some SoC (A64 mmc) - Auto calibrate clock for A64 mmc/emmc - A64 mmc controller need masking of data0 - Add support for vmmc/vqmmc regulator - Add more capabilities, r/w speed is better for eMMC - MMC_CAP_SIGNALING_180 gives weird result so do not enable it for now. - Add new register documented in H3/A64 user manual
Tested-On: Pine64-LTS (A64), eMMC still doesn't work Tested-On: A64-Olinuxino (A64), sd and eMMC are working Tested-On: NanoPi Neo Plus2 (H5), sd and eMMC are working Tested-On: OrangePi PC2 (H5), sd only (no eMMC) Tested-On: OrangePi One (H3), sd only (no eMMC) Tested-On: BananaPi M2 (A31s), sd only (no eMMC)
show more ...
|
#
4fc74049 |
| 29-Dec-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r327169 through r327340.
|
#
b5be541f |
| 26-Dec-2017 |
Emmanuel Vadot <manu@FreeBSD.org> |
Allwinner: mmc: Rename driver to aw_mmc and add a man page for it
Reviewed by: bcr (manpages) Differential Revision: https://reviews.freebsd.org/D13616
|