Proyecto de Linux integrado - encontrando periféricos compatibles [cerrado]

2

Estamos comenzando un proyecto de tablero integrado. Estamos explorando el uso de Linux incorporado y nos gustaría seleccionar periféricos con controladores de Linux que funcionen.

Mi pregunta: para diferentes subsistemas (Ethernet, memoria, almacenamiento, etc.), ¿cómo puedo determinar qué chips son compatibles o si tenía un chip? KSZ8463 por ejemplo ( enlace ) ¿Cómo puedo determinar si es compatible con el controlador de Linux?

Supongo que podría buscar cosas en el árbol de dispositivos y grep, pero KSZ8463 se presentaría como KSZ84xx o alguna otra variante. Las cosas comienzan a complicarse rápidamente con el mecanismo de soporte de controlador compatible

Sí vi la base de datos de dispositivos del kernel de Linux (LKDDb en enlace ) pero no parece que se haya actualizado desde 2007.

¿Es posible obtener una lista completa de chips compatibles para un subsistema determinado o ver si un chip determinado (por ejemplo, el KSZ8463) tiene un controlador explícito o es compatible a través de un controlador compatible?

configurar un kernel para mi arco con make menuconfig como lo sugiere @ IgnacioVazquez-Abrams proporciona mucha información, pero no siempre hay una lista de dispositivos o familias específicas.

A modo de ejemplo, esta es la configuración para la compatibilidad con dispositivos Ethernet de phy

¿Esosignificaquetodosloschipsethernetdemicrochipsoncompatibles,peroTIsoloescompatibleconelDP83848?¿HayalgunamaneradeencontrarloschipsdeEthernetdemicrochipcompatiblesconocidosreales(ocualquierotrochipdondeladescripciónseatanvagao"la mayoría de los dispositivos compatibles"

    
pregunta paulluap

1 respuesta

1

La búsqueda en la fuente de una cadena es una forma viable: Linux en ARM usa el árbol de dispositivos y necesita una cadena compatible. Ejecute grep -Rni device en el directorio de origen raíz y observe los resultados. Por ejemplo, mire línea 1283 de sc16is7xx.c : hay una tabla que lista todos los dispositivos compatibles.

Si no aparece un nombre completo, intente eliminar el último carácter o dos, eso depende de su criterio, ya que depende del dispositivo en particular y del esquema de nombres de esa familia de dispositivos.

    
respondido por el Jan Dorniak

Lea otras preguntas en las etiquetas