Merge remote-tracking branch 'gfiber-internal/prism_dev' into mergeprism2
diff --git a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.c b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.c
index ccb59e4..ef83280 100644
--- a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.c
+++ b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.c
@@ -1434,11 +1434,11 @@
MV_BOARD_MPP_INFO gflt110InfoBoardMppConfigValue[] = {
{{
- RD_88F6601_MPP0_7,
- RD_88F6601_MPP8_15,
- RD_88F6601_MPP16_23,
- RD_88F6601_MPP24_31,
- RD_88F6601_MPP32_37
+ GFLT110_MPP0_7,
+ GFLT110_MPP8_15,
+ GFLT110_MPP16_23,
+ GFLT110_MPP24_31,
+ GFLT110_MPP32_37
}
}
};
@@ -1456,8 +1456,25 @@
}
};
*/
+
+static MV_VOID gflt110BoardEgigaPhyInit(MV_BOARD_INFO *pBoardInfo)
+{
+ MV_U16 value = 0;
+
+ /* pass led control to internal phy */
+ MV_REG_WRITE(LED_MATRIX_CTRL_REG(0), 0x82);
+ /* link = mpp 25 = C0_LED = phy led[0] */
+ /* activity = mpp 26 = C1_LED = phy led[1] */
+ mvEthPhyRegWrite(0, 22, 3);
+ mvEthPhyRegRead(0, 16, &value);
+ value = (value & ~0xff) | 0x37;
+ mvEthPhyRegWrite(0, 16, value);
+ mvEthPhyRegWrite(0, 22, 0);
+}
+
MV_BOARD_INFO gflt110Info = {
.boardName = "GFLT110",
+ .pBoardEgigaPhyInit = gflt110BoardEgigaPhyInit,
.numBoardMppTypeValue = MV_ARRAY_SIZE(gflt110InfoBoardMppTypeInfo),
.pBoardMppTypeValue = gflt110InfoBoardMppTypeInfo,
.numBoardMppConfigValue = MV_ARRAY_SIZE(gflt110InfoBoardMppConfigValue),
diff --git a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.h b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.h
index 8628031..a237696 100644
--- a/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.h
+++ b/board/mv_feroceon/mv_kw2/kw2_family/boardEnv/mvBoardEnvSpec.h
@@ -538,7 +538,7 @@
#define GFLT110_MPP0_7 0x22222220
#define GFLT110_MPP8_15 0x00000002
#define GFLT110_MPP16_23 0x00400000
-#define GFLT110_MPP24_31 0x00200650
+#define GFLT110_MPP24_31 0x00200550
#define GFLT110_MPP32_37 0x00000000
/* GPPs
diff --git a/board/mv_feroceon/mv_kw2/mv_main.c b/board/mv_feroceon/mv_kw2/mv_main.c
index 4557cc4..f2dd23b 100644
--- a/board/mv_feroceon/mv_kw2/mv_main.c
+++ b/board/mv_feroceon/mv_kw2/mv_main.c
@@ -378,6 +378,44 @@
return;
}
+
+// Try to be compatible with both ginstall and prisminstall.
+// Prismintall sets a BOOT_SIDE sysvar, and ginstall sets
+// ACTIVATED_KERNEL_NAME, which is the same as the TV boxes.
+static void set_boot_variables() {
+ // Try to get the boot partition, either from BOOT_SIDE
+ // (set by prisminstall) or ACTIVATED_KERNEL_NAME (set by ginstall)
+ // First look for BOOT_SIDE.
+ char value[SYSVAR_VALUE];
+ if (sf_getvar("BOOT_SIDE", value, SYSVAR_VALUE) == 0) {
+ printf("BOOT_SIDE = %s ", value);
+ if (value[0] == '2' && value[1] == '\0') {
+ printf("Boot from MTD image2 ...\n");
+ setenv("bootcmd","sf read "LOAD_ADDR_STR" 0xF80000 0xE00000;"
+ "setenv bootargs ${console} ${mtdparts} debug=1 ${mvNetConfig} ${mvPhoneConfig};"
+ "bootm "LOAD_ADDR_STR";");
+ return;
+ }
+ if (value[0] == '1' && value[1] == '\0') {
+ printf("Boot from MTD image1 ...\n");
+ setenv("bootcmd","sf read "LOAD_ADDR_STR" 0x180000 0xE00000;"
+ "setenv bootargs ${console} ${mtdparts} debug=1 ${mvNetConfig} ${mvPhoneConfig};"
+ "bootm "LOAD_ADDR_STR";");
+ return;
+ }
+ }
+
+ // Now look for ACTIVATED_KERNEL_NAME. Setenv that value and the bootscript
+ // will branch to the right boot location.
+ if (sf_getvar("ACTIVATED_KERNEL_NAME", value, SYSVAR_VALUE) == 0) {
+ setenv("ACTIVATED_KERNEL_NAME", value);
+ } else {
+ setenv("ACTIVATED_KERNEL_NAME", "kernel0");
+ }
+ return;
+}
+
+
void misc_init_r_env(void){
char *env;
char tmp_buf[10];
@@ -742,22 +780,7 @@
ip=${ipaddr}:${serverip}${bootargs_end};bootm "LOAD_ADDR_STR";");
#endif
- char value[SYSVAR_VALUE];
- if (sf_getvar("BOOT_SIDE", value, SYSVAR_VALUE) == 0) {
- printf("BOOT_SIDE = %s ", value);
- if (value[0] == '2' && value[1] == '\0') {
- printf("Boot from MTD image2 ...\n");
- setenv("bootcmd","sf read "LOAD_ADDR_STR" 0xF80000 0xE00000;\
-setenv bootargs ${console} ${mtdparts} debug=1 ${mvNetConfig} ${mvPhoneConfig};\
-bootm "LOAD_ADDR_STR";");
- }
- else if (value[0] == '1' && value[1] == '\0') {
- printf("Boot from MTD image1 ...\n");
- setenv("bootcmd","sf read "LOAD_ADDR_STR" 0x180000 0xE00000;\
-setenv bootargs ${console} ${mtdparts} debug=1 ${mvNetConfig} ${mvPhoneConfig};\
-bootm "LOAD_ADDR_STR";");
- }
- }
+ set_boot_variables();
#endif /* (CONFIG_BOOTDELAY >= 0) */
env = getenv("standalone");