static void __init tegra_loki_late_init(void) { struct board_info board_info; tegra_get_board_info(&board_info); pr_info("board_info: id:sku:fab:major:minor = 0x%04x:0x%04x:0x%02x:0x%02x:0x%02x\n", board_info.board_id, board_info.sku, board_info.fab, board_info.major_revision, board_info.minor_revision); loki_revision_init(&board_info); loki_pinmux_init(); loki_usb_init(); loki_modem_init(); loki_xusb_init(); loki_i2c_init(); loki_uart_init(); loki_audio_init(); platform_add_devices(loki_devices, ARRAY_SIZE(loki_devices)); tegra_io_dpd_init(); loki_sdhci_init(); loki_regulator_init(); loki_suspend_init(); loki_emc_init(); loki_edp_init(); isomgr_init(); loki_touch_init(); loki_panel_init(); loki_kbc_init(); loki_pmon_init(); #ifdef CONFIG_TEGRA_WDT_RECOVERY tegra_wdt_recovery_init(); #endif tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1); loki_sensors_init(); loki_fan_init(); loki_soctherm_init(); loki_setup_bluedroid_pm(); tegra_register_fuse(); tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1); #ifdef CONFIG_C2PORT_LOKI tegra_loki_mcu_debugger_init(); #endif }
static void __init tegra_ardbeg_late_init(void) { struct board_info board_info; tegra_get_board_info(&board_info); pr_info("board_info: id:sku:fab:major:minor = 0x%04x:0x%04x:0x%02x:0x%02x:0x%02x\n", board_info.board_id, board_info.sku, board_info.fab, board_info.major_revision, board_info.minor_revision); if (board_info.board_id == BOARD_E2548 || board_info.board_id == BOARD_P2530) loki_pinmux_init(); if (board_info.board_id == BOARD_P1761) ardbeg_pinmux_init(); #ifndef CONFIG_MACH_EXUMA ardbeg_display_init(); #endif ardbeg_uart_init(); ardbeg_usb_init(); ardbeg_modem_init(); #ifdef CONFIG_TEGRA_XUSB_PLATFORM ardbeg_xusb_init(); #endif ardbeg_i2c_init(); ardbeg_audio_init(); platform_add_devices(ardbeg_devices, ARRAY_SIZE(ardbeg_devices)); if (board_info.board_id == BOARD_PM374) /* Norrin ERS */ platform_device_register(&norrin_audio_device_max98090); else if (board_info.board_id != BOARD_PM359) platform_device_register(&ardbeg_audio_device_rt5639); tegra_io_dpd_init(); if (board_info.board_id == BOARD_E2548 || board_info.board_id == BOARD_P2530) loki_sdhci_init(); else ardbeg_sdhci_init(); if (board_info.board_id == BOARD_E1782 || board_info.board_id == BOARD_PM374) ardbeg_sata_init(); else if (board_info.board_id != BOARD_PM358 && board_info.board_id != BOARD_PM359) arbdeg_sata_clk_gate(); if (board_info.board_id == BOARD_PM359 || board_info.board_id == BOARD_PM358 || board_info.board_id == BOARD_PM370 || board_info.board_id == BOARD_PM363) laguna_regulator_init(); else if (board_info.board_id == BOARD_PM374) norrin_regulator_init(); else if (board_info.board_id == BOARD_E2548 || board_info.board_id == BOARD_P2530) loki_regulator_init(); else ardbeg_regulator_init(); ardbeg_dtv_init(); ardbeg_suspend_init(); if (board_info.board_id == BOARD_PM374) norrin_emc_init(); else if (board_info.board_id == BOARD_E2548 || board_info.board_id == BOARD_P2530) loki_emc_init(); else ardbeg_emc_init(); edp_init(); isomgr_init(); ardbeg_touch_init(); if (board_info.board_id == BOARD_E2548 || board_info.board_id == BOARD_P2530) loki_panel_init(); else ardbeg_panel_init(); /* put PEX pads into DPD mode to save additional power */ tegra_io_dpd_enable(&pexbias_io); tegra_io_dpd_enable(&pexclk1_io); tegra_io_dpd_enable(&pexclk2_io); if (board_info.board_id == BOARD_PM374) norrin_kbc_init(); if (board_info.board_id == BOARD_PM374 || board_info.board_id == BOARD_PM359 || board_info.board_id == BOARD_PM358 || board_info.board_id == BOARD_PM370 || board_info.board_id == BOARD_PM363) { ardbeg_sensors_init(); norrin_soctherm_init(); } else if (board_info.board_id == BOARD_E2548 || board_info.board_id == BOARD_P2530) { loki_sensors_init(); loki_fan_init(); loki_soctherm_init(); } else { ardbeg_sensors_init(); ardbeg_soctherm_init(); } ardbeg_setup_bluedroid_pm(); ardbeg_sysedp_dynamic_capping_init(); ardbeg_sysedp_batmon_init(); }