Ник:
Пароль:

Контакты

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
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC
HolaDuo - GPIO
OlegVB
Добавлено 29.10.2014 12:40 Сообщение: 11
OlegVB
0

Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Тоже вопрос с GPIO интересует, сейчас работаю через /dev/mem
В ядре на виртуальной машине есть такое описание

user@Hola-bld:~/src/kernel/rel_imx_3.0.35_4.1.0-sk/arch/arm/mach-mx6$ grep -r "MX6DL_PAD_SD4_DAT6__GPIO_2_14" ./
./board-mx6dl_hdmidongle.h: MX6DL_PAD_SD4_DAT6__GPIO_2_14,
./board-mx6dl_hdmidongle.h: MX6DL_PAD_SD4_DAT6__GPIO_2_14,
./board-mx6q_sabrelite.c: MX6DL_PAD_SD4_DAT6__GPIO_2_14,
./board-mx6q_sabrelite_feb.c: MX6DL_PAD_SD4_DAT6__GPIO_2_14,
./board-mx6q_sabrelite_aeeb.c: MX6DL_PAD_SD4_DAT6__GPIO_2_14,
./board-mx6q_sabrelite_ieb.c: MX6DL_PAD_SD4_DAT6__GPIO_2_14,
./board-mx6q_sabrelite_old.c: MX6DL_PAD_SD4_DAT6__GPIO_2_14,

ls -al /sys/class/gpio/
drwxr-xr-x 2 root root 0 Jan 1 00:00 .
drwxr-xr-x 48 root root 0 Jan 1 00:00 ..
--w------- 1 root root 4096 Jan 1 00:00 export
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip128 -> ../../devices/virtual/gpio/gpiochip128
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip160 -> ../../devices/virtual/gpio/gpiochip160
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip192 -> ../../devices/virtual/gpio/gpiochip192
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip32 -> ../../devices/virtual/gpio/gpiochip32
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip64 -> ../../devices/virtual/gpio/gpiochip64
lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip96 -> ../../devices/virtual/gpio/gpiochip96
--w------- 1 root root 4096 Jan 1 00:00 unexport


Команда echo 46 > /sys/class/gpio/export
дает
bash: echo: write error: Device or resource busy

Причем например echo 45 нормально проходит, появляется каталог gpio45

Не подскажите в двух словах что делать?
Спуститься к концу Подняться к началу
Персональная информация
UFOLab
Добавлено 29.10.2014 14:19 Сообщение: 12
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
Выполнил build.sh, в папке /home/user/tftp/ обновились:
Код

Kernel_modules
Kernel_modules.tar.gz
uImage


Я так понимаю надо заменить uImage в /boot/ ?

И еще:

Код

user@Hola-bld:~$ ls -l /home/user/src/kernel/kernel_v1/arch/arm/mach-mx6 | grep board
-rw-r--r-- 1 user user 10470 2014-02-06 15:42 board-mx6dl_arm2.h
-rw-r--r-- 1 user user 10876 2014-02-06 15:42 board-mx6dl_hdmidongle.h
-rw-r--r-- 1 user user 11705 2014-02-06 15:42 board-mx6dl_sabresd.h
-rw-r--r-- 1 user user 63013 2014-02-06 15:42 board-mx6q_arm2.c
-rw-r--r-- 1 user user 10105 2014-02-06 15:42 board-mx6q_arm2.h
-rw-r--r-- 1 user user 23172 2014-02-06 15:42 board-mx6q_hdmidongle.c
-rw-r--r-- 1 user user 10683 2014-02-06 15:42 board-mx6q_hdmidongle.h
-rw-r--r-- 1 user user 49051 2014-02-06 15:42 board-mx6q_sabreauto.c
-rw-r--r-- 1 user user 11503 2014-02-06 15:42 board-mx6q_sabreauto.h
-rwx--x--x 1 user user 36685 2014-05-07 08:39 board-mx6q_sabrelite_aeeb.c
-rwx--x--x 1 user user 36681 2015-05-08 06:29 board-mx6q_sabrelite.c
-rw-r--r-- 1 user user 20909 2014-02-06 15:42 board-mx6q_sabrelite.c__my
-rw-r--r-- 1 user user 38590 2014-02-06 15:42 board-mx6q_sabrelite.c_orig
-rwx------ 1 user user 36229 2015-05-08 03:06 board-mx6q_sabrelite_feb.c
-rwx--x--x 1 user user 36862 2015-05-09 03:17 board-mx6q_sabrelite_ieb.c
-rwxr-xr-x 1 user user 35160 2014-04-26 19:07 board-mx6q_sabrelite_old.c
-rwx--x--x 1 user user 37156 2015-05-08 04:39 board-mx6q_sabrelite_vceb.c
-rw-r--r-- 1 user user 55021 2014-02-06 15:42 board-mx6q_sabresd.c
-rw-r--r-- 1 user user 10470 2014-02-06 15:42 board-mx6q_sabresd.h
-rwxr-xr-x 1 user user 35632 2014-02-06 15:42 board-mx6sl_arm2.c
-rw-r--r-- 1 user user 18443 2014-02-06 15:42 board-mx6sl_common.h
-rw-r--r-- 1 user user 44310 2014-02-06 15:42 board-mx6sl_evk.c
-rw-r--r-- 1 user user 11700 2014-02-06 15:42 board-mx6solo_sabreauto.h


Куда именно засунуть эту строку?
Код

MX6DL_PAD_SD4_DAT6__GPIO_2_14
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.10.2014 19:33 Сообщение: 13
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Я так понимаю надо заменить uImage в /boot/ ?

да. и на всякий случай обновить модули (*.ko) на платформе

Цитата
Куда именно засунуть эту строку?

если вы ничего не трогали, то смотрите в этот сишник:

Код
-rwx--x--x 1 user user 36681 2015-05-08 06:29 board-mx6q_sabrelite.c
-rw-r--r-- 1 user user 20909 2014-02-06 15:42 board-mx6q_sabrelite.c__my
-rw-r--r-- 1 user user 38590 2014-02-06 15:42 board-mx6q_sabrelite.c_orig

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
UFOLab
Добавлено 30.10.2014 12:36 Редактировалось 30.10.2014 12:53 Сообщение: 14
UFOLab
0

Пункты: 460
Регистрация: 26.09.2014
OlegVB писал:
Цитата

Команда echo 46 > /sys/class/gpio/export
дает
bash: echo: write error: Device or resource busy


Судя по исходникам GPIO_2_14 (46) на HolaDuoPC занят под:

Код
/* Hola-AEEB USB reset */
MX6Q_PAD_SD4_DAT6__GPIO_2_14


В Hola-PC_V1B.pdf на X6 обозначены только GPIO_2_14 и GPIO_3_19. Как понять где все остальное? и их также надо добавлять в исходник и компилить?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 30.10.2014 15:35 Редактировалось 30.10.2014 15:35 Сообщение: 15
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
[quote]Судя по исходникам GPIO_2_14 (46) на HolaDuoPC занят под:

Код
/* Hola-AEEB USB reset */
MX6Q_PAD_SD4_DAT6__GPIO_2_14
[/quote]

вполне может быть и занят. посмотрите внимательно в файле платы - если занят, то где-то д.б. упоминание "IMX_GPIO_NR(2, 14)"
и под каким именем он занят..

Цитата
В Hola-PC_V1B.pdf на X6 обозначены только GPIO_2_14 и GPIO_3_19. Как понять где все остальное? и их также надо добавлять в исходник и компилить?

