SmartAudio/lichee/linux-4.9/sound/soc/sunxi/sunxi_rw_func.h

46 lines
1.3 KiB
C
Executable File

/*
* sound\soc\sunxi\sunxi_rw_func.h
* (C) Copyright 2010-2017
* Reuuimlla Technology Co., Ltd. <www.reuuimllatech.com>
* huangxin <huangxin@Reuuimllatech.com>
*
* some simple description for this code
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
*/
#ifndef __SUNXI_RW_FUNC__
#define __SUNXI_RW_FUNC__
#include <linux/io.h>
#include <linux/module.h>
#if defined(CONFIG_ARCH_SUN50IW3) || defined(CONFIG_ARCH_SUN8IW12) || \
defined(CONFIG_ARCH_SUN8IW15) || defined(CONFIG_ARCH_SUN50IW8)
#define ADDR_WIDTH 0x3f
#else
#define ADDR_WIDTH 0x1f
#endif
extern u32 read_prcm_wvalue(u32 addr, void __iomem *ADDA_PR_CFG_REG);
extern void write_prcm_wvalue(u32 addr, u32 val, void __iomem *ADDA_PR_CFG_REG);
extern u32 codec_wrreg_prcm_bits(void __iomem *ADDA_PR_CFG_REG,
u32 reg, u32 mask, u32 value);
extern u32 codec_wrreg_bits(void __iomem *address, u32 mask, u32 value);
extern u32 codec_wr_control(void __iomem *reg, u32 mask, u32 shift, u32 val);
extern void codec_wrreg(void __iomem *address, u32 val);
extern u32 codec_rdreg(void __iomem *address);
extern u32 audiodebug_reg_read(u32 reg);
#endif