blob: 423230cfd134d03d747475c91d52e596db06dedb [file] [log] [blame]
/* 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;
}