Традиционно попробовал прикрутить RTC к данному процессору. Результат положительный. :)
Использован все тот же чип DS1340 (3.3V) + батарейка + кварц (разумеется). Подключен на контакты I2CBUS0 на разъеме X12.
Шина поднялась сразу и без затей: i2c /dev entries driver
nuc900-i2c-p0 nuc900-i2c-p0: bus frequency set to 100 KHz
nuc900-i2c-p0 nuc900-i2c-p0: i2c-0: nuc900 I2C port0 adapter
С чипом пришлось повозиться - ядро (2.6.17) не знает его, пришлось слегка поправить имеющийся от DS1337, работает но надо причесать нормально. ds1340 0-0068: rtc core: registered ds1340 as rtc0
ds1340 0-0068: setting the system clock to 2009-10-23 10:49:33 (1256294973)
после проверки и прописывания устройств: armets:~# date
Fri Oct 23 11:06:55 UTC 2009
armets:~# hwclock
Fri Oct 23 11:06:59 2009 -0.140000 seconds
Вопрос: Драйвера на I2C использовал те, что есть в ядре изначально, или искал от WINBONDа? В интернете мелькал патч от производителя, ссылки ведут на какой-то сайт с иероглифами. Хочу купить такую плату и зацепить на нее DS-2482-100 и соответственно кучу датчиков, пока в нерешительности из-за отстутствия информации о работоспособности "родных" драйверов I2C. Не хотелось бы докупать шаманский бубен.
разберем последовательно:
- драйвера на i2c включил "родные" от Nuvoton
- драйвер на DS1340 (чип что у меня есть) отсутствовал, пришлось слегка переделать имеющийся в налиии драйвер на DS1337 (небольшие отличия)
- в составе ядра 2.6.17 есть драйвер на DS2482 (provides i2c to w1-master bridge)
ЗЫ С патчем хохма еще та - я две недели положил его вылавливая. Видимо ссылка на mcuos.com, да? братья-китайцы.. я их через гугль читаю :)
чтобы скачать патч, надо зарегится на сайте, в момент когда я говорю "да" скрипт выкидывает на китайский и не перевести нишиша :(
еще существует некая группа патчей (1-9) для nuc950, к сожалению вытащенные с html-кода они слабоработоспособны (или мне ума не хватило)
Да сайт именно этот. Наверно патч выдают только вступившим в ком.партию Китая, потому что я чудом зарегистрировался, однако пишут что этого файла уже нет. А "родные" драйвера от nuvoton были в комплекте с платой?, я поковырял ядро 2.6.31, но ничего напоминающего рабочий драйвер для I2C не нашел. Возможно конечно так искал...
угу, драйвера присутствуют в составе исходников ядра шедшего в комплекте с платой (2.6.17)
в более свежий ядрах вроде прописана поддержка CPU_W90P910, но драйверов нету. Наверно надо теребить или искать на nuvoton-е. Либо ползать по форуму mcuos. Я сделал попытку прикрутить имеющийся драйвер (nuc900-serial.c) в свежее ядро - был послан очень далеко.. По традиции линукса, все в очередной раз перетасовано и переименовано. Надо серьезно лопатить хидеры и не запутаться в структурах и семействах. :(
Ибо 910 и 950 практически близнецы с определенными отличиями.
С патчами тоже не все понятно. Я наловил 9 частей, но это в сумме 70кб - чисто для внедрения поддержки w90p9xx в ядро, понятно что драйверов там нет. Есть еще упоминания о патче V2, так и не понял - зачем он нужен. А про тот архив от китайцев где-то читал, что весит под 800кил.
Вот такая информация..
хм.. в предверии командировки сплодил вот такое безобразие на слепыше. поднимать ЛУТ было архилениво :)
предыдущий вариант подключенных ds1340 был основан на проводках к плате с другой поделки. все это приходилось таскать, подключать, не потерять и не пожечь..
нынче часы всегда при плате - снизу скотч + термоклей
поднимем тему. я подправил /drivers/i2c/chips/ds1337.c для работы с DS3231. включена поддержка в ядре
device drivers --> I2C support --> Misc I2C chip support --> DS3231
и что-то как-то не работает. хотя регистры читаются.
надо-ли включать поддержку device drivers --> RTC и делать свой драйвер еще и там? а то без этой фигни hwclock ругается на отсутствие /dev/rtc