[U-Boot] [PATCH v4 0/7] am57xx: cl-som-am57x: fix usb

Various USB related comits for the CL-SOM-AM57x module.
--- V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)

The symbol CONFIG_DRA7XX is needed for Kconfig conditions.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il --- V2 -> V3: new commit V3 -> V4: move the DRA7XX symbol introduction to arch/arm/mach-omap2/omap5/Kconfig
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 2 -- include/configs/dra7xx_evm.h | 2 -- scripts/config_whitelist.txt | 1 - 5 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/arch/arm/mach-omap2/omap5/Kconfig b/arch/arm/mach-omap2/omap5/Kconfig index c5edc7c..179e2b7 100644 --- a/arch/arm/mach-omap2/omap5/Kconfig +++ b/arch/arm/mach-omap2/omap5/Kconfig @@ -36,12 +36,18 @@ config SPL_SERIAL_SUPPORT config SPL_DISPLAY_PRINT default y
+config DRA7XX + bool + help + DRA7xx is an OMAP based SOC with Dual Core A-15s. + choice prompt "OMAP5 board select" optional
config TARGET_CL_SOM_AM57X bool "CompuLab CL-SOM-AM57x" + select DRA7XX
config TARGET_CM_T54 bool "CompuLab CM-T54" @@ -54,11 +60,13 @@ config TARGET_DRA7XX_EVM select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT select PHYS_64BIT + select DRA7XX
config TARGET_AM57XX_EVM bool "AM57XX" select BOARD_LATE_INIT select TI_I2C_BOARD_DETECT + select DRA7XX
endchoice
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index 3d8b996..42cd434 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -14,8 +14,6 @@
#include <environment/ti/dfu.h>
-#define CONFIG_DRA7XX - #ifdef CONFIG_SPL_BUILD #define CONFIG_IODELAY_RECALIBRATION #endif diff --git a/include/configs/cl-som-am57x.h b/include/configs/cl-som-am57x.h index e1f724b..c5f39ff 100644 --- a/include/configs/cl-som-am57x.h +++ b/include/configs/cl-som-am57x.h @@ -11,8 +11,6 @@ #ifndef __CONFIG_CL_SOM_AM57X_H #define __CONFIG_CL_SOM_AM57X_H
-#define CONFIG_DRA7XX - #define CONFIG_NR_DRAM_BANKS 2
#define CONSOLEDEV "ttyO2" diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index 549439e..beba851 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -14,8 +14,6 @@
#include <environment/ti/dfu.h>
-#define CONFIG_DRA7XX - #ifdef CONFIG_SPL_BUILD #define CONFIG_IODELAY_RECALIBRATION #endif diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index f6c9101..bbcdc41 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -805,7 +805,6 @@ CONFIG_DNP5370_EXT_WD_DISABLE CONFIG_DP_DDR_CTRL CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR CONFIG_DP_DDR_NUM_CTRLS -CONFIG_DRA7XX CONFIG_DRAM_2G CONFIG_DRAM_TIMINGS_ CONFIG_DRIVER_AT91EMAC

On Thu, Feb 23, 2017 at 03:39:35PM +0200, Uri Mashiach wrote:
The symbol CONFIG_DRA7XX is needed for Kconfig conditions.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il
Reviewed-by: Tom Rini trini@konsulko.com

On Thu, Feb 23, 2017 at 03:39:35PM +0200, Uri Mashiach wrote:
The symbol CONFIG_DRA7XX is needed for Kconfig conditions.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!

Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il --- V1 -> V2: Replace the commit "fix XHCI registers base address". V2 -> V3: Replace the commit "reintroduce the CONFIG_AM57XX symbol" V3 -> V4: Replace boolean symbols USB_XHCI_DRA7XX_INDEX0 and USB_XHCI_DRA7XX_INDEX1 with integer symbol USB_XHCI_DRA7XX_INDEX.
configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ include/linux/usb/xhci-omap.h | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 26b26cc..05f7778 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -86,6 +86,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940c..23ae2c7 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -91,6 +91,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 5129a57..3ff79fc 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -43,6 +43,15 @@ config USB_XHCI_ZYNQMP help Enables support for the on-chip xHCI controller on Xilinx ZynqMP SoCs.
+config USB_XHCI_DRA7XX_INDEX + int "DRA7XX xHCI USB index" + range 0 1 + default 0 + depends on DRA7XX + help + Select the DRA7XX xHCI USB index. + Current supported values: 0, 1. + endif # USB_XHCI_HCD
config USB_EHCI_HCD diff --git a/include/linux/usb/xhci-omap.h b/include/linux/usb/xhci-omap.h index 9de80d7..f038ddb 100644 --- a/include/linux/usb/xhci-omap.h +++ b/include/linux/usb/xhci-omap.h @@ -10,14 +10,16 @@ #ifndef _ASM_ARCH_XHCI_OMAP_H_ #define _ASM_ARCH_XHCI_OMAP_H_
-#ifdef CONFIG_TARGET_DRA7XX_EVM +#ifdef CONFIG_DRA7XX +#if CONFIG_USB_XHCI_DRA7XX_INDEX == 1 #define OMAP_XHCI_BASE 0x488d0000 #define OMAP_OCP1_SCP_BASE 0x4A081000 #define OMAP_OTG_WRAPPER_BASE 0x488c0000 -#elif defined CONFIG_TARGET_AM57XX_EVM +#elif CONFIG_USB_XHCI_DRA7XX_INDEX == 0 #define OMAP_XHCI_BASE 0x48890000 #define OMAP_OCP1_SCP_BASE 0x4A084c00 #define OMAP_OTG_WRAPPER_BASE 0x48880000 +#endif /* CONFIG_USB_XHCI_DRA7XX_INDEX == 1 */ #elif defined CONFIG_AM43XX #define OMAP_XHCI_BASE 0x483d0000 #define OMAP_OCP1_SCP_BASE 0x483E8000

