Здраствуйте!
Имеется bq40z60evm http://www.ti.com/product/bq40z60?keyMatch...h-EN-Everything - полный менеджер батареи(батарей): зарядка, защита, контроль состояния. Для связи есть smbus.
Зарядил от нее 3S2P сборку батарей типоразмера 18650. Запитал SBC. С помощью ПО bqstudio можно контролировать,
и изменять параметры микросхемы bq40z60, они сохраняются во флэш. Здесь вопросов почти нет.
Далее мне нужно контролировать bq40z60 из Linux(ubuntu 14.04 linaro с lxde). На борде есть i2c, подсоединяю и нечего не вижу.
i2cdetect не видит адресов bq40z60. Т.е. bq40z60 отсоединено или подсоединено, вывод i2cdetect остается одним и тем же.
linaro@linaro-alip:~$ ls /dev
autofs loop7 ram13 tty12 tty4 ttymxc0
block mem ram14 tty13 tty40 ttymxc1
bus mtd0 ram15 tty14 tty41 ttymxc4
char mtd0ro ram2 tty15 tty42 ubi_ctrl
console mtd1 ram3 tty16 tty43 urandom
core mtd1ro ram4 tty17 tty44 v4l
cpu_dma_latency mtd2 ram5 tty18 tty45 vcs
disk mtd2ro ram6 tty19 tty46 vcs1
dri mtdblock0 ram7 tty2 tty47 vcs2
fb0 mtdblock1 ram8 tty20 tty48 vcs3
fb1 mtdblock2 ram9 tty21 tty49 vcs4
fd mxc_asrc random tty22 tty5 vcs5
full mxc_hdmi rfkill tty23 tty50 vcs6
fuse mxc_hdmi_cec rtc tty24 tty51 vcs7
galcore mxc_ipu rtc0 tty25 tty52 vcsa
hwrng mxc_vpu rtc1 tty26 tty53 vcsa1
i2c-0 mxs_viim sda tty27 tty54 vcsa2
i2c-1 network_latency sda1 tty28 tty55 vcsa3
i2c-2 network_throughput sdb tty29 tty56 vcsa4
input null sdb1 tty3 tty57 vcsa5
kmsg port shm tty30 tty58 vcsa6
log pps0 snd tty31 tty59 vcsa7
loop-control ptmx stderr tty32 tty6 vga_arbiter
loop0 ptp0 stdin tty33 tty60 video0
loop1 pts stdout tty34 tty61 video1
loop2 ram0 tty tty35 tty62 video16
loop3 ram1 tty0 tty36 tty63 video17
loop4 ram10 tty1 tty37 tty7 watchdog
loop5 ram11 tty10 tty38 tty8 zero
loop6 ram12 tty11 tty39 tty9
linaro@linaro-alip:~$ i2cdetect -l i2c-0 i2c
i2c-0 unknown 21a0000.i2c N/A
i2c-1 unknown 21a4000.i2c N/A
i2c-2 unknown 21a8000.i2c N/A
linaro@linaro-alip:~$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: UU 21 -- UU -- -- -- -- -- UU -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
linaro@linaro-alip:~$ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- UU -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3f
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- 6b -- -- -- --
70: -- -- -- -- -- -- -- --
linaro@linaro-alip:~$ sudo i2cdetect -y 2
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- UU -- -- -- -- -- UU -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- UU --
20: UU -- -- -- -- -- -- -- -- -- UU -- -- -- -- --
30: -- -- -- -- UU 35 -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
От bq40z60 и Linux мне нужно несколько вещей:
1) Переходить в спящий режим (из bqstudio это команда shutdown );
2) Просыпаться из спящего режима (есть кнопка wake up на bq40z60evm);
3) Отображать индикатор состояния батареи;
4) Отображать текущий источник питания( батарея или сетевой адаптер);
Кто нибудь имел дело с smbus и с подобными микросхемами в linux?
Как настроить это в Linux, подскажите куда копать?