82 lines
2.3 KiB
C
82 lines
2.3 KiB
C
|
/*
|
||
|
* Copyright (C) 2014-2017 NVIDIA Corporation. All rights reserved.
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License version 2 as
|
||
|
* published by the Free Software Foundation.
|
||
|
*/
|
||
|
|
||
|
#ifndef __SOC_TEGRA_COMMON_H__
|
||
|
#define __SOC_TEGRA_COMMON_H__
|
||
|
|
||
|
#include <linux/platform_device.h>
|
||
|
|
||
|
#define PMC_RST_STATUS 0x1b4
|
||
|
#define PMC_SCRATCH0 0x50
|
||
|
#define PMC_SCRATCH1 0x54
|
||
|
#define PMC_SCRATCH4 0x60
|
||
|
#define PMC_SCRATCH203 0x84c
|
||
|
|
||
|
struct board_info {
|
||
|
u16 board_id;
|
||
|
u16 sku;
|
||
|
u8 fab;
|
||
|
u8 major_revision;
|
||
|
u8 minor_revision;
|
||
|
};
|
||
|
|
||
|
extern phys_addr_t tegra_bootloader_fb_start;
|
||
|
extern phys_addr_t tegra_bootloader_fb_size;
|
||
|
extern phys_addr_t tegra_bootloader_fb2_start;
|
||
|
extern phys_addr_t tegra_bootloader_fb2_size;
|
||
|
extern phys_addr_t tegra_bootloader_fb3_start;
|
||
|
extern phys_addr_t tegra_bootloader_fb3_size;
|
||
|
extern phys_addr_t tegra_bootloader_lut_start;
|
||
|
extern phys_addr_t tegra_bootloader_lut_size;
|
||
|
extern phys_addr_t tegra_bootloader_lut2_start;
|
||
|
extern phys_addr_t tegra_bootloader_lut2_size;
|
||
|
extern phys_addr_t tegra_bootloader_lut3_start;
|
||
|
extern phys_addr_t tegra_bootloader_lut3_size;
|
||
|
extern phys_addr_t tegra_fb_start;
|
||
|
extern phys_addr_t tegra_fb_size;
|
||
|
extern phys_addr_t tegra_fb2_start;
|
||
|
extern phys_addr_t tegra_fb2_size;
|
||
|
extern phys_addr_t tegra_fb3_start;
|
||
|
extern phys_addr_t tegra_fb3_size;
|
||
|
extern phys_addr_t tegra_lut_start;
|
||
|
extern phys_addr_t tegra_lut_size;
|
||
|
extern phys_addr_t tegra_lut2_start;
|
||
|
extern phys_addr_t tegra_lut2_size;
|
||
|
extern phys_addr_t tegra_lut3_start;
|
||
|
extern phys_addr_t tegra_lut3_size;
|
||
|
|
||
|
#ifdef CONFIG_ARCH_TEGRA
|
||
|
bool soc_is_tegra210_n_before(void);
|
||
|
bool soc_is_tegra186_n_later(void);
|
||
|
#else
|
||
|
static inline bool soc_is_tegra210_n_before(void)
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
static inline bool soc_is_tegra186_n_later(void)
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
static inline bool soc_is_tegra(void)
|
||
|
{
|
||
|
return soc_is_tegra210_n_before() || soc_is_tegra186_n_later();
|
||
|
}
|
||
|
|
||
|
int tegra_get_usb_port_owner_info(void);
|
||
|
void tegra_get_display_board_info(struct board_info *bi);
|
||
|
int tegra_get_board_panel_id(void);
|
||
|
void __tegra_move_framebuffer(struct platform_device *pdev,
|
||
|
phys_addr_t to, phys_addr_t from, size_t size);
|
||
|
void __tegra_clear_framebuffer(struct platform_device *pdev,
|
||
|
unsigned long to, unsigned long size);
|
||
|
|
||
|
|
||
|
#endif /* __SOC_TEGRA_COMMON_H__ */
|