Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Процессорные модули » SK-iMX6S/D-SODIMM
Освобождение пинов BUS_xxx (EIM_xxx) [Решено]
qqqqq2
Добавлено 17.01.2017 14:50 Редактировалось 19.01.2017 15:16
0
Сообщение: 1
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Добрый день!

Два вопроса.

1. В соответствие с рекомендацией по освобождению пинов
( http://starterkit.ru/html/index.php?name=forum&op=view&id=27054&last#27055 )
сделал в файле imx6qdl-sodimm.dtsi

Код

pinctrl_ipu1_disp_sodimm: ipu1-disp-sodimm {
fsl,pins = <
/*
MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10
MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10
MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10
*/
MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04 0x80000000
/*
MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10
MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10
....
MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10
MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10
*/
>;
};


Все нормально, можно теперь настроить пины на ввод или вывод.


А вот аналогично не получилось.
Код
weim {
pinctrl_weim_sodimm: weim-sodimm {
fsl,pins = <
MX6QDL_PAD_EIM_BCLK__EIM_BCLK 0x1bb1
MX6QDL_PAD_EIM_OE__EIM_OE_B 0xb0b1
/*
MX6QDL_PAD_EIM_RW__EIM_RW 0xb0b1
MX6QDL_PAD_EIM_WAIT__EIM_WAIT_B 0xb060
...
MX6QDL_PAD_EIM_DA1__EIM_AD01 0xb0b1
MX6QDL_PAD_EIM_DA0__EIM_AD00 0xb0b1
*/
>;
};
};


2. Предполагается использовать некоторые освобожденные пины на вывод.
Как сделать, чтобы в стартовом состоянии на выходе пина было 0 В?
Сейчас это удается только после задания direction в состояние out прикладной программой.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.01.2017 15:06 Сообщение: 2
sasamy
4.70

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

Все нормально, можно теперь настроить пины на ввод или вывод.


их надо еще переключить на GPIO - далеко не все пины по умолчанию скомутированы для GPIO.

Цитата

ак сделать, чтобы в стартовом состоянии на выходе пина было 0 В?


включить pull down в настройках пина ?

http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt?v=3.14#L16
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 17.01.2017 16:04 Редактировалось 17.01.2017 16:04 Сообщение: 3
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата
их надо еще переключить на GPIO - далеко не все пины по умолчанию скомутированы для GPIO.


не нашел аналогичный указанному в теме файл
https://www.starterkit.ru/html/index.php?name=forum&op=view&id=19555#19575
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.01.2017 16:12 Редактировалось 17.01.2017 16:17 Сообщение: 4
sasamy
4.70

Пункты: 76882
Регистрация: 14.08.2009
https://www.starterkit.ru/html/index.php?name=forum&op=view&id=24064

например для пина

MX6QDL_PAD_DI0_DISP_CLK переключение на GPIO соотвтетствует описание

http://lxr.free-electrons.com/source/arch/arm/boot/dts/imx6q-pinfunc.h?v=3.14#L400

MX6QDL_PAD_DI0_DISP_CLK__GPIO4_IO16

это gpio4 16
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 18.01.2017 14:33 Редактировалось 18.01.2017 15:42 Сообщение: 5
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата
их надо еще переключить на GPIO - далеко не все пины по умолчанию скомутированы для GPIO.


Да, всё получилось.
Переключил нужные пины на GPIO, добавив в hog соответствующие строки.

Например, удаленные из группы weim
MX6QDL_PAD_EIM_DA0__EIM_AD00 0xb0b1
MX6QDL_PAD_EIM_DA8__EIM_AD08 0xb0b1

в hog прописаны как
MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x80000000
MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x80000000

После старта на них висит примерно 3,3 В.
Как сделать при старте 0 В?


В теме https://www.starterkit.ru/html/index.php?name=forum&op=view&id=24064#24064
есть решение типа
&pcie {
reset-gpio = <&gpio1 12 0>;
status = "okay";
};

Это единственное решение?

Но как для группы hog сделать тоже самое?
(ядро 3.14.14)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.01.2017 18:58 Редактировалось 18.01.2017 19:03 Сообщение: 6
sasamy
4.70

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

в hog прописаны как
MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x80000000
...
Как сделать при старте 0 В?


попытка номер 2

http://www.starterkit.ru/html/index.php?name=forum&op=view&id=27590&last#27594

включить pull down в настройках пина

0x80000000 - ядро не трогает настройки и оставляет их "как есть" - только комутирует внешний пин к указанноу контроллеру, в данном случае GPIO
Спуститься к концу Подняться к началу
Персональная информация
Alechin
Добавлено 19.01.2017 08:22 Сообщение: 7
Alechin
5

Пункты: 1093
Регистрация: 25.02.2016
Пол: Мужчина
Из: Химки
Цитата

в hog прописаны как
MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x80000000
...
Как сделать при старте 0 В?

0x03038 попробуйте. будет slow, 100k pull-down
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 19.01.2017 10:21 Редактировалось 19.01.2017 10:39 Сообщение: 8
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата

Как сделать при старте 0 В?

0x03038 попробуйте. будет slow, 100k pull-down


Alechin, спасибо, то что надо!

Если кто объяснит как из
PAD_CTL_PUS_100K_DOWN (0 << 14)
и
PAD_CTL_SRE_SLOW (0 << 0)
получилось 0x03038 буду очень благодарен.
Как непрограммисту, мне непонятно. Выходит, что неправильно вычислял.
Это же операция битового сдвига?

Далее. Проделал конфигурирование пинов на 0 В.
Пока не все пины проверил, но есть вопрос по разъему X4.
На выходе BUS_DA0 (MX6QDL_PAD_EIM_DA0__GPIO3_IO00) висит 2,83 В
и выше (допустим, BUS_DA1) тоже самое.

В тоже время на другой стороне разъема на выходах BUS_DA8...BUS_DA15 всё нормально, 0 В
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 19.01.2017 10:37 Сообщение: 9
sasamy
4.70

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

На выходе BUS_DA0 (MX6QDL_PAD_EIM_DA0__GPIO3_IO00) висит 2,83 В


там скорей всего стоят внешние подтяжки к +3.3В - пины шины EIM используюся для конфигурации встроенного загрузчика bootrom
Спуститься к концу Подняться к началу
Персональная информация
Alechin
Добавлено 19.01.2017 13:24 Сообщение: 10
Alechin
5

Пункты: 1093
Регистрация: 25.02.2016
Пол: Мужчина
Из: Химки
Цитата

Если кто объяснит как из
PAD_CTL_PUS_100K_DOWN (0 << 14)
и
PAD_CTL_SRE_SLOW (0 << 0)
получилось 0x03038 буду очень благодарен.
Как непрограммисту, мне непонятно. Выходит, что неправильно вычислял.
Это же операция битового сдвига?

я написал "сокращенно". Подтяжку надо еще включить выставив в единицы биты 13 и 12. Вот уже получилась тройка.
А вообще в даташите IMX6SDLRM.pdf надо смотреть раздел IOMUX - там указан формат регистров конфигурации для каждого пина в каждом варианте прокключения IOMUX.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S/D-SODIMM