日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

研發(fā)干貨丨關于RK3399 開發(fā)板休眠、關機功能簡析

飛凌嵌入式 ? 2021-11-25 13:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RK3399 主板

文章目錄

Power按鍵

~短按休眠和長按關機

關機命令

~poweroff命令關機


OK3399-C平臺采用RK3399 主CPU芯片設計,支持底板Power按鍵休眠喚醒以及關機功能,Linux命令行也可以通過命令進行關機,下面對這兩種方式進行簡單的解析。

Power按鍵

Power按鍵的休眠喚醒功能一般是與PMIC芯片和CPU相關的,硬件上該按鍵會連接到PMIC的PWRON引腳和CPU對應的引腳上。

先來看power按鍵在PMIC側的響應機制,POWER鍵按下以后,經(jīng)過TdbPWRONF時間以后,INT引腳變?yōu)榈碗娖?,觸發(fā)中斷。內(nèi)核驅動響應中斷,執(zhí)行休眠程序。

如果PWRON繼續(xù)保持低電平超過TdPWRONLP,PMIC就會響應,RK3399板卡將進行關機。

f_0dd0d732357aa037478d3a458cd1b1b6&t=jpg&o=&s=&v=1610680194

RK3399短按休眠和長按關機

Log信息:


[ 10.250531] PM: Syncing filesystems ... done. [ 10.255148] test message. //加入的測試信息 [ 10.256842] Freezing user space processes ... (elapsed 0.003 seconds) done. [ 10.260770] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. [ 10.263308] Suspending console(s) (use no_console_suspend to debug) INFO: sleep mode config[0xde]: INFO: AP_PWROFF INFO: SLP_ARMPD INFO: SLP_PLLPD INFO: DDR_RET INFO: SLP_CENTER_PD INFO: wakeup source config[0x804]: INFO:

GPIO

interrupt can wakeup system INFO: PWM interrupt can wakeup system INFO: PWM CONFIG[0x4]: INFO: PWM: PWM2D_REGULATOR_EN INFO: APIOS info[0x0]: INFO: not config INFO: GPIO POWER INFO: INFO: GPIO1_C1 INFO: GPIO1_B6 INFO: PMU_MODE_CONG: 0x1477bf51

涉及驅動文件

