refactor uart clock enable/disable, new test case and new function name, compilation fails.
clock enable/disable, product code + test cases. all fine.
test cast added for mx_usart_uart_init, before refactoring.
existing test case UartClockEnabled updated. and surprisingly passed. update production code to accept null dma pointer anyway.
gpio init test case updated.
mx_usart2_uart_init refactored.
use new usart globals (designated initializer) replace init code inside mx_usart3_uart_init.
refactor gpio init code for usart3 inside mspinit.
code merged for usart2/usart3 inside mspinit. test passed.
clean and format.
add two field into UARTEX handle struct, add new case, RxDMAIRQEnabled.
dma rx irq enable inside mspinit. test passed.