)]}'
{
  "commit": "6326315c5c307829803b366fc1890bb44144a3a6",
  "tree": "95908e2cb516b938883163d556efaba4c49407ba",
  "parents": [
    "476b8ef116e4008cc011dee2e7db67bf81b57faa"
  ],
  "author": {
    "name": "Steven Lee",
    "email": "steven_lee@aspeedtech.com",
    "time": "Thu Jun 11 17:52:21 2026 +0800"
  },
  "committer": {
    "name": "Anthony Rocha",
    "email": "116300062+rusty1968@users.noreply.github.com",
    "time": "Wed Jun 24 08:23:08 2026 -0700"
  },
  "message": "target/ast10x0/peripherals/sgpiom: add interrupts and harden validation\n\nAdd SGPIOM interrupt support and tighten descriptor/output handling.\n\n- Implement HAL GpioInterrupt for SgpiomBankPort (configure sensitivity,\n  enable/disable/clear/query); callbacks return UnsupportedFlags.\n- RMW outputs via output-latch readback, not port_get_raw (samples input).\n- Replace BankDevice::new with from_pin_offset; add reserved-pin mask and\n  validate_mask; reject ngpios \u003e 128.\n- Extend sgpiom_smoke for the IRQ path; add sgpiom_irq integration test.\n- Tooling: bound u32/ngpios/pin_offset, exclude bool from int checks,\n  escape Rust string literals, index RESERVED_PINS_* by position.\n\nSigned-off-by: Steven Lee \u003csteven_lee@aspeedtech.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7655161a664177bc4c5f29ab29187284e84c580d",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/scu/pinctrl.rs",
      "new_id": "d399716832881d9aeff914344d5f713480102041",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/scu/pinctrl.rs"
    },
    {
      "type": "modify",
      "old_id": "9bba5e04614a0ef9bfa8ef93980ad15d873ab1f9",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/sgpiom/hal_impl.rs",
      "new_id": "51e7c19bde2e4d30ccc89be98d16b24a6aac4385",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/sgpiom/hal_impl.rs"
    },
    {
      "type": "modify",
      "old_id": "f227c422d23b39f0901320abc5dbd826ce373b08",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/sgpiom/register_block.rs",
      "new_id": "a2732d0fd7c7e619a9b178fd58d7a3e2d0a35d5c",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/sgpiom/register_block.rs"
    },
    {
      "type": "modify",
      "old_id": "6e4a45a3e0f28814dfcd49ece3eca3156dd06805",
      "old_mode": 33188,
      "old_path": "target/ast10x0/peripherals/sgpiom/types.rs",
      "new_id": "d66128767c0b80549702c89ea68d6edb3e243de3",
      "new_mode": 33188,
      "new_path": "target/ast10x0/peripherals/sgpiom/types.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f8f6fe3d6a32be1188416689cf4daac71cd1be7",
      "new_mode": 33188,
      "new_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_irq/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f839f9fb00f2b1d2b87e45dc6e116d6f04a98315",
      "new_mode": 33188,
      "new_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_irq/README.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc80abf3fa9c22e2cd367a98b29926f50e75047d",
      "new_mode": 33188,
      "new_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_irq/sgpiom_irq_server_main.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8fd2b3daf63a740267734bb0cf3e1ab0d72d3488",
      "new_mode": 33188,
      "new_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_irq/system.json5"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6524fdcf663ec69a9df430b8ddcf562d1077c3cf",
      "new_mode": 33188,
      "new_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_irq/target.rs"
    },
    {
      "type": "modify",
      "old_id": "b24b2c73e1c5b82491ff6f8ef2a22c1012ba2f96",
      "old_mode": 33188,
      "old_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_smoke/target.rs",
      "new_id": "052b1d99ba812ec8ceef0f794c9e29385569daaf",
      "new_mode": 33188,
      "new_path": "target/ast10x0/tests/peripherals/sgpiom/sgpiom_smoke/target.rs"
    },
    {
      "type": "modify",
      "old_id": "8ee804913bdac747781d5da82ffe1c1d5237e8c3",
      "old_mode": 33188,
      "old_path": "tools/sgpiom/examples/common.json",
      "new_id": "f660dc3d004a87d975adfe010d4a2bd67b4ae98a",
      "new_mode": 33188,
      "new_path": "tools/sgpiom/examples/common.json"
    },
    {
      "type": "modify",
      "old_id": "b3927befa37bf151876a16d0b7383589d59b9fe5",
      "old_mode": 33188,
      "old_path": "tools/sgpiom/schema/banks.schema.json",
      "new_id": "28316012be6a77529a725f3874a3d1ef1cedf2c0",
      "new_mode": 33188,
      "new_path": "tools/sgpiom/schema/banks.schema.json"
    },
    {
      "type": "modify",
      "old_id": "df13afa636767048a8d8f79d5e4415ee3c676904",
      "old_mode": 33188,
      "old_path": "tools/sgpiom/schema/controller.schema.json",
      "new_id": "f6dd5b6d52bd32a4809686414d2d51c5022b0481",
      "new_mode": 33188,
      "new_path": "tools/sgpiom/schema/controller.schema.json"
    },
    {
      "type": "modify",
      "old_id": "273985e55833c907d137b45e03131103f7a56af0",
      "old_mode": 33261,
      "old_path": "tools/sgpiom/sgpio_json_tool.py",
      "new_id": "57a1c2edd8b4234df16c9715087d5ee8e1ec5e9b",
      "new_mode": 33261,
      "new_path": "tools/sgpiom/sgpio_json_tool.py"
    }
  ]
}
