linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/14] ARM: kirkwood: convert uart0 to devicetree.
Date: Thu, 08 Mar 2012 16:22:44 -0600	[thread overview]
Message-ID: <4F593134.5000603@gmail.com> (raw)
In-Reply-To: <20120308215048.GN5050@titan.lakedaemon.net>

On 03/08/2012 03:50 PM, Jason wrote:
> On Thu, Mar 08, 2012 at 02:32:44PM -0700, Grant Likely wrote:
>> On Thu, Mar 08, 2012 at 02:47:25PM -0500, Jason wrote:
>>> On Thu, Mar 08, 2012 at 08:27:11PM +0100, Thomas Gleixner wrote:
>>>> On Thu, 8 Mar 2012, Arnd Bergmann wrote:
>>>>
>>>>> On Thursday 08 March 2012, Jason wrote:
>>>>>>
>>>>>> On Wed, Mar 07, 2012 at 09:13:04PM +0000, Arnd Bergmann wrote:
>>>>>>> Finally, something could be wrong with the interrupt controller.
>>>>>>> AFAICT, you register it through the device tree now, but it's also
>>>>>>> getting initialized through kirkwood_init_irq, so the numbers
>>>>>>> would all be wrong.
>>>>>>
>>>>>> Yes, I'm working through this now.  mv_cesa silently fails to come up
>>>>>> if it can't find the interrupt controller via fdt.  So, it needs to get
>>>>>> done.
>>>>>>
>>>>>> Right now, I'm looking at how mach-versatile does it (vic_init()) since
>>>>>> it's also an ARM926ej-s...
>>>>>>
>>>>>
>>>>> Ok, sounds good. It's not important whether it's an ARM9 or not btw.
>>>>> You should look at both anything that defines an "interrupt-controller"
>>>>> property as an example including Documentation/devicetree/bindings/arm/vic.txt
>>>>> and Documentation/devicetree/bindings/arm/gic.txt.
>>>>>
>>>>> (taking Thomas Gleixner on Cc)
>>>>>
>>>>> Since the orion irq chip is based on irqchip_generic, it would be
>>>>> perfect to have a generic irqchip binding to go along with
>>>>> kernel/irq/generic-chip.c. Not sure if anyone has thought about this
>>>>> before, but it looks like we can completely avoid using
>>>>> arch/arm/plat-orion/irq.c and arch/arm/mach-kirkwood/irq.c if we
>>>>> do that.

A generic irqchip binding is not the right approach. The binding should
still be specific to the controller as the generic irqchip code doesn't
handle everything like dispatching interrupts or know how many blocks of
32 interrupts your controller has.

>>>> Right. That should be trivial to implement.

Yes, since someone else already has (me).

>>>
>>> ok, I'm on it.  kernel/irq/of_generic_irq.c sound good?
>>
>> Rob Herring has done some work in this area.  Please coordinate with him.
> 
> Rob,
> 
> I'm attempting to convert mach-kirkwood boards over to devicetree,
> starting with the dreamplug.
> 
> You can find my stable patches here:
> 
> git://git.infradead.org/users/jcooper/linux-kirkwood.git kirkwood_dt_stable
> 
> and the stuff I'm still trying to figure out:
> 
> git://git.infradead.org/users/jcooper/linux-kirkwood.git kirkwood_dt_staging
> 
> My next task looks like converting the irq code, since mv_cesa fails
> silently without the interrupt-controller specified in the dtb.
> 
> The code I'm replacing can be found here:
> 
> arch/arm/mach-kirkwood/irq.c
> arch/arm/plat-orion/irq.c
> 
> This is the first time I've attempted something like this, so any
> pointers would be much appreciated.  Also, if there is anything I would
> need to deconflict with, please let me know.
> 

Look at my branch here:

git://sources.calxeda.com/kernel/linux.git irqdomain-for-grant

Your .init_irq function should call of_irq_init which will then call an
init function for each controller. Then you need to call
irq_setup_generic_chip_domain to setup the generic irqchip instances.

