static void guitar_reset(s32 ms)
{
    GPIO_DIRECTION_OUTPUT(RESET_PORT, 0);
    GPIO_SET_VALUE(RESET_PORT, 0);
    msleep(ms);

    GPIO_DIRECTION_INPUT(RESET_PORT);
    GPIO_PULL_UPDOWN(RESET_PORT, 0);

    msleep(20);
    return;
}
static void guitar_reset(s32 ms)
{
    GPIO_DIRECTION_OUTPUT(GPIO_CTP_RST_PIN, 0);
    GPIO_SET_VALUE(GPIO_CTP_RST_PIN, 0);
    msleep(ms);

    GPIO_DIRECTION_INPUT(GPIO_CTP_RST_PIN);
    GPIO_PULL_UPDOWN(GPIO_CTP_RST_PIN, 0);

    msleep(20);
    return;
}
static void guitar_leave_update_mode(void)
{
    GPIO_DIRECTION_INPUT(INT_PORT);
    GPIO_PULL_UPDOWN(INT_PORT, 0);
}
static void guitar_leave_update_mode(void)
{
    GPIO_DIRECTION_INPUT(GPIO_CTP_EINT_PIN);
    GPIO_PULL_UPDOWN(GPIO_CTP_EINT_PIN, 0);
    GPIO_CFG_PIN(GPIO_CTP_EINT_PIN, 1);
}