1.1 --- a/pkg/landfall-examples/hw_info/x1600.c Tue Nov 07 19:20:32 2023 +0100
1.2 +++ b/pkg/landfall-examples/hw_info/x1600.c Thu Nov 09 18:40:31 2023 +0100
1.3 @@ -25,6 +25,7 @@
1.4 #include <l4/devices/gpio-x1600.h>
1.5 #include <l4/devices/i2c-x1600.h>
1.6 #include <l4/devices/spi-gpio.h>
1.7 +// #include <l4/devices/spi-hybrid.h>
1.8 #include "common.h"
1.9
1.10
1.11 @@ -329,32 +330,55 @@
1.12 return NULL;
1.13 }
1.14
1.15 -void *spi_get_channel(void *spi, uint8_t num, void *channel, uint64_t frequency)
1.16 +void *spi_get_channel(void *spi, uint8_t num, void *channel, uint64_t frequency,
1.17 + void *control_chip, int control_pin, int control_alt_func)
1.18 {
1.19 + /* NOTE: Initialisation of a hybrid channel to be supported. */
1.20 +
1.21 (void) spi; (void) num; (void) channel; (void) frequency;
1.22 + (void) control_chip; (void) control_pin; (void) control_alt_func;
1.23 return NULL;
1.24 }
1.25
1.26 -void *spi_get_channel_gpio(void *clock_chip, int clock_pin,
1.27 +void *spi_get_channel_gpio(uint64_t frequency,
1.28 + void *clock_chip, int clock_pin,
1.29 void *data_chip, int data_pin,
1.30 void *enable_chip, int enable_pin,
1.31 - uint64_t frequency)
1.32 + void *control_chip, int control_pin)
1.33 {
1.34 - return spi_gpio_get_channel(clock_chip, clock_pin, data_chip, data_pin, enable_chip, enable_pin, frequency);
1.35 + return spi_gpio_get_channel(frequency, clock_chip, clock_pin, data_chip,
1.36 + data_pin, enable_chip, enable_pin, control_chip,
1.37 + control_pin);
1.38 +}
1.39 +
1.40 +void spi_acquire_control(void *channel, int level)
1.41 +{
1.42 + /* NOTE: Not yet supported. */
1.43 +
1.44 + (void) channel; (void) level;
1.45 + // spi_hybrid_acquire_control(channel, level);
1.46 }
1.47
1.48 -void spi_send(void *channel, int bytes, const uint8_t data[], uint8_t unit_size,
1.49 - uint8_t char_size)
1.50 +void spi_release_control(void *channel)
1.51 +{
1.52 + /* NOTE: Not yet supported. */
1.53 +
1.54 + (void) channel;
1.55 + // spi_hybrid_release_control(channel);
1.56 +}
1.57 +
1.58 +void spi_send_gpio(void *channel, uint32_t bytes, const uint8_t data[])
1.59 +{
1.60 + spi_gpio_send(channel, bytes, data);
1.61 +}
1.62 +
1.63 +void spi_send_units(void *channel, uint32_t bytes, const uint8_t data[], uint8_t unit_size,
1.64 + uint8_t char_size)
1.65 {
1.66 /* NOTE: Not yet supported. */
1.67
1.68 (void) channel; (void) bytes; (void) data; (void) unit_size; (void) char_size;
1.69 - // x1600_spi_send(channel, bytes, data, unit_size, char_size);
1.70 -}
1.71 -
1.72 -void spi_send_gpio(void *channel, int bytes, const uint8_t data[])
1.73 -{
1.74 - spi_gpio_send(channel, bytes, data);
1.75 + // x1600_spi_send_units(channel, bytes, data, unit_size, char_size);
1.76 }
1.77
1.78 uint32_t spi_transfer(void *channel, l4re_dma_space_dma_addr_t paddr,