diff options
author | Timofey Titovets <nefelim4ag@gmail.com> | 2025-03-13 04:50:46 +0100 |
---|---|---|
committer | KevinOConnor <kevin@koconnor.net> | 2025-04-17 11:37:12 -0400 |
commit | abc76ee963d4154dce0bd56f2fdb946d5065cc86 (patch) | |
tree | 7ffb3f2f1aaba14a5f017c81aebebca5db5ef7e8 /src | |
parent | b826844b34ac1603dac311ee2032b7f51f457eec (diff) | |
download | kutter-abc76ee963d4154dce0bd56f2fdb946d5065cc86.tar.gz kutter-abc76ee963d4154dce0bd56f2fdb946d5065cc86.tar.xz kutter-abc76ee963d4154dce0bd56f2fdb946d5065cc86.zip |
software_spi: set rate limiting ticks from the host
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/spi_software.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/spi_software.c b/src/spi_software.c index 4d5e7d97..73cd8788 100644 --- a/src/spi_software.c +++ b/src/spi_software.c @@ -20,11 +20,10 @@ struct spi_software { }; void -command_spi_set_software_bus(uint32_t *args) +command_spi_set_sw_bus(uint32_t *args) { uint8_t mode = args[4]; - uint32_t rate = args[5]; - uint8_t div = 0; + uint32_t pulse_ticks = args[5]; if (mode > 3) shutdown("Invalid spi config"); @@ -34,14 +33,12 @@ command_spi_set_software_bus(uint32_t *args) ss->mosi = gpio_out_setup(args[2], 0); ss->sclk = gpio_out_setup(args[3], 0); ss->mode = mode; - while (((CONFIG_CLOCK_FREQ/2) >> div) > rate) - div++; - ss->sck_ticks = 1 << div; + ss->sck_ticks = pulse_ticks; spidev_set_software_bus(spi, ss); } -DECL_COMMAND(command_spi_set_software_bus, - "spi_set_software_bus oid=%c miso_pin=%u mosi_pin=%u sclk_pin=%u" - " mode=%u rate=%u"); +DECL_COMMAND(command_spi_set_sw_bus, + "spi_set_sw_bus oid=%c miso_pin=%u mosi_pin=%u sclk_pin=%u" + " mode=%u pulse_ticks=%u"); void spi_software_prepare(struct spi_software *ss) |