The document summarizes a GPIO driver that allows control of GPIO pins through commands to set pin directions, toggle pins, configure interrupts, read from and write to data registers. The driver consists of an installation process, a processor to handle control commands, and portals to read from and write to data registers. It also includes an initialization process for a related pin-mux driver to configure pin functions and characteristics.
The document summarizes a GPIO driver that allows control of GPIO pins through commands to set pin directions, toggle pins, configure interrupts, read from and write to data registers. The driver consists of an installation process, a processor to handle control commands, and portals to read from and write to data registers. It also includes an initialization process for a related pin-mux driver to configure pin functions and characteristics.
The document summarizes a GPIO driver that allows control of GPIO pins through commands to set pin directions, toggle pins, configure interrupts, read from and write to data registers. The driver consists of an installation process, a processor to handle control commands, and portals to read from and write to data registers. It also includes an initialization process for a related pin-mux driver to configure pin functions and characteristics.
kubectl: "Set mask in use: GPIO_CMD_SET_MASK_IN_USE" tsh: "Toggle: GPIO_CMD_TOGGLE_MASK" api: "Interrupts: GPIO_CMD_SET_MASK_INT_TYPE\nGPIO_CMD_SET_MASK_INT_POLARITY\ nGPIO_CMD_SET_MASK_INT_DEBOUNCE\nGPIO_CMD_ENA_MASK_INT\nGPIO_CMD_DIS_MASK_INT\ nGPIO_CMD_CLEAR_INT\nGPIO_CMD_SET_MASK_INT_PRIORITY" db clients: "Clear mask in use: GPIO_CMD_CLEAR_MASK_IN_USE" } } portal: gpio_read() portal2: gpio_write()
tower.gpio_install() -> processor: Initialize with default values
} network2: pin-mux driver { tower: Initialization } server: System
user -> network.processor: Send control command and argument
server -> network.tower: Install with available gpio pins and predefined directions server -> network2.tower: Set pin mux functions and pin's electrical characteristics
user -> network.portal: read data register {
style.stroke-dash: 3 } user -> network.portal2: write to data register { style.stroke-dash: 3 }