From: Ian Lepore <ian@freebsd.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 01/11] dm: serial: Update binding for PL01x serial UART
Date: Thu, 13 Aug 2015 13:04:39 -0600 [thread overview]
Message-ID: <1439492679.242.35.camel@freebsd.org> (raw)
In-Reply-To: <20150813181346.GS25532@bill-the-cat>
On Thu, 2015-08-13 at 14:13 -0400, Tom Rini wrote:
> On Thu, Aug 13, 2015 at 10:02:58AM -0600, Stephen Warren wrote:
> > On 08/13/2015 09:59 AM, Simon Glass wrote:
> > >Hi Linus,
> > >
> > >On 11 August 2015 at 07:00, Linus Walleij <linus.walleij@linaro.org> wrote:
> > >>On Fri, Aug 7, 2015 at 3:42 PM, Simon Glass <sjg@chromium.org> wrote:
> > >>
> > >>>This binding differs from that of Linux. Update it and change existing
> > >>>users.
> > >>>
> > >>>Signed-off-by: Simon Glass <sjg@chromium.org>
> > >>(...)
> > >>> doc/device-tree-bindings/serial/pl01x.txt | 55 ++++++++++++++++++++++++++++---
> > >>
> > >>So why does U-Boot have its own copy of any bindings at all?
> > >>
> > >>This is forking the ontology of who gets to define bindings I fear.
> > >>It's a bit like have two bibles both claiming to be the word of god.
> > >>(OK maybe a hyperbolic statement, but you see what I mean.)
> > >>
> > >>Can't we just have the bindings in the Linux kernel tree please?
> > >
> > >Is there any plan to move them out of Linux and put them in a separate place?
> > >
> > >We should make an effort to sync the device tree files with Linux periodically.
> > >
> > >I quite like having the bindings in U-Boot since it makes people think
> > >about what they are adding. Are you worried that the bindings in
> > >U-Boot might evolve separately? Certainly there has been some of that.
> > >
> > >However I recently sent a series to add a few things for Raspberry Pi
> > >("arm: rpi: Device tree modifications for U-Boot") and I don't yet see
> > >a willingness to add what some see as 'U-Boot things' to the binding.
> > >How do we address that?
> >
> > DT isn't supposed to contain "U-Boot things", but "an OS-agnostic
> > description of the hardware". So, I imagine the solution is not to
> > attempt to do that:-)
>
> This always makes me ask if the FreeBSD folks or VxWorks folks have
> adopted the "Linux" bindings or if the DT files continue to be
> "OS-agnostic" and "only functional with Linux". It was a while ago last
> I looked but it made my head hurt a little doing a quick translation for
> an SoC that I was familiar with.
>
As the FreeBSD person who got our first SoC (imx6, only partially
supported) converted to use the Linux DT files rather than our own
homebrew mess we started with, I would say that my opinion of the
existing DT information is that it is an extension of Linux device
drivers written in a different language.
The information available is in no way independent of the Linux device
drivers, it is exactly the information those drivers need. It is often
not the information needed in another OS with independently written
drivers. And especially it is not ordered and structured in a way that
works well with the device enumeration and instantiation models used by
another OS.
A great case in point would be i2c eeproms. What a perfect opportunity
DT would be to describe everything about the eeprom parts (total
capacity, page read/write size, whether the page address bits extend
into the bus-slave address bits, etc). It seems to me that anything
claiming to be an independent description of the hardware would have to
include such things. Instead, all the bindings define is the compatible
string. That's crazy. Why? Well, when I went and looked at the Linux
eeprom drivers it became clear why: that's all they need to know,
because everything else is hard-coded in tables in the driver source.
So if I want to write a FreeBSD i2c eeprom driver that uses DT data,
what are my choices? I have exactly one: make my driver essentially a
clone of the Linux driver, with all the same data hard-coded in source.
All in all, it's not impossible for another OS to work with the DT
information that begins its life in Linux, but it's not really easy.
-- Ian
next prev parent reply other threads:[~2015-08-13 19:04 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 13:42 [U-Boot] [PATCH v3 00/11] arm: rpi: Enable USB and Ethernet driver model Raspberry Pi Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 01/11] dm: serial: Update binding for PL01x serial UART Simon Glass
2015-08-11 3:57 ` Stephen Warren
2015-08-11 4:11 ` Simon Glass
2015-08-11 4:24 ` Stephen Warren
2015-08-11 13:00 ` Linus Walleij
2015-08-13 15:59 ` Simon Glass
2015-08-13 16:02 ` Stephen Warren
2015-08-13 18:13 ` Tom Rini
2015-08-13 19:04 ` Ian Lepore [this message]
2015-08-13 19:37 ` Stephen Warren
2015-08-14 7:43 ` Geert Uytterhoeven
2015-08-14 10:22 ` Linus Walleij
2015-08-14 14:27 ` Rob Herring
2015-08-14 17:45 ` Ian Lepore
2015-08-14 18:42 ` Stephen Warren
2015-08-17 7:46 ` Linus Walleij
2015-08-14 19:32 ` Pantelis Antoniou
2015-08-13 22:24 ` Rob Herring
2015-08-07 13:42 ` [U-Boot] [PATCH v3 02/11] arm: rpi: Define CONFIG_TFTP_TSIZE to show tftp size info Simon Glass
2015-08-11 3:58 ` Stephen Warren
2016-05-23 15:39 ` Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 03/11] arm: rpi: Bring in kernel device tree files Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 04/11] arm: rpi: Device tree modifications for U-Boot Simon Glass
2015-08-11 4:00 ` Stephen Warren
2015-08-11 4:17 ` Simon Glass
2015-08-11 4:25 ` Stephen Warren
2015-08-12 13:28 ` Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 05/11] arm: rpi: Add device tree files for Raspberry Pi 2 Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 06/11] arm: rpi: Enable device tree control for Rasberry Pi Simon Glass
2015-08-11 3:47 ` Stephen Warren
2015-08-14 19:20 ` Simon Glass
2015-08-15 3:32 ` Stephen Warren
2015-08-15 13:59 ` Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 07/11] arm: rpi: Enable device tree control for Rasberry Pi 2 Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 08/11] arm: rpi: Drop the UART console platform data Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 09/11] arm: rpi: Drop the GPIO " Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 10/11] arm: rpi: Move to driver model for USB Simon Glass
2015-08-07 13:42 ` [U-Boot] [PATCH v3 11/11] arm: rpi: Use driver model for Ethernet Simon Glass
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=1439492679.242.35.camel@freebsd.org \
--to=ian@freebsd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox