X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=arch%2Farm%2Fmach-tegra%2Fboard2.c;h=c03f3e2052a2f8e0b265f11b8b37612dd81eb4ed;hb=135a87ef43566cdd592fa9fd899bf435aa14aaa3;hp=a650abd731adb78ae30dd0d03bdf5d16d3757e56;hpb=e81ca88451cf4b692fede0b9c2e3444e4b61e139;p=u-boot diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c index a650abd731..c03f3e2052 100644 --- a/arch/arm/mach-tegra/board2.c +++ b/arch/arm/mach-tegra/board2.c @@ -34,8 +34,8 @@ #ifdef CONFIG_TEGRA_CLOCK_SCALING #include #endif -#ifdef CONFIG_USB_EHCI_TEGRA #include +#ifdef CONFIG_USB_EHCI_TEGRA #include #endif #ifdef CONFIG_TEGRA_MMC @@ -134,12 +134,15 @@ int board_init(void) pin_mux_spi(); #endif -#ifdef CONFIG_PWM_TEGRA + /* Init is handled automatically in the driver-model case */ +#if defined(CONFIG_PWM_TEGRA) && !defined(CONFIG_PWM) if (pwm_init(gd->fdt_blob)) debug("%s: Failed to init pwm\n", __func__); #endif -#ifdef CONFIG_LCD +#if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO) pin_mux_display(); +#endif +#ifdef CONFIG_LCD tegra_lcd_check_next_stage(gd->fdt_blob, 0); #endif /* boot param addr */ @@ -168,11 +171,13 @@ int board_init(void) pin_mux_usb(); #endif -#ifdef CONFIG_LCD +#if defined(CONFIG_LCD) || defined(CONFIG_DM_VIDEO) board_id = tegra_board_id(); err = tegra_lcd_pmic_init(board_id); if (err) return err; +#endif +#ifdef CONFIG_LCD tegra_lcd_check_next_stage(gd->fdt_blob, 0); #endif @@ -201,6 +206,14 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init"))); int board_early_init_f(void) { +#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())