xref: /openbsd-src/sys/arch/arm64/dev/rtkit.h (revision b9886d31b48d05ef35853663cfc72d6ce5db17bc)
10b0ff99eSkettenis /* public domain */
20b0ff99eSkettenis 
3c1a14ff8Skettenis #define RTKIT_MGMT_PWR_STATE_SLEEP	0x0001
4c1a14ff8Skettenis #define RTKIT_MGMT_PWR_STATE_QUIESCED	0x0010
5c1a14ff8Skettenis #define RTKIT_MGMT_PWR_STATE_ON		0x0020
6*b9886d31Skettenis #define RTKIT_MGMT_PWR_STATE_INIT	0x0220
7c1a14ff8Skettenis 
8d80548acSkettenis struct rtkit_state;
9d80548acSkettenis 
102ec5c635Skettenis struct rtkit {
112ec5c635Skettenis 	void *rk_cookie;
122ec5c635Skettenis 	bus_dma_tag_t rk_dmat;
132ec5c635Skettenis 	int (*rk_map)(void *, bus_addr_t, bus_size_t);
14ea87a8bfSkettenis 	int (*rk_unmap)(void *, bus_addr_t, bus_size_t);
15*b9886d31Skettenis 	paddr_t (*rk_logmap)(void *, bus_addr_t);
162ec5c635Skettenis };
172ec5c635Skettenis 
183b6109e0Skettenis #define RK_WAKEUP	0x00000001
19*b9886d31Skettenis #define RK_DEBUG	0x00000002
20*b9886d31Skettenis #define RK_SYSLOG	0x00000004
213b6109e0Skettenis 
223b6109e0Skettenis struct rtkit_state *rtkit_init(int, const char *, int, struct rtkit *);
23d80548acSkettenis int	rtkit_boot(struct rtkit_state *);
2419c18994Skettenis void	rtkit_shutdown(struct rtkit_state *);
25c1a14ff8Skettenis int	rtkit_set_ap_pwrstate(struct rtkit_state *, uint16_t);
26fb1acad1Skettenis int	rtkit_set_iop_pwrstate(struct rtkit_state *, uint16_t);
27d80548acSkettenis int	rtkit_poll(struct rtkit_state *);
28d80548acSkettenis int	rtkit_start_endpoint(struct rtkit_state *, uint32_t,
29d80548acSkettenis 	    void (*)(void *, uint64_t), void *);
30d80548acSkettenis int	rtkit_send_endpoint(struct rtkit_state *, uint32_t, uint64_t);
312ec5c635Skettenis 
32f1e4522dSkettenis int	aplrtk_start(uint32_t);
332ec5c635Skettenis int	aplsart_map(uint32_t, bus_addr_t, bus_size_t);
34ea87a8bfSkettenis int	aplsart_unmap(uint32_t, bus_addr_t, bus_size_t);
35