To anybody that has experience with P1020 and TDM,
I have a question a question about TDM on P1020
I have the TDM working just fine on within Linux and trying to make it it work within vxWorks
I have put together the the TDM driver for vxWorks based on the Linux driver within your SDK and also based on P1020 QorIQ Reference Manual Rev.6 page# 1519
I do steps 1 thru 4 and based on item number 5 I have to read the TSR and RSR and wait for those to get on...
but they never do... Could you shed some light on this subject...
- Bring the chip out of reset.
- Program the TDM control registers-TDM RIR, TDM RFP, TDM TIR, TDM TFP,
and TDM GIR.
- Program all channel enable registers (TDM RCENn , TDM TCENn ) and transmit
channel mask registers (TDM TCMAn ) as disabled.
- Enable the TDM Rx and Tx by setting the TDM RCR[REN] and TDM TCR[TEN]
bits.
- Wait until TDM TSR[TENS] and TDM RSR[RENS] are set.
- If the TDM is serviced by:
- DMA transfer-immediately use a software started DMA channel to write data to
the Tx data register(s) (must be completed before two Tx frame syncs arrive
after enabling).
- Interrupts-immediately write data to the Tx data register(s) (must be completed
before two Tx frame syncs arrive after enabling).
- Follow the steps outlined in Dynamic channel configuration while TDM operating-shared,
to enable channels.
- All other writes and reads will be initiated by either an interrupt or a DMA request,
depending on the configuration.
On Linux TDM TSR and TDM RSR do get set
====================================
F519A000: 00000001 0000E241 0000E041 007F0030 .......A...A...0
F519A010: 007F0030 007F0030 007F0030 007F0030 ...0...0...0...0
F519A020: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F519A030: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F519A040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F519A050: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F519A060: 00000000 00000000 00000000 00000000 ................
F519A070: 00000000 00000000 00000000 00000000 ................
F519A080: 00000001 00000001 00000000 00000000 ................
F519A090: 00000000 00000000 00000000 00000000 ................
F519A0A0: 000001C0 000001C0 00000005 00000025 ...............%
On vxWorks instead of TSR and RSR I get 0x00000001 in Reserved fields marked in RED
==========================================================================
F3016000: 00000001 0000E241 0000E041 007F0030 .......A...A...0
F3016010: 007F0030 007F0030 007F0030 007F0030 ...0...0...0...0
F3016020: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F3016030: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F3016040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F3016050: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF ................
F3016060: 00000000 00000000 00000000 00000000 ................
F3016070: 00000000 00000000 00000000 00000000 ................
F3016080: 00000001 00000001 00000000 00000000 ................
F3016090: 00000001 00000001 00000001 00000001 ................
F30160A0: 00000000 00000000 00000000 00000000 ................
Could you shed some light on this subject...
Thanks,
Naum
Documentation for the P1020 does not have information about these reserved register.
Do you see incorrect behavior for your driver for the P1020 TDM?
Have a great day,
Pavel Chubakov
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------