[lightning-ln882h] Add support for Lightning LN882H family (#312)
* fix mbedtls bad pointer in function call (prototype mismatch) * fix issue with weak families functions implemented in static library, it will never be linked. fixed by redefining prototypes inside families * [ln882x] add support for lightning ln882x & ln882h families * add i2c (wire) support * add analog (adc) support * add watchdog support * [ln882x] changed default uart 0/1 pins; added board wl2s * [ln882x] fix IRQ & ADC pins * [ln882x] boards cosmetic * [ln882x] wifi sta use otp mac addr by default; re-enabled wifi powersave mode * [ln882x] clang-format clean code * [ln882x] clang-format clean code * Update families.json * Apply suggestions from code review * [ln882x] reformat json board files * [ln882x] os_queue cleanup * [ln882x] removed Beken auto-download command * [ln882x] removed personal script file * [ln882x] removed unusefull pi section in debugging.md * [ln882x] removed Arduino.h and changed private I2C definition * [ln882x] updated README.md * [ln882x] changed pin naming scheme to PA/PB * [ln882x] clean code * [ln882x] clean code * [ln882x] add ota image verification * Update push-dev.yml * [ln882x] fix boards ADC missing inputs] * [ln882x] removed reg_xxx fixup files and use include guards instead * [ln882x] cleanup code * [ln882x] cleanup code * [ln882x] fix lt_init weak functions linking * [ln882x] revert lt_api.h modification, fixed with previous commit * [ln882x] setup UF2 firmware for flasher with partitions * [ln882x] update README.md * [ln882x] include ln_wifi.h and ln_serial.h to avoid including bad headers on case insensitive systems * [ln882x] Replace RingBuffer by SerialRingBuffer * [ln882x] clang-format * [ln882x] update README.md * Apply suggestions from code review * Reformat board JSON files * Add mkdocs link redirect * Update ltchiptool to v4.12.0 --------- Co-authored-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl>
This commit is contained in:
42
cores/lightning-ln882h/base/fixups/serial_hw.h
Normal file
42
cores/lightning-ln882h/base/fixups/serial_hw.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef __SERIAL_HW_H__
|
||||
#define __SERIAL_HW_H__
|
||||
|
||||
#include "hal/hal_uart.h"
|
||||
#include "ln_types.h"
|
||||
|
||||
struct SerialHardware;
|
||||
struct Serial;
|
||||
|
||||
typedef enum {
|
||||
SER_PORT_UART0 = 0,
|
||||
SER_PORT_UART1 = 1,
|
||||
SER_PORT_UART2 = 2,
|
||||
SER_PORT_NUM = 3, /**< Number of serial ports */
|
||||
SER_PORT_ID_INVALID = SER_PORT_NUM
|
||||
}serial_port_id_t;
|
||||
|
||||
struct SerialHardwareVT
|
||||
{
|
||||
void (*init )(struct SerialHardware *ctx, struct Serial *ser, uint32_t baudrate);
|
||||
void (*cleanup )(struct SerialHardware *ctx);
|
||||
void (*txStart )(struct SerialHardware *ctx);
|
||||
int8_t (*txSending )(struct SerialHardware *ctx);
|
||||
int8_t (*setBaudrate)(struct SerialHardware *ctx, uint32_t baudrate);
|
||||
};
|
||||
|
||||
struct SerialHardware
|
||||
{
|
||||
const struct SerialHardwareVT *table;
|
||||
unsigned char *txbuffer;
|
||||
unsigned char *rxbuffer;
|
||||
size_t txbuffer_size;
|
||||
size_t rxbuffer_size;
|
||||
void *hw_device;
|
||||
volatile int8_t isSending;
|
||||
};
|
||||
|
||||
struct SerialHardware *serial_hw_getdesc(serial_port_id_t port_id);
|
||||
|
||||
|
||||
|
||||
#endif /* __SERIAL_HW_H__ */
|
||||
Reference in New Issue
Block a user