Hi Rajesh, On 13 June 2016 at 22:09, Rajesh Bhagat <rajesh.bha...@nxp.com> wrote: > > >> -----Original Message----- >> From: s...@google.com [mailto:s...@google.com] On Behalf Of Simon Glass >> Sent: Friday, June 10, 2016 6:05 AM >> To: Rajat Srivastava <rajat.srivast...@nxp.com> >> Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Lukasz Majewski >> <l.majew...@samsung.com>; Marek VaĊĦut <ma...@denx.de>; Albert ARIBAUD >> <albert.u.b...@aribaud.net>; Prabhakar Kushwaha <prabha...@freescale.com>; >> york sun <york....@nxp.com>; Mingkai Hu <mingkai...@nxp.com>; Rajesh Bhagat >> <rajesh.bha...@nxp.com>; Michal Simek <michal.si...@xilinx.com>; >> felipe.ba...@linux.intel.com >> Subject: Re: [PATCH v2 2/4] usb: dwc3: Add helper functions to enable >> snooping and >> burst settings >> >> Hi, >> >> On 6 June 2016 at 03:16, Rajat Srivastava <rajat.srivast...@nxp.com> wrote: >> > Adds helper functions to enable snooping and outstanding burst beat >> > settings. >> > >> > Signed-off-by: Rajat Srivastava <rajat.srivast...@nxp.com> >> > Signed-off-by: Rajesh Bhagat <rajesh.bha...@nxp.com> >> > --- >> > Changes in v2: >> > - Removes SoC specific flags and added helper functions >> > >> > drivers/usb/dwc3/core.c | 45 >> > +++++++++++++++++++++++++++++++++++++++++++++ >> > drivers/usb/dwc3/core.h | 7 +++++++ >> > 2 files changed, 52 insertions(+) >> > >> > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index >> > 85cc96a..0b3c596 100644 >> > --- a/drivers/usb/dwc3/core.c >> > +++ b/drivers/usb/dwc3/core.c >> > @@ -599,6 +599,51 @@ static void dwc3_core_exit_mode(struct dwc3 *dwc) >> > >> > #define DWC3_ALIGN_MASK (16 - 1) >> > >> > +void dwc3_core_incr_burst_enable(int index, int btype_incr_val, >> > + int breq_limit) { >> > + struct dwc3 *dwc; >> > + u32 reg; >> > + >> > + list_for_each_entry(dwc, &dwc3_list, list) { > > Hello Simon, > >> >> Ick - can this be converted to use driver model? >> > > We have not moved to use driver model yet :( . Is it possible to pass these > register settings by some other mechanism ?
Not that I know of - is there any reason not to convert to driver model now? > > Best Regards, > Rajesh Bhagat > >> > + if (dwc->index != index) >> > + continue; >> > + >> > + /* >> > + * Change burst beat and outstanding pipelined >> > + * transfers requests >> > + */ >> > + reg = dwc3_readl(dwc->regs, DWC3_GSBUSCFG0); >> > + reg = (reg & ~DWC3_INCR_BTYPE_MASK) | btype_incr_val; >> > + dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, reg); >> > + >> > + reg = dwc3_readl(dwc->regs, DWC3_GSBUSCFG1); >> > + reg = (reg & ~DWC3_BREQ_LIMIT_MASK) | (breq_limit << 8); >> > + dwc3_writel(dwc->regs, DWC3_GSBUSCFG1, reg); >> > + break; >> > + } >> > +} >> > + >> > +void dwc3_core_set_snooping(int index, bool snoop) { >> > + struct dwc3 *dwc; >> > + u32 reg; >> > + >> > + list_for_each_entry(dwc, &dwc3_list, list) { >> > + if (dwc->index != index) >> > + continue; >> > + >> > + /* Enable/Disable snooping */ >> > + reg = dwc3_readl(dwc->regs, DWC3_GSBUSCFG0); >> > + if (snoop) >> > + reg = reg | DWC3_SNOOP_ENABLE; >> > + else >> > + reg = reg & ~DWC3_SNOOP_ENABLE; >> > + dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, reg); >> > + break; >> > + } >> > +} >> > + >> > /** >> > * dwc3_uboot_init - dwc3 core uboot initialization code >> > * @dwc3_dev: struct dwc3_device containing initialization data diff >> > --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index >> > 72d2fcd..455e7fa 100644 >> > --- a/drivers/usb/dwc3/core.h >> > +++ b/drivers/usb/dwc3/core.h >> > @@ -593,6 +593,13 @@ struct dwc3_hwparams { >> > /* HWPARAMS7 */ >> > #define DWC3_RAM1_DEPTH(n) ((n) & 0xffff) >> > >> > +/* GSBUSCFG0 */ >> > +#define DWC3_SNOOP_ENABLE (0x22220000) >> > +#define DWC3_INCR_BTYPE_MASK (0xff) >> > + >> > +/* GSBUSCFG1 */ >> > +#define DWC3_BREQ_LIMIT_MASK (0xf00) >> > + >> > struct dwc3_request { >> > struct usb_request request; >> > struct list_head list; >> > -- >> > 2.6.2.198.g614a2ac >> > >> >> Regards, >> Simon Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot