[U-Boot] [PATCH] tegra: pinmux: fix FUNCMUX_NDFLASH_KBC_8_BIT

Marcel Ziswiler marcel at ziswiler.com
Wed Mar 25 08:42:20 CET 2015



On 24 March 2015 16:21:02 CET, Stephen Warren <swarren at wwwdotorg.org> wrote:
>> diff --git a/arch/arm/mach-tegra/tegra20/funcmux.c
>b/arch/arm/mach-tegra/tegra20/funcmux.c
>
>Note that this will conflict with:
>
>09f455dca749 ARM: tegra: collect SoC sources into mach-tegra
>
>... which moved that file.

OK, sorry. Haven't seen that one yet. Will rebase accordingly.

>What if ATC is actually used for some purpose other than GMI? This will
>
>corrupt the pinmux for that pingroup, and prevent the other peripheral 
>from working. For example, PERIPH_ID_SDMMC4/FUNCMUX_SDMMC4_ATC_ATD_8BIT
>
>actively uses ATC, and this change might break it if both are used 
>together on one board.

Yes, agreed.

>The best approach is to simply not use funcmux at all, but rather 
>program the entire pinmux from a table. That guarantees no conflicts. 
>Boards using later SoCs take this approach.

Yes, that one I knew but nobody does on T20 (yet) plus T20 is kind of special due to its pin groups spanning multiple pins and such.

>Alternatively, have the board code (rather than funcmux) select some 
>other value for ATC. This allows the board code to select the exact 
>correct value for that pingroup once (thus avoiding multiple changes to
>
>the pinmux for that pingroup, which could cause glitches), and 
>guarantees that the common code will never corrupt that setting.

That one for sure would work if above table approach proves to be too cumbersome to do.

Thanks Stephen
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


More information about the U-Boot mailing list