summaryrefslogtreecommitdiff
path: root/target/avr32/grasshopper/patches/4.7.9/0004-grasshopper-i2c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/avr32/grasshopper/patches/4.7.9/0004-grasshopper-i2c.patch')
-rw-r--r--target/avr32/grasshopper/patches/4.7.9/0004-grasshopper-i2c.patch68
1 files changed, 0 insertions, 68 deletions
diff --git a/target/avr32/grasshopper/patches/4.7.9/0004-grasshopper-i2c.patch b/target/avr32/grasshopper/patches/4.7.9/0004-grasshopper-i2c.patch
deleted file mode 100644
index b0796ed5a..000000000
--- a/target/avr32/grasshopper/patches/4.7.9/0004-grasshopper-i2c.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -Naur linux-4.7.3/arch/avr32/boards/grasshopper/Kconfig linux-4.7.3.grasshopper/arch/avr32/boards/grasshopper/Kconfig
---- linux-4.7.3/arch/avr32/boards/grasshopper/Kconfig 2016-09-20 11:29:35.780351249 +0200
-+++ linux-4.7.3.grasshopper/arch/avr32/boards/grasshopper/Kconfig 2016-09-20 11:39:58.981762577 +0200
-@@ -44,4 +44,9 @@
- depends on BOARD_GRASSHOPPER_MMC
- default n
-
-+config BOARD_GRASSHOPPER_I2C
-+ bool "Enable I2C interface"
-+ depends on I2C && I2C_GPIO
-+ default y
-+
- endif # BOARD_GRASSHOPPER
-diff -Naur linux-4.7.3/arch/avr32/boards/grasshopper/setup.c linux-4.7.3.grasshopper/arch/avr32/boards/grasshopper/setup.c
---- linux-4.7.3/arch/avr32/boards/grasshopper/setup.c 2016-09-20 11:29:35.781351262 +0200
-+++ linux-4.7.3.grasshopper/arch/avr32/boards/grasshopper/setup.c 2016-09-20 11:32:21.270587433 +0200
-@@ -129,6 +129,28 @@
- };
- #endif
-
-+/* I2C/TWI */
-+#ifdef CONFIG_BOARD_GRASSHOPPER_I2C
-+static struct i2c_gpio_platform_data i2c_gpio_data = {
-+ .sda_pin = GPIO_PIN_PA(6),
-+ .scl_pin = GPIO_PIN_PA(7),
-+ .sda_is_open_drain = 1,
-+ .scl_is_open_drain = 1,
-+ .udelay = 2, /* close to 100 kHz */
-+};
-+
-+static struct platform_device i2c_gpio_device = {
-+ .name = "i2c-gpio",
-+ .id = 0,
-+ .dev = {
-+ .platform_data = &i2c_gpio_data,
-+ },
-+};
-+
-+static struct i2c_board_info i2c_info[] = {
-+};
-+#endif
-+
- /* MCI */
- #ifdef CONFIG_BOARD_GRASSHOPPER_MMC
- static struct mci_platform_data __initdata mci0_data = {
-@@ -168,6 +190,22 @@
- ATMEL_LCDC_PRI_CONTROL | ATMEL_LCDC_PRI_24BIT);
- #endif
-
-+ // I2C / TWI
-+#ifdef CONFIG_BOARD_GRASSHOPPER_I2C
-+ /* all these i2c/smbus pins should have external pullups for
-+ * open-drain sharing among all I2C devices. SDA and SCL do;
-+ * PB28/EXTINT3 doesn't; it should be SMBALERT# (for PMBus),
-+ * but it's not available off-board.
-+ */
-+ at32_select_periph(GPIO_PIOB_BASE, 1 << 28, 0, AT32_GPIOF_PULLUP);
-+ at32_select_gpio(i2c_gpio_data.sda_pin,
-+ AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH);
-+ at32_select_gpio(i2c_gpio_data.scl_pin,
-+ AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH);
-+ platform_device_register(&i2c_gpio_device);
-+ i2c_register_board_info(0, i2c_info, ARRAY_SIZE(i2c_info));
-+#endif
-+
- #ifdef CONFIG_BOARD_GRASSHOPPER_MMC
- at32_add_device_mci(0, &mci0_data); /* MMC/SD */
- #endif