int __init ls1b_platform_init(void) { ls1x_serial_setup(); #ifdef CONFIG_STMMAC_ETH ls1x_gmac_setup(); #endif #ifdef CONFIG_CAN_SJA1000_PLATFORM ls1x_can_setup(); #endif //#ifdef CONFIG_CAN_SJA1000_PLATFORM #ifdef CONFIG_I2C_OCORES ls1x_i2c_setup(); #endif #ifdef CONFIG_I2C_LS1X i2c_register_board_info(0, ls1x_i2c0_devs, ARRAY_SIZE(ls1x_i2c0_devs)); #endif #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) /* 轮询方式或中断方式探测card的插拔 */ gpio_request(DETECT_GPIO, "MMC_SPI GPIO detect"); gpio_direction_input(DETECT_GPIO); /* 输入使能 */ #endif #ifdef CONFIG_SPI_LS1X_SPI0 spi_register_board_info(ls1x_spi0_devices, ARRAY_SIZE(ls1x_spi0_devices)); #endif #ifdef CONFIG_SPI_LS1X_SPI1 spi_register_board_info(ls1x_spi1_devices, ARRAY_SIZE(ls1x_spi1_devices)); #endif #ifdef CONFIG_SENSORS_LS1X ls1x_hwmon_set_platdata(&bast_hwmon_info); #endif #ifdef CONFIG_BACKLIGHT_GENERIC gpio_request(GPIO_BACKLIGHT_CTRL, "backlight"); #endif #if defined(CONFIG_SOC_CAMERA_OV2640) || \ defined(CONFIG_SOC_CAMERA_OV2640_MODULE) /* gpio_request(OV2640_GPIO_CAMERA_PW, "ov2640_pw"); gpio_direction_output(OV2640_GPIO_CAMERA_PW, 1); gpio_request(OV2640_GPIO_CAMERA_RST, "ov2640_rst"); gpio_direction_output(OV2640_GPIO_CAMERA_RST, 1);*/ #endif #if defined(CONFIG_MMC_LS1X) /* 轮询方式或中断方式探测card的插拔 */ gpio_request(SDIO_WP_GPIO, "ls1x sdio wp"); gpio_direction_input(SDIO_WP_GPIO); gpio_request(SDIO_DETECT_GPIO, "ls1x sdio detect"); gpio_direction_input(SDIO_DETECT_GPIO); #endif return platform_add_devices(ls1b_platform_devices, ARRAY_SIZE(ls1b_platform_devices)); }
static int __init ls1b_platform_init(void) { int err; ls1x_serial_setup(&ls1x_uart_device); err = platform_add_devices(ls1b_platform_devices, ARRAY_SIZE(ls1b_platform_devices)); return err; }
int __init ls1b_platform_init(void) { u32 x __maybe_unused; ls1x_serial_setup(); #ifdef CONFIG_STMMAC_ETH ls1x_gmac_setup(); #endif #ifdef CONFIG_I2C_LS1X i2c_register_board_info(0, ls1x_i2c0_devs, ARRAY_SIZE(ls1x_i2c0_devs)); #endif #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) /* 轮询方式或中断方式探测card的插拔 */ gpio_request(DETECT_GPIO, "MMC_SPI GPIO detect"); gpio_direction_input(DETECT_GPIO); /* 输入使能 */ #endif #ifdef CONFIG_SPI_LS1X_SPI0 /* disable gpio40-43 */ __raw_writel(__raw_readl(LS1X_GPIO_CFG1) & ~(SPI0_MASK << SPI0_OFFSET), LS1X_GPIO_CFG1); x = __raw_readl(LS1X_MUX_CTRL0); // x |= SPI0_USE_CAN0_TX; /* 解除CAN片选复用 */ // x |= SPI0_USE_CAN0_RX; /* 解除CAN片选复用 */ __raw_writel(x, LS1X_MUX_CTRL0); spi_register_board_info(ls1x_spi0_devices, ARRAY_SIZE(ls1x_spi0_devices)); #endif #ifdef CONFIG_SPI_GPIO spi_register_board_info(spi_gpio_devices, ARRAY_SIZE(spi_gpio_devices)); #endif return platform_add_devices(ls1b_platform_devices, ARRAY_SIZE(ls1b_platform_devices)); }