linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: chris.ruehl@gtsys.com.hk (Chris Ruehl)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] usb: chipidea: usbmisc: Add support for i.MX27/i.MX31 CPUs
Date: Mon, 11 Nov 2013 13:33:24 +0800	[thread overview]
Message-ID: <52806C24.8040100@gtsys.com.hk> (raw)
In-Reply-To: <1384145140.400290349@f353.i.mail.ru>


On Monday, November 11, 2013 12:45 PM, Alexander Shiyan wrote:
>> Hi Alexander,
>>
>> On Sunday, November 10, 2013 03:18 PM, Alexander Shiyan wrote:
>>> This adds i.MX27 and i.MX31 as the next user of the usbmisc driver.
>>>
>>> Signed-off-by: Alexander Shiyan<shc_work@mail.ru>
>>> ---
>>>    drivers/usb/chipidea/usbmisc_imx.c | 42 ++++++++++++++++++++++++++++++++++++++
>>>    1 file changed, 42 insertions(+)
>>>
>>> diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
> ...
>>> +static int usbmisc_imx27_init(struct imx_usbmisc_data *data)
>>> +{
>>> +	unsigned long flags;
>>> +	u32 val;
>>> +
>>> +	switch (data->index) {
>>> +	case 0:
>>> +		val = MX27_OTG_PM_BIT;
>>> +		break;
>>> +	case 1:
>>> +		val = MX27_H1_PM_BIT;
>>> +		break;
>>> +	case 2:
>>> +		val = MX27_H2_PM_BIT;
>>> +		break;
>>> +	default:
>>> +		return -EINVAL;
>>> +	};
>>> +
>>
>>    From my understanding this can not work, the usbmisc->base not point into the
>> usb control register (USB_CTRL). Reference manual 30.5.1.1 says
>> BASE + 0x600
>> you must add the offset to the readl instruction.
>
> Why not work?
> usbotg: usb at 10024000
> usbh1: usb at 10024200
> usbh2: usb at 10024400
> usbmisc: usbmisc at 10024600
> So, offset to USB_CTRL should already be defined by DTS.

in the usbmisc_imx_probe() the base pointer is loaded from

res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
data->base = devm_ioremap_resource(&pdev->dev, res);

(and I did not see any of_ operations)

usbmisc = data;

  base is set to 0x10024000

when I look around all other functions init functions did a offset calculation.

>
>
>>> +	spin_lock_irqsave(&usbmisc->lock, flags);
>>> +	if (data->disable_oc)
>>> +		val = readl(usbmisc->base) | val;
>>
>> else part not needed, the registers bits are set to 0 (reset)
>> the function is called on start-up once only, right?!
>>
>>> +	else
>>> +		val = readl(usbmisc->base)&   ~val;
>>> +	writel(val, usbmisc->base);
>>> +	spin_unlock_irqrestore(&usbmisc->lock, flags);
>>> +
>>> +	return 0;
>>> +}
>
> Bit can be set/cleared wrongly by the bootloader, it is not a big
> overhead to set it in proper state.
>
ohh, yes that true!

> ...
>

  reply	other threads:[~2013-11-11  5:33 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-10  7:18 [PATCH 1/2] usb: chipidea: usbmisc: Add support for i.MX27/i.MX31 CPUs Alexander Shiyan
2013-11-10  7:18 ` [PATCH 2/2] usb: chipidea: usbmisc: Add support for i.MX51 CPU Alexander Shiyan
2013-11-14 11:42   ` Peter Chen
2013-11-14 18:07   ` Matt Sealey
2013-11-16 13:35     ` Peter Chen
2013-11-16 13:46       ` Alexander Shiyan
2013-11-17  4:52         ` Peter Chen
2013-11-11  2:30 ` [PATCH 1/2] usb: chipidea: usbmisc: Add support for i.MX27/i.MX31 CPUs Chris Ruehl
2013-11-11  4:45   ` Alexander Shiyan
2013-11-11  5:33     ` Chris Ruehl [this message]
2013-11-11  5:47       ` Alexander Shiyan
2013-11-11  6:10         ` Chris Ruehl
2013-11-11  7:09           ` Alexander Shiyan
2014-01-11 12:55             ` Uwe Kleine-König
2014-01-11 14:01               ` Alexander Shiyan
2014-01-13 21:31                 ` Uwe Kleine-König
2014-01-14  3:30                   ` Alexander Shiyan
2014-01-14  3:53                     ` Chris Ruehl
2014-01-14 13:49                       ` Uwe Kleine-König
2014-01-15  1:52                         ` Chris Ruehl
2014-01-16  9:03                           ` Uwe Kleine-König
2014-01-14 13:47                     ` Uwe Kleine-König
2014-01-14 13:54                       ` Uwe Kleine-König
2014-01-11 12:59           ` Uwe Kleine-König
2013-11-14 11:41     ` Peter Chen

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=52806C24.8040100@gtsys.com.hk \
    --to=chris.ruehl@gtsys.com.hk \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).