есть однозначное соответствие между контактом процессора и описанием контакта в даташите. идете по цепочке:
контакт разъема->контакт АРМа->даташит на АРМ
потом с этими знаниями дописываете в файле платы..
именно таким путем я и поступаю - результат положительный

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
OlegVB
Добавлено 30.10.2014 17:03 Сообщение: 16
OlegVB
0

Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Есть такая строка
#define HOLA_AEEB_USB_RESET IMX_GPIO_NR(2, 14)

и далее

gpio_request(HOLA_AEEB_USB_RESET, "Hola-AEEB-reset");
gpio_direction_output(HOLA_AEEB_USB_RESET, 1);
gpio_set_value(HOLA_AEEB_USB_RESET, 0);
udelay(100);
gpio_set_value(HOLA_AEEB_USB_RESET, 1);
udelay(1000);

GPIO3 19 тоже занят
#define HOLA_AEEB_PCIE_RESET IMX_GPIO_NR(3, 19)

просто поставить комментарий на #define видимо нельзя
куда лучше переназначить? Может так

GPIO3_IO24 (EIM_D24) свободен согласно схемы,
GPIO3_IO25 (EIM_D25) тоже свободен
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 02.11.2014 13:25 Сообщение: 17
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Есть такая строка
#define HOLA_AEEB_USB_RESET IMX_GPIO_NR(2, 14)

если аддон AEEB не подключен и не используется, то лучше всего убрать в файле платы все упоминания об узлах этого аддона.. чтобы не смущать ядро несуществующим железом..

Цитата
просто поставить комментарий на #define видимо нельзя
куда лучше переназначить? Может так

дефайн HOLA_AEEB_USB_RESET - это всего лишь определение, можно найти место где оно упоминается и прописать туда NULL
переназначить можно, но надо отследить правильность работы драйвера, где этот сигнал используется

в общем случае на примере PCIE - допустим этого узла в системе нет и нужен пин 3_19:
- отключаем поддержку PCIe в ядре
- убираем вызов инита PCIe в функции инита подсистем платы в файле борды
- убираем структуры для работы PCIe в том же файле
- переопределяем пин 3_19 дефайном под свои нужды

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
OlegVB
Добавлено 06.11.2014 19:38 Сообщение: 18
OlegVB
0

Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Спасибо за пояснения.
Стараюсь не ломать лишнего, нужно вывести RTS для управления передачей по RS-485.
Вариантов не много, вроде можно на EIM_D20, по схеме это SPI1_SC.
Решил пожертвовать SPI1 и вместо остальных сигналов вывести GPIO. Получается GPIO3_21, GPIO3_22 и GPIO3_28, это заработало нормально.

А вот UART1_RTS не появился.
Посмотрел определение MX6DL_PAD_EIM_D20__UART1_RTS в
arch/arm/plat-mxc/include/mach/iomux-mx6dl.h
и обнаружил, что есть еще такое MX6DL_PAD_EIM_D19__UART1_RTS, т. е. на EIM_D19.

В документации на процессор такого вроде нет. Пользуюсь файлом IMX6SDLRM.pdf, там для UART1_RTS_B указано EIM_D20 или SD3_DAT1.

Получается не соответствие. Видимо не туда смотрю?
Спуститься к концу Подняться к началу
Персональная информация
OlegVB
Добавлено 06.11.2014 20:34 Сообщение: 19
OlegVB
0

Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Разобрался, видимо правильный файл iomux-mx6q.h
Только сигнала нет, в чем может быть еще проблема?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 07.11.2014 00:17 Сообщение: 20
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Разобрался, видимо правильный файл iomux-mx6q.h
Только сигнала нет, в чем может быть еще проблема?

мнэ.. я для HolaPC (проц imx6s) правил в хидере iomux-mx6dl.h

если ничего не получится, то попытайтесь настроить выбранный пин в режим обычного GPIO и убедиться в его подконтрольности и работоспособности..
потом перекрутить обратно для контроля RTS и в логе внимательно проверить отсутствие ошибок о невозможности получить контроль над пином (кажись ошибка "-22")..
чудес не бывает - если железо исправно, то все должно работать

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC