1.1 --- a/pkg/devices/lib/spi/include/spi.h Fri Jun 07 16:08:15 2024 +0200
1.2 +++ b/pkg/devices/lib/spi/include/spi.h Fri Jun 07 16:12:32 2024 +0200
1.3 @@ -30,9 +30,23 @@
1.4
1.5 /* SPI channel abstractions. */
1.6
1.7 +class Spi_control_base
1.8 +{
1.9 +public:
1.10 + virtual void acquire_control(bool asserted) = 0;
1.11 +
1.12 + virtual void release_control() = 0;
1.13 +};
1.14 +
1.15 class Spi_channel_base
1.16 {
1.17 +protected:
1.18 + Spi_control_base *_control = NULL;
1.19 +
1.20 public:
1.21 + void set_control(Spi_control_base *control)
1.22 + { _control = control; }
1.23 +
1.24 virtual uint32_t send(uint32_t bytes, const uint8_t data[]) = 0;
1.25
1.26 virtual uint32_t send_dc(uint32_t bytes, const uint8_t data[],
1.27 @@ -49,12 +63,4 @@
1.28 l4re_dma_space_dma_addr_t desc_paddr = 0) = 0;
1.29 };
1.30
1.31 -class Spi_control_base
1.32 -{
1.33 -public:
1.34 - virtual void acquire_control(bool asserted) = 0;
1.35 -
1.36 - virtual void release_control() = 0;
1.37 -};
1.38 -
1.39 #endif /* __cplusplus */