Ник:
Пароль:

Контакты

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 » Отладочные платы » SK-AT91SAM9G45/M10
установка ядра 3.5.3 на плату
Jury093
Добавлено 24.09.2012 17:18 Сообщение: 21
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Код
На PD21- PENIRQ есть жизнь при касании touch-панели

дак это физика ads7843 ногой дрыгает, а проц жалуется:
Код
Setting trigger mode 2 for irq 117 failed


вот и нет прерываний в системе - смотрите настройки.. имхо..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 26.09.2012 08:23 Редактировалось 26.09.2012 08:25 Сообщение: 22
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
В родном старом ядре в логе тоже ругань... но как-то работает.
Цитата

Linux version 2.6.36-rc6 (lexx@lexx666) (gcc version 4.2.0 20070413 (prerelease2
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
.....
setting trigger mode 2 for irq 149 failed (gpio_irq_type+0x0/0x20)
ads7846 spi3.0: trying pin change workaround on irq 149
ads7846 spi3.0: touchscreen, irq 149


Настройки все из старого ядра слизаны.
Единственная идея какая приходит в голову после просмотра других файлов боарды архитектуры at91 - нужно аппаратное прерывание, а не gpio...
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 26.09.2012 08:27 Редактировалось 26.09.2012 08:28 Сообщение: 23
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
хм... ругань то разная...

Цитата
genirq: Setting trigger mode 2 for irq 117 failed (gpio_irq_type+0x0/0x18)


Цитата
setting trigger mode 2 for irq 149 failed (gpio_irq_type+0x0/0x20)

ушел смотреть соурцы в раздумьях...
Спуститься к концу Подняться к началу
Персональная информация
dx
Добавлено 26.09.2012 10:46 Сообщение: 24
dx
3.5

Пункты: 7618
Регистрация: 26.10.2010
Пол: Мужчина
Из: Ukraine, Kiev city
mode 2 = #define IRQF_TRIGGER_FALLING 0x00000002
http://lxr.free-electrons.com/source/include/linux/interrupt.h#L32

А для G45/M10 GPIO IRQ только Both Edges(IRQF_TRIGGER_FALLING|IRQF_TRIGGER_RISING)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.09.2012 11:31 Сообщение: 25
sasamy
4.70

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

А для G45/M10 GPIO IRQ только Both Edges(IRQF_TRIGGER_FALLING|IRQF_TRIGGER_RISING)


Драйвер работает - там учитывается это, после неудачной попытки запроса прерывания с IRQF_TRIGGER_FALLING добавляется флаг | IRQF_TRIGGER_RISING

http://lxr.free-electrons.com/source/drivers/input/touchscreen/ads7846.c?a=arm#L1325
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 26.09.2012 12:39 Сообщение: 26
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
В ядрах по разному создаются устройства gpio... Cо смещением в 32... Причём в новом ядре нумерация более логичная...

Пробовал читать состояние пина через gpio sysfs.

[root@lexx666 gpio]# cat gpio117/direction
in

Без касания панели
[root@lexx666 gpio]# cat gpio117/value
1
С касанием панели
[root@lexx666 gpio]# cat gpio117/value
0
Вроде всё логично ток хз почему не работает и cat /proc/interrupts не выдаёт изменние значения...
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 26.09.2012 16:48 Редактировалось 26.09.2012 16:49 Сообщение: 27
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Ёпрст...

Новое ядро:
Цитата
cat /proc/interrupts
CPU0
1: 84008 AIC at91_tick, rtc0, ttyS0
11: 8098 AIC atmel_mci.0
15: 0 AIC atmel_spi.1
21: 1319 AIC at_hdmac
22: 0 AIC ehci_hcd:usb1, ohci_hcd:usb2
23: 0 AIC atmel_lcdfb
24: 0 AIC AC97C
25: 52 AIC eth0
27: 0 AIC atmel_usba_udc
63: 0 GPIO mmc-detect
83: 1 GPIO atmel_usba_udc
117: 1 GPIO ads7846


Cтарое ядро:

Цитата
[root@lexx666 ~]# cat /proc/interrupts
CPU0
1: 18461 AIC at91_tick, rtc0, ttyS0
7: 14 AIC ttyS1
11: 148514 AIC atmel_mci.0
14: 0 AIC atmel_spi.0
15: 0 AIC atmel_spi.1
21: 0 AIC at_hdmac
22: 0 AIC ehci_hcd:usb1, ohci_hcd:usb2
23: 0 AIC atmel_lcdfb
25: 9 AIC eth0
27: 0 AIC atmel_usba_udc
63: 0 GPIO mmc-detect
149: 438 GPIO ads7846



назначил на irq пин pb31. ибо закрались сомнения...

Цитата
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
{ /* ADS7846 */
.modalias = "ads7846",
.max_speed_hz = 1000000,
.bus_num = 3,
.controller_data = (void *)AT91_PIN_PC10,
.platform_data = &ads_info,
.irq = AT91_PIN_PB31,
// .irq = AT91_PIN_PD21,
},
#endif


В итоге получил, что irq ads7846 назначено
прерывание 63, оно бахнуло 63 irq GPIO mmc-detect, хотя пин mmc-detect pa31.
разбираемся дальше...
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 26.09.2012 17:02 Редактировалось 26.09.2012 18:09 Сообщение: 28
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Сделал так.
Цитата
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
{ /* ADS7846 */
.modalias = "ads7846",
.max_speed_hz = 1000000,
.bus_num = 3,
.controller_data = (void *)AT91_PIN_PC10,
.platform_data = &ads_info,
.irq = AT91_PIN_PE21,
},
#endif


получил
Цитата
genirq: Setting trigger mode 2 for irq 149 failed (gpio_irq_type+0x0/0x18)
ads7846 spi3.0: trying pin change workaround on irq 149
ads7846 spi3.0: touchscreen, irq 149
input: ADS7843 Touchscreen as /devices/platform/spi_gpio.3/spi_master/spi3/spi3.0/input/input0

Всё работает, хотя в описании должен быть пин PD21.
Вывод - не всегда новое ядро полезно
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.09.2012 18:05 Сообщение: 29
sasamy
4.70

Пункты: 77067
Регистрация: 14.08.2009
Проверьте - у вас SDHC карты работают на этом ядре ? у меня - нет, с обычными все ок.
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 27.09.2012 10:06 Сообщение: 30
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Да с SDHC ошибку выдаёт.
Цитата
mmc0: error -110 whilst initialising SD card

Проверял с обычной картой, думал что всё путём...
На каких ядрах работает SDHC ?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9G45/M10