On Fri, 6 Sep 2024 17:42:26 +0300 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > On Fri, Sep 06, 2024 at 10:33:54AM -0400, Parker Newman wrote: > > On Fri, 6 Sep 2024 17:24:44 +0300 > > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > > On Fri, Sep 06, 2024 at 09:51:41AM -0400, Parker Newman wrote: > > > > On Fri, 6 Sep 2024 15:46:51 +0300 > > > > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > > > > On Fri, May 03, 2024 at 02:33:03PM -0400, Parker Newman wrote: > > ... > > > > > > Sorry for blast from the past, but I have some instersting information > > > > > for you. We now have spi-gpio and 93c46 eeprom drivers available to be > > > > > used from others via software nodes, can you consider updating your code > > > > > to replace custom bitbanging along with r/w ops by the instantiating the > > > > > respective drivers? > > > > > > > > Hi Andy, > > > > The Exar UARTs don't actually use MPIO/GPIO for the EEPROM. > > > > They have a dedicated "EEPROM interface" which is accessed by the > > > > REGB (0x8E) register. It is a very simple bit-bang interface though, > > > > one bit per signal. > > > > > > > > I guess in theory I could either add GPIO wrapper to toggle these bits > > > > and use the spi-gpio driver but I am not sure if that really improves things? > > > > Maybe using the spi-bitbang driver directly is more appropriate? > > > > What do you think? > > > > > > Yes, spi-bitbang seems better in this case. > > > > I will try to make some time to implement this... Or if someone else from the > > community wants to take this on in the mean time I am certainly happy to test > > and help out! > > Sure, I shared this thought due to having lack of time to look myself, > but I prepared the above mentioned drivers to make them work in this case. > (If you are curios, see the Git history for the last few releases with > --author="Andy Shevchenko") > Looking into it a bit more I think we could just use the eeprom_93cx6 driver without any SPI layer. Just need to add simple register_read() and register_write() functions to read/write the REB register. That should be a pretty easy change to make, I can try to make that change soon unless anyone has any objections to that method? Thanks, Parker