project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
69 lines
1.5 KiB
C
69 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* ebcdic keycode functions for s390 console drivers
|
|
*
|
|
* Copyright IBM Corp. 2003
|
|
* Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
|
|
*/
|
|
|
|
#include <linux/tty.h>
|
|
#include <linux/tty_flip.h>
|
|
#include <linux/keyboard.h>
|
|
|
|
#define NR_FN_HANDLER 20
|
|
|
|
struct kbd_data;
|
|
|
|
extern int ebc_funcbufsize, ebc_funcbufleft;
|
|
extern char *ebc_func_table[MAX_NR_FUNC];
|
|
extern char ebc_func_buf[];
|
|
extern char *ebc_funcbufptr;
|
|
extern unsigned int ebc_keymap_count;
|
|
|
|
extern struct kbdiacruc ebc_accent_table[];
|
|
extern unsigned int ebc_accent_table_size;
|
|
extern unsigned short *ebc_key_maps[MAX_NR_KEYMAPS];
|
|
extern unsigned short ebc_plain_map[NR_KEYS];
|
|
|
|
typedef void (fn_handler_fn)(struct kbd_data *);
|
|
|
|
/*
|
|
* FIXME: explain key_maps tricks.
|
|
*/
|
|
|
|
struct kbd_data {
|
|
struct tty_port *port;
|
|
unsigned short **key_maps;
|
|
char **func_table;
|
|
fn_handler_fn **fn_handler;
|
|
struct kbdiacruc *accent_table;
|
|
unsigned int accent_table_size;
|
|
unsigned int diacr;
|
|
unsigned short sysrq;
|
|
};
|
|
|
|
struct kbd_data *kbd_alloc(void);
|
|
void kbd_free(struct kbd_data *);
|
|
void kbd_ascebc(struct kbd_data *, unsigned char *);
|
|
|
|
void kbd_keycode(struct kbd_data *, unsigned int);
|
|
int kbd_ioctl(struct kbd_data *, unsigned int, unsigned long);
|
|
|
|
/*
|
|
* Helper Functions.
|
|
*/
|
|
static inline void
|
|
kbd_put_queue(struct tty_port *port, int ch)
|
|
{
|
|
tty_insert_flip_char(port, ch, 0);
|
|
tty_flip_buffer_push(port);
|
|
}
|
|
|
|
static inline void
|
|
kbd_puts_queue(struct tty_port *port, char *cp)
|
|
{
|
|
while (*cp)
|
|
tty_insert_flip_char(port, *cp++, 0);
|
|
tty_flip_buffer_push(port);
|
|
}
|