[PATCH v2 0/3] i3c dw,ast2600: Add a driver for the AST2600 i3c controller

Jeremy Kerr jk at codeconstruct.com.au
Thu Mar 30 19:33:35 PDT 2023


Hi Zenghu,

> Thanks for the change, especially IBI features in other threads.
> From my understanding, ASPEED AST2600 is a SoC which uses Synopsys'
> I3C IP core, and several different registers, especially the pull-up
> resistor.
> If so, I am wondering if this is the right place to add
> ast2600-i3c-master.c, given that all current three xxx-i3c-master.c
> drivers in this directory are from IP providers directly.
> What about moving it under ~/driver/soc/?

It's my understanding that drivers/soc/ is for smaller parts of
SoC-specific functions, rather than implementing SoC driver instances
for existing subsystems.

I'd prefer to keep it with the i3c controller drivers; this means we can
keep the dw platform API as contained as possible (ie., within
drivers/i3c/master/). I expect that we will need some coordination of
changes until we have the platform-specific behaviour mostly described
(see the IBI series for another hook), and so coordinating changes
between drivers/soc/ and drivers/i3c/ may make things more complicated
than necessary.

There's certainly precedence for this pattern:

 * the aspeed ethernet mac is provided by the ftgmac100 driver plus some
   SoC-specific behaviour; that's entirely within drivers/net/

 * the aspeed VUART device is essentially a 16550 plus extra registers;
   that's entirely within drivers/tty/

Cheers,


Jeremy



More information about the linux-i3c mailing list