ret = of_property_read_u32_index(np, "fsl,tx-timeslot-mask", 0, &val); if (ret) {
pr_err("QE-TDM: Invalid tx-timeslot-mask property\n"); return -EINVAL;
}
utdm->tx_ts_mask = val;
ret = of_property_read_u32_index(np, "fsl,rx-timeslot-mask", 0, &val); if (ret) {
ret = -EINVAL;
pr_err("QE-TDM: Invalid rx-timeslot-mask property\n"); return ret;
}
utdm->rx_ts_mask = val;
ret = of_property_read_u32_index(np, "fsl,tdm-id", 0, &val); if (ret) {
ret = -EINVAL;
pr_err("QE-TDM: No fsl,tdm-id property for this UCC\n"); return ret;
}
utdm->tdm_port = val;
ut_info->uf_info.tdm_num = utdm->tdm_port;
if (of_property_read_bool(np, "fsl,tdm-internal-loopback"))
utdm->tdm_mode = TDM_INTERNAL_LOOPBACK; else
utdm->tdm_mode = TDM_NORMAL;
sprop = of_get_property(np, "fsl,tdm-framer-type", NULL); if (!sprop) {
ret = -EINVAL;
pr_err("QE-TDM: No tdm-framer-type property for UCC\n"); return ret;
}
ret = set_tdm_framer(sprop); if (ret < 0) return -EINVAL;
utdm->tdm_framer_type = ret;
ret = of_property_read_u32_index(np, "fsl,siram-entry-id", 0, &val); if (ret) {
ret = -EINVAL;
pr_err("QE-TDM: No siram entry id for UCC\n"); return ret;
}
utdm->siram_entry_id = val;
if (ut_info->si_info.simr_crt)
sixmr |= SIMR_CRT; if (ut_info->si_info.simr_sl)
sixmr |= SIMR_SL; if (ut_info->si_info.simr_ce)
sixmr |= SIMR_CE; if (ut_info->si_info.simr_fe)
sixmr |= SIMR_FE; if (ut_info->si_info.simr_gm)
sixmr |= SIMR_GM;
switch (tdm_port) { case 0:
iowrite16be(sixmr, &si_regs->sixmr1[0]); break; case 1:
iowrite16be(sixmr, &si_regs->sixmr1[1]); break; case 2:
iowrite16be(sixmr, &si_regs->sixmr1[2]); break; case 3:
iowrite16be(sixmr, &si_regs->sixmr1[3]); break; default:
pr_err("QE-TDM: can not find tdm sixmr reg\n"); break;
}
}
EXPORT_SYMBOL(ucc_tdm_init);
Messung V0.5
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.