&pio {
    uart2_pins_ctsrts: uart2-ctsrts {
        pins = "PA#", "PA#"; // replace # with number of the CTS/DTS pin
        function = "uart2";
    };
};

Where are you referencing those strings from (both "PA#" and "uart2")?

Tried looking at both the pinctrl-bindings as well as sunxi pinctrl.

* 
http://elixir.free-electrons.com/linux/v4.13/source/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
* 
http://elixir.free-electrons.com/linux/v4.13/source/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt


Also I seem to have inherited device tree with:
    allwinner,function:

Am I interpreting this correctly that this has been deprecated for the 
generic 
pinctrl bindings and should be renamed?


On Thursday, November 16, 2017 at 8:38:40 PM UTC+1, Ondřej Jirman wrote:
>
> Hi,
>
> for flow control, you need to configure relevant flow control pins for 
> uart2 function too too. Perhaps DTS and CTS?
>
> Add:
>
> &pio {
>
> uart2_pins_ctsrts: uart2-ctsrts {
>     pins = "PA#", "PA#";  // replace # with number of the CTS/DTS pin
>     function = "uart2";
>
> };
>
> You can check pinctrl code for H3 for what functions are available on what 
> pins.
>
> And then modify:
>
> &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&uart2_pins &uart2_pins_ctsrts>;
>         status = "okay";
> };
>
>
> This will configure pins for both listed function definitions.
>
> regards,
> o.
>
> [email protected] <javascript:> píše v Čt 16. 11. 2017 v 08:34 -0800:
>
> Hi,
> I'm trying to enable uart2 for a connection with bluetooth on a H3 based 
> board <http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO> 
> It lays on a custom pcb connected through the exposed headers.
>
> For that we have a custom device tree:
>
> https://github.com/getsenic/senic-os-linux/blob/senic/4.13/arch/arm/boot/dts/sun8i-h3-senic-hub.dts
> modified just to add some extra switches.
>
> I'm trying to now enable the uart2 with flow control which is needed for 
> connection the H3 with
> a bluetooth module.
>
> My first try was to extend the device tree with what is working for the 
> debug uart:
>
> &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&uart2_pins>;
>         status = "okay";
> };
>
> however that seems to end up with errors:
>
> [ 0.849626] dw-apb-uart 1c28800.serial: Error applying setting, reverse 
> things back
> [ 0.857292] dw-apb-uart: probe of 1c28800.serial failed with error -22
>
> Searching for uart2 in the exteneded device tree results in:
>
>   uart2: serial@01c28800 {
>    compatible = "snps,dw-apb-uart";
>    reg = <0x01c28800 0x400>;
>    interrupts = <0 2 4>;
>    reg-shift = <2>;
>    reg-io-width = <4>;
>    clocks = <&ccu 64>;
>    resets = <&ccu 51>;
>    dmas = <&dma 8>, <&dma 8>;
>    dma-names = "rx", "tx";
>    status = "disabled";
>   };
>
>   pio: pinctrl@01c20800 {
>    reg = <0x01c20800 0x400>;
>    interrupts = <0 11 4>,
>          <0 17 4>;
>    clocks = <&ccu 54>, <&osc24M>, <&osc32k>;
>    clock-names = "apb", "hosc", "losc";
>    gpio-controller;
>    #gpio-cells = <3>;
>    interrupt-controller;
>    #interrupt-cells = <3>;
>
>    .... OTHER ENTRIES
>
>    uart2_pins: uart2 {
>     pins = "PA0", "PA1";
>     function = "uart2";
>    };
> };
>
> and finally the one that I've entered in the device
> tree we introduced:
>
> &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&uart2_pins>;
>         status = "okay";
> };
>
> Any directions on how to proceed next?
>
> Be Well,
> Alan
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
On Thursday, November 16, 2017 at 8:38:40 PM UTC+1, Ondřej Jirman wrote:
>
> Hi,
>
> for flow control, you need to configure relevant flow control pins for 
> uart2 function too too. Perhaps DTS and CTS?
>
> Add:
>
> &pio {
>
> uart2_pins_ctsrts: uart2-ctsrts {
>     pins = "PA#", "PA#";  // replace # with number of the CTS/DTS pin
>     function = "uart2";
>
> };
>
> You can check pinctrl code for H3 for what functions are available on what 
> pins.
>
> And then modify:
>
> &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&uart2_pins &uart2_pins_ctsrts>;
>         status = "okay";
> };
>
>
> This will configure pins for both listed function definitions.
>
> regards,
> o.
>
> [email protected] <javascript:> píše v Čt 16. 11. 2017 v 08:34 -0800:
>
> Hi,
> I'm trying to enable uart2 for a connection with bluetooth on a H3 based 
> board <http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO> 
> It lays on a custom pcb connected through the exposed headers.
>
> For that we have a custom device tree:
>
> https://github.com/getsenic/senic-os-linux/blob/senic/4.13/arch/arm/boot/dts/sun8i-h3-senic-hub.dts
> modified just to add some extra switches.
>
> I'm trying to now enable the uart2 with flow control which is needed for 
> connection the H3 with
> a bluetooth module.
>
> My first try was to extend the device tree with what is working for the 
> debug uart:
>
> &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&uart2_pins>;
>         status = "okay";
> };
>
> however that seems to end up with errors:
>
> [ 0.849626] dw-apb-uart 1c28800.serial: Error applying setting, reverse 
> things back
> [ 0.857292] dw-apb-uart: probe of 1c28800.serial failed with error -22
>
> Searching for uart2 in the exteneded device tree results in:
>
>   uart2: serial@01c28800 {
>    compatible = "snps,dw-apb-uart";
>    reg = <0x01c28800 0x400>;
>    interrupts = <0 2 4>;
>    reg-shift = <2>;
>    reg-io-width = <4>;
>    clocks = <&ccu 64>;
>    resets = <&ccu 51>;
>    dmas = <&dma 8>, <&dma 8>;
>    dma-names = "rx", "tx";
>    status = "disabled";
>   };
>
>   pio: pinctrl@01c20800 {
>    reg = <0x01c20800 0x400>;
>    interrupts = <0 11 4>,
>          <0 17 4>;
>    clocks = <&ccu 54>, <&osc24M>, <&osc32k>;
>    clock-names = "apb", "hosc", "losc";
>    gpio-controller;
>    #gpio-cells = <3>;
>    interrupt-controller;
>    #interrupt-cells = <3>;
>
>    .... OTHER ENTRIES
>
>    uart2_pins: uart2 {
>     pins = "PA0", "PA1";
>     function = "uart2";
>    };
> };
>
> and finally the one that I've entered in the device
> tree we introduced:
>
> &uart2 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&uart2_pins>;
>         status = "okay";
> };
>
> Any directions on how to proceed next?
>
> Be Well,
> Alan
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to