)]}'
{
  "log": [
    {
      "commit": "dc34409b2016a851ce05b593d3fceb45b0816afa",
      "tree": "dc9f277489a6ebaa1bf8e9d17428312db8290520",
      "parents": [
        "e3f648c3146be28c642782b11187011dfd6f258d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Dec 07 00:22:21 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 14 22:42:55 2026 +0000"
      },
      "message": "spi: Refactor default_spi_send_command() to avoid flashctx deref\n\nChange-Id: Icc16a52d12de5a07494294f5f76722970c1d1d14\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/323\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "e3f648c3146be28c642782b11187011dfd6f258d",
      "tree": "272af33324401b45fc68bef0e1d697bf502998c1",
      "parents": [
        "32f1ea8df501b41362058bb699a7ea96482e4db3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 15 02:55:23 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 14 22:42:55 2026 +0000"
      },
      "message": "spi: Implement top-aligned to avoid BBAR hassle\n\nThe BBAR quirk in `ichspi\u0027 is the only case left where we need a flash\ncontext in the SPI `.send_command\u0027 functions. Our Git history suggests\nthat the elaborate calculation there  was not added for an encountered\nsetup but rather all possible settings of BBAR [1]. There are only few\nsettings that make sense, however.\n\nBBAR sets a simple address boundary. Reads for any flash address below\nthe BBAR setting will be rejected.  This was originally the only read-\nprotection mechanism, introduced with ICH7.  The ICH7 datasheet states\nthat upper bits, above the flash chip\u0027s size, should be set to all 1s.\nThis makes sense, as otherwise the read-protection could be circumven-\nted by setting a higher address above BBAR, where the flash chip would\nsimply ignore the most significant bits.  Conversely, this requires us\nto \"lift\" the flash addresses when the BBAR is configured properly. We\ncan achieve this by top-aligning all addresses.\n\nNewer chipsets have protected-range registers (PRx) now, that allow to\nconfigure read protection. Also the descriptor mode was introduced. So\nflash addresses have to match the descriptor regions, and lifting them\nisn\u0027t feasible.  The BBAR register was still around until Wilcat Point\n(PCH9), though, probably useless, and without the note about upper ad-\ndress bits.  Odd though, since [2], we only consider the BBAR on newer\nchipsets when in descriptor mode.\n\nAs the BBAR protection seems unlikely on newer chipsets, and the quirk\nhandling error-prone,  we\u0027ll only change addresses on ICH7 and similar\nold chipsets. We don\u0027t want the dependency on the flash context, hence\nlet the generic `spi25\u0027 code top align the addresses.\n\n[1] commit ed098d62d66d (spi: Move ICH BBAR quirk out of the way)\n[2] commit 4095ed797f87 (Add support for Intel Silvermont: Bay Trail,\n    Rangeley and Avoton)\n\nChange-Id: Ic6f6f5a24d89d4a1ebe2b99f08aabfcd65df129f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/74896\n"
    },
    {
      "commit": "32f1ea8df501b41362058bb699a7ea96482e4db3",
      "tree": "294501d43632515901c1262e6e2b294d75ba3d1a",
      "parents": [
        "b89c4524d978d3104ce3346894503e8d7b3fce51"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 01 15:11:48 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 14 22:42:55 2026 +0000"
      },
      "message": "at45db: Use .prepare_access hook for non-power-of-2 preparations\n\nWe performed some additional preparations in probe_spi_at45db(). Turn\nit into a .prepare_access hook, spi_prepare_at45db(), so we can use\na pure probing function.\n\nChange-Id: I75570078301b9a06a229543f44714a0941457a5a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/74895\n"
    },
    {
      "commit": "b89c4524d978d3104ce3346894503e8d7b3fce51",
      "tree": "7ca1917a0b9dc17d0707ec40c57fae4f51136204",
      "parents": [
        "db90cf7a9da5b0acc04952865c5c1bbc09ccd38d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 04 23:30:13 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 14 22:42:55 2026 +0000"
      },
      "message": "Add new flash-chip preparation step after probing\n\nChange-Id: I57fd63ddc4c8ccd07b0744df33d6a499bfeae9ff\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/321\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "db90cf7a9da5b0acc04952865c5c1bbc09ccd38d",
      "tree": "b863d37644338ae0fbe8bfbb1ffdc2c74bab0af7",
      "parents": [
        "f4d5f3294fd470830f2ec81d4bc803dccaeb9ae3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 24 23:35:52 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 10 15:56:57 2026 +0000"
      },
      "message": "libflashprog: Fix comparison of layout entries\n\nA `next` pointer was added to `struct romentry` in commit 49258610ebd4\n(layout: Use linked list for `struct romentry`). Hence, comparing the\nwhole contents to match entries doesn\u0027t work anymore. Solve that by\ncomparing the `start`, `end` and `name` fields individually.\n\nChange-Id: I125d3892d9efc68e8fc19eef559c82d46c3bdc94\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/399\n"
    },
    {
      "commit": "f4d5f3294fd470830f2ec81d4bc803dccaeb9ae3",
      "tree": "a5408f9f92da87e86756af0b8951132dac22667b",
      "parents": [
        "9c6b35f03ca30c60ee6d9d90b0a0309945e2714b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 08 18:42:55 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 10 15:56:47 2026 +0000"
      },
      "message": "ichspi: Add Intel Panther Lake support\n\nPTL looks much like Lunar Lake. The only noticed differences so far are\na reserved frequency value that means 80MHz now, and that only 1.8V are\nsupported.\n\nTested `ich_descriptors_tool\u0027 output for the BIOS of an MSI Prestige 14\nFlip AI+ (D3MTG).\n\nDocuments used:\n  * Intel® Core™ Ultra Processors (Series 3) Datasheet, Volume 1 of 2\n  * Panther Lake H External Design Specification (EDS) Volume 2 of 2\n  * Panther Lake-H Client Platform\n    SPI Programming Guide\n\nChange-Id: Ifec90975cefc26bb7109d69fcdabcfe480516732\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/397\n"
    },
    {
      "commit": "9c6b35f03ca30c60ee6d9d90b0a0309945e2714b",
      "tree": "7defede1317b0d76d0f9ff9c1a753fd5afd4ac44",
      "parents": [
        "83d04387cfd38b2e286a7686c9373435665cea51"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 08 18:19:00 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 10 15:56:47 2026 +0000"
      },
      "message": "ich_descriptors: Pretty print voltage on supported platforms\n\nSeems more and more important to have such clues about 1.8V parts.\n\nChange-Id: Ida9a447d840d63a9fed7c48b3a18546e67284a44\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/396\n"
    },
    {
      "commit": "83d04387cfd38b2e286a7686c9373435665cea51",
      "tree": "80ba53deb613a54980f6bc73eb14c39f412238da",
      "parents": [
        "96140c7c3e3d61445b996eba62f9ebb3a4a9c760"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 08 16:48:42 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 10 15:56:47 2026 +0000"
      },
      "message": "chipset_enable: Add Arrow Lake H\n\nOther than the desktop Arrow Lake (S) and the high power mobile (HX)\nversions, Arrow Lake H doesn\u0027t use a discrete PCH but the SoC die\u0027s\nSPI controller. This makes it similar to Meteor Lake.\n\nChange-Id: I4aae1fb99eeb63de79abf336f7c76da42b555efe\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/395\n"
    },
    {
      "commit": "96140c7c3e3d61445b996eba62f9ebb3a4a9c760",
      "tree": "05fa3534e13eef1b4bb575e4b0c25794ed4a36fe",
      "parents": [
        "d9aa81ed903efac208083a0933e2ff4643f9fb54"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu May 02 21:57:08 2024 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Feb 10 15:56:04 2026 +0000"
      },
      "message": "udelay: Include \u003cdelay.h\u003e from libpayload\n\nChange-Id: I41aef9d03e9150353c4f3ca82dc198bd0156e044\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/398\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d9aa81ed903efac208083a0933e2ff4643f9fb54",
      "tree": "5db6ca8f476420ba6f4bd6791265ef922cc34fa2",
      "parents": [
        "72d0adaa8c87472994763f1920494d54dff8528b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 26 18:30:25 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 09 20:38:18 2026 +0000"
      },
      "message": "sfdp: Call selfcheck_chip() if parsing looked successful\n\nChange-Id: Ic296e0e05425b2bafc11e18f05705f83c075f23b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/394\n"
    },
    {
      "commit": "72d0adaa8c87472994763f1920494d54dff8528b",
      "tree": "f64cb461db4ed2a2cba0f7487eb8e326105c786b",
      "parents": [
        "32fa50845240a8ba3ed9dfa4e860d799cdd768b7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 26 18:28:20 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 09 20:38:18 2026 +0000"
      },
      "message": "Unify chip label in output of selfcheck_chip()/eraseblocks()\n\nAlways print the index if available, but only the name if not.\n\nChange-Id: Id7f8ed6b04febf13b07e3064666ea32ae24267e8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/393\n"
    },
    {
      "commit": "32fa50845240a8ba3ed9dfa4e860d799cdd768b7",
      "tree": "35fe5f8e28389fb0060ddff00c10c31e51066614",
      "parents": [
        "82834c95ef1d16519d0f114692bfb4cd5e47c461"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 26 18:26:49 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 09 20:38:18 2026 +0000"
      },
      "message": "Extract chip selfcheck into new selfcheck_chip() function\n\nWe\u0027re going to call it from the SFDP parser, too.\n\nChange-Id: Ib526d005b84717d4be69cc2dff46cf628af4c9cd\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/392\n"
    },
    {
      "commit": "82834c95ef1d16519d0f114692bfb4cd5e47c461",
      "tree": "4624786e79a26b7e1ba1c354ddbfd340bcfb1689",
      "parents": [
        "a193983b9647f1364e30bba56a1eef72726ccbc0"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Fri Jun 27 08:33:56 2025 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 09 20:38:18 2026 +0000"
      },
      "message": "Add 4BA support in SFDP parsing\n\nTested: \"Found Unknown flash chip \"SFDP-capable chip\" (32768 kB, SPI) on\ninternal.\" on a W25Q256JW.\n\nAlso tested MX25L25645G, probe/read/erase/write.\n\nChange-Id: I26d161bcfd16053716e8319c3d978a245390545e\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/336\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "a193983b9647f1364e30bba56a1eef72726ccbc0",
      "tree": "ffefc51cc344409cede664cc45ba79a7df03aad1",
      "parents": [
        "1926900454166df3de18a1fa584e79dab8a48d75"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 07 21:58:02 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 09 20:21:46 2026 +0000"
      },
      "message": "amd: Fall back to reading rom3 range in case of ROM Armor\n\nAMD is pushing ROM Armor forward, which leaves the SPI handling to\nthe PSP and only a mailbox interface (guarded by SMM) for the main\nCPU. With the current ROM Armor 3, there is no opt-out in the BIOS\nsetup anymore.\n\nOnly access left for the main CPU is the read-only memory mapping.\nWe make this available when active ROM Armor is detected (SPI BAR\nregister reads all ff). Probing of the flash size is peculiar, we\ncan only try to guess it when memory contents look repetitive.\n\nTo not pollute the `amd_spi100` driver, we start a new one.\n\nStory: https://icon.sourcearcade.org/posts/amd_firmware_reading/\nChange-Id: Ib4866084fe80853fd66501176dbc6b766750062f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/350\n"
    },
    {
      "commit": "1926900454166df3de18a1fa584e79dab8a48d75",
      "tree": "eb58a44ae94ac539d1b5e69f038d722931feff54",
      "parents": [
        "13e745cf7a9bc867bd3575768e33e322f3c5adf8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 12 20:34:01 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 26 17:56:03 2026 +0000"
      },
      "message": "helpers_fileio.c: fix fsync() check.\n\nBoth the _POSIX_FSYNC macro and the fsync() declaration are in\n\u003cunistd.h\u003e. The current code works by accident on glibc courtesy of\ntransitive includes, but is broken in Android currently (mistakenly\nassuming there is no fsync() because _POSIX_FSYNC isn\u0027t defined, merely\nbecause \u003cunistd.h\u003e hasn\u0027t been included), and won\u0027t compile with Android\u0027s\nC23 addition of call_once() to \u003cstdlib.h\u003e because _POSIX_FSYNC comes in\ntransitively via \u003climits.h\u003e but without \u003cunistd.h\u003e for the fsync()\ndeclaration.\n\nFix all of this by just including the right POSIX header file for both\nthe feature macro and the function declaration.\n\nChange-Id: Ifd6eeba56cffabb6a37880c78ea21de4705308b5\nSigned-off-by: Elliott Hughes \u003cenh@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/90015\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/390\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "13e745cf7a9bc867bd3575768e33e322f3c5adf8",
      "tree": "76c89e83b10dcb0c979c8315c7400b3188b14227",
      "parents": [
        "e332db70039fa1725f344dd551d0a68875fb0484"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 18 10:11:00 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 26 17:55:51 2026 +0000"
      },
      "message": "udev rules: Separate `uaccess\u0027 flag from `plugdev\u0027 group setting\n\nIt turned out that at least systemd doesn\u0027t apply the flag if the group\ncan\u0027t be set, e.g. on systems w/o `plugdev\u0027 group.\n\nResolves: https://github.com/SourceArcade/flashprog/issues/8\nChange-Id: I39b70ec1ed089596dc42d2acdea29feb3dca72d7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/391\n"
    },
    {
      "commit": "e332db70039fa1725f344dd551d0a68875fb0484",
      "tree": "b5c75f498280d25fbb7decf196c5641e6546bcc5",
      "parents": [
        "ee1d1b41e81dc7171b6ec09b66a7ba7c928e1bda"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 01 13:45:56 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 25 15:30:00 2026 +0000"
      },
      "message": "manibuilder: Add Android cross-compilation targets\n\nChange-Id: Ief71ef392f59197c95b5d01a63bc6998748bceb2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/389\n"
    },
    {
      "commit": "ee1d1b41e81dc7171b6ec09b66a7ba7c928e1bda",
      "tree": "d590bc5201d1c7120234c00e8fee728037eaf36b",
      "parents": [
        "8b892481d0747ea7800318dc373b42f7dc1232b4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 23 12:10:04 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 25 15:30:00 2026 +0000"
      },
      "message": "manibuilder: Allow differing uid to fix local Git access\n\nChange-Id: Iae06908a2cb2e0c55245a14600590ad0c6d91146\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/388\n"
    },
    {
      "commit": "8b892481d0747ea7800318dc373b42f7dc1232b4",
      "tree": "126abd1bf55b5fbbd9c99f463341002c616437fd",
      "parents": [
        "ea27a6e524690a7a376764fd60a37ec1b78ec8f3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Nov 18 17:17:03 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 16 15:32:05 2026 +0000"
      },
      "message": "dediprog: Drop enum of i/o bits\n\nThese bit positions differ between device revisions and models. Also the\ndefault meaning (and mapping of adapters) show different intentions per\nmodel. For instance, SF600 adapters expose IO2 as IO4 of an SF100.\n\nChange-Id: I38c587214fa0167bf971ead5e3f490da2cedaf24\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/353\n"
    },
    {
      "commit": "ea27a6e524690a7a376764fd60a37ec1b78ec8f3",
      "tree": "91463bba7261a69dc84fdf14800c3331046447de",
      "parents": [
        "c0124d13afa0b1399238b1ce94a3f20ea7ffbd91"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 03 14:21:00 2025 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 16 15:32:05 2026 +0000"
      },
      "message": "dediprog: Set i/o lines with protocol v2+\n\nWhen adding support for the v2 protocol, we left a FIXME open\ninstead of setting the i/o lines as before.  Looking into the\n`dpcmd` source code confirms  that the i/o values are now set\nin the lower bits of `wValue` of the USB request.\n\nTraces of Dediprog\u0027s Windows application with an SF600Plus-G2\nshow that it first sends a request with `wValue \u003d 0x8001` and\n`wIndex \u003d 0x0021` during initialization, then later `wValue \u003d\n0x0L09` by default (L being the LED setting).\n\nIn a ticket[1], test results showed that setting 0x09 fixes\nspurious high-levels on the MISO line with newer SF100 ver-\nsions and certain flash chips.\n\nTests with an SF600Plus-G2 confirmed that the magic 0x9 sets\nCS2 and IO2 high. Adapters map IO2 to IO4 of an SF100 inter-\nface, which again is expected to be high.\n\n[1] https://ticket.coreboot.org/issues/609\n\nChange-Id: Iba5e113adb607a92802cb93a121987920f507fad\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/349\n"
    },
    {
      "commit": "c0124d13afa0b1399238b1ce94a3f20ea7ffbd91",
      "tree": "b171e11c317dff41aeb6a096c60016cef4428c33",
      "parents": [
        "ee2401c7fa900c15f9c2801c46881c9413141ad1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 26 12:40:14 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 16 15:30:46 2026 +0000"
      },
      "message": "chipset_enable: Suppress laptop warning for AMD SPI100\n\nChange-Id: I3f00e32cb182f7de366ff10725de50953e63a302\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/351\n"
    },
    {
      "commit": "ee2401c7fa900c15f9c2801c46881c9413141ad1",
      "tree": "a55bd883e476fccb921a58b9b36e0904148d765d",
      "parents": [
        "ffcf92fbfd04a3ac1a5d882bcd5c4b78255af495"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jan 09 15:48:07 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 16 15:30:29 2026 +0000"
      },
      "message": "chipset_enable: Fix use-after-free of LPC PCI device\n\nWe ran pci_free_dev() too early,  after some code moved around\nin enable_flash_amd_spi100(). Instead of trying to ensure that\nwe free the device handle on all paths, only use it early, and\nfree it right away.\n\nChange-Id: Ie71cdd2f98f67bc5016067404bb911f5629d0f03\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/352\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "ffcf92fbfd04a3ac1a5d882bcd5c4b78255af495",
      "tree": "3ab6c036d9a0ab2f0f71c6c76fcb5d60bd3dd4de",
      "parents": [
        "b6f4e73d4d76b61451869e2b0b353a1a5555c61e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Apr 08 15:03:06 2025 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:58:48 2025 +0000"
      },
      "message": "chipset_enable: Mark Raptor Lake-S as DEP\n\nAs usual, partial programming (BIOS region) is possible. Tested by\nrip_help on IRC.\n\nChange-Id: I259b9e7c6281120f6c5bea5ee468d7000930db8b\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/334\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "b6f4e73d4d76b61451869e2b0b353a1a5555c61e",
      "tree": "7c0bc3950274db2e5a3f4de54cd9575f5a75858e",
      "parents": [
        "fcdab42070697005a8e004d2e6a5a83b81a9e753"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 21 22:41:29 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/anita: Explicitly prefer ipv4\n\nDocker doesn\u0027t provide ipv6 support by default. Without telling\nNetBSD to prefer ipv4, we ran into very long timeouts.\n\nChange-Id: Id1303629883117e69243bcbbe601a8249f9fd703\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/376\n"
    },
    {
      "commit": "fcdab42070697005a8e004d2e6a5a83b81a9e753",
      "tree": "61e09d51263f4d3347c3cd05918029f0a906a723",
      "parents": [
        "6198fc728c0df56119a9281597f616c6fb1e6af3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 21 22:39:19 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/anita: Resolve actual pkgsrc URL with curl\n\nOlder NetBSD releases seem to have problems with the current redirects\non pkgsrc mirrors. So we try to resolve a current, final URL with curl\nand force the scheme back to http.\n\nChange-Id: I0a975a6c7c698eeea6ab0a267b11370e2b3e4770\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/375\n"
    },
    {
      "commit": "6198fc728c0df56119a9281597f616c6fb1e6af3",
      "tree": "95db9cd10d2c7281b9f477150216775149061f28",
      "parents": [
        "45a89609f8e7e7b208ec81af913cfbd9349bc11d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 21 22:35:30 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/anita: Switch to libftdi1, add libjaylink\n\nWe had the old libftdi (0.x) selected, which is useless to us.\nThe newer libftdi1 is available for x86 at least. Fortunately,\nlibjaylink seems always available.\n\nChange-Id: I423de4bd857b63418c4d0a11f773ce9d7e1fcc42\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/374\n"
    },
    {
      "commit": "45a89609f8e7e7b208ec81af913cfbd9349bc11d",
      "tree": "f8144c5f6ebbaade8e38039de127c333ebfedaef",
      "parents": [
        "8eb900e83060ee3902db8bc9e9911a91a6657427"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 21 22:33:31 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/anita: Drop NetBSD 8.2, 9.3-sparc64; add 10.1-sparc64\n\nChange-Id: I7ee76566c555efeab87d3ca9a60448f717559f97\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/373\n"
    },
    {
      "commit": "8eb900e83060ee3902db8bc9e9911a91a6657427",
      "tree": "990a42e37c0cf78d524af649e3911c1ee969e0f8",
      "parents": [
        "19e34a82d21e8539c22716de17945d5082486f68"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 22:02:07 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: By default, build native targets last\n\nThe \"native\" targets don\u0027t require emulation, hence run a lot\nfaster. Testing them last helps to run more in parallel.\n\nChange-Id: I9d6b6cd5d65322e3cbfe60adeb58cef99b246a08\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/372\n"
    },
    {
      "commit": "19e34a82d21e8539c22716de17945d5082486f68",
      "tree": "c58e5548eee4e9c9572326b1169b95b5512066e2",
      "parents": [
        "6f04c71ccfbf3e1821829f1e6ebb606bf8658565"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 12:04:11 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: Re-arrange order of test targets\n\nPut slower targets first, so we can parallelize better. AlmaLinux\nlacks `cchache`,  hence they are very slow.  Also, newer versions\nseem to stress QEMU a lot more (maybe due to more complex instruc-\ntions used?).\n\nChange-Id: Ied30ffb3d17ae78b6a313890548e97a7cad6af90\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/371\n"
    },
    {
      "commit": "6f04c71ccfbf3e1821829f1e6ebb606bf8658565",
      "tree": "1fa1d5cd08e546089b3c777ff37638fac4551cc1",
      "parents": [
        "1b20b7f88489ca2582e9b56a6d3241873f1839e9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Nov 22 12:20:17 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/ubuntu: Add Resolute Raccoon (26.04) prelim.\n\nChange-Id: Ifb154d11d087a5128121bc9ce2c970f662d9925b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/370\n"
    },
    {
      "commit": "1b20b7f88489ca2582e9b56a6d3241873f1839e9",
      "tree": "8cad7f462cf2afa1e2682f5782079e15e2959a6d",
      "parents": [
        "dc2f156366640ddd55e5c2e298d884fcf6c3d421"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Nov 22 12:19:07 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/alpine: List arm32 targets with QEMU issues as broken\n\nChange-Id: I82686536127b1db4d42374ca6249030bacc856eb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/369\n"
    },
    {
      "commit": "dc2f156366640ddd55e5c2e298d884fcf6c3d421",
      "tree": "ee269c57dc82fb57fc62facd09c1c991b5753f3e",
      "parents": [
        "4a4b6b5508d4d6e5839ebf71a18842a8c2f87151"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 16 16:44:26 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/alpine: Fix building images w/o libjaylink\n\nIf not all packages can be installed with an `apk add` command, none\nare. We\u0027d have to run `apk` multiple times. However, `libgpiod` and\n`meson` are available in all used releases now, so we can always\ninstall them.\n\nChange-Id: I992b8f47a6b670a150228417a41281abe14ac27e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/368\n"
    },
    {
      "commit": "4a4b6b5508d4d6e5839ebf71a18842a8c2f87151",
      "tree": "01e7d2cc29acc99973a876ce99d4751519d69bbe",
      "parents": [
        "d038ab2abdec1db9f0dabf59987d7f7c3750f23f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 13:45:00 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/alpine: Install Clang for select container\n\nThis adds Clang 19 to our build tests.\n\nChange-Id: I5e3648b759a5c9604621c0436036bc91f594960b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/367\n"
    },
    {
      "commit": "d038ab2abdec1db9f0dabf59987d7f7c3750f23f",
      "tree": "83a2afc9561bb294c01fceec7353515e7c1904ef",
      "parents": [
        "16a4a95894d5c4df76c9499b10d43bfd2a69a3e2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 15:56:22 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/alpine: Allow to install additional packages\n\nChange-Id: I2639f611880dd66bd54c18e0934bae5f7b14d04e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/366\n"
    },
    {
      "commit": "16a4a95894d5c4df76c9499b10d43bfd2a69a3e2",
      "tree": "6ac2aba106d3eeeb085bb5d5b34c4a983dc334dd",
      "parents": [
        "806cfdbb34deec854c549c38a5928875a1753467"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 13:45:00 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/debian: Install Clang for select containers\n\nThis adds Clang 11 and 14 to our build tests.\n\nChange-Id: I8b3cc241732e2a60ca94bdccda01896cd7bec0c3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/365\n"
    },
    {
      "commit": "806cfdbb34deec854c549c38a5928875a1753467",
      "tree": "a256ee16dabbf5c317061fa54b5a94e7e6e739c8",
      "parents": [
        "c5942ebbf2132cf1961de8c48fa72abed1a6b1e1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 13:24:10 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/debian: Allow to install additional packages\n\nChange-Id: I276b2e7da21f934c9e114567a40820f095a7162b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/364\n"
    },
    {
      "commit": "c5942ebbf2132cf1961de8c48fa72abed1a6b1e1",
      "tree": "2b9ff76294e968b13607cc7dc6b905f4d089b966",
      "parents": [
        "3c16b70214123126337de88e5fac4be071b73b2e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 13:17:58 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/debian: Use `source\u0027 container instead of remote repo\n\nOlder versions couldn\u0027t be built anymore because they lack modern TLS\nrequired to access sourcearcade.org.  Using local repositories avoids\nthe trouble.  For the affected, old containers,  this also means that\nall revisions to test will have to be available locally.\n\nChange-Id: I551f11590387c5c78ca97e9fa09d156f6049ad0b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/363\n"
    },
    {
      "commit": "3c16b70214123126337de88e5fac4be071b73b2e",
      "tree": "9f130921f1a000df32341ea87958e44fee5b982b",
      "parents": [
        "dea89845c31e86d838c8faedffd82a8c6357f95a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 16 16:47:39 2025 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder/debian: Drop abandoned targets, add Trixie\n\nBuster is end of life. Bullseye ppc64 and mips also seem abandoned.\n\nChange-Id: Ie1c49319d41e3c9295eb5a176540502136269f48\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/362\n"
    },
    {
      "commit": "dea89845c31e86d838c8faedffd82a8c6357f95a",
      "tree": "b71dcbc93249922e34d270c0a4b84d402e2b5b2c",
      "parents": [
        "a26907dc97c35d6e8c40a66542570332e4bf844e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 13:13:31 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: Prepare a `source\u0027 container from local repository\n\nClone the local repository into a `mani/source\u0027 container. This can be\ncopied during the build of our test containers,  to avoid cloning over\nnetwork.\n\nChange-Id: I28fea93f9f77aa4d41143046081f4c6fd743c12e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/361\n"
    },
    {
      "commit": "a26907dc97c35d6e8c40a66542570332e4bf844e",
      "tree": "a2b25123b609b8e7ed97f699b367836a37dd596b",
      "parents": [
        "73bef7225546bd0fd5b64e207c56a68b684037dc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 16:02:41 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: Add newest AlmaLinux, Fedora and Alpine versions\n\nChange-Id: Icd66f66e7515ab413f066bfaa2d83f00c39c2144\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/360\n"
    },
    {
      "commit": "73bef7225546bd0fd5b64e207c56a68b684037dc",
      "tree": "8082835f056ed483bd46999446ff3f02672e46f6",
      "parents": [
        "c37cf1e15d352c8f91d50ce806c6c474442ecdae"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 16:01:52 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: Drop old, unsupported Fedora and Alpine versions\n\nChange-Id: I4f6e8df61118c80ae43cd1f918fcc5bc1f81e2d4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/359\n"
    },
    {
      "commit": "c37cf1e15d352c8f91d50ce806c6c474442ecdae",
      "tree": "6ef078696107d07bbeb06c628f0afe4c27918395",
      "parents": [
        "f8785ae185e716d70a40be4fe483e2029d19011f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 22:01:14 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: Drop abandoned Dockerfile.centos\n\nChange-Id: I15af6157f49f4a7ce36f53a0d7c47c07474cbd52\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/358\n"
    },
    {
      "commit": "f8785ae185e716d70a40be4fe483e2029d19011f",
      "tree": "72c0b951a22d026b4d2876a5f5540def9c7f96e8",
      "parents": [
        "906f693766deaaf8dc028fa722e40e2636ea7acc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 13:05:34 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "manibuilder: Pass explicit `--plattform\u0027 for official images\n\n`docker build` used to assume the only available platform for images\nfrom the per-architecture repositories (e.g. arm32v7/debian). The new\n`buildx` doesn\u0027t do that anymore. So we\u0027ll pass the platform explicitly.\n\nChange-Id: Ic0f72500d2560c293f0abca7c5f1c2fd3f0bb30e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/357\n"
    },
    {
      "commit": "906f693766deaaf8dc028fa722e40e2636ea7acc",
      "tree": "8469c0ff1a53591db58452b16679962bdc01ac19",
      "parents": [
        "9d09e0f18fc48ae0e02ca82c6dba75b5b3a169bb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 01 16:39:22 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:50:57 2025 +0000"
      },
      "message": "test_build.sh: Re-run tests with `clang` if available\n\nIf ${CC} ends with `cc\u0027, doesn\u0027t look like Clang, and `clang` is\nexecutable, repeat the test run with Clang.\n\nChange-Id: Ib2afe759af9d2077bbacdd98a6a553668f6db5e5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/356\n"
    },
    {
      "commit": "9d09e0f18fc48ae0e02ca82c6dba75b5b3a169bb",
      "tree": "0d093a00f516fae235d57f4573daf38b682c8791",
      "parents": [
        "e82a29bfba789d72c6893eb0109482ce4de5ca67"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 22:55:10 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:20:34 2025 +0000"
      },
      "message": "make/meson: Generate a `version.h\u0027\n\nUsing a header file allows us to  keep the version string out of the\ncompiler command line. This should heavily increase direct hits with\nccache. Specifying the compiler argument for a single source file is\nrather clumsy with Meson, hence the more pompous header file.\n\nChange-Id: If6c4e33e4944d2b264252dbcd2fd69ecf7bd8905\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/355\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "e82a29bfba789d72c6893eb0109482ce4de5ca67",
      "tree": "96c04143849157f43767f8e8cdd78c242089412f",
      "parents": [
        "dbf50334a199f6721c0c4e4cae8bedfe5d24db76"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 22:52:42 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 17 20:20:34 2025 +0000"
      },
      "message": "meson: Use correct version string for manual pages\n\nThe `version\u0027 variable has the prefix of the Git tag\n(e.g. `v\u0027 or `p\u0027) stripped.  So use the full version\nstring instead.\n\nChange-Id: I67fbc3c34d74cf0e1b69545a88636aabc78d8ea7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/354\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "dbf50334a199f6721c0c4e4cae8bedfe5d24db76",
      "tree": "fccfbece9a33da0efd598cc2fa98e9ae33a478c5",
      "parents": [
        "e060018655f802896dc226832d25e223102889c8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 02 14:02:51 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 09 20:53:39 2025 +0000"
      },
      "message": "linux_mtd: Use sizeof() instead of strlen() on constant string\n\nNewer Clang warns about using strlen() to calculate an array length\n(results in a variable-length array w/o GNU extensions).\n\nChange-Id: I30bef896104b315082d2d74984f3e43557d24656\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/333\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "e060018655f802896dc226832d25e223102889c8",
      "tree": "ffb01d5b4cabd734e6676fb48b4e7b87f35a7828",
      "parents": [
        "ff9526b8039e69310d4af13d5d7665b4002d8450"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 01 12:29:28 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 16:16:09 2025 +0000"
      },
      "message": "flashchips: Explicitly zero-initialize in .qpi_read_params\n\nThe last number was left out on purpose for GD25LE255E, because the\nsetting is reserved. Clang is picky about this case, though, due to\n`-Wmissing-field-initializers\u0027.\n\nChange-Id: I0a6915d37a4413eecc33ac88d2e20ad6a327cd38\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/332\n"
    },
    {
      "commit": "ff9526b8039e69310d4af13d5d7665b4002d8450",
      "tree": "3dd6a2f3ed2804643072cfe8f2a0aca758c92104",
      "parents": [
        "5a72cfb13afacb69a991199d568a5b7e253c6d2a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 21:52:02 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 16:16:09 2025 +0000"
      },
      "message": "dediprog: Use dual-i/o default only for SF600Plus-G2\n\nEven with protocol v3, problems have been witnessed with an SF600Plus.\nIt seems we have to test and whitelist programmers individually.\n\nTested with SF600Plus-G2: dual-i/o is still the default.\n\nChange-Id: I435ef44d4461c3ffda8b1e39673e69106a99a23d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/330\n"
    },
    {
      "commit": "5a72cfb13afacb69a991199d568a5b7e253c6d2a",
      "tree": "8a70766a62e2181fdaabadc15ae9011e72c5592e",
      "parents": [
        "284d55b9554f14086fdfa94fedac1313a7da3457"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 26 23:47:14 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 16:16:09 2025 +0000"
      },
      "message": "flashchips: Fix block-protection bits for 4BA Puya chips\n\nLike many other 4BA chips with \u003e\u003d 32MiB flash space, these chips use\na fourth BP bit to encode the size of the protected area. The TB bit\ntakes the SEC bit\u0027s place, which is sacrificed.\n\nChange-Id: Iac2c817e8650d4d57ff94d41eba49f84cbb66d7d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/329\n"
    },
    {
      "commit": "284d55b9554f14086fdfa94fedac1313a7da3457",
      "tree": "108290ef32568b61cc112e5c9dd6f08926a01e6f",
      "parents": [
        "37e07a86a652467c14afaaff08af17da019f2166"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 26 23:37:49 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 16:16:09 2025 +0000"
      },
      "message": "flashchips: Add WPS bit description for GD25Q128C\n\nThis seems to be the only GigaDevice chip in our database with\na WPS bit in a regular status register.\n\nChange-Id: If08aa4c4f90291e9b8b975565b5fa808773442bb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/328\n"
    },
    {
      "commit": "37e07a86a652467c14afaaff08af17da019f2166",
      "tree": "8520d91487990da1223ffba9eb1f4714aee0dabb",
      "parents": [
        "3646b18f69a3461bf9353b0dd909fadfdc32f147"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 26 23:26:59 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 03 16:16:09 2025 +0000"
      },
      "message": "flashchips: Add missing QE bit descriptions\n\nWinbond and XTX chips have QE bits. These were missed when adding\nquad-i/o support initially. Found by checking for irregularities\nin chips with quad-i/o support but no `.qe` entry.\n\nChange-Id: Id47e9ac9eb487140340349895f771adbe42c87fd\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/327\n"
    },
    {
      "commit": "3646b18f69a3461bf9353b0dd909fadfdc32f147",
      "tree": "6ad6b9cf08961d0b5690e2791f2a16f7b4e3643c",
      "parents": [
        "d4eb532cf1f6370f06761bb89786831587bec117"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 23:44:37 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 20:58:30 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25LF128E 166MHz, 1.8V part\n\nThis one has dummy-cycles configuration bits  that control the\nquad-i/o fast read command. Otherwise it supports the standard\nset of QPI commands and all usual block-protection bits except\nWPS.\n\nDatasheet used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230627/DS-00632-GD25LF128E-Rev1.3.pdf\n\nChange-Id: Id43ca44f66002f3038460be2bbf595de31956a51\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/308\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d4eb532cf1f6370f06761bb89786831587bec117",
      "tree": "6ed282807c1d1488963ddda99a4cc509e512ebc8",
      "parents": [
        "38d037fc5bf75068c608ef24af5dc9bd26456263"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 23:26:04 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 20:58:30 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25LF80E..GD25LF64E 166MHz, 1.8V parts\n\nThese chips are supposed to have full QPI support and all known block-\nprotection features except WPS.  Only one quirk was found in the data-\nsheets: the fast-read quad-i/o command uses 10 dummy cycles instead of\nthe usual 6.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240914/DS-00678-GD25LF80E-Rev1.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230627/DS-00677-GD25LF16E-Rev1.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230627/DS-00676-GD25LF32E-Rev1.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240729/DS-00636-GD25LF64E-Rev1.4.pdf\n\nChange-Id: I2b57bfdd38f354867aa242d040b17e860c8734f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/307\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "38d037fc5bf75068c608ef24af5dc9bd26456263",
      "tree": "dd8ed6fb6169d4a79e7a9674d58010916497b8b1",
      "parents": [
        "1da029331d6dade08ed181f8b2c87d3cf02a0489"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 18:25:55 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 20:58:30 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25LB512MF..GD55LB02GF 1.8V parts\n\nAgain, very similar to their 256Mbit counter parts.  There are non-\nvolatile dummy-cycle bits  that control DIO and QIO commands in the\nSPI mode, hence disable those. QPI works with a set-read-parameters\ncommand, so shouldn\u0027t be affected.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20231213/DS-01012-GD25LB512MF-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-01017-GD25LR512MF-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20231213/DS-01013-GD55LB01GF-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240729/DS-01015-GD55LB02GF-Rev1.1-773.pdf\n\nChange-Id: I5d81bcec3e7c5e4419dceb0fbf2ff60c484decf6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/306\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1da029331d6dade08ed181f8b2c87d3cf02a0489",
      "tree": "7a28ee6f88faf70544015d991e1153e58822aa2b",
      "parents": [
        "6d728e6e148d8e34fccf413849f3eebf79a9965f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 17:56:39 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 20:58:30 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25LB512ME..GD55LB02GE 1.8V parts\n\nThe GD25LB512ME shares the ID with GD25LR512ME. All those E versions\nlook much like the 256Mbit GD25LB256E. Copy this and update the sizes.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230627/DS-00580-GD25LB512ME-Rev1.5.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00621-GD25LR512ME-Rev1.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230926/DS-00572-GD55LB01GE-Rev1.4.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230926/DS-00637-GD55LB02GE-Rev1.4.pdf\n\nChange-Id: Ic3ba2a1a7507804f6de611e24606834eb26f19ec\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/305\n"
    },
    {
      "commit": "6d728e6e148d8e34fccf413849f3eebf79a9965f",
      "tree": "9479940aa2fe9c9fbdb92c4398b44f6eaaf26b20",
      "parents": [
        "493a4e05a9feae8ace45e25733d25094b024a217"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 13:07:52 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 20:58:30 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25B512MF..GD55B02GF 3.3V parts\n\nThese F versions seem more regular. Except for a SEC bit, complete\nblock-protection support, and a complete 4BA/QPI command set. How-\never, they also have non-volatile dummy-cycle bits that affect DIO\nand QIO commands in SPI mode.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240412/DS-00975-GD25B512MF-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-01005-GD25R512MF-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240412/DS-00979-GD55B01GF-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240729/DS-00980-GD55B02GF-Rev1.2.pdf\n\nChange-Id: Ia31d3969d5db5ae39dad2d6463456dc7d381ed73\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/300\n"
    },
    {
      "commit": "493a4e05a9feae8ace45e25733d25094b024a217",
      "tree": "d7ba157867be69488c212dcc7549ed1271272bf4",
      "parents": [
        "648dfdc9272f02aaca0217fcdab542a10f45476e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 27 15:15:26 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 27 20:58:30 2025 +0000"
      },
      "message": "flashchips: Update and split GD25Q256D entry\n\nAll these chips support volatile status-register writes. While the\ncommands used by flashprog all seem the same,  newer versions with\nthe same ID differ in their status-register layout / features.  So\nwe add redundant entries.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00285-GD25Q256D-Rev2.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00406-GD25R256D-Rev1.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00327-GD25B256D-Rev1.7.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00398-GD25Q257D-Rev2.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00446-GD25B257D-Rev1.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00526-GD25Q256E-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00750-GD25R256E-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230627/DS-00658-GD25B256E-Rev1.1.pdf\n\nChange-Id: Iee905ab0d72324a0059505713428555308f90207\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/298\n"
    },
    {
      "commit": "648dfdc9272f02aaca0217fcdab542a10f45476e",
      "tree": "023250eb9cd99ffaa07ab8b19bf6ee5b2fd13038",
      "parents": [
        "cfd607d36b8009eb41a7ca8e2a3e96eb9243d37b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 06 23:00:30 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 24 14:18:46 2025 +0000"
      },
      "message": "spi25: Fix cosmetic debug-print error due to unitialized buffer\n\nspi_prepare_address() expects `cmd_buf[0]` to be filled already,\nfor proper debug prints.\n\nChange-Id: I03b45be7e00d00d37b32553df0991a1b608aae35\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/322\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "cfd607d36b8009eb41a7ca8e2a3e96eb9243d37b",
      "tree": "a40041ba8bb70562f8fa832e2630171014d3b7d1",
      "parents": [
        "ec287e2f7645220852130f9d68c3969b83992640"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Dec 22 00:25:58 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 24 10:59:09 2025 +0000"
      },
      "message": "layout: Show a warning if no region is included\n\nThis seems better than a plain success message for a (probably\naccidental) no-op run.\n\nChange-Id: I53b749ce42ecc6c267b6cbe71413d536ec3965c5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/313\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "ec287e2f7645220852130f9d68c3969b83992640",
      "tree": "f62b768ee47c76d5678b42ccc757b4cde9fa2f99",
      "parents": [
        "39a4f7d5a0d89494a3ed92ffa07e7a69f755cbdc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 04 22:43:40 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 24 10:56:47 2025 +0000"
      },
      "message": "ich_descriptors_tool: Change region name EC/BMC -\u003e EC_BMC\n\nThe region names are used to produce file names for extraction.\nThey better not contain any slash.\n\nChange-Id: Id45df466e7a15fac89b8afb390bb21ea6c573d58\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/312\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "39a4f7d5a0d89494a3ed92ffa07e7a69f755cbdc",
      "tree": "bff14ca76e24ec28e6cee0c7a4401c3e72404bed",
      "parents": [
        "404529d755d07f450babca258dcff5f85a8713d9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 04 22:40:37 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 24 10:56:47 2025 +0000"
      },
      "message": "sb600spi: Request more `lspci` details\n\nWhen asking the use for `lspci` output, suggest to use `sudo` and\n`-xxx`. The standard registers dumped with `-x` are not very inte-\nresting, and `-xxx` requires root access.\n\nChange-Id: I7a5bc5eb425542d8109ad504cbf77d33e43459b1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/311\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "404529d755d07f450babca258dcff5f85a8713d9",
      "tree": "d357131655c6ae6e5f14317937b44a10caa8bfea",
      "parents": [
        "fbea0fe4bd35092aee567864653589445edbcdd6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Jan 30 23:14:14 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Feb 24 08:00:28 2025 +0000"
      },
      "message": "memory_bus.c: Add missing copyright notice\n\nThe logic that was moved into `memory_bus.c` was originally introduced\nby commit 4e32ec19 (Refine physical address mapping of flash chips).\nEverything else is just boiler plate.\n\nChange-Id: Ied2e9ba1f55aa79abe705d6bd5314938e670b1f2\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/319\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "fbea0fe4bd35092aee567864653589445edbcdd6",
      "tree": "651920682a8bbb4b91eb9967187c4fedf7416b02",
      "parents": [
        "c90d6c425094d39c1bc1114c64e2560acf073412"
      ],
      "author": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Mon Feb 17 21:50:08 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 20:59:56 2025 +0000"
      },
      "message": "udev rules: Restore mode/group configuration\n\nuaccess grants seat sessions access to the devices, but there might be\nrobot-like setups which need access as well. So, restore the mode/group\nconfiguration and grant users in the `plugdev` group read/write\naccess. This does not conflict with uaccess.\n\nChange-Id: Icf3e2582d7c4313b53a946880d1330079b1e0074\nSigned-off-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/320\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "c90d6c425094d39c1bc1114c64e2560acf073412",
      "tree": "b66c1e54ebd36007afebb90db1b7a8e0d406ff8a",
      "parents": [
        "ee8cf1c9c6218681f78193ba29c890bf9b7ba30a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 02 23:37:59 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 17:23:14 2025 +0000"
      },
      "message": "flashchips: Add some 25LC series EEPROMs\n\nChange-Id: Iff02282cc1b9e76ce681467fb4b228a7f078b06f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/316\nReviewed-by: ftr4 ftr4 \u003cftr4@sharklasers.com\u003e\n"
    },
    {
      "commit": "ee8cf1c9c6218681f78193ba29c890bf9b7ba30a",
      "tree": "63429fd591599bc1bd63e0007d0f648324f4dd80",
      "parents": [
        "4e6155afd4b0e1f5cf190cdd21fa83a656c4088a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 02 23:17:25 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 17:23:14 2025 +0000"
      },
      "message": "Provide no-op probe function, always returning 1\n\nChange-Id: Ic0567a0da29790dbde24c432f3f1d4d109156165\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/315\n"
    },
    {
      "commit": "4e6155afd4b0e1f5cf190cdd21fa83a656c4088a",
      "tree": "395a5592506087f34ec696887eb965ec335f8b5d",
      "parents": [
        "9512c9c16c73e46b6190c9c9fd9ea0555a4d7e24"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 02 23:05:09 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 17:23:14 2025 +0000"
      },
      "message": "spi25: Add SPI25_EEPROM enum and handle \u003c 3-byte addresses\n\nChange-Id: I043f6ea987a07853b8c50e34b3cd63faf995ecbc\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/314\n"
    },
    {
      "commit": "9512c9c16c73e46b6190c9c9fd9ea0555a4d7e24",
      "tree": "64dd2e31837a0feb64034f3404d0d68e2fce9178",
      "parents": [
        "06fbccc61ea5cc8410cb795554dffcfdda111139"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Jan 30 22:38:18 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 17:01:45 2025 +0000"
      },
      "message": "Add missing copyright notices to recently created files\n\nAdd copyright notices for new CLI code (2023), the AMD SPI100\ndriver (2023), and new SPI support code for dual/quad i/o and\nQPI (2024). Initially, some code was moved from `flashprog.c`\ninto `spi25_prepare.c` which dates back to 2017 and 2018.\n\nChange-Id: I980382b8950e2aea6880f4b56df23d4eafc6bb3d\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/318\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "06fbccc61ea5cc8410cb795554dffcfdda111139",
      "tree": "18bea04deb690c8cad0ff1a77ddadbe1147c5bae",
      "parents": [
        "bc001daac6232df01eb4c20e5b701553bcd22ca5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 17:36:28 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25LB256E 1.8V part\n\nThis chip has WPS and DC bits in unsupported configuration registers.\nHence we can\u0027t support QPI and block protection for now.\n\nDatasheet used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230627/DS-00513-GD25LB256E-Rev2.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00573-GD25LR256E-Rev1.6.pdf\n\nChange-Id: I0dab32efab33d34a4c29ca84a5e1e1fe0b408e07\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/304\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "bc001daac6232df01eb4c20e5b701553bcd22ca5",
      "tree": "d855b3746bce72cb0ff6de98506c687c660ec46b",
      "parents": [
        "7d0f556db8e793df25f54504c6ebfccbcf62f292"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 17:11:56 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add some GigaDevice GD25L*256 1.8V parts\n\nHere\u0027s a bunch of chips that all share the same ID. They differ however\nin their block-protection support (which is where we split them), their\nsupport for native 4BA commands, and their logic to configure dummy cy-\ncles in SPI mode.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00301-GD25LQ256D-Rev2.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00282-GD25LE256D-Rev1.7.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00314-GD25LB256D-Rev1.4.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240729/DS-00562-GD25LQ255E-Rev1.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-01085-GD25LQ256H-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-01113-GD25LE256H-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230926/DS-00978-GD25LB256F-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00619-GD25LE255E-Rev1.2.pdf\n\nChange-Id: Id995c53f371c9b83dabe5fb6f881954a7e7f4f59\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/303\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7d0f556db8e793df25f54504c6ebfccbcf62f292",
      "tree": "424f9ca6daba9a658f4a721139221f016a423e3f",
      "parents": [
        "7f8c12d63d214bfd2b3ba841a3e3633ab82d825d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 15:06:22 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Update GigaDevice 1.8V family up to GD25LQ128\n\nThese chips all are supposed to support  volatile status-register writes\nand feature the most usual block-protection bits. The 1.695V limit looks\ncertainly like a typo. All datasheets found start at 1.65V.\n\nDatasheets used:\nhttps://treetoptech.com/Resources/Datasheets/GD25LQ32C_Rev1.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00230-GD25LQ32D-Rev2.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240902/DS-00543-GD25LQ32E-Rev1.6.pdf\nhttps://www.mouser.com/datasheet/2/870/gd25lq64c_rev3_4_20190615-2486443.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240729/DS-00593-GD25LQ64E-Rev1.4.pdf\nhttps://www.tme.com/Document/3677f0b602f733a6800806f5bd7a79f9/gd25lq128c.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00291-GD25LQ128D-Rev1.9.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240729/DS-00533-GD25LQ128E-Rev1.2.pdf\n\nChange-Id: I581c3936fbae43f13b01ebf01bf94e68c3150efd\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/302\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7f8c12d63d214bfd2b3ba841a3e3633ab82d825d",
      "tree": "3b0580d5fe3e86efd8381a99d638022aea639990",
      "parents": [
        "565471ce44b21aa39698b0cd876020b9dbacd690"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 14:24:14 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25LQ20, update family up to GD25LQ16\n\nThey all are supposed to support volatile status-register writes and\nfeature the most usual block-protection bits. The 1.695V limit looks\ncertainly like a typo. All datasheets found start at 1.65V.\n\nDatasheets used:\nhttps://device.report/m/0dd9581d418568153f88153cd3bd298f85f83fba817fc6b242405e98002f7c44.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00347-GD25LQ20C-Rev1.5.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20221129/DS-00785-GD25LQ20E-Rev1.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20221129/DS-00663-GD25LQ40E-Rev1.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00405-GD25LQ80C-Rev1.9.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00583-GD25LQ80E-Rev1.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00289-GD25LQ16C-Rev2.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240902/DS-00576-GD25LQ16E-Rev1.4.pdf\n\nChange-Id: I23b3b199d9c6fd7b42de468cbe8b3945774f15e8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/301\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "565471ce44b21aa39698b0cd876020b9dbacd690",
      "tree": "aee9b5c6f67060e8b580fe44d231287794142ae6",
      "parents": [
        "6ee2f8958e20c30d52758d37a41f8f043345d5ff"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 13:07:52 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add GigaDevice GD25B512ME..GD55B02GE 3.3V parts\n\nThese E versions have different, peculiar IDs (0x47 prefix) and\ndon\u0027t support dual-output/-io commands.  They have special non-\nvolatile dummy-cycle registers,  hence we don\u0027t support QPI and\nblock-protection for now.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230321/DS-00649-GD25B512ME-Rev1.6.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00742-GD25R512ME-Rev1.2.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230321/DS-00650-GD55B01GE-Rev1.4.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230321/DS-00651-GD55B02GE-Rev1.4.pdf\n\nChange-Id: Iffbb5b53383373a5bf677742e2730deaf486883d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/299\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6ee2f8958e20c30d52758d37a41f8f043345d5ff",
      "tree": "4564611b4980dbfea1d0bfde6e439e66a6e07cbe",
      "parents": [
        "c230c69c7d4c8403859c4735241158624eade964"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 27 12:15:50 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Update GigaDevice GD25Q/B/R 128Mbit, 3.3V parts\n\nRename and move the GD25B128B/GD25Q128B entry so that it lives closer to\nthe other similar chips (the B version is just a Q with fixed QE\u003d1, thus\nsort it by Q). All the other, newer chips support volatile status regis-\nter writes, however differ in QIO/QPI support. In particular, the newest\nchips have a non-volatile dummy-cycle configuration bit, which we do not\nsupport at the moment.\n\nDatasheets used:\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00220-GD25Q127C-Rev2.3.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00319-GD25R127D-Rev1.4.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20220714/DS-00277-GD25B127D-Rev1.5.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00480-GD25Q128E-Rev1.4.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-01121-GD25Q128H-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20241211/DS-00751-GD25R128E-Rev1.0.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240902/DS-00594-GD25B128E-Rev1.1.pdf\nhttps://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20240902/DS-01137-GD25B128H-Rev1.1.pdf\n\nChange-Id: If2893e59e73d06ecc542c9eb2bb429f2c4e469b9\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/297\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c230c69c7d4c8403859c4735241158624eade964",
      "tree": "59154a1fc4d6d3a1295bf176d43ed4a425c43c96",
      "parents": [
        "06e0264aa076bb9359274692850bf9010a1fe5c7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 26 01:16:23 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add remaining Puya PY25Q..H 3.3V parts\n\nThe remaining chips use 32-bit addresses (4BA). They seem to support\nthe maximum of fast-read commands, also in QPI/4BA mode.\n\nDatasheets used:\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q256HB_Datasheet_V1.3.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25R256HB_Datasheet_V1.0.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25F256HB_Datasheet_V1.2.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q512HB_Datasheet_V1.2.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25F512HB_Datasheet_V1.2.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q01GHB_Datasheet_V1.2.pdf\n\nChange-Id: I2ace2734d9dcf0920fb12f607d57fc419db8563e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/296\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "06e0264aa076bb9359274692850bf9010a1fe5c7",
      "tree": "c72b5d6086fe5de5c64730bdcc144521c7099d58",
      "parents": [
        "fe21b43203c08f597c1295dba556323e63b3f209"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Oct 26 00:46:11 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Puya PY25Q..H family up to PY25Q128H\n\nThese are all the 3.3V parts of the family  with only 24-bit\naddresses (3BA). First two (PY25Q40HB, PY25Q80HB) don\u0027t have\na configuration register and no WPS bit.  From PY25Q64HA on,\nthe voltage range starts from 2.7V (instead of the 2.3V they\nhad before). There are versions with fixed quad-enable bits.\nAlas, they use different IDs,  so we need duplicate database\nentries again.\n\nDatasheets used:\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q80HB_Datasheet_V1.7.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q16HB_Datasheet_V1.6.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q32HB_Datasheet_V1.7.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q64HA_Datasheet_V1.9.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25F64HA_Datasheet_V1.1.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25Q128HA_Datasheet_V2.0.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25R128HA_Datasheet_V1.0.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25F128HA_Datasheet_V1.2.pdf\n\nChange-Id: I9f97e686604cf722af36c799dc0c5c1e7e942a26\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/295\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "fe21b43203c08f597c1295dba556323e63b3f209",
      "tree": "05161bf0efd4ca85f8483a92d8d014e457332c67",
      "parents": [
        "1c5d8296f9997e6b773352688fce59c24c1aafd5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 25 23:51:05 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add remaining P25Q..H family 3.3V chips\n\nThey all support QPI, and WPS for individual sector protection.\nHowever,  the original P25Q32H and P25Q64H have a different de-\nfault setting for the dummy cycles in QPI mode. Hence, we need\nduplicate database entries once more.\n\nDatasheets used:\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q32H_Datasheet_V1.4.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q32SH_Datasheet_V1.9.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q64H_Datasheet_V1.4.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q64SH_Datasheet_V1.5.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q128H_Datasheet_V1.6.pdf\n\nChange-Id: I700747a6bc1762f113846aa62f55681fa2c8cfbb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/294\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1c5d8296f9997e6b773352688fce59c24c1aafd5",
      "tree": "f1ac20fa75e0d2198f7ef0f132d136b89201d751",
      "parents": [
        "b0cae5e30ef780f73b89b8c4ff43c651a3612698"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 25 23:21:02 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Puya P25Q40SH, P25Q80SH, P25Q16SH 3.3V parts\n\nThese are updated versions of the original `H\u0027 chips. They have\na configuration register that is read/written like a third sta-\ntus register, also support QPI,  and have a WPS bit for indivi-\ndual sector protection. Because of the WPS bit, they need their\nown database entries, even though they share the old IDs.\n\nDatasheets used:\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q40SH_Datasheet_V1.9.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q80SH_Datasheet_V1.5.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q16SH_Datasheet_V1.8.pdf\n\nChange-Id: I203bec24b8f4028f50388fb79350d0bf388f404d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/293\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b0cae5e30ef780f73b89b8c4ff43c651a3612698",
      "tree": "6321ef6d3dbe4140a4094bb63f26fe66dd26d6b3",
      "parents": [
        "b09136b0971913cf7f984355c1005f65575aba44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 25 23:03:40 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Puya P25Q06H, P25Q11H, P25Q21H 3.3V parts\n\nThese look like an update to  the original quad-i/o chips. They\nhave a configuration register that is read/written like a third\nstatus register. Otherwise, they seem very much compatible, but\nhave different IDs.\n\nDatasheet used:\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q21H_11H_06H_Datasheet_V2.1.pdf\n\nChange-Id: I984c574bcfd7275a2234c1db13935c01d12fab72\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/292\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b09136b0971913cf7f984355c1005f65575aba44",
      "tree": "c11416105bf9ff3bb8a8a8b2a1ade79f9e63278c",
      "parents": [
        "ed8b82c17e285de43437325fe7c402186719da8c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 25 22:52:30 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Puya P25Q05..16H 3.3V parts\n\nAll quad-i/o chips with block-protection similar to Winbond. One\nspecialty is a page-erase operation.  At the upper end (P25Q08H,\nP25Q16H), they have a configuration register that is read like a\nthird status register however written like a second (31h, accor-\nding to the datasheets).\n\nDatasheets used:\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q40H_20H_10H_05H_Datasheet_V2.0.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q80H_Datasheet_V1.7.pdf\nhttps://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/P25Q16H_Datasheet_V2.1.pdf\n\nChange-Id: I8ca43d19603cd11fd9cf06d2afc930b1096548d3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/291\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ed8b82c17e285de43437325fe7c402186719da8c",
      "tree": "e252a99cb8978e5fc27eda846dc8c92de9058024",
      "parents": [
        "4a351349eb0e2156adc06cb628f4db64d7857d40"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 22 00:12:03 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Fudan FM25Q128 3.3V part\n\nThis chip has non-volatile DC bits that control the number of dummy\ncycles for all fast-read commands in all modes. As we don\u0027t check\nsuch bits, we don\u0027t enable any fast reads for now. Otherwise it\nlooks well featured. Block protection seems to follow Winbonds\nscheme, however without SEC and SRL bits.\n\nDatasheet used:\nhttp://eng.fmsh.com/nvm/FM25Q128_ds_eng.pdf\n\nChange-Id: I9cda2fdbc13c20eda999555d09c9a847d0192536\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/290\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "4a351349eb0e2156adc06cb628f4db64d7857d40",
      "tree": "9a58cfe7e2eb88a4417b96c0194e042a99e782aa",
      "parents": [
        "7f7bffa8b4c71d0cf652d94c1386284cdd5a012a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Oct 22 00:03:52 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Fudan FM25Q08A 3.3V part\n\nThis chip is almost identical to the older FM25Q08, however\nthe CMP bit is at a different offset. /o\\\n\nDatasheet used:\nhttp://eng.fmsh.com/nvm/FM25Q08A_ds_eng.pdf\n\nChange-Id: I703487c24491d0be1c90579af798bd5c7457148a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/289\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7f7bffa8b4c71d0cf652d94c1386284cdd5a012a",
      "tree": "01c190da882dd96fd5563396a8dba41039ae8ba8",
      "parents": [
        "c591518dca2c097d907787858d177707158bc10e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Oct 21 23:57:11 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Fudan FM25Q64, update FM25Q08..Q32\n\nFor all bits that matter to us,  these chips seem to have the same\nstatus-register layout. The FM25Q64 differs in a few bits that are\nout-of-scope, and additionally supports a WRSR2.\n\nDatasheets used:\nhttp://eng.fmsh.com/nvm/FM25Q08_ds_eng.pdf\nhttp://eng.fmsh.com/nvm/FM25Q16_ds_eng.pdf\nhttp://eng.fmsh.com/nvm/FM25Q32_ds_eng.pdf\nhttp://eng.fmsh.com/nvm/FM25Q64_ds_eng.pdf\n\nChange-Id: I820ed60366d19ab4d87f8c02b4018ffb5591ca5f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/288\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c591518dca2c097d907787858d177707158bc10e",
      "tree": "0bdc1e5ece5d1fc5935c50f845a82a928723ea71",
      "parents": [
        "fea6e16e177fc7a9fd5acd75f812272bcadab163"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Oct 21 23:40:10 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Fudan FM25Q02/Q04 3.3V parts\n\nThese smallest two in the series seem to have the same status-\nregister layout. They look almost feature-complete, with only\na SEC-bit missing.\n\nDatasheets used:\nhttp://eng.fmsh.com/nvm/FM25Q02_ds_eng.pdf\nhttp://eng.fmsh.com/nvm/FM25Q04_ds_eng.pdf\n\nChange-Id: Ic267ddd2b33b63e72ad923f2bbe0af29aaa6bf93\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/287\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "fea6e16e177fc7a9fd5acd75f812272bcadab163",
      "tree": "1a00a179b4076d6b6e885f47547b439c5c87b64d",
      "parents": [
        "56d727e3829923c01b21d4f8d2a281acbb2c83bf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 23:11:57 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Winbond W25Q16JV_M (DTR version)\n\nFully featured 3.3V version of Winbond\u0027s 16Mbit chip.\n\nDatasheet used:\nhttps://www.winbond.com/resource-files/w25q16jv_dtr%20reve%2002092018%20plus.pdf\n\nChange-Id: I3150b4690c73c1118b6819b83b9dfab55ddf3c8f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/286\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "56d727e3829923c01b21d4f8d2a281acbb2c83bf",
      "tree": "3200a071d02f9f5726da294a9577d70d5c2a8570",
      "parents": [
        "c64a80362eabce9bbdc44c79b9d2fbd1e77389c2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 22:46:12 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add newer gen. XTX Tech. XT25F..F 3.3V parts\n\nThese F versions don\u0027t support QPI but have a 3rd status register.\nThere are non-volatile DC bits,  that control the number of dummy\ncycles for dual- and quad-i/o reads. As we don\u0027t check such bits,\nwe only enable dual- and quad-output commands for now.\n\nDatasheets used:\nhttps://en.xtxtech.com/download/?AId\u003d516\nhttps://en.xtxtech.com/download/?AId\u003d257\nhttps://en.xtxtech.com/download/?AId\u003d450\nhttps://en.xtxtech.com/download/?AId\u003d454\nhttps://en.xtxtech.com/download/?AId\u003d531\n\nChange-Id: Icc187d835a65357a72854d0a04c17e9f54beaee9\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/285\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c64a80362eabce9bbdc44c79b9d2fbd1e77389c2",
      "tree": "14a32474129ea9057efa2c3c471b6267edad21ca",
      "parents": [
        "46e42096032e85265b0740b47c86f4975cf365ef"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 19:14:19 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add XTX Tech. XT25F..B 3.3V family\n\nThese are old versions of the 3.3V family, that don\u0027t seem to be\nmanufactured anymore.  Except for the smallest 16Mbit chip, they\nhave QPI support which newer versions lack. The block-protection\nseems to follow Winbond\u0027s model.\n\nDatasheets used:\nhttps://xonstorage.blob.core.windows.net/pdf/xtx_xt25f16bsoigu_xonjuly20_20_link.pdf\nhttps://www.lcsc.com/datasheet/lcsc_datasheet_2410121518_XTX-XT25F32BSOIGU-S_C558851.pdf\nhttps://www.lcsc.com/datasheet/lcsc_datasheet_2411220126_XTX-XT25F64BSSIGU_C3202692.pdf\nhttps://www.lcsc.com/datasheet/lcsc_datasheet_2410121527_XTX-XT25F128BSSIGU_C558845.pdf\n\nChange-Id: Ifc5607674fabf1466155d821e7d5e88886d3b21b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/284\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "46e42096032e85265b0740b47c86f4975cf365ef",
      "tree": "c4d77e4da37ec5b45fc3aafdff84c5c5a76c8095",
      "parents": [
        "6bc88e72d97a140cf657571a2f4a4f3e1c643954"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 18:21:43 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add XTX Tech. XT25F02E/04D/08B 3.3V parts\n\nThese are old chips with rather limited capabilities. Their\nblock-protection ranges are rather special, hence not added\nat the moment.\n\nDatasheets used:\nhttps://en.xtxtech.com/download/?AId\u003d118\nhttps://en.xtxtech.com/download/?AId\u003d136\nhttps://en.xtxtech.com/download/?AId\u003d51\n\nChange-Id: I28ec5087be63b394b0f387ca01e2391823680272\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/283\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "6bc88e72d97a140cf657571a2f4a4f3e1c643954",
      "tree": "58bb0483d5951b1648707ff651a318ffe27b7623",
      "parents": [
        "3cddff471a7c5ada2770bd5c3e928e85fe2d037d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 16:32:08 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Boya/BoHong BY25Q32/64/128 3.3V variants\n\nAdd all remaining 3BA, 3.3V parts of the BY25Q family. Once more,\ndatasheets look very similar.  The whole family supports volatile\nstatus-register writes, three status registers, and all the usual\ndual- and quad-i/o instructions.  Also, they use the common, Win-\nbond-like block protection bits.\n\nDatasheets used:\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q32BS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q32CS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q32ES.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q64AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q64ES.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q128AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q128ES.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q128FS.pdf\n\nChange-Id: Iff9c0459d215669025bc2af8b619fcf17c56f528\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/282\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "3cddff471a7c5ada2770bd5c3e928e85fe2d037d",
      "tree": "2a2b5b44965fbbf695ee172d9bd0ac032b841fb5",
      "parents": [
        "34e3de6f9e89801eb34927bc372a084e934042f2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 15:18:53 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Complete Boya/BoHong BY25D family\n\nExcept for the sizes, the datasheets look the same. All chips support\ndual-output fast reads.  There is some overlap with the BY25Q family,\nbut given the small sizes (2MiB max.), it doesn\u0027t seem worthwhile to\nadd additional entries for these chips.\n\nThe block protection of the BY25Ds is rather peculiar, hence not con-\nfigured:  It looks like hardcoded CMP\u003d1, SEC\u003d1 with 8KiB sectors and\nno 32KiB limit.\n\nDatasheets used:\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D05AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D10AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D20AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D40AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D40ES.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D80AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25D16AS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q80BS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q80ES.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q16BS.pdf\nhttp://en.boyamicro.com/download/SPI_NOR_Flash/BY25Q16ES.pdf\n\nChange-Id: Ie3f8578c152fcedd3ccb60873018d92e1dc80876\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/281\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "34e3de6f9e89801eb34927bc372a084e934042f2",
      "tree": "11a9b565564d0290c0cacd20f18e89313ceceaf9",
      "parents": [
        "f050370395afb0f4658458697984075dce551123"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 13:00:12 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add Zetta Device ZD25LQ64/128 1.8V parts\n\nDatasheets for both look very much the same. Block protection and\nQPI implementations seem to follow Winbond.\n\nDatasheets used:\nhttp://www.zettadevice.com/upload/file/pdf/DS_Zetta_25LQ64_RevA_20180801.pdf\nhttp://www.zettadevice.com/upload/file/20150821/DS_Zetta_25LQ128_RevA_20180815.pdf\n\nChange-Id: Iea8c4076105910b4e0975b02a92f287ded745eae\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/280\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f050370395afb0f4658458697984075dce551123",
      "tree": "1032bb666c324b818d855208faa69a5c2d26e7eb",
      "parents": [
        "d40037a83dd03b91042c0725ba4dac2d6b7ffc92"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 08 16:15:53 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "selfcheck: Check dummy-cycle settings when QPI is advertised\n\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\n\nChange-Id: I8395a721dc12fbe078f63b3af7e6404cc45437fa\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/279\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d40037a83dd03b91042c0725ba4dac2d6b7ffc92",
      "tree": "877e9d73b89d0d0f8174340c0d29ff890b46e96b",
      "parents": [
        "2a1036b98c44529c64db645c481c0b35c81b21b0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 23:20:46 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "selfcheck: Check for WP functions when BP bits are given\n\nWhen block-protect bits in a status/configuration register are\nadvertised, check for the respective function pointers.\n\nChange-Id: I3cabb7ecbe7b21371720690b8f08a922b3b4c4aa\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/278\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "2a1036b98c44529c64db645c481c0b35c81b21b0",
      "tree": "c72d463a2c50ce6f3145a38637094bedbb9b56a7",
      "parents": [
        "d4e41d353604cb19938305590efbc81642152422"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Oct 20 23:19:49 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Fix up GD25Q128C write-protect support\n\nThe SPI write-protection functions were missing in the GD25Q128C\nentry. Fix that.\n\nDatasheet used:\nhttps://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf\n\nChange-Id: Ibda9f224fb5f57a0878246c324bceb2089dd70ae\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/277\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d4e41d353604cb19938305590efbc81642152422",
      "tree": "50d1ec87c227b58de5c56723bfb86b6c09b1e305",
      "parents": [
        "04c1cf789b0468de5fd1368469d90b6fc75b3c46"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 18 14:59:54 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 23 12:05:52 2025 +0000"
      },
      "message": "flashchips: Add SST26VF080A\n\nSimple 8Mbit SPI flash, with one caveat though: SFDP reports 0xd8 as\nboth 32KiB and 64KiB eraser.  The datasheet[1] lists this too in the\nSFDP table,  however otherwise consistently states that erase blocks\nare uniform, and lists 0x52 as the 32KiB eraser.  For now, we\u0027ll try\nthe latter.\n\n[1] https://ww1.microchip.com/downloads/aemDocuments/documents/MPD/ProductDocuments/DataSheets/SST26VF080A-2.5V-3.0V-8-Mbit-Serial-Quad-IO-%28SQI%29-Flash-Memory-20006203C.pdf\n\nChange-Id: I7d66ff23ef9ded7365e9c75a1aff0a68678a4ba0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/263\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "04c1cf789b0468de5fd1368469d90b6fc75b3c46",
      "tree": "3a907becee99560f497f6758342bc1d48c712662",
      "parents": [
        "eb2c04185f8f471c768b742d66e4c552effdd9cb"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Thu Jan 09 16:04:45 2025 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 31 11:40:27 2025 +0000"
      },
      "message": "Add .envrc\n\nhttps://direnv.net/ with use nix, requires the shell.nix to be placed at\nthe project root. This is a very common setup.\n\nChange-Id: I6eff8cca03aaa35c68a034ba1f553946c893377c\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/317\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "eb2c04185f8f471c768b742d66e4c552effdd9cb",
      "tree": "a92b76fff56165acb60db7e65e503d13e4d2c33e",
      "parents": [
        "e05e3343366340048c421ab0bfa744ea077185c8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 14 14:22:43 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 21 20:31:44 2024 +0000"
      },
      "message": "cli_wp: Fix bail-out when multiple chips are detected\n\nWe need to bail out in this case, too. Otherwise flashprog tries to\nuse the null pointer `flash\u0027.\n\nChange-Id: Id2588c7e8065169236cf56d67a524779c51f2577\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/310\n"
    },
    {
      "commit": "e05e3343366340048c421ab0bfa744ea077185c8",
      "tree": "0dabe05c1720cf63137fd1df44e03e9ea07a1cff",
      "parents": [
        "efad610a409c48139d8e482b36dca82cc0d73b44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 14 14:08:56 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 21 20:31:44 2024 +0000"
      },
      "message": "cli_common: Rename local `optarg\u0027 variable\n\nSome toolchains complain that this shadows the global from \u003cgetopt.h\u003e.\nAlas,  toolchains seem inconsistent in the decision when to warn about\nshadowing of globals from system headers and when not to.  Hence, just\nrename `optarg\u0027 -\u003e `opt_arg\u0027.\n\nChange-Id: Ic973f6076109156ec5ca77ea032bd13e5a452d5b\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/309\n"
    },
    {
      "commit": "efad610a409c48139d8e482b36dca82cc0d73b44",
      "tree": "984e6c5bc135d1a55afd97d80919419c11ced052",
      "parents": [
        "09289fbb5a4c6c61748844db2b97af0d0e60d319"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 10 15:07:16 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 10 14:20:08 2024 +0000"
      },
      "message": "manibuilder: Include NetBSD (anita tags) in `native\u0027 target\n\nThe NetBSD images can now run with KVM on compatible architectures.\nHence they are a lot faster, and can be treated as native.\n\nChange-Id: Ica5124dba752ea58216adbc15e4a9e1c04100444\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/276\n"
    },
    {
      "commit": "09289fbb5a4c6c61748844db2b97af0d0e60d319",
      "tree": "39099bc88b74802ed4ef5d8d56c64c0bcc19c70b",
      "parents": [
        "1457cc6a0500d006a516b63ede5654dc404a69c3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Nov 09 22:56:25 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Nov 10 14:20:08 2024 +0000"
      },
      "message": "manibuilder: Replace unmaintained DEFAULT_TAGS list\n\nAFAIR, I\u0027ve only used the `working\u0027 target for flashprog releases\nso far. The default became a little stale, so just remove it. For\na quicker test, the `native\u0027 target is still around.\n\nChange-Id: I1dad9ce6dcb1ab77e8c174e801f3b9830b33b190\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/275\n"
    }
  ],
  "next": "1457cc6a0500d006a516b63ede5654dc404a69c3"
}
