/* SPDX-License-Identifier: BSD-3-Clause */ | |
#include <device/mmio.h> | |
#include <soc/blsp.h> | |
#include <soc/clock.h> | |
blsp_return_t blsp_i2c_init(blsp_qup_id_t id) | |
{ | |
void *base = blsp_qup_base(id); | |
if (!base) | |
return BLSP_ID_ERROR; | |
if (blsp_i2c_clock_config(id) != 0) | |
return BLSP_ID_ERROR; | |
if (blsp_i2c_init_board(id)) | |
return BLSP_UNSUPPORTED; | |
/* Configure Mini core to I2C core */ | |
clrsetbits32(base, BLSP_MINI_CORE_MASK, BLSP_MINI_CORE_I2C); | |
return BLSP_SUCCESS; | |
} |