Skip to content

Commit 96e2b21

Browse files
committed
添加D3000M i2c msg驱动,修改原本的i2c驱动
1 parent a213dcf commit 96e2b21

File tree

14 files changed

+511
-68
lines changed

14 files changed

+511
-68
lines changed

bsp/phytium/aarch64/.config

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,15 @@ CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4
121121
CONFIG_RT_NAME_MAX=16
122122
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
123123
# CONFIG_RT_USING_NANO is not set
124-
# CONFIG_RT_USING_SMART is not set
124+
CONFIG_RT_USING_SMART=y
125125
# CONFIG_RT_USING_AMP is not set
126126
CONFIG_RT_USING_SMP=y
127127
CONFIG_RT_CPUS_NR=8
128128
CONFIG_RT_ALIGN_SIZE=4
129129
# CONFIG_RT_THREAD_PRIORITY_8 is not set
130-
# CONFIG_RT_THREAD_PRIORITY_32 is not set
131-
CONFIG_RT_THREAD_PRIORITY_256=y
132-
CONFIG_RT_THREAD_PRIORITY_MAX=256
130+
CONFIG_RT_THREAD_PRIORITY_32=y
131+
# CONFIG_RT_THREAD_PRIORITY_256 is not set
132+
CONFIG_RT_THREAD_PRIORITY_MAX=32
133133
CONFIG_RT_TICK_PER_SECOND=1000
134134
CONFIG_RT_USING_OVERFLOW_CHECK=y
135135
CONFIG_RT_USING_HOOK=y
@@ -196,7 +196,7 @@ CONFIG_RT_USING_DEVICE_OPS=y
196196
# CONFIG_RT_USING_INTERRUPT_INFO is not set
197197
# CONFIG_RT_USING_THREADSAFE_PRINTF is not set
198198
CONFIG_RT_USING_CONSOLE=y
199-
CONFIG_RT_CONSOLEBUF_SIZE=512
199+
CONFIG_RT_CONSOLEBUF_SIZE=128
200200
CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
201201
CONFIG_RT_VER_NUM=0x50201
202202
CONFIG_RT_USING_STDC_ATOMIC=y
@@ -223,6 +223,7 @@ CONFIG_RT_USING_CPU_FFS=y
223223
CONFIG_ARCH_MM_MMU=y
224224
CONFIG_ARCH_ARM=y
225225
CONFIG_ARCH_ARM_MMU=y
226+
CONFIG_KERNEL_VADDR_START=0xffff000000000000
226227
CONFIG_ARCH_ARMV8=y
227228
CONFIG_ARCH_USING_ASID=y
228229
CONFIG_ARCH_USING_IRQ_CTX_LIST=y
@@ -258,21 +259,28 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
258259
CONFIG_RT_USING_DFS=y
259260
CONFIG_DFS_USING_POSIX=y
260261
CONFIG_DFS_USING_WORKDIR=y
261-
# CONFIG_RT_USING_DFS_MNTTABLE is not set
262262
CONFIG_DFS_FD_MAX=16
263-
CONFIG_RT_USING_DFS_V1=y
264-
# CONFIG_RT_USING_DFS_V2 is not set
265-
CONFIG_DFS_FILESYSTEMS_MAX=4
266-
CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
263+
CONFIG_RT_USING_DFS_V2=y
267264
# CONFIG_RT_USING_DFS_ELMFAT is not set
268265
CONFIG_RT_USING_DFS_DEVFS=y
269-
# CONFIG_RT_USING_DFS_ISO9660 is not set
270266
# CONFIG_RT_USING_DFS_ROMFS is not set
267+
CONFIG_RT_USING_DFS_PTYFS=y
268+
# CONFIG_RT_USING_DFS_PROCFS is not set
271269
# CONFIG_RT_USING_DFS_CROMFS is not set
272-
CONFIG_RT_USING_DFS_RAMFS=y
273270
# CONFIG_RT_USING_DFS_TMPFS is not set
274271
# CONFIG_RT_USING_DFS_MQUEUE is not set
275-
# CONFIG_RT_USING_DFS_NFS is not set
272+
CONFIG_RT_USING_PAGECACHE=y
273+
274+
#
275+
# page cache config
276+
#
277+
CONFIG_RT_PAGECACHE_COUNT=4096
278+
CONFIG_RT_PAGECACHE_ASPACE_COUNT=1024
279+
CONFIG_RT_PAGECACHE_PRELOAD=4
280+
CONFIG_RT_PAGECACHE_HASH_NR=1024
281+
CONFIG_RT_PAGECACHE_GC_WORK_LEVEL=90
282+
CONFIG_RT_PAGECACHE_GC_STOP_LEVEL=70
283+
# end of page cache config
276284
# end of DFS: device virtual file system
277285

