[U-Boot] [PATCH v4 00/16] Power(full) framework based on Driver Model

Simon Glass sjg at chromium.org
Fri Apr 24 06:48:31 CEST 2015


Hi Przemyslaw,

On 23 April 2015 at 05:33, Przemyslaw Marczak <p.marczak at samsung.com> wrote:
> Hello Simon,
>
>
> On 04/22/2015 06:29 PM, Simon Glass wrote:
>>
>> Hi Przemyslaw,
>>
>> On 20 April 2015 at 12:07, Przemyslaw Marczak <p.marczak at samsung.com>
>> wrote:
>>>
>>> Hello,
>>> Again the next version. The changes are described below each commit
>>> message.
>>> This is rebased on last u-boot-dm/master after apply this patchset:
>>> https://patchwork.ozlabs.org/patch/462775/
>>> https://patchwork.ozlabs.org/patch/462777/
>>> https://patchwork.ozlabs.org/patch/462776/
>>>
>>> This all can be found in here:
>>> https://github.com/bobenstein/u-boot/tree/dm-pmic-v4
>>>
>>> Best regards,
>>>
>>> Przemyslaw Marczak (16):
>>>    exynos5: fix build break by adding CONFIG_POWER
>>>    exynos4-common: remove the unsued CONFIG_CMD_PMIC
>>>    lib: Kconfig: add entry for errno_str() function
>>>    dm: pmic: add implementation of driver model pmic uclass
>>>    dm: regulator: add implementation of driver model regulator uclass
>>>    dm: pmic: add pmic command
>>>    dm: regulator: add regulator command
>>>    pmic: max77686 set the same compatible as in the kernel
>>>    dm: pmic: add max77686 pmic driver
>>>    dm: regulator: add max77686 regulator driver
>>>    dm: regulator: add fixed voltage regulator driver
>>>    doc: driver-model: pmic and regulator uclass documentation
>>>    dm: board:samsung: power_init_board: add requirement of CONFIG_DM_PMIC
>>>    odroid: board: add support to dm pmic api
>>>    odroid: dts: add 'voltage-regulators' description to max77686 node
>>>    odroid: config: enable dm pmic, dm regulator and max77686 driver
>>>
>>>   Makefile                                         |   3 +-
>>>   arch/arm/dts/exynos4412-odroid.dts               | 255 ++++++-
>>>   arch/arm/dts/exynos4412-trats2.dts               |   2 +-
>>>   arch/arm/dts/exynos5250-smdk5250.dts             |   2 +-
>>>   arch/arm/dts/exynos5250-snow.dts                 |   2 +-
>>>   board/samsung/common/board.c                     |   4 +-
>>>   board/samsung/common/misc.c                      |   1 +
>>>   board/samsung/odroid/odroid.c                    |  77 ++-
>>>   common/Kconfig                                   |  36 +
>>>   common/Makefile                                  |   4 +
>>>   common/cmd_pmic.c                                | 231 +++++++
>>>   common/cmd_regulator.c                           | 403 +++++++++++
>>>   configs/odroid_defconfig                         |   8 +-
>>>   doc/device-tree-bindings/pmic/max77686.txt       |  36 +
>>>   doc/device-tree-bindings/regulator/fixed.txt     |  38 ++
>>>   doc/device-tree-bindings/regulator/max77686.txt  |  70 ++
>>>   doc/device-tree-bindings/regulator/regulator.txt |  55 ++
>>>   doc/driver-model/pmic-framework.txt              | 142 ++++
>>>   drivers/power/Kconfig                            |   8 +
>>>   drivers/power/Makefile                           |   1 -
>>>   drivers/power/pmic/Kconfig                       |  18 +
>>>   drivers/power/pmic/Makefile                      |   2 +
>>>   drivers/power/pmic/max77686.c                    |  87 +++
>>>   drivers/power/pmic/pmic-uclass.c                 | 158 +++++
>>>   drivers/power/pmic/pmic_max77686.c               |   2 +-
>>>   drivers/power/regulator/Kconfig                  |  33 +
>>>   drivers/power/regulator/Makefile                 |  10 +
>>>   drivers/power/regulator/fixed.c                  | 126 ++++
>>>   drivers/power/regulator/max77686.c               | 825
>>> +++++++++++++++++++++++
>>>   drivers/power/regulator/regulator-uclass.c       | 300 +++++++++
>>>   include/configs/exynos4-common.h                 |   1 -
>>>   include/configs/exynos5-common.h                 |   4 +
>>>   include/configs/odroid.h                         |   5 -
>>>   include/dm/uclass-id.h                           |   4 +
>>>   include/power/max77686_pmic.h                    |  29 +-
>>>   include/power/pmic.h                             | 189 ++++++
>>>   include/power/regulator.h                        | 384 +++++++++++
>>>   lib/Kconfig                                      |   8 +
>>>   lib/fdtdec.c                                     |   2 +-
>>>   39 files changed, 3512 insertions(+), 53 deletions(-)
>>>   create mode 100644 common/cmd_pmic.c
>>>   create mode 100644 common/cmd_regulator.c
>>>   create mode 100644 doc/device-tree-bindings/pmic/max77686.txt
>>>   create mode 100644 doc/device-tree-bindings/regulator/fixed.txt
>>>   create mode 100644 doc/device-tree-bindings/regulator/max77686.txt
>>>   create mode 100644 doc/device-tree-bindings/regulator/regulator.txt
>>>   create mode 100644 doc/driver-model/pmic-framework.txt
>>>   create mode 100644 drivers/power/pmic/Kconfig
>>>   create mode 100644 drivers/power/pmic/max77686.c
>>>   create mode 100644 drivers/power/pmic/pmic-uclass.c
>>>   create mode 100644 drivers/power/regulator/Kconfig
>>>   create mode 100644 drivers/power/regulator/Makefile
>>>   create mode 100644 drivers/power/regulator/fixed.c
>>>   create mode 100644 drivers/power/regulator/max77686.c
>>>   create mode 100644 drivers/power/regulator/regulator-uclass.c
>>>   create mode 100644 include/power/regulator.h
>>>
>>> --
>>> 1.9.1
>>>
>>
>> I'm going to test this and apply to u-boot-dm/next while we wait for
>> you to finish the sandbox test code. I've made a few comments on the
>> series. They are minor so I don't want to do another whole spin of the
>> series (it takes time to review!), but you could do a fix-up patch or
>> two if you like. I could perhaps squash them in if you prefer that,
>> but honestly they are nits.
>>
>> It will be great to get this into mainline soon!
>>
>> Regards,
>> Simon
>>
>
> Thank you again for the review. I know, that it takes a time, especially
> when things are fully reworked.
> I have some other things to do now. So I think, that the end of the next
> week is reliable time to have the sandbox tests ready.
>
> I will try to resend the fixes today or tomorrow.
>
> One more question about the sandbox.
>
> What do you think about adding: "drivers/power/pmic/max77686-sandbox.c"?
> The read/write could be done for the file as in the sandbox SPI driver.
> Then it's no problem to enable the max77686 regulator for the sandbox. This
> could probably work without dump the real device, when keep the set -> get
> I/O order.

I'd be more comfortable with a new pmic, a really simple 'fake' one
with just a few LDOs, maybe one BUCK. Enough to support some
reasonable tests.

The problem with max77686 is that is it quite complicated, and when
writing and expanding tests, we really want things to be simple.

Also for the tests, we really don't need anything elaborate. Try to
test the main functions.

Regards,
Simon


More information about the U-Boot mailing list