GNU Linux-libre 4.19.245-gnu1
[releases.git] / arch / sh / include / cpu-sh3 / cpu / dac.h
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
18 static __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
27 static __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
36 static __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 */