Lines Matching refs:i3c
14 #include "dw-i3c-master.h"
79 struct ast2600_i3c *i3c = to_ast2600_i3c(dw);
84 rc = ast2600_i3c_pullup_to_reg(i3c->sda_pullup, ®);
88 rc = regmap_write(i3c->global_regs,
89 AST2600_I3CG_REG0(i3c->global_idx), reg);
96 reg = AST2600_I3CG_REG1_INST_ID(i3c->global_idx);
97 rc = regmap_write(i3c->global_regs,
98 AST2600_I3CG_REG1(i3c->global_idx), reg);
103 static void ast2600_i3c_set_dat_ibi(struct dw_i3c_master *i3c,
108 * The ast2600 i3c controller will lock up on receiving 4n+1-byte IBIs
114 dev_warn_once(&i3c->base.dev,
129 struct ast2600_i3c *i3c;
132 i3c = devm_kzalloc(&pdev->dev, sizeof(*i3c), GFP_KERNEL);
133 if (!i3c)
141 i3c->global_regs = syscon_node_to_regmap(gspec.np);
144 if (IS_ERR(i3c->global_regs))
145 return PTR_ERR(i3c->global_regs);
147 i3c->global_idx = gspec.args[0];
149 rc = of_property_read_u32(np, "sda-pullup-ohms", &i3c->sda_pullup);
151 i3c->sda_pullup = AST2600_DEFAULT_SDA_PULLUP_OHMS;
153 rc = ast2600_i3c_pullup_to_reg(i3c->sda_pullup, NULL);
156 i3c->sda_pullup);
158 i3c->dw.platform_ops = &ast2600_i3c_ops;
159 i3c->dw.ibi_capable = true;
160 return dw_i3c_common_probe(&i3c->dw, pdev);
171 { .compatible = "aspeed,ast2600-i3c", },
180 .name = "ast2600-i3c-master",