1- mach-mini2440.c'de aşağıdaki satırları ekleyin. Ben;
...
/* LCD driver info */
...dan önce ekledim.
...
/* SPI driver info */ static struct spi_board_info __initdata mini2440_spi_board_info[] = { // SPI Port 0 { .modalias = "spidev", .max_speed_hz = 48000000, //48 Mbps .bus_num = 0, .chip_select = 0, .mode = SPI_MODE_1, }, }; static void mini2440_spi0_cs(struct s3c2410_spi_info *spi, int cs, int pol) { s3c2410_gpio_setpin(S3C2410_GPG(2), pol); } static struct s3c2410_spi_info mini2440_spi0_platdata = { .num_cs = 1, .bus_num = 0, .set_cs = mini2440_spi0_cs, }; ...
2- mach-mini2440.c'de platform_device' lara spi0 ekle; ...
static struct platform_device *mini2440_devices[] __initdata = { &s3c_device_usb, &s3c_device_rtc, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_spi0, &s3c_device_iis, &mini2440_device_eth, &s3c24xx_uda134x, &s3c_device_nand, &s3c_device_sdi, &s3c_device_usbgadget, };
...3- mach-mini2440.c 'de mini2440_machine_init de aşağıdaki satırları ekle;
...
static void __init mini2440_machine_init(void) { #if defined (LCD_WIDTH) s3c24xx_fb_set_platdata(&mini2440_fb_info); #endif s3c_i2c0_set_platdata(NULL); /* setup SPI0 pins */ s3c2410_gpio_cfgpin(S3C2410_GPE(11), S3C2410_GPE11_SPIMISO0); s3c2410_gpio_cfgpin(S3C2410_GPE(12), S3C2410_GPE12_SPIMOSI0); s3c2410_gpio_cfgpin(S3C2410_GPE(13), S3C2410_GPE13_SPICLK0); s3c2410_gpio_cfgpin(S3C2410_GPG(2), S3C2410_GPIO_OUTPUT); s3c_device_spi0.dev.platform_data = &mini2440_spi0_platdata; spi_register_board_info(mini2440_spi_board_info, ARRAY_SIZE(mini2440_spi_board_info)); s3c2410_gpio_cfgpin(S3C2410_GPC(0), S3C2410_GPC0_LEND); s3c_device_nand.dev.platform_data = &friendly_arm_nand_info; s3c_device_sdi.dev.platform_data = &mini2440_mmc_cfg; platform_add_devices(mini2440_devices, ARRAY_SIZE(mini2440_devices)); s3c_pm_init(); }...
4- tekrar derleyerek yeni zImage oluştur.
artık device listesinde spi0.0 görünecektir.
Hiç yorum yok :
Yorum Gönder