[U-Boot] [PATCH v3 1/2] imx: add macro to detect whether USB PHY is active

Stefan Agner stefan at agner.ch
Wed Sep 13 19:47:49 UTC 2017


On 2017-09-13 02:19, Stefano Babic wrote:
> Hi Eric, Stefan,
> 
> On 13/09/2017 02:30, Eric Nelson wrote:
>> Hi Stefan,
>>
>> I hate to be fussy about this, but I don't think I saw a reply
>> to my earlier comment about the term "USB PHY".
>>
>> https://lists.denx.de/pipermail/u-boot/2017-September/305123.html
>>
>> Since i.MX6 SoCs have USB **Host** Phy's as well as the USB OTG Phy,
>> this patch is a bit misleading.
>>
>> There's no reference to OTG anywhere in this or patch 2.
>>

Hm, sorry I missed that.

> 
> To be consistent with the names, Eric is right. We have PHY0 for OTG and
> PHY1 for Host. If you still want to use as name is_usbphy_active, then
> this should take as parameter the phy number, or you switch to a "otg"
> name to ensure that it is only for the OTG interface.

For the registers itself I followed the notation used in chapter 66 and
arch/arm/include/asm/arch-mx6/imx-regs.h.

Renaming the function macro makes sense I agree.

The USB serial downloader only works with the OTG USB PHY anyway, so I
will rename it. I like to have USB still in there, how about:

is_usbotg_phy_active()

--
Stefan

> 
> Best regards,
> Stefano
> 
>> On 09/12/2017 04:54 PM, Stefan Agner wrote:
>>> From: Stefan Agner <stefan.agner at toradex.com>
>>>
>>> This macro allows to detect whether the USB PHY is active. This
>>> is helpful to detect if the boot ROM has previously started the
>>> USB serial downloader.
>>>
>>> The idea is taken from the mfgtool support in the NXP U-Boot:
>>> http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/?h=imx_v2016.03_4.1.15_2.0.0_ga&id=a352ed3c5184b95c4c9f7468f5fbb5f43de5e412
>>>
>>>
>>> Signed-off-by: Stefan Agner <stefan.agner at toradex.com>
>>> Acked-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
>>> Tested-by: Fabio Estevam <fabio.estevam at nxp.com>
>>> ---
>>>
>>> Changes in v3: None
>>> Changes in v2:
>>> - Move macro to sys_proto.h
>>> - Renamed from is_boot_from_usb() to is_usbphy_active()
>>> - Use defines for register offset and field
>>> - Remove tab after define
>>> - Remove comment since the actual "magic" is happening and
>>>    documented at usage side
>>>
>>>   arch/arm/include/asm/arch-mx6/sys_proto.h | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/arch/arm/include/asm/arch-mx6/sys_proto.h
>>> b/arch/arm/include/asm/arch-mx6/sys_proto.h
>>> index 14f5d948c9..9d4b1d6768 100644
>>> --- a/arch/arm/include/asm/arch-mx6/sys_proto.h
>>> +++ b/arch/arm/include/asm/arch-mx6/sys_proto.h
>>> @@ -6,3 +6,10 @@
>>>    */
>>>     #include <asm/mach-imx/sys_proto.h>
>>> +
>>> +#define USBPHY_PWD        0x00000000
>>> +
>>> +#define USBPHY_PWD_RXPWDRX    (1 << 20) /* receiver block power down */
>>> +
>>> +#define is_usbphy_active(void)    (!(readl(USB_PHY0_BASE_ADDR +
>>> USBPHY_PWD) & \
>>> +                   USBPHY_PWD_RXPWDRX))
>>>
>>
>> Regards,
>>
>>
>> Eric


More information about the U-Boot mailing list