)]}'
{
  "commit": "7f79dfb48b7419d5caa1cf932fcff4e2fb7040af",
  "tree": "41dbf9667325a5595cf4baa0994fc36934c10429",
  "parents": [
    "4ce5a72851ff2960543b125866c6132e0094e1ee"
  ],
  "author": {
    "name": "Tom Rix",
    "email": "Tom.Rix@windriver.com",
    "time": "Sun Jun 28 12:52:27 2009 -0500"
  },
  "committer": {
    "name": "Heiko Schocher",
    "email": "hs@denx.de",
    "time": "Tue Jul 28 08:52:33 2009 +0200"
  },
  "message": "OMAP I2C Fix the sampling clock.\n\nThis problem is seen on Zoom1 and Zoom2 in the startup and\nwhen i2c probe is used\n\nBefore :\n\nIn:    serial\nOut:   serial\nErr:   serial\ntimed out in wait_for_bb: I2C_STAT\u003d1000\ntimed out in wait_for_bb: I2C_STAT\u003d1000\ntimed out in wait_for_bb: I2C_STAT\u003d1000\ntimed out in wait_for_pin: I2C_STAT\u003d1000\nI2C read: I/O error\ntimed out in wait_for_bb: I2C_STAT\u003d1000\ntimed out in wait_for_bb: I2C_STAT\u003d1000\nDie ID #327c00020000000004013ddd05026013\nHit any key to stop autoboot:  0\nOMAP3 Zoom1# i2c probe\nValid chip addresses:timed out in wait_for_bb: I2C_STAT\u003d1000\n 02 03 04 05 06 07 08 09 0A 0B 0C 0D \u003csnip\u003e\n\nAfter :\n\nIn:    serial\nOut:   serial\nErr:   serial\nDie ID #327c00020000000004013ddd05026013\nHit any key to stop autoboot:  0\nOMAP3 Zoom1# i2c probe\nValid chip addresses: 48 49 4A 4B\n\nThe addresses are for the twl4030.\n\nThe prescalar that converts the function clock to the sampling\nclock is hardcoded to 0.  The reference manual recommends 7\nif the function clock is 96MHz.\n\nInstead of just changing the hardcoded values, the prescalar\nis calculated from the value I2C_IP_CLK.\n\nThe i2c #defines are in kHz.  The speed passed into the\ni2c init routine is in Hz.  To be consistent, change the\ndefines to be in Hz.\n\nThe timing calculations are based on what is done in the\nlinux 2.6.30 kernel in drivers/i2c/buses/i2c_omap.c as\napposed to what is done in TRM.\n\nThe major variables in the timing caculations are\nspecified as #defines that can be overriden as required.\n\nThe variables and their defaults are\n\nI2C_IP_CLK\t\t\t\tSYSTEM_CLOCK_96\nI2C_INTERNAL_SAMPLING_CLK\t\t19200000\nI2C_FASTSPEED_SCLL_TRIM\t\t\t6\nI2C_FASTSPEED_SCLH_TRIM\t\t\t6\nI2C_HIGHSPEED_PHASE_ONE_SCLL_TRIM\tI2C_FASTSPEED_SCLL_TRIM\nI2C_HIGHSPEED_PHASE_ONE_SCLH_TRIM\tI2C_FASTSPEED_SCLH_TRIM\nI2C_HIGHSPEED_PHASE_TWO_SCLL_TRIM\tI2C_FASTSPEED_SCLL_TRIM\nI2C_HIGHSPEED_PHASE_TWO_SCLH\t\tI2C_FASTSPEED_SCLH_TRIM\n\nThis was runtime verified on Zoom1, Zoom2, Beagle and Overo.\nThe 400kHz and 3.4M cases were verifed on test Zoom1,\nZoom2, Beagle and Overo configurations.\n\nTesting for omap2 will be done in a second step as Nishanth\nand Jean-Christophe commented.\n\nSigned-off-by: Tom Rix \u003cTom.Rix@windriver.com\u003e\nAcked-by: Jean-Christophe PLAGNIOL-VILLARD \u003cplagnioj@jcrosoft.com\u003e\nAcked-by: Heiko Schocher \u003chs@denx.de\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "678460325dd874752186484e7d75d5ee867b956a",
      "old_mode": 33188,
      "old_path": "drivers/i2c/omap24xx_i2c.c",
      "new_id": "1a4c8c9ad2701b550fc1ad0ab2a9fde741902080",
      "new_mode": 33188,
      "new_path": "drivers/i2c/omap24xx_i2c.c"
    },
    {
      "type": "modify",
      "old_id": "7248950e52fe8f08568bbf5b2725c17746127a79",
      "old_mode": 33188,
      "old_path": "include/asm-arm/arch-omap24xx/i2c.h",
      "new_id": "44db7a2d45efc06dc8f757504331b40ae0484513",
      "new_mode": 33188,
      "new_path": "include/asm-arm/arch-omap24xx/i2c.h"
    },
    {
      "type": "modify",
      "old_id": "3937f3525671cf0742e077a20ff93bb56f30780e",
      "old_mode": 33188,
      "old_path": "include/asm-arm/arch-omap3/i2c.h",
      "new_id": "8b339cce9ab553e650282e5fdddcc6252d44aad8",
      "new_mode": 33188,
      "new_path": "include/asm-arm/arch-omap3/i2c.h"
    }
  ]
}
