svn commit: r232282 - in projects/armv6/sys/arm/ti: . am335x

Damjan Marion dmarion at FreeBSD.org
Wed Feb 29 01:35:22 UTC 2012


Author: dmarion
Date: Wed Feb 29 01:35:21 2012
New Revision: 232282
URL: http://svn.freebsd.org/changeset/base/232282

Log:
  Probe i2c devices based on FDT data.
  Patch provided by gonzo.
  
  Approved by:  cognet (mentor)

Modified:
  projects/armv6/sys/arm/ti/am335x/files.am335x
  projects/armv6/sys/arm/ti/ti_i2c.c

Modified: projects/armv6/sys/arm/ti/am335x/files.am335x
==============================================================================
--- projects/armv6/sys/arm/ti/am335x/files.am335x	Wed Feb 29 01:32:09 2012	(r232281)
+++ projects/armv6/sys/arm/ti/am335x/files.am335x	Wed Feb 29 01:35:21 2012	(r232282)
@@ -23,4 +23,6 @@ arm/ti/am335x/am335x_dmtimer.c		standard
 arm/ti/am335x/if_cpsw.c				standard
 arm/ti/am335x/am335x_scm_padconf.c	standard
 
+dev/ofw/ofw_iicbus.c				optional iicbus
+
 dev/uart/uart_dev_ns8250.c			optional	uart

Modified: projects/armv6/sys/arm/ti/ti_i2c.c
==============================================================================
--- projects/armv6/sys/arm/ti/ti_i2c.c	Wed Feb 29 01:32:09 2012	(r232281)
+++ projects/armv6/sys/arm/ti/ti_i2c.c	Wed Feb 29 01:35:21 2012	(r232282)
@@ -154,6 +154,9 @@ static int ti_i2c_attach(device_t dev);
 static int ti_i2c_detach(device_t dev);
 static void ti_i2c_intr(void *);
 
+/* OFW routine */
+static phandle_t ti_i2c_get_node(device_t bus, device_t dev);
+
 /* helper routines */
 static int ti_i2c_activate(device_t dev);
 static void ti_i2c_deactivate(device_t dev);
@@ -1137,12 +1140,25 @@ ti_i2c_detach(device_t dev)
 	return (0);
 }
 
+
+static phandle_t
+ti_i2c_get_node(device_t bus, device_t dev)
+{
+	/* 
+	 * Share controller node with iibus device
+	 */
+	return ofw_bus_get_node(bus);
+}
+
 static device_method_t ti_i2c_methods[] = {
 	/* Device interface */
 	DEVMETHOD(device_probe,		ti_i2c_probe),
 	DEVMETHOD(device_attach,	ti_i2c_attach),
 	DEVMETHOD(device_detach,	ti_i2c_detach),
 
+	/* OFW methods */
+	DEVMETHOD(ofw_bus_get_node,	ti_i2c_get_node),
+
 	/* iicbus interface */
 	DEVMETHOD(iicbus_callback,	ti_i2c_callback),
 	DEVMETHOD(iicbus_reset,		ti_i2c_reset),
@@ -1151,7 +1167,7 @@ static device_method_t ti_i2c_methods[] 
 };
 
 static driver_t ti_i2c_driver = {
-	"ti_iic",
+	"iichb",
 	ti_i2c_methods,
 	sizeof(struct ti_i2c_softc),
 };


More information about the svn-src-projects mailing list