* [PATCH 2/7] at91rm9200: add i2c support
2012-11-01 15:07 ` [PATCH 1/7] at91sam9x5: add i2c support Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 15:07 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 3/7] at91sam9260/sam9g20: " Jean-Christophe PLAGNIOL-VILLARD
` (4 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 15:07 UTC (permalink / raw)
To: barebox
use i2c-gpio as the hw ip is broken
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/arm/mach-at91/at91rm9200_devices.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 8cb2f57..1a2d0fd 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -18,6 +18,7 @@
#include <mach/gpio.h>
#include <mach/io.h>
#include <mach/at91rm9200_mc.h>
+#include <i2c/i2c-gpio.h>
#include <sizes.h>
#include "generic.h"
@@ -154,6 +155,33 @@ void __init at91_add_device_nand(struct atmel_nand_data *data)
void __init at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
+#if defined(CONFIG_I2C_GPIO)
+static struct i2c_gpio_platform_data pdata_i2c = {
+ .sda_pin = AT91_PIN_PA25,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PA26,
+ .scl_is_open_drain = 1,
+ .udelay = 5, /* ~100 kHz */
+};
+
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+{
+ struct i2c_gpio_platform_data *pdata = &pdata_i2c;
+
+ i2c_register_board_info(0, devices, nr_devices);
+
+ at91_set_GPIO_periph(pdata->sda_pin, 1); /* TWD (SDA) */
+ at91_set_multi_drive(pdata->sda_pin, 1);
+
+ at91_set_GPIO_periph(pdata->scl_pin, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(pdata->scl_pin, 1);
+
+ add_generic_device_res("i2c-gpio", 0, NULL, 0, pdata);
+}
+#else
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices) {}
+#endif
+
/* --------------------------------------------------------------------
* SPI
* -------------------------------------------------------------------- */
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 3/7] at91sam9260/sam9g20: add i2c support
2012-11-01 15:07 ` [PATCH 1/7] at91sam9x5: add i2c support Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 2/7] at91rm9200: " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 15:07 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 4/7] at91sam9263: " Jean-Christophe PLAGNIOL-VILLARD
` (3 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 15:07 UTC (permalink / raw)
To: barebox
use i2c-gpio as the hw ip is broken
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/arm/mach-at91/at91sam9260_devices.c | 32 ++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
index 9c9534e..7450ec1 100644
--- a/arch/arm/mach-at91/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/at91sam9260_devices.c
@@ -20,6 +20,7 @@
#include <mach/gpio.h>
#include <mach/io.h>
#include <mach/cpu.h>
+#include <i2c/i2c-gpio.h>
#include "generic.h"
@@ -155,6 +156,37 @@ void at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
/* --------------------------------------------------------------------
+ * TWI (i2c)
+ * -------------------------------------------------------------------- */
+
+#if defined(CONFIG_I2C_GPIO)
+static struct i2c_gpio_platform_data pdata_i2c = {
+ .sda_pin = AT91_PIN_PA23,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PA24,
+ .scl_is_open_drain = 1,
+ .udelay = 5, /* ~100 kHz */
+};
+
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+{
+ struct i2c_gpio_platform_data *pdata = &pdata_i2c;
+
+ i2c_register_board_info(0, devices, nr_devices);
+
+ at91_set_GPIO_periph(pdata->sda_pin, 1); /* TWD (SDA) */
+ at91_set_multi_drive(pdata->sda_pin, 1);
+
+ at91_set_GPIO_periph(pdata->scl_pin, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(pdata->scl_pin, 1);
+
+ add_generic_device_res("i2c-gpio", 0, NULL, 0, pdata);
+}
+#else
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices) {}
+#endif
+
+/* --------------------------------------------------------------------
* SPI
* -------------------------------------------------------------------- */
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 4/7] at91sam9263: add i2c support
2012-11-01 15:07 ` [PATCH 1/7] at91sam9x5: add i2c support Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 2/7] at91rm9200: " Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 3/7] at91sam9260/sam9g20: " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 15:07 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 5/7] at91sam9261/sam9g10: " Jean-Christophe PLAGNIOL-VILLARD
` (2 subsequent siblings)
5 siblings, 0 replies; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 15:07 UTC (permalink / raw)
To: barebox
use i2c-gpio as the hw ip is broken
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/arm/mach-at91/at91sam9263_devices.c | 31 ++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
index e686480..deffc27 100644
--- a/arch/arm/mach-at91/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/at91sam9263_devices.c
@@ -19,6 +19,7 @@
#include <mach/board.h>
#include <mach/gpio.h>
#include <mach/io.h>
+#include <i2c/i2c-gpio.h>
#include "generic.h"
@@ -157,6 +158,36 @@ void at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
/* --------------------------------------------------------------------
+ * TWI (i2c)
+ * -------------------------------------------------------------------- */
+#if defined(CONFIG_I2C_GPIO)
+static struct i2c_gpio_platform_data pdata_i2c = {
+ .sda_pin = AT91_PIN_PB4,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PB5,
+ .scl_is_open_drain = 1,
+ .udelay = 5, /* ~100 kHz */
+};
+
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+{
+ struct i2c_gpio_platform_data *pdata = &pdata_i2c;
+
+ i2c_register_board_info(0, devices, nr_devices);
+
+ at91_set_GPIO_periph(pdata->sda_pin, 1); /* TWD (SDA) */
+ at91_set_multi_drive(pdata->sda_pin, 1);
+
+ at91_set_GPIO_periph(pdata->scl_pin, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(pdata->scl_pin, 1);
+
+ add_generic_device_res("i2c-gpio", 0, NULL, 0, pdata);
+}
+#else
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices) {}
+#endif
+
+/* --------------------------------------------------------------------
* SPI
* -------------------------------------------------------------------- */
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 5/7] at91sam9261/sam9g10: add i2c support
2012-11-01 15:07 ` [PATCH 1/7] at91sam9x5: add i2c support Jean-Christophe PLAGNIOL-VILLARD
` (2 preceding siblings ...)
2012-11-01 15:07 ` [PATCH 4/7] at91sam9263: " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 15:07 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 6/7] at91sam9g45: " Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 7/7] at91sam9x5ek: " Jean-Christophe PLAGNIOL-VILLARD
5 siblings, 0 replies; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 15:07 UTC (permalink / raw)
To: barebox
use i2c-gpio as the hw ip is broken
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/arm/mach-at91/at91sam9261_devices.c | 31 ++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 0091e2d..68d75c3 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -20,6 +20,7 @@
#include <mach/gpio.h>
#include <mach/io.h>
#include <mach/cpu.h>
+#include <i2c/i2c-gpio.h>
#include "generic.h"
@@ -107,6 +108,36 @@ void at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
/* --------------------------------------------------------------------
+ * TWI (i2c)
+ * -------------------------------------------------------------------- */
+#if defined(CONFIG_I2C_GPIO)
+static struct i2c_gpio_platform_data pdata_i2c = {
+ .sda_pin = AT91_PIN_PA7,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PA8,
+ .scl_is_open_drain = 1,
+ .udelay = 5, /* ~100 kHz */
+};
+
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+{
+ struct i2c_gpio_platform_data *pdata = &pdata_i2c;
+
+ i2c_register_board_info(0, devices, nr_devices);
+
+ at91_set_GPIO_periph(pdata->sda_pin, 1); /* TWD (SDA) */
+ at91_set_multi_drive(pdata->sda_pin, 1);
+
+ at91_set_GPIO_periph(pdata->scl_pin, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(pdata->scl_pin, 1);
+
+ add_generic_device_res("i2c-gpio", 0, NULL, 0, pdata);
+}
+#else
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices) {}
+#endif
+
+/* --------------------------------------------------------------------
* SPI
* -------------------------------------------------------------------- */
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 6/7] at91sam9g45: add i2c support
2012-11-01 15:07 ` [PATCH 1/7] at91sam9x5: add i2c support Jean-Christophe PLAGNIOL-VILLARD
` (3 preceding siblings ...)
2012-11-01 15:07 ` [PATCH 5/7] at91sam9261/sam9g10: " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 15:07 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 15:07 ` [PATCH 7/7] at91sam9x5ek: " Jean-Christophe PLAGNIOL-VILLARD
5 siblings, 0 replies; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 15:07 UTC (permalink / raw)
To: barebox
use i2c-gpio as the hw ip is broken
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/arm/mach-at91/at91sam9g45_devices.c | 50 ++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
index 22b455e..35cd2e7 100644
--- a/arch/arm/mach-at91/at91sam9g45_devices.c
+++ b/arch/arm/mach-at91/at91sam9g45_devices.c
@@ -18,6 +18,7 @@
#include <mach/board.h>
#include <mach/gpio.h>
#include <mach/io.h>
+#include <i2c/i2c-gpio.h>
#include "generic.h"
@@ -132,6 +133,55 @@ void at91_add_device_nand(struct atmel_nand_data *data)
void at91_add_device_nand(struct atmel_nand_data *data) {}
#endif
+/* --------------------------------------------------------------------
+ * TWI (i2c)
+ * -------------------------------------------------------------------- */
+#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
+static struct i2c_gpio_platform_data pdata_i2c0 = {
+ .sda_pin = AT91_PIN_PA20,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PA21,
+ .scl_is_open_drain = 1,
+ .udelay = 5, /* ~100 kHz */
+};
+
+static struct i2c_gpio_platform_data pdata_i2c1 = {
+ .sda_pin = AT91_PIN_PB10,
+ .sda_is_open_drain = 1,
+ .scl_pin = AT91_PIN_PB11,
+ .scl_is_open_drain = 1,
+ .udelay = 5, /* ~100 kHz */
+};
+
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices)
+{
+ struct i2c_gpio_platform_data *pdata = &pdata_i2c;
+
+ i2c_register_board_info(i2c_id, devices, nr_devices);
+
+ switch (i2c_id) {
+ case 0;
+ pdata = &pdata_i2c0;
+ break;
+ case 1;
+ pdata = &pdata_i2c1;
+ break;
+ default:
+ return;
+ }
+
+ at91_set_GPIO_periph(pdata->sda_pin, 1); /* TWD (SDA) */
+ at91_set_multi_drive(pdata->sda_pin, 1);
+
+ at91_set_GPIO_periph(pdata->scl_pin, 1); /* TWCK (SCL) */
+ at91_set_multi_drive(pdata->scl_pin, 1);
+
+ add_generic_device_res("i2c-gpio", i2c_id, NULL, 0, pdata);
+}
+#else
+void at91_add_device_i2c(short i2c_id, struct i2c_board_info *devices, int nr_devices) {}
+#endif
+
resource_size_t __init at91_configure_dbgu(void)
{
at91_set_A_periph(AT91_PIN_PB12, 0); /* DRXD */
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 7/7] at91sam9x5ek: add i2c support
2012-11-01 15:07 ` [PATCH 1/7] at91sam9x5: add i2c support Jean-Christophe PLAGNIOL-VILLARD
` (4 preceding siblings ...)
2012-11-01 15:07 ` [PATCH 6/7] at91sam9g45: " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 15:07 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-01 18:52 ` [PATCH 1/1 v2] " Jean-Christophe PLAGNIOL-VILLARD
5 siblings, 1 reply; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 15:07 UTC (permalink / raw)
To: barebox
enable qt1070 support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/arm/boards/at91sam9x5ek/init.c | 12 ++++++++++++
arch/arm/configs/at91sam9x5ek_defconfig | 5 ++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 78f7349..48eebac 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -114,6 +114,17 @@ static void ek_add_device_eth(void)
at91_add_device_eth(0, &macb_pdata);
}
+static struct i2c_board_info i2c_devices[] = {
+ {
+ I2C_BOARD_INFO("qt1070", 0x1b),
+ },
+};
+
+static void ek_add_device_i2c(void)
+{
+ at91_add_device_i2c(0, i2c_devices, ARRAY_SIZE(i2c_devices));
+}
+
/*
* USB Host port
*/
@@ -172,6 +183,7 @@ static int at91sam9x5ek_devices_init(void)
ek_add_device_eth();
at91_add_device_usbh_ohci(&ek_usbh_data);
ek_add_led();
+ ek_add_device_i2c();
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index 6315d9f..3e66c44 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -41,6 +41,7 @@ CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
@@ -52,6 +53,8 @@ CONFIG_FS_TFTP=y
CONFIG_NET_NETCONSOLE=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
+CONFIG_I2C=y
+CONFIG_I2C_GPIO=y
CONFIG_MTD=y
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
@@ -64,7 +67,7 @@ CONFIG_DISK_WRITE=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
-CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_QT1070=y
CONFIG_W1=y
CONFIG_W1_MASTER_GPIO=y
CONFIG_W1_SLAVE_DS2431=y
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/1 v2] at91sam9x5ek: add i2c support
2012-11-01 15:07 ` [PATCH 7/7] at91sam9x5ek: " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-01 18:52 ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-03 11:29 ` [PATCH 1/1 v3] " Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-01 18:52 UTC (permalink / raw)
To: barebox
enable the qt1070 for debug only as this slow down barebox a lot
as we need to read the i2c via poller
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
HI
branch updated
The following changes since commit 3a5609a37a19b0b6b5f4c61e3c561b7bf2d25b72:
i2c: add versatile support (2012-11-01 06:58:21 +0800)
are available in the git repository at:
git://git.jcrosoft.org/barebox.git delivery/at91_i2c
for you to fetch changes up to 3c67dcab6fc9b1ab0966b2693f2952209f18cdda:
at91sam9x5ek: add i2c support (2012-11-01 11:26:25 +0800)
Jean-Christophe PLAGNIOL-VILLARD (7):
at91sam9x5: add i2c support
at91rm9200: add i2c support
at91sam9260/sam9g20: add i2c support
at91sam9263: add i2c support
at91sam9261/sam9g10: add i2c support
at91sam9g45: add i2c support
at91sam9x5ek: add i2c support
arch/arm/boards/at91sam9x5ek/init.c | 12 ++++++++++++
arch/arm/configs/at91sam9x5ek_defconfig | 3 +++
arch/arm/mach-at91/at91rm9200_devices.c | 28 ++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9260_devices.c | 32 ++++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9261_devices.c | 31 +++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9263_devices.c | 31 +++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9g45_devices.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9x5_devices.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-at91/include/mach/board.h | 3 +++
9 files changed, 248 insertions(+)
Best Regards,
J.
arch/arm/configs/at91sam9x5ek_defconfig | 3 +++
2 files changed, 15 insertions(+)
diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 78f7349..48eebac 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -114,6 +114,17 @@ static void ek_add_device_eth(void)
at91_add_device_eth(0, &macb_pdata);
}
+static struct i2c_board_info i2c_devices[] = {
+ {
+ I2C_BOARD_INFO("qt1070", 0x1b),
+ },
+};
+
+static void ek_add_device_i2c(void)
+{
+ at91_add_device_i2c(0, i2c_devices, ARRAY_SIZE(i2c_devices));
+}
+
/*
* USB Host port
*/
@@ -172,6 +183,7 @@ static int at91sam9x5ek_devices_init(void)
ek_add_device_eth();
at91_add_device_usbh_ohci(&ek_usbh_data);
ek_add_led();
+ ek_add_device_i2c();
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index 6315d9f..c71fe0d 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -41,6 +41,7 @@ CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
@@ -52,6 +53,8 @@ CONFIG_FS_TFTP=y
CONFIG_NET_NETCONSOLE=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
+CONFIG_I2C=y
+CONFIG_I2C_GPIO=y
CONFIG_MTD=y
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/1 v3] at91sam9x5ek: add i2c support
2012-11-01 18:52 ` [PATCH 1/1 v2] " Jean-Christophe PLAGNIOL-VILLARD
@ 2012-11-03 11:29 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 0 replies; 13+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-11-03 11:29 UTC (permalink / raw)
To: barebox
enable qt1070 support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
v3:
provide irq_pin for qt1070
and enable it by default
branch updated
The following changes since commit 220c2476bc88b8297607ca0a3f8e2e3495da6edb:
i2c: add versatile support (2012-11-03 04:09:17 +0800)
are available in the git repository at:
git://git.jcrosoft.org/barebox.git delivery/at91_i2c
for you to fetch changes up to 5824ffb7201d38315a24fa4ba21124ffaf86068f:
at91sam9x5ek: add i2c support (2012-11-03 04:09:55 +0800)
----------------------------------------------------------------
Jean-Christophe PLAGNIOL-VILLARD (7):
at91sam9x5: add i2c support
at91rm9200: add i2c support
at91sam9260/sam9g20: add i2c support
at91sam9263: add i2c support
at91sam9261/sam9g10: add i2c support
at91sam9g45: add i2c support
at91sam9x5ek: add i2c support
arch/arm/boards/at91sam9x5ek/init.c | 21 ++++++++++++++++++++-
arch/arm/configs/at91sam9x5ek_defconfig | 5 ++++-
arch/arm/mach-at91/at91rm9200_devices.c | 28 ++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9260_devices.c | 32 ++++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9261_devices.c | 31 +++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9263_devices.c | 31 +++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9g45_devices.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-at91/at91sam9x5_devices.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-at91/include/mach/board.h | 3 +++
9 files changed, 257 insertions(+), 2 deletions(-)
Best Regards,
J.
arch/arm/boards/at91sam9x5ek/init.c | 21 ++++++++++++++++++++-
arch/arm/configs/at91sam9x5ek_defconfig | 5 ++++-
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c
index 78f7349..dbb9bb5 100644
--- a/arch/arm/boards/at91sam9x5ek/init.c
+++ b/arch/arm/boards/at91sam9x5ek/init.c
@@ -37,7 +37,7 @@
#include <mach/at91_pmc.h>
#include <mach/at91_rstc.h>
#include <mach/at91sam9x5_matrix.h>
-#include <gpio_keys.h>
+#include <input/qt1070.h>
#include <readkey.h>
#include <linux/w1-gpio.h>
#include <w1_mac_address.h>
@@ -114,6 +114,24 @@ static void ek_add_device_eth(void)
at91_add_device_eth(0, &macb_pdata);
}
+struct qt1070_platform_data qt1070_pdata = {
+ .irq_pin = AT91_PIN_PA7,
+};
+
+static struct i2c_board_info i2c_devices[] = {
+ {
+ .platform_data = &qt1070_pdata,
+ I2C_BOARD_INFO("qt1070", 0x1b),
+ },
+};
+
+static void ek_add_device_i2c(void)
+{
+ at91_set_gpio_input(qt1070_pdata.irq_pin, 0);
+ at91_set_deglitch(qt1070_pdata.irq_pin, 1);
+ at91_add_device_i2c(0, i2c_devices, ARRAY_SIZE(i2c_devices));
+}
+
/*
* USB Host port
*/
@@ -172,6 +190,7 @@ static int at91sam9x5ek_devices_init(void)
ek_add_device_eth();
at91_add_device_usbh_ohci(&ek_usbh_data);
ek_add_led();
+ ek_add_device_i2c();
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
diff --git a/arch/arm/configs/at91sam9x5ek_defconfig b/arch/arm/configs/at91sam9x5ek_defconfig
index 6315d9f..3e66c44 100644
--- a/arch/arm/configs/at91sam9x5ek_defconfig
+++ b/arch/arm/configs/at91sam9x5ek_defconfig
@@ -41,6 +41,7 @@ CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
@@ -52,6 +53,8 @@ CONFIG_FS_TFTP=y
CONFIG_NET_NETCONSOLE=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
+CONFIG_I2C=y
+CONFIG_I2C_GPIO=y
CONFIG_MTD=y
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
@@ -64,7 +67,7 @@ CONFIG_DISK_WRITE=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
-CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_QT1070=y
CONFIG_W1=y
CONFIG_W1_MASTER_GPIO=y
CONFIG_W1_SLAVE_DS2431=y
--
1.7.10.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 13+ messages in thread