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 <jmcne...@invisible.ca> @@ -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); -}