All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards.
@ 2015-07-06 16:52 Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 1/4] g_dnl: add missing declaration Steve Rae
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Steve Rae @ 2015-07-06 16:52 UTC (permalink / raw)
  To: u-boot

The OTG hardware is a DWC2 controller and this series uses the
existing gadget driver ("s3c_udc_otg.c").


JD (Jiandong) Zheng and Steve Rae (2):
  usb: gadget: bcm_udc_otg files
  implement Fastboot via USB OTG on bcm28155_ap boards

Steve Rae (2):
  g_dnl: add missing declaration
  usb: s3c-otg: support 8-bit interface

 arch/arm/include/asm/arch-bcm281xx/sysmap.h |  7 ++++
 board/broadcom/bcm28155_ap/bcm28155_ap.c    | 40 +++++++++++++++++++++++
 drivers/usb/gadget/Makefile                 |  1 +
 drivers/usb/gadget/bcm_udc_otg.h            | 17 ++++++++++
 drivers/usb/gadget/bcm_udc_otg_phy.c        | 50 +++++++++++++++++++++++++++++
 drivers/usb/gadget/s3c_udc_otg.c            |  4 +++
 include/configs/bcm28155_ap.h               | 20 ++++++++++++
 include/g_dnl.h                             |  1 +
 8 files changed, 140 insertions(+)
 create mode 100644 drivers/usb/gadget/bcm_udc_otg.h
 create mode 100644 drivers/usb/gadget/bcm_udc_otg_phy.c

-- 
1.8.5

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 1/4] g_dnl: add missing declaration
  2015-07-06 16:52 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
@ 2015-07-06 16:52 ` Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 2/4] usb: s3c-otg: support 8-bit interface Steve Rae
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Steve Rae @ 2015-07-06 16:52 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Steve Rae <srae@broadcom.com>
---

 include/g_dnl.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/g_dnl.h b/include/g_dnl.h
index 4eeb5e4..ba49f1f 100644
--- a/include/g_dnl.h
+++ b/include/g_dnl.h
@@ -34,6 +34,7 @@ struct g_dnl_bind_callback {
 };
 
 int g_dnl_bind_fixup(struct usb_device_descriptor *, const char *);
+int g_dnl_get_board_bcd_device_number(int gcnum);
 int g_dnl_board_usb_cable_connected(void);
 int g_dnl_register(const char *s);
 void g_dnl_unregister(void);
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 2/4] usb: s3c-otg: support 8-bit interface
  2015-07-06 16:52 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 1/4] g_dnl: add missing declaration Steve Rae
@ 2015-07-06 16:52 ` Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 3/4] usb: gadget: bcm_udc_otg files Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards Steve Rae
  3 siblings, 0 replies; 9+ messages in thread
From: Steve Rae @ 2015-07-06 16:52 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Steve Rae <srae@broadcom.com>
---

 drivers/usb/gadget/s3c_udc_otg.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/gadget/s3c_udc_otg.c b/drivers/usb/gadget/s3c_udc_otg.c
index 7a2d1e7..2e3b4f7 100644
--- a/drivers/usb/gadget/s3c_udc_otg.c
+++ b/drivers/usb/gadget/s3c_udc_otg.c
@@ -414,7 +414,11 @@ static void reconfig_usbd(struct s3c_udc *dev)
 		|0<<7		/* Ulpi DDR sel*/
 		|0<<6		/* 0: high speed utmi+, 1: full speed serial*/
 		|0<<4		/* 0: utmi+, 1:ulpi*/
+#ifdef CONFIG_USB_GADGET_PHY_8_BIT
+		|0<<3		/* phy i/f  0:8bit, 1:16bit*/
+#else
 		|1<<3		/* phy i/f  0:8bit, 1:16bit*/
+#endif
 		|0x7<<0;	/* HS/FS Timeout**/
 
 	if (dev->pdata->usb_gusbcfg)
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 3/4] usb: gadget: bcm_udc_otg files
  2015-07-06 16:52 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 1/4] g_dnl: add missing declaration Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 2/4] usb: s3c-otg: support 8-bit interface Steve Rae
@ 2015-07-06 16:52 ` Steve Rae
  2015-07-06 16:52 ` [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards Steve Rae
  3 siblings, 0 replies; 9+ messages in thread
From: Steve Rae @ 2015-07-06 16:52 UTC (permalink / raw)
  To: u-boot

From: "JD (Jiandong) Zheng" <jdzheng@broadcom.com>

Add the required files for the Broadcom UDC OTG interface.

Signed-off-by: Steve Rae <srae@broadcom.com>
---

 arch/arm/include/asm/arch-bcm281xx/sysmap.h |  7 ++++
 drivers/usb/gadget/bcm_udc_otg.h            | 17 ++++++++++
 drivers/usb/gadget/bcm_udc_otg_phy.c        | 50 +++++++++++++++++++++++++++++
 3 files changed, 74 insertions(+)
 create mode 100644 drivers/usb/gadget/bcm_udc_otg.h
 create mode 100644 drivers/usb/gadget/bcm_udc_otg_phy.c

diff --git a/arch/arm/include/asm/arch-bcm281xx/sysmap.h b/arch/arm/include/asm/arch-bcm281xx/sysmap.h
index 93ebf34..dbcc88c 100644
--- a/arch/arm/include/asm/arch-bcm281xx/sysmap.h
+++ b/arch/arm/include/asm/arch-bcm281xx/sysmap.h
@@ -27,4 +27,11 @@
 #define SECWD2_BASE_ADDR	0x35002f40
 #define TIMER_BASE_ADDR		0x3e00d000
 
+#define HSOTG_DCTL_OFFSET					0x00000804
+#define    HSOTG_DCTL_SFTDISCON_MASK				0x00000002
+
+#define HSOTG_CTRL_PHY_P1CTL_OFFSET				0x00000008
+#define    HSOTG_CTRL_PHY_P1CTL_SOFT_RESET_MASK			0x00000002
+#define    HSOTG_CTRL_PHY_P1CTL_NON_DRIVING_MASK		0x00000001
+
 #endif
diff --git a/drivers/usb/gadget/bcm_udc_otg.h b/drivers/usb/gadget/bcm_udc_otg.h
new file mode 100644
index 0000000..81a1fc0
--- /dev/null
+++ b/drivers/usb/gadget/bcm_udc_otg.h
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2015 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __BCM_UDC_OTG_H
+#define __BCM_UDC_OTG_H
+
+#include <linux/types.h>
+
+#define wfld_set(addr, fld_val, fld_mask) \
+		(writel(((readl(addr) & ~(fld_mask)) | (fld_val)), (addr)))
+#define wfld_clear(addr, fld_mask) \
+		(writel((readl(addr) & ~(fld_mask)), (addr)))
+
+#endif
diff --git a/drivers/usb/gadget/bcm_udc_otg_phy.c b/drivers/usb/gadget/bcm_udc_otg_phy.c
new file mode 100644
index 0000000..1aa9f91
--- /dev/null
+++ b/drivers/usb/gadget/bcm_udc_otg_phy.c
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2015 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <config.h>
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/sysmap.h>
+
+#include <usb/s3c_udc.h>
+#include "bcm_udc_otg.h"
+
+void otg_phy_init(struct s3c_udc *dev)
+{
+	/* set Phy to driving mode */
+	wfld_clear(HSOTG_CTRL_BASE_ADDR + HSOTG_CTRL_PHY_P1CTL_OFFSET,
+		   HSOTG_CTRL_PHY_P1CTL_NON_DRIVING_MASK);
+
+	udelay(100);
+
+	/* clear Soft Disconnect */
+	wfld_clear(HSOTG_BASE_ADDR + HSOTG_DCTL_OFFSET,
+		   HSOTG_DCTL_SFTDISCON_MASK);
+
+	/* invoke Reset (active low) */
+	wfld_clear(HSOTG_CTRL_BASE_ADDR + HSOTG_CTRL_PHY_P1CTL_OFFSET,
+		   HSOTG_CTRL_PHY_P1CTL_SOFT_RESET_MASK);
+
+	udelay(10000);
+
+	/* release Reset */
+	wfld_set(HSOTG_CTRL_BASE_ADDR + HSOTG_CTRL_PHY_P1CTL_OFFSET,
+		 HSOTG_CTRL_PHY_P1CTL_SOFT_RESET_MASK,
+		 HSOTG_CTRL_PHY_P1CTL_SOFT_RESET_MASK);
+}
+
+void otg_phy_off(struct s3c_udc *dev)
+{
+	/* Soft Disconnect */
+	wfld_set(HSOTG_BASE_ADDR + HSOTG_DCTL_OFFSET,
+		 HSOTG_DCTL_SFTDISCON_MASK,
+		 HSOTG_DCTL_SFTDISCON_MASK);
+
+	/* set Phy to non-driving (reset) mode */
+	wfld_set(HSOTG_CTRL_BASE_ADDR + HSOTG_CTRL_PHY_P1CTL_OFFSET,
+		 HSOTG_CTRL_PHY_P1CTL_NON_DRIVING_MASK,
+		 HSOTG_CTRL_PHY_P1CTL_NON_DRIVING_MASK);
+}
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards
  2015-07-06 16:52 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
                   ` (2 preceding siblings ...)
  2015-07-06 16:52 ` [U-Boot] [PATCH 3/4] usb: gadget: bcm_udc_otg files Steve Rae
@ 2015-07-06 16:52 ` Steve Rae
  2015-07-06 18:22   ` Paul Kocialkowski
  3 siblings, 1 reply; 9+ messages in thread
From: Steve Rae @ 2015-07-06 16:52 UTC (permalink / raw)
  To: u-boot

From: "JD (Jiandong) Zheng" <jdzheng@broadcom.com>

Signed-off-by: Steve Rae <srae@broadcom.com>
---

 board/broadcom/bcm28155_ap/bcm28155_ap.c | 40 ++++++++++++++++++++++++++++++++
 drivers/usb/gadget/Makefile              |  1 +
 include/configs/bcm28155_ap.h            | 20 ++++++++++++++++
 3 files changed, 61 insertions(+)

diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c
index 940a1c2..20eb191 100644
--- a/board/broadcom/bcm28155_ap/bcm28155_ap.c
+++ b/board/broadcom/bcm28155_ap/bcm28155_ap.c
@@ -12,12 +12,20 @@
 #include <asm/kona-common/clk.h>
 #include <asm/arch/sysmap.h>
 
+#include <usb.h>
+#include <usb/s3c_udc.h>
+#include <g_dnl.h>
+
 #define SECWATCHDOG_SDOGCR_OFFSET	0x00000000
 #define SECWATCHDOG_SDOGCR_EN_SHIFT	27
 #define SECWATCHDOG_SDOGCR_SRSTEN_SHIFT	26
 #define SECWATCHDOG_SDOGCR_CLKS_SHIFT	20
 #define SECWATCHDOG_SDOGCR_LD_SHIFT	0
 
+#ifndef CONFIG_USB_SERIALNO
+#define CONFIG_USB_SERIALNO "1234567890"
+#endif
+
 DECLARE_GLOBAL_DATA_PTR;
 
 /*
@@ -85,3 +93,35 @@ int board_mmc_init(bd_t *bis)
 	return ret;
 }
 #endif
+
+#ifdef CONFIG_USB_GADGET
+static struct s3c_plat_otg_data bcm_otg_data = {
+	.regs_otg	= HSOTG_BASE_ADDR
+};
+
+int board_usb_init(int index, enum usb_init_type init)
+{
+	debug("%s: performing s3c_udc_probe\n", __func__);
+	return s3c_udc_probe(&bcm_otg_data);
+}
+
+int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
+{
+	debug("%s\n", __func__);
+	if (!getenv("serial#"))
+		g_dnl_set_serialnumber(CONFIG_USB_SERIALNO);
+	return 0;
+}
+
+int g_dnl_get_board_bcd_device_number(int gcnum)
+{
+	debug("%s\n", __func__);
+	return 1;
+}
+
+int board_usb_cleanup(int index, enum usb_init_type init)
+{
+	debug("%s\n", __func__);
+	return 0;
+}
+#endif
diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
index 70bb550..d370f1c 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_USBDOWNLOAD_GADGET) += g_dnl.o
 obj-$(CONFIG_DFU_FUNCTION) += f_dfu.o
 obj-$(CONFIG_USB_GADGET_MASS_STORAGE) += f_mass_storage.o
 obj-$(CONFIG_CMD_FASTBOOT) += f_fastboot.o
+obj-$(CONFIG_USB_GADGET_BCM_UDC_OTG_PHY) += bcm_udc_otg_phy.o
 endif
 ifdef CONFIG_USB_ETHER
 obj-y += ether.o
diff --git a/include/configs/bcm28155_ap.h b/include/configs/bcm28155_ap.h
index 900dc42..e5fdc90 100644
--- a/include/configs/bcm28155_ap.h
+++ b/include/configs/bcm28155_ap.h
@@ -109,6 +109,7 @@
  * for example.
  */
 #define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
 
 /* version string, parser, etc */
 #define CONFIG_VERSION_VARIABLE
@@ -136,4 +137,23 @@
 
 #undef CONFIG_CMD_NFS
 
+/* Fastboot and USB OTG */
+#define CONFIG_CMD_FASTBOOT
+#define CONFIG_FASTBOOT_FLASH
+#define CONFIG_FASTBOOT_FLASH_MMC_DEV	0
+#define CONFIG_SYS_CACHELINE_SIZE	64
+#define CONFIG_USB_FASTBOOT_BUF_SIZE	(CONFIG_SYS_SDRAM_SIZE - (1024 * 1024))
+#define CONFIG_USB_FASTBOOT_BUF_ADDR	CONFIG_SYS_SDRAM_BASE
+#define CONFIG_USB_GADGET
+#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW	0
+#define CONFIG_USB_GADGET_S3C_UDC_OTG
+#define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
+#define CONFIG_USB_GADGET_PHY_8_BIT
+#define CONFIG_USBDOWNLOAD_GADGET
+#define CONFIG_USBID_ADDR		0x34052c46
+#define CONFIG_G_DNL_VENDOR_NUM		0x18d1	/* google */
+#define CONFIG_G_DNL_PRODUCT_NUM	0x0d02	/* nexus one */
+#define CONFIG_G_DNL_MANUFACTURER	"Broadcom Corporation"
+
 #endif /* __BCM28155_AP_H */
-- 
1.8.5

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards
  2015-07-06 16:52 ` [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards Steve Rae
@ 2015-07-06 18:22   ` Paul Kocialkowski
  2015-07-06 19:22     ` Steve Rae
  0 siblings, 1 reply; 9+ messages in thread
From: Paul Kocialkowski @ 2015-07-06 18:22 UTC (permalink / raw)
  To: u-boot

Hi,

Le lundi 06 juillet 2015 ? 09:52 -0700, Steve Rae a ?crit :
> From: "JD (Jiandong) Zheng" <jdzheng@broadcom.com>
> 
> Signed-off-by: Steve Rae <srae@broadcom.com>
> ---
> 
>  board/broadcom/bcm28155_ap/bcm28155_ap.c | 40 ++++++++++++++++++++++++++++++++
>  drivers/usb/gadget/Makefile              |  1 +
>  include/configs/bcm28155_ap.h            | 20 ++++++++++++++++
>  3 files changed, 61 insertions(+)
> 
> diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c
> index 940a1c2..20eb191 100644
> --- a/board/broadcom/bcm28155_ap/bcm28155_ap.c
> +++ b/board/broadcom/bcm28155_ap/bcm28155_ap.c
> @@ -12,12 +12,20 @@
>  #include <asm/kona-common/clk.h>
>  #include <asm/arch/sysmap.h>
>  
> +#include <usb.h>
> +#include <usb/s3c_udc.h>
> +#include <g_dnl.h>
> +
>  #define SECWATCHDOG_SDOGCR_OFFSET	0x00000000
>  #define SECWATCHDOG_SDOGCR_EN_SHIFT	27
>  #define SECWATCHDOG_SDOGCR_SRSTEN_SHIFT	26
>  #define SECWATCHDOG_SDOGCR_CLKS_SHIFT	20
>  #define SECWATCHDOG_SDOGCR_LD_SHIFT	0
>  
> +#ifndef CONFIG_USB_SERIALNO
> +#define CONFIG_USB_SERIALNO "1234567890"
> +#endif
> +
>  DECLARE_GLOBAL_DATA_PTR;
>  
>  /*
> @@ -85,3 +93,35 @@ int board_mmc_init(bd_t *bis)
>  	return ret;
>  }
>  #endif
> +
> +#ifdef CONFIG_USB_GADGET
> +static struct s3c_plat_otg_data bcm_otg_data = {
> +	.regs_otg	= HSOTG_BASE_ADDR
> +};
> +
> +int board_usb_init(int index, enum usb_init_type init)
> +{
> +	debug("%s: performing s3c_udc_probe\n", __func__);
> +	return s3c_udc_probe(&bcm_otg_data);
> +}
> +
> +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
> +{
> +	debug("%s\n", __func__);
> +	if (!getenv("serial#"))
> +		g_dnl_set_serialnumber(CONFIG_USB_SERIALNO);
> +	return 0;
> +}
> +
> +int g_dnl_get_board_bcd_device_number(int gcnum)
> +{
> +	debug("%s\n", __func__);
> +	return 1;
> +}
> +
> +int board_usb_cleanup(int index, enum usb_init_type init)
> +{
> +	debug("%s\n", __func__);
> +	return 0;
> +}
> +#endif
> diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
> index 70bb550..d370f1c 100644
> --- a/drivers/usb/gadget/Makefile
> +++ b/drivers/usb/gadget/Makefile
> @@ -20,6 +20,7 @@ obj-$(CONFIG_USBDOWNLOAD_GADGET) += g_dnl.o
>  obj-$(CONFIG_DFU_FUNCTION) += f_dfu.o
>  obj-$(CONFIG_USB_GADGET_MASS_STORAGE) += f_mass_storage.o
>  obj-$(CONFIG_CMD_FASTBOOT) += f_fastboot.o
> +obj-$(CONFIG_USB_GADGET_BCM_UDC_OTG_PHY) += bcm_udc_otg_phy.o
>  endif
>  ifdef CONFIG_USB_ETHER
>  obj-y += ether.o
> diff --git a/include/configs/bcm28155_ap.h b/include/configs/bcm28155_ap.h
> index 900dc42..e5fdc90 100644
> --- a/include/configs/bcm28155_ap.h
> +++ b/include/configs/bcm28155_ap.h
> @@ -109,6 +109,7 @@
>   * for example.
>   */
>  #define CONFIG_DOS_PARTITION
> +#define CONFIG_EFI_PARTITION
>  
>  /* version string, parser, etc */
>  #define CONFIG_VERSION_VARIABLE
> @@ -136,4 +137,23 @@
>  
>  #undef CONFIG_CMD_NFS
>  
> +/* Fastboot and USB OTG */
> +#define CONFIG_CMD_FASTBOOT
> +#define CONFIG_FASTBOOT_FLASH
> +#define CONFIG_FASTBOOT_FLASH_MMC_DEV	0
> +#define CONFIG_SYS_CACHELINE_SIZE	64
> +#define CONFIG_USB_FASTBOOT_BUF_SIZE	(CONFIG_SYS_SDRAM_SIZE - (1024 * 1024))
> +#define CONFIG_USB_FASTBOOT_BUF_ADDR	CONFIG_SYS_SDRAM_BASE
> +#define CONFIG_USB_GADGET
> +#define CONFIG_USB_GADGET_DUALSPEED
> +#define CONFIG_USB_GADGET_VBUS_DRAW	0
> +#define CONFIG_USB_GADGET_S3C_UDC_OTG
> +#define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
> +#define CONFIG_USB_GADGET_PHY_8_BIT
> +#define CONFIG_USBDOWNLOAD_GADGET

You should probably rebase this against u-boot-dfu's latest HEAD, and
adapt for the renames I made (for consistency)!

> +#define CONFIG_USBID_ADDR		0x34052c46
> +#define CONFIG_G_DNL_VENDOR_NUM		0x18d1	/* google */
> +#define CONFIG_G_DNL_PRODUCT_NUM	0x0d02	/* nexus one */
> +#define CONFIG_G_DNL_MANUFACTURER	"Broadcom Corporation"
> +
>  #endif /* __BCM28155_AP_H */

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150706/8eade7bd/attachment.sig>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards
  2015-07-06 18:22   ` Paul Kocialkowski
@ 2015-07-06 19:22     ` Steve Rae
  0 siblings, 0 replies; 9+ messages in thread
From: Steve Rae @ 2015-07-06 19:22 UTC (permalink / raw)
  To: u-boot



On 15-07-06 11:22 AM, Paul Kocialkowski wrote:
> Hi,
>
> Le lundi 06 juillet 2015 ? 09:52 -0700, Steve Rae a ?crit :
>> From: "JD (Jiandong) Zheng" <jdzheng@broadcom.com>
>>
>> Signed-off-by: Steve Rae <srae@broadcom.com>
>> ---
>>
>>   board/broadcom/bcm28155_ap/bcm28155_ap.c | 40 ++++++++++++++++++++++++++++++++
>>   drivers/usb/gadget/Makefile              |  1 +
>>   include/configs/bcm28155_ap.h            | 20 ++++++++++++++++
>>   3 files changed, 61 insertions(+)
>>
>> diff --git a/board/broadcom/bcm28155_ap/bcm28155_ap.c b/board/broadcom/bcm28155_ap/bcm28155_ap.c
>> index 940a1c2..20eb191 100644
>> --- a/board/broadcom/bcm28155_ap/bcm28155_ap.c
>> +++ b/board/broadcom/bcm28155_ap/bcm28155_ap.c
>> @@ -12,12 +12,20 @@
>>   #include <asm/kona-common/clk.h>
>>   #include <asm/arch/sysmap.h>
>>
>> +#include <usb.h>
>> +#include <usb/s3c_udc.h>
>> +#include <g_dnl.h>
>> +
>>   #define SECWATCHDOG_SDOGCR_OFFSET	0x00000000
>>   #define SECWATCHDOG_SDOGCR_EN_SHIFT	27
>>   #define SECWATCHDOG_SDOGCR_SRSTEN_SHIFT	26
>>   #define SECWATCHDOG_SDOGCR_CLKS_SHIFT	20
>>   #define SECWATCHDOG_SDOGCR_LD_SHIFT	0
>>
>> +#ifndef CONFIG_USB_SERIALNO
>> +#define CONFIG_USB_SERIALNO "1234567890"
>> +#endif
>> +
>>   DECLARE_GLOBAL_DATA_PTR;
>>
>>   /*
>> @@ -85,3 +93,35 @@ int board_mmc_init(bd_t *bis)
>>   	return ret;
>>   }
>>   #endif
>> +
>> +#ifdef CONFIG_USB_GADGET
>> +static struct s3c_plat_otg_data bcm_otg_data = {
>> +	.regs_otg	= HSOTG_BASE_ADDR
>> +};
>> +
>> +int board_usb_init(int index, enum usb_init_type init)
>> +{
>> +	debug("%s: performing s3c_udc_probe\n", __func__);
>> +	return s3c_udc_probe(&bcm_otg_data);
>> +}
>> +
>> +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
>> +{
>> +	debug("%s\n", __func__);
>> +	if (!getenv("serial#"))
>> +		g_dnl_set_serialnumber(CONFIG_USB_SERIALNO);
>> +	return 0;
>> +}
>> +
>> +int g_dnl_get_board_bcd_device_number(int gcnum)
>> +{
>> +	debug("%s\n", __func__);
>> +	return 1;
>> +}
>> +
>> +int board_usb_cleanup(int index, enum usb_init_type init)
>> +{
>> +	debug("%s\n", __func__);
>> +	return 0;
>> +}
>> +#endif
>> diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
>> index 70bb550..d370f1c 100644
>> --- a/drivers/usb/gadget/Makefile
>> +++ b/drivers/usb/gadget/Makefile
>> @@ -20,6 +20,7 @@ obj-$(CONFIG_USBDOWNLOAD_GADGET) += g_dnl.o
>>   obj-$(CONFIG_DFU_FUNCTION) += f_dfu.o
>>   obj-$(CONFIG_USB_GADGET_MASS_STORAGE) += f_mass_storage.o
>>   obj-$(CONFIG_CMD_FASTBOOT) += f_fastboot.o
>> +obj-$(CONFIG_USB_GADGET_BCM_UDC_OTG_PHY) += bcm_udc_otg_phy.o
>>   endif
>>   ifdef CONFIG_USB_ETHER
>>   obj-y += ether.o
>> diff --git a/include/configs/bcm28155_ap.h b/include/configs/bcm28155_ap.h
>> index 900dc42..e5fdc90 100644
>> --- a/include/configs/bcm28155_ap.h
>> +++ b/include/configs/bcm28155_ap.h
>> @@ -109,6 +109,7 @@
>>    * for example.
>>    */
>>   #define CONFIG_DOS_PARTITION
>> +#define CONFIG_EFI_PARTITION
>>
>>   /* version string, parser, etc */
>>   #define CONFIG_VERSION_VARIABLE
>> @@ -136,4 +137,23 @@
>>
>>   #undef CONFIG_CMD_NFS
>>
>> +/* Fastboot and USB OTG */
>> +#define CONFIG_CMD_FASTBOOT
>> +#define CONFIG_FASTBOOT_FLASH
>> +#define CONFIG_FASTBOOT_FLASH_MMC_DEV	0
>> +#define CONFIG_SYS_CACHELINE_SIZE	64
>> +#define CONFIG_USB_FASTBOOT_BUF_SIZE	(CONFIG_SYS_SDRAM_SIZE - (1024 * 1024))
>> +#define CONFIG_USB_FASTBOOT_BUF_ADDR	CONFIG_SYS_SDRAM_BASE
>> +#define CONFIG_USB_GADGET
>> +#define CONFIG_USB_GADGET_DUALSPEED
>> +#define CONFIG_USB_GADGET_VBUS_DRAW	0
>> +#define CONFIG_USB_GADGET_S3C_UDC_OTG
>> +#define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
>> +#define CONFIG_USB_GADGET_PHY_8_BIT
>> +#define CONFIG_USBDOWNLOAD_GADGET
>
> You should probably rebase this against u-boot-dfu's latest HEAD, and
> adapt for the renames I made (for consistency)!
OK -- see v2
>
>> +#define CONFIG_USBID_ADDR		0x34052c46
>> +#define CONFIG_G_DNL_VENDOR_NUM		0x18d1	/* google */
>> +#define CONFIG_G_DNL_PRODUCT_NUM	0x0d02	/* nexus one */
>> +#define CONFIG_G_DNL_MANUFACTURER	"Broadcom Corporation"
>> +
>>   #endif /* __BCM28155_AP_H */
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards.
  2015-01-20 22:42 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
@ 2015-01-22  7:00 ` Marek Vasut
  0 siblings, 0 replies; 9+ messages in thread
From: Marek Vasut @ 2015-01-22  7:00 UTC (permalink / raw)
  To: u-boot

On Tuesday, January 20, 2015 at 11:42:06 PM, Steve Rae wrote:
> Since a complete "gadget" implementation is not available yet,
> this series provides a method for interfacing the existing gadget
> code with the UDC driver code.

Can you please split the series to one patching generic code and one
adding the driver support? Or is that not possible for some reason
please ?

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards.
@ 2015-01-20 22:42 Steve Rae
  2015-01-22  7:00 ` Marek Vasut
  0 siblings, 1 reply; 9+ messages in thread
From: Steve Rae @ 2015-01-20 22:42 UTC (permalink / raw)
  To: u-boot

Since a complete "gadget" implementation is not available yet,
this series provides a method for interfacing the existing gadget
code with the UDC driver code.


Steve Rae (4):
  usb: gadget: fastboot: add CONFIG_FASTBOOT_NO_GADGET support
  usb: add 'bcm_udc_otg' support
  usb: update 'sysmap.h'
  usb: fastboot: implement fastboot

 arch/arm/include/asm/arch-bcm281xx/sysmap.h |  141 ++++
 drivers/usb/gadget/Makefile                 |    2 +
 drivers/usb/gadget/bcm_udc_otg.c            | 1193 +++++++++++++++++++++++++++
 drivers/usb/gadget/bcm_udc_otg.h            |   19 +
 drivers/usb/gadget/bcm_usb_gadget.c         |  240 ++++++
 drivers/usb/gadget/f_fastboot.c             |   39 +
 include/configs/bcm28155_ap.h               |   20 +-
 7 files changed, 1653 insertions(+), 1 deletion(-)
 create mode 100644 drivers/usb/gadget/bcm_udc_otg.c
 create mode 100644 drivers/usb/gadget/bcm_udc_otg.h
 create mode 100644 drivers/usb/gadget/bcm_usb_gadget.c

-- 
1.8.5

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-07-06 19:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-06 16:52 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
2015-07-06 16:52 ` [U-Boot] [PATCH 1/4] g_dnl: add missing declaration Steve Rae
2015-07-06 16:52 ` [U-Boot] [PATCH 2/4] usb: s3c-otg: support 8-bit interface Steve Rae
2015-07-06 16:52 ` [U-Boot] [PATCH 3/4] usb: gadget: bcm_udc_otg files Steve Rae
2015-07-06 16:52 ` [U-Boot] [PATCH 4/4] implement Fastboot via USB OTG on bcm28155_ap boards Steve Rae
2015-07-06 18:22   ` Paul Kocialkowski
2015-07-06 19:22     ` Steve Rae
  -- strict thread matches above, loose matches on Subject: below --
2015-01-20 22:42 [U-Boot] [PATCH 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
2015-01-22  7:00 ` Marek Vasut

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.