int sata_initialize(void) { int err, i; cm_fx6_setup_issd(); for (i = 0; i < CM_FX6_SATA_INIT_RETRIES; i++) { err = setup_sata(); if (err) { printf("SATA setup failed: %d\n", err); return err; } udelay(100); err = __sata_initialize(); if (!err) break; /* There is no device on the SATA port */ if (sata_port_status(0, 0) == 0) break; /* There's a device, but link not established. Retry */ } return err; }
int board_init(void) { int ret; gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; cm_fx6_setup_gpmi_nand(); ret = cm_fx6_setup_ecspi(); if (ret) printf("Warning: ECSPI setup failed: %d\n", ret); ret = cm_fx6_setup_usb_otg(); if (ret) printf("Warning: USB OTG setup failed: %d\n", ret); ret = cm_fx6_setup_usb_host(); if (ret) printf("Warning: USB host setup failed: %d\n", ret); /* * cm-fx6 may have iSSD not assembled and in this case it has * bypasses for a (m)SATA socket on the baseboard. The socketed * device is not controlled by those GPIOs. So just print a warning * if the setup fails. */ ret = cm_fx6_setup_issd(); if (ret) printf("Warning: iSSD setup failed: %d\n", ret); /* Warn on failure but do not abort boot */ ret = cm_fx6_setup_i2c(); if (ret) printf("Warning: I2C setup failed: %d\n", ret); cm_fx6_setup_display(); /* This should be done in the MMC driver when MX6 has a clock driver */ #ifdef CONFIG_FSL_ESDHC if (IS_ENABLED(CONFIG_BLK)) { int i; cm_fx6_set_usdhc_iomux(); for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) enable_usdhc_clk(1, i); } #endif return 0; }
int board_init(void) { int ret; gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; cm_fx6_setup_gpmi_nand(); ret = cm_fx6_setup_ecspi(); if (ret) printf("Warning: ECSPI setup failed: %d\n", ret); ret = cm_fx6_setup_usb_otg(); if (ret) printf("Warning: USB OTG setup failed: %d\n", ret); ret = cm_fx6_setup_usb_host(); if (ret) printf("Warning: USB host setup failed: %d\n", ret); /* * cm-fx6 may have iSSD not assembled and in this case it has * bypasses for a (m)SATA socket on the baseboard. The socketed * device is not controlled by those GPIOs. So just print a warning * if the setup fails. */ ret = cm_fx6_setup_issd(); if (ret) printf("Warning: iSSD setup failed: %d\n", ret); /* Warn on failure but do not abort boot */ ret = cm_fx6_setup_i2c(); if (ret) printf("Warning: I2C setup failed: %d\n", ret); cm_fx6_setup_display(); return 0; }