static void __init ag5evm_init(void) { sh73a0_pinmux_init(); /* enable SCIFA2 */ gpio_request(GPIO_FN_SCIFA2_TXD1, NULL); gpio_request(GPIO_FN_SCIFA2_RXD1, NULL); gpio_request(GPIO_FN_SCIFA2_RTS1_, NULL); gpio_request(GPIO_FN_SCIFA2_CTS1_, NULL); /* enable KEYSC */ gpio_request(GPIO_FN_KEYIN0_PU, NULL); gpio_request(GPIO_FN_KEYIN1_PU, NULL); gpio_request(GPIO_FN_KEYIN2_PU, NULL); gpio_request(GPIO_FN_KEYIN3_PU, NULL); gpio_request(GPIO_FN_KEYIN4_PU, NULL); gpio_request(GPIO_FN_KEYIN5_PU, NULL); gpio_request(GPIO_FN_KEYIN6_PU, NULL); gpio_request(GPIO_FN_KEYIN7_PU, NULL); gpio_request(GPIO_FN_KEYOUT0, NULL); gpio_request(GPIO_FN_KEYOUT1, NULL); gpio_request(GPIO_FN_KEYOUT2, NULL); gpio_request(GPIO_FN_KEYOUT3, NULL); gpio_request(GPIO_FN_KEYOUT4, NULL); gpio_request(GPIO_FN_KEYOUT5, NULL); gpio_request(GPIO_FN_PORT59_KEYOUT6, NULL); gpio_request(GPIO_FN_PORT58_KEYOUT7, NULL); gpio_request(GPIO_FN_KEYOUT8, NULL); gpio_request(GPIO_FN_PORT149_KEYOUT9, NULL); /* enable I2C channel 2 and 3 */ gpio_request(GPIO_FN_PORT236_I2C_SDA2, NULL); gpio_request(GPIO_FN_PORT237_I2C_SCL2, NULL); gpio_request(GPIO_FN_PORT248_I2C_SCL3, NULL); gpio_request(GPIO_FN_PORT249_I2C_SDA3, NULL); /* enable MMCIF */ gpio_request(GPIO_FN_MMCCLK0, NULL); gpio_request(GPIO_FN_MMCCMD0_PU, NULL); gpio_request(GPIO_FN_MMCD0_0, NULL); gpio_request(GPIO_FN_MMCD0_1, NULL); gpio_request(GPIO_FN_MMCD0_2, NULL); gpio_request(GPIO_FN_MMCD0_3, NULL); gpio_request(GPIO_FN_MMCD0_4, NULL); gpio_request(GPIO_FN_MMCD0_5, NULL); gpio_request(GPIO_FN_MMCD0_6, NULL); gpio_request(GPIO_FN_MMCD0_7, NULL); gpio_request(GPIO_PORT208, NULL); /* Reset */ gpio_direction_output(GPIO_PORT208, 1); /* enable SMSC911X */ gpio_request(GPIO_PORT144, NULL); /* PINTA2 */ gpio_direction_input(GPIO_PORT144); gpio_request(GPIO_PORT145, NULL); /* RESET */ gpio_direction_output(GPIO_PORT145, 1); /* FSI A */ gpio_request(GPIO_FN_FSIACK, NULL); gpio_request(GPIO_FN_FSIAILR, NULL); gpio_request(GPIO_FN_FSIAIBT, NULL); gpio_request(GPIO_FN_FSIAISLD, NULL); gpio_request(GPIO_FN_FSIAOSLD, NULL); /* IrDA */ gpio_request(GPIO_FN_PORT241_IRDA_OUT, NULL); gpio_request(GPIO_FN_PORT242_IRDA_IN, NULL); gpio_request(GPIO_FN_PORT243_IRDA_FIRSEL, NULL); /* LCD panel */ gpio_request(GPIO_PORT217, NULL); /* RESET */ gpio_direction_output(GPIO_PORT217, 0); mdelay(1); gpio_set_value(GPIO_PORT217, 1); mdelay(100); /* LCD backlight controller */ gpio_request(GPIO_PORT235, NULL); /* RESET */ gpio_direction_output(GPIO_PORT235, 0); lcd_backlight_reset(); /* MIPI-DSI clock setup */ __raw_writel(0x2a809010, DSI0PHYCR); /* enable SDHI0 on CN15 [SD I/F] */ gpio_request(GPIO_FN_SDHICD0, NULL); gpio_request(GPIO_FN_SDHIWP0, NULL); gpio_request(GPIO_FN_SDHICMD0, NULL); gpio_request(GPIO_FN_SDHICLK0, NULL); gpio_request(GPIO_FN_SDHID0_3, NULL); gpio_request(GPIO_FN_SDHID0_2, NULL); gpio_request(GPIO_FN_SDHID0_1, NULL); gpio_request(GPIO_FN_SDHID0_0, NULL); /* enable SDHI1 on CN4 [WLAN I/F] */ gpio_request(GPIO_FN_SDHICLK1, NULL); gpio_request(GPIO_FN_SDHICMD1_PU, NULL); gpio_request(GPIO_FN_SDHID1_3_PU, NULL); gpio_request(GPIO_FN_SDHID1_2_PU, NULL); gpio_request(GPIO_FN_SDHID1_1_PU, NULL); gpio_request(GPIO_FN_SDHID1_0_PU, NULL); gpio_request(GPIO_PORT114, "sdhi1_power"); gpio_direction_output(GPIO_PORT114, 0); #ifdef CONFIG_CACHE_L2X0 /* Shared attribute override enable, 64K*8way */ l2x0_init(__io(0xf0100000), 0x00460000, 0xc2000fff); #endif sh73a0_add_standard_devices(); platform_add_devices(ag5evm_devices, ARRAY_SIZE(ag5evm_devices)); }
static void __init ag5evm_init(void) { sh73a0_pinmux_init(); /* enable SCIFA2 */ gpio_request(GPIO_FN_SCIFA2_TXD1, NULL); gpio_request(GPIO_FN_SCIFA2_RXD1, NULL); gpio_request(GPIO_FN_SCIFA2_RTS1_, NULL); gpio_request(GPIO_FN_SCIFA2_CTS1_, NULL); /* enable KEYSC */ gpio_request(GPIO_FN_KEYIN0_PU, NULL); gpio_request(GPIO_FN_KEYIN1_PU, NULL); gpio_request(GPIO_FN_KEYIN2_PU, NULL); gpio_request(GPIO_FN_KEYIN3_PU, NULL); gpio_request(GPIO_FN_KEYIN4_PU, NULL); gpio_request(GPIO_FN_KEYIN5_PU, NULL); gpio_request(GPIO_FN_KEYIN6_PU, NULL); gpio_request(GPIO_FN_KEYIN7_PU, NULL); gpio_request(GPIO_FN_KEYOUT0, NULL); gpio_request(GPIO_FN_KEYOUT1, NULL); gpio_request(GPIO_FN_KEYOUT2, NULL); gpio_request(GPIO_FN_KEYOUT3, NULL); gpio_request(GPIO_FN_KEYOUT4, NULL); gpio_request(GPIO_FN_KEYOUT5, NULL); gpio_request(GPIO_FN_PORT59_KEYOUT6, NULL); gpio_request(GPIO_FN_PORT58_KEYOUT7, NULL); gpio_request(GPIO_FN_KEYOUT8, NULL); gpio_request(GPIO_FN_PORT149_KEYOUT9, NULL); /* enable I2C channel 2 and 3 */ gpio_request(GPIO_FN_PORT236_I2C_SDA2, NULL); gpio_request(GPIO_FN_PORT237_I2C_SCL2, NULL); gpio_request(GPIO_FN_PORT248_I2C_SCL3, NULL); gpio_request(GPIO_FN_PORT249_I2C_SDA3, NULL); /* enable MMCIF */ gpio_request(GPIO_FN_MMCCLK0, NULL); gpio_request(GPIO_FN_MMCCMD0_PU, NULL); gpio_request(GPIO_FN_MMCD0_0_PU, NULL); gpio_request(GPIO_FN_MMCD0_1_PU, NULL); gpio_request(GPIO_FN_MMCD0_2_PU, NULL); gpio_request(GPIO_FN_MMCD0_3_PU, NULL); gpio_request(GPIO_FN_MMCD0_4_PU, NULL); gpio_request(GPIO_FN_MMCD0_5_PU, NULL); gpio_request(GPIO_FN_MMCD0_6_PU, NULL); gpio_request(GPIO_FN_MMCD0_7_PU, NULL); gpio_request(GPIO_PORT208, NULL); /* Reset */ gpio_direction_output(GPIO_PORT208, 1); /* enable SMSC911X */ gpio_request(GPIO_PORT144, NULL); /* PINTA2 */ gpio_direction_input(GPIO_PORT144); gpio_request(GPIO_PORT145, NULL); /* RESET */ gpio_direction_output(GPIO_PORT145, 1); /* FSI A */ gpio_request(GPIO_FN_FSIACK, NULL); gpio_request(GPIO_FN_FSIAILR, NULL); gpio_request(GPIO_FN_FSIAIBT, NULL); gpio_request(GPIO_FN_FSIAISLD, NULL); gpio_request(GPIO_FN_FSIAOSLD, NULL); /* IrDA */ gpio_request(GPIO_FN_PORT241_IRDA_OUT, NULL); gpio_request(GPIO_FN_PORT242_IRDA_IN, NULL); gpio_request(GPIO_FN_PORT243_IRDA_FIRSEL, NULL); /* LCD panel */ gpio_request(GPIO_PORT217, NULL); /* RESET */ gpio_direction_output(GPIO_PORT217, 0); mdelay(1); gpio_set_value(GPIO_PORT217, 1); mdelay(100); /* LCD backlight controller */ gpio_request(GPIO_PORT235, NULL); /* RESET */ gpio_direction_output(GPIO_PORT235, 0); lcd_backlight_reset(); /* enable SDHI0 on CN15 [SD I/F] */ gpio_request(GPIO_FN_SDHICD0, NULL); gpio_request(GPIO_FN_SDHIWP0, NULL); gpio_request(GPIO_FN_SDHICMD0, NULL); gpio_request(GPIO_FN_SDHICLK0, NULL); gpio_request(GPIO_FN_SDHID0_3, NULL); gpio_request(GPIO_FN_SDHID0_2, NULL); gpio_request(GPIO_FN_SDHID0_1, NULL); gpio_request(GPIO_FN_SDHID0_0, NULL); if (!request_irq(intcs_evt2irq(0x3c0), ag5evm_sdhi0_gpio_cd, IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, "sdhi0 cd", &sdhi0_device.dev)) sdhi0_info.tmio_flags |= TMIO_MMC_HAS_COLD_CD; else pr_warn("Unable to setup SDHI0 GPIO IRQ\n"); /* enable SDHI1 on CN4 [WLAN I/F] */ gpio_request(GPIO_FN_SDHICLK1, NULL); gpio_request(GPIO_FN_SDHICMD1_PU, NULL); gpio_request(GPIO_FN_SDHID1_3_PU, NULL); gpio_request(GPIO_FN_SDHID1_2_PU, NULL); gpio_request(GPIO_FN_SDHID1_1_PU, NULL); gpio_request(GPIO_FN_SDHID1_0_PU, NULL); gpio_request(GPIO_PORT114, "sdhi1_power"); gpio_direction_output(GPIO_PORT114, 0); #ifdef CONFIG_CACHE_L2X0 /* Shared attribute override enable, 64K*8way */ l2x0_init(__io(0xf0100000), 0x00460000, 0xc2000fff); #endif sh73a0_add_standard_devices(); platform_add_devices(ag5evm_devices, ARRAY_SIZE(ag5evm_devices)); }
static void lcd_off(void *board_data) { lcd_backlight_reset(); }
static void __init ag5evm_init(void) { regulator_register_always_on(0, "fixed-1.8V", fixed1v8_power_consumers, ARRAY_SIZE(fixed1v8_power_consumers), 1800000); regulator_register_always_on(1, "fixed-2.8V", fixed2v8_power_consumers, ARRAY_SIZE(fixed2v8_power_consumers), 3300000); regulator_register_fixed(3, dummy_supplies, ARRAY_SIZE(dummy_supplies)); sh73a0_pinmux_init(); /* enable SCIFA2 */ gpio_request(GPIO_FN_SCIFA2_TXD1, NULL); gpio_request(GPIO_FN_SCIFA2_RXD1, NULL); gpio_request(GPIO_FN_SCIFA2_RTS1_, NULL); gpio_request(GPIO_FN_SCIFA2_CTS1_, NULL); /* enable KEYSC */ gpio_request(GPIO_FN_KEYIN0_PU, NULL); gpio_request(GPIO_FN_KEYIN1_PU, NULL); gpio_request(GPIO_FN_KEYIN2_PU, NULL); gpio_request(GPIO_FN_KEYIN3_PU, NULL); gpio_request(GPIO_FN_KEYIN4_PU, NULL); gpio_request(GPIO_FN_KEYIN5_PU, NULL); gpio_request(GPIO_FN_KEYIN6_PU, NULL); gpio_request(GPIO_FN_KEYIN7_PU, NULL); gpio_request(GPIO_FN_KEYOUT0, NULL); gpio_request(GPIO_FN_KEYOUT1, NULL); gpio_request(GPIO_FN_KEYOUT2, NULL); gpio_request(GPIO_FN_KEYOUT3, NULL); gpio_request(GPIO_FN_KEYOUT4, NULL); gpio_request(GPIO_FN_KEYOUT5, NULL); gpio_request(GPIO_FN_PORT59_KEYOUT6, NULL); gpio_request(GPIO_FN_PORT58_KEYOUT7, NULL); gpio_request(GPIO_FN_KEYOUT8, NULL); gpio_request(GPIO_FN_PORT149_KEYOUT9, NULL); /* enable I2C channel 2 and 3 */ gpio_request(GPIO_FN_PORT236_I2C_SDA2, NULL); gpio_request(GPIO_FN_PORT237_I2C_SCL2, NULL); gpio_request(GPIO_FN_PORT248_I2C_SCL3, NULL); gpio_request(GPIO_FN_PORT249_I2C_SDA3, NULL); /* enable MMCIF */ gpio_request(GPIO_FN_MMCCLK0, NULL); gpio_request(GPIO_FN_MMCCMD0_PU, NULL); gpio_request(GPIO_FN_MMCD0_0_PU, NULL); gpio_request(GPIO_FN_MMCD0_1_PU, NULL); gpio_request(GPIO_FN_MMCD0_2_PU, NULL); gpio_request(GPIO_FN_MMCD0_3_PU, NULL); gpio_request(GPIO_FN_MMCD0_4_PU, NULL); gpio_request(GPIO_FN_MMCD0_5_PU, NULL); gpio_request(GPIO_FN_MMCD0_6_PU, NULL); gpio_request(GPIO_FN_MMCD0_7_PU, NULL); gpio_request(GPIO_PORT208, NULL); /* Reset */ gpio_direction_output(GPIO_PORT208, 1); /* enable SMSC911X */ gpio_request(GPIO_PORT144, NULL); /* PINTA2 */ gpio_direction_input(GPIO_PORT144); gpio_request(GPIO_PORT145, NULL); /* RESET */ gpio_direction_output(GPIO_PORT145, 1); /* FSI A */ gpio_request(GPIO_FN_FSIACK, NULL); gpio_request(GPIO_FN_FSIAILR, NULL); gpio_request(GPIO_FN_FSIAIBT, NULL); gpio_request(GPIO_FN_FSIAISLD, NULL); gpio_request(GPIO_FN_FSIAOSLD, NULL); /* IrDA */ gpio_request(GPIO_FN_PORT241_IRDA_OUT, NULL); gpio_request(GPIO_FN_PORT242_IRDA_IN, NULL); gpio_request(GPIO_FN_PORT243_IRDA_FIRSEL, NULL); /* LCD panel */ gpio_request(GPIO_PORT217, NULL); /* RESET */ gpio_direction_output(GPIO_PORT217, 0); mdelay(1); gpio_set_value(GPIO_PORT217, 1); mdelay(100); /* LCD backlight controller */ gpio_request(GPIO_PORT235, NULL); /* RESET */ gpio_direction_output(GPIO_PORT235, 0); lcd_backlight_reset(); /* enable SDHI0 on CN15 [SD I/F] */ gpio_request(GPIO_FN_SDHIWP0, NULL); gpio_request(GPIO_FN_SDHICMD0, NULL); gpio_request(GPIO_FN_SDHICLK0, NULL); gpio_request(GPIO_FN_SDHID0_3, NULL); gpio_request(GPIO_FN_SDHID0_2, NULL); gpio_request(GPIO_FN_SDHID0_1, NULL); gpio_request(GPIO_FN_SDHID0_0, NULL); /* enable SDHI1 on CN4 [WLAN I/F] */ gpio_request(GPIO_FN_SDHICLK1, NULL); gpio_request(GPIO_FN_SDHICMD1_PU, NULL); gpio_request(GPIO_FN_SDHID1_3_PU, NULL); gpio_request(GPIO_FN_SDHID1_2_PU, NULL); gpio_request(GPIO_FN_SDHID1_1_PU, NULL); gpio_request(GPIO_FN_SDHID1_0_PU, NULL); #ifdef CONFIG_CACHE_L2X0 /* Shared attribute override enable, 64K*8way */ l2x0_init(IOMEM(0xf0100000), 0x00460000, 0xc2000fff); #endif sh73a0_add_standard_devices(); platform_add_devices(ag5evm_devices, ARRAY_SIZE(ag5evm_devices)); }