Thank you guys for the guidances. I think I finally made great progress today.
Adam, I looked through the board-omap3logic.c file and now I understand how each of our device nodes are being created. I didn't see anything unusual with how the I2C1 node was being configured, other than the fact it is at a much higher clock rate (2600) than the other I2C2 and I2C3 nodes. But I think this is made transparent to me at the user level anyways.
Anyways, I looked at the App Notes that Brad pointed out and also the Linux User Guide. So this gave me an opportunity to play with the i2cset and i2cget command, which was just extremely helpful in troubleshooting my custom I2C driver code.
Here's what I noticed was my mistake. I noticed in the App Notes, they use 'i2cset -f ..." (the FORCE option). If I took out the -f option, things wouldn't work. This hinted me to use ioctl(m_fd, I2C_SLAVE_FORCE, addr) in my code and I was no longer getting errors from my ioctl call.
I guess my first question is "Is FORCE the correct thing for me to do in my code"? Doesn't seem like I have any other choice, right?
----------------------------------------
Then the other reason why my reads were coming back as 0 on ADC CH9 (Battery Backup Voltage) was because I forgot to do conversion on the ADC chip. That was more of a "DUH" moment. I found out the procedure on how to do this in the Linux BSP User Guide (Section 4.22 Analog-to-digital Converters). They provided a sample script 'adc-script'.
But here's one other question: In the TSP65950 (PMIC) datasheet Section 9.5 Monitor ADC Programming Model, they are very insistent on using the MADC_ISR register to determine if the Conversion is complete. However, I noticed in the 'adc-script', it simply hardcodes a sleep of 1 second to wait for the conversion. Then it reads the MADC CH9 registers. I believe for my application, a sleep would work fine since I have no strict timing constraint.
However, would I need to worry about not clearing the interrupt bits in the MADC_ISR1 register? Would this cause issues if I didn't?
I apologize for asking such a detailed low-level question.
------------------------------------
So far, I am able to move forward with all the learnings, so thank you so much.