I have read that pin mux of OMAP4470 can be configured in x-loader, u-boot and kernel - but I want to configure it at u-boot level.
I turned off CONFIG_OMAP_MUX in kernel to use u-boot's pin mux configuration.
Then I modified board/omap4430sdp/omap4430sdp.c (I modeled config based on omap4430sdp_config).
Just to check if my u-boot modifications work, I modified I2C buses 2 and 3. I changed mode from I2C:
MV(CP(I2C2_SCL), (PTU | IEN | M0)) /* i2c2_scl */ \ MV(CP(I2C2_SDA), (PTU | IEN | M0)) /* i2c2_sda */ \ MV(CP(I2C3_SCL), (PTU | IEN | M0)) /* i2c3_scl */ \ MV(CP(I2C3_SDA), (PTU | IEN | M0)) /* i2c3_sda */ \
To GPIO:
MV(CP(I2C2_SCL), (PTU | IEN | M3)) /* gpio_128 */ \ MV(CP(I2C2_SDA), (PTU | IEN | M3)) /* gpio_129 */ \ MV(CP(I2C3_SCL), (PTU | IEN | M3)) /* gpio_130 */ \ MV(CP(I2C3_SDA), (PTU | IEN | M3)) /* gpio_131 */ \
To verify if my changes worked (expected behavior is that I can't probe it anymore), at u-boot level, I tried to see if I can still "probe" the devices connected at buses I2C 2 and 3.
But I can still probe the devices connected at I2C buses 2 and 3, so it seems like my modifications are not working.
Am I missing something?
Note: I can boot up to android user space level.