)]}'
{
  "commit": "1b762850e34f0fb103369351dff7bccca0e926ab",
  "tree": "aa2bbca5d011eae3d09a0fa024b01a8c8fdccf7e",
  "parents": [
    "568463889c89a9e5c85c175044044e0daa3e1e1d"
  ],
  "author": {
    "name": "Michael Schaffner",
    "email": "msf@opentitan.org",
    "time": "Fri Sep 11 16:39:35 2020 -0700"
  },
  "committer": {
    "name": "Michael Schaffner",
    "email": "msf@google.com",
    "time": "Thu Sep 17 16:11:58 2020 -0700"
  },
  "message": "[otp_ctrl] First cut implementation of the OTP controller\n\nThis adds an initial implementation of the OTP controller.\n\nStill missing are:\n- LFSR timer for triggering integrity/consistency checks\n- Life cycle interface\n- Scrambling key derivation\n\nSigned-off-by: Michael Schaffner \u003cmsf@opentitan.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9ec1cd1bdb5d0843ea7b672d4f7184c100690bc1",
      "old_mode": 33188,
      "old_path": "hw/ip/otp_ctrl/rtl/otp_ctrl.sv",
      "new_id": "889bb3a91ba46a5affea1fd961a83b6ed9a8ada1",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl.sv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "054b7021cecaa3f86a496f20d5f129a077dd58e7",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_dai.sv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e47aa4057ebe1526550f16e1034fc4204bb027c",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_lci.sv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "34bd250b20b04ca3eb1b2c4d5e4f0097c62303a1",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_parity_reg.sv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "170cc84a0294a52f519bda2156275c8db562c568",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_part_buf.sv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dde86e400bd1208a94755cbe83cf0e0513faa35c",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_part_unbuf.sv"
    },
    {
      "type": "modify",
      "old_id": "383f4c3858cc7632957104a39247f06c09d0bff4",
      "old_mode": 33188,
      "old_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_pkg.sv",
      "new_id": "8e5c685c8716cf8ba2358331e56a1f920d78db6b",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_pkg.sv"
    },
    {
      "type": "modify",
      "old_id": "19e77d3d1898dfa18ae84fac40f4d743da5f7976",
      "old_mode": 33188,
      "old_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_scrmbl.sv",
      "new_id": "39f270d876142dbc89c49ed100cfcbff0288405b",
      "new_mode": 33188,
      "new_path": "hw/ip/otp_ctrl/rtl/otp_ctrl_scrmbl.sv"
    },
    {
      "type": "modify",
      "old_id": "e0141d9f942171000292c871b2c9543dd062b252",
      "old_mode": 33188,
      "old_path": "hw/ip/prim_generic/rtl/prim_generic_otp.sv",
      "new_id": "c6ed0317282507c5455845737b857b7765c77f55",
      "new_mode": 33188,
      "new_path": "hw/ip/prim_generic/rtl/prim_generic_otp.sv"
    }
  ]
}
