Subject: Re: [RFC] Rework of i2c-mpc.c - Freescale i2c driver

From: Matt Sealey <[email-masked]>
Date: Mon, 05 Nov 2007 21:52:06 +0000

Scott Wood wrote:
> Jon Smirl wrote:

>>>>       cell-index = <1>;
>>> What is cell-index for?
>> I was using it to control the bus number, is that the wrong attribute?
> 
> It shouldn't be specified at all -- the hardware has no concept of a 
> device number.

Well, all i2c devices have a chip id you can probe for, as for buses I
think cell-index is a holdover from the way the PSC code is organised
on the MPC5200 for example - if you have multiple buses which use the
same registers, for example. It's redundant on the PSC's for programming
because they all use different register offsets but if you move to
other devices like the GPTs, then it is then useful for debugging (it
is far more interesting to say GPT1 than GPT @ offset to match the)
and in general for tweaking OTHER parts of the chip (for instance
the CDM - very relevant!) which use single registers to control entire
swathes of units.

This way if you are in any doubt you can tell which one you should
be futzing with in other parts of the chip without complicated logic
based on MBAR offsets from the manual (magic numbers hinder the
maintainability and portability of the code). It's not relevant for
i2c but like I said, still valid, useful information..

-- 
Matt Sealey <[email-masked]>
Genesi, Manager, Developer Relations