[U-Boot] [PATCH] serial: Make full device search optional

Derald Woods woods.technical at gmail.com
Tue Feb 13 00:00:15 UTC 2018


On Mon, Feb 5, 2018 at 7:13 AM, Derald Woods <woods.technical at gmail.com>
wrote:

> On Mon, Feb 5, 2018 at 3:42 AM, Alexander Graf <agraf at suse.de> wrote:
>
>>
>>
>> On 05.02.18 01:39, Derald Woods wrote:
>> > On Tue, Jan 30, 2018 at 7:34 AM, Alexander Graf <agraf at suse.de
>> > <mailto:agraf at suse.de>> wrote:
>> >
>> >     On 01/30/2018 02:09 PM, Derald Woods wrote:
>> >
>> >         On Jan 30, 2018 3:17 AM, "Alexander Graf" <agraf at suse.de
>> >         <mailto:agraf at suse.de> <mailto:agraf at suse.de
>> >         <mailto:agraf at suse.de>>> wrote:
>> >
>> >             On 01/30/2018 12:41 AM, Derald D. Woods wrote:
>> >
>> >                 On Mon, Jan 29, 2018 at 07:46:09AM -0600, Derald Woods
>> >         wrote:
>> >
>> >                     On Jan 29, 2018 6:57 AM, "Alexander Graf"
>> >         <agraf at suse.de <mailto:agraf at suse.de>
>> >                     <mailto:agraf at suse.de <mailto:agraf at suse.de>>>
>> wrote:
>> >
>> >                     Commit 608b0c4ad4e5ec0c ("serial: Use next serial
>> device
>> >                     if probing fails")
>> >                     added code to search for more serial devices if the
>> >                     default one was not
>> >                     probed correctly.
>> >
>> >                     Unfortunately, that breaks omap3_evm. So while
>> >                     investigating why that is
>> >                     the case, let's disable the full search for
>> everyone but
>> >                     bcm283x where it
>> >                     is needed.
>> >
>> >                     Fixes: 608b0c4ad4e5ec0c ("serial: Use next serial
>> device
>> >                     if probing fails")
>> >                     Reported-by: Derald D. Woods
>> >         <woods.technical at gmail.com <mailto:woods.technical at gmail.com>
>> >                     <mailto:woods.technical at gmail.com
>> >         <mailto:woods.technical at gmail.com>>>
>> >                     Signed-off-by: Alexander Graf <agraf at suse.de
>> >         <mailto:agraf at suse.de>
>> >                     <mailto:agraf at suse.de <mailto:agraf at suse.de>>>
>> >
>> >                     ---
>> >
>> >                     Derald, could you please test this patch and verify
>> it
>> >                     does indeed unbreak
>> >                     omap3_evm?
>> >
>> >                 The omap3_evm boots now with this patch applied on
>> >         master. If
>> >                 I enable
>> >                 SERIAL_SEARCH_ALL, it does not boot. I always build
>> cleanly
>> >                 using the
>> >                 default config only. On failure, there is no console
>> >                 input/output and
>> >                 the board unresponsive.
>> >
>> >
>> >             So SPL is already broken? Can you try a known working SPL
>> with
>> >             SERIAL_SEARCH_ALL=y U-Boot payload on top? Does that work?
>> >
>> >
>> >         I will give that path a try and see what I can discover. Again,
>> >         it will be later today or tomorrow before I can get to this.
>> >         This is why I asked what should the board code actually look
>> >         like. As the omap3_evm is ahead of some other OMAP34XX boards
>> >         currently, a good working example would be helpful. If omap3_evm
>> >         becomes the example, let's make it a good one.
>> >
>> >
>> >     If you want to make it a good example, don't disable
>> >     CONFIG_EFI_LOADER :).
>> >
>> >     But really, the only major difference I saw between beagle and evm
>> >     was the fact that evm used DM in SPL. I patched that up locally (had
>> >     to remove ext support as the binary became too big otherwise), but
>> >     that didn't show the issue either. So we'll have to wait on your
>> test
>> >     ​s.
>> >
>> >
>> >
>> > ​It looks like some compiler issue is causing the problem. I was using
>> > GCC 7.2.0. When I go back to GCC 6.4.0 the board boots with
>> > SERIAL_SEARCH_ALL=y. I also verified this by enabling SPL_DM_SERIAL on
>> > 'omap3_beagle' and booting with SERIAL_SEARCH_ALL=y. Both GCC versions
>> > compiled without error. GCC 6.4.0 is the compiler version that is
>> > working for me now. The actual offending generated code will take more
>> > time, for me, to sort through.
>>
>> Can you somehow make it break with omap3_beagle? I have one of those and
>> could then help debug.
>>
>
>
> ​No. Not with the current default configurations. I have both the
> beagleboard(3530) and beagleboard-xM(3730) at home. Their configuration
> currently does not enable DM_SERIAL/SPL_DM_SERIAL. I just recently added
> OF_CONTROL for them on U-Boot master. The code path is different for
> without DM_SERIAL. Enabling DM_SERIAL will aid in comparison, but will
> require dropping some config options to make it fit into SRAM. The '-xM'
> does not have NAND. On the omap3_evm, I enable UBI in the default config.
> So their are at least a couple of options that would not apply to both
> beagle variants. There should probably be a separate default config file
> for each variant. The 3530 beagle variant would/should be identical to the
> omap3_evm. They are somewhat related from a historical perspective. I will
> put together an update to the default configurations this week. Once that
> is done, I will be able to make a true comparison. (omap3_evm has a 3730
> variant also)
>
> Derald
>


​The issue appears to have been related to the use of
CONFIG_SPL_SYS_MALLOC_SIMPLE and CONFIG_SYS_MALLOC_F_LEN in the default
config. The RFC patch series is given below:

https://lists.denx.de/pipermail/u-boot/2018-February/320152.html

​The BeagleBoard config never attempted to use CONFIG_SPL_SYS_MALLOC_SIMPLE.

​Derald​


More information about the U-Boot mailing list