diff options
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0036-set-i2c-speed-via-module-parameter-or-menuconfig.-Th.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.10/0036-set-i2c-speed-via-module-parameter-or-menuconfig.-Th.patch | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0036-set-i2c-speed-via-module-parameter-or-menuconfig.-Th.patch b/target/linux/brcm2708/patches-3.10/0036-set-i2c-speed-via-module-parameter-or-menuconfig.-Th.patch deleted file mode 100644 index 34d866fb37..0000000000 --- a/target/linux/brcm2708/patches-3.10/0036-set-i2c-speed-via-module-parameter-or-menuconfig.-Th.patch +++ /dev/null @@ -1,77 +0,0 @@ -From ec78c7da4fe9f7289cdc3e948b70a43c900f2be4 Mon Sep 17 00:00:00 2001 -From: popcornmix <popcornmix@gmail.com> -Date: Wed, 3 Oct 2012 20:08:19 +0100 -Subject: [PATCH 036/196] set i2c speed via module-parameter or menuconfig. - Thanks FrankBoesing - ---- - drivers/i2c/busses/Kconfig | 11 +++++++++++ - drivers/i2c/busses/i2c-bcm2708.c | 12 ++++++++---- - 2 files changed, 19 insertions(+), 4 deletions(-) - -diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 290aee4..abaff1a 100644 ---- a/drivers/i2c/busses/Kconfig -+++ b/drivers/i2c/busses/Kconfig -@@ -355,6 +355,17 @@ config I2C_BCM2708 - support for the BCM2708. BSC is a Broadcom proprietary bus compatible - with I2C/TWI/SMBus. - -+config I2C_BCM2708_BAUDRATE -+ prompt "BCM2708 I2C baudrate" -+ depends on I2C_BCM2708 -+ int -+ default 100000 -+ help -+ Set the I2C baudrate. This will alter the default value. A -+ different baudrate can be set by using a module parameter as well. If -+ no parameter is provided when loading, this is the value that will be -+ used. -+ - config I2C_BLACKFIN_TWI - tristate "Blackfin TWI I2C support" - depends on BLACKFIN -diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c -index 7cae615..3391889 100644 ---- a/drivers/i2c/busses/i2c-bcm2708.c -+++ b/drivers/i2c/busses/i2c-bcm2708.c -@@ -66,11 +66,15 @@ - #define BSC_S_DONE 0x00000002 - #define BSC_S_TA 0x00000001 - --#define I2C_CLOCK_HZ 100000 /* FIXME: get from DT */ - #define I2C_TIMEOUT_MS 150 - - #define DRV_NAME "bcm2708_i2c" - -+static unsigned int baudrate = CONFIG_I2C_BCM2708_BAUDRATE; -+module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); -+MODULE_PARM_DESC(baudrate, "The I2C baudrate"); -+ -+ - struct bcm2708_i2c { - struct i2c_adapter adapter; - -@@ -148,7 +152,7 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi) - u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1; - - bus_hz = clk_get_rate(bi->clk); -- cdiv = bus_hz / I2C_CLOCK_HZ; -+ cdiv = bus_hz / baudrate; - - if (bi->msg->flags & I2C_M_RD) - c |= BSC_C_INTR | BSC_C_READ; -@@ -331,8 +335,8 @@ static int bcm2708_i2c_probe(struct platform_device *pdev) - goto out_free_irq; - } - -- dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d)\n", -- pdev->id, (unsigned long)regs->start, irq); -+ dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d) (baudrate %dk)\n", -+ pdev->id, (unsigned long)regs->start, irq, baudrate/1000); - - return 0; - --- -1.9.1 - |