| Age | Commit message (Collapse) | Author |
|
Commit 77c1458d caused the following compiler warnings:
fsl_esdhc.c: In function 'esdhc_pio_read_write':
fsl_esdhc.c:142: warning: assignment discards qualifiers from pointer target type
fsl_esdhc.c: In function 'esdhc_setup_data':
fsl_esdhc.c:169: warning: unused variable 'wml_value'
fsl_esdhc.c: In function 'esdhc_pio_read_write':
fsl_esdhc.c:164: warning: control reaches end of non-void function
Fix these.
Signed-off-by: Wolfgang Denk <[email protected]>
Cc: Dipen Dudhat <[email protected]>
Cc: Andy Fleming <[email protected]>
|
|
On some Freescale SoC Internal DMA of eSDHC controller has bug.
So PIO Mode has been introduced to do data transfer using CPU.
Signed-off-by: Dipen Dudhat <[email protected]>
|
|
When we set the read or write watermark in WML we should maintain the
rest of the register as is, rather than using some hard coded value.
Signed-off-by: Roy Zang <[email protected]>
Acked-by: Stefano Babic <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
|
|
To support multiple block read command we must set abort or use auto
CMD12. If we booted from eSDHC controller neither of these are used
and thus we need to reset the controller to allow multiple block read
to function.
Signed-off-by: Jerry Huang <[email protected]>
Signed-off-by: Roy Zang <[email protected]>
Acked-by: Stefano Babic <[email protected]>
Signed-off-by: Kumar Gala <[email protected]>
|
|
We need to stop the clocks on 83xx/85xx as well as imx. No need to make
this code conditional to just imx.
Signed-off-by: Kumar Gala <[email protected]>
Acked-by: Stefano Babic <[email protected]>
|
|
Some registers of the mxcmmc driver were accessed using
16 bit accessor functions, because only the LSB is
significant. This is not needed and generates
warnings.
Signed-off-by: Stefano Babic <[email protected]>
|
|
There is be a path through mmc_read in drivers/mmc/mmc.c where
malloc'd memory is not freed before exiting mmc_read: it occurs if
mmc_set_blocklen() returns a non-zero value.
Reported-by: Quentin Armitage <[email protected]>
Signed-off-by: Wolfgang Denk <[email protected]>
|
|
The esdhc controller in the mx51 processor is quite
the same as the one in some powerpc processors
(MPC83xx, MPC85xx). This patches adapts the driver
to support the arm mx51.
Signed-off-by: Stefano Babic <[email protected]>
|
|
Most controllers can check if there is a card in the slot.
However, they require pins that could be not available because
required by other functions and the detection of a card must
be performed in another way. This patch adds a weak function
that a board can implement to add its internal custom way
to check the presence of a MMC/SD card.
Signed-off-by: Stefano Babic <[email protected]>
|
|
Most cards do not answer if some reserved bits
in the ocr are set. However, some controllers
can set bit 7 (reserved for low voltages), but
how to manage low voltages SD card is not yet
specified.
Signed-off-by: Stefano Babic <[email protected]>
|
|
Signed-off-by: Cliff Cai <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
|
|
Fixes the build/compilation error if we try to re-use the omap3_mmc code
without TWL4030_POWER.
Signed-off-by: Vaibhav Hiremath <[email protected]>
|
|
Fix warning
Dereferencing type-punned pointer will break strict-aliasing rules
Signed-off-by: Dirk Behme <[email protected]>
CC: Steve Sakoman <[email protected]>
Acked-by: Tom Rix <[email protected]>
|
|
Signed-off-by: Wolfgang Denk <[email protected]>
|
|
This is a port of Linux driver for SDHC host controller hardware
found on Freescale's MX2 and MX3 processors. Uses new generic MMC
framework (CONFIG_GENERIC_MMC) and it looks like there are some
problems with a framework (at least on LE cpus). Some of these
problems are addressed in the following patches.
Signed-off-by: Ilya Yanok <[email protected]>
|
|
Because twl4030 now has its own device files, move and rename
twl4030_mmc_config.
twl4030_mmc_config initializes the twl4030 power setting to
the mmc device. Because it is in the twl4030 power domain, move
it out of drivers/mmc/omap3_mmc.c and into drivers/power/twl4030.c.
The function was renamed to twl4030_power_mmc_init because all
the functions in this file are to have the format
twl4030_power_<device>_<action>
In this case the suffix is mmc_init so
device : mmc
action : init
Signed-off-by: Tom Rix <[email protected]>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
Acked-by: Heiko Schocher <[email protected]>
|
|
We need to switch back to 1-bit before initialization or SD 2.0 cards
will fail to send SCR if we've switched to 4-bit already.
Signed-off-by: Ilya Yanok <[email protected]>
|
|
This patch implements fdt_fixup_esdhc() function that is used to fixup
the device tree.
The function adds status = "disabled" propery if esdhc pins muxed away,
otherwise it fixups clock-frequency for esdhc nodes.
Signed-off-by: Anton Vorontsov <[email protected]>
Acked-by: Kim Phillips <[email protected]>
|
|
SCR & switch data are read from card as big-endian words and should be
converted to CPU byte order.
Signed-off-by: Yauhen Kharuzhy <[email protected]>
Signed-off-by: Andy Fleming <[email protected]>
|
|
Cards which are not compatible with SD 2.0 standard, may return response
for CMD8 command, but it will be invalid in terms of SD 2.0. We should
accept this case as admissible, just like Linux does.
Signed-off-by: Yauhen Kharuzhy <[email protected]>
Signed-off-by: Andy Fleming <[email protected]>
|
|
Now that response is a uint, we can drop all the casts.
Signed-off-by: Rabin Vincent <[email protected]>
|
|
The mmc code defines the response as an array of chars. However, it
access the response bytes both as (i) an array of four uints (with
casts) and (ii) as individual chars. The former case is used more
often, including by the driver when it assigns the response.
The char-wise accesses are broken on little endian systems because they
assume that the bytes in the uints are in big endian byte order.
This patch fixes this by changing the response to be an array of four
uints and replacing the char-wise accesses with equivalent uint-wise
accesses.
Signed-off-by: Rabin Vincent <[email protected]>
|
|
The generic MMC core uses direct long long divisions, which do not build
with ARM EABI toolchains. Use lldiv() instead, which works everywhere.
Signed-off-by: Rabin Vincent <[email protected]>
|
|
find_mmc_device returns NULL if an invalid device number is specified.
Check for this to avoid dereferencing NULL pointers.
Signed-off-by: Rabin Vincent <[email protected]>
|
|
__attribute__ follows gcc's documented syntax and is generally more
common than __attribute. This change is only asthetic and should not
affect functionality.
Signed-off-by: Peter Tyser <[email protected]>
|
|
The Blackfin SDH controller is still using the legacy framework, so update
the driver to use the renamed functions.
Signed-off-by: Mike Frysinger <[email protected]>
|
|
Clean up OMAP3 MMC code:
* Convert register access to struct & readx/writex style
* Replace hardcode values by macros
* Remove macro defined twice
Signed-off-by: Dirk Behme <[email protected]>
|
|
Signed-off-by: Wolfgang Denk <[email protected]>
|
|
Signed-off-by: Tom Rix <[email protected]>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
|
|
These names are being taken over by the new MMC framework. Hopefuly
the PXA can be easily ported, and these functions will go away entirely.
Signed-off-by: Andy Fleming <[email protected]>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
|
|
introduce new macro CONFIG_PXA_MMC to activate it
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
|
|
omap3_mmc.c was changed to define mmc_legacy_init.
Remove unused functions.
Compile tested on all arm
Runtime tested on Zoom1.
Signed-off-by: Tom Rix <[email protected]>
|
|
This uses the new MMC framework
Some contributions by Dave Liu <[email protected]>
Signed-off-by: Andy Fleming <[email protected]>
|
|
Here's a new framework (based roughly off the linux one) for managing
MMC controllers. It handles all of the standard SD/MMC transactions,
leaving the host drivers to implement only what is necessary to
deal with their specific hardware.
This also hooks the infrastructure into the PowerPC board code
(similar to how the ethernet infrastructure now hooks in)
Some of this code was contributed by Dave Liu <[email protected]>
Signed-off-by: Andy Fleming <[email protected]>
|
|
This is to get it out of the way of incoming MMC framework
Signed-off-by: Andy Fleming <[email protected]>
|
|
MMC cards are not memory, so we stop treating them that way.
Signed-off-by: Andy Fleming <[email protected]>
|
|
This is a port of the Linux Blackfin on-chip SDH driver to U-Boot.
Signed-off-by: Cliff Cai <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
|
|
Add MMC support.
Signed-off-by: Dirk Behme <[email protected]>
|
|
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
|
|
Signed-off-by: Stefan Roese <[email protected]>
|
|
This makes it easier to use the driver on other platforms.
Signed-off-by: Haavard Skinnemoen <[email protected]>
Acked-by: Jean-Chritophe PLAGNIOL-VILLARD <[email protected]>
|
|
In order to consolidate more of the various MMC drivers around the
tree, we must first have a common place to put them.
Signed-off-by: Haavard Skinnemoen <[email protected]>
Acked-by: Jean-Chritophe PLAGNIOL-VILLARD <[email protected]>
|