From: Przemyslaw Marczak <p.marczak@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 08/17] dm: regulator: add regulator command
Date: Fri, 03 Apr 2015 18:08:42 +0200 [thread overview]
Message-ID: <551EBB0A.6020201@samsung.com> (raw)
In-Reply-To: <CAPnjgZ3H53mmRnke_FkLg-_eLjA5iuZd1PjTu_scsqzdYT5Thg@mail.gmail.com>
Hello Simon,
On 03/29/2015 03:07 PM, Simon Glass wrote:
> Hi Przemyslaw,
>
> On 24 March 2015 at 14:30, Przemyslaw Marczak <p.marczak@samsung.com> wrote:
>> This command is based on driver model regulator api.
>> User interface features:
>> - list - list UCLASS regulator devices
>> - regulator dev [id] - show or [set] operating regulator device
>> - regulator [info] - print constraints info
>> - regulator [status] - print operating status
>> - regulator [value] [-f] - print/[set] voltage value [uV] (force)
>> - regulator [current] - print/[set] current value [uA]
>> - regulator [mode_id] - print/[set] operating mode id
>> - regulator [enable] - enable the regulator output
>> - regulator [disable] - disable the regulator output
>>
>> The 'force' option can be used for setting the value which exceeds the limits,
>> which are found in device-tree and are keept in regulators info structure.
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
>>
>> ---
>> Changes v3:
>> - new file
>> - Kconfig entry
>> ---
>> common/Kconfig | 22 +++
>> common/Makefile | 1 +
>> common/cmd_regulator.c | 385 +++++++++++++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 408 insertions(+)
>> create mode 100644 common/cmd_regulator.c
>>
>> diff --git a/common/Kconfig b/common/Kconfig
>> index 1125e6d..48f360f 100644
>> --- a/common/Kconfig
>> +++ b/common/Kconfig
>> @@ -348,5 +348,27 @@ config DM_PMIC_CMD
>> - pmic read address - read byte of register at address
>> - pmic write address - write byte to register at address
>> The only one change for this command is 'dev' subcommand.
>> +
>> +config DM_REGULATOR_CMD
>
> CMD_DM_REGULATOR
>
Ok
>> + bool "Enable Driver Model REGULATOR command"
>> + depends on DM_REGULATOR
>> + help
>> + This command is based on driver model regulator api.
>> + User interface features:
>> + - list - list UCLASS regulator devices
>
> Do you need 'UCLASS" in there? What does it mean?
>
Right, it has no sense...
>> + - regulator dev [id] - show or [set] operating regulator device
>> + - regulator [info] - print constraints info
>> + - regulator [status] - print operating status
>> + - regulator [value] [-f] - print/[set] voltage value [uV] (force)
>> + - regulator [current] - print/[set] current value [uA]
>> + - regulator [mode_id] - print/[set] operating mode id
>> + - regulator [enable] - enable the regulator output
>> + - regulator [disable] - disable the regulator output
>
> I don't think the sub-commands should be in [].
>
Right, will fix it.
>> +
>> + The 'force' option can be used for setting the value which exceeds
>> + the limit which are found in device-tree and are keept in regulators
>> + info structure.
>> +
>> endmenu
>> +
>> endmenu
>> diff --git a/common/Makefile b/common/Makefile
>> index d908851..d63fe12 100644
>> --- a/common/Makefile
>> +++ b/common/Makefile
>> @@ -211,6 +211,7 @@ obj-$(CONFIG_CMD_GPT) += cmd_gpt.o
>>
>> # Power
>> obj-$(CONFIG_DM_PMIC_CMD) += cmd_pmic.o
>> +obj-$(CONFIG_DM_REGULATOR_CMD) += cmd_regulator.o
>> endif
>>
>> ifdef CONFIG_SPL_BUILD
>> diff --git a/common/cmd_regulator.c b/common/cmd_regulator.c
>> new file mode 100644
>> index 0000000..d388b14
>> --- /dev/null
>> +++ b/common/cmd_regulator.c
>> @@ -0,0 +1,385 @@
>> +/*
>> + * Copyright (C) 2014-2015 Samsung Electronics
>> + * Przemyslaw Marczak <p.marczak@samsung.com>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0+
>> + */
>> +#include <common.h>
>> +#include <linux/types.h>
>> +#include <linux/ctype.h>
>> +#include <fdtdec.h>
>> +#include <dm.h>
>> +#include <power/pmic.h>
>> +#include <power/regulator.h>
>> +#include <dm/device-internal.h>
>> +#include <dm/uclass-internal.h>
>> +#include <dm/root.h>
>> +#include <dm/lists.h>
>> +#include <i2c.h>
>> +#include <compiler.h>
>> +#include <errno.h>
>> +
>> +#define LIMIT_SEQ 3
>> +#define LIMIT_DEVNAME 20
>> +#define LIMIT_OFNAME 20
>> +#define LIMIT_INFO 12
>> +
>> +static struct udevice *reg_curr;
>> +
>> +static int failed(const char *getset, const char *thing,
>> + const char *for_dev, int ret)
>> +{
>> + printf("Can't %s %s %s.\nError: %d (%s)\n", getset, thing, for_dev,
>> + ret, errno_str(ret));
>> + return CMD_RET_FAILURE;
>> +}
>> +
>> +static int do_dev(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct dm_regulator_info *info;
>> + int seq, ret = CMD_RET_FAILURE;
>> +
>> + switch (argc) {
>> + case 2:
>> + seq = simple_strtoul(argv[1], NULL, 0);
>> + uclass_get_device_by_seq(UCLASS_REGULATOR, seq, ®_curr);
>
> This can return an error.
>
Yes, but there is no case break, and the below regulator_info(), checks
if reg_curr isn't NULL, and here the ret is returned.
>> + case 1:
>> + ret = regulator_info(reg_curr, &info);
>> + if (ret)
>> + return failed("get", "the", "device", ret);
>> +
>> + printf("dev: %d @ %s\n", reg_curr->seq, info->name);
>> + }
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int get_curr_dev_and_info(struct udevice **devp,
>> + struct dm_regulator_info **infop)
>> +{
>> + int ret = -ENODEV;
>> +
>> + *devp = reg_curr;
>> + if (!*devp)
>> + return failed("get", "current", "device", ret);
>> +
>> + ret = regulator_info(*devp, infop);
>> + if (ret)
>> + return failed("get", reg_curr->name, "info", ret);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_list(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct dm_regulator_info *info;
>> + const char *parent_uc;
>> + struct udevice *dev;
>> + int ret;
>> +
>> + printf("|%*s | %*.*s @ %-*.*s| %s @ %s\n",
>> + LIMIT_SEQ, "Seq",
>> + LIMIT_DEVNAME, LIMIT_DEVNAME, "Name",
>> + LIMIT_OFNAME, LIMIT_OFNAME, "fdtname",
>> + "Parent", "uclass");
>> +
>> + for (ret = uclass_first_device(UCLASS_REGULATOR, &dev); dev;
>> + ret = uclass_next_device(&dev)) {
>> + if (regulator_info(dev, &info)) {
>> + printf("(null) info for: %s\n", dev->name);
>> + continue;
>> + }
>> +
>> + /* Parent uclass name*/
>> + parent_uc = dev->parent->uclass->uc_drv->name;
>> +
>> + printf("|%*d | %*.*s @ %-*.*s| %s @ %s\n",
>> + LIMIT_SEQ, dev->seq,
>> + LIMIT_DEVNAME, LIMIT_DEVNAME, dev->name,
>> + LIMIT_OFNAME, LIMIT_OFNAME, info->name,
>> + dev->parent->name, parent_uc);
>> + }
>> +
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_info(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + struct dm_regulator_mode *modes;
>> + const char *parent_uc;
>> + int mode_count;
>> + int ret;
>> + int i;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + parent_uc = dev->parent->uclass->uc_drv->name;
>> +
>> + printf("Uclass regulator dev %d info:\n", dev->seq);
>> + printf("%-*s %s @ %s\n%-*s %s\n%-*s %s\n",
>> + LIMIT_INFO, "* parent:", dev->parent->name, parent_uc,
>> + LIMIT_INFO, "* dev name:", dev->name,
>> + LIMIT_INFO, "* fdt name:", info->name);
>> +
>> + printf("%-*s %d\n%-*s %d\n%-*s %d\n%-*s %d\n%-*s %s\n%-*s %s\n",
>> + LIMIT_INFO, "* min uV:", info->min_uV,
>> + LIMIT_INFO, "* max uV:", info->max_uV,
>> + LIMIT_INFO, "* min uA:", info->min_uA,
>> + LIMIT_INFO, "* max uA:", info->max_uA,
>> + LIMIT_INFO, "* always on:", info->always_on ? "true" : "false",
>> + LIMIT_INFO, "* boot on:", info->boot_on ? "true" : "false");
>> +
>> + mode_count = regulator_mode(dev, &modes);
>> + if (!mode_count)
>> + return failed("get mode", "for mode", "null count", -EPERM);
>> +
>> + if (mode_count < 0)
>> + return failed("get", info->name, "mode count", mode_count);
>> +
>> + printf("* operation modes:\n");
>> + for (i = 0; i < mode_count; i++, modes++)
>> + printf(" - mode %d (%s)\n", modes->id, modes->name);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static const char *get_mode_name(struct dm_regulator_mode *mode,
>> + int mode_count,
>> + int mode_id)
>> +{
>> + while (mode_count--) {
>> + if (mode->id == mode_id)
>> + return mode->name;
>> + mode++;
>> + }
>> +
>> + return NULL;
>> +}
>> +
>> +static int do_status(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + const char *mode_name;
>> + int value, mode, ret;
>> + bool enabled;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + /* Value is mandatory */
>> + value = regulator_get_value(dev);
>> + if (value < 0)
>> + return failed("get", info->name, "voltage value", value);
>> +
>> + mode = regulator_get_mode(dev);
>> + mode_name = get_mode_name(info->mode, info->mode_count, mode);
>> + enabled = regulator_get_enable(dev);
>> +
>> + printf("Regulator seq %d status:\n", dev->seq);
>> + printf("%-*s %d\n%-*s %d (%s)\n%-*s %s\n",
>> + LIMIT_INFO, " * value:", value,
>> + LIMIT_INFO, " * mode:", mode, mode_name,
>> + LIMIT_INFO, " * enabled:", enabled ? "true" : "false");
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_value(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + int value;
>> + int force;
>> + int ret;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + if (argc == 1) {
>> + value = regulator_get_value(dev);
>> + if (value < 0)
>> + return failed("get", info->name, "voltage", value);
>> +
>> + printf("%d uV\n", value);
>> + return CMD_RET_SUCCESS;
>> + }
>> +
>> + if (info->type == REGULATOR_TYPE_FIXED) {
>> + printf("Fixed regulator value change not allowed.\n");
>> + return CMD_RET_SUCCESS;
>> + }
>> +
>> + if (argc == 3)
>> + force = !strcmp("-f", argv[2]);
>> + else
>> + force = 0;
>> +
>> + value = simple_strtoul(argv[1], NULL, 0);
>> + if ((value < info->min_uV || value > info->max_uV) && !force) {
>> + printf("Value exceeds regulator constraint limits\n");
>> + return CMD_RET_FAILURE;
>> + }
>> +
>> + ret = regulator_set_value(dev, value);
>> + if (ret)
>> + return failed("set", info->name, "voltage value", ret);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_current(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + int current;
>> + int ret;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + if (argc == 1) {
>> + current = regulator_get_current(dev);
>> + if (current < 0)
>> + return failed("get", info->name, "current", current);
>> +
>> + printf("%d uA\n", current);
>> + return CMD_RET_SUCCESS;
>> + }
>> +
>> + if (info->type == REGULATOR_TYPE_FIXED) {
>> + printf("Fixed regulator current change not allowed.\n");
>> + return CMD_RET_SUCCESS;
>> + }
>> +
>> + current = simple_strtoul(argv[1], NULL, 0);
>> + if (current < info->min_uA || current > info->max_uA) {
>> + printf("Current exceeds regulator constraint limits\n");
>> + return CMD_RET_FAILURE;
>> + }
>> +
>> + ret = regulator_set_current(dev, current);
>> + if (ret)
>> + return failed("set", info->name, "current value", ret);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_mode(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + int new_mode;
>> + int mode;
>> + int ret;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + if (info->type == REGULATOR_TYPE_FIXED) {
>> + printf("Fixed regulator mode option not allowed.\n");
>> + return CMD_RET_SUCCESS;
>> + }
>> +
>> + if (argc == 1) {
>> + mode = regulator_get_mode(dev);
>> + if (mode < 0)
>> + return failed("get", info->name, "mode", ret);
>> +
>> + printf("mode id: %d\n", mode);
>> + return CMD_RET_SUCCESS;
>> + }
>
> The code above is the same for the above 2 functions also. Can you
> move it to a common function? Something list
> get_non_fixed_regulator()?
>
Ok, will add something like this.
>> +
>> + new_mode = simple_strtoul(argv[1], NULL, 0);
>> +
>> + ret = regulator_set_mode(dev, new_mode);
>> + if (ret)
>> + return failed("set", info->name, "mode", ret);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_enable(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + int ret;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + ret = regulator_set_enable(dev, true);
>> + if (ret)
>> + return failed("enable", "regulator", info->name, ret);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static int do_disable(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>> +{
>> + struct udevice *dev;
>> + struct dm_regulator_info *info;
>> + int ret;
>> +
>> + ret = get_curr_dev_and_info(&dev, &info);
>> + if (ret)
>> + return CMD_RET_FAILURE;
>> +
>> + ret = regulator_set_enable(dev, false);
>> + if (ret)
>> + return failed("disable", "regulator", info->name, ret);
>> +
>> + return CMD_RET_SUCCESS;
>> +}
>> +
>> +static cmd_tbl_t subcmd[] = {
>> + U_BOOT_CMD_MKENT(dev, 2, 1, do_dev, "", ""),
>> + U_BOOT_CMD_MKENT(list, 1, 1, do_list, "", ""),
>> + U_BOOT_CMD_MKENT(info, 2, 1, do_info, "", ""),
>> + U_BOOT_CMD_MKENT(status, 2, 1, do_status, "", ""),
>> + U_BOOT_CMD_MKENT(value, 3, 1, do_value, "", ""),
>> + U_BOOT_CMD_MKENT(current, 3, 1, do_current, "", ""),
>> + U_BOOT_CMD_MKENT(mode, 2, 1, do_mode, "", ""),
>> + U_BOOT_CMD_MKENT(enable, 1, 1, do_enable, "", ""),
>> + U_BOOT_CMD_MKENT(disable, 1, 1, do_disable, "", ""),
>> +};
>> +
>> +static int do_regulator(cmd_tbl_t *cmdtp, int flag, int argc,
>> + char * const argv[])
>> +{
>> + cmd_tbl_t *cmd;
>> +
>> + argc--;
>> + argv++;
>> +
>> + cmd = find_cmd_tbl(argv[0], subcmd, ARRAY_SIZE(subcmd));
>> + if (cmd == NULL || argc > cmd->maxargs)
>> + return CMD_RET_USAGE;
>> +
>> + return cmd->cmd(cmdtp, flag, argc, argv);
>> +}
>> +
>> +U_BOOT_CMD(regulator, CONFIG_SYS_MAXARGS, 1, do_regulator,
>> + "uclass operations",
>> + "list - list UCLASS regulator devices\n"
>> + "regulator dev [id] - show or [set] operating regulator device\n"
>> + "regulator [info] - print constraints info\n"
>> + "regulator [status] - print operating status\n"
>> + "regulator [value] [-f] - print/[set] voltage value [uV] (force)\n"
>> + "regulator [current] - print/[set] current value [uA]\n"
>> + "regulator [mode_id] - print/[set] operating mode id\n"
>> + "regulator [enable] - enable the regulator output\n"
>> + "regulator [disable] - disable the regulator output\n"
>
> I think [info] should not be in brackets as it is not optional.
> Similar with other ones.
Right, will fix.
>
> Regards,
> Simon
>
Thanks,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
next prev parent reply other threads:[~2015-04-03 16:08 UTC|newest]
Thread overview: 218+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-08 20:48 [U-Boot] [PATCH 00/19] [RFC] Power(full) framework based on Driver Model Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 01/19] lib: errno: introduce errno_str(): returns errno related message Przemyslaw Marczak
2014-10-09 6:46 ` Joakim Tjernlund
2014-10-09 16:23 ` Przemyslaw Marczak
2014-10-09 22:53 ` Simon Glass
2014-10-10 5:03 ` Joakim Tjernlund
2014-10-10 11:49 ` Przemyslaw Marczak
2014-10-22 15:31 ` Tom Rini
2014-12-11 3:25 ` Simon Glass
2014-12-11 10:11 ` Przemyslaw Marczak
2014-12-11 13:24 ` Simon Glass
2014-10-08 20:48 ` [U-Boot] [PATCH 02/19] exynos: config-common: enable errno_str() function Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 03/19] exynos: config-common: enable generic fs command Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 04/19] dm: pmic: add implementation of driver model pmic uclass Przemyslaw Marczak
2014-10-10 3:17 ` Simon Glass
2014-10-10 13:32 ` Przemyslaw Marczak
2014-10-10 23:18 ` Simon Glass
2014-10-20 15:44 ` Przemyslaw Marczak
2014-10-20 15:46 ` Simon Glass
2014-10-20 15:51 ` Przemyslaw Marczak
2014-11-06 22:34 ` Simon Glass
2014-11-12 10:29 ` Przemyslaw Marczak
2014-11-12 15:26 ` Simon Glass
2014-10-08 20:48 ` [U-Boot] [PATCH 05/19] dm: pmic: add implementation of driver model regulator uclass Przemyslaw Marczak
2014-10-10 3:10 ` Simon Glass
2014-10-10 13:41 ` Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 06/19] dm: common: board_r: add call and weak of power_init_dm() Przemyslaw Marczak
2014-10-10 3:32 ` Simon Glass
2014-10-20 15:45 ` Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 07/19] dm: pmic: add max77686 pmic driver Przemyslaw Marczak
2014-10-22 15:31 ` Tom Rini
2014-10-08 20:48 ` [U-Boot] [PATCH 08/19] dm: regulator: add max77686 regulator driver Przemyslaw Marczak
2014-10-22 15:32 ` Tom Rini
2014-10-08 20:48 ` [U-Boot] [PATCH 09/19] dm: pmic: new commands: pmic and regulator Przemyslaw Marczak
2014-10-22 15:32 ` Tom Rini
2014-10-08 20:48 ` [U-Boot] [PATCH 10/19] dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 11/19] doc: driver-model: pmic and regulator uclass documentation Przemyslaw Marczak
2014-10-10 3:36 ` Simon Glass
2014-10-10 13:45 ` Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 12/19] samsung: board: lcd menu: check if any power framework is enabled Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 13/19] samsung: misc: power_key_pressed: add support to dm pmic framework Przemyslaw Marczak
2014-10-10 3:37 ` Simon Glass
2014-10-08 20:48 ` [U-Boot] [PATCH 14/19] trats2: board: add support to dm pmic api Przemyslaw Marczak
2014-10-10 3:39 ` Simon Glass
2014-10-10 13:46 ` Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 15/19] trats2: dts: max77686: add pmic alias and names cleanup Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 16/19] trats2: config: enable dm pmic, dm regulator api, dm max77686 Przemyslaw Marczak
2014-10-10 3:40 ` Simon Glass
2014-10-10 13:50 ` Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 17/19] odroid: board: add support to dm pmic api Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 18/19] odroid: dts: add 'voltage-regulators' description to max77686 node Przemyslaw Marczak
2014-10-08 20:48 ` [U-Boot] [PATCH 19/19] odroid: config: enable dm pmic, dm regulator and max77686 driver Przemyslaw Marczak
2014-10-08 20:55 ` [U-Boot] [PATCH 00/19] [RFC] Power(full) framework based on Driver Model Przemyslaw Marczak
2014-10-09 6:05 ` Simon Glass
2014-10-09 15:04 ` Przemyslaw Marczak
2014-10-22 15:31 ` Tom Rini
2014-10-24 15:50 ` Przemyslaw Marczak
2014-10-27 12:41 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 00/12] " Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 01/12] exynos5: fix build break by adding CONFIG_POWER Przemyslaw Marczak
2015-03-04 12:19 ` Minkyu Kang
2015-03-03 16:24 ` [U-Boot] [PATCH v2 02/12] dm: device: add function device_get_first_child_by_uclass_id() Przemyslaw Marczak
2015-03-06 14:11 ` Simon Glass
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 03/12] dm: pmic: add implementation of driver model pmic uclass Przemyslaw Marczak
2015-03-06 14:11 ` Simon Glass
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 04/12] dm: pmic: add implementation of driver model regulator uclass Przemyslaw Marczak
2015-03-06 14:12 ` Simon Glass
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-10 11:41 ` Robert Baldyga
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 05/12] dm: pmic: new commands: pmic and regulator Przemyslaw Marczak
2015-03-06 14:13 ` Simon Glass
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 06/12] dm: pmic: add max77686 pmic driver Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 07/12] dm: regulator: add max77686 regulator driver Przemyslaw Marczak
2015-03-06 14:14 ` Simon Glass
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 08/12] doc: driver-model: pmic and regulator uclass documentation Przemyslaw Marczak
2015-03-06 14:14 ` Simon Glass
2015-03-25 16:08 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 09/12] dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 10/12] odroid: board: add support to dm pmic api Przemyslaw Marczak
2015-03-06 14:14 ` Simon Glass
2015-03-25 16:09 ` Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 11/12] odroid: dts: add 'voltage-regulators' description to max77686 node Przemyslaw Marczak
2015-03-03 16:24 ` [U-Boot] [PATCH v2 12/12] odroid: config: enable dm pmic, dm regulator and max77686 driver Przemyslaw Marczak
2015-03-06 14:15 ` Simon Glass
2015-03-03 16:30 ` [U-Boot] [PATCH v2 00/12] Power(full) framework based on Driver Model Przemyslaw Marczak
2015-03-03 16:40 ` Przemyslaw Marczak
2015-03-06 14:10 ` Simon Glass
2015-03-06 15:08 ` Przemyslaw Marczak
2015-03-06 19:58 ` Simon Glass
2015-03-10 2:12 ` Simon Glass
2015-03-25 16:09 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 00/17] " Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 01/17] exynos5: fix build break by adding CONFIG_POWER Przemyslaw Marczak
2015-03-29 13:05 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 02/17] fdt_ro.c: add new function: fdt_node_check_prop_compatible() Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 03/17] dm: core: lists.c: add new function lists_bind_fdt_by_prop() Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 04/17] lib: Kconfig: add entry for errno_str() function Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 05/17] dm: pmic: add implementation of driver model pmic uclass Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-04-03 16:08 ` Przemyslaw Marczak
2015-04-05 18:30 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 06/17] dm: regulator: add implementation of driver model regulator uclass Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-04-03 16:09 ` Przemyslaw Marczak
2015-04-05 18:30 ` Simon Glass
2015-04-07 15:31 ` Przemyslaw Marczak
2015-04-08 1:47 ` Simon Glass
2015-04-08 7:37 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 07/17] dm: pmic: add pmic command Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-04-03 16:08 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 08/17] dm: regulator: add regulator command Przemyslaw Marczak
2015-03-29 13:07 ` Simon Glass
2015-04-03 16:08 ` Przemyslaw Marczak [this message]
2015-03-24 20:30 ` [U-Boot] [PATCH v3 09/17] pmic: max77686 set the same compatible as in the kernel Przemyslaw Marczak
2015-03-29 13:08 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 10/17] dm: pmic: add max77686 pmic driver Przemyslaw Marczak
2015-03-29 13:08 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 11/17] dm: regulator: add max77686 regulator driver Przemyslaw Marczak
2015-03-29 13:08 ` Simon Glass
2015-04-03 16:08 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 12/17] dm: regulator: add fixed voltage " Przemyslaw Marczak
2015-03-29 13:08 ` Simon Glass
2015-04-03 16:09 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 13/17] doc: driver-model: pmic and regulator uclass documentation Przemyslaw Marczak
2015-03-29 13:08 ` Simon Glass
2015-04-03 16:09 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 14/17] dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC Przemyslaw Marczak
2015-03-29 13:09 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 15/17] odroid: board: add support to dm pmic api Przemyslaw Marczak
2015-03-29 13:08 ` Simon Glass
2015-04-03 16:09 ` Przemyslaw Marczak
2015-03-24 20:30 ` [U-Boot] [PATCH v3 16/17] odroid: dts: add 'voltage-regulators' description to max77686 node Przemyslaw Marczak
2015-03-29 13:10 ` Simon Glass
2015-03-24 20:30 ` [U-Boot] [PATCH v3 17/17] odroid: config: enable dm pmic, dm regulator and max77686 driver Przemyslaw Marczak
2015-03-29 13:10 ` Simon Glass
2015-04-03 16:10 ` Przemyslaw Marczak
2015-03-25 7:47 ` [U-Boot] [PATCH v3 00/17] Power(full) framework based on Driver Model Przemyslaw Marczak
2015-03-29 13:05 ` Simon Glass
2015-04-03 16:11 ` Przemyslaw Marczak
2015-04-05 18:30 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 00/16] " Przemyslaw Marczak
2015-04-20 18:07 ` [U-Boot] [PATCH v4 01/16] exynos5: fix build break by adding CONFIG_POWER Przemyslaw Marczak
2015-04-22 16:29 ` Simon Glass
2015-04-22 17:08 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 02/16] exynos4-common: remove the unsued CONFIG_CMD_PMIC Przemyslaw Marczak
2015-04-22 16:29 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 03/16] lib: Kconfig: add entry for errno_str() function Przemyslaw Marczak
2015-04-22 16:29 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 04/16] dm: pmic: add implementation of driver model pmic uclass Przemyslaw Marczak
2015-04-22 16:30 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-24 4:51 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 05/16] dm: regulator: add implementation of driver model regulator uclass Przemyslaw Marczak
2015-04-22 16:30 ` Simon Glass
2015-04-22 16:54 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-20 18:07 ` [U-Boot] [PATCH v4 06/16] dm: pmic: add pmic command Przemyslaw Marczak
2015-04-22 16:30 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 07/16] dm: regulator: add regulator command Przemyslaw Marczak
2015-04-22 16:30 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-24 4:51 ` Simon Glass
2015-04-24 12:18 ` Przemyslaw Marczak
2015-04-24 12:34 ` Simon Glass
2015-04-24 12:53 ` Przemyslaw Marczak
2015-04-24 13:00 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 08/16] pmic: max77686 set the same compatible as in the kernel Przemyslaw Marczak
2015-04-22 16:30 ` Simon Glass
2015-04-22 17:09 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 09/16] dm: pmic: add max77686 pmic driver Przemyslaw Marczak
2015-04-22 16:30 ` Simon Glass
2015-04-22 17:10 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 10/16] dm: regulator: add max77686 regulator driver Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:10 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 11/16] dm: regulator: add fixed voltage " Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:10 ` Simon Glass
2015-04-23 12:31 ` Przemyslaw Marczak
2015-04-23 12:36 ` Przemyslaw Marczak
2015-04-24 4:50 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 12/16] doc: driver-model: pmic and regulator uclass documentation Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:10 ` Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-20 18:07 ` [U-Boot] [PATCH v4 13/16] dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:10 ` Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-20 18:07 ` [U-Boot] [PATCH v4 14/16] odroid: board: add support to dm pmic api Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:11 ` Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-20 18:07 ` [U-Boot] [PATCH v4 15/16] odroid: dts: add 'voltage-regulators' description to max77686 node Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:11 ` Simon Glass
2015-04-20 18:07 ` [U-Boot] [PATCH v4 16/16] odroid: config: enable dm pmic, dm regulator and max77686 driver Przemyslaw Marczak
2015-04-22 16:31 ` Simon Glass
2015-04-22 17:11 ` Simon Glass
2015-04-22 16:29 ` [U-Boot] [PATCH v4 00/16] Power(full) framework based on Driver Model Simon Glass
2015-04-23 11:33 ` Przemyslaw Marczak
2015-04-24 4:48 ` Simon Glass
2015-04-24 12:18 ` Przemyslaw Marczak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=551EBB0A.6020201@samsung.com \
--to=p.marczak@samsung.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.