^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) SA1100 serial port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ==================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) The SA1100 serial port had its major/minor numbers officially assigned::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) > Date: Sun, 24 Sep 2000 21:40:27 -0700
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) > From: H. Peter Anvin <hpa@transmeta.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) > To: Nicolas Pitre <nico@CAM.ORG>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) > Cc: Device List Maintainer <device@lanana.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) > Subject: Re: device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) > Okay. Note that device numbers 204 and 205 are used for "low density
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) > serial devices", so you will have a range of minors on those majors (the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) > tty device layer handles this just fine, so you don't have to worry about
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) > doing anything special.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) > So your assignments are:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) > 204 char Low-density serial ports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) > 5 = /dev/ttySA0 SA1100 builtin serial port 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) > 6 = /dev/ttySA1 SA1100 builtin serial port 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) > 7 = /dev/ttySA2 SA1100 builtin serial port 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) > 205 char Low-density serial ports (alternate device)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) > 5 = /dev/cusa0 Callout device for ttySA0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) > 6 = /dev/cusa1 Callout device for ttySA1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) > 7 = /dev/cusa2 Callout device for ttySA2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) You must create those inodes in /dev on the root filesystem used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) by your SA1100-based device::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) mknod ttySA0 c 204 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) mknod ttySA1 c 204 6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) mknod ttySA2 c 204 7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) mknod cusa0 c 205 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) mknod cusa1 c 205 6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) mknod cusa2 c 205 7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) In addition to the creation of the appropriate device nodes above, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) must ensure your user space applications make use of the correct device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) name. The classic example is the content of the /etc/inittab file where
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) you might have a getty process started on ttyS0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) In this case:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) - replace occurrences of ttyS0 with ttySA0, ttyS1 with ttySA1, etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - don't forget to add 'ttySA0', 'console', or the appropriate tty name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) in /etc/securetty for root to be allowed to login as well.