static int omap_init(void) { int ret; struct device_node *root; root = of_get_root_node(); if (root) { __omap_cpu_type = omap_soc_from_dt(); if (!__omap_cpu_type) hang(); } if (cpu_is_omap3()) ret = omap3_init(); else if (cpu_is_omap4()) ret = omap4_init(); else if (cpu_is_am33xx()) ret = am33xx_init(); else return -EINVAL; if (root) return ret; if (cpu_is_omap3()) ret = omap3_devices_init(); else if (cpu_is_omap4()) ret = omap4_devices_init(); else if (cpu_is_am33xx()) ret = am33xx_devices_init(); else return -EINVAL; return ret; }
static void *omap_scratch_space_start(void) { if (cpu_is_am33xx()) return (void *)AM33XX_SRAM_SCRATCH_SPACE; if (cpu_is_omap3()) return (void *)OMAP3_SRAM_SCRATCH_SPACE; if (cpu_is_omap4()) return (void *)OMAP44XX_SRAM_SCRATCH_SPACE; return NULL; }
static void *omap_sram_start(void) { if (cpu_is_am33xx()) return (void *)AM33XX_SRAM0_START; if (cpu_is_omap3()) return (void *)OMAP3_SRAM_BASE; if (cpu_is_omap4()) return (void *)OMAP44XX_SRAM_BASE; return NULL; }
void __noreturn reset_cpu(unsigned long addr) { if (cpu_is_omap3()) omap3_reset_cpu(addr); if (cpu_is_omap4()) omap4_reset_cpu(addr); if (cpu_is_am33xx()) am33xx_reset_cpu(addr); while (1); }