You could do it all without any libraries but there are some useful ones. This one by teemuatlut allows you to modify the registry using some simple functions rather than having to write to the registry yourself:I was under the impression that Trinimac configuration removed the need for most libraries and was catered for by the chip itself?
https://github.com/teemuatlut/TMC2130Stepper
I believe they support the other Trinamic boards with this library, but it seems to have less functionality:
https://github.com/teemuatlut/TMCStepper
In their examples they use port manipulation to send STEP/DIR commands and this is super fast. But you'd have to write your own acceleration and deceleration profiles to work with this, as well as functions to keep track of position, speed, targets, distance travelled, etc.
Instead I use the AccelStepper library, which takes care of acceleration and deceleration:
https://www.airspayce.com/mikem/arduino/AccelStepper/
The down side is that it uses DigitalWrite for STEP/DIR and has some other overhead that reduces the maximum possible speed. Maybe one day I'll write my own library to take advantage of port manipulation but for now I'm satisfied.
Marlin could be useful but it has a lot of clutter that we don't need. I actually just wanted a barebones library but a lot of projects and information about the TMC2130 is geared towards 3D printer users so I went through some of them to pick up bits and pieces that may be useful, particularly regarding StallGuard.I am only interested in single axis control but I can see why you looked at Marlin.
To prevent us hijacking this post too much, I'll PM you my barebones code for testing the driver parameters. It has some functions for homing the rail, using a joystick for manual control, triggering a flash etc. But it's pretty straight forward and you can remove the unnecessary parts. I'll post the full code for my project, most of which is related to the TFT screen, sometime this week!