summaryrefslogtreecommitdiffstats
path: root/sys/boot
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2013-08-21 14:33:02 +0000
committerian <ian@FreeBSD.org>2013-08-21 14:33:02 +0000
commit13ce4e66a1bca0366fbfd59ac247c90903fbccbd (patch)
tree65abce488aee09faa6bb84b4d4accd161b605cbb /sys/boot
parent29f631efba73763ec8798a40c3ff8ca7dee4e9ff (diff)
downloadFreeBSD-src-13ce4e66a1bca0366fbfd59ac247c90903fbccbd.zip
FreeBSD-src-13ce4e66a1bca0366fbfd59ac247c90903fbccbd.tar.gz
Add support for uarts other than the serial console in TI OMAP SoCs.
The TI uart hardware is ns16550-compatible, except that before it can be used the clocks and power have to be enabled and a non-standard mode control register has to be set to put the device in uart mode (as opposed to irDa or other serial protocols). This adds the extra code in an extension to the standard ns8250 probe routine, and the rest of the driver is just the standard ns8250 code.
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/fdt/dts/am335x.dtsi62
1 files changed, 59 insertions, 3 deletions
diff --git a/sys/boot/fdt/dts/am335x.dtsi b/sys/boot/fdt/dts/am335x.dtsi
index 1424518..8374d70 100644
--- a/sys/boot/fdt/dts/am335x.dtsi
+++ b/sys/boot/fdt/dts/am335x.dtsi
@@ -88,13 +88,69 @@
};
uart0: serial@44E09000 {
- compatible = "ns16550";
+ compatible = "ti,ns16550";
reg = <0x44E09000 0x1000>;
reg-shift = <2>;
interrupts = < 72 >;
interrupt-parent = <&AINTC>;
- clock-frequency = < 48000000 >; /* FIXME */
- };
+ clock-frequency = < 48000000 >;
+ uart-device-id = < 0 >;
+ };
+
+ uart1: serial@48022000 {
+ compatible = "ti,ns16550";
+ reg = <0x48022000 0x1000>;
+ reg-shift = <2>;
+ interrupts = < 73 >;
+ interrupt-parent = <&AINTC>;
+ clock-frequency = < 48000000 >;
+ uart-device-id = < 1 >;
+ status = "disabled";
+ };
+
+ uart2: serial@48024000 {
+ compatible = "ti,ns16550";
+ reg = <0x48024000 0x1000>;
+ reg-shift = <2>;
+ interrupts = < 74 >;
+ interrupt-parent = <&AINTC>;
+ clock-frequency = < 48000000 >;
+ uart-device-id = < 2 >;
+ status = "disabled";
+ };
+
+ uart3: serial@481a6000 {
+ compatible = "ti,ns16550";
+ reg = <0x481A6000 0x1000>;
+ reg-shift = <2>;
+ interrupts = < 44 >;
+ interrupt-parent = <&AINTC>;
+ clock-frequency = < 48000000 >;
+ uart-device-id = < 3 >;
+ status = "disabled";
+ };
+
+ uart4: serial@481a8000 {
+ compatible = "ti,ns16550";
+ reg = <0x481A8000 0x1000>;
+ reg-shift = <2>;
+ interrupts = < 45 >;
+ interrupt-parent = <&AINTC>;
+ clock-frequency = < 48000000 >;
+ uart-device-id = < 4 >;
+ status = "disabled";
+ };
+
+ uart5: serial@481aa000 {
+ compatible = "ti,ns16550";
+ reg = <0x481AA000 0x1000>;
+ reg-shift = <2>;
+ interrupts = < 46 >;
+ interrupt-parent = <&AINTC>;
+ clock-frequency = < 48000000 >;
+ uart-device-id = < 5 >;
+ status = "disabled";
+ };
edma3@49000000 {
compatible = "ti,edma3";
OpenPOWER on IntegriCloud