/openbmc/linux/Documentation/devicetree/bindings/serial/ |
H A D | rs485.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/serial/rs485.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: RS485 serial communications 9 description: The RTS signal is capable of automatically controlling line 10 direction for the built-in half-duplex mode. The properties described 11 hereafter shall be given to a half-duplex capable UART node. 14 - Rob Herring <robh@kernel.org> 17 rs485-rts-delay: [all …]
|
H A D | st,stm32-uart.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 - Erwan Le Ray <erwan.leray@foss.st.com> 15 - st,stm32-uart 16 - st,stm32f7-uart 17 - st,stm32h7-uart 34 st,hw-flow-ctrl: 38 rx-tx-swap: true [all …]
|
/openbmc/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8mm-venice-gw72xx-0x-rs422.dtso | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 * GW72xx RS422 (RS485 full duplex): 6 * - GPIO1_0 rs485_term selects on-chip termination 7 * - GPIO4_0 rs485_en needs to be driven high (active) 8 * - GPIO4_2 rs485_hd needs to be driven low (in-active) 9 * - UART4_TX is DE for RS485 transmitter 10 * - RS485_EN needs to be pulled high 11 * - RS485_HALF needs to be low 14 #include <dt-bindings/gpio/gpio.h> 16 #include "imx8mm-pinfunc.h" [all …]
|
H A D | imx8mm-venice-gw73xx-0x-rs422.dtso | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 * GW73xx RS422 (RS485 full duplex): 6 * - GPIO1_0 rs485_term selects on-chip termination 7 * - GPIO4_0 rs485_en needs to be driven high (active) 8 * - GPIO4_2 rs485_hd needs to be driven low (in-active) 9 * - UART4_TX is DE for RS485 transmitter 10 * - RS485_EN needs to be pulled high 11 * - RS485_HALF needs to be low 14 #include <dt-bindings/gpio/gpio.h> 16 #include "imx8mm-pinfunc.h" [all …]
|
H A D | imx8mm-verdin-dev.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 sound_card: sound-card { 8 compatible = "simple-audio-card"; 9 simple-audio-card,bitclock-master = <&dailink_master>; 10 simple-audio-card,format = "i2s"; 11 simple-audio-card,frame-master = <&dailink_master>; 12 simple-audio-card,mclk-fs = <256>; 13 simple-audio-card,name = "imx8mm-nau8822"; 14 simple-audio-card,routing = 25 simple-audio-card,widgets = [all …]
|
H A D | imx8mp-verdin-dev.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 reg_eth2phy: regulator-eth2phy { 8 compatible = "regulator-fixed"; 9 enable-active-high; 11 off-on-delay-us = <500000>; 12 regulator-max-microvolt = <3300000>; 13 regulator-min-microvolt = <3300000>; 14 regulator-name = "+V3.3_ETH"; 15 startup-delay-us = <200000>; 16 vin-supply = <®_3p3v>; [all …]
|
H A D | imx8mm-venice-gw7901.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/linux-event-codes.h> 10 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/phy/phy-imx8-pcie.h> 17 compatible = "gw,imx8mm-gw7901", "fsl,imx8mm"; 30 stdout-path = &uart2; 38 gpio-keys { 39 compatible = "gpio-keys"; [all …]
|
H A D | imx8mm-venice-gw73xx.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/phy/phy-imx8-pcie.h> 17 led-controller { 18 compatible = "gpio-leds"; 19 pinctrl-names = "default"; 20 pinctrl-0 = <&pinctrl_gpio_leds>; 22 led-0 { 26 default-state = "on"; [all …]
|
/openbmc/linux/drivers/tty/serial/ |
H A D | serial_core.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 * Copyright (C) 2000-2001 Deep Blue Solutions Ltd. 43 * lockdep: port->lock is initialized in two places, but we 44 * want only one lock-class: 48 #define HIGH_BITS_OFFSET ((sizeof(long)-sizeof(int))*8) 51 * Max time with active RTS before/after data is sent. 62 return !!(uport->status & UPSTAT_DCD_ENABLE); in uart_dcd_enabled() 67 if (atomic_add_unless(&state->refcount, 1, 0)) in uart_port_ref() 68 return state->uart_port; in uart_port_ref() 74 if (atomic_dec_and_test(&uport->state->refcount)) in uart_port_deref() [all …]
|
H A D | imx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 30 #include <linux/dma-mapping.h> 33 #include <linux/dma/imx-dma.h> 74 #define UCR1_RTSDEN (1<<5) /* RTS delta interrupt enable */ 82 #define UCR2_IRTS (1<<14) /* Ignore RTS pin */ 125 #define UFCR_RFDIV_REG(x) (((x) < 7 ? 6 - (x) : 6) << 7) 128 #define USR1_RTSS (1<<14) /* RTS pin status */ 130 #define USR1_RTSD (1<<12) /* RTS delta */ 148 #define USR2_RTSF (1<<4) /* RTS edge interrupt flag */ 161 /* We've been assigned a range on the "Low-density serial ports" major */ [all …]
|
H A D | atmel_serial.c | 1 // SPDX-License-Identifier: GPL-2.0+ 18 #include <linux/clk-provider.h> 24 #include <linux/dma-mapping.h> 46 * These two offsets are substracted from the RX FIFO size to define the RTS 47 * high and low thresholds 62 /* Use device name ttyAT, major 204 and minor 154-169. This is necessary if we 71 /* Use device name ttyS, major 4, minor 64-68. This is the usual serial port 165 bool hd_start_rx; /* can start RX during half-duplex operation */ 195 { .compatible = "atmel,at91rm9200-usart-serial" }, 208 return __raw_readl(port->membase + reg); in atmel_uart_readl() [all …]
|
H A D | sc16is7xx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * SC16IS7xx tty serial driver - Copyright (C) 2014 GridPoint 47 * - only on 75x/76x 50 * - only on 75x/76x 53 * - only on 75x/76x 56 * - only on 75x/76x 65 #define SC16IS7XX_DLL_REG (0x00) /* Divisor Latch Low */ 84 /* IER register bits - write only if (EFR[4] == 1) */ 97 /* FCR register bits - write only if (EFR[4] == 1) */ 107 #define SC16IS7XX_IIR_RTOI_SRC 0x0c /* RX time-out interrupt */ [all …]
|
H A D | fsl_lpuart.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright 2012-2014 Freescale Semiconductor, Inc. 13 #include <linux/dma-mapping.h> 29 /* All registers are 8-bit width */ 118 /* 32-bit global registers only for i.MX7ULP/i.MX8x 123 /* 32-bit register definition */ 244 #define DRIVER_NAME "fsl-lpuart" 337 .rx_watermark = 7, /* A lower watermark is ideal for low baud rates. */ 347 { .compatible = "fsl,vf610-lpuart", .data = &vf_data, }, 348 { .compatible = "fsl,ls1021a-lpuart", .data = &ls1021a_data, }, [all …]
|
/openbmc/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6ul-kontron-bl-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/gpio/gpio.h> 11 gpio-leds { 12 compatible = "gpio-leds"; 13 pinctrl-names = "default"; 14 pinctrl-0 = <&pinctrl_gpio_leds>; 17 label = "debug-led1"; 19 default-state = "off"; 20 linux,default-trigger = "heartbeat"; 24 label = "debug-led2"; [all …]
|
H A D | imx7-mba7.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 OR X11 3 * Device Tree Include file for TQ-Systems MBa7 carrier board. 5 * Copyright (C) 2016 TQ-Systems GmbH 6 * Author: Markus Niebel <Markus.Niebel@tq-group.com> 13 #include <dt-bindings/input/input.h> 14 #include <dt-bindings/net/ti-dp83867.h> 20 /delete-property/ mmc2; 24 compatible = "gpio-beeper"; 29 stdout-path = &uart6; 32 gpio_buttons: gpio-keys { [all …]
|
H A D | mba6ulx.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 3 * Copyright 2018-2022 TQ-Systems GmbH 4 * Author: Markus Niebel <Markus.Niebel@tq-group.com> 8 model = "TQ-Systems MBA6ULx Baseboard"; 18 stdout-path = &uart1; 22 compatible = "pwm-backlight"; 23 power-supply = <®_mba6ul_3v3>; 24 enable-gpios = <&expander_out0 4 GPIO_ACTIVE_HIGH>; 29 compatible = "gpio-beeper"; 33 gpio_buttons: gpio-keys { [all …]
|
H A D | imx6qdl-mba6.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright 2013-2021 TQ-Systems GmbH 6 * Author: Markus Niebel <Markus.Niebel@tq-group.com> 9 #include <dt-bindings/clock/imx6qdl-clock.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/sound/fsl-imx-audmux.h> 18 /delete-property/ mmc2; 19 /delete-property/ mmc3; 24 stdout-path = &uart2; [all …]
|
H A D | imx6dl-plybas.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 7 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/leds/common.h> 17 stdout-path = &uart4; 21 compatible = "gpio-keys"; 24 button-start { 30 button-clean { 38 compatible = "gpio-leds"; 39 pinctrl-names = "default"; [all …]
|
/openbmc/linux/drivers/usb/serial/ |
H A D | xr_serial.c | 1 // SPDX-License-Identifier: GPL-2.0+ 10 * https://lore.kernel.org/r/20180404070634.nhspvmxcjwfgjkcv@advantechmxl-desktop 240 u8 channel; /* zero-based index or interface number */ 241 struct serial_rs485 rs485; member 247 const struct xr_type *type = data->type; in xr_set_reg() 248 struct usb_serial *serial = port->serial; in xr_set_reg() 251 ret = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), in xr_set_reg() 252 type->set_reg, in xr_set_reg() 253 USB_DIR_OUT | USB_TYPE_VENDOR | type->reg_recipient, in xr_set_reg() 257 dev_err(&port->dev, "Failed to set reg 0x%02x: %d\n", reg, ret); in xr_set_reg() [all …]
|
/openbmc/linux/include/linux/ |
H A D | serial_core.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 24 ((port)->cons && (port)->cons->index == (port)->line) 36 * struct uart_ops -- interface between serial_core and the driver 57 * - %TIOCM_RTS RTS signal. 58 * - %TIOCM_DTR DTR signal. 59 * - %TIOCM_OUT1 OUT1 signal. 60 * - %TIOCM_OUT2 OUT2 signal. 61 * - %TIOCM_LOOP Set the port into loopback mode. 64 * active. If the bit is clear, the signal should be driven 67 * Locking: @port->lock taken. [all …]
|
/openbmc/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-am642-tqma64xxl-mbax4xxl.dts | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ 4 * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany. 7 /dts-v1/; 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/net/ti-dp83867.h> 12 #include <dt-bindings/phy/phy.h> 13 #include <dt-bindings/pwm/pwm.h> 14 #include "k3-serdes.h" [all …]
|
/openbmc/linux/drivers/tty/serial/8250/ |
H A D | 8250_port.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Base port operations for 8250/16550-type serial ports 255 * tx_loadsz is set to 63-bytes instead of 64-bytes to implement 256 * workaround of errata A-008006 which states that tx_loadsz should 268 .name = "Palmchip BK-3103", 354 offset = offset << p->regshift; in hub6_serial_in() 355 outb(p->hub6 - 1 + offset, p->iobase); in hub6_serial_in() 356 return inb(p->iobase + 1); in hub6_serial_in() 361 offset = offset << p->regshift; in hub6_serial_out() 362 outb(p->hub6 - 1 + offset, p->iobase); in hub6_serial_out() [all …]
|
H A D | 8250_pci.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Probe module for 8250/16550-type PCI serial ports. 31 * > 0 - number of ports 32 * = 0 - use board->num_ports 33 * < 0 - error 83 "Please send the output of lspci -vv, this\n" in moan_device() 86 "modem board to <linux-serial@vger.kernel.org>.\n", in moan_device() 87 str, dev->vendor, dev->device, in moan_device() 88 dev->subsystem_vendor, dev->subsystem_device); in moan_device() 95 return serial8250_pci_setup_port(priv->dev, port, bar, offset, regshift); in setup_port() [all …]
|
/openbmc/linux/Documentation/firmware-guide/acpi/ |
H A D | enumeration.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 that are accessed through memory-mapped registers. 15 In order to support this and re-use the existing drivers as much as 18 - Devices that have no bus connector resource are represented as 21 - Devices behind real busses where there is a connector resource 34 This means that when ACPI_HANDLE(dev) returns non-NULL the device was 36 device-specific configuration. There is an example of this below. 43 for the device and add supported ACPI IDs. If this same IP-block is used on 44 some other non-ACPI platform, the driver might work out of the box or needs 151 The interrupt name can be listed in _DSD as 'interrupt-names'. The names [all …]
|
/openbmc/linux/drivers/tty/ |
H A D | amiserial.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * associated with the registers and bits of 16550 compatible UARTS - 126 * ------------------------------------------------------------ 129 * This routines are called before setting or resetting tty->flow.stopped. 131 * ------------------------------------------------------------ 135 struct serial_state *info = tty->driver_data; in rs_stop() 139 if (info->IER & UART_IER_THRI) { in rs_stop() 140 info->IER &= ~UART_IER_THRI; in rs_stop() 152 struct serial_state *info = tty->driver_data; in rs_start() 156 if (info->xmit.head != info->xmit.tail in rs_start() [all …]
|