int board_early_init_f(void) { if (!clock_early_init_done()) clock_early_init(); #if defined(CONFIG_TEGRA_DISCONNECT_UDC_ON_BOOT) #define USBCMD_FS2 (1 << 15) { struct usb_ctlr *usbctlr = (struct usb_ctlr *)0x7d000000; writel(USBCMD_FS2, &usbctlr->usb_cmd); } #endif /* Do any special system timer/TSC setup */ #if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE) if (!tegra_cpu_is_non_secure()) #endif arch_timer_init(); pinmux_init(); board_init_uart_f(); /* Initialize periph GPIOs */ gpio_early_init(); gpio_early_init_uart(); return 0; }
/* * Note this function is executed by the ARM7TDMI AVP. It does not return * in this case. It is also called once the A9 starts up, but does nothing in * that case. */ int arch_cpu_init(void) { /* Fire up the Cortex A9 */ tegra2_start(); /* We didn't do this init in start.S, so do it now */ cpu_init_cp15(); /* Initialize essential common plls */ clock_early_init(); return 0; }
void spl_board_init(void) { struct pmux_tri_ctlr *pmt = (struct pmux_tri_ctlr *)NV_PA_APB_MISC_BASE; /* enable JTAG */ writel(0xC0, &pmt->pmt_cfg_ctl); board_init_uart_f(); /* Initialize periph GPIOs */ gpio_early_init_uart(); clock_early_init(); preloader_console_init(); }
void spl_board_init(void) { struct apb_misc_pp_ctlr *apb_misc = (struct apb_misc_pp_ctlr *)NV_PA_APB_MISC_BASE; /* enable JTAG */ writel(0xC0, &apb_misc->cfg_ctl); board_init_uart_f(); /* Initialize periph GPIOs */ gpio_early_init_uart(); clock_early_init(); preloader_console_init(); }
void board_init_r(gd_t *id, ulong dummy) { struct pmux_tri_ctlr *pmt = (struct pmux_tri_ctlr *)NV_PA_APB_MISC_BASE; /* enable JTAG */ writel(0xC0, &pmt->pmt_cfg_ctl); debug(">>spl:board_init_r()\n"); mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START, CONFIG_SYS_SPL_MALLOC_SIZE); #ifdef CONFIG_SPL_BOARD_INIT spl_board_init(); #endif clock_early_init(); serial_init(); preloader_console_init(); start_cpu((u32)CONFIG_SYS_TEXT_BASE); halt_avp(); /* not reached */ }