tegra2: Tidy UART selection
UART selection is done with a lot of #ifdefs. This cleans things up a little. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
		
							parent
							
								
									8f7431400a
								
							
						
					
					
						commit
						6b5763e588
					
				|  | @ -35,6 +35,12 @@ | |||
| 
 | ||||
| DECLARE_GLOBAL_DATA_PTR; | ||||
| 
 | ||||
| enum { | ||||
| 	/* UARTs which we can enable */ | ||||
| 	UARTA	= 1 << 0, | ||||
| 	UARTD	= 1 << 3, | ||||
| }; | ||||
| 
 | ||||
| const struct tegra2_sysinfo sysinfo = { | ||||
| 	CONFIG_TEGRA2_BOARD_STRING | ||||
| }; | ||||
|  | @ -64,36 +70,32 @@ static void enable_uart(enum periph_id pid) | |||
| 
 | ||||
| /*
 | ||||
|  * Routine: clock_init_uart | ||||
|  * Description: init the PLL and clock for the UART(s) | ||||
|  * Description: init clock for the UART(s) | ||||
|  */ | ||||
| static void clock_init_uart(void) | ||||
| static void clock_init_uart(int uart_ids) | ||||
| { | ||||
| #if defined(CONFIG_TEGRA2_ENABLE_UARTA) | ||||
| 	if (uart_ids & UARTA) | ||||
| 		enable_uart(PERIPH_ID_UART1); | ||||
| #endif	/* CONFIG_TEGRA2_ENABLE_UARTA */ | ||||
| #if defined(CONFIG_TEGRA2_ENABLE_UARTD) | ||||
| 	if (uart_ids & UARTD) | ||||
| 		enable_uart(PERIPH_ID_UART4); | ||||
| #endif	/* CONFIG_TEGRA2_ENABLE_UARTD */ | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Routine: pin_mux_uart | ||||
|  * Description: setup the pin muxes/tristate values for the UART(s) | ||||
|  */ | ||||
| static void pin_mux_uart(void) | ||||
| static void pin_mux_uart(int uart_ids) | ||||
| { | ||||
| #if defined(CONFIG_TEGRA2_ENABLE_UARTA) | ||||
| 	if (uart_ids & UARTA) { | ||||
| 		pinmux_set_func(PINGRP_IRRX, PMUX_FUNC_UARTA); | ||||
| 		pinmux_set_func(PINGRP_IRTX, PMUX_FUNC_UARTA); | ||||
| 
 | ||||
| 		pinmux_tristate_disable(PINGRP_IRRX); | ||||
| 		pinmux_tristate_disable(PINGRP_IRTX); | ||||
| #endif	/* CONFIG_TEGRA2_ENABLE_UARTA */ | ||||
| #if defined(CONFIG_TEGRA2_ENABLE_UARTD) | ||||
| 	} | ||||
| 	if (uart_ids & UARTD) { | ||||
| 		pinmux_set_func(PINGRP_GMC, PMUX_FUNC_UARTD); | ||||
| 
 | ||||
| 		pinmux_tristate_disable(PINGRP_GMC); | ||||
| #endif	/* CONFIG_TEGRA2_ENABLE_UARTD */ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | @ -114,6 +116,15 @@ int board_init(void) | |||
| #ifdef CONFIG_BOARD_EARLY_INIT_F | ||||
| int board_early_init_f(void) | ||||
| { | ||||
| 	int uart_ids = 0;	/* bit mask of which UART ids to enable */ | ||||
| 
 | ||||
| #ifdef CONFIG_TEGRA2_ENABLE_UARTA | ||||
| 	uart_ids |= UARTA; | ||||
| #endif | ||||
| #ifdef CONFIG_TEGRA2_ENABLE_UARTD | ||||
| 	uart_ids |= UARTD; | ||||
| #endif | ||||
| 
 | ||||
| 	/* We didn't do this init in start.S, so do it now */ | ||||
| 	cpu_init_cp15(); | ||||
| 
 | ||||
|  | @ -121,10 +132,10 @@ int board_early_init_f(void) | |||
| 	clock_early_init(); | ||||
| 
 | ||||
| 	/* Initialize UART clocks */ | ||||
| 	clock_init_uart(); | ||||
| 	clock_init_uart(uart_ids); | ||||
| 
 | ||||
| 	/* Initialize periph pinmuxes */ | ||||
| 	pin_mux_uart(); | ||||
| 	pin_mux_uart(uart_ids); | ||||
| 
 | ||||
| 	/* Initialize periph GPIOs */ | ||||
| 	gpio_config_uart(); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue