Re: [PATCH] serial/efm32: parse location property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 4, 2013 at 3:38 PM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
> On Mon, 21 Jan 2013 14:22:56 +0100, Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> wrote:
>> The non-dt probing allowed passing the location via platform data from
>> the beginning. So make up leeway for device tree probing.
>>
>> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
>
> Linus, does this look like some thing that should be done using pinctrl?

Hm it's a bit weird actually.

Most platforms will have some cetral entity dealing with pin multiplexing,
and often it is combined with either a system controller register range,
or it's combined with a GPIO controller (which is more common).

This is a new oddity: it's like multiplexing is distributed out among the
peripherals on the EFM32, or atleast for this UART, so there is a
register on the peripheral itself selecting where to route it.

If all peripherals on the system follows this pattern, like if there is
some such "location" register on each and every peripheral, ideally
that should be centralized into some file like drivers/pinctrl/pinctrl-efm32.c
but the thing is that then that driver needs to own a single register
or even just part of a register in each peripheral device memory
range.

And that seems a bit complex to handle.

But if the EFM32 is using device tree exclusively it's actually
just an array of named  <&ampersand> references in the node for
the pin controller, pointing to each peripheral with a mux register.
So maybe that's not that bad after all.

Still it might be a bit overzealous to request that each device
ask a central entity to write one of its own registers. So it needs
to buy you something - like for example if it is possible to
completely screw up the muxing if different peripherals are
muxed to the same pins.

So it all depends, we need a birds-eye view of the system to
determine this. I tried looking at the datasheet but couldn't figure
it out. Uwe how does this work on EFM32?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux