/*************************************************
 函 数 名   : BSP_MNTN_ProductTypeGet
 功能描述: 返回当前产品类型
 输入参数: 无
 输出参数: 无
 返 回 值   :
 		0:STICK
         1:MOD
         2:E5
         3:CPE
*************************************************/
BSP_U32 BSP_MNTN_ProductTypeGet(void)
{
    unsigned int id = 0xffffffff;
	eProductType product_type = PRODUCT_TYPE_STICK;	/* default to stick */

	id = (unsigned int)bsp_version_get_hwversion_index();

	if(HW_VER_INVALID==id){
		ver_print_error("[bsp_get_board_chip_type]:get hw version failed!hw_ver:0x%x\n",id);
		return product_type;
	}

	/* UDP默认返回stick形态 */
	if(HW_VER_UDP_MASK == (id & HW_VER_UDP_MASK))
	{
		return product_type;
	}

	/* 其他产品版,根据hakdc获取的形态返回 */
	switch((enum hkac_product_type)((id & HW_VER_PRODUCT_TYPE_MASK) >> HW_VER_PRODUCT_TYPE_OS))
	{
	case HKADC_PRODUCT_TYPE_E5:
		product_type = PRODUCT_TYPE_E5;
		break;

	case HKADC_PRODUCT_TYPE_STICK:
		product_type = PRODUCT_TYPE_STICK;
		break;

	case HKADC_PRODUCT_TYPE_PHONE:
		product_type = PRODUCT_TYPE_PHONE;
		break;

	case HKADC_PRODUCT_TYPE_PAD:
		product_type = PRODUCT_TYPE_PAD;
		break;

	case HKADC_PRODUCT_TYPE_MOD:
		product_type = PRODUCT_TYPE_MOD;
		break;

	case HKADC_PRODUCT_TYPE_CPE:
		product_type = PRODUCT_TYPE_CPE;
		break;

	default:/* default to stick */
		product_type = PRODUCT_TYPE_STICK;
		break;
	}

	return (BSP_U32)product_type;
}
XML_RESULT_ENUM_UINT32 xml_getproductid(void)
{
	s32    lproductid;

	/* 清空内存 */
	memset(xml_ctrl.g_stlxmlproductinfo.acproductid, 0, XML_MAX_HARDWARE_LEN);

	/* 取得当前单板的Product id */
	lproductid=  bsp_version_get_hwversion_index();/*get hardware version*/

	xml_ctrl.g_stlxmlproductid = lproductid;

    /* coverity[secure_coding] */
    /*sprintf(xml_ctrl.g_stlxmlproductinfo.acproductid,"%d",lproductid);*/
    /*fastboot 无字符串格式化接口*/
    xml_productid_format(lproductid);
    return XML_RESULT_SUCCEED;
}
Пример #3
0
/*****************************************************************************
* 函数	: bsp_get_board_chip_type
* 功能	: get board type and chip type
* 输入	: void
* 输出	: void
* 返回	: BOARD_TYPE_E
*****************************************************************************/
u32 bsp_version_get_board_chip_type(void)
{
    unsigned int type = 0xffffffff;
	type = (u32)bsp_version_get_hwversion_index();

	if(HW_VER_INVALID==type){
		ver_print_error("[bsp_get_board_chip_type]:get hw version failed!hw_ver:0x%x\n",type);
		return type;
	}

	/*若为udp,只返回UDP硬件版本号,屏蔽射频扣板信息*/
	if(HW_VER_UDP_MASK==(type & HW_VER_UDP_MASK)){
		return HW_VER_PRODUCT_UDP;
	}

	/*若为k3v3UDP,只返回UDP硬件版本号*/
	if(HW_VER_K3V3_UDP_MASK == (type & HW_VER_K3V3_UDP_MASK)){
		return HW_VER_K3V3_UDP;
	}

	/*若为k3v3FPGA,只返回FPGA硬件版本号*/
	if(HW_VER_K3V3_FPGA_MASK == (type & HW_VER_K3V3_FPGA_MASK)){
		return HW_VER_K3V3_FPGA;
	}

	
	/*若为k3v3 plus,只返回UDP硬件版本号*/
	if(HW_VER_K3V3_PLUS_UDP_MASK == (type & HW_VER_K3V3_PLUS_UDP_MASK)){
		return HW_VER_K3V3_UDP;/*暂时适配,后续删除*/
	}

	if(HW_VER_V711_UDP_MASK == (type & HW_VER_V711_UDP_MASK)){
		return HW_VER_V711_UDP;
	}

	return type;
}