Embedded Linux project - finding supported peripherals

  • Hello, first topic in here, please be kind. My friends and I are starting an embedded board project. We're exploring using embedded Linux and would like to select peripherals with working Linux drivers.


    My question - for different subsystems (ethernet, memory, storage, etc) how do I determine what chips are supported, or if I had a chip - the KSZ8463 for example (http://www.microchip.com/wwwproducts/en/KSZ8463) how do I determine if it has linux driver support?


    I suppose that I could look in the device tree and grep for things, but would KSZ8463 be presented as KSZ84xx or some other variant. Things start getting more complicated quickly with the compatible driver support mechanism


    I did see the Linux Kernel Device Database (LKDDb at https://cateee.net/lkddb/) but it doesn't seem to have been updated since 2007.


    Is it possible to either get a complete list of supported chips for a given subsystem, or see if a given chip (the KSZ8463 for example) has an explicit driver or is supported via a compatible driver?


    configuring a kernel for my arch with make menuconfig as suggested by @IgnacioVazquez-Abrams provides a lot of information, but there's not always a list of specific devices or families.


    As an example, this is the configuration for ethernet phy device support


    [IMG:https://i.stack.imgur.com/l7fCX.png]
    Does that mean all microchip ethernet chips are supported, but TI only supports the DP83848 ? Is there a way to find the actual known supported microchip ethernet chips (or any other chip where the description is as vague or "most devices supported"
    Thanks all!

  • Usually you just look for the hardware specs of the device that you want to use. And when you have found a matching device, then you check if there is support for it in the kernel. Either by looking at the menuconfig help entries, by looking into the kernel documentation or by checking the website of the manufactorer or Google. Or even easier, by asking the hardware vendor if there is Linux support. Not all drivers are part of the Linux tree. For example touch drivers and WLAN drivers are often only available directly from the manufacturer, not as part of the Linux kernel. So if you only have a list of devices supported directly by the Linux kernel, you would miss all these devices.


    So better search for the device that has all the hardware features that you need. And the chance is rather high that it is supported in Linux.


    On the other hand, devices like ethernet chips are usually included on our boards and modules, so you do not have to bother with finding working chips. You only need to verify those chips, that you need in addition to the hardware that is already available on our board. And in most cases, this is only a small number of devices.


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.