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

Przemyslaw Marczak
2015-04-24T12:18:58Z

Hello Simon,

On 04/24/2015 06:48 AM, Simon Glass wrote:
> Hi Przemyslaw,
>
> On 23 April 2015 at 05:33, Przemyslaw Marczak <p.marczak@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@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
>

Ok, I see. This should be easy.

Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com