linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Stern <stern@rowland.harvard.edu>
To: Alexander Dahl <ada@thorsis.com>
Cc: linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, rca@thorsis.com
Subject: Re: Enable HSIC Host Port on Atmel/Microchip SAMA5D2
Date: Mon, 23 Aug 2021 10:00:52 -0400	[thread overview]
Message-ID: <20210823140052.GA120849@rowland.harvard.edu> (raw)
In-Reply-To: <2869763.XZdSvA6Ref@ada>

On Mon, Aug 23, 2021 at 11:24:35AM +0200, Alexander Dahl wrote:
> Hello,
> 
> for a new embedded board featuring a Microchip SAMA5D2 SoC (64 MiB SiP variant 
> SAMA5D27C-D5M) we connected the third USB host port (HSIC only) with an 
> USB3503 hub chip. This doesn't work out of the box with the Linux kernel 
> currently, because neither the SoC nor the kernel does enable the HSIC 
> interface by default.
> 
> That SoC has three USB host ports, from the SAMA5D2 Series Datasheet [1] I 
> learned there's a flag in an EHCI register, which has to be set to enable the 
> HSIC interface on port C, the third port. (Section "41.7.14 EHCI: REG08 - HSIC 
> Enable/Disable" of the datasheet.) I suppose that register is vendor specific. 
> The register definitions in '/include/linux/usb/ehci_def.h' do not contain 
> that register.
> 
> Where would I add that register definition and set that flag in the kernel 
> then?  I suppose in the vendor specific ehci driver?  
> That would be 'drivers/usb/host/ehci-atmel.c' right?

That is where you would set the flag.  You might want to put the 
register definition in ehci_def.h, with the other definitions.

> Since that feature is optional (other boards don't need to turn on hsic on 
> that port), some driver specific new device tree binding would be necessary, 
> right?  I suppose that would have to be documented in 'Documentation/
> devicetree/bindings/usb/atmel-usb.txt' right? (Or that would have to be 
> converted to yaml first?)

Yes, it would have to go into the device tree data somehow.  I don't 
know the best way to do this; people who know more about DT may be able 
to tell you.

> Is this the right track?  If yes, I'm going to develop patches for this. 
> Otherwise any hint into the right direction are highly appreciated.

Yes, this is the right approach.

Alan Stern

> FWIW, I'm not the first one struggling [2] with this problem. ;-)
> 
> Greets
> Alex
> 
> [1] https://www.microchip.com/en-us/product/ATSAMA5D27C-D5M#document-table
> [2] https://community.atmel.com/forum/sama5d2-using-hsic-under-linux

  reply	other threads:[~2021-08-23 14:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-23  9:24 Enable HSIC Host Port on Atmel/Microchip SAMA5D2 Alexander Dahl
2021-08-23 14:00 ` Alan Stern [this message]
2021-08-24  6:37   ` [RFC PATCH] USB: host: ehci-atmel: Allow enabling HSIC on SAMA5D2 Alexander Dahl
2021-08-24  6:45     ` Greg Kroah-Hartman
2021-09-02 15:33     ` Nicolas Ferre
2021-09-06  7:20       ` Alexander Dahl

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=20210823140052.GA120849@rowland.harvard.edu \
    --to=stern@rowland.harvard.edu \
    --cc=ada@thorsis.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=rca@thorsis.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).