mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	Register serial consoles through device tree instead of through board data. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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
 | |
| @@ -841,8 +841,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;
 | |
|  
 |