ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
496203
Sergey (12.03.2014 17:46, просмотров: 497)
Freescale MPC8360 UCC - HDLC Есть MPC8360, на нем бегает OpenWRT. UCC1 и UCC2 держат работающий ethernet. Пытаюсь заставить работать HDLC на другом UCC. Дергал 'generic HDLC driver' в ядре, но от него пока только сообщение при загрузке "hdlc: HDLC support module revision 1.22" и все, больше никакого толку - ни новых устройств, ничего. Device tree использую следующий (импровизация, годных примеров не нашел):
ucc@2200 {
  device_type = "network";
  compatible = "ucc_hdlc";
  cell-index = <3>;
  reg = <0x2200 0x200>;
  interrupts = <34>; //0x22
  interrupt-parent = <0x2>;
  rx-clock-name = "none";
  tx-clock-name = "brgo2";
  };
Также пытался заставить HDLC работать в тупую, используя код из AppNote 4026. Скомпилировал, чуть изменив, как модуль ядра. В результате insmod мой.ko получаю лишь "Unable to handle kernel paging request for data at address ..." даже при попытке прочитать что-то из уже работающих UCC1 и 2. Засунул в ядро, чтобы запускалось при старте - тот же результат. Итак, 1) Можно ли использовать 'generic HDLC driver', или надо взять другой (какой?), или вообще писать свой? 2) Как же ему напрямую записать значение в регистры?