I’m carefully examining each line of the code for led_fade.c and arrived at this (line #83)
GPIO_REG(GPIO_IOF_SEL) &= ~IOF0_UART0_MASK;
I read the FE310-G000 documentation regarding GPIO, but do not understand why the IOF_SEL is inverting the mask above and ANDing it to the register. The net effect is that the mask bits (16 & 17 for UART GPIO) are cleared in the IOF_SEL register. How is this exactly selecting anything?