* [U-Boot] [PATCH 0/3] rockchip: rv1108: support USB OTG and Host ports on evb-rv1108
@ 2017-08-09 3:12 William Wu
2017-08-09 3:12 ` [U-Boot] [PATCH 1/3] configs: rockchip: add USB configs for evb-rv1108 board William Wu
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: William Wu @ 2017-08-09 3:12 UTC (permalink / raw)
To: u-boot
This patch support USB OTG and Host ports on evb-rv1108 board. With this patch,
we can use fastboot over USB and mount USB mass storage on OTG and Host ports.
William Wu (3):
configs: rockchip: add USB configs for evb-rv1108 board
ARM: dts: rockchip: add USB nodes for evb-rv1108
rockchip: evb-rv1108: add usb init function for dwc2 gadget
arch/arm/dts/rv1108-evb.dts | 22 ++++++++++++++++
arch/arm/dts/rv1108.dtsi | 24 +++++++++++++++++
board/rockchip/evb_rv1108/evb_rv1108.c | 47 ++++++++++++++++++++++++++++++++++
configs/evb-rv1108_defconfig | 22 ++++++++++++++++
include/configs/rv1108_common.h | 3 +++
5 files changed, 118 insertions(+)
--
2.0.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH 1/3] configs: rockchip: add USB configs for evb-rv1108 board
2017-08-09 3:12 [U-Boot] [PATCH 0/3] rockchip: rv1108: support USB OTG and Host ports on evb-rv1108 William Wu
@ 2017-08-09 3:12 ` William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-08-09 3:12 ` [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
2017-08-09 3:12 ` [U-Boot] [PATCH 3/3] rockchip: evb-rv1108: add usb init function for dwc2 gadget William Wu
2 siblings, 1 reply; 10+ messages in thread
From: William Wu @ 2017-08-09 3:12 UTC (permalink / raw)
To: u-boot
This patch adds USB configs to support the USB OTG port(consist
of DWC2 controller) and the USB Host port(consist of EHCI and OHCI
controllers) on evb-rv1108 board, and also support fastboot over
USB and USB mass storage.
Signed-off-by: William Wu <william.wu@rock-chips.com>
---
configs/evb-rv1108_defconfig | 22 ++++++++++++++++++++++
include/configs/rv1108_common.h | 3 +++
2 files changed, 25 insertions(+)
diff --git a/configs/evb-rv1108_defconfig b/configs/evb-rv1108_defconfig
index 3deea7c..496bfc8 100644
--- a/configs/evb-rv1108_defconfig
+++ b/configs/evb-rv1108_defconfig
@@ -6,8 +6,16 @@ CONFIG_DEFAULT_DEVICE_TREE="rv1108-evb"
CONFIG_DEBUG_UART=y
CONFIG_ENV_IS_NOWHERE=y
# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_FASTBOOT=y
+CONFIG_USB_FUNCTION_FASTBOOT=y
+CONFIG_CMD_FASTBOOT=y
+CONFIG_FASTBOOT_BUF_ADDR=0x62000000
+CONFIG_FASTBOOT_BUF_SIZE=0x08000000
+CONFIG_FASTBOOT_FLASH=y
+CONFIG_FASTBOOT_FLASH_MMC_DEV=1
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_SF=y
+CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_TIME=y
@@ -27,10 +35,24 @@ CONFIG_ETH_DESIGNWARE=y
CONFIG_GMAC_ROCKCHIP=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_ROCKCHIP_RV1108=y
+CONFIG_DM_REGULATOR_FIXED=y
CONFIG_BAUDRATE=1500000
# CONFIG_SPL_SERIAL_PRESENT is not set
CONFIG_DEBUG_UART_BASE=0x10210000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_SYSRESET=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_GENERIC=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DWC2_OTG=y
+CONFIG_USB_GADGET_DOWNLOAD=y
+CONFIG_G_DNL_MANUFACTURER="Rockchip"
+CONFIG_G_DNL_VENDOR_NUM=0x2207
+CONFIG_G_DNL_PRODUCT_NUM=0x110a
CONFIG_ERRNO_STR=y
diff --git a/include/configs/rv1108_common.h b/include/configs/rv1108_common.h
index 2b63abc..f6fefaa 100644
--- a/include/configs/rv1108_common.h
+++ b/include/configs/rv1108_common.h
@@ -29,4 +29,7 @@
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + 0x100000)
#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x2000000)
+/* rockchip ohci host driver */
+#define CONFIG_USB_OHCI_NEW
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
#endif
--
2.0.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108
2017-08-09 3:12 [U-Boot] [PATCH 0/3] rockchip: rv1108: support USB OTG and Host ports on evb-rv1108 William Wu
2017-08-09 3:12 ` [U-Boot] [PATCH 1/3] configs: rockchip: add USB configs for evb-rv1108 board William Wu
@ 2017-08-09 3:12 ` William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-08-09 3:12 ` [U-Boot] [PATCH 3/3] rockchip: evb-rv1108: add usb init function for dwc2 gadget William Wu
2 siblings, 1 reply; 10+ messages in thread
From: William Wu @ 2017-08-09 3:12 UTC (permalink / raw)
To: u-boot
This patch adds USB OTG/EHCI/OHCI nodes for evb-rv1108 USB ports.
Signed-off-by: William Wu <william.wu@rock-chips.com>
---
arch/arm/dts/rv1108-evb.dts | 22 ++++++++++++++++++++++
arch/arm/dts/rv1108.dtsi | 24 ++++++++++++++++++++++++
2 files changed, 46 insertions(+)
diff --git a/arch/arm/dts/rv1108-evb.dts b/arch/arm/dts/rv1108-evb.dts
index 0128dd8..2b221b6 100644
--- a/arch/arm/dts/rv1108-evb.dts
+++ b/arch/arm/dts/rv1108-evb.dts
@@ -20,6 +20,15 @@
chosen {
stdout-path = "serial2:1500000n8";
};
+
+ vcc5v0_otg: vcc5v0-otg-drv {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ regulator-name = "vcc5v0_otg";
+ gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
};
&gmac {
@@ -52,3 +61,16 @@
&uart2 {
status = "okay";
};
+
+&usb20_otg {
+ vbus-supply = <&vcc5v0_otg>;
+ status = "okay";
+};
+
+&usb_host_ehci {
+ status = "okay";
+};
+
+&usb_host_ohci {
+ status = "okay";
+};
diff --git a/arch/arm/dts/rv1108.dtsi b/arch/arm/dts/rv1108.dtsi
index 77ca24e..3153dfe 100644
--- a/arch/arm/dts/rv1108.dtsi
+++ b/arch/arm/dts/rv1108.dtsi
@@ -175,6 +175,30 @@
status = "disabled";
};
+ usb_host_ehci: usb at 30140000 {
+ compatible = "generic-ehci";
+ reg = <0x30140000 0x20000>;
+ interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ usb_host_ohci: usb at 30160000 {
+ compatible = "generic-ohci";
+ reg = <0x30160000 0x20000>;
+ interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ usb20_otg: usb at 30180000 {
+ compatible = "rockchip,rv1108-usb", "rockchip,rk3288-usb",
+ "snps,dwc2";
+ reg = <0x30180000 0x40000>;
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+ hnp-srp-disable;
+ dr_mode = "otg";
+ status = "disabled";
+ };
+
sfc: sfc at 301c0000 {
compatible = "rockchip,sfc";
reg = <0x301c0000 0x200>;
--
2.0.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [U-Boot] [PATCH 3/3] rockchip: evb-rv1108: add usb init function for dwc2 gadget
2017-08-09 3:12 [U-Boot] [PATCH 0/3] rockchip: rv1108: support USB OTG and Host ports on evb-rv1108 William Wu
2017-08-09 3:12 ` [U-Boot] [PATCH 1/3] configs: rockchip: add USB configs for evb-rv1108 board William Wu
2017-08-09 3:12 ` [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
@ 2017-08-09 3:12 ` William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2 siblings, 1 reply; 10+ messages in thread
From: William Wu @ 2017-08-09 3:12 UTC (permalink / raw)
To: u-boot
This patch implements board_usb_init() for dwc2 gadget, it
generally called from do_fastboot to do dwc2 udc probe and
support fastboot over USB.
Signed-off-by: William Wu <william.wu@rock-chips.com>
---
board/rockchip/evb_rv1108/evb_rv1108.c | 47 ++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/board/rockchip/evb_rv1108/evb_rv1108.c b/board/rockchip/evb_rv1108/evb_rv1108.c
index fe37eac..8ca5ee6 100644
--- a/board/rockchip/evb_rv1108/evb_rv1108.c
+++ b/board/rockchip/evb_rv1108/evb_rv1108.c
@@ -50,3 +50,50 @@ int dram_init_banksize(void)
return 0;
}
+
+#if defined(CONFIG_USB_GADGET) && defined(CONFIG_USB_GADGET_DWC2_OTG)
+#include <usb.h>
+#include <usb/dwc2_udc.h>
+
+static struct dwc2_plat_otg_data rv1108_otg_data = {
+ .rx_fifo_sz = 512,
+ .np_tx_fifo_sz = 16,
+ .tx_fifo_sz = 128,
+};
+
+int board_usb_init(int index, enum usb_init_type init)
+{
+ int node;
+ const char *mode;
+ bool matched = false;
+ const void *blob = gd->fdt_blob;
+
+ /* find the usb_otg node */
+ node = fdt_node_offset_by_compatible(blob, -1,
+ "rockchip,rv1108-usb");
+
+ while (node > 0) {
+ mode = fdt_getprop(blob, node, "dr_mode", NULL);
+ if (mode && strcmp(mode, "otg") == 0) {
+ matched = true;
+ break;
+ }
+
+ node = fdt_node_offset_by_compatible(blob, node,
+ "rockchip,rv1108-usb");
+ }
+ if (!matched) {
+ debug("Not found usb_otg device\n");
+ return -ENODEV;
+ }
+
+ rv1108_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
+
+ return dwc2_udc_probe(&rv1108_otg_data);
+}
+
+int board_usb_cleanup(int index, enum usb_init_type init)
+{
+ return 0;
+}
+#endif
--
2.0.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [U-Boot] [U-Boot, 1/3] configs: rockchip: add USB configs for evb-rv1108 board
2017-08-09 3:12 ` [U-Boot] [PATCH 1/3] configs: rockchip: add USB configs for evb-rv1108 board William Wu
@ 2017-08-18 16:08 ` Philipp Tomsich
0 siblings, 0 replies; 10+ messages in thread
From: Philipp Tomsich @ 2017-08-18 16:08 UTC (permalink / raw)
To: u-boot
> This patch adds USB configs to support the USB OTG port(consist
> of DWC2 controller) and the USB Host port(consist of EHCI and OHCI
> controllers) on evb-rv1108 board, and also support fastboot over
> USB and USB mass storage.
>
> Signed-off-by: William Wu <william.wu@rock-chips.com>
> ---
> configs/evb-rv1108_defconfig | 22 ++++++++++++++++++++++
> include/configs/rv1108_common.h | 3 +++
> 2 files changed, 25 insertions(+)
>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [U-Boot, 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108
2017-08-09 3:12 ` [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
@ 2017-08-18 16:08 ` Philipp Tomsich
0 siblings, 0 replies; 10+ messages in thread
From: Philipp Tomsich @ 2017-08-18 16:08 UTC (permalink / raw)
To: u-boot
> This patch adds USB OTG/EHCI/OHCI nodes for evb-rv1108 USB ports.
>
> Signed-off-by: William Wu <william.wu@rock-chips.com>
> ---
> arch/arm/dts/rv1108-evb.dts | 22 ++++++++++++++++++++++
> arch/arm/dts/rv1108.dtsi | 24 ++++++++++++++++++++++++
> 2 files changed, 46 insertions(+)
>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [U-Boot, 3/3] rockchip: evb-rv1108: add usb init function for dwc2 gadget
2017-08-09 3:12 ` [U-Boot] [PATCH 3/3] rockchip: evb-rv1108: add usb init function for dwc2 gadget William Wu
@ 2017-08-18 16:08 ` Philipp Tomsich
0 siblings, 0 replies; 10+ messages in thread
From: Philipp Tomsich @ 2017-08-18 16:08 UTC (permalink / raw)
To: u-boot
> This patch implements board_usb_init() for dwc2 gadget, it
> generally called from do_fastboot to do dwc2 udc probe and
> support fastboot over USB.
>
> Signed-off-by: William Wu <william.wu@rock-chips.com>
> ---
> board/rockchip/evb_rv1108/evb_rv1108.c | 47 ++++++++++++++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [U-Boot, 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108
2017-08-09 3:36 [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-09-05 9:52 ` Philipp Tomsich
@ 2017-09-05 12:22 ` Philipp Tomsich
2 siblings, 0 replies; 10+ messages in thread
From: Philipp Tomsich @ 2017-09-05 12:22 UTC (permalink / raw)
To: u-boot
> This patch adds USB OTG/EHCI/OHCI nodes for evb-rv1108 USB ports.
>
> Signed-off-by: William Wu <william.wu@rock-chips.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
> arch/arm/dts/rv1108-evb.dts | 22 ++++++++++++++++++++++
> arch/arm/dts/rv1108.dtsi | 24 ++++++++++++++++++++++++
> 2 files changed, 46 insertions(+)
>
Applied to u-boot-rockchip/next, thanks!
^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [U-Boot, 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108
2017-08-09 3:36 [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
@ 2017-09-05 9:52 ` Philipp Tomsich
2017-09-05 12:22 ` Philipp Tomsich
2 siblings, 0 replies; 10+ messages in thread
From: Philipp Tomsich @ 2017-09-05 9:52 UTC (permalink / raw)
To: u-boot
> This patch adds USB OTG/EHCI/OHCI nodes for evb-rv1108 USB ports.
>
> Signed-off-by: William Wu <william.wu@rock-chips.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
> arch/arm/dts/rv1108-evb.dts | 22 ++++++++++++++++++++++
> arch/arm/dts/rv1108.dtsi | 24 ++++++++++++++++++++++++
> 2 files changed, 46 insertions(+)
>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [U-Boot] [U-Boot, 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108
2017-08-09 3:36 [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
@ 2017-08-18 16:08 ` Philipp Tomsich
2017-09-05 9:52 ` Philipp Tomsich
2017-09-05 12:22 ` Philipp Tomsich
2 siblings, 0 replies; 10+ messages in thread
From: Philipp Tomsich @ 2017-08-18 16:08 UTC (permalink / raw)
To: u-boot
> This patch adds USB OTG/EHCI/OHCI nodes for evb-rv1108 USB ports.
>
> Signed-off-by: William Wu <william.wu@rock-chips.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> ---
> arch/arm/dts/rv1108-evb.dts | 22 ++++++++++++++++++++++
> arch/arm/dts/rv1108.dtsi | 24 ++++++++++++++++++++++++
> 2 files changed, 46 insertions(+)
>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-09-05 12:22 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-09 3:12 [U-Boot] [PATCH 0/3] rockchip: rv1108: support USB OTG and Host ports on evb-rv1108 William Wu
2017-08-09 3:12 ` [U-Boot] [PATCH 1/3] configs: rockchip: add USB configs for evb-rv1108 board William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-08-09 3:12 ` [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-08-09 3:12 ` [U-Boot] [PATCH 3/3] rockchip: evb-rv1108: add usb init function for dwc2 gadget William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-08-09 3:36 [U-Boot] [PATCH 2/3] ARM: dts: rockchip: add USB nodes for evb-rv1108 William Wu
2017-08-18 16:08 ` [U-Boot] [U-Boot, " Philipp Tomsich
2017-09-05 9:52 ` Philipp Tomsich
2017-09-05 12:22 ` Philipp Tomsich
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.