questions about uart node in different imx8mp device trees

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

questions about uart node in different imx8mp device trees

Jump to solution
387 Views
machangbao
Contributor III


In https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
&uart1 { /* BT */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
assigned-clocks = <&clk IMX8MP_CLK_UART1>;
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
uart-has-rtscts;
status = "okay";

bluetooth {
compatible = "nxp,88w8997-bt";
};
};

&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
assigned-clocks = <&clk IMX8MP_CLK_UART3>;
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;
uart-has-rtscts;
status = "okay";
};

In https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74...

/* GPS / off-board header */
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};

/* bluetooth HCI */
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
cts-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
rts-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
status = "okay";

bluetooth {
compatible = "brcm,bcm4330-bt";
shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
};
};

 

Two questions:

1. are propertys assigned-clocks assigned-clock-parents  necessary?  What would happen if it's lacking?

2. What are the differences between the two hardware flow control methods uart-has-rtscts and uart-has-rtscts &cts-gpios&rts-gpios?  

Labels (1)
0 Kudos
Reply
1 Solution
323 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Q1:

1. are propertys assigned-clocks assigned-clock-parents  necessary?  What would happen if it's lacking?

A:Yes, necessary. These properties are part of the Common Clock Framework in Linux device trees. They are used to configure the clock source and parent for a peripheral at boot time.

If lacking, Incorrect baud rate if the default clock frequency doesn’t match what the driver expects.Potential instability if the clock source is not optimal for low-power or performance modes.

2. What are the differences between the two hardware flow control methods uart-has-rtscts and uart-has-rtscts &cts-gpios&rts-gpios?  

A:uart-has-rtscts 是一个 Device Tree 属性,用于告诉 Linux UART 驱动该串口支持 硬件流控 (RTS/CTS),并且应该启用它。RTS (Request To Send) 和 CTS (Clear To Send) 信号由 UART 控制器硬件自动处理,不需要软件干预

The driver will enable hardware flow control( (RTS/CTS)) function when initializing UART.

cts-gpios 和 rts-gpios 是 Device Tree 属性,用于在硬件没有原生 RTS/CTS 引脚,或者需要通过 GPIO 来模拟流控时使用。驱动会通过 GPIO 来实现流控,而不是使用 UART 控制器的硬件 RTS/CTS.

 

 

 

 

 

View solution in original post

0 Kudos
Reply
4 Replies
324 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

Q1:

1. are propertys assigned-clocks assigned-clock-parents  necessary?  What would happen if it's lacking?

A:Yes, necessary. These properties are part of the Common Clock Framework in Linux device trees. They are used to configure the clock source and parent for a peripheral at boot time.

If lacking, Incorrect baud rate if the default clock frequency doesn’t match what the driver expects.Potential instability if the clock source is not optimal for low-power or performance modes.

2. What are the differences between the two hardware flow control methods uart-has-rtscts and uart-has-rtscts &cts-gpios&rts-gpios?  

A:uart-has-rtscts 是一个 Device Tree 属性,用于告诉 Linux UART 驱动该串口支持 硬件流控 (RTS/CTS),并且应该启用它。RTS (Request To Send) 和 CTS (Clear To Send) 信号由 UART 控制器硬件自动处理,不需要软件干预

The driver will enable hardware flow control( (RTS/CTS)) function when initializing UART.

cts-gpios 和 rts-gpios 是 Device Tree 属性,用于在硬件没有原生 RTS/CTS 引脚,或者需要通过 GPIO 来模拟流控时使用。驱动会通过 GPIO 来实现流控,而不是使用 UART 控制器的硬件 RTS/CTS.

 

 

 

 

 

0 Kudos
Reply
284 Views
kawateb265
Contributor II

@Rita_Wang 

 

There's a very serious mistake in your answer.

https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/Documentation/devicetree/bindings/serial/serial....

if:
  required:
    - uart-has-rtscts
then:
  properties:
    cts-gpios: false
    rts-gpios: false

 

 

 

Rita_Wang_0-1763017665901.png

 

 

https://github.com/nxp-imx/linux-imx/blob/lf-6.12.y/Documentation/devicetree/bindings/serial/serial....

 

 

