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