diff options
Diffstat (limited to 'target/avr32/grasshopper/patches/4.7.3/0004-grasshopper-i2c.patch')
-rw-r--r-- | target/avr32/grasshopper/patches/4.7.3/0004-grasshopper-i2c.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/target/avr32/grasshopper/patches/4.7.3/0004-grasshopper-i2c.patch b/target/avr32/grasshopper/patches/4.7.3/0004-grasshopper-i2c.patch deleted file mode 100644 index b0796ed5a..000000000 --- a/target/avr32/grasshopper/patches/4.7.3/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 |