Message ID | 1467207504-5218-1-git-send-email-tharvey@gateworks.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jun 29, 2016 at 06:38:24AM -0700, Tim Harvey wrote: > The GW54xx, GW53xx, and GW52xx all have an RS485 transceiver that uses an > IMX GPIO for the TX enable of the transceiver. Declare this properly. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 3 +++ > arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 3 +++ > arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 3 +++ > 3 files changed, 9 insertions(+) > > diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi > index 8bf1020..25ed57d 100644 > --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi > +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi > @@ -315,6 +315,8 @@ > &uart1 { > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_uart1>; > + fsl,uart-has-rtscts; This vendor specific property is deprecated. Please use generic uart-has-rtscts instead. > + rts-gpio = <&gpio7 1 GPIO_ACTIVE_HIGH>; I cannot find this property in any bindings doc. What I found is rts-gpios in bindings/serial/serial.txt. Also, I'm not sure how this property is supported by IMX driver. Shawn > status = "okay"; > }; > > @@ -493,6 +495,7 @@ > fsl,pins = < > MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 > MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 > + MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x4001b0b1 /* TEN */ > >; > }; >
On Mon, Aug 8, 2016 at 1:40 AM, Shawn Guo <shawnguo@kernel.org> wrote: > On Wed, Jun 29, 2016 at 06:38:24AM -0700, Tim Harvey wrote: >> The GW54xx, GW53xx, and GW52xx all have an RS485 transceiver that uses an >> IMX GPIO for the TX enable of the transceiver. Declare this properly. >> >> Signed-off-by: Tim Harvey <tharvey@gateworks.com> >> --- >> arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 3 +++ >> arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 3 +++ >> arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 3 +++ >> 3 files changed, 9 insertions(+) >> >> diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi >> index 8bf1020..25ed57d 100644 >> --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi >> +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi >> @@ -315,6 +315,8 @@ >> &uart1 { >> pinctrl-names = "default"; >> pinctrl-0 = <&pinctrl_uart1>; >> + fsl,uart-has-rtscts; > > This vendor specific property is deprecated. Please use generic > uart-has-rtscts instead. > ok - will do for v2 >> + rts-gpio = <&gpio7 1 GPIO_ACTIVE_HIGH>; > > I cannot find this property in any bindings doc. What I found is > rts-gpios in bindings/serial/serial.txt. Also, I'm not sure how this > property is supported by IMX driver. > This is supported by serial_mctrl_gpio (drivers/tty/serial/serial_mctrl_gpio.c) and the IMX serial driver does support mctrl-gpio. The serial_mctrl_gpio driver calls devm_gpiod_get_index_optional for pin names of cts,dsr,dcd,rng,rts, and dtr. This ends up calling 'of_find_gpio' for these names which looks for them based on 'gpio_suffixes' which is defined as { "gpios", "gpio" } so that plural or singular is supported. Its not documented that gpio specifies can be singular in Documentation/devicetree/bindings/serial/serial.txt but I always hate seeing gpio properties named '*-gpios' that only specify a single gpio so I figured I would use the singular representation. Because this is not clear in the documentation and there is only one other board using 'rts-gpio' (am335x-nano.dts) vs 'rts-gpios' I will go ahead and change it for v2 to be more consistent. Regards, Tim
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi index 8bf1020..25ed57d 100644 --- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi @@ -315,6 +315,8 @@ &uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; + fsl,uart-has-rtscts; + rts-gpio = <&gpio7 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; @@ -493,6 +495,7 @@ fsl,pins = < MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 + MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x4001b0b1 /* TEN */ >; }; diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi index e5f4b6c..69e21b9 100644 --- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi @@ -311,6 +311,8 @@ &uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; + fsl,uart-has-rtscts; + rts-gpio = <&gpio7 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; @@ -481,6 +483,7 @@ fsl,pins = < MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 + MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x4001b0b1 /* TEN */ >; }; diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi index 5a8dbab..b602e2a 100644 --- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi +++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi @@ -414,6 +414,8 @@ &uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; + fsl,uart-has-rtscts; + rts-gpio = <&gpio7 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; @@ -603,6 +605,7 @@ fsl,pins = < MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 + MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x4001b0b1 /* TEN */ >; };
The GW54xx, GW53xx, and GW52xx all have an RS485 transceiver that uses an IMX GPIO for the TX enable of the transceiver. Declare this properly. Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 3 +++ arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 3 +++ arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 3 +++ 3 files changed, 9 insertions(+)