[U-Boot] [PATCH V2] imx: mx7: Add support for USB and normal boot modes

Eric Nelson eric at nelint.com
Thu Aug 31 22:53:37 UTC 2017


Thanks Troy (and Peng),

On 08/31/2017 02:28 PM, Troy Kisky wrote:
> On 8/31/2017 6:56 AM, Fabio Estevam wrote:
>> On Thu, Aug 31, 2017 at 10:35 AM, Fabio Estevam <festevam at gmail.com> wrote:
>>> On Wed, Aug 30, 2017 at 7:13 PM, Eric Nelson <eric at nelint.com> wrote:
>>>> This adds support for two additional boot modes on the i.MX7D SoC, which
>>>> is most useful when doing U-Boot development on this chip.
>>>>
>>>> 1. "bmode usb" can be used to force the ROM boot loader's serial
>>>> 2. "bmode normal" can be used to revert to the normal boot mode
>>>>     as specified by fuses and BOOT_MODE pins
>>>>
>>>> Signed-off-by: Eric Nelson <eric at nelint.com>
>>>
>>> I tried testing your patch on a imx7d sabresd, but it seems there is
>>> an issue with bmode that is unrelated to your patch.
>>>
>>> I also did:
>>>
>>> diff --git a/configs/mx7dsabresd_defconfig b/configs/mx7dsabresd_defconfig
>>> index 8f2e33a..c70fde8 100644
>>> --- a/configs/mx7dsabresd_defconfig
>>> +++ b/configs/mx7dsabresd_defconfig
>>> @@ -5,7 +5,6 @@ CONFIG_VIDEO=y
>>>   # CONFIG_ARMV7_VIRT is not set
>>>   CONFIG_IMX_RDC=y
>>>   CONFIG_IMX_BOOTAUX=y
>>> -# CONFIG_CMD_BMODE is not set
>>>   CONFIG_DEFAULT_DEVICE_TREE="imx7d-sdb"
>>>   CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx7dsabresd/imximage.cfg"
>>>   CONFIG_BOOTDELAY=3
>>>
>>> so that bmode command can be added.
>>>
>>> However I am getting:
>>>
>>> => bmode usb
>>> bmode - <NULL>
>>
>> I missed to add 'add_board_boot_modes(board_boot_modes);'
>>
>> Now I get:
>>
>> => bmode usb
>> resetting ...
>>
>>
>> U-Boot 2017.09-rc2-36996-g63af4b0-dirty (Aug 31 2017 - 10:53:12 -0300)
>>
>> CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
>> CPU:   Commercial temperature grade (0C to 95C) at 41C

Note the POR here (I would expect it to be WDOG).

>> Reset cause: POR
>> Model: Freescale i.MX7 SabreSD Board
>> Board: i.MX7D SABRESD in non-secure mode
>> DRAM:  1 GiB

<snip>

> 
> I got this response from Peng when I asked him back in March of last year.
> 
>> For now, bmode does not work. Since bmode use warm reset, but we now use
>> wdog to directly reset pmic. So bmode will not work.
>>
>> Please check your code to see whether your board connect WDOG_B to pmic reset pin and have wdog
> pinmux settings.
>>
>> Thanks,
>> Peng.
> 
> Maybe if you change the WDOG pinmux it might work ?
> 

The mx7dsabresd has GPIO1_IO00 configured for WDOG, and overriding it
does get rid of the POR.

Unfortunately, it also doesn't allow "bmode usb" to function.

=> mm 302c0000
302c0000: 00000003 ? 0
302c0004: 00000000 ? x
=> bmode usb
resetting ...

(crickets here)

Based on this:

Rejected-by: Eric Nelson <eric at nelint.com>


More information about the U-Boot mailing list