Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Apr 2017 22:35:04 +0000 (UTC)
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r316379 - head/sys/dev/sdhci
Message-ID:  <201704012235.v31MZ4nM016765@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhibbits
Date: Sat Apr  1 22:35:03 2017
New Revision: 316379
URL: https://svnweb.freebsd.org/changeset/base/316379

Log:
  Use the newly added mpc85xx_get_system_clock()
  
  Simplify the platform clock acquisition by using the new helper function.

Modified:
  head/sys/dev/sdhci/fsl_sdhci.c

Modified: head/sys/dev/sdhci/fsl_sdhci.c
==============================================================================
--- head/sys/dev/sdhci/fsl_sdhci.c	Sat Apr  1 22:29:11 2017	(r316378)
+++ head/sys/dev/sdhci/fsl_sdhci.c	Sat Apr  1 22:35:03 2017	(r316379)
@@ -58,6 +58,10 @@ __FBSDID("$FreeBSD$");
 #include <arm/freescale/imx/imx_ccmvar.h>
 #endif
 
+#ifdef __powerpc__
+#include <powerpc/mpc85xx/mpc85xx.h>
+#endif
+
 #include <dev/gpio/gpiobusvar.h>
 
 #include <dev/ofw/ofw_bus.h>
@@ -767,7 +771,6 @@ fsl_sdhci_get_card_present(device_t dev,
 static uint32_t
 fsl_sdhci_get_platform_clock(device_t dev)
 {
-	device_t parent;
 	phandle_t node;
 	uint32_t clock;
 
@@ -777,23 +780,14 @@ fsl_sdhci_get_platform_clock(device_t de
 	if((OF_getprop(node, "clock-frequency", (void *)&clock,
 	    sizeof(clock)) <= 0) || (clock == 0)) {
 
-		/*
-		 * Trying to get clock from parent device (soc) if correct
-		 * clock cannot be acquired from sdhci node.
-		 */
-		parent = device_get_parent(dev);
-		node = ofw_bus_get_node(parent);
+		clock = mpc85xx_get_system_clock();
 
-		/* Get soc properties */
-		if ((OF_getprop(node, "bus-frequency", (void *)&clock,
-		    sizeof(clock)) <= 0) || (clock == 0)) {
+		if (clock == 0) {
 			device_printf(dev,"Cannot acquire correct sdhci "
 			    "frequency from DTS.\n");
 
 			return (0);
 		}
-		/* eSDHC clock is 1/2 platform clock. */
-		clock /= 2;
 	}
 
 	if (bootverbose)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704012235.v31MZ4nM016765>