Hello, I'm using an ARM Cortex A9 based platform. I have a minimal 3.14 port working (UART and Ethernet, loads a root file system over NFS) using a board file. I'm trying to convert the port to device tree, so that I can (try to) push it upstream. As I can't wrap my head around the concept, I'm trying to do the conversion "one device at a time", starting with just the UART, then Ethernet, then the clock tree, and that's basically all I need to boot the board. I started by enabling CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y CONFIG_SERIAL_OF_PLATFORM=y and wrote this dts: /dts-v1/; / { compatible = "sigma,tango4-soc"; #address-cells = <1>; #size-cells = <1>; soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges; uart0: serial@10700 { compatible = "ns16550a"; reg = <0x10700 0x100>; interrupts = <1>; clock-frequency = <7372800>; reg-shift = <2>; no-loopback-test; #address-cells = <1>; #size-cells = <1>; }; }; }; and added "sigma,tango4-soc" to my struct machine_desc .dt_compat Then I generated a kernel with appended DT using: $ make dtbs $ make -j2 zImage && cat arch/arm/boot/zImage arch/arm/boot/dts/tango.dtb >XXX $ mv XXX arch/arm/boot/zImage && make uImage Then I set a breakpoint in of_platform_serial_probe, hoping to witness the miracle... and nothing. Looks like device is never registered :-( Can anyone point me where to look? What did I do wrong? Where does the kernel parse the appended DTB? Is it setup_machine_fdt? When/Where is the UART description in the device tree supposed to be used to register the device? Any help greatly appreciated! Regards. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html