mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-09-22 11:30:01 +08:00
[DM/FEATURE] Support MFD syscon
MFD (Multifunction device) with System Controller Register Read/Write. Signed-off-by: GuEe-GUI <2991707448@qq.com>
This commit is contained in:
Executable
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
* 2023-02-25 GuEe-GUI the first version
|
||||
*/
|
||||
|
||||
#ifndef __SYSCON_H__
|
||||
#define __SYSCON_H__
|
||||
|
||||
#include <drivers/ofw.h>
|
||||
|
||||
struct rt_syscon
|
||||
{
|
||||
rt_list_t list;
|
||||
|
||||
struct rt_ofw_node *np;
|
||||
|
||||
void *iomem_base;
|
||||
rt_size_t iomem_size;
|
||||
struct rt_spinlock rw_lock;
|
||||
};
|
||||
|
||||
rt_err_t rt_syscon_read(struct rt_syscon *syscon, rt_off_t offset, rt_uint32_t *out_val);
|
||||
rt_err_t rt_syscon_write(struct rt_syscon *syscon, rt_off_t offset, rt_uint32_t val);
|
||||
rt_err_t rt_syscon_update_bits(struct rt_syscon *syscon, rt_off_t offset, rt_uint32_t mask, rt_uint32_t val);
|
||||
|
||||
struct rt_syscon *rt_syscon_find_by_ofw_node(struct rt_ofw_node *np);
|
||||
struct rt_syscon *rt_syscon_find_by_ofw_compatible(const char *compatible);
|
||||
struct rt_syscon *rt_syscon_find_by_ofw_phandle(struct rt_ofw_node *np, const char *propname);
|
||||
|
||||
#endif /* __SYSCON_H__ */
|
||||
@@ -56,6 +56,10 @@ extern "C" {
|
||||
#ifdef RT_USING_PIC
|
||||
#include "drivers/pic.h"
|
||||
#endif
|
||||
|
||||
#ifdef RT_MFD_SYSCON
|
||||
#include "drivers/syscon.h"
|
||||
#endif
|
||||
#endif /* RT_USING_DM */
|
||||
|
||||
#ifdef RT_USING_RTC
|
||||
|
||||
Reference in New Issue
Block a user