Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:3
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Отладочные платы » SK-iMX233
Питание(зарядка) от аккумулятора
Pavel Ivanchenko
Добавлено 21.05.2010 11:49 Редактировалось 21.05.2010 18:10
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.39

Пункты: 92805
Регистрация: 24.03.2009
Пол: Мужчина
Подключил LiPol аккумулятор, включил в ядро зарядку батареи.
Зарядка работает, при загрузке ядро сообщило:
Код
stmp3xxx-battery stmp3xxx-battery.0: changed power connection to usb/5v present

Детект отключения-подключения внешних 5В так же четко срабатывает:
Код
stmp3xxx-battery stmp3xxx-battery.0: new 5v disconnection detected
stmp3xxx-battery stmp3xxx-battery.0: 5v disconnection handled
stmp3xxx-battery stmp3xxx-battery.0: new 5v connection detected
stmp3xxx-battery stmp3xxx-battery.0: 5v connection verified
4P2 rail started. 5V current limit set to 450mA
stmp3xxx-battery stmp3xxx-battery.0: changed power connection to usb/5v present

Решил при начальном заряде (когда ток заряда около 400ма) еще memtester запустить, потребление по 5В до 0.6А возросло, контроллер стал греться жудко, аж страшно стало :), но встроенный датчик температуры и драйвер зарядки делают свое дело - отключает заряд когда перегревается и подключает, когда остынет!

Из неприятных моментов, без подключенной батареи система не загружается - перезагружается на моменте инита драйвера зарядки и без внешних 5В так же не загружается, система по какой то причине сама себе отключает питание после строчек:
Код
Calibrating delay loop... 232.65 BogoMIPS (lpj=1163264)
Mount-cache hash table entries: 512
И дело явно не в аккумуляторе, т.к. если после загрузки отключить 5В все функционирует при полной нагрузке.

Вобщем, полно еще все это "тайн и загадок" и требует "хозяйской руки"...
Спуститься к концу Подняться к началу
Персональная информация
alsegor
Добавлено 23.05.2010 18:35 Сообщение: 2
alsegor
0

Пункты: 4761
Регистрация: 11.06.2009
Пол: Мужчина
Как раз про эту фичу и хотел спросить. Почитал в доке про неё.
Было бы неплохо использовать как раз в автономных устройствах без лишнего "обвеса".
Спуститься к концу Подняться к началу
Персональная информация
Arm-a-bot
Добавлено 08.02.2012 20:51 Сообщение: 3
Arm-a-bot
0

Пункты: 1540
Регистрация: 16.01.2012
Возникла проблема при подключении внешнего 5V.
Плата грузится с 3.7V батареи нормально.
Как только подаю внешнее 5V напряжение ядро сбоит.
Если загрузиться с 5V питанием ( батарея отключена),
потом подключить батарею, затем отключить 5V, то переход на батарею происходит без проблем. Если затем подключить 5V, то сбоит.


