diff options
| author | Evan Wilson <evan@oliodevices.com> | 2014-01-28 18:08:46 -0800 |
|---|---|---|
| committer | Evan Wilson <evan@oliodevices.com> | 2014-01-28 18:08:46 -0800 |
| commit | af21deda1f57d73d01e0850900a8ff69a6350a16 (patch) | |
| tree | 2930dd981a66bc6c2c6d2f57a06101e32aeaf208 | |
| parent | 4e76f9586b3afa2bbe33233334d705234ee2982b (diff) | |
| download | olio-uboot-2014.01-af21deda1f57d73d01e0850900a8ff69a6350a16.tar.xz olio-uboot-2014.01-af21deda1f57d73d01e0850900a8ff69a6350a16.zip | |
Removed code not related to AM37
| -rw-r--r-- | board/olio/h1/h1.c | 340 | ||||
| -rw-r--r-- | include/configs/omap3_h1.h | 8 |
2 files changed, 30 insertions, 318 deletions
diff --git a/board/olio/h1/h1.c b/board/olio/h1/h1.c index 59e6a2b70..c266ceae6 100644 --- a/board/olio/h1/h1.c +++ b/board/olio/h1/h1.c @@ -40,36 +40,9 @@ #endif #define TWL4030_I2C_BUS 0 -#define EXPANSION_EEPROM_I2C_BUS 1 -#define EXPANSION_EEPROM_I2C_ADDRESS 0x50 - -#define TINCANTOOLS_ZIPPY 0x01000100 -#define TINCANTOOLS_ZIPPY2 0x02000100 -#define TINCANTOOLS_TRAINER 0x04000100 -#define TINCANTOOLS_SHOWDOG 0x03000100 -#define KBADC_BEAGLEFPGA 0x01000600 -#define LW_BEAGLETOUCH 0x01000700 -#define BRAINMUX_LCDOG 0x01000800 -#define BRAINMUX_LCDOGTOUCH 0x02000800 -#define BBTOYS_WIFI 0x01000B00 -#define BBTOYS_VGA 0x02000B00 -#define BBTOYS_LCD 0x03000B00 -#define BCT_BRETTL3 0x01000F00 -#define BCT_BRETTL4 0x02000F00 -#define LSR_COM6L_ADPT 0x01001300 -#define BEAGLE_NO_EEPROM 0xffffffff DECLARE_GLOBAL_DATA_PTR; -static struct { - unsigned int device_vendor; - unsigned char revision; - unsigned char content; - char fab_revision[8]; - char env_var[16]; - char env_setting[64]; -} expansion_config; - /* * Routine: board_init * Description: Early hardware init. @@ -82,48 +55,9 @@ int board_init(void) /* boot param addr */ gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100); -#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT) - status_led_set (STATUS_LED_BOOT, STATUS_LED_ON); -#endif - return 0; } -/* - * Routine: get_board_revision - * Description: Detect if we are running on a Beagle revision Ax/Bx, - * C1/2/3, C4, xM Ax/Bx or xM Cx. This can be done by reading - * the level of GPIO173, GPIO172 and GPIO171. This should - * result in - * GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx - * GPIO173, GPIO172, GPIO171: 1 1 0 => C1/2/3 - * GPIO173, GPIO172, GPIO171: 1 0 1 => C4 - * GPIO173, GPIO172, GPIO171: 0 1 0 => xM Cx - * GPIO173, GPIO172, GPIO171: 0 0 0 => xM Ax/Bx - */ -static int get_board_revision(void) -{ - int revision; - - if (!gpio_request(171, "") && - !gpio_request(172, "") && - !gpio_request(173, "")) { - - gpio_direction_input(171); - gpio_direction_input(172); - gpio_direction_input(173); - - revision = gpio_get_value(173) << 2 | - gpio_get_value(172) << 1 | - gpio_get_value(171); - } else { - printf("Error: unable to acquire board revision GPIOs\n"); - revision = -1; - } - - return revision; -} - #ifdef CONFIG_SPL_BUILD /* * Routine: get_board_mem_timings @@ -142,47 +76,13 @@ void get_board_mem_timings(struct board_sdrc_timings *timings) identify_nand_chip(&pop_mfr, &pop_id); timings->mr = MICRON_V_MR_165; - switch (get_board_revision()) { - case REVISION_C4: - if (pop_mfr == NAND_MFR_STMICRO && pop_id == 0xba) { - /* 512MB DDR */ - timings->mcfg = NUMONYX_V_MCFG_165(512 << 20); - timings->ctrla = NUMONYX_V_ACTIMA_165; - timings->ctrlb = NUMONYX_V_ACTIMB_165; - timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz; - break; - } else if (pop_mfr == NAND_MFR_MICRON && pop_id == 0xba) { - /* Beagleboard Rev C4, 512MB Nand/256MB DDR*/ - timings->mcfg = MICRON_V_MCFG_165(128 << 20); - timings->ctrla = MICRON_V_ACTIMA_165; - timings->ctrlb = MICRON_V_ACTIMB_165; - timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz; - break; - } else if (pop_mfr == NAND_MFR_MICRON && pop_id == 0xbc) { - /* Beagleboard Rev C5, 256MB DDR */ - timings->mcfg = MICRON_V_MCFG_200(256 << 20); - timings->ctrla = MICRON_V_ACTIMA_200; - timings->ctrlb = MICRON_V_ACTIMB_200; - timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; - break; - } - case REVISION_XM_AB: - case REVISION_XM_C: - if (pop_mfr == 0) { - /* 256MB DDR */ - timings->mcfg = MICRON_V_MCFG_200(256 << 20); - timings->ctrla = MICRON_V_ACTIMA_200; - timings->ctrlb = MICRON_V_ACTIMB_200; - timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; - } else { - /* 512MB DDR */ - timings->mcfg = NUMONYX_V_MCFG_165(512 << 20); - timings->ctrla = NUMONYX_V_ACTIMA_165; - timings->ctrlb = NUMONYX_V_ACTIMB_165; - timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz; - } - break; - default: + if (pop_mfr == 0) { + /* 256MB DDR */ + timings->mcfg = MICRON_V_MCFG_200(256 << 20); + timings->ctrla = MICRON_V_ACTIMA_200; + timings->ctrlb = MICRON_V_ACTIMB_200; + timings->rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz; + } else { /* Assume 128MB and Micron/165MHz timings to be safe */ timings->mcfg = MICRON_V_MCFG_165(128 << 20); timings->ctrla = MICRON_V_ACTIMA_165; @@ -192,39 +92,6 @@ void get_board_mem_timings(struct board_sdrc_timings *timings) } #endif -/* - * Routine: get_expansion_id - * Description: This function checks for expansion board by checking I2C - * bus 1 for the availability of an AT24C01B serial EEPROM. - * returns the device_vendor field from the EEPROM - */ -static unsigned int get_expansion_id(void) -{ - i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS); - - /* return BEAGLE_NO_EEPROM if eeprom doesn't respond */ - if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1) { - i2c_set_bus_num(TWL4030_I2C_BUS); - return BEAGLE_NO_EEPROM; - } - - /* read configuration data */ - i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config, - sizeof(expansion_config)); - - /* retry reading configuration data with 16bit addressing */ - if ((expansion_config.device_vendor == 0xFFFFFF00) || - (expansion_config.device_vendor == 0xFFFFFFFF)) { - printf("EEPROM is blank or 8bit addressing failed: retrying with 16bit:\n"); - i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 2, (u8 *)&expansion_config, - sizeof(expansion_config)); - } - - i2c_set_bus_num(TWL4030_I2C_BUS); - - return expansion_config.device_vendor; -} - #ifdef CONFIG_VIDEO_OMAP3 /* * Configure DSS to display background color on DVID @@ -233,18 +100,7 @@ static unsigned int get_expansion_id(void) static void beagle_display_init(void) { omap3_dss_venc_config(&venc_config_std_tv, VENC_HEIGHT, VENC_WIDTH); - switch (get_board_revision()) { - case REVISION_AXBX: - case REVISION_CX: - case REVISION_C4: - omap3_dss_panel_config(&dvid_cfg); - break; - case REVISION_XM_AB: - case REVISION_XM_C: - default: - omap3_dss_panel_config(&dvid_cfg_xm); - break; - } + omap3_dss_panel_config(&dvid_cfg_xm); } /* @@ -253,30 +109,16 @@ static void beagle_display_init(void) static void beagle_dvi_pup(void) { uchar val; + #define GPIODATADIR1 (TWL4030_BASEADD_GPIO+3) + #define GPIODATAOUT1 (TWL4030_BASEADD_GPIO+6) - switch (get_board_revision()) { - case REVISION_AXBX: - case REVISION_CX: - case REVISION_C4: - gpio_request(170, ""); - gpio_direction_output(170, 0); - gpio_set_value(170, 1); - break; - case REVISION_XM_AB: - case REVISION_XM_C: - default: - #define GPIODATADIR1 (TWL4030_BASEADD_GPIO+3) - #define GPIODATAOUT1 (TWL4030_BASEADD_GPIO+6) - - i2c_read(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); - val |= 4; - i2c_write(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); + i2c_read(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); + val |= 4; + i2c_write(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); - i2c_read(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); - val |= 4; - i2c_write(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); - break; - } + i2c_read(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); + val |= 4; + i2c_write(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); } #endif @@ -319,149 +161,19 @@ int misc_init_r(void) /* Enable i2c2 pullup resisters */ writel(~(PRG_I2C2_PULLUPRESX), &prog_io_base->io1); + printf("Olio H1\n"); + setenv("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); - switch (get_board_revision()) { - case REVISION_AXBX: - printf("Beagle Rev Ax/Bx\n"); - setenv("beaglerev", "AxBx"); - break; - case REVISION_CX: - printf("Beagle Rev C1/C2/C3\n"); - setenv("beaglerev", "Cx"); - MUX_BEAGLE_C(); - break; - case REVISION_C4: - printf("Beagle Rev C4\n"); - setenv("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"); - setenv("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); - break; - case REVISION_XM_C: - printf("Beagle xM Rev C\n"); - setenv("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); - 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); - } - - 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(); - setenv("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(); - setenv("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(); - setenv("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 */ - setenv("defaultdisplay", "showdoglcd"); - setenv("buddy", "showdog"); - break; - case KBADC_BEAGLEFPGA: - printf("Recognized KBADC Beagle FPGA board\n"); - MUX_KBADC_BEAGLEFPGA(); - setenv("buddy", "beaglefpga"); - break; - case LW_BEAGLETOUCH: - printf("Recognized Liquidware BeagleTouch board\n"); - setenv("buddy", "beagletouch"); - break; - case BRAINMUX_LCDOG: - printf("Recognized Brainmux LCDog board\n"); - setenv("buddy", "lcdog"); - break; - case BRAINMUX_LCDOGTOUCH: - printf("Recognized Brainmux LCDog Touch board\n"); - setenv("buddy", "lcdogtouch"); - break; - case BBTOYS_WIFI: - printf("Recognized BeagleBoardToys WiFi board\n"); - MUX_BBTOYS_WIFI() - setenv("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() - setenv("buddy", "lsr-com6l-adpt"); - break; - case BEAGLE_NO_EEPROM: - printf("No EEPROM on expansion board\n"); - setenv("buddy", "none"); - break; - default: - printf("Unrecognized expansion board: %x\n", - expansion_config.device_vendor); - setenv("buddy", "unknown"); - } - - if (expansion_config.content == 1) - setenv(expansion_config.env_var, expansion_config.env_setting); + setenv("buddy", "none"); 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; - } + twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON); /* Set GPIO states before they are made outputs */ writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1, diff --git a/include/configs/omap3_h1.h b/include/configs/omap3_h1.h index 265cdc36f..3c7255f39 100644 --- a/include/configs/omap3_h1.h +++ b/include/configs/omap3_h1.h @@ -17,7 +17,7 @@ */ #define CONFIG_OMAP 1 /* in a TI OMAP core */ #define CONFIG_OMAP34XX 1 /* which is a 34XX */ -#define CONFIG_OMAP3_H1 1 /* working with BEAGLE */ +#define CONFIG_OMAP3_H1 1 /* working with H1 board */ #define CONFIG_OMAP_GPIO #define CONFIG_OMAP_COMMON @@ -190,7 +190,7 @@ /* devices */ /* Environment information */ -#define CONFIG_BOOTDELAY 3 +#define CONFIG_BOOTDELAY 5 #define CONFIG_EXTRA_ENV_SETTINGS \ "loadaddr=0x80200000\0" \ @@ -262,7 +262,7 @@ "root=${ramroot} " \ "rootfstype=${ramrootfstype}\0" \ "loadramdisk=load mmc ${bootpart} ${rdaddr} ${bootdir}/${ramdisk}\0" \ - "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ + "loadimage=fatload mmc ${bootpart} ${loadaddr} ${bootfile}\0" \ "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ "mmcboot=echo Booting from mmc ...; " \ "run mmcargs; " \ @@ -316,7 +316,7 @@ */ #define CONFIG_SYS_LONGHELP /* undef to save memory */ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ -#define CONFIG_SYS_PROMPT "OMAP3 beagleboard.org # " +#define CONFIG_SYS_PROMPT "Olio H1 # " #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ /* Print Buffer Size */ #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ |