当前位置: 首页>>代码示例>>C++>>正文


C++ reg_read函数代码示例

本文整理汇总了C++中reg_read函数的典型用法代码示例。如果您正苦于以下问题:C++ reg_read函数的具体用法?C++ reg_read怎么用?C++ reg_read使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了reg_read函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: snd_ak4113_spdif_pget

static int snd_ak4113_spdif_pget(struct snd_kcontrol *kcontrol,
				 struct snd_ctl_elem_value *ucontrol)
{
	struct ak4113 *chip = snd_kcontrol_chip(kcontrol);
	unsigned short tmp;

	ucontrol->value.integer.value[0] = 0xf8f2;
	ucontrol->value.integer.value[1] = 0x4e1f;
	tmp = reg_read(chip, AK4113_REG_Pc0) |
		(reg_read(chip, AK4113_REG_Pc1) << 8);
	ucontrol->value.integer.value[2] = tmp;
	tmp = reg_read(chip, AK4113_REG_Pd0) |
		(reg_read(chip, AK4113_REG_Pd1) << 8);
	ucontrol->value.integer.value[3] = tmp;
	return 0;
}
开发者ID:nos1609,项目名称:Chrono_Kernel-1,代码行数:16,代码来源:ak4113.c

示例2: snd_ak4114_external_rate

int snd_ak4114_external_rate(struct ak4114 *ak4114)
{
	unsigned char rcs1;

	rcs1 = reg_read(ak4114, AK4114_REG_RCS1);
	return external_rate(rcs1);
}
开发者ID:rrowicki,项目名称:Chrono_Kernel-1,代码行数:7,代码来源:ak4114.c

示例3: ig4iic_detach

int
ig4iic_detach(ig4iic_softc_t *sc)
{
	int error;

	mtx_lock(&sc->mtx);

	reg_write(sc, IG4_REG_INTR_MASK, 0);
	reg_read(sc, IG4_REG_CLR_INTR);
	set_controller(sc, 0);

	if (sc->generic_attached) {
		error = bus_generic_detach(sc->dev);
		if (error)
			goto done;
		sc->generic_attached = 0;
	}
	if (sc->smb) {
		device_delete_child(sc->dev, sc->smb);
		sc->smb = NULL;
	}
	if (sc->intr_handle) {
		bus_teardown_intr(sc->dev, sc->intr_res, sc->intr_handle);
		sc->intr_handle = NULL;
	}

	error = 0;
done:
	mtx_unlock(&sc->mtx);
	return error;
}
开发者ID:terimai,项目名称:ichiic,代码行数:31,代码来源:ig4_iic.c

示例4: setup_peripheral_device

void setup_peripheral_device(unsigned *ICMR, unsigned *ICLR, unsigned *OIER){

	*ICMR = reg_read(INT_ICMR_ADDR);
	*ICLR = reg_read(INT_ICLR_ADDR);
	*OIER = reg_read(OSTMR_OIER_ADDR);

	reg_write(INT_ICMR_ADDR,INT_ICCR_DIM<<INT_OSTMR_0);
	reg_write(INT_ICLR_ADDR,0x0);


	reg_clear(OSTMR_OIER_ADDR,OSTMR_OIER_E0|OSTMR_OIER_E1|OSTMR_OIER_E2|OSTMR_OIER_E3);
	reg_set(OSTMR_OIER_ADDR,OSTMR_OIER_E0);
	reg_write(OSTMR_OSMR_ADDR(0),reg_read(OSTMR_OSCR_ADDR)+irq_elapse_count);



}
开发者ID:Eumenides2009,项目名称:EBProject3,代码行数:17,代码来源:utility.c

示例5: sr54xx_export

/* ------------------------------------------------------------------------*//**
 * @FUNCTION		sr54xx_export
 * @BRIEF		export module register content to file, in XML format.
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_CPU
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_REG_ACCESS
 * @param[in,out]	fp: output file stream (opened for write operations)
 * @param[in]		id: SR module ID
 * @DESCRIPTION		export module register content to file, in XML format.
 *//*------------------------------------------------------------------------ */
