Во время работы модулей Тион-Про270, полученных нами недавно (ставили
их на плату Сириус270), встретилась следующая проблема.
После загрузки системы на ядре linux-2.6.22.19_tion270_svn1091,
начинаются проблемы с сетью.
1) ping в любую сторону работает хорошо
2) ping размера пакета >10*MTU показывает потери на уровне 10%,
которые растут при увеличении размера
3) Попытки установить TCP соединения (как входящие, так и исходящие)
неудачны: SYN доходит всегда, с последующими пакетами непонятно
С сетевым оборудованием всё в порядке.
Был найден workaround: если перед загрузкой в uBoot сделать ping
любого адреса, работа нормализуется, по крайней мере работает ping и
устанавливаются tcp-соединения. Видимо, uBoot делает что-то, чего не
делает драйвер для инициализации устройства. Пока добавили ping в
bootcmd.
Проверить USB-client. Работает с g_file_storage гаджетом, сделать изменение host/client по OTG_ID
USB OTG
Найти и проверить драйвер клавиатуры: GPIO / Matrix / Direct
Проверить / доделать звук (выход и микрофон) на UCB1400. Выход наушников и микрофон работают в
КФС из PTXdist.
Линейный вход не работает? – похоже, работает, нужно выбирать источник в микшере.
Ethernet работает только на 100 Mbit, по крайней мере в U-Boot
DMA для Ethernet (DM9000, LAN9221) в Linux
Драйвер для АЦП на UCB1400 (в рассылке есть драйвер для GPIO)
Драйвер TPS650020 (в ядре есть TPS65010)
Драйвер для PWM
watchdog
Сохранение (в U-Boot?) и чтение MAC-адреса (в Linux) (MAC = 00, нет EPROM) через чтение конфигурации U-Boot. Не подходит для NFS –
MAC адрес передаётся через serial_tag (U-Boot svn886)
Чтение и сохранение
MAC-адресов в переменные U-Boot из EPROM на Тион-Про270E2
Драйвер подсветки дисплеев (сейчас только включена/выключена /sys/class/graphics/fb0/blank
)
Просыпание экрана по нажатию сенсорного экрана (возможно, это делается в userland)
Просыпание/засыпание (код есть в 2.6.22, не понятно как им пользоваться)
QT работает с 18 bpp, добавлено 18 bpp в tslib. Графическое приложение (GPE?) и Mplayer с 18 bpp цветом
Отображение картинки при загрузке в U-Boot (есть в 1.3.3 и есть какой-то патч, пробовал Рома; нужно добавить переменную для указания дисплея/разрешения как это сделано для EP93xx)
Изменение вывода на последовательный порт в U-Boot, serial multi, код есть, надо проверить
Передача параметра размера
RAM из U-Boot в Linux
Защита и снятие защиты Flash командами по CFI в U-Boot (пару раз программная защита устанавливалась у пользователей при попытках использования OpenOCD и снималась (нами) командами того же OpenOCD)
Отключение периферии при программном выключении, power management
Запуск
RAM-диск без принудительного копирования его в
RAM в U-Boot?
Loading Ramdisk to 03487000, end 03db9053 … OK
Maybe gmane has a better search interface...
> I don't understand if I should patch kernel or U-Boot.
> Can anyone clarify this and advise me keywords to find appropriate patch?
It's a Linux kernel problem, not an U-Boot issue.
As a work around, you can load the image to RAM in U-Boot...
Best regards,
Wolfgang Denk
Задание частоты процессора в загрузчике (нужно для E416, сейчас решается пересборкой загрузчика)
Изменение частоты процессора в Linux
Запуск ядра из Flash? (code storage)
Второй UART для RS485 (BT_RTS не той полярности, BT_CTS не выведен и не подтянут к земле) — не будем ставить, BT_RTS зависит от входного FIFO, не годиться для управления передачей RS485 по прерываниям. Если включать передатчик GPIO, то 2 мс задержка до отключения (по таймауту).
Третий UART. Работает без режима MCR_AFE (ядро)
Конфигурацию для U-Boot при 64 и 128 МБ памяти (e.g make tion_pro270_128m_config; make
или tion_pro270_config mem=128; make
) – сделано
Второй USB-host. Работает, дело в over current сигнале второго порта USB host