ADE7758

gauravntpl:
I don't want to use the ADE7758 library.

I'm not familiar with that device, nor its library. But, if there is a library, it presumably comes with example code. I'd first try running those examples to make sure the hardware setup is working. Then, if that's successful, just look at the library's source code to see how it communicates with the device. Write your library-free code using the same techniques. Why work so hard to develop the right techniques when someone else already has?