This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
In our last project we integrated a Wilink 8 with a Renesas ARM processor and had to modify the wlcore_irq() function in the wlcore Linux Kernel driver to clear the interrupt ( WLAN_IRQ ) in order for the radio to work properly. If we did not clear it, the scope showed that the line remained high and the radio did not function.
To clear it we did this:
// OUR CUSTOMIZATION
void __iomem *irc1 = IOMEM(0xfcfef804);
u16 value;
value = __raw_readw(irc1);
value = 0x0000;
__raw_writew(value, irc1);
On the AM5728, I am seeing the same behavior with the GPIO IRQ remaining high and so I believe I need to clear it. I did not find anything in the forum as an example of how to do this.
When I searched the TRM, page 6875 ( and the previous few pages ) show the GPIO_IRQSTATUS_CLR_X registers. The description says “Writing 1 to a bit disables the corresponding interrupt event.”. Does that mean clearing it?
My GPIO is muxed as GPIO 1_25:
1
2
3
4
5
6
7
8
|
wlan_pins_default: wlan_pins_default { pinctrl-single,pins = < - 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE14) /* mmc3_dat6.gpio1_24 */ - 0x1c8 (PIN_INPUT_PULLDOWN | MUX_MODE14) /* mmc3_dat7.gpio1_25 */ + 0x39c (PIN_OUTPUT_PULLDOWN | MUX_MODE14) /* mmc3_dat6.gpio1_24 */ + 0x3a0 (PIN_INPUT_PULLDOWN | MUX_MODE14) /* mmc3_dat7.gpio1_25 */ >; }; |
How might I clear this IRQ Event? Thanks.