aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch
diff options
context:
space:
mode:
authorJonas Gorski <jonas.gorski@gmail.com>2017-07-31 10:52:48 +0200
committerJonas Gorski <jonas.gorski@gmail.com>2017-12-16 12:57:05 +0100
commit5c69047aaf4f8d705cb09cbcf67747c04adef6a1 (patch)
tree366ac9ec30c8b62baca4f4bac394b87e03511691 /target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch
parente12c72bb52ebcde361b5d8a9856bd771a7872b3d (diff)
downloadupstream-5c69047aaf4f8d705cb09cbcf67747c04adef6a1.tar.gz
upstream-5c69047aaf4f8d705cb09cbcf67747c04adef6a1.tar.bz2
upstream-5c69047aaf4f8d705cb09cbcf67747c04adef6a1.zip
brcm63xx: add clkdev lookup support
Add clockdev lookup support for easier providing of clocks for devices. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Diffstat (limited to 'target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch')
-rw-r--r--target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch b/target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch
new file mode 100644
index 0000000000..b3f73cf318
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.4/001-4.15-04-tty-bcm63xx_uart-allow-naming-clock-in-device-tree.patch
@@ -0,0 +1,55 @@
+From 317f8659bba01b307cbe4e9902d4e3d333fd7164 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Sun, 16 Jul 2017 12:39:17 +0200
+Subject: [PATCH V2 4/8] tty/bcm63xx_uart: allow naming clock in device tree
+
+Codify using a named clock for the refclk of the uart. This makes it
+easier if we might need to add a gating clock (like present on the
+BCM6345).
+
+Acked-by: Rob Herring <robh@kernel.org>
+Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+---
+ Documentation/devicetree/bindings/serial/brcm,bcm6345-uart.txt | 6 ++++++
+ drivers/tty/serial/bcm63xx_uart.c | 6 ++++--
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+--- a/Documentation/devicetree/bindings/serial/brcm,bcm6345-uart.txt
++++ b/Documentation/devicetree/bindings/serial/brcm,bcm6345-uart.txt
+@@ -11,6 +11,11 @@ Required properties:
+ - clocks: Clock driving the hardware; used to figure out the baud rate
+ divisor.
+
++
++Optional properties:
++
++- clock-names: Should be "refclk".
++
+ Example:
+
+ uart0: serial@14e00520 {
+@@ -19,6 +24,7 @@ Example:
+ interrupt-parent = <&periph_intc>;
+ interrupts = <2>;
+ clocks = <&periph_clk>;
++ clock-names = "refclk";
+ };
+
+ clocks {
+--- a/drivers/tty/serial/bcm63xx_uart.c
++++ b/drivers/tty/serial/bcm63xx_uart.c
+@@ -837,8 +837,10 @@ static int bcm_uart_probe(struct platfor
+ if (!res_irq)
+ return -ENODEV;
+
+- clk = pdev->dev.of_node ? of_clk_get(pdev->dev.of_node, 0) :
+- clk_get(&pdev->dev, "refclk");
++ clk = clk_get(&pdev->dev, "refclk");
++ if (IS_ERR(clk) && pdev->dev.of_node)
++ clk = of_clk_get(pdev->dev.of_node, 0);
++
+ if (IS_ERR(clk))
+ return -ENODEV;
+