/* * Print PBS Result */ int ddr3_tip_print_pbs_result(u32 dev_num, u32 cs_num, enum pbs_dir pbs_mode) { u32 data_value = 0, bit = 0, if_id = 0, pup = 0; u32 reg_addr = (pbs_mode == PBS_RX_MODE) ? (PBS_RX_PHY_REG + cs_num * 0x10) : (PBS_TX_PHY_REG + cs_num * 0x10); struct hws_topology_map *tm = ddr3_get_topology_map(); printf("CS%d, %s ,PBS\n", cs_num, (pbs_mode == PBS_RX_MODE) ? "Rx" : "Tx"); for (bit = 0; bit < BUS_WIDTH_IN_BITS; bit++) { printf("%s, DQ", (pbs_mode == PBS_RX_MODE) ? "Rx" : "Tx"); for (if_id = 0; if_id <= MAX_INTERFACE_NUM - 1; if_id++) { VALIDATE_ACTIVE(tm->if_act_mask, if_id); printf("%d ,PBS,,, ", bit); for (pup = 0; pup <= tm->num_of_bus_per_interface; pup++) { VALIDATE_ACTIVE(tm->bus_act_mask, pup); CHECK_STATUS(ddr3_tip_bus_read (dev_num, if_id, ACCESS_TYPE_UNICAST, pup, DDR_PHY_DATA, reg_addr + bit, &data_value)); printf("%d , ", data_value); } } printf("\n"); } printf("\n"); return MV_OK; }
/* * Print PBS Result */ int ddr3_tip_print_pbs_result(u32 dev_num, u32 cs_num, enum pbs_dir pbs_mode) { u32 data_value = 0, bit = 0, if_id = 0, pup = 0; u32 reg_addr = (pbs_mode == PBS_RX_MODE) ? PBS_RX_PHY_REG(cs_num, 0) : PBS_TX_PHY_REG(cs_num , 0); u32 octets_per_if_num = ddr3_tip_dev_attr_get(dev_num, MV_ATTR_OCTET_PER_INTERFACE); struct mv_ddr_topology_map *tm = mv_ddr_topology_map_get(); printf("%s,CS%d,PBS,ADLLRATIO,,,", (pbs_mode == PBS_RX_MODE) ? "Rx" : "Tx", cs_num); for (if_id = 0; if_id < MAX_INTERFACE_NUM; if_id++) { VALIDATE_IF_ACTIVE(tm->if_act_mask, if_id); for (pup = 0; pup < octets_per_if_num; pup++) { VALIDATE_BUS_ACTIVE(tm->bus_act_mask, pup); printf("%d,", pbsdelay_per_pup[pbs_mode][if_id][pup][cs_num]); } } printf("CS%d, %s ,PBS\n", cs_num, (pbs_mode == PBS_RX_MODE) ? "Rx" : "Tx"); for (bit = 0; bit < BUS_WIDTH_IN_BITS; bit++) { printf("%s, DQ", (pbs_mode == PBS_RX_MODE) ? "Rx" : "Tx"); for (if_id = 0; if_id <= MAX_INTERFACE_NUM - 1; if_id++) { VALIDATE_IF_ACTIVE(tm->if_act_mask, if_id); printf("%d ,PBS,,, ", bit); for (pup = 0; pup <= octets_per_if_num; pup++) { VALIDATE_BUS_ACTIVE(tm->bus_act_mask, pup); CHECK_STATUS(ddr3_tip_bus_read (dev_num, if_id, ACCESS_TYPE_UNICAST, pup, DDR_PHY_DATA, reg_addr + bit, &data_value)); printf("%d , ", data_value); } } printf("\n"); } printf("\n"); return MV_OK; }