Just found a device tree bug which corrupts __machine_type. In arch/arm/kernel/devtree.c at end of setup_machine_fdt() - __machine_arch_type = mdesc->nr; + __machine_arch_type = mdesc_best->nr; This was stopping some Beagleboard drivers from being initialised as they were doing run-time checking for machine type. -- Tixy