All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.