From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755589AbcEZVW2 (ORCPT ); Thu, 26 May 2016 17:22:28 -0400 Received: from avon.wwwdotorg.org ([70.85.31.133]:42920 "EHLO avon.wwwdotorg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755243AbcEZVW0 (ORCPT ); Thu, 26 May 2016 17:22:26 -0400 Subject: Re: [RFC 1/5] usb: chipidea: Add support for Tegra20/30/114/124 To: Thierry Reding References: <20160526154005.11558-1-thierry.reding@gmail.com> <20160526154005.11558-2-thierry.reding@gmail.com> <574767D8.8020203@wwwdotorg.org> Cc: Peter Chen , Greg Kroah-Hartman , Alexandre Courbot , Jon Hunter , linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org From: Stephen Warren Message-ID: <5747690F.20707@wwwdotorg.org> Date: Thu, 26 May 2016 15:22:23 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <574767D8.8020203@wwwdotorg.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/26/2016 03:17 PM, Stephen Warren wrote: > On 05/26/2016 09:40 AM, Thierry Reding wrote: >> From: Thierry Reding >> >> All of these Tegra SoC generations have a ChipIdea UDC IP block that can >> be used for device mode communication with a host. Implement rudimentary >> support that doesn't allow switching between host and device modes. > > Are you sure this is correct for Tegra20? I ask because for the /host/ > mode driver, there's a "has_hostpc" flag which is set to false for > Tegra20 and true for all other SoCs. In the U-Boot device mode driver > (if not in the kernel driver; I didn't check), there's a concept of "has > hostpc" too. I might expect that flag to be set the same way for both > drivers. That said, I /think/ the host and device HW are unrelated, so > it's possible has_hostpc might be set differently for them. > Unfortunately, we haven't enabled the device mode driver for any Tegra20 > system in U-Boot so I can't tell whether we should enable has_hostpc for > Tegra20's device mode driver. > > Still, if this code works then I guess it's likely correct... On the other hand, it looks like the kernel device mode driver might auto-detect this; in core.c:hw_device_init(), I see: reg = hw_read(ci, CAP_HCCPARAMS, HCCPARAMS_LEN) >> __ffs(HCCPARAMS_LEN); ci->hw_bank.lpm = reg; ... and in host.c:host_start(), I see: ehci->has_hostpc = ci->hw_bank.lpm;