GPIO pin configuration issue for UART communication

Those do not belong to the processor, They are coming from the FPGA,

RK3399 - (gpiochip1 to gpiochip4)

There is 1 internal gpio expander, which makes gpiochip5

Now on top of that, when you use periplex other gpiochips will be created.
So let say, In the JSON file you’ve created 1 gpiochip then it will be assigned as gpiochip6, if you create more then more gpiochips will be created.

Okay, Understood .

This is my json file:

{
“uart”: [
{
“id”: 0,
“TX”: “GPIOT_RXP28”,
“RX”: “GPIOT_RXN28”
}
],
“i2c”: ,

"gpio": [
    {
        "id": 1,
        "GPIO-0": "GPIOR_168",
        "GPIO-1": "GPIOL_17",
        "GPIO-2": "GPIOL_20",
        "GPIO-3": "GPIOL_18",
        "GPIO-4": "GPIOR_187",
        "GPIO-5": "GPIOL_24",
        "GPIO-6": "GPIOL_66",
        "GPIO-7": "GPIOL_62"
    }
],
"pwm": [],
"ws": [],
"spi":[],
"onewire": [],
"can": [],
"i2s": []

}

so GPIOR_168 is gpiochip6, pin = 0
and GPIOL_20 is gpiochip6, pin = 2

1 Like

Okay . Any update regarding gpio handling ?

We’ve fixed some things and added new protocols as well. Follow below instruction to update the periplex,

sudo apt update && sudo apt upgrade
sudo apt install periplex

After installing the latest periplex, make sure you once power off the board, unplug the adapter and again plug the adapter.

Now you can run periplex-sync again and you can try doing whatever you were doing before.

This should fix everything, let us know the feedback.

Make sure you update the JSON like Usage guide for Periplex | Vicharak

We have added protocols and due to that the JSON protocol additions are required.

Thanks, I will check and update you

1 Like

Hello @djkabutar ,

This is my updated JSON file. But not showing ttyPERI0 and gpiochip6

vicharak@vicharak:~/Desktop/JSON_files$ cat test.json
{
“uart”: [
{
“id”: 0,
“TX”: “GPIOT_RXP28”,
“RX”: “GPIOT_RXN28”
}
],
“i2cmaster”: ,

"gpio": [
    {
        "id": 1,
        "GPIO-0": "GPIOR_168",
        "GPIO-1": "GPIOL_17",
        "GPIO-2": "GPIOL_20",
        "GPIO-3": "GPIOL_18",
        "GPIO-4": "GPIOR_187",
        "GPIO-5": "GPIOL_24",
        "GPIO-6": "GPIOL_66",
        "GPIO-7": "GPIOL_62"
    }
],
"pwm": [],
"ws": [],
"spi":[],
"onewire": [],
"can": [],
"i2s": [],
"i2cslave": [],
"jtag": [],
"dht": []

}

Can you share me the output of

systemctl status periplexer

vicharak@vicharak:~/Desktop/JSON_files$ systemctl status periplexer
× periplexer.service - Periplexer Service
Loaded: loaded (/etc/systemd/system/periplexer.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Sat 2026-01-31 09:57:32 IST; 13min ago
Process: 684 ExecStartPre=/usr/bin/sleep 3 (code=exited, status=0/SUCCESS)
Process: 1378 ExecStart=/usr/bin/periplexer (code=killed, signal=SEGV)
Main PID: 1378 (code=killed, signal=SEGV)
CPU: 25ms

send me status of

systemctl status rah

vicharak@vicharak:~$ systemctl status rah
● rah.service - Rah Service
Loaded: loaded (/etc/systemd/system/rah.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2026-01-31 10:29:44 IST; 9min ago
Main PID: 1454 (rah_service)
Tasks: 3 (limit: 2283)
Memory: 952.0K
CPU: 158ms
CGroup: /system.slice/rah.service
└─1454 /usr/bin/rah_service

I am using this commands for Restart periplexer, so now its showing

sudo systemctl daemon-reload
sudo systemctl restart periplexer
sudo systemctl status periplexer

Try rebooting your board once & check if it works as is, I’ll test it on our boards as well.

After rebooting the system not showing uart & gpio

I’ve created the same scenario as you, I’ll fix that and let you know

Okay, Please let me know when it is fixed.

There was issue in the service file, we have changed it, you can apply this way,

sudo apt update
sudo apt install periplex

Make sure you do periplex-sync again after update

Yeah its working now

1 Like