Lines Matching refs:config
165 static void i2c_config(struct mec_i2c_smb_ctx *ctx, struct mec_i2c_smb_cfg *config, in i2c_config() argument
172 base->CONFIG = (((uint32_t)config->port << MEC_I2C_SMB_CONFIG_PORT_SEL_Pos) in i2c_config()
183 base->OWN_ADDR = config->target_addr2; in i2c_config()
184 base->OWN_ADDR = (base->OWN_ADDR << 8) | config->target_addr1; in i2c_config()
186 if (config->cfg_flags & MEC_I2C_SMB_CFG_CUST_FREQ) { in i2c_config()
189 i2c_timing(base, &freq_cfg_dflt[config->std_freq]); in i2c_config()
226 int mec_hal_i2c_smb_init(struct mec_i2c_smb_ctx *ctx, struct mec_i2c_smb_cfg *config, in mec_hal_i2c_smb_init() argument
237 if (!info || !config) { in mec_hal_i2c_smb_init()
243 if (config->cfg_flags & MEC_I2C_SMB_CFG_PRESERVE_TARGET_ADDRS) { in mec_hal_i2c_smb_init()
245 config->target_addr1 = (uint8_t)(own_addrs & 0x7fu); in mec_hal_i2c_smb_init()
246 config->target_addr2 = (uint8_t)((own_addrs >> 8) & 0x7fu); in mec_hal_i2c_smb_init()
252 if (!(MEC_BIT(config->port) & MEC5_I2C_SMB_PORT_MAP)) { in mec_hal_i2c_smb_init()
256 if ((config->cfg_flags & MEC_I2C_SMB_CFG_CUST_FREQ) && !custom_freq_cfg) { in mec_hal_i2c_smb_init()
258 } else if (config->std_freq >= MEC_I2C_STD_FREQ_MAX) { in mec_hal_i2c_smb_init()
263 i2c_config(ctx, config, custom_freq_cfg); in mec_hal_i2c_smb_init()