This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x SDK 06 (linux-3.2.0-psp04.06.00.11) - How to enable i2c0 in kernel Template Board File

Other Parts Discussed in Thread: TMP102

Hi, we have a custom board that is unlike the BBB or am335x_evm. We found the best approach for our development is to start with the -Template version of the board port kernel source in SDK 06 and incrementally add support from the -Base for those features we do have in common with the BBB & am335x_evm.

We'd like to enable the i2c0 peripheral for use in user space and have added the following code to /arch/arm/mach-omap2/board-am335xevm.c

#ifdef CONFIG_OMAP_MUX

static struct omap_board_mux board_mux[] __initdata = {
     /*
     * Setting SYSBOOT[5] should set xdma_event_intr0 pin to mode 3 thereby
     * allowing clkout1 to be available on xdma_event_intr0.
     * However, on some boards (like EVM-SK), SYSBOOT[5] isn't properly
     * latched.
     * To be extra cautious, setup the pin-mux manually.
     * If any modules/usecase requries it in different mode, then subsequent
     * module init call will change the mux accordingly.
     */
     /*AM33XX_MUX(XDMA_EVENT_INTR0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT),*/
     AM33XX_MUX(I2C0_SDA, OMAP_MUX_MODE0 | AM33XX_SLEWCTRL_SLOW |
               AM33XX_INPUT_EN | AM33XX_PIN_OUTPUT),
     AM33XX_MUX(I2C0_SCL, OMAP_MUX_MODE0 | AM33XX_SLEWCTRL_SLOW |
               AM33XX_INPUT_EN | AM33XX_PIN_OUTPUT),
     { .reg_offset = OMAP_MUX_TERMINATOR },
};
#else
#define     board_mux     NULL
#endif
As well as in static void __init am335x_evm_init(void) function replaced  am33xx_mux_init(NULL); with am33xx_mux_init(board_mux);
These changes alone don't seem to be enough to make the kernel aware of the i2c0 peripheral. What are we missing?
Thank you.
Phillip