static int veyron_init(void) { struct udevice *dev; struct clk clk; int ret; ret = regulator_get_by_platname("vdd_arm", &dev); if (ret) return ret; /* Slowly raise to max CPU voltage to prevent overshoot */ ret = regulator_set_value(dev, 1200000); if (ret) return ret; udelay(175); /* Must wait for voltage to stabilize, 2mV/us */ ret = regulator_set_value(dev, 1400000); if (ret) return ret; udelay(100); /* Must wait for voltage to stabilize, 2mV/us */ ret = rockchip_get_clk(&clk.dev); if (ret) return ret; clk.id = PLL_APLL; ret = clk_set_rate(&clk, 1800000000); if (IS_ERR_VALUE(ret)) return ret; return 0; }
int board_usb_init(int index, enum usb_init_type init) { #ifdef CONFIG_CMD_USB struct udevice *dev; int ret; /* Set Ref freq 0 => 24MHz, 1 => 26MHz*/ /* Odroid Us have it at 24MHz, Odroid Xs at 26MHz */ if (gd->board_type == ODROID_TYPE_U3) gpio_direction_output(EXYNOS4X12_GPIO_X30, 0); else gpio_direction_output(EXYNOS4X12_GPIO_X30, 1); /* Disconnect, Reset, Connect */ gpio_direction_output(EXYNOS4X12_GPIO_X34, 0); gpio_direction_output(EXYNOS4X12_GPIO_X35, 0); gpio_direction_output(EXYNOS4X12_GPIO_X35, 1); gpio_direction_output(EXYNOS4X12_GPIO_X34, 1); /* Power off and on BUCK8 for LAN9730 */ debug("LAN9730 - Turning power buck 8 OFF and ON.\n"); ret = regulator_get_by_platname("VCC_P3V3_2.85V", &dev); if (ret) { error("Regulator get error: %d", ret); return ret; } ret = regulator_set_enable(dev, true); if (ret) { error("Regulator %s enable setting error: %d", dev->name, ret); return ret; } ret = regulator_set_value(dev, 750000); if (ret) { error("Regulator %s value setting error: %d", dev->name, ret); return ret; } ret = regulator_set_value(dev, 3300000); if (ret) { error("Regulator %s value setting error: %d", dev->name, ret); return ret; } #endif debug("USB_udc_probe\n"); return s3c_udc_probe(&s5pc210_otg_data); }
static int veyron_init(void) { struct udevice *dev; struct clk clk; int ret; ret = regulator_get_by_platname("vdd_arm", &dev); if (ret) { debug("Cannot set regulator name\n"); return ret; } /* Slowly raise to max CPU voltage to prevent overshoot */ ret = regulator_set_value(dev, 1200000); if (ret) return ret; udelay(175); /* Must wait for voltage to stabilize, 2mV/us */ ret = regulator_set_value(dev, 1400000); if (ret) return ret; udelay(100); /* Must wait for voltage to stabilize, 2mV/us */ ret = rockchip_get_clk(&clk.dev); if (ret) return ret; clk.id = PLL_APLL; ret = clk_set_rate(&clk, 1800000000); if (IS_ERR_VALUE(ret)) return ret; ret = regulator_get_by_platname("vcc33_sd", &dev); if (ret) { debug("Cannot get regulator name\n"); return ret; } ret = regulator_set_value(dev, 3300000); if (ret) return ret; ret = regulators_enable_boot_on(false); if (ret) { debug("%s: Cannot enable boot on regulators\n", __func__); return ret; } return 0; }
static int exynos_set_regulator(const char *name, uint uv) { struct udevice *dev; int ret; ret = regulator_get_by_platname(name, &dev); if (ret) { debug("%s: Cannot find regulator %s\n", __func__, name); return ret; } ret = regulator_set_value(dev, uv); if (ret) { debug("%s: Cannot set regulator %s\n", __func__, name); return ret; } return 0; }
/* Test regulator set and get Voltage method */ static int dm_test_power_regulator_set_get_voltage(struct unit_test_state *uts) { struct dm_regulator_uclass_platdata *uc_pdata; struct udevice *dev; const char *platname; int val_set, val_get; /* Set and get Voltage of BUCK1 - set to 'min' constraint */ platname = regulator_names[BUCK1][PLATNAME]; ut_assertok(regulator_get_by_platname(platname, &dev)); uc_pdata = dev_get_uclass_platdata(dev); ut_assert(uc_pdata); val_set = uc_pdata->min_uV; ut_assertok(regulator_set_value(dev, val_set)); val_get = regulator_get_value(dev); ut_assert(val_get >= 0); ut_asserteq(val_set, val_get); return 0; }