I'm not sure but original code never works right. This patch works but in this 
case uart_mask is default gpio mode (simply the same value as mode gpio).

--- pinmux.c.orig       
+++ pinmux.c
@@ -59,12 +59,11 @@ void ralink_pinmux(void)
        of_property_read_string(np, "ralink,uartmux", &uart);
        if (uart) {
                int m = ralink_mux_mask(uart, rt_gpio_pinmux.uart);
-               mode |= rt_gpio_pinmux.uart_mask << rt_gpio_pinmux.uart_shift;
                if (m) {
-                       mode &= ~(m << rt_gpio_pinmux.uart_shift);
                        mode |= (m << rt_gpio_pinmux.uart_shift);
                        pr_debug("pinmux: registered uartmux \"%s\"\n", uart);
                } else {
+                       mode |= rt_gpio_pinmux.uart_mask << 
rt_gpio_pinmux.uart_shift;
                        pr_debug("pinmux: registered uartmux \"gpio\"\n");
                }
        }


---
serge
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to