void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) { u32 heapsize = 24*1024*1024 - (u32)_end; simple_alloc_init(_end, heapsize, 32, 64); fdt_init(_dtb_start); if (!ug_grab_io_base() && ug_is_adapter_present()) console_ops.write = ug_console_write; platform_ops.fixups = platform_fixups; save_lowmem_stub(); }
void *ug_probe(void) { void *exi_io_base; int i; exi_io_base = ug_grab_exi_io_base(); if (!exi_io_base) return NULL; /* look for a usbgecko on memcard slots A and B */ for (i = 0; i < 2; i++) { ug_io_base = exi_io_base + 0x14 * i; if (ug_is_adapter_present()) break; } if (i == 2) ug_io_base = NULL; return ug_io_base; }