[rk3399 android11]增加一个服务支持网络唤醒功能并控制电源指示灯的指示状态

diff --git a/device/rockchip/common/device.mk b/device/rockchip/common/device.mk
index b6cf119260..d48d1609d0 100755
--- a/device/rockchip/common/device.mk
+++ b/device/rockchip/common/device.mk
@@ -218,7 +218,8 @@ PRODUCT_COPY_FILES += \
     device/rockchip/common/ff680030_pwm.kl:system/usr/keylayout/ff680030_pwm.kl \
     device/rockchip/common/alarm_filter.xml:system/etc/alarm_filter.xml \
     device/rockchip/common/ff420030_pwm.kl:system/usr/keylayout/ff420030_pwm.kl \
-    device/rockchip/common/bootanimation.zip:system/media/bootanimation.zip
+    device/rockchip/common/bootanimation.zip:system/media/bootanimation.zip \
+    device/rockchip/rk3399/mcu_set.sh:/system/bin/mcu_set.sh
 
 PRODUCT_COPY_FILES += \
     hardware/rockchip/libgraphicpolicy/graphic_profiles.conf:$(TARGET_COPY_OUT_VENDOR)/etc/graphic/graphic_profiles.conf
@@ -244,7 +245,8 @@ PRODUCT_PACKAGES += \
     wpa_supplicant \
     wpa_cli \
     wpa_supplicant.conf \
-    dhcpcd.conf
+    dhcpcd.conf \
+    init.rk3399.rc 
 
 ifeq ($(ROCKCHIP_USE_LAZY_HAL),true)
 PRODUCT_PACKAGES += \
diff --git a/device/rockchip/rk3399/init.rk3399.rc b/device/rockchip/rk3399/init.rk3399.rc
index c7cdd060b7..529e7ab044 100755
--- a/device/rockchip/rk3399/init.rk3399.rc
+++ b/device/rockchip/rk3399/init.rk3399.rc
@@ -7,6 +7,12 @@ on property:sys.boot_completed=1
     chmod 0664 /sys/class/devfreq/ff9a0000.gpu/max_freq
     chown root system /sys/class/devfreq/dmc/governor
     chmod 0664 /sys/class/devfreq/dmc/governor
+    service mcu_set /system/bin/mcu_set.sh
+    user root
+    group root
+    disabled
+    oneshot
+    seclabel u:r:su:s0
 
 on early-boot
     # Update dm-verity state and set partition.*.verified properties
diff --git a/device/rockchip/rk3399/mcu_set.sh b/device/rockchip/rk3399/mcu_set.sh
new file mode 100755
index 0000000000..b645bc5f29
--- /dev/null
+++ b/device/rockchip/rk3399/mcu_set.sh
@@ -0,0 +1,5 @@
+#! /system/bin/sh
+echo "--------------------mcu set start-----------------------"
+echo 1 > /sys/devices/platform/ff3d0000.i2c/i2c-4/4-0015/EthWol
+echo 1 > /sys/devices/platform/jw_io_init/led_display
+echo "--------------------mcu set end-----------------------"
diff --git a/packages/apps/Settings/src/com/android/settings/McuStateReceiver.java b/packages/apps/Settings/src/com/android/settings/McuStateReceiver.java
index ddf38b4ddc..7b48baa09e 100755
--- a/packages/apps/Settings/src/com/android/settings/McuStateReceiver.java
+++ b/packages/apps/Settings/src/com/android/settings/McuStateReceiver.java
@@ -28,7 +28,7 @@ import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.IOException;
 import com.android.settings.McuSetting;
-
+import android.os.SystemProperties;^M
 
 public class McuStateReceiver extends BroadcastReceiver {
        private static final String TAG = "McuStateReceiver";
@@ -100,7 +100,9 @@ public class McuStateReceiver extends BroadcastReceiver {
                                        setFileState(flag_ethwol, mEnable, ETH_WOL_ENABLE_FILE);
                                }else{
                                        setFileState(flag_ethwol, mDisable, ETH_WOL_ENABLE_FILE);
-                               }                               
+                               }^M
+                                ^M
+                                SystemProperties.set("ctl.start", "mcu_set");                          ^M
                        }
     }
 

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RK3399是一种高性能ARM处理器,常用于嵌入式系统和物联网设备。设备树(Device Tree)是一种描述硬件组件和其功能的数据结构,用于在Linux内核中配置和管理设备。在RK3399上使用LED指示灯时,设备树的配置非常重要。 在设备树中,需要定义LED的硬件连接和属性。首先,需要指定LED的GPIO引脚连接到RK3399的哪个引脚。其次,需要定义LED的亮灭状态和默认状态等属性。这些属性可以设置为驱动LED的电源,闪烁频率,亮度等。 例如,可以在设备树中添加以下代码来配置LED1指示灯: ``` leds { compatible = "gpio-leds"; status = "okay"; led1 { label = "led1"; gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>; default-state = "off"; }; }; ``` 上述代码中,首先定义了leds节点,compatbile属性表示使用GPIO驱动LED。status属性设置为"okay"表示LED驱动可用。 然后,定义了一个名为led1的子节点,通过gpios属性指定LED连接到gpio1的RK_PA0引脚,并设置了默认状态为关。 完成设备树的配置后,再编译内核并启动系统,LED指示灯将按照设备树中的配置进行控制。可以通过操作/sys/class/leds/led1目录下的文件来修改LED的状态和属性,例如通过brightness文件设置LED亮度,通过trigger文件设置LED闪烁模式。 总之,RK3399 LED指示灯设备树的配置需要定义LED的硬件连接和属性,然后编译内核并在系统启动时加载设备树,通过/sys/class/leds/ledX目录下的文件来控制LED的状态和属性。这样可以方便地配置和管理RK3399上的LED指示灯

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值