реклама на сайте
подробности

 
 
> Freescale iMX6, Linux Device Tree, настройка pin muxing в DTS/DTB файлах
AVR
сообщение Mar 20 2016, 18:51
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Требуется переназначить выводы P4 и P1 процессора i.MX6 Solo в качестве обычных GPIO.
Прилагаю текстовую форму файла imx6dl-wandboard.dtb (по сути dts).

Пока не могу найти логическую связь документации (файл IMX6SDLRM.pdf) и DTB/DTS файла.
Мне вообще не понятно где в этих device tree файлах есть обозначение той или иной роли для вывода например P4? А в документации где эта связь? Там вообще нет P4 и связи с какими адресами регистров.

Прошу помочь тех кому приходилось задавать настройки мультиплексирования выводов для ОС Linux, причем не только для процессоров Freescale iMX 6...

Прикрепленный файл  imx6dl_wandboard.txt ( 55.53 килобайт ) Кол-во скачиваний: 227


P.S.
Модератору: я уверен, это скорее тема для ARM, чем для подфорума по операционным системам - там врядли кто подскажет...


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MacArrow
сообщение Mar 21 2016, 22:08
Сообщение #2





Группа: Участник
Сообщений: 8
Регистрация: 21-05-12
Пользователь №: 71 941



Касательно настройки pinmux, вот в этом файлике, который можно найти и в вашем ядре, объявлены макросы для всех типовых функций пинов.
Формат там простой <mux_reg conf_reg input_reg mux_mode input_val>, то есть это первый источник информации, ищете указанный mux reg в manual, смотрите на значения, понимаете что оно делает. Но на самом деле имя каждого макроса уже содержит всю информацию.
Теперь, как найти нужный пин, так как в вышеуказанном файлике номера пинов не используются, надо найти каноническое имя пина в мануале и по этому имени и требуемой функции выбрать уже нужный макрос.
Например, возьмем MX6SL_PAD_AUD_MCLK__AUDIO_CLK_OUT. Этот макрос переводит пин AUD_MCLK в режим AUDIO_CLK_OUT
Далее, этот макрос используется в описании iomux, например вот в этом файле есть такая секция в iomux:
pinctrl_audmux: audmuxgrp {
100 fsl,pins = <
101 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0
102 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
103 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0
104 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
105 >;
106 };
Очевидно, что оно включает I2S на пинах CSI0_DAT7 и тд. Что же касается цифр после макроса (0x130b0), это режим пина - гистерезис, pullup/pulldown и тп., опять же вся инфа в мануале на чип
И вообще, вся вышенаписанная мудрость находится тут, как использовать - грепается в ядре
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th August 2025 - 18:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016