Hi Durai,
Yes, you are correct.
1. For SDK v6, the pinmux modifications are to be done inside the board-am335xevm.c board configuration file.
2. For SDK v7, the pinmux modifications are to be done inside device tree files. Device tree files don't have any logic inside them, they just describe the configuration, thus the profile selection logic has to be implemented somewhere else. This is done inside the <u-boot>/board/ti/am335x/board.c file, board_late_init() function:
[quote]setenv("board_name", safe_string);[/quote]
After this, the boot command calls the "findfdt" command from the U-Boot environment, which scans for the board name and loads the corresponding .dtb file.
This all means that you will have to have different device tree file for each profile and implement the logic inside the board.c file I mentioned and inside the "findfdt" U-Boot environment command.
Best regards,
Miroslav