From: Miaoqing Pan <miaoq...@codeaurora.org>

Signed-off-by: Miaoqing Pan <miaoq...@codeaurora.org>
---
 .../linux/ar71xx/files/arch/mips/ath79/dev-i2c.c   | 33 ++++++++++++++++++++++
 .../linux/ar71xx/files/arch/mips/ath79/dev-i2c.h   | 24 ++++++++++++++++
 ...915-MIPS-ath79-add-gpio-based-i2c-support.patch | 22 +++++++++++++++
 3 files changed, 79 insertions(+)
 create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.c
 create mode 100644 target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.h
 create mode 100644 
target/linux/ar71xx/patches-3.18/915-MIPS-ath79-add-gpio-based-i2c-support.patch

diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.c 
b/target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.c
new file mode 100644
index 0000000..2e0a5dd
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015 The Linux Foundation. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <linux/i2c.h>
+#include <linux/i2c-gpio.h>
+#include <linux/platform_device.h>
+
+static struct platform_device ath79_i2c_gpio_device = {
+       .name           = "i2c-gpio",
+       .id             = 0,
+};
+
+void __init ath79_register_i2c(struct i2c_gpio_platform_data *pdata,
+                              struct i2c_board_info const *info,
+                              unsigned int n)
+{
+       i2c_register_board_info(0, info, n);
+       ath79_i2c_gpio_device.dev.platform_data = pdata;
+       platform_device_register(&ath79_i2c_gpio_device);
+}
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.h 
b/target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.h
new file mode 100644
index 0000000..9b837bb
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/dev-i2c.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2015 The Linux Foundation. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _ATH79_DEV_I2C_H_
+#define _ATH79_DEV_I2C_H_
+
+void ath79_register_i2c(struct i2c_gpio_platform_data *pdata,
+                       struct i2c_board_info const *info,
+                       unsigned int n);
+
+#endif /* _ATH79_DEV_I2C_H_ */
diff --git 
a/target/linux/ar71xx/patches-3.18/915-MIPS-ath79-add-gpio-based-i2c-support.patch
 
b/target/linux/ar71xx/patches-3.18/915-MIPS-ath79-add-gpio-based-i2c-support.patch
new file mode 100644
index 0000000..a8126fe
--- /dev/null
+++ 
b/target/linux/ar71xx/patches-3.18/915-MIPS-ath79-add-gpio-based-i2c-support.patch
@@ -0,0 +1,22 @@
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
+@@ -1339,6 +1339,9 @@ config ATH79_DEV_NFC
+ config ATH79_DEV_SPI
+       def_bool n
+ 
++config ATH79_DEV_I2C
++      def_bool n
++
+ config ATH79_DEV_USB
+       def_bool n
+ 
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
+@@ -25,6 +25,7 @@ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO)    += dev-leds-gpio.o
+ obj-$(CONFIG_ATH79_DEV_M25P80)                += dev-m25p80.o
+ obj-$(CONFIG_ATH79_DEV_NFC)           += dev-nfc.o
+ obj-$(CONFIG_ATH79_DEV_SPI)           += dev-spi.o
++obj-$(CONFIG_ATH79_DEV_I2C)           += dev-i2c.o
+ obj-$(CONFIG_ATH79_DEV_USB)           += dev-usb.o
+ obj-$(CONFIG_ATH79_DEV_WMAC)          += dev-wmac.o
+ 
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to