linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: ARM topic: Is DT on ARM the solution, or is there something better?
Date: Mon, 18 Nov 2013 13:26:46 +0100	[thread overview]
Message-ID: <20131118122644.GA26046@ulmo.nvidia.com> (raw)
In-Reply-To: <52644A9E.3060007@wwwdotorg.org>

On Sun, Oct 20, 2013 at 10:26:54PM +0100, Stephen Warren wrote:
[...]
> In general, the kernel still needs a complete driver to every last
> device on every strange board, and needs to support every strange way
> some random board hooks all the devices together.
[...]

This may only be slightly related and it doesn't address all the points
you brought up here, but for lack of a better place, here goes.

I've had an interesting discussion with a friend over the weekend which
eventually turned to a similar topic. With all the recent discussions
about how to push board-specific details out into firmware, perhaps a
more drastic measure would be to push for standardization of hardware
interfaces.

For instance, one of the reason we have so much code in the kernel is
because every driver needs to talk to hardware through a slightly
different set of registers. Perhaps it would be possible to get some
discussion going about standardizing register interfaces for various
components. This has already been done for 16550 UART and the same
should be possible for a wide variety of other controllers such as I2C
or SPI.

There have been some attempts at creating reusable IP blocks, I think
ARM does have quite a few which can be licensed. At the same time, many
vendors may already have their own IP so it makes little sense for them
to license third party IP just to provide a standard interface for
drivers. However it might be easy in many cases to support the standard
interface using custom IP blocks.

I suspect something similar could be done for much of the clock, power
and reset requirements of IP blocks. Now I know little about how exactly
an SoC is designed these days, but I can imagine that it would be easy
to move out some of the complexity into hardware by defining something
like a standard register to enable a block. If each block has that
standard register it becomes trivial to write driver and SoC support. It
essentially becomes a matter of calling a platform_device_enable()
function, analogous to pci_enable_device(). There would no longer be a
need for the kind of intra-SoC glue that's taking up a significant
amount of code these days.

Obviously an effort such as the above is on a completely different scale
and would require many vendors to sit together and work something out.
But this isn't new either. After all there are committees and consortia
that already do this in some areas (Khronos). Many of these working
groups seem to focus mostly on software specifications, but what would
prevent them from doing something similar on a hardware interface level?

There are of course some dangers to this as well. Since much of the
complexity is moved into hardware, bugs can no longer be fixed or easily
worked around in software. However to some degree the same is true for
scenarios where a lot of the complexity is moved into firmware instead,
since that's typically not easily replaceable or fixable either.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131118/99620774/attachment.sig>

  parent reply	other threads:[~2013-11-18 12:26 UTC|newest]

Thread overview: 171+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-20 21:26 ARM topic: Is DT on ARM the solution, or is there something better? Stephen Warren
2013-10-20 22:08 ` [Ksummit-2013-discuss] " Mark Brown
2013-10-20 22:21   ` Stephen Warren
2013-10-21  1:00     ` Nicolas Pitre
2013-10-21  9:15       ` Thierry Reding
2013-10-21 14:57         ` Maxime Bizon
2013-10-21 17:07         ` Richard Cochran
2013-10-21 20:24           ` Stephen Warren
2013-10-22  9:24           ` Thierry Reding
2013-10-23 17:30             ` Richard Cochran
2013-10-23 19:06               ` Thierry Reding
2013-10-22 17:22           ` Jason Gunthorpe
2013-10-21 20:29       ` Stephen Warren
2013-10-21 20:40         ` Nicolas Pitre
2013-10-22  9:39           ` Thierry Reding
2013-10-22 15:04             ` Matt Porter
2013-10-22 17:13               ` Jason Gunthorpe
2013-10-22 17:49                 ` Guenter Roeck
2013-10-23  8:06                 ` Richard Cochran
2013-10-23  9:49                   ` Thierry Reding
2013-10-23 17:16                     ` Richard Cochran
2013-10-23 17:25                       ` Matt Porter
2013-10-23 18:05                         ` Richard Cochran
2013-10-23 18:57                           ` Nicolas Pitre
2013-10-23 20:12                           ` Matt Porter
2013-10-23 17:55                       ` Nicolas Pitre
2013-10-23 18:13                         ` Richard Cochran
2013-10-23 20:35                           ` Thierry Reding
2013-10-23 17:29                   ` Jason Gunthorpe
2013-10-23 17:45                     ` Richard Cochran
2013-10-23 18:46                       ` Maxime Bizon
2013-10-23 18:51                         ` Richard Cochran
2013-10-23 19:12                           ` Maxime Bizon
2013-10-24  9:52                         ` Grant Likely
2013-10-24 11:33                           ` Maxime Bizon
2013-10-24 11:47                             ` David Woodhouse
2013-10-24 12:13                               ` Maxime Bizon
2013-10-24 12:22                                 ` David Woodhouse
2013-10-24 12:22                                 ` David Woodhouse
2013-10-24 13:05                                   ` Maxime Bizon
2013-10-24 13:14                                     ` David Woodhouse
2013-10-24 13:46                                       ` Maxime Bizon
2013-10-24 19:52                                         ` Matt Porter
2013-10-24 20:11                                       ` Matt Sealey
2013-10-25  9:00                                 ` Stephen Warren
2013-10-24 12:23                               ` Thierry Reding
2013-10-24 12:29                                 ` David Woodhouse
2013-10-24 13:00                                 ` Maxime Bizon
2013-10-24 13:10                                   ` David Woodhouse
2013-10-24 13:30                                     ` Maxime Bizon
2013-10-24 14:05                                       ` David Woodhouse
2013-10-24 14:19                                         ` Thierry Reding
2013-10-24 14:30                                           ` David Woodhouse
2013-10-24 14:38                                             ` Thierry Reding
2013-10-24 16:39                                             ` Nicolas Pitre
2013-10-24 16:45                                               ` David Woodhouse
2013-10-24 17:08                                                 ` Nicolas Pitre
2013-10-24 18:15                                                 ` jonsmirl at gmail.com
2013-10-24 14:32                                           ` Richard Cochran
2013-10-24 14:47                                             ` Thierry Reding
2013-10-24 15:37                                             ` Nicolas Pitre
2013-10-24 14:33                                           ` Maxime Bizon
2013-10-24 14:57                                             ` Thierry Reding
2013-10-24 16:27                                         ` Nicolas Pitre
2013-10-24 14:12                                     ` Thierry Reding
2013-10-24 14:22                                       ` David Woodhouse
2013-10-24 14:23                                         ` Thierry Reding
2013-10-24 14:38                                           ` David Woodhouse
2013-10-24 14:58                                             ` Thierry Reding
2013-10-24 19:58                                         ` Matt Porter
2013-10-24 23:54                                       ` Grant Likely
2013-10-25  8:52                             ` Stephen Warren
2013-10-25  9:16                               ` Thierry Reding
2013-10-23 17:47                     ` Richard Cochran
2013-10-23 17:58                       ` Nicolas Pitre
2013-10-23 18:02                       ` Jason Gunthorpe
2013-10-23 18:23                         ` Richard Cochran
2013-10-24  8:34                           ` Thierry Reding
2013-10-24 15:00                             ` Richard Cochran
2013-10-24 19:46                               ` Matt Porter
2013-10-23 18:01                     ` Guenter Roeck
2013-10-23 18:25                       ` Jason Gunthorpe
2013-10-23 18:30                         ` Richard Cochran
2013-10-23 18:54                           ` Jason Gunthorpe
2013-10-24  8:06                             ` Sascha Hauer
2013-10-24  8:17                               ` Thierry Reding
2013-10-24  8:52                                 ` Sascha Hauer
2013-10-23 23:29                           ` Ben Hutchings
2013-10-24  7:32                             ` Richard Cochran
2013-10-24  9:35                               ` Ben Hutchings
2013-10-24 12:02                         ` Andre Heider
2013-10-24  8:01                     ` Sascha Hauer
2013-10-24  8:11                       ` Thierry Reding
2013-10-22 17:42               ` Nicolas Pitre
2013-10-22 18:21                 ` Peter Maydell
2013-10-22 18:36                   ` Nicolas Pitre
2013-10-22 19:16                   ` Guenter Roeck
2013-10-22 20:12                 ` Thierry Reding
2013-10-22 20:41                   ` Nicolas Pitre
2013-10-22 21:39                     ` Jason Gunthorpe
2013-10-23  8:50                     ` Thierry Reding
2013-10-23  9:02                     ` Thierry Reding
2013-10-22 20:42                   ` Matt Porter
2013-10-23 10:04                     ` Thierry Reding
2013-10-23 11:48                       ` Peter Maydell
2013-10-23 16:29                       ` Matt Porter
2013-10-22  6:47       ` David Brown
2013-10-20 23:11 ` Russell King - ARM Linux
2013-10-20 23:44   ` [Ksummit-2013-discuss] " Guenter Roeck
2013-10-20 23:51     ` Russell King - ARM Linux
2013-10-21  0:13       ` Guenter Roeck
2013-10-21 20:05     ` Stephen Warren
2013-10-22  9:45       ` Thierry Reding
2013-10-21  8:32   ` Sascha Hauer
2013-10-21  8:48     ` Russell King - ARM Linux
2013-10-21  9:27       ` Sascha Hauer
     [not found]         ` < CAF6AEGtt_2sStiZCNBp9btxevWghSwLZZBdN6ir8eUpX1FXrCQ@mail.gmail.com>
     [not found]           ` < 20131024072811.GS30088@pengutronix.de>
     [not found]             ` < CAF6AEGuEho9Ms7ifTE-EmBoQ-=_AXgvGcJxi5qEC0vsZ+H9C+A@mail.gmail.com>
2013-10-21  9:57         ` Russell King - ARM Linux
2013-10-21 10:24           ` Thierry Reding
2013-10-21 10:30             ` Russell King - ARM Linux
2013-10-21 10:41               ` Thierry Reding
2013-10-22  9:19             ` [Ksummit-2013-discuss] " Mark Brown
2013-10-21 20:09           ` Stephen Warren
2013-10-21 23:18           ` Sascha Hauer
2013-10-24  1:14         ` Rob Clark
2013-10-24  7:28           ` Sascha Hauer
2013-10-24  9:00             ` Thierry Reding
2013-10-24  9:21               ` Sascha Hauer
2013-10-24 21:21             ` Rob Clark
2013-10-25  9:24               ` Thierry Reding
2013-11-18 12:45               ` Russell King - ARM Linux
2013-11-18 15:37                 ` Thierry Reding
2013-11-18 16:11                   ` Russell King - ARM Linux
2013-11-18 16:18                     ` Thierry Reding
2013-11-18 18:43                     ` Mark Brown
2013-11-19 13:54                 ` Grant Likely
2013-10-21 10:04       ` Thierry Reding
2013-10-21 10:57       ` [Ksummit-2013-discuss] " Laurent Pinchart
2013-10-21 10:00   ` Laurent Pinchart
2013-10-21 11:18   ` Sebastian Hesselbarth
2013-10-21  8:54 ` Thierry Reding
2013-10-21 20:19   ` Stephen Warren
2013-10-21 22:51     ` [Ksummit-2013-discuss] " Guenter Roeck
2013-10-22 10:27       ` James Hogan
2013-10-22 16:31         ` Jonathan Cameron
2013-10-22 16:49           ` Guenter Roeck
2013-10-22 20:35             ` Thierry Reding
2013-10-22 21:10               ` Guenter Roeck
2013-10-23  7:57                 ` Thierry Reding
2013-10-23 16:01                   ` Guenter Roeck
2013-10-23 21:07                     ` Thierry Reding
2013-10-24 15:18                       ` Guenter Roeck
2013-11-01 10:36                         ` Thierry Reding
2013-11-01 13:30                           ` Guenter Roeck
2013-10-22 20:48         ` Thierry Reding
2013-10-22 10:25     ` Thierry Reding
2013-10-22 21:44 ` Matt Sealey
2013-10-23 11:41   ` Peter Maydell
2013-10-23 23:02     ` [Ksummit-2013-discuss] " Rob Herring
2013-11-18 12:26 ` Thierry Reding [this message]
2013-11-18 13:40   ` Grant Likely
2013-11-18 13:57     ` Mark Brown
2013-11-18 15:29       ` Thierry Reding
2013-11-18 15:50         ` Mark Brown
2013-11-18 16:06           ` Thierry Reding
2013-11-18 17:16             ` Stephen Warren
2013-11-19  9:35               ` Thierry Reding
2013-11-19 17:27                 ` Stephen Warren
2013-11-20 13:29                   ` Thierry Reding
2013-11-18 18:35             ` Mark Brown
2013-11-19  9:11               ` Thierry Reding
2013-11-19 10:16                 ` Mark Brown

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=20131118122644.GA26046@ulmo.nvidia.com \
    --to=thierry.reding@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).