From: Przemyslaw Marczak <p.marczak@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 35/54] dm: power: Add regulator flags to centralise auto-set logic
Date: Wed, 01 Jul 2015 11:44:16 +0200 [thread overview]
Message-ID: <5593B670.4000301@samsung.com> (raw)
In-Reply-To: <1435095556-15924-36-git-send-email-sjg@chromium.org>
Hello Simon,
On 06/23/2015 11:38 PM, Simon Glass wrote:
> Decide when the regulator is set up whether we want to auto-set the voltage
> or current. This avoids the complex logic spilling into the processing code.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v3: None
> Changes in v2: None
>
> drivers/power/regulator/regulator-uclass.c | 12 ++++++++++++
> include/power/regulator.h | 8 ++++++++
> 2 files changed, 20 insertions(+)
>
> diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c
> index 31ffd44..0f1ca77 100644
> --- a/drivers/power/regulator/regulator-uclass.c
> +++ b/drivers/power/regulator/regulator-uclass.c
> @@ -319,6 +319,18 @@ static int regulator_pre_probe(struct udevice *dev)
> uc_pdata->boot_on = fdtdec_get_bool(gd->fdt_blob, offset,
> "regulator-boot-on");
>
> + /* Those values are optional (-ENODATA if unset) */
> + if ((uc_pdata->min_uV != -ENODATA) &&
> + (uc_pdata->max_uV != -ENODATA) &&
> + (uc_pdata->min_uV == uc_pdata->max_uV))
> + uc_pdata->flags |= REGULATOR_FLAG_AUTOSET_UV;
> +
> + /* Those values are optional (-ENODATA if unset) */
> + if ((uc_pdata->min_uA != -ENODATA) &&
> + (uc_pdata->max_uA != -ENODATA) &&
> + (uc_pdata->min_uA == uc_pdata->max_uA))
> + uc_pdata->flags |= REGULATOR_FLAG_AUTOSET_UA;
> +
> return 0;
> }
>
> diff --git a/include/power/regulator.h b/include/power/regulator.h
> index 03a2cef..79ce0a4 100644
> --- a/include/power/regulator.h
> +++ b/include/power/regulator.h
> @@ -128,6 +128,11 @@ struct dm_regulator_mode {
> const char *name;
> };
>
> +enum regulator_flag {
> + REGULATOR_FLAG_AUTOSET_UV = 1 << 0,
> + REGULATOR_FLAG_AUTOSET_UA = 1 << 1,
> +};
> +
> /**
> * struct dm_regulator_uclass_platdata - pointed by dev->uclass_platdata, and
> * allocated on each regulator bind. This structure holds an information
> @@ -143,6 +148,8 @@ struct dm_regulator_mode {
> * @max_uA* - maximum amperage (micro Amps)
> * @always_on* - bool type, true or false
> * @boot_on* - bool type, true or false
> + * TODO(sjg at chromium.org): Consider putting the above two into @flags
> + * @flags: - flags value (see REGULATOR_FLAG_...)
> * @name** - fdt regulator name - should be taken from the device tree
> *
> * Note:
> @@ -162,6 +169,7 @@ struct dm_regulator_uclass_platdata {
> bool always_on;
> bool boot_on;
> const char *name;
> + int flags;
> };
>
> /* Regulator device operations */
>
Tested on:
- Odroid U3 (odroid_defconfig)
- Sandbox - ut pmic/regulator
Tested-by: Przemyslaw Marczak <p.marczak@samsung.com>
Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
next prev parent reply other threads:[~2015-07-01 9:44 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-23 21:38 [U-Boot] [PATCH v3 00/54] dm: Introduce new driver model uclasses Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 01/54] Add a dhrystone benchmark command Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 02/54] sandbox: Enable dhry command Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 03/54] mkimage: Display a better list of available image types Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 04/54] fdt: Add a function to remove unused strings from a device tree Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 05/54] fdt: Add fdt_first/next_region() functions Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 06/54] fdt: Add fdtgrep tool Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 07/54] dm: Reduce SPL device tree size Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 08/54] dm: arm: Put driver model I2C drivers before legacy ones Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 09/54] Add a way of checking the position of a structure member Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 10/54] debug_uart: Remove use of asmlinkage Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 11/54] dm: Allow debug UART to support an early console Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 12/54] sandbox: Drop special-case sandbox console code Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 13/54] dm: Move the tree/uclass dump code into its own file Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 14/54] dm: core: Use debug() instead of printf() for failures Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 15/54] dm: core: Add a function to find any device from device tree Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 16/54] dm: core: Correct device_get_child_by_of_offset() parameter Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 17/54] dm: gpio: Allow GPIO uclass to be used in SPL Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 18/54] dm: gpio: Add dm_gpio_lookup_name() to look up a GPIO name Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 19/54] dm: gpio: Add dm_gpio_request() to manually request a GPIO Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 20/54] dm: Add support for register maps (regmap) Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 21/54] dm: Add support for generic system controllers (syscon) Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 22/54] dm: Correct the missing method check in cpu_get_info() Simon Glass
2015-07-08 14:10 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 23/54] dm: Add support for LEDs Simon Glass
2015-07-17 23:56 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 24/54] dm: led: Add a driver for GPIO-controlled LEDs Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 25/54] spl: Add debugging info for spl_mmc boot Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 26/54] dm: mmc: Add an MMC uclass Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 27/54] mmc: Avoid using printf() for errors Simon Glass
2015-06-24 1:56 ` Chen-Yu Tsai
2015-06-23 21:38 ` [U-Boot] [PATCH v3 28/54] mmc: Add debug() output on read errors Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 29/54] dm: mmc: Allow driver model to be used for MMC in SPL Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 30/54] mmc: Add structure comments for dwmmc Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 31/54] mmc: Support bypass mode with the get_mmc_clk() method Simon Glass
2015-06-24 1:50 ` Chen-Yu Tsai
2015-06-25 1:58 ` Jaehoon Chung
2015-06-23 21:38 ` [U-Boot] [PATCH v3 32/54] mmc: Calculate dwmmc FIFO threshold size if not provided Simon Glass
2015-06-25 1:58 ` Jaehoon Chung
2015-06-25 19:26 ` Simon Glass
2015-06-26 4:49 ` Jaehoon Chung
2015-06-23 21:38 ` [U-Boot] [PATCH v3 33/54] dm: Add basic support for pin multiplexing (pinctrl) Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 34/54] dm: power: Avoid case-insensitve match for child names Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 35/54] dm: power: Add regulator flags to centralise auto-set logic Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak [this message]
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 36/54] dm: pmic: Split output from function Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:38 ` [U-Boot] [PATCH v3 37/54] dm: power: Add a function to set up all regulators Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 38/54] dm: power: Use debug() for errors in regulator uclass Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 39/54] dm: pmic: Add functions to adjust PMIC registers Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 40/54] dm: power: Allow use of regulators in SPL Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 41/54] Drop CONFIG_ERRNO_STR from SPL Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 42/54] dm: Add support for RAM drivers Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 43/54] dm: spi: Make local functions static Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 44/54] ns16550: Improve debug UART so it can work with 32-bit access Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 45/54] Add rivest cipher 4 (rc4) implementation Simon Glass
2015-07-17 23:57 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 46/54] lib: Add function to extract a number from the end of a string Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 47/54] fdt: Provide debug info when a device tree cannot be found Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 48/54] dm: spl: Allow device tree/driver model in board_init_f() Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 49/54] spl: Add a debug string before the jump to U-Boot Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 50/54] mkimage: Set up a file size parameter and keep it updated Simon Glass
2015-06-25 22:51 ` Joe Hershberger
2015-07-17 23:58 ` Simon Glass
2015-08-10 23:43 ` Marek Vasut
2015-08-11 1:10 ` Marek Vasut
2015-06-23 21:39 ` [U-Boot] [PATCH v3 51/54] dm: Add a system reset uclass Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 52/54] zynq: Rename struct clk_ops to zynq_clk_ops Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 53/54] dm: Add a clock uclass Simon Glass
2015-07-17 23:58 ` Simon Glass
2015-06-23 21:39 ` [U-Boot] [PATCH v3 54/54] power: pmic: Use trailing_strtol() instead of a local function Simon Glass
2015-07-01 9:44 ` Przemyslaw Marczak
2015-07-17 23:58 ` Simon Glass
2015-06-30 16:08 ` [U-Boot] [PATCH v3 00/54] dm: Introduce new driver model uclasses York Sun
2015-06-30 18:33 ` Simon Glass
2015-06-30 18:42 ` York Sun
2015-06-30 19:01 ` Tom Rini
2015-06-30 20:10 ` York Sun
2015-06-30 20:31 ` Tom Rini
2015-06-30 21:08 ` Simon Glass
2015-07-02 7:03 ` Jagan Teki
2015-07-09 20:31 ` Jagan Teki
2015-07-09 21:10 ` Simon Glass
2015-06-30 19:01 ` Jagan Teki
2015-07-03 3:28 ` Simon Glass
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=5593B670.4000301@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox