i2c: qup: Add support for Fast Mode Plus
authorAustin Christ <austinwc@codeaurora.org>
Thu, 10 May 2018 16:13:55 +0000 (10:13 -0600)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 29 May 2018 17:52:14 +0000 (19:52 +0200)
Previously the QUP driver limited operation mode to I2C Fast Mode. Add
Fast Mode Plus functionality by raising SCL limit from 400kHz to 1MHz.

Signed-off-by: Austin Christ <austinwc@codeaurora.org>
Reviewed-by: Sricharan R <sricharan@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-qup.c

index c024f85e73d178dee34ec80dbd7002abda3e1bce..ce5f215cd7e8077412835b5b3f81c791d3954f84 100644 (file)
  */
 #define TOUT_MIN                       2
 
+/* I2C Frequency Modes */
+#define I2C_STANDARD_FREQ              100000
+#define I2C_FAST_MODE_FREQ             400000
+#define I2C_FAST_MODE_PLUS_FREQ                1000000
+
 /* Default values. Use these if FW query fails */
-#define DEFAULT_CLK_FREQ 100000
+#define DEFAULT_CLK_FREQ I2C_STANDARD_FREQ
 #define DEFAULT_SRC_CLK 20000000
 
 /*
@@ -1745,8 +1750,8 @@ static int qup_i2c_probe(struct platform_device *pdev)
        }
 
 nodma:
-       /* We support frequencies up to FAST Mode (400KHz) */
-       if (!clk_freq || clk_freq > 400000) {
+       /* We support frequencies up to FAST Mode Plus (1MHz) */
+       if (!clk_freq || clk_freq > I2C_FAST_MODE_PLUS_FREQ) {
                dev_err(qup->dev, "clock frequency not supported %d\n",
                        clk_freq);
                return -EINVAL;