Всем привет.
Конфигурация: Компьютерный модуль - Toradex Colibri PXA320 (ARM, XScale). OC - embedded linux.
По идее, чтобы получить доступ к регистрам сетевого адаптера необходимо «отмапить» их в память, используя функцию ioremap(). Чтобы получить физический адрес I/O регистров используется функция platform_get_resource(), которая возвращает структуру resource с двумя полями: start и end. Оба поля - физические адреса. Берутся эти адреса из файла «определения» платы (не ручаюсь за точный перевод выражения board definition file). Они там определены как #define PXA3xx_CS2_PHYS (0x10000000). В моем случае это arch/arm/mach-pxa/colibri-pxa320.c.
Когда стартует ядро, то система зависает как раз во время инициализации сетевого адаптера, а именно во время обращения по этому физ. адресу (поле start структуры resource).
Вопрос: можно ли как-нибудь «спросить» плату, где (по каким адресам) находится регистры сетевого адаптера?
Спасибо.