)]}'
{
  "commit": "039680ccce776fd199e274e99e9a9bb92513251e",
  "tree": "9ccd756cfcf4f23860310c8eaa43073fc0f27a1b",
  "parents": [
    "bc11dd9bb843869352f5b2a562adddedf1a2ca51"
  ],
  "author": {
    "name": "Hugo McNally",
    "email": "hugo.mcnally@gmail.com",
    "time": "Mon Nov 18 14:13:17 2024 +0000"
  },
  "committer": {
    "name": "Hugo McNally",
    "email": "45573837+HU90m@users.noreply.github.com",
    "time": "Mon Nov 18 17:22:35 2024 +0000"
  },
  "message": "sonata: v1.0 I2C driver\n\nNotable changes from the v0.2 I2C device/driver:\n\n1. The RX FIFO now has 8 entries.\n    - The previous driver assumed a 256 entry RX FIFO where it was only\n      64 entries.\n\n2. Adds the additional / modified register and field descriptions from\n   the most recent update. It also replaces the clearing of what used to\n   be the \"Nack\" interrupt with handling of the \"ControllerHalt\"\n   interrupt by resetting all possible controller events (which include\n   Nack, but can also include timeouts or loss of arbitration).\n\n3. Blocking write currently blocks only when the FIFO is full. This\n   makes it block till the FIFO is actually emptied, and checks in the\n   write whether the controller FSM halted (e.g. due to a NACK), and\n   clears it if so. This allows the I2C `blocking_write` function to be\n   reliably used and stops it hanging upon a write failure when e.g. the\n   device doesn\u0027t exist. Without this, the write will appear to be\n   successful but then a `blocking_read` will just halt indefinitely as\n   the format FIFO will never be empty, which is not ideal. Now you know\n   when calling `blocking_write` whether it failed or not, and can\n   accordingly choose whether to call `blocking_read`.\n\nCo-authored-by: Alex Jones \u003calex.jones@lowrisc.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef93eee0aa21cb590377884466e5d321a4327dc1",
      "new_mode": 33188,
      "new_path": "sdk/include/platform/sunburst/platform-i2c.hh"
    }
  ]
}