Код
Unable to handle kernel NULL pointer dereference at virtual address 0000001d
pgd = c3d20000
[0000001d] *pgd=43cff031, *pte=00000000, *ppte=00000000
Internal error: Oops: 1 [#1] PREEMPT
last sysfs file: /sys/class/net/lo/operstate
Modules linked in:
CPU: 0 Not tainted (2.6.35.3 #8)
PC is at regulator_is_enabled+0x4/0x34
LR is at state_machine_work+0x98/0x2c4
pc : [<c014a0b8>] lr : [<c01b2fac>] psr: a0000013
sp : c3c2ff88 ip : c0351be8 fp : 00000000
r10: 00000000 r9 : 00000000 r8 : 00000000
r7 : c3c79f04 r6 : c3c2ffa8 r5 : c3c79edc r4 : c3c79f04
r3 : 0000000a r2 : ffffa540 r1 : ffffa573 r0 : ffffffed
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 0005317f Table: 43d6c000 DAC: 00000017
Process events/0 (pid: 5, stack limit = 0xc3c2e270)
Stack: (0xc3c2ff88 to 0xc3c30000)
ff80: 0000000a c3c79f04 c3c79edc c01b2fac c3c00640 c01b2f14
ffa0: c3c2ffa8 c004a450 c0350738 00000000 c3c20b80 c004dc60 c3c2ffb8 c3c2ffb8
ffc0: c004a2c4 c3c23f68 c004a2c4 c3c00640 00000013 c004d910 00000000 00000000
ffe0: c3c2ffe0 c3c2ffe0 c3c23f68 c004d898 c002078c c002078c 55555555 55555555
[<c014a0b8>] (regulator_is_enabled+0x4/0x34) from [<c01b2fac>] (state_machine_work+0x98/0x2c4)
[<c01b2fac>] (state_machine_work+0x98/0x2c4) from [<c004a450>] (worker_thread+0x18c/0x254)
[<c004a450>] (worker_thread+0x18c/0x254) from [<c004d910>] (kthread+0x78/0x80)
[<c004d910>] (kthread+0x78/0x80) from [<c002078c>] (kernel_thread_exit+0x0/0x8)
Code: e3e06015 e1a00006 e8bd80f8 e92d4038 (e5901030)

Message from syslogd@mmarm9 at Jan 1 00:01:08 ...
k---[ end trace e67a21e8cf1a982b ]---
ernel:Internal error: Oops: 1 [#1] PREEMPT


Похоже что-то недовключил в ядре.
Настораживает также

Код
[color=orangered]test_power_get_battery_property: some properties deliberately report errors.
power_supply test_battery: driver failed to report `charge_full' property[/color]



Код
power_supply test_battery: POWER_SUPPLY_NAME=test_battery
power_supply test_battery: prop STATUS=Charging
power_supply test_battery: prop CHARGE_TYPE=Fast
power_supply test_battery: prop HEALTH=Good
power_supply test_battery: prop TECHNOLOGY=Li-ion
test_power_get_battery_property: some properties deliberately report errors.
power_supply test_battery: driver failed to report `charge_full' property
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 08.02.2012 21:30 Редактировалось 08.02.2012 21:33 Сообщение: 4
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
А какое конкретно из 2.6.35 ? и желательно конфиг выложить
Спуститься к концу Подняться к началу
Персональная информация
Arm-a-bot
Добавлено 08.02.2012 21:48 Сообщение: 5
Arm-a-bot
0

Пункты: 1540
Регистрация: 16.01.2012
Цитата
А какое конкретно из 2.6.35 ? и желательно конфиг выложить

Это самый последний минималистичный конфиг.
IMHO, убрал все, что может конфликтовать.
Проблема осталась.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 08.02.2012 21:51 Сообщение: 6
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
Цитата

Это самый последний минималистичный конфиг.


Мне например это ни о чем не говорит :) конфиг нужен в первую очередь для того чтобы попробовать воспроизвести баг, по тому куску лога ничего невозможно понять.
Спуститься к концу Подняться к началу
Персональная информация
Arm-a-bot
Добавлено 08.02.2012 21:51 Сообщение: 7
Arm-a-bot
0

Пункты: 1540
Регистрация: 16.01.2012
Хммм. Подсоединил ZIP файл. Написало "1 file uploaded."
А в форуме его не видно.
Спуститься к концу Подняться к началу
Персональная информация
Arm-a-bot
Добавлено 08.02.2012 21:53 Сообщение: 8
Arm-a-bot
0

Пункты: 1540
Регистрация: 16.01.2012
[/quote]

Мне например это ни о чем не говорит :) конфиг нужен в первую очередь для того чтобы попробовать воспроизвести баг, по тому куску лога ничего невозможно понять.[/quote]

сейчас выложу где-то на сервере
Спуститься к концу Подняться к началу
Персональная информация
Arm-a-bot
Добавлено 08.02.2012 22:40 Сообщение: 9
Arm-a-bot
0

Пункты: 1540
Регистрация: 16.01.2012
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.02.2012 01:18 Редактировалось 09.02.2012 02:04 Сообщение: 10
sasamy
4.71

Пункты: 83558
Регистрация: 14.08.2009
По ошибке непонятно чьей - ядра или freescale обнаруживается регулятор 5В которого нет
Код

info->onboard_vbus5v = regulator_get(NULL, "vbus5v");
if (IS_ERR(info->regulator)) {

pr_debug("No onboard vbus 5v reg provided\n");
info->onboard_vbus5v = NULL;
}


и потом драйвер заряда пытается к нему обратиться, чтобы не ломать голову - просто включите dummy regulator в конфиге:
Device Drivers ---> [*] Voltage and Current Regulator Support ---> [*] Provide a dummy regulator if regulator lookups fail

надо посмотреть в файлах типа board-файл и тд, возможно где-то там не убрал я чего-то, можно тут просто жестко задать
info->onboard_vbus5v = NULL;
это файл
linux-imx-sk_2.6.35_11.05.01/drivers/power/mxs/linux.c

но все равно - проще и надежней включить dummy регулятор, потому что он и в драйвере тачскрина например нужен.

UPD просмотрел исходники - нет такого регулятора у imx23 - есть судя по всему у imx28, где его ядро находит - загадка..
в общем dummy должен спасти :)

UPD2 Блин - да там банальная описка похоже, надо исправить вот так:
Код

info->onboard_vbus5v = regulator_get(NULL, "vbus5v");
if (IS_ERR(info->onboard_vbus5v)) {

pr_debug("No onboard vbus 5v reg provided\n");
info->onboard_vbus5v = NULL;
}
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233