Jump to content

Java475

Members
  • Posts

    3
  • Joined

  • Last visited

Posts posted by Java475

  1. Hi,

    there are invalid references inside sun50i-h5-fixup.scr, I think.

    I use NANOPINEO2, myself compiled linux-*-current-sunxi64_20.05.0-trunk_arm64.deb, kernel  5.4.28-sunxi64 #trunk SMP PREEMPT.

     

    amrbianEnv.txt (reduced):

            overlay_prefix=sun50i-h5
            overlays=i2c0 uart1 uart2 usbhost1 usbhost2 usbhost3
            param_uart1_rtscts=1
            param_uart2_rtscts=1

     

    For example, the row param_uart2_rtscts=1 leads to use following rows of sun50i-h5-fixup.scr:

            fdt get value tmp_phandle1 /soc/pinctrl@1c20800/uart2 phandle
            fdt get value tmp_phandle2 /soc/pinctrl@1c20800/uart2_rts_cts phandle
            fdt set /soc/serial@1c28800 pinctrl-names "default" "default"
            fdt set /soc/serial@1c28800 pinctrl-0 "<${tmp_phandle1}>"
            fdt set /soc/serial@1c28800 pinctrl-1 "<${tmp_phandle2}>"
            env delete tmp_phandle1 tmp_phandle2

     

    There are some error messages during boot:

            Applying kernel provided DT fixup script (sun50i-h5-fixup.scr)
            ## Executing script at 44000000
            tmp_bank=A
            tmp_pin=21
            libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
            libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
            libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
            10046717 bytes read in 505 ms (19 MiB/s)

     

    As a result, the RTS/CTS handshaking for UART2 is unfunctional. May be for UART1 and UART3 is the same?

     

    I think the reason is that there are no paths /soc/pinctrl@1c20800/uart2 and /soc/pinctrl@1c20800/uart2_rts_cts inside the device tree specified by sun50i-h5-nanopi-neo2-v1.1.dtb file.

    The right paths are /soc/pinctrl@1c20800/uart2-pins and /soc/pinctrl@1c20800/uart2-rts-cts-pins, I think.

     

    Am I right? I've tried easy modification of SCR script - handshaking is now functional, but CRC is bad.

    If I am right, what is the right way to correct this? Script change (how properly?), DTB change, DTBO creation, ...?

     

    Moreover, look at this reduced listing of /sys/firmware/devicetree/base/soc/pinctrl@1c20800:

            csi-pins
            emac-rgmii-pins
            i2c0-pins
            i2c1-pins
            i2c2-pins
            i2s0-pins
            i2s1-pins
            mmc0-pins
            mmc1-pins
            mmc2-8bit-pins
            spi0-pins
            spi1-pins
            uart0-pa-pins
            uart1-pins
            uart1-rts-cts-pins
            uart2-pins

            uart2_rts_cts
            uart2-rts-cts-pins
            uart3-pins
            uart3-rts-cts-pins
            w1_pins

     

    Why are somewhere dashes "-" and somewhere underscores "_" ?

     

    Thank you.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines