I am just starting out with the BeagleBoard rev C4 for my robotics
project. I am trying to get SPI, UART2, and a small selection of GPIO
pins going.
What I'm running:
OS: Ubuntu Maverick
Kernel: linux-source-2.6.35
My problem?
I don't see SPI3 or UART2 in the /dev directory after remaking the
uImage and loading it up.
I added the following to the initdata section:
OMAP3_MUX(SDMMC2_CLK, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), //clock for
SPI3
OMAP3_MUX(SDMMC2_CMD, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), //SIMO for
SPI3
OMAP3_MUX(SDMMC2_DAT0, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), //SOMI for
SPI3
OMAP3_MUX(SDMMC2_DAT1, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), //CS '2'
for SPI3
OMAP3_MUX(SDMMC2_DAT2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), //CS1 for
SPI3
OMAP3_MUX(SDMMC2_DAT3, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), //CS0 for
SPI3
OMAP3_MUX(UART2_CTS, OMAP_MUX_MODE2 | OMAP_PIN_OUTPUT), //
GPT9_PWMEVT
OMAP3_MUX(UART2_RTS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), //GPIO
Output for LCD
OMAP3_MUX(UART2_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), //UART2_TX
OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), //UART2_RX
I also added to omap3_beagle_init:
/* Initialize all signals and gpio pin stuff*/
omap_mux_init_signal("sdmmc2_clk.mcspi3_clk",
OMAP_PIN_OUTPUT);
omap_mux_init_signal("sdmmc2_cmd.mcspi3_simo", OMAP_PIN_OUTPUT);
omap_mux_init_signal("sdmmc2_dat0.mcspi_somi",
OMAP_PIN_INPUT_PULLUP);
omap_mux_init_gpio(145, OMAP_PIN_OUTPUT); //ab25
omap_mux_init_gpio(135, OMAP_PIN_OUTPUT); //af4
omap_mux_init_gpio(134, OMAP_PIN_OUTPUT); //ag4
omap_mux_init_gpio(133, OMAP_PIN_OUTPUT); //ah4
omap_mux_init_signal("uart2_cts.gpt9_pwmevt", OMAP_PIN_OUTPUT);
omap_mux_init_signal("uart2_tx.uart2_tx", OMAP_PIN_OUTPUT);
omap_mux_init_signal("mcbsp3_fsx.uart2_rx", OMAP_PIN_INPUT);
spi_register_board_info(beagle_mcspi_board_info,
ARRAY_SIZE(beagle_mcspi_board_info));
I then compiled:
make distclean
make ARCH=arm omap3_beagle_defconfig
make ARCH=arm uImage
I loaded that up and booted and saw nothing in /dev for my SPI.
I have put in alot of hours and have no idea what I am missing.