/* * This gets called after board-specific INIT_MACHINE, and initializes most * on-chip peripherals accessible on this board (except for few like USB): * * (a) Does any "standard config" pin muxing needed. Board-specific * code will have muxed GPIO pins and done "nonstandard" setup; * that code could live in the boot loader. * (b) Populating board-specific platform_data with the data drivers * rely on to handle wiring variations. * (c) Creating platform devices as meaningful on this board and * with this kernel configuration. * * Claiming GPIOs, and setting their direction and initial values, is the * responsibility of the device drivers. So is responding to probe(). * * Board-specific knowledge like creating devices or pin setup is to be * kept out of drivers as much as possible. In particular, pin setup * may be handled by the boot loader, and drivers should expect it will * normally have been done by the time they're probed. */ static int __init omap1_init_devices(void) { if (!cpu_class_is_omap1()) return -ENODEV; omap_sram_init(); omap1_clk_late_init(); /* please keep these calls, and their implementations above, * in alphabetical order so they're easier to sort through. */ omap_init_audio(); omap_init_mbox(); omap_init_rtc(); omap_init_spi100k(); omap_init_sti(); omap_init_uwire(); omap1_init_rng(); return 0; }
static int __init omap2_init_devices(void) { /* * please keep these calls, and their implementations above, * in alphabetical order so they're easier to sort through. */ omap_init_mcpdm(); omap_init_aess(); omap_init_abe(); omap_init_audio(); omap_init_camera(); omap_init_mbox(); omap_init_mcasp(); omap_init_mcspi(); omap_init_pmu(); omap_init_sti(); omap_init_sham(); omap_init_aes(); omap_init_vout(); omap_init_gpu(); return 0; }
static int __init omap2_init_devices(void) { /* Enable dummy states for those platforms without pinctrl support */ if (!of_have_populated_dt()) pinctrl_provide_dummies(); /* * please keep these calls, and their implementations above, * in alphabetical order so they're easier to sort through. */ omap_init_audio(); /* If dtb is there, the devices will be created dynamically */ if (!of_have_populated_dt()) { omap_init_mbox(); omap_init_mcspi(); omap_init_sham(); omap_init_aes(); omap_init_rng(); } omap_init_sti(); return 0; }
static int __init omap2_init_devices(void) { /* * please keep these calls, and their implementations above, * in alphabetical order so they're easier to sort through. */ omap_init_audio(); omap_init_camera(); omap_init_mbox(); omap_init_mcspi(); omap_init_elm(); omap_init_pmu(); omap_hdq_init(); omap_init_sti(); omap_init_sham(); omap_init_aes(); omap_init_vout(); am33xx_register_edma(); am33xx_init_pcm(); #if defined (CONFIG_SOC_OMAPAM33XX) am335x_register_pruss_uio(&am335x_pruss_uio_pdata); #endif return 0; }