I am able to get SPI0 working on the BeagleBone Black by using only config-pin commands:
config-pin P9_17 spi
config-pin P9_18 spi
config-pin P9_21 spi
config-pin P9_22 spi
Then writing to /dev/spidev1.0 causes data to come out the pins P9_18 (data) and P9_22 (clock).
Note that searching for how to enable SPI on the BeagleBone returns tutorials that all involve "device trees" or a "cape manager". None of this was necessary for me to get SPI working. I assume they used to be required at some point in the past. I simply set the pins to SPI and it works.
Now I'd like to change some SPI settings, like the clock rate. It seems the hardware has a frequency divider that can be set to change the SPI clock rate. What is the clock rate by default? How can I change it? Ideally I'd like to change it by command with the BeagleBone running, hopefully no recompiling or rebooting required every time I make a change.
How should I go about this?
Note that I'm running the image "bone-debian-8.6-iot-armhf-2016-10-16-4gb.img.xz" found here: