diff options
author | Koen Kooi <koen@openembedded.org> | 2009-08-13 13:25:51 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2009-08-13 13:25:51 +0200 |
commit | 8ded6c1580b907494b0ea95e36d91ca8d64122e8 (patch) | |
tree | 6f3a8a365073e23ddc7b8669bb47cdcf5b1d74a3 /recipes/linux/linux-omap-2.6.29/beagleboard | |
parent | d193340b357f806d8604927bf461007fd809edae (diff) |
linux-omap*: evm and beagle updates
* the 'zippy' daughtercard now has working mmc, rtc and ethernet
Diffstat (limited to 'recipes/linux/linux-omap-2.6.29/beagleboard')
-rw-r--r-- | recipes/linux/linux-omap-2.6.29/beagleboard/defconfig | 13 | ||||
-rw-r--r-- | recipes/linux/linux-omap-2.6.29/beagleboard/tincantools-zippy.diff | 103 |
2 files changed, 110 insertions, 6 deletions
diff --git a/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig index 99be5246a6..7da8bb9f2b 100644 --- a/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig +++ b/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.29-omap1 -# Thu Jul 16 15:21:36 2009 +# Thu Aug 13 12:58:49 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -1059,7 +1059,8 @@ CONFIG_MII=y # CONFIG_AX88796 is not set # CONFIG_SMC91X is not set # CONFIG_DM9000 is not set -# CONFIG_ENC28J60 is not set +CONFIG_ENC28J60=y +# CONFIG_ENC28J60_WRITEVERIFY is not set CONFIG_SMC911X=y CONFIG_SMSC911X=y # CONFIG_DNET is not set @@ -1324,14 +1325,14 @@ CONFIG_SPI_MASTER=y # # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_GPIO is not set -# CONFIG_SPI_OMAP24XX is not set +CONFIG_SPI_OMAP24XX=y # # SPI Protocol Masters # # CONFIG_SPI_TSC210X is not set # CONFIG_SPI_TSC2301 is not set -# CONFIG_SPI_SPIDEV is not set +CONFIG_SPI_SPIDEV=y # CONFIG_SPI_TLE62X0 is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y @@ -2190,7 +2191,7 @@ CONFIG_RTC_INTF_DEV=y # # I2C RTC drivers # -# CONFIG_RTC_DRV_DS1307 is not set +CONFIG_RTC_DRV_DS1307=y # CONFIG_RTC_DRV_DS1374 is not set # CONFIG_RTC_DRV_DS1672 is not set # CONFIG_RTC_DRV_MAX6900 is not set @@ -2200,7 +2201,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_PCF8563 is not set # CONFIG_RTC_DRV_PCF8583 is not set # CONFIG_RTC_DRV_M41T80 is not set -CONFIG_RTC_DRV_TWL4030=y +CONFIG_RTC_DRV_TWL4030=m # CONFIG_RTC_DRV_S35390A is not set # CONFIG_RTC_DRV_FM3130 is not set # CONFIG_RTC_DRV_RX8581 is not set diff --git a/recipes/linux/linux-omap-2.6.29/beagleboard/tincantools-zippy.diff b/recipes/linux/linux-omap-2.6.29/beagleboard/tincantools-zippy.diff new file mode 100644 index 0000000000..cab479e5d3 --- /dev/null +++ b/recipes/linux/linux-omap-2.6.29/beagleboard/tincantools-zippy.diff @@ -0,0 +1,103 @@ +--- /tmp/board-omap3beagle.c 2009-08-13 12:35:01.000000000 +0200 ++++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-08-13 12:44:00.000000000 +0200 +@@ -21,6 +21,7 @@ + #include <linux/io.h> + #include <linux/leds.h> + #include <linux/gpio.h> ++#include <linux/irq.h> + #include <linux/input.h> + #include <linux/gpio_keys.h> + +@@ -54,6 +55,47 @@ + #define GPMC_CS_SIZE 0x30 + + #define NAND_BLOCK_SIZE SZ_128K ++#if defined(CONFIG_ENC28J60) || defined(CONFIG_ENC28J60_MODULE) ++ ++#include <mach/mcspi.h> ++#include <linux/spi/spi.h> ++ ++#define OMAP3BEAGLE_GPIO_ENC28J60_IRQ 157 ++ ++static struct omap2_mcspi_device_config enc28j60_spi_chip_info = { ++ .turbo_mode = 0, ++ .single_channel = 1, /* 0: slave, 1: master */ ++}; ++ ++static struct spi_board_info omap3beagle_spi_board_info[] __initdata = { ++ { ++ .modalias = "enc28j60", ++ .bus_num = 4, ++ .chip_select = 0, ++ .max_speed_hz = 20000000, ++ .controller_data = &enc28j60_spi_chip_info, ++ }, ++}; ++ ++static void __init omap3beagle_enc28j60_init(void) ++{ ++ if ((gpio_request(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, "ENC28J60_IRQ") == 0) && ++ (gpio_direction_input(OMAP3BEAGLE_GPIO_ENC28J60_IRQ) == 0)) { ++ gpio_export(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, 0); ++ omap3beagle_spi_board_info[0].irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_ENC28J60_IRQ); ++ set_irq_type(omap3beagle_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING); ++ } else { ++ printk(KERN_ERR "could not obtain gpio for ENC28J60_IRQ\n"); ++ return; ++ } ++ ++ spi_register_board_info(omap3beagle_spi_board_info, ++ ARRAY_SIZE(omap3beagle_spi_board_info)); ++} ++ ++#else ++static inline void __init omap3beagle_enc28j60_init(void) { return; } ++#endif + + static struct mtd_partition omap3beagle_nand_partitions[] = { + /* All the partition sizes are listed in terms of NAND block size */ +@@ -318,7 +360,7 @@ + .vpll2 = &beagle_vpll2, + }; + +-static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = { ++static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = { + { + I2C_BOARD_INFO("twl4030", 0x48), + .flags = I2C_CLIENT_WAKE, +@@ -327,10 +369,24 @@ + }, + }; + ++#if defined(CONFIG_RTC_DRV_DS1307) || \ ++ defined(CONFIG_RTC_DRV_DS1307_MODULE) ++ ++static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = { ++ { ++ I2C_BOARD_INFO("ds1307", 0x68), ++ }, ++}; ++#else ++static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {}; ++#endif ++ + static int __init omap3_beagle_i2c_init(void) + { +- omap_register_i2c_bus(1, 2600, beagle_i2c_boardinfo, +- ARRAY_SIZE(beagle_i2c_boardinfo)); ++ omap_register_i2c_bus(1, 2600, beagle_i2c1_boardinfo, ++ ARRAY_SIZE(beagle_i2c1_boardinfo)); ++ omap_register_i2c_bus(2, 400, beagle_i2c2_boardinfo, ++ ARRAY_SIZE(beagle_i2c2_boardinfo)); + /* Bus 3 is attached to the DVI port where devices like the pico DLP + * projector don't work reliably with 400kHz */ + omap_register_i2c_bus(3, 100, NULL, 0); +@@ -542,6 +598,8 @@ + + omap_cfg_reg(J25_34XX_GPIO170); + ++ omap3beagle_enc28j60_init(); ++ + usb_musb_init(); + usb_ehci_init(); + omap3beagle_flash_init(); |