Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
About NUC950(w90p950) энд Linux Kernel
Jury093
Добавлено 27.03.2010 11:48 Сообщение: 11
Jury093
4.5

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

о-как, а можно поподробнее - где-то менялся идентификатор платы или переменная? куда т что прописывать?

Цитата
Оказалось я неверно воспринял прочитанное.
Во-первых, нет никакого отдельного драйвера-надстройки. Поскольку UART0 у NUC950 совместим со стандартным 16550, то они и используют стандартный драйвер, передавая ему начальный адрес группы регистров UART0 и номер прерывания.

похоже я ввел в заблуждение - извиняюсь

Цитата
Что-то он у меня не накладывается. Большинство его изменений уже есть в ядре. Надо разбираться.

да, я в торопях, забыл это упомянуть - из патча отрабатываются два последних изменение. Что именно не успел посмотреть.. В пнд переставлю ядро и буду посмотреть по-новой..

Цитата
Получается, контроллер на 66 МГц запустился.

угу, в каталоге платы в каком-то файле есть свитч переключающий тактовую от входного параметра - как поменять - я пока не нашел

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

Пункты: 3655
Регистрация: 02.12.2009
Цитата
а можно поподробнее

В head-common.S добавил запись в r1 номера machine:
__lookup_machine_type:
+ mov r1, #0x700
+ add r1, r1, #0x80
+ add r1, r1, #0x03
adr r3, 4b
Номер machine брал из /arch/arm/tools/mach-types

Цитата
из патча отрабатываются два последних изменение

Последние два изменения это создание файлов nuc900fb.c и nuc900fb.h, которые одинаковы с теми, что уже есть в ядре. Пересмотрел весь патч - не нашел ничего, чего бы еще не было в ядре. Начинаю думать что что-то не то скачал.

Установил вручную патч в котором добавляется функция nuc900_driver_clksrc_div (из сообщения 8) - не помогло.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 27.03.2010 20:12 Редактировалось 27.03.2010 20:21 Сообщение: 13
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
В head-common.S добавил запись в r1 номера machine:
__lookup_machine_type:
+ mov r1, #0x700
+ add r1, r1, #0x80
+ add r1, r1, #0x03
adr r3, 4b
Номер machine брал из /arch/arm/tools/mach-types

ну это тоже не совсем "правильный" путь.. опа! как все стало интересно. посмотрел сорцы 2.6.17 а там вписана аналогичная вашей конструкция через ifdef-endif, циферки чуть другие.. хм.. нда.. по идее в связке u-boot - kernel должна быть система свой-чужой, юбут должен при запуске кернела положить в регистр код платы, а ядро перед запуском проверить соответствие..
я то в этой же функции меняю:
Код
-beq 2f
+b 2f

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

а патч может быть вовсе не нужен, я о нем написал, т.к. там были упоминания об отсутствующей функции

Цитата
Установил вручную патч в котором добавляется функция nuc900_driver_clksrc_div (из сообщения 8) - не помогло.

надо смотреть, что делает эта функция. исходя из ее имени - может вычислять некий делитель или что-то прописывать в регистры контроллера
зы плата с нук950 терзается на работе, т.ч. из дома могу только теоретически подискутировать :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Artemius
Добавлено 28.03.2010 13:05 Сообщение: 14
Artemius
0

Пункты: 3655
Регистрация: 02.12.2009
Заработал наконец экранчик, пингвин и строки приветствия появились.
Нашел решение в драйвере из 2.6.17.14. Для моего LCD PH320240T нужно было выставить бит DE_POL в регистре DEVICE_CTRL.

Цитата
посмотрел сорцы 2.6.17 а там вписана аналогичная вашей конструкция

так я ее оттуда и взял
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 28.03.2010 19:45 Редактировалось 28.03.2010 19:45 Сообщение: 15
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Заработал наконец экранчик, пингвин и строки приветствия появились.
Нашел решение в драйвере из 2.6.17.14. Для моего LCD PH320240T нужно было выставить бит DE_POL в регистре DEVICE_CTRL.


Изображение встало четко, координаты совпадают?

Я драйвер экрана тщательно не изучал, жаль там нет поддержки графических вкусностей для NUC950.
Захотел исследовать вопрос о hardware cursor - заявлен везде как фича, читаю Programm Guide nuc950 "чтобы включить hardware cursor включите его в регистре DCCS" - _нет_ там такого бита. Может конечно так закамуфлировали одну из областей OSD.. не знаю..

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

Пункты: 3655
Регистрация: 02.12.2009
Цитата
Изображение встало четко, координаты совпадают?

На глаз все хорошо. Я все значения для своего LCD из старого драйвера перенес.

Цитата
читаю Programm Guide nuc950 "чтобы включить hardware cursor включите его в регистре DCCS" - _нет_ там такого бита

Да, с документацией как-то плоховато, Programm Guide этот 2008 года, только описание регистров без описания принципов работы блоков. И errata негде взять. Но за tqfp корпус приходится такое прощать.

Кстати, нашел как задавать частоту. В параметрах Kernel command line задать cpufreq=200 (ну или другую).
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.03.2010 13:43 Сообщение: 17
Jury093
4.5

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

Счастливец! Я, перестраивая на 640х480, поменял настройки в очевидных местах - изображение стабильное и четкое, но 320х240 размазанные в 640х480. Перешерстил все подозрительные регистры - пофиг. ищу где чего упустил..

Цитата
Кстати, нашел как задавать частоту. В параметрах Kernel command line задать cpufreq=200 (ну или другую).

ага, спасибо. прописал, пересобрал, по показометру богомипсов добавилось. жаль пока потестить нечем - юсб нет, ммс нет, пробавляюсь тем, что корневую по сетке подгружаю

параллельно с lcd, приживляю в качестве тренировки i2c шинку, упрямится, зараза :)

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

Пункты: 3655
Регистрация: 02.12.2009
Цитата
приживляю в качестве тренировки i2c шинку

это тренеровка перед
Цитата
юсб нет, ммс нет

:)?
Судя по скриншоту из вашего первого поста, китайцы i2c вообще не занимаются. Да и в ядре жестко SPI прописали для последовательной флешки. Так что труд явно не пропадет даром.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 30.03.2010 00:42 Сообщение: 19
Jury093
4.5

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

это тренеровка перед
Цитата
юсб нет, ммс нет

:)?
Судя по скриншоту из вашего первого поста, китайцы i2c вообще не занимаются. Да и в ядре жестко SPI прописали для последовательной флешки. Так что труд явно не пропадет даром.

да китайцы жгут неподеццки - в 2.6.17.14 есть драйвера i2c (запустил ds1340 rtc), но не удалось включить spi, хотя драйвер какой-то виден
в нынешнем ядре.. есть заранее включенный spi, но нет i2c :-/
завтра, если будет время, подцеплю осцилл и буду посмотреть - что творится на шине контроллера LCD, что бегает (и бегает ли) по i2c
насчет "тренировки" не знаю, если дело приживления пойдет успешно, то можно будет двигаться дальше. если нет, то придется ждать новых ядер..

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

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
два дня трудов, что-то я не уверен, что смогу приживить usb
попутно овладел искусством загрузки с NFS и сборкой buildroot для nuc950
Код
Linux version 2.6.34-rc2 (root@debian) (gcc version 4.2.1) #196 PREEMPT Wed Mar 31 13:54:32 EDT 2010
Machine: W90P950EVB
Memory policy: ECC disabled, Data cache writeback
CPU type 0x02900910 is NUC910
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-03-31 13:53:25 UTC (1270043605)

Welcome to Buildroot
uclibc login: root
Mar 31 07:53:33 login[336]: root login on 'ttyS0'
# hwclock
Wed Mar 31 13:53:38 2010 0.000000 seconds

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux