/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { t2_t *t2_base = (t2_t *)T2_BASE; u32 pbias_lite; twl4030_power_init(); /* set VSIM to 1.8V */ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VSIM_DEDICATED, TWL4030_PM_RECEIVER_VSIM_VSEL_18, TWL4030_PM_RECEIVER_VSIM_DEV_GRP, TWL4030_PM_RECEIVER_DEV_GRP_P1); /* set up dual-voltage GPIOs to 1.8V */ pbias_lite = readl(&t2_base->pbias_lite); pbias_lite &= ~PBIASLITEVMODE1; pbias_lite |= PBIASLITEPWRDNZ1; writel(pbias_lite, &t2_base->pbias_lite); if (get_cpu_family() == CPU_OMAP36XX) writel(readl(OMAP34XX_CTRL_WKUP_CTRL) | OMAP34XX_CTRL_WKUP_CTRL_GPIO_IO_PWRDNZ, OMAP34XX_CTRL_WKUP_CTRL); setup_net_chip(); omap_die_id_display(); set_led(); set_boardname(); return 0; }
int misc_init_r(void) { cl_print_pcb_info(); omap_die_id_display(); return 0; }
/* * Routine: misc_init_r * Description: Init i2c, ethernet, etc... (done here so udelay works) */ int misc_init_r(void) { #ifdef CONFIG_SYS_I2C_OMAP24XX i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif omap_die_id_display(); return 0; }
/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { twl4030_power_init(); setup_net_chip(); omap_die_id_display(); set_fdt(); return 0; }
/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { struct tricorder_eeprom eeprom; get_eeprom(&eeprom); print_hwversion(&eeprom); twl4030_power_init(); status_led_set(0, CONFIG_LED_STATUS_ON); status_led_set(1, CONFIG_LED_STATUS_ON); status_led_set(2, CONFIG_LED_STATUS_ON); omap_die_id_display(); return 0; }
/* * Routine: misc_init_r * Description: Init i2c, ethernet, etc... (done here so udelay works) */ int misc_init_r(void) { volatile unsigned int ctr; u32 reset; #ifdef CONFIG_SYS_I2C_OMAP24XX i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif omap_die_id_display(); am3517_evm_musb_init(); if (gpio_request(PHY_GPIO, "gpio_30") == 0) { /* activate PHY reset */ gpio_direction_output(PHY_GPIO, 0); gpio_set_value(PHY_GPIO, 0); ctr = 0; do { udelay(1000); ctr++; } while (ctr < 300); /* deactivate PHY reset */ gpio_set_value(PHY_GPIO, 1); /* allow the PHY to stabilize and settle down */ ctr = 0; do { udelay(1000); ctr++; } while (ctr < 300); /* ensure that the module is out of reset */ reset = readl(AM3517_IP_SW_RESET); reset &= (~CPGMACSS_SW_RST); writel(reset, AM3517_IP_SW_RESET); /* Free requested GPIO */ gpio_free(PHY_GPIO); } return 0; }
int misc_init_r(void) { char *eth_addr; struct tam3517_module_info info; int ret; omap_die_id_display(); eth_addr = getenv("ethaddr"); if (eth_addr) return 0; TAM3517_READ_EEPROM(&info, ret); if (!ret) TAM3517_READ_MAC_FROM_EEPROM(&info); return 0; }
int misc_init_r(void) { char *eth_addr; struct tam3517_module_info info; int ret; TAM3517_READ_EEPROM(&info, ret); omap_die_id_display(); if (ret) return 0; eth_addr = env_get("ethaddr"); if (!eth_addr) TAM3517_READ_MAC_FROM_EEPROM(&info); TAM3517_PRINT_SOM_INFO(&info); return 0; }
/* * Routine: misc_init_r * Description: Init ethernet (done here so udelay works) */ int misc_init_r(void) { #ifdef CONFIG_SYS_I2C_OMAP34XX i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif #if defined(CONFIG_CMD_NET) setup_net_chip(); #endif omap3_evm_get_revision(); #if defined(CONFIG_CMD_NET) reset_net_chip(); #endif omap_die_id_display(); return 0; }
/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE; struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE; twl4030_power_init(); twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); /* Configure GPIOs to output */ /* GPIO23 */ writel(~(GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe); writel(~(GPIO31 | GPIO30 | GPIO22 | GPIO21 | GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe); /* Set GPIOs */ writel(GPIO10 | GPIO8 | GPIO2 | GPIO1, &gpio6_base->setdataout); writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 | GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout); switch (tao3530_revision()) { case 0: puts("TAO-3530 REV Reserve 1\n"); break; case 1: puts("TAO-3530 REV Reserve 2\n"); break; case 2: puts("TAO-3530 REV Cx\n"); break; case 3: puts("TAO-3530 REV Ax/Bx\n"); break; default: puts("Unknown board revision\n"); } omap_die_id_display(); return 0; }
/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { t2_t *t2_base = (t2_t *)T2_BASE; u32 pbias_lite; twl4030_led_init(TWL4030_LED_LEDEN_LEDBON); /* set up dual-voltage GPIOs to 1.8V */ pbias_lite = readl(&t2_base->pbias_lite); pbias_lite &= ~PBIASLITEVMODE1; pbias_lite |= PBIASLITEPWRDNZ1; writel(pbias_lite, &t2_base->pbias_lite); if (get_cpu_family() == CPU_OMAP36XX) writel(readl(CONTROL_WKUP_CTRL) | GPIO_IO_PWRDNZ, CONTROL_WKUP_CTRL); /* make sure audio and BT chips are in powerdown state */ set_output_gpio(14, 0); set_output_gpio(15, 0); set_output_gpio(118, 0); /* enable USB supply */ set_output_gpio(164, 1); /* wifi needs a short pulse to enter powersave state */ set_output_gpio(23, 1); udelay(5000); gpio_direction_output(23, 0); /* Enable battery backup capacitor (3.2V, 0.5mA charge current) */ twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, TWL4030_PM_RECEIVER_BB_CFG, TWL4030_BB_CFG_BBCHEN | TWL4030_BB_CFG_BBSEL_3200MV | TWL4030_BB_CFG_BBISEL_500UA); omap_die_id_display(); return 0; }
/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { unsigned int expansion_id; twl4030_power_init(); twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); printf("Board revision: %d\n", get_board_revision()); switch (get_sdio2_config()) { case 0: puts("Tranceiver detected on mmc2\n"); MUX_OVERO_SDIO2_TRANSCEIVER(); break; case 1: puts("Direct connection on mmc2\n"); MUX_OVERO_SDIO2_DIRECT(); break; default: puts("Unable to detect mmc2 connection type\n"); } expansion_id = get_expansion_id(); switch (expansion_id) { case GUMSTIX_SUMMIT: printf("Recognized Summit expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("defaultdisplay", "dvi"); setenv("expansionname", "summit"); break; case GUMSTIX_TOBI: printf("Recognized Tobi expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("defaultdisplay", "dvi"); setenv("expansionname", "tobi"); break; case GUMSTIX_TOBI_DUO: printf("Recognized Tobi Duo expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("expansionname", "tobiduo"); break; case GUMSTIX_PALO35: printf("Recognized Palo35 expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("defaultdisplay", "lcd35"); setenv("expansionname", "palo35"); break; case GUMSTIX_PALO43: printf("Recognized Palo43 expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("defaultdisplay", "lcd43"); setenv("expansionname", "palo43"); break; case GUMSTIX_CHESTNUT43: printf("Recognized Chestnut43 expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("defaultdisplay", "lcd43"); setenv("expansionname", "chestnut43"); break; case GUMSTIX_PINTO: printf("Recognized Pinto expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); break; case GUMSTIX_GALLOP43: printf("Recognized Gallop43 expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); setenv("defaultdisplay", "lcd43"); setenv("expansionname", "gallop43"); break; case GUMSTIX_ALTO35: printf("Recognized Alto35 expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); MUX_ALTO35(); setenv("defaultdisplay", "lcd35"); setenv("expansionname", "alto35"); break; case GUMSTIX_STAGECOACH: printf("Recognized Stagecoach expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); break; case GUMSTIX_THUMBO: printf("Recognized Thumbo expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); break; case GUMSTIX_TURTLECORE: printf("Recognized Turtlecore expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); break; case GUMSTIX_ARBOR43C: printf("Recognized Arbor43C expansion board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); MUX_ARBOR43C(); setenv("defaultdisplay", "lcd43"); setenv("expansionname", "arbor43c"); break; case ETTUS_USRP_E: printf("Recognized Ettus Research USRP-E (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_GUMSTIX(); MUX_USRP_E(); setenv("defaultdisplay", "dvi"); break; case GUMSTIX_NO_EEPROM: case GUMSTIX_EMPTY_EEPROM: puts("No or empty EEPROM on expansion board\n"); MUX_GUMSTIX(); setenv("expansionname", "tobi"); break; default: printf("Unrecognized expansion board 0x%08x\n", expansion_id); break; } if (expansion_config.content == 1) setenv(expansion_config.env_var, expansion_config.env_setting); omap_die_id_display(); if (get_cpu_family() == CPU_OMAP34XX) setenv("boardname", "overo"); else setenv("boardname", "overo-storm"); return 0; }
/* * Routine: misc_init_r * Description: Configure board specific parts */ int misc_init_r(void) { struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE; struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE; struct control_prog_io *prog_io_base = (struct control_prog_io *)OMAP34XX_CTRL_BASE; bool generate_fake_mac = false; u32 value; /* Enable i2c2 pullup resisters */ value = readl(&prog_io_base->io1); value &= ~(PRG_I2C2_PULLUPRESX); writel(value, &prog_io_base->io1); switch (get_board_revision()) { case REVISION_AXBX: printf("Beagle Rev Ax/Bx\n"); env_set("beaglerev", "AxBx"); break; case REVISION_CX: printf("Beagle Rev C1/C2/C3\n"); env_set("beaglerev", "Cx"); MUX_BEAGLE_C(); break; case REVISION_C4: printf("Beagle Rev C4\n"); env_set("beaglerev", "C4"); MUX_BEAGLE_C(); /* Set VAUX2 to 1.8V for EHCI PHY */ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED, TWL4030_PM_RECEIVER_VAUX2_VSEL_18, TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, TWL4030_PM_RECEIVER_DEV_GRP_P1); break; case REVISION_XM_AB: printf("Beagle xM Rev A/B\n"); env_set("beaglerev", "xMAB"); MUX_BEAGLE_XM(); /* Set VAUX2 to 1.8V for EHCI PHY */ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED, TWL4030_PM_RECEIVER_VAUX2_VSEL_18, TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, TWL4030_PM_RECEIVER_DEV_GRP_P1); generate_fake_mac = true; break; case REVISION_XM_C: printf("Beagle xM Rev C\n"); env_set("beaglerev", "xMC"); MUX_BEAGLE_XM(); /* Set VAUX2 to 1.8V for EHCI PHY */ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED, TWL4030_PM_RECEIVER_VAUX2_VSEL_18, TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, TWL4030_PM_RECEIVER_DEV_GRP_P1); generate_fake_mac = true; break; default: printf("Beagle unknown 0x%02x\n", get_board_revision()); MUX_BEAGLE_XM(); /* Set VAUX2 to 1.8V for EHCI PHY */ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED, TWL4030_PM_RECEIVER_VAUX2_VSEL_18, TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, TWL4030_PM_RECEIVER_DEV_GRP_P1); generate_fake_mac = true; } switch (get_expansion_id()) { case TINCANTOOLS_ZIPPY: printf("Recognized Tincantools Zippy board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_TINCANTOOLS_ZIPPY(); env_set("buddy", "zippy"); break; case TINCANTOOLS_ZIPPY2: printf("Recognized Tincantools Zippy2 board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_TINCANTOOLS_ZIPPY(); env_set("buddy", "zippy2"); break; case TINCANTOOLS_TRAINER: printf("Recognized Tincantools Trainer board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); MUX_TINCANTOOLS_ZIPPY(); MUX_TINCANTOOLS_TRAINER(); env_set("buddy", "trainer"); break; case TINCANTOOLS_SHOWDOG: printf("Recognized Tincantools Showdow board (rev %d %s)\n", expansion_config.revision, expansion_config.fab_revision); /* Place holder for DSS2 definition for showdog lcd */ env_set("defaultdisplay", "showdoglcd"); env_set("buddy", "showdog"); break; case KBADC_BEAGLEFPGA: printf("Recognized KBADC Beagle FPGA board\n"); MUX_KBADC_BEAGLEFPGA(); env_set("buddy", "beaglefpga"); break; case LW_BEAGLETOUCH: printf("Recognized Liquidware BeagleTouch board\n"); env_set("buddy", "beagletouch"); break; case BRAINMUX_LCDOG: printf("Recognized Brainmux LCDog board\n"); env_set("buddy", "lcdog"); break; case BRAINMUX_LCDOGTOUCH: printf("Recognized Brainmux LCDog Touch board\n"); env_set("buddy", "lcdogtouch"); break; case BBTOYS_WIFI: printf("Recognized BeagleBoardToys WiFi board\n"); MUX_BBTOYS_WIFI() env_set("buddy", "bbtoys-wifi"); break; case BBTOYS_VGA: printf("Recognized BeagleBoardToys VGA board\n"); break; case BBTOYS_LCD: printf("Recognized BeagleBoardToys LCD board\n"); break; case BCT_BRETTL3: printf("Recognized bct electronic GmbH brettl3 board\n"); break; case BCT_BRETTL4: printf("Recognized bct electronic GmbH brettl4 board\n"); break; case LSR_COM6L_ADPT: printf("Recognized LSR COM6L Adapter Board\n"); MUX_BBTOYS_WIFI() env_set("buddy", "lsr-com6l-adpt"); break; case BEAGLE_NO_EEPROM: printf("No EEPROM on expansion board\n"); env_set("buddy", "none"); break; default: printf("Unrecognized expansion board: %x\n", expansion_config.device_vendor); env_set("buddy", "unknown"); } if (expansion_config.content == 1) env_set(expansion_config.env_var, expansion_config.env_setting); twl4030_power_init(); switch (get_board_revision()) { case REVISION_XM_AB: twl4030_led_init(TWL4030_LED_LEDEN_LEDBON); break; default: twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); break; } /* Set GPIO states before they are made outputs */ writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1, &gpio6_base->setdataout); writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 | GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout); /* Configure GPIOs to output */ writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe); writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 | GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe); omap_die_id_display(); #ifdef CONFIG_VIDEO_OMAP3 beagle_dvi_pup(); beagle_display_init(); omap3_dss_enable(); #endif #ifdef CONFIG_USB_MUSB_OMAP2PLUS musb_register(&musb_plat, &musb_board_data, (void *)MUSB_BASE); #endif if (generate_fake_mac) omap_die_id_usbethaddr(); #if defined(CONFIG_MTDIDS_DEFAULT) && defined(CONFIG_MTDPARTS_DEFAULT) if (strlen(CONFIG_MTDIDS_DEFAULT)) env_set("mtdids", CONFIG_MTDIDS_DEFAULT); if (strlen(CONFIG_MTDPARTS_DEFAULT)) env_set("mtdparts", CONFIG_MTDPARTS_DEFAULT); #endif return 0; }