xref: /openbsd-src/sys/arch/arm64/dev/rtkit.h (revision b9886d31b48d05ef35853663cfc72d6ce5db17bc)
1 /* public domain */
2 
3 #define RTKIT_MGMT_PWR_STATE_SLEEP	0x0001
4 #define RTKIT_MGMT_PWR_STATE_QUIESCED	0x0010
5 #define RTKIT_MGMT_PWR_STATE_ON		0x0020
6 #define RTKIT_MGMT_PWR_STATE_INIT	0x0220
7 
8 struct rtkit_state;
9 
10 struct rtkit {
11 	void *rk_cookie;
12 	bus_dma_tag_t rk_dmat;
13 	int (*rk_map)(void *, bus_addr_t, bus_size_t);
14 	int (*rk_unmap)(void *, bus_addr_t, bus_size_t);
15 	paddr_t (*rk_logmap)(void *, bus_addr_t);
16 };
17 
18 #define RK_WAKEUP	0x00000001
19 #define RK_DEBUG	0x00000002
20 #define RK_SYSLOG	0x00000004
21 
22 struct rtkit_state *rtkit_init(int, const char *, int, struct rtkit *);
23 int	rtkit_boot(struct rtkit_state *);
24 void	rtkit_shutdown(struct rtkit_state *);
25 int	rtkit_set_ap_pwrstate(struct rtkit_state *, uint16_t);
26 int	rtkit_set_iop_pwrstate(struct rtkit_state *, uint16_t);
27 int	rtkit_poll(struct rtkit_state *);
28 int	rtkit_start_endpoint(struct rtkit_state *, uint32_t,
29 	    void (*)(void *, uint64_t), void *);
30 int	rtkit_send_endpoint(struct rtkit_state *, uint32_t, uint64_t);
31 
32 int	aplrtk_start(uint32_t);
33 int	aplsart_map(uint32_t, bus_addr_t, bus_size_t);
34 int	aplsart_unmap(uint32_t, bus_addr_t, bus_size_t);
35