* [PATCH v5 1/7] serial: Add common rs485 device tree parsing function [not found] ` <20170913081833.2740-1-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> @ 2017-09-13 8:18 ` Uwe Kleine-König 2017-09-13 8:18 ` [PATCH v5 7/7] dt-bindings: serial: document rs485 bindings for various devices Uwe Kleine-König 1 sibling, 0 replies; 4+ messages in thread From: Uwe Kleine-König @ 2017-09-13 8:18 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA, kernel-bIcnvbaLZ9MEGnE8C9+IrQ, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA Several drivers have the same device tree parsing code. Create a common helper function for it. This patch bases on work done by Sascha Hauer. Signed-off-by: Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> --- drivers/tty/serial/serial_core.c | 36 ++++++++++++++++++++++++++++++++++++ include/linux/serial_core.h | 5 +++++ 2 files changed, 41 insertions(+) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index 3a14cccbd7ff..f4e6c8662987 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -3026,5 +3026,41 @@ EXPORT_SYMBOL(uart_resume_port); EXPORT_SYMBOL(uart_add_one_port); EXPORT_SYMBOL(uart_remove_one_port); +/** + * of_get_rs485_mode() - Implement parsing rs485 properties + * @np: uart node + * @rs485conf: output parameter + * + * This function implements the device tree binding described in + * Documentation/devicetree/bindings/serial/rs485.txt. + */ +void of_get_rs485_mode(struct device_node *np, struct serial_rs485 *rs485conf) +{ + u32 rs485_delay[2]; + int ret; + + ret = of_property_read_u32_array(np, "rs485-rts-delay", rs485_delay, 2); + if (!ret) { + rs485conf->delay_rts_before_send = rs485_delay[0]; + rs485conf->delay_rts_after_send = rs485_delay[1]; + } else { + rs485conf->delay_rts_before_send = 0; + rs485conf->delay_rts_after_send = 0; + } + + /* + * clear full-duplex and enabled flags to get to a defined state with + * the two following properties. + */ + rs485conf->flags &= ~(SER_RS485_RX_DURING_TX | SER_RS485_ENABLED); + + if (of_property_read_bool(np, "rs485-rx-during-tx")) + rs485conf->flags |= SER_RS485_RX_DURING_TX; + + if (of_property_read_bool(np, "linux,rs485-enabled-at-boot-time")) + rs485conf->flags |= SER_RS485_ENABLED; +} +EXPORT_SYMBOL_GPL(of_get_rs485_mode); + MODULE_DESCRIPTION("Serial driver core"); MODULE_LICENSE("GPL"); diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 5553e04e59c9..37b044e78333 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -501,4 +501,9 @@ static inline int uart_handle_break(struct uart_port *port) (cflag) & CRTSCTS || \ !((cflag) & CLOCAL)) +/* + * Common device tree parsing helpers + */ +void of_get_rs485_mode(struct device_node *np, struct serial_rs485 *rs485conf); + #endif /* LINUX_SERIAL_CORE_H */ -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v5 7/7] dt-bindings: serial: document rs485 bindings for various devices [not found] ` <20170913081833.2740-1-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2017-09-13 8:18 ` [PATCH v5 1/7] serial: Add common rs485 device tree parsing function Uwe Kleine-König @ 2017-09-13 8:18 ` Uwe Kleine-König [not found] ` <20170913081833.2740-8-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 1 sibling, 1 reply; 4+ messages in thread From: Uwe Kleine-König @ 2017-09-13 8:18 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA, kernel-bIcnvbaLZ9MEGnE8C9+IrQ, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA Atmel USART, Freescale UARTs and OMAP UART all support the rs485 binding described in rs485.txt, this commit just makes that explicit. Acked-by: Nicolas Ferre <nicolas.ferre-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org> Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Signed-off-by: Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> --- Documentation/devicetree/bindings/serial/atmel-usart.txt | 1 + Documentation/devicetree/bindings/serial/fsl-imx-uart.txt | 1 + Documentation/devicetree/bindings/serial/fsl-lpuart.txt | 1 + Documentation/devicetree/bindings/serial/omap_serial.txt | 1 + 4 files changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/serial/atmel-usart.txt b/Documentation/devicetree/bindings/serial/atmel-usart.txt index e6e6142e33ac..7c0d6b2f53e4 100644 --- a/Documentation/devicetree/bindings/serial/atmel-usart.txt +++ b/Documentation/devicetree/bindings/serial/atmel-usart.txt @@ -24,6 +24,7 @@ Optional properties: - dma-names: "rx" for RX channel, "tx" for TX channel. - atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO capable USARTs. +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt <chip> compatible description: - at91rm9200: legacy USART support diff --git a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt index 574c3a2c77d5..860a9559839a 100644 --- a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt +++ b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt @@ -9,6 +9,7 @@ Optional properties: - fsl,irda-mode : Indicate the uart supports irda mode - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works in DCE mode by default. +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt Please check Documentation/devicetree/bindings/serial/serial.txt for the complete list of generic properties. diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt index a1252a047f78..59567b51cf09 100644 --- a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt +++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt @@ -16,6 +16,7 @@ Required properties: Optional properties: - dmas: A list of two dma specifiers, one for each entry in dma-names. - dma-names: should contain "tx" and "rx". +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt Note: Optional properties for DMA support. Write them both or both not. diff --git a/Documentation/devicetree/bindings/serial/omap_serial.txt b/Documentation/devicetree/bindings/serial/omap_serial.txt index 7a71b5de77d6..43eac675f21f 100644 --- a/Documentation/devicetree/bindings/serial/omap_serial.txt +++ b/Documentation/devicetree/bindings/serial/omap_serial.txt @@ -19,6 +19,7 @@ Optional properties: - dmas : DMA specifier, consisting of a phandle to the DMA controller node and a DMA channel number. - dma-names : "rx" for receive channel, "tx" for transmit channel. +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt Example: -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <20170913081833.2740-8-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>]
* Re: [PATCH v5 7/7] dt-bindings: serial: document rs485 bindings for various devices [not found] ` <20170913081833.2740-8-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> @ 2017-09-13 9:52 ` Ian Arkver [not found] ` <f0f3971d-3166-ee28-7978-a958f7b7835e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Ian Arkver @ 2017-09-13 9:52 UTC (permalink / raw) To: Uwe Kleine-König, Greg Kroah-Hartman Cc: linux-serial-u79uwXL29TY76Z2rM5mHXA, kernel-bIcnvbaLZ9MEGnE8C9+IrQ, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA On 13/09/17 09:18, Uwe Kleine-König wrote: > Atmel USART, Freescale UARTs and OMAP UART all support the rs485 binding > described in rs485.txt, this commit just makes that explicit. > > Acked-by: Nicolas Ferre <nicolas.ferre-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org> > Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> > --- > Documentation/devicetree/bindings/serial/atmel-usart.txt | 1 + > Documentation/devicetree/bindings/serial/fsl-imx-uart.txt | 1 + > Documentation/devicetree/bindings/serial/fsl-lpuart.txt | 1 + > Documentation/devicetree/bindings/serial/omap_serial.txt | 1 + > 4 files changed, 4 insertions(+) > > diff --git a/Documentation/devicetree/bindings/serial/atmel-usart.txt b/Documentation/devicetree/bindings/serial/atmel-usart.txt > index e6e6142e33ac..7c0d6b2f53e4 100644 > --- a/Documentation/devicetree/bindings/serial/atmel-usart.txt > +++ b/Documentation/devicetree/bindings/serial/atmel-usart.txt > @@ -24,6 +24,7 @@ Optional properties: > - dma-names: "rx" for RX channel, "tx" for TX channel. > - atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO > capable USARTs. > +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt > > <chip> compatible description: > - at91rm9200: legacy USART support > diff --git a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt > index 574c3a2c77d5..860a9559839a 100644 > --- a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt > +++ b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt > @@ -9,6 +9,7 @@ Optional properties: > - fsl,irda-mode : Indicate the uart supports irda mode > - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works > in DCE mode by default. > +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt imx.c ignores the values in delay_rts_before_send and delay_rts_after_send, so maybe we shouldn't mention rs485-rts-delay here? > > Please check Documentation/devicetree/bindings/serial/serial.txt > for the complete list of generic properties. > diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt > index a1252a047f78..59567b51cf09 100644 > --- a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt > +++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt > @@ -16,6 +16,7 @@ Required properties: > Optional properties: > - dmas: A list of two dma specifiers, one for each entry in dma-names. > - dma-names: should contain "tx" and "rx". > +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt > > Note: Optional properties for DMA support. Write them both or both not. > > diff --git a/Documentation/devicetree/bindings/serial/omap_serial.txt b/Documentation/devicetree/bindings/serial/omap_serial.txt > index 7a71b5de77d6..43eac675f21f 100644 > --- a/Documentation/devicetree/bindings/serial/omap_serial.txt > +++ b/Documentation/devicetree/bindings/serial/omap_serial.txt > @@ -19,6 +19,7 @@ Optional properties: > - dmas : DMA specifier, consisting of a phandle to the DMA controller > node and a DMA channel number. > - dma-names : "rx" for receive channel, "tx" for transmit channel. > +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt > > Example: > > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <f0f3971d-3166-ee28-7978-a958f7b7835e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v5 7/7] dt-bindings: serial: document rs485 bindings for various devices [not found] ` <f0f3971d-3166-ee28-7978-a958f7b7835e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-09-13 9:54 ` Uwe Kleine-König 0 siblings, 0 replies; 4+ messages in thread From: Uwe Kleine-König @ 2017-09-13 9:54 UTC (permalink / raw) To: Ian Arkver Cc: Greg Kroah-Hartman, linux-serial-u79uwXL29TY76Z2rM5mHXA, kernel-bIcnvbaLZ9MEGnE8C9+IrQ, Rob Herring, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA On Wed, Sep 13, 2017 at 10:52:30AM +0100, Ian Arkver wrote: > On 13/09/17 09:18, Uwe Kleine-König wrote: > > Atmel USART, Freescale UARTs and OMAP UART all support the rs485 binding > > described in rs485.txt, this commit just makes that explicit. > > > > Acked-by: Nicolas Ferre <nicolas.ferre-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org> > > Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> > > --- > > Documentation/devicetree/bindings/serial/atmel-usart.txt | 1 + > > Documentation/devicetree/bindings/serial/fsl-imx-uart.txt | 1 + > > Documentation/devicetree/bindings/serial/fsl-lpuart.txt | 1 + > > Documentation/devicetree/bindings/serial/omap_serial.txt | 1 + > > 4 files changed, 4 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/serial/atmel-usart.txt b/Documentation/devicetree/bindings/serial/atmel-usart.txt > > index e6e6142e33ac..7c0d6b2f53e4 100644 > > --- a/Documentation/devicetree/bindings/serial/atmel-usart.txt > > +++ b/Documentation/devicetree/bindings/serial/atmel-usart.txt > > @@ -24,6 +24,7 @@ Optional properties: > > - dma-names: "rx" for RX channel, "tx" for TX channel. > > - atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO > > capable USARTs. > > +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt > > <chip> compatible description: > > - at91rm9200: legacy USART support > > diff --git a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt > > index 574c3a2c77d5..860a9559839a 100644 > > --- a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt > > +++ b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt > > @@ -9,6 +9,7 @@ Optional properties: > > - fsl,irda-mode : Indicate the uart supports irda mode > > - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works > > in DCE mode by default. > > +- rs485-rts-delay, rs485-rx-during-tx, linux,rs485-enabled-at-boot-time: see rs485.txt > > imx.c ignores the values in delay_rts_before_send and delay_rts_after_send, > so maybe we shouldn't mention rs485-rts-delay here? I have a patch here fixing that. Hmm, even without this implemented it is IMHO fine to document it here. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-09-13 9:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20170913081833.2740-1-u.kleine-koenig@pengutronix.de>
[not found] ` <20170913081833.2740-1-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-09-13 8:18 ` [PATCH v5 1/7] serial: Add common rs485 device tree parsing function Uwe Kleine-König
2017-09-13 8:18 ` [PATCH v5 7/7] dt-bindings: serial: document rs485 bindings for various devices Uwe Kleine-König
[not found] ` <20170913081833.2740-8-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-09-13 9:52 ` Ian Arkver
[not found] ` <f0f3971d-3166-ee28-7978-a958f7b7835e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-13 9:54 ` Uwe Kleine-König
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox