rockchip: rk3288: add board_debug_uart_init()
Use board_debug_uart_init() for UART iomux init instead of do it in board_init_f, and move the function to soc file so that we can find all the soc/board setting in soc file and use a common board file for all rockchip SoCs later. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
This commit is contained in:
		
							parent
							
								
									070e48b30e
								
							
						
					
					
						commit
						e83e885e53
					
				| 
						 | 
					@ -109,16 +109,7 @@ void board_init_f(ulong dummy)
 | 
				
			||||||
	struct udevice *dev;
 | 
						struct udevice *dev;
 | 
				
			||||||
	int ret;
 | 
						int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Example code showing how to enable the debug UART on RK3288 */
 | 
					#ifdef CONFIG_DEBUG_UART
 | 
				
			||||||
#include <asm/arch-rockchip/grf_rk3288.h>
 | 
					 | 
				
			||||||
	/* Enable early UART on the RK3288 */
 | 
					 | 
				
			||||||
#define GRF_BASE	0xff770000
 | 
					 | 
				
			||||||
	struct rk3288_grf * const grf = (void *)GRF_BASE;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	rk_clrsetreg(&grf->gpio7ch_iomux, GPIO7C7_MASK << GPIO7C7_SHIFT |
 | 
					 | 
				
			||||||
		     GPIO7C6_MASK << GPIO7C6_SHIFT,
 | 
					 | 
				
			||||||
		     GPIO7C7_UART2DBG_SOUT << GPIO7C7_SHIFT |
 | 
					 | 
				
			||||||
		     GPIO7C6_UART2DBG_SIN << GPIO7C6_SHIFT);
 | 
					 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Debug UART can be used from here if required:
 | 
						 * Debug UART can be used from here if required:
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
| 
						 | 
					@ -129,6 +120,7 @@ void board_init_f(ulong dummy)
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	debug_uart_init();
 | 
						debug_uart_init();
 | 
				
			||||||
	debug("\nspl:debug uart enabled in %s\n", __func__);
 | 
						debug("\nspl:debug uart enabled in %s\n", __func__);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
	ret = spl_early_init();
 | 
						ret = spl_early_init();
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		debug("spl_early_init() failed: %d\n", ret);
 | 
							debug("spl_early_init() failed: %d\n", ret);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,28 +10,16 @@
 | 
				
			||||||
#include <spl.h>
 | 
					#include <spl.h>
 | 
				
			||||||
#include <version.h>
 | 
					#include <version.h>
 | 
				
			||||||
#include <asm/io.h>
 | 
					#include <asm/io.h>
 | 
				
			||||||
#include <asm/arch-rockchip/bootrom.h>
 | 
					 | 
				
			||||||
#include <asm/arch-rockchip/clock.h>
 | 
					#include <asm/arch-rockchip/clock.h>
 | 
				
			||||||
#include <asm/arch-rockchip/grf_rk3288.h>
 | 
					 | 
				
			||||||
#include <asm/arch-rockchip/periph.h>
 | 
					 | 
				
			||||||
#include <asm/arch-rockchip/pmu_rk3288.h>
 | 
					 | 
				
			||||||
#include <asm/arch-rockchip/sys_proto.h>
 | 
					#include <asm/arch-rockchip/sys_proto.h>
 | 
				
			||||||
#include <asm/arch-rockchip/timer.h>
 | 
					#include <asm/arch-rockchip/timer.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GRF_BASE		0xff770000
 | 
					 | 
				
			||||||
void board_init_f(ulong dummy)
 | 
					void board_init_f(ulong dummy)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct udevice *dev;
 | 
						struct udevice *dev;
 | 
				
			||||||
	int ret;
 | 
						int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Example code showing how to enable the debug UART on RK3288 */
 | 
					#ifdef CONFIG_DEBUG_UART
 | 
				
			||||||
	/* Enable early UART on the RK3288 */
 | 
					 | 
				
			||||||
	struct rk3288_grf * const grf = (void *)GRF_BASE;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	rk_clrsetreg(&grf->gpio7ch_iomux, GPIO7C7_MASK << GPIO7C7_SHIFT |
 | 
					 | 
				
			||||||
		     GPIO7C6_MASK << GPIO7C6_SHIFT,
 | 
					 | 
				
			||||||
		     GPIO7C7_UART2DBG_SOUT << GPIO7C7_SHIFT |
 | 
					 | 
				
			||||||
		     GPIO7C6_UART2DBG_SIN << GPIO7C6_SHIFT);
 | 
					 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * Debug UART can be used from here if required:
 | 
						 * Debug UART can be used from here if required:
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
| 
						 | 
					@ -41,7 +29,7 @@ void board_init_f(ulong dummy)
 | 
				
			||||||
	 * printascii("string");
 | 
						 * printascii("string");
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	debug_uart_init();
 | 
						debug_uart_init();
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
	ret = spl_early_init();
 | 
						ret = spl_early_init();
 | 
				
			||||||
	if (ret) {
 | 
						if (ret) {
 | 
				
			||||||
		debug("spl_early_init() failed: %d\n", ret);
 | 
							debug("spl_early_init() failed: %d\n", ret);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,3 +18,16 @@ int arch_cpu_init(void)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_DEBUG_UART_BOARD_INIT
 | 
				
			||||||
 | 
					void board_debug_uart_init(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* Enable early UART on the RK3288 */
 | 
				
			||||||
 | 
						struct rk3288_grf * const grf = (void *)GRF_BASE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						rk_clrsetreg(&grf->gpio7ch_iomux, GPIO7C7_MASK << GPIO7C7_SHIFT |
 | 
				
			||||||
 | 
							     GPIO7C6_MASK << GPIO7C6_SHIFT,
 | 
				
			||||||
 | 
							     GPIO7C7_UART2DBG_SOUT << GPIO7C7_SHIFT |
 | 
				
			||||||
 | 
							     GPIO7C6_UART2DBG_SIN << GPIO7C6_SHIFT);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue