)]}'
{
  "commit": "c6cbdac84a99e580ba8e3d3e668bf797fe3f57a3",
  "tree": "f2c9796ad574d66b4605f742602cb7ec5c733611",
  "parents": [
    "b2c650bb25f3e2dd94e08df2072f89085f076cec"
  ],
  "author": {
    "name": "Anthony Rocha",
    "email": "anthony.rocha@amd.com",
    "time": "Mon Jun 01 22:45:29 2026 -0700"
  },
  "committer": {
    "name": "Anthony Rocha",
    "email": "anthony.rocha@amd.com",
    "time": "Mon Jun 01 22:45:29 2026 -0700"
  },
  "message": "Add i3c module with pointer-based architecture and minimal coupling\n\nIntegrate i3c controller from aspeed-rust into peripherals crate with:\n- Raw pointer architecture: Replace generic Instance trait with direct\n  *const pointers to i3c and i3cglobal register blocks\n- Yield closure pattern: Use Y: FnMut(u32) for cooperative polling instead\n  of blocking DelayNs trait calls\n- No SCU coupling: Remove all SCU reset/clock operations; caller responsible\n  for pre-initialization\n- No Logger coupling: Remove Logger trait; provide no-op stubs in common.rs\n- Aligned with i2c module design: Minimal hardware abstraction layer with\n  safe helper methods for register access\n\nComplete build with all tests passing.\n\nCo-Authored-By: Claude Haiku 4.5 \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5da2edcb4f62b0032ab3bc6c0cf9a34ebe11c81e",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/BUILD.bazel",
      "new_id": "2831dacf44d4e10d2715920a7447a39f48e3ac51",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4e9b8285c1d919f53f0f3415dd63fb807ceb56ea",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/common.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd93e4f2f4d8a914930e15c2fd1c3ffcad93de89",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/ccc.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "380f6012fd3663fa305c2f87feb67ab91be66722",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/config.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "76d29052a88f90c36e8be90592847c19ca502ae6",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/constants.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3ffbc6098babae0a1d8dda5bf0bc247f82b52255",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/controller.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8fe681c1279fc4eb4c52ab73add0be363aefa85d",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/error.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "647d09ca1a0ebfdc4d7a79b2b11e821465312c4f",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/hal_impl.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "34272335d11b029f3f1fda3a65cb8b801d2349fb",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/hardware.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e8f5a42a9c2cc7982f68365330d921a0e6dbd5c7",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/ibi.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7703e8f38f167ab99261fdf681e0cec9b3a31ea9",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/mod.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "814174e01a80a566e785eaa7a27b5eb8e6f3aae8",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/i3c/types.rs"
    },
    {
      "type": "modify",
      "old_id": "4ae0fac927565d997fee87e5e0f1631395c9eaf3",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/lib.rs",
      "new_id": "5cb465d8ec46652f395975d95743baea32367466",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "c878162b3f403beb4fcb59e2c17be2d0147cf25c",
      "old_mode": 33188,
      "old_path": "third_party/crates_io/Cargo.toml",
      "new_id": "10f0137ea850fde6f94d7d88b280a78efc1cebce",
      "new_mode": 33188,
      "new_path": "third_party/crates_io/Cargo.toml"
    }
  ]
}
