MIPS: OCTEON: Set proper UART clock in internal device trees.
authorDavid Daney <david.daney@cavium.com>
Wed, 19 Jun 2013 20:37:26 +0000 (20:37 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 1 Jul 2013 13:10:54 +0000 (15:10 +0200)
Following patch to use generic 8250 drivers will need proper clock
information.  So when using the internal device tree, populate the
"clock-frequency" property with the correct value.

Signed-off-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: Jamie Iles <jamie@jamieiles.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: linux-serial@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/5515/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/cavium-octeon/octeon-platform.c

index 389512e2abd6198d7ce16851f6ef7f0c6b36c127..7b746e7bf7a1aad7672986bb8b986b7a18716a12 100644 (file)
@@ -490,8 +490,15 @@ int __init octeon_prune_device_tree(void)
 
                if (alias_prop) {
                        uart = fdt_path_offset(initial_boot_params, alias_prop);
-                       if (uart_mask & (1 << i))
+                       if (uart_mask & (1 << i)) {
+                               __be32 f;
+
+                               f = cpu_to_be32(octeon_get_io_clock_rate());
+                               fdt_setprop_inplace(initial_boot_params,
+                                                   uart, "clock-frequency",
+                                                   &f, sizeof(f));
                                continue;
+                       }
                        pr_debug("Deleting uart%d\n", i);
                        fdt_nop_node(initial_boot_params, uart);
                        fdt_nop_property(initial_boot_params, aliases,