/* * This function is called from the board init */ struct device * __init u8500_init_devices(void) { struct device *parent; int i; #ifdef CONFIG_STM_TRACE /* Early init for STM tracing */ platform_device_register(&ux500_stm_device); #endif parent = db8500_soc_device_init(); db8500_dma_init(); db8500_icn_init(); db8500_add_rtc(parent); db8500_add_usb(parent, usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg); for (i = 0; i < ARRAY_SIZE(platform_devs); i++) platform_devs[i]->dev.parent = parent; ((struct dbx500_cpuidle_platform_data *) db8500_cpuidle_device.dev.platform_data)->broadcast_clkevt = nmdk_clkevt_get(); platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); return parent; }
/* TODO: Once all pieces are DT:ed, remove completely. */ struct device * __init u8500_of_init_devices(void) { struct device *parent; int i; parent = db8500_soc_device_init(); db8500_add_usb(parent, usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg); platform_device_register_data(parent, "cpufreq-u8500", -1, NULL, 0); for (i = 0; i < ARRAY_SIZE(of_platform_devs); i++) of_platform_devs[i]->dev.parent = parent; /* * Devices to be DT:ed: * u8500_dma40_device = todo * db8500_pmu_device = done * db8500_prcmu_device = done */ platform_add_devices(of_platform_devs, ARRAY_SIZE(of_platform_devs)); return parent; }
static void __init u8500_init_machine(void) { struct device *parent = db8500_soc_device_init(); /* automatically probe child nodes of dbx5x0 devices */ if (of_machine_is_compatible("st-ericsson,u8540")) of_platform_populate(NULL, u8500_local_bus_nodes, u8540_auxdata_lookup, parent); else of_platform_populate(NULL, u8500_local_bus_nodes, u8500_auxdata_lookup, parent); }
/* TODO: Once all pieces are DT:ed, remove completely. */ static struct device * __init u8500_of_init_devices(void) { struct device *parent = db8500_soc_device_init(); db8500_add_usb(parent, usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg); u8500_dma40_device.dev.parent = parent; /* * Devices to be DT:ed: * u8500_dma40_device = todo * db8500_pmu_device = done * db8500_prcmu_device = done */ platform_device_register(&u8500_dma40_device); return parent; }
/* * This function is called from the board init */ struct device * __init u8500_init_devices(void) { struct device *parent; int i; parent = db8500_soc_device_init(); db8500_add_rtc(parent); db8500_add_gpios(parent); db8500_add_usb(parent, usb_db8500_dma_cfg, usb_db8500_dma_cfg); for (i = 0; i < ARRAY_SIZE(platform_devs); i++) platform_devs[i]->dev.parent = parent; platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); return parent; }
/* * This function is called from the board init */ struct device * __init u8500_init_devices(struct ab8500_platform_data *ab8500) { struct device *parent; int i; parent = db8500_soc_device_init(); db8500_add_rtc(parent); db8500_add_gpios(parent); db8500_add_usb(parent, usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg); for (i = 0; i < ARRAY_SIZE(platform_devs); i++) platform_devs[i]->dev.parent = parent; db8500_prcmu_device.dev.platform_data = ab8500; platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); return parent; }
/* * This function is called from the board init */ struct device * __init u8500_init_devices(void) { struct device *parent; int i; parent = db8500_soc_device_init(); db8500_add_rtc(parent); db8500_add_gpios(parent); db8500_add_usb(parent, usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg); platform_device_register_data(parent, "cpufreq-u8500", -1, NULL, 0); for (i = 0; i < ARRAY_SIZE(platform_devs); i++) platform_devs[i]->dev.parent = parent; platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs)); return parent; }
static void __init u8500_init_machine(void) { struct device *parent = db8500_soc_device_init(); /* Pinmaps must be in place before devices register */ if (of_machine_is_compatible("st-ericsson,mop500")) mop500_pinmaps_init(); else if (of_machine_is_compatible("calaosystems,snowball-a9500")) { snowball_pinmaps_init(); } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) hrefv60_pinmaps_init(); else if (of_machine_is_compatible("st-ericsson,ccu9540")) {} /* TODO: Add pinmaps for ccu9540 board. */ /* automatically probe child nodes of dbx5x0 devices */ if (of_machine_is_compatible("st-ericsson,u8540")) of_platform_populate(NULL, u8500_local_bus_nodes, u8540_auxdata_lookup, parent); else of_platform_populate(NULL, u8500_local_bus_nodes, u8500_auxdata_lookup, parent); }