You also should convert to enabling CONFIG_MULTI_IRQ_HANDLER or I think
a linear domain won't work for you and that's what the generic irqchip
code will use. Also you should enable SPARSE_IRQ, but that is somewhat
independent.

In the DT case, you want to not have any compile time dependencies on
Linux irq numbers. If you're keeping non-DT compatibility, that will
complicate your conversion.

Rob

  reply	other threads:[~2012-03-08 22:22 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-01 18:20 [PATCH 0/4] ARM: kirkwood: fdt: convert kirkwood init funcs to fdt Jason Cooper
2012-03-01 18:20 ` [PATCH 1/4] ARM: kirkwood: move var setting to correct location Jason Cooper
2012-03-01 18:20 ` [PATCH 2/4] ARM: kirkwood: fdt: absorb kirkwood_init() Jason Cooper
2012-03-02  7:09   ` Grant Likely
2012-03-01 18:20 ` [PATCH 3/4] ARM: kirkwood: convert rtc-mv to fdt Jason Cooper
2012-03-01 19:35   ` Arnd Bergmann
2012-03-01 21:26     ` Jason
2012-03-02  7:19   ` Grant Likely
2012-03-02  9:48     ` Arnd Bergmann
2012-03-02 16:27     ` Jason
2012-03-04 14:59   ` Michael Walle
2012-03-04 16:48     ` Arnd Bergmann
2012-03-04 22:27       ` Jason
2012-03-04 23:22         ` Michael Walle
2012-03-01 18:20 ` [PATCH 4/4] ARM: kirkwood: convert orion-wdt " Jason Cooper
2012-03-01 19:48   ` Arnd Bergmann
2012-03-02  7:22   ` Grant Likely
2012-03-02  9:15   ` Simon Guinot
2012-03-02 14:15     ` Jason
2012-03-02 14:56       ` Arnd Bergmann
2012-03-02 15:36         ` Jason
2012-03-02 16:48           ` Arnd Bergmann
2012-03-02 17:02             ` Jason
2012-03-02 22:36               ` Andrew Lunn
2012-03-03 22:54                 ` Jason
2012-03-01 19:50 ` [PATCH 0/4] ARM: kirkwood: fdt: convert kirkwood init funcs " Arnd Bergmann
2012-03-01 20:01   ` Jason
2012-03-01 20:28     ` Arnd Bergmann
2012-03-01 21:23       ` Jason
2012-03-01 22:14         ` Arnd Bergmann
2012-03-02 16:31           ` Jason
2012-03-02 16:58             ` Arnd Bergmann
2012-03-02 17:04               ` Jason
2012-03-02 17:50 ` [PATCH 0/5 v2] " Jason Cooper
2012-03-02 17:50   ` [PATCH 1/5 v2] ARM: kirkwood: covert orion-spi " Jason Cooper
2012-03-04 18:12     ` Michael Walle
2012-03-04 20:29       ` Arnd Bergmann
2012-03-02 17:50   ` [PATCH 2/5] ARM: kirkwood: move var setting to correct location Jason Cooper
2012-03-02 17:50   ` [PATCH 3/5 v2] ARM: kirkwood: fdt: absorb kirkwood_init() Jason Cooper
2012-03-02 17:50   ` [PATCH 4/5 v2] ARM: kirkwood: convert rtc-mv to fdt Jason Cooper
2012-03-04 15:12     ` Michael Walle
2012-03-04 16:50       ` Arnd Bergmann
2012-03-05  0:17         ` Jason
2012-03-02 17:50   ` [PATCH 5/5 v2] ARM: kirkwood: convert orion-wdt " Jason Cooper
2012-03-02 18:32     ` Arnd Bergmann
2012-03-02 19:57       ` Jason
2012-03-02 20:02         ` Arnd Bergmann
     [not found]       ` <20120302200034.GQ11986@titan.lakedaemon.net>
2012-03-02 20:35         ` [PULL REQUEST v2] ARM: kirkwood: fdt: convert kirkwood init funcs " Arnd Bergmann
2012-03-02 21:18           ` Arnd Bergmann
2012-03-05 18:49             ` Nicolas Pitre
2012-03-05 19:15               ` Jason
2012-03-05 20:16                 ` Arnd Bergmann
2012-03-05 20:29                   ` Jason
2012-03-05 20:43                     ` Nicolas Pitre
2012-03-05 21:17                       ` Jason
2012-03-05 21:27                         ` Nicolas Pitre
2012-03-06 14:29                           ` Jason
2012-03-03 10:08       ` [PATCH 5/5 v2] ARM: kirkwood: convert orion-wdt " Russell King - ARM Linux
2012-03-03 23:05         ` Jason
2012-03-02 17:52   ` [PULL REQUEST] ARM: kirkwood: fdt: convert kirkwood init funcs " Jason
2012-03-02 17:56     ` Jason
2012-03-07  3:44 ` [PATCH 0/14 v3] ARM: kirkwood: fdt: convert kirkwood " Jason Cooper
2012-03-07  3:44   ` [PATCH 01/14] ARM: orion: spi: remove enable_clock_fix which is not used Jason Cooper
2012-03-09  4:33     ` Grant Likely
2012-03-07  3:44   ` [PATCH 02/14] ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data Jason Cooper
2012-03-07  3:44   ` [PATCH 03/14] ARM: kirkwood: add dreamplug (fdt) support Jason Cooper
2012-03-07  3:44   ` [PATCH 04/14] ARM: kirkwood: fdt: absorb kirkwood_init() Jason Cooper
2012-03-07  3:44   ` [PATCH 05/14] ARM: kirkwood: add interrupt controller to devicetree Jason Cooper
2012-03-07  3:44   ` [PATCH 06/14] ARM: kirkwood: convert uart0 " Jason Cooper
2012-03-07 18:31     ` Arnd Bergmann
2012-03-07 18:37       ` Jason
2012-03-07 19:27       ` Jason
2012-03-07 20:05         ` Andrew Lunn
2012-03-07 20:55           ` Jason
2012-03-07 21:13         ` Arnd Bergmann
2012-03-07 21:29           ` Jason
2012-03-08 16:25           ` Jason
2012-03-08 17:01             ` Arnd Bergmann
2012-03-08 17:41               ` Arnd Bergmann
2012-03-08 19:27               ` Thomas Gleixner
2012-03-08 19:47                 ` Jason
2012-03-08 21:32                   ` Grant Likely
2012-03-08 21:50                     ` Jason
2012-03-08 22:22                       ` Rob Herring [this message]
2012-03-08 21:27           ` Grant Likely
2012-03-08 23:14             ` Arnd Bergmann
2012-03-07 21:47         ` Michael Walle
2012-03-08 21:31         ` Grant Likely
2012-03-08 21:55           ` Jason
2012-03-07  3:44   ` [PATCH 07/14] ARM: kirkwood: rtc-mv devicetree bindings Jason Cooper
2012-03-07  3:44   ` [PATCH 08/14] ARM: kirkwood: use devicetree for rtc-mv Jason Cooper
2012-03-07 18:32     ` Arnd Bergmann
2012-03-07  3:44   ` [PATCH 09/14] ARM: kirkwood: mv_cesa devicetree bindings Jason Cooper
2012-03-07  3:44   ` [PATCH 10/14] ARM: kirkwood: mv_cesa devicetree support Jason Cooper
2012-03-07  3:44   ` [PATCH 11/14] ARM: kirkwood: ehci-orion: add device tree binding Jason Cooper
2012-03-07  3:44   ` [PATCH 12/14] ARM: kirkwood: use devicetree for orion-ehci Jason Cooper
2012-03-07  3:44   ` [PATCH 13/14] ARM: kirkwood: sata_mv: add device tree binding Jason Cooper
2012-03-07  3:44   ` [PATCH 14/14] ARM: kirkwood: use devicetree to init sata_mv Jason Cooper
2012-03-07 18:40     ` Arnd Bergmann
2012-03-07 18:52       ` Jason
2012-03-07 19:00         ` Arnd Bergmann
2012-03-13  1:57 ` [PATCH 0/7 v4] ARM: kirkwood: fdt: convert kirkwood to fdt Jason Cooper
2012-03-13  1:57   ` [PATCH 1/7] ARM: orion: spi: remove enable_clock_fix which is not used Jason Cooper
2012-03-13  1:57   ` [PATCH 2/7] ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data Jason Cooper
2012-03-13  1:57   ` [PATCH 3/7 v2] ARM: orion: wdt: use resource vice direct access Jason Cooper
2012-03-13  9:54     ` Arnd Bergmann
2012-03-13  1:57   ` [PATCH 4/7 v4] ARM: kirkwood: add dreamplug (fdt) support Jason Cooper
2012-03-13 10:10     ` Arnd Bergmann
2012-03-13 13:12       ` Jason Cooper
2012-04-05 22:07     ` Ian Campbell
2012-04-05 22:41       ` Jason Cooper
2012-04-06  8:52         ` Ian Campbell
     [not found]         ` <384286E8-E5C8-4069-9702-8A24C70D799C@gmail.com>
2012-04-16 13:27           ` dreamplug kernel and uboot code and apparent dreamplug board design change Jason Cooper
2012-03-13  1:57   ` [PATCH 5/7 v2] ARM: kirkwood: convert uart0 to devicetree Jason Cooper
2012-03-13 13:18     ` Jason Cooper
2012-03-13  1:57   ` [PATCH 6/7] ARM: kirkwood: rtc-mv devicetree bindings Jason Cooper
2012-03-13  9:57     ` Arnd Bergmann
2012-03-13 10:03     ` Uwe Kleine-König
2012-03-13  1:57   ` [PATCH 7/7] ARM: kirkwood: use devicetree for rtc-mv Jason Cooper
2012-03-13  9:58     ` Arnd Bergmann
2012-03-13 13:22       ` Jason Cooper
2012-03-13 13:44         ` Arnd Bergmann
2012-03-16  4:21 ` [PATCH 0/9 v5] ARM: kirkwood: fdt: convert kirkwood to fdt Jason Cooper
2012-03-16  4:21   ` [PATCH 1/9] ARM: orion: spi: remove enable_clock_fix which is not used Jason Cooper
2012-03-16  4:21   ` [PATCH 2/9] ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data Jason Cooper
2012-03-16  4:21   ` [PATCH 3/9 v3] ARM: orion: wdt: use resource vice direct access Jason Cooper
2012-03-16  4:21   ` [PATCH 4/9] ARM: kirkwood: fdt: use mrvl ticker symbol Jason Cooper
2012-03-16  4:21   ` [PATCH 5/9] ARM: kirkwood: fdt: absorb kirkwood_init() Jason Cooper
2012-03-16  4:21   ` [PATCH 6/9 v2] ARM: kirkwood: fdt: facilitate new boards during fdt migration Jason Cooper
2012-03-16  4:21   ` [PATCH 7/9] ARM: kirkwood: fdt: define uart[01] as disabled, enable uart0 Jason Cooper
2012-03-16  4:21   ` [PATCH 8/9 v2] ARM: kirkwood: rtc-mv devicetree bindings Jason Cooper
2012-03-16  4:21   ` [PATCH 9/9] ARM: kirkwood: use devicetree for rtc-mv Jason Cooper
2012-03-16 20:18   ` [PATCH 0/9 v5] ARM: kirkwood: fdt: convert kirkwood to fdt Arnd Bergmann
2012-03-16 20:28     ` Jason Cooper
2012-03-16 20:41       ` Arnd Bergmann
2012-03-16 21:02         ` Jason Cooper

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=4F593134.5000603@gmail.com \
    --to=robherring2@gmail.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).