Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
About NUC950(w90p950) энд Linux Kernel
rw9uao
Добавлено 03.06.2010 05:58 Сообщение: 71
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
допилите новое ядро, с НАНДом помогу. =) если сами ниасилите.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 03.06.2010 17:49 Сообщение: 72
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
допилите новое ядро, с НАНДом помогу. =) если сами ниасилите.

ура!!!
я НАНДа боюсь - на нем Uboot лежит, потру - хана системе
очень интересует поддержка шины USB и опционально SD/MMC

поковырял сегодня в очередной раз переписанный драйвер I2C - выявил все телодвижения, необходимые для его сборки :)
вот пишет при загрузке:

Код
Linux version 2.6.34-rc2 (root@debian) (gcc version 4.2.1) #6 PREEMPT Thu Jun 3 16:35:58 EDT 2010
i2c /dev entries driver
nuc900-i2c-p0 nuc900-i2c-p0: bus frequency set to 100000 KHz
rtc-ds1307 0-0068: rtc core: registered ds1340 as rtc0
nuc900-i2c-p0 nuc900-i2c-p0: i2c-0: NUC900 I2C adapter
TCP cubic registered
rtc-ds1307 0-0068: setting system clock to 2010-06-03 13:55:43 UTC (1275573343)


патч пока делать не стал, просто собрал в архив файлы, если развернуть на пустое ядро - часы должны сдетектиться

линк на архив

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 03.06.2010 22:46 Сообщение: 73
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
2Artemuis часа два крутил ваш драйвер I2C, так и не смог постичь чего не хватает, чтобы ядро за "своего" приняло :)
есть подозрение, что структуры объявленные в начале драйвера, должны входить в состав структуры i2c0
возможно надо добавить еще вызов для объявления ресурсов драйвера..
с интересом посмотрю вашу реализацию мигрирования ЮСБ драйвера - она же работает. может не до конца правильно, но это вполне реально работающий драйвер

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 03.06.2010 23:50 Редактировалось 04.06.2010 00:32 Сообщение: 74
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Цитата
если развернуть на пустое ядро - часы должны сдетектиться

Часов у меня до сих пор нет :-(. Сразу не заработало, пришлось повозиться.

В dev.c ругался на
Код
.frequency = 100*1000,
.sda_delay = 100,
.bus_num = 0,

В структуре nuc900_platform_i2c таких полей нет.

В самом драйвере в функции nuc900_i2c_init в pdata попадает какая-то чушь и хоть ядро нормально запускается и все видит, touch-screen не работает. Пока сделал по-тупому:
Код
pdata = nuc900_i2c_get_platformdata(i2c->adap.dev.parent);
+ pdata->channel = 0;
+ pdata->bus_freq = 100000;

Видимо в nuc900_i2c_probe не засовывается структура pdata в структуру i2c.

Кстати, вы драйвер дорабатывали в пропатченном ядре?

Цитата
может не до конца правильно, но это вполне реально работающий драйвер

Чтобы до конца заработало, надо видимо править ehci-hcd.c, ehci-hub.c, как в nuvoton'овском bsp, т.к. EHCI в nuc950 похоже глючноватый. Но это вроде как неправильно...

Надо наверное уже на 2.6.35-rc1 перебираться, там ведь какие-никакие но добавления от китайцев.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.06.2010 09:35 Сообщение: 75
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
В структуре nuc900_platform_i2c таких полей нет.

блин.. я при складывание файлов для архива пропустил одну ступень в подкаталоге, разумеется должно быть так
было drivers/busses
надо drivers/i2c/busses
с утра пересобрал - все собралось и загрузилось с первого раза

Цитата
Кстати, вы драйвер дорабатывали в пропатченном ядре?

нет, ядро с kernel.org

Цитата
Надо наверное уже на 2.6.35-rc1 перебираться, там ведь какие-никакие но добавления от китайцев.

надо будет стащить - поглядеть :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.06.2010 13:54 Редактировалось 04.06.2010 14:03 Сообщение: 76
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
исследую работу шины ЮСБ с вашим патчем
голое ядро+патч - после загрузки ядро поднимает порты, но ничего на них не видит
если вытащить из порта накопитель и вставить в момент, когда ядро ждет готовности root, то железо распознается и с него можно загрузиться (busybox/mdev). и крысо/клавы видны..
еще интересно поведение udev если грузить нормальный дебьян, то юдев ругается:
Код
Starting the hotplug events dispatcher: udevdudevd[451]: init_udevd_socket: error getting socket: Address family not supported by protocol

SD и I2C пока отключены, похоже ругается по поводу USB..
есть сильное подозрение, то где-то не хватает какого-то вызова (аналогично с I2C) или поля в структуре..

PS в драйвере hcd.c узрел строчку:
Код
usb 3.0 root hub device descriptor

:)))

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 04.06.2010 19:40 Редактировалось 04.06.2010 19:43 Сообщение: 77
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Цитата
В структуре nuc900_platform_i2c таких полей нет.

