1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_CPU_SH3_DAC_H
3#define __ASM_CPU_SH3_DAC_H
4
5/*
6 * Copyright (C) 2003  Andriy Skulysh
7 */
8
9
10#define DADR0	0xa40000a0
11#define DADR1	0xa40000a2
12#define DACR	0xa40000a4
13#define DACR_DAOE1	0x80
14#define DACR_DAOE0	0x40
15#define DACR_DAE	0x20
16
17
18static __inline__ void sh_dac_enable(int channel)
19{
20	unsigned char v;
21	v = __raw_readb(DACR);
22	if(channel) v |= DACR_DAOE1;
23	else v |= DACR_DAOE0;
24	__raw_writeb(v,DACR);
25}
26
27static __inline__ void sh_dac_disable(int channel)
28{
29	unsigned char v;
30	v = __raw_readb(DACR);
31	if(channel) v &= ~DACR_DAOE1;
32	else v &= ~DACR_DAOE0;
33	__raw_writeb(v,DACR);
34}
35
36static __inline__ void sh_dac_output(u8 value, int channel)
37{
38	if(channel) __raw_writeb(value,DADR1);
39	else __raw_writeb(value,DADR0);
40}
41
42#endif /* __ASM_CPU_SH3_DAC_H */
43