All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minkyu Kang <mk7.kang@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 07/12] exynos5: support tps65090 pmic
Date: Mon, 26 May 2014 16:15:04 +0900	[thread overview]
Message-ID: <5382E9F8.5030709@samsung.com> (raw)
In-Reply-To: <CAPnjgZ2NnUkd1Tb1kbx5G2b9QXm2oa6PafK7suo_z6L3o2F2Zw@mail.gmail.com>

Dear Simon,

On 23/05/14 02:27, Simon Glass wrote:
> Hi Minkyu,
> 
> On 21 May 2014 15:20, Minkyu Kang <mk7.kang@samsung.com> wrote:
>> On 22/05/14 03:58, Simon Glass wrote:
>>> Hi Minkyu,
>>>
>>> On 21 May 2014 00:05, Minkyu Kang <mk7.kang@samsung.com> wrote:
>>>> On 20/05/14 20:47, Simon Glass wrote:
>>>>> Hi Minkyu,
>>>>>
>>>>> On 15 May 2014 00:51, Minkyu Kang <mk7.kang@samsung.com> wrote:
>>>>>> On 03/04/14 08:24, Simon Glass wrote:
>>>>>>> From: Aaron Durbin <adurbin@chromium.org>
>>>>>>>
>>>>>>> The TSP65090 is a PMIC on some exynos5 boards. The init function is
>>>>>>> called for the TPS65090 pmic. If that device is not a part of the device
>>>>>>> tree (returns -ENODEV) then continue. Otherwise return a failure.
>>>>>>>
>>>>>>> Signed-off-by: Aaron Durbin <adurbin@chromium.org>
>>>>>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>>>>>> Reviewed-by: Simon Glass <sjg@chromium.org>
>>>>>>> ---
>>>>>>>
>>>>>>> Changes in v2:
>>>>>>> - Move code to exynos5-dt.c
>>>>>>> - Fix comment style
>>>>>>> - Add #ifdef around tps65090 code
>>>>>>>
>>>>>>>  board/samsung/smdk5250/exynos5-dt.c | 13 +++++++++++++
>>>>>>>  1 file changed, 13 insertions(+)
>>>>>>>
>>>>>>> diff --git a/board/samsung/smdk5250/exynos5-dt.c b/board/samsung/smdk5250/exynos5-dt.c
>>>>>>> index 1a64b9b..2c1cf8a 100644
>>>>>>> --- a/board/samsung/smdk5250/exynos5-dt.c
>>>>>>> +++ b/board/samsung/smdk5250/exynos5-dt.c
>>>>>>> @@ -20,6 +20,7 @@
>>>>>>>  #include <asm/arch/sromc.h>
>>>>>>>  #include <power/pmic.h>
>>>>>>>  #include <power/max77686_pmic.h>
>>>>>>> +#include <power/tps65090_pmic.h>
>>>>>>>  #include <tmu.h>
>>>>>>>
>>>>>>>  DECLARE_GLOBAL_DATA_PTR;
>>>>>>> @@ -164,7 +165,19 @@ int exynos_power_init(void)
>>>>>>>
>>>>>>>  #ifdef CONFIG_POWER_MAX77686
>>>>>>>       ret = max77686_init();
>>>>>>> +     if (ret)
>>>>>>> +             return ret;
>>>>>>>  #endif
>>>>>>> +#ifdef CONFIG_POWER_TPS65090
>>>>>>> +     /*
>>>>>>> +      * The TPS65090 may not be in the device tree. If so, it is not
>>>>>>> +      * an error.
>>>>>>
>>>>>> Then, how we can initialise the tps65090?
>>>>>
>>>>> It is initialised if a suitable node is found in the device tree. If
>>>>> the device tree does not have it, then the hardware is assumed to not
>>>>> have this chip.
>>>>
>>>> then I think, it's an error.
>>>> Why you said, it is not an error?
>>>
>>> I may be misunderstanding your question, but I'll try to answer what I
>>> think you are asking.
>>>
>>> The device tree contains nodes for hardware in the machine that you
>>> want to initialise, and information about each one. Devices can be
>>> enabled or disabled by including or removing this information from the
>>> device tree (or marking a device disabled with a status = "disabled"
>>> property in the node).
>>>
>>> The tps65090 chip is not used in all exynos5-dt boards, but is used in
>>> some. For example smdk5250 does not have it, but snow does. So we use
>>> the device tree to specify the difference, including (on snow) things
>>> like the tps65090, the display bridge chip, etc.
>>>
>>
>> Hm, it doesn't make sense.
>> Then it(#define CONFIG_POWER_TPS65090) should go into each config files.
>> Not in exynos5-dt.h.
>> Please modify it and patch 6/12 also.
> 
> The way it works at present is that there is a single exynos5-dt.h
> file which is used by all exynos5 boards. To the extent possible we
> have avoided putting particular features in things like snow.h and
> smdk5250.h - they just include exynos5-dt.h without changes.
> 
> The idea is that we can have one U-Boot binary that runs on any
> exynos5 device, rather than lots of different options. This makes it
> much easier to test changes sine we only need to build it once. If
> every exynos5 board has different #defines then there are more
> combinations to build and test. This is similar to what the kernel
> does with arch/arm/mach-exynos/mach-exynos5-dt.c.
> 
> Using this approach the only differences between smdk5250, daisy,
> snow, spring, etc. are in the device tree. I'd really like to avoid
> changing this now. It is easy enough for people to add their own
> private variants of these locally if they want to, but for mainline I
> believe it is better to be more generic.

I totally understood what you assert.
But I can't agree with you.
Do you think if we collect all features at exynos5-dt.h then
it can be generic? even if some boards doesn't have the device?
I think no. It just wrong definition.
We should separate exynos5 generic features and board specific features.

+	ret = tps65090_init();
+	if (ret == 0 || ret == -ENODEV)
+		return 0;

At here.. whatever, the error is an error.
If you got NODEV then should return it, because that board does not have device.

Thanks,
Minkyu Kang.

  parent reply	other threads:[~2014-05-26  7:15 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-02 23:24 [U-Boot] [PATCH v2 0/12] Enable LCD display on snow Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 01/12] exynos: Drop old smdk5250.c file Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 02/12] power: Rename CONFIG_PMIC_... to CONFIG_POWER_ Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 03/12] power: Add PMIC_ prefix to CHARGER_EN/DISABLE Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 04/12] power: Add support for TPS65090 PMU chip Simon Glass
2014-05-15  6:52   ` Minkyu Kang
2014-05-20 11:46     ` Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 05/12] exynos5: Enable tps65090 on exynos5-dt Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 06/12] power: Explicitly select pmic device's bus Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 07/12] exynos5: support tps65090 pmic Simon Glass
2014-05-15  6:51   ` Minkyu Kang
2014-05-20 11:47     ` Simon Glass
2014-05-21 10:05       ` Minkyu Kang
2014-05-21 18:58         ` Simon Glass
2014-05-22  1:20           ` Minkyu Kang
2014-05-22 17:27             ` Simon Glass
2014-05-22 18:24               ` David Nelson
2014-05-22 20:07                 ` Simon Glass
2014-05-26  7:15               ` Minkyu Kang [this message]
2014-05-27  0:01                 ` Simon Glass
2014-05-28 13:02                   ` Minkyu Kang
2014-05-29 23:36                     ` Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 08/12] exynos: Enable PSHOLD in SPL Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 09/12] exynos: dts: Disable cros_ec interrupts due to broken GPIOs Simon Glass
2014-05-15  6:51   ` Minkyu Kang
2014-05-19 21:27     ` Simon Glass
2014-05-20  0:53       ` Minkyu Kang
2014-05-20 11:49         ` Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 10/12] exynos: dts: Enable LCD for snow Simon Glass
2014-05-15  6:51   ` Minkyu Kang
2014-05-20 11:53     ` Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 11/12] exynos: Enable the LCD backlight " Simon Glass
2014-05-15  6:51   ` Minkyu Kang
2014-05-20 11:48     ` Simon Glass
2014-04-02 23:24 ` [U-Boot] [PATCH v2 12/12] initcall: Improve debugging support Simon Glass
2014-05-12 22:45 ` [U-Boot] [PATCH v2 0/12] Enable LCD display on snow Simon Glass
2014-05-14  5:19   ` Minkyu Kang

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=5382E9F8.5030709@samsung.com \
    --to=mk7.kang@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.