Thread (22 messages) 22 messages, 5 authors, 2025-07-03

Re: [RFC PATCH 0/3] i2c: Introduce i2c bus extensions

From: Herve Codina <herve.codina@bootlin.com>
Date: 2025-07-03 15:19:17
Also in: linux-i2c, lkml

Hi Ayush,

On Thu, 3 Jul 2025 16:56:20 +0530
Ayush Singh [off-list ref] wrote:
On 6/13/25 13:00, Herve Codina wrote:
quoted
Hi Ayush,

On Thu, 12 Jun 2025 13:22:45 +0530
Ayush Singh [off-list ref] wrote:
 
quoted
I have tested this patch series for use with pocketbeagle 2 connector
driver [0]. To get a better idea how it looks in real devicetree, see
the base tree [1] and the overlay [2]. Since it also used gpio and pwm
nexus nodes, along with providing pinmux for pins, it can provide a
better picture of how the different pieces (export-symbols, nexus nodes,
etc) look when combined.  
Nice. Happy to see that I am no more alone with a system using these
features.
 
quoted
I also have a question for Herve. Do you already have any working
patches for similar extension for SPI and UART in some private tree?  
No, I didn't do anything related to SPI nor UART.

On my system, no SPI nor UART are wired to my connector and so, I haven't
got any needs to implement extension busses for SPI an UART (serial dev bus)
nor any support for nexus nodes for other kind of components.

Best regards,
Hervé  

I have added SPI bus extension to my kernel tree [0]. Now, the techlab 
cape (other than mikrobus port) works using export-symbols + i2c and spi 
bus extension + eeprom auto detection.


Here is a list of everything currently working on the tree:

1. EEPROM based auto-detection.

2. SPI

3. I2C

4. PWM

5. GPIO


Missing:

1. UART (Don't have a cape that has something using the UART yet. Maybe 
need to experiment with MikroBUS).


Not quite sure what else to do to move things forward.


Best Regards,

Ayush Singh


[0]: https://github.com/Ayush1325/linux/tree/beagle-cape-v1
I've just looked at your code related to SPI. It is closed to the I2C code
and that's pretty nice!

I think to move forward we have to wrote the SPI bus extension binding and
propose the binding + the code upstream.

Compared to I2C bus extension, only one repo is involved for SPI, the Linux
kernel repo. On I2C bus extension, I am stuck on the binding which is a
modification on the dtschema repo [0].

The SPI binding modifications for SPI bus extension will probably take place
in spi-controller.yaml [1] and should be pretty close to modifications done
for the I2C binding.

When one of the two series (I2C or SPI) is accepted, it will be easier
for the other one to follow (Same concept, same kind of binding, same kind
of code).

The advantage of the SPI series, I think, is that only one repo is involved.

Best regards,
Hervé

[0]: https://lore.kernel.org/all/20250618082313.549140-1-herve.codina@bootlin.com/ (local)
[1]: https://elixir.bootlin.com/linux/v6.16-rc4/source/Documentation/devicetree/bindings/spi/spi-controller.yaml
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help