static void __init qt2410_machine_init(void) { s3c_nand_set_platdata(&qt2410_nand_info); switch (tft_type) { case 'p': /* production */ qt2410_fb_info.default_display = 1; break; case 'b': /* big */ qt2410_fb_info.default_display = 0; break; case 's': /* small */ default: qt2410_fb_info.default_display = 2; break; } s3c24xx_fb_set_platdata(&qt2410_fb_info); s3c_gpio_cfgpin(S3C2410_GPB(0), S3C2410_GPIO_OUTPUT); s3c2410_gpio_setpin(S3C2410_GPB(0), 1); s3c24xx_udc_set_platdata(&qt2410_udc_cfg); s3c_i2c0_set_platdata(NULL); WARN_ON(gpio_request(S3C2410_GPB(5), "spi cs")); gpio_direction_output(S3C2410_GPB(5), 1); platform_add_devices(qt2410_devices, ARRAY_SIZE(qt2410_devices)); s3c_pm_init(); }
static void __init vstms_init(void) { s3c_i2c0_set_platdata(NULL); s3c_nand_set_platdata(&vstms_nand_info); platform_add_devices(vstms_devices, ARRAY_SIZE(vstms_devices)); }
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 at2440evb_init(void) { s3c24xx_fb_set_platdata(&at2440evb_fb_info); s3c24xx_mci_set_platdata(&at2440evb_mci_pdata); s3c_nand_set_platdata(&at2440evb_nand_info); s3c_i2c0_set_platdata(NULL); platform_add_devices(at2440evb_devices, ARRAY_SIZE(at2440evb_devices)); }
static void __init rx3715_init_machine(void) { #ifdef CONFIG_PM_H1940 memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 1024); #endif s3c_pm_init(); s3c_nand_set_platdata(&rx3715_nand_info); s3c24xx_fb_set_platdata(&rx3715_fb_info); platform_add_devices(rx3715_devices, ARRAY_SIZE(rx3715_devices)); }
static void __init anubis_init(void) { s3c_i2c0_set_platdata(NULL); s3c_nand_set_platdata(&anubis_nand_info); simtec_audio_add(NULL, false, &anubis_audio); platform_add_devices(anubis_devices, ARRAY_SIZE(anubis_devices)); i2c_register_board_info(0, anubis_i2c_devs, ARRAY_SIZE(anubis_i2c_devs)); }
static void __init osiris_init(void) { register_syscore_ops(&osiris_pm_syscore_ops); s3c_i2c0_set_platdata(NULL); s3c_nand_set_platdata(&osiris_nand_info); s3c_cpufreq_setboard(&osiris_cpufreq); i2c_register_board_info(0, osiris_i2c_devs, ARRAY_SIZE(osiris_i2c_devs)); platform_add_devices(osiris_devices, ARRAY_SIZE(osiris_devices)); };
static void __init ok6410_machine_init(void) { u32 cs1; s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_fb_set_platdata(&ok6410_lcd_pdata); s3c_hsotg_set_platdata(&ok6410_hsotg_pdata); samsung_keypad_set_platdata(&ok6410_keypad_data); s3c_nand_set_platdata(&ok6410_nand_info); s3c24xx_ts_set_platdata(NULL); /* 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(&ok6410_ide_pdata); samsung_bl_set(&ok6410_bl_gpio_info, &ok6410_bl_data); platform_add_devices(ok6410_devices, ARRAY_SIZE(ok6410_devices)); /* enable USB phy clock */ s5p_usb_phy_init(&s3c_device_usb_hsotg, USB_PHY_TYPE_DEVICE); }
static void __init rx1950_init_machine(void) { int i; s3c24xx_fb_set_platdata(&rx1950_lcd_cfg); s3c24xx_udc_set_platdata(&rx1950_udc_cfg); s3c24xx_ts_set_platdata(&rx1950_ts_cfg); s3c24xx_mci_set_platdata(&rx1950_mmc_cfg); s3c_i2c0_set_platdata(NULL); s3c_nand_set_platdata(&rx1950_nand_info); /* Turn off suspend on both USB ports, and switch the * selectable USB port to USB device mode. */ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST | S3C2410_MISCCR_USBSUSPND0 | S3C2410_MISCCR_USBSUSPND1, 0x0); /* mmc power is disabled by default */ WARN_ON(gpio_request(S3C2410_GPJ(1), "MMC power")); gpio_direction_output(S3C2410_GPJ(1), 0); for (i = 0; i < 8; i++) WARN_ON(gpio_request(S3C2410_GPC(i), "LCD power")); for (i = 10; i < 16; i++) WARN_ON(gpio_request(S3C2410_GPC(i), "LCD power")); for (i = 2; i < 8; i++) WARN_ON(gpio_request(S3C2410_GPD(i), "LCD power")); for (i = 11; i < 16; i++) WARN_ON(gpio_request(S3C2410_GPD(i), "LCD power")); WARN_ON(gpio_request(S3C2410_GPB(1), "LCD power")); WARN_ON(gpio_request(S3C2410_GPA(3), "Red blink")); WARN_ON(gpio_request(S3C2410_GPA(4), "Green blink")); WARN_ON(gpio_request(S3C2410_GPJ(6), "LED blink")); gpio_direction_output(S3C2410_GPA(3), 0); gpio_direction_output(S3C2410_GPA(4), 0); gpio_direction_output(S3C2410_GPJ(6), 0); platform_add_devices(rx1950_devices, ARRAY_SIZE(rx1950_devices)); i2c_register_board_info(0, rx1950_i2c_devices, ARRAY_SIZE(rx1950_i2c_devices)); }
static void __init hmt_machine_init(void) { s3c_i2c0_set_platdata(NULL); s3c_fb_set_platdata(&hmt_lcd_pdata); s3c_nand_set_platdata(&hmt_nand_info); gpio_request(S3C64XX_GPC(7), "usb power"); gpio_direction_output(S3C64XX_GPC(7), 0); gpio_request(S3C64XX_GPM(0), "usb power"); gpio_direction_output(S3C64XX_GPM(0), 1); gpio_request(S3C64XX_GPK(7), "usb power"); gpio_direction_output(S3C64XX_GPK(7), 1); gpio_request(S3C64XX_GPF(13), "usb power"); gpio_direction_output(S3C64XX_GPF(13), 1); platform_add_devices(hmt_devices, ARRAY_SIZE(hmt_devices)); }
void __init smdk_machine_init(void) { /* Configure the LEDs (even if we have no LED support)*/ int ret = gpio_request_array(smdk_led_gpios, ARRAY_SIZE(smdk_led_gpios)); if (!WARN_ON(ret < 0)) gpio_free_array(smdk_led_gpios, ARRAY_SIZE(smdk_led_gpios)); if (machine_is_smdk2443()) smdk_nand_info.twrph0 = 50; s3c_nand_set_platdata(&smdk_nand_info); platform_add_devices(smdk_devs, ARRAY_SIZE(smdk_devs)); s3c_pm_init(); }
static void __init bast_init(void) { sysdev_class_register(&bast_pm_sysclass); sysdev_register(&bast_pm_sysdev); s3c_i2c0_set_platdata(&bast_i2c_info); s3c_nand_set_platdata(&bast_nand_info); s3c24xx_fb_set_platdata(&bast_fb_info); platform_add_devices(bast_devices, ARRAY_SIZE(bast_devices)); i2c_register_board_info(0, bast_i2c_devs, ARRAY_SIZE(bast_i2c_devs)); usb_simtec_init(); nor_simtec_init(); simtec_audio_add(NULL, true, &bast_audio); s3c_cpufreq_setboard(&bast_cpufreq); }
static void __init bast_init(void) { register_syscore_ops(&bast_pm_syscore_ops); s3c_i2c0_set_platdata(&bast_i2c_info); s3c_nand_set_platdata(&bast_nand_info); s3c24xx_fb_set_platdata(&bast_fb_info); platform_add_devices(bast_devices, ARRAY_SIZE(bast_devices)); i2c_register_board_info(0, bast_i2c_devs, ARRAY_SIZE(bast_i2c_devs)); usb_simtec_init(); nor_simtec_init(); simtec_audio_add(NULL, true, &bast_audio); WARN_ON(gpio_request(S3C2410_GPA(21), "bast nreset")); s3c_cpufreq_setboard(&bast_cpufreq); }
static void __init gta02_machine_init(void) { /* Set the panic callback to turn AUX LED on or off. */ panic_blink = gta02_panic_blink; s3c_pm_init(); #ifdef CONFIG_CHARGER_PCF50633 INIT_DELAYED_WORK(>a02_charger_work, gta02_charger_worker); #endif s3c24xx_udc_set_platdata(>a02_udc_cfg); s3c_ohci_set_platdata(>a02_usb_info); s3c_nand_set_platdata(>a02_nand_info); s3c_i2c0_set_platdata(NULL); i2c_register_board_info(0, gta02_i2c_devs, ARRAY_SIZE(gta02_i2c_devs)); platform_add_devices(gta02_devices, ARRAY_SIZE(gta02_devices)); pm_power_off = gta02_poweroff; }
static void __init smdkv210_machine_init(void) { s3c_pm_init(); /* masked by zjh */ //smdkv210_dm9000_init(); /* add by zjh */ s3c_nand_setname("s5pv210-nand"); s3c_nand_set_platdata(&smdk_nand_info); s5pv210_nand_gpio_cfg(); gpio_request(S5PV210_GPD0(1),"beeper"); s3c_gpio_cfgpin(S5PV210_GPD0(1), S3C_GPIO_SFN(2)); gpio_free(S5PV210_GPD0(1)); samsung_keypad_set_platdata(&smdkv210_keypad_data); s3c24xx_ts_set_platdata(NULL); s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, smdkv210_i2c_devs0, ARRAY_SIZE(smdkv210_i2c_devs0)); i2c_register_board_info(1, smdkv210_i2c_devs1, ARRAY_SIZE(smdkv210_i2c_devs1)); i2c_register_board_info(2, smdkv210_i2c_devs2, ARRAY_SIZE(smdkv210_i2c_devs2)); s3c_ide_set_platdata(&smdkv210_ide_pdata); s3c_fb_set_platdata(&smdkv210_lcd0_pdata); samsung_bl_set(&smdkv210_bl_gpio_info, &smdkv210_bl_data); s3c_hsotg_set_platdata(&smdkv210_hsotg_pdata); platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices)); }
void __init smdk_machine_init(void) { /* Configure the LEDs (even if we have no LED support)*/ s3c_gpio_cfgpin(S3C2410_GPF(4), S3C2410_GPIO_OUTPUT); s3c_gpio_cfgpin(S3C2410_GPF(5), S3C2410_GPIO_OUTPUT); s3c_gpio_cfgpin(S3C2410_GPF(6), S3C2410_GPIO_OUTPUT); s3c_gpio_cfgpin(S3C2410_GPF(7), S3C2410_GPIO_OUTPUT); s3c2410_gpio_setpin(S3C2410_GPF(4), 1); s3c2410_gpio_setpin(S3C2410_GPF(5), 1); s3c2410_gpio_setpin(S3C2410_GPF(6), 1); s3c2410_gpio_setpin(S3C2410_GPF(7), 1); if (machine_is_smdk2443()) smdk_nand_info.twrph0 = 50; s3c_nand_set_platdata(&smdk_nand_info); platform_add_devices(smdk_devs, ARRAY_SIZE(smdk_devs)); s3c_pm_init(); }
static void __init jive_machine_init(void) { /* register system core operations for managing low level suspend */ register_syscore_ops(&jive_pm_syscore_ops); /* write our sleep configurations for the IO. Pull down all unused * IO, ensure that we have turned off all peripherals we do not * need, and configure the ones we do need. */ /* Port B sleep */ __raw_writel(S3C2412_SLPCON_IN(0) | S3C2412_SLPCON_PULL(1) | S3C2412_SLPCON_HIGH(2) | S3C2412_SLPCON_PULL(3) | S3C2412_SLPCON_PULL(4) | S3C2412_SLPCON_PULL(5) | S3C2412_SLPCON_PULL(6) | S3C2412_SLPCON_HIGH(7) | S3C2412_SLPCON_PULL(8) | S3C2412_SLPCON_PULL(9) | S3C2412_SLPCON_PULL(10), S3C2412_GPBSLPCON); /* Port C sleep */ __raw_writel(S3C2412_SLPCON_PULL(0) | S3C2412_SLPCON_PULL(1) | S3C2412_SLPCON_PULL(2) | S3C2412_SLPCON_PULL(3) | S3C2412_SLPCON_PULL(4) | S3C2412_SLPCON_PULL(5) | S3C2412_SLPCON_LOW(6) | S3C2412_SLPCON_PULL(6) | S3C2412_SLPCON_PULL(7) | S3C2412_SLPCON_PULL(8) | S3C2412_SLPCON_PULL(9) | S3C2412_SLPCON_PULL(10) | S3C2412_SLPCON_PULL(11) | S3C2412_SLPCON_PULL(12) | S3C2412_SLPCON_PULL(13) | S3C2412_SLPCON_PULL(14) | S3C2412_SLPCON_PULL(15), S3C2412_GPCSLPCON); /* Port D sleep */ __raw_writel(S3C2412_SLPCON_ALL_PULL, S3C2412_GPDSLPCON); /* Port F sleep */ __raw_writel(S3C2412_SLPCON_LOW(0) | S3C2412_SLPCON_LOW(1) | S3C2412_SLPCON_LOW(2) | S3C2412_SLPCON_EINT(3) | S3C2412_SLPCON_EINT(4) | S3C2412_SLPCON_EINT(5) | S3C2412_SLPCON_EINT(6) | S3C2412_SLPCON_EINT(7), S3C2412_GPFSLPCON); /* Port G sleep */ __raw_writel(S3C2412_SLPCON_IN(0) | S3C2412_SLPCON_IN(1) | S3C2412_SLPCON_IN(2) | S3C2412_SLPCON_IN(3) | S3C2412_SLPCON_IN(4) | S3C2412_SLPCON_IN(5) | S3C2412_SLPCON_IN(6) | S3C2412_SLPCON_IN(7) | S3C2412_SLPCON_PULL(8) | S3C2412_SLPCON_PULL(9) | S3C2412_SLPCON_IN(10) | S3C2412_SLPCON_PULL(11) | S3C2412_SLPCON_PULL(12) | S3C2412_SLPCON_PULL(13) | S3C2412_SLPCON_IN(14) | S3C2412_SLPCON_PULL(15), S3C2412_GPGSLPCON); /* Port H sleep */ __raw_writel(S3C2412_SLPCON_PULL(0) | S3C2412_SLPCON_PULL(1) | S3C2412_SLPCON_PULL(2) | S3C2412_SLPCON_PULL(3) | S3C2412_SLPCON_PULL(4) | S3C2412_SLPCON_PULL(5) | S3C2412_SLPCON_PULL(6) | S3C2412_SLPCON_IN(7) | S3C2412_SLPCON_IN(8) | S3C2412_SLPCON_PULL(9) | S3C2412_SLPCON_IN(10), S3C2412_GPHSLPCON); /* initialise the power management now we've setup everything. */ s3c_pm_init(); /** TODO - check that this is after the cmdline option! */ s3c_nand_set_platdata(&jive_nand_info); /* initialise the spi */ gpio_request(S3C2410_GPG(13), "lcm reset"); gpio_direction_output(S3C2410_GPG(13), 0); gpio_request(S3C2410_GPB(7), "jive spi"); gpio_direction_output(S3C2410_GPB(7), 1); gpio_request_one(S3C2410_GPB(6), GPIOF_OUT_INIT_LOW, NULL); gpio_free(S3C2410_GPB(6)); gpio_request_one(S3C2410_GPG(8), GPIOF_OUT_INIT_HIGH, NULL); gpio_free(S3C2410_GPG(8)); /* initialise the WM8750 spi */ gpio_request(S3C2410_GPH(10), "jive wm8750 spi"); gpio_direction_output(S3C2410_GPH(10), 1); /* Turn off suspend on both USB ports, and switch the * selectable USB port to USB device mode. */ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST | S3C2410_MISCCR_USBSUSPND0 | S3C2410_MISCCR_USBSUSPND1, 0x0); s3c24xx_udc_set_platdata(&jive_udc_cfg); s3c24xx_fb_set_platdata(&jive_lcd_config); spi_register_board_info(jive_spi_devs, ARRAY_SIZE(jive_spi_devs)); s3c_i2c0_set_platdata(&jive_i2c_cfg); i2c_register_board_info(0, jive_i2c_devs, ARRAY_SIZE(jive_i2c_devs)); pm_power_off = jive_power_off; platform_add_devices(jive_devices, ARRAY_SIZE(jive_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(); }
static void __init mid_machine_init(void) { s3c_pm_init(); sound_init(); mid_audio_jack_init(); mid_dm9000_init(); platform_add_devices(mid_devices, ARRAY_SIZE(mid_devices)); pm_power_off = mid_power_off; arm_pm_restart = mid_pm_restart; // Read configuration mid_init_cfg(); mid_gpio_init(); // Setup devices mid_detect_lcd(); mid_detect_camera(); mid_detect_i2cdevs(); #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif s3c_adc_set_platdata(&s3c_adc_platform); s3c_nand_set_platdata(&mid_nand_info); s3c_ts_set_platdata(&s3c_ts_platform); s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, mid_i2c_devs0, ARRAY_SIZE(mid_i2c_devs0)); i2c_register_board_info(1, mid_i2c_devs1, ARRAY_SIZE(mid_i2c_devs1)); i2c_register_board_info(2, mid_i2c_devs2, ARRAY_SIZE(mid_i2c_devs2)); s3c_fb_set_platdata(&mid_fb_data); s3c_ehci_set_platdata(&mid_ehci_pdata); #ifdef CONFIG_S3C_DEV_HSMMC s3c_sdhci0_set_platdata(&s5pv210_hsmmc0_pdata); s3c_sdhci1_set_platdata(&s5pv210_hsmmc1_pdata); #endif #ifdef CONFIG_VIDEO_FIMC /* fimc */ s3c_fimc0_set_platdata(&fimc_plat_lsi); s3c_fimc1_set_platdata(&fimc_plat_lsi); s3c_fimc2_set_platdata(&fimc_plat_lsi); #endif #ifdef CONFIG_VIDEO_FIMC_MIPI s3c_csis_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_JPEG_V2 s3c_jpeg_set_platdata(&jpeg_plat); #endif #ifdef CONFIG_VIDEO_MFC50 /* mfc */ s3c_mfc_set_platdata(NULL); #endif #ifdef CONFIG_MFD_MAX8998 regulator_has_full_constraints(); #endif mid_usbhost_setpower(1); }