Module Name: src
Committed By: jmcneill
Date: Mon Dec 29 23:59:52 UTC 2014
Modified Files:
src/sys/arch/arm/rockchip: rockchip_dwcmmc.c
Log Message:
- Set DWC_MMC_F_FORCE_CLK
- Force max sdmmc clk to 24MHz
- Update for simpler dwcmmc clock setup
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/rockchip/rockchip_dwcmmc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/rockchip/rockchip_dwcmmc.c
diff -u src/sys/arch/arm/rockchip/rockchip_dwcmmc.c:1.3 src/sys/arch/arm/rockchip/rockchip_dwcmmc.c:1.4
--- src/sys/arch/arm/rockchip/rockchip_dwcmmc.c:1.3 Sun Dec 28 16:27:14 2014
+++ src/sys/arch/arm/rockchip/rockchip_dwcmmc.c Mon Dec 29 23:59:52 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_dwcmmc.c,v 1.3 2014/12/28 16:27:14 jmcneill Exp $ */
+/* $NetBSD: rockchip_dwcmmc.c,v 1.4 2014/12/29 23:59:52 jmcneill Exp $ */
/*-
* Copyright (c) 2014 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rockchip_dwcmmc.c,v 1.3 2014/12/28 16:27:14 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_dwcmmc.c,v 1.4 2014/12/29 23:59:52 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -48,8 +48,6 @@ static void rk_dwcmmc_attach(device_t, d
static void rk_dwcmmc_attach_i(device_t);
-static int rk_dwcmmc_set_clkdiv(struct dwc_mmc_softc *, int);
-
CFATTACH_DECL_NEW(rkdwcmmc, sizeof(struct dwc_mmc_softc),
rk_dwcmmc_match, rk_dwcmmc_attach, NULL, NULL);
@@ -65,13 +63,16 @@ rk_dwcmmc_attach(device_t parent, device
struct dwc_mmc_softc *sc = device_private(self);
struct obio_attach_args * const obio = aux;
+ rockchip_mmc0_set_div(1);
+
sc->sc_dev = self;
sc->sc_bst = obio->obio_bst;
sc->sc_dmat = obio->obio_dmat;
- sc->sc_flags = DWC_MMC_F_USE_HOLD_REG | DWC_MMC_F_PWREN_CLEAR;
- sc->sc_clock_freq = rockchip_ahb_get_rate();
- sc->sc_fifo_depth = 256;
- sc->sc_set_clkdiv = rk_dwcmmc_set_clkdiv;
+ sc->sc_flags = DWC_MMC_F_USE_HOLD_REG | DWC_MMC_F_PWREN_CLEAR |
+ DWC_MMC_F_FORCE_CLK;
+ sc->sc_clock_freq = rockchip_mmc0_get_rate();
+ sc->sc_clock_max = 24000;
+ sc->sc_fifo_depth = 32;
bus_space_subregion(obio->obio_bst, obio->obio_bsh, obio->obio_offset,
obio->obio_size, &sc->sc_bsh);
@@ -97,9 +98,3 @@ rk_dwcmmc_attach_i(device_t self)
dwc_mmc_init(sc);
}
-
-static int
-rk_dwcmmc_set_clkdiv(struct dwc_mmc_softc *sc, int div)
-{
- return rockchip_mmc0_set_div(div);
-}