Lines Matching refs:hpm_i2cs

42 static struct hpm_i2c hpm_i2cs[] =  variable
115 for (uint32_t i = 0; i < sizeof(hpm_i2cs) / sizeof(hpm_i2cs[0]); i++) in handle_i2c_isr()
117 if (hpm_i2cs[i].base == ptr) in handle_i2c_isr()
119 rt_sem_release(hpm_i2cs[i].xfer_sem); in handle_i2c_isr()
396 for (uint32_t i = 0; i < sizeof(hpm_i2cs) / sizeof(hpm_i2cs[0]); i++) { in rt_hw_i2c_init()
397 init_i2c_pins(hpm_i2cs[i].base); in rt_hw_i2c_init()
398 clock_add_to_group(hpm_i2cs[i].clk_name, 0); in rt_hw_i2c_init()
399 clock_set_source_divider(hpm_i2cs[i].clk_name, clk_src_osc24m, 1U); in rt_hw_i2c_init()
403 freq = clock_get_frequency(hpm_i2cs[i].clk_name); in rt_hw_i2c_init()
404 stat = i2c_init_master(hpm_i2cs[i].base, freq, &config); in rt_hw_i2c_init()
406 LOG_E("rt i2c device %s init failed", hpm_i2cs[i].bus_name); in rt_hw_i2c_init()
409 hpm_i2cs[i].bus.ops = &hpm_i2c_ops; in rt_hw_i2c_init()
410 if (hpm_i2cs[i].enable_dma) in rt_hw_i2c_init()
412 stat = dma_mgr_request_resource(&hpm_i2cs[i].dma); in rt_hw_i2c_init()
417 …dma_mgr_install_chn_tc_callback(&hpm_i2cs[i].dma, i2c_dma_channel_tc_callback, (void *)&hpm_i2cs[i… in rt_hw_i2c_init()
418 dma_mgr_enable_dma_irq_with_priority(&hpm_i2cs[i].dma, 1); in rt_hw_i2c_init()
419 intc_m_enable_irq_with_priority(hpm_i2cs[i].i2c_irq, 2); in rt_hw_i2c_init()
420 i2c_disable_irq(hpm_i2cs[i].base, I2C_EVENT_TRANSACTION_COMPLETE); in rt_hw_i2c_init()
421 rt_sprintf(sem_name, "%s_s", hpm_i2cs[i].bus_name); in rt_hw_i2c_init()
422 hpm_i2cs[i].xfer_sem = rt_sem_create(sem_name, 0, RT_IPC_FLAG_PRIO); in rt_hw_i2c_init()
423 if (hpm_i2cs[i].xfer_sem == RT_NULL) in rt_hw_i2c_init()
429 ret = rt_i2c_bus_device_register(&hpm_i2cs[i].bus, hpm_i2cs[i].bus_name); in rt_hw_i2c_init()
431 LOG_E("rt i2c device %s register failed, status=%d\n", hpm_i2cs[i].bus_name, ret); in rt_hw_i2c_init()