static int vincell_devices_init(void) { writel(0, MX53_M4IF_BASE_ADDR + 0xc); console_flush(); imx53_init_lowlevel(1000); clk_set_rate(clk_lookup("nfc_podf"), 66666667); imx53_add_nand(&nand_info); imx51_iim_register_fec_ethaddr(); imx53_add_fec(&fec_info); imx53_add_mmc0(NULL); i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices)); imx53_add_i2c0(NULL); vincell_fec_reset(); armlinux_set_bootparams((void *)0x70000100); armlinux_set_architecture(3297); devfs_add_partition("nand0", SZ_1M, SZ_512K, DEVFS_PARTITION_FIXED, "self_raw"); dev_add_bb_dev("self_raw", "self0"); devfs_add_partition("nand0", SZ_1M + SZ_512K, SZ_512K, DEVFS_PARTITION_FIXED, "env_raw"); dev_add_bb_dev("env_raw", "env0"); imx53_bbu_internal_nand_register_handler("nand", BBU_HANDLER_FLAG_DEFAULT, dcd_entry, sizeof(dcd_entry), 3 * SZ_128K, 0xf8020000); return 0; }
static int tx53_devices_init(void) { const char *envdev; uint32_t flag_nand = 0; uint32_t flag_mmc = 0; if (!of_machine_is_compatible("karo,tx53")) return 0; barebox_set_model("Ka-Ro TX53"); barebox_set_hostname("tx53"); switch (bootsource_get()) { case BOOTSOURCE_MMC: devfs_add_partition("mmc0", 0x00000, SZ_512K, DEVFS_PARTITION_FIXED, "self0"); devfs_add_partition("mmc0", SZ_512K, SZ_1M, DEVFS_PARTITION_FIXED, "env0"); envdev = "MMC"; flag_mmc |= BBU_HANDLER_FLAG_DEFAULT; break; case BOOTSOURCE_NAND: default: devfs_add_partition("nand0", 0x00000, 0x80000, DEVFS_PARTITION_FIXED, "self_raw"); dev_add_bb_dev("self_raw", "self0"); devfs_add_partition("nand0", 0x80000, 0x100000, DEVFS_PARTITION_FIXED, "env_raw"); dev_add_bb_dev("env_raw", "env0"); envdev = "NAND"; flag_nand |= BBU_HANDLER_FLAG_DEFAULT; break; } armlinux_set_architecture(MACH_TYPE_TX53); /* rev xx30 can boot from nand or USB */ imx53_bbu_internal_nand_register_handler("nand-xx30", flag_nand, SZ_512K); /* rev 1011 can boot from MMC/SD, other bootsource currently unknown */ imx53_bbu_internal_mmc_register_handler("mmc-1011", "/dev/mmc0", flag_mmc); if (of_machine_is_compatible("karo,tx53-1011")) imx53_init_lowlevel(1000); printf("Using environment in %s\n", envdev); return 0; }
static int tx53_devices_init(void) { imx53_iim_register_fec_ethaddr(); tx53_fec_init(); imx53_add_fec(&fec_info); imx53_add_mmc0(&tx53_sd1_data); imx53_add_nand(&nand_info); armlinux_set_bootparams((void *)0x70000100); armlinux_set_architecture(MACH_TYPE_TX53); /* rev xx30 can boot from nand or USB */ imx53_bbu_internal_nand_register_handler("nand-xx30", BBU_HANDLER_FLAG_DEFAULT, (void *)dcd_entry_xx30, sizeof(dcd_entry_xx30), SZ_512K, 0); /* rev 1011 can boot from MMC/SD, other bootsource currently unknown */ imx53_bbu_internal_mmc_register_handler("mmc-1011", "/dev/disk0", 0, (void *)dcd_entry_1011, sizeof(dcd_entry_1011), 0); return 0; }