int sr54xx_export(FILE *fp, sr54xx_mod_id id)
{
	reg **mod;
	unsigned int i;

	CHECK_CPU(54xx, OMAPCONF_ERR_CPU);
	CHECK_NULL_ARG(fp, OMAPCONF_ERR_ARG);
	CHECK_ARG_LESS_THAN(id, SR54XX_MODS_COUNT, OMAPCONF_ERR_ARG);

	if (!sr54xx_is_enabled(id)) {
		printf("%s export: module not running, skipping "
			"registers export.\n", sr54xx_mod_name_get(id));
		return 0;
	}

	mod = sr54xx_mods[id];

	fprintf(fp, "          <submodule id=\"%u\" name=\"%s\">\n",
		id, sr54xx_mod_name_get(id));

	for (i = 0; i < OMAP5430_SMARTREFLEX_CORE_MOD_REGCOUNT; i++)
		fprintf(fp, "            <register id=\"%u\" name=\"%s\" "
			"addr=\"0x%08X\" data=\"0x%08X\" />\n", i,
			(mod[i])->name, (mod[i])->addr, reg_read(mod[i]));

	fprintf(fp, "          </submodule>\n");

	return 0;
}
开发者ID:bcousson,项目名称:omapconf,代码行数:40,代码来源:sr54xx.c

示例6: sr54xx_last_vp_voltage_get

/* ------------------------------------------------------------------------*//**
 * @FUNCTION		sr54xx_last_vp_voltage_get
 * @BRIEF		return the last voltage set by the voltage processor
 *			for a domain.
 * @RETURNS		>= 0 last voltage set by voltage processor for this
 *			domain (in volt)
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_CPU
 * @param[in]		id: valid SR module ID
 * @DESCRIPTION		return the last voltage set by the voltage processor
 *			for a domain
 *			NB: SR/VP/VC HAVE TO BE AT LEAST INITIALIZED (SR COULD
 *			BE DISABLED) OTHERWISE THIS VALUE HAS NO SENSE.
 *//*------------------------------------------------------------------------ */
double sr54xx_last_vp_voltage_get(sr54xx_mod_id id)
{
	unsigned int vp_voltage, uv;
	unsigned char vsel;
	reg *vp_voltage_r;
	voltdm54xx_id vdd_id = VDD54XX_ID_MAX;

	CHECK_CPU(54xx, (double) OMAPCONF_ERR_CPU);

	/* Retrieve corresponding register address */
	switch (id) {
	case SR54XX_SMARTREFLEX_MPU:
		vp_voltage_r = &omap5430_prm_vp_mpu_voltage;
		vdd_id = VDD54XX_MPU;
		break;
	case SR54XX_SMARTREFLEX_MM:
		vp_voltage_r = &omap5430_prm_vp_mm_voltage;
		vdd_id = VDD54XX_MM;
		break;
	case SR54XX_SMARTREFLEX_CORE:
		vp_voltage_r = &omap5430_prm_vp_core_voltage;
		vdd_id = VDD54XX_CORE;
		break;
	default:
		return (double) OMAPCONF_ERR_ARG;
	}

	/* Retrieve register content and extract voltage */
	vp_voltage = reg_read(vp_voltage_r);
	vp_last_voltage_get(vp_voltage, (unsigned short) vdd_id, &vsel, &uv);
	return (double) uv / 1000000.0;
}
开发者ID:bcousson,项目名称:omapconf,代码行数:46,代码来源:sr54xx.c

示例7: irom_copyself

/*
 * only support irom booting.
 */
