All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Porter <mporter@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/6] arch: bcm281xx: Initial commit of bcm281xx architecture code
Date: Fri, 31 Jan 2014 12:47:47 -0500	[thread overview]
Message-ID: <20140131174747.GI31176@beef> (raw)
In-Reply-To: <20140129223230.GX3277@bill-the-cat>

On Wed, Jan 29, 2014 at 05:32:30PM -0500, Tom Rini wrote:
> On Mon, Jan 27, 2014 at 10:53:26AM -0800, Darwin Rambo wrote:
> 
> > Add bcm281xx architecture support code including a clock framework and
> > chip reset.  Define register block base addresses for the bcm281xx
> > architecture and create an empty gpio header file required when
> > CONFIG_CMD_GPIO is set.
> [snip]
> > +/* Bitfield operations */
> > +
> > +/* Produces a mask of set bits covering a range of a 32-bit value */
> > +static inline u32 bitfield_mask(u32 shift, u32 width)
> > +{
> > +	return ((1 << width) - 1) << shift;
> > +}
> > +
> > +/* Extract the value of a bitfield found within a given register value */
> > +static inline u32 bitfield_extract(u32 reg_val, u32 shift, u32 width)
> > +{
> > +	return (reg_val & bitfield_mask(shift, width)) >> shift;
> > +}
> > +
> > +/* Replace the value of a bitfield found within a given register value */
> > +static inline u32 bitfield_replace(u32 reg_val, u32 shift, u32 width, u32 val)
> > +{
> > +	u32 mask = bitfield_mask(shift, width);
> > +
> > +	return (reg_val & ~mask) | (val << shift);
> > +}
> 
> This all feels horribly generic, isn't there some linux header we've
> already got that I can't think off of the top of my head that gives us
> these kind of functions?

To add to what Darwin mentioned about bitops.h being insufficient...

The equivalent kernel implementations are wrapped up in the
regmap/regmap-mmio helpers. That implementation is *very* heavyweight,
and IMHO simply not appropriate for U-Boot (and often not useful in the
kernel as well).  A homegrown generic set of inline ops would seem to be
ideal for U-Boot.

-Matt

  parent reply	other threads:[~2014-01-31 17:47 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-27 18:53 [U-Boot] [PATCH 0/6] Introducing the Broadcom bcm281xx Architecture Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 1/6] arch: kona: Initial commit of kona-common architecture code Darwin Rambo
2014-01-29 22:32   ` Tom Rini
2014-01-30 23:09     ` Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 2/6] arch: bcm281xx: Initial commit of bcm281xx " Darwin Rambo
2014-01-29 22:32   ` Tom Rini
2014-01-30 22:03     ` Darwin Rambo
2014-01-31 17:54       ` Tom Rini
2014-01-31 18:19         ` Darwin Rambo
2014-01-31 17:47     ` Matt Porter [this message]
2014-01-27 18:53 ` [U-Boot] [PATCH 3/6] gpio: kona: Add Kona gpio driver Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 4/6] i2c: kona: Add Kona I2C driver Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 5/6] mmc: kona: Add Kona mmc driver Darwin Rambo
2014-01-27 18:53 ` [U-Boot] [PATCH 6/6] board: bcm28155_ap: Add board files Darwin Rambo
2014-01-29 22:33   ` Tom Rini
2014-01-30 23:05     ` Darwin Rambo
2014-01-31 14:17       ` Tom Rini
2014-01-31 17:05         ` Tim Kryger
2014-01-31 17:15           ` Tom Rini
2014-01-31 18:18             ` Darwin Rambo
2014-01-29 22:32 ` [U-Boot] [PATCH 0/6] Introducing the Broadcom bcm281xx Architecture Tom Rini
2014-01-30 23:12   ` Darwin Rambo
2014-01-31 19:14     ` Tom Rini

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=20140131174747.GI31176@beef \
    --to=mporter@linaro.org \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.