)]}'
{
  "commit": "e96730f7612a3fb85637d8d91645355806752c8a",
  "tree": "9a2dfa88c8453e5d8994ad5fa0f054d7fe30bb29",
  "parents": [
    "34ca5429362fbdcdf204293bf8b78bbda2e15ea9"
  ],
  "author": {
    "name": "Timothy Chen",
    "email": "timothytim@google.com",
    "time": "Mon Sep 14 23:10:42 2020 -0700"
  },
  "committer": {
    "name": "tjaychen",
    "email": "timothytim@google.com",
    "time": "Thu Sep 17 17:12:53 2020 -0700"
  },
  "message": "[flash_ctrl] Add ECC to program / erase datapaths\n\n- New parameters are defined to represent the \"metadata\" of flas\n  - Software only has direct access to data portion\n  - Metadata area is used for empty detection as well as ECC\n  - There are currently no plans to make metadata directly accessible to\n    software, although that can be done.\n- ECC and scramble are always disabled / enabled at the same time.\n- ECC is calculated on the scrambled data.\n- There is no good DV / verilator support yet, To get around the issue,\n  prim_generic_flash instantiates a memory for main, and another for metadata.\n  - long term there will need to be a better backdoor solution to flash.\n- ECC uncorrectable errors are forwarded up to both the host / controller\n- When an uncorrectable error occurs, all F\u0027s are returned to the reading agent.\n\nSigned-off-by: Timothy Chen \u003ctimothytim@google.com\u003e\n\n[flash_ctrl] update for review comments\n\nSigned-off-by: Timothy Chen \u003ctimothytim@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb5b6d0498f3200c606c4958244ce59c2040fe4b",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/flash_ctrl.core",
      "new_id": "f0ad240c48ec2dd6689c90dba020c675b60dd6f2",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/flash_ctrl.core"
    },
    {
      "type": "modify",
      "old_id": "d5bbda4818bea6d6be8f8d8fb3351f87e6a95308",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_ctrl.sv",
      "new_id": "c3162c1883629ce11762ba27ea950f6d1cb50e1c",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_ctrl.sv"
    },
    {
      "type": "modify",
      "old_id": "ffdbc887fef04e2c353e230cbd39f21b6993ded7",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv",
      "new_id": "0ed379effb7e169c68f5917077a4a199ee3f27ed",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv"
    },
    {
      "type": "modify",
      "old_id": "583a4250d02bcd349711b339ab1d581de470fa0e",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_ctrl_rd.sv",
      "new_id": "2f9545b3bab3f19a4fb8692c751f5f5bb30f7289",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_ctrl_rd.sv"
    },
    {
      "type": "modify",
      "old_id": "8f52256a366927c1bd6f151569d8040050e511a8",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_phy.sv",
      "new_id": "c58ee213c0e23f65fad9f2658e78d43ea6d701a1",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_phy.sv"
    },
    {
      "type": "modify",
      "old_id": "bf57e16e98a7c291d486b3134871366028ace696",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_phy_core.sv",
      "new_id": "746464f65d1cbc0b7ab6f7f86e3c99ee667bc044",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_phy_core.sv"
    },
    {
      "type": "modify",
      "old_id": "738ff86395e01cd0babbca38a6846ab492801c2c",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_phy_pkg.sv",
      "new_id": "949b151e1d8d285c43e1f8cd5a34a0f865ff5d67",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_phy_pkg.sv"
    },
    {
      "type": "modify",
      "old_id": "d64cf8fe6a0413675d3d2c82f19b463072a9bf13",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_phy_prog.sv",
      "new_id": "cf273e96621e6ddf0596b32b78f3b5bedb51948d",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_phy_prog.sv"
    },
    {
      "type": "modify",
      "old_id": "14855ae36cc4be5f37beff6a34973a6b871c19aa",
      "old_mode": 33188,
      "old_path": "hw/ip/flash_ctrl/rtl/flash_phy_rd.sv",
      "new_id": "9e000735a5b1c142db62d7748a9acc551ecd795e",
      "new_mode": 33188,
      "new_path": "hw/ip/flash_ctrl/rtl/flash_phy_rd.sv"
    },
    {
      "type": "modify",
      "old_id": "02b18224b1a61e911684168cfe985bb38d2bd53c",
      "old_mode": 33188,
      "old_path": "hw/ip/prim/rtl/prim_secded_72_64_dec.sv",
      "new_id": "eb4ad3ed16da5e25e4c28980737571750d56a4c1",
      "new_mode": 33188,
      "new_path": "hw/ip/prim/rtl/prim_secded_72_64_dec.sv"
    },
    {
      "type": "modify",
      "old_id": "207c45ca8e9c233d02f88fe0312b9edc6e2775c8",
      "old_mode": 33188,
      "old_path": "hw/ip/prim/rtl/prim_secded_72_64_enc.sv",
      "new_id": "cf89f379dba40616da838755d967d128fd5c6646",
      "new_mode": 33188,
      "new_path": "hw/ip/prim/rtl/prim_secded_72_64_enc.sv"
    },
    {
      "type": "modify",
      "old_id": "b6962d7f2e62c1c262e49efe1ccb949a7ab7c99e",
      "old_mode": 33188,
      "old_path": "hw/ip/prim_generic/rtl/prim_generic_flash.sv",
      "new_id": "718c1b9e902bef0b82baf19e4ac0eedb56f52f24",
      "new_mode": 33188,
      "new_path": "hw/ip/prim_generic/rtl/prim_generic_flash.sv"
    },
    {
      "type": "modify",
      "old_id": "37c66125006ad78a622c0b170d2d420f4455c101",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/data/top_earlgrey.sv.tpl",
      "new_id": "b7c98a30155cb50fdcaacf93d687de79789ed207",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/data/top_earlgrey.sv.tpl"
    },
    {
      "type": "modify",
      "old_id": "50269e2edf389144aa7e91ef52fcb7cfafece1f9",
      "old_mode": 33188,
      "old_path": "hw/top_earlgrey/rtl/top_pkg.sv",
      "new_id": "58a843881296795267c83feefd276310a270e02f",
      "new_mode": 33188,
      "new_path": "hw/top_earlgrey/rtl/top_pkg.sv"
    }
  ]
}
