[U-Boot] [PATCH] i2c: mvtwsi: fix hang on SPL bind

The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
Signed-off-by: Baruch Siach baruch@tkos.co.il --- drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c index 74ac0a4aa789..05560e112729 100644 --- a/drivers/i2c/mvtwsi.c +++ b/drivers/i2c/mvtwsi.c @@ -801,6 +801,10 @@ static int mvtwsi_i2c_ofdata_to_platdata(struct udevice *bus)
static void twsi_disable_i2c_slave(struct mvtwsi_registers *twsi) { + /* The debug register is not accessible in early boot */ + if (IS_ENABLED(CONFIG_SPL_BUILD)) + return; + clrbits_le32(&twsi->debug, BIT(18)); }

Hi Baruch,
On 07.04.19 11:30, Baruch Siach wrote:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
The other I2C registers can be accessed but only the debug register not? Do you know, why this is the case?
Thanks, Stefan
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c index 74ac0a4aa789..05560e112729 100644 --- a/drivers/i2c/mvtwsi.c +++ b/drivers/i2c/mvtwsi.c @@ -801,6 +801,10 @@ static int mvtwsi_i2c_ofdata_to_platdata(struct udevice *bus)
static void twsi_disable_i2c_slave(struct mvtwsi_registers *twsi) {
- /* The debug register is not accessible in early boot */
- if (IS_ENABLED(CONFIG_SPL_BUILD))
return;
- clrbits_le32(&twsi->debug, BIT(18)); }

Hi Stefan,
On Tue, Apr 09 2019, Stefan Roese wrote:
On 07.04.19 11:30, Baruch Siach wrote:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
The other I2C registers can be accessed but only the debug register not? Do you know, why this is the case?
Access to other registers might hang as well, I have not tested. The debug register is the only one that the .bind callback touches. .bind callbacks are called before board_early_init_f() that configures the MPP.
baruch
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c index 74ac0a4aa789..05560e112729 100644 --- a/drivers/i2c/mvtwsi.c +++ b/drivers/i2c/mvtwsi.c @@ -801,6 +801,10 @@ static int mvtwsi_i2c_ofdata_to_platdata(struct udevice *bus) static void twsi_disable_i2c_slave(struct mvtwsi_registers *twsi) {
- /* The debug register is not accessible in early boot */
- if (IS_ENABLED(CONFIG_SPL_BUILD))
return;
- clrbits_le32(&twsi->debug, BIT(18)); }
-- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -

Hello Baruch,
Am 07.04.2019 um 11:30 schrieb Baruch Siach:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
Applied to u-boot-i2c.git master
Thanks!
bye, Heiko

Hi Heiko,
On 10.04.19 07:38, Heiko Schocher wrote:
Hello Baruch,
Am 07.04.2019 um 11:30 schrieb Baruch Siach:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
Applied to u-boot-i2c.git master
Could you please hold this patch a bit longer. I'm not 100% sure, if this is the correct fix. Please see this thread for more details.
https://lists.denx.de/pipermail/u-boot/2019-April/364818.html
Thanks, Stefan

Hello Stefan,
Am 11.04.2019 um 11:31 schrieb Stefan Roese:
Hi Heiko,
On 10.04.19 07:38, Heiko Schocher wrote:
Hello Baruch,
Am 07.04.2019 um 11:30 schrieb Baruch Siach:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
Applied to u-boot-i2c.git master
Could you please hold this patch a bit longer. I'm not 100% sure, if this is the correct fix. Please see this thread for more details.
https://lists.denx.de/pipermail/u-boot/2019-April/364818.html
Oh, wasn;t aware of this ... Hmm.. pull request is already send to Tom ... but Tom hasn;t merged it ...
@Tom: Should I remove this patch from u-boot-i2c.git and send a new pull request or should we revert this commit, if a better solution is found?
Tom bye, Heiko

On Thu, Apr 11, 2019 at 11:49:44AM +0200, Heiko Schocher wrote:
Hello Stefan,
Am 11.04.2019 um 11:31 schrieb Stefan Roese:
Hi Heiko,
On 10.04.19 07:38, Heiko Schocher wrote:
Hello Baruch,
Am 07.04.2019 um 11:30 schrieb Baruch Siach:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
Applied to u-boot-i2c.git master
Could you please hold this patch a bit longer. I'm not 100% sure, if this is the correct fix. Please see this thread for more details.
https://lists.denx.de/pipermail/u-boot/2019-April/364818.html
Oh, wasn;t aware of this ... Hmm.. pull request is already send to Tom ... but Tom hasn;t merged it ...
@Tom: Should I remove this patch from u-boot-i2c.git and send a new pull request or should we revert this commit, if a better solution is found?
Please re-send your PR, thanks!

Hello Baruch
Am 11.04.2019 um 11:49 schrieb Heiko Schocher:
Hello Stefan,
Am 11.04.2019 um 11:31 schrieb Stefan Roese:
Hi Heiko,
On 10.04.19 07:38, Heiko Schocher wrote:
Hello Baruch,
Am 07.04.2019 um 11:30 schrieb Baruch Siach:
The mvebu specific debug register is not accessible when the bind code runs in SPL. Skip it.
Signed-off-by: Baruch Siach baruch@tkos.co.il
drivers/i2c/mvtwsi.c | 4 ++++ 1 file changed, 4 insertions(+)
Applied to u-boot-i2c.git master
Could you please hold this patch a bit longer. I'm not 100% sure, if this is the correct fix. Please see this thread for more details.
https://lists.denx.de/pipermail/u-boot/2019-April/364818.html
Oh, wasn;t aware of this ... Hmm.. pull request is already send to Tom ... but Tom hasn;t merged it ...
@Tom: Should I remove this patch from u-boot-i2c.git and send a new pull request or should we revert this commit, if a better solution is found?
Removed from u-boot-i2c. I send a new PR to Tom if travis build works.
We should wait of the result of discussion in thread:
https://lists.denx.de/pipermail/u-boot/2019-April/364818.html
bye, Heiko
participants (4)
-
Baruch Siach
-
Heiko Schocher
-
Stefan Roese
-
Tom Rini