Hi Andi,
+ * registers
+ */
+/* I2C MMIO Address Constants */
+#define ZXI2C_CR_L 0x00
+#define ZXI2C_CPU_RDY BIT(3)
+#define ZXI2C_TX_END BIT(2)
+#define ZXI2C_RX_ACK BIT(1)
The register layout looks similar to the i2c-wmt driver. Could this
driver maybe be reused for your hardware? I'll stop reviewing here
because we need to have that clear first.
Thank you and happy hacking,
Wolfram
I just learned that they are indeed derived from the same VIA I2C IP.
The relationship between WonderMedia/VIA/Zhaoxin looks like this:
* The i2c-wmt.c driver is used on the WonderMedia/VT8500 platform,
an ARM-based SOC from VIA. This SOC hasn't been updated in years.
Its MAINTAINERS are also Orphan.
* Lots of VIA IP is now owned by Zhaoxin, including I2C, SMBus, etc.
Zhaoxin adds some new features on the basis of the original I2C IP,
such as FIFO mode. And there are plans to continue adding new
features.
Based on this information, we thought it might be more maintainable to
create a new driver file.
I think I commented about this some times ago but then forgot.
The two drivers are, indeed, very similar.
We could eventually create a *-common.{c,h} file.
Andi
I was wondering why I didn't receive your reply, it turned out that
I was not on the mailing list, probably caused by mail system issue.
I also recently learned that this is an old IP and that there is
a driver in the kernel already. I will do some experiments here,
create a *-common.{c,h} file, and verify the results are ok.
Thank you,
Hans