Commit 5b8c86b9 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'apple/m1-dependency' into arm/apple-m1



Pull in two dependency branches from the tty and arm64 trees
to make it possible to build all the remaining patches for
the Apple M1 series added next.

* apple/m1-dependency: (61 commits)
  arm64: irq: allow FIQs to be handled
  arm64: Always keep DAIF.[IF] in sync
  arm64: entry: factor irq triage logic into macros
  arm64: irq: rework root IRQ handler registration
  arm64: don't use GENERIC_IRQ_MULTI_HANDLER
  tty: serial: samsung_tty: Add earlycon support for Apple UARTs
  tty: serial: samsung_tty: Add support for Apple UARTs
  dt-bindings: serial: samsung: Add apple,s5l-uart compatible
  tty: serial: samsung_tty: Use devm_ioremap_resource
  tty: serial: samsung_tty: IRQ rework
  tty: serial: samsung_tty: Add s3c24xx_port_type
  tty: serial: samsung_tty: Separate S3C64XX ops structure
  tty: serial: samsung_tty: Add ucon_mask parameter
  ...

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 1e28eed1 847bea3d
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
@@ -289,7 +289,7 @@
		152 = /dev/kpoll	Kernel Poll Driver
		153 = /dev/mergemem	Memory merge device
		154 = /dev/pmu		Macintosh PowerBook power manager
		155 = /dev/isictl	MultiTech ISICom serial control
		155 =
		156 = /dev/lcd		Front panel LCD display
		157 = /dev/ac		Applicom Intl Profibus card
		158 = /dev/nwbutton	Netwinder external button
@@ -477,11 +477,6 @@
  18 block	Sanyo CD-ROM
		  0 = /dev/sjcd		Sanyo CD-ROM

  19 char	Cyclades serial card
		  0 = /dev/ttyC0	First Cyclades port
		    ...
		 31 = /dev/ttyC31	32nd Cyclades port

  19 block	"Double" compressed disk
		  0 = /dev/double0	First compressed disk
		    ...
@@ -493,11 +488,6 @@
		See the Double documentation for the meaning of the
		mirror devices.

  20 char	Cyclades serial card - alternate devices
		  0 = /dev/cub0		Callout device for ttyC0
		    ...
		 31 = /dev/cub31	Callout device for ttyC31

  20 block	Hitachi CD-ROM (under development)
		  0 = /dev/hitcd	Hitachi CD-ROM

+13 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/serial/samsung_uart.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S3C, S5P and Exynos SoC UART Controller
title: Samsung S3C, S5P, Exynos, and S5L (Apple SoC) SoC UART Controller

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>
@@ -19,6 +19,7 @@ properties:
  compatible:
    items:
      - enum:
          - apple,s5l-uart
          - samsung,s3c2410-uart
          - samsung,s3c2412-uart
          - samsung,s3c2440-uart
@@ -51,6 +52,16 @@ properties:
      - pattern: '^clk_uart_baud[0-3]$'
      - pattern: '^clk_uart_baud[0-3]$'

  dmas:
    items:
      - description: DMA controller phandle and request line for RX
      - description: DMA controller phandle and request line for TX

  dma-names:
    items:
      - const: rx
      - const: tx

  interrupts:
    description: RX interrupt and optionally TX interrupt.
    minItems: 1
@@ -96,6 +107,7 @@ allOf:
        compatible:
          contains:
            enum:
              - apple,s5l-uart
              - samsung,exynos4210-uart
    then:
      properties:
+0 −11
Original line number Diff line number Diff line
================
Cyclades-Z notes
================

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at

    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/
+0 −1
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ Serial drivers
.. toctree::
    :maxdepth: 1

    cyclades_z
    moxa-smartio
    n_gsm
    rocket
+0 −185
Original line number Diff line number Diff line
================================================
Comtrol(tm) RocketPort(R)/RocketModem(TM) Series
================================================

Device Driver for the Linux Operating System
============================================

Product overview
----------------

This driver provides a loadable kernel driver for the Comtrol RocketPort
and RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32
high-speed serial ports or modems.  This driver supports up to a combination
of four RocketPort or RocketModems boards in one machine simultaneously.
This file assumes that you are using the RocketPort driver which is
integrated into the kernel sources.

The driver can also be installed as an external module using the usual
"make;make install" routine.  This external module driver, obtainable
from the Comtrol website listed below, is useful for updating the driver
or installing it into kernels which do not have the driver configured
into them.  Installations instructions for the external module
are in the included README and HW_INSTALL files.

RocketPort ISA and RocketModem II PCI boards currently are only supported by
this driver in module form.

The RocketPort ISA board requires I/O ports to be configured by the DIP
switches on the board.  See the section "ISA Rocketport Boards" below for
information on how to set the DIP switches.

You pass the I/O port to the driver using the following module parameters:

board1:
	I/O port for the first ISA board
board2:
	I/O port for the second ISA board
board3:
	I/O port for the third ISA board
board4:
	I/O port for the fourth ISA board

There is a set of utilities and scripts provided with the external driver
(downloadable from http://www.comtrol.com) that ease the configuration and
setup of the ISA cards.

The RocketModem II PCI boards require firmware to be loaded into the card
before it will function.  The driver has only been tested as a module for this
board.

Installation Procedures
-----------------------

RocketPort/RocketModem PCI cards require no driver configuration, they are
automatically detected and configured.

The RocketPort driver can be installed as a module (recommended) or built
into the kernel. This is selected, as for other drivers, through the `make config`
command from the root of the Linux source tree during the kernel build process.

The RocketPort/RocketModem serial ports installed by this driver are assigned
device major number 46, and will be named /dev/ttyRx, where x is the port number
starting at zero (ex. /dev/ttyR0, /devttyR1, ...).  If you have multiple cards
installed in the system, the mapping of port names to serial ports is displayed
in the system log at /var/log/messages.

If installed as a module, the module must be loaded.  This can be done
manually by entering "modprobe rocket".  To have the module loaded automatically
upon system boot, edit a `/etc/modprobe.d/*.conf` file and add the line
"alias char-major-46 rocket".

In order to use the ports, their device names (nodes) must be created with mknod.
This is only required once, the system will retain the names once created.  To
create the RocketPort/RocketModem device names, use the command
"mknod /dev/ttyRx c 46 x" where x is the port number starting at zero.

For example::

	> mknod /dev/ttyR0 c 46 0
	> mknod /dev/ttyR1 c 46 1
	> mknod /dev/ttyR2 c 46 2

The Linux script MAKEDEV will create the first 16 ttyRx device names (nodes)
for you::

	>/dev/MAKEDEV ttyR

ISA Rocketport Boards
---------------------

You must assign and configure the I/O addresses used by the ISA Rocketport
card before installing and using it.  This is done by setting a set of DIP
switches on the Rocketport board.


Setting the I/O address
-----------------------

Before installing RocketPort(R) or RocketPort RA boards, you must find
a range of I/O addresses for it to use. The first RocketPort card
requires a 68-byte contiguous block of I/O addresses, starting at one
of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h,
0x300h, 0x340h, 0x380h.  This I/O address must be reflected in the DIP
switches of *all* of the Rocketport cards.

The second, third, and fourth RocketPort cards require a 64-byte
contiguous block of I/O addresses, starting at one of the following
I/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h,
0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h.  The I/O address used by the
second, third, and fourth Rocketport cards (if present) are set via
software control.  The DIP switch settings for the I/O address must be
set to the value of the first Rocketport cards.

In order to distinguish each of the card from the others, each card
must have a unique board ID set on the dip switches.  The first
Rocketport board must be set with the DIP switches corresponding to
the first board, the second board must be set with the DIP switches
corresponding to the second board, etc.  IMPORTANT: The board ID is
the only place where the DIP switch settings should differ between the
various Rocketport boards in a system.

The I/O address range used by any of the RocketPort cards must not
conflict with any other cards in the system, including other
RocketPort cards.  Below, you will find a list of commonly used I/O
address ranges which may be in use by other devices in your system.
On a Linux system, "cat /proc/ioports" will also be helpful in
identifying what I/O addresses are being used by devices on your
system.

Remember, the FIRST RocketPort uses 68 I/O addresses.  So, if you set it
for 0x100, it will occupy 0x100 to 0x143.  This would mean that you
CAN NOT set the second, third or fourth board for address 0x140 since
the first 4 bytes of that range are used by the first board.  You would
need to set the second, third, or fourth board to one of the next available
blocks such as 0x180.

RocketPort and RocketPort RA SW1 Settings::

            +-------------------------------+
            | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
            +-------+-------+---------------+
            | Unused| Card  | I/O Port Block|
            +-------------------------------+

  DIP Switches                             DIP Switches
  7    8                                   6    5
  ===================                      ===================
  On   On   UNUSED, MUST BE ON.            On   On   First Card    <==== Default
                                           On   Off  Second Card
                                           Off  On   Third Card
                                           Off  Off  Fourth Card

  DIP Switches         I/O Address Range
  4    3    2    1     Used by the First Card
  =====================================
  On   Off  On   Off   100-143
  On   Off  Off  On    140-183
  On   Off  Off  Off   180-1C3       <==== Default
  Off  On   On   Off   200-243
  Off  On   Off  On    240-283
  Off  On   Off  Off   280-2C3
  Off  Off  On   Off   300-343
  Off  Off  Off  On    340-383
  Off  Off  Off  Off   380-3C3

Reporting Bugs
--------------

For technical support, please provide the following
information: Driver version, kernel release, distribution of
kernel, and type of board you are using. Error messages and log
printouts port configuration details are especially helpful.

USA:
    :Phone: (612) 494-4100
    :FAX: (612) 494-4199
    :email: support@comtrol.com

Comtrol Europe:
    :Phone: +44 (0) 1 869 323-220
    :FAX: +44 (0) 1 869 323-211
    :email: support@comtrol.co.uk

Web:	http://www.comtrol.com
FTP:	ftp.comtrol.com
Loading