static void __init smdk6410_machine_init(void) { u32 cs1; s3c_i2c0_set_platdata(NULL); // s3c_i2c1_set_platdata(NULL); s3c_fb_set_platdata(&smdk6410_lcd_pdata); //jkeqiang s3c_nand_set_platdata(&ok6410_nand_info); s3c_sdhci0_set_platdata(&ok6410_hsmmc0_pdata); s3c_sdhci1_set_platdata(&ok6410_hsmmc1_pdata); samsung_keypad_set_platdata(&smdk6410_keypad_data); // s3c24xx_ts_set_platdata(&s3c_ts_platform); s3c_ts_set_platdata(&s3c_ts_platform); s3c64xx_ac97_setup_gpio(0); /* configure nCS1 width to 16 bits */ cs1 = __raw_readl(S3C64XX_SROM_BW) & ~(S3C64XX_SROM_BW__CS_MASK << S3C64XX_SROM_BW__NCS1__SHIFT); cs1 |= ((1 << S3C64XX_SROM_BW__DATAWIDTH__SHIFT) | (1 << S3C64XX_SROM_BW__WAITENABLE__SHIFT) | (1 << S3C64XX_SROM_BW__BYTEENABLE__SHIFT)) << S3C64XX_SROM_BW__NCS1__SHIFT; __raw_writel(cs1, S3C64XX_SROM_BW); /* set timing for nCS1 suitable for ethernet chip */ __raw_writel((0 << S3C64XX_SROM_BCX__PMC__SHIFT) | (6 << S3C64XX_SROM_BCX__TACP__SHIFT) | (4 << S3C64XX_SROM_BCX__TCAH__SHIFT) | (1 << S3C64XX_SROM_BCX__TCOH__SHIFT) | (0xe << S3C64XX_SROM_BCX__TACC__SHIFT) | (4 << S3C64XX_SROM_BCX__TCOS__SHIFT) | (0 << S3C64XX_SROM_BCX__TACS__SHIFT), S3C64XX_SROM_BC1); //gpio_request(S3C64XX_GPN(5), "LCD power"); //gpio_request(S3C64XX_GPF(13), "LCD power"); //gpio_request(S3C64XX_GPF(15), "LCD power"); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); s3c_ide_set_platdata(&smdk6410_ide_pdata); #ifdef CONFIG_S3C64XX_DEV_FIMC0 s3c_fimc0_set_platdata(NULL); #endif #ifdef CONFIG_S3C64XX_DEV_FIMC1 s3c_fimc1_set_platdata(NULL); #endif platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices)); }
static void __init mini6410_machine_init(void) { u32 cs1; s3c_i2c0_set_platdata(NULL); #ifdef CONFIG_S3C_DEV_I2C1 s3c_i2c1_set_platdata(NULL); #endif s3c_fb_set_platdata(&mini6410_lcd_pdata); #ifdef CONFIG_SAMSUNG_DEV_TS s3c24xx_ts_set_platdata(&s3c_ts_platform); #endif #ifdef CONFIG_TOUCHSCREEN_MINI6410 s3c_ts_set_platdata(&s3c_ts_platform); #endif s3c_sdhci0_set_platdata(&mini6410_hsmmc0_pdata); s3c_sdhci1_set_platdata(&mini6410_hsmmc1_pdata); #ifdef CONFIG_MTD_NAND_S3C s3c_device_nand.name = "s3c6410-nand"; #endif s3c_nand_set_platdata(&mini6410_nand_info); s3c64xx_ac97_setup_gpio(0); /* configure nCS1 width to 16 bits */ cs1 = __raw_readl(S3C64XX_SROM_BW) & ~(S3C64XX_SROM_BW__CS_MASK << S3C64XX_SROM_BW__NCS1__SHIFT); cs1 |= ((1 << S3C64XX_SROM_BW__DATAWIDTH__SHIFT) | (1 << S3C64XX_SROM_BW__WAITENABLE__SHIFT) | (1 << S3C64XX_SROM_BW__BYTEENABLE__SHIFT)) << S3C64XX_SROM_BW__NCS1__SHIFT; __raw_writel(cs1, S3C64XX_SROM_BW); /* set timing for nCS1 suitable for ethernet chip */ __raw_writel((0 << S3C64XX_SROM_BCX__PMC__SHIFT) | (6 << S3C64XX_SROM_BCX__TACP__SHIFT) | (4 << S3C64XX_SROM_BCX__TCAH__SHIFT) | (1 << S3C64XX_SROM_BCX__TCOH__SHIFT) | (0xe << S3C64XX_SROM_BCX__TACC__SHIFT) | (4 << S3C64XX_SROM_BCX__TCOS__SHIFT) | (0 << S3C64XX_SROM_BCX__TACS__SHIFT), S3C64XX_SROM_BC1); gpio_request(S3C64XX_GPN(5), "LCD power"); gpio_request(S3C64XX_GPF(13), "LCD power"); gpio_request(S3C64XX_GPF(15), "LCD power"); if (ARRAY_SIZE(i2c_devs0)) { i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); } if (ARRAY_SIZE(i2c_devs1)) { i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); } #ifdef CONFIG_S3C64XX_DEV_FIMC0 s3c_fimc0_set_platdata(NULL); #endif #ifdef CONFIG_S3C64XX_DEV_FIMC1 s3c_fimc1_set_platdata(NULL); #endif platform_add_devices(mini6410_devices, ARRAY_SIZE(mini6410_devices)); platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1); //GPIO resource MAP if ((platform_device_register(&mini6410_leds))!=0) printk( "Failed to register LEDs.\n"); else printk( "LEDs initialized.\n"); #ifdef CONFIG_VIDEO_SAMSUNG create_proc_read_entry("videomem", 0, NULL, s3c_media_read_proc, NULL); #endif }
static void __init smdk6410_machine_init(void) { u32 cs1; s3c_i2c0_set_platdata(NULL); //s3c_i2c1_set_platdata(NULL); s3c_fb_set_platdata(&smdk6410_lcd_pdata); s3c_nand_set_platdata(&ok6410_nand_info); // gjl s3c_sdhci0_set_platdata(&ok6410_hsmmc0_pdata); s3c_sdhci1_set_platdata(&ok6410_hsmmc1_pdata); samsung_keypad_set_platdata(&smdk6410_keypad_data); // s3c24xx_ts_set_platdata(&s3c_ts_platform); s3c_ts_set_platdata(&s3c_ts_platform); s3c64xx_ac97_setup_gpio(0); /* configure nCS1 width to 16 bits */ cs1 = __raw_readl(S3C64XX_SROM_BW) & ~(S3C64XX_SROM_BW__CS_MASK << S3C64XX_SROM_BW__NCS1__SHIFT); cs1 |= ((1 << S3C64XX_SROM_BW__DATAWIDTH__SHIFT) | (1 << S3C64XX_SROM_BW__WAITENABLE__SHIFT) | (1 << S3C64XX_SROM_BW__BYTEENABLE__SHIFT)) << S3C64XX_SROM_BW__NCS1__SHIFT; __raw_writel(cs1, S3C64XX_SROM_BW); /* set timing for nCS1 suitable for ethernet chip */ __raw_writel((0 << S3C64XX_SROM_BCX__PMC__SHIFT) | (6 << S3C64XX_SROM_BCX__TACP__SHIFT) | (4 << S3C64XX_SROM_BCX__TCAH__SHIFT) | (1 << S3C64XX_SROM_BCX__TCOH__SHIFT) | (0xe << S3C64XX_SROM_BCX__TACC__SHIFT) | (4 << S3C64XX_SROM_BCX__TCOS__SHIFT) | (0 << S3C64XX_SROM_BCX__TACS__SHIFT), S3C64XX_SROM_BC1); //gpio_request(S3C64XX_GPN(5), "LCD power"); //gpio_request(S3C64XX_GPF(13), "LCD power"); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); //s3c_ide_set_platdata(&smdk6410_ide_pdata); #ifdef CONFIG_S3C64XX_DEV_FIMC0 s3c_fimc0_set_platdata(NULL); #endif #ifdef CONFIG_S3C64XX_DEV_FIMC1 s3c_fimc1_set_platdata(NULL); #endif s3c64xx_spi_set_info(0,0,3); s3c64xx_spi_set_info(1,0,2); //printk(KERN_INFO "SPI: Only Register Bus number 1, spidev for test\n"); spi_register_board_info(forlinx6410_mc251x_info,ARRAY_SIZE(forlinx6410_mc251x_info)); spi_register_board_info(spi_eeprom,ARRAY_SIZE(spi_eeprom)); samsung_keypad_set_platdata(&smdk6410_keypad_data); platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices)); printk(KERN_INFO "Adding SPI infomation, Check SPI register v10\n"); printk(KERN_INFO "SPI: FPGA initialize....\n"); setup_spi_fpga(); }