#Letter#
#Board file
uses SoC specific API to
register devices
and board-specific details#
#SoC file
knows base address/IRQ
knows pin muxing
registers devices
to the platform bus#
#Driver
->probe() method called
by platform bus
communicates with
hardware
exposes features to userspace#
#Platform bus#
#arch/arm/
mach-at91/board-snapper9260.c#
#arch/arm/
mach-at91/at91sam9260_devices.c#
#drivers/net/
ethernet/cadence/macb.c#
#Bootloader
Passes machine ID
in register r1#
#Kernel
initialization
Calls
->init_machine()#