mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-06 12:53:21 +09:00
![Stephen Warren](/assets/img/avatar_default.png)
This adds a simple driver for the BCM2835's SD controller. Workarounds are implemented for: * Register writes can't be too close to each-other in time, or they will be lost. * Register accesses must all be 32-bit, so implement custom accessors. This code was extracted from: git://github.com/gonzoua/u-boot-pi.git master which was created by Oleksandr Tymoshenko. Portions of the code there were obviously based on the Linux kernel at: git://github.com/raspberrypi/linux.git rpi-3.6.y commit f5b930b "Main bcm2708 linux port" signed-off-by Dom Cobley. swarren changed the following for upstream: * Removed hack udelay()s in bcm2835_sdhci_raw_writel(); setting SDHCI_QUIRK_WAIT_SEND_CMD appears to solve the issues. * Remove register logging from read*/write* functions. * Sort out confusion with min/max_freq values passed to add_sdhci(). * Use more descriptive variable names and calculations in IO accessors. * Simplified and commented twoticks_delay calculation. * checkpatch fixes. Cc: Andy Fleming <afleming@gmail.com> Signed-off-by: Oleksandr Tymoshenko <gonzo@bluezbox.com> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Andy Fleming <afleming@gmail.com>
70 lines
2.2 KiB
Makefile
70 lines
2.2 KiB
Makefile
#
|
|
# (C) Copyright 2006
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# See file CREDITS for list of people who contributed to this
|
|
# project.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as
|
|
# published by the Free Software Foundation; either version 2 of
|
|
# the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
# MA 02111-1307 USA
|
|
#
|
|
|
|
include $(TOPDIR)/config.mk
|
|
|
|
LIB := $(obj)libmmc.o
|
|
|
|
ifdef CONFIG_SPL_BUILD
|
|
COBJS-$(CONFIG_SPL_MMC_SUPPORT) += spl_mmc.o
|
|
endif
|
|
|
|
COBJS-$(CONFIG_BFIN_SDH) += bfin_sdh.o
|
|
COBJS-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
|
|
COBJS-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o
|
|
COBJS-$(CONFIG_FTSDC010) += ftsdc010_esdhc.o
|
|
COBJS-$(CONFIG_GENERIC_MMC) += mmc.o
|
|
COBJS-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o
|
|
COBJS-$(CONFIG_MMC_SPI) += mmc_spi.o
|
|
COBJS-$(CONFIG_ARM_PL180_MMCI) += arm_pl180_mmci.o
|
|
COBJS-$(CONFIG_MV_SDHCI) += mv_sdhci.o
|
|
COBJS-$(CONFIG_MXC_MMC) += mxcmmc.o
|
|
COBJS-$(CONFIG_MXS_MMC) += mxsmmc.o
|
|
COBJS-$(CONFIG_OMAP_HSMMC) += omap_hsmmc.o
|
|
COBJS-$(CONFIG_PXA_MMC_GENERIC) += pxa_mmc_gen.o
|
|
COBJS-$(CONFIG_SDHCI) += sdhci.o
|
|
COBJS-$(CONFIG_BCM2835_SDHCI) += bcm2835_sdhci.o
|
|
COBJS-$(CONFIG_S5P_SDHCI) += s5p_sdhci.o
|
|
COBJS-$(CONFIG_SH_MMCIF) += sh_mmcif.o
|
|
COBJS-$(CONFIG_TEGRA_MMC) += tegra_mmc.o
|
|
COBJS-$(CONFIG_DWMMC) += dw_mmc.o
|
|
COBJS-$(CONFIG_EXYNOS_DWMMC) += exynos_dw_mmc.o
|
|
|
|
COBJS := $(COBJS-y)
|
|
SRCS := $(COBJS:.o=.c)
|
|
OBJS := $(addprefix $(obj),$(COBJS))
|
|
|
|
all: $(LIB)
|
|
|
|
$(LIB): $(obj).depend $(OBJS)
|
|
$(call cmd_link_o_target, $(OBJS))
|
|
|
|
#########################################################################
|
|
|
|
# defines $(obj).depend target
|
|
include $(SRCTREE)/rules.mk
|
|
|
|
sinclude $(obj).depend
|
|
|
|
#########################################################################
|