)]}'
{
  "commit": "1b1deda80bbd7f56b8047fad32badb749eeefffb",
  "tree": "e7058d9d175d08ed2542f6e34be0842a7ade8f57",
  "parents": [
    "a1b7f3521f66a19a2d4c9a6a373c5a7ab36e1473"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Thu Apr 18 00:35:48 2024 +0200"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Mon Jul 22 10:08:47 2024 +0000"
  },
  "message": "Implement QPI support\n\nWith the quad-i/o support in place, this is actually straight-\nforward:\n* we check for compatibility of the flash chip and programmer,\n* select an appropriate fast-read function, and\n* always set the respective io-mode when passing a SPI command\n  to the programmer.\n\nTested with FT4222H + W25Q128FV and linux_gpio_spi + MX25L25645G.\n\nChange-Id: I2287034f6818f24f892d66d1a505cb719838f75d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/165\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "43d8b844ad06d571b7f903134c0c941545a140a6",
      "old_mode": 33188,
      "old_path": "dediprog.c",
      "new_id": "6b7293860369c97adf60a596e6a91a3a07dc8007",
      "new_mode": 33188,
      "new_path": "dediprog.c"
    },
    {
      "type": "modify",
      "old_id": "f83999551529ef6f5158080713b9ebf1597df5ee",
      "old_mode": 33188,
      "old_path": "include/flash.h",
      "new_id": "fb643044ab24f58b76baa07f3e6d8941756f1559",
      "new_mode": 33188,
      "new_path": "include/flash.h"
    },
    {
      "type": "modify",
      "old_id": "54cbdc0bda1611629b36ad23be619d3ed2d3c5d5",
      "old_mode": 33188,
      "old_path": "include/programmer.h",
      "new_id": "2633450f7b38b961ce7b34a5ef5693ef7f277383",
      "new_mode": 33188,
      "new_path": "include/programmer.h"
    },
    {
      "type": "modify",
      "old_id": "3af0cd0169c9eae5a5b16b1fac211908516a83f1",
      "old_mode": 33188,
      "old_path": "include/spi_command.h",
      "new_id": "6560f22d35dd88830cf2ce50649d7d2ebf7ef658",
      "new_mode": 33188,
      "new_path": "include/spi_command.h"
    },
    {
      "type": "modify",
      "old_id": "de7965f666a99303faf7034929985e150566b11c",
      "old_mode": 33188,
      "old_path": "spi.c",
      "new_id": "748ef994940a10258be034e236d5a1a8867eb08c",
      "new_mode": 33188,
      "new_path": "spi.c"
    },
    {
      "type": "modify",
      "old_id": "34f30dff2234af03df1d0ac1d39c61dc32a6b21a",
      "old_mode": 33188,
      "old_path": "spi25.c",
      "new_id": "0f49a13f9df620c0005d58ff8140b120facb47dd",
      "new_mode": 33188,
      "new_path": "spi25.c"
    },
    {
      "type": "modify",
      "old_id": "279f2e48637bcf3856e35cfcff7d8729860ffd4d",
      "old_mode": 33188,
      "old_path": "spi25_prepare.c",
      "new_id": "6ad1f7fcd98849e375441b14fbbe9bed00116777",
      "new_mode": 33188,
      "new_path": "spi25_prepare.c"
    },
    {
      "type": "modify",
      "old_id": "b363b5f2e1355475cfff6d0610cb0e49e8d3c7ce",
      "old_mode": 33188,
      "old_path": "spi25_statusreg.c",
      "new_id": "24bef6c41b8a2031d68d592c3a8a06c0f138aff5",
      "new_mode": 33188,
      "new_path": "spi25_statusreg.c"
    }
  ]
}
