
Dear Prafulla Wadaskar,
In message 1291302695-15561-1-git-send-email-prafulla@marvell.com you wrote:
Most of the Marvell SoCs has Multi Function Pin (MFP) configuration registers For ex. ARMADA100.
These registers are programmed to expose the specific functionality associated with respective SoC Pins
This driver provides configuration APIs, using them, configuration need to be done in board specific code
for ex- following code configures MFPs 107 and 108 for UART_TX/RX functionality
int board_early_init_f(void) { u32 mfp_cfg[] = { /* Console on UART1 */ MFP107_UART1_RXD, MFP108_UART1_TXD, MFP_EOC /*End of configureation*/ }; /* configure MFP's */ mfp_config(mfp_cfg); return 0; }
This smells as if it needs a ton of #defines in header files, covering all possible pin configurations. Is there not a way to implemtn this less expensively?
For example, check how such configurations are done in PowerPC land - see for example the I/O configuration tables qe_iop_conf_tab[] in board/freescale/mpc8360erdk/mpc8360erdk.c or in board/freescale/mpc8568mds/mpc8568mds.c etc.
Best regards,
Wolfgang Denk