Hi Joe, > > > Jeremy, how different is it ? Could we introduce properties or sub > > > classes, to support both. > > > > The differences (at least from the view of the current Linux driver > > implementation) are very minor; unless we want to be errata-compatible, > > you could use the dw driver directly, plus the ast2600-specific global > > register space. > > > > This is my understanding as well from an outside look. > From a QEMU standpoint I could split off the dwc portion into a > dwc_i3c model, which the aspeed_i3c portion inherits from. I can do > that in a v2 if that sounds good with everyone.
I'm not a qemu maintainer, but for the record: I'm fine with the current approach. I don't have access to any of the non-aspeed dw documentation, so verifying what should go into the dw model vs. what is ast2600-specific has been a bit tricky. If someone needs a non-aspeed dw model, and has a bit of documentation about the underlying dw hardware, it should be easy enough to split back out. Maybe just make sure any "known" divergences - like the IBI PEC behaviour - are well commented. That said, if you're keen to do the split dw+aspeed models, that's also good :) Cheers, Jeremy