static void __init mop500_init_machine(void) { int i2c0_devs; /* * The HREFv60 board removed a GPIO expander and routed * all these GPIO pins to the internal GPIO controller * instead. */ if (machine_is_hrefv60()) mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; else mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; u8500_init_devices(); mop500_pins_init(); platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); mop500_i2c_init(); mop500_sdi_init(); mop500_spi_init(); mop500_uart_init(); platform_device_register(&ab8500_device); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); if (machine_is_hrefv60()) i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); }
static void __init mop500_init_machine(void) { struct device *parent = NULL; int i2c0_devs; int i; mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; mop500_pinmaps_init(); parent = u8500_init_devices(&ab8500_platdata); for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) mop500_platform_devs[i]->dev.parent = parent; platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); mop500_i2c_init(parent); mop500_sdi_init(parent); mop500_spi_init(parent); mop500_audio_init(parent); mop500_uart_init(parent); u8500_cryp1_hash1_init(parent); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init snowball_init_machine(void) { struct device *parent = NULL; int i; platform_device_register(&db8500_prcmu_device); sdi0_reg_info.enable_gpio = SNOWBALL_SDMMC_EN_GPIO; sdi0_reg_info.gpios[0].gpio = SNOWBALL_SDMMC_1V8_3V_GPIO; snowball_pinmaps_init(); parent = u8500_init_devices(); for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) snowball_platform_devs[i]->dev.parent = parent; platform_add_devices(snowball_platform_devs, ARRAY_SIZE(snowball_platform_devs)); mop500_i2c_init(parent); snowball_sdi_init(parent); mop500_spi_init(parent); mop500_audio_init(parent); mop500_uart_init(parent); u8500_cryp1_hash1_init(parent); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init hrefv60_init_machine(void) { struct device *parent = NULL; int i; platform_device_register(&db8500_prcmu_device); /* * The HREFv60 board removed a GPIO expander and routed * all these GPIO pins to the internal GPIO controller * instead. */ mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; sdi0_reg_info.enable_gpio = HREFV60_SDMMC_EN_GPIO; sdi0_reg_info.gpios[0].gpio = HREFV60_SDMMC_1V8_3V_GPIO; hrefv60_pinmaps_init(); parent = u8500_init_devices(); for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) mop500_platform_devs[i]->dev.parent = parent; platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); mop500_i2c_init(parent); hrefv60_sdi_init(parent); mop500_spi_init(parent); mop500_audio_init(parent); mop500_uart_init(parent); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init snowball_init_machine(void) { struct device *parent = NULL; int i2c0_devs; int i; parent = u8500_init_devices(); snowball_pins_init(); for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) snowball_platform_devs[i]->dev.parent = parent; platform_add_devices(snowball_platform_devs, ARRAY_SIZE(snowball_platform_devs)); mop500_i2c_init(parent); snowball_sdi_init(parent); mop500_spi_init(parent); mop500_uart_init(parent); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init hrefv60_init_machine(void) { int i2c0_devs; /* * The HREFv60 board removed a GPIO expander and routed * all these GPIO pins to the internal GPIO controller * instead. */ mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; u8500_init_devices(); hrefv60_pins_init(); platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); mop500_i2c_init(); hrefv60_sdi_init(); mop500_spi_init(); mop500_uart_init(); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init mop500_init_machine(void) { int i2c0_devs; mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; u8500_init_devices(); mop500_pins_init(); platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); mop500_i2c_init(); mop500_sdi_init(); mop500_spi_init(); mop500_uart_init(); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init u8500_init_machine(void) { struct device *parent = NULL; int i2c0_devs; int i; parent = u8500_init_devices(); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) mop500_platform_devs[i]->dev.parent = parent; for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) snowball_platform_devs[i]->dev.parent = parent; /* automatically probe child nodes of db8500 device */ of_platform_populate(NULL, u8500_soc_node, u8500_auxdata_lookup, parent); if (of_machine_is_compatible("st-ericsson,mop500")) { mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR; mop500_pins_init(); platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); mop500_sdi_init(parent); } else if (of_machine_is_compatible("calaosystems,snowball-a9500")) { snowball_pins_init(); platform_add_devices(snowball_platform_devs, ARRAY_SIZE(snowball_platform_devs)); snowball_sdi_init(parent); } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) { /* * The HREFv60 board removed a GPIO expander and routed * all these GPIO pins to the internal GPIO controller * instead. */ mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; hrefv60_pins_init(); platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); hrefv60_sdi_init(parent); } mop500_i2c_init(parent); i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init hrefv60_init_machine(void) { struct device *parent = NULL; int i2c0_devs; int i; /* * The HREFv60 board removed a GPIO expander and routed * all these GPIO pins to the internal GPIO controller * instead. */ mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO; hrefv60_pinmaps_init(); parent = u8500_init_devices(&ab8500_platdata); for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) mop500_platform_devs[i]->dev.parent = parent; platform_add_devices(mop500_platform_devs, ARRAY_SIZE(mop500_platform_devs)); mop500_i2c_init(parent); hrefv60_sdi_init(parent); mop500_spi_init(parent); mop500_msp_init(parent); mop500_uart_init(parent); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); mop500_uib_init(); }
static void __init snowball_init_machine(void) { struct device *parent = NULL; int i; snowball_pinmaps_init(); parent = u8500_init_devices(&ab8500_platdata); for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) snowball_platform_devs[i]->dev.parent = parent; platform_add_devices(snowball_platform_devs, ARRAY_SIZE(snowball_platform_devs)); mop500_i2c_init(parent); snowball_sdi_init(parent); mop500_spi_init(parent); mop500_audio_init(parent); mop500_uart_init(parent); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init snowball_init_machine(void) { int i2c0_devs; u8500_init_devices(); snowball_pins_init(); platform_add_devices(snowball_platform_devs, ARRAY_SIZE(snowball_platform_devs)); mop500_i2c_init(); snowball_sdi_init(); mop500_spi_init(); mop500_uart_init(); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); /* This board has full regulator constraints */ regulator_has_full_constraints(); }
static void __init mop500_init_machine(void) { device_gpio_cfg(); accessory_detect_config(); #ifdef CONFIG_REGULATOR platform_device_register(&u8500_regulator_dev); #endif u8500_init_devices(); #ifdef CONFIG_USB_ANDROID fetch_usb_serial_no(USB_SERIAL_NUMBER_LEN); #endif platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); mop500_pins_init(); u8500_cryp1_hash1_init(); platform_device_register(&ux500_ab8500_device); #ifdef CONFIG_MFD_CG2900 #ifdef CONFIG_MFD_CG2900_TEST dcg2900_init_platdata(&cg2900_test_platform_data); #endif /* CONFIG_MFD_CG2900_TEST */ #ifdef CONFIG_MFD_CG2900_UART dcg2900_init_platdata(&cg2900_uart_platform_data); #endif /* CONFIG_MFD_CG2900_UART */ platform_device_register(&ux500_cg2900_device); #ifdef CONFIG_MFD_CG2900_UART if (pins_for_u9500()) { ux500_cg2900_uart_device.num_resources = ARRAY_SIZE(cg2900_uart_resources_u9500); ux500_cg2900_uart_device.resource = cg2900_uart_resources_u9500; } else if (machine_is_hrefv60()) { ux500_cg2900_uart_device.num_resources = ARRAY_SIZE(cg2900_uart_resources); ux500_cg2900_uart_device.resource = cg2900_uart_resources; } else { ux500_cg2900_uart_device.num_resources = ARRAY_SIZE(cg2900_uart_resources_pre_v60); ux500_cg2900_uart_device.resource = cg2900_uart_resources_pre_v60; } platform_device_register(&ux500_cg2900_uart_device); #endif /* CONFIG_MFD_CG2900_UART */ #ifdef CONFIG_MFD_CG2900_TEST platform_device_register(&ux500_cg2900_test_device); #endif /* CONFIG_MFD_CG2900_TEST */ #ifdef CONFIG_MFD_CG2900_CHIP platform_device_register(&ux500_cg2900_chip_device); #endif /* CONFIG_MFD_CG2900_CHIP */ #ifdef CONFIG_MFD_STLC2690_CHIP platform_device_register(&ux500_stlc2690_chip_device); #endif /* CONFIG_MFD_STLC2690_CHIP */ #endif /* CONFIG_MFD_CG2900 */ mop500_i2c_init(); mop500_msp_init(); mop500_spi_init(); mop500_uart_init(); mop500_wlan_init(); db8500_add_ske_keypad(&mop500_ske_keypad_data); #ifdef CONFIG_HSI hsi_register_board_info(u8500_hsi_devices, ARRAY_SIZE(u8500_hsi_devices)); #endif #ifdef CONFIG_MOP500_NUIB mop500_nuib_init(); #endif #ifdef CONFIG_ANDROID_STE_TIMED_VIBRA mop500_vibra_init(); #endif platform_add_devices(u8500_platform_devices, ARRAY_SIZE(u8500_platform_devices)); }