* [U-Boot] [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP support @ 2015-04-23 17:03 Ramneek Mehresh 2015-04-24 3:29 ` Marek Vasut 0 siblings, 1 reply; 4+ messages in thread From: Ramneek Mehresh @ 2015-04-23 17:03 UTC (permalink / raw) To: u-boot Enable USB IP support for both EHCI and XHCI for ls1021atwr platform Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> --- include/configs/ls1021atwr.h | 36 ++++++++++++++++++++++++++++++++++++ include/linux/usb/xhci-fsl.h | 5 +++++ 2 files changed, 41 insertions(+) diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h index a13876b..f208638 100644 --- a/include/configs/ls1021atwr.h +++ b/include/configs/ls1021atwr.h @@ -28,6 +28,42 @@ #define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE /* + * USB + */ + +/* EHCI Support - disbaled by default as + * there is no signal coming out of soc on + * this board for this controller. However, + * the silicon still has this controller, + * and anyone can use this controller by + * taking signals out on their board. + */ +/*#define CONFIG_HAS_FSL_DR_USB*/ + +#ifdef CONFIG_HAS_FSL_DR_USB +#define CONFIG_USB_EHCI +#define CONFIG_USB_EHCI_FSL +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET +#endif + +/* XHCI Support - enabled by default */ +#define CONFIG_HAS_FSL_XHCI_USB + +#ifdef CONFIG_HAS_FSL_XHCI_USB +#define CONFIG_USB_XHCI_FSL +#define CONFIG_USB_XHCI_DWC3 +#define CONFIG_USB_XHCI +#define CONFIG_USB_MAX_CONTROLLER_COUNT 1 +#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 +#endif + +#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_XHCI_USB) +#define CONFIG_CMD_USB +#define CONFIG_USB_STORAGE +#define CONFIG_CMD_EXT2 +#endif + +/* * Generic Timer Definitions */ #define GENERIC_TIMER_CLK 12500000 diff --git a/include/linux/usb/xhci-fsl.h b/include/linux/usb/xhci-fsl.h index 8eaab2c..329abf7 100644 --- a/include/linux/usb/xhci-fsl.h +++ b/include/linux/usb/xhci-fsl.h @@ -46,6 +46,11 @@ #define USBOTGSS_IRQ_SET_1_OEVT_EN BIT(16) #define USBOTGSS_IRQ_SET_1_DMADISABLECLR_EN BIT(17) +#ifdef CONFIG_LS102XA +#define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_LS102XA_XHCI_USB1_ADDR +#define CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 +#endif + struct fsl_xhci { struct xhci_hccr *hcd; struct dwc3 *dwc3_reg; -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP support 2015-04-23 17:03 [U-Boot] [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP support Ramneek Mehresh @ 2015-04-24 3:29 ` Marek Vasut 2015-04-27 5:44 ` Ramneek Mehresh 0 siblings, 1 reply; 4+ messages in thread From: Marek Vasut @ 2015-04-24 3:29 UTC (permalink / raw) To: u-boot On Thursday, April 23, 2015 at 07:03:14 PM, Ramneek Mehresh wrote: > Enable USB IP support for both EHCI and XHCI for > ls1021atwr platform > > Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> > --- > include/configs/ls1021atwr.h | 36 ++++++++++++++++++++++++++++++++++++ > include/linux/usb/xhci-fsl.h | 5 +++++ > 2 files changed, 41 insertions(+) > > diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h > index a13876b..f208638 100644 > --- a/include/configs/ls1021atwr.h > +++ b/include/configs/ls1021atwr.h > @@ -28,6 +28,42 @@ > #define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE > > /* > + * USB > + */ > + > +/* EHCI Support - disbaled by default as > + * there is no signal coming out of soc on > + * this board for this controller. However, > + * the silicon still has this controller, > + * and anyone can use this controller by > + * taking signals out on their board. > + */ Multiline comment again ;-) > +/*#define CONFIG_HAS_FSL_DR_USB*/ > + > +#ifdef CONFIG_HAS_FSL_DR_USB > +#define CONFIG_USB_EHCI > +#define CONFIG_USB_EHCI_FSL > +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET > +#endif > + > +/* XHCI Support - enabled by default */ > +#define CONFIG_HAS_FSL_XHCI_USB > + > +#ifdef CONFIG_HAS_FSL_XHCI_USB > +#define CONFIG_USB_XHCI_FSL > +#define CONFIG_USB_XHCI_DWC3 > +#define CONFIG_USB_XHCI > +#define CONFIG_USB_MAX_CONTROLLER_COUNT 1 > +#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 > +#endif > + > +#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_XHCI_USB) > +#define CONFIG_CMD_USB > +#define CONFIG_USB_STORAGE > +#define CONFIG_CMD_EXT2 > +#endif > + > +/* > * Generic Timer Definitions > */ > #define GENERIC_TIMER_CLK 12500000 > diff --git a/include/linux/usb/xhci-fsl.h b/include/linux/usb/xhci-fsl.h > index 8eaab2c..329abf7 100644 > --- a/include/linux/usb/xhci-fsl.h > +++ b/include/linux/usb/xhci-fsl.h > @@ -46,6 +46,11 @@ > #define USBOTGSS_IRQ_SET_1_OEVT_EN BIT(16) > #define USBOTGSS_IRQ_SET_1_DMADISABLECLR_EN BIT(17) > > +#ifdef CONFIG_LS102XA > +#define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_LS102XA_XHCI_USB1_ADDR > +#define CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 Do you need to define this _bogus_ address at all? If so, then the driver which depends on this is broken. Why can't you just define a list of addresses instead ? You would be able to use ARRAY_SIZE() in the driver to determine how many controllers there are then. This is how it would look like: #define CONFIG_FOO_BAR_ADDRS { USB1_ADDR, USB2_ADDR, ..., USBn_ADDR } In the driver, there'd be: <type> addrs[] = CONFIG_FOO_BAR_ADDRS; > +#endif > + > struct fsl_xhci { > struct xhci_hccr *hcd; > struct dwc3 *dwc3_reg; ^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP support 2015-04-24 3:29 ` Marek Vasut @ 2015-04-27 5:44 ` Ramneek Mehresh 2015-04-27 12:08 ` Marek Vasut 0 siblings, 1 reply; 4+ messages in thread From: Ramneek Mehresh @ 2015-04-27 5:44 UTC (permalink / raw) To: u-boot > -----Original Message----- > From: Marek Vasut [mailto:marex at denx.de] > Sent: Friday, April 24, 2015 9:00 AM > To: Mehresh Ramneek-B31383 > Cc: u-boot at lists.denx.de > Subject: Re: [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP > support > > On Thursday, April 23, 2015 at 07:03:14 PM, Ramneek Mehresh wrote: > > Enable USB IP support for both EHCI and XHCI for ls1021atwr platform > > > > Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> > > --- > > include/configs/ls1021atwr.h | 36 > > ++++++++++++++++++++++++++++++++++++ > > include/linux/usb/xhci-fsl.h | 5 +++++ > > 2 files changed, 41 insertions(+) > > > > diff --git a/include/configs/ls1021atwr.h > > b/include/configs/ls1021atwr.h index a13876b..f208638 100644 > > --- a/include/configs/ls1021atwr.h > > +++ b/include/configs/ls1021atwr.h > > @@ -28,6 +28,42 @@ > > #define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE > > > > /* > > + * USB > > + */ > > + > > +/* EHCI Support - disbaled by default as > > + * there is no signal coming out of soc on > > + * this board for this controller. However, > > + * the silicon still has this controller, > > + * and anyone can use this controller by > > + * taking signals out on their board. > > + */ > > Multiline comment again ;-) > > > +/*#define CONFIG_HAS_FSL_DR_USB*/ > > + > > +#ifdef CONFIG_HAS_FSL_DR_USB > > +#define CONFIG_USB_EHCI > > +#define CONFIG_USB_EHCI_FSL > > +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET #endif > > + > > +/* XHCI Support - enabled by default */ #define > > +CONFIG_HAS_FSL_XHCI_USB > > + > > +#ifdef CONFIG_HAS_FSL_XHCI_USB > > +#define CONFIG_USB_XHCI_FSL > > +#define CONFIG_USB_XHCI_DWC3 > > +#define CONFIG_USB_XHCI > > +#define CONFIG_USB_MAX_CONTROLLER_COUNT 1 > > +#define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 > > +#endif > > + > > +#if defined(CONFIG_HAS_FSL_DR_USB) || > > +defined(CONFIG_HAS_FSL_XHCI_USB) #define CONFIG_CMD_USB > #define > > +CONFIG_USB_STORAGE #define CONFIG_CMD_EXT2 #endif > > + > > +/* > > * Generic Timer Definitions > > */ > > #define GENERIC_TIMER_CLK 12500000 > > diff --git a/include/linux/usb/xhci-fsl.h > > b/include/linux/usb/xhci-fsl.h index 8eaab2c..329abf7 100644 > > --- a/include/linux/usb/xhci-fsl.h > > +++ b/include/linux/usb/xhci-fsl.h > > @@ -46,6 +46,11 @@ > > #define USBOTGSS_IRQ_SET_1_OEVT_EN BIT(16) > > #define USBOTGSS_IRQ_SET_1_DMADISABLECLR_EN BIT(17) > > > > +#ifdef CONFIG_LS102XA > > +#define CONFIG_SYS_FSL_XHCI_USB1_ADDR > > +CONFIG_SYS_LS102XA_XHCI_USB1_ADDR #define > > +CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 > > Do you need to define this _bogus_ address at all? If so, then the driver > which depends on this is broken. Why can't you just define a list of addresses > instead ? You would be able to use ARRAY_SIZE() in the driver to determine > how many controllers there are then. This is how it would look like: > > #define CONFIG_FOO_BAR_ADDRS { USB1_ADDR, USB2_ADDR, ..., > USBn_ADDR } > > In the driver, there'd be: > > <type> addrs[] = CONFIG_FOO_BAR_ADDRS; > I agree to use an array for defining list of controller addresses. However, the no. of controller(s) to be initialized on a particular platform is determined by CONFIG_USB_MAX_CONTROLLER_COUNT used in usb_init() function. This macro is defined in each platform file, and defines the index argument passed on to xhci_hcd_init(). There may be some platform on which we can have more than one controller in soc, but only one is used (exposed via external connector). Hence, CONFIG_USB_MAX_CONTROLLER_COUNT is defined by platform header file. Hence, I can assign controller address on the basis of address: struct fsl_xhci *ctx = &fsl_xhci; ctx->hcd = addrs[index]; > > +#endif > > + > > struct fsl_xhci { > > struct xhci_hccr *hcd; > > struct dwc3 *dwc3_reg; ^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP support 2015-04-27 5:44 ` Ramneek Mehresh @ 2015-04-27 12:08 ` Marek Vasut 0 siblings, 0 replies; 4+ messages in thread From: Marek Vasut @ 2015-04-27 12:08 UTC (permalink / raw) To: u-boot On Monday, April 27, 2015 at 07:44:15 AM, Ramneek Mehresh wrote: [...] > > > diff --git a/include/linux/usb/xhci-fsl.h > > > b/include/linux/usb/xhci-fsl.h index 8eaab2c..329abf7 100644 > > > --- a/include/linux/usb/xhci-fsl.h > > > +++ b/include/linux/usb/xhci-fsl.h > > > @@ -46,6 +46,11 @@ > > > > > > #define USBOTGSS_IRQ_SET_1_OEVT_EN BIT(16) > > > #define USBOTGSS_IRQ_SET_1_DMADISABLECLR_EN BIT(17) > > > > > > +#ifdef CONFIG_LS102XA > > > +#define CONFIG_SYS_FSL_XHCI_USB1_ADDR > > > +CONFIG_SYS_LS102XA_XHCI_USB1_ADDR #define > > > +CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 > > > > Do you need to define this _bogus_ address at all? If so, then the driver > > which depends on this is broken. Why can't you just define a list of > > addresses instead ? You would be able to use ARRAY_SIZE() in the driver > > to determine how many controllers there are then. This is how it would > > look like: > > > > #define CONFIG_FOO_BAR_ADDRS { USB1_ADDR, USB2_ADDR, ..., > > USBn_ADDR } > > > > In the driver, there'd be: > > > > <type> addrs[] = CONFIG_FOO_BAR_ADDRS; > > I agree to use an array for defining list of controller addresses. However, > the no. of controller(s) to be initialized on a particular platform is > determined by CONFIG_USB_MAX_CONTROLLER_COUNT used in usb_init() function. > This macro is defined in each platform file, and defines the index > argument passed on to xhci_hcd_init(). There may be some platform on which > we can have more than one controller in soc, but only one is used (exposed > via external connector). Hence, CONFIG_USB_MAX_CONTROLLER_COUNT is > defined by platform header file. Ah right, sorry. Keep the CONFIG_USB_MAX_CONTROLLER_COUNT macro then. > Hence, I can assign controller address on the basis of address: > struct fsl_xhci *ctx = &fsl_xhci; > ctx->hcd = addrs[index]; Yeah Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-27 12:08 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-23 17:03 [U-Boot] [PATCH 3/4][v2]include:configs:ls1021atwr: Enable USB IP support Ramneek Mehresh 2015-04-24 3:29 ` Marek Vasut 2015-04-27 5:44 ` Ramneek Mehresh 2015-04-27 12:08 ` Marek Vasut
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox