All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 3/4] usb: gadget: bcm_udc_otg files
Date: Wed, 08 Jul 2015 16:22:14 +0200	[thread overview]
Message-ID: <20150708162214.538a9745@amdc2363> (raw)
In-Reply-To: <559C35F6.4010106@broadcom.com>

Hi Steve,

> Hi, Lukasz
> 
> On 15-07-07 06:33 AM, Lukasz Majewski wrote:
> > Hi Steve,
> >
> >> 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>
> >> ---
> >>
> >> Changes in v2: None
> >>
> >>   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.
> >
> > --> Please also add the name of the code author.
> this is not standard practice at Broadcom....
> and it seems that at least five (5) people have contributed to the
> code in this commit....
> What would you suggest? The most recent author, or ???

I will not push you to add names if it is not mandatory in your company.

I just wanted to stress here that putting ones name is some kind of
reward when working with community.
 

> 
> >
> >> + *
> >> + * 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)))
> >
> > Maybe we could replace those preprocessor macros with static inline
> > functions?
> Hmmm - since writel() and readl() are also macros, it makes it
> difficult to make these into functions....

I think that it would be doable to embed writel() and readl() in a
static inline function.

> I guess we could use "uintprt_t" and "uint32_t"
> Would you agree?

We can give it a try.

> >
> >> +
> >> +#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.
> >
> > ---> The same as above.
> >
> >> + *
> >> + * 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);
> > 	^^^^^^^^^^^^^^ -- would it be possible to add some comment
> > 	regarding for what we are waiting here?
> OK
> 
> >> +
> >> +	/* 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);
> >> +}
> >
> >
> >
> Thanks, Steve



-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group

  reply	other threads:[~2015-07-08 14:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-06 19:49 [U-Boot] [PATCH v2 0/4] This series implements fastboot on the "bcm28155_ap" boards Steve Rae
2015-07-06 19:49 ` [U-Boot] [PATCH v2 1/4] g_dnl: add missing declaration Steve Rae
2015-07-07 13:19   ` Lukasz Majewski
2015-07-06 19:49 ` [U-Boot] [PATCH v2 2/4] usb: s3c-otg: support 8-bit interface Steve Rae
2015-07-07 13:27   ` Lukasz Majewski
2015-07-07 19:43     ` Steve Rae
2015-07-08 14:14       ` Lukasz Majewski
2015-07-06 19:49 ` [U-Boot] [PATCH v2 3/4] usb: gadget: bcm_udc_otg files Steve Rae
2015-07-07 13:33   ` Lukasz Majewski
2015-07-07 20:26     ` Steve Rae
2015-07-08 14:22       ` Lukasz Majewski [this message]
2015-07-08 14:35         ` Marek Vasut
2015-07-06 19:49 ` [U-Boot] [PATCH v2 4/4] implement Fastboot via USB OTG on bcm28155_ap boards Steve Rae
2015-07-07 13:39   ` Lukasz Majewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150708162214.538a9745@amdc2363 \
    --to=l.majewski@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.