Извиняюсь, не заметил (и не скопировал) исправленный iic.h. Правда не пойму, зачем эти исправления.
Вообще я содержимое arch не копировал, а переносил ваши изменения, потому-что у меня там свои исправления по сравнению с ядром с kernel.org.

Цитата
было drivers/busses
надо drivers/i2c/busses

С этим у меня все в порядке, если бы не заметил, у меня бы свой драйвер компилировался а не ваш.

Цитата
если вытащить из порта накопитель и вставить в момент, когда ядро ждет готовности root, то железо распознается

У меня так же.

Цитата
и крысо/клавы видны

Напрямую или через хаб?

Цитата
похоже ругается по поводу USB..

Но все равно работает или глохнет? Я Debian только с USB и грузил, все было нормально.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.06.2010 19:58 Редактировалось 04.06.2010 19:59 Сообщение: 78
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Напрямую или через хаб?

через хаб. я все девайсы посадил на ХАБ2.0, накопителем использовал CardReader с CF, все грузилось и виделось по вышеописанному алгоритму включения

Цитата
Но все равно работает или глохнет? Я Debian только с USB и грузил, все было нормально.

все работает под Busybox, если пустить армовый дебьян, там запускается UDEV и все.. никто никуда не идет..
с винчестера при столь неустойчивой шине грузиться пока не буду, а с флешки вполне грузился.
если поискать (2.6.17.14) в разделе /drivers/usb строку типа arch_nuc900 или в /core и /host nuc900 там попадается несколько файлов из хабообразующей структуры с вкраплениями дополнений для работы юсб-шины МНУКа..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.06.2010 20:11 Сообщение: 79
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
из сегодняшний изысканий - при загрузке шина поднимается, но устройства не ищутся. если в момент загрузки сунуть устройство в шину, то драйвер шины это отслеживает и запускает поиск устройств. отсюда вывод - где-то надо прописать этот самый запуск, чтобы ядро своими штатными средствами это делало..

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 04.06.2010 20:11 Редактировалось 04.06.2010 20:18 Сообщение: 80
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Цитата
через хаб.

Может напрямую попробуете, помню в 2.6.17 у вас так не работало. Просто очень интересно, хоть и маловероятно, может у вас проц более старой ревизии и Nuvoton'овцы чего втихую химичат...

Цитата
если поискать (2.6.17.14) в разделе /drivers/usb строку типа arch_nuc900

На диске к плате где-то лежит патч с Nuvoton'овским BSP, по нему удобно смотреть чего они там надобавляли.
Не все исправления там нужны, они там че-то намутили с разделением прерывания между ohci и ehci, хотя можно было нормально через shared сделать.

Цитата
буду искать на вашем патченном место, где детектится возмущение на шине и как его вызвать при запуске ядра

В Nuvoton'овском патче вроде есть исправления на эту тему в hub.c или hcd.c, я их хотел в драйвер nuc900_ehci.c переместить, но не все получилось. Просто это вроде как неправильно в эти файлы совать код для конкретного процессора, с другой стороны если ehci кривоватый, то куда деваться...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux