diff options
author | aurla000 <apparao.urla@stericsson.com> | 2011-09-26 15:20:00 +0530 |
---|---|---|
committer | Preetham-rao K <preetham.rao@stericsson.com> | 2011-09-29 05:10:25 +0200 |
commit | abdfc6de651588ffa6f415ec198e7dc7a5be02e7 (patch) | |
tree | 0bc531943d5644a25a6fbf23418ff13960f8e535 | |
parent | 0cfce97848aa20dd431b11f66a063d92a2750daf (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.c | 6 | ||||
-rw-r--r-- | cpu/arm_cortexa9/db5500/itp.c | 6 | ||||
-rw-r--r-- | include/asm-arm/arch-db5500/itp.h | 3 |
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__ */ |