Lines Matching refs:iod
62 void (*init)(struct rockchip_iodomain *iod);
66 struct rockchip_iodomain *iod;
82 struct rockchip_iodomain *iod = supply->iod;
93 ret = regmap_write(iod->grf, iod->soc_data->grf_offset, val);
95 dev_err(iod->dev, "Couldn't write to GRF\n");
133 dev_dbg(supply->iod->dev, "Setting to %d\n", uV);
136 dev_err(supply->iod->dev, "Voltage too high: %d\n", uV);
146 dev_dbg(supply->iod->dev, "Setting to %d done\n", uV);
150 static void px30_iodomain_init(struct rockchip_iodomain *iod)
156 if (!iod->supplies[PX30_IO_VSEL_VCCIO6_SUPPLY_NUM].reg)
164 ret = regmap_write(iod->grf, PX30_IO_VSEL, val);
166 dev_warn(iod->dev, "couldn't update vccio6 ctrl\n");
169 static void rk3288_iodomain_init(struct rockchip_iodomain *iod)
175 if (!iod->supplies[RK3288_SOC_FLASH_SUPPLY_NUM].reg)
183 ret = regmap_write(iod->grf, RK3288_SOC_CON2, val);
185 dev_warn(iod->dev, "couldn't update flash0 ctrl\n");
188 static void rk3328_iodomain_init(struct rockchip_iodomain *iod)
194 if (!iod->supplies[RK3328_SOC_VCCIO2_SUPPLY_NUM].reg)
202 ret = regmap_write(iod->grf, RK3328_SOC_CON4, val);
204 dev_warn(iod->dev, "couldn't update vccio2 vsel ctrl\n");
207 static void rk3368_iodomain_init(struct rockchip_iodomain *iod)
213 if (!iod->supplies[RK3368_SOC_FLASH_SUPPLY_NUM].reg)
221 ret = regmap_write(iod->grf, RK3368_SOC_CON15, val);
223 dev_warn(iod->dev, "couldn't update flash0 ctrl\n");
226 static void rk3399_pmu_iodomain_init(struct rockchip_iodomain *iod)
232 if (!iod->supplies[RK3399_PMUGRF_VSEL_SUPPLY_NUM].reg)
240 ret = regmap_write(iod->grf, RK3399_PMUGRF_CON0, val);
242 dev_warn(iod->dev, "couldn't update pmu io iodomain ctrl\n");
491 struct rockchip_iodomain *iod;
498 iod = devm_kzalloc(&pdev->dev, sizeof(*iod), GFP_KERNEL);
499 if (!iod)
502 iod->dev = &pdev->dev;
503 platform_set_drvdata(pdev, iod);
506 iod->soc_data = match->data;
510 iod->grf = syscon_node_to_regmap(parent->of_node);
513 iod->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
516 if (IS_ERR(iod->grf)) {
518 return PTR_ERR(iod->grf);
522 const char *supply_name = iod->soc_data->supply_names[i];
523 struct rockchip_iodomain_supply *supply = &iod->supplies[i];
530 reg = devm_regulator_get_optional(iod->dev, supply_name);
538 dev_err(iod->dev, "couldn't get regulator %s\n",
548 dev_err(iod->dev, "Can't determine voltage: %s\n",
555 dev_crit(iod->dev,
564 supply->iod = iod;
584 if (iod->soc_data->init)
585 iod->soc_data->init(iod);
591 struct rockchip_iodomain_supply *io_supply = &iod->supplies[i];
603 struct rockchip_iodomain *iod = platform_get_drvdata(pdev);
607 struct rockchip_iodomain_supply *io_supply = &iod->supplies[i];