linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: boris.brezillon@free-electrons.com (Boris BREZILLON)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: at91: at91sam9x5: sets NPCS0 (PA14) back to GPIO
Date: Fri, 25 Jul 2014 12:18:04 +0200	[thread overview]
Message-ID: <20140725121804.18b05a5d@bbrezillon> (raw)
In-Reply-To: <53D22C26.4030208@aksignal.cz>

On Fri, 25 Jul 2014 12:06:30 +0200
Ji?? Prchal <jiri.prchal@aksignal.cz> wrote:

> 
> 
> Dne 25.7.2014 v 11:31 Boris BREZILLON napsal(a):
> > On Fri, 25 Jul 2014 11:13:51 +0200
> > Ji?? Prchal <jiri.prchal@aksignal.cz> wrote:
> >
> >
> >>>
> >>> Every thing seems in place.
> >>> Could you enable CONFIG_DEBUG_PINCTRL and grep on "enable pin" ?
> >> / # dmesg | grep "enable pin"
> >> [    0.968750] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 101 as GPIO
> >> [    0.968750] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 101 as PIOD5 0x20
> >> [    0.968750] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 100 as GPIO
> >> [    0.968750] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 100 as PIOD4 0x10
> >> [    1.238281] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 23 as GPIO
> >> [    1.238281] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 23 as PIOA23 0x800000
> >> [    1.238281] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 22 as GPIO
> >> [    1.238281] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 22 as PIOA22 0x400000
> >> [    1.242187] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 93 as GPIO
> >> [    1.242187] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 93 as PIOC29 0x20000000
> >> [    1.246093] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 14 as GPIO
> >> [    1.246093] pinctrl-at91 ahb:apb:pinctrl at fffff400: enable pin 14 as PIOA14 0x4000
> >
> >
> > Okay, this cleary shows that PA14 pin is muxed as a GPIO (or at least
> > the driver think it is).
> >
> >
> > Could you launch these commands (you'll need the devmem tool) and
> > paste the results ?
> >
> > #devmem 0xfffff408
> > #devmem 0xfffff418
> > #devmem 0xfffff438
> > #devmem 0xfffff43c
> > #devmem 0xfffff458
> > #devmem 0xfffff468
> > #devmem 0xfffff470
> > #devmem 0xfffff474
> > #devmem 0xfffff498
> >
> / # devmem 0xfffff408
> 0xF0E04018
> / # devmem 0xfffff418
> 0xE0C04000
> / # devmem 0xfffff438
> 0x00C04000
> / # devmem 0xfffff43c
> 0x13FFD7FB
> / # devmem 0xfffff458
> 0x00000000
> / # devmem 0xfffff468
> 0xFF223B4E
> / # devmem 0xfffff470
> 0x0F000000
> / # devmem 0xfffff474
> 0x00000000
> / # devmem 0xfffff498
> 0xFFFFFFFF
> 
> I get thought if is possible that in time of probe fm25 (it's first) is not configured PA14 (it 's last)?

Oh, nice catch!
I think you've found the origin of this bug.
Indeed each device is instantiated sequentially and thus when the first
device is probed (CS0) the last one has not requested it's cs_gpio yet
(and PA14 is still assigned to periph A).

Declaring cs-pins and referencing them in pinctrl-0 solves the issue
because in this case all CS pins are requested during controller probe.

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

  reply	other threads:[~2014-07-25 10:18 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-11 10:22 [PATCH] ARM: at91: at91sam9x5: add clocks for usb device Bo Shen
2014-07-11 10:47 ` Alexandre Belloni
2014-07-11 10:55   ` Jiří Prchal
2014-07-24 13:38 ` [PATCH] ARM: at91: at91sam9x5: sets NPCS0 (PA14) back to GPIO Jiří Prchal
2014-07-24 14:26   ` Boris BREZILLON
2014-07-24 15:06     ` Jiří Prchal
2014-07-24 15:58       ` Boris BREZILLON
2014-07-25  6:14         ` Jiří Prchal
2014-07-25  7:53           ` Boris BREZILLON
2014-07-25  8:27             ` Jiří Prchal
2014-07-25  8:45               ` Boris BREZILLON
2014-07-25  8:54                 ` Jiří Prchal
2014-07-25  9:01                   ` Boris BREZILLON
2014-07-25  9:13                     ` Jiří Prchal
2014-07-25  9:31                       ` Boris BREZILLON
2014-07-25 10:06                         ` Jiří Prchal
2014-07-25 10:18                           ` Boris BREZILLON [this message]
2014-07-25 10:32                             ` Jiří Prchal
2014-07-25 11:34                               ` Boris BREZILLON
2014-07-25  8:33             ` Jiří Prchal
2014-07-25  8:30           ` Alexandre Belloni
2014-07-25  8:36             ` Boris BREZILLON
2014-07-25  8:50               ` Alexandre Belloni
2014-07-25  8:37             ` Jiří Prchal
2014-07-25  8:54               ` Alexandre Belloni
2014-07-25  8:59                 ` Jiří Prchal
2014-07-25  9:02                   ` Alexandre Belloni
2014-07-25  9:10                   ` Boris BREZILLON
2014-07-25  9:40                     ` Jiří Prchal

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=20140725121804.18b05a5d@bbrezillon \
    --to=boris.brezillon@free-electrons.com \
    --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).