mirror of
https://github.com/revyos/thead-kernel.git
synced 2026-06-21 09:12:26 +02:00
Linux_SDK_V1.2.1
Signed-off-by: thead_admin <occ_thead@service.alibaba.com>
This commit is contained in:
@@ -53,6 +53,7 @@
|
||||
#define __WRITE_ONCE(x, val) \
|
||||
do { \
|
||||
*(volatile typeof(x) *)&(x) = (val); \
|
||||
smp_mb(); \
|
||||
} while (0)
|
||||
|
||||
#define WRITE_ONCE(x, val) \
|
||||
|
||||
35
include/dt-bindings/clock/light-audiosys.h
Normal file
35
include/dt-bindings/clock/light-audiosys.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright (C) 2022 Alibaba Group Holding Limited.
|
||||
*/
|
||||
|
||||
#ifndef _LIGHT_AUDIOSYS_H_
|
||||
#define _LIGHT_AUDIOSYS_H_
|
||||
|
||||
#define LIGHT_CLKGEN_AUDIO_CPU 0
|
||||
#define LIGHT_CLKGEN_AUDIO_SRAM0 1
|
||||
#define LIGHT_CLKGEN_AUDIO_SRAM1 2
|
||||
#define LIGHT_CLKGEN_AUDIO_DMA 3
|
||||
#define LIGHT_CLKGEN_AUDIO_BSM 4
|
||||
#define LIGHT_CLKGEN_AUDIO_TIMER 5
|
||||
#define LIGHT_CLKGEN_AUDIO_TIMER_CNT1 6
|
||||
#define LIGHT_CLKGEN_AUDIO_TIMER_CNT2 7
|
||||
#define LIGHT_CLKGEN_AUDIO_TIMER_CNT3 8
|
||||
#define LIGHT_CLKGEN_AUDIO_TIMER_CNT4 9
|
||||
#define LIGHT_CLKGEN_AUDIO_WDR 10
|
||||
#define LIGHT_CLKGEN_AUDIO_I2C0 11
|
||||
#define LIGHT_CLKGEN_AUDIO_I2C1 12
|
||||
#define LIGHT_CLKGEN_AUDIO_UART 13
|
||||
#define LIGHT_CLKGEN_AUDIO_I2S0 14
|
||||
#define LIGHT_CLKGEN_AUDIO_I2S1 15
|
||||
#define LIGHT_CLKGEN_AUDIO_I2S2 16
|
||||
#define LIGHT_CLKGEN_AUDIO_I2S8CH 17
|
||||
#define LIGHT_CLKGEN_AUDIO_TDM 18
|
||||
#define LIGHT_CLKGEN_AUDIO_GPIO 19
|
||||
#define LIGHT_CLKGEN_AUDIO_SPDIF0 20
|
||||
#define LIGHT_CLKGEN_AUDIO_SPDIF1 21
|
||||
#define LIGHT_CLKGEN_AUDIO_VAD 22
|
||||
#define LIGHT_CLKGEN_AUDIO_IOMUX 23
|
||||
#define LIGHT_CLKGEN_AUDIO_CLK_END 24
|
||||
|
||||
#endif
|
||||
36
include/dt-bindings/pinctrl/light-fm-pinctrl-def.h
Normal file
36
include/dt-bindings/pinctrl/light-fm-pinctrl-def.h
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
|
||||
#ifndef __DT_BINDINGS_LIGHT_FM_PINCTRL_DEF_H__
|
||||
#define __DT_BINDINGS_LIGHT_FM_PINCTRL_DEF_H__
|
||||
|
||||
#define LIGHT_PIN_PULL_NONE 0
|
||||
#define LIGHT_PIN_PULL_DOWN 1
|
||||
#define LIGHT_PIN_PULL_UP 2
|
||||
|
||||
#define LIGHT_PIN_DRV_LV0 0
|
||||
#define LIGHT_PIN_DRV_LV1 1
|
||||
#define LIGHT_PIN_DRV_LV2 2
|
||||
#define LIGHT_PIN_DRV_LV3 3
|
||||
#define LIGHT_PIN_DRV_LV4 4
|
||||
#define LIGHT_PIN_DRV_LV5 5
|
||||
#define LIGHT_PIN_DRV_LV6 6
|
||||
#define LIGHT_PIN_DRV_LV7 7
|
||||
#define LIGHT_PIN_DRV_LV8 8
|
||||
#define LIGHT_PIN_DRV_LV9 9
|
||||
#define LIGHT_PIN_DRV_LV10 10
|
||||
#define LIGHT_PIN_DRV_LV11 11
|
||||
#define LIGHT_PIN_DRV_LV12 12
|
||||
#define LIGHT_PIN_DRV_LV13 13
|
||||
#define LIGHT_PIN_DRV_LV14 14
|
||||
#define LIGHT_PIN_DRV_LV15 15
|
||||
|
||||
#define LIGHT_PIN_FUNC_0 0
|
||||
#define LIGHT_PIN_FUNC_1 1
|
||||
#define LIGHT_PIN_FUNC_2 2
|
||||
#define LIGHT_PIN_FUNC_3 3
|
||||
#define LIGHT_PIN_FUNC_4 4
|
||||
#define LIGHT_PIN_FUNC_5 5
|
||||
#define LIGHT_PIN_FUNC_6 6
|
||||
#define LIGHT_PIN_FUNC_7 7
|
||||
|
||||
#endif // __DT_BINDINGS_LIGHT_FM_PINCTRL_DEF_H__
|
||||
@@ -10,5 +10,10 @@
|
||||
|
||||
#define LIGHT_RESET_WDT0 0
|
||||
#define LIGHT_RESET_WDT1 1
|
||||
#define LIGHT_RESET_NPU 2
|
||||
|
||||
// vpsys reset
|
||||
#define LIGHT_RESET_FCE 100
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
88
include/linux/light_rpmsg.h
Normal file
88
include/linux/light_rpmsg.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Alibaba Group Holding Limited.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The code contained herein is licensed under the GNU Lesser General
|
||||
* Public License. You may obtain a copy of the GNU Lesser General
|
||||
* Public License Version 2.1 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/lgpl-license.html
|
||||
* http://www.gnu.org/copyleft/lgpl.html
|
||||
*/
|
||||
|
||||
/*
|
||||
* @file linux/light_rpmsg.h
|
||||
*
|
||||
* @brief Global header file for imx RPMSG
|
||||
*
|
||||
* @ingroup RPMSG
|
||||
*/
|
||||
#ifndef __LINUX_LIGHT_RPMSG_H__
|
||||
#define __LINUX_LIGHT_RPMSG_H__
|
||||
|
||||
#include <linux/rpmsg.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/virtio.h>
|
||||
#include <linux/virtio_config.h>
|
||||
#include <linux/virtio_ids.h>
|
||||
#include <linux/virtio_ring.h>
|
||||
|
||||
/* Category define */
|
||||
#define LIGHT_RMPSG_LIFECYCLE 1
|
||||
#define LIGHT_RPMSG_PMIC 2
|
||||
#define LIGHT_RPMSG_AUDIO 3
|
||||
#define LIGHT_RPMSG_KEY 4
|
||||
#define LIGHT_RPMSG_GPIO 5
|
||||
#define LIGHT_RPMSG_RTC 6
|
||||
#define LIGHT_RPMSG_SENSOR 7
|
||||
/* rpmsg version */
|
||||
#define LIGHT_RMPSG_MAJOR 1
|
||||
#define LIGHT_RMPSG_MINOR 0
|
||||
|
||||
enum light_rpmsg_variants {
|
||||
LIGHTA,
|
||||
LIGHTB,
|
||||
LIGHT_RPMSG,
|
||||
};
|
||||
|
||||
struct light_virdev {
|
||||
struct virtio_device vdev;
|
||||
unsigned int vring[2];
|
||||
struct virtqueue *vq[2];
|
||||
int base_vq_id;
|
||||
int num_of_vqs;
|
||||
struct notifier_block nb;
|
||||
};
|
||||
|
||||
struct light_rpmsg_vproc {
|
||||
char *rproc_name;
|
||||
struct mutex lock;
|
||||
struct clk *mu_clk;
|
||||
enum light_rpmsg_variants variant;
|
||||
int vdev_nums;
|
||||
int first_notify;
|
||||
#define MAX_VDEV_NUMS 8
|
||||
struct light_virdev ivdev[MAX_VDEV_NUMS];
|
||||
void __iomem *mu_base;
|
||||
struct delayed_work rpmsg_work;
|
||||
struct blocking_notifier_head notifier;
|
||||
#define MAX_NUM 10 /* enlarge it if overflow happen */
|
||||
u32 m4_message[MAX_NUM];
|
||||
u32 in_idx;
|
||||
u32 out_idx;
|
||||
u32 core_id;
|
||||
spinlock_t mu_lock;
|
||||
};
|
||||
|
||||
struct light_rpmsg_head {
|
||||
u8 cate;
|
||||
u8 major;
|
||||
u8 minor;
|
||||
u8 type;
|
||||
u8 cmd;
|
||||
u8 reserved[5];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
#endif /* __LINUX_LIGHT_RPMSG_H__*/
|
||||
|
||||
@@ -17,7 +17,8 @@ _IOC(_IOC_NONE, 'G', 2, sizeof(struct virtio_vdmabuf_alloc))
|
||||
_IOC(_IOC_NONE, 'G', 3, sizeof(struct virtio_vdmabuf_import))
|
||||
|
||||
/* dmabuf flag */
|
||||
#define VIRTIO_VDAMBUF_NONCACHED 0x1
|
||||
#define VIRTIO_VDAMBUF_NONCACHED 0x1
|
||||
#define VIRTIO_VDAMBUF_DMA32 0x4
|
||||
|
||||
/*
|
||||
* Max single alloc size is (768 * PAGE_SIZE) only for
|
||||
|
||||
Reference in New Issue
Block a user