о-как, а можно поподробнее - где-то менялся идентификатор платы или переменная? куда т что прописывать?
похоже я ввел в заблуждение - извиняюсь
да, я в торопях, забыл это упомянуть - из патча отрабатываются два последних изменение. Что именно не успел посмотреть.. В пнд переставлю ядро и буду посмотреть по-новой..
угу, в каталоге платы в каком-то файле есть свитч переключающий тактовую от входного параметра - как поменять - я пока не нашел
В 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) - не помогло.
ну это тоже не совсем "правильный" путь.. опа! как все стало интересно. посмотрел сорцы 2.6.17 а там вписана аналогичная вашей конструкция через ifdef-endif, циферки чуть другие.. хм.. нда.. по идее в связке u-boot - kernel должна быть система свой-чужой, юбут должен при запуске кернела положить в регистр код платы, а ядро перед запуском проверить соответствие..
я то в этой же функции меняю:
а патч может быть вовсе не нужен, я о нем написал, т.к. там были упоминания об отсутствующей функции
надо смотреть, что делает эта функция. исходя из ее имени - может вычислять некий делитель или что-то прописывать в регистры контроллера
зы плата с нук950 терзается на работе, т.ч. из дома могу только теоретически подискутировать :)
Заработал наконец экранчик, пингвин и строки приветствия появились.
Нашел решение в драйвере из 2.6.17.14. Для моего LCD PH320240T нужно было выставить бит DE_POL в регистре DEVICE_CTRL.
Я драйвер экрана тщательно не изучал, жаль там нет поддержки графических вкусностей для NUC950.
Захотел исследовать вопрос о hardware cursor - заявлен везде как фича, читаю Programm Guide nuc950 "чтобы включить hardware cursor включите его в регистре DCCS" - _нет_ там такого бита. Может конечно так закамуфлировали одну из областей OSD.. не знаю..
На глаз все хорошо. Я все значения для своего LCD из старого драйвера перенес.
Да, с документацией как-то плоховато, Programm Guide этот 2008 года, только описание регистров без описания принципов работы блоков. И errata негде взять. Но за tqfp корпус приходится такое прощать.
Кстати, нашел как задавать частоту. В параметрах Kernel command line задать cpufreq=200 (ну или другую).
Счастливец! Я, перестраивая на 640х480, поменял настройки в очевидных местах - изображение стабильное и четкое, но 320х240 размазанные в 640х480. Перешерстил все подозрительные регистры - пофиг. ищу где чего упустил..
ага, спасибо. прописал, пересобрал, по показометру богомипсов добавилось. жаль пока потестить нечем - юсб нет, ммс нет, пробавляюсь тем, что корневую по сетке подгружаю
параллельно с lcd, приживляю в качестве тренировки i2c шинку, упрямится, зараза :)
:)?
Судя по скриншоту из вашего первого поста, китайцы i2c вообще не занимаются. Да и в ядре жестко SPI прописали для последовательной флешки. Так что труд явно не пропадет даром.
да китайцы жгут неподеццки - в 2.6.17.14 есть драйвера i2c (запустил ds1340 rtc), но не удалось включить spi, хотя драйвер какой-то виден
в нынешнем ядре.. есть заранее включенный spi, но нет i2c :-/
завтра, если будет время, подцеплю осцилл и буду посмотреть - что творится на шине контроллера LCD, что бегает (и бегает ли) по i2c
насчет "тренировки" не знаю, если дело приживления пойдет успешно, то можно будет двигаться дальше. если нет, то придется ждать новых ядер..
два дня трудов, что-то я не уверен, что смогу приживить 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