)]}'
{
  "commit": "baf46b4e378d7950dff7ba30cfd50ff585987cb4",
  "tree": "571bd77cb953d1fc6a206c250b3cf8dd4718546f",
  "parents": [
    "e0cd2dd5dd2b7c6512e46ce0b4f119cd7b0c74a4"
  ],
  "author": {
    "name": "Aaro Koskinen",
    "email": "aaro.koskinen@nokia.com",
    "time": "Wed May 27 17:54:45 2009 +0300"
  },
  "committer": {
    "name": "Ben Dooks",
    "email": "ben-linux@fluff.org",
    "time": "Sat Jun 13 10:39:25 2009 +0100"
  },
  "message": "i2c: OMAP2/3: Fix scll/sclh calculations\n\nFix scll/sclh calculations for HS and fast modes. Currently the driver\nuses equal (roughly) low/high times which will result in too short\nlow time.\n\nOMAP3430 TRM gives the following equations:\n\n\tF/S: tLow  \u003d (scll + 7) * internal_clk\n\t     tHigh \u003d (sclh + 5) * internal_clk\n\tHS:  tLow  \u003d (scll + 7) * fclk\n\t     tHigh \u003d (sclh + 5) * fclk\n\nFurthermore, the I2C specification sets the following minimum values\nfor HS tLow/tHigh for capacitive bus loads 100 pF (maximum speed 3400)\nand 400 pF (maximum speed 1700):\n\n\tspeed\ttLow\t\ttHigh\n\t3400\t160 ns\t\t60 ns\n\t1700\t320 ns\t\t120 ns\n\nand for F/S:\n\n\tspeed\ttLow\t\ttHigh\n\t400\t1300 ns\t\t600 ns\n\t100\t4700 ns\t\t4000 ns\n\nBy using duty cycles 33/66 (HS, F) and 50/50 (S) we stay above these\nminimum values.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ece0125a1ee520710f1e4ac18cd7b8eea83f0422",
      "old_mode": 33188,
      "old_path": "drivers/i2c/busses/i2c-omap.c",
      "new_id": "a879e4bf5122e80f2c5424f37101cde3ec2c6843",
      "new_mode": 33188,
      "new_path": "drivers/i2c/busses/i2c-omap.c"
    }
  ]
}
