Пример #1
0
static void mt7621_fe_reset(void)
{
	u32 val = rt_sysc_r32(SYSC_REG_RESET_CTRL);

	rt_sysc_w32(val | MT7621_RESET_FE, SYSC_REG_RESET_CTRL);
	rt_sysc_w32(val, SYSC_REG_RESET_CTRL);
}
Пример #2
0
static int mt7620_i2s_dai_probe(struct snd_soc_dai *dai)
{
	struct mt7620_i2s *i2s = snd_soc_dai_get_drvdata(dai);
	uint32_t data;

	mt7620_i2c_init_pcm_config(i2s);
	dai->playback_dma_data = &i2s->playback_dma_data;
	dai->capture_dma_data = &i2s->capture_dma_data;

	/* set share pins to i2s/gpio mode and i2c mode */
	data = rt_sysc_r32(0x60);
	data &= 0xFFFFFFE2;
	data |= 0x00000018;
	rt_sysc_w32(data, 0x60);

	printk("Internal REFCLK with fractional division\n");

	mt7620_i2s_write(i2s, I2S_REG_CFG0, I2S_REG_CFG0_DFT_THRES);
	mt7620_i2s_write(i2s, I2S_REG_CFG1, 0);
	mt7620_i2s_write(i2s, I2S_REG_INT_EN, 0);

	mt7620_i2s_write(i2s, I2S_REG_DIVINT, i2sMaster_inclk_int[7]);
	mt7620_i2s_write(i2s, I2S_REG_DIVCMP,
		i2sMaster_inclk_comp[7] | I2S_REG_CLK_EN);

	return 0;
}
Пример #3
0
void rt305x_wdt_reset(void)
{
	u32 t;

	/* enable WDT reset output on pin SRAM_CS_N */
	t = rt_sysc_r32(SYSC_REG_SYSTEM_CONFIG);
	t |= RT305X_SYSCFG_SRAM_CS0_MODE_WDT <<
		RT305X_SYSCFG_SRAM_CS0_MODE_SHIFT;
	rt_sysc_w32(t, SYSC_REG_SYSTEM_CONFIG);
}
static void ralink_restart(char *command)
{
	if (IS_ENABLED(CONFIG_PCI)) {
		rt_sysc_m32(0, RSTCTL_RESET_PCI, SYSC_REG_RESET_CTRL);
		mdelay(50);
	}

	local_irq_disable();
	rt_sysc_w32(RSTCTL_RESET_SYSTEM, SYSC_REG_RESET_CTRL);
	unreachable();
}
Пример #5
0
static int ralink_deassert_device(struct reset_controller_dev *rcdev,
				  unsigned long id)
{
	u32 val;

	if (id < 8)
		return -1;

	val = rt_sysc_r32(SYSC_REG_RESET_CTRL);
	val &= ~BIT(id);
	rt_sysc_w32(val, SYSC_REG_RESET_CTRL);

	return 0;
}
Пример #6
0
static void ralink_restart(char *command)
{
	local_irq_disable();
	rt_sysc_w32(RSTCTL_RESET_SYSTEM, SYSC_REG_RESET_CTRL);
	unreachable();
}