svn commit: r273662 - in stable/10/sys: arm/conf arm/freescale/imx arm/freescale/vybrid boot/fdt/dts/arm
Ian Lepore
ian at FreeBSD.org
Sun Oct 26 02:40:37 UTC 2014
Author: ian
Date: Sun Oct 26 02:40:34 2014
New Revision: 273662
URL: https://svnweb.freebsd.org/changeset/base/273662
Log:
MFC r268973, r268977: Rename i.MX I2C driver file, enable it on imx6.
Added:
stable/10/sys/arm/freescale/imx/imx_i2c.c
- copied, changed from r268973, head/sys/arm/freescale/imx/imx_i2c.c
Deleted:
stable/10/sys/arm/freescale/imx/i2c.c
Modified:
stable/10/sys/arm/conf/IMX6
stable/10/sys/arm/freescale/imx/files.imx51
stable/10/sys/arm/freescale/imx/files.imx53
stable/10/sys/arm/freescale/imx/files.imx6
stable/10/sys/arm/freescale/vybrid/vf_i2c.c
stable/10/sys/boot/fdt/dts/arm/imx6.dtsi
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/arm/conf/IMX6
==============================================================================
--- stable/10/sys/arm/conf/IMX6 Sun Oct 26 02:37:42 2014 (r273661)
+++ stable/10/sys/arm/conf/IMX6 Sun Oct 26 02:40:34 2014 (r273662)
@@ -154,8 +154,8 @@ options FREEBSD_BOOT_LOADER # Process
# SoC-specific devices
device ffec # Freescale Fast Ethernet Controller
-#device fsliic # Freescale i2c/iic (not ready yet)
-#device iic # iic protocol
-#device iicbus # iic bus
+device fsliic # Freescale i2c/iic
+device iic # iic protocol
+device iicbus # iic bus
#device imxwdt # Watchdog. WARNING: can't be disabled!!!
Modified: stable/10/sys/arm/freescale/imx/files.imx51
==============================================================================
--- stable/10/sys/arm/freescale/imx/files.imx51 Sun Oct 26 02:37:42 2014 (r273661)
+++ stable/10/sys/arm/freescale/imx/files.imx51 Sun Oct 26 02:40:34 2014 (r273662)
@@ -44,7 +44,7 @@ dev/usb/controller/ehci_imx.c optional
arm/freescale/imx/imx_wdog.c optional imxwdt
# i2c
-arm/freescale/imx/i2c.c optional fsliic
+arm/freescale/imx/imx_i2c.c optional fsliic
# IPU - Image Processing Unit (frame buffer also)
arm/freescale/imx/imx51_ipuv3.c optional sc
Modified: stable/10/sys/arm/freescale/imx/files.imx53
==============================================================================
--- stable/10/sys/arm/freescale/imx/files.imx53 Sun Oct 26 02:37:42 2014 (r273661)
+++ stable/10/sys/arm/freescale/imx/files.imx53 Sun Oct 26 02:40:34 2014 (r273662)
@@ -47,7 +47,7 @@ dev/usb/controller/ehci_imx.c optional
arm/freescale/imx/imx_wdog.c optional imxwdt
# i2c
-arm/freescale/imx/i2c.c optional fsliic
+arm/freescale/imx/imx_i2c.c optional fsliic
# IPU - Image Processing Unit (frame buffer also)
arm/freescale/imx/imx51_ipuv3.c optional sc
Modified: stable/10/sys/arm/freescale/imx/files.imx6
==============================================================================
--- stable/10/sys/arm/freescale/imx/files.imx6 Sun Oct 26 02:37:42 2014 (r273661)
+++ stable/10/sys/arm/freescale/imx/files.imx6 Sun Oct 26 02:40:34 2014 (r273662)
@@ -27,6 +27,7 @@ arm/freescale/imx/imx6_pl310.c standard
arm/freescale/imx/imx_machdep.c standard
arm/freescale/imx/imx_gpt.c standard
arm/freescale/imx/imx_gpio.c optional gpio
+arm/freescale/imx/imx_i2c.c optional fsliic
#
# Optional devices.
@@ -52,5 +53,4 @@ arm/freescale/imx/imx6_usbphy.c optiona
#
#arm/freescale/imx/imx51_iomux.c optional iomux
#dev/ata/chipsets/ata-fsl.c optional imxata
-#arm/freescale/imx/i2c.c optional fsliic
#arm/freescale/imx/imx51_ipuv3.c optional sc
Copied and modified: stable/10/sys/arm/freescale/imx/imx_i2c.c (from r268973, head/sys/arm/freescale/imx/imx_i2c.c)
==============================================================================
--- head/sys/arm/freescale/imx/imx_i2c.c Tue Jul 22 03:59:14 2014 (r268973, copy source)
+++ stable/10/sys/arm/freescale/imx/imx_i2c.c Sun Oct 26 02:40:34 2014 (r273662)
@@ -86,6 +86,12 @@ __FBSDID("$FreeBSD$");
#define debugf(fmt, args...)
#endif
+static struct ofw_compat_data compat_data[] = {
+ {"fsl,imx6q-i2c", 1},
+ {"fsl,imx-i2c", 1},
+ {NULL, 0}
+};
+
struct i2c_softc {
device_t dev;
device_t iicbus;
@@ -227,7 +233,7 @@ i2c_probe(device_t dev)
if (!ofw_bus_status_okay(dev))
return (ENXIO);
- if (!ofw_bus_is_compatible(dev, "fsl,imx-i2c"))
+ if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0)
return (ENXIO);
sc = device_get_softc(dev);
@@ -246,7 +252,7 @@ i2c_probe(device_t dev)
/* Enable I2C */
i2c_write_reg(sc, I2C_CONTROL_REG, I2CCR_MEN);
bus_release_resource(dev, SYS_RES_MEMORY, sc->rid, sc->res);
- device_set_desc(dev, "I2C bus controller");
+ device_set_desc(dev, "Freescale i.MX I2C bus controller");
return (BUS_PROBE_DEFAULT);
}
Modified: stable/10/sys/arm/freescale/vybrid/vf_i2c.c
==============================================================================
--- stable/10/sys/arm/freescale/vybrid/vf_i2c.c Sun Oct 26 02:37:42 2014 (r273661)
+++ stable/10/sys/arm/freescale/vybrid/vf_i2c.c Sun Oct 26 02:40:34 2014 (r273662)
@@ -30,7 +30,7 @@
*/
/*
- * This driver is based on the I2C driver for IMX (imx/i2c.c).
+ * This driver is based on the I2C driver for i.MX
*/
#include <sys/cdefs.h>
Modified: stable/10/sys/boot/fdt/dts/arm/imx6.dtsi
==============================================================================
--- stable/10/sys/boot/fdt/dts/arm/imx6.dtsi Sun Oct 26 02:37:42 2014 (r273661)
+++ stable/10/sys/boot/fdt/dts/arm/imx6.dtsi Sun Oct 26 02:40:34 2014 (r273662)
@@ -338,6 +338,27 @@
reg = <0x02100000 0x00100000>;
ranges;
+ i2c1: i2c at 021a0000 {
+ compatible = "fsl,imx6q-i2c";
+ reg = <0x021a0000 0x4000>;
+ interrupts = < 68 >;
+ status = "disabled";
+ };
+
+ i2c2: i2c at 021a4000 {
+ compatible = "fsl,imx6q-i2c";
+ reg = <0x021a4000 0x4000>;
+ interrupts = < 69 >;
+ status = "disabled";
+ };
+
+ i2c3: i2c at 021ac000 {
+ compatible = "fsl,imx6q-i2c";
+ reg = <0x021a8000 0x4000>;
+ interrupts = < 70 >;
+ status = "disabled";
+ };
+
fec1: ethernet at 02188000 {
compatible = "fsl,imx6q-fec";
reg = <0x02188000 0x4000>;
More information about the svn-src-stable
mailing list