thermal: exynos: Provide separate TMU data for Exynos4412
Up till now Exynos5250 and Exynos4412 had the same definitions for TMU data. Following commit changes that, by introducing separate exynos4412_default_tmu_data structure. Since Exynos4412 was chronologically first, the corresponding name for TMU registers and default data was renamed. Additionally, new SOC_ARCH_EXYNOS4412 type has been defined. Moreover, the SOC_ARCH_EXYNOS name has been changed to SOC_ARCH_EXYNOS5250. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
This commit is contained in:
Родитель
acecdb3cf4
Коммит
14ddfaecc8
|
@ -488,7 +488,7 @@ static const struct of_device_id exynos_tmu_match[] = {
|
|||
},
|
||||
{
|
||||
.compatible = "samsung,exynos4412-tmu",
|
||||
.data = (void *)EXYNOS5250_TMU_DRV_DATA,
|
||||
.data = (void *)EXYNOS4412_TMU_DRV_DATA,
|
||||
},
|
||||
{
|
||||
.compatible = "samsung,exynos5250-tmu",
|
||||
|
@ -629,9 +629,10 @@ static int exynos_tmu_probe(struct platform_device *pdev)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (pdata->type == SOC_ARCH_EXYNOS ||
|
||||
pdata->type == SOC_ARCH_EXYNOS4210 ||
|
||||
pdata->type == SOC_ARCH_EXYNOS5440)
|
||||
if (pdata->type == SOC_ARCH_EXYNOS4210 ||
|
||||
pdata->type == SOC_ARCH_EXYNOS4412 ||
|
||||
pdata->type == SOC_ARCH_EXYNOS5250 ||
|
||||
pdata->type == SOC_ARCH_EXYNOS5440)
|
||||
data->soc = pdata->type;
|
||||
else {
|
||||
ret = -EINVAL;
|
||||
|
|
|
@ -41,7 +41,8 @@ enum calibration_mode {
|
|||
|
||||
enum soc_type {
|
||||
SOC_ARCH_EXYNOS4210 = 1,
|
||||
SOC_ARCH_EXYNOS,
|
||||
SOC_ARCH_EXYNOS4412,
|
||||
SOC_ARCH_EXYNOS5250,
|
||||
SOC_ARCH_EXYNOS5440,
|
||||
};
|
||||
|
||||
|
|
|
@ -90,8 +90,8 @@ struct exynos_tmu_init_data const exynos4210_default_tmu_data = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SOC_EXYNOS5250) || defined(CONFIG_SOC_EXYNOS4412)
|
||||
static const struct exynos_tmu_registers exynos5250_tmu_registers = {
|
||||
#if defined(CONFIG_SOC_EXYNOS4412) || defined(CONFIG_SOC_EXYNOS5250)
|
||||
static const struct exynos_tmu_registers exynos4412_tmu_registers = {
|
||||
.triminfo_data = EXYNOS_TMU_REG_TRIMINFO,
|
||||
.triminfo_25_shift = EXYNOS_TRIMINFO_25_SHIFT,
|
||||
.triminfo_85_shift = EXYNOS_TRIMINFO_85_SHIFT,
|
||||
|
@ -128,7 +128,7 @@ static const struct exynos_tmu_registers exynos5250_tmu_registers = {
|
|||
.emul_time_mask = EXYNOS_EMUL_TIME_MASK,
|
||||
};
|
||||
|
||||
#define EXYNOS5250_TMU_DATA \
|
||||
#define EXYNOS4412_TMU_DATA \
|
||||
.threshold_falling = 10, \
|
||||
.trigger_levels[0] = 85, \
|
||||
.trigger_levels[1] = 103, \
|
||||
|
@ -162,15 +162,31 @@ static const struct exynos_tmu_registers exynos5250_tmu_registers = {
|
|||
.temp_level = 103, \
|
||||
}, \
|
||||
.freq_tab_count = 2, \
|
||||
.type = SOC_ARCH_EXYNOS, \
|
||||
.registers = &exynos5250_tmu_registers, \
|
||||
.registers = &exynos4412_tmu_registers, \
|
||||
.features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \
|
||||
TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \
|
||||
TMU_SUPPORT_EMUL_TIME)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SOC_EXYNOS4412)
|
||||
struct exynos_tmu_init_data const exynos4412_default_tmu_data = {
|
||||
.tmu_data = {
|
||||
{
|
||||
EXYNOS4412_TMU_DATA,
|
||||
.type = SOC_ARCH_EXYNOS4412,
|
||||
},
|
||||
},
|
||||
.tmu_count = 1,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SOC_EXYNOS5250)
|
||||
struct exynos_tmu_init_data const exynos5250_default_tmu_data = {
|
||||
.tmu_data = {
|
||||
{ EXYNOS5250_TMU_DATA },
|
||||
{
|
||||
EXYNOS4412_TMU_DATA,
|
||||
.type = SOC_ARCH_EXYNOS5250,
|
||||
},
|
||||
},
|
||||
.tmu_count = 1,
|
||||
};
|
||||
|
|
|
@ -138,7 +138,14 @@ extern struct exynos_tmu_init_data const exynos4210_default_tmu_data;
|
|||
#define EXYNOS4210_TMU_DRV_DATA (NULL)
|
||||
#endif
|
||||
|
||||
#if (defined(CONFIG_SOC_EXYNOS5250) || defined(CONFIG_SOC_EXYNOS4412))
|
||||
#if defined(CONFIG_SOC_EXYNOS4412)
|
||||
extern struct exynos_tmu_init_data const exynos4412_default_tmu_data;
|
||||
#define EXYNOS4412_TMU_DRV_DATA (&exynos4412_default_tmu_data)
|
||||
#else
|
||||
#define EXYNOS4412_TMU_DRV_DATA (NULL)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SOC_EXYNOS5250)
|
||||
extern struct exynos_tmu_init_data const exynos5250_default_tmu_data;
|
||||
#define EXYNOS5250_TMU_DRV_DATA (&exynos5250_default_tmu_data)
|
||||
#else
|
||||
|
|
Загрузка…
Ссылка в новой задаче