uint8_t target_panel_auto_detect_enabled()
{
	uint8_t ret = 0;

	switch(board_hardware_id())
	{
		case HW_PLATFORM_QRD:
			ret = platform_is_msm8956() ? 1 : 0;
			break;
		case HW_PLATFORM_SURF:
		case HW_PLATFORM_MTP:
		default:
			ret = 0;
	}
	return ret;
}
/* Return 1 if vol_up pressed */
int target_volume_up()
{
	uint8_t status = 0;
	uint32_t vol_up_gpio;

	if(platform_is_msm8956())
		vol_up_gpio = TLMM_VOL_UP_BTN_GPIO_8956;

	else
		vol_up_gpio = TLMM_VOL_UP_BTN_GPIO;

	gpio_tlmm_config(vol_up_gpio, 0, GPIO_INPUT, GPIO_PULL_UP, GPIO_2MA, GPIO_ENABLE);

	/* Wait for the gpio config to take effect - debounce time */
	thread_sleep(10);

	/* Get status of GPIO */
	status = gpio_status(vol_up_gpio);

	/* Active low signal. */
	return !status;
}
void platform_clock_init(void)
{
	if (platform_is_msm8956())
		msm8956_clock_override();
	clk_init(msm_clocks_8952, ARRAY_SIZE(msm_clocks_8952));
}