здесь можно описывать пины которые нужно всегда инициализировать независимо от периферийного блока - например GPIO.
См. файл arch/arm/boot/dts/imx6q-pinfunc.h для quad - dual, imx6dl-pinfunc.h - для dual lite - solo.
Тут описаны все возможные варианты настройки пинов, для PAD_KEY_COL3
сразу проверяйте - не конфликтует ли пин с тем что уже прописано в device tree, например в данном случае этот пин конфликтует с spdif-in - так что его надо либо отключать (например оставить только spdif-out) или переназначать ему входной пин если это возможно.
пин сброса mPCIE - аналогично, только указывается номер GPIO для драйвера pcie
добавить пин сброса usb hub - в драйверах USB хоста есть пин управления питанием, сброс внешнего хаба я не встречал, но думаю что в u-boot это сделать проще
добавить карту памяти SD2 - посмотрите для начала, возможно ли это на данном модуле. Сначала нужно исключить конфликты по пинам, потом добавить аналогично usdhc1
поменять звуковой кодек на sgtl5000(как на sreliteab) - смотрите DTS файл sabrelite и замените tlv320 на sgtl5000
убрать из инициализации АЦП ADV7180 чтение и запись регистров по i2c - это к DTS не относится - иправляйте в драйвере adv7180 как вам надо
добавить шину памяти pseudo sram - с weim иметь дело не приходилось - поищите на форме Freescale, в DTS прописана настройка пинов как было в старом ядре 3.0.35 и включен драйвер weim.
При изненении конфига и device tree для imx6 имел такую проблему...
1) Есть драйвер rtc-snvs.c в котором есть соотвествующий код.
if (!pm_power_off)
pm_power_off = snvs_poweroff;
2) Есть драйвер gpio-poweroff.c, в котором есть аналогичный вызов
if (pm_power_off != NULL) {
pr_err("%s: pm_power_off function already registered",
__func__);
return -EBUSY;
}
Пока решил проблему так в rtc-snvs.c закоментировал строчки, gpio-poweroff загружается и работает... Если не комментировать то естественно драйвер gpio-poweroff не грузиться...
Но как установить порядок загрузки драйверов в dts файле? По уму то ?
Порядок инициализации модулей ядра слинкованных статически как и раньше зависит от положения Makefile и порядка следования правил сборки модулей внутри Makefile в дереве исходников ядра. Модули инициализируются друг за другом по порядку и на многоядерных системах - инициализация выполняется на одном ядре, распараллеливание процесса загрузки ядра в ванильном ядре пока не реализовано. Порядок энумерации однотипных устройств зависит от положения описания в DTS
Здравствуйте!
Пытаемся подцепить к imx6sodimm ADV7181 в режиме ввода RGB 1024х768
Подскажите пожалуйста по аналогии с ADV7180 : как изменить ввод с CSI0 на CSI1 (определить с какого процессор будет брать видео) и где заложены настройки режима ввода для CSI (форматы, частоты).
Можно ли подключить одновременно оба csi для параллельного ввода (не принимая во внимание ограничения платы по пинам)
Прошу прощения - несколько не точен - ADV7181C (D) этот может. Суть не в этом. Пытаюсь вникнуть в V4L - пока создается впечатление что CSI0 здесь заточен под параллельный ввод а CSI1 под MIPI