Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
43 lines
809 B
C
43 lines
809 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#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;
|
|
v = __raw_readb(DACR);
|
|
if(channel) v |= DACR_DAOE1;
|
|
else v |= DACR_DAOE0;
|
|
__raw_writeb(v,DACR);
|
|
}
|
|
|
|
static __inline__ void sh_dac_disable(int channel)
|
|
{
|
|
unsigned char v;
|
|
v = __raw_readb(DACR);
|
|
if(channel) v &= ~DACR_DAOE1;
|
|
else v &= ~DACR_DAOE0;
|
|
__raw_writeb(v,DACR);
|
|
}
|
|
|
|
static __inline__ void sh_dac_output(u8 value, int channel)
|
|
{
|
|
if(channel) __raw_writeb(value,DADR1);
|
|
else __raw_writeb(value,DADR0);
|
|
}
|
|
|
|
#endif /* __ASM_CPU_SH3_DAC_H */
|