/* * arch/arm/mach-tegra/board.h * * Copyright (C) 2010 Google, Inc. * * Author: * Colin Cross * Erik Gilling * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and * may be copied, distributed, and modified under those terms. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #ifndef __MACH_TEGRA_BOARD_H #define __MACH_TEGRA_BOARD_H #include void __init tegra_mc_init(void); void __init tegra_common_init(void); void __init tegra_map_common_io(void); void __init tegra_init_irq(void); void __init tegra_init_clock(void); void __init tegra_reserve(unsigned long carveout_size, unsigned long fb_size, unsigned long fb2_size); void __init tegra_release_bootloader_fb(void); void __init tegra_protected_aperture_init(unsigned long aperture); void __init tegra_tsensor_init(void); void tegra_move_framebuffer(unsigned long to, unsigned long from, unsigned long size); int tegra_dvfs_rail_disable_by_name(const char *reg_id); bool is_tegra_debug_uartport_hs(void); int arb_lost_recovery(int scl_gpio, int sda_gpio); extern unsigned long tegra_bootloader_fb_start; extern unsigned long tegra_bootloader_fb_size; extern unsigned long tegra_fb_start; extern unsigned long tegra_fb_size; extern unsigned long tegra_fb2_start; extern unsigned long tegra_fb2_size; extern unsigned long tegra_carveout_start; extern unsigned long tegra_carveout_size; extern unsigned long tegra_lp0_vec_start; extern unsigned long tegra_lp0_vec_size; extern bool tegra_lp0_vec_relocate; extern unsigned long tegra_grhost_aperture; extern struct sys_timer tegra_timer; enum board_fab { BOARD_FAB_A = 0, BOARD_FAB_B, BOARD_FAB_C, BOARD_FAB_D, }; struct board_info { u16 board_id; u16 sku; u8 fab; u8 major_revision; u8 minor_revision; }; enum panel_type { panel_type_lvds = 0, panel_type_dsi, }; void tegra_get_board_info(struct board_info *); void tegra_get_pmu_board_info(struct board_info *bi); #if defined(CONFIG_TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND) || \ defined(CONFIG_TEGRA_CAMERA_CONSERVATIVE_GOV) #define SET_CONSERVATIVE_GOVERNOR_UP_THRESHOLD 95 #define SET_CONSERVATIVE_GOVERNOR_DOWN_THRESHOLD 50 void cpufreq_save_default_governor(void); void cpufreq_restore_default_governor(void); void cpufreq_set_conservative_governor(void); void cpufreq_set_conservative_governor_param(int up_th, int down_th); #endif int get_core_edp(void); enum panel_type get_panel_type(void); int tegra_get_modem_id(void); #endif