драйвер вам не надо писать, поддержку MARK/SPACE я добавил в драйвер много лет назад (хотя и без неё можно было обойтись, переключая нужным образом ODD/EVEN, но …)
в новых малинках по умолчанию наружу смотрит mini UART, который не умеет 9 бит, а полноценный UART (ttyAMA0) занят блютусом, это настраивается, больше деталей тут:
https://www.raspberrypi.org/documentation/configur...
после этого ничего raspberry-специфичного в этой задаче нет, мы имеем обычный полноценный UART, который умеет 9 бит.
остаётся написать/взять готовую реализацию RS-485. уверен, что гугл по запросу «CMSPAR RS-485» выдаст кучу примеров/реализаций на разных языках.