mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 20:31:14 +00:00
exo/fusee/sept: fix uart pinmuxing (thanks @CTCaer and @TuxSH)
This commit is contained in:
parent
ed4491a24f
commit
b4856a2d07
3 changed files with 50 additions and 50 deletions
|
@ -21,12 +21,12 @@
|
||||||
|
|
||||||
static inline void uart_wait_cycles(uint32_t baud, uint32_t num)
|
static inline void uart_wait_cycles(uint32_t baud, uint32_t num)
|
||||||
{
|
{
|
||||||
wait((num * 1000000 + 16 * baud - 1) / (16 * baud));
|
udelay((num * 1000000 + 16 * baud - 1) / (16 * baud));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void uart_wait_syms(uint32_t baud, uint32_t num)
|
static inline void uart_wait_syms(uint32_t baud, uint32_t num)
|
||||||
{
|
{
|
||||||
wait((num * 1000000 + baud - 1) / baud);
|
udelay((num * 1000000 + baud - 1) / baud);
|
||||||
}
|
}
|
||||||
|
|
||||||
void uart_config(UartDevice dev) {
|
void uart_config(UartDevice dev) {
|
||||||
|
@ -34,28 +34,28 @@ void uart_config(UartDevice dev) {
|
||||||
|
|
||||||
switch (dev) {
|
switch (dev) {
|
||||||
case UART_A:
|
case UART_A:
|
||||||
pinmux->uart1_tx = 0;
|
pinmux->uart1_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart1_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_UP | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_rts = 0;
|
pinmux->uart1_rts = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart1_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_B:
|
case UART_B:
|
||||||
pinmux->uart2_tx = 0;
|
pinmux->uart2_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart2_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_rts = 0;
|
pinmux->uart2_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart2_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_C:
|
case UART_C:
|
||||||
pinmux->uart3_tx = 0;
|
pinmux->uart3_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart3_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_rts = 0;
|
pinmux->uart3_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart3_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_D:
|
case UART_D:
|
||||||
pinmux->uart4_tx = 0;
|
pinmux->uart4_tx = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart4_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_rts = 0;
|
pinmux->uart4_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart4_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_E:
|
case UART_E:
|
||||||
/* Unused. */
|
/* Unused. */
|
||||||
|
|
|
@ -34,28 +34,28 @@ void uart_config(UartDevice dev) {
|
||||||
|
|
||||||
switch (dev) {
|
switch (dev) {
|
||||||
case UART_A:
|
case UART_A:
|
||||||
pinmux->uart1_tx = 0;
|
pinmux->uart1_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart1_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_UP | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_rts = 0;
|
pinmux->uart1_rts = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart1_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_B:
|
case UART_B:
|
||||||
pinmux->uart2_tx = 0;
|
pinmux->uart2_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart2_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_rts = 0;
|
pinmux->uart2_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart2_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_C:
|
case UART_C:
|
||||||
pinmux->uart3_tx = 0;
|
pinmux->uart3_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart3_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_rts = 0;
|
pinmux->uart3_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart3_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_D:
|
case UART_D:
|
||||||
pinmux->uart4_tx = 0;
|
pinmux->uart4_tx = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart4_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_rts = 0;
|
pinmux->uart4_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart4_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_E:
|
case UART_E:
|
||||||
/* Unused. */
|
/* Unused. */
|
||||||
|
|
|
@ -34,28 +34,28 @@ void uart_config(UartDevice dev) {
|
||||||
|
|
||||||
switch (dev) {
|
switch (dev) {
|
||||||
case UART_A:
|
case UART_A:
|
||||||
pinmux->uart1_tx = 0;
|
pinmux->uart1_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart1_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_UP | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_rts = 0;
|
pinmux->uart1_rts = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart1_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart1_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_B:
|
case UART_B:
|
||||||
pinmux->uart2_tx = 0;
|
pinmux->uart2_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart2_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_rts = 0;
|
pinmux->uart2_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart2_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart2_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_C:
|
case UART_C:
|
||||||
pinmux->uart3_tx = 0;
|
pinmux->uart3_tx = (0 | 0 | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart3_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_rts = 0;
|
pinmux->uart3_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart3_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart3_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_NONE | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_D:
|
case UART_D:
|
||||||
pinmux->uart4_tx = 0;
|
pinmux->uart4_tx = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_rx = (PINMUX_INPUT | PINMUX_PULL_UP);
|
pinmux->uart4_rx = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_rts = 0;
|
pinmux->uart4_rts = (0 | 0 | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
pinmux->uart4_cts = (PINMUX_INPUT | PINMUX_PULL_DOWN);
|
pinmux->uart4_cts = (PINMUX_INPUT | PINMUX_TRISTATE | PINMUX_PULL_DOWN | PINMUX_SELECT_FUNCTION0);
|
||||||
break;
|
break;
|
||||||
case UART_E:
|
case UART_E:
|
||||||
/* Unused. */
|
/* Unused. */
|
||||||
|
|
Loading…
Reference in a new issue