View Single Post
Posts: 339 | Thanked: 1,623 times | Joined on Oct 2013 @ France
#332
Great summary here MartinK !

Originally Posted by MartinK View Post
And that's a big problem - the Linux kernel needs to known on exactly which hardware it will run and do all the low-level configuration and checking itself. There are generally also no device enumeration APIs so you need to hardcode the exact hardware configuration to your kernel or else stuff will not work.
If someone needs an example of what hardcoding the peripherals list for every device means, take a look at the dts subdirectory for arm in the linux kernel source : https://git.kernel.org/pub/scm/linux...ts?h=v4.17-rc2
There are hundreds of files in there, and that's only for the devices *supported* upstream (ok, some are included by other and shared, but that doesn't change much the results)...

You can find different things here like raw chips (NXP, TI, Atmel, even Xilinx Zynq), SBC like odroids, industrial modules likes Toradex's ones, and finally phones like the mighty N900 or N9 OMAPs.

PS : there are even dts for STM32F7/H7, which are Cortex-M architecture, not Cortex-A !
 

The Following 8 Users Say Thank You to Zeta For This Useful Post: