Lines Matching refs:iod

61 	struct rockchip_iodomain *iod;  member
70 void (*init)(struct rockchip_iodomain *iod);
84 struct rockchip_iodomain *iod = supply->iod; in rk3568_iodomain_write() local
98 regmap_write(iod->grf, RK3568_PMU_GRF_IO_VSEL2, val0); in rk3568_iodomain_write()
99 regmap_write(iod->grf, RK3568_PMU_GRF_IO_VSEL2, val1); in rk3568_iodomain_write()
113 regmap_write(iod->grf, RK3568_PMU_GRF_IO_VSEL0, val0); in rk3568_iodomain_write()
114 regmap_write(iod->grf, RK3568_PMU_GRF_IO_VSEL1, val1); in rk3568_iodomain_write()
126 struct rockchip_iodomain *iod = supply->iod; in rockchip_iodomain_write() local
137 ret = regmap_write(iod->grf, iod->soc_data->grf_offset, val); in rockchip_iodomain_write()
139 dev_err(iod->dev, "Couldn't write to GRF\n"); in rockchip_iodomain_write()
177 dev_dbg(supply->iod->dev, "Setting to %d\n", uV); in rockchip_iodomain_notify()
180 dev_err(supply->iod->dev, "Voltage too high: %d\n", uV); in rockchip_iodomain_notify()
186 ret = supply->iod->write(supply, uV); in rockchip_iodomain_notify()
190 dev_dbg(supply->iod->dev, "Setting to %d done\n", uV); in rockchip_iodomain_notify()
194 static void px30_iodomain_init(struct rockchip_iodomain *iod) in px30_iodomain_init() argument
200 if (!iod->supplies[PX30_IO_VSEL_VCCIO6_SUPPLY_NUM].reg) in px30_iodomain_init()
208 ret = regmap_write(iod->grf, PX30_IO_VSEL, val); in px30_iodomain_init()
210 dev_warn(iod->dev, "couldn't update vccio6 ctrl\n"); in px30_iodomain_init()
213 static void rk3288_iodomain_init(struct rockchip_iodomain *iod) in rk3288_iodomain_init() argument
219 if (!iod->supplies[RK3288_SOC_FLASH_SUPPLY_NUM].reg) in rk3288_iodomain_init()
227 ret = regmap_write(iod->grf, RK3288_SOC_CON2, val); in rk3288_iodomain_init()
229 dev_warn(iod->dev, "couldn't update flash0 ctrl\n"); in rk3288_iodomain_init()
232 static void rk3328_iodomain_init(struct rockchip_iodomain *iod) in rk3328_iodomain_init() argument
238 if (!iod->supplies[RK3328_SOC_VCCIO2_SUPPLY_NUM].reg) in rk3328_iodomain_init()
246 ret = regmap_write(iod->grf, RK3328_SOC_CON4, val); in rk3328_iodomain_init()
248 dev_warn(iod->dev, "couldn't update vccio2 vsel ctrl\n"); in rk3328_iodomain_init()
251 static void rk3368_iodomain_init(struct rockchip_iodomain *iod) in rk3368_iodomain_init() argument
257 if (!iod->supplies[RK3368_SOC_FLASH_SUPPLY_NUM].reg) in rk3368_iodomain_init()
265 ret = regmap_write(iod->grf, RK3368_SOC_CON15, val); in rk3368_iodomain_init()
267 dev_warn(iod->dev, "couldn't update flash0 ctrl\n"); in rk3368_iodomain_init()
270 static void rk3399_pmu_iodomain_init(struct rockchip_iodomain *iod) in rk3399_pmu_iodomain_init() argument
276 if (!iod->supplies[RK3399_PMUGRF_VSEL_SUPPLY_NUM].reg) in rk3399_pmu_iodomain_init()
284 ret = regmap_write(iod->grf, RK3399_PMUGRF_CON0, val); in rk3399_pmu_iodomain_init()
286 dev_warn(iod->dev, "couldn't update pmu io iodomain ctrl\n"); in rk3399_pmu_iodomain_init()
575 struct rockchip_iodomain *iod; in rockchip_iodomain_probe() local
582 iod = devm_kzalloc(&pdev->dev, sizeof(*iod), GFP_KERNEL); in rockchip_iodomain_probe()
583 if (!iod) in rockchip_iodomain_probe()
586 iod->dev = &pdev->dev; in rockchip_iodomain_probe()
587 platform_set_drvdata(pdev, iod); in rockchip_iodomain_probe()
590 iod->soc_data = match->data; in rockchip_iodomain_probe()
592 if (iod->soc_data->write) in rockchip_iodomain_probe()
593 iod->write = iod->soc_data->write; in rockchip_iodomain_probe()
595 iod->write = rockchip_iodomain_write; in rockchip_iodomain_probe()
599 iod->grf = syscon_node_to_regmap(parent->of_node); in rockchip_iodomain_probe()
602 iod->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); in rockchip_iodomain_probe()
605 if (IS_ERR(iod->grf)) { in rockchip_iodomain_probe()
607 return PTR_ERR(iod->grf); in rockchip_iodomain_probe()
611 const char *supply_name = iod->soc_data->supply_names[i]; in rockchip_iodomain_probe()
612 struct rockchip_iodomain_supply *supply = &iod->supplies[i]; in rockchip_iodomain_probe()
619 reg = devm_regulator_get_optional(iod->dev, supply_name); in rockchip_iodomain_probe()
627 dev_err(iod->dev, "couldn't get regulator %s\n", in rockchip_iodomain_probe()
637 dev_err(iod->dev, "Can't determine voltage: %s\n", in rockchip_iodomain_probe()
644 dev_crit(iod->dev, in rockchip_iodomain_probe()
653 supply->iod = iod; in rockchip_iodomain_probe()
657 ret = iod->write(supply, uV); in rockchip_iodomain_probe()
673 if (iod->soc_data->init) in rockchip_iodomain_probe()
674 iod->soc_data->init(iod); in rockchip_iodomain_probe()
680 struct rockchip_iodomain_supply *io_supply = &iod->supplies[i]; in rockchip_iodomain_probe()
692 struct rockchip_iodomain *iod = platform_get_drvdata(pdev); in rockchip_iodomain_remove() local
696 struct rockchip_iodomain_supply *io_supply = &iod->supplies[i]; in rockchip_iodomain_remove()