Skip to content

Instantly share code, notes, and snippets.

@strazzere
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save strazzere/a4bc0d91cd1578ae2c97 to your computer and use it in GitHub Desktop.
Save strazzere/a4bc0d91cd1578ae2c97 to your computer and use it in GitHub Desktop.
SMI
crw-rw---- system camera u:object_r:CAM_CAL_DRV_device:s0 CAM_CAL_DRV
crw-rw---- system camera u:object_r:LC898212AF_device:s0 LC898212AF
crw-rw---- system media u:object_r:MJC_device:s0 MJC
crw-rw---- system media u:object_r:MTK_SMI_device:s0 MTK_SMI
crw------- system system u:object_r:RT_Monitor_device:s0 RT_Monitor
crw-rw---- system media u:object_r:Vcodec_device:s0 Vcodec
crw-rw-r-- system radio u:object_r:alarm_device:s0 alarm
crw-rw---- system audio u:object_r:device:s0 aud_hs_amp
crw-rw---- system camera u:object_r:camera_fdvt_device:s0 camera-fdvt
crw-rw---- system camera u:object_r:camera_isp_device:s0 camera-isp
drwxr-xr-x system system u:object_r:cgroup:s0 cpuctl
cr--r----- root system u:object_r:devmap_device:s0 devmap
crw-rw---- system media u:object_r:fm_device:s0 fm
drwxrwx--- root system u:object_r:fscklogs:s0 fscklogs
crw-rw---- gps system u:object_r:gps_device:s0 gps
crw-rw---- system audio u:object_r:htc_audio_device:s0 htc-acoustic
crw-rw---- system system u:object_r:iio_device:s0 iio:device0
crw-rw---- system camera u:object_r:kd_camera_flashlight_device:s0 kd_camera_flashlight
crw-rw---- system camera u:object_r:kd_camera_hw_device:s0 kd_camera_hw
crw-rw---- system camera u:object_r:kd_camera_hw_bus2_device:s0 kd_camera_hw_bus2
cr--r----- root system u:object_r:md32_device:s0 md32
drwx------ root system u:object_r:device:s0 memcg
crw-rw---- root system u:object_r:misc_sd_device:s0 misc-sd
crw------- system system u:object_r:mobicore_admin_device:s0 mobicore
crw-rw-rw- system system u:object_r:mobicore_user_device:s0 mobicore-user
crw-rw---- system graphics u:object_r:graphics_device:s0 mtk_disp_mgr
crw-rw---- system media u:object_r:mtk_sched_device:s0 mtk_sched
crw-rw---- system system u:object_r:rtc_device:s0 rtc0
crw-rw---- root system u:object_r:sec_device:s0 sec
crw-rw---- system system u:object_r:sensor_hub_device:s0 shub_dload
crw-rw---- system system u:object_r:sensor_hub_device:s0 shub_event
crw-rw---- system system u:object_r:sensor_hub_device:s0 shub_log
crw-rw---- system system u:object_r:stpant_device:s0 stpant
crw-rw---- system system u:object_r:stpwmt_device:s0 stpwmt
crw-rw---- system graphics u:object_r:sw_sync_device:s0 sw_sync
crw-rw---- system audio u:object_r:htc_audio_device:s0 tfa9895
crw-rw---- system audio u:object_r:htc_audio_device:s0 tfa9895l
crw-rw---- system radio u:object_r:ttyGS_device:s0 ttyGS0
crw-rw---- system radio u:object_r:ttyGS_device:s0 ttyGS1
crw-rw---- system radio u:object_r:ttyGS_device:s0 ttyGS3
crw------- system system u:object_r:autobot_device:s0 ttyGS6
crw-rw---- system system u:object_r:cir_device:s0 ttyMT1
crw-rw---- system system u:object_r:ttyMT_device:s0 ttyMT2
crw-rw---- system vpn u:object_r:tun_device:s0 tun
crw-rw---- system net_bt_stack u:object_r:uhid_device:s0 uhid
crw-rw---- system media u:object_r:uibc_device:s0 uibc
crw-rw---- system net_bt_admin u:object_r:uhid_device:s0 uinput
drwxrwx--- shell shell u:object_r:device:s0 usb-ffs
crw-rw---- system system u:object_r:wmtWifi_device:s0 wmtWifi
crw-rw---- system system u:object_r:wmtdetect_device:s0 wmtdetect
typedef struct
{
unsigned int address;
unsigned int value;
} MTK_SMI_BWC_REGISTER_SET;
static long smi_ioctl( struct file * pFile,
unsigned int cmd,
unsigned long param)
{
int ret = 0;
switch (cmd)
{
case MTK_IOC_SMI_BWC_REGISTER_SET:
{
MTK_SMI_BWC_REGISTER_SET cfg;
if( smi_tuning_mode != 1) {
SMIMSG("Only support MTK_IOC_SMI_BWC_REGISTER_SET in tuning mode");
return 0;
}
ret = copy_from_user(&cfg, (void*)param , sizeof(MTK_SMI_BWC_REGISTER_SET));
if (ret) {
SMIMSG(" MTK_IOC_SMI_BWC_REGISTER_SET, copy_to_user failed: %d\n", ret);
return -EFAULT;
}
if(((unsigned int *)cfg.address) != NULL){
M4U_WriteReg32(cfg.address, 0, cfg.value);
SMIMSG("[Tunning] ADDR = 0x%x, VALUE = 0x%x\n", cfg.address, cfg.value);
}
break;
}
...
}
static inline void M4U_WriteReg32(unsigned long M4uBase, unsigned long Offset, unsigned int Val)
{
//unsigned int read;
iowrite32(Val, (void*)(M4uBase+Offset));
mb();
/*
read = M4U_ReadReg32(M4uBase, Offset);
if(read != Val)
{
printk("error to write base=0x%x, reg=0x%x, val=0x%x, read=0x%x\n",M4uBase,Offset, Val, read );
}
else
{
printk("write base=0x%x, reg=0x%x, val=0x%x, read=0x%x\n",M4uBase,Offset, Val, read );
}
*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment