From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Ayush Singh <ayushdevel1325@gmail.com>
Cc: "Ayush Singh" <ayush@beagleboard.org>,
fabien.parent@linaro.org, d-gole@ti.com,
lorforlinux@beagleboard.org, jkridner@beagleboard.org,
robertcnelson@beagleboard.org, "Andrew Davis" <afd@ti.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Derek Kiernan" <derek.kiernan@amd.com>,
"Dragan Cvetic" <dragan.cvetic@amd.com>,
"Arnd Bergmann" <arnd@arndb.de>, "Nishanth Menon" <nm@ti.com>,
"Vignesh Raghavendra" <vigneshr@ti.com>,
"Tero Kristo" <kristo@kernel.org>,
linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/8] mikrobus: Add mikrobus driver
Date: Wed, 11 Sep 2024 22:03:42 +0200 [thread overview]
Message-ID: <2024091151-hummus-usher-2561@gregkh> (raw)
In-Reply-To: <ecd1fff8-9c15-496a-982f-36e6c58e906a@gmail.com>
On Wed, Sep 11, 2024 at 09:32:21PM +0530, Ayush Singh wrote:
> On 9/11/24 20:27, Greg Kroah-Hartman wrote:
>
> > On Wed, Sep 11, 2024 at 07:57:20PM +0530, Ayush Singh wrote:
> > > A simple platform driver for now that does nothing. This is required
> > > because without a platform driver, the mikrobus_gpio0 nexus node cannot
> > > be used.
> > >
> > > In future, this driver will also allow for dynamic board detection using
> > > 1-wire eeprom in new mikrobus boards.
> > >
> > > Signed-off-by: Ayush Singh <ayush@beagleboard.org>
> > > ---
> > > MAINTAINERS | 1 +
> > > drivers/misc/Kconfig | 17 +++++++++++++++++
> > > drivers/misc/Makefile | 1 +
> > > drivers/misc/mikrobus.rs | 32 ++++++++++++++++++++++++++++++++
> > > 4 files changed, 51 insertions(+)
> > >
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index 0cc27446b18a..d0c18bd7b558 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -15433,6 +15433,7 @@ MIKROBUS CONNECTOR
> > > M: Ayush Singh <ayush@beagleboard.org>
> > > S: Maintained
> > > F: Documentation/devicetree/bindings/connector/mikrobus-connector.yaml
> > > +F: drivers/misc/mikrobus.rs
> > > MIKROTIK CRS3XX 98DX3236 BOARD SUPPORT
> > > M: Luka Kovacic <luka.kovacic@sartura.hr>
> > > diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> > > index 3fe7e2a9bd29..30defb522e98 100644
> > > --- a/drivers/misc/Kconfig
> > > +++ b/drivers/misc/Kconfig
> > > @@ -610,6 +610,23 @@ config MARVELL_CN10K_DPI
> > > To compile this driver as a module, choose M here: the module
> > > will be called mrvl_cn10k_dpi.
> > > +menuconfig MIKROBUS
> > > + tristate "Module for instantiating devices on mikroBUS ports"
> > > + help
> > > + This option enables the mikroBUS driver. mikroBUS is an add-on
> > > + board socket standard that offers maximum expandability with
> > > + the smallest number of pins. The mikroBUS driver instantiates
> > > + devices on a mikroBUS port described by identifying data present
> > > + in an add-on board resident EEPROM, more details on the mikroBUS
> > > + driver support and discussion can be found in this eLinux wiki :
> > > + elinux.org/Mikrobus
> > So you want to be a bus? Or just a single driver? I'm confused, what
> > exactly is this supposed to do?
> >
> > If a bus, great, let's tie into the proper driver core bus code, don't
> > "open code" all of that, as that's just going to make things messier and
> > harder to work overall in the end.
> >
> > If a single driver, why is it called "bus"? :)
> >
> > thanks,
> >
> > greg k-h
>
>
> Well, mikroBUS [0] is the name of the socket standard. It is basically a
> group of following pins:
>
> Analog - AN
> Reset - RST
> SPI Chip Select - CS
> SPI Clock - SCK
> SPI Master Input Slave Output - MISO
> SPI Master Output Slave Input - MOSI
> VCC-3.3V power - +3.3V
> Reference Ground - GND
> PWM - PWM output
> INT - Hardware Interrupt
> RX - UART Receive
> TX - UART Transmit
> SCL - I2C Clock
> SDA - I2C Data
> +5V - VCC-5V power
> GND - Reference Ground
>
>
> I do not think it would qualify as as a "bus" in the Linux driver sense.
> Especially with the devicetree based approach here which applies overlay
> directly to the actual uart/i2c/spi controllers and basically not interact
> with the mikroBUS node much.
It will be a "bus" in the driver sense as you want to have different
drivers bound to devices that are plugged in here, right? Or if this is
just a single driver for the hardware, then no, as you will not have any
additional drivers for this standard? It's unclear you want to do here.
> The driver is here to enable the following:
>
> 1. Enable dynamic board detection using 1-wire eeprom on some addon boards.
Some, not all?
> 2. Provide sysfs entry for runtime board adding/removal
That's not what sysfs is for, but we can get there eventually...
> 3. Enable using mikrobus connector node as nexus node for GPIO (not having a
> platform driver makes any driver trying to use the connector as nexus node
> go into deffered probing state).
Why is this a platform device? Is this always going to be described by
DT somehow?
> For this patch series, the driver is mostly here due to point 3. Basically a
> stub.
Let's see how this really works before coming to conclusions.
As an example, how do you think sysfs should look for this device? For
all devices? Write out the needed sysfs documentation entries first and
then that will help explain things better.
thanks,
greg k-h
next prev parent reply other threads:[~2024-09-11 20:03 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-11 14:27 [PATCH 0/8] Add generic overlay for MikroBUS addon boards Ayush Singh
2024-09-11 14:27 ` [PATCH 1/8] rust: kernel: Add Platform device and driver abstractions Ayush Singh
2024-09-11 14:56 ` Greg Kroah-Hartman
2024-09-11 15:52 ` Ayush Singh
2024-09-11 17:39 ` Danilo Krummrich
2024-09-11 18:05 ` Ayush Singh
2024-09-11 21:52 ` Danilo Krummrich
2024-09-11 17:35 ` Danilo Krummrich
2024-09-11 20:07 ` Greg Kroah-Hartman
2024-09-14 10:11 ` Janne Grunau
2024-09-11 14:27 ` [PATCH 2/8] dt-bindings: connector: Add MikorBUS connector Ayush Singh
2024-09-11 15:26 ` Rob Herring (Arm)
2024-09-11 17:26 ` Rob Herring
2024-09-11 18:00 ` Ayush Singh
2024-09-11 14:27 ` [PATCH 3/8] mikrobus: Add mikrobus driver Ayush Singh
2024-09-11 14:57 ` Greg Kroah-Hartman
2024-09-11 16:02 ` Ayush Singh
2024-09-11 20:03 ` Greg Kroah-Hartman [this message]
2024-09-12 13:32 ` Ayush Singh
2024-09-11 15:48 ` Andrew Lunn
2024-09-11 14:27 ` [PATCH 4/8] dts: ti: k3-am625-beagleplay: Enable mikroBUS connector Ayush Singh
2024-09-11 14:27 ` [PATCH 5/8] dts: ti: beagleplay: Add mikrobus connector symbols Ayush Singh
2024-09-11 14:27 ` [PATCH 6/8] addon_boards: Add addon_boards plumbing Ayush Singh
2024-09-11 15:00 ` Greg Kroah-Hartman
2024-09-11 16:09 ` Ayush Singh
2024-09-11 14:27 ` [PATCH 7/8] addon_boards: mikrobus: Add Weather Click Ayush Singh
2024-09-11 14:27 ` [PATCH 8/8] addon_boards: mikrobus: Add GPS3 Click Ayush Singh
2024-09-11 14:58 ` Greg Kroah-Hartman
2024-09-11 15:56 ` Ayush Singh
2024-09-11 20:04 ` Greg Kroah-Hartman
2024-09-12 7:16 ` Ayush Singh
2024-09-12 7:29 ` Dirk Behme
2024-09-12 7:39 ` Greg Kroah-Hartman
2024-09-12 8:17 ` Ayush Singh
2024-09-12 8:50 ` Geert Stappers
2024-09-11 17:02 ` [PATCH 0/8] Add generic overlay for MikroBUS addon boards Rob Herring
2024-09-20 16:51 ` Ayush Singh
2024-09-13 10:05 ` Alexander Stein
2024-09-13 10:23 ` Ayush Singh
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=2024091151-hummus-usher-2561@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=a.hindborg@kernel.org \
--cc=afd@ti.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=arnd@arndb.de \
--cc=ayush@beagleboard.org \
--cc=ayushdevel1325@gmail.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=conor+dt@kernel.org \
--cc=d-gole@ti.com \
--cc=derek.kiernan@amd.com \
--cc=devicetree@vger.kernel.org \
--cc=dragan.cvetic@amd.com \
--cc=fabien.parent@linaro.org \
--cc=gary@garyguo.net \
--cc=jkridner@beagleboard.org \
--cc=kristo@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorforlinux@beagleboard.org \
--cc=nm@ti.com \
--cc=ojeda@kernel.org \
--cc=robertcnelson@beagleboard.org \
--cc=robh@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
--cc=vigneshr@ti.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;
as well as URLs for NNTP newsgroup(s).