void up_bt_enable(int enable) { if (enable) { lc823450_gpio_write(BT_POWER, 0); usleep(100 * 1000); lc823450_gpio_write(BT_POWER, 1); usleep(100 * 1000); } else { lc823450_gpio_write(BT_POWER, 0); } }
int up_timerisr(int irq, uint32_t *regs, FAR void *arg) { /* Process timer interrupt */ #ifdef CONFIG_DVFS lc823450_dvfs_tick_callback(); #endif #ifdef CONFIG_LC823450_MTM0_TICK /* Clear the interrupt (BEVT) */ putreg32(1 << 1, rMT00STS); #endif sched_process_timer(); #ifdef CONFIG_LCA_SOUNDSKIP_CHECK extern void lca_check_soundskip(void); lca_check_soundskip(); #endif #ifdef CHECK_INTERVAL _timer_val = !_timer_val; lc823450_gpio_write(TIMER_PIN, _timer_val); #endif #ifdef CONFIG_HSUART hsuart_wdtimer(); #endif /* CONFIG_HSUART */ return 0; }
static void lc832450_set_core_voltage(bool high) { if (false == high) { _dvfs_core12v = 0; } lc823450_gpio_write(CORE12V_PIN, (int)high); if (high) { /* start 3ms timer to change internal dividers */ lc823450_mtm_start_oneshot(3); } }