On 02/23/2017 02:39 PM, Uri Mashiach wrote:
Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il
It still sucks and I'm not impressed, but Reviewed-by: Marek Vasut marex@denx.de
I'd still like a review from one of the TI guys, this will go into next release anyway, so there's still some time .
V1 -> V2: Replace the commit "fix XHCI registers base address". V2 -> V3: Replace the commit "reintroduce the CONFIG_AM57XX symbol" V3 -> V4: Replace boolean symbols USB_XHCI_DRA7XX_INDEX0 and USB_XHCI_DRA7XX_INDEX1 with integer symbol USB_XHCI_DRA7XX_INDEX.
configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ include/linux/usb/xhci-omap.h | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 26b26cc..05f7778 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -86,6 +86,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940c..23ae2c7 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -91,6 +91,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 5129a57..3ff79fc 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -43,6 +43,15 @@ config USB_XHCI_ZYNQMP help Enables support for the on-chip xHCI controller on Xilinx ZynqMP SoCs.
+config USB_XHCI_DRA7XX_INDEX
- int "DRA7XX xHCI USB index"
- range 0 1
- default 0
- depends on DRA7XX
- help
Select the DRA7XX xHCI USB index.
Current supported values: 0, 1.
endif # USB_XHCI_HCD
config USB_EHCI_HCD diff --git a/include/linux/usb/xhci-omap.h b/include/linux/usb/xhci-omap.h index 9de80d7..f038ddb 100644 --- a/include/linux/usb/xhci-omap.h +++ b/include/linux/usb/xhci-omap.h @@ -10,14 +10,16 @@ #ifndef _ASM_ARCH_XHCI_OMAP_H_ #define _ASM_ARCH_XHCI_OMAP_H_
-#ifdef CONFIG_TARGET_DRA7XX_EVM +#ifdef CONFIG_DRA7XX +#if CONFIG_USB_XHCI_DRA7XX_INDEX == 1 #define OMAP_XHCI_BASE 0x488d0000 #define OMAP_OCP1_SCP_BASE 0x4A081000 #define OMAP_OTG_WRAPPER_BASE 0x488c0000 -#elif defined CONFIG_TARGET_AM57XX_EVM +#elif CONFIG_USB_XHCI_DRA7XX_INDEX == 0 #define OMAP_XHCI_BASE 0x48890000 #define OMAP_OCP1_SCP_BASE 0x4A084c00 #define OMAP_OTG_WRAPPER_BASE 0x48880000 +#endif /* CONFIG_USB_XHCI_DRA7XX_INDEX == 1 */ #elif defined CONFIG_AM43XX #define OMAP_XHCI_BASE 0x483d0000 #define OMAP_OCP1_SCP_BASE 0x483E8000

On Thu, Feb 23, 2017 at 03:39:36PM +0200, Uri Mashiach wrote:
Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il
Reviewed-by: Tom Rini trini@konsulko.com

On 23/02/17 15:39, Uri Mashiach wrote:
Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il
Reviewed-by: Roger Quadros rogerq@ti.com
V1 -> V2: Replace the commit "fix XHCI registers base address". V2 -> V3: Replace the commit "reintroduce the CONFIG_AM57XX symbol" V3 -> V4: Replace boolean symbols USB_XHCI_DRA7XX_INDEX0 and USB_XHCI_DRA7XX_INDEX1 with integer symbol USB_XHCI_DRA7XX_INDEX.
configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ include/linux/usb/xhci-omap.h | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 26b26cc..05f7778 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -86,6 +86,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940c..23ae2c7 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -91,6 +91,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 5129a57..3ff79fc 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -43,6 +43,15 @@ config USB_XHCI_ZYNQMP help Enables support for the on-chip xHCI controller on Xilinx ZynqMP SoCs.
+config USB_XHCI_DRA7XX_INDEX
- int "DRA7XX xHCI USB index"
- range 0 1
- default 0
- depends on DRA7XX
- help
Select the DRA7XX xHCI USB index.
Current supported values: 0, 1.
endif # USB_XHCI_HCD
config USB_EHCI_HCD diff --git a/include/linux/usb/xhci-omap.h b/include/linux/usb/xhci-omap.h index 9de80d7..f038ddb 100644 --- a/include/linux/usb/xhci-omap.h +++ b/include/linux/usb/xhci-omap.h @@ -10,14 +10,16 @@ #ifndef _ASM_ARCH_XHCI_OMAP_H_ #define _ASM_ARCH_XHCI_OMAP_H_
-#ifdef CONFIG_TARGET_DRA7XX_EVM +#ifdef CONFIG_DRA7XX +#if CONFIG_USB_XHCI_DRA7XX_INDEX == 1 #define OMAP_XHCI_BASE 0x488d0000 #define OMAP_OCP1_SCP_BASE 0x4A081000 #define OMAP_OTG_WRAPPER_BASE 0x488c0000 -#elif defined CONFIG_TARGET_AM57XX_EVM +#elif CONFIG_USB_XHCI_DRA7XX_INDEX == 0 #define OMAP_XHCI_BASE 0x48890000 #define OMAP_OCP1_SCP_BASE 0x4A084c00 #define OMAP_OTG_WRAPPER_BASE 0x48880000 +#endif /* CONFIG_USB_XHCI_DRA7XX_INDEX == 1 */ #elif defined CONFIG_AM43XX #define OMAP_XHCI_BASE 0x483d0000 #define OMAP_OCP1_SCP_BASE 0x483E8000

On 02/27/2017 05:14 PM, Roger Quadros wrote:
On 23/02/17 15:39, Uri Mashiach wrote:
Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il
Reviewed-by: Roger Quadros rogerq@ti.com
Thanks
Acked-by: Marek Vasut marex@denx.de
Feel free to pull through the omap tree as this seems part of a bigger series.
V1 -> V2: Replace the commit "fix XHCI registers base address". V2 -> V3: Replace the commit "reintroduce the CONFIG_AM57XX symbol" V3 -> V4: Replace boolean symbols USB_XHCI_DRA7XX_INDEX0 and USB_XHCI_DRA7XX_INDEX1 with integer symbol USB_XHCI_DRA7XX_INDEX.
configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ include/linux/usb/xhci-omap.h | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 26b26cc..05f7778 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -86,6 +86,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940c..23ae2c7 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -91,6 +91,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 5129a57..3ff79fc 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -43,6 +43,15 @@ config USB_XHCI_ZYNQMP help Enables support for the on-chip xHCI controller on Xilinx ZynqMP SoCs.
+config USB_XHCI_DRA7XX_INDEX
- int "DRA7XX xHCI USB index"
- range 0 1
- default 0
- depends on DRA7XX
- help
Select the DRA7XX xHCI USB index.
Current supported values: 0, 1.
endif # USB_XHCI_HCD
config USB_EHCI_HCD diff --git a/include/linux/usb/xhci-omap.h b/include/linux/usb/xhci-omap.h index 9de80d7..f038ddb 100644 --- a/include/linux/usb/xhci-omap.h +++ b/include/linux/usb/xhci-omap.h @@ -10,14 +10,16 @@ #ifndef _ASM_ARCH_XHCI_OMAP_H_ #define _ASM_ARCH_XHCI_OMAP_H_
-#ifdef CONFIG_TARGET_DRA7XX_EVM +#ifdef CONFIG_DRA7XX +#if CONFIG_USB_XHCI_DRA7XX_INDEX == 1 #define OMAP_XHCI_BASE 0x488d0000 #define OMAP_OCP1_SCP_BASE 0x4A081000 #define OMAP_OTG_WRAPPER_BASE 0x488c0000 -#elif defined CONFIG_TARGET_AM57XX_EVM +#elif CONFIG_USB_XHCI_DRA7XX_INDEX == 0 #define OMAP_XHCI_BASE 0x48890000 #define OMAP_OCP1_SCP_BASE 0x4A084c00 #define OMAP_OTG_WRAPPER_BASE 0x48880000 +#endif /* CONFIG_USB_XHCI_DRA7XX_INDEX == 1 */ #elif defined CONFIG_AM43XX #define OMAP_XHCI_BASE 0x483d0000 #define OMAP_OCP1_SCP_BASE 0x483E8000

On 02/23/2017 02:39 PM, Uri Mashiach wrote:
Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il
Acked-by: Marek Vasut marex@denx.de
Feel free to pull through the omap tree as this seems part of a bigger series.
V1 -> V2: Replace the commit "fix XHCI registers base address". V2 -> V3: Replace the commit "reintroduce the CONFIG_AM57XX symbol" V3 -> V4: Replace boolean symbols USB_XHCI_DRA7XX_INDEX0 and USB_XHCI_DRA7XX_INDEX1 with integer symbol USB_XHCI_DRA7XX_INDEX.
configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ include/linux/usb/xhci-omap.h | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 26b26cc..05f7778 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -86,6 +86,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940c..23ae2c7 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -91,6 +91,7 @@ CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y CONFIG_USB_DWC3_OMAP=y diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 5129a57..3ff79fc 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -43,6 +43,15 @@ config USB_XHCI_ZYNQMP help Enables support for the on-chip xHCI controller on Xilinx ZynqMP SoCs.
+config USB_XHCI_DRA7XX_INDEX
- int "DRA7XX xHCI USB index"
- range 0 1
- default 0
- depends on DRA7XX
- help
Select the DRA7XX xHCI USB index.
Current supported values: 0, 1.
endif # USB_XHCI_HCD
config USB_EHCI_HCD diff --git a/include/linux/usb/xhci-omap.h b/include/linux/usb/xhci-omap.h index 9de80d7..f038ddb 100644 --- a/include/linux/usb/xhci-omap.h +++ b/include/linux/usb/xhci-omap.h @@ -10,14 +10,16 @@ #ifndef _ASM_ARCH_XHCI_OMAP_H_ #define _ASM_ARCH_XHCI_OMAP_H_
-#ifdef CONFIG_TARGET_DRA7XX_EVM +#ifdef CONFIG_DRA7XX +#if CONFIG_USB_XHCI_DRA7XX_INDEX == 1 #define OMAP_XHCI_BASE 0x488d0000 #define OMAP_OCP1_SCP_BASE 0x4A081000 #define OMAP_OTG_WRAPPER_BASE 0x488c0000 -#elif defined CONFIG_TARGET_AM57XX_EVM +#elif CONFIG_USB_XHCI_DRA7XX_INDEX == 0 #define OMAP_XHCI_BASE 0x48890000 #define OMAP_OCP1_SCP_BASE 0x4A084c00 #define OMAP_OTG_WRAPPER_BASE 0x48880000 +#endif /* CONFIG_USB_XHCI_DRA7XX_INDEX == 1 */ #elif defined CONFIG_AM43XX #define OMAP_XHCI_BASE 0x483d0000 #define OMAP_OCP1_SCP_BASE 0x483E8000

On Thu, Feb 23, 2017 at 03:39:36PM +0200, Uri Mashiach wrote:
Modify the determination of the base address of xHCI registers of DRA7XX targets. Before the commit: by the target. After the commit: by the USB port index.
Cc: Lokesh Vutla lokeshvutla@ti.com Cc: Marek Vasut marex@denx.de Cc: Roger Quadros rogerq@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com Reviewed-by: Roger Quadros rogerq@ti.com Acked-by: Marek Vasut marex@denx.de Acked-by: Marek Vasut marex@denx.de
Applied to u-boot/master, thanks!

A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations: * Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak). * The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init. * Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup: * Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c * The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup. * Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com --- V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index bdd0a2b..fe1468f 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -54,7 +54,7 @@ int board_mmc_init(bd_t *bis) #endif /* CONFIG_GENERIC_MMC */
#ifdef CONFIG_USB_XHCI_OMAP -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl, OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M); diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index 390cc16..2572029 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); #ifdef CONFIG_USB_DWC3 @@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 1611514..4afa914 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -618,7 +618,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -652,7 +652,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index bd1c809..65bce93 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -727,7 +727,7 @@ static struct ti_usb_phy_device usb_phy2_device = { .index = 1, };
-int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -764,7 +764,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { switch (index) { case 0: diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index b881b19..a1b4f2f 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
static struct omap_xhci omap;
-__weak int __board_usb_init(int index, enum usb_init_type init) +__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { return 0; } + int board_usb_init(int index, enum usb_init_type init) - __attribute__((weak, alias("__board_usb_init"))); +{ + return omap_xhci_board_usb_init(index, init); +} + +__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) +{ + return 0; +} + +int board_usb_cleanup(int index, enum usb_init_type init) +{ + return omap_xhci_board_usb_cleanup(index, init); +}
static int omap_xhci_core_init(struct omap_xhci *omap) {

Cc Marex...
On 02/23/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index bdd0a2b..fe1468f 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -54,7 +54,7 @@ int board_mmc_init(bd_t *bis) #endif /* CONFIG_GENERIC_MMC */
#ifdef CONFIG_USB_XHCI_OMAP -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl, OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M); diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index 390cc16..2572029 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); #ifdef CONFIG_USB_DWC3 @@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 1611514..4afa914 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -618,7 +618,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -652,7 +652,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index bd1c809..65bce93 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -727,7 +727,7 @@ static struct ti_usb_phy_device usb_phy2_device = { .index = 1, };
-int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -764,7 +764,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { switch (index) { case 0: diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index b881b19..a1b4f2f 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
static struct omap_xhci omap;
-__weak int __board_usb_init(int index, enum usb_init_type init) +__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { return 0; }
int board_usb_init(int index, enum usb_init_type init)
- __attribute__((weak, alias("__board_usb_init")));
+{
- return omap_xhci_board_usb_init(index, init);
+}
+__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) +{
- return 0;
+}
+int board_usb_cleanup(int index, enum usb_init_type init) +{
- return omap_xhci_board_usb_cleanup(index, init);
+}
static int omap_xhci_core_init(struct omap_xhci *omap) {

On 02/26/2017 01:25 PM, Igor Grinberg wrote:
Cc Marex...
This came just in time to answer my concern /wrt patch 4/7, thanks.
On 02/23/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
Would be great to get a review from someone from TI, but I'm fine with this.
V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index bdd0a2b..fe1468f 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -54,7 +54,7 @@ int board_mmc_init(bd_t *bis) #endif /* CONFIG_GENERIC_MMC */
#ifdef CONFIG_USB_XHCI_OMAP -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl, OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M); diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index 390cc16..2572029 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); #ifdef CONFIG_USB_DWC3 @@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 1611514..4afa914 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -618,7 +618,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -652,7 +652,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index bd1c809..65bce93 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -727,7 +727,7 @@ static struct ti_usb_phy_device usb_phy2_device = { .index = 1, };
-int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -764,7 +764,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { switch (index) { case 0: diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index b881b19..a1b4f2f 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
static struct omap_xhci omap;
-__weak int __board_usb_init(int index, enum usb_init_type init) +__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { return 0; }
int board_usb_init(int index, enum usb_init_type init)
- __attribute__((weak, alias("__board_usb_init")));
+{
- return omap_xhci_board_usb_init(index, init);
+}
+__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) +{
- return 0;
+}
+int board_usb_cleanup(int index, enum usb_init_type init) +{
- return omap_xhci_board_usb_cleanup(index, init);
+}
static int omap_xhci_core_init(struct omap_xhci *omap) {

Hi,
On 23/02/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++--
What about board/ti/omap5_uevm/evm.c ?
5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index bdd0a2b..fe1468f 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -54,7 +54,7 @@ int board_mmc_init(bd_t *bis) #endif /* CONFIG_GENERIC_MMC */
#ifdef CONFIG_USB_XHCI_OMAP -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl, OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M); diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index 390cc16..2572029 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); #ifdef CONFIG_USB_DWC3 @@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 1611514..4afa914 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -618,7 +618,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -652,7 +652,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index bd1c809..65bce93 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -727,7 +727,7 @@ static struct ti_usb_phy_device usb_phy2_device = { .index = 1, };
-int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -764,7 +764,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { switch (index) { case 0: diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index b881b19..a1b4f2f 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
static struct omap_xhci omap;
-__weak int __board_usb_init(int index, enum usb_init_type init) +__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { return 0; }
int board_usb_init(int index, enum usb_init_type init)
- __attribute__((weak, alias("__board_usb_init")));
+{
- return omap_xhci_board_usb_init(index, init);
+}
+__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) +{
- return 0;
+}
+int board_usb_cleanup(int index, enum usb_init_type init) +{
- return omap_xhci_board_usb_cleanup(index, init);
+}
static int omap_xhci_core_init(struct omap_xhci *omap) {

Hi,
On 02/27/2017 06:22 PM, Roger Quadros wrote:
Hi,
On 23/02/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++--
What about board/ti/omap5_uevm/evm.c ?
The symbol CONFIG_USB_XHCI_OMAP is not included in the file include/configs/omap5_uevm.h, therefore: The file drivers/usb/host/xhci-omap.c is not included in the compilation - no double implementations to fix.

On 28/02/17 10:00, Uri Mashiach wrote:
Hi,
On 02/27/2017 06:22 PM, Roger Quadros wrote:
Hi,
On 23/02/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++--
What about board/ti/omap5_uevm/evm.c ?
The symbol CONFIG_USB_XHCI_OMAP is not included in the file include/configs/omap5_uevm.h, therefore: The file drivers/usb/host/xhci-omap.c is not included in the compilation - no double implementations to fix.
But if someone wants to use the XHCI host he will enable the CONFIG_USB_XHCI_OMAP for omap5_uevm right? We need to ensure it doesn't break then.

On 02/28/2017 03:13 PM, Roger Quadros wrote:
On 28/02/17 10:00, Uri Mashiach wrote:
Hi,
On 02/27/2017 06:22 PM, Roger Quadros wrote:
Hi,
On 23/02/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
[...]
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++--
What about board/ti/omap5_uevm/evm.c ?
The symbol CONFIG_USB_XHCI_OMAP is not included in the file include/configs/omap5_uevm.h, therefore: The file drivers/usb/host/xhci-omap.c is not included in the compilation - no double implementations to fix.
But if someone wants to use the XHCI host he will enable the CONFIG_USB_XHCI_OMAP for omap5_uevm right? We need to ensure it doesn't break then.
Compilation errors are generated for compilation attempt of U-Boot for the target ti/omap5_uevm with CONFIG_USB_XHCI_OMAP. Maybe the adjustments relevant for the current commit should be applied after the CONFIG_USB_XHCI_OMAP adjustments?
Generated error messages:
In file included from include/asm/arch/sys_proto.h:12:0, from /home/work/u-boot/board/ti/omap5_uevm/evm.c:12: /home/work/u-boot/board/ti/omap5_uevm/evm.c: In function 'enable_host_clocks': /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:22: error: 'const struct prcm_regs' has no member named 'cm_l3init_usb_otg_ss_clkctrl' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/arch/arm/include/asm/io.h:78:55: note: in definition of macro '__arch_putl' #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:175:35: note: in expansion of macro '__raw_writel' #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:179:23: note: in expansion of macro 'out_arch' #define out_le32(a,v) out_arch(l,le32,a,v) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:2: note: in expansion of macro 'out_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:209:33: note: in expansion of macro 'setbits' #define setbits_le32(addr, set) setbits(le32, addr, set) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:2: note: in expansion of macro 'setbits_le32' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:22: error: 'const struct prcm_regs' has no member named 'cm_l3init_usb_otg_ss_clkctrl' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/arch/arm/include/asm/io.h:78:61: note: in definition of macro '__arch_putl' #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:175:35: note: in expansion of macro '__raw_writel' #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) ^ /home/work/u-boot/include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__cpu_to_le32' #define cpu_to_le32 __cpu_to_le32 ^ /home/work/u-boot/arch/arm/include/asm/io.h:179:23: note: in expansion of macro 'out_arch' #define out_le32(a,v) out_arch(l,le32,a,v) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:2: note: in expansion of macro 'out_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/include/linux/byteorder/generic.h:90:21: note: in expansion of macro '__le32_to_cpu' #define le32_to_cpu __le32_to_cpu ^ /home/work/u-boot/arch/arm/include/asm/io.h:133:25: note: in expansion of macro '__arch_getl' #define __raw_readl(a) __arch_getl(a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:176:49: note: in expansion of macro '__raw_readl' #define in_arch(type,endian,a) endian##_to_cpu(__raw_read##type(a)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:183:20: note: in expansion of macro 'in_arch' #define in_le32(a) in_arch(l,le32,a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:21: note: in expansion of macro 'in_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:209:33: note: in expansion of macro 'setbits' #define setbits_le32(addr, set) setbits(le32, addr, set) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:2: note: in expansion of macro 'setbits_le32' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c: At top level: /home/work/u-boot/board/ti/omap5_uevm/evm.c:269:5: error: redefinition of 'board_usb_init' int board_usb_init(int index, enum usb_init_type init) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:83:5: note: previous definition of 'board_usb_init' was here int board_usb_init(int index, enum usb_init_type init) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c: In function 'board_usb_init': /home/work/u-boot/board/ti/omap5_uevm/evm.c:271:6: warning: unused variable 'ret' [-Wunused-variable] int ret; ^

On 01/03/17 11:12, Uri Mashiach wrote:
On 02/28/2017 03:13 PM, Roger Quadros wrote:
On 28/02/17 10:00, Uri Mashiach wrote:
Hi,
On 02/27/2017 06:22 PM, Roger Quadros wrote:
Hi,
On 23/02/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
[...]
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++--
What about board/ti/omap5_uevm/evm.c ?
The symbol CONFIG_USB_XHCI_OMAP is not included in the file include/configs/omap5_uevm.h, therefore: The file drivers/usb/host/xhci-omap.c is not included in the compilation - no double implementations to fix.
But if someone wants to use the XHCI host he will enable the CONFIG_USB_XHCI_OMAP for omap5_uevm right? We need to ensure it doesn't break then.
Compilation errors are generated for compilation attempt of U-Boot for the target ti/omap5_uevm with CONFIG_USB_XHCI_OMAP. Maybe the adjustments relevant for the current commit should be applied after the CONFIG_USB_XHCI_OMAP adjustments?
I'm fine with that.
Generated error messages:
In file included from include/asm/arch/sys_proto.h:12:0, from /home/work/u-boot/board/ti/omap5_uevm/evm.c:12: /home/work/u-boot/board/ti/omap5_uevm/evm.c: In function 'enable_host_clocks': /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:22: error: 'const struct prcm_regs' has no member named 'cm_l3init_usb_otg_ss_clkctrl' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/arch/arm/include/asm/io.h:78:55: note: in definition of macro '__arch_putl' #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:175:35: note: in expansion of macro '__raw_writel' #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:179:23: note: in expansion of macro 'out_arch' #define out_le32(a,v) out_arch(l,le32,a,v) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:2: note: in expansion of macro 'out_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:209:33: note: in expansion of macro 'setbits' #define setbits_le32(addr, set) setbits(le32, addr, set) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:2: note: in expansion of macro 'setbits_le32' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:22: error: 'const struct prcm_regs' has no member named 'cm_l3init_usb_otg_ss_clkctrl' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/arch/arm/include/asm/io.h:78:61: note: in definition of macro '__arch_putl' #define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:175:35: note: in expansion of macro '__raw_writel' #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) ^ /home/work/u-boot/include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__cpu_to_le32' #define cpu_to_le32 __cpu_to_le32 ^ /home/work/u-boot/arch/arm/include/asm/io.h:179:23: note: in expansion of macro 'out_arch' #define out_le32(a,v) out_arch(l,le32,a,v) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:2: note: in expansion of macro 'out_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/include/linux/byteorder/generic.h:90:21: note: in expansion of macro '__le32_to_cpu' #define le32_to_cpu __le32_to_cpu ^ /home/work/u-boot/arch/arm/include/asm/io.h:133:25: note: in expansion of macro '__arch_getl' #define __raw_readl(a) __arch_getl(a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:176:49: note: in expansion of macro '__raw_readl' #define in_arch(type,endian,a) endian##_to_cpu(__raw_read##type(a)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:183:20: note: in expansion of macro 'in_arch' #define in_le32(a) in_arch(l,le32,a) ^ /home/work/u-boot/arch/arm/include/asm/io.h:199:21: note: in expansion of macro 'in_le32' out_##type((addr), in_##type(addr) | (set)) ^ /home/work/u-boot/arch/arm/include/asm/io.h:209:33: note: in expansion of macro 'setbits' #define setbits_le32(addr, set) setbits(le32, addr, set) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:172:2: note: in expansion of macro 'setbits_le32' setbits_le32((*prcm)->cm_l3init_usb_otg_ss_clkctrl, ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c: At top level: /home/work/u-boot/board/ti/omap5_uevm/evm.c:269:5: error: redefinition of 'board_usb_init' int board_usb_init(int index, enum usb_init_type init) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c:83:5: note: previous definition of 'board_usb_init' was here int board_usb_init(int index, enum usb_init_type init) ^ /home/work/u-boot/board/ti/omap5_uevm/evm.c: In function 'board_usb_init': /home/work/u-boot/board/ti/omap5_uevm/evm.c:271:6: warning: unused variable 'ret' [-Wunused-variable] int ret; ^

On 23/02/17 15:39, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
Reviewed-by: Roger Quadros rogerq@ti.com
V1 -> V2: Use __weak instead of attribute block V2 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 2 +- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- drivers/usb/host/xhci-omap.c | 17 +++++++++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index bdd0a2b..fe1468f 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -54,7 +54,7 @@ int board_mmc_init(bd_t *bis) #endif /* CONFIG_GENERIC_MMC */
#ifdef CONFIG_USB_XHCI_OMAP -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl, OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M); diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index 390cc16..2572029 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -694,7 +694,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); #ifdef CONFIG_USB_DWC3 @@ -725,7 +725,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 1611514..4afa914 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -618,7 +618,7 @@ int usb_gadget_handle_interrupts(int index) #endif /* CONFIG_USB_DWC3 */
#if defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) -int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -652,7 +652,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { #ifdef CONFIG_USB_DWC3 switch (index) { diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index bd1c809..65bce93 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -727,7 +727,7 @@ static struct ti_usb_phy_device usb_phy2_device = { .index = 1, };
-int board_usb_init(int index, enum usb_init_type init) +int omap_xhci_board_usb_init(int index, enum usb_init_type init) { enable_usb_clocks(index); switch (index) { @@ -764,7 +764,7 @@ int board_usb_init(int index, enum usb_init_type init) return 0; }
-int board_usb_cleanup(int index, enum usb_init_type init) +int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { switch (index) { case 0: diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index b881b19..a1b4f2f 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -27,12 +27,25 @@ DECLARE_GLOBAL_DATA_PTR;
static struct omap_xhci omap;
-__weak int __board_usb_init(int index, enum usb_init_type init) +__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { return 0; }
int board_usb_init(int index, enum usb_init_type init)
- __attribute__((weak, alias("__board_usb_init")));
+{
- return omap_xhci_board_usb_init(index, init);
+}
+__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) +{
- return 0;
+}
+int board_usb_cleanup(int index, enum usb_init_type init) +{
- return omap_xhci_board_usb_cleanup(index, init);
+}
static int omap_xhci_core_init(struct omap_xhci *omap) {

On Thu, Feb 23, 2017 at 03:39:37PM +0200, Uri Mashiach wrote:
A weak version of the function board_usb_init is implemented in: common/usb.c drivers/usb/host/xhci-omap.c
To fix the double implementations:
- Convert the board_usb_init function in drivers/usb/host/xhci-omap.c normal (not weak).
- The function board_usb_init in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_init.
- Rename board version of the function board_usb_init to omap_xhci_board_usb_init. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
To achieve the same flexibility with the function board_usb_cleanup:
- Add a normal (not weak) implementation of the function board_usb_cleanup in drivers/usb/host/xhci-omap.c
- The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls to the weak function omap_xhci_board_usb_cleanup.
- Rename board version of the function board_usb_cleanup to omap_xhci_board_usb_cleanup. Done only for boards that defines CONFIG_USB_XHCI_OMAP.
Cc: Lokesh Vutla lokeshvutla@ti.com Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Acked-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com Reviewed-by: Roger Quadros rogerq@ti.com
Applied to u-boot/master, thanks!

Invoke enable_usb_clocks during board_usb_init and disable_usb_clocks during board_usb_exit to enable and disable clocks respectively.
Modifications: * Enable USB clocks in the OMAP version of the function board_usb_init. * Disable USB clocks in the OMAP version of the function board_usb_cleanup.
Cc: Marek Vasut marex@denx.de Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com --- V1 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- drivers/usb/host/xhci-omap.c | 2 ++ 2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index fe1468f..4701b71 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -53,16 +53,6 @@ int board_mmc_init(bd_t *bis) } #endif /* CONFIG_GENERIC_MMC */
-#ifdef CONFIG_USB_XHCI_OMAP -int omap_xhci_board_usb_init(int index, enum usb_init_type init) -{ - setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl, - OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M); - - return 0; -} -#endif /* CONFIG_USB_XHCI_OMAP */ - int misc_init_r(void) { cl_print_pcb_info(); diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index a1b4f2f..d6c5744 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -29,6 +29,7 @@ static struct omap_xhci omap;
__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) { + enable_usb_clocks(index); return 0; }
@@ -39,6 +40,7 @@ int board_usb_init(int index, enum usb_init_type init)
__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) { + disable_usb_clocks(index); return 0; }

On 02/23/2017 02:39 PM, Uri Mashiach wrote:
Invoke enable_usb_clocks during board_usb_init and disable_usb_clocks during board_usb_exit to enable and disable clocks respectively.
Modifications:
- Enable USB clocks in the OMAP version of the function board_usb_init.
- Disable USB clocks in the OMAP version of the function board_usb_cleanup.
Cc: Marek Vasut marex@denx.de Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- drivers/usb/host/xhci-omap.c | 2 ++ 2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index fe1468f..4701b71 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -53,16 +53,6 @@ int board_mmc_init(bd_t *bis) } #endif /* CONFIG_GENERIC_MMC */
-#ifdef CONFIG_USB_XHCI_OMAP -int omap_xhci_board_usb_init(int index, enum usb_init_type init) -{
- setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl,
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
- return 0;
-} -#endif /* CONFIG_USB_XHCI_OMAP */
int misc_init_r(void) { cl_print_pcb_info(); diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index a1b4f2f..d6c5744 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -29,6 +29,7 @@ static struct omap_xhci omap;
__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) {
- enable_usb_clocks(index);
How many OMAP boards will this break btw ? :)
return 0; }
@@ -39,6 +40,7 @@ int board_usb_init(int index, enum usb_init_type init)
__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) {
- disable_usb_clocks(index); return 0;
}

Hi,
On 26/02/17 14:27, Marek Vasut wrote:
On 02/23/2017 02:39 PM, Uri Mashiach wrote:
Invoke enable_usb_clocks during board_usb_init and disable_usb_clocks during board_usb_exit to enable and disable clocks respectively.
Modifications:
- Enable USB clocks in the OMAP version of the function board_usb_init.
- Disable USB clocks in the OMAP version of the function board_usb_cleanup.
Cc: Marek Vasut marex@denx.de Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- drivers/usb/host/xhci-omap.c | 2 ++ 2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index fe1468f..4701b71 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -53,16 +53,6 @@ int board_mmc_init(bd_t *bis) } #endif /* CONFIG_GENERIC_MMC */
-#ifdef CONFIG_USB_XHCI_OMAP -int omap_xhci_board_usb_init(int index, enum usb_init_type init) -{
- setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl,
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
- return 0;
-} -#endif /* CONFIG_USB_XHCI_OMAP */
int misc_init_r(void) { cl_print_pcb_info(); diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index a1b4f2f..d6c5744 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -29,6 +29,7 @@ static struct omap_xhci omap;
__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) {
- enable_usb_clocks(index);
How many OMAP boards will this break btw ? :)
Why do you think this would break OMAP boards?
return 0; }
@@ -39,6 +40,7 @@ int board_usb_init(int index, enum usb_init_type init)
__weak int omap_xhci_board_usb_cleanup(int index, enum usb_init_type init) {
- disable_usb_clocks(index); return 0;
}

On 02/27/2017 05:24 PM, Roger Quadros wrote:
Hi,
On 26/02/17 14:27, Marek Vasut wrote:
On 02/23/2017 02:39 PM, Uri Mashiach wrote:
Invoke enable_usb_clocks during board_usb_init and disable_usb_clocks during board_usb_exit to enable and disable clocks respectively.
Modifications:
- Enable USB clocks in the OMAP version of the function board_usb_init.
- Disable USB clocks in the OMAP version of the function board_usb_cleanup.
Cc: Marek Vasut marex@denx.de Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
V1 -> V4: none
board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- drivers/usb/host/xhci-omap.c | 2 ++ 2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/board/compulab/cl-som-am57x/cl-som-am57x.c b/board/compulab/cl-som-am57x/cl-som-am57x.c index fe1468f..4701b71 100644 --- a/board/compulab/cl-som-am57x/cl-som-am57x.c +++ b/board/compulab/cl-som-am57x/cl-som-am57x.c @@ -53,16 +53,6 @@ int board_mmc_init(bd_t *bis) } #endif /* CONFIG_GENERIC_MMC */
-#ifdef CONFIG_USB_XHCI_OMAP -int omap_xhci_board_usb_init(int index, enum usb_init_type init) -{
- setbits_le32((*prcm)->cm_l3init_usb_otg_ss1_clkctrl,
OTG_SS_CLKCTRL_MODULEMODE_HW | OPTFCLKEN_REFCLK960M);
- return 0;
-} -#endif /* CONFIG_USB_XHCI_OMAP */
int misc_init_r(void) { cl_print_pcb_info(); diff --git a/drivers/usb/host/xhci-omap.c b/drivers/usb/host/xhci-omap.c index a1b4f2f..d6c5744 100644 --- a/drivers/usb/host/xhci-omap.c +++ b/drivers/usb/host/xhci-omap.c @@ -29,6 +29,7 @@ static struct omap_xhci omap;
__weak int omap_xhci_board_usb_init(int index, enum usb_init_type init) {
- enable_usb_clocks(index);
How many OMAP boards will this break btw ? :)
Why do you think this would break OMAP boards?
Just curious if there is some breakage I should anticipate ...

On Thu, Feb 23, 2017 at 03:39:38PM +0200, Uri Mashiach wrote:
Invoke enable_usb_clocks during board_usb_init and disable_usb_clocks during board_usb_exit to enable and disable clocks respectively.
Modifications:
- Enable USB clocks in the OMAP version of the function board_usb_init.
- Disable USB clocks in the OMAP version of the function board_usb_cleanup.
Cc: Marek Vasut marex@denx.de Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Marek Vasut marex@denx.de Reviewed-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!

USB bus scan attempt: ----------------------------------cut---------------------------------- => usb start starting USB... USB0: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... data abort pc : [<fff6240e>] lr : [<fff623b3>] reloc pc : [<8081b40e>] lr : [<8081b3b3>] sp : fdf42930 ip : fdf42960 fp : 00000000 r10: 00000001 r9 : fdf42ef0 r8 : 48890020 r7 : 00000002 r6 : fffa5840 r5 : fff8b140 r4 : fdf429c0 r3 : 00000000 r2 : 00000004 r1 : 00000000 r0 : 00000000 Flags: nZcv IRQs off FIQs off Mode SVC_32 Resetting CPU ...
resetting ... ----------------------------------cut----------------------------------
Fix by enabling USB configuration in the SPL.
Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Tom Rini trini@konsulko.com Reviewed-by: Igor Grinberg grinberg@compulab.co.il --- V1 -> V4: none
include/configs/cl-som-am57x.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/configs/cl-som-am57x.h b/include/configs/cl-som-am57x.h index c5f39ff..3418005 100644 --- a/include/configs/cl-som-am57x.h +++ b/include/configs/cl-som-am57x.h @@ -83,6 +83,8 @@ #define CONFIG_SYS_I2C_PCA953X_ADDR 0x20 #define CONFIG_SYS_I2C_PCA953X_WIDTH { {0x20, 16} }
+#endif /* !CONFIG_SPL_BUILD */ + /* USB xHCI HOST */ #define CONFIG_USB_XHCI_OMAP #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2 @@ -97,8 +99,6 @@ #define CONFIG_USB_ETHER_ASIX #define CONFIG_USB_ETHER_MCS7830
-#endif /* !CONFIG_SPL_BUILD */ - /* CPSW Ethernet */ #define CONFIG_DRIVER_TI_CPSW #define CONFIG_MII

Add CONFIG_USB_STORAGE to the defconfig file.
Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Tom Rini trini@konsulko.com --- V1 -> V4: none
configs/cl-som-am57x_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/cl-som-am57x_defconfig b/configs/cl-som-am57x_defconfig index 916b836..1831f45 100644 --- a/configs/cl-som-am57x_defconfig +++ b/configs/cl-som-am57x_defconfig @@ -47,4 +47,5 @@ CONFIG_TI_QSPI=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y CONFIG_OF_LIBFDT=y

On Thu, Feb 23, 2017 at 03:39:40PM +0200, Uri Mashiach wrote:
Add CONFIG_USB_STORAGE to the defconfig file.
Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!

Add CONFIG_CMD_USB to the defconfig file.
Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Tom Rini trini@konsulko.com --- V1 -> V4: none
configs/cl-som-am57x_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/cl-som-am57x_defconfig b/configs/cl-som-am57x_defconfig index 1831f45..83d7bd0 100644 --- a/configs/cl-som-am57x_defconfig +++ b/configs/cl-som-am57x_defconfig @@ -15,6 +15,7 @@ CONFIG_CMD_PART=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_I2C=y +CONFIG_CMD_USB=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y

On Thu, Feb 23, 2017 at 03:39:41PM +0200, Uri Mashiach wrote:
Add CONFIG_CMD_USB to the defconfig file.
Signed-off-by: Uri Mashiach uri.mashiach@compulab.co.il Reviewed-by: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!

Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)

On Sun, Apr 23, 2017 at 11:18:04AM +0300, Uri Mashiach wrote:
Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)
Marek? Thanks!

On 04/25/2017 03:09 AM, Tom Rini wrote:
On Sun, Apr 23, 2017 at 11:18:04AM +0300, Uri Mashiach wrote:
Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)
Marek? Thanks!
Tom? Thanks!

Hi Tom, Marek,
On 04/25/17 22:27, Marek Vasut wrote:
On 04/25/2017 03:09 AM, Tom Rini wrote:
On Sun, Apr 23, 2017 at 11:18:04AM +0300, Uri Mashiach wrote:
Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)
Marek? Thanks!
Tom? Thanks!
IIRC, it has been decided to take this patch series through the OMAP tree. Contradictory to what I remember, I can see the patches have been delegated to Marek in patchwork. So, what's happening? Can we please go on with merging this series?

On 05/04/2017 09:05 AM, Igor Grinberg wrote:
Hi Tom, Marek,
On 04/25/17 22:27, Marek Vasut wrote:
On 04/25/2017 03:09 AM, Tom Rini wrote:
On Sun, Apr 23, 2017 at 11:18:04AM +0300, Uri Mashiach wrote:
Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)
Marek? Thanks!
Tom? Thanks!
IIRC, it has been decided to take this patch series through the OMAP tree.
Correct
Contradictory to what I remember, I can see the patches have been delegated to Marek in patchwork.
Not my doing
So, what's happening? Can we please go on with merging this series?
Probably for 2017.07 via OMAP

On Thu, May 04, 2017 at 10:05:22AM +0300, Igor Grinberg wrote:
Hi Tom, Marek,
On 04/25/17 22:27, Marek Vasut wrote:
On 04/25/2017 03:09 AM, Tom Rini wrote:
On Sun, Apr 23, 2017 at 11:18:04AM +0300, Uri Mashiach wrote:
Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)
Marek? Thanks!
Tom? Thanks!
IIRC, it has been decided to take this patch series through the OMAP tree. Contradictory to what I remember, I can see the patches have been delegated to Marek in patchwork.
Yeah, I assigned it to Marek so I wouldn't grab it before I was sure he was happy with it. I haven't (until now) taken it back.
So, what's happening? Can we please go on with merging this series?
I'll pick it up after the current release is out, thanks!

On 05/05/17 17:17, Tom Rini wrote:
On Thu, May 04, 2017 at 10:05:22AM +0300, Igor Grinberg wrote:
Hi Tom, Marek,
On 04/25/17 22:27, Marek Vasut wrote:
On 04/25/2017 03:09 AM, Tom Rini wrote:
On Sun, Apr 23, 2017 at 11:18:04AM +0300, Uri Mashiach wrote:
Hello Tom,
A gentle ping on this patch series.
On 02/23/2017 03:39 PM, Uri Mashiach wrote:
Various USB related comits for the CL-SOM-AM57x module.
V1 -> V2: Replace commit "fix XHCI registers base address" with "reintroduce the CONFIG_AM57XX symbol". V2 -> V3: * New commit "move CONFIG_DRA7XX to Kconfig" * Replace commit "reintroduce the CONFIG_AM57XX symbol" with "xHCI registers based on USB port index" V3 -> V4: Update commit "move CONFIG_DRA7XX to Kconfig" Update commit "xHCI registers based on USB port index"
Uri Mashiach (7): arm: dra7xx: move CONFIG_DRA7XX to Kconfig arm: usb: dra7xx: xHCI registers based on USB port index usb: host: xhci-omap: fix double weak board_usb_init functions arm: am57xx: cl-som-am57x: invoke clock API to enable/disable clocks arm: am57xx: cl-som-am57x: fix USB scan arm: am57xx: cl-som-am57x: enable USB storage arm: am57xx: cl-som-am57x: enable USB commands
arch/arm/mach-omap2/omap5/Kconfig | 8 ++++++++ board/compulab/cl-som-am57x/cl-som-am57x.c | 10 ---------- board/ti/am43xx/board.c | 4 ++-- board/ti/am57xx/board.c | 4 ++-- board/ti/dra7xx/evm.c | 4 ++-- configs/cl-som-am57x_defconfig | 2 ++ configs/dra7xx_evm_defconfig | 1 + configs/dra7xx_hs_evm_defconfig | 1 + drivers/usb/host/Kconfig | 9 +++++++++ drivers/usb/host/xhci-omap.c | 19 +++++++++++++++++-- include/configs/am57xx_evm.h | 2 -- include/configs/cl-som-am57x.h | 6 ++---- include/configs/dra7xx_evm.h | 2 -- include/linux/usb/xhci-omap.h | 6 ++++-- scripts/config_whitelist.txt | 1 - 15 files changed, 50 insertions(+), 29 deletions(-)
Marek? Thanks!
Tom? Thanks!
IIRC, it has been decided to take this patch series through the OMAP tree. Contradictory to what I remember, I can see the patches have been delegated to Marek in patchwork.
Yeah, I assigned it to Marek so I wouldn't grab it before I was sure he was happy with it. I haven't (until now) taken it back.
So, what's happening? Can we please go on with merging this series?
I'll pick it up after the current release is out, thanks!
Thanks!
participants (5)
-
Igor Grinberg
-
Marek Vasut
-
Roger Quadros
-
Tom Rini
-
Uri Mashiach