int __init dalmore_soctherm_init(void)
{
	struct board_info board_info;

	tegra_get_board_info(&board_info);
	if (!(board_info.board_id == BOARD_E1611 ||
		board_info.board_id == BOARD_P2454))
		dalmore_soctherm_data.tshut_pmu_trip_data = &tpdata_max77663;

	tegra_platform_edp_init(dalmore_soctherm_data.therm[THERM_CPU].trips,
			&dalmore_soctherm_data.therm[THERM_CPU].num_trips,
			8000); /* edp temperature margin */
	tegra_add_tj_trips(dalmore_soctherm_data.therm[THERM_CPU].trips,
			&dalmore_soctherm_data.therm[THERM_CPU].num_trips);

	return tegra11_soctherm_init(&dalmore_soctherm_data);
}
int __init macallan_soctherm_init(void)
{
	struct board_info board_info;
	tegra_get_board_info(&board_info);
	if (board_info.board_id == BOARD_E1545)
		tegra_add_cdev_trips(macallan_soctherm_data.therm[THERM_CPU].trips,
				&macallan_soctherm_data.therm[THERM_CPU].num_trips);
	tegra_platform_edp_init(macallan_soctherm_data.therm[THERM_CPU].trips,
			&macallan_soctherm_data.therm[THERM_CPU].num_trips,
			6000); /* edp temperature margin */
	tegra_add_tj_trips(macallan_soctherm_data.therm[THERM_CPU].trips,
			&macallan_soctherm_data.therm[THERM_CPU].num_trips);
	tegra_add_vc_trips(macallan_soctherm_data.therm[THERM_CPU].trips,
			&macallan_soctherm_data.therm[THERM_CPU].num_trips);


	return tegra11_soctherm_init(&macallan_soctherm_data);
}
int __init atlantis_soctherm_init(void)
{
	struct board_info board_info;

	/* atlantis ERS and FFD */
	tegra_get_board_info(&board_info);
	if (!((board_info.board_id == BOARD_E1670) ||
		(board_info.board_id == BOARD_E1740)))
		return -EINVAL;

	tegra_platform_edp_init(atlantis_soctherm_data.therm[THERM_CPU].trips,
				&atlantis_soctherm_data.therm[THERM_CPU].num_trips,
				14000); /* edp temperature margin */
	tegra_add_tj_trips(atlantis_soctherm_data.therm[THERM_CPU].trips,
			   &atlantis_soctherm_data.therm[THERM_CPU].num_trips);

	return tegra11_soctherm_init(&atlantis_soctherm_data);
}