Module Name:    src
Committed By:   jmcneill
Date:           Sun Apr 21 13:08:48 UTC 2019

Modified Files:
        src/sys/arch/arm/amlogic: mesongx_mmc.c

Log Message:
Fix module clock rate in DDR52 mode and support mmc-ddr-3_3v DT property


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/amlogic/mesongx_mmc.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/amlogic/mesongx_mmc.c
diff -u src/sys/arch/arm/amlogic/mesongx_mmc.c:1.4 src/sys/arch/arm/amlogic/mesongx_mmc.c:1.5
--- src/sys/arch/arm/amlogic/mesongx_mmc.c:1.4	Sat Mar 16 12:52:47 2019
+++ src/sys/arch/arm/amlogic/mesongx_mmc.c	Sun Apr 21 13:08:48 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mesongx_mmc.c,v 1.4 2019/03/16 12:52:47 jmcneill Exp $ */
+/* $NetBSD: mesongx_mmc.c,v 1.5 2019/04/21 13:08:48 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2019 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mesongx_mmc.c,v 1.4 2019/03/16 12:52:47 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mesongx_mmc.c,v 1.5 2019/04/21 13:08:48 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -463,7 +463,7 @@ mesongx_mmc_set_clock(struct mesongx_mmc
 	best_sel = 0;
 	best_div = 0;
 
-	const u_int target_rate = (freq * 1000) >> ddr;
+	const u_int target_rate = (freq * 1000) << ddr;
 	for (sel = 0; sel <= 1; sel++) {
 		const u_int parent_rate = clk_get_rate(sc->sc_clk_clkin[sel]);
 		for (div = 1; div <= 63; div++) {
@@ -541,6 +541,10 @@ mesongx_mmc_attach_i(device_t self)
 	if (of_getprop_bool(sc->sc_phandle, "cap-mmc-highspeed"))
 		saa.saa_caps |= SMC_CAPS_MMC_HIGHSPEED;
 
+	if (of_getprop_bool(sc->sc_phandle, "mmc-ddr-3_3v")) {
+		saa.saa_caps |= SMC_CAPS_MMC_DDR52;
+	}
+
 	if (of_getprop_bool(sc->sc_phandle, "mmc-ddr-1_8v")) {
 		saa.saa_caps |= SMC_CAPS_MMC_DDR52;
 		sc->sc_host_ocr |= MMC_OCR_1_65V_1_95V;

Reply via email to