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

Marek Vasut
2013-08-03T01:45:24Z

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@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