From: Christian Gmeiner <christian.gmeiner@gmail.com>
To: Thomas Richard <thomas.richard@bootlin.com>
Cc: Mary Strodl <mstrodl@csh.rit.edu>,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
urezki@gmail.com, hch@infradead.org, linux-mm@kvack.org,
lee@kernel.org, andi.shyti@kernel.org,
linux-i2c@vger.kernel.org, s.hauer@pengutronix.de,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH v4 0/2] Add support for Congatec CGEB BIOS interface
Date: Tue, 20 Aug 2024 10:48:06 +0200 [thread overview]
Message-ID: <CAH9NwWfZQ5G798vYOw3gVa4WBsBSmcjLKONG3u9SiAtwf5wdNg@mail.gmail.com> (raw)
In-Reply-To: <8d8b1967-1d41-44d9-9791-d7809bed269c@bootlin.com>
Hi Thomas!
>
> On 8/14/24 20:47, Mary Strodl wrote:
> > The following series adds support for the Congatec CGEB interface
> > found on some Congatec x86 boards. The CGEB interface is a BIOS
> > interface which provides access to onboard peripherals like I2C
> > busses and watchdogs. It works by mapping BIOS code and searching
> > for magic values which specify the entry points to the CGEB call.
> > The CGEB call is an API provided by the BIOS which provides access
> > to the functions in an ioctl like fashion.
> >
> > At the request of some folks the first time I sent this series out,
> > CGEB has a userspace component which runs the x86 blob (rather than
> > running it directly in the kernel), which sends requests back and
> > forth using the cn_netlink API.
> >
> > You can find a reference implementation of the userspace helper here:
> > https://github.com/Mstrodl/cgeb-helper
> >
> > I didn't get an answer when I asked where the userspace component
> > should live, so I didn't put a ton of work into getting the helper
> > up to snuff since similar userspace helpers (like v86d) are not
> > in-tree. If folks would like the helper in-tree, that's fine too.
>
> Hello Mary !!
>
> It was by pure luck that I found your series.
>
> It seems we are working on the same thing, the Congatec Board Controller.
>
> I sent a first version of my series few weeks ago [1].
> My implementation is very different.
> There is an MFD which maps the needed IO regions and declares cells
> (gpio, watchdog, i2c). It also contains all the code to communicate with
> the Board Controller (using ioread and iowrite).
> The DMI table is used to detect if the board is supported, so the driver
> can be probed (or not).
> Other drivers (gpio, i2c and watchdog for now) use the API provided by
> the MFD to communicate with the Board Controller.
> With this approach, I don't need a userspace component.
>
> For this work I used the Congatec driver (that Thomas Gleixner pointed
> you) as reference. But as mentioned by Thomas the driver is not well
> written at all.
> By the way their latest version is available in their yocto metalayer
> (please find the link in my series).
>
I'm glad to see that Congatec has taken a different approach with
their driver and
is no longer relying on the BIOS blob method. Years ago, I shared my
frustrations
with them over this outdated solution through numerous phone calls,
but the company
I worked for was simply too small to have any real influence.
> For now I did the job for the conga-SA7 board (which has a 5th
> generation Board Controller).
> So if you have hardware which has the same generation of the Board
> Controller, you can easily test the series. You only need to add the DMI
> entry of your board in the MFD driver.
>
> For other generations, I had a quick look. The sequences seem very
> similar, with minor differences. It could be easily implemented in the
> future, and only the MFD will be modified.
>
Fantastic news - looks like all the pain with this board controller
under Linux is gone soon.
--
greets
--
Christian Gmeiner, MSc
https://christian-gmeiner.info/privacypolicy
prev parent reply other threads:[~2024-08-20 8:48 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-14 18:47 Mary Strodl
2024-08-14 18:47 ` [PATCH v4 1/2] x86: Add basic support for the " Mary Strodl
2024-08-15 4:59 ` Christoph Hellwig
2024-08-15 12:17 ` Thomas Gleixner
2024-08-15 12:39 ` Mary Strodl
2024-08-15 13:23 ` Thomas Gleixner
2024-08-14 18:47 ` [PATCH v4 2/2] i2c: Add Congatec CGEB I2C driver Mary Strodl
2024-08-20 8:39 ` [PATCH v4 0/2] Add support for Congatec CGEB BIOS interface Thomas Richard
2024-08-20 8:48 ` Christian Gmeiner [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=CAH9NwWfZQ5G798vYOw3gVa4WBsBSmcjLKONG3u9SiAtwf5wdNg@mail.gmail.com \
--to=christian.gmeiner@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=andi.shyti@kernel.org \
--cc=hch@infradead.org \
--cc=lee@kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mstrodl@csh.rit.edu \
--cc=s.hauer@pengutronix.de \
--cc=thomas.petazzoni@bootlin.com \
--cc=thomas.richard@bootlin.com \
--cc=urezki@gmail.com \
/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