)]}'
{
  "commit": "3d728e7524fe086e90779ea76bf2f9bd02cdf6de",
  "tree": "74d3bec50d87ac2fc45c1c2beaf5d780e6acda4a",
  "parents": [
    "a358b14d2e7e93e317499a687223ada2d221a36a"
  ],
  "author": {
    "name": "Sergii Dmytruk",
    "email": "sergii.dmytruk@3mdeb.com",
    "time": "Sat Nov 27 15:14:27 2021 +0200"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Mon Jul 22 10:08:47 2024 +0000"
  },
  "message": "spi25_statusreg.c: support reading security register\n\nNot to be confused with \"secure registers\" of OTP.\n\nSecurity register is a dedicated status register for security-related\nbits. You don\u0027t write its value directly, issuing special write commands\nwith no data set separate OTP bits to 1 automatically (WRSCUR, WPSEL\ncommands). No WREN is necessary, but at least some datasheets indicate\nBUSY state after those write commands.\n\nUnlike cases where OTP bit is part of SR and can only be written while\nin OTP mode, security register can only be written outside of the mode.\n\nThe register is found in at least these chips by Macronix:\n * MX25L6436E\n * MX25L6445E\n * MX25L6465E\n * MX25L6473E\n\nPorted to flashprog w/o the FEATURE_SCUR flag, we\u0027ll already have that\ninformation in the register description.\n\nChange-Id: Iae1753ca4cb051127a5bcbeba7f064053adb8dae\nSigned-off-by: Sergii Dmytruk \u003csergii.dmytruk@3mdeb.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/59709\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nOriginal-Reviewed-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/71006\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfc9c4e274becff32a712893a1352534c7320fb1",
      "old_mode": 33188,
      "old_path": "include/flash.h",
      "new_id": "f2a1818e691dd9ad1966ccb369944abb7f2e3cc4",
      "new_mode": 33188,
      "new_path": "include/flash.h"
    },
    {
      "type": "modify",
      "old_id": "dc09b8e3f88f6428373110274e69b2cefefcda32",
      "old_mode": 33188,
      "old_path": "include/spi.h",
      "new_id": "9e655fc88204fcacc34902ca2b1fb2826e5a2999",
      "new_mode": 33188,
      "new_path": "include/spi.h"
    },
    {
      "type": "modify",
      "old_id": "5dbba75cad6786e59d35767e34e0e30e991a3620",
      "old_mode": 33188,
      "old_path": "spi25_statusreg.c",
      "new_id": "1e6a87092d93766013172beb0161eb235055101c",
      "new_mode": 33188,
      "new_path": "spi25_statusreg.c"
    }
  ]
}
