tinyriscv/rtl/perips/gpio/gpio.hjson

65 lines
1.6 KiB
Plaintext

// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{ name: "gpio",
clocking: [{clock: "clk_i", reset: "rst_ni"}],
bus_interfaces: [
{ protocol: "tlul", direction: "device" }
],
regwidth: "32",
registers: [
{ name: "IO_MODE",
desc: "gpio input/output mode register",
swaccess: "rw",
hwaccess: "hro",
fields: [
{ bits: "31:0",
desc: "gpio input or output mode, 2 bits for each gpio",
}
]
}
{ name: "INT_MODE",
desc: "gpio interrupt mode register",
swaccess: "rw",
hwaccess: "hro",
fields: [
{ bits: "31:0",
desc: "gpio interrupt mode, 2 bits for each gpio",
}
]
}
{ name: "INT_PENDING",
desc: "gpio interrupt pending register",
swaccess: "rw",
hwaccess: "hrw",
fields: [
{ bits: "15:0",
name: "GPIO_INT_PENDING",
swaccess: "rw1c",
desc: "gpio interrupt pending, 1 bits for each gpio",
}
]
}
{ name: "DATA",
desc: "gpio data register",
swaccess: "rw",
hwaccess: "hrw",
fields: [
{ bits: "15:0",
desc: "gpio input or output data, 1 bits for each gpio",
}
]
}
{ name: "FILTER",
desc: "gpio input filter enable register",
swaccess: "rw",
hwaccess: "hro",
fields: [
{ bits: "15:0",
desc: "gpio input filter enable, 1 bits for each gpio",
}
]
}
]
}