mirror of
https://github.com/torvalds/linux.git
synced 2026-04-26 02:22:28 -04:00
Pull tty/serial driver updates from Greg KH: "Here is the big tty and serial driver pull request for 4.19-rc1. It's not all that big, just a number of small serial driver updates and fixes, along with some better vt handling for unicode characters for those using braille terminals. All of these patches have been in linux-next for a long time with no reported issues" * tag 'tty-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (73 commits) tty: serial: 8250: Revert NXP SC16C2552 workaround serial: 8250_exar: Read INT0 from slave device, too tty: rocket: Fix possible buffer overwrite on register_PCI serial: 8250_dw: Add ACPI support for uart on Broadcom SoC serial: 8250_dw: always set baud rate in dw8250_set_termios dt-bindings: serial: Add binding for uartlite tty: serial: uartlite: Add support for suspend and resume tty: serial: uartlite: Add clock adaptation tty: serial: uartlite: Add structure for private data serial: sh-sci: Improve support for separate TEI and DRI interrupts serial: sh-sci: Remove SCIx_RZ_SCIFA_REGTYPE serial: sh-sci: Allow for compressed SCIF address serial: sh-sci: Improve interrupts description serial: 8250: Use cached port name directly in messages serial: 8250_exar: Drop unused variable in pci_xr17v35x_setup() vt: drop unused struct vt_struct vt: avoid a VLA in the unicode screen scroll function vt: add /dev/vcsu* to devices.txt vt: coherence validation code for the unicode screen buffer vt: selection: take screen contents from uniscr if available ...
120 lines
4.2 KiB
Plaintext
120 lines
4.2 KiB
Plaintext
Qualcomm Technologies, Inc. GENI Serial Engine QUP Wrapper Controller
|
|
|
|
Generic Interface (GENI) based Qualcomm Universal Peripheral (QUP) wrapper
|
|
is a programmable module for supporting a wide range of serial interfaces
|
|
like UART, SPI, I2C, I3C, etc. A single QUP module can provide upto 8 Serial
|
|
Interfaces, using its internal Serial Engines. The GENI Serial Engine QUP
|
|
Wrapper controller is modeled as a node with zero or more child nodes each
|
|
representing a serial engine.
|
|
|
|
Required properties:
|
|
- compatible: Must be "qcom,geni-se-qup".
|
|
- reg: Must contain QUP register address and length.
|
|
- clock-names: Must contain "m-ahb" and "s-ahb".
|
|
- clocks: AHB clocks needed by the device.
|
|
|
|
Required properties if child node exists:
|
|
- #address-cells: Must be <1> for Serial Engine Address
|
|
- #size-cells: Must be <1> for Serial Engine Address Size
|
|
- ranges: Must be present
|
|
|
|
Properties for children:
|
|
|
|
A GENI based QUP wrapper controller node can contain 0 or more child nodes
|
|
representing serial devices. These serial devices can be a QCOM UART, I2C
|
|
controller, SPI controller, or some combination of aforementioned devices.
|
|
Please refer below the child node definitions for the supported serial
|
|
interface protocols.
|
|
|
|
Qualcomm Technologies Inc. GENI Serial Engine based I2C Controller
|
|
|
|
Required properties:
|
|
- compatible: Must be "qcom,geni-i2c".
|
|
- reg: Must contain QUP register address and length.
|
|
- interrupts: Must contain I2C interrupt.
|
|
- clock-names: Must contain "se".
|
|
- clocks: Serial engine core clock needed by the device.
|
|
- #address-cells: Must be <1> for I2C device address.
|
|
- #size-cells: Must be <0> as I2C addresses have no size component.
|
|
|
|
Optional property:
|
|
- clock-frequency: Desired I2C bus clock frequency in Hz.
|
|
When missing default to 100000Hz.
|
|
|
|
Child nodes should conform to I2C bus binding as described in i2c.txt.
|
|
|
|
Qualcomm Technologies Inc. GENI Serial Engine based UART Controller
|
|
|
|
Required properties:
|
|
- compatible: Must be "qcom,geni-debug-uart" or "qcom,geni-uart".
|
|
- reg: Must contain UART register location and length.
|
|
- interrupts: Must contain UART core interrupts.
|
|
- clock-names: Must contain "se".
|
|
- clocks: Serial engine core clock needed by the device.
|
|
|
|
Qualcomm Technologies Inc. GENI Serial Engine based SPI Controller
|
|
|
|
Required properties:
|
|
- compatible: Must contain "qcom,geni-spi".
|
|
- reg: Must contain SPI register location and length.
|
|
- interrupts: Must contain SPI controller interrupts.
|
|
- clock-names: Must contain "se".
|
|
- clocks: Serial engine core clock needed by the device.
|
|
- spi-max-frequency: Specifies maximum SPI clock frequency, units - Hz.
|
|
- #address-cells: Must be <1> to define a chip select address on
|
|
the SPI bus.
|
|
- #size-cells: Must be <0>.
|
|
|
|
SPI slave nodes must be children of the SPI master node and conform to SPI bus
|
|
binding as described in Documentation/devicetree/bindings/spi/spi-bus.txt.
|
|
|
|
Example:
|
|
geniqup@8c0000 {
|
|
compatible = "qcom,geni-se-qup";
|
|
reg = <0x8c0000 0x6000>;
|
|
clock-names = "m-ahb", "s-ahb";
|
|
clocks = <&clock_gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
|
|
<&clock_gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
i2c0: i2c@a94000 {
|
|
compatible = "qcom,geni-i2c";
|
|
reg = <0xa94000 0x4000>;
|
|
interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
|
|
clock-names = "se";
|
|
clocks = <&clock_gcc GCC_QUPV3_WRAP0_S5_CLK>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&qup_1_i2c_5_active>;
|
|
pinctrl-1 = <&qup_1_i2c_5_sleep>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
uart0: serial@a88000 {
|
|
compatible = "qcom,geni-debug-uart";
|
|
reg = <0xa88000 0x7000>;
|
|
interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
|
|
clock-names = "se";
|
|
clocks = <&clock_gcc GCC_QUPV3_WRAP0_S0_CLK>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&qup_1_uart_3_active>;
|
|
pinctrl-1 = <&qup_1_uart_3_sleep>;
|
|
};
|
|
|
|
spi0: spi@a84000 {
|
|
compatible = "qcom,geni-spi";
|
|
reg = <0xa84000 0x4000>;
|
|
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
|
|
clock-names = "se";
|
|
clocks = <&clock_gcc GCC_QUPV3_WRAP0_S0_CLK>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&qup_1_spi_2_active>;
|
|
pinctrl-1 = <&qup_1_spi_2_sleep>;
|
|
spi-max-frequency = <19200000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
}
|