This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
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?
Hello Andrew,
The generated devicetree.txt should only be used as a reference. It is not ready to use, you have to take the parts you need and put them in a suitable place in your board's device tree.
Best regards,
Kemal
Hi Kemal,
thanks for the reply. That's helpful.
I'd like to explore a little bit though how about you know what is a "suitable" combination of pinmux and other values
In the Beaglebone black dts am335x-boneblack.dts we have an entry which seems to list all(?) of the pinmux definitions in a node "am33xx_pinmux" the values of which do look like the outout of the pinmux tool However there is no such listing for the Beaglebone white am335x-bone.dts. Why? Where is it described that the black should have this entry?
Andrew