aboutsummaryrefslogtreecommitdiffstats
path: root/src/spi_software.c
diff options
context:
space:
mode:
authorTimofey Titovets <nefelim4ag@gmail.com>2025-03-13 04:50:46 +0100
committerKevinOConnor <kevin@koconnor.net>2025-04-17 11:37:12 -0400
commitabc76ee963d4154dce0bd56f2fdb946d5065cc86 (patch)
tree7ffb3f2f1aaba14a5f017c81aebebca5db5ef7e8 /src/spi_software.c
parentb826844b34ac1603dac311ee2032b7f51f457eec (diff)
downloadkutter-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/spi_software.c')
-rw-r--r--src/spi_software.c15
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)