svn commit: r271100 - head/sys/arm/freescale/imx

Ian Lepore ian at FreeBSD.org
Thu Sep 4 14:57:05 UTC 2014


Author: ian
Date: Thu Sep  4 14:57:04 2014
New Revision: 271100
URL: http://svnweb.freebsd.org/changeset/base/271100

Log:
  Implement the same public interface in imx51 and imx6 iomux; use the common
  header file for both.  Remove some unused code from imx51_iomux.  The iomux
  drivers are required, not optional, adjust the files.* entries accordingly.

Deleted:
  head/sys/arm/freescale/imx/imx51_iomuxvar.h
Modified:
  head/sys/arm/freescale/imx/files.imx51
  head/sys/arm/freescale/imx/files.imx53
  head/sys/arm/freescale/imx/files.imx6
  head/sys/arm/freescale/imx/imx51_iomux.c

Modified: head/sys/arm/freescale/imx/files.imx51
==============================================================================
--- head/sys/arm/freescale/imx/files.imx51	Thu Sep  4 14:56:24 2014	(r271099)
+++ head/sys/arm/freescale/imx/files.imx51	Thu Sep  4 14:57:04 2014	(r271100)
@@ -19,7 +19,7 @@ arm/arm/bus_space-v6.c			standard
 arm/freescale/imx/tzic.c		standard
 
 # IOMUX - external pins multiplexor
-arm/freescale/imx/imx51_iomux.c		optional iomux
+arm/freescale/imx/imx51_iomux.c		standard
 
 # GPIO
 arm/freescale/imx/imx_gpio.c		optional gpio

Modified: head/sys/arm/freescale/imx/files.imx53
==============================================================================
--- head/sys/arm/freescale/imx/files.imx53	Thu Sep  4 14:56:24 2014	(r271099)
+++ head/sys/arm/freescale/imx/files.imx53	Thu Sep  4 14:57:04 2014	(r271100)
@@ -22,7 +22,7 @@ dev/uart/uart_dev_imx.c 		optional uart
 arm/freescale/imx/tzic.c		standard
 
 # IOMUX - external pins multiplexor
-arm/freescale/imx/imx51_iomux.c		optional iomux
+arm/freescale/imx/imx51_iomux.c		standard
 
 # GPIO
 arm/freescale/imx/imx_gpio.c		optional gpio

Modified: head/sys/arm/freescale/imx/files.imx6
==============================================================================
--- head/sys/arm/freescale/imx/files.imx6	Thu Sep  4 14:56:24 2014	(r271099)
+++ head/sys/arm/freescale/imx/files.imx6	Thu Sep  4 14:57:04 2014	(r271100)
@@ -52,6 +52,4 @@ arm/freescale/imx/imx6_usbphy.c		optiona
 #
 # Not ready yet...
 #
-#arm/freescale/imx/imx51_iomux.c  	optional iomux
-#dev/ata/chipsets/ata-fsl.c  		optional imxata
 #arm/freescale/imx/imx51_ipuv3.c  	optional sc

Modified: head/sys/arm/freescale/imx/imx51_iomux.c
==============================================================================
--- head/sys/arm/freescale/imx/imx51_iomux.c	Thu Sep  4 14:56:24 2014	(r271099)
+++ head/sys/arm/freescale/imx/imx51_iomux.c	Thu Sep  4 14:57:04 2014	(r271100)
@@ -75,8 +75,7 @@ __FBSDID("$FreeBSD$");
 #include <dev/ofw/ofw_bus_subr.h>
 
 #include <arm/freescale/imx/imx_iomuxvar.h>
-#include <arm/freescale/imx/imx51_iomuxvar.h>
-#include <arm/freescale/imx/imx51_iomuxreg.h>
+#include "imx51_iomuxreg.h"
 
 
 #define	IOMUX_WRITE(_sc, _r, _v)					\
@@ -177,45 +176,23 @@ iomux_set_pad(unsigned int pin, unsigned
 	iomux_set_pad_sub(iomuxsc, pin, config);
 }
 
-#ifdef notyet
-void
-iomux_set_input(unsigned int input, unsigned int config)
+static uint32_t
+iomux_get_pad_config_sub(struct iomux_softc *sc, uint32_t pin)
 {
-	bus_size_t input_ctl_reg = input;
-
-	bus_space_write_4(iomuxsc->iomux_memt, iomuxsc->iomux_memh,
-	    input_ctl_reg, config);
-}
-#endif
+	bus_size_t pad_reg = IOMUX_PIN_TO_PAD_ADDRESS(pin);
+	uint32_t result;
 
-void
-iomux_mux_config(const struct iomux_conf *conflist)
-{
-	int i;
+	result = IOMUX_READ(sc, pad_reg);
 
-	if (iomuxsc == NULL)
-		return;
-	for (i = 0; conflist[i].pin != IOMUX_CONF_EOT; i++) {
-		iomux_set_pad_sub(iomuxsc, conflist[i].pin, conflist[i].pad);
-		iomux_set_function_sub(iomuxsc, conflist[i].pin,
-		    conflist[i].mux);
-	}
+	return(result);
 }
 
-#ifdef notyet
-void
-iomux_input_config(const struct iomux_input_conf *conflist)
+unsigned int
+iomux_get_pad_config(unsigned int pin)
 {
-	int i;
 
-	if (iomuxsc == NULL)
-		return;
-	for (i = 0; conflist[i].inout != -1; i++) {
-		iomux_set_inout(iomuxsc, conflist[i].inout,
-		    conflist[i].inout_mode);
-	}
+	return(iomux_get_pad_config_sub(iomuxsc, pin));
 }
-#endif
 
 uint32_t
 imx_iomux_gpr_get(u_int regnum)
@@ -268,5 +245,5 @@ static driver_t imx_iomux_driver = {
 static devclass_t imx_iomux_devclass;
 
 EARLY_DRIVER_MODULE(imx_iomux, simplebus, imx_iomux_driver,
-    imx_iomux_devclass, 0, 0, BUS_PASS_BUS - 1);
+    imx_iomux_devclass, 0, 0, BUS_PASS_CPU + BUS_PASS_ORDER_LATE);
 


More information about the svn-src-head mailing list