Hi all,
i need to set the pin-mux of the board
init code depending on an ID coming from
an i2C EEPROM of the board.
Is it possible to do something like
this:
...
//Using the e.g. the postcore_initcall
phase to init i2C
static
int
ecuv6_postcore_init(void)
{
//Set
I2C EEPROM (24C32R) PIN MUX
mxc_iomux_v3_setup_multiple_pads(i2c_eeprom_pads,
ARRAY_SIZE(i2c_eeprom_pads));
imx53_add_i2c2(NULL);
return
0;
}
postcore_initcall(ecuv6_postcore_init);
//In the console_initcall
phase, i2C should be probed to read ID
static
int
ecuv6_console_init(void)
{
imx53_init_lowlevel(0);
ecuv6_set_system_serial();
//get_bb_pcb_number
reads data from
char
bb_ID;
bb_ID
= get_i2c_ID();
//Set
Pinmux depending on i2C result
if(bb_ID
= 0xAB) {
mxc_iomux_v3_setup_multiple_pads(AB_pads,
ARRAY_SIZE(AB_pads));
}
else
if(bb_ID
= 0xCD) {
mxc_iomux_v3_setup_multiple_pads(CD_pads,
ARRAY_SIZE(CD_pads));
}
imx53_add_uart0();
return
0;
}
console_initcall(ecuv6_console_init);
...
Actually this is not working. The i2c_imx:i2c_imx_probe(..)
function gets called later.
Is there a way or concept to do something
like this?
christian