static int eukrea_cpuimx51_devices_init(void) { imx51_add_fec(&fec_info); #ifdef CONFIG_MCI_IMX_ESDHC imx51_add_mmc0(NULL); #endif imx51_add_nand(&nand_info); devfs_add_partition("nand0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self_raw"); dev_add_bb_dev("self_raw", "self0"); devfs_add_partition("nand0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env_raw"); dev_add_bb_dev("env_raw", "env0"); gpio_direction_output(GPIO_LAN8700_RESET, 0); gpio_set_value(GPIO_LAN8700_RESET, 1); gpio_direction_output(GPIO_LCD_BL, 0); armlinux_set_bootparams((void *)0x90000100); armlinux_set_architecture(MACH_TYPE_EUKREA_CPUIMX51SD); return 0; }
/* * Board specific initialization. */ static void __init mxc_board_init(void) { struct pad_desc usbh1stp = MX51_PAD_USBH1_STP__USBH1_STP; struct pad_desc power_key = MX51_PAD_EIM_A27__GPIO_2_21; #if defined(CONFIG_CPU_FREQ_IMX) get_cpu_op = mx51_get_cpu_op; #endif mxc_iomux_v3_setup_multiple_pads(mx51babbage_pads, ARRAY_SIZE(mx51babbage_pads)); mxc_init_imx_uart(); babbage_fec_reset(); imx51_add_fec(NULL); /* Set the PAD settings for the pwr key. */ power_key.pad_ctrl = MX51_GPIO_PAD_CTRL_2; mxc_iomux_v3_setup_pad(&power_key); imx51_add_gpio_keys(&imx_button_data); imx51_add_imx_i2c(0, &babbage_i2c_data); imx51_add_imx_i2c(1, &babbage_i2c_data); mxc_register_device(&mxc_hsi2c_device, &babbage_hsi2c_data); if (otg_mode_host) mxc_register_device(&mxc_usbdr_host_device, &dr_utmi_config); else { initialize_otg_port(NULL); mxc_register_device(&mxc_usbdr_udc_device, &usb_pdata); } gpio_usbh1_active(); mxc_register_device(&mxc_usbh1_device, &usbh1_config); /* setback USBH1_STP to be function */ mxc_iomux_v3_setup_pad(&usbh1stp); babbage_usbhub_reset(); imx51_add_esdhc(0, NULL); imx51_add_esdhc(1, NULL); }
static int tx51_devices_init(void) { #ifdef CONFIG_MCI_IMX_ESDHC imx51_add_mmc0(NULL); imx51_add_mmc1(NULL); #endif imx51_add_nand(&nand_info); spi_register_board_info(mx51_tx51_spi_board_info, ARRAY_SIZE(mx51_tx51_spi_board_info)); imx51_add_spi0(&tx51_spi_0_data); imx51_iim_register_fec_ethaddr(); tx51_fec_init(); imx51_add_fec(&fec_info); tx51_leds_init(); //Linux Parameters armlinux_set_architecture(MACH_TYPE_TX51); return 0; }
static void __init eukrea_cpuimx51sd_init(void) { imx51_soc_init(); mxc_iomux_v3_setup_multiple_pads(eukrea_cpuimx51sd_pads, ARRAY_SIZE(eukrea_cpuimx51sd_pads)); #if defined(CONFIG_CPU_FREQ_IMX) get_cpu_op = mx51_get_cpu_op; #endif imx51_add_imx_uart(0, &uart_pdata); imx51_add_mxc_nand(&eukrea_cpuimx51sd_nand_board_info); imx51_add_imx2_wdt(0, NULL); gpio_request(ETH_RST, "eth_rst"); gpio_set_value(ETH_RST, 1); imx51_add_fec(NULL); gpio_request(CAN_IRQGPIO, "can_irq"); gpio_direction_input(CAN_IRQGPIO); gpio_free(CAN_IRQGPIO); gpio_request(CAN_NCS, "can_ncs"); gpio_direction_output(CAN_NCS, 1); gpio_free(CAN_NCS); gpio_request(CAN_RST, "can_rst"); gpio_direction_output(CAN_RST, 0); msleep(20); gpio_set_value(CAN_RST, 1); imx51_add_ecspi(0, &cpuimx51sd_ecspi1_pdata); spi_register_board_info(cpuimx51sd_spi_device, ARRAY_SIZE(cpuimx51sd_spi_device)); if (mx51_revision() < IMX_CHIP_REVISION_3_0) { eukrea_cpuimx51sd_i2c_devices[1].irq = gpio_to_irq(TSC2007_IRQGPIO_REV2), platform_add_devices(rev2_platform_devices, ARRAY_SIZE(rev2_platform_devices)); gpio_request(TSC2007_IRQGPIO_REV2, "tsc2007_irq"); gpio_direction_input(TSC2007_IRQGPIO_REV2); gpio_free(TSC2007_IRQGPIO_REV2); } else { eukrea_cpuimx51sd_i2c_devices[1].irq = gpio_to_irq(TSC2007_IRQGPIO_REV3), imx51_add_imx_i2c(0, &cpuimx51sd_i2c_data); gpio_request(TSC2007_IRQGPIO_REV3, "tsc2007_irq"); gpio_direction_input(TSC2007_IRQGPIO_REV3); gpio_free(TSC2007_IRQGPIO_REV3); } i2c_register_board_info(0, eukrea_cpuimx51sd_i2c_devices, ARRAY_SIZE(eukrea_cpuimx51sd_i2c_devices)); if (otg_mode_host) imx51_add_mxc_ehci_otg(&dr_utmi_config); else { initialize_otg_port(NULL); imx51_add_fsl_usb2_udc(&usb_pdata); } gpio_request(USBH1_RST, "usb_rst"); gpio_direction_output(USBH1_RST, 0); msleep(20); gpio_set_value(USBH1_RST, 1); imx51_add_mxc_ehci_hs(1, &usbh1_config); #ifdef CONFIG_MACH_EUKREA_MBIMXSD51_BASEBOARD eukrea_mbimxsd51_baseboard_init(); #endif }