* reset-loop on Odroid U2: cros-ec communications failure
@ 2023-01-09 9:11 Joost van Zwieten
2023-01-13 18:00 ` Simon Glass
0 siblings, 1 reply; 5+ messages in thread
From: Joost van Zwieten @ 2023-01-09 9:11 UTC (permalink / raw)
To: u-boot
Dear maintainers,
U-Boot on my Odroid U2 fails to initialize as of commit
e44d7e73fe0d649693d8d0a110cd7632bc919273 (introduced after v2022.10). I
get the following output:
U-Boot 2022.10-00565-ge44d7e73fe-dirty (Jan 09 2023 - 01:04:19
+0100)
CPU: Exynos4412 @ 1 GHz
Model: Odroid based on Exynos4412
Type: u3
DRAM: 2 GiB
Core: 101 devices, 12 uclasses, devicetree: separate
LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
LDO21@TFLASH_2.8V: set 2800000 uV; enabling
MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
Loading Environment from MMC... *** Warning - bad CRC, using
default environment
cros-ec communications failure -96
Please reset with Power+Refresh
Cannot init cros-ec device
resetting ...
This repeats indefinitely. I'm building U-Boot using the default config
for board `odroid` and boot the Odroid from an SD card with firmware
(`bl1`, `bl2` and `tzsw`) from Hardkernel's clone of the u-boot
repository [1]. There are no peripherals connected apart from the SD
card and the serial console. Please let me know if you need more
information.
Best, Joost
[1]:
https://github.com/hardkernel/u-boot/tree/33e05ffb159141b640571e91470172d83a2a1273/sd_fuse
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: reset-loop on Odroid U2: cros-ec communications failure
2023-01-09 9:11 reset-loop on Odroid U2: cros-ec communications failure Joost van Zwieten
@ 2023-01-13 18:00 ` Simon Glass
2023-01-20 22:00 ` Joost van Zwieten
0 siblings, 1 reply; 5+ messages in thread
From: Simon Glass @ 2023-01-13 18:00 UTC (permalink / raw)
To: Joost van Zwieten; +Cc: u-boot
Hi Joost,
On Mon, 9 Jan 2023 at 06:31, Joost van Zwieten <joost@diskos.nl> wrote:
>
> Dear maintainers,
>
> U-Boot on my Odroid U2 fails to initialize as of commit
> e44d7e73fe0d649693d8d0a110cd7632bc919273 (introduced after v2022.10). I
> get the following output:
>
> U-Boot 2022.10-00565-ge44d7e73fe-dirty (Jan 09 2023 - 01:04:19
> +0100)
>
> CPU: Exynos4412 @ 1 GHz
> Model: Odroid based on Exynos4412
> Type: u3
> DRAM: 2 GiB
> Core: 101 devices, 12 uclasses, devicetree: separate
> LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
> Loading Environment from MMC... *** Warning - bad CRC, using
> default environment
>
> cros-ec communications failure -96
>
> Please reset with Power+Refresh
>
> Cannot init cros-ec device
> resetting ...
>
> This repeats indefinitely. I'm building U-Boot using the default config
> for board `odroid` and boot the Odroid from an SD card with firmware
> (`bl1`, `bl2` and `tzsw`) from Hardkernel's clone of the u-boot
> repository [1]. There are no peripherals connected apart from the SD
> card and the serial console. Please let me know if you need more
> information.
board_late_init() is presumably enabled with CONFIG_BOARD_LATE_INIT
and the code in board/samsung/common/board.c is being called.
-96 is -EPFNOSUPPORT which means that the CROS_EC uclass is missing.
So either enable CROS_EC so you have the uclass, or disable
BOARD_LATE_INIT so it doesn't matter.
>
> Best, Joost
>
> [1]:
> https://github.com/hardkernel/u-boot/tree/33e05ffb159141b640571e91470172d83a2a1273/sd_fuse
>
>
Regards,
Simon
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: reset-loop on Odroid U2: cros-ec communications failure
2023-01-13 18:00 ` Simon Glass
@ 2023-01-20 22:00 ` Joost van Zwieten
2023-01-20 22:11 ` Simon Glass
0 siblings, 1 reply; 5+ messages in thread
From: Joost van Zwieten @ 2023-01-20 22:00 UTC (permalink / raw)
To: Simon Glass; +Cc: u-boot
On Fri, Jan 13, 2023 at 11:00, Simon Glass <sjg@chromium.org> wrote:
> Hi Joost,
>
> On Mon, 9 Jan 2023 at 06:31, Joost van Zwieten <joost@diskos.nl>
> wrote:
>>
>> Dear maintainers,
>>
>> U-Boot on my Odroid U2 fails to initialize as of commit
>> e44d7e73fe0d649693d8d0a110cd7632bc919273 (introduced after
>> v2022.10). I
>> get the following output:
>>
>> U-Boot 2022.10-00565-ge44d7e73fe-dirty (Jan 09 2023 - 01:04:19
>> +0100)
>>
>> CPU: Exynos4412 @ 1 GHz
>> Model: Odroid based on Exynos4412
>> Type: u3
>> DRAM: 2 GiB
>> Core: 101 devices, 12 uclasses, devicetree: separate
>> LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
>> LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
>> LDO21@TFLASH_2.8V: set 2800000 uV; enabling
>> MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
>> Loading Environment from MMC... *** Warning - bad CRC, using
>> default environment
>>
>> cros-ec communications failure -96
>>
>> Please reset with Power+Refresh
>>
>> Cannot init cros-ec device
>> resetting ...
>>
>> This repeats indefinitely. I'm building U-Boot using the default
>> config
>> for board `odroid` and boot the Odroid from an SD card with firmware
>> (`bl1`, `bl2` and `tzsw`) from Hardkernel's clone of the u-boot
>> repository [1]. There are no peripherals connected apart from the SD
>> card and the serial console. Please let me know if you need more
>> information.
>
> board_late_init() is presumably enabled with CONFIG_BOARD_LATE_INIT
> and the code in board/samsung/common/board.c is being called.
>
> -96 is -EPFNOSUPPORT which means that the CROS_EC uclass is missing.
>
> So either enable CROS_EC so you have the uclass, or disable
> BOARD_LATE_INIT so it doesn't matter.
>
>>
>> Best, Joost
>>
>> [1]:
>>
>> https://github.com/hardkernel/u-boot/tree/33e05ffb159141b640571e91470172d83a2a1273/sd_fuse
>>
>>
>
> Regards,
> Simon
Hi Simon,
Thanks. Both solutions work. With `CROS_EC` enabled
`uclass_first_device_err(UCLASS_CROS_EC, &dev)` returns `ENODEV`. Since
`board_late_init()` seems to do legitimate work for this board
(defining the `mmcbootdev` environment variable) I think enabling
`CROS_EC` is the way to go. Should this be part of the defconfig for
odroid? If so, I can send a patch.
Best, Joost
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: reset-loop on Odroid U2: cros-ec communications failure
2023-01-20 22:00 ` Joost van Zwieten
@ 2023-01-20 22:11 ` Simon Glass
2023-01-21 21:04 ` Joost van Zwieten
0 siblings, 1 reply; 5+ messages in thread
From: Simon Glass @ 2023-01-20 22:11 UTC (permalink / raw)
To: Joost van Zwieten; +Cc: u-boot
Hi Joost,
On Fri, 20 Jan 2023 at 15:00, Joost van Zwieten <joost@diskos.nl> wrote:
>
>
>
> On Fri, Jan 13, 2023 at 11:00, Simon Glass <sjg@chromium.org> wrote:
> > Hi Joost,
> >
> > On Mon, 9 Jan 2023 at 06:31, Joost van Zwieten <joost@diskos.nl>
> > wrote:
> >>
> >> Dear maintainers,
> >>
> >> U-Boot on my Odroid U2 fails to initialize as of commit
> >> e44d7e73fe0d649693d8d0a110cd7632bc919273 (introduced after
> >> v2022.10). I
> >> get the following output:
> >>
> >> U-Boot 2022.10-00565-ge44d7e73fe-dirty (Jan 09 2023 - 01:04:19
> >> +0100)
> >>
> >> CPU: Exynos4412 @ 1 GHz
> >> Model: Odroid based on Exynos4412
> >> Type: u3
> >> DRAM: 2 GiB
> >> Core: 101 devices, 12 uclasses, devicetree: separate
> >> LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
> >> LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
> >> LDO21@TFLASH_2.8V: set 2800000 uV; enabling
> >> MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
> >> Loading Environment from MMC... *** Warning - bad CRC, using
> >> default environment
> >>
> >> cros-ec communications failure -96
> >>
> >> Please reset with Power+Refresh
> >>
> >> Cannot init cros-ec device
> >> resetting ...
> >>
> >> This repeats indefinitely. I'm building U-Boot using the default
> >> config
> >> for board `odroid` and boot the Odroid from an SD card with firmware
> >> (`bl1`, `bl2` and `tzsw`) from Hardkernel's clone of the u-boot
> >> repository [1]. There are no peripherals connected apart from the SD
> >> card and the serial console. Please let me know if you need more
> >> information.
> >
> > board_late_init() is presumably enabled with CONFIG_BOARD_LATE_INIT
> > and the code in board/samsung/common/board.c is being called.
> >
> > -96 is -EPFNOSUPPORT which means that the CROS_EC uclass is missing.
> >
> > So either enable CROS_EC so you have the uclass, or disable
> > BOARD_LATE_INIT so it doesn't matter.
> >
> >>
> >> Best, Joost
> >>
> >> [1]:
> >>
> >> https://github.com/hardkernel/u-boot/tree/33e05ffb159141b640571e91470172d83a2a1273/sd_fuse
> >>
> >>
> >
> > Regards,
> > Simon
>
> Hi Simon,
>
> Thanks. Both solutions work. With `CROS_EC` enabled
> `uclass_first_device_err(UCLASS_CROS_EC, &dev)` returns `ENODEV`. Since
> `board_late_init()` seems to do legitimate work for this board
> (defining the `mmcbootdev` environment variable) I think enabling
> `CROS_EC` is the way to go. Should this be part of the defconfig for
> odroid? If so, I can send a patch.
Yes that seems OK to me.
Regards,
Simon
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: reset-loop on Odroid U2: cros-ec communications failure
2023-01-20 22:11 ` Simon Glass
@ 2023-01-21 21:04 ` Joost van Zwieten
0 siblings, 0 replies; 5+ messages in thread
From: Joost van Zwieten @ 2023-01-21 21:04 UTC (permalink / raw)
To: Simon Glass; +Cc: u-boot
On Fri, Jan 20, 2023 at 15:11, Simon Glass <sjg@chromium.org> wrote:
> Hi Joost,
>
> On Fri, 20 Jan 2023 at 15:00, Joost van Zwieten <joost@diskos.nl>
> wrote:
>>
>>
>>
>> On Fri, Jan 13, 2023 at 11:00, Simon Glass <sjg@chromium.org> wrote:
>> > Hi Joost,
>> >
>> > On Mon, 9 Jan 2023 at 06:31, Joost van Zwieten <joost@diskos.nl>
>> > wrote:
>> >>
>> >> Dear maintainers,
>> >>
>> >> U-Boot on my Odroid U2 fails to initialize as of commit
>> >> e44d7e73fe0d649693d8d0a110cd7632bc919273 (introduced after
>> >> v2022.10). I
>> >> get the following output:
>> >>
>> >> U-Boot 2022.10-00565-ge44d7e73fe-dirty (Jan 09 2023 -
>> 01:04:19
>> >> +0100)
>> >>
>> >> CPU: Exynos4412 @ 1 GHz
>> >> Model: Odroid based on Exynos4412
>> >> Type: u3
>> >> DRAM: 2 GiB
>> >> Core: 101 devices, 12 uclasses, devicetree: separate
>> >> LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling
>> >> LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling
>> >> LDO21@TFLASH_2.8V: set 2800000 uV; enabling
>> >> MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
>> >> Loading Environment from MMC... *** Warning - bad CRC, using
>> >> default environment
>> >>
>> >> cros-ec communications failure -96
>> >>
>> >> Please reset with Power+Refresh
>> >>
>> >> Cannot init cros-ec device
>> >> resetting ...
>> >>
>> >> This repeats indefinitely. I'm building U-Boot using the default
>> >> config
>> >> for board `odroid` and boot the Odroid from an SD card with
>> firmware
>> >> (`bl1`, `bl2` and `tzsw`) from Hardkernel's clone of the u-boot
>> >> repository [1]. There are no peripherals connected apart from
>> the SD
>> >> card and the serial console. Please let me know if you need more
>> >> information.
>> >
>> > board_late_init() is presumably enabled with
>> CONFIG_BOARD_LATE_INIT
>> > and the code in board/samsung/common/board.c is being called.
>> >
>> > -96 is -EPFNOSUPPORT which means that the CROS_EC uclass is
>> missing.
>> >
>> > So either enable CROS_EC so you have the uclass, or disable
>> > BOARD_LATE_INIT so it doesn't matter.
>> >
>> >>
>> >> Best, Joost
>> >>
>> >> [1]:
>> >>
>> >>
>> https://github.com/hardkernel/u-boot/tree/33e05ffb159141b640571e91470172d83a2a1273/sd_fuse
>> >>
>> >>
>> >
>> > Regards,
>> > Simon
>>
>> Hi Simon,
>>
>> Thanks. Both solutions work. With `CROS_EC` enabled
>> `uclass_first_device_err(UCLASS_CROS_EC, &dev)` returns `ENODEV`.
>> Since
>> `board_late_init()` seems to do legitimate work for this board
>> (defining the `mmcbootdev` environment variable) I think enabling
>> `CROS_EC` is the way to go. Should this be part of the defconfig for
>> odroid? If so, I can send a patch.
>
> Yes that seems OK to me.
>
> Regards,
> Simon
I've send a patch.
I'm still a bit puzzled by this problem, though. Is it correct that
`uclass_first_device_err(UCLASS_CROS_EC, ...)` always returns
`-EPFNOSUPPORT` when `CROS_EC` is disabled in the `.config`? If so, I
don't see how U-Boot is going to function properly on any board that
hits `board_late_init()` (board/samsung/common/board.c) with
`BOARD_LATE_INIT=y` and `CROS_EC` undefined and perhaps the best
solution is to run the CROS_EC related statements only if `CROS_EC` is
actually defined. I'm not sure about the implications of this proposal
further down the road, though.
Best, Joost
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-01-21 21:04 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-09 9:11 reset-loop on Odroid U2: cros-ec communications failure Joost van Zwieten
2023-01-13 18:00 ` Simon Glass
2023-01-20 22:00 ` Joost van Zwieten
2023-01-20 22:11 ` Simon Glass
2023-01-21 21:04 ` Joost van Zwieten
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox