I2C support to PCM-038 board

Alexander Shiyan shc at milas.spb.ru
Thu Aug 11 06:37:05 EDT 2011


Hello.

Please review and apply this simple patch.
Thanks!

diff -urN barebox-v2011.08.0.orig/arch/arm/boards/pcm038/pcm038.c barebox-v2011.08.0/arch/arm/boards/pcm038/pcm038.c
--- barebox-v2011.08.0.orig/arch/arm/boards/pcm038/pcm038.c	2011-08-04 16:42:13.000000000 +0400
+++ barebox-v2011.08.0/arch/arm/boards/pcm038/pcm038.c	2011-08-11 11:10:16.000000000 +0400
@@ -40,6 +40,7 @@
 #include <mach/imx-pll.h>
 #include <mach/imxfb.h>
 #include <asm/mmu.h>
+#include <i2c/i2c.h>
 #include <usb/isp1504.h>
 #include <mach/spi.h>
 #include <mach/iomux-mx27.h>
@@ -261,6 +262,14 @@
 		PD23_AF_USBH2_DATA2,
 		PD24_AF_USBH2_DATA1,
 		PD26_AF_USBH2_DATA5,
+#ifdef CONFIG_I2C
+		/* I2C1 */
+		PD17_PF_I2C_DATA | GPIO_PUEN,
+		PD18_PF_I2C_CLK,
+		/* I2C2 */
+		PC5_PF_I2C2_SDA,
+		PC6_PF_I2C2_SCL,
+#endif
 	};

 	pcm038_mmu_init();
@@ -298,6 +307,12 @@
 	register_device(&sram_dev);
 	imx27_add_fb(&pcm038_fb_data);

+#ifdef CONFIG_I2C
+	PCCR0 |= PCCR0_I2C1_EN | PCCR0_I2C2_EN;
+	imx27_add_i2c0(NULL);
+	imx27_add_i2c1(NULL);
+#endif
+
 #ifdef CONFIG_USB
 	pcm038_usbh_init();
 	register_device(&usbh2_dev);
diff -urN barebox-v2011.08.0.orig/arch/arm/mach-imx/include/mach/devices-imx27.h barebox-v2011.08.0/arch/arm/mach-imx/include/mach/devices-imx27.h
--- barebox-v2011.08.0.orig/arch/arm/mach-imx/include/mach/devices-imx27.h	2011-08-04 16:42:13.000000000 +0400
+++ barebox-v2011.08.0/arch/arm/mach-imx/include/mach/devices-imx27.h	2011-08-11 11:20:26.000000000 +0400
@@ -11,6 +11,11 @@
 	return imx_add_i2c((void *)IMX_I2C1_BASE, 0, pdata);
 }

+static inline struct device_d *imx27_add_i2c1(struct i2c_platform_data *pdata)
+{
+	return imx_add_i2c((void *)IMX_I2C2_BASE, 1, pdata);
+}
+
 static inline struct device_d *imx27_add_uart0(void)
 {
 	return imx_add_uart((void *)IMX_UART1_BASE, 0);


More information about the barebox mailing list