[00:04:14] <fly-away>  zombah: шаришь в i2c?
 [00:04:23] <zombah>  fly-away: неа
 [00:05:09] <fly-away>  а ты ж писал патчи про ето
 [00:05:11] <fly-away>  для ac100
 [00:05:31] <zombah>  хм о каком патче идет речь?
 [00:09:06] <fly-away>  да ни о каком конкретно
 [00:09:12] <fly-away>  у меня просто об i2c вопрос
 [00:10:28] <zombah>  fly-away: ну ты вопрос задавай не стесняйся, я могу погуглить за тебя 8)
 [00:10:37] <fly-away>  там вот есть i2c_master_send, i2c_transfer, smbus_byte_write
 [00:10:50] <fly-away>  типа по одному байту посылают и пачками
 [00:10:57] <fly-away>  они взаимозаменяемы все?
 [00:13:13] <zombah>  fly-away: это тебе надо stuw спрашивать
 [00:15:49] <zombah>  http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/i2c/i2c-protocol
 [00:16:26] <zombah>  но даже читая документацию в ядре видно что это функции разных типов
 [01:01:39] <fly-away>  хм
 [01:01:52] <fly-away>  как собрать apk для всех андроедов?
 [01:02:04] <fly-away>  надо кучу разных брать?
 [01:02:15] <fly-away>  компиляторов
 [01:02:22] <fly-away>  или последним шарахнуть и норм?
 [01:02:41] <zombah>  не знаю, не интересовался никогда
 [09:37:52] <stuw>  fly-away, надо по коду смотреть. Возможно зависит от режима работы i2c контроллера (если переведешь в режим пакетов, то только пакетами слать/принимать и наоборот). Точно не скажу на вскидку.
 [09:38:19] <fly-away>  о как
 [09:38:57] <stuw>  Все приложения используют api. В разных ондроидах разный api. Скорее всего можно задать минимальную версию апи, которую можно использовать и тогда приложение будет работать на нескольких версиях андроида.
 [09:39:31] <stuw>  fly-away, ты что с i2c сделать хочешь?
 [09:41:32] <fly-away>  ну у меня есть микросхема
 [09:41:37] <fly-away>  которая по i2c прошивается
 [09:41:46] <fly-away>  вот я её пытаюсь прошить, а она никак
 [09:43:23] <stuw>  по i2c, а не по spi? в ней загрузчик уже есть, который понимает i2c?
 [09:43:39] <stuw>  кинь ссыль на даташит или модель
 [09:47:00] <stuw>  в принципе я могу предположить, как оно может шиться по i2c, но нужно протокол соблюдать.
 [12:13:56] <zombah>  добрый день всем
 [12:38:22] <vasy>  Привет всем!
 [12:39:54] <zombah>  vasy: привет
 [12:41:32] <vasy>  zombah: на lg и zte в логах есть send_voice_cal, а у нас только send_audio_cal
 [12:42:01] <zombah>  vasy: у нас этот ивент приходит когда уже кпв звук от системы играет
 [12:42:14] <zombah>  а он и без калов работает
 [12:42:40] <zombah>  когда сам звонок просто нет битиков откуда надо поэтому нет движений
 [12:42:40] <vasy>  ну да, логчично audio для музыки, voice для голоса
 [12:42:53] <vasy>  ну может и так
 [12:53:27] <zombah>  т.к. во время звонка ничего в логах не видно интересного, надо самим расстовлять дебаги
 [12:54:46] <zombah>  я пока себе представляю цепочку так drivers/slimbus->sound/soc/msm/msm8x10.c->HAL
 [13:03:22] <zombah>  в ядре по звуку очень много всяких изменений в отличии от нашего стока, хорошо бы увидеть что ядро делает когда звонок начинается
 [13:10:52] <vasy>  zombah:
 [13:10:52] <vasy>  http://4pda.ru/2015/05/29/223334/
 [13:11:13] <zombah>  %)
 [13:11:18] <vasy>  zombah: таки надо попробовать запустить сток с ядром из сорцов
 [13:14:50] <zombah>  ну fastboot ведь может только boot.img обновить, собрать пустячное дело
 [13:15:02] <zombah>  счас поправлю jellybean-wip
 [13:15:08] <vasy>  так можно и черз twrp
 [13:15:22] <vasy>  надо собирать то что rm-...
 [13:15:52] <zombah>  vasy: так это одно и тоже ты фини их
 [13:16:05] <zombah>  vasy: дифни 8)
 [13:16:07] <vasy>  :)
 [13:16:34] <vasy>  ты завидуешь бардаку с ветками в caf? ;)
 [13:17:26] <zombah>  vasy: нет, наоборот это ход порядка а не хаоса. тут видно на базе какого кафа сделано все коммиты есть и коммиты нокии на разделены на блоки
 [13:18:02] <zombah>  счас наложу патчи которые исправляют компиляцию и добавлю конфиг и все можно пробовать
 [13:18:35] <vasy>  там только надо стоковый boot.img разобрать, и заменить zImage и dtb
 [13:18:45] <vasy>  ramdisk нужен оригинальный
 [13:18:52] <zombah>  ну всяко
 [13:19:16] <vasy>  у меня сегодня нокиа не с собой...
 [13:19:36] <zombah>  я попробую как время появится
 [13:24:26] <vasy>  zombah: https://yadi.sk/d/5jnNk10vgwXLb
 [13:24:26] <vasy>  если я не напутал то это RM-1013-2.0.0.11 из сорцов и стоковый ramdisk
 [13:25:02] <zombah>  ок
 [13:51:17] <vasy>  в RM-1013-2.0.0.11 есть какой-то sound/soc/msm/msm8x10.c msm_sec_mi2s_rx2_ch, в частности msm_mi2s_sec_snd_startup
 [13:53:11] <vasy>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/blob/RM-1013-2.0.0.11/sound/soc/msm/msm8x10.c#L627
 [13:54:20] <vasy>  это MI2S_RX_VIBRA Channels, непонятное что-то, он и в диффе wcd файлов есть
 [13:55:37] <vasy>  но у него 15-й ID-шник
 [13:55:37] <vasy>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/blob/RM-1013-2.0.0.11/sound/soc/msm/msm8x10.c#L1068
 [13:56:36] <vasy>  а влогах стока мы видим:
 [13:56:36] <vasy>  D/ACDB-LOADER( 291): ACDB -> send_voice_cal, acdb_rx = 15, acdb_tx = 11, feature_set = 0
 [13:56:36] <vasy>  все тот-же 15-й ID-шник
 [13:57:22] <zombah>  хм я не понимаю что это за тема вообще со звуком у них такая
 [13:57:43] <zombah>  vasy: https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/843a557336ed0942aeecef7d73778861929c6601
 [13:57:52] <zombah>  вот это все изменения нокиа по звуку
 [13:58:45] <zombah>  там есть конечно еще странный хак в dts
 [13:58:54] <vasy>  я сейчас смотрю git diff RM-1013-2.0.0.11 cm-11.0-wip-bisect sound/soc/msm/
 [13:59:17] <vasy>  и вот например:
 [13:59:18] <vasy>  {/* hw:x,15 */
 [13:59:18] <vasy>  - .name = "MSM8X10 Media9",
 [13:59:18] <vasy>  - .stream_name = "MultiMedia9",
 [13:59:18] <vasy>  - .cpu_dai_name = "MultiMedia9",
 [13:59:18] <vasy>  - .platform_name = "msm-pcm-dsp.0",
 [13:59:18] <vasy>  + .name = "MSM8x10 Vibra",
 [13:59:19] <vasy>  + .stream_name = "MultiMedia6",
 [13:59:19] <vasy>  + .cpu_dai_name = "MultiMedia6",
 [13:59:20] <vasy>  + .platform_name = "msm-pcm-dsp.2",
 [13:59:20] <vasy>  .dynamic = 1,
 [13:59:21] <vasy>  - .trigger = {SND_SOC_DPCM_TRIGGER_POST,
 [13:59:27] <zombah>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/b2fdfce5c5e1adf9f2ff8d107f36b952651aff64#diff-f12df25fd6dbda2d94742d0b93471c42L144
 [13:59:54] <zombah>  да в новых ядрах добавилась целая куча новых dai линков
 [14:00:01] <zombah>  но что для них нужно я не знаю
 [14:00:29] <zombah>  наш LRAVibrator использует GPIO 101 который в новых ядрах привязан к DMIC
 [14:00:30] <vasy>  мне кажется с "15" всетаки все не так просто
 [14:00:39] <zombah>  я поэтому откатывал DMIC патчи
 [14:01:47] <zombah>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/6c7bd077b465395210bcb03b3a605398d8e8c2d4
 [14:01:57] <vasy>  а что там в dts?
 [14:02:31] <zombah>  vasy: ну там в роутинге они меняют название, зачем не очень понятно
 [14:02:39] <zombah>  но я в cm-11 его также поменял
 [14:02:55] <zombah>  в damp роутинге
 [14:03:09] <zombah>  вон второй линк сверху
 [14:04:12] <vasy>  угу, тут совсем непонятно
 [14:08:35] <vasy>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/blob/cm-11.0-wip-bisect/sound/soc/msm/qdsp6v2/audio_ocmem.c#L82
 [14:08:35] <vasy>  у нокии тут static int enable_ocmem_audio_voice = 1;
 [14:09:35] <zombah>  хм в конфиге ядра вроде они эту опцию не включают
 [14:09:39] <vasy>  * This configures OCMEM during start of voice call. If any
 [14:09:39] <vasy>  * audio clients are already using OCMEM, they will be evicted
 [14:09:39] <vasy>  * out of OCMEM during voice call and get restored after voice
 [14:09:39] <vasy>  * call.
 [14:09:39] <vasy>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/blob/cm-11.0-wip-bisect/sound/soc/msm/qdsp6v2/audio_ocmem.c#L619
 [14:10:08] <zombah>  но можно включить попробовать
 [14:11:18] <vasy>  только audio_ocmem.c у нас вообще не собирается :)
 [14:11:47] <zombah>  а что ему не нравится?
 [14:11:59] <vasy>  ну в смысле но в конфиге выключен
 [14:12:03] <vasy>  он
 [14:12:08] <zombah>  а ну да
 [14:13:43] <zombah>  в сток конфиге он тоже не включен
 [14:14:09] <vasy>  вот только надо убедится, что сток конфиг действительно рабочий :)
 [14:16:06] <vasy>  в sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c у нокии добавлено
 [14:16:07] <vasy>  + case SND_AUDIOCODEC_PCM: {
 [14:16:07] <vasy>  + uint16_t bits_per_sample = 16;
 [14:16:07] <vasy>  + pr_debug("%s: SND_AUDIOCODEC_PCM\n", __func__);
 [14:16:07] <vasy>  + switch (runtime->format) {
 [14:16:07] <vasy>  + case SNDRV_PCM_FORMAT_S16_LE:
 [14:16:07] <vasy>  + bits_per_sample = 16;
 [14:16:08] <vasy>  + break;
 [14:16:08] <vasy>  + case SNDRV_PCM_FORMAT_S24_LE:
 [14:16:09] <vasy>  + bits_per_sample = 24;
 [14:16:09] <vasy>  + break;
 [14:16:10] <vasy>  + }
 [14:17:31] <vasy>  в msm-dai-q6-v2.c опять вибра
 [14:17:31] <vasy>  @@ -1441,6 +1440,9 @@ static int msm_mi2s_get_port_id(u32 mi2s_id, int stream, u16 *port_id)
 [14:17:31] <vasy>  case MSM_QUAT_MI2S:
 [14:17:31] <vasy>  *port_id = AFE_PORT_ID_QUATERNARY_MI2S_RX;
 [14:17:31] <vasy>  break;
 [14:17:32] <vasy>  + case MSM_SEC_MI2S_VIBRA:
 [14:17:32] <vasy>  + *port_id = AFE_PORT_ID_SECONDARY_MI2S_RX_VIBRA;
 [14:17:33] <vasy>  + break;
 [14:20:37] <vasy>  эта вибра еще много где...
 [14:23:55] <zombah>  vasy:
 [14:24:15] <zombah>  vasy: это не у нокии это каф патч
 [14:24:16] <zombah>  commit 176b3a5ff1b9f339710bd12306437f9e7dfa4d3d
 [14:24:16] <zombah>  Author: Asish Bhattacharya <[email protected]>
 [14:24:16] <zombah>  Date: Wed Jan 22 19:16:10 2014 +0530
 [14:24:16] <zombah>  ASoC: msm8x10: add support to split SD0/1 as two seperate BE.
 [14:25:49] <vasy>  а что такое AFE ports.?
 [14:26:45] <zombah>  https://github.com/cm-nokia-x2/android_kernel_nokia_msm8610/commit/176b3a5ff1b9f339710bd12306437f9e7dfa4d3d
 [14:28:51] <zombah>  vasy: http://pastebin.com/1bqjFdNE
 [14:29:27] <zombah>  миносовые патчи уникальные для сток ядра, плюсовы для cm-11
 [14:30:31] <zombah>  это относительно sound/soc/msm только
 [14:31:42] <vasy>  может накатить
 [14:31:42] <vasy>  - ASoC: msm8x10: enabled SEC_MI2S SD0_SD1 grouping by default. ad1c4ef
 [14:31:42] <vasy>  - ASoC: msm8x10: add support to split SD0/1 as two seperate BE. 176b3a5
 [14:31:42] <vasy>  - ASoC: msm: Support PCM playback in compressed driver
 [14:32:43] <zombah>  ну вот этот ASoC: msm8x10: enabled SEC_MI2S SD0_SD1 grouping by default так просто не накатишь
 [14:33:06] <zombah>  остальные без него я пробовал, вроде звук вообще пропал 8)
 [14:33:26] <zombah>  там у них могут быть зависимости в dts и slimbus
 [14:33:34] <zombah>  надо более детально анализировать
 [14:35:53] <vasy>  надо попробовать на стоке в wcd файлах эту вибру прибить и посмотреть будет ли что со звуком при разговоре
 [16:30:05] <zombah>  чет мой boot.img вообще не грузится
 [16:31:26] <vasy>  устал :)
 [16:46:13] <zombah>  хм а кто в cmdline всякую холобундию интересно добавляет bom это и тп
 [16:46:25] <vasy>  загрузчик
 [16:46:35] <vasy>  aboot который
 [16:46:45] <vasy>  он же lk
 [16:47:07] <zombah>  хм тогда не понятно что ему не нравится
 [17:12:35] <zombah>  мда ну фиг знает не знаю что тут без консольки сделать можно
 [17:12:48] <zombah>  до инита не доходит
 [17:13:04] <zombah>  мне кажется он прям на загрузке dtb дохнет
 [17:13:43] <zombah>  хотя может чтобы залить новый boot.img еще какие спец действия нужны
 [17:14:04] <zombah>  я его просто fastboot flash boot my.img
 [18:15:36] <zombah>  блин а что за тема дергаю коммит cherry-pick а он мне еще шнягу какуюто подтягивает и выделяет двойным плюсом эти строки ++
 [18:15:54] <zombah>  откуда он это взял вообще
 [18:25:35] <zombah>  мда загадка
 [18:25:43] <zombah>  тянет с патчем еще пяток
 [18:28:19] <fly_away>  stuw: https://github.com/skelton/Amlogic_common_meson6/blob/master/customer/drivers/touchscreen/focaltech5606_g06_1003AC.c#L534
 [18:28:28] <fly_away>  вот процедура прошивки
 [18:28:38] <fly_away>  там пишутся всякие байтики по всяким адресам
 [18:28:48] <fly_away>  по i2c
 [18:35:09] <stuw>  а даташит есть?
 [18:35:34] <stuw>  там несколько раз нужно писать в регистр, пока в апгрейд режим войдет чип
 [18:36:38] <stuw>  у тебя эта операция обламывается или ты аналогичную хочешь написать?
 [18:36:43] <stuw>  fly_away, ^^^
 [18:37:40] <fly_away>  stuw: http://www.newhavendisplay.com/app_notes/FT5x06_registers.pdf
 [18:37:45] <fly_away>  такое вот есть
 [18:43:28] <stuw>  fly_away, у тебя не получаеся обновить фрмварь этим ядром?
 [18:44:06] <fly_away>  неа
 [18:45:37] <fly_away>  но я полагаю что это оттого, что протокол там
 [18:45:43] <fly_away>  не совсем соблюден
 [18:46:08] <fly_away>  у микрухи есть две ноги еще reset и wake
 [18:46:37] <fly_away>  на которых возможно должны быть высокие или низкие уровни чтобы она брала фирмварь
 [18:47:20] <fly_away>  я хочу просто к ардуине её прицепить и из юзерспейса прошить с разными уровнями
 [18:59:08] <fly_away>  но вот не пойму что за i2c_master_send и i2c_transfer
 [18:59:26] <fly_away>  это ядерные функции, в юзерспейсе таких нету
 [18:59:50] <fly_away>  одна принимает просто байт, вторая массив
 [19:00:29] <fly_away>  если я буду массив из одного байта передавать или наоборот, два байта вместо массива
 [19:00:33] <fly_away>  это тож самое будет?
 [19:05:05] <stuw>  i2c_transfer может передавать несколько сообщений. В частности на 297 строке она читает данные из чипа. Это нужно делать в 2 этапа. 1) выставить адрес адаптера, с которым будем работать командой write (флаги по-умолчанию 0) и задать адрес, откуда читать 2) запро
 [19:05:05] <stuw>  сить данные командой read
 [19:05:21] <stuw>  i2c_master_send - только шлет буфер и все
 [19:06:04] <stuw>  (с указанием адреса клиента, естественно)
 [19:06:30] <stuw>  тебе важно соблюсти алгоритм
 [19:07:00] <stuw>  кстати, вроде ардуинкой можно поснифать, какие данные на i2c шине ходят.
 [19:09:20] <fly_away>  угу
 [19:09:31] <fly_away>  тока зачем снифать, если алгоритм в коде есть
 [19:09:41] <fly_away>  кстати, в ac100 есть свободные gpio ноги?
 [19:09:49] <fly_away>  и к i2c можно подрубиться?
 [19:11:10] <stuw>  на счет ног - хз. Возможно есть, но прицепиться тяжко. К i2c нвека можно, но тоже тяжко.
 [19:11:34] <fly_away>  там же был какой-то мод хардварный
 [19:11:38] <fly_away>  для консоли чтоль
 [19:11:43] <fly_away>  это ком-порт типа?
 [19:11:50] <stuw>  так это uart, а не i2c :)
 [19:11:57] <fly_away>  так какая разницы
 [19:12:05] <fly_away>  можно съэмулировать)
 [19:12:31] <stuw>  если там uart через gpio, да, если хардварно, то нет )
 [19:13:01] <stuw>  плюс у тебя ардуина есть, зачем тошку для этого ковырять ? ))
 [19:14:42] <fly_away>  ардуины прям ща нету
 [19:14:47] <fly_away>  в пн тока будет
 [19:15:05] <fly_away>  кстати
 [19:15:14] <fly_away>  мысль возникла
 [19:15:35] <fly_away>  можно ли вставить в тошку rpi вместо тормозной родной материнки
 [19:16:46] <stuw>  1) малина разве быстрее? (у нее неон тока есть) 2) наверное можно, только нужно разъемы покоцать и придумать что-нибудь с дисплеем. Не уверен, что дисплей сходу заработает
 [19:17:01] <fly_away>  ну рпи это чисто так
 [19:17:18] <fly_away>  а вообще есть куча плат типа бананапи или кубиборда
 [19:17:36] <fly_away>  там гиг или два памяти, двухголовый проц быстрый
 [19:17:53] <fly_away>  моник как раз стандартно через lvds подключается
 [19:18:03] <fly_away>  вот на клаве какой-то хитрый разъем
 [19:18:30] <stuw>  да, с клавой возможно тоже придется повозиться %)
 [19:18:49] <stuw>  на тошке уарт вроде не через gpio