blob: b72793f9daf0e402865feaaf758059a425c08ca6 [file] [log] [blame]
Sylvain Munautbc9f5c42020-09-14 10:22:29 +02001/*
2 * misc.h
3 *
4 * Copyright (C) 2019-2020 Sylvain Munaut <tnt@246tNt.com>
5 * SPDX-License-Identifier: GPL-3.0-or-later
6 */
7
8#pragma once
9
10#include <stdbool.h>
11#include <stdint.h>
12
13enum pdm_chan {
14 PDM_CLK_LO = 0,
15 PDM_CLK_HI = 1,
Sylvain Munaut5e860472020-09-15 22:20:21 +020016
17 /* icE1usb */
18 PDM_E1_RX0 = 2,
19 PDM_E1_RX1 = 3,
20
21 /* icE1usb-proto */
Sylvain Munautbc9f5c42020-09-14 10:22:29 +020022 PDM_E1_N = 2,
23 PDM_E1_P = 3,
24 PDM_E1_CT = 4,
25};
26
27void pdm_set(int chan, bool enable, unsigned value, bool normalize);
28
Sylvain Munautbe5a53a2022-01-11 11:08:25 +010029void gpio_dir(int n, bool output);
30void gpio_out(int n, bool val);
31bool gpio_in(int n);
32
Sylvain Munaut394748a2022-01-11 11:06:28 +010033void e1_led_run(void);
34void e1_led_pause(void);
Sylvain Munaut5e860472020-09-15 22:20:21 +020035void e1_led_set(bool enable, uint8_t cfg);
Sylvain Munaut394748a2022-01-11 11:06:28 +010036
Sylvain Munaut436b7752022-01-03 22:09:54 +010037uint16_t e1_tick_read(int port);
Sylvain Munaut46d6b412020-10-29 13:19:05 +010038
Sylvain Munaut00b57622022-01-11 11:10:49 +010039bool time_elapsed(uint32_t ref, unsigned int tick);
40void delay(unsigned int ms);
41uint32_t time_pps_read(void);
42uint32_t time_now_read(void);
43
Sylvain Munaut46d6b412020-10-29 13:19:05 +010044void reboot(int fw);