public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rogier Wolff <R.E.Wolff@BitWizard.nl>
To: Florian Fainelli <florian@openwrt.org>
Cc: Rogier Wolff <R.E.Wolff@BitWizard.nl>,
	linux-kernel@vger.kernel.org, linux-mips@linux-mips.org
Subject: Re: BCM36xx support.
Date: Thu, 31 May 2012 16:25:40 +0200	[thread overview]
Message-ID: <20120531142540.GA4785@bitwizard.nl> (raw)
In-Reply-To: <7383662.i0oNtC19fQ@flexo>


Hi Florian, 

On Thu, May 31, 2012 at 03:55:34PM +0200, Florian Fainelli wrote:
> First of all, you should have CC'd linux-mips, because that's where
> BCM63xx development happens.

As I'm not familiar with mips-development, I didn't know that. 

> On Wednesday 18 April 2012 07:51:40 Rogier Wolff wrote:
> > 
> > While working on SPI and I2C support for the BCM2835, I found the
> > BCM63xx SPI driver in the kernel. Turns out that this support
> > was partially merged: 
> > 
> > The support can only be enabled when BCM63xx configuration symbol
> > is defined which menuconfig lists as: 
> > 
> >  Symbol: BCM63XX [=BCM63XX]                                                
> >    Type  : unknown                                                           
> > 
> > I'd say the definition of this is not possible through the normal
> > channels.
> > 
> > And in the driver (drivers/spi/spi-bcm63xx.c) I see: 
> > 
> > #include <bcm63xx_dev_spi.h>
> > 
> > but that file is not in the current git release.
> 
> No, it did not make it for a reason I ignore, probably miscommunication.
> 
> > 
> > (some more googling has resulted in me finding out that I don't want
> > to know how the 63xx SPI controller works as it's for a MIPS processor
> > while the 2835 is ARM).

> And so? if the core is the same, just use it on your platform
> too. If you have a look at the architecture files, you will see that
> the various BCM63xx SoC have their internal registers shuffled but
> the SPI core is always software compatible, another set of registers
> can be added for BCM2835.

I expect the core to be very different because they are for different
processors. But of course if they are the same, a single driver would
be better. 

However, with the header file missing, I can't find if the register
offsets are the same. That would be a hint that the module is the the
same. 

Reading the driver I see lots "readb" and "writeb" calls. These
presumably read/write a byte. The '2835 module doesn't have any
byte-registers. All registers are 32bits. I consider this a further
hint that the modules are not the same. 

I've read some of the code, and for instance, there seems to be a
limited-width register (3 or 4 bits) that specify the clock rate on
the bcm63xx. On the bcm2835 the clock is set by good chunk (15 bits
IIRC) of a 32-bit register which specifies the clock divisor. The core
clock runs at 250MHz, so I can specify clock rates at with 1:250
accuracy around 1MHz. (i.e. 1000000 Hz is possible as well as 1004000)
I consider this a further hint that the modules are not the same. 

So with three of those hints I'll take the hint that they are not the
same, and concentrate on building a new driver for the bcm2835 (and
2708?)

	Roger. 


-- 
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 **
**    Delftechpark 26 2628 XH  Delft, The Netherlands. KVK: 27239233    **
*-- BitWizard writes Linux device drivers for any device you may have! --*
The plan was simple, like my brother-in-law Phil. But unlike
Phil, this plan just might work.

      reply	other threads:[~2012-05-31 14:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-18  5:51 BCM36xx support Rogier Wolff
2012-05-31 13:55 ` Florian Fainelli
2012-05-31 14:25   ` Rogier Wolff [this message]

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=20120531142540.GA4785@bitwizard.nl \
    --to=r.e.wolff@bitwizard.nl \
    --cc=florian@openwrt.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.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