278286
# CONFIG_RT_USING_FAL is not set
@@ -387,6 +395,9 @@ CONFIG_RT_USING_POSIX_STDIO=y
387395
CONFIG_RT_USING_POSIX_POLL=y
388396
# CONFIG_RT_USING_POSIX_SELECT is not set
389397
# CONFIG_RT_USING_POSIX_EVENTFD is not set
398+
CONFIG_RT_USING_POSIX_EPOLL=y
399+
CONFIG_RT_USING_POSIX_SIGNALFD=y
400+
CONFIG_RT_SIGNALFD_MAX_NUM=10
390401
# CONFIG_RT_USING_POSIX_TIMERFD is not set
391402
# CONFIG_RT_USING_POSIX_SOCKET is not set
392403
CONFIG_RT_USING_POSIX_TERMIOS=y
@@ -515,11 +526,7 @@ CONFIG_RT_USING_RYM=y
515526
# CONFIG_YMODEM_USING_CRC_TABLE is not set
516527
CONFIG_YMODEM_USING_FILE_TRANSFER=y
517528
# CONFIG_RT_USING_ULOG is not set
518-
CONFIG_RT_USING_UTEST=y
519-
CONFIG_UTEST_THR_STACK_SIZE=4096
520-
CONFIG_UTEST_THR_PRIORITY=20
521-
# CONFIG_RT_UTEST_USING_AUTO_RUN is not set
522-
# CONFIG_RT_UTEST_USING_ALL_CASES is not set
529+
# CONFIG_RT_USING_UTEST is not set
523530
# CONFIG_RT_USING_VAR_EXPORT is not set
524531
CONFIG_RT_USING_RESOURCE_ID=y
525532
CONFIG_RT_USING_ADT=y
@@ -548,6 +555,21 @@ CONFIG_RT_PAGE_MAX_ORDER=16
548555
# end of Debugging
549556
# end of Memory management
550557

558+
CONFIG_RT_USING_LWP=y
559+
# CONFIG_LWP_DEBUG is not set
560+
CONFIG_LWP_USING_RUNTIME=y
561+
CONFIG_RT_LWP_MAX_NR=30
562+
CONFIG_LWP_TASK_STACK_SIZE=16384
563+
CONFIG_RT_CH_MSG_MAX_NR=1024
564+
CONFIG_LWP_TID_MAX_NR=64
565+
CONFIG_RT_LWP_SHM_MAX_NR=64
566+
CONFIG_RT_USING_LDSO=y
567+
# CONFIG_ELF_DEBUG_ENABLE is not set
568+
# CONFIG_ELF_LOAD_RANDOMIZE is not set
569+
CONFIG_LWP_USING_TERMINAL=y
570+
CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
571+
CONFIG_RT_USING_VDSO=y
572+
551573
#
552574
# Using USB legacy version
553575
#
@@ -1468,7 +1490,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y
14681490
#
14691491
# On-chip Peripheral Drivers
14701492
#
1471-
# CONFIG_BSP_USING_DRIVERS_EXAMPLE is not set
1493+
CONFIG_BSP_USING_DRIVERS_EXAMPLE=y
14721494
CONFIG_BSP_USING_IOPAD=y
14731495
CONFIG_BSP_USING_UART=y
14741496
CONFIG_RT_USING_UART0=y
@@ -1481,7 +1503,14 @@ CONFIG_RT_USING_UART1=y
14811503
# CONFIG_BSP_USING_QSPI is not set
14821504
# CONFIG_BSP_USING_ETH is not set
14831505
# CONFIG_BSP_USING_PWM is not set
1484-
# CONFIG_BSP_USING_I2C is not set
1506+
CONFIG_BSP_USING_I2C=y
1507+
# CONFIG_I2C_USE_MIO is not set
1508+
CONFIG_I2C_USE_CONTROLLER=y
1509+
# CONFIG_RT_USING_I2C0 is not set
1510+
# CONFIG_RT_USING_I2C1 is not set
1511+
# CONFIG_RT_USING_I2C2 is not set
1512+
CONFIG_RT_USING_I2C3=y
1513+
# CONFIG_BSP_USING_I2C_MSG is not set
14851514
# CONFIG_BSP_USING_SDIF is not set
14861515
# CONFIG_BSP_USING_DC is not set
14871516
# CONFIG_BSP_USING_I2S is not set

bsp/phytium/aarch64/configs/pd2408_test_rtthread

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,6 +1482,11 @@ CONFIG_RT_USING_UART1=y
14821482
# CONFIG_BSP_USING_ETH is not set
14831483
# CONFIG_BSP_USING_PWM is not set
14841484
# CONFIG_BSP_USING_I2C is not set
1485+
CONFIG_BSP_USING_I2C_MSG=y
1486+
CONFIG_RT_USING_I2C0_MSG=y
1487+
CONFIG_RT_USING_I2C1_MSG=y
1488+
CONFIG_RT_USING_I2C2_MSG=y
1489+
CONFIG_RT_USING_I2C3_MSG=y
14851490
# CONFIG_BSP_USING_SDIF is not set
14861491
# CONFIG_BSP_USING_DC is not set
14871492
# CONFIG_BSP_USING_I2S is not set

bsp/phytium/aarch64/configs/pd2408_test_rtthread.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,11 @@
545545
#define BSP_USING_UART
546546
#define RT_USING_UART0
547547
#define RT_USING_UART1
548+
#define BSP_USING_I2C_MSG
549+
#define RT_USING_I2C0_MSG
550+
#define RT_USING_I2C1_MSG
551+
#define RT_USING_I2C2_MSG
552+
#define RT_USING_I2C3_MSG
548553
/* end of On-chip Peripheral Drivers */
549554

550555
/* Board extended module Drivers */

bsp/phytium/aarch64/rtconfig.h

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,12 @@
7373
/* end of rt_strnlen options */
7474
/* end of klibc options */
7575
#define RT_NAME_MAX 16
76+
#define RT_USING_SMART
7677
#define RT_USING_SMP
7778
#define RT_CPUS_NR 8
7879
#define RT_ALIGN_SIZE 4
79-
#define RT_THREAD_PRIORITY_256
80-
#define RT_THREAD_PRIORITY_MAX 256
80+
#define RT_THREAD_PRIORITY_32
81+
#define RT_THREAD_PRIORITY_MAX 32
8182
#define RT_TICK_PER_SECOND 1000
8283
#define RT_USING_OVERFLOW_CHECK
8384
#define RT_USING_HOOK
@@ -120,7 +121,7 @@
120121
#define RT_USING_DEVICE
121122
#define RT_USING_DEVICE_OPS
122123
#define RT_USING_CONSOLE
123-
#define RT_CONSOLEBUF_SIZE 512
124+
#define RT_CONSOLEBUF_SIZE 128
124125
#define RT_CONSOLE_DEVICE_NAME "uart1"
125126
#define RT_VER_NUM 0x50201
126127
#define RT_USING_STDC_ATOMIC
@@ -144,6 +145,7 @@
144145
#define ARCH_MM_MMU
145146
#define ARCH_ARM
146147
#define ARCH_ARM_MMU
148+
#define KERNEL_VADDR_START 0xffff000000000000
147149
#define ARCH_ARMV8
148150
#define ARCH_USING_ASID
149151
#define ARCH_USING_IRQ_CTX_LIST
@@ -175,11 +177,20 @@
175177
#define DFS_USING_POSIX
176178
#define DFS_USING_WORKDIR
177179
#define DFS_FD_MAX 16
178-
#define RT_USING_DFS_V1
179-
#define DFS_FILESYSTEMS_MAX 4
180-
#define DFS_FILESYSTEM_TYPES_MAX 4
180+
#define RT_USING_DFS_V2
181181
#define RT_USING_DFS_DEVFS
182-
#define RT_USING_DFS_RAMFS
182+
#define RT_USING_DFS_PTYFS
183+
#define RT_USING_PAGECACHE
184+
185+
/* page cache config */
186+
187+
#define RT_PAGECACHE_COUNT 4096
188+
#define RT_PAGECACHE_ASPACE_COUNT 1024
189+
#define RT_PAGECACHE_PRELOAD 4
190+
#define RT_PAGECACHE_HASH_NR 1024
191+
#define RT_PAGECACHE_GC_WORK_LEVEL 90
192+
#define RT_PAGECACHE_GC_STOP_LEVEL 70
193+
/* end of page cache config */
183194
/* end of DFS: device virtual file system */
184195