void irom_copyself(void)
{
	u8_t gpn;
	u32_t * mem;
	u32_t page, block, size;

	/* GPN15, GPN14, GPN13 */
	reg_write(S3C6410_GPNCON, reg_read(S3C6410_GPNCON)&0x03ffffff);
	reg_write(S3C6410_GPNPUD, reg_read(S3C6410_GPNPUD)&0x03ffffff);
	gpn = (u8_t)((reg_read(S3C6410_GPNDAT)>>13)&0x7);

	/* sd-mmc(ch0) */
	if(gpn == 0x0)
	{
		/*
		 * high speed mmc0 initialize.
		 */
		reg_write(S3C6410_HM_CONTROL4_0, reg_read(S3C6410_HM_CONTROL4_0)|(0x3<<16));

		/*
		 * the xboot's memory base address.
		 */
		mem = (u32_t *)__text_start;

		/*
		 * the size which will be copyed, the 'size' is
		 * 1 : 256KB, 2 : 512KB, 3 : 768KB, 4 : 1024KB ...
		 */
		size = (__data_shadow_end - __text_start + 0x00040000) >> 18;

		/*
		 * how many blocks the 'size' is , 512 bytes per block.
		 * size * 256 *1024 / 512 = size * 2^9 = size << 9
		 */
		size = size << 9;

		/*
		 * the xboot's store position in sd card.
		 * it can be written using s3c6410-irom-sd.sh script.
		 */
		block = irom_movi_total_blkcnt - (size + 16 + 1 + 1);

		/*
		 * copy xboot to memory from movi nand.
		 */
		irom_movi_to_mem(0, block, size, mem, 0);
	}
开发者ID:qioixiy,项目名称:xboot,代码行数:50,代码来源:s3c6410-irom.c

示例8: snd_ak4117_rate_get

static int snd_ak4117_rate_get(snd_kcontrol_t *kcontrol,
			       snd_ctl_elem_value_t *ucontrol)
{
	ak4117_t *chip = snd_kcontrol_chip(kcontrol);

	ucontrol->value.integer.value[0] = external_rate(reg_read(chip, AK4117_REG_RCS1));
	return 0;
}
开发者ID:BackupTheBerlios,项目名称:tew632-brp-svn,代码行数:8,代码来源:ak4117.c

示例9: reg_clear_mask

static void reg_clear_mask(mxc_i2c_hs *i2c_hs, u32 reg_offset, u16 mask)
{
	u16 value;

	value = reg_read(i2c_hs, reg_offset);
	value &= ~mask;
	reg_write(i2c_hs, reg_offset, value);
}
开发者ID:hemool,项目名称:kernel_613,代码行数:8,代码来源:mxc_i2c_hs.c

示例10: mxci2c_hs_disable

static int mxci2c_hs_disable(mxc_i2c_hs *i2c_hs)
{
	reg_write(i2c_hs, HICR, reg_read(i2c_hs, HICR) & (~HICR_HIEN));
	clk_disable(i2c_hs->ipg_clk);
	clk_disable(i2c_hs->serial_clk);

	return 0;
}
开发者ID:hemool,项目名称:kernel_613,代码行数:8,代码来源:mxc_i2c_hs.c

示例11: reg_dump

static void reg_dump(ak4117_t *ak4117)
{
	int i;

	printk(KERN_DEBUG "AK4117 REG DUMP:\n");
	for (i = 0; i < 0x1b; i++)
		printk(KERN_DEBUG "reg[%02x] = %02x (%02x)\n", i, reg_read(ak4117, i), i < sizeof(ak4117->regmap) ? ak4117->regmap[i] : 0);
}
开发者ID:BackupTheBerlios,项目名称:tew632-brp-svn,代码行数:8,代码来源:ak4117.c

示例12: disable_mailbox_irq

static inline void disable_mailbox_irq(void)
{
    u32 cfg;

    // How to lock ERX_CFG_REG access - could be used from user side at same time!
    cfg = reg_read(&mailbox, ERX_CFG_REG);
    reg_write(&mailbox, ERX_CFG_REG, cfg & ~MAILBOX_ENABLE);
}
开发者ID:cpehle,项目名称:oh,代码行数:8,代码来源:epiphany.c

示例13: reg_set

static int reg_set(struct i2c_client *client, const u8 reg,
		   const u8 data, u8 mask)
{
	int ret = reg_read(client, reg);
	if (ret < 0)
		return ret;
	return reg_write(client, reg, (ret & ~mask) | (data & mask));
}
开发者ID:AD5GB,项目名称:kernel_n5_3.10-experimental,代码行数:8,代码来源:ak881x.c

示例14: acclib_wait_kernel

int acclib_wait_kernel(acclib_kernel *kernel) {
	if (!kernel) {
		if (verbose) printf("Invalid kernel\n");
		return -1;
	}
	while ((reg_read(kernel->user_addr, 0) & 0x2) == 0) {
		//usleep(10);
	}

	if (kernel -> is_ret) {
		printf("return value is in %x\n", 0x18+(kernel->argc-1)*0x8);
		return reg_read(kernel->user_addr, 0x18+(kernel->argc-1)*0x8); // return val
	}
	else {
		return 0;
	}
}
开发者ID:allwu,项目名称:acclib,代码行数:17,代码来源:acclib.c

示例15: cm54xx_export

/* ------------------------------------------------------------------------*//**
 * @FUNCTION		cm54xx_export
 * @BRIEF		export module register content to file, in XML format.
 * @RETURNS		0 in case of success
 *			OMAPCONF_ERR_CPU
 *			OMAPCONF_ERR_ARG
 *			OMAPCONF_ERR_INTERNAL
 * @param[in,out]	fp: output file stream (opened for write operations)
 * @param[in]		id: CM module ID
 * @DESCRIPTION		export module register content to file, in XML format.
 *//*------------------------------------------------------------------------ */
int cm54xx_export(FILE *fp, cm54xx_mod_id id)
{
	reg **mod;
	unsigned int i;

	CHECK_CPU(54xx, OMAPCONF_ERR_CPU);
	CHECK_NULL_ARG(fp, OMAPCONF_ERR_ARG);
	CHECK_ARG_LESS_THAN(id, CM54XX_MODS_COUNT, OMAPCONF_ERR_ARG);

	if ((cpu_revision_get() != REV_ES1_0) &&
		(id == CM54XX_L4PER_CM_CORE)) {
		fprintf(stderr, "omapconf: %s(): L4_PER does not exist!!!\n",
			__func__);
		return OMAPCONF_ERR_ARG;
	}

	dprintf("%s(): exporting CM %s (%u) module ...\n", __func__,
		cm54xx_mod_name_get(id), id);

	if (cpu_revision_get() == REV_ES1_0)
		mod = cm54xxes1_mods[id];
	else
		mod = cm54xx_mods[id];
	if (mod == NULL) {
		fprintf(stderr, "omapconf: %s(): mod == NULL!!!\n", __func__);
		return OMAPCONF_ERR_INTERNAL;
	}

	if ((id == CM54XX_INSTR_CM_CORE) &&
		!cm54xx_is_profiling_running(CM54XX_INSTR_CM_CORE)) {
		dprintf(
			"%s(%s): CM module is not accessible, don't export registers\n",
			__func__, cm54xx_mod_name_get(id));
		return 0;
	} else if ((id == CM54XX_INSTR_CM_CORE_AON) &&
		!cm54xx_is_profiling_running(CM54XX_INSTR_CM_CORE_AON)) {
		dprintf(
			"%s(%s): CM module is not accessible, don't export registers\n",
			__func__, cm54xx_mod_name_get(id));
		return 0;
	}

	fprintf(fp, "          <submodule id=\"%u\" name=\"%s\">\n",
		id, cm54xx_mod_name_get(id));

	for (i = 0; mod[i] != NULL; i++)
		fprintf(fp,
			"            <register id=\"%u\" name=\"%s\" addr=\"0x%08X\" data=\"0x%08X\" />\n",
			i, reg_name_get(mod[i]), reg_addr_get(mod[i]),
			reg_read(mod[i]));

	fprintf(fp, "          </submodule>\n");
	fflush(fp);

	dprintf("%s(): CM %s (%u) module exported.\n", __func__,
		cm54xx_mod_name_get(id), id);
	return 0;
}
开发者ID:IngenicC,项目名称:omapconf,代码行数:69,代码来源:cm54xx.c


注:本文中的reg_read函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。