
Hi,
On Thu, Sep 27, 2012 at 3:38 PM, Stephen Warren swarren@wwwdotorg.org wrote:
On 09/27/2012 03:52 PM, Lucas Stach wrote:
Boards may require a different pinmux setup for NAND than the default one. Add a way to call into board specific code to set this up.
diff --git a/drivers/mtd/nand/tegra_nand.c b/drivers/mtd/nand/tegra_nand.c
void board_nand_init(void) { struct nand_chip *nand = &nand_chip[0];
pin_mux_nand();
pin_mux_spi() and pin_mux_usb() are both called from board/nvidia/common/board.c right before the relevant drivers are initialized. I think we should centralize the NAND pinmux initialization there too if possible. That way, when we read the whole pinmux from DT in the future, there's only one place to go and clean up.
Admittedly, pin_mux_mmc() ends up being called from board_init_mmc() which is a little unfortunate:-(
I suspect much of this will become tidier before long with the device model. It would be nice one day if the Tegra driver could select the pinmux automatically based on fdt settings.
One problem with putting everything in board files is that there is no default pinmux. I suppose that doesn't matter, it is only a single line of code. But someone will need to do a patch to update existing boards that use NAND.
As I said I'm not convinced that boards will ever be in charge of pinmux when we move it to fdt. At most the board file will probably just call a pinmux function to set things up. But perhaps it is just as likely that we will want the drivers to make that call when they need the pinmux set up?
Anyway I am fine with the change you propose here, as it doesn't seem like a weak function makes a lot of sense.
Regards, Simon
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot