summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiGang <b41990@freescale.com>2012-09-06 15:50:08 +0800
committerLiGang <b41990@freescale.com>2012-09-06 15:50:08 +0800
commit34424c323c0d4b3aa836bab449e3475ffe0bb59f (patch)
tree3e6f83fc62d751f7d2e9a846ca02a70a8bc940f5
parent794288699c9b66afdb1a39c84e65066c0c44d5f0 (diff)
downloadu-boot-imx-34424c323c0d4b3aa836bab449e3475ffe0bb59f.zip
u-boot-imx-34424c323c0d4b3aa836bab449e3475ffe0bb59f.tar.gz
u-boot-imx-34424c323c0d4b3aa836bab449e3475ffe0bb59f.tar.bz2
ENGR00222170: Add mx6sl_evk_android_config for mx6sl evk board
- mx6sl_evk_android.h is a new file, copied from mx6sl_arm2_android.h - set default sdio port as mmc1 Signed-off-by: LiGang <b41990@freescale.com>
-rw-r--r--Makefile1
-rw-r--r--board/freescale/mx6sl_evk/mx6sl_evk.c19
-rw-r--r--include/configs/mx6sl_evk_android.h78
3 files changed, 97 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index a6a4cd4..532d735 100644
--- a/Makefile
+++ b/Makefile
@@ -3363,6 +3363,7 @@ mx6sl_arm2_iram_config : unconfig
}
@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 mx6sl_arm2 freescale mx6
mx6sl_evk_config \
+mx6sl_evk_android_config \
mx6sl_evk_mfg_config \
mx6sl_evk_iram_config : unconfig
@[ -z "$(findstring iram_,$@)" ] || \
diff --git a/board/freescale/mx6sl_evk/mx6sl_evk.c b/board/freescale/mx6sl_evk/mx6sl_evk.c
index 85c3b61..089373e 100644
--- a/board/freescale/mx6sl_evk/mx6sl_evk.c
+++ b/board/freescale/mx6sl_evk/mx6sl_evk.c
@@ -97,7 +97,6 @@ static inline void setup_boot_device(void)
case 0x7:
boot_dev = MMC_BOOT;
break;
- break;
default:
boot_dev = UNKNOWN_BOOT;
break;
@@ -947,6 +946,24 @@ void setup_pmic_voltages(void)
if (i2c_read(0x8, 0, 1, &value, 1))
printf("%s:i2c_read:error\n", __func__);
printf("Found PFUZE100! device id=%x\n", value);
+ if (value == 0x10) {
+ /*workaround ER1 of pfuze1.0: set all buck regulators
+ in PWM mode except SW1C*/
+ value = 0x6;
+ i2c_write(0x8, 0x23, 1, &value, 1);/*SW1AB*/
+
+ value = 0x6;
+ i2c_write(0x8, 0x38, 1, &value, 1);/*SW2*/
+
+ value = 0x6;
+ i2c_write(0x8, 0x3f, 1, &value, 1);/*SW3A*/
+
+ value = 0x6;
+ i2c_write(0x8, 0x46, 1, &value, 1);/*SW3B*/
+
+ value = 0x6;
+ i2c_write(0x8, 0x4d, 1, &value, 1);/*SW4*/
+ }
#if CONFIG_MX6_INTER_LDO_BYPASS
/*VDDCORE 1.1V@800Mhz: SW1AB */
value = 0x20;
diff --git a/include/configs/mx6sl_evk_android.h b/include/configs/mx6sl_evk_android.h
new file mode 100644
index 0000000..a7f782b
--- /dev/null
+++ b/include/configs/mx6sl_evk_android.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2012 Freescale Semiconductor, Inc.
+ *
+ * Configuration settings for the MX6Q Sabre Lite2 Freescale board.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef MX6SL_EVK_ANDROID_H
+#define MX6SL_EVK_ANDROID_H
+
+#include <configs/mx6sl_evk.h>
+
+#define CONFIG_USB_DEVICE
+#define CONFIG_IMX_UDC 1
+#define CONFIG_FASTBOOT 1
+#define CONFIG_FASTBOOT_STORAGE_EMMC_SATA
+#define CONFIG_FASTBOOT_VENDOR_ID 0x18d1
+#define CONFIG_FASTBOOT_PRODUCT_ID 0x0d02
+#define CONFIG_FASTBOOT_BCD_DEVICE 0x311
+#define CONFIG_FASTBOOT_MANUFACTURER_STR "Freescale"
+#define CONFIG_FASTBOOT_PRODUCT_NAME_STR "i.mx6sl EVK Smart Device"
+#define CONFIG_FASTBOOT_INTERFACE_STR "Android fastboot"
+#define CONFIG_FASTBOOT_CONFIGURATION_STR "Android fastboot"
+#define CONFIG_FASTBOOT_SERIAL_NUM "12345"
+#define CONFIG_FASTBOOT_SATA_NO 0
+
+/* mx6sl ddr address starts from 0x80000000, not like mx6dl and mx6q
+* which start from 0x10000000
+* For system.img growing up more than 256MB, more buffer needs
+* to receive the system.img*/
+#define CONFIG_FASTBOOT_TRANSFER_BUF 0x8c000000
+#define CONFIG_FASTBOOT_TRANSFER_BUF_SIZE 0x14000000 /* 320M byte */
+
+
+#define CONFIG_CMD_BOOTI
+#define CONFIG_ANDROID_RECOVERY
+/* which mmc bus is your main storage ? */
+#define CONFIG_ANDROID_MAIN_MMC_BUS 0
+#define CONFIG_ANDROID_BOOT_PARTITION_MMC 1
+#define CONFIG_ANDROID_SYSTEM_PARTITION_MMC 5
+#define CONFIG_ANDROID_RECOVERY_PARTITION_MMC 2
+#define CONFIG_ANDROID_CACHE_PARTITION_MMC 6
+
+
+#define CONFIG_ANDROID_RECOVERY_BOOTARGS_MMC NULL
+#define CONFIG_ANDROID_RECOVERY_BOOTCMD_MMC \
+ "booti mmc1 recovery"
+#define CONFIG_INITRD_TAG
+
+#undef CONFIG_LOADADDR
+#undef CONFIG_RD_LOADADDR
+#undef CONFIG_EXTRA_ENV_SETTINGS
+
+#define CONFIG_LOADADDR 0x80800000 /* loadaddr env var */
+#define CONFIG_RD_LOADADDR 0x81000000
+
+#define CONFIG_INITRD_TAG
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "netdev=eth0\0" \
+ "ethprime=FEC0\0" \
+ "fastboot_dev=mmc1\0" \
+ "bootcmd=booti mmc1\0"
+#endif