--- arch.orig/arm/mach-omap2/board-am335xevm.c 2012-02-18 10:43:40.000000000 -0500 +++ arch/arm/mach-omap2/board-am335xevm.c 2012-02-18 10:43:29.000000000 -0500 @@ -1518,6 +1518,16 @@ }, }; +static struct spi_board_info bone_am335x_slave_info[] = { + { + .modalias = "spidev", + .irq = -1, + .max_speed_hz = 12000000, + .bus_num = 2, + .chip_select = 0, + }, +}; + static void evm_nand_init(int evm_id, int profile) { setup_pin_mux(nand_pin_mux); @@ -2061,6 +2071,15 @@ return; } +/* setup beaglebone spi1 */ +static void bone_spi1_init(int evm_id, int profile) +{ + setup_pin_mux(spi1_pin_mux); + spi_register_board_info(bone_am335x_slave_info, + ARRAY_SIZE(bone_am335x_slave_info)); + return; +} + static int beaglebone_phy_fixup(struct phy_device *phydev) { @@ -2216,6 +2235,7 @@ {i2c2_init, DEV_ON_BASEBOARD, PROFILE_NONE}, {mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE}, {boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL}, + {bone_spi1_init, DEV_ON_BASEBOARD, PROFILE_NONE}, {NULL, 0, 0}, }; @@ -2228,6 +2248,7 @@ {i2c2_init, DEV_ON_BASEBOARD, PROFILE_NONE}, {mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE}, {boneleds_init, DEV_ON_BASEBOARD, PROFILE_ALL}, + {bone_spi1_init, DEV_ON_BASEBOARD, PROFILE_NONE}, {NULL, 0, 0}, };