History log of /freebsd/sys/arm/allwinner/aw_mmc.c (Results 26 – 50 of 50)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


12