both5 Posted June 14, 2018 Posted June 14, 2018 Greetings. Please help with accessing GPIO's UART1 and UART3. Currently installed nightly build: root@orangepiprime:~/sunxi-DT-overlays/sun50i-h5# cat /etc/armbian-release # PLEASE DO NOT EDIT THIS FILE BOARD=orangepiprime BOARD_NAME="Orange Pi Prime" BOARDFAMILY=sun50iw2 VERSION=5.46.180607 LINUXFAMILY=sunxi64 BRANCH=next ARCH=arm64 IMAGE_TYPE=nightly BOARD_TYPE=conf INITRD_ARCH=arm64 KERNEL_IMAGE_TYPE=Image Added DT overlays for all GPIO uarts: root@orangepiprime:/boot# cat armbianEnv.txt verbosity=1 console=both overlay_prefix=sun50i-h5 rootdev=UUID=666e2e1a-80be-4261-9e66-4cd8a4b14679 rootfstype=ext4 overlays=uart1 uart2 uart3 param_uart2_rtscts=0 param_uart3_rtscts=0 param_uart1_rtscts=0 usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u UART2 successfully working over PA1&PA0 bus pins as documented. UART1 and 3 remain silent even though both status "okay": root@orangepiprime:/boot# cat /proc/device-tree/soc/serial@01c28400/status okay root@orangepiprime:/boot# cat /proc/device-tree/soc/serial@01c28000/status okay root@orangepiprime:/boot# cat /proc/device-tree/soc/serial@01c28800/status okay root@orangepiprime:/boot# cat /proc/device-tree/soc/serial@01c28c00/status okay Local echo test works only on UART2: root@orangepiprime:/boot# cat -v < /dev/ttyS3 ^C root@orangepiprime:/boot# cat -v < /dev/ttyS2 TEST ^C root@orangepiprime:/boot# cat -v < /dev/ttyS1 ^C Echo sent with "echo TEST > /dev/ttyS<port number>" Appropriate pins been looped with the jumper: UART1 PG6 with PG7 UART2 PA1 with PA0 UART3 PA13 with PA14 What am I doing wrong? Could it be uarts are reserved for something else? Thank you in advance.
both5 Posted June 15, 2018 Author Posted June 15, 2018 Probably I should add some more: 1. I tried two different boards of the same type, so it's not a particular board issue 2. I tried stable build at first, so it's not a nightly build effect Fell into despair after week of experiments and searching. I just need at least a couple uarts (more than one). I would use UART0 if I only knew how to disable TTL or redirect output to not working uart. Sadly I didn't find any good/understandable solution for that too.
both5 Posted June 18, 2018 Author Posted June 18, 2018 If someone's interested. I finally found out a solution for myself by disabling console output on ttyS0: 1. armbianEnt.txt changes -console=both +console=display +overlays=uart2 (this one just to enable uart2 as per overlays how-to) 2. sudo systemctl daemon-reload (somehow getty unit always appears as changed after boot) sudo systemctl disable serial-getty@ttyS0.service reboot Have two UARTs(0&2) available now. Sadly still have no solution on how to force 1&3 to be working.
Recommended Posts