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.

SDK v7: how to pin-mux peripherals?

We decided to try out the new v7.0.0 SDK, based on mainline linux 3.12. We're really happy that TI has gone down the 'mainline' route, and we wanted to support that by trying out the new kernel in our product. With v6.0 and before, there was a 'board-am335xevm.c' file under /arch/arm/mach-omap2, where all the pin-muxing happened for Linux. It looks like that's moved, but I can't locate where the replacement code is. I did some grepping for pin names and peripheral names, and I don't see how to modify the pin mux for our custom board.

Please let me know if there's a location these reside

  • The method to define the pin mux has changed. As you point out, previously pin mux definition was handled in the board file, now it is handled using a method called device tree. The source files for the various evms that TI supports are defined in the arch/arm/boot/dts. These device tree source files now contain the information that used to be stored in the board file.

    We are working on providing some better collateral to assist with develpoing device tree source files for TI catalog processors.

    For the moment here is a link to help get started with understanding device tree at a generic level, towards the end of the wiki page are some good presentations:

    http://elinux.org/Device_Tree

    One question usually asked is why the change, the reason is that the proliferation of ARM SOC and hence board files was impacting kernel migrations. Therefore Linux Community now will not allow any upstream support of an ARM SOC without the supporting drivers getting their platform data from a device tree.

  • Hi Schuyler,

    Have you folks completed "working on better collateral to assist with the developing device tree sources files ...".

    We have our board working (using am335evm as a template) using the 6.00.00 SDK (with the 3.2 Kernel) but we need to move to 7.00 SDK (and 3.12 kernel).

    So any information would be greatly appreciated.

     

    Peter