[U-Boot] [PATCH V3 01/20] Add functions for use with i.mx6 otg udc

Marek Vasut marex at denx.de
Sat Aug 3 03:45:24 CEST 2013


Dear Troy Kisky,

> On 8/2/2013 3:10 PM, Marek Vasut wrote:
> > Dear Troy Kisky,
> > 
> >> On 8/2/2013 3:48 AM, Marek Vasut wrote:
> >>> Dear Troy Kisky,
> >>> 
> >>>> Add  functions for use with mx6 soc
> >>>> void otg_enable(void);
> >>>> void reset_usb_phy1(void);
> >>>> 
> >>>> Signed-off-by: Troy Kisky <troy.kisky at boundarydevices.com>
> >>>> ---
> >>>> 
> >>>>    arch/arm/cpu/armv7/mx6/soc.c              | 47
> >>>> 
> >>>> +++++++++++++++++++++++++++++++
> >>>> arch/arm/include/asm/arch-mx6/crm_regs.h
> >>>> 
> >>>> |  3 ++
> >>>> |  
> >>>>    arch/arm/include/asm/arch-mx6/imx-regs.h  | 17 +++++++++++
> >>>>    arch/arm/include/asm/arch-mx6/sys_proto.h |  4 +++
> >>>>    4 files changed, 71 insertions(+)
> >>> 
> >>> [...]
> >>> 
> >>>> diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h
> >>>> b/arch/arm/include/asm/arch-mx6/imx-regs.h index 5d6bccb..3eed4d8
> >>>> 100644 --- a/arch/arm/include/asm/arch-mx6/imx-regs.h
> >>>> +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h
> >>>> @@ -419,6 +419,23 @@ struct cspi_regs {
> >>>> 
> >>>>    	ECSPI5_BASE_ADDR
> >>>>    
> >>>>    #endif
> >>>> 
> >>>> +struct set_clr_tog {
> >>>> +	u32 val;
> >>>> +	u32 set;
> >>>> +	u32 clr;
> >>>> +	u32 tog;
> >>>> +};
> >>>> +
> >>>> +struct usbphy {
> >>>> +	struct set_clr_tog	pwd;
> >>>> +	struct set_clr_tog	tx;
> >>>> +	struct set_clr_tog	rx;
> >>>> +	struct set_clr_tog	ctrl;
> >>>> +};
> >>> 
> >>> Maybe you want to keep the naming here consistent with MX28 and MX6?
> >>> 
> >>> See arch/arm/include/asm/imx-common/regs-common.h
> >>> 
> >>> [...]
> >>> 
> >>> Best regards,
> >>> Marek Vasut
> >> 
> >> Wow,  arch/arm/include/asm/imx-common/regs-common.h
> >> is damn ugly. I personally hate unions even when there is a very good
> >> reason.
> >> 
> >> Would you like to see me attempt to clean it up or do you like it the
> >> way it is
> >> since your commit started the unions ?
> > 
> > I think it works perfectly well and does exactly what it's supposed to
> > do. What's your problem with the file?
> > 
> > Best regards,
> > Marek Vasut
> 
> Why is there a union ? It looks to me like you just want to access the
> same variable
> with 2 naming strategies.

That is correct. I can either pass it further into functions as the struct 
mxs_register_32 name_reg or I can directly access it as name_set/_clr/_tog . 
Works just fine.

Best regards,
Marek Vasut


More information about the U-Boot mailing list