1*53ee8cc1Swenshuai.xi #include <fcntl.h>
2*53ee8cc1Swenshuai.xi #include <sys/ioctl.h>
3*53ee8cc1Swenshuai.xi #include <stdio.h>
4*53ee8cc1Swenshuai.xi #include "mdrv_system_io.h"
5*53ee8cc1Swenshuai.xi #include "mdrv_types.h"
6*53ee8cc1Swenshuai.xi #include "mdrv_system_st.h"
7*53ee8cc1Swenshuai.xi
8*53ee8cc1Swenshuai.xi
9*53ee8cc1Swenshuai.xi #define SYS_MODULE_KERNAL_NAME "/dev/system"
10*53ee8cc1Swenshuai.xi #define SYS_PRINT(fmt, args...) printf("[SYSTEM (user mode)][%05d] " fmt, __LINE__, ## args)
11*53ee8cc1Swenshuai.xi
12*53ee8cc1Swenshuai.xi static int SYS_fd = 0;
13*53ee8cc1Swenshuai.xi
14*53ee8cc1Swenshuai.xi
MAdp_SYS_Init(void)15*53ee8cc1Swenshuai.xi void MAdp_SYS_Init(void)
16*53ee8cc1Swenshuai.xi {
17*53ee8cc1Swenshuai.xi if (SYS_fd==0) //First time open
18*53ee8cc1Swenshuai.xi {
19*53ee8cc1Swenshuai.xi SYS_fd = open(SYS_MODULE_KERNAL_NAME, O_RDWR);
20*53ee8cc1Swenshuai.xi SYS_PRINT("open System Kernal finish\n");
21*53ee8cc1Swenshuai.xi }
22*53ee8cc1Swenshuai.xi else
23*53ee8cc1Swenshuai.xi {
24*53ee8cc1Swenshuai.xi SYS_PRINT("Fail to open System Kernal Module\n");
25*53ee8cc1Swenshuai.xi }
26*53ee8cc1Swenshuai.xi //printf("\nStart T8 demo \n");
27*53ee8cc1Swenshuai.xi //Init Scaler
28*53ee8cc1Swenshuai.xi //printf("SYS_fd= %d\n",SYS_fd);
29*53ee8cc1Swenshuai.xi SYS_PRINT("Start to Init System\n");
30*53ee8cc1Swenshuai.xi }
31*53ee8cc1Swenshuai.xi
MAdp_SPI_Load(U32 start,U32 len,U8 * bin)32*53ee8cc1Swenshuai.xi void MAdp_SPI_Load(U32 start,U32 len,U8 *bin)
33*53ee8cc1Swenshuai.xi {
34*53ee8cc1Swenshuai.xi IO_SYS_SPI_t spi;
35*53ee8cc1Swenshuai.xi spi.u32Start=start;
36*53ee8cc1Swenshuai.xi spi.u32Len=len;
37*53ee8cc1Swenshuai.xi spi.u8data=bin;
38*53ee8cc1Swenshuai.xi
39*53ee8cc1Swenshuai.xi ioctl(SYS_fd,IOCTL_SYS_SPI_LOAD,&spi);
40*53ee8cc1Swenshuai.xi
41*53ee8cc1Swenshuai.xi // printf("\nstart 0x%08x , size %d bytes \n",spi.u32Start,spi.u32Len);
42*53ee8cc1Swenshuai.xi // unsigned int i;
43*53ee8cc1Swenshuai.xi // printf("\nMAdp_SYS_SPI_LOAD\n");
44*53ee8cc1Swenshuai.xi // for (i=0;i<0x10;i++) printf("0x%02x ",*(spi.u8data+i));
45*53ee8cc1Swenshuai.xi
46*53ee8cc1Swenshuai.xi }
47