| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #ifndef __ASM_CPU_SH3_DAC_H
 | 
					
						
							|  |  |  | #define __ASM_CPU_SH3_DAC_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (C) 2003  Andriy Skulysh | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define DADR0	0xa40000a0
 | 
					
						
							|  |  |  | #define DADR1	0xa40000a2
 | 
					
						
							|  |  |  | #define DACR	0xa40000a4
 | 
					
						
							|  |  |  | #define DACR_DAOE1	0x80
 | 
					
						
							|  |  |  | #define DACR_DAOE0	0x40
 | 
					
						
							|  |  |  | #define DACR_DAE	0x20
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static __inline__ void sh_dac_enable(int channel) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	unsigned char v; | 
					
						
							| 
									
										
										
										
											2010-01-26 12:58:40 +09:00
										 |  |  | 	v = __raw_readb(DACR); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	if(channel) v |= DACR_DAOE1; | 
					
						
							|  |  |  | 	else v |= DACR_DAOE0; | 
					
						
							| 
									
										
										
										
											2010-01-26 12:58:40 +09:00
										 |  |  | 	__raw_writeb(v,DACR); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static __inline__ void sh_dac_disable(int channel) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	unsigned char v; | 
					
						
							| 
									
										
										
										
											2010-01-26 12:58:40 +09:00
										 |  |  | 	v = __raw_readb(DACR); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	if(channel) v &= ~DACR_DAOE1; | 
					
						
							|  |  |  | 	else v &= ~DACR_DAOE0; | 
					
						
							| 
									
										
										
										
											2010-01-26 12:58:40 +09:00
										 |  |  | 	__raw_writeb(v,DACR); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static __inline__ void sh_dac_output(u8 value, int channel) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2010-01-26 12:58:40 +09:00
										 |  |  | 	if(channel) __raw_writeb(value,DADR1); | 
					
						
							|  |  |  | 	else __raw_writeb(value,DADR0); | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __ASM_CPU_SH3_DAC_H */
 |