kernel/kernel/power/suspend.c/** * enter_state - Do common work needed to enter system sleep state. * @state: System sleep state to enter. * * Make sure that no one else is trying to put the system into a sleep state. * Fail if that's not the case. Otherwise, prepare for system suspend, make the * system enter the given sleep state and clean up after wakeup. */ static int enter_state(suspend_state_t state) { int error; trace_suspend_resume(TPS("suspend_enter"), state, true); if (state == PM_SUSPEND_FREEZE) { #ifdef CONFIG_PM_DEBUG if (pm_test_level != TEST_NONE && pm_test_level <= TEST_CPUS) { ? ? ? ? ? ? ? ? ? ? ? ?pr_warning("PM: Unsupported test mode for suspend to idle," ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "please choose none/freezer/devices/platform.\n"); ? ? ? ? ? ? ? ? ? ? ? ?return -EAGAIN; ? ? ? ? ? ? ? ?} #endif ? ? ? ?} else if (!valid_state(state)) { ? ? ? ? ? ? ? ?return -EINVAL; ? ? ? ?} ? ? ? ?if (!mutex_trylock(&pm_mutex)) ? ? ? ? ? ? ? ?return -EBUSY; ? ? ? ?if (state == PM_SUSPEND_FREEZE) ? ? ? ? ? ? ? ?freeze_begin(); #ifndef CONFIG_SUSPEND_SKIP_SYNC ? ? ? ?trace_suspend_resume(TPS("sync_filesystems"), 0, true); ? ? ? ?printk(KERN_INFO "PM: Syncing filesystems ... "); ? ? ? ?sys_sync(); ? ? ? ?printk("done.\n"); ? ? ? ?trace_suspend_resume(TPS("sync_filesystems"), 0, false); #endif ? ? ? ?pr_debug("PM: Preparing system for sleep (%s)\n", pm_states[state]); ? ? ? ?pm_suspend_clear_flags(); ? ? ? ?error = suspend_prepare(state); ? ? ? ?if (error) ? ? ? ? ? ? ? ?goto Unlock; ? ? ? ?if (suspend_test(TEST_FREEZER)) ? ? ? ? ? ? ? ?goto Finish; ? ? ? ?trace_suspend_resume(TPS("suspend_enter"), state, false); ? ? ? ?pr_debug("PM: Suspending system (%s)\n", pm_states[state]); ? ? ? ?pm_restrict_gfp_mask(); ? ? ? ?error = suspend_devices_and_enter(state); ? ? ? ?pm_restore_gfp_mask(); Finish: ? ? ? ?pr_debug("PM: Finishing wakeup.\n"); ? ? ? ?suspend_finish(); Unlock: ? ? ? ?mutex_unlock(&pm_mutex); ? ? ? ?return error; }

通過代碼可知,Power按鍵觸發(fā)的休眠和關機會執(zhí)行sys_sync函數(shù),進行系統(tǒng)數(shù)據(jù)的保存,這與突然掉電導致的異常關機是有很大區(qū)別的。

RK3399關機命令

RK3399 平臺Linux下的關機命令有shutdown、halt、poweroff命令等.

Poweroff命令關機

Log信息:

[root@rk3399:/]# poweroff [root@rk3399:/]# stop finishedStopping input-event-daemon: done stop auto-reboot finished Stopping dnsmasq: OK Stopping vsftpd: stopped vsftpd (pid 1072) OK [ 20.099392] [BT_RFKILL]: bt shut off power [ 20.132245] configfs-gadget gadget: unbind function 'Function FS Gadget'/ffffffc07b025a38 Stopping sshd: OK Stopping lighttpd: OK Gracefully shutting down php-fpm . done Stopping dhcpcd... stopped /sbin/dhcpcd (pid 924) killall: rkisp_3A_server: no process killed Stopping network: OK stop finishedStopping system message bus: done Saving random seed... done. Stopping logging: OK umount: can't remount adb read-only umount: devtmpfs busy - remounted read-only [ 21.589884] EXT4-fs (mmcblk2p8): re-mounted. Opts: (null) The system is going down NOW! Sent SIGTERM to all processes Sent SIGKILL to all processes Requesting system poweroff [ 23.597578] cpu cpu4: min=816000, max=816000 [ 23.598572] cpu cpu0: min=816000, max=816000 [ 23.669985] I : [File] : drivers/gpu/arm/midgard_for_linux/platform/rk/mali_kbase_config_rk.c; [Line] : 274; [Func] : kbase_platform_rk_shutdown(); to make vdd_gpu enabled for turning off pd_gpu in pm_framework. [ 23.671701] rk-vcodec ff660000.rkvdec: shutdown [ 23.672132] rk-vcodec ff650000.vpu_service: shutdown [ 23.673046] rk808 0-001b: System power off [ 23.673419] rk808 0-001b: test message //加入的測試信息 [root@rk3399:/]# poweroff --help BusyBox v1.27.2 (2020-03-19 09:39:13 UTC) multi-call binary. Usage: poweroff [-d DELAY] [-n] [-f] Halt and shut off power -d SEC Delay interval -n Do not sync -f Force (don't go through init)

Poweroff命令做的事可以從打印信息上看出來,其實可以分為兩部分,一是配置系統(tǒng),停止當前的服務,進行數(shù)據(jù)保存。二是調(diào)用電源管理驅動對應的接口,完成電源配置,RK3399 主板進行關機。

涉及驅動文件

kernel/drivers/mfd/rk808.cstatic void rk808_syscore_shutdown(void) { int ret; struct rk808 *rk808 = i2c_get_clientdata(rk808_i2c_client); if (!rk808) { dev_warn(&rk808_i2c_client->dev, "have no rk808, so do nothing here\n"); return; } /* close rtc int when power off */ regmap_update_bits(rk808->regmap, RK808_INT_STS_MSK_REG1, (0x3 << 5), (0x3 << 5)); ? ? ? ?regmap_update_bits(rk808->regmap, RK808_

RTC

_INT_REG, (0x3 << 2), (0x0 << 2)); ? ? ? ?/* ? ? ? ? * For PMIC that power off supplies by write register via i2c bus, ? ? ? ? * it's better to do power off at syscore shutdown here. ? ? ? ? * ? ? ? ? * Because when run to kernel's "pm_power_off" call, i2c may has ? ? ? ? * been stopped or PMIC may not be able to get i2c transfer while ? ? ? ? * there are too many devices are competiting. ? ? ? ? */ ? ? ? ? if (system_state == SYSTEM_POWER_OFF) { ? ? ? ? ? ? ? ?/* power off supplies ! */ ? ? ? ? ? ? ? ?if (pm_shutdown) { ? ? ? ? ? ? ? ? ? ? ? ?dev_info(&rk808_i2c_client->dev, "System power off\n"); ret = pm_shutdown(rk808->regmap); if (ret) dev_err(&rk808_i2c_client->dev, "System power off error!\n"); mdelay(10); dev_info(&rk808_i2c_client->dev, "Cpu should never reach here, stop!\n"); while (1) ; } } }#define DEV_OFF_RST BIT(3) static int rk808_shutdown(struct regmap *regmap) { int ret; ret = regmap_update_bits(regmap, RK808_DEVCTRL_REG, DEV_OFF_RST, DEV_OFF_RST); return ret; }

最終調(diào)用的的rk808shutdown接口函數(shù),對RK808DEVCTRLREG寄存器寫入DEVOFF_RST,觸發(fā)RK3399主板關機。

f_559214e61cd13e0cfbf1b06ee1d05aa1&t=jpg&o=&s=&v=1610680203

進入飛凌嵌入式官網(wǎng)>>了解關于OK3399-C開發(fā)板的更多信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RK3399
    +關注

    關注

    2

    文章

    216

    瀏覽量

    27147
  • 瑞芯微RK3399
    +關注

    關注

    1

    文章

    21

    瀏覽量

    6606
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    維護成本直降!RK3576核心/開發(fā)板OTA升級功能詳解,觸覺智能瑞芯微RK方案商

    觸覺智能旗下瑞芯微RK3576核心/開發(fā)板產(chǎn)品方案,已新增支持【OTA升級功能】。下文將為大家?guī)碓敿毜?b class='flag-5'>RK3576OTA升級操作指南。
    的頭像 發(fā)表于 04-21 10:30 ?246次閱讀
    維護成本直降!<b class='flag-5'>RK</b>3576核心<b class='flag-5'>板</b>/<b class='flag-5'>開發(fā)板</b>OTA升級<b class='flag-5'>功能</b>詳解,觸覺智能瑞芯微<b class='flag-5'>RK</b>方案商

    RK3399 Android12自動調(diào)節(jié)屏幕亮度問題排查與解決

    在嵌入式設備開發(fā)中,屏幕自動亮度調(diào)節(jié)功能直接影響用戶體驗與功耗控制。近期在 RK3399 芯片 + Android12 系統(tǒng)的設備上,遇到了自動亮度調(diào)節(jié)的異常問題 —— 系統(tǒng)自動調(diào)節(jié)時亮度最低只能
    的頭像 發(fā)表于 02-04 17:36 ?1902次閱讀
    <b class='flag-5'>RK3399</b> Android12自動調(diào)節(jié)屏幕亮度問題排查與解決

    一文打通Rockchip DP調(diào)試:從原理到實戰(zhàn),覆蓋RK3399/RK3576/RK3588全平臺

    嵌入式開發(fā)中,DisplayPort(DP)接口的調(diào)試常讓工程師頭疼 —— 不同芯片特性差異大、Type-C 與標準口配置不同、高分辨率輸出異常、MST 多屏適配難… 尤其是 Rockchip RK3399RK3576、
    的頭像 發(fā)表于 02-04 16:14 ?1035次閱讀
    一文打通Rockchip DP調(diào)試:從原理到實戰(zhàn),覆蓋<b class='flag-5'>RK3399</b>/<b class='flag-5'>RK</b>3576/<b class='flag-5'>RK</b>3588全平臺

    33A66-B1 rk3399開發(fā)板規(guī)格書

    信步 33A66-B1 rk3399開發(fā)板規(guī)格書 包括各種接口每個引腳的說明
    發(fā)表于 10-13 16:10 ?3次下載

    RK3399:性能與能效的嵌入式先鋒,解鎖多場景應用潛力

    其強大的六核CPU、優(yōu)秀的圖形處理能力和高度的集成性,成為了眾多高端開發(fā)板、平板電腦、工控設備、AI應用、NAS存儲以及輕量級服務器的核心驅動力。RK3399核心
    的頭像 發(fā)表于 09-26 14:30 ?1335次閱讀
    <b class='flag-5'>RK3399</b>:性能與能效的嵌入式先鋒,解鎖多場景應用潛力

    RK3506開發(fā)板Linux開發(fā)板極致性價比之選

    RK3506開發(fā)板Linux開發(fā)板極致性價比之選瑞芯微RK3506開發(fā)板,3核Cortex-A7@1.5GHz+Cortex-M0,Linu
    的頭像 發(fā)表于 09-11 16:26 ?3937次閱讀
    <b class='flag-5'>RK</b>3506<b class='flag-5'>開發(fā)板</b>Linux<b class='flag-5'>開發(fā)板</b>極致性價比之選

    RK3568 EVB開發(fā)板 深度休眠與快速醒的工作流程

    RK3568 EVB開發(fā)板關于深度休眠和喚醒流程的分析
    的頭像 發(fā)表于 07-22 09:49 ?1100次閱讀
    <b class='flag-5'>RK</b>3568 EVB<b class='flag-5'>開發(fā)板</b> 深度<b class='flag-5'>休眠</b>與快速醒的工作流程

    迅為RK3562開發(fā)板 Ubuntu系統(tǒng)功能測試

    迅為RK3562開發(fā)板 Ubuntu系統(tǒng)功能測試
    的頭像 發(fā)表于 07-10 13:46 ?1562次閱讀
    迅為<b class='flag-5'>RK</b>3562<b class='flag-5'>開發(fā)板</b> Ubuntu系統(tǒng)<b class='flag-5'>功能</b>測試

    有獎米爾 瑞芯微RK3506開發(fā)板免費試用來啦!

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3506應用處理器的MYD-YR3506開發(fā)板免費試用名額增加啦
    的頭像 發(fā)表于 07-10 08:03 ?1240次閱讀
    有獎<b class='flag-5'>丨</b>米爾 瑞芯微<b class='flag-5'>RK</b>3506<b class='flag-5'>開發(fā)板</b>免費試用來啦!

    迅為RK3562開發(fā)板Buildroot系統(tǒng)功能測試

    迅為RK3562開發(fā)板Buildroot系統(tǒng)功能測試
    的頭像 發(fā)表于 06-13 13:46 ?2312次閱讀
    迅為<b class='flag-5'>RK</b>3562<b class='flag-5'>開發(fā)板</b>Buildroot系統(tǒng)<b class='flag-5'>功能</b>測試

    有獎米爾 瑞芯微RK3562開發(fā)板免費試用新增名額!

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發(fā)板免費試用名額增加
    的頭像 發(fā)表于 06-13 08:04 ?2042次閱讀
    有獎<b class='flag-5'>丨</b>米爾 瑞芯微<b class='flag-5'>RK</b>3562<b class='flag-5'>開發(fā)板</b>免費試用新增名額!

    基于RK3576開發(fā)板的人臉識別算法

    RK3576開發(fā)板展示人臉識別算法例程和API說明
    的頭像 發(fā)表于 05-07 16:48 ?2971次閱讀
    基于<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b>的人臉識別算法

    基于RK3576開發(fā)板的RTC使用說明

    文章主要展示RK3576開發(fā)板的RTC信息和快速上手例程
    的頭像 發(fā)表于 05-07 15:04 ?2656次閱讀
    基于<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b>的RTC使用說明

    基于RK3576開發(fā)板的PWN使用說明

    RK3576開發(fā)板使用PWN教程及Demo
    的頭像 發(fā)表于 05-07 14:07 ?2531次閱讀
    基于<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b>的PWN使用說明

    基于RK3576開發(fā)板的MIPI-DSI使用

    MIPI DSI接口是由MIPI聯(lián)盟下的Display工作組指定的DSI(Display Serial Interface)的接口標準。rk3576開發(fā)板使用mipi-dsi教程
    的頭像 發(fā)表于 05-06 16:11 ?1678次閱讀
    基于<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b>的MIPI-DSI使用
    乾安县| 庆城县| 迭部县| 民县| 尚义县| 神木县| 福海县| 盐源县| 尉氏县| 靖安县| 法库县| 古交市| 高台县| 鹿泉市| 姜堰市| 万载县| 大连市| 万年县| 建昌县| 孟州市| 巴林右旗| 安新县| 平乐县| 山西省| 洪湖市| 右玉县| 社会| 桐城市| 黔西县| 宝坻区| 康乐县| 澄江县| 五指山市| 香港| 沾益县| 开远市| 张掖市| 吉林省| 永福县| 含山县| 鞍山市|