Oh, and a git for the source: https://github.com/groeck/i2c-tools
On Mon, Dec 1, 2014 at 8:38 PM, William Hermans <[email protected]> wrote: > res, > > Yeah, I'm green on this subject, and is something I'd like to learn > myself. LDD ( Linux Device Drivers ) by O'Reilly would probably be a good > source of information. Also free for download , just google the name + > "PDF" you'll find multiple sources. Latest edition is 3RD edition. But you > could probably wade through some code, for various aspects of i2cset, and > get an idea of whats going on. > > The only reason why I commented was that I remember another person talking > about communicating with / setting the PMIC through uboot. Which is to say > I'm assuming there is no kernel / user mode. Just kernel mode, or something > akin to it. > > http://lwn.net/Kernel/LDD3/ > > Also > > https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt > > > > On Tue, Nov 25, 2014 at 6:27 PM, <[email protected]> wrote: > >> Hi William, >> >> I have worked a little with codec drivers which allows you to access some >> features from user space. for example, you can change the microphone >> impedance, bias voltage etc by Alsamixer on the fly (I think is called hot >> swap). some have suggested to access the driver thru kernel interfaces >> like sysfs. If i can find a good tutorial or example on this I will >> implement it. But, for now I am waiting for some good advice or starting >> point. >> >> >> -Regards, >> >> >> >> On Tuesday, November 25, 2014 4:58:13 PM UTC-8, William Hermans wrote: >>> >>> Ah ok my mistake I misread your post initially as I did not read the >>> whole thing sorry. >>> >>> So yes, I would think you would have to write your own kernel module, or >>> modify the existing I2C bus utils. Recompile, etc. >>> >>> On Tue, Nov 25, 2014 at 5:52 PM, William Hermans <[email protected]> >>> wrote: >>> >>>> *> i2cdetect -l* >>>>> *> on Beaglebone Black it will give you:* >>>>> *i2c-0 unknown OMAP I2C adapter N/A* >>>>> *i2c-1 unknown OMAP I2C adapter N/A* >>>>> >>>> >>>> Ok, so I2C to the PMIC does work. A person on the group got this >>>> working from within uboot and posted about it over a month ago. >>>> >>>> When i asked, "ok great, but how does that translate to this working >>>> while under linux?" He / she replied: something to the effect of "I'm >>>> unsure". >>>> >>>> Anyway, the point is it is possible to control the PMIC, or at minimum >>>> communicate with it via software + I2C. I am however not a Linux kernel >>>> expert / guru, but I *would* assume this would require a kernel level >>>> driver to work. >>>> >>>> >>>> On Tue, Nov 25, 2014 at 2:31 PM, <[email protected]> wrote: >>>> >>>>> Hi liyaoshi, >>>>> >>>>> So how can I measure the charge percentage left in the battery? Is >>>>> there an example that I can use? TPS65217 does not allow us to read the >>>>> battery voltage if I am right or at least I cannot find it in datasheet. >>>>> what voltage are you talking about? >>>>> >>>>> I did some progress with controlling PMIC and I can use i2c utilities >>>>> to read and write to it. However I have to use -f to force it since kernel >>>>> is using the I2C interface. How can I do this cleanly from user space >>>>> without forcing it? One way would be to expand the driver to add extra >>>>> features. Does anyone know a good example that I can use as starting >>>>> point? >>>>> Is there a better/easier way to do this? >>>>> my procedure is as follow: >>>>> >>>>> i2cdetect -l >>>>> on Beaglebone Black it will give you: >>>>> >>>>> i2c-0 unknown OMAP I2C adapter N/A >>>>> >>>>> i2c-1 unknown OMAP I2C adapter N/A >>>>> >>>>> >>>>> For reading status register of TPS65217. device is at 0x25 and status >>>>> register is 0x0a on I2C0 >>>>> >>>>> i2cget [-f] [-y] i2cbus chip-address [data-address [mode]] >>>>> >>>>> >>>>> sudo i2cdet -f 0 0c24 0x0a >>>>> >>>>> WARNING! This program can confuse your I2C bus, cause data loss and >>>>> worse! >>>>> >>>>> I will read from device file /dev/i2c-0, chip address 0x24, data >>>>> address >>>>> >>>>> 0x0a, using read byte data. >>>>> >>>>> Continue? >>>>> [Y/n] >>>>> 0x88 >>>>> >>>>> >>>>> To set battery charging voltage to 4.2V >>>>> >>>>> i2cset [-f] [-y] [-m mask] [-r] i2cbus chip-address data-address [ >>>>> value] ... [mode] >>>>> sudo i2cset -f -m 0x30 0 0x24 0x05 0x20 >>>>> >>>>> WARNING! This program can confuse your I2C bus, cause data loss and >>>>> worse! >>>>> >>>>> I will write to device file /dev/i2c-0, chip address 0x24, data >>>>> address >>>>> >>>>> 0x05, data 0x20 (masked), mode byte. >>>>> >>>>> Continue? [Y/n] >>>>> >>>>> Old value 0x80, write mask 0x30: Will write 0xa0 to register 0x05 >>>>> >>>>> Continue? [Y/n] >>>>> >>>>> >>>>> Thanks a lot >>>>> >>>>> >>>>> >>>>> On Monday, November 24, 2014 6:08:45 PM UTC-8, liyaoshi wrote: >>>>>> >>>>>> As I know , if only 2 wires , you can not access the Li+battery >>>>>> status , you can just get voltage value from PMU >>>>>> >>>>>> There always another 1 wire to get the communication with MCU in >>>>>> battery module >>>>>> >>>>>> 2014-11-25 8:52 GMT+08:00 <[email protected]>: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> I connected a rechargeable Li+ battery to my BBB TP5, TP6, TP7, and >>>>>>> TP8. I shorted TP5 and TP6 and added a 10uF decoupling capacitor. In >>>>>>> addition, I connected TS to GND with a 9K resistor which is 10K || 75K >>>>>>> according to the datasheet and the board boots fine from battery. >>>>>>> Now my question is that how can I monitor the battery status(how >>>>>>> much they are charged) or change the setting of PMIC, TPS65127C from >>>>>>> shell. >>>>>>> For instance, I would like to set the charging voltage to 4.2 rather >>>>>>> than >>>>>>> the default 4.1V. Or I would like to turn on/off WLED etc. Is there a >>>>>>> tool, >>>>>>> like Alsamixer, for this? if not what would be the best approach for >>>>>>> controlling PMIC from shell? I posted it here because PMIC uses I2C >>>>>>> interface to talk to AM335x. >>>>>>> >>>>>>> >>>>>>> <https://lh4.googleusercontent.com/-E-wdJPfnG5U/VHPNaDDU9WI/AAAAAAAAAAo/tEjegAyAzAM/s1600/bbb-batt-srm.jpg> >>>>>>> >>>>>>> >>>>>>> <https://lh3.googleusercontent.com/-d7FQ9BVS6J4/VHPNtiSxI4I/AAAAAAAAAAw/3_g2aL5Q2K4/s1600/bbb-batt1.jpg> >>>>>>> >>>>>>> Thanks for your time and consideration. >>>>>>> >>>>>>> -- >>>>>>> For more options, visit http://beagleboard.org/discuss >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "BeagleBoard" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>> For more options, visit http://beagleboard.org/discuss >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "BeagleBoard" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
