)]}'
{
  "commit": "2e94746997b3c46df3b925a4511f34c5f5b81437",
  "tree": "86f865121240490c8de65884016592be38b6d312",
  "parents": [
    "2cadbe3481ec133b91b33f985f54ed0828559e15"
  ],
  "author": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sat Mar 07 17:04:59 2026 +0100"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Sun Jun 28 09:29:37 2026 +0000"
  },
  "message": "Use bus probing for standard JEDEC and JEDEC_29GL\n\nTo keep things close to as they were, we still run the probing many\ntimes, with a huge amount of different chip parameters and sizes.\n\nThis brings us down to 35 probing runs for 159 chips.  And there is\nstill room for improvement:  It\u0027s likely that chips respond already\nwhen longer delays are used. Also, many chips actually ignore addi-\ntional address bits when decoding commands (i.e. bits above a 0x555\npattern are simply ignored and we actually don\u0027t need the masking).\nMany (if not all) parallel flash chips also don\u0027t care about higher\naddress bits when reading the identification, so we might only have\nto probe for them with a single chip size.\n\nFor now, we keep the set of probing parameters close to what we did\nbefore. For power-of-two chip sizes from 64KiB to 1MiB, we run with\nthe most common parameters. 7 more parameter sets are used for more\nunusual cases. And the 29GL parts are probed for the three sizes we\nhave in our database: 4MiB, 8MiB, 16MiB.\n\nA note on the 29GL probing: All the chips have status UNTESTED, and\nmost if not all are x16 parts that need the addresses shifted (what\nwe don\u0027t do ATM). Overall it looks like standard jedec probing with\na short reset sequence. However, continuations of the device ID are\nalways 2 bytes long, at a different offset (0x0E) and prefixed with\n0x7E.\n\nChange-Id: If6ece7edc2291cae4824e5bcc2f83fd8aaef296e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/444\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "be57f0a89cf5db6de6ccf61e2bf0e00c578b88db",
      "old_mode": 33188,
      "old_path": "flashchips.c",
      "new_id": "801cae24a59502ab1a849e6db63536054759eb8a",
      "new_mode": 33188,
      "new_path": "flashchips.c"
    },
    {
      "type": "modify",
      "old_id": "02794eebab0a30124fd5e9a7f0a811dfa414ba32",
      "old_mode": 33188,
      "old_path": "include/chipdrivers/memory_bus.h",
      "new_id": "6ffa367f8b4b03787cd8932d7e38379d227a0b5b",
      "new_mode": 33188,
      "new_path": "include/chipdrivers/memory_bus.h"
    },
    {
      "type": "modify",
      "old_id": "7c8434f65afa859f5c614198436779761d459a7a",
      "old_mode": 33188,
      "old_path": "jedec.c",
      "new_id": "3fbfd2b53465b525875f42b3fce03dc1df278bdc",
      "new_mode": 33188,
      "new_path": "jedec.c"
    },
    {
      "type": "modify",
      "old_id": "e1823945f50a7899410870903ebfd9b438bbe94b",
      "old_mode": 33188,
      "old_path": "parallel.c",
      "new_id": "699ce1ae57b8e5b8d0f238ada83190216f5da19f",
      "new_mode": 33188,
      "new_path": "parallel.c"
    }
  ]
}