185196
/* Device Drivers */
@@ -247,6 +258,9 @@
247258
#define RT_USING_POSIX_DEVIO
248259
#define RT_USING_POSIX_STDIO
249260
#define RT_USING_POSIX_POLL
261+
#define RT_USING_POSIX_EPOLL
262+
#define RT_USING_POSIX_SIGNALFD
263+
#define RT_SIGNALFD_MAX_NUM 10
250264
#define RT_USING_POSIX_TERMIOS
251265
#define RT_USING_POSIX_DELAY
252266
#define RT_USING_POSIX_CLOCK
@@ -330,9 +344,6 @@
330344

331345
#define RT_USING_RYM
332346
#define YMODEM_USING_FILE_TRANSFER
333-
#define RT_USING_UTEST
334-
#define UTEST_THR_STACK_SIZE 4096
335-
#define UTEST_THR_PRIORITY 20
336347
#define RT_USING_RESOURCE_ID
337348
#define RT_USING_ADT
338349
#define RT_USING_ADT_AVL
@@ -350,6 +361,17 @@
350361

351362
/* end of Debugging */
352363
/* end of Memory management */
364+
#define RT_USING_LWP
365+
#define LWP_USING_RUNTIME
366+
#define RT_LWP_MAX_NR 30
367+
#define LWP_TASK_STACK_SIZE 16384
368+
#define RT_CH_MSG_MAX_NR 1024
369+
#define LWP_TID_MAX_NR 64
370+
#define RT_LWP_SHM_MAX_NR 64
371+
#define RT_USING_LDSO
372+
#define LWP_USING_TERMINAL
373+
#define LWP_PTY_MAX_PARIS_LIMIT 64
374+
#define RT_USING_VDSO
353375

354376
/* Using USB legacy version */
355377

@@ -541,10 +563,14 @@
541563

542564
/* On-chip Peripheral Drivers */
543565

566+
#define BSP_USING_DRIVERS_EXAMPLE
544567
#define BSP_USING_IOPAD
545568
#define BSP_USING_UART
546569
#define RT_USING_UART0
547570
#define RT_USING_UART1
571+
#define BSP_USING_I2C
572+
#define I2C_USE_CONTROLLER
573+
#define RT_USING_I2C3
548574
/* end of On-chip Peripheral Drivers */
549575

550576
/* Board extended module Drivers */

bsp/phytium/libraries/SConscript

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,16 @@ if GetDepend(['BSP_USING_PWM']):
137137
src += Glob(PHYTIUM_SDK_DIR+'/drivers/pwm/fpwm/*.c') + Glob(PORT_DRV_DIR+'/drv_pwm.c')
138138
path += [PHYTIUM_SDK_DIR + '/drivers/pwm/fpwm/']
139139

140-
## i2C
140+
## i2c
141141
if GetDepend(['BSP_USING_I2C']):
142142
src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2c/fi2c/*.c') + Glob(PORT_DRV_DIR+'/drv_i2c.c')
143143
path += [PHYTIUM_SDK_DIR + '/drivers/i2c/fi2c/']
144144

145+
## i2c msg
146+
if GetDepend(['BSP_USING_I2C_MSG']):
147+
src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2c/fi2c_v2_0/*.c') + Glob(PORT_DRV_DIR+'/drv_i2c_msg.c')
148+
path += [PHYTIUM_SDK_DIR + '/drivers/i2c/fi2c_v2_0/'] + [PHYTIUM_SDK_DIR + '/drivers/msg/']
149+
145150
# fdriver dc
146151
if GetDepend(['BSP_USING_DC']):
147152
src += Glob(PHYTIUM_SDK_DIR+'/drivers/media/fdcdp/*.c') + Glob(PORT_DRV_DIR+'/drv_dc.c')

bsp/phytium/libraries/drivers/Kconfig

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,26 @@ menu "On-chip Peripheral Drivers"
219219
default n
220220
endif
221221
endif
222-
222+
223+
menuconfig BSP_USING_I2C_MSG
224+
bool "Enable I2C Msg"
225+
default n
226+
select RT_USING_I2C
227+
if BSP_USING_I2C_MSG
228+
config RT_USING_I2C0_MSG
229+
bool "Enable i2c0 msg"
230+
default n
231+
config RT_USING_I2C1_MSG
232+
bool "Enable i2c1 msg"
233+
default n
234+
config RT_USING_I2C2_MSG
235+
bool "Enable i2c2 msg"
236+
default n
237+
config RT_USING_I2C3_MSG
238+
bool "Enable i2c3 msg"
239+
default n
240+
endif
241+
223242
menuconfig BSP_USING_SDIF
224243
bool "Enable SDIF"
225244
default n

0 commit comments

Comments
 (0)