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) Как же ему напрямую записать значение в регистры?