Message ID | 20170921053432.42478-1-ran.wang_1@nxp.com |
---|---|
State | Superseded |
Delegated to: | York Sun |
Headers | show |
Series | [U-Boot,v2,1/2] ls1088ardb: Enable USB command RDB qspi-boot | expand |
Hi Ran, On Thu, Sep 21, 2017 at 1:34 PM, Ran Wang <ran.wang_1@nxp.com> wrote: > From: Ashish Kumar <Ashish.Kumar@nxp.com> > > Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com> > Signed-off-by: Amrita Kumari <amrita.kumari@nxp.com> > Signed-off-by: Ran Wang <ran.wang_1@nxp.com> > --- > Change in v2: > 1.Adjust USB nodes position in dts to keep them sorted in > unit-address. > 2.Move macro CONFIG_HAS_FSL_XHCI_USB and CONFIG_USB_XHCI_FSL > to Kconfig option. > 3.Remove CONFIG_USB_MAX_CONTROLLER_COUNT. > > Change in v1: > Rebased to > ba39608 ARM: DRA72x: Add support for detection of DRA71x SR 2.1 > > arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 8 ++++++++ > arch/arm/dts/fsl-ls1088a.dtsi | 14 ++++++++++++++ > board/freescale/ls1088a/ls1088a.c | 1 - > configs/ls1088ardb_qspi_defconfig | 8 ++++++++ > include/linux/usb/xhci-fsl.h | 2 +- > 5 files changed, 31 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > index 3518d8601d..3337ff3a00 100644 > --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > @@ -83,6 +83,8 @@ config ARCH_LS1088A > select FSL_TZASC_1 > select ARCH_EARLY_INIT_R > select BOARD_EARLY_INIT_F > + select HAS_FSL_XHCI_USB > + select USB_XHCI_FSL > > config ARCH_LS2080A > bool > @@ -346,6 +348,12 @@ config FSL_TZASC_1 > config FSL_TZASC_2 > bool > > +config HAS_FSL_XHCI_USB > + bool > + This should be in a separate patch to convert HAS_FSL_XHCI_USB to Kconfig and update all FSL boards in the same patch. Don't forget to remove it from scripts/config_whitelist.txt. And please write a help paragraph to explain what this Kconfig is for. board/freescale/ls1043ardb/ls1043ardb.c:130:#ifdef CONFIG_HAS_FSL_XHCI_USB board/freescale/ls1043ardb/ls1043ardb.c:186:#ifdef CONFIG_HAS_FSL_XHCI_USB board/freescale/ls1046ardb/ls1046ardb.c:135:#ifdef CONFIG_HAS_FSL_XHCI_USB board/freescale/ls1046aqds/ls1046aqds.c:171:#ifdef CONFIG_HAS_FSL_XHCI_USB board/freescale/ls1046aqds/ls1046aqds.c:184:#ifdef CONFIG_HAS_FSL_XHCI_USB board/freescale/ls1043aqds/ls1043aqds.c:232:#ifdef CONFIG_HAS_FSL_XHCI_USB board/freescale/ls1043aqds/ls1043aqds.c:245:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aqds.h:408:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aqds.h:410:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012ardb.h:25:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012ardb.h:27:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043aqds.h:374:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043aqds.h:375:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls2080aqds.h:442:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021atwr.h:48:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021atwr.h:50:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls2080ardb.h:344:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043ardb.h:284:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043ardb.h:285:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aiot.h:23:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aiot.h:25:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046ardb.h:214:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046ardb.h:215:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012aqds.h:122:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012aqds.h:124:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012afrdm.h:37:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012afrdm.h:39:#ifdef CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046aqds.h:140:#define CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046aqds.h:141:#ifdef CONFIG_HAS_FSL_XHCI_USB > +config USB_XHCI_FSL > + bool > + This should be in a separate patch to convert USB_XHCI_FSL to Kconfig and update all FSL boards in the same patch. Don't forget to remove it from scripts/config_whitelist.txt. And please write a help paragraph to explain what this Kconfig is for. And this should be put in drivers/usb/host/Kconfig instead of here. > endmenu > > menu "Layerscape clock tree configuration" > diff --git a/arch/arm/dts/fsl-ls1088a.dtsi b/arch/arm/dts/fsl-ls1088a.dtsi > index d943a9efa3..64b4fcf12b 100644 > --- a/arch/arm/dts/fsl-ls1088a.dtsi > +++ b/arch/arm/dts/fsl-ls1088a.dtsi > @@ -76,6 +76,20 @@ > num-cs = <4>; > }; > > + usb0: usb3@3100000 { > + compatible = "fsl,layerscape-dwc3"; > + reg = <0x0 0x3100000 0x0 0x10000>; > + interrupts = <0 80 0x4>; /* Level high type */ > + dr_mode = "host"; > + }; > + > + usb1: usb3@3110000 { > + compatible = "fsl,layerscape-dwc3"; > + reg = <0x0 0x3110000 0x0 0x10000>; > + interrupts = <0 81 0x4>; /* Level high type */ > + dr_mode = "host"; > + }; > + > pcie@3400000 { > compatible = "fsl,ls-pcie", "snps,dw-pcie"; > reg = <0x00 0x03400000 0x0 0x80000 /* dbi registers */ > diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c > index 96d9ae7f1d..2156537a27 100644 > --- a/board/freescale/ls1088a/ls1088a.c > +++ b/board/freescale/ls1088a/ls1088a.c > @@ -49,7 +49,6 @@ int checkboard(void) > static const char *const freq[] = {"100", "125", "156.25", > "100 separate SSCG"}; > int clock; > - > #ifdef CONFIG_TARGET_LS1088AQDS > printf("Board: LS1088A-QDS, "); > #else > diff --git a/configs/ls1088ardb_qspi_defconfig b/configs/ls1088ardb_qspi_defconfig > index 2d5a134261..3034f506e2 100644 > --- a/configs/ls1088ardb_qspi_defconfig > +++ b/configs/ls1088ardb_qspi_defconfig > @@ -31,3 +31,11 @@ CONFIG_FSL_DSPI=y > CONFIG_EFI_LOADER_BOUNCE_BUFFER=y > # CONFIG_DISPLAY_BOARDINFO is not set > CONFIG_FSL_LS_PPA=y > +CONFIG_USB=y > +CONFIG_USB_GADGET=y > +CONFIG_CMD_USB=y > +CONFIG_DM_USB=y > +CONFIG_USB_XHCI_HCD=y > +CONFIG_USB_XHCI_DWC3=y > +CONFIG_USB_DWC3=y > +CONFIG_USB_STORAGE=y > diff --git a/include/linux/usb/xhci-fsl.h b/include/linux/usb/xhci-fsl.h > index bd54089722..a916afb885 100644 > --- a/include/linux/usb/xhci-fsl.h > +++ b/include/linux/usb/xhci-fsl.h > @@ -58,7 +58,7 @@ struct fsl_xhci { > #define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_XHCI_USB1_ADDR > #define CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 > #define CONFIG_SYS_FSL_XHCI_USB3_ADDR 0 > -#elif defined(CONFIG_ARCH_LS2080A) > +#elif defined(CONFIG_ARCH_LS2080A) || defined(CONFIG_ARCH_LS1088A) > #define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_XHCI_USB1_ADDR > #define CONFIG_SYS_FSL_XHCI_USB2_ADDR CONFIG_SYS_XHCI_USB2_ADDR > #define CONFIG_SYS_FSL_XHCI_USB3_ADDR 0 > -- Regards, Bin
Hi Bin > -----Original Message----- > From: Bin Meng [mailto:bmeng.cn@gmail.com] > Sent: Friday, September 22, 2017 9:24 PM > To: Ran Wang <ran.wang_1@nxp.com> > Cc: open list <u-boot@lists.denx.de>; Albert Aribaud > <albert.u.boot@aribaud.net>; Prabhakar Kushwaha > <prabhakar.kushwaha@nxp.com>; Ashish Kumar <ashish.kumar@nxp.com>; > York Sun <york.sun@nxp.com>; Z.q. Hou <zhiqiang.hou@nxp.com> > Subject: Re: [U-Boot] [PATCH v2 1/2] ls1088ardb: Enable USB command RDB > qspi-boot > > Hi Ran, > > On Thu, Sep 21, 2017 at 1:34 PM, Ran Wang <ran.wang_1@nxp.com> wrote: > > From: Ashish Kumar <Ashish.Kumar@nxp.com> > > > > Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com> > > Signed-off-by: Amrita Kumari <amrita.kumari@nxp.com> > > Signed-off-by: Ran Wang <ran.wang_1@nxp.com> > > --- > > Change in v2: > > 1.Adjust USB nodes position in dts to keep them sorted in > > unit-address. > > 2.Move macro CONFIG_HAS_FSL_XHCI_USB and CONFIG_USB_XHCI_FSL > > to Kconfig option. > > 3.Remove CONFIG_USB_MAX_CONTROLLER_COUNT. > > > > Change in v1: > > Rebased to > > ba39608 ARM: DRA72x: Add support for detection of DRA71x SR > > 2.1 > > > > arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 8 ++++++++ > > arch/arm/dts/fsl-ls1088a.dtsi | 14 ++++++++++++++ > > board/freescale/ls1088a/ls1088a.c | 1 - > > configs/ls1088ardb_qspi_defconfig | 8 ++++++++ > > include/linux/usb/xhci-fsl.h | 2 +- > > 5 files changed, 31 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > > b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > > index 3518d8601d..3337ff3a00 100644 > > --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > > +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > > @@ -83,6 +83,8 @@ config ARCH_LS1088A > > select FSL_TZASC_1 > > select ARCH_EARLY_INIT_R > > select BOARD_EARLY_INIT_F > > + select HAS_FSL_XHCI_USB > > + select USB_XHCI_FSL > > > > config ARCH_LS2080A > > bool > > @@ -346,6 +348,12 @@ config FSL_TZASC_1 config FSL_TZASC_2 > > bool > > > > +config HAS_FSL_XHCI_USB > > + bool > > + > > This should be in a separate patch to convert HAS_FSL_XHCI_USB to Kconfig and > update all FSL boards in the same patch. Don't forget to remove it from > scripts/config_whitelist.txt. And please write a help paragraph to explain what > this Kconfig is for. > > board/freescale/ls1043ardb/ls1043ardb.c:130:#ifdef > CONFIG_HAS_FSL_XHCI_USB > board/freescale/ls1043ardb/ls1043ardb.c:186:#ifdef > CONFIG_HAS_FSL_XHCI_USB > board/freescale/ls1046ardb/ls1046ardb.c:135:#ifdef > CONFIG_HAS_FSL_XHCI_USB > board/freescale/ls1046aqds/ls1046aqds.c:171:#ifdef > CONFIG_HAS_FSL_XHCI_USB > board/freescale/ls1046aqds/ls1046aqds.c:184:#ifdef > CONFIG_HAS_FSL_XHCI_USB > board/freescale/ls1043aqds/ls1043aqds.c:232:#ifdef > CONFIG_HAS_FSL_XHCI_USB > board/freescale/ls1043aqds/ls1043aqds.c:245:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aqds.h:408:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aqds.h:410:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012ardb.h:25:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012ardb.h:27:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043aqds.h:374:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043aqds.h:375:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls2080aqds.h:442:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021atwr.h:48:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021atwr.h:50:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls2080ardb.h:344:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043ardb.h:284:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1043ardb.h:285:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aiot.h:23:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1021aiot.h:25:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046ardb.h:214:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046ardb.h:215:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012aqds.h:122:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012aqds.h:124:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012afrdm.h:37:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1012afrdm.h:39:#ifdef > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046aqds.h:140:#define > CONFIG_HAS_FSL_XHCI_USB include/configs/ls1046aqds.h:141:#ifdef > CONFIG_HAS_FSL_XHCI_USB > > > +config USB_XHCI_FSL > > + bool > > + > > This should be in a separate patch to convert USB_XHCI_FSL to Kconfig and > update all FSL boards in the same patch. Don't forget to remove it from > scripts/config_whitelist.txt. And please write a help paragraph to explain what > this Kconfig is for. And this should be put in drivers/usb/host/Kconfig instead of > here. > OK, I will check this, thanks for your suggestion. > > endmenu > > > > menu "Layerscape clock tree configuration" > > diff --git a/arch/arm/dts/fsl-ls1088a.dtsi > > b/arch/arm/dts/fsl-ls1088a.dtsi index d943a9efa3..64b4fcf12b 100644 > > --- a/arch/arm/dts/fsl-ls1088a.dtsi > > +++ b/arch/arm/dts/fsl-ls1088a.dtsi > > @@ -76,6 +76,20 @@ > > num-cs = <4>; > > }; > > > > + usb0: usb3@3100000 { > > + compatible = "fsl,layerscape-dwc3"; > > + reg = <0x0 0x3100000 0x0 0x10000>; > > + interrupts = <0 80 0x4>; /* Level high type */ > > + dr_mode = "host"; > > + }; > > + > > + usb1: usb3@3110000 { > > + compatible = "fsl,layerscape-dwc3"; > > + reg = <0x0 0x3110000 0x0 0x10000>; > > + interrupts = <0 81 0x4>; /* Level high type */ > > + dr_mode = "host"; > > + }; > > + > > pcie@3400000 { > > compatible = "fsl,ls-pcie", "snps,dw-pcie"; > > reg = <0x00 0x03400000 0x0 0x80000 /* dbi registers */ > > diff --git a/board/freescale/ls1088a/ls1088a.c > > b/board/freescale/ls1088a/ls1088a.c > > index 96d9ae7f1d..2156537a27 100644 > > --- a/board/freescale/ls1088a/ls1088a.c > > +++ b/board/freescale/ls1088a/ls1088a.c > > @@ -49,7 +49,6 @@ int checkboard(void) > > static const char *const freq[] = {"100", "125", "156.25", > > "100 separate SSCG"}; > > int clock; > > - > > #ifdef CONFIG_TARGET_LS1088AQDS > > printf("Board: LS1088A-QDS, "); #else diff --git > > a/configs/ls1088ardb_qspi_defconfig > > b/configs/ls1088ardb_qspi_defconfig > > index 2d5a134261..3034f506e2 100644 > > --- a/configs/ls1088ardb_qspi_defconfig > > +++ b/configs/ls1088ardb_qspi_defconfig > > @@ -31,3 +31,11 @@ CONFIG_FSL_DSPI=y > > CONFIG_EFI_LOADER_BOUNCE_BUFFER=y > > # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_FSL_LS_PPA=y > > +CONFIG_USB=y > > +CONFIG_USB_GADGET=y > > +CONFIG_CMD_USB=y > > +CONFIG_DM_USB=y > > +CONFIG_USB_XHCI_HCD=y > > +CONFIG_USB_XHCI_DWC3=y > > +CONFIG_USB_DWC3=y > > +CONFIG_USB_STORAGE=y > > diff --git a/include/linux/usb/xhci-fsl.h > > b/include/linux/usb/xhci-fsl.h index bd54089722..a916afb885 100644 > > --- a/include/linux/usb/xhci-fsl.h > > +++ b/include/linux/usb/xhci-fsl.h > > @@ -58,7 +58,7 @@ struct fsl_xhci { > > #define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_XHCI_USB1_ADDR > > #define CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 #define > > CONFIG_SYS_FSL_XHCI_USB3_ADDR 0 -#elif defined(CONFIG_ARCH_LS2080A) > > +#elif defined(CONFIG_ARCH_LS2080A) || defined(CONFIG_ARCH_LS1088A) > > #define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_XHCI_USB1_ADDR > > #define CONFIG_SYS_FSL_XHCI_USB2_ADDR CONFIG_SYS_XHCI_USB2_ADDR > > #define CONFIG_SYS_FSL_XHCI_USB3_ADDR 0 > > -- > > Regards, > Bin
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 3518d8601d..3337ff3a00 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -83,6 +83,8 @@ config ARCH_LS1088A select FSL_TZASC_1 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F + select HAS_FSL_XHCI_USB + select USB_XHCI_FSL config ARCH_LS2080A bool @@ -346,6 +348,12 @@ config FSL_TZASC_1 config FSL_TZASC_2 bool +config HAS_FSL_XHCI_USB + bool + +config USB_XHCI_FSL + bool + endmenu menu "Layerscape clock tree configuration" diff --git a/arch/arm/dts/fsl-ls1088a.dtsi b/arch/arm/dts/fsl-ls1088a.dtsi index d943a9efa3..64b4fcf12b 100644 --- a/arch/arm/dts/fsl-ls1088a.dtsi +++ b/arch/arm/dts/fsl-ls1088a.dtsi @@ -76,6 +76,20 @@ num-cs = <4>; }; + usb0: usb3@3100000 { + compatible = "fsl,layerscape-dwc3"; + reg = <0x0 0x3100000 0x0 0x10000>; + interrupts = <0 80 0x4>; /* Level high type */ + dr_mode = "host"; + }; + + usb1: usb3@3110000 { + compatible = "fsl,layerscape-dwc3"; + reg = <0x0 0x3110000 0x0 0x10000>; + interrupts = <0 81 0x4>; /* Level high type */ + dr_mode = "host"; + }; + pcie@3400000 { compatible = "fsl,ls-pcie", "snps,dw-pcie"; reg = <0x00 0x03400000 0x0 0x80000 /* dbi registers */ diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c index 96d9ae7f1d..2156537a27 100644 --- a/board/freescale/ls1088a/ls1088a.c +++ b/board/freescale/ls1088a/ls1088a.c @@ -49,7 +49,6 @@ int checkboard(void) static const char *const freq[] = {"100", "125", "156.25", "100 separate SSCG"}; int clock; - #ifdef CONFIG_TARGET_LS1088AQDS printf("Board: LS1088A-QDS, "); #else diff --git a/configs/ls1088ardb_qspi_defconfig b/configs/ls1088ardb_qspi_defconfig index 2d5a134261..3034f506e2 100644 --- a/configs/ls1088ardb_qspi_defconfig +++ b/configs/ls1088ardb_qspi_defconfig @@ -31,3 +31,11 @@ CONFIG_FSL_DSPI=y CONFIG_EFI_LOADER_BOUNCE_BUFFER=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_FSL_LS_PPA=y +CONFIG_USB=y +CONFIG_USB_GADGET=y +CONFIG_CMD_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_DWC3=y +CONFIG_USB_STORAGE=y diff --git a/include/linux/usb/xhci-fsl.h b/include/linux/usb/xhci-fsl.h index bd54089722..a916afb885 100644 --- a/include/linux/usb/xhci-fsl.h +++ b/include/linux/usb/xhci-fsl.h @@ -58,7 +58,7 @@ struct fsl_xhci { #define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_XHCI_USB1_ADDR #define CONFIG_SYS_FSL_XHCI_USB2_ADDR 0 #define CONFIG_SYS_FSL_XHCI_USB3_ADDR 0 -#elif defined(CONFIG_ARCH_LS2080A) +#elif defined(CONFIG_ARCH_LS2080A) || defined(CONFIG_ARCH_LS1088A) #define CONFIG_SYS_FSL_XHCI_USB1_ADDR CONFIG_SYS_XHCI_USB1_ADDR #define CONFIG_SYS_FSL_XHCI_USB2_ADDR CONFIG_SYS_XHCI_USB2_ADDR #define CONFIG_SYS_FSL_XHCI_USB3_ADDR 0