[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: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> если я не напутал то это 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> 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: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: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