SPI, I2C, and 1-wire Driver in Android Linux kernel

In the end of previous company, I got one job about writing one MCU driver using SPI interface on smartphone.
It's quite difficult for me because I got no idea about SPI before.
There are master/slave and lots of API of SPI host.
After reference lots of search results from web, I finish one SPI driver by several days.
If you are suffered in SPI, try this. It's a useful one in Chinese.

For I2C, I got one job just related to it.
It's about getting ADC from TI PMU using I2C.
This one is quite different because the exported API is already done the similar job.
Just need a simple modification to finish the requirement.

Most recently, I just got one request about 1-wire driver creation in my new company.
It would be a 1-wire driver for EEPROM that is used for some further detecting usage for smartphone.
I work on this couple days ago and become more familiar to 1-wire.
It's quite the same as SPI but need more modification to accomplish the whole work.
For my experience of SPI, the MCU vendor describe almost all the functionality of MCU and detail protocol that MCU communicates with CPU.
Because of that, the job become easier than the 1-wire driver to finish.

More, there is some authentication feature on this EEPROM that make it more complicated.
Now I just enable master that using GPIO and refer the existing 1-wire driver for EEPROM DS2431 to add slave.
After adding one family ID "4F", I could add 1-wire slave and read the 128KB content successfully but write fail....
I could just write it by the evaluation Kit from vendor and test the read function.
I just got the full version datasheet but it is quite complicated.
If they could describe it like MCU vendor or offer simple driver sample, that would be great help for me.