static void __init qt2410_machine_init(void) { s3c_device_nand.dev.platform_data = &qt2410_nand_info; switch (tft_type) { case 'p': qt2410_fb_info.default_display = 1; break; case 'b': qt2410_fb_info.default_display = 0; break; case 's': default: qt2410_fb_info.default_display = 2; break; } s3c24xx_fb_set_platdata(&qt2410_fb_info); s3c2410_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); s3c2410_gpio_cfgpin(S3C2410_GPB(5), S3C2410_GPIO_OUTPUT); platform_add_devices(qt2410_devices, ARRAY_SIZE(qt2410_devices)); s3c_pm_init(); }
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 smdkv210_machine_init(void) { s3c_pm_init(); smdkv210_dm9000_init(); samsung_keypad_set_platdata(&smdkv210_keypad_data); s3c24xx_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, 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); platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_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 h1940_map_io(void) { s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc)); s3c24xx_init_clocks(0); s3c24xx_init_uarts(h1940_uartcfgs, ARRAY_SIZE(h1940_uartcfgs)); /* setup PM */ #ifdef CONFIG_PM_H1940 memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 1024); #endif s3c_pm_init(); }
static void __init mini2440_machine_init(void) { #if defined (LCD_WIDTH) s3c24xx_fb_set_platdata(&mini2440_fb_info); #endif s3c_i2c0_set_platdata(NULL); 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(); }
static __init int exynos4_pm_drvinit(void) { unsigned int tmp; s3c_pm_init(); /* All wakeup disable */ tmp = __raw_readl(S5P_WAKEUP_MASK); tmp |= ((0xFF << 8) | (0x1F << 1)); __raw_writel(tmp, S5P_WAKEUP_MASK); return sysdev_driver_register(&exynos4_sysclass, &exynos4_pm_driver); }
static void __init rx1950_map_io(void) { s3c24xx_init_io(rx1950_iodesc, ARRAY_SIZE(rx1950_iodesc)); s3c24xx_init_uarts(rx1950_uartcfgs, ARRAY_SIZE(rx1950_uartcfgs)); samsung_set_timer_source(SAMSUNG_PWM3, SAMSUNG_PWM4); /* setup PM */ #ifdef CONFIG_PM_H1940 memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 8); #endif s3c_pm_init(); }
static void __init gec2440_machine_init(void) { s3c24xx_fb_set_platdata(&s3c24xx_fb_info); s3c_i2c0_set_platdata(NULL); s3c2410_gpio_cfgpin(S3C2410_GPC(0), S3C2410_GPC0_LEND); s3c_device_usb.dev.platform_data = &usb_gec2440_info; s3c_device_nand.dev.platform_data = &gec2440_nand_info; s3c_device_sdi.dev.platform_data = &gec2440_mmc_cfg; platform_add_devices(gec2440_devices, ARRAY_SIZE(gec2440_devices)); platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1); //GPIO resource MAP s3c_pm_init(); }
static __init int exynos4_pm_drvinit(void) { unsigned int tmp; s3c_pm_init(); /* All wakeup disable */ tmp = __raw_readl(S5P_WAKEUP_MASK); tmp |= ((0xFF << 8) | (0x1F << 1)); __raw_writel(tmp, S5P_WAKEUP_MASK); /* Disable XXTI pad in system level normal mode */ __raw_writel(0x0, S5P_XXTI_CONFIGURATION); return sysdev_driver_register(&exynos4_sysclass, &exynos4_pm_driver); }
static void __init h1940_map_io(void) { s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc)); s3c24xx_init_clocks(0); s3c24xx_init_uarts(h1940_uartcfgs, ARRAY_SIZE(h1940_uartcfgs)); /* setup PM */ #ifdef CONFIG_PM_H1940 memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 1024); #endif s3c_pm_init(); /* Add latch gpio chip, set latch initial value */ h1940_latch_control(0, 0); WARN_ON(gpiochip_add(&h1940_latch_gpiochip)); }
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 smdkc110_machine_init(void) { s3c_pm_init(); s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, smdkc110_i2c_devs0, ARRAY_SIZE(smdkc110_i2c_devs0)); i2c_register_board_info(1, smdkc110_i2c_devs1, ARRAY_SIZE(smdkc110_i2c_devs1)); i2c_register_board_info(2, smdkc110_i2c_devs2, ARRAY_SIZE(smdkc110_i2c_devs2)); s3c_ide_set_platdata(&smdkc110_ide_pdata); platform_add_devices(smdkc110_devices, ARRAY_SIZE(smdkc110_devices)); }
static void __init rx1950_map_io(void) { s3c24xx_clkout0.parent = &clk_h; s3c24xx_clkout1.parent = &clk_f; s3c24xx_register_clocks(rx1950_clocks, ARRAY_SIZE(rx1950_clocks)); s3c24xx_init_io(rx1950_iodesc, ARRAY_SIZE(rx1950_iodesc)); s3c24xx_init_clocks(16934000); s3c24xx_init_uarts(rx1950_uartcfgs, ARRAY_SIZE(rx1950_uartcfgs)); /* setup PM */ #ifdef CONFIG_PM_H1940 memcpy(phys_to_virt(H1940_SUSPEND_RESUMEAT), h1940_pm_return, 8); #endif s3c_pm_init(); }
static void __init jet_machine_init(void) { s3c_pm_init(); s3c_init_gpio(jet_gpio_table, ARRAY_SIZE(jet_gpio_table)); /* Register I2C devices */ s3c_i2c0_set_platdata(&jet_misc_i2c); i2c_register_board_info(jet_misc_i2c.bus_num, jet_misc_i2c_devs, ARRAY_SIZE(jet_misc_i2c_devs)); s3c_i2c1_set_platdata(&jet_cam_i2c); i2c_register_board_info(jet_cam_i2c.bus_num, jet_cam_i2c_devs, ARRAY_SIZE(jet_cam_i2c_devs)); i2c_register_board_info(jet_pmic_i2c.id, jet_pmic_i2c_devs, ARRAY_SIZE(jet_pmic_i2c_devs)); i2c_register_board_info(jet_audio_i2c.id, jet_audio_i2c_devs, ARRAY_SIZE(jet_audio_i2c_devs)); i2c_register_board_info(jet_touch_i2c.id, jet_touch_i2c_devs, ARRAY_SIZE(jet_touch_i2c_devs)); s3c_fb_set_platdata(&jet_lcd_pdata); s3c_sdhci0_set_platdata(&jet_hsmmc0_pdata); s3c_sdhci2_set_platdata(&jet_hsmmc2_pdata); samsung_keypad_set_platdata(&jet_keypad_pdata); s3c_set_platdata(&jet_onenand_pdata, sizeof(jet_onenand_pdata), &s3c_device_onenand); /* Register platform devices */ platform_add_devices(jet_devices, ARRAY_SIZE(jet_devices)); platform_add_devices(jet_mod_devices, ARRAY_SIZE(jet_mod_devices)); #ifdef CONFIG_ANDROID_PMEM /* Register PMEM devices */ jet_add_mem_devices(); #endif regulator_has_full_constraints(); }
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 mini2440_machine_init(void) { s3c24xx_fb_set_platdata(&s3c24xx_fb_info); s3c_i2c0_set_platdata(NULL); s3c2410_gpio_cfgpin(S3C2410_GPC(0), S3C2410_GPC0_LEND); printk("S3C2410_GPA=%d\n",S3C2410_GPA(0)); printk("S3C2410_GPB=%d\n",S3C2410_GPB(0)); printk("S3C2410_GPC=%d\n",S3C2410_GPC(0)); printk("S3C2410_GPD=%d\n",S3C2410_GPD(0)); printk("S3C2410_GPE=%d\n",S3C2410_GPE(0)); printk("S3C2410_GPF=%d\n",S3C2410_GPF(0)); printk("S3C2410_GPG=%d\n",S3C2410_GPG(0)); printk("S3C2410_GPH=%d\n",S3C2410_GPH(0)); 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)); platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1); //GPIO resource MAP s3c_pm_init(); }
static __init int pm_simtec_init(void) { unsigned long gstatus4; /* check which machine we are running on */ if (!machine_is_bast() && !machine_is_vr1000() && !machine_is_anubis() && !machine_is_osiris() && !machine_is_aml_m5900()) return 0; printk(KERN_INFO "Simtec Board Power Manangement" COPYRIGHT "\n"); gstatus4 = (__raw_readl(S3C2410_BANKCON7) & 0x3) << 30; gstatus4 |= (__raw_readl(S3C2410_BANKCON6) & 0x3) << 28; gstatus4 |= (__raw_readl(S3C2410_BANKSIZE) & S3C2410_BANKSIZE_MASK); __raw_writel(gstatus4, S3C2410_GSTATUS4); return s3c_pm_init(); }
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)); }
static void __init tiny210_machine_init(void) { s3c_pm_init(); tiny210_dm9000_init(); 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, tiny210_i2c_devs0, ARRAY_SIZE(tiny210_i2c_devs0)); i2c_register_board_info(1, tiny210_i2c_devs1, ARRAY_SIZE(tiny210_i2c_devs1)); i2c_register_board_info(2, tiny210_i2c_devs2, ARRAY_SIZE(tiny210_i2c_devs2)); samsung_bl_set(&tiny210_bl_gpio_info, &tiny210_bl_data); platform_add_devices(tiny210_devices, ARRAY_SIZE(tiny210_devices)); }
static void __init smdkv210_machine_init(void) { s3c_pm_init(); /**************Add by Webee*******************/ #ifdef CONFIG_S5P_DEV_USB_EHCI s5p_ehci_set_platdata(&s5p_ehci_platdata); #endif #ifdef CONFIG_S5P_DEV_USB_OHCI s5p_ohci_set_platdata(&s5p_ohci_platdata); #endif /**************Add by Webee*******************/ //smdkv210_dm9000_init(); 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) { s3c2410_gpio_cfgpin(S3C2410_GPF(4), S3C2410_GPIO_OUTPUT); s3c2410_gpio_cfgpin(S3C2410_GPF(5), S3C2410_GPIO_OUTPUT); s3c2410_gpio_cfgpin(S3C2410_GPF(6), S3C2410_GPIO_OUTPUT); s3c2410_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_device_nand.dev.platform_data = &smdk_nand_info; platform_add_devices(smdk_devs, ARRAY_SIZE(smdk_devs)); s3c_pm_init(); }
void __init smdk_machine_init(void) { /* Configure the LEDs (even if we have no LED support)*/ s3c2410_gpio_cfgpin(S3C2410_GPF4, S3C2410_GPF4_OUTP); s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP); s3c2410_gpio_cfgpin(S3C2410_GPF6, S3C2410_GPF6_OUTP); s3c2410_gpio_cfgpin(S3C2410_GPF7, S3C2410_GPF7_OUTP); s3c2410_gpio_setpin(S3C2410_GPF4, 1); s3c2410_gpio_setpin(S3C2410_GPF5, 1); s3c2410_gpio_setpin(S3C2410_GPF6, 1); s3c2410_gpio_setpin(S3C2410_GPF7, 1); if (machine_is_smdk2443()) smdk_nand_info.twrph0 = 50; s3c_device_nand.dev.platform_data = &smdk_nand_info; platform_add_devices(smdk_devs, ARRAY_SIZE(smdk_devs)); s3c_pm_init(); }
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 crag6410_machine_init(void) { /* Open drain IRQs need pullups */ s3c_gpio_setpull(S3C64XX_GPM(0), S3C_GPIO_PULL_UP); s3c_gpio_setpull(S3C64XX_GPN(0), S3C_GPIO_PULL_UP); gpio_request(S3C64XX_GPB(0), "LCD power"); gpio_direction_output(S3C64XX_GPB(0), 0); gpio_request(S3C64XX_GPF(14), "LCD PWM"); gpio_direction_output(S3C64XX_GPF(14), 0); /* turn off */ gpio_request(S3C64XX_GPB(1), "SD power"); gpio_direction_output(S3C64XX_GPB(1), 0); gpio_request(S3C64XX_GPF(10), "nRESETSEL"); gpio_direction_output(S3C64XX_GPF(10), 1); s3c_sdhci0_set_platdata(&crag6410_hsmmc0_pdata); s3c_sdhci1_set_platdata(&crag6410_hsmmc1_pdata); s3c_sdhci2_set_platdata(&crag6410_hsmmc2_pdata); s3c_i2c0_set_platdata(&i2c0_pdata); s3c_i2c1_set_platdata(NULL); s3c_fb_set_platdata(&crag6410_lcd_pdata); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); samsung_keypad_set_platdata(&crag6410_keypad_data); platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices)); regulator_has_full_constraints(); s3c_pm_init(); }
static void __init jive_machine_init(void) { /* register system devices for managing low level suspend */ sysdev_class_register(&jive_pm_sysclass); sysdev_register(&jive_pm_sysdev); /* 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(); s3c_device_nand.dev.platform_data = &jive_nand_info; /* initialise the spi */ s3c2410_gpio_setpin(S3C2410_GPG13, 0); s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPIO_OUTPUT); s3c2410_gpio_setpin(S3C2410_GPB7, 1); s3c2410_gpio_cfgpin(S3C2410_GPB7, S3C2410_GPIO_OUTPUT); s3c2410_gpio_setpin(S3C2410_GPB6, 0); s3c2410_gpio_cfgpin(S3C2410_GPB6, S3C2410_GPIO_OUTPUT); s3c2410_gpio_setpin(S3C2410_GPG8, 1); s3c2410_gpio_cfgpin(S3C2410_GPG8, S3C2410_GPIO_OUTPUT); /* initialise the WM8750 spi */ s3c2410_gpio_setpin(S3C2410_GPH10, 1); s3c2410_gpio_cfgpin(S3C2410_GPH10, S3C2410_GPIO_OUTPUT); /* 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 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 gta02_machine_init(void) { int rc; /* set the panic callback to make AUX blink fast */ panic_blink = gta02_panic_blink; switch (S3C_SYSTEM_REV_ATAG) { case GTA02v6_SYSTEM_REV: /* we need push-pull interrupt from motion sensors */ lis302_pdata_top.open_drain = 0; lis302_pdata_bottom.open_drain = 0; break; default: break; } spin_lock_init(&motion_irq_lock); #ifdef CONFIG_CHARGER_PCF50633 INIT_DELAYED_WORK(>a02_charger_work, gta02_charger_worker); #endif /* Glamo chip select optimization */ /* *((u32 *)(S3C2410_MEMREG(((1 + 1) << 2)))) = 0x1280; */ /* do not force soft ecc if we are asked to use hardware_ecc */ if (hardware_ecc_str[0] == '1') gta02_nand_info.software_ecc = 0; s3c_device_usb.dev.platform_data = >a02_usb_info; s3c_device_nand.dev.platform_data = >a02_nand_info; s3c_device_sdi.dev.platform_data = >a02_s3c_mmc_cfg; /* acc sensor chip selects */ s3c2410_gpio_setpin(S3C2410_GPD12, 1); s3c2410_gpio_cfgpin(S3C2410_GPD12, S3C2410_GPIO_OUTPUT); s3c2410_gpio_setpin(S3C2410_GPD13, 1); s3c2410_gpio_cfgpin(S3C2410_GPD13, S3C2410_GPIO_OUTPUT); s3c24xx_udc_set_platdata(>a02_udc_cfg); s3c_i2c0_set_platdata(NULL); set_s3c2410ts_info(>a02_ts_cfg); mangle_glamo_res_by_system_rev(); i2c_register_board_info(0, gta02_i2c_devs, ARRAY_SIZE(gta02_i2c_devs)); spi_register_board_info(gta02_spi_board_info, ARRAY_SIZE(gta02_spi_board_info)); #ifdef CONFIG_CHARGER_PCF50633 mangle_pmu_pdata_by_system_rev(); #endif platform_add_devices(gta02_devices, ARRAY_SIZE(gta02_devices)); s3c_pm_init(); /* Make sure the modem can wake us up */ set_irq_type(GTA02_IRQ_MODEM, IRQ_TYPE_EDGE_RISING); rc = request_irq(GTA02_IRQ_MODEM, gta02_modem_irq, IRQF_DISABLED, "modem", NULL); if (rc < 0) printk(KERN_ERR "GTA02: can't request GSM modem wakeup IRQ\n"); enable_irq_wake(GTA02_IRQ_MODEM); /* Make sure the wifi module can wake us up*/ set_irq_type(GTA02_IRQ_WLAN_GPIO1, IRQ_TYPE_EDGE_RISING); rc = request_irq(GTA02_IRQ_WLAN_GPIO1, ar6000_wow_irq, IRQF_DISABLED, "ar6000", NULL); if (rc < 0) printk(KERN_ERR "GTA02: can't request ar6k wakeup IRQ\n"); enable_irq_wake(GTA02_IRQ_WLAN_GPIO1); pm_power_off = gta02_poweroff; /* Register the HDQ and vibrator as children of pwm device */ #ifdef CONFIG_HDQ_GPIO_BITBANG gta02_hdq_device.dev.parent = &s3c24xx_pwm_device.dev; platform_device_register(>a02_hdq_device); #endif #ifdef CONFIG_LEDS_GTA02_VIBRATOR gta02_vibrator_dev.dev.parent = &s3c24xx_pwm_device.dev; platform_device_register(>a02_vibrator_dev); #endif }
static void __init s3c2416_dt_machine_init(void) { of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); s3c_pm_init(); }
static void __init smdkv210_machine_init(void) { /* Find out S5PC110 chip version */ _hw_version_check(); #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(2, i2c_devs2, ARRAY_SIZE(i2c_devs2)); #if defined(CONFIG_HKDKC110_BOARD) && defined(CONFIG_INPUT_YAMAHA_SENSORS) && !defined(CONFIG_INPUT_BMA150_SENSOR) // i2c-gpio sda/scl set pull-up yas529,bma150,ish1000 gpio_request(GPIO_SENSORS_SDA, "GPB2"); s3c_gpio_setpull(GPIO_SENSORS_SDA, S3C_GPIO_PULL_UP); gpio_direction_input(GPIO_SENSORS_SDA); gpio_free(GPIO_SENSORS_SDA); gpio_request(GPIO_SENSORS_SCL, "GPB2"); s3c_gpio_setpull(GPIO_SENSORS_SCL, S3C_GPIO_PULL_UP); gpio_direction_input(GPIO_SENSORS_SCL); gpio_free(GPIO_SENSORS_SCL); // BMA150 CS PIN --> HIGH gpio_request(S5PV210_GPB(1), "GPB2"); s3c_gpio_setpull(S5PV210_GPB(1), S3C_GPIO_PULL_NONE); gpio_direction_output(S5PV210_GPB(1), 1); gpio_free(S5PV210_GPB(1)); i2c_register_board_info(4, i2c_devs4, ARRAY_SIZE(i2c_devs4)); #endif /* to support system shut down */ pm_power_off = smdkv210_power_off; #ifdef CONFIG_FB_S3C_LP101WH1 s3cfb_set_platdata(&lp101wh1_data); #endif #ifdef CONFIG_FB_S3C_LMS350DF s3cfb_set_platdata(&lms350df_data); #endif #if defined(CONFIG_PM) s3c_pm_init(); #endif #ifdef CONFIG_VIDEO_FIMC /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); #endif /* 5V */ hkdkc110_5V_power(1); #ifdef CONFIG_VIDEO_MFC50 /* mfc */ s3c_mfc_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_TV20 s3c_set_qos(); #endif #ifdef CONFIG_S3C_DEV_HSMMC s5pv210_default_sdhci0(); #endif #ifdef CONFIG_S3C_DEV_HSMMC1 s5pv210_default_sdhci1(); #endif #ifdef CONFIG_S3C_DEV_HSMMC2 s5pv210_default_sdhci2(); #endif #ifdef CONFIG_S5PV210_SETUP_SDHCI s3c_sdhci_set_platdata(); #endif platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices)); #if defined(CONFIG_HAVE_PWM) smdk_backlight_register(); #endif }