Multi RS485 IO Card Configuration
The Multi RS485 board uses multiple SC16IS740 devices to provide I2C and SPI interfaced serial ports
The configuration is done by downloading and installing the device tree overlay files found in the zip file here
Device tree install and source files
[wget --no-check-certificate 'https://drive.google.com/uc?export=download&id=1pHVvHhVkmF1cfaAXzcOTrPe_S3C9HC1z' -O multiuart.tar.gz]
Install Notes :
Copy all the .dtbo files in the tar zip file to /boot/overlays
Add these 5 lines to the end of /boot/config.txt
dtparam=i2c_arm=on,i2c_arm_baudrate=400000 dtparam=spi=on dtoverlay=i2cuarts dtoverlay=spiuart1 dtoverlay=spiuart2
Reboot the system.
When next booted you can check the I2C ports have been detected by running the below :
root@raspberrypi:~# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- UU UU -- -- UU UU -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
The serial ports should now be running as :
root@raspberrypi:~# ls /dev/ttySC* /dev/ttySC0 /dev/ttySC1 /dev/ttySC2 /dev/ttySC3 /dev/ttySC4 /dev/ttySC5
Baud rates that can be cleanly obtained on all ttySC* ports (note the divisor number is for information only)
Baud (Divisor) 50 2304 75 1536 150 768 300 384 600 192 1200 96 1800 64 2400 48 3600 32 4800 24 7200 16 9600 12 14400 8 19200 6 38400 3 57600 2 115200 1
If using ttyS0 then be sure to disable it from being a console port
The serial port assignment is as below, note that the ttyS0 and ttyAMA0 connector will depend on which pins the two UARTs are brought out on from the main CPU. The below is correct for the stock OS image setup.