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 {
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); }
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); }