Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c: drivers: Use generic definitions for bus frequencies

Since we have generic definitions for bus frequencies, let's use them.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Acked-by: Robert Richter <rrichter@marvell.com>
Reviewed-by: Thor Thayer <thor.thayer@linux.intel.com>
Acked-by: Elie Morisse <syniurge@gmail.com>
Acked-by: Nehal Shah <nehal-bakulchandra.shah@amd.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Acked-by: Vladimir Zapolskiy <vz@mleia.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Chris Brandt <chris.brandt@renesas.com>
Reviewed-by: Baolin Wang <baolin.wang7@gmail.com>
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

authored by

Andy Shevchenko and committed by
Wolfram Sang
90224e64 7b8c4c0b

+165 -199
+3 -3
drivers/i2c/busses/i2c-altera.c
··· 147 147 (ALTR_I2C_THRESHOLD << ALTR_I2C_CTRL_TCT_SHFT); 148 148 u32 t_high, t_low; 149 149 150 - if (idev->bus_clk_rate <= 100000) { 150 + if (idev->bus_clk_rate <= I2C_MAX_STANDARD_MODE_FREQ) { 151 151 tmp &= ~ALTR_I2C_CTRL_BSPEED; 152 152 /* Standard mode SCL 50/50 */ 153 153 t_high = divisor * 1 / 2; ··· 423 423 &idev->bus_clk_rate); 424 424 if (val) { 425 425 dev_err(&pdev->dev, "Default to 100kHz\n"); 426 - idev->bus_clk_rate = 100000; /* default clock rate */ 426 + idev->bus_clk_rate = I2C_MAX_STANDARD_MODE_FREQ; /* default clock rate */ 427 427 } 428 428 429 - if (idev->bus_clk_rate > 400000) { 429 + if (idev->bus_clk_rate > I2C_MAX_FAST_MODE_FREQ) { 430 430 dev_err(&pdev->dev, "invalid clock-frequency %d\n", 431 431 idev->bus_clk_rate); 432 432 return -EINVAL;
+16 -11
drivers/i2c/busses/i2c-amd-mp2-plat.c
··· 201 201 } 202 202 #endif 203 203 204 + static const u32 supported_speeds[] = { 205 + I2C_MAX_HIGH_SPEED_MODE_FREQ, 206 + I2C_MAX_TURBO_MODE_FREQ, 207 + I2C_MAX_FAST_MODE_PLUS_FREQ, 208 + I2C_MAX_FAST_MODE_FREQ, 209 + I2C_MAX_STANDARD_MODE_FREQ, 210 + }; 211 + 204 212 static enum speed_enum i2c_amd_get_bus_speed(struct platform_device *pdev) 205 213 { 206 214 u32 acpi_speed; 207 215 int i; 208 - static const u32 supported_speeds[] = { 209 - 0, 100000, 400000, 1000000, 1400000, 3400000 210 - }; 211 216 212 217 acpi_speed = i2c_acpi_find_bus_speed(&pdev->dev); 213 218 /* round down to the lowest standard speed */ 214 - for (i = 1; i < ARRAY_SIZE(supported_speeds); i++) { 215 - if (acpi_speed < supported_speeds[i]) 219 + for (i = 0; i < ARRAY_SIZE(supported_speeds); i++) { 220 + if (acpi_speed >= supported_speeds[i]) 216 221 break; 217 222 } 218 - acpi_speed = supported_speeds[i - 1]; 223 + acpi_speed = i < ARRAY_SIZE(supported_speeds) ? supported_speeds[i] : 0; 219 224 220 225 switch (acpi_speed) { 221 - case 100000: 226 + case I2C_MAX_STANDARD_MODE_FREQ: 222 227 return speed100k; 223 - case 400000: 228 + case I2C_MAX_FAST_MODE_FREQ: 224 229 return speed400k; 225 - case 1000000: 230 + case I2C_MAX_FAST_MODE_PLUS_FREQ: 226 231 return speed1000k; 227 - case 1400000: 232 + case I2C_MAX_TURBO_MODE_FREQ: 228 233 return speed1400k; 229 - case 3400000: 234 + case I2C_MAX_HIGH_SPEED_MODE_FREQ: 230 235 return speed3400k; 231 236 default: 232 237 return speed400k;
+1 -1
drivers/i2c/busses/i2c-aspeed.c
··· 997 997 if (ret < 0) { 998 998 dev_err(&pdev->dev, 999 999 "Could not read bus-frequency property\n"); 1000 - bus->bus_frequency = 100000; 1000 + bus->bus_frequency = I2C_MAX_STANDARD_MODE_FREQ; 1001 1001 } 1002 1002 1003 1003 match = of_match_node(aspeed_i2c_bus_of_table, pdev->dev.of_node);
+2 -2
drivers/i2c/busses/i2c-axxia.c
··· 199 199 /* Enable Master Mode */ 200 200 writel(0x1, idev->base + GLOBAL_CONTROL); 201 201 202 - if (idev->bus_clk_rate <= 100000) { 202 + if (idev->bus_clk_rate <= I2C_MAX_STANDARD_MODE_FREQ) { 203 203 /* Standard mode SCL 50/50, tSU:DAT = 250 ns */ 204 204 t_high = divisor * 1 / 2; 205 205 t_low = divisor * 1 / 2; ··· 765 765 766 766 of_property_read_u32(np, "clock-frequency", &idev->bus_clk_rate); 767 767 if (idev->bus_clk_rate == 0) 768 - idev->bus_clk_rate = 100000; /* default clock rate */ 768 + idev->bus_clk_rate = I2C_MAX_STANDARD_MODE_FREQ; /* default clock rate */ 769 769 770 770 ret = clk_prepare_enable(idev->i2c_clk); 771 771 if (ret) {
+7 -7
drivers/i2c/busses/i2c-bcm-iproc.c
··· 858 858 if (ret < 0) { 859 859 dev_info(iproc_i2c->device, 860 860 "unable to interpret clock-frequency DT property\n"); 861 - bus_speed = 100000; 861 + bus_speed = I2C_MAX_STANDARD_MODE_FREQ; 862 862 } 863 863 864 - if (bus_speed < 100000) { 864 + if (bus_speed < I2C_MAX_STANDARD_MODE_FREQ) { 865 865 dev_err(iproc_i2c->device, "%d Hz bus speed not supported\n", 866 866 bus_speed); 867 867 dev_err(iproc_i2c->device, 868 868 "valid speeds are 100khz and 400khz\n"); 869 869 return -EINVAL; 870 - } else if (bus_speed < 400000) { 871 - bus_speed = 100000; 870 + } else if (bus_speed < I2C_MAX_FAST_MODE_FREQ) { 871 + bus_speed = I2C_MAX_STANDARD_MODE_FREQ; 872 872 } else { 873 - bus_speed = 400000; 873 + bus_speed = I2C_MAX_FAST_MODE_FREQ; 874 874 } 875 875 876 876 iproc_i2c->bus_speed = bus_speed; 877 877 val = iproc_i2c_rd_reg(iproc_i2c, TIM_CFG_OFFSET); 878 878 val &= ~BIT(TIM_CFG_MODE_400_SHIFT); 879 - val |= (bus_speed == 400000) << TIM_CFG_MODE_400_SHIFT; 879 + val |= (bus_speed == I2C_MAX_FAST_MODE_FREQ) << TIM_CFG_MODE_400_SHIFT; 880 880 iproc_i2c_wr_reg(iproc_i2c, TIM_CFG_OFFSET, val); 881 881 882 882 dev_info(iproc_i2c->device, "bus set to %u Hz\n", bus_speed); ··· 1029 1029 /* configure to the desired bus speed */ 1030 1030 val = iproc_i2c_rd_reg(iproc_i2c, TIM_CFG_OFFSET); 1031 1031 val &= ~BIT(TIM_CFG_MODE_400_SHIFT); 1032 - val |= (iproc_i2c->bus_speed == 400000) << TIM_CFG_MODE_400_SHIFT; 1032 + val |= (iproc_i2c->bus_speed == I2C_MAX_FAST_MODE_FREQ) << TIM_CFG_MODE_400_SHIFT; 1033 1033 iproc_i2c_wr_reg(iproc_i2c, TIM_CFG_OFFSET, val); 1034 1034 1035 1035 bcm_iproc_i2c_enable_disable(iproc_i2c, true);
+4 -4
drivers/i2c/busses/i2c-bcm-kona.c
··· 722 722 } 723 723 724 724 switch (bus_speed) { 725 - case 100000: 725 + case I2C_MAX_STANDARD_MODE_FREQ: 726 726 dev->std_cfg = &std_cfg_table[BCM_SPD_100K]; 727 727 break; 728 - case 400000: 728 + case I2C_MAX_FAST_MODE_FREQ: 729 729 dev->std_cfg = &std_cfg_table[BCM_SPD_400K]; 730 730 break; 731 - case 1000000: 731 + case I2C_MAX_FAST_MODE_PLUS_FREQ: 732 732 dev->std_cfg = &std_cfg_table[BCM_SPD_1MHZ]; 733 733 break; 734 - case 3400000: 734 + case I2C_MAX_HIGH_SPEED_MODE_FREQ: 735 735 /* Send mastercode at 100k */ 736 736 dev->std_cfg = &std_cfg_table[BCM_SPD_100K]; 737 737 dev->hs_cfg = &hs_cfg_table[BCM_SPD_3P4MHZ];
+1 -1
drivers/i2c/busses/i2c-bcm2835.c
··· 439 439 if (ret < 0) { 440 440 dev_warn(&pdev->dev, 441 441 "Could not read clock-frequency property\n"); 442 - bus_clk_rate = 100000; 442 + bus_clk_rate = I2C_MAX_STANDARD_MODE_FREQ; 443 443 } 444 444 445 445 ret = clk_set_rate_exclusive(i2c_dev->bus_clk, bus_clk_rate);
+2 -5
drivers/i2c/busses/i2c-cadence.c
··· 104 104 105 105 #define DRIVER_NAME "cdns-i2c" 106 106 107 - #define CDNS_I2C_SPEED_MAX 400000 108 - #define CDNS_I2C_SPEED_DEFAULT 100000 109 - 110 107 #define CDNS_I2C_DIVA_MAX 4 111 108 #define CDNS_I2C_DIVB_MAX 64 112 109 ··· 946 949 947 950 ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency", 948 951 &id->i2c_clk); 949 - if (ret || (id->i2c_clk > CDNS_I2C_SPEED_MAX)) 950 - id->i2c_clk = CDNS_I2C_SPEED_DEFAULT; 952 + if (ret || (id->i2c_clk > I2C_MAX_FAST_MODE_FREQ)) 953 + id->i2c_clk = I2C_MAX_STANDARD_MODE_FREQ; 951 954 952 955 cdns_i2c_writereg(CDNS_I2C_CR_ACK_EN | CDNS_I2C_CR_NEA | CDNS_I2C_CR_MS, 953 956 CDNS_I2C_CR_OFFSET);
+22 -15
drivers/i2c/busses/i2c-designware-platdrv.c
··· 99 99 dw_i2c_acpi_params(pdev, "FMCN", &dev->fs_hcnt, &dev->fs_lcnt, &fs_ht); 100 100 101 101 switch (t->bus_freq_hz) { 102 - case 100000: 102 + case I2C_MAX_STANDARD_MODE_FREQ: 103 103 dev->sda_hold_time = ss_ht; 104 104 break; 105 - case 1000000: 105 + case I2C_MAX_FAST_MODE_PLUS_FREQ: 106 106 dev->sda_hold_time = fp_ht; 107 107 break; 108 - case 3400000: 108 + case I2C_MAX_HIGH_SPEED_MODE_FREQ: 109 109 dev->sda_hold_time = hs_ht; 110 110 break; 111 - case 400000: 111 + case I2C_MAX_FAST_MODE_FREQ: 112 112 default: 113 113 dev->sda_hold_time = fs_ht; 114 114 break; ··· 198 198 dev->mode = DW_IC_MASTER; 199 199 200 200 switch (t->bus_freq_hz) { 201 - case 100000: 201 + case I2C_MAX_STANDARD_MODE_FREQ: 202 202 dev->master_cfg |= DW_IC_CON_SPEED_STD; 203 203 break; 204 - case 3400000: 204 + case I2C_MAX_HIGH_SPEED_MODE_FREQ: 205 205 dev->master_cfg |= DW_IC_CON_SPEED_HIGH; 206 206 break; 207 207 default: ··· 227 227 pm_runtime_put_noidle(dev->dev); 228 228 } 229 229 230 + static const u32 supported_speeds[] = { 231 + I2C_MAX_HIGH_SPEED_MODE_FREQ, 232 + I2C_MAX_FAST_MODE_PLUS_FREQ, 233 + I2C_MAX_FAST_MODE_FREQ, 234 + I2C_MAX_STANDARD_MODE_FREQ, 235 + }; 236 + 230 237 static int dw_i2c_plat_probe(struct platform_device *pdev) 231 238 { 232 239 struct dw_i2c_platform_data *pdata = dev_get_platdata(&pdev->dev); ··· 243 236 u32 acpi_speed; 244 237 struct resource *mem; 245 238 int i, irq, ret; 246 - static const int supported_speeds[] = { 247 - 0, 100000, 400000, 1000000, 3400000 248 - }; 249 239 250 240 irq = platform_get_irq(pdev, 0); 251 241 if (irq < 0) ··· 278 274 * Some DSTDs use a non standard speed, round down to the lowest 279 275 * standard speed. 280 276 */ 281 - for (i = 1; i < ARRAY_SIZE(supported_speeds); i++) { 282 - if (acpi_speed < supported_speeds[i]) 277 + for (i = 0; i < ARRAY_SIZE(supported_speeds); i++) { 278 + if (acpi_speed >= supported_speeds[i]) 283 279 break; 284 280 } 285 - acpi_speed = supported_speeds[i - 1]; 281 + acpi_speed = i < ARRAY_SIZE(supported_speeds) ? supported_speeds[i] : 0; 286 282 287 283 /* 288 284 * Find bus speed from the "clock-frequency" device property, ACPI ··· 293 289 else if (acpi_speed || t->bus_freq_hz) 294 290 t->bus_freq_hz = max(t->bus_freq_hz, acpi_speed); 295 291 else 296 - t->bus_freq_hz = 400000; 292 + t->bus_freq_hz = I2C_MAX_FAST_MODE_FREQ; 297 293 298 294 dev->flags |= (uintptr_t)device_get_match_data(&pdev->dev); 299 295 ··· 307 303 * Only standard mode at 100kHz, fast mode at 400kHz, 308 304 * fast mode plus at 1MHz and high speed mode at 3.4MHz are supported. 309 305 */ 310 - if (t->bus_freq_hz != 100000 && t->bus_freq_hz != 400000 && 311 - t->bus_freq_hz != 1000000 && t->bus_freq_hz != 3400000) { 306 + for (i = 0; i < ARRAY_SIZE(supported_speeds); i++) { 307 + if (t->bus_freq_hz == supported_speeds[i]) 308 + break; 309 + } 310 + if (i == ARRAY_SIZE(supported_speeds)) { 312 311 dev_err(&pdev->dev, 313 312 "%d Hz is unsupported, only 100kHz, 400kHz, 1MHz and 3.4MHz are supported\n", 314 313 t->bus_freq_hz);
+1 -2
drivers/i2c/busses/i2c-digicolor.c
··· 18 18 #include <linux/of.h> 19 19 #include <linux/platform_device.h> 20 20 21 - #define DEFAULT_FREQ 100000 22 21 #define TIMEOUT_MS 100 23 22 24 23 #define II_CONTROL 0x0 ··· 299 300 300 301 if (of_property_read_u32(pdev->dev.of_node, "clock-frequency", 301 302 &i2c->frequency)) 302 - i2c->frequency = DEFAULT_FREQ; 303 + i2c->frequency = I2C_MAX_STANDARD_MODE_FREQ; 303 304 304 305 i2c->dev = &pdev->dev; 305 306 platform_set_drvdata(pdev, i2c);
+5 -7
drivers/i2c/busses/i2c-diolan-u2c.c
··· 64 64 #define U2C_I2C_SPEED_2KHZ 242 /* 2 kHz, minimum speed */ 65 65 #define U2C_I2C_SPEED(f) ((DIV_ROUND_UP(1000000, (f)) - 10) / 2 + 1) 66 66 67 - #define U2C_I2C_FREQ_FAST 400000 68 - #define U2C_I2C_FREQ_STD 100000 69 67 #define U2C_I2C_FREQ(s) (1000000 / (2 * (s - 1) + 10)) 70 68 71 69 #define DIOLAN_USB_TIMEOUT 100 /* in ms */ ··· 85 87 int ocount; /* Number of enqueued messages */ 86 88 }; 87 89 88 - static uint frequency = U2C_I2C_FREQ_STD; /* I2C clock frequency in Hz */ 90 + static uint frequency = I2C_MAX_STANDARD_MODE_FREQ; /* I2C clock frequency in Hz */ 89 91 90 92 module_param(frequency, uint, S_IRUGO | S_IWUSR); 91 93 MODULE_PARM_DESC(frequency, "I2C clock frequency in hertz"); ··· 297 299 { 298 300 int speed, ret; 299 301 300 - if (frequency >= 200000) { 302 + if (frequency >= 2 * I2C_MAX_STANDARD_MODE_FREQ) { 301 303 speed = U2C_I2C_SPEED_FAST; 302 - frequency = U2C_I2C_FREQ_FAST; 303 - } else if (frequency >= 100000 || frequency == 0) { 304 + frequency = I2C_MAX_FAST_MODE_FREQ; 305 + } else if (frequency >= I2C_MAX_STANDARD_MODE_FREQ || frequency == 0) { 304 306 speed = U2C_I2C_SPEED_STD; 305 - frequency = U2C_I2C_FREQ_STD; 307 + frequency = I2C_MAX_STANDARD_MODE_FREQ; 306 308 } else { 307 309 speed = U2C_I2C_SPEED(frequency); 308 310 if (speed > U2C_I2C_SPEED_2KHZ)
+1 -1
drivers/i2c/busses/i2c-efm32.c
··· 388 388 if (!ret) { 389 389 dev_dbg(&pdev->dev, "using frequency %u\n", frequency); 390 390 } else { 391 - frequency = 100000; 391 + frequency = I2C_MAX_STANDARD_MODE_FREQ; 392 392 dev_info(&pdev->dev, "defaulting to 100 kHz\n"); 393 393 } 394 394 ddata->frequency = frequency;
+7 -11
drivers/i2c/busses/i2c-exynos5.c
··· 164 164 #define HSI2C_MASTER_ID(x) ((x & 0xff) << 24) 165 165 #define MASTER_ID(x) ((x & 0x7) + 0x08) 166 166 167 - /* 168 - * Controller operating frequency, timing values for operation 169 - * are calculated against this frequency 170 - */ 171 - #define HSI2C_HS_TX_CLOCK 1000000 172 - #define HSI2C_FS_TX_CLOCK 100000 173 - 174 167 #define EXYNOS5_I2C_TIMEOUT (msecs_to_jiffies(100)) 175 168 176 169 enum i2c_type_exynos { ··· 257 264 * exynos5_i2c_set_timing: updates the registers with appropriate 258 265 * timing values calculated 259 266 * 267 + * Timing values for operation are calculated against either 100kHz 268 + * or 1MHz controller operating frequency. 269 + * 260 270 * Returns 0 on success, -EINVAL if the cycle length cannot 261 271 * be calculated. 262 272 */ ··· 277 281 unsigned int t_ftl_cycle; 278 282 unsigned int clkin = clk_get_rate(i2c->clk); 279 283 unsigned int op_clk = hs_timings ? i2c->op_clock : 280 - (i2c->op_clock >= HSI2C_HS_TX_CLOCK) ? HSI2C_FS_TX_CLOCK : 284 + (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) ? I2C_MAX_STANDARD_MODE_FREQ : 281 285 i2c->op_clock; 282 286 int div, clk_cycle, temp; 283 287 ··· 349 353 /* always set Fast Speed timings */ 350 354 int ret = exynos5_i2c_set_timing(i2c, false); 351 355 352 - if (ret < 0 || i2c->op_clock < HSI2C_HS_TX_CLOCK) 356 + if (ret < 0 || i2c->op_clock < I2C_MAX_FAST_MODE_PLUS_FREQ) 353 357 return ret; 354 358 355 359 return exynos5_i2c_set_timing(i2c, true); ··· 372 376 i2c->regs + HSI2C_CTL); 373 377 writel(HSI2C_TRAILING_COUNT, i2c->regs + HSI2C_TRAILIG_CTL); 374 378 375 - if (i2c->op_clock >= HSI2C_HS_TX_CLOCK) { 379 + if (i2c->op_clock >= I2C_MAX_FAST_MODE_PLUS_FREQ) { 376 380 writel(HSI2C_MASTER_ID(MASTER_ID(i2c->adap.nr)), 377 381 i2c->regs + HSI2C_ADDR); 378 382 i2c_conf |= HSI2C_HS_MODE; ··· 744 748 return -ENOMEM; 745 749 746 750 if (of_property_read_u32(np, "clock-frequency", &i2c->op_clock)) 747 - i2c->op_clock = HSI2C_FS_TX_CLOCK; 751 + i2c->op_clock = I2C_MAX_STANDARD_MODE_FREQ; 748 752 749 753 strlcpy(i2c->adap.name, "exynos5-i2c", sizeof(i2c->adap.name)); 750 754 i2c->adap.owner = THIS_MODULE;
+4 -6
drivers/i2c/busses/i2c-hix5hd2.c
··· 68 68 #define I2C_ARBITRATE_INTR BIT(1) 69 69 #define I2C_OVER_INTR BIT(0) 70 70 71 - #define HIX5I2C_MAX_FREQ 400000 /* 400k */ 72 - 73 71 enum hix5hd2_i2c_state { 74 72 HIX5I2C_STAT_RW_ERR = -1, 75 73 HIX5I2C_STAT_INIT, ··· 398 400 399 401 if (of_property_read_u32(np, "clock-frequency", &freq)) { 400 402 /* use 100k as default value */ 401 - priv->freq = 100000; 403 + priv->freq = I2C_MAX_STANDARD_MODE_FREQ; 402 404 } else { 403 - if (freq > HIX5I2C_MAX_FREQ) { 404 - priv->freq = HIX5I2C_MAX_FREQ; 405 + if (freq > I2C_MAX_FAST_MODE_FREQ) { 406 + priv->freq = I2C_MAX_FAST_MODE_FREQ; 405 407 dev_warn(priv->dev, "use max freq %d instead\n", 406 - HIX5I2C_MAX_FREQ); 408 + I2C_MAX_FAST_MODE_FREQ); 407 409 } else { 408 410 priv->freq = freq; 409 411 }
+2 -2
drivers/i2c/busses/i2c-img-scb.c
··· 304 304 /* Standard mode */ 305 305 { 306 306 .name = "standard", 307 - .max_bitrate = 100000, 307 + .max_bitrate = I2C_MAX_STANDARD_MODE_FREQ, 308 308 .tckh = 4000, 309 309 .tckl = 4700, 310 310 .tsdh = 4700, ··· 316 316 /* Fast mode */ 317 317 { 318 318 .name = "fast", 319 - .max_bitrate = 400000, 319 + .max_bitrate = I2C_MAX_FAST_MODE_FREQ, 320 320 .tckh = 600, 321 321 .tckl = 1300, 322 322 .tsdh = 600,
+5 -11
drivers/i2c/busses/i2c-imx-lpi2c.c
··· 75 75 #define I2C_CLK_RATIO 2 76 76 #define CHUNK_DATA 256 77 77 78 - #define LPI2C_DEFAULT_RATE 100000 79 - #define STARDARD_MAX_BITRATE 400000 80 - #define FAST_MAX_BITRATE 1000000 81 - #define FAST_PLUS_MAX_BITRATE 3400000 82 - #define HIGHSPEED_MAX_BITRATE 5000000 83 - 84 78 #define I2C_PM_TIMEOUT 10 /* ms */ 85 79 86 80 enum lpi2c_imx_mode { ··· 146 152 unsigned int bitrate = lpi2c_imx->bitrate; 147 153 enum lpi2c_imx_mode mode; 148 154 149 - if (bitrate < STARDARD_MAX_BITRATE) 155 + if (bitrate < I2C_MAX_FAST_MODE_FREQ) 150 156 mode = STANDARD; 151 - else if (bitrate < FAST_MAX_BITRATE) 157 + else if (bitrate < I2C_MAX_FAST_MODE_PLUS_FREQ) 152 158 mode = FAST; 153 - else if (bitrate < FAST_PLUS_MAX_BITRATE) 159 + else if (bitrate < I2C_MAX_HIGH_SPEED_MODE_FREQ) 154 160 mode = FAST_PLUS; 155 - else if (bitrate < HIGHSPEED_MAX_BITRATE) 161 + else if (bitrate < I2C_MAX_ULTRA_FAST_MODE_FREQ) 156 162 mode = HS; 157 163 else 158 164 mode = ULTRA_FAST; ··· 572 578 ret = of_property_read_u32(pdev->dev.of_node, 573 579 "clock-frequency", &lpi2c_imx->bitrate); 574 580 if (ret) 575 - lpi2c_imx->bitrate = LPI2C_DEFAULT_RATE; 581 + lpi2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ; 576 582 577 583 ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0, 578 584 pdev->name, lpi2c_imx);
+1 -4
drivers/i2c/busses/i2c-imx.c
··· 50 50 /* This will be the driver name the kernel reports */ 51 51 #define DRIVER_NAME "imx-i2c" 52 52 53 - /* Default value */ 54 - #define IMX_I2C_BIT_RATE 100000 /* 100kHz */ 55 - 56 53 /* 57 54 * Enable DMA if transfer byte size is bigger than this threshold. 58 55 * As the hardware request, it must bigger than 4 bytes.\ ··· 1198 1201 goto rpm_disable; 1199 1202 1200 1203 /* Set up clock divider */ 1201 - i2c_imx->bitrate = IMX_I2C_BIT_RATE; 1204 + i2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ; 1202 1205 ret = of_property_read_u32(pdev->dev.of_node, 1203 1206 "clock-frequency", &i2c_imx->bitrate); 1204 1207 if (ret < 0 && pdata && pdata->bitrate)
+3 -3
drivers/i2c/busses/i2c-lpc2k.c
··· 396 396 ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency", 397 397 &bus_clk_rate); 398 398 if (ret) 399 - bus_clk_rate = 100000; /* 100 kHz default clock rate */ 399 + bus_clk_rate = I2C_MAX_STANDARD_MODE_FREQ; 400 400 401 401 clkrate = clk_get_rate(i2c->clk); 402 402 if (clkrate == 0) { ··· 407 407 408 408 /* Setup I2C dividers to generate clock with proper duty cycle */ 409 409 clkrate = clkrate / bus_clk_rate; 410 - if (bus_clk_rate <= 100000) 410 + if (bus_clk_rate <= I2C_MAX_STANDARD_MODE_FREQ) 411 411 scl_high = (clkrate * I2C_STD_MODE_DUTY) / 100; 412 - else if (bus_clk_rate <= 400000) 412 + else if (bus_clk_rate <= I2C_MAX_FAST_MODE_FREQ) 413 413 scl_high = (clkrate * I2C_FAST_MODE_DUTY) / 100; 414 414 else 415 415 scl_high = (clkrate * I2C_FAST_MODE_PLUS_DUTY) / 100;
+9 -12
drivers/i2c/busses/i2c-mt65xx.c
··· 56 56 #define I2C_DMA_4G_MODE 0x0001 57 57 58 58 #define I2C_DEFAULT_CLK_DIV 5 59 - #define I2C_DEFAULT_SPEED 100000 /* hz */ 60 - #define MAX_FS_MODE_SPEED 400000 61 - #define MAX_HS_MODE_SPEED 3400000 62 59 #define MAX_SAMPLE_CNT_DIV 8 63 60 #define MAX_STEP_CNT_DIV 64 64 61 #define MAX_HS_STEP_CNT_DIV 8 ··· 447 450 unsigned int best_mul; 448 451 unsigned int cnt_mul; 449 452 450 - if (target_speed > MAX_HS_MODE_SPEED) 451 - target_speed = MAX_HS_MODE_SPEED; 453 + if (target_speed > I2C_MAX_FAST_MODE_PLUS_FREQ) 454 + target_speed = I2C_MAX_FAST_MODE_PLUS_FREQ; 452 455 453 - if (target_speed > MAX_FS_MODE_SPEED) 456 + if (target_speed > I2C_MAX_FAST_MODE_FREQ) 454 457 max_step_cnt = MAX_HS_STEP_CNT_DIV; 455 458 else 456 459 max_step_cnt = MAX_STEP_CNT_DIV; ··· 511 514 clk_src = parent_clk / i2c->clk_src_div; 512 515 target_speed = i2c->speed_hz; 513 516 514 - if (target_speed > MAX_FS_MODE_SPEED) { 517 + if (target_speed > I2C_MAX_FAST_MODE_FREQ) { 515 518 /* Set master code speed register */ 516 - ret = mtk_i2c_calculate_speed(i2c, clk_src, MAX_FS_MODE_SPEED, 519 + ret = mtk_i2c_calculate_speed(i2c, clk_src, I2C_MAX_FAST_MODE_FREQ, 517 520 &l_step_cnt, &l_sample_cnt); 518 521 if (ret < 0) 519 522 return ret; ··· 578 581 579 582 control_reg = mtk_i2c_readw(i2c, OFFSET_CONTROL) & 580 583 ~(I2C_CONTROL_DIR_CHANGE | I2C_CONTROL_RS); 581 - if ((i2c->speed_hz > MAX_FS_MODE_SPEED) || (left_num >= 1)) 584 + if ((i2c->speed_hz > I2C_MAX_FAST_MODE_FREQ) || (left_num >= 1)) 582 585 control_reg |= I2C_CONTROL_RS; 583 586 584 587 if (i2c->op == I2C_MASTER_WRRD) ··· 587 590 mtk_i2c_writew(i2c, control_reg, OFFSET_CONTROL); 588 591 589 592 /* set start condition */ 590 - if (i2c->speed_hz <= I2C_DEFAULT_SPEED) 593 + if (i2c->speed_hz <= I2C_MAX_STANDARD_MODE_FREQ) 591 594 mtk_i2c_writew(i2c, I2C_ST_START_CON, OFFSET_EXT_CONF); 592 595 else 593 596 mtk_i2c_writew(i2c, I2C_FS_START_CON, OFFSET_EXT_CONF); ··· 795 798 } 796 799 } 797 800 798 - if (i2c->auto_restart && num >= 2 && i2c->speed_hz > MAX_FS_MODE_SPEED) 801 + if (i2c->auto_restart && num >= 2 && i2c->speed_hz > I2C_MAX_FAST_MODE_FREQ) 799 802 /* ignore the first restart irq after the master code, 800 803 * otherwise the first transfer will be discarded. 801 804 */ ··· 890 893 891 894 ret = of_property_read_u32(np, "clock-frequency", &i2c->speed_hz); 892 895 if (ret < 0) 893 - i2c->speed_hz = I2C_DEFAULT_SPEED; 896 + i2c->speed_hz = I2C_MAX_STANDARD_MODE_FREQ; 894 897 895 898 ret = of_property_read_u32(np, "clock-div", &i2c->clk_src_div); 896 899 if (ret < 0)
+1 -1
drivers/i2c/busses/i2c-mt7621.c
··· 300 300 301 301 if (of_property_read_u32(pdev->dev.of_node, "clock-frequency", 302 302 &i2c->bus_freq)) 303 - i2c->bus_freq = 100000; 303 + i2c->bus_freq = I2C_MAX_STANDARD_MODE_FREQ; 304 304 305 305 if (i2c->bus_freq == 0) { 306 306 dev_warn(i2c->dev, "clock-frequency 0 not supported\n");
+3 -3
drivers/i2c/busses/i2c-mv64xxx.c
··· 810 810 tclk = clk_get_rate(drv_data->clk); 811 811 812 812 if (of_property_read_u32(np, "clock-frequency", &bus_freq)) 813 - bus_freq = 100000; /* 100kHz by default */ 813 + bus_freq = I2C_MAX_STANDARD_MODE_FREQ; /* 100kHz by default */ 814 814 815 815 if (of_device_is_compatible(np, "allwinner,sun4i-a10-i2c") || 816 816 of_device_is_compatible(np, "allwinner,sun6i-a31-i2c")) ··· 846 846 if (of_device_is_compatible(np, "marvell,mv78230-i2c")) { 847 847 drv_data->offload_enabled = true; 848 848 /* The delay is only needed in standard mode (100kHz) */ 849 - if (bus_freq <= 100000) 849 + if (bus_freq <= I2C_MAX_STANDARD_MODE_FREQ) 850 850 drv_data->errata_delay = true; 851 851 } 852 852 853 853 if (of_device_is_compatible(np, "marvell,mv78230-a0-i2c")) { 854 854 drv_data->offload_enabled = false; 855 855 /* The delay is only needed in standard mode (100kHz) */ 856 - if (bus_freq <= 100000) 856 + if (bus_freq <= I2C_MAX_STANDARD_MODE_FREQ) 857 857 drv_data->errata_delay = true; 858 858 } 859 859
+2 -2
drivers/i2c/busses/i2c-mxs.c
··· 731 731 * This is compensated for by subtracting the respective constants 732 732 * from the values written to the timing registers. 733 733 */ 734 - if (speed > 100000) { 734 + if (speed > I2C_MAX_STANDARD_MODE_FREQ) { 735 735 /* fast mode */ 736 736 low_count = DIV_ROUND_CLOSEST(divider * 13, (13 + 6)); 737 737 high_count = DIV_ROUND_CLOSEST(divider * 6, (13 + 6)); ··· 769 769 ret = of_property_read_u32(node, "clock-frequency", &speed); 770 770 if (ret) { 771 771 dev_warn(dev, "No I2C speed selected, using 100kHz\n"); 772 - speed = 100000; 772 + speed = I2C_MAX_STANDARD_MODE_FREQ; 773 773 } 774 774 775 775 mxs_i2c_derive_timing(i2c, speed);
+4 -4
drivers/i2c/busses/i2c-nomadik.c
··· 396 396 * 2 whereas it is 3 for fast and fastplus mode of 397 397 * operation. TODO - high speed support. 398 398 */ 399 - div = (dev->clk_freq > 100000) ? 3 : 2; 399 + div = (dev->clk_freq > I2C_MAX_STANDARD_MODE_FREQ) ? 3 : 2; 400 400 401 401 /* 402 402 * generate the mask for baud rate counters. The controller ··· 420 420 if (dev->sm > I2C_FREQ_MODE_FAST) { 421 421 dev_err(&dev->adev->dev, 422 422 "do not support this mode defaulting to std. mode\n"); 423 - brcr2 = i2c_clk/(100000 * 2) & 0xffff; 423 + brcr2 = i2c_clk / (I2C_MAX_STANDARD_MODE_FREQ * 2) & 0xffff; 424 424 writel((brcr1 | brcr2), dev->virtbase + I2C_BRCR); 425 425 writel(I2C_FREQ_MODE_STANDARD << 4, 426 426 dev->virtbase + I2C_CR); ··· 949 949 { 950 950 /* Default to 100 kHz if no frequency is given in the node */ 951 951 if (of_property_read_u32(np, "clock-frequency", &nmk->clk_freq)) 952 - nmk->clk_freq = 100000; 952 + nmk->clk_freq = I2C_MAX_STANDARD_MODE_FREQ; 953 953 954 954 /* This driver only supports 'standard' and 'fast' modes of operation. */ 955 - if (nmk->clk_freq <= 100000) 955 + if (nmk->clk_freq <= I2C_MAX_STANDARD_MODE_FREQ) 956 956 nmk->sm = I2C_FREQ_MODE_STANDARD; 957 957 else 958 958 nmk->sm = I2C_FREQ_MODE_FAST;
+1 -1
drivers/i2c/busses/i2c-omap.c
··· 1380 1380 1381 1381 match = of_match_device(of_match_ptr(omap_i2c_of_match), &pdev->dev); 1382 1382 if (match) { 1383 - u32 freq = 100000; /* default to 100000 Hz */ 1383 + u32 freq = I2C_MAX_STANDARD_MODE_FREQ; 1384 1384 1385 1385 pdata = match->data; 1386 1386 omap->flags = pdata->flags;
+3 -6
drivers/i2c/busses/i2c-owl.c
··· 87 87 88 88 #define OWL_I2C_MAX_RETRIES 50 89 89 90 - #define OWL_I2C_DEF_SPEED_HZ 100000 91 - #define OWL_I2C_MAX_SPEED_HZ 400000 92 - 93 90 struct owl_i2c_dev { 94 91 struct i2c_adapter adap; 95 92 struct i2c_msg *msg; ··· 416 419 417 420 if (of_property_read_u32(dev->of_node, "clock-frequency", 418 421 &i2c_dev->bus_freq)) 419 - i2c_dev->bus_freq = OWL_I2C_DEF_SPEED_HZ; 422 + i2c_dev->bus_freq = I2C_MAX_STANDARD_MODE_FREQ; 420 423 421 424 /* We support only frequencies of 100k and 400k for now */ 422 - if (i2c_dev->bus_freq != OWL_I2C_DEF_SPEED_HZ && 423 - i2c_dev->bus_freq != OWL_I2C_MAX_SPEED_HZ) { 425 + if (i2c_dev->bus_freq != I2C_MAX_STANDARD_MODE_FREQ && 426 + i2c_dev->bus_freq != I2C_MAX_FAST_MODE_FREQ) { 424 427 dev_err(dev, "invalid clock-frequency %d\n", i2c_dev->bus_freq); 425 428 return -EINVAL; 426 429 }
+3 -8
drivers/i2c/busses/i2c-qup.c
··· 136 136 */ 137 137 #define TOUT_MIN 2 138 138 139 - /* I2C Frequency Modes */ 140 - #define I2C_STANDARD_FREQ 100000 141 - #define I2C_FAST_MODE_FREQ 400000 142 - #define I2C_FAST_MODE_PLUS_FREQ 1000000 143 - 144 139 /* Default values. Use these if FW query fails */ 145 - #define DEFAULT_CLK_FREQ I2C_STANDARD_FREQ 140 + #define DEFAULT_CLK_FREQ I2C_MAX_STANDARD_MODE_FREQ 146 141 #define DEFAULT_SRC_CLK 20000000 147 142 148 143 /* ··· 1751 1756 1752 1757 nodma: 1753 1758 /* We support frequencies up to FAST Mode Plus (1MHz) */ 1754 - if (!clk_freq || clk_freq > I2C_FAST_MODE_PLUS_FREQ) { 1759 + if (!clk_freq || clk_freq > I2C_MAX_FAST_MODE_PLUS_FREQ) { 1755 1760 dev_err(qup->dev, "clock frequency not supported %d\n", 1756 1761 clk_freq); 1757 1762 return -EINVAL; ··· 1856 1861 qup->in_fifo_sz = qup->in_blk_sz * (2 << size); 1857 1862 1858 1863 hs_div = 3; 1859 - if (clk_freq <= I2C_STANDARD_FREQ) { 1864 + if (clk_freq <= I2C_MAX_STANDARD_MODE_FREQ) { 1860 1865 fs_div = ((src_clk_freq / clk_freq) / 2) - 3; 1861 1866 qup->clk_ctl = (hs_div << 8) | (fs_div & 0xff); 1862 1867 } else {
+3 -3
drivers/i2c/busses/i2c-riic.c
··· 287 287 288 288 pm_runtime_get_sync(riic->adapter.dev.parent); 289 289 290 - if (t->bus_freq_hz > 400000) { 290 + if (t->bus_freq_hz > I2C_MAX_FAST_MODE_FREQ) { 291 291 dev_err(&riic->adapter.dev, 292 - "unsupported bus speed (%dHz). 400000 max\n", 293 - t->bus_freq_hz); 292 + "unsupported bus speed (%dHz). %d max\n", 293 + t->bus_freq_hz, I2C_MAX_FAST_MODE_FREQ); 294 294 ret = -EINVAL; 295 295 goto out; 296 296 }
+6 -6
drivers/i2c/busses/i2c-rk3x.c
··· 539 539 */ 540 540 static const struct i2c_spec_values *rk3x_i2c_get_spec(unsigned int speed) 541 541 { 542 - if (speed <= 100000) 542 + if (speed <= I2C_MAX_STANDARD_MODE_FREQ) 543 543 return &standard_mode_spec; 544 - else if (speed <= 400000) 544 + else if (speed <= I2C_MAX_FAST_MODE_FREQ) 545 545 return &fast_mode_spec; 546 546 else 547 547 return &fast_mode_plus_spec; ··· 578 578 int ret = 0; 579 579 580 580 /* Only support standard-mode and fast-mode */ 581 - if (WARN_ON(t->bus_freq_hz > 400000)) 582 - t->bus_freq_hz = 400000; 581 + if (WARN_ON(t->bus_freq_hz > I2C_MAX_FAST_MODE_FREQ)) 582 + t->bus_freq_hz = I2C_MAX_FAST_MODE_FREQ; 583 583 584 584 /* prevent scl_rate_khz from becoming 0 */ 585 585 if (WARN_ON(t->bus_freq_hz < 1000)) ··· 758 758 int ret = 0; 759 759 760 760 /* Support standard-mode, fast-mode and fast-mode plus */ 761 - if (WARN_ON(t->bus_freq_hz > 1000000)) 762 - t->bus_freq_hz = 1000000; 761 + if (WARN_ON(t->bus_freq_hz > I2C_MAX_FAST_MODE_PLUS_FREQ)) 762 + t->bus_freq_hz = I2C_MAX_FAST_MODE_PLUS_FREQ; 763 763 764 764 /* prevent scl_rate_khz from becoming 0 */ 765 765 if (WARN_ON(t->bus_freq_hz < 1000))
+2 -2
drivers/i2c/busses/i2c-s3c2410.c
··· 835 835 int freq; 836 836 837 837 i2c->clkrate = clkin; 838 - clkin /= 1000; /* clkin now in KHz */ 838 + clkin /= 1000; /* clkin now in KHz */ 839 839 840 840 dev_dbg(i2c->dev, "pdata desired frequency %lu\n", pdata->frequency); 841 841 842 - target_frequency = pdata->frequency ? pdata->frequency : 100000; 842 + target_frequency = pdata->frequency ?: I2C_MAX_STANDARD_MODE_FREQ; 843 843 844 844 target_frequency /= 1000; /* Target frequency now in KHz */ 845 845
+3 -6
drivers/i2c/busses/i2c-sh_mobile.c
··· 145 145 146 146 #define IIC_FLAG_HAS_ICIC67 (1 << 0) 147 147 148 - #define STANDARD_MODE 100000 149 - #define FAST_MODE 400000 150 - 151 148 /* Register offsets */ 152 149 #define ICDR 0x00 153 150 #define ICCR 0x04 ··· 267 270 268 271 i2c_clk_khz = clk_get_rate(pd->clk) / 1000 / pd->clks_per_count; 269 272 270 - if (pd->bus_speed == STANDARD_MODE) { 273 + if (pd->bus_speed == I2C_MAX_STANDARD_MODE_FREQ) { 271 274 tLOW = 47; /* tLOW = 4.7 us */ 272 275 tHIGH = 40; /* tHD;STA = tHIGH = 4.0 us */ 273 276 tf = 3; /* tf = 0.3 us */ 274 - } else if (pd->bus_speed == FAST_MODE) { 277 + } else if (pd->bus_speed == I2C_MAX_FAST_MODE_FREQ) { 275 278 tLOW = 13; /* tLOW = 1.3 us */ 276 279 tHIGH = 6; /* tHD;STA = tHIGH = 0.6 us */ 277 280 tf = 3; /* tf = 0.3 us */ ··· 848 851 return PTR_ERR(pd->reg); 849 852 850 853 ret = of_property_read_u32(dev->dev.of_node, "clock-frequency", &bus_speed); 851 - pd->bus_speed = (ret || !bus_speed) ? STANDARD_MODE : bus_speed; 854 + pd->bus_speed = (ret || !bus_speed) ? I2C_MAX_STANDARD_MODE_FREQ : bus_speed; 852 855 pd->clks_per_count = 1; 853 856 854 857 /* Newer variants come with two new bits in ICIC */
+1 -2
drivers/i2c/busses/i2c-sirf.c
··· 62 62 #define SIRFSOC_I2C_STOP BIT(6) 63 63 #define SIRFSOC_I2C_START BIT(7) 64 64 65 - #define SIRFSOC_I2C_DEFAULT_SPEED 100000 66 65 #define SIRFSOC_I2C_ERR_NOACK 1 67 66 #define SIRFSOC_I2C_ERR_TIMEOUT 2 68 67 ··· 352 353 err = of_property_read_u32(pdev->dev.of_node, 353 354 "clock-frequency", &bitrate); 354 355 if (err < 0) 355 - bitrate = SIRFSOC_I2C_DEFAULT_SPEED; 356 + bitrate = I2C_MAX_STANDARD_MODE_FREQ; 356 357 357 358 /* 358 359 * Due to some hardware design issues, we need to tune the formula.
+5 -4
drivers/i2c/busses/i2c-sprd.c
··· 337 337 writel(div1, i2c_dev->base + ADDR_DVD1); 338 338 339 339 /* Start hold timing = hold time(us) * source clock */ 340 - if (freq == 400000) 340 + if (freq == I2C_MAX_FAST_MODE_FREQ) 341 341 writel((6 * apb_clk) / 10000000, i2c_dev->base + ADDR_STA0_DVD); 342 - else if (freq == 100000) 342 + else if (freq == I2C_MAX_STANDARD_MODE_FREQ) 343 343 writel((4 * apb_clk) / 1000000, i2c_dev->base + ADDR_STA0_DVD); 344 344 } 345 345 ··· 502 502 snprintf(i2c_dev->adap.name, sizeof(i2c_dev->adap.name), 503 503 "%s", "sprd-i2c"); 504 504 505 - i2c_dev->bus_freq = 100000; 505 + i2c_dev->bus_freq = I2C_MAX_STANDARD_MODE_FREQ; 506 506 i2c_dev->adap.owner = THIS_MODULE; 507 507 i2c_dev->dev = dev; 508 508 i2c_dev->adap.retries = 3; ··· 516 516 i2c_dev->bus_freq = prop; 517 517 518 518 /* We only support 100k and 400k now, otherwise will return error. */ 519 - if (i2c_dev->bus_freq != 100000 && i2c_dev->bus_freq != 400000) 519 + if (i2c_dev->bus_freq != I2C_MAX_STANDARD_MODE_FREQ && 520 + i2c_dev->bus_freq != I2C_MAX_FAST_MODE_FREQ) 520 521 return -EINVAL; 521 522 522 523 ret = sprd_i2c_clk_init(i2c_dev);
+3 -3
drivers/i2c/busses/i2c-st.c
··· 213 213 */ 214 214 static struct st_i2c_timings i2c_timings[] = { 215 215 [I2C_MODE_STANDARD] = { 216 - .rate = 100000, 216 + .rate = I2C_MAX_STANDARD_MODE_FREQ, 217 217 .rep_start_hold = 4400, 218 218 .rep_start_setup = 5170, 219 219 .start_hold = 4400, ··· 222 222 .bus_free_time = 5170, 223 223 }, 224 224 [I2C_MODE_FAST] = { 225 - .rate = 400000, 225 + .rate = I2C_MAX_FAST_MODE_FREQ, 226 226 .rep_start_hold = 660, 227 227 .rep_start_setup = 660, 228 228 .start_hold = 660, ··· 835 835 836 836 i2c_dev->mode = I2C_MODE_STANDARD; 837 837 ret = of_property_read_u32(np, "clock-frequency", &clk_rate); 838 - if ((!ret) && (clk_rate == 400000)) 838 + if (!ret && (clk_rate == I2C_MAX_FAST_MODE_FREQ)) 839 839 i2c_dev->mode = I2C_MODE_FAST; 840 840 841 841 i2c_dev->dev = &pdev->dev;
+5 -5
drivers/i2c/busses/i2c-stm32f4.c
··· 232 232 * In standard mode: 233 233 * t_scl_high = t_scl_low = CCR * I2C parent clk period 234 234 * So to reach 100 kHz, we have: 235 - * CCR = I2C parent rate / 100 kHz >> 1 235 + * CCR = I2C parent rate / (100 kHz * 2) 236 236 * 237 237 * For example with parent rate = 2 MHz: 238 - * CCR = 2000000 / (100000 << 1) = 10 238 + * CCR = 2000000 / (100000 * 2) = 10 239 239 * t_scl_high = t_scl_low = 10 * (1 / 2000000) = 5000 ns 240 240 * t_scl_high + t_scl_low = 10000 ns so 100 kHz is reached 241 241 * ··· 243 243 * parent rate is not higher than 46 MHz . As a result val 244 244 * is at most 8 bits wide and so fits into the CCR bits [11:0]. 245 245 */ 246 - val = i2c_dev->parent_rate / (100000 << 1); 246 + val = i2c_dev->parent_rate / (I2C_MAX_STANDARD_MODE_FREQ * 2); 247 247 } else { 248 248 /* 249 249 * In fast mode, we compute CCR with duty = 0 as with low ··· 263 263 * parent rate is not higher than 46 MHz . As a result val 264 264 * is at most 6 bits wide and so fits into the CCR bits [11:0]. 265 265 */ 266 - val = DIV_ROUND_UP(i2c_dev->parent_rate, 400000 * 3); 266 + val = DIV_ROUND_UP(i2c_dev->parent_rate, I2C_MAX_FAST_MODE_FREQ * 3); 267 267 268 268 /* Select Fast mode */ 269 269 ccr |= STM32F4_I2C_CCR_FS; ··· 807 807 808 808 i2c_dev->speed = STM32_I2C_SPEED_STANDARD; 809 809 ret = of_property_read_u32(np, "clock-frequency", &clk_rate); 810 - if (!ret && clk_rate >= 400000) 810 + if (!ret && clk_rate >= I2C_MAX_FAST_MODE_FREQ) 811 811 i2c_dev->speed = STM32_I2C_SPEED_FAST; 812 812 813 813 i2c_dev->dev = &pdev->dev;
+3 -3
drivers/i2c/busses/i2c-stu300.c
··· 132 132 #define NUM_ADDR_RESEND_ATTEMPTS 12 133 133 134 134 /* I2C clock speed, in Hz 0-400kHz*/ 135 - static unsigned int scl_frequency = 100000; 135 + static unsigned int scl_frequency = I2C_MAX_STANDARD_MODE_FREQ; 136 136 module_param(scl_frequency, uint, 0644); 137 137 138 138 /** ··· 497 497 dev_dbg(&dev->pdev->dev, "Clock rate %lu Hz, I2C bus speed %d Hz " 498 498 "virtbase %p\n", clkrate, dev->speed, dev->virtbase); 499 499 500 - if (dev->speed > 100000) 500 + if (dev->speed > I2C_MAX_STANDARD_MODE_FREQ) 501 501 /* Fast Mode I2C */ 502 502 val = ((clkrate/dev->speed) - 9)/3 + 1; 503 503 else ··· 518 518 return -EINVAL; 519 519 } 520 520 521 - if (dev->speed > 100000) { 521 + if (dev->speed > I2C_MAX_STANDARD_MODE_FREQ) { 522 522 /* CC6..CC0 */ 523 523 stu300_wr8((val & I2C_CCR_CC_MASK) | I2C_CCR_FMSM, 524 524 dev->virtbase + I2C_CCR);
+1 -1
drivers/i2c/busses/i2c-sun6i-p2wi.c
··· 186 186 struct device_node *np = dev->of_node; 187 187 struct device_node *childnp; 188 188 unsigned long parent_clk_freq; 189 - u32 clk_freq = 100000; 189 + u32 clk_freq = I2C_MAX_STANDARD_MODE_FREQ; 190 190 struct resource *r; 191 191 struct p2wi *p2wi; 192 192 u32 slave_addr;
+3 -3
drivers/i2c/busses/i2c-synquacer.c
··· 67 67 68 68 /* STANDARD MODE frequency */ 69 69 #define SYNQUACER_I2C_CLK_MASTER_STD(rate) \ 70 - DIV_ROUND_UP(DIV_ROUND_UP((rate), 100000) - 2, 2) 70 + DIV_ROUND_UP(DIV_ROUND_UP((rate), I2C_MAX_STANDARD_MODE_FREQ) - 2, 2) 71 71 /* FAST MODE frequency */ 72 72 #define SYNQUACER_I2C_CLK_MASTER_FAST(rate) \ 73 - DIV_ROUND_UP((DIV_ROUND_UP((rate), 400000) - 2) * 2, 3) 73 + DIV_ROUND_UP((DIV_ROUND_UP((rate), I2C_MAX_FAST_MODE_FREQ) - 2) * 2, 3) 74 74 75 75 /* (clkrate <= 18000000) */ 76 76 /* calculate the value of CS bits in CCR register on standard mode */ ··· 602 602 i2c->adapter.nr = pdev->id; 603 603 init_completion(&i2c->completion); 604 604 605 - if (bus_speed < 400000) 605 + if (bus_speed < I2C_MAX_FAST_MODE_FREQ) 606 606 i2c->speed_khz = SYNQUACER_I2C_SPEED_SM; 607 607 else 608 608 i2c->speed_khz = SYNQUACER_I2C_SPEED_FM;
+7 -11
drivers/i2c/busses/i2c-tegra.c
··· 123 123 #define I2C_THIGH_SHIFT 8 124 124 #define I2C_INTERFACE_TIMING_1 0x98 125 125 126 - #define I2C_STANDARD_MODE 100000 127 - #define I2C_FAST_MODE 400000 128 - #define I2C_FAST_PLUS_MODE 1000000 129 - 130 126 /* Packet header size in bytes */ 131 127 #define I2C_PACKET_HEADER_SIZE 12 132 128 ··· 733 737 I2C_CLK_DIVISOR_STD_FAST_MODE_SHIFT; 734 738 i2c_writel(i2c_dev, clk_divisor, I2C_CLK_DIVISOR); 735 739 736 - if (i2c_dev->bus_clk_rate > I2C_STANDARD_MODE && 737 - i2c_dev->bus_clk_rate <= I2C_FAST_PLUS_MODE) { 740 + if (i2c_dev->bus_clk_rate > I2C_MAX_STANDARD_MODE_FREQ && 741 + i2c_dev->bus_clk_rate <= I2C_MAX_FAST_MODE_PLUS_FREQ) { 738 742 tlow = i2c_dev->hw->tlow_fast_fastplus_mode; 739 743 thigh = i2c_dev->hw->thigh_fast_fastplus_mode; 740 744 tsu_thd = i2c_dev->hw->setup_hold_time_fast_fast_plus_mode; ··· 1337 1341 ret = of_property_read_u32(np, "clock-frequency", 1338 1342 &i2c_dev->bus_clk_rate); 1339 1343 if (ret) 1340 - i2c_dev->bus_clk_rate = 100000; /* default clock rate */ 1344 + i2c_dev->bus_clk_rate = I2C_MAX_STANDARD_MODE_FREQ; /* default clock rate */ 1341 1345 1342 1346 multi_mode = of_property_read_bool(np, "multi-master"); 1343 1347 i2c_dev->is_multimaster_mode = multi_mode; ··· 1636 1640 } 1637 1641 } 1638 1642 1639 - if (i2c_dev->bus_clk_rate > I2C_FAST_MODE && 1640 - i2c_dev->bus_clk_rate <= I2C_FAST_PLUS_MODE) 1643 + if (i2c_dev->bus_clk_rate > I2C_MAX_FAST_MODE_FREQ && 1644 + i2c_dev->bus_clk_rate <= I2C_MAX_FAST_MODE_PLUS_FREQ) 1641 1645 i2c_dev->clk_divisor_non_hs_mode = 1642 1646 i2c_dev->hw->clk_divisor_fast_plus_mode; 1643 - else if (i2c_dev->bus_clk_rate > I2C_STANDARD_MODE && 1644 - i2c_dev->bus_clk_rate <= I2C_FAST_MODE) 1647 + else if (i2c_dev->bus_clk_rate > I2C_MAX_STANDARD_MODE_FREQ && 1648 + i2c_dev->bus_clk_rate <= I2C_MAX_FAST_MODE_FREQ) 1645 1649 i2c_dev->clk_divisor_non_hs_mode = 1646 1650 i2c_dev->hw->clk_divisor_fast_mode; 1647 1651 else
+1 -1
drivers/i2c/busses/i2c-thunderx-pcidrv.c
··· 183 183 thunder_i2c_clock_enable(dev, i2c); 184 184 ret = device_property_read_u32(dev, "clock-frequency", &i2c->twsi_freq); 185 185 if (ret) 186 - i2c->twsi_freq = 100000; 186 + i2c->twsi_freq = I2C_MAX_STANDARD_MODE_FREQ; 187 187 188 188 init_waitqueue_head(&i2c->queue); 189 189
+2 -4
drivers/i2c/busses/i2c-uniphier-f.c
··· 73 73 #define UNIPHIER_FI2C_BYTE_WISE BIT(3) 74 74 #define UNIPHIER_FI2C_DEFER_STOP_COMP BIT(4) 75 75 76 - #define UNIPHIER_FI2C_DEFAULT_SPEED 100000 77 - #define UNIPHIER_FI2C_MAX_SPEED 400000 78 76 #define UNIPHIER_FI2C_FIFO_SIZE 8 79 77 80 78 struct uniphier_fi2c_priv { ··· 535 537 } 536 538 537 539 if (of_property_read_u32(dev->of_node, "clock-frequency", &bus_speed)) 538 - bus_speed = UNIPHIER_FI2C_DEFAULT_SPEED; 540 + bus_speed = I2C_MAX_STANDARD_MODE_FREQ; 539 541 540 - if (!bus_speed || bus_speed > UNIPHIER_FI2C_MAX_SPEED) { 542 + if (!bus_speed || bus_speed > I2C_MAX_FAST_MODE_FREQ) { 541 543 dev_err(dev, "invalid clock-frequency %d\n", bus_speed); 542 544 return -EINVAL; 543 545 }
+2 -5
drivers/i2c/busses/i2c-uniphier.c
··· 35 35 #define UNIPHIER_I2C_NOISE 0x1c /* noise filter control */ 36 36 #define UNIPHIER_I2C_SETUP 0x20 /* setup time control */ 37 37 38 - #define UNIPHIER_I2C_DEFAULT_SPEED 100000 39 - #define UNIPHIER_I2C_MAX_SPEED 400000 40 - 41 38 struct uniphier_i2c_priv { 42 39 struct completion comp; 43 40 struct i2c_adapter adap; ··· 330 333 } 331 334 332 335 if (of_property_read_u32(dev->of_node, "clock-frequency", &bus_speed)) 333 - bus_speed = UNIPHIER_I2C_DEFAULT_SPEED; 336 + bus_speed = I2C_MAX_STANDARD_MODE_FREQ; 334 337 335 - if (!bus_speed || bus_speed > UNIPHIER_I2C_MAX_SPEED) { 338 + if (!bus_speed || bus_speed > I2C_MAX_FAST_MODE_FREQ) { 336 339 dev_err(dev, "invalid clock-frequency %d\n", bus_speed); 337 340 return -EINVAL; 338 341 }
+1 -1
drivers/i2c/busses/i2c-wmt.c
··· 399 399 400 400 i2c_dev->mode = I2C_MODE_STANDARD; 401 401 err = of_property_read_u32(np, "clock-frequency", &clk_rate); 402 - if ((!err) && (clk_rate == 400000)) 402 + if (!err && (clk_rate == I2C_MAX_FAST_MODE_FREQ)) 403 403 i2c_dev->mode = I2C_MODE_FAST; 404 404 405 405 i2c_dev->dev = &pdev->dev;
+3 -5
drivers/i2c/busses/i2c-xlp9xx.c
··· 71 71 #define XLP9XX_I2C_SLAVEADDR_ADDR_SHIFT 1 72 72 73 73 #define XLP9XX_I2C_IP_CLK_FREQ 133000000UL 74 - #define XLP9XX_I2C_DEFAULT_FREQ 100000 75 - #define XLP9XX_I2C_HIGH_FREQ 400000 76 74 #define XLP9XX_I2C_FIFO_SIZE 0x80U 77 75 #define XLP9XX_I2C_TIMEOUT_MS 1000 78 76 #define XLP9XX_I2C_BUSY_TIMEOUT 50 ··· 474 476 475 477 err = device_property_read_u32(&pdev->dev, "clock-frequency", &freq); 476 478 if (err) { 477 - freq = XLP9XX_I2C_DEFAULT_FREQ; 479 + freq = I2C_MAX_STANDARD_MODE_FREQ; 478 480 dev_dbg(&pdev->dev, "using default frequency %u\n", freq); 479 - } else if (freq == 0 || freq > XLP9XX_I2C_HIGH_FREQ) { 481 + } else if (freq == 0 || freq > I2C_MAX_FAST_MODE_FREQ) { 480 482 dev_warn(&pdev->dev, "invalid frequency %u, using default\n", 481 483 freq); 482 - freq = XLP9XX_I2C_DEFAULT_FREQ; 484 + freq = I2C_MAX_STANDARD_MODE_FREQ; 483 485 } 484 486 priv->clk_hz = freq; 485 487
+1 -1
drivers/i2c/busses/i2c-xlr.c
··· 404 404 405 405 if (of_property_read_u32(pdev->dev.of_node, "clock-frequency", 406 406 &busfreq)) 407 - busfreq = 100000; 407 + busfreq = I2C_MAX_STANDARD_MODE_FREQ; 408 408 409 409 clk = devm_clk_get(&pdev->dev, NULL); 410 410 if (!IS_ERR(clk)) {