All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH 3/3] ARM: atmel: add RNDIS gadget support
Date: Wed, 4 Sep 2013 00:31:58 +0200	[thread overview]
Message-ID: <201309040031.58932.marex@denx.de> (raw)
In-Reply-To: <1378180030-26101-4-git-send-email-voice.shen@atmel.com>

Dear Bo Shen,

> Add RNDIS gadget support to test atmel usba udc driver
> 
> Signed-off-by: Bo Shen <voice.shen@atmel.com>
> 
> ---
>  arch/arm/cpu/armv7/at91/sama5d3_devices.c    |   12 ++++++
>  arch/arm/include/asm/arch-at91/at91_common.h |    1 +
>  board/atmel/sama5d3xek/sama5d3xek.c          |   51
> ++++++++++++++++++++++++++ include/configs/sama5d3xek.h                 | 
>   8 ++++
>  4 files changed, 72 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv7/at91/sama5d3_devices.c
> b/arch/arm/cpu/armv7/at91/sama5d3_devices.c index 4a3fca5..12c6d08 100644
> --- a/arch/arm/cpu/armv7/at91/sama5d3_devices.c
> +++ b/arch/arm/cpu/armv7/at91/sama5d3_devices.c
> @@ -178,3 +178,15 @@ void at91_lcd_hw_init(void)
>  	at91_periph_clk_enable(ATMEL_ID_LCDC);
>  }
>  #endif
> +
> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA
> +void at91_udp_hw_init(void)
> +{
> +	struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
> +
> +	/* Enable UPLL clock */
> +	writel(AT91_PMC_UPLLEN | AT91_PMC_BIASEN, &pmc->uckr);
> +	/* Enable UDPHS clock */
> +	at91_periph_clk_enable(ATMEL_ID_UDPHS);
> +}
> +#endif
> diff --git a/arch/arm/include/asm/arch-at91/at91_common.h
> b/arch/arm/include/asm/arch-at91/at91_common.h index d659702..7acc1b0
> 100644
> --- a/arch/arm/include/asm/arch-at91/at91_common.h
> +++ b/arch/arm/include/asm/arch-at91/at91_common.h
> @@ -18,6 +18,7 @@ void at91_serial2_hw_init(void);
>  void at91_seriald_hw_init(void);
>  void at91_spi0_hw_init(unsigned long cs_mask);
>  void at91_spi1_hw_init(unsigned long cs_mask);
> +void at91_udp_hw_init(void);
>  void at91_uhp_hw_init(void);
>  void at91_lcd_hw_init(void);
> 
> diff --git a/board/atmel/sama5d3xek/sama5d3xek.c
> b/board/atmel/sama5d3xek/sama5d3xek.c index 4a309ad..161e8ed 100644
> --- a/board/atmel/sama5d3xek/sama5d3xek.c
> +++ b/board/atmel/sama5d3xek/sama5d3xek.c
> @@ -20,6 +20,10 @@
>  #include <net.h>
>  #include <netdev.h>
> 
> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA
> +#include <linux/usb/atmel_usba_udc.h>
> +#endif
> +
>  DECLARE_GLOBAL_DATA_PTR;
> 
>  /*
> -------------------------------------------------------------------------
> */ @@ -169,6 +173,9 @@ int board_init(void)
>  #ifdef CONFIG_CMD_USB
>  	sama5d3xek_usb_hw_init();
>  #endif
> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA
> +	at91_udp_hw_init();
> +#endif
>  #ifdef CONFIG_GENERIC_ATMEL_MCI
>  	sama5d3xek_mci_hw_init();
>  #endif
> @@ -193,6 +200,44 @@ int dram_init(void)
>  	return 0;
>  }
> 
> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA
> +#define EP(nam, idx, maxpkt, maxbk, dma, isoc)		\
> +	[idx] = {					\
> +		.name	= nam,				\
> +		.index	= idx,				\
> +		.fifo_size	= maxpkt,		\
> +		.nr_banks	= maxbk,		\
> +		.can_dma	= dma,			\
> +		.can_isoc	= isoc,			\
> +	}
> +
> +static struct usba_ep_data usba_udc_ep[] = {
> +	EP("ep0", 0, 64, 1, 0, 0),
> +	EP("ep1", 1, 1024, 3, 1, 0),
> +	EP("ep2", 2, 1024, 3, 1, 0),
> +	EP("ep3", 3, 1024, 2, 1, 0),
> +	EP("ep4", 4, 1024, 2, 1, 0),
> +	EP("ep5", 5, 1024, 2, 1, 0),
> +	EP("ep6", 6, 1024, 2, 1, 0),
> +	EP("ep7", 7, 1024, 2, 1, 0),
> +	EP("ep8", 8, 1024, 2, 0, 0),
> +	EP("ep9", 9, 1024, 2, 0, 0),
> +	EP("ep10", 10, 1024, 2, 0, 0),
> +	EP("ep11", 11, 1024, 2, 0, 0),
> +	EP("ep12", 12, 1024, 2, 0, 0),
> +	EP("ep13", 13, 1024, 2, 0, 0),
> +	EP("ep14", 14, 1024, 2, 0, 0),
> +	EP("ep15", 15, 1024, 2, 0, 0),
> +};

Can this not be part of the driver itself ?

  reply	other threads:[~2013-09-03 22:31 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-03  3:47 [U-Boot] [RFC PATCH 0/3] USB: atmel: add atmel usba udc driver support Bo Shen
2013-09-03  3:47 ` [U-Boot] [RFC PATCH 1/3] USB: gadget: add atmel usba udc driver Bo Shen
2013-09-03 22:30   ` Marek Vasut
2013-09-04  1:38     ` Bo Shen
2013-09-04  1:55       ` Marek Vasut
2013-09-03  3:47 ` [U-Boot] [RFC PATCH 2/3] ARM: atmel: correct UDPHS name Bo Shen
2013-09-03  3:47 ` [U-Boot] [RFC PATCH 3/3] ARM: atmel: add RNDIS gadget support Bo Shen
2013-09-03 22:31   ` Marek Vasut [this message]
2013-09-04  1:46     ` Bo Shen
2013-09-04  1:55       ` Marek Vasut
2013-09-04  2:01         ` Bo Shen
2013-09-04  7:32           ` Andreas Bießmann
2013-09-04  7:42             ` Bo Shen
2013-09-04  7:56               ` Andreas Bießmann
2013-09-04 12:25                 ` Marek Vasut

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=201309040031.58932.marex@denx.de \
    --to=marex@denx.de \
    --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.