From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/3] i2c: improve s3c24x0 with High-speed and new SYS_I2C framework support
Date: Tue, 01 Oct 2013 08:36:51 +0200 [thread overview]
Message-ID: <524A6D83.2070909@denx.de> (raw)
In-Reply-To: <CAHfPSqBQVhcU0Z=8YD8vvN3JfwXyyXopaWtcKxQRfigsT1y4fg@mail.gmail.com>
Hello Naveen,
Am 01.10.2013 08:19, schrieb Naveen Krishna Ch:
> Hello Heiko,
>
> On 1 October 2013 11:35, Heiko Schocher<hs@denx.de> wrote:
>> Hello Naveen,
>>
>> Am 30.09.2013 12:03, schrieb Naveen Krishna Ch:
>>
>>> Helo Heiko,
>>>
>>> Thanks for timely reply.
>>>
>>> On 30 September 2013 13:35, Heiko Schocher<hs@denx.de> wrote:
>>>>
>>>> Hello Naveen,
>>>>
>>>> Am 30.09.2013 08:58, schrieb Naveen Krishna Chatradhi:
>>>>
>>>>> This patchset fixes few bugs in the existing s3c24x0.c code (standard
>>>>> i2c)
>>>>> and add support for High-speed i2c bus controller available on Exynos5
>>>>> SoCs
>>>>> from Samsung.
>>>>>
>>>>> Exynos5250 channels [0 ~ 3] can configured for I2C contoller or
>>>>> new HSI2C controller
>>>>> channels [3 ~ 7] are standard I2C controller channels
>>>>> Exynos5420 channels [0 ~ 3] are standard I2C controller channels and
>>>>> channels [4 ~ 10] are High-speed controller channels
>>>>>
>>>>> Patchset:
>>>>> 1. exynos: i2c: Fix i2c driver to handle NACKs properly
>>>>> Improvements and fixes from Vadim Bendebury for standard i2c calls
>>>>>
>>>>> 2. exynos: i2c: Change FDT bus setup code to enumerate ports correctly
>>>>> FDT bus setup code from Simon Glass
>>>>>
>>>>> 3. PATCH v5: i2c: s3c24xx: add hsi2c controller support
>>>>> High-speed controller register description and defines new i2c
>>>>> read/write,
>>>>> probe and set_bus calls.
>>>>>
>>>>> This is been reviewed earlier at
>>>>> http://lists.denx.de/pipermail/u-boot/2013-May/153245.html
>>>>> Thanks for review and improvements from Vadim Bendebury.
>>>>>
>>>>> Question:
>>>>> 4. RFC: samsung: i2c: Enable new CONFIG_SYS_I2C framework
>>>>> I've tried to implement the new I2C multi bus framework in u-boot tree,
>>>>> taking tegra-i2c.c as reference.
[...]
>>> channel:
>>> --0----1----2----3------4--------5---------6-------7--------8-------9-------10
>>> controller: i2c, i2c, i2c, i2c, hsi2c, hsi2c, hsi2c, hsi2c, hsi2c, hsi2c,
>>> hsi2c.
>>> But the "i2c bus" command is showing the bus number according to the
>>> "name"
>>> string comparison. Which seems wrong. Isn't it ??
>>
>>
>> Hmm.. you are right, seems that the compiler sorts them alphabetical ...
>> So, two ways:
>> - use another name, saying first a two digit for the channel ?
>> - or, use CONFIG_SYS_NUM_I2C_BUSES, CONFIG_SYS_I2C_DIRECT_BUS
>> and CONFIG_SYS_I2C_BUSES as described in the README (grep
>> for CONFIG_SYS_I2C_BUSES in include/configs and you will find
>> some examples ...) and you can define, which adapter is on which
>> i2c_bus number ...
> Will try and implement it this way.
Ok.
>>>>> c). What's the alternative for the
>>>>> board_i2c_init(), i2c_get_bus_num_fdt(), i2c_reset_port_fdt().
>>>>> "Functions to get the I2C bus number and reset I2C bus using FDT
>>>>> node"
>>>>>
>>>>> I think, these functions are still needed.
>>>>
>>>>
>>>>
>>>> Hmm.. that needs a general discussion, how to use fdt and i2c I think.
>>>>
>>>> I would prefer a way (not really nowing, if it is possible for all
>>>> configurations) where, if using fdt, the DT gets parsed and the
>>>> availiable i2c buses gets created ... After that, "normal" i2c access
>>>> with i2c_set_bus_num(), i2c_read/write should be possible ... this is
>>>> currently not possible with the i2c framework, but should not be so hard
>>>> to do. Except the restriction, that it would not work in SPL case, or
>>>> before relocation for i2c buses announced through dt
>>>
>>> once i2c_init_board() is done board_i2c_init() is not quite needed
>>> using i2c_init_board we can avoid the relocation problem aswell.
>>>
>>> by the definition of i2c_get_bus_num() in drivers/i2c/i2c_core.c
>>>
>>> unsigned int i2c_get_bus_num(void)
>>> {
>>> return gd->cur_i2c_bus;
>>> }
>>>
>>> we don't need a special function i2c_get_bus_num_fdt()
>>
>>
>> Ah, ok!
>>
>>
>>> IMHO, i2c_reset_port_fdt() is the only function to be discussed
>>
>>
>> And why is i2c_init() not good? Why must we have here a new function?
> That's right, even if there is a need for i2c_reset_port_fdt().
> it must be a i2c-core function instead of being in a driver.
>>
>>
>>>> Define CONFIG_SYS_I2C_MAX_HOPS -> CONFIG_SYS_I2C_DIRECT_BUS is not
>>>> defined
>>>> so i2c_bus[] is used in drivers/i2c/i2c_core.c. Define the fix i2c buses
>>>> in
>>>> the board config file with CONFIG_SYS_I2C_BUSES (if you have no fix
>>>> buses,
>>>> let this empty) and add a function in drivers/i2c/i2c_core.c, which adds
>>>> new i2c buses to i2c_bus[] after the fix buses and call this new
>>>> function,
>>>> from where you interpret the fdt ...
>>>
>>> I din't quite understood this.
>>> Can you point me to some readme or Doc or discussion Please.
>>
>>
>> just the U-Boot README ... The above was just a fast idea, how it
>> is possible to add i2c buses from the info in the fdt ...
>>
>> Here some theoretical code, how it could look like:
[...]
> Thanks for this explanation.
! It is just theoretical ... you must try it ;-)
>> And maybe here and there some adaptions for getting this running...
>> Thinking of i2c_set_bus_num(), there must be now a check for
>> i2c_fix_bus I think ...
>>
>> Adapt the README ...
>>
>> And then, from the place where you interpret the fdt, call if
>> you have the information for one i2c bus, i2c_add_one_bus() ...
>>
>> Not sure, if I overlooked here something ...
>
> Will try and do this.
> Mean while can we get the other 3 patches reviewed.
> Patch 1: http://patchwork.ozlabs.org/patch/278933/
This patch seems good to me, added to u-boot-i2c.git
as it seems it is a bugfix.
> Patch 2: http://patchwork.ozlabs.org/patch/278931/
> Patch 3: http://patchwork.ozlabs.org/patch/278930/
Think, they are OK, but they go after the next release to mainline,
as we are close to the next release ...
> They were tested without the change to the new i2c framework.
Thanks for your work!
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2013-10-01 6:36 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-12 10:58 [U-Boot] [PATCH] i2c: s3c24xx: add hsi2c controller support Naveen Krishna Chatradhi
2013-03-12 13:11 ` Simon Glass
2013-03-12 14:03 ` Naveen Krishna Ch
2013-04-06 1:37 ` [U-Boot] [PATCH v4] " Naveen Krishna Chatradhi
2013-04-13 4:42 ` Naveen Krishna Ch
2013-04-15 5:48 ` Heiko Schocher
2013-04-15 12:48 ` Tom Rini
2013-04-26 3:08 ` Naveen Krishna Ch
2013-04-29 6:36 ` Minkyu Kang
2013-04-30 4:14 ` Heiko Schocher
2013-05-01 19:04 ` Naveen Krishna Ch
2013-05-02 10:06 ` Heiko Schocher
2013-05-02 17:52 ` Naveen Krishna Ch
2013-09-30 6:58 ` [U-Boot] [PATCH 0/3] i2c: improve s3c24x0 with High-speed and new SYS_I2C framework support Naveen Krishna Chatradhi
2013-09-30 6:58 ` [U-Boot] [PATCH 1/4] exynos: i2c: Fix i2c driver to handle NACKs properly Naveen Krishna Chatradhi
2013-10-02 13:51 ` Heiko Schocher
2013-09-30 6:58 ` [U-Boot] [PATCH 2/4] exynos: i2c: Change FDT bus setup code to enumerate ports correctly Naveen Krishna Chatradhi
2013-10-03 11:23 ` [U-Boot] [PATCH 2/3 v2] " Naveen Krishna Chatradhi
2013-10-15 10:32 ` [U-Boot] [PATCH 2/3 v4] " Naveen Krishna Chatradhi
2013-10-17 6:31 ` [U-Boot] [U-Boot, 2/3, " Heiko Schocher
2013-09-30 6:58 ` [U-Boot] [PATCH v5 3/4] i2c: s3c24xx: add hsi2c controller support Naveen Krishna Chatradhi
2013-09-30 6:58 ` [U-Boot] [PATCH] RFC: samsung: i2c: Enable new CONFIG_SYS_I2C framework Naveen Krishna Chatradhi
2013-10-14 6:06 ` Heiko Schocher
2013-11-08 7:45 ` Piotr Wilczek
2013-11-08 7:59 ` Naveen Krishna Ch
2013-11-20 10:50 ` [U-Boot] [PATCH 2/2 v2] " Naveen Krishna Chatradhi
2013-11-25 11:28 ` [U-Boot] [PATCH] i2c: samsung: register i2c busses for Exynso5420 and Exynos5250 Naveen Krishna Chatradhi
2013-11-25 11:31 ` Naveen Krishna Ch
2013-12-05 11:26 ` [U-Boot] " Heiko Schocher
2013-12-05 12:21 ` Naveen Krishna Ch
2013-12-05 12:47 ` Heiko Schocher
2013-12-06 5:47 ` Naveen Krishna Ch
2013-12-06 6:16 ` Heiko Schocher
2013-12-06 6:42 ` [U-Boot] [PATCH v2] " Naveen Krishna Chatradhi
2013-12-09 6:58 ` [U-Boot] [U-Boot, " Heiko Schocher
2013-09-30 8:05 ` [U-Boot] [PATCH 0/3] i2c: improve s3c24x0 with High-speed and new SYS_I2C framework support Heiko Schocher
2013-09-30 10:03 ` Naveen Krishna Ch
2013-10-01 6:05 ` Heiko Schocher
2013-10-01 6:19 ` Naveen Krishna Ch
2013-10-01 6:36 ` Heiko Schocher [this message]
2013-10-03 11:22 ` [U-Boot] [PATCH 1/3 v2] exynos: i2c: Fix i2c driver to handle NACKs properly Naveen Krishna Chatradhi
2013-10-14 6:29 ` Heiko Schocher
2013-10-15 4:48 ` Naveen Krishna Ch
2013-10-15 5:10 ` Heiko Schocher
2013-10-15 6:34 ` Lukasz Majewski
2013-10-15 10:31 ` [U-Boot] [PATCH 1/3 v4] " Naveen Krishna Chatradhi
2013-10-17 6:29 ` [U-Boot] [U-Boot, 1/3, " Heiko Schocher
2013-10-15 6:07 ` [U-Boot] [PATCH 1/3 v3] " Naveen Krishna Chatradhi
2013-10-15 6:07 ` [U-Boot] [PATCH 2/3 v3] exynos: i2c: Change FDT bus setup code to enumerate ports correctly Naveen Krishna Chatradhi
2013-10-15 6:07 ` [U-Boot] [PATCH 3/3 v6] i2c: s3c24xx: add hsi2c controller support Naveen Krishna Chatradhi
2013-10-15 6:40 ` Heiko Schocher
2013-10-15 9:34 ` Naveen Krishna Ch
2013-10-15 9:39 ` Heiko Schocher
2013-10-15 9:44 ` Naveen Krishna Ch
2013-10-03 11:24 ` [U-Boot] [PATCH 3/3 v2]: " Naveen Krishna Chatradhi
2013-10-15 10:32 ` [U-Boot] [PATCH 3/3 v7] " Naveen Krishna Chatradhi
2013-10-17 6:32 ` [U-Boot] [U-Boot, 3/3, " Heiko Schocher
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=524A6D83.2070909@denx.de \
--to=hs@denx.de \
--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