TS-7250-V3 TS-MULTI-104

From embeddedTS Manuals
TS-MULTI-104
TS-MULTI-104.jpg
Product Page
8-bit IO

The TS-MULTI-104 supports serial based Multitech Socketmodems for cellular support.

This peripheral implements 16550A based UARTs which require a kernel driver. Under Linux this requires a device tree change. See the Kernel compile section for more details about getting set up the compile the kernel.

In general for 16550 UARTs we recommend these kernel config options:

CONFIG_HZ_PERIODIC=y
CONFIG_HZ_1000=y
CONFIG_SERIAL_8250_TS=y

The default kernel is ideal for low power, but has some tradeoffs with latency. A 16550 only has a 16 byte FIFO and needs to be serviced with relatively low latency, so a the above options make the latency far more deterministic. These changes are necessary to run at 115200 and not drop any data.

This below example will set up the serial devices for a TS-MULT-104 with the IRQ6, COM1, and 1.8MHz jumpers installed. Open the device tree at arch/arm/boot/dts/imx6ul-ts7250v3.dtsi. Add the highlighted section to the device tree and recompile.

pc104bus: fpgaisa@50 {
    ...
	#address-cells = <0x1>;
	#size-cells = <0x1>;

	/* TS-MULTI-104 */
	ts16550@3f8 {
		compatible = "technologic,ts16550";

		reg = <0x3f8 8>;
		interrupt-parent = <&fpga_intc>;
		interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; // IRQ 6
	};
};

On the next boot check the "dmesg" output to verify it loaded:

root@tsimx6:~# dmesg | grep ts16550
[    2.259413] ts16550 50004050.fpgaisa:ts16550@3f8: Adding 16550 UART ttyS0

The device node /dev/ttyS0 can be used to access this UART. As a simple test: picocom -b 115200 /dev/ttyS0

Type in "ATI" and press enter. This should return the cell radio name, and "OK".

For cell modems requiring the 921600 baud rate, remove the 1.8MHz jumper and in the device tree add uartclk = <14745600>; after specifying the interrupts. This will allow Linux to request the baud rate 921600.

The TS-MULTI-104 manual has a second on setting up pppd with tmobile, but refer to your specific modem's documentation for more information on setting up a connection specific to your modem/carrier.

The power to this modem is also under user control. By default, the modem will be powered.

# Turn off Cell modem power
pc104_peekpoke io 8 0x140 0x1

# Turn modem back on:
pc104_peekpoke io 8 0x140 0x0