Ejemplo n.º 1
0
static unsigned long i2s_ext_mclk_set_clock(unsigned long clk, int ch)
{
	unsigned long ret_clk = 0;

    PM_DBGOUT("%s: %ld\n", __func__, clk);

    if (clk > 1) {
		// set input & gpio_mode of I2S MCLK pin
		switch (ch) {
			case 0:
				nxp_soc_gpio_set_io_func(PAD_GPIO_D + 13, NX_GPIO_PADFUNC_0);
				nxp_soc_gpio_set_io_dir(PAD_GPIO_D + 13, 0);
				break;
			case 1:
			case 2:
				nxp_soc_gpio_set_io_func(PAD_GPIO_A + 28, NX_GPIO_PADFUNC_0);
				nxp_soc_gpio_set_io_dir(PAD_GPIO_A + 28, 0);
				break;
			default:
				break;
		}
#if defined(CFG_EXT_MCLK_PWM_CH)
		nxp_cpu_periph_clock_register(CLK_ID_I2S_0 + ch, clk, 0);
		i2s_ext_clk_value = clk;
	} else {
		if (clk) {
	        ret_clk = nxp_soc_pwm_set_frequency(CFG_EXT_MCLK_PWM_CH, i2s_ext_clk_value, 50);
		} else {
	        ret_clk = nxp_soc_pwm_set_frequency(CFG_EXT_MCLK_PWM_CH, 0, 0);
		}
	}
    msleep(1);
#else
		printk("err!!! must have other ext_clk++\n");
		nxp_cpu_periph_clock_register(CLK_ID_I2S_0 + ch, clk, 0);
		i2s_ext_clk_value = clk;
	} else {
Ejemplo n.º 2
0
static void nand_dev_init(struct mtd_info *mtd)
{
	unsigned int io = CFG_IO_NAND_nWP;

	NX_MCUS_SetAutoResetEnable(CTRUE);
	NX_MCUS_ClearInterruptPending(0);
	NX_MCUS_SetInterruptEnable(0, CFALSE); /* polling */
#ifdef CFG_NAND_ECCIRQ_MODE
	NX_MCUS_SetECCInterruptEnable(0, CTRUE);
#else
	NX_MCUS_SetECCInterruptEnable(0, CFALSE);
#endif
	NX_MCUS_SetNFBank(0);
	NX_MCUS_SetNFCSEnable(CFALSE);

	nxp_soc_gpio_set_out_value(io, 0);
	nxp_soc_gpio_set_io_dir(io, 1);
	nxp_soc_gpio_set_io_func(io, nxp_soc_gpio_get_altnum(io));
	nxp_soc_gpio_set_out_value(io, 1);
}
Ejemplo n.º 3
0
void i2c_cfg_gpio2(struct platform_device *dev)
{
	nxp_soc_gpio_set_io_func( I2C2_SCL & 0xff, 1);
	nxp_soc_gpio_set_io_func( I2C2_SDA & 0xff, 1);
}