TS-7250-V3 TS-SER4: Difference between revisions

From embeddedTS Manuals
m (Links auto-updated for 2022 re-branding ( http://www.embeddedarm.com/products/board-detail.php?product=TS-SER4 →‎ http://www.embeddedTS.com/products/board-detail.php?product=TS-SER4))
No edit summary
Line 14: Line 14:
The TS-SER4 implements 16550A based UARTs which require a kernel driver.  Under Linux this requires a device tree change.  See the [[#Compile the kernel|Kernel compile section]] for more details about getting set up the compile the kernel.
The TS-SER4 implements 16550A based UARTs which require a kernel driver.  Under Linux this requires a device tree change.  See the [[#Compile the kernel|Kernel compile section]] for more details about getting set up the compile the kernel.


This below example will set up the serial devices for a TS-SER4 with the IRQ2,IRQ6, and COM1 jumpers installed.  Open the device tree at arch/arm/boot/dts/imx6ul-ts7250v3.dts.  Add the highlighted section to the device tree and recompile.
This below example will set up the serial devices for a TS-SER4 with the IRQ2, IRQ4 (selects IRQ6), and COM1 jumpers installed.  Open the device tree at arch/arm/boot/dts/imx6ul-ts7250v3.dts.  Add the highlighted section to the device tree and recompile.
<source lang=json highlight="13-55" line>
<source lang=json highlight="13-55" line>
pc104bus: fpgaisa@50 {
pc104bus: fpgaisa@50 {

Revision as of 16:11, 4 October 2022

TS-SER4
Ts-ser4.jpg
Product Page
8-bit IO

The TS-SER4 supports 4 UARTs as RS-232, RS-485, or RS-422. Refer to the TS-SER4 manual for hardware documentation.

The TS-SER4 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.

This below example will set up the serial devices for a TS-SER4 with the IRQ2, IRQ4 (selects IRQ6), and COM1 jumpers installed. Open the device tree at arch/arm/boot/dts/imx6ul-ts7250v3.dts. Add the highlighted section to the device tree and recompile.

pc104bus: fpgaisa@50 {
	compatible = "technologic,pc104-bus";
	reg = <0x50 0x4>;

	ranges = <0 0 0x1000>;
	reset-gpio = <&gpio3 7 0>;

	#address-cells = <0x1>;
	#size-cells = <0x1>;

	status = "okay";

	/* COMA */
	ts16550@3f8 {
		compatible = "technologic,ts16550";

		reg = <0x3f8 8>;
		interrupt-parent = <&fpga_intc>;
		interrupts = <15>;

		status = "okay";
	};

	/* COMB */
	ts16550@2f8 {
		compatible = "technologic,ts16550";

		reg = <0x2f8 8>;
		interrupt-parent = <&fpga_intc>;
		interrupts = <15>;

		status = "okay";
	};

	/* COMC */
	ts16550@3e8 {
		compatible = "technologic,ts16550";

		reg = <0x3e8 8>;
		interrupt-parent = <&fpga_intc>;
		interrupts = <15>;

		status = "okay";
	};

	/* COMD */
	ts16550@2e8 {
		compatible = "technologic,ts16550";

		reg = <0x2e8 8>;
		interrupt-parent = <&fpga_intc>;
		interrupts = <15>;

		status = "okay";
	};
};

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
[    2.268166] ts16550 50004050.fpgaisa:ts16550@2f8: Adding 16550 UART ttyS1
[    2.278539] ts16550 50004050.fpgaisa:ts16550@3e8: Adding 16550 UART ttyS2
[    2.287455] ts16550 50004050.fpgaisa:ts16550@2e8: Adding 16550 UART ttyS3

Now that these are loaded:

Device Description
/dev/ttyS0 COMA
/dev/ttyS1 COMB
/dev/ttyS3 COMC
/dev/ttyS4 COMD