All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC 1/6] odroid: exynos: USB initialization on the U3/X2
Date: Mon, 1 Apr 2019 14:57:08 +0200	[thread overview]
Message-ID: <20190401145708.1e142300@jawa> (raw)
In-Reply-To: <20190401115232.453-2-linux.amoon@gmail.com>

Hi Anand,

> From: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
> 
> Rename board_usb_init() to exynos_usb_init() and call it
> early in the Exynos EHCI driver when probing.
> 
> This kind of works. After a 'usb start; usb stop; usb start'
> cycle the attached devices are recognized.
> 
> Add small delay between gpio_direction_output to stable
> initialization of usb gpio pins.
> 
> Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
> Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> ---
> Reoder the exynos_usb_init so that "usb start" command initialization
> correcly.
> ---
> ---
>  board/samsung/odroid/odroid.c  | 14 +++++++++-----
>  drivers/usb/host/ehci-exynos.c |  7 +++++++
>  2 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/board/samsung/odroid/odroid.c
> b/board/samsung/odroid/odroid.c index 3e594fd850..79d14ead01 100644
> --- a/board/samsung/odroid/odroid.c
> +++ b/board/samsung/odroid/odroid.c
> @@ -468,8 +468,6 @@ struct dwc2_plat_otg_data s5pc210_otg_data = {
>  };
>  #endif
>  
> -#if defined(CONFIG_USB_GADGET) || defined(CONFIG_CMD_USB)
> -
>  static void set_usb3503_ref_clk(void)
>  {
>  #ifdef CONFIG_BOARD_TYPES
> @@ -490,9 +488,8 @@ static void set_usb3503_ref_clk(void)
>  #endif /* CONFIG_BOARD_TYPES */
>  }
>  
> -int board_usb_init(int index, enum usb_init_type init)
> +int exynos_usb_init(void)
>  {
> -#ifdef CONFIG_CMD_USB
>  	struct udevice *dev;
>  	int ret;
>  
> @@ -501,6 +498,7 @@ int board_usb_init(int index, enum usb_init_type
> init) /* Disconnect, Reset, Connect */
>  	gpio_direction_output(EXYNOS4X12_GPIO_X34, 0);
>  	gpio_direction_output(EXYNOS4X12_GPIO_X35, 0);
> +	sdelay(200000);
>  	gpio_direction_output(EXYNOS4X12_GPIO_X35, 1);
>  	gpio_direction_output(EXYNOS4X12_GPIO_X34, 1);
>  
> @@ -530,7 +528,13 @@ int board_usb_init(int index, enum usb_init_type
> init) pr_err("Regulator %s value setting error: %d\n", dev->name,
> ret); return ret;
>  	}
> -#endif
> +
> +	return 0;
> +}
> +
> +#ifdef CONFIG_USB_GADGET
> +int board_usb_init(int index, enum usb_init_type init)

We are not allowed to add board_usb_* code anymore. The _only_ way to
update/fix the USB gadget code is to convert it to driver model [DM] and
describe it via DTS.

Please consider converting this code to DM/DTS.

> +{
>  	debug("USB_udc_probe\n");
>  	return dwc2_udc_probe(&s5pc210_otg_data);
>  }
> diff --git a/drivers/usb/host/ehci-exynos.c
> b/drivers/usb/host/ehci-exynos.c index fabc662eb6..b0f7bd4936 100644
> --- a/drivers/usb/host/ehci-exynos.c
> +++ b/drivers/usb/host/ehci-exynos.c
> @@ -31,6 +31,8 @@ struct exynos_ehci_platdata {
>  	struct gpio_desc vbus_gpio;
>  };
>  
> +extern int exynos_usb_init(void);
> +
>  /**
>   * Contains pointers to register base addresses
>   * for the usb controller.
> @@ -152,6 +154,11 @@ static void exynos4412_setup_usb_phy(struct
> exynos4412_usb_phy *usb) setbits_le32(&usb->usbphyrstcon,
> (RSTCON_HOSTPHY_SWRST | RSTCON_SWRST)); udelay(10);
>  	clrbits_le32(&usb->usbphyrstcon, (RSTCON_HOSTPHY_SWRST |
> RSTCON_SWRST)); +
> +	/*
> +	 * "usb start" initialize the usb driver
> +	 */
> +	exynos_usb_init();
>  }
>  
>  static void setup_usb_phy(struct exynos_usb_phy *usb)




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190401/9935a596/attachment.sig>

  parent reply	other threads:[~2019-04-01 12:57 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01 11:52 [U-Boot] [RFC 0/6] Odroid U3 usb initialization Anand Moon
2019-04-01 11:52 ` [U-Boot] [RFC 1/6] odroid: exynos: USB initialization on the U3/X2 Anand Moon
2019-04-01 12:48   ` Krzysztof Kozlowski
2019-04-01 16:20     ` Anand Moon
2019-04-01 12:57   ` Lukasz Majewski [this message]
2019-04-01 13:22     ` Jack Mitchell
2019-04-03 19:58   ` Tobias Jakobi
2019-04-04  3:01     ` Anand Moon
2019-04-01 11:52 ` [U-Boot] [RFC 2/6] odroid: exynos: usb clean up for U3/X2 Anand Moon
2019-04-01 12:51   ` Krzysztof Kozlowski
2019-04-01 15:57     ` Anand Moon
2019-04-01 16:12       ` Krzysztof Kozlowski
2019-04-01 11:52 ` [U-Boot] [RFC 3/6] usb: exynos: add init_after_reset for usb reset Anand Moon
2019-04-01 12:55   ` Krzysztof Kozlowski
2019-04-01 16:05     ` Anand Moon
2019-04-01 16:14       ` Krzysztof Kozlowski
2019-04-01 11:52 ` [U-Boot] [RFC 4/6] configs: exynos: Add new CONFIG_SYS_ODROID_USB config option Anand Moon
2019-04-01 12:57   ` Krzysztof Kozlowski
2019-04-01 15:50     ` Anand Moon
2019-04-01 16:16       ` Krzysztof Kozlowski
2019-04-01 17:16         ` Anand Moon
2019-04-02  7:02           ` Krzysztof Kozlowski
2019-04-02  7:52             ` Anand Moon
2019-04-02  7:56               ` Krzysztof Kozlowski
2019-04-01 11:52 ` [U-Boot] [RFC 5/6] arm: exynos: odroid: fix the confict scripaddr extra env setting Anand Moon
2019-04-01 13:00   ` Krzysztof Kozlowski
2019-04-01 15:43     ` Anand Moon
2019-04-01 11:52 ` [U-Boot] [RFC 6/6] arm: exynos: add usbnet_devaddr setting to env Anand Moon
2019-04-01 13:04   ` Krzysztof Kozlowski
2019-04-01 16:42     ` Anand Moon

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=20190401145708.1e142300@jawa \
    --to=lukma@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.