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!
> ...
>
next prev parent 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 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.