Porting Linux to a new board
The scope of the task depends on how similar your board is to an existing development board. In Chapter 3, All About Bootloaders we ported U-Boot to a new board, named Nova, which is based on the BeagleBone Black (when I say based, it actually is one) so, in this case, there are very few changes to the kernel code to be made. If you are porting to completely new and innovative hardware, there will be more to do. I am only going to consider the simple case.
The organization of architecture-specific code in
arch/$ARCH differs from one system to another. The x86 architecture is pretty clean because hardware details are detected at runtime. The PowerPC architecture puts SoC and board-specific files in subdirectory platforms. ...