没有合适的资源?快使用搜索试试~ 我知道了~
RK3188笔记
资源推荐
资源详情
资源评论
1.
电量检测用SARADC_ANI0通道,platform_device代码在arch/arm/machrk30/devices.c中:
[cpp]
01. structplatform_devicedevice_adc={
02. .name="rk30‐adc",
03. .id=‐1,
04. .num_resources=ARRAY_SIZE(rk30_adc_resource),
05. .resource=rk30_adc_resource,
06. .dev={
07. .platform_data=&rk30_adc_pdata,
08. },
09. };
platform_driver代码在drivers/adc/plat/rk30_adc.c中,实现了start,stop,read函数;
接着电量检测上报代码在power/rk30_factory_adc_battery.c中,注册到drivers/adc/core.c中,通过回调start,read等进行电量的读取上报动作;
上层system/core/charger/charger.c中检测上报的事件,如果全部offline或者超时则会重启机子。
power上报机制:
drivers/power/power_supply_core.cpower_supply_register函数中
[cpp]
01. dev‐>class=power_supply_class;
02. dev‐
>type=&power_supply_dev_type;
03. dev‐>parent=parent;
04. dev‐>release=power_supply_dev_release;
05. dev_set_drvdata(dev,psy);
06. psy‐>dev=dev;
主要是为dev>type和psy>dev赋值,并且power_supply_class_init函数中:
[cpp]
01. power_supply_class‐>dev_uevent=power_supply_uevent;
使得后续kobject_uevent上报的是power_supply_uevent的内容,位于drivers/power/power_supply_sysfs.c中;
在上层cat时候显示的则为power_supply_sysfs.c中
[cpp]
01. #definePOWER_SUPPLY_ATTR(_name)\
02. {\
03. .attr={.name=#_name},\
04. .show=power_supply_show_property,\
05. .store=power_supply_store_property,\
06. }
所定义的内容。
2.
3G
3G唤醒主机原理:
在3G中断到来时候调用wake_lock_timeout(&bp>bp_wakelock,10*HZ);上层会保持不休眠
平台的gpio定义在boardrk3188rk6163gonlydataABC.c中:
[cpp]
01. staticintmu509_io_deinit(void)
02. {
03.
04. return0;
05. }
06.
07. structrk29_mu509_datark29_mu509_info={
08. .io_init=mu509_io_init,
09. .io_deinit=mu509_io_deinit,
无法加载插件。
无法加载插件。
无法加载插件。
无法加载插件。
10. .modem_power_en=RK30_PIN0_PC6,
11. .bp_power=RK30_PIN2_PD5,
12. .bp_reset=RK30_PIN0_PB4,
13. .ap_wakeup_bp=RK30_PIN0_PC4,
14. .bp_wakeup_ap=RK30_PIN0_PC5,
15. };
16. structplatform_devicerk29_device_mu509={
17. .name="mu509",
18. .id=‐1,
19. .dev={
20. .platform_data=&rk29_mu509_info,
21. }
22. };
GPIO逻辑控制代码在kernel/drivers/misc/bp/chips中
3.
编译步骤
kernel:
cdkernel;
makeARCH=armrk3188_ABC_3gonlydata_defconfigmenuconfig
makeARCH=armrk3188_ABC_3gonlydata_defconfig
makekernel.img
android:
A.高清屏需要配置:vimdevice/rockchip/rk30sdk/BoardConfig.mk将下面两个宏改为
true
BOARD_USE_LCDC_COMPOSER:=true
BOARD_LCDC_COMPOSER_LANDSCAPE_ONLY:=true
B.执行make
C.执行./mkimage.sh
即可在rockdev/Image目录下生成以下4个img
system.imgboot.imgrecovery.imgmisc.img
4.
wifibt模块AP6210
看/sys/class/rkwifi节点有没有出来,接着cat/sys/class/rkwifi/chip看芯片型号对不对,这部分的实现代码在
kernel/drivers/net/wireless/wifi_sys/rkwifi_sys_iface.c中。
照着RK的文档配置好了WIFI,log提示没有问题,点击后界面一直提示正在搜索网络,但是一直没有结果出来。原来是由于kernel中WIFI模块晶振配置不正确,
应该为26M,却是配置成了24M。修改完成重烧kernel后启动,马上搜索到网络了
bt打开马上关闭,提示如下log:
D/AudioHardware(108):AudioHardwarepcmplaybackisexitingstandby.
D/AudioHardware(108):openPcmOut_l()mPcmOpenCnt:0
D/alsa_pcm(108):pcm_open(0x0003f000)
D/alsa_pcm(108):pcm_open()periodszmultiplier16
D/alsa_pcm(108):pcm_open()periodcnt6
D/alsa_pcm(108):pcm_open()period_cnt6period_sz1024channels2
I/alsa_mix(108):>PlaybackPathaccess3
D/BluetoothManagerService(362):enable():mBluetooth=android.bluetooth.IBluetooth$Stub$Proxy@413b1880mBinding=false
D/BluetoothManagerService(362):Message:MESSAGE_ENABLE
D/BluetoothManagerService(362):MESSAGE_ENABLE:mBluetooth=android.bluetooth.IBluetooth$Stub$Proxy@413b1880
D/BluetoothAdapterService(810):BroadcastingupdateAdapterState()to1receivers.
D/BluetoothBondStateMachine(810):make
D/BluetoothManagerService(362):Message:MESSAGE_BLUETOOTH_STATE_CHANGE
D/BluetoothManagerService(362):MESSAGE_BLUETOOTH_STATE_CHANGE:prevState=10,newState=11
D/BluetoothManagerService(362):BluetoothStateChangeIntent:10>11
I/bluedroid(810):enable
D/BTIF_CORE(810):notdisabled
E/BluetoothAdapterState(810):ErrorwhileturningBluetoothOn
无法加载插件。
D/BluetoothAdapterService(810):BroadcastingupdateAdapterState()to1receivers.
I/BluetoothBondStateMachine(810):StableState():EnteringOffState
D/BluetoothManagerService(362):Message:MESSAGE_BLUETOOTH_STATE_CHANGE
D/BluetoothManagerService(362):MESSAGE_BLUETOOTH_STATE_CHANGE:prevState=11,newState=10
D/BluetoothManagerService(362):BroadcastingonBluetoothStateChange(false)to7receivers.
D/BluetoothHeadset(591):onBluetoothStateChange:up=false
E/BluetoothHeadset(591):
E/BluetoothHeadset(591):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothHeadset$2@410d4f70
E/BluetoothHeadset(591):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothHeadset(591):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothHeadset(591):atandroid.content.ContextWrapper.unbindService(ContextWrapper.java:484)
E/BluetoothHeadset(591):atandroid.bluetooth.BluetoothHeadset$1.onBluetoothStateChange(BluetoothHeadset.java:234)
E/BluetoothHeadset(591):atandroid.bluetooth.IBluetoothStateChangeCallback$Stub.onTransact(IBluetoothStateChangeCallback.java:55)
E/BluetoothHeadset(591):atandroid.os.Binder.execTransact(Binder.java:351)
E/BluetoothHeadset(591):atdalvik.system.NativeStart.run(NativeMethod)
D/BluetoothA2dp(362):onBluetoothStateChange:up=false
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
E/BluetoothA2dp(362):
E/BluetoothA2dp(362):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothA2dp$2@413f3418
E/BluetoothA2dp(362):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothA2dp(362):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothA2dp(362):atandroid.bluetooth.BluetoothA2dp$1.onBluetoothStateChange(BluetoothA2dp.java:121)
E/BluetoothA2dp(362):atcom.android.server.BluetoothManagerService.sendBluetoothStateCallback(BluetoothManagerService.java:575)
E/BluetoothA2dp(362):atcom.android.server.BluetoothManagerService.bluetoothStateChangeHandler(BluetoothManagerService.java:1189)
E/BluetoothA2dp(362):atcom.android.server.BluetoothManagerService.access$3000(BluetoothManagerService.java:47)
E/BluetoothA2dp(362):atcom.android.server.BluetoothManagerService$BluetoothHandler.handleMessage(BluetoothManagerService.java:941)
E/BluetoothA2dp(362):atandroid.os.Handler.dispatchMessage(Handler.java:99)
E/BluetoothA2dp(362):atandroid.os.Looper.loop(Looper.java:137)
E/BluetoothA2dp(362):atandroid.os.HandlerThread.run(HandlerThread.java:60)
E/BluetoothPan(516):
E/BluetoothPan(516):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothPan$2@410ab038
E/BluetoothPan(516):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothPan(516):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothPan(516):atandroid.content.ContextWrapper.unbindService(ContextWrapper.java:484)
E/BluetoothPan(516):atandroid.bluetooth.BluetoothPan$1.onBluetoothStateChange(BluetoothPan.java:183)
E/BluetoothPan(516):atandroid.bluetooth.IBluetoothStateChangeCallback$Stub.onTransact(IBluetoothStateChangeCallback.java:55)
E/BluetoothPan(516):atandroid.os.Binder.execTransact(Binder.java:351)
E/BluetoothPan(516):atdalvik.system.NativeStart.run(NativeMethod)
D/BluetoothInputDevice(516):onBluetoothStateChange:up=false
E/BluetoothInputDevice(516):
E/BluetoothInputDevice(516):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothInputDevice$2@410a5b68
E/BluetoothInputDevice(516):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothInputDevice(516):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothInputDevice(516):atandroid.content.ContextWrapper.unbindService(ContextWrapper.java:484)
E/BluetoothInputDevice(516):atandroid.bluetooth.BluetoothInputDevice$1.onBluetoothStateChange(BluetoothInputDevice.java:199)
E/BluetoothInputDevice(516):atandroid.bluetooth.IBluetoothStateChangeCallback$Stub.onTransact(IBluetoothStateChangeCallback.java:55)
E/BluetoothInputDevice(516):atandroid.os.Binder.execTransact(Binder.java:351)
E/BluetoothInputDevice(516):atdalvik.system.NativeStart.run(NativeMethod)
D/BluetoothHeadset(362):onBluetoothStateChange:up=false
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
E/BluetoothHeadset(362):
E/BluetoothHeadset(362):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothHeadset$2@41249b68
E/BluetoothHeadset(362):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothHeadset(362):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothHeadset(362):atandroid.bluetooth.BluetoothHeadset$1.onBluetoothStateChange(BluetoothHeadset.java:234)
E/BluetoothHeadset(362):atcom.android.server.BluetoothManagerService.sendBluetoothStateCallback(BluetoothManagerService.java:575)
E/BluetoothHeadset(362):atcom.android.server.BluetoothManagerService.bluetoothStateChangeHandler(BluetoothManagerService.java:1189)
E/BluetoothHeadset(362):atcom.android.server.BluetoothManagerService.access$3000(BluetoothManagerService.java:47)
E/BluetoothHeadset(362):atcom.android.server.BluetoothManagerService$BluetoothHandler.handleMessage(BluetoothManagerService.java:941)
E/BluetoothHeadset(362):atandroid.os.Handler.dispatchMessage(Handler.java:99)
E/BluetoothHeadset(362):atandroid.os.Looper.loop(Looper.java:137)
E/BluetoothHeadset(362):atandroid.os.HandlerThread.run(HandlerThread.java:60)
D/BluetoothHeadset(591):onBluetoothStateChange:up=false
E/BluetoothHeadset(591):
E/BluetoothHeadset(591):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothHeadset$2@410ac518
E/BluetoothHeadset(591):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothHeadset(591):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothHeadset(591):atandroid.content.ContextWrapper.unbindService(ContextWrapper.java:484)
E/BluetoothHeadset(591):atandroid.bluetooth.BluetoothHeadset$1.onBluetoothStateChange(BluetoothHeadset.java:234)
E/BluetoothHeadset(591):atandroid.bluetooth.IBluetoothStateChangeCallback$Stub.onTransact(IBluetoothStateChangeCallback.java:55)
E/BluetoothHeadset(591):atandroid.os.Binder.execTransact(Binder.java:351)
E/BluetoothHeadset(591):atdalvik.system.NativeStart.run(NativeMethod)
D/BluetoothPbap(516):onBluetoothStateChange:up=false
E/BluetoothPbap(516):
E/BluetoothPbap(516):java.lang.IllegalArgumentException:Servicenotregistered:android.bluetooth.BluetoothPbap$2@410b0368
E/BluetoothPbap(516):atandroid.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:921)
E/BluetoothPbap(516):atandroid.app.ContextImpl.unbindService(ContextImpl.java:1460)
E/BluetoothPbap(516):atandroid.content.ContextWrapper.unbindService(ContextWrapper.java:484)
E/BluetoothPbap(516):atandroid.bluetooth.BluetoothPbap$1.onBluetoothStateChange(BluetoothPbap.java:122)
E/BluetoothPbap(516):atandroid.bluetooth.IBluetoothStateChangeCallback$Stub.onTransact(IBluetoothStateChangeCallback.java:55)
E/BluetoothPbap(516):atandroid.os.Binder.execTransact(Binder.java:351)
E/BluetoothPbap(516):atdalvik.system.NativeStart.run(NativeMethod)
D/BluetoothManagerService(362):BluetoothStateChangeIntent:11>10
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/dalvikvm(516):GC_CONCURRENTfreed438K,15%free4671K/5476K,paused2ms+4ms,total28ms
W/ContextImpl(516):Callingamethodinthesystemprocesswithoutaqualifieduser:android.app.ContextImpl.startService:1361
android.content.ContextWrapper.startService:450android.content.ContextWrapper.startService:450
com.android.settings.bluetooth.DockEventReceiver.beginStartingService:134com.android.settings.bluetooth.DockEventReceiver.onReceive:115
D/DockEventReceiver(516):finishStartingService:stoppingservice
D/BluetoothAdapterService(1091175776)(810):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@410a1ea0
D/AudioHardware(108):AudioHardwarepcmplaybackisgoingtostandby.
I/alsa_mix(108):>PlaybackPathaccess3
D/AudioHardware(108):closePcmOut_l()mPcmOpenCnt:1
原因,kernel/net/rfkill/rfkillrk.c中是控制BTGPIO的驱动,由于二合一模块共用一个电源,WIFI已经打开了模块电源,BT时候又申请该GPIO去控制电源,导致
直接返回,没有往下执行其他动作,把BT的电源控制GPIO去掉即可,成功的LOG如下:
D/BluetoothManagerService(364):enable():mBluetooth=nullmBinding=false
D/BluetoothManagerService(364):Message:MESSAGE_ENABLE
D/BluetoothManagerService(364):MESSAGE_ENABLE:mBluetooth=null
D/BluetoothAdapterService(802):REFCOUNT:CREATED.INSTANCE_COUNT2
D/BluetoothAdapterState(802):make
I/bluedroid(802):init
I/bte_conf(802):Attempttoloadstackconffrom/etc/bluetooth/bt_stack.conf
I/bluedroid(802):get_profile_interfacesocket
I/GKI_LINUX(802):gki_task_entry:gki_task_entrytask_id=1[BTIF]starting
D/BluetoothManagerService(364):BluetoothServiceConnection:connectedtoAdapterService
D/BluetoothManagerService(364):Message:MESSAGE_BLUETOOTH_SERVICE_CONNECTED
D/BluetoothManagerService(364):MESSAGE_BLUETOOTH_SERVICE_CONNECTED
D/BluetoothManagerService(364):CallingonBluetoothServiceUpcallbacks
D/BluetoothManagerService(364):BroadcastingonBluetoothServiceUp()to5receivers.
D/BluetoothAdapter(441):onBluetoothServiceUp:android.bluetooth.IBluetooth$Stub$Proxy@436b8cc0
D/BluetoothAdapter(703):onBluetoothServiceUp:android.bluetooth.IBluetooth$Stub$Proxy@42369fa0
D/BluetoothAdapter(546):onBluetoothServiceUp:android.bluetooth.IBluetooth$Stub$Proxy@42268250
D/BluetoothManagerService(364):BluetoothAdapternamechangedtoABC
D/BluetoothManagerService(364):StoredBluetoothname:ABC
D/BluetoothAdapter(364):onBluetoothServiceUp:android.bluetooth.IBluetooth$Stub$Proxy@426800e0
D/BluetoothAdapter(802):onBluetoothServiceUp:com.android.bluetooth.btservice.AdapterService$AdapterServiceBinder@4228f608
D/BluetoothAdapterService(802):BroadcastingupdateAdapterState()to1receivers.
D/BluetoothBondStateMachine(802):make
D/BluetoothManagerService(364):Message:MESSAGE_BLUETOOTH_STATE_CHANGE
D/BluetoothManagerService(364):MESSAGE_BLUETOOTH_STATE_CHANGE:prevState=10,newState=11
D/BluetoothManagerService(364):BluetoothStateChangeIntent:10>11
I/BluetoothBondStateMachine(802):StableState():EnteringOffState
D/BluetoothAdapterService(1109812520)(802):getState():mAdapterProperties:com.android.bluetooth.btservice.AdapterProperties@4228f650
D/HeadsetService(802):Receivedstartrequest.Startingprofile...
D/HeadsetStateMachine(802):make
I/bluedroid(802):get_profile_interfacehandsfree
E/btbtif(802):btif_enable_service:currentservices:0x100040
D/A2dpService(802):Receivedstartrequest.Startingprofile...
D/A2dpStateMachine(802):make
I/bluedroid(802):get_profile_interfacea2dp
I/GKI_LINUX(802):gki_task_entry:gki_task_entrytask_id=2[A2DPMEDIA]starting
E/btbtif(802):btif_enable_service:currentservices:0x140040
D/A2dpStateMachine(802):EnterDisconnected:2
D/HidService(802):Receivedstartrequest.Startingprofile...
I/bluedroid(802):get_profile_interfacehidhost
E/btbtif(802):btif_enable_service:currentservices:0x140040
D/BluetoothAdapterService(802):Profilestillnotrunning:com.android.bluetooth.hdp.HealthService
D/HeadsetPhoneState(802):sendDeviceStateChanged.mService=0mSignal=0mRoam=0mBatteryCharge=4
D/HealthService(802):Receivedstartrequest.Startingprofile...
I/bluedroid(802):get_profile_interfacehealth
D/BluetoothAdapterService(802):Profilestillnotrunning:com.android.bluetooth.hdp.HealthService
D/BluetoothAdapterService(802):Profilestillnotrunning:com.android.bluetooth.hdp.HealthService
D/PanService(802):Receivedstartrequest.Startingprofile...
D/BluetoothPanServiceJni(802):initializeNative(L110):pan
I/bluedroid(802):get_profile_interfacepan
D/BluetoothAdapterService(802):Profilestillnotrunning:com.android.bluetooth.pan.PanService
I/bluedroid(802):enable
I/bt_hci_bdroid(802):init
I/bt_vendor(802):init
I/bt_vnd_conf(802):Attempttoloadconffrom/etc/bluetooth/bt_vendor.conf
I/bt_vnd_conf(802):vnd_load_conffile>/etc/bluetooth/bt_vendor.conf<notfound
D/bt_vendor(802):opfor5
I/bt_hci_bdroid(802):bt_hc_worker_threadstarted
D/bt_vendor(802):opfor0
D/bt_upio(802):is_emulator_context:0
D/bt_upio(802):is_rfkill_disabled?[0]
D/bt_upio(802):Delay500msforbluetoothpowerup
D/bt_vendor(802):opfor0
D/bt_upio(802):is_emulator_context:0
D/bt_upio(802):is_rfkill_disabled?[0]
D/bt_upio(802):Delay500msforbluetoothpowerup
D/bt_vendor(802):opfor3
剩余24页未读,继续阅读
资源评论
「已注销」
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功