summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Wilson <evan@oliodevices.com>2014-01-28 18:08:46 -0800
committerEvan Wilson <evan@oliodevices.com>2014-01-28 18:08:46 -0800
commitaf21deda1f57d73d01e0850900a8ff69a6350a16 (patch)
tree2930dd981a66bc6c2c6d2f57a06101e32aeaf208
parent4e76f9586b3afa2bbe33233334d705234ee2982b (diff)
downloadolio-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.c340
-rw-r--r--include/configs/omap3_h1.h8
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 + \