aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraurla000 <apparao.urla@stericsson.com>2011-09-26 15:20:00 +0530
committerPreetham-rao K <preetham.rao@stericsson.com>2011-09-29 05:10:25 +0200
commitabdfc6de651588ffa6f415ec198e7dc7a5be02e7 (patch)
tree0bc531943d5644a25a6fbf23418ff13960f8e535
parent0cfce97848aa20dd431b11f66a063d92a2750daf (diff)
u5500:Read cspsa bit to check modem type
Add support to read cspsa bit and set the boot args to kernel to identify modem type. ST-Ericsson ID: 337490 ST-Ericsson FOSS-OUT ID: NA ST-Ericsson Linux next: NA Signed-off-by: aurla000 <apparao.urla@stericsson.com> Change-Id: Id5f6f1747d1568bb49ccf66fba8b7cc29ec10ede Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31963 Reviewed-by: Seshagiri HOLI <seshagiri.holi@stericsson.com> Tested-by: Seshagiri HOLI <seshagiri.holi@stericsson.com> Reviewed-by: QATOOLS Reviewed-by: Preetham-rao K <preetham.rao@stericsson.com>
-rw-r--r--board/st-ericsson/u5500/u5500.c6
-rw-r--r--cpu/arm_cortexa9/db5500/itp.c6
-rw-r--r--include/asm-arm/arch-db5500/itp.h3
3 files changed, 14 insertions, 1 deletions
diff --git a/board/st-ericsson/u5500/u5500.c b/board/st-ericsson/u5500/u5500.c
index ab5c1b552..8f162c58f 100644
--- a/board/st-ericsson/u5500/u5500.c
+++ b/board/st-ericsson/u5500/u5500.c
@@ -354,6 +354,12 @@ int board_late_init(void)
/* init keypad */
init_keypad();
#endif /* CONFIG_U5500_KEYPAD */
+
+ if (itp_is_lbp_modem_in_config())
+ setenv("modem_boot_type", "itp");
+ else
+ setenv("modem_boot_type", "normal");
+
return 0;
}
#endif /* BOARD_LATE_INIT */
diff --git a/cpu/arm_cortexa9/db5500/itp.c b/cpu/arm_cortexa9/db5500/itp.c
index 5f20b9849..335410823 100644
--- a/cpu/arm_cortexa9/db5500/itp.c
+++ b/cpu/arm_cortexa9/db5500/itp.c
@@ -47,6 +47,10 @@ int itp_is_modem_in_config(void)
return cspsa_key & ITP_LOAD_MODEM;
}
+int itp_is_lbp_modem_in_config(void)
+{
+ return cspsa_key & ITP_LOAD_MODEM_LBP;
+}
int itp_read_config(block_dev_desc_t *block_dev)
{
@@ -63,6 +67,8 @@ int itp_read_config(block_dev_desc_t *block_dev)
printf("load modem ");
if (cspsa_key & ITP_LOAD_ITP)
printf("load itp ");
+ if (cspsa_key & ITP_LOAD_MODEM_LBP)
+ printf("load modem in lbp mode ");
}
printf("\n");
return 0;
diff --git a/include/asm-arm/arch-db5500/itp.h b/include/asm-arm/arch-db5500/itp.h
index 33ab6dfd2..5a01f3186 100644
--- a/include/asm-arm/arch-db5500/itp.h
+++ b/include/asm-arm/arch-db5500/itp.h
@@ -14,6 +14,7 @@
#define ITP_LOAD_KERNEL 0x01
#define ITP_LOAD_MODEM 0x02
#define ITP_LOAD_ITP 0x04
+#define ITP_LOAD_MODEM_LBP 0x08
#define ITP_CSPSA_KEY 0
@@ -21,5 +22,5 @@ int itp_is_itp_in_config(void);
int itp_is_modem_in_config(void);
int itp_read_config(block_dev_desc_t *block_dev);
int itp_load_itp(block_dev_desc_t *block_dev);
-
+int itp_is_lbp_modem_in_config(void);
#endif /* __ITP_H__ */