Pin Control Subsystem Overview
Pin Control Subsystem Overview
The cell signals may be hard-coded to certain states or connected to register maps that are controlled by software My IO cell is used for various things: busses, memories, etc, one specific use case is GPIO (general purpose I/O) which typically group e.g. 32 cells into a GPIO block
Simple GPIO block register map after Ctrl+C Ctrl+V x8 of this cell for 8 pins
0x00 0x01 0x02 0x03 8 8 8 8 bits bits bits bits MY_GPIO_OEN MY_GPIO_OUT MY_GPIO_IEN MY_GPIO_INVAL
Simple GPIO block register map after Ctrl+C Ctrl+V x8 of this cell for 8 pins
0x00 0x01 0x02 0x03 0x04 0x05 8 8 8 8 8 8 bits bits bits bits bits bits MY_GPIO_OEN MY_GPIO_OUT MY_GPIO_IEN MY_GPIO_INVAL MY_GPIO_IRQ_EN MY_GPIO_IRQ_FALLING
The GPIO subsystem in drivers/gpio needs help from the IRQ core struct irq_chip to handle this and register interrupts
GPIO block register map after Ctrl+C Ctrl+V x8 of this cell for 8 pins
0x00 8 bits MY_GPIO_OEN 0x01 8 bits MY_GPIO_OUT 0x02 8 bits MY_GPIO_IEN 0x03 8 bits MY_GPIO_INVAL 0x04 8 bits MY_GPIO_IRQ_EN 0x05 8 bits MY_GPIO_IRQ_FALLING 0x06 8 bits MY_GPIO_PUEN 0x07 8 bits MY_GPIO_PDEN 0x08 8 bits MY_GPIO_WAKE_EN 0x09 8 bits MY_GPIO_WAKE_FALLING 0x0A 8 bits MY_GPIO_HYST 0x0B 8 bits MY_GPIO_MUX0 0x0C 8 bits MY_GPIO_MUX1
};
unsigned long
};
THANK YOU