The company I work with hand crafted a device tree for an am335x based product. At this point they would have been been working with TI Linux SDK 7 (and arm kernel 3.12.10). Now all the people involved have left and I am re-basing the device tree etc. against the latest Product SDK SDK03.01.00.06 which relates to a 4.4.x kernel.
Looking at the old dts it seems to have pinmux like definitions
option_link_pins: pinmux_option_link_pins {
pinctrl-single,pins = <
0x024 (PIN_INPUT | MUX_MODE7) /* gpmc_ad9.gpio0_23, Option link */
0x038 (PIN_INPUT | MUX_MODE7) /* gpmc_ad14.gpio1_14, Option link */
>;
};
However I’ve been pointed to the pinmux tool. As output this generates 'device tree' text, but it is not a valid device tree as it does not conform to the standard node/properties form. Of course the pinmux tool also by definition only defines the pinmux!
So the question therefore is how does the pinmux device tree output relate to the main device tree? Do I combine the two in some way in the one file?
My old device tree fails to compile with dtc against the latest SDK. This is not surprising since the kernel version has clearly evolved. To get this working again it looks like you i) poke around the kernel files plus ii) cross-reference against various hardware specs and the old dts iii) keep going till it compiles iv) hope for the best. Is there (says he hopefully) any semi-automated way of updating the dts to work and/or further help in this area from TI or elsewhere?