cts-gpios:
maxItems: 1
description:
Must contain a GPIO specifier, referring to the GPIO pin to be used as
the UART's CTS line.

 

 rts-gpios:
    maxItems: 1
    description:
      Must contain a GPIO specifier, referring to the GPIO pin to be used as
      the UART's RTS line.

 

 uart-has-rtscts:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      The presence of this property indicates that the UART has dedicated lines
      for RTS/CTS hardware flow control, and that they are available for use
      (wired and enabled by pinmux configuration).  This depends on both the
      UART hardware and the board wiring.

 

if:
  required:
    - uart-has-rtscts
then:
  properties:
    cts-gpios: false
    rts-gpios: false

 

 

176 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

I got it, and thank you piont it and sharing, great thanks @kawateb265 

0 Kudos
Reply
143 Views
kawateb265
Contributor II

@Rita_Wang 

We came here because we trust the professional expertise of NXP engineers.
We came here because we are seeking professional support.

The trust in NXP led to @machangbao  marking an incorrect answer as the solution.

It’s obvious at a glance from your table that it was generated by AI. We are not here to get AI-rephrased answers.
If NXP engineers are also just asking AI, then why wouldn’t we just ask AI directly?

%3CLINGO-SUB%20id%3D%22lingo-sub-2200767%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Equestions%20about%20uart%20node%20in%20different%20imx8mp%20device%20trees%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2200767%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CBR%20%2F%3EIn%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp-evk.dts%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp-evk.dts%3C%2FA%3E%3CBR%20%2F%3E%3CEM%3E%26amp%3Buart1%20%7B%20%2F*%20BT%20*%2F%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-names%20%3D%20%22default%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart1%26gt%3B%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Eassigned-clocks%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_UART1%26gt%3B%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Eassigned-clock-parents%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_SYS_PLL1_80M%26gt%3B%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Euart-has-rtscts%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Estatus%20%3D%20%22okay%22%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3Ebluetooth%20%7B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Ecompatible%20%3D%20%22nxp%2C88w8997-bt%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%7D%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%7D%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CEM%3E%26amp%3Buart3%20%7B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-names%20%3D%20%22default%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart3%26gt%3B%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Eassigned-clocks%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_CLK_UART3%26gt%3B%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Eassigned-clock-parents%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MP_SYS_PLL1_80M%26gt%3B%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Euart-has-rtscts%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Estatus%20%3D%20%22okay%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%7D%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CBR%20%2F%3EIn%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp-venice-gw74xx.dts%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mp-venice-gw74xx.dts%3C%2FA%3E%3C%2FP%3E%3CP%3E%3CEM%3E%2F*%20GPS%20%2F%20off-board%20header%20*%2F%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%26amp%3Buart1%20%7B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-names%20%3D%20%22default%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart1%26gt%3B%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Estatus%20%3D%20%22okay%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%7D%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3E%2F*%20bluetooth%20HCI%20*%2F%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%26amp%3Buart3%20%7B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-names%20%3D%20%22default%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart3%26gt%3B%2C%20%26lt%3B%26amp%3Bpinctrl_uart3_gpio%26gt%3B%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Ects-gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%2021%20GPIO_ACTIVE_LOW%26gt%3B%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%3CSTRONG%3Erts-gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%2022%20GPIO_ACTIVE_LOW%26gt%3B%3B%3C%2FSTRONG%3E%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Estatus%20%3D%20%22okay%22%3B%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CEM%3Ebluetooth%20%7B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Ecompatible%20%3D%20%22brcm%2Cbcm4330-bt%22%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3Eshutdown-gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%208%20GPIO_ACTIVE_HIGH%26gt%3B%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%7D%3B%3C%2FEM%3E%3CBR%20%2F%3E%3CEM%3E%7D%3B%3C%2FEM%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ETwo%26nbsp%3Bquestions%3A%3C%2FP%3E%3CP%3E1.%20are%20propertys%26nbsp%3B%3CEM%3E%3CSTRONG%3Eassigned-clocks%20%3C%2FSTRONG%3E%26amp%3B%26nbsp%3B%3CSTRONG%3Eassigned-clock-parents%26nbsp%3B%20%3C%2FSTRONG%3E%3C%2FEM%3Enecessary%3F%26nbsp%3B%26nbsp%3B%3CSPAN%3EWhat%20would%20happen%20if%20it's%20lacking%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E2.%26nbsp%3BWhat%20are%20the%20differences%20between%20the%20two%20hardware%20flow%20control%20methods%20%3CEM%3E%3CSTRONG%3Euart-has-rtscts%20%3C%2FSTRONG%3Eand%26nbsp%3B%3C%2FEM%3E%3CSTRONG%3Euart-has-rtscts%20%3C%2FSTRONG%3E%26amp%3B%3CEM%3E%3CSTRONG%3Ects-gpios%26amp%3Brts-gpios%3C%2FSTRONG%3E%3C%2FEM%3E%3F%26nbsp%3B%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2200767%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20Mini%20%7C%20i.MX%208M%20Nano%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2206266%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20questions%20about%20uart%20node%20in%20different%20imx8mp%20device%20trees%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2206266%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F57740%22%20target%3D%22_blank%22%3E%40Rita_Wang%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWe%20came%20here%20because%20we%20trust%20the%20professional%20expertise%20of%20NXP%20engineers.%3CBR%20%2F%3EWe%20came%20here%20because%20we%20are%20seeking%20professional%20support.%3C%2FP%3E%3CP%3EThe%20trust%20in%20NXP%20led%20to%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F196155%22%20target%3D%22_blank%22%3E%40machangbao%3C%2FA%3E%26nbsp%3B%20marking%20an%20incorrect%20answer%20as%20the%20solution.%3C%2FP%3E%3CP%3EIt%E2%80%99s%20obvious%20at%20a%20glance%20from%20your%20table%20that%20it%20was%20generated%20by%20AI.%20We%20are%20not%20here%20to%20get%20AI-rephrased%20answers.%3CBR%20%2F%3EIf%20NXP%20engineers%20are%20also%20just%20asking%20AI%2C%20then%20why%20wouldn%E2%80%99t%20we%20just%20ask%20AI%20directly%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2205817%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20questions%20about%20uart%20node%20in%20different%20imx8mp%20device%20trees%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2205817%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20got%20it%2C%20and%20thank%20you%20piont%20it%20and%20sharing%2C%20great%20thanks%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F254788%22%20target%3D%22_blank%22%3E%40kawateb265%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2205380%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20questions%20about%20uart%20node%20in%20different%20imx8mp%20device%20trees%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2205380%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F57740%22%20target%3D%22_blank%22%3E%40Rita_Wang%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EThere's%20a%20very%20serious%20mistake%20in%20your%20answer.%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2FDocumentation%2Fdevicetree%2Fbindings%2Fserial%2Fserial.yaml%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2FDocumentation%2Fdevicetree%2Fbindings%2Fserial%2Fserial.yaml%3C%2FA%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Eif%3A%0A%20%20required%3A%0A%20%20%20%20-%20uart-has-rtscts%0Athen%3A%0A%20%20properties%3A%0A%20%20%20%20cts-gpios%3A%20false%0A%20%20%20%20rts-gpios%3A%20false%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Rita_Wang_0-1763017665901.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Rita_Wang_0-1763017665901.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F365749i9D131823C3A91D1F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Rita_Wang_0-1763017665901.png%22%20alt%3D%22Rita_Wang_0-1763017665901.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2FDocumentation%2Fdevicetree%2Fbindings%2Fserial%2Fserial.yaml%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.12.y%2FDocumentation%2Fdevicetree%2Fbindings%2Fserial%2Fserial.yaml%3C%2FA%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Ects-gpios%3A%0AmaxItems%3A%201%0Adescription%3A%0AMust%20contain%20a%20GPIO%20specifier%2C%20referring%20to%20the%20GPIO%20pin%20to%20be%20used%20as%0Athe%20UART's%20CTS%20line.%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%20rts-gpios%3A%0A%20%20%20%20maxItems%3A%201%0A%20%20%20%20description%3A%0A%20%20%20%20%20%20Must%20contain%20a%20GPIO%20specifier%2C%20referring%20to%20the%20GPIO%20pin%20to%20be%20used%20as%0A%20%20%20%20%20%20the%20UART's%20RTS%20line.%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%20uart-has-rtscts%3A%0A%20%20%20%20%24ref%3A%20%2Fschemas%2Ftypes.yaml%23%2Fdefinitions%2Fflag%0A%20%20%20%20description%3A%0A%20%20%20%20%20%20The%20presence%20of%20this%20property%20indicates%20that%20the%20UART%20has%20dedicated%20lines%0A%20%20%20%20%20%20for%20RTS%2FCTS%20hardware%20flow%20control%2C%20and%20that%20they%20are%20available%20for%20use%0A%20%20%20%20%20%20(wired%20and%20enabled%20by%20pinmux%20configuration).%20%20This%20depends%20on%20both%20the%0A%20%20%20%20%20%20UART%20hardware%20and%20the%20board%20wiring.%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Eif%3A%0A%20%20required%3A%0A%20%20%20%20-%20uart-has-rtscts%0Athen%3A%0A%20%20properties%3A%0A%20%20%20%20cts-gpios%3A%20false%0A%20%20%20%20rts-gpios%3A%20false%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2204222%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20questions%20about%20uart%20node%20in%20different%20imx8mp%20device%20trees%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2204222%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EQ1%3A%3C%2FP%3E%0A%3CP%3E1.%20are%20propertys%26nbsp%3B%3CEM%3E%3CSTRONG%3Eassigned-clocks%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3E%26amp%3B%26nbsp%3B%3CSTRONG%3Eassigned-clock-parents%26nbsp%3B%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FEM%3Enecessary%3F%26nbsp%3B%26nbsp%3B%3CSPAN%3EWhat%20would%20happen%20if%20it's%20lacking%3F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EA%3AYes%2C%20necessary.%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3EThese%20properties%20are%20part%20of%20the%20Common%20Clock%20Framework%20in%20Linux%20device%20trees.%20They%20are%20used%20to%20configure%20the%20%3CSTRONG%3Eclock%20source%3C%2FSTRONG%3E%20and%20%3CSTRONG%3Eparent%3C%2FSTRONG%3E%20for%20a%20peripheral%20at%20boot%20time.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EIf%20lacking%2C%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20data-slate-node%3D%22text%22%3E%3CSPAN%20class%3D%22%22%20data-slate-leaf%3D%22true%22%20data-sent-id%3D%22YZqN6RYNqr%22%20data-para-id%3D%220%22%3EIncorrect%20baud%20rate%20if%20the%20default%20clock%20frequency%20doesn%E2%80%99t%20match%20what%20the%20driver%20expects.%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20data-slate-node%3D%22text%22%3E%3CSPAN%20class%3D%22%22%20data-slate-leaf%3D%22true%22%20data-sent-id%3D%222NwPP8R0wo%22%20data-para-id%3D%221%22%3EPotential%20instability%20if%20the%20clock%20source%20is%20not%20optimal%20for%20low-power%20or%20performance%20modes.%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E2.%26nbsp%3BWhat%20are%20the%20differences%20between%20the%20two%20hardware%20flow%20control%20methods%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3E%3CSTRONG%3Euart-has-rtscts%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3Eand%26nbsp%3B%3C%2FEM%3E%3CSTRONG%3Euart-has-rtscts%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3E%26amp%3B%3CEM%3E%3CSTRONG%3Ects-gpios%26amp%3Brts-gpios%3C%2FSTRONG%3E%3C%2FEM%3E%3F%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3EA%3A%3CEM%3E%3CSTRONG%3Euart-has-rtscts%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FEM%3E%E6%98%AF%E4%B8%80%E4%B8%AA%20Device%20Tree%20%E5%B1%9E%E6%80%A7%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%91%8A%E8%AF%89%20Linux%20UART%20%E9%A9%B1%E5%8A%A8%E8%AF%A5%E4%B8%B2%E5%8F%A3%E6%94%AF%E6%8C%81%20%E7%A1%AC%E4%BB%B6%E6%B5%81%E6%8E%A7%20(RTS%2FCTS)%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%BA%94%E8%AF%A5%E5%90%AF%E7%94%A8%E5%AE%83%E3%80%82%3CSPAN%20data-slate-fragment%3D%22JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJZWnFOMmF6bnFyJTIyJTJDJTIycGFyYUlkeCUyMiUzQTAlMkMlMjJzcmMlMjIlM0ElMjJSVFMlMjAoUmVxdWVzdCUyMFRvJTIwU2VuZCklMjAlRTUlOTIlOEMlMjBDVFMlMjAoQ2xlYXIlMjBUbyUyMFNlbmQpJTIwJUU0JUJGJUExJUU1JThGJUI3JUU3JTk0JUIxJTIwVUFSVCUyMCVFNiU4RSVBNyVFNSU4OCVCNiVFNSU5OSVBOCVFNyVBMSVBQyVFNCVCQiVCNiVFOCU4NyVBQSVFNSU4QSVBOCVFNSVBNCU4NCVFNyU5MCU4NiVFRiVCQyU4QyVFNCVCOCU4RCVFOSU5QyU4MCVFOCVBNiU4MSVFOCVCRCVBRiVFNCVCQiVCNiVFNSVCOSVCMiVFOSVBMiU4NCUyMiUyQyUyMmRzdCUyMiUzQSUyMlRoZSUyMFJUUyUyMChSZXF1ZXN0JTIwVG8lMjBTZW5kKSUyMGFuZCUyMENUUyUyMChDbGVhciUyMFRvJTIwU2VuZCklMjBzaWduYWxzJTIwYXJlJTIwYXV0b21hdGljYWxseSUyMHByb2Nlc3NlZCUyMGJ5JTIwdGhlJTIwVUFSVCUyMGNvbnRyb2xsZXIlMjBoYXJkd2FyZSUyMHdpdGhvdXQlMjBzb2Z0d2FyZSUyMGludGVydmVudGlvbiUyMiUyQyUyMm1ldGFkYXRhJTIyJTNBJTIyJTIyJTJDJTIybWF0Y2hlcyUyMiUzQW51bGwlMkMlMjJ0cmFuc2xhdGVkQnklMjIlM0FudWxsJTJDJTIybWV0YURhdGElMjIlM0ElNUIlNUQlMkMlMjJ0ZXh0JTIyJTNBJTIyUlRTJTIwKFJlcXVlc3QlMjBUbyUyMFNlbmQpJTIwJUU1JTkyJThDJTIwQ1RTJTIwKENsZWFyJTIwVG8lMjBTZW5kKSUyMCVFNCVCRiVBMSVFNSU4RiVCNyVFNyU5NCVCMSUyMFVBUlQlMjAlRTYlOEUlQTclRTUlODglQjYlRTUlOTklQTglRTclQTElQUMlRTQlQkIlQjYlRTglODclQUElRTUlOEElQTglRTUlQTQlODQlRTclOTAlODYlRUYlQkMlOEMlRTQlQjglOEQlRTklOUMlODAlRTglQTYlODElRTglQkQlQUYlRTQlQkIlQjYlRTUlQjklQjIlRTklQTIlODQlMjIlN0QlNUQlN0QlNUQ%3D%22%3ERTS%20(Request%20To%20Send)%20%E5%92%8C%20CTS%20(Clear%20To%20Send)%20%E4%BF%A1%E5%8F%B7%E7%94%B1%20UART%20%E6%8E%A7%E5%88%B6%E5%99%A8%E7%A1%AC%E4%BB%B6%E8%87%AA%E5%8A%A8%E5%A4%84%E7%90%86%EF%BC%8C%E4%B8%8D%E9%9C%80%E8%A6%81%E8%BD%AF%E4%BB%B6%E5%B9%B2%E9%A2%84%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20data-slate-fragment%3D%22JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJ4TTVsUjNZTXFHJTIyJTJDJTIycGFyYUlkeCUyMiUzQTElMkMlMjJzcmMlMjIlM0ElMjJUaGUlMjBkcml2ZXIlMjB3aWxsJTIwZW5hYmxlJTIwaGFyZHdhcmUlMjBmbG93JTIwY29udHJvbCglMjAoUlRTJTJGQ1RTKSklMjBmdW5jdGlvbiUyMHdoZW4lMjBpbml0aWFsaXppbmclMjBVQVJUJTIyJTJDJTIyZHN0JTIyJTNBJTIyVGhlJTIwZHJpdmVyJTIwd2lsbCUyMGVuYWJsZSUyMGhhcmR3YXJlJTIwZmxvdyUyMGNvbnRyb2woJTIwKFJUUyUyRkNUUykpJTIwZnVuY3Rpb24lMjB3aGVuJTIwaW5pdGlhbGl6aW5nJTIwVUFSVCUyMiUyQyUyMm1ldGFkYXRhJTIyJTNBJTIyJTIyJTJDJTIybWF0Y2hlcyUyMiUzQW51bGwlMkMlMjJ0cmFuc2xhdGVkQnklMjIlM0FudWxsJTJDJTIybWV0YURhdGElMjIlM0ElNUIlNUQlMkMlMjJ0ZXh0JTIyJTNBJTIyVGhlJTIwZHJpdmVyJTIwd2lsbCUyMGVuYWJsZSUyMGhhcmR3YXJlJTIwZmxvdyUyMGNvbnRyb2woJTIwKFJUUyUyRkNUUykpJTIwZnVuY3Rpb24lMjB3aGVuJTIwaW5pdGlhbGl6aW5nJTIwVUFSVCUyMiU3RCU1RCU3RCU1RA%3D%3D%22%3EThe%20driver%20will%20enable%20hardware%20flow%20control(%20(RTS%2FCTS))%20function%20when%20initializing%20UART.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20data-slate-fragment%3D%22JTVCJTdCJTIydHlwZSUyMiUzQSUyMnBhcmFncmFwaCUyMiUyQyUyMmNoaWxkcmVuJTIyJTNBJTVCJTdCJTIyaWQlMjIlM0ElMjJ4TTVsUjNZTXFHJTIyJTJDJTIycGFyYUlkeCUyMiUzQTElMkMlMjJzcmMlMjIlM0ElMjJUaGUlMjBkcml2ZXIlMjB3aWxsJTIwZW5hYmxlJTIwaGFyZHdhcmUlMjBmbG93JTIwY29udHJvbCglMjAoUlRTJTJGQ1RTKSklMjBmdW5jdGlvbiUyMHdoZW4lMjBpbml0aWFsaXppbmclMjBVQVJUJTIyJTJDJTIyZHN0JTIyJTNBJTIyVGhlJTIwZHJpdmVyJTIwd2lsbCUyMGVuYWJsZSUyMGhhcmR3YXJlJTIwZmxvdyUyMGNvbnRyb2woJTIwKFJUUyUyRkNUUykpJTIwZnVuY3Rpb24lMjB3aGVuJTIwaW5pdGlhbGl6aW5nJTIwVUFSVCUyMiUyQyUyMm1ldGFkYXRhJTIyJTNBJTIyJTIyJTJDJTIybWF0Y2hlcyUyMiUzQW51bGwlMkMlMjJ0cmFuc2xhdGVkQnklMjIlM0FudWxsJTJDJTIybWV0YURhdGElMjIlM0ElNUIlNUQlMkMlMjJ0ZXh0JTIyJTNBJTIyVGhlJTIwZHJpdmVyJTIwd2lsbCUyMGVuYWJsZSUyMGhhcmR3YXJlJTIwZmxvdyUyMGNvbnRyb2woJTIwKFJUUyUyRkNUUykpJTIwZnVuY3Rpb24lMjB3aGVuJTIwaW5pdGlhbGl6aW5nJTIwVUFSVCUyMiU3RCU1RCU3RCU1RA%3D%3D%22%3Ects-gpios%20%E5%92%8C%20rts-gpios%20%E6%98%AF%20Device%20Tree%20%E5%B1%9E%E6%80%A7%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%9C%A8%E7%A1%AC%E4%BB%B6%E6%B2%A1%E6%9C%89%E5%8E%9F%E7%94%9F%20RTS%2FCTS%20%E5%BC%95%E8%84%9A%EF%BC%8C%E6%88%96%E8%80%85%E9%9C%80%E8%A6%81%E9%80%9A%E8%BF%87%20GPIO%20%E6%9D%A5%E6%A8%A1%E6%8B%9F%E6%B5%81%E6%8E%A7%E6%97%B6%E4%BD%BF%E7%94%A8%E3%80%82%E9%A9%B1%E5%8A%A8%E4%BC%9A%E9%80%9A%E8%BF%87%20GPIO%20%E6%9D%A5%E5%AE%9E%E7%8E%B0%E6%B5%81%E6%8E%A7%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BD%BF%E7%94%A8%20UART%20%E6%8E%A7%E5%88%B6%E5%99%A8%E7%9A%84%E7%A1%AC%E4%BB%B6%20RTS%2FCTS.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E