Subject: QUERY: How to handle SOC Configuration (Peripheral Multiplexing) in linux

From: [email-masked] (Shiraz HASHIM)
Date: Mon, 15 Mar 2010 10:44:33 +0530

Hello Jassi,

On 3/15/2010 10:17 AM, jassi brar wrote:
> On Mon, Mar 15, 2010 at 1:31 PM, Viresh KUMAR <[email-masked]> wrote:
>> In our SOC's (SPEArxxx), we have many peripheral sharing PL_GPIO pins and so
>> only few peripherals can be selected in a configuration. This is configurable
>> using a set of registers. Now the problem is to make following work:
>>
>> 1. How to do this selection in kernel in a simple way?
>> 2. Based on this selection hardware registers needs to be configured.
> Why can't you make the drivers acquire and setup the necessary pins during
> probe?
> Among other benefits, it enables you to use the same kernel image and device
> drivers as modules -- if a GPIO can be used by two different device
> controllers, you
> can switch the 'mode' of the board by simple rmmod-insmod

I think the problem is we cannot change the standard drivers (already in the
mainline). So if the standard driver doesn't support this in its probe, then
how should we manage this?

Further these configurations are board dependent, so I think driver must be
independent of this.

regards
Shiraz