#include #include #include #include #include #include static struct device_d cfi_dev = { .id = -1, .name = "cfi_flash", .map_base = 0x20000000, .size = 32 * 1024 * 1024, }; static struct memory_platform_data ram_pdata = { .name = "ram0", .flags = DEVFS_RDWR, }; static struct device_d sdram_dev = { .id = -1, .name = "mem", .map_base = 0x0, .size = 128 * 1024 * 1024, .platform_data = &ram_pdata, }; static struct device_d smc911x_dev = { .id = -1, .name = "smc911x", .map_base = 0x24000000, .size = 4096, }; static int ipe337_devices_init(void) { register_device(&cfi_dev); register_device(&sdram_dev); /* Reset smc911x */ *pFIO0_DIR = (1<<12); *pFIO0_FLAG_C = (1<<12); mdelay(100); *pFIO0_FLAG_S = (1<<12); register_device(&smc911x_dev); devfs_add_partition("nor0", 0x00000, 0x20000, PARTITION_FIXED, "self0"); devfs_add_partition("nor0", 0x20000, 0x20000, PARTITION_FIXED, "env0"); protect_file("/dev/env0", 1); return 0; } device_initcall(ipe337_devices_init); static struct device_d blackfin_serial_device = { .id = -1, .name = "blackfin_serial", .map_base = 0, .size = 4096, }; static int blackfin_console_init(void) { register_device(&blackfin_serial_device); return 0; } console_initcall(blackfin_console_init);