Hello,
On a MPC8321, i'm trying to get UCC5 to work in uart mode (with linux).
When i try to send a message, Tx pin is activated (high) but never actually transmit data, ready bit never go down.
CTS is high, but pio is configured as GPIO, so it shouldn't matter, right ?
In loopback mode (GUMR_L[DIAG] = 0x01), it doesn't seem to get any better.
The following configuration is used in dts :
ucc5pio:ucc_pin@05 {
pio-map = <
2 0 1 0 2 0 /* TxD5 */
2 8 2 0 2 0 /* RxD5 */
2 29 2 0 0 0 /* CTS5 */
2 31 1 0 0 0 /* RTS5 */
>;
};
ucc@2400 {
device_type = "serial";
compatible = "ucc_uart";
cell-index = <5>; /* The UCC number, 1-7*/
port-number = <0>; /* Which ttyQEx device */
//soft-uart; /* We need Soft-UART */
reg = <0x2400 0x200>;
interrupts = <40>; /* From Table 18-12 */
interrupt-parent = < &qeic >;
/*
* For Soft-UART, we need to set TX to 1X, which
* means specifying separate clock sources.
*/
rx-clock-name = "brg6";
tx-clock-name = "brg5";
pio-handle = < &ucc5pio >;
};
Is there something i'm missing out ?
regards
Well my problem is still not resolved.
I've tried using UCC3 in loopback mode, but i hang at the same point, ready bit never go down.
Checking set up of the driver, I've noticed that programming sequence with soft-uart patch does not follow what's described in SOFTUARTUCODERN_0_1_2.pdf (Table 0-6) :
0x94 SoftUART_RxState Word QE internal, initialize to 0x04
0x9D SoftUART_RxBitmark Byte QE internal, initialize to 0x7
both are initialized to 0 in linux drivers (ucc_uart.c line 722).
Is this a mistake or is there some other document provinding instruction for using soft_uart microcode that I've missed ?
regards,
Marc