mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	replace our downstream version of the patches with the ones that were sent upstream. Signed-off-by: John Crispin <john@phrozen.org>
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From f55a400f4a691f3750eaf7bfcd6ecbf7ed1622f0 Mon Sep 17 00:00:00 2001
 | |
| From: Gabor Juhos <juhosg@openwrt.org>
 | |
| Date: Mon, 5 Mar 2018 11:38:21 +0100
 | |
| Subject: [PATCH 15/33] MIPS: ath79: enable uart during early_prink
 | |
| 
 | |
| This patch ensures, that the poinmux register is properly setup for the
 | |
| boot console uart when early_printk is enabled.
 | |
| 
 | |
| Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 | |
| Signed-off-by: John Crispin <john@phrozen.org>
 | |
| ---
 | |
|  arch/mips/ath79/early_printk.c | 44 +++++++++++++++++++++++++++++++++++++++++-
 | |
|  1 file changed, 43 insertions(+), 1 deletion(-)
 | |
| 
 | |
| --- a/arch/mips/ath79/early_printk.c
 | |
| +++ b/arch/mips/ath79/early_printk.c
 | |
| @@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned
 | |
|  	/* nothing to do */
 | |
|  }
 | |
|  
 | |
| +static void prom_enable_uart(u32 id)
 | |
| +{
 | |
| +	void __iomem *gpio_base;
 | |
| +	u32 uart_en;
 | |
| +	u32 t;
 | |
| +
 | |
| +	switch (id) {
 | |
| +	case REV_ID_MAJOR_AR71XX:
 | |
| +		uart_en = AR71XX_GPIO_FUNC_UART_EN;
 | |
| +		break;
 | |
| +
 | |
| +	case REV_ID_MAJOR_AR7240:
 | |
| +	case REV_ID_MAJOR_AR7241:
 | |
| +	case REV_ID_MAJOR_AR7242:
 | |
| +		uart_en = AR724X_GPIO_FUNC_UART_EN;
 | |
| +		break;
 | |
| +
 | |
| +	case REV_ID_MAJOR_AR913X:
 | |
| +		uart_en = AR913X_GPIO_FUNC_UART_EN;
 | |
| +		break;
 | |
| +
 | |
| +	case REV_ID_MAJOR_AR9330:
 | |
| +	case REV_ID_MAJOR_AR9331:
 | |
| +		uart_en = AR933X_GPIO_FUNC_UART_EN;
 | |
| +		break;
 | |
| +
 | |
| +	case REV_ID_MAJOR_AR9341:
 | |
| +	case REV_ID_MAJOR_AR9342:
 | |
| +	case REV_ID_MAJOR_AR9344:
 | |
| +		/* TODO */
 | |
| +	default:
 | |
| +		return;
 | |
| +	}
 | |
| +
 | |
| +	gpio_base = (void __iomem *)(KSEG1ADDR(AR71XX_GPIO_BASE));
 | |
| +	t = __raw_readl(gpio_base + AR71XX_GPIO_REG_FUNC);
 | |
| +	t |= uart_en;
 | |
| +	__raw_writel(t, gpio_base + AR71XX_GPIO_REG_FUNC);
 | |
| +}
 | |
| +
 | |
|  static void prom_putchar_init(void)
 | |
|  {
 | |
|  	void __iomem *base;
 | |
| @@ -92,8 +132,10 @@ static void prom_putchar_init(void)
 | |
|  
 | |
|  	default:
 | |
|  		_prom_putchar = prom_putchar_dummy;
 | |
| -		break;
 | |
| +		return;
 | |
|  	}
 | |
| +
 | |
| +	prom_enable_uart(id);
 | |
|  }
 | |
|  
 | |
|  void prom_putchar(unsigned char ch)
 |