diff --git a/README.en.md b/README.en.md
index 1e61e06fa8e57018bc417ea95f8f4ab5d4f4a0eb..92793bffb26a148a1ef93f5a7cbc92669e592ca6 100644
--- a/README.en.md
+++ b/README.en.md
@@ -1,7 +1,7 @@
# vendor_hardmony
#### Description
-{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
+
#### Software Architecture
Software architecture description
@@ -28,9 +28,3 @@ Software architecture description
#### Gitee Feature
-1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
-2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
-3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
-4. The most valuable open source project [GVP](https://gitee.com/gvp)
-5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
-6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
diff --git a/README.md b/README.md
index 0420314ded0d2f79522fd0ecb370b0256b0f6816..57b8eb2e2e7fe77dc2093700ca575f372b474067 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,7 @@
# vendor_hardmony
#### 介绍
-{**以下是 Gitee 平台说明,您可以替换此简介**
-Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
-无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
+
#### 软件架构
软件架构说明
@@ -31,9 +29,4 @@ Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN
#### 特技
-1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
-2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
-3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
-4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
-5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
-6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+
diff --git a/oriole/.gitignore b/oriole/.gitignore
new file mode 100755
index 0000000000000000000000000000000000000000..5b0fe13c9499730ae55d58c3f276307b6eb2fc63
--- /dev/null
+++ b/oriole/.gitignore
@@ -0,0 +1,7 @@
+hdf_config/khdf/.built-in.a.cmd
+hdf_config/khdf/.hdf_hcs_hex.o.d
+hdf_config/khdf/.modules.order.cmd
+hdf_config/khdf/built-in.a
+hdf_config/khdf/hdf_hcs.hcb
+hdf_config/khdf/hdf_hcs_hex.o
+hdf_config/khdf/modules.order
diff --git a/oriole/bundle.json b/oriole/bundle.json
new file mode 100644
index 0000000000000000000000000000000000000000..fb3d6f9935782a06e0a505207e585e59eafc55b8
--- /dev/null
+++ b/oriole/bundle.json
@@ -0,0 +1,48 @@
+{
+ "name": "@ohos/product_oriole",
+ "description": "vendor bundle.",
+ "version": 3.2,
+ "license": "Apache License 2.0",
+ "publishAs": "code-segment",
+ "segment": {
+ "destPath": "vendor/hardmony/oriole"
+ },
+ "dirs": {},
+ "scripts": {},
+ "component": {
+ "name": "product_oriole",
+ "subsystem": "product_oriole",
+ "syscap": [],
+ "features": [],
+ "adapted_system_type": [ "standard"],
+ "hisysevent_config": [],
+ "rom": "",
+ "ram": "",
+ "deps": {
+ "components": [
+ "soc_common",
+ "platform_common",
+ "init",
+ "c_utils",
+ "hilog"
+ ],
+ "third_party": []
+ },
+ "build": {
+ "sub_component": [
+ "//vendor/hardmony/oriole/default_app_config:default_app_config",
+ "//vendor/hardmony/oriole/image_conf:custom_image_conf",
+ "//vendor/hardmony/oriole/preinstall-config:preinstall-config",
+ "//vendor/hardmony/oriole/resourceschedule:resourceschedule",
+ "//vendor/hardmony/oriole/foundation_config:foundation_config",
+ "//vendor/hardmony/oriole/dm_config:dm_config",
+ "//vendor/hardmony/oriole/wm_config:wm_config",
+ "//vendor/hardmony/oriole/etc:product_etc_conf",
+ "//vendor/hardmony/oriole/hdf_config/uhdf:hdf_config",
+ "//vendor/hardmony/oriole/hals/audio:hdf_audio_config"
+ ],
+ "inner_kits":[],
+ "test": []
+ }
+ }
+}
diff --git a/oriole/config.json b/oriole/config.json
new file mode 100755
index 0000000000000000000000000000000000000000..0014d1541c894bcb75e99b25ffd6da4d38e53a7d
--- /dev/null
+++ b/oriole/config.json
@@ -0,0 +1,97 @@
+{
+ "product_name": "oriole",
+ "device_company": "hardmony",
+ "device_build_path": "device/board/hardmony/oriole",
+ "target_cpu": "arm64",
+ "type": "standard",
+ "version": "3.0",
+ "board": "oriole",
+ "api_version": 8,
+ "enable_ramdisk": true,
+ "build_selinux": false,
+ "build_seccomp": false,
+ "device_stack_size": 8388608,
+ "inherit": [ "productdefine/common/inherit/rich.json", "productdefine/common/inherit/chipset_common.json" ],
+ "subsystems": [
+ {
+ "subsystem": "security",
+ "components": [
+ {
+ "component": "selinux_adapter",
+ "features": [
+ "selinux_enforce = false"
+ ]
+ }
+ ]
+ },
+ {
+ "subsystem": "device_oriole",
+ "components": [
+ {
+ "component": "device_oriole",
+ "features": []
+ }
+ ]
+ },
+ {
+ "subsystem": "arkui",
+ "components": [
+ {
+ "component": "ace_engine",
+ "features": [
+ "ace_engine_feature_enable_accessibility = true",
+ "ace_engine_feature_enable_web = true"
+ ]
+ },
+ {
+ "component": "ui_appearance",
+ "features": []
+ }
+ ]
+ },
+ {
+ "subsystem": "thirdparty",
+ "components": [
+ {
+ "component": "wpa_supplicant",
+ "features": [
+ "wpa_supplicant_driver_nl80211 = true",
+ "wpa_supplicant_driver_nl80211_sprd = true"
+ ]
+ }
+ ]
+ },
+ {
+ "subsystem": "startup",
+ "components": [
+ {
+ "component": "init",
+ "features": [
+ "enable_ohos_startup_init_feature_ab_partition = true",
+ "enable_ohos_startup_init_feature_loader = true"
+ ]
+ }
+ ]
+ },
+ {
+ "subsystem": "product_oriole",
+ "components": [
+ {
+ "component": "product_oriole",
+ "features": []
+ }
+ ]
+ },
+ {
+ "subsystem": "graphic",
+ "components": [
+ {
+ "component": "graphic_2d",
+ "features": [
+ "graphic_2d_feature_ace_enable_gpu = true"
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/oriole/default_app_config/BUILD.gn b/oriole/default_app_config/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..7b1d43eb88e8ea5c4bd6ad52dbe9df1d83006e38
--- /dev/null
+++ b/oriole/default_app_config/BUILD.gn
@@ -0,0 +1,24 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+
+ohos_prebuilt_etc("default_app_detail_config") {
+ source = "./default_app.json"
+ relative_install_dir = "app"
+ part_name = "product_oriole"
+}
+
+group("default_app_config") {
+ deps = [ ":default_app_detail_config" ]
+}
diff --git a/oriole/default_app_config/default_app.json b/oriole/default_app_config/default_app.json
new file mode 100644
index 0000000000000000000000000000000000000000..0637a088a01e8ddab3bf3fa98dbe804cbde1a0dc
--- /dev/null
+++ b/oriole/default_app_config/default_app.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/oriole/dm_config/BUILD.gn b/oriole/dm_config/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..ddb8e4cfe3b90036ebb03b4160240f25c546e61d
--- /dev/null
+++ b/oriole/dm_config/BUILD.gn
@@ -0,0 +1,27 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+
+ohos_prebuilt_etc("display_manager_config") {
+ source = "display_manager_config.xml"
+ install_enable = true
+ relative_install_dir = "window/resources"
+ part_name = "product_oriole"
+}
+
+group("dm_config") {
+ deps = [
+ ":display_manager_config"
+ ]
+}
diff --git a/oriole/dm_config/display_manager_config.xml b/oriole/dm_config/display_manager_config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43e9d1e3efbeeb18b89456a538a68402769e6143
--- /dev/null
+++ b/oriole/dm_config/display_manager_config.xml
@@ -0,0 +1,57 @@
+
+
+
+
+ 400
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 0
+
diff --git a/oriole/etc/BUILD.gn b/oriole/etc/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..3dd3678e30b767c788f0931d6d147c640e28febc
--- /dev/null
+++ b/oriole/etc/BUILD.gn
@@ -0,0 +1,37 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+
+ohos_prebuilt_etc("para_for_chip_prod") {
+ source = "./para/hardware_oriole.para"
+ install_images = [ chip_prod_base_dir, chipset_base_dir ]
+ relative_install_dir = "param"
+ part_name = "product_oriole"
+ subsystem_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("para_for_sys_prod") {
+ source = "./para/product_oriole.para"
+ install_images = [ sys_prod_base_dir ]
+ relative_install_dir = "param"
+ part_name = "product_oriole"
+ subsystem_name = "product_oriole"
+}
+
+group("product_etc_conf") {
+ deps = [
+ ":para_for_chip_prod",
+ ":para_for_sys_prod",
+ ]
+}
diff --git a/oriole/etc/para/hardware_oriole.para b/oriole/etc/para/hardware_oriole.para
new file mode 100644
index 0000000000000000000000000000000000000000..f62bc15158812c693ede28691cf67621c325fee5
--- /dev/null
+++ b/oriole/etc/para/hardware_oriole.para
@@ -0,0 +1,19 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+const.product.hardwareversion=default
+const.product.name="开发者手机"
+const.product.model=oriole
+const.product.manufacturer=laval.csdn.net
+const.product.software.version=OHarm OS 2.0
+const.product.oharm.version=2.0.609
\ No newline at end of file
diff --git a/oriole/etc/para/product_oriole.para b/oriole/etc/para/product_oriole.para
new file mode 100644
index 0000000000000000000000000000000000000000..9c5360a00c87f2f991e6a8f211d51640d994a54d
--- /dev/null
+++ b/oriole/etc/para/product_oriole.para
@@ -0,0 +1,15 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+const.product.brand=default
+const.build.product=default
\ No newline at end of file
diff --git a/oriole/foundation_config/BUILD.gn b/oriole/foundation_config/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..b8e487f451a9e05dfccdecb4e0812fce6d891b58
--- /dev/null
+++ b/oriole/foundation_config/BUILD.gn
@@ -0,0 +1,30 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+
+import("//build/ohos.gni")
+
+ohos_prebuilt_etc("foundation_service_config") {
+ source = "foundation.cfg"
+ install_enable = true
+ install_images = [ "vendor" ]
+ module_install_dir = "etc/init"
+ part_name = "product_oriole"
+}
+
+group("foundation_config") {
+ deps = [
+ ":foundation_service_config"
+ ]
+}
diff --git a/oriole/foundation_config/foundation.cfg b/oriole/foundation_config/foundation.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..8fc6132c6dfd5b7cbf528f055269f67a458f0585
--- /dev/null
+++ b/oriole/foundation_config/foundation.cfg
@@ -0,0 +1,114 @@
+{
+ "jobs" : [{
+ "name" : "services:foundation",
+ "cmds" : [
+ "mkdir /data/service/el1/public/AbilityManagerService 0711 foundation system",
+ "mkdir /data/storage/el1/bundle 0711 system system",
+ "mkdir /data/storage/el2/base 0711 system system",
+ "mkdir /data/storage/el2/database 0711 system system",
+ "mkdir /data/service/el1/public/notification 0711 foundation system",
+ "mkdir /data/service/el1/public/database 0711 ddms ddms",
+ "mkdir /data/service/el1/public/database/bundle_manager_service 02770 foundation ddms",
+ "mkdir /data/service/el1/public/database/notification_service 02770 foundation ddms",
+ "mkdir /data/service/el1/public/database/form_storage 02770 foundation ddms",
+ "mkdir /data/service/el0/stats 0711 foundation system",
+ "mkdir /data/service/el0/thermal 0755 foundation foundation",
+ "mkdir /data/service/el0/thermal/config 0711 foundation foundation",
+ "chmod 0664 /sys/power/wakeup_count",
+ "mkdir /data/service/el1/public/window 0711 foundation foundation",
+ "mkdir /data/service/el1/public/database/common_event_service 02770 foundation ddms",
+ "mkdir /data/service/el1/public/database/auto_startup_service 02770 foundation ddms",
+ "mkdir /data/service/el1/public/database/app_exit_reason 02770 foundation ddms"
+ ]
+ } , {
+ "name" : "services:restartfoundation",
+ "cmds" : [
+ "reset appspawn",
+ "reset accountmgr",
+ "reset bgtaskmgr_service",
+ "reset resource_schedule_service",
+ "reset device_usage_stats_service",
+ "stop dlp_permission_service",
+ "start bootanimation"
+ ]
+ }
+ ],
+ "services" : [{
+ "name" : "foundation",
+ "path" : ["/system/bin/sa_main", "/system/profile/foundation.json"],
+ "critical" : [0, 4, 240],
+ "importance" : -20,
+ "uid" : "foundation",
+ "permission" : [
+ "ohos.permission.INPUT_MONITORING",
+ "ohos.permission.PERMISSION_USED_STATS",
+ "ohos.permission.DISTRIBUTED_SOFTBUS_CENTER",
+ "ohos.permission.DISTRIBUTED_DATASYNC",
+ "ohos.permission.MANAGE_AUDIO_CONFIG",
+ "ohos.permission.WRITE_CALL_LOG",
+ "ohos.permission.READ_CONTACTS",
+ "ohos.permission.READ_DFX_SYSEVENT",
+ "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",
+ "ohos.permission.REVOKE_SENSITIVE_PERMISSIONS",
+ "ohos.permission.MANAGE_SECURE_SETTINGS",
+ "ohos.permission.START_ABILITIES_FROM_BACKGROUND",
+ "ohos.permission.ACCESS_SERVICE_DM",
+ "ohos.permission.STORAGE_MANAGER",
+ "ohos.permission.PROXY_AUTHORIZATION_URI",
+ "ohos.permission.ABILITY_BACKGROUND_COMMUNICATION",
+ "ohos.permission.USE_USER_IDM",
+ "ohos.permission.MANAGE_LOCAL_ACCOUNTS",
+ "ohos.permission.LISTEN_BUNDLE_CHANGE",
+ "ohos.permission.GET_TELEPHONY_STATE",
+ "ohos.permission.SEND_MESSAGES",
+ "ohos.permission.CONNECT_CELLULAR_CALL_SERVICE",
+ "ohos.permission.SET_TELEPHONY_STATE",
+ "ohos.permission.VIBRATE",
+ "ohos.permission.SYSTEM_LIGHT_CONTROL",
+ "ohos.permission.MANAGE_HAP_TOKENID",
+ "ohos.permission.WRITE_WHOLE_CALENDAR",
+ "ohos.permission.UPDATE_CONFIGURATION",
+ "ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT",
+ "ohos.permission.START_INVISIBLE_ABILITY",
+ "ohos.permission.GET_BUNDLE_INFO",
+ "ohos.permission.GET_SUSPEND_STATE",
+ "ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT",
+ "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
+ "ohos.permission.GET_SENSITIVE_PERMISSIONS",
+ "ohos.permission.CLEAN_APPLICATION_DATA",
+ "ohos.permission.REMOVE_CACHE_FILES",
+ "ohos.permission.INSTALL_SANDBOX_BUNDLE",
+ "ohos.permission.USE_BLUETOOTH",
+ "ohos.permission.CONNECTIVITY_INTERNAL",
+ "ohos.permission.GET_RUNNING_INFO",
+ "ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS",
+ "ohos.permission.ACCESS_BLUETOOTH",
+ "ohos.permission.RUNNING_STATE_OBSERVER"
+ ],
+ "permission_acls":[
+ "ohos.permission.MANAGE_HAP_TOKENID",
+ "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",
+ "ohos.permission.INPUT_MONITORING",
+ "ohos.permission.REVOKE_SENSITIVE_PERMISSIONS",
+ "ohos.permission.START_INVISIBLE_ABILITY",
+ "ohos.permission.INSTALL_SANDBOX_BUNDLE"
+ ],
+ "gid" : ["system", "appspawn", "update"],
+ "caps" : ["SYS_PTRACE", "KILL"],
+ "bootevents": [
+ "bootevent.wms.fullscreen.ready",
+ "bootevent.appfwk.ready",
+ "bootevent.lockscreen.ready"
+ ],
+ "jobs" : {
+ "on-start" : "services:foundation",
+ "on-restart" : "services:restartfoundation"
+ },
+ "secon" : "u:r:foundation:s0",
+ "writepid" : [
+ "/dev/cpuset/foreground/tasks",
+ "/dev/cpuctl/foreground/tasks"
+ ]
+ }
+ ]
+}
diff --git a/oriole/hals/audio/BUILD.gn b/oriole/hals/audio/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..a9c70e7abcf5dcdd674858f18356c4e7745128a2
--- /dev/null
+++ b/oriole/hals/audio/BUILD.gn
@@ -0,0 +1,123 @@
+# Copyright (C) 2023 HiHope Open Source Organization .
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+
+ohos_prebuilt_etc("hdf_alsa_paths_json") {
+ source = "alsa_paths.json"
+
+ relative_install_dir = "hdfconfig"
+ install_images = [ chipset_base_dir ]
+ subsystem_name = "hdf"
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("hdf_alsa_adapter_json") {
+ source = "alsa_adapter.json"
+
+ relative_install_dir = "hdfconfig"
+ install_images = [ chipset_base_dir ]
+ subsystem_name = "hdf"
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("hdf_audio_effect_json") {
+ source = "audio_effect.json"
+
+ relative_install_dir = "hdfconfig"
+ install_images = [ chip_prod_base_dir ]
+ subsystem_name = "hdf"
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("hdf_audio_path_json") {
+ source = "audio_paths.json"
+
+ relative_install_dir = "hdfconfig"
+ install_images = [ chipset_base_dir ]
+ subsystem_name = "hdf"
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("hdf_audio_adapter_json") {
+ source = "audio_adapter.json"
+
+ relative_install_dir = "hdfconfig"
+ install_images = [ chipset_base_dir ]
+ subsystem_name = "hdf"
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("audio_policy_config") {
+ if (target_cpu == "arm64") {
+ source = "config/arm64/audio_policy_config.xml"
+ } else {
+ source = "config/arm/audio_policy_config.xml"
+ }
+ subsystem_name = "hdf"
+ relative_install_dir = "audio"
+ install_images = [ chipset_base_dir ]
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("audio_param_audio_structure") {
+ source = "param/audio_structure"
+ subsystem_name = "hdf"
+ relative_install_dir = "audio"
+ install_images = [ chipset_base_dir ]
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("audio_param_cvs") {
+ source = "param/cvs"
+ subsystem_name = "hdf"
+ relative_install_dir = "audio"
+ install_images = [ chipset_base_dir ]
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("audio_param_dsp_smartamp") {
+ source = "param/dsp_smartamp"
+ subsystem_name = "hdf"
+ relative_install_dir = "audio"
+ install_images = [ chipset_base_dir ]
+ part_name = "product_oriole"
+}
+
+ohos_prebuilt_etc("audio_param_dsp_vbc") {
+ source = "param/dsp_vbc"
+ subsystem_name = "hdf"
+ relative_install_dir = "audio"
+ install_images = [ chipset_base_dir ]
+ part_name = "product_oriole"
+}
+
+group("hdf_audio_config") {
+ deps = [
+ ":hdf_alsa_adapter_json",
+ ":hdf_alsa_paths_json",
+ ":audio_policy_config",
+ ":hdf_audio_adapter_json",
+ ":hdf_audio_effect_json",
+ ":hdf_audio_path_json",
+ ":audio_param_audio_structure",
+ ":audio_param_cvs",
+ ":audio_param_dsp_smartamp",
+ ":audio_param_dsp_vbc",
+ ]
+}
+
+group("hdi_service_st") {
+ testonly = true
+ deps = [ "//drivers/peripheral/audio/test/systemtest/hdi_service/rk3568:hdi_service_hardwaredependence" ]
+}
diff --git a/oriole/hals/audio/alsa_adapter.json b/oriole/hals/audio/alsa_adapter.json
new file mode 100644
index 0000000000000000000000000000000000000000..0805746a111f50f90ae138e1aca31d612ac112cf
--- /dev/null
+++ b/oriole/hals/audio/alsa_adapter.json
@@ -0,0 +1,14 @@
+{
+ "adapters": [
+ {
+ "name": "primary",
+ "cardId": 0,
+ "cardName": "sprdphonesc2730"
+ },
+ {
+ "name": "hdmi",
+ "cardId": 1,
+ "cardName": "rockchiphdmi"
+ }
+ ]
+}
diff --git a/oriole/hals/audio/alsa_paths.json b/oriole/hals/audio/alsa_paths.json
new file mode 100644
index 0000000000000000000000000000000000000000..72218de4d14fc7c3456f3e4477f7705dbb7c6bde
--- /dev/null
+++ b/oriole/hals/audio/alsa_paths.json
@@ -0,0 +1,2948 @@
+{
+ "hdf_audio_codec_primary_dev0": [
+ {
+ "deep-buffer-playback": [
+ {
+ "headphones": [
+ {
+ "name": "Playback Path",
+ "value": "2"
+ }
+ ],
+ "Speaker": [
+ {
+ "name": "VBC_IIS_TX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_MASTER_ENALBE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_MST_SEL_0_TYPE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_MST_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC0_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC2_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SRC_BT_DAC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_SRC_BT_ADC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "0"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "ag_iis2_ext_sel_v2",
+ "value": "0"
+ },
+ {
+ "name": "VBC DAC0 DSP MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC1 DSP MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC0 AUD MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC0 AUD23 MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC_UL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_DL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_FAST_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_CAPTURE_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOICE_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_BTSCO_CAP_DSP_C SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "SmartAmp Boost",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "IVSENCE_FUNC_DSP",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC0 DG Set",
+ "value": "127 127"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ }
+ ],
+ "Mic": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_INF_SYS_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "Mic Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Mixer MIC1PGA_1 Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0L Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0R Switch",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "ADC_3 Mixer MIC3PGA_3 Switch",
+ "value": "0"
+ },
+ {
+ "name": "Aux Mic2 Function",
+ "value": "0"
+ }
+ ],
+ "Bluetooth": [
+ {
+ "name": "VBC_IIS_TX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_MASTER_ENALBE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_MST_SEL_0_TYPE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_MST_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC0_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC2_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SRC_BT_DAC",
+ "value": "16000"
+ },
+ {
+ "name": "VBC_SRC_BT_ADC",
+ "value": "16000"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "0"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "ag_iis2_ext_sel_v2",
+ "value": "0"
+ },
+ {
+ "name": "VBC DAC0 DSP MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC1 DSP MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC0 AUD MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC0 AUD23 MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC_UL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_DL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_FAST_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_CAPTURE_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOICE_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_BTSCO_CAP_DSP_C SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "SmartAmp Boost",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "IVSENCE_FUNC_DSP",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC0 DG Set",
+ "value": "127 127"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ }
+ ],
+ "Bluetooth_SCO_Headset": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_INF_SYS_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "Mic Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Mixer MIC1PGA_1 Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0L Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0R Switch",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "ADC_3 Mixer MIC3PGA_3 Switch",
+ "value": "0"
+ },
+ {
+ "name": "Aux Mic2 Function",
+ "value": "0"
+ }
+ ]
+ }
+ ],
+ "low-latency-communication": [
+ {
+ "Speaker": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "SmartAmp Boost",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "IVSENCE_FUNC_DSP",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC0 DG Set",
+ "value": "127 127"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "0"
+ }
+ ],
+ "Headphones": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ }
+ ],
+ "Mic": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_INF_SYS_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "Mic Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Mixer MIC1PGA_1 Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0L Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0R Switch",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ }
+ ]
+ }
+ ],
+ "ringtone-playback": [
+ {
+ "Speaker": [
+ {
+ "name": "VBC_IIS_TX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_MASTER_ENALBE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_MST_SEL_0_TYPE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_MST_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC0_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC2_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SRC_BT_DAC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_SRC_BT_ADC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "0"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "ag_iis2_ext_sel_v2",
+ "value": "0"
+ },
+ {
+ "name": "VBC DAC0 DSP MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC1 DSP MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC0 AUD MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC DAC0 AUD23 MDG Set",
+ "value": "0 0"
+ },
+ {
+ "name": "VBC_UL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_DL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_FAST_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_CAPTURE_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOICE_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_BTSCO_CAP_DSP_C SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "SmartAmp Boost",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "IVSENCE_FUNC_DSP",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC0 DG Set",
+ "value": "127 127"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ }
+ ],
+ "Mic": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_INF_SYS_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "Mic Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Mixer MIC1PGA_1 Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0L Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0R Switch",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Gain ADC_1 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "ADC_2 Gain ADC_2 Capture Volume",
+ "value": "7"
+ },
+ {
+ "name": "ADC_3 Gain ADC_3 Capture Volume",
+ "value": "6"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ }
+ ]
+ }
+ ],
+ "voice-call": [
+ {
+ "Speaker": [
+ {
+ "name": "VBC_IIS_TX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_MASTER_ENALBE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_MST_SEL_0_TYPE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_MST_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC0_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC2_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SRC_BT_DAC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_SRC_BT_ADC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "6"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "ag_iis2_ext_sel_v2",
+ "value": "0"
+ },
+ {
+ "name": "VBC_DL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_FAST_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_CAPTURE_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOICE_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_BTSCO_CAP_DSP_C SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC3 DG Set",
+ "value": "24 24"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC_CUSTM_DEV_CHANGE",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SYSTEM_DEV_CHANGE",
+ "value": "3"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "DAHP OS D",
+ "value": "5"
+ },
+ {
+ "name": "ADD0 DATA SEL",
+ "value": "1"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_CAP_C SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Mixer MIC1PGA_1 Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0L Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0R Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "HPL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC3",
+ "value": "4"
+ },
+ {
+ "name": "NXP Profile Select",
+ "value": "151584773"
+ },
+ {
+ "name": "DSP VBC Profile Select",
+ "value": "1078657024"
+ },
+ {
+ "name": "Audio Structure Profile Select",
+ "value": "151584773"
+ },
+ {
+ "name": "VBC DAC1 DG Set",
+ "value": "24 24"
+ },
+ {
+ "name": "VBC ST DG Set",
+ "value": "24 24"
+ },
+ {
+ "name": "VBC ADC2 DG Set",
+ "value": "35 35"
+ }
+ ],
+ "Earpiece": [
+ {
+ "name": "VBC_IIS_TX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_MASTER_ENALBE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_MST_SEL_0_TYPE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_MST_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX0_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC0_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC2_IIS_PORT_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SRC_BT_DAC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_SRC_BT_ADC",
+ "value": "48000"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "6"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "ag_iis2_ext_sel_v2",
+ "value": "0"
+ },
+ {
+ "name": "VBC_DL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_RX2_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_FAST_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_CAPTURE_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOICE_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_VOIP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_LOOP_C_BT SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "S_BTSCO_CAP_DSP_C SWITCH",
+ "value": "0"
+ },
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC3 DG Set",
+ "value": "24 24"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC_CUSTM_DEV_CHANGE",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SYSTEM_DEV_CHANGE",
+ "value": "3"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "1"
+ },
+ {
+ "name": "DAHP OS D",
+ "value": "5"
+ },
+ {
+ "name": "ADD0 DATA SEL",
+ "value": "1"
+ },
+ {
+ "name": "Earpiece Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_CAP_C SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "ADC_1 Mixer MIC1PGA_1 Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0L Switch",
+ "value": "1"
+ },
+ {
+ "name": "AUD ADC0R Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "0"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "0"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "0"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "0"
+ },
+ {
+ "name": "EAR_HPL Mixer DACHPL Switch",
+ "value": "1"
+ },
+ {
+ "name": "HPL EAR Sel",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_ADC3",
+ "value": "4"
+ },
+ {
+ "name": "NXP Profile Select",
+ "value": "33685509"
+ },
+ {
+ "name": "DSP VBC Profile Select",
+ "value": "33685509"
+ },
+ {
+ "name": "Audio Structure Profile Select",
+ "value": "33685509"
+ },
+ {
+ "name": "VBC DAC1 DG Set",
+ "value": "24 24"
+ },
+ {
+ "name": "VBC ST DG Set",
+ "value": "24 24"
+ },
+ {
+ "name": "VBC ADC2 DG Set",
+ "value": "35 35"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "0"
+ }
+ ],
+ "Bluetooth": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_WD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_MASTER_ENALBE",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_MST_SEL_0_TYPE",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_MST_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_IIS_RX0_WD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX1_WD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX2_WD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_ADC0_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_MUX_ADC1_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_MUX_ADC2_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_MUX_ADC3_IIS_PORT_SEL",
+ "value": "3"
+ },
+ {
+ "name": "VBC_SRC_BT_DAC",
+ "value": "8000"
+ },
+ {
+ "name": "VBC_SRC_BT_ADC",
+ "value": "8000"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "8"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "0"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis2_ext_sel_v2",
+ "value": "0"
+ },
+ {
+ "name": "SYS_IIS0",
+ "value": "3"
+ },
+ {
+ "name": "VBC_DL_MUTE",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_IIS_RX2_LRMOD_SEL",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "ADC1 LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "S_VOICE_P_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_CAPTURE_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_C_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_C_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_C_BT SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_BTSCO_CAP_DSP_C SWITCH",
+ "value": "1"
+ }
+ ],
+ "Mic": [
+ {
+ "name": "ADC_3 Mixer MIC3PGA_3 Switch",
+ "value": "1"
+ },
+ {
+ "name": "Aux Mic2 Function",
+ "value": "1"
+ }
+ ],
+ "Bluetooth_SCO_Headset": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ }
+ ]
+ }
+ ],
+ "low-latency-noirq-playback": [
+ {
+ "Speaker": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ },
+ {
+ "name": "agdsp_access_a2dp_en",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX0_LRMOD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "VBC_IIS_TX1_WD_SEL",
+ "value": "1"
+ },
+ {
+ "name": "DAC Gain DAC Playback Volume",
+ "value": "2"
+ },
+ {
+ "name": "Speaker Function",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP01_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_NORMAL_AP23_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_OFFLOAD_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOIP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_LOOP_P_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FM_DSP_CODEC SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_VOICE_PCM_P SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "S_FAST_P_SMART_AMP SWITCH",
+ "value": "1"
+ },
+ {
+ "name": "VBC_MUX_DAC0_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_DAC1_IIS_PORT_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS0_PORT_DO_SEL",
+ "value": "0"
+ },
+ {
+ "name": "VBC_MUX_IIS2_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "VBC_MUX_IIS3_PORT_DO_SEL",
+ "value": "2"
+ },
+ {
+ "name": "SmartAmp Boost",
+ "value": "0"
+ },
+ {
+ "name": "DAC LRCLK Select",
+ "value": "0"
+ },
+ {
+ "name": "AO Gain AO Playback Volume",
+ "value": "4"
+ },
+ {
+ "name": "HPL Gain HPL Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "HPR Gain HPR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "EAR Gain EAR Playback Volume",
+ "value": "12"
+ },
+ {
+ "name": "AO Mixer AOL Switch",
+ "value": "1"
+ },
+ {
+ "name": "AO Mixer AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "AOL EAR Sel",
+ "value": "1"
+ },
+ {
+ "name": "DA AOR Switch",
+ "value": "1"
+ },
+ {
+ "name": "IVSENCE_FUNC_DSP",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis0_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "ag_iis1_ext_sel_v2",
+ "value": "1"
+ },
+ {
+ "name": "VBC ADC0 DG Set",
+ "value": "127 127"
+ },
+ {
+ "name": "aw87xxx_profile_switch_0",
+ "value": "0"
+ },
+ {
+ "name": "VBC_VOLUME",
+ "value": "0"
+ }
+ ],
+ "Headphones": [
+ {
+ "name": "agdsp_access_en",
+ "value": "1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/oriole/hals/audio/audio_adapter.json b/oriole/hals/audio/audio_adapter.json
new file mode 100644
index 0000000000000000000000000000000000000000..52858716b9f1c83b55b293649df9e4d92d934e7d
--- /dev/null
+++ b/oriole/hals/audio/audio_adapter.json
@@ -0,0 +1,73 @@
+{
+ "adapterNum": 5,
+ "adapters": [{
+ "name": "primary",
+ "portnum": 2,
+ "port": [{
+ "dir": "PORT_OUT",
+ "id": 0,
+ "name": "AOP"
+ },
+ {
+ "dir": "PORT_IN",
+ "id": 0,
+ "name": "AIP"
+ }]
+ },
+ {
+ "name": "primary1",
+ "portnum": 3,
+ "port": [{
+ "dir": "PORT_OUT",
+ "id": 0,
+ "name": "AOP"
+ },
+ {
+ "dir": "PORT_IN",
+ "id": 0,
+ "name": "AIP"
+ },
+ {
+ "dir": "PORT_OUT_IN",
+ "id": 0,
+ "name": "AIOP"
+ }]
+ },
+ {
+ "name": "primary_ext",
+ "portnum": 1,
+ "port": [{
+ "dir": "PORT_OUT",
+ "id": 11,
+ "name": "AOP"
+ }]
+ },
+ {
+ "name": "usb",
+ "portnum": 3,
+ "port": [{
+ "dir": "PORT_OUT",
+ "id": 21,
+ "name": "AOP"
+ },
+ {
+ "dir": "PORT_IN",
+ "id": 21,
+ "name": "AIP"
+ },
+ {
+ "dir": "PORT_OUT_IN",
+ "id": 21,
+ "name": "AIOP"
+ }]
+ },
+ {
+ "name": "a2dp",
+ "portnum": 1,
+ "port": [{
+ "dir": "PORT_OUT",
+ "id": 31,
+ "name": "AOP"
+ }]
+ }]
+}
diff --git a/oriole/hals/audio/audio_effect.json b/oriole/hals/audio/audio_effect.json
new file mode 100644
index 0000000000000000000000000000000000000000..c176049c75f94b50ded205cbf4f3c23ddd2724e8
--- /dev/null
+++ b/oriole/hals/audio/audio_effect.json
@@ -0,0 +1,15 @@
+{
+ "effects":[
+ {
+ "name":"mock_effect",
+ "library":"libmock_effect_lib",
+ "effectId":"aaaabbbb-8888-9999-6666-aabbccdd9966ff"
+ }
+ ],
+ "libraries":[
+ {
+ "name":"libmock_effect_lib",
+ "path":"libmock_effect_lib"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/oriole/hals/audio/audio_paths.json b/oriole/hals/audio/audio_paths.json
new file mode 100644
index 0000000000000000000000000000000000000000..c9ce43d04a8a526c1d5ff48f6473e49a82363361
--- /dev/null
+++ b/oriole/hals/audio/audio_paths.json
@@ -0,0 +1,94 @@
+{
+ "hdf_audio_codec_primary_dev0": [
+ {
+ "deep-buffer-playback Speaker": [
+ {
+ "name": "DACL Left Speaker Mixer",
+ "value": 1
+ },
+ {
+ "name": "DACR Left Speaker Mixer",
+ "value": 1
+ }
+ ],
+ "headphones": [
+ {
+ "name": "Speaker1 Switch",
+ "value": 1
+ },
+ {
+ "name": "Headphone1 Switch",
+ "value": 0
+ },
+ {
+ "name": "Headphone2 Switch",
+ "value": 0
+ }
+ ],
+ "Speaker": [
+ {
+ "name": "Speaker1 Switch",
+ "value": 0
+ },
+ {
+ "name": "Headphone1 Switch",
+ "value": 1
+ },
+ {
+ "name": "Headphone2 Switch",
+ "value": 1
+ }
+ ],
+ "deep-buffer-playback headphones": [
+ {
+ "name": "DACL Left Speaker Mixer",
+ "value": 1
+ },
+ {
+ "name": "DACR Left Speaker Mixer",
+ "value": 1
+ }
+ ],
+ "deep-buffer-playback mic": [
+ {
+ "name": "DACL Left Speaker Mixer",
+ "value": 1
+ },
+ {
+ "name": "DACR Left Speaker Mixer",
+ "value": 1
+ }
+ ],
+ "deep-buffer-playback micHs": [
+ {
+ "name": "DACL Left Speaker Mixer",
+ "value": 1
+ },
+ {
+ "name": "DACR Left Speaker Mixer",
+ "value": 1
+ }
+ ],
+ "mic": [
+ {
+ "name": "LPGA MIC Switch",
+ "value": 0
+ },
+ {
+ "name": "RPGA MIC Switch",
+ "value": 1
+ }
+ ],
+ "micHs": [
+ {
+ "name": "LPGA MIC Switch",
+ "value": 1
+ },
+ {
+ "name": "RPGA MIC Switch",
+ "value": 0
+ }
+ ]
+ }
+ ]
+}
diff --git a/oriole/hals/audio/config/arm/audio_policy_config.xml b/oriole/hals/audio/config/arm/audio_policy_config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6f3eb8d50ea3e4fce0654b44ed26cb8f2f323ece
--- /dev/null
+++ b/oriole/hals/audio/config/arm/audio_policy_config.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ false
+ 50
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/oriole/hals/audio/config/arm64/audio_policy_config.xml b/oriole/hals/audio/config/arm64/audio_policy_config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4f44737edf0565e69fc80c6cbdba5759fe8454da
--- /dev/null
+++ b/oriole/hals/audio/config/arm64/audio_policy_config.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ 90
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/oriole/hals/audio/param/audio_structure b/oriole/hals/audio/param/audio_structure
new file mode 100644
index 0000000000000000000000000000000000000000..307ee40973fbe576a8a6ced5ac8ca0b666030b68
Binary files /dev/null and b/oriole/hals/audio/param/audio_structure differ
diff --git a/oriole/hals/audio/param/cvs b/oriole/hals/audio/param/cvs
new file mode 100644
index 0000000000000000000000000000000000000000..7f6744e153795162bf49ff18381a1419cd86dd8a
Binary files /dev/null and b/oriole/hals/audio/param/cvs differ
diff --git a/oriole/hals/audio/param/dsp_smartamp b/oriole/hals/audio/param/dsp_smartamp
new file mode 100644
index 0000000000000000000000000000000000000000..a47b78513ca4a118827631fe9764522daad8b823
Binary files /dev/null and b/oriole/hals/audio/param/dsp_smartamp differ
diff --git a/oriole/hals/audio/param/dsp_vbc b/oriole/hals/audio/param/dsp_vbc
new file mode 100644
index 0000000000000000000000000000000000000000..403cd114cc3747b20b18a6a7902542a3bf6e7738
Binary files /dev/null and b/oriole/hals/audio/param/dsp_vbc differ
diff --git a/oriole/hals/audio/product.gni b/oriole/hals/audio/product.gni
new file mode 100644
index 0000000000000000000000000000000000000000..3f9ab6f9fc757a49b025ec4bbfec7bdd1bce70df
--- /dev/null
+++ b/oriole/hals/audio/product.gni
@@ -0,0 +1,21 @@
+# Copyright (C) 2021 HiHope Open Source Organization .
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+enable_audio_alsa_mode = true
+drivers_peripheral_audio_feature_hdf_proxy_stub = true
+drivers_peripheral_audio_feature_hal_notsupport_pathselect = false
+enable_audio_analog_headset = true
+drivers_peripheral_audio_feature_policy_config = true
+drivers_peripheral_audio_feature_alsa_lib = true
+drivers_peripheral_audio_feature_effect = true
+
diff --git a/oriole/hals/wlan/product.gni b/oriole/hals/wlan/product.gni
new file mode 100644
index 0000000000000000000000000000000000000000..c67b88ab9a654d429ab531f72c7a5ba8b0ab00a7
--- /dev/null
+++ b/oriole/hals/wlan/product.gni
@@ -0,0 +1,15 @@
+# Copyright (c) 2022 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+enable_HDF_NL80211 = true
+enable_HDF_UT = false
diff --git a/oriole/hdf_config/khdf/Makefile b/oriole/hdf_config/khdf/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1875b17945b0c8bc08bc6f153882d89ad9c83d4b
--- /dev/null
+++ b/oriole/hdf_config/khdf/Makefile
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2020-2021 Huawei Device Co., Ltd.
+#
+# This software is licensed under the terms of the GNU General Public
+# License version 2, as published by the Free Software Foundation, and
+# may be copied, distributed, and modified under those terms.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+#
+
+ifeq ($(LOCAL_HCS_ROOT),)
+ LOCAL_HCS_ROOT := $(PRODUCT_PATH)
+endif
+CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST)))))
+SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../)
+
+HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen)
+ifneq ($(OUT_DIR),)
+HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen
+else
+HC_GEN := $(HC_GEN_DIR)/build/hc-gen
+endif
+LOCAL_HCS_ROOT := $(CURRENT_DIR)
+
+HCS_DIR := $(LOCAL_HCS_ROOT)
+
+ifneq ($(TARGET_BOARD_PLATFORM),)
+ HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM)
+else
+ ifneq ($(CONFIG_ARCH_HI3516DV300),)
+ HCS_DIR := $(LOCAL_HCS_ROOT)
+ endif
+ ifneq ($(CONFIG_ARCH_HI3518EV300),)
+ HCS_DIR := $(LOCAL_HCS_ROOT)
+ endif
+endif
+$(info HCS_DIR = $(HCS_DIR))
+HCB_FLAGS := -b -i -a
+
+HCS_OBJ := hdf_hcs_hex.o
+HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ)))
+
+CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC))
+CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ)))
+
+$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC)
+ $(Q)$(CC) $(c_flags) -c -o $@ $<
+ $(Q)rm -f $<
+
+$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN)
+ $(Q)echo gen hdf built-in config
+ $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi
+ $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $<
+
+$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN)
+ $(Q)echo gen hdf driver config
+ $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi
+ $(Q)$(HC_GEN) -t -o $@ $<
+
+$(HC_GEN):
+ $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@)
+
+obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ)
diff --git a/oriole/hdf_config/khdf/audio/analog_headset_config.hcs b/oriole/hdf_config/khdf/audio/analog_headset_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..6de3baf7c5d075dc085443bd8adef180fbc66f4d
--- /dev/null
+++ b/oriole/hdf_config/khdf/audio/analog_headset_config.hcs
@@ -0,0 +1,26 @@
+root {
+ platform {
+ template headset_info {
+ match_attr = "";
+ serviceName = "";
+ }
+ headset :: headset_info {
+ match_attr = "analog_headset_attr";
+ serviceName = "analog_headset_service";
+ vendor = 0x0001;
+ product = 0x0001;
+ version = 0x0100;
+ dev_name = "rk809_analog_headset";
+ headset_gpio = 115;
+ headset_gpio_flag = 0;
+ mic_switch_gpio = 0;
+ hp_mic_io_value = 0;
+ main_mic_io_value = 1;
+ headset_wakeup = 1;
+ hook_gpio = 0;
+ adc_controller_no = 0;
+ adc_channel = 0;
+ hook_down_type = 0;
+ }
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/audio/audio_config.hcs b/oriole/hdf_config/khdf/audio/audio_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..ac1d367f37eb158df6e0a3302d510c4095e21f81
--- /dev/null
+++ b/oriole/hdf_config/khdf/audio/audio_config.hcs
@@ -0,0 +1,34 @@
+root {
+ platform {
+ template card_controller {
+ match_attr = "";
+ serviceName = "";
+ codecName = "";
+ platformName = "";
+ cpuDaiName = "";
+ codecDaiName = "";
+ dspName = "";
+ dspDaiName = "";
+ }
+ controller_0x120c1000 :: card_controller {
+ match_attr = "hdf_audio_driver_0";
+ serviceName = "hdf_audio_codec_primary_dev0";
+ codecName = "codec_service_0";
+ platformName = "dma_service_0";
+ cpuDaiName = "dai_service";
+ codecDaiName = "codec_dai";
+ dspName = "dsp_service_0";
+ dspDaiName = "dsp_dai";
+ }
+ controller_0x120c1001 :: card_controller {
+ match_attr = "hdf_audio_driver_1";
+ serviceName = "hdf_audio_codec_primary_dev11";
+ codecName = "codec_service_1";
+ platformName = "dma_service_0";
+ cpuDaiName = "dai_service";
+ codecDaiName = "rk817_dai";
+ dspName = "dsp_service_0";
+ dspDaiName = "dsp_dai";
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/audio/codec_config.hcs b/oriole/hdf_config/khdf/audio/codec_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..98ca542ba7ac8363aaf9f22e7303c1524dba7227
--- /dev/null
+++ b/oriole/hdf_config/khdf/audio/codec_config.hcs
@@ -0,0 +1,140 @@
+root {
+ platform {
+ template codec_controller {
+ match_attr = "";
+ serviceName = "";
+ codecDaiName = "";
+ }
+ controller_0x120c1030 :: codec_controller {
+ match_attr = "hdf_codec_driver_0";
+ serviceName = "codec_service_0";
+ codecDaiName = "codec_dai";
+ regConfig {
+ /* reg: register address
+ rreg: register address
+ shift: shift bits
+ rshift: rshift bits
+ min: min value
+ max: max value
+ mask: mask of value
+ invert: enum InvertVal 0-uninvert 1-invert
+ value: value
+ */
+
+ /* reg, value */
+ initSeqConfig = [
+ 0x13, 0xf4,
+ 0x15, 0xff,
+ 0x17, 0x40,
+ 0x18, 0xc8,
+ 0x1e, 0x00,
+ 0x27, 0x3f,
+ 0x29, 0x99,
+ 0x2f, 0x03,
+ 0x30, 0x06,
+ 0x35, 0x02,
+ 0x38, 0x10,
+ 0x3c, 0x0F,
+ 0x3d, 0x80,
+ 0x3e, 0x0f,
+ 0x3f, 0x11,
+ 0x40, 0xa5,
+ 0x41, 0x77,
+ 0x42, 0x04,
+ 0x43, 0x58,
+ 0x44, 0x2d,
+ 0x45, 0x0c,
+ 0x46, 0xa5,
+ 0x47, 0x00,
+ 0x48, 0x00,
+ 0x4b, 0x0f,
+ 0x4c, 0x20,
+ 0x4e, 0x0f,
+ 0x4f, 0x00,
+ ];
+
+ controlsConfig = [
+
+ /*array index, iface, mixer/mux, enable,*/
+ 0, 2, 0, 1,
+ 1, 2, 0, 1,
+ 2, 2, 0, 1,
+ 3, 2, 0, 1,
+ 4, 2, 0, 1,
+ 5, 2, 0, 1,
+ 8, 2, 0, 1,
+ 9, 2, 0, 1,
+ ];
+
+ /* reg, rreg, shift, rshift, min, max, mask, invert, value */
+ ctrlParamsSeqConfig = [
+ 0x31, 0x32, 0, 0, 0x00, 0xFF, 0xFF, 1, 0x00, // DACL/R Playback Volume
+ 0x1a, 0x1b, 0, 0, 0x00, 0xFF, 0xFF, 1, 0x00, // ADCL/R Capture Volume
+ 0x38, 0x38, 0, 0, 0x0, 0x1, 0x1, 0, 0x0, // DAC Playback Mute
+ 0x27, 0x27, 6, 6, 0x0, 0x1, 0x1, 0, 0x0, // ADCL/R Capture Mute
+ 0x29, 0x29, 4, 4, 0x0, 0xF, 0xF, 0, 0x9, // Mic Left Gain
+ 0x29, 0x29, 0, 0, 0x0, 0xF, 0xF, 0, 0x9, // Mic Right Gain
+ 0x4a, 0x4a, 2, 2, 0x0, 0x2, 0x3, 0, 0x0, // Render Channel Mode
+ 0x4d, 0x4d, 2, 2, 0x0, 0x2, 0x3, 0, 0x0, // Captrue Channel Mode
+ ];
+
+ /* reg, rreg, shift, rshift, min, max, mask, invert, value */
+ daiParamsSeqConfig = [
+ 0x45, 0x45, 0, 0, 0x0, 0xFF, 0xFF, 0, 0x0C, // PLL_PREDIV_BIT
+ 0x35, 0x35, 0, 0, 0x0, 0x7, 0x7, 0, 0x2, // DAC_Sample_rate
+ 0x1e, 0x1e, 0, 0, 0x0, 0x7, 0x7, 0, 0x2, // ADC_Sample_rate
+ 0x4e, 0x4e, 0, 0, 0x0, 0x17, 0x1F, 0, 0x0F, // TX_datawidth
+ 0x4b, 0x4b, 0, 0, 0x0, 0x17, 0x1F, 0, 0x0F, // RX_datawidth
+ 0x15, 0x15, 0x0, 0x0, 0x0, 0xf, 0xf, 0, 0x0, // rx clk enable
+ 0x15, 0x15, 0x4, 0x4, 0x0, 0xf, 0xf, 0, 0x0, // tx clk enable
+ ];
+
+ ctrlSapmParamsSeqConfig = [
+ 0x27, 0x27, 5, 5, 0x00, 0x1, 0x1, 1, 0x00, //LPGA MIC -- connect MIC1
+ 0x27, 0x27, 4, 4, 0x00, 0x1, 0x1, 1, 0x00, //RPGA MIC -- connect MIC2
+ 0x2F, 0x2F, 2, 2, 0x00, 0x1, 0x1, 1, 0x00, //Speaker1 Switch -- connect speaker
+ 0x2F, 0x2F, 1, 1, 0x00, 0x1, 0x1, 1, 0x00, //Headphone1 Switch -- connect hpl
+ 0x2F, 0x2F, 0, 0, 0x00, 0x1, 0x1, 1, 0x00, //Headphone2 Switch -- connect hpr
+ ];
+ /*
+ 电源管理组件配置
+ reg is 0xFFFF: component has no sapm register bit
+ sapmType, compNameIndex, reg, mask, shift, invert, kcontrolNews, kcontrolsNum
+ */
+ sapmComponent = [
+ 10, 0, 0x18, 0x1, 7, 1, 0, 0, //ADCL
+ 10, 1, 0x18, 0x1, 6, 1, 0, 0, //ADCR
+ 11, 32, 0xFFFF, 0xFFFF, 0, 0, 0, 0, //DAC1
+ 11, 33, 0xFFFF, 0xFFFF, 0, 0, 0, 0, //DAC2
+ 11, 34, 0xFFFF, 0xFFFF, 0, 0, 0, 0, //DAC3
+ 6, 52, 0xFFFF, 0xFFFF, 0, 0, 3, 1, //SPKL PGA
+ 6, 54, 0xFFFF, 0xFFFF, 0, 0, 4, 1, //HPL PGA
+ 6, 55, 0xFFFF, 0xFFFF, 0, 0, 5, 1, //HPR PGA
+ 15, 6, 0xFFFF, 0xFFFF, 0, 0, 0, 0, //SPK
+ 14, 10, 0xFFFF, 0xFFFF, 0, 0, 0, 0, //HPL
+ 14, 11, 0xFFFF, 0xFFFF, 0, 0, 0, 0, //HPR
+ 6, 4, 0xFFFF, 0xFFFF, 6, 0, 1, 1, //LPGA
+ 6, 5, 0xFFFF, 0xFFFF, 6, 0, 2, 1, //RPGA
+ 13, 40, 0xFFFF, 0xFFFF, 6, 0, 0, 0, //MIC1
+ 13, 41, 0x4d, 0x1, 1, 0, 0, 0 //MIC2
+ ];
+
+ /*array index, iface, mixer/mux, enable*/
+ sapmConfig = [
+ 0, 2, 0, 1,
+ 1, 2, 0, 1,
+ 24, 2, 0, 1,
+ 28, 2, 0, 1,
+ 29, 2, 0, 1
+ ];
+
+ }
+ }
+ controller_0x120c1031 :: codec_controller {
+ match_attr = "hdf_codec_driver_1";
+ serviceName = "codec_service_1";
+ codecDaiName = "rk817_dai";
+
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/audio/dai_config.hcs b/oriole/hdf_config/khdf/audio/dai_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..4af59b63786360f6d693d68f6a266057eb7cea23
--- /dev/null
+++ b/oriole/hdf_config/khdf/audio/dai_config.hcs
@@ -0,0 +1,65 @@
+root {
+ platform {
+ template dai_controller {
+ match_attr = "";
+ serviceName = "";
+ }
+ controller_0x120c1020 :: dai_controller {
+ match_attr = "hdf_dai_driver";
+ serviceName = "dai_service";
+
+ idInfo {
+ chipName = "uis7885`";
+ chipIdRegister = 0xfe410000;
+ chipIdSize = 0x1000;
+ }
+
+ regConfig {
+
+ /* reg: register address
+ rreg: register address
+ shift: shift bits
+ rshift: rshift bits
+ min: min value
+ max: max value
+ mask: mask of value
+ invert: enum InvertVal 0-uninvert 1-invert
+ value: value
+
+ reg, rreg, shift, rshift, min, max, mask, invert value
+ */
+ daiStartupSeqConfig = [
+ 0x00, 0x00, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x7200000f, //Transmit Operation Init
+ 0x04, 0x04, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x01c8000f, //Receive Operation Init
+ 0x08, 0x08, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x00001f1f, //Clock Generation Init
+ 0x10, 0x10, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x001f0000, //DMA Control Init
+ 0x14, 0x14, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x01f00000, //Interrupt Control Init
+ 0x1C, 0x1C, 0, 0, 0, 0x3, 0x3, 0, 0, //XFER Init
+ 0x30, 0x30, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x00003eff, //TDM Transmit Init
+ 0x34, 0x34, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x00003eff, //TDM Receive Init
+ 0x38, 0x38, 0, 0, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x00000707 //Clock Divider Init
+ ];
+
+ daiParamsSeqConfig = [
+ 0x08, 0x08, 8, 8, 0x1F, 0xFF, 0xFF, 0, 0x0, // I2S_CKR_RSD
+ 0x08, 0x08, 0, 0, 0x1F, 0xFF, 0xFF, 0, 0x0, // I2S_CKR_TSD
+ 0x38, 0x38, 8, 8, 0x00, 0xFF, 0xFF, 0, 0x0, // I2S_CLKDIV_RX_MDIV
+ 0x38, 0x38, 0, 0, 0x00, 0xFF, 0xFF, 0, 0x0, // I2S_CLKDIV_TX_MDIV
+ 0x08, 0x08, 27, 27, 0x0, 0x1, 0x1, 0, 0x0, // I2S_CKR_MSS
+ 0x08, 0x08, 26, 26, 0x0, 0x1, 0x1, 0, 0x0, // I2S_CKR_CKP
+ 0x08, 0x08, 25, 25, 0x0, 0x1, 0x1, 0, 0x0, // I2S_CKR_RLP
+ 0x08, 0x08, 24, 24, 0x0, 0x1, 0x1, 0, 0x0, // I2S_CKR_TLP
+ ];
+
+ daiTriggerSeqConfig = [
+ 0x10, 0x10, 24, 24, 0x0, 0x1, 0x1, 0, 0x1, // I2S_DMACR_RDE
+ 0x10, 0x10, 8, 8, 0x0, 0x1, 0x1, 0, 0x1, // I2S_DMACR_TDE
+ 0x14, 0x14, 17, 17, 0x0, 0x1, 0x1, 0, 0x0, // I2S_INTCR_RXOIE
+ 0x14, 0x14, 16, 16, 0x0, 0x1, 0x1, 0, 0x0, // I2S_INTCR_RXFIE
+ 0x14, 0x14, 1, 1, 0x0, 0x1, 0x1, 0, 0x0, // I2S_INTCR_TXUIE
+ 0x14, 0x14, 0, 0, 0x0, 0x1, 0x1, 0, 0x0 // I2S_INTCR_TXEIE
+ ];
+ }
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/audio/dma_config.hcs b/oriole/hdf_config/khdf/audio/dma_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..3df7d51b9e79b86c59cdee637b4d80b561bf5fa8
--- /dev/null
+++ b/oriole/hdf_config/khdf/audio/dma_config.hcs
@@ -0,0 +1,12 @@
+root {
+ platform {
+ template dma_controller {
+ match_attr = "";
+ serviceName = "";
+ }
+ controller_0x120c1010 :: dma_controller {
+ match_attr = "hdf_dma_driver";
+ serviceName = "dma_service_0";
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/audio/dsp_config.hcs b/oriole/hdf_config/khdf/audio/dsp_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..b967e3e4388e69195611ee2f874c7a25307e00c3
--- /dev/null
+++ b/oriole/hdf_config/khdf/audio/dsp_config.hcs
@@ -0,0 +1,19 @@
+root {
+ platform {
+ template dsp_controller {
+ match_attr = "";
+ serviceName = "";
+ dspDaiName = "";
+ }
+ controller_0x120c1040 :: dsp_controller {
+ match_attr = "hdf_dsp_driver";
+ serviceName = "dsp_service_0";
+ dspDaiName = "dsp_dai";
+ }
+ controller_0x120c1041 :: dsp_controller {
+ match_attr = "hdf_dsp_driver";
+ serviceName = "dsp_service_0";
+ dspDaiName = "dsp_dai";
+ }
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/device_info/device_info.hcs b/oriole/hdf_config/khdf/device_info/device_info.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..06315f6483778ae3184a9faad89b6de42eb63b98
--- /dev/null
+++ b/oriole/hdf_config/khdf/device_info/device_info.hcs
@@ -0,0 +1,657 @@
+ root {
+ device_info {
+ match_attr = "hdf_manager";
+ template host {
+ hostName = "";
+ priority = 100;
+ template device {
+ template deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 0;
+ permission = 0664;
+ moduleName = "";
+ serviceName = "";
+ deviceMatchAttr = "";
+ }
+ }
+ }
+ base :: host {
+ hostName = "base_host";
+ priority = 50;
+ device_support :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 10;
+ permission = 0644;
+ moduleName = "HDF_KEVENT";
+ serviceName = "hdf_kevent";
+ }
+ }
+ }
+ platform :: host {
+ hostName = "platform_host";
+ priority = 50;
+ device_gpio :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 10;
+ permission = 0644;
+ moduleName = "linux_gpio_adapter";
+ deviceMatchAttr = "linux_gpio_adapter";
+ }
+ }
+ device_watchdog :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 20;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_WATCHDOG";
+ serviceName = "HDF_PLATFORM_WATCHDOG_0";
+ deviceMatchAttr = "rockchip_uis7885_watchdog_0";
+ }
+ }
+ device_rtc :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 30;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_RTC";
+ serviceName = "HDF_PLATFORM_RTC";
+ deviceMatchAttr = "hisilicon_hi35xx_rtc";
+ }
+ }
+
+ device_uart :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 40;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_UART";
+ serviceName = "HDF_PLATFORM_UART_0";
+ deviceMatchAttr = "rockchip_uis7885_uart_0";
+ }
+ device1 :: deviceNode {
+ policy = 2;
+ permission = 0644;
+ priority = 40;
+ moduleName = "HDF_PLATFORM_UART";
+ serviceName = "HDF_PLATFORM_UART_1";
+ deviceMatchAttr = "rockchip_uis7885_uart_1";
+ }
+ }
+ device_i2c :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 50;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_I2C_MANAGER";
+ serviceName = "HDF_PLATFORM_I2C_MANAGER";
+ deviceMatchAttr = "hdf_platform_i2c_manager";
+ }
+ device1 :: deviceNode {
+ policy = 0;
+ priority = 55;
+ permission = 0644;
+ moduleName = "linux_i2c_adapter";
+ deviceMatchAttr = "linux_i2c_adapter";
+ }
+ }
+ device_spi :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 60;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_SPI";
+ serviceName = "HDF_PLATFORM_SPI_0";
+ deviceMatchAttr = "rockchip_uis7885_spi_0";
+ }
+ device1 :: deviceNode {
+ policy = 1;
+ priority = 60;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_SPI";
+ serviceName = "HDF_PLATFORM_SPI_1";
+ deviceMatchAttr = "rockchip_uis7885_spi_1";
+ }
+ device2 :: deviceNode {
+ policy = 1;
+ priority = 60;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_SPI";
+ serviceName = "HDF_PLATFORM_SPI_2";
+ deviceMatchAttr = "rockchip_uis7885_spi_2";
+ }
+ device3 :: deviceNode {
+ policy = 1;
+ priority = 60;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_SPI";
+ serviceName = "HDF_PLATFORM_SPI_3";
+ deviceMatchAttr = "rockchip_uis7885_spi_3";
+ }
+ }
+ device_sdio :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 70;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_SDIO";
+ serviceName = "HDF_PLATFORM_MMC_2";
+ deviceMatchAttr = "hisilicon_hi35xx_sdio_0";
+ }
+ }
+ device_emmc :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 20;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_EMMC";
+ serviceName = "HDF_PLATFORM_MMC_0";
+ deviceMatchAttr = "hisilicon_hi35xx_emmc_0";
+ }
+ }
+ device_pwm :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 80;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_PWM";
+ serviceName = "HDF_PLATFORM_PWM_0";
+ deviceMatchAttr = "linux_pwm_adapter_0";
+ }
+ device1 :: deviceNode {
+ policy = 1;
+ priority = 80;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_PWM";
+ serviceName = "HDF_PLATFORM_PWM_1";
+ deviceMatchAttr = "linux_pwm_adapter_1";
+ }
+ device2 :: deviceNode {
+ policy = 1;
+ priority = 80;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_PWM";
+ serviceName = "HDF_PLATFORM_PWM_2";
+ deviceMatchAttr = "linux_pwm_adapter_2";
+ }
+ device3 :: deviceNode {
+ policy = 1;
+ priority = 80;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_PWM";
+ serviceName = "HDF_PLATFORM_PWM_3";
+ deviceMatchAttr = "linux_pwm_adapter_3";
+ }
+ device4 :: deviceNode {
+ policy = 1;
+ priority = 80;
+ permission = 0644;
+ moduleName = "HDF_PLATFORM_PWM";
+ serviceName = "HDF_PLATFORM_PWM_4";
+ deviceMatchAttr = "linux_pwm_adapter_4";
+ }
+ }
+ device_mipi_dsi:: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 150;
+ permission = 0644;
+ moduleName = "HDF_MIPI_TX";
+ serviceName = "HDF_MIPI_TX";
+ }
+ }
+ }
+ display :: host {
+ hostName = "display_host";
+ device_hdf_drm_panel :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 197;
+ preload = 0;
+ moduleName = "HDF_DRMPANEL";
+ }
+ }
+ device_hdf_disp :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 196;
+ permission = 0660;
+ moduleName = "HDF_DISP";
+ serviceName = "hdf_disp";
+ }
+ }
+ device_hi35xx_disp :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 195;
+ moduleName = "HI351XX_DISP";
+ }
+ }
+ device_lcd :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 2;
+ moduleName = "LITE_LCDKIT";
+ deviceMatchAttr = "hdf_lcdkit_driver";
+ }
+ device1 :: deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 0;
+ moduleName = "LCD_ICN9700";
+ }
+ device2 :: deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 2;
+ moduleName = "LCD_ST7789";
+ }
+ device3 :: deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 0;
+ moduleName = "LCD_ILI9881_ST_5P5";
+ }
+ }
+ device_pwm_bl :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 95;
+ preload = 0;
+ moduleName = "PWM_BL";
+ deviceMatchAttr = "pwm_bl_dev";
+ }
+ }
+ device_backlight :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 90;
+ preload = 0;
+ permission = 0660;
+ moduleName = "HDF_BL";
+ serviceName = "hdf_bl";
+ }
+ }
+ }
+
+ input :: host {
+ hostName = "input_host";
+ priority = 100;
+ device_input_manager :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 100;
+ preload = 0;
+ permission = 0660;
+ moduleName = "HDF_INPUT_MANAGER";
+ serviceName = "hdf_input_host";
+ deviceMatchAttr = "";
+ }
+ }
+ device_hdf_touch :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 120;
+ preload = 0;
+ permission = 0660;
+ moduleName = "HDF_TOUCH";
+ serviceName = "hdf_input_event1";
+ deviceMatchAttr = "touch_device1";
+ }
+ }
+
+ device_touch_chip :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ priority = 130;
+ preload = 0;
+ permission = 0660;
+ moduleName = "HDF_TOUCH_NT36XXX";
+ serviceName = "hdf_touch_nt36xxx_service";
+ deviceMatchAttr = "novatek_nt36xxx_nvt";
+ }
+ }
+ device_hdf_hid :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 200;
+ preload = 0;
+ permission = 0660;
+ moduleName = "HDF_HID";
+ }
+ }
+ device_hdf_infrared :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 200;
+ preload = 2;
+ permission = 0660;
+ moduleName = "HDF_INFRARED";
+ serviceName = "hdf_input_event2";
+ deviceMatchAttr = "Infrared_device0";
+ }
+ }
+ }
+
+ network :: host {
+ hostName = "network_host";
+ device_wifi :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 100;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_WIFI";
+ deviceMatchAttr = "hdf_wlan_driver";
+ serviceName = "hdfwifi";
+ }
+ }
+ device_wlan_chips :: device {
+ device0 :: deviceNode {
+ policy = 0;
+ preload = 2;
+ moduleName = "HDF_WLAN_CHIPS_AP6275S";
+ deviceMatchAttr = "hdf_wlan_chips_ap6275s";
+ serviceName = "ap6275s";
+ }
+ }
+ }
+ sensor :: host {
+ hostName = "sensor_host";
+ device_sensor_manager :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 100;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_MGR_AP";
+ serviceName = "hdf_sensor_manager_ap";
+ }
+ }
+ device_sensor_accel :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 110;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_ACCEL";
+ serviceName = "sensor_accel";
+ deviceMatchAttr = "hdf_sensor_accel_driver";
+ }
+ }
+ device_sensor_mxc6655xa :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 120;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_ACCEL_MXC6655XA";
+ serviceName = "hdf_accel_mxc6655xa";
+ deviceMatchAttr = "hdf_sensor_accel_mxc6655xa_driver";
+ }
+ }
+ device_sensor_sc7a20e :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 120;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_ACCEL_SC7A20E";
+ serviceName = "hdf_accel_sc7a20e";
+ deviceMatchAttr = "hdf_sensor_accel_sc7a20e_driver";
+ }
+ }
+ device_sensor_als :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 110;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_ALS";
+ serviceName = "hdf_sensor_als";
+ deviceMatchAttr = "hdf_sensor_als_driver";
+ }
+ }
+ device_sensor_bh1745 :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 120;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_ALS_BH1745";
+ serviceName = "hdf_als_bh1745";
+ deviceMatchAttr = "hdf_sensor_als_bh1745_driver";
+ }
+ }
+ device_sensor_proximity :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 110;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_PROXIMITY";
+ serviceName = "hdf_sensor_proximity";
+ deviceMatchAttr = "hdf_sensor_proximity_driver";
+ }
+ }
+ device_sensor_apds9960 :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 120;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_PROXIMITY_APDS9960";
+ serviceName = "hdf_proximity_apds9960";
+ deviceMatchAttr = "hdf_sensor_proximity_adps9960_driver";
+ }
+ }
+ device_sensor_magnetic :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 110;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_MAGNETIC";
+ serviceName = "hdf_sensor_magnetic";
+ deviceMatchAttr = "hdf_sensor_magnetic_driver";
+ }
+ }
+ device_sensor_lsm303 :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 120;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_SENSOR_MAGNETIC_LSM303";
+ serviceName = "hdf_magnetic_lsm303";
+ deviceMatchAttr = "hdf_sensor_magnetic_lsm303_driver";
+ }
+ }
+ }
+ usb_pnp_linux :: host {
+ hostName = "usb_pnp_linux_host";
+ device_usb_pnp_linux :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 100;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_USB_PNP_NOTIFY";
+ serviceName = "hdf_usb_pnp_notify_service";
+ deviceMatchAttr = "hdf_usb_pnp_notify_config";
+ }
+ }
+ }
+ audio :: host {
+ hostName = "audio_host";
+ priority = 110;
+ device_dai0 :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 50;
+ preload = 0;
+ permission = 0666;
+ moduleName = "DAI_uis7885";
+ serviceName = "dai_service";
+ deviceMatchAttr = "hdf_dai_driver";
+ }
+ }
+ device_codec_0 :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 50;
+ preload = 0;
+ permission = 0666;
+ moduleName = "CODEC_RK809";
+ serviceName = "codec_service_0";
+ deviceMatchAttr = "hdf_codec_driver_0";
+ }
+ }
+ device_codec_1 :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 50;
+ preload = 0;
+ permission = 0666;
+ moduleName = "CODEC_RK817";
+ serviceName = "codec_service_1";
+ deviceMatchAttr = "hdf_codec_driver_1";
+ }
+ }
+ device_dsp :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 50;
+ preload = 0;
+ permission = 0666;
+ moduleName = "DSP_uis7885";
+ serviceName = "dsp_service_0";
+ deviceMatchAttr = "hdf_dsp_driver";
+ }
+ }
+ device_dma :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 50;
+ preload = 0;
+ permission = 0666;
+ moduleName = "DMA_uis7885";
+ serviceName = "dma_service_0";
+ deviceMatchAttr = "hdf_dma_driver";
+ }
+ }
+ device_audio :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 60;
+ preload = 0;
+ permission = 0666;
+ moduleName = "HDF_AUDIO";
+ deviceMatchAttr = "hdf_audio_driver_0";
+ serviceName = "hdf_audio_codec_primary_dev0";
+ }
+ device1 :: deviceNode {
+ policy = 2;
+ priority = 60;
+ preload = 0;
+ permission = 0666;
+ moduleName = "HDF_AUDIO";
+ deviceMatchAttr = "hdf_audio_driver_1";
+ serviceName = "hdf_audio_codec_primary_dev11";
+ }
+ }
+ device_stream :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 80;
+ preload = 0;
+ permission = 0666;
+ moduleName = "HDF_AUDIO_STREAM";
+ serviceName = "hdf_audio_render";
+ }
+ device1 :: deviceNode {
+ policy = 2;
+ priority = 80;
+ preload = 0;
+ permission = 0666;
+ moduleName = "HDF_AUDIO_STREAM";
+ serviceName = "hdf_audio_capture";
+ }
+ }
+ device_control :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 80;
+ preload = 0;
+ permission = 0666;
+ moduleName = "HDF_AUDIO_CONTROL";
+ serviceName = "hdf_audio_control";
+ }
+ }
+ device_analog_headset :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 90;
+ preload = 0;
+ permission = 0666;
+ moduleName = "AUDIO_ANALOG_HEADSET";
+ serviceName = "analog_headset_service";
+ deviceMatchAttr = "analog_headset_attr";
+ }
+ }
+ }
+ vibrator :: host {
+ hostName = "vibrator_host";
+ device_vibrator :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 100;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_VIBRATOR";
+ serviceName = "hdf_misc_vibrator";
+ deviceMatchAttr = "hdf_vibrator_driver";
+ }
+ }
+ device_linear_vibrator :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 105;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_LINEAR_VIBRATOR";
+ serviceName = "hdf_misc_linear_vibrator";
+ deviceMatchAttr = "hdf_linear_vibrator_driver";
+ }
+ }
+ device_drv2605l_vibrator :: device {
+ device0 :: deviceNode {
+ policy = 1;
+ priority = 105;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_DRV2605L_VIBRATOR";
+ serviceName = "hdf_misc_drv2605l_vibrator";
+ deviceMatchAttr = "hdf_drv2605l_linear_vibrator_driver";
+ }
+ }
+ }
+ light :: host {
+ hostName = "light_host";
+ device_light :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 100;
+ preload = 0;
+ permission = 0664;
+ moduleName = "HDF_LIGHT";
+ serviceName = "hdf_light";
+ deviceMatchAttr = "hdf_light_driver";
+ }
+ }
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf.hcs b/oriole/hdf_config/khdf/hdf.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..86d181701f214c0c631cf2aa70b56753bed20a16
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf.hcs
@@ -0,0 +1,26 @@
+#include "device_info/device_info.hcs"
+#include "platform/pwm_config.hcs"
+#include "platform/uis7885_watchdog_config.hcs"
+#include "platform/uis7885_uart_config.hcs"
+#include "platform/sdio_config.hcs"
+#include "platform/emmc_config.hcs"
+#include "platform/uis7885_spi_config.hcs"
+#include "input/input_config.hcs"
+#include "wifi/wlan_platform.hcs"
+#include "wifi/wlan_chip_ap6275s.hcs"
+#include "sensor/sensor_config.hcs"
+#include "audio/audio_config.hcs"
+#include "audio/codec_config.hcs"
+#include "audio/dai_config.hcs"
+#include "audio/dma_config.hcs"
+#include "audio/dsp_config.hcs"
+#include "audio/analog_headset_config.hcs"
+#include "light/light_config.hcs"
+#include "vibrator/vibrator_config.hcs"
+#include "vibrator/linear_vibrator_config.hcs"
+#include "vibrator/drv2605l_linear_vibrator_config.hcs"
+#include "lcd/lcd_config.hcs"
+
+root {
+ module = "rockchip,uis7885_chip";
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/Makefile b/oriole/hdf_config/khdf/hdf_test/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..084e3f9dfca4b0e25c9c4e2f15b07631fb4732ee
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/Makefile
@@ -0,0 +1,89 @@
+#
+# Copyright (c) 2020-2021 Huawei Device Co., Ltd.
+#
+# This software is licensed under the terms of the GNU General Public
+# License version 2, as published by the Free Software Foundation, and
+# may be copied, distributed, and modified under those terms.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+#
+
+ccflags-$(CONFIG_DRIVERS_HDF_TEST) += -I$(srctree)/include/hdf \
+ -I$(srctree)/include/hdf/osal \
+ -I$(srctree)/include/hdf/utils \
+ -I$(srctree)/drivers/hdf/khdf/osal/include \
+ -I$(srctree)/drivers/hdf/framework/utils/include
+
+ifeq ($(LOCAL_HCS_ROOT),)
+ LOCAL_HCS_ROOT := $(PRODUCT_PATH)
+endif
+
+CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST)))))
+SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../../)
+
+HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen)
+ifneq ($(OUT_DIR),)
+HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen
+else
+HC_GEN := $(HC_GEN_DIR)/build/hc-gen
+endif
+LOCAL_HCS_ROOT := $(CURRENT_DIR)
+
+HCS_DIR := $(LOCAL_HCS_ROOT)
+
+ifneq ($(TARGET_BOARD_PLATFORM),)
+ HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM)
+else
+ ifneq ($(CONFIG_ARCH_HI3516DV300),)
+ HCS_DIR := $(LOCAL_HCS_ROOT)
+ endif
+ ifneq ($(CONFIG_ARCH_HI3518EV300),)
+ HCS_DIR := $(LOCAL_HCS_ROOT)
+ endif
+endif
+$(info HCS_DIR = $(HCS_DIR))
+HCB_FLAGS := -b -i -a
+
+HCS_OBJ := hdf_hcs_hex.o
+HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ)))
+
+CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC))
+CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ)))
+
+HDF_FRAMWORK_TEST_ROOT = $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/test/unittest/utils/hcs_parser/unittest)
+HCS_MACRO_OBJ := hcs_macro_cases.o
+HCS_MACRO_SRC := $(HDF_FRAMWORK_TEST_ROOT)/hcs_macro_cases.c
+HCS_DEP := $(HDF_FRAMWORK_TEST_ROOT)/hdf_macro_test.h
+HCS_MACRO_GEN_FILE := $(HDF_FRAMWORK_TEST_ROOT)/hdf_macro_test
+HCS_FILE := $(HCS_DIR)/hdf.hcs
+
+$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC)
+ $(Q)$(CC) $(c_flags) -c -o $@ $<
+ $(Q)rm -f $<
+
+$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN)
+ $(Q)echo gen hdf built-in config
+ $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi
+ $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $<
+
+$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN)
+ $(Q)echo gen hdf driver config
+ $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi
+ $(Q)$(HC_GEN) -t -o $@ $<
+
+$(HC_GEN):
+ $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@)
+
+$(obj)/$(HCS_MACRO_OBJ): $(HCS_MACRO_SRC) $(HCS_DEP)
+ $(Q)$(CC) $(c_flags) -c -o $@ $<
+
+$(HCS_DEP): $(HC_GEN)
+ $(Q)echo gen hdf built-in config macro
+ $(Q)$(HC_GEN) -m -o $(HCS_MACRO_GEN_FILE) $(HCS_FILE)
+
+obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) \
+ $(HCS_MACRO_OBJ)
diff --git a/oriole/hdf_config/khdf/hdf_test/emmc_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/emmc_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..fe1d87652ff4bd288ee52df962799aaef50f5292
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/emmc_test_config.hcs
@@ -0,0 +1,10 @@
+root {
+ module = "emmc";
+ emmc_config {
+ emmc_controller_tester {
+ match_attr = "EMMC_TEST";
+ busNum = 0;
+ hostId = 0;
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/gpio_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/gpio_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..093f52a91f91a16c095d45584c88f82fbc4eb63a
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/gpio_test_config.hcs
@@ -0,0 +1,10 @@
+root {
+ module = "gpio";
+ gpio_config {
+ gpio_controller_tester {
+ match_attr = "GPIO_TEST";
+ gpio = 83;
+ gpioIrq = 83;
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/hdf.hcs b/oriole/hdf_config/khdf/hdf_test/hdf.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..c253b38b7e0480649dd6e3c92caed2a313755cc7
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/hdf.hcs
@@ -0,0 +1,14 @@
+#include "../hdf.hcs"
+#include "hdf_config_test.hcs"
+#include "hdf_test_manager/device_info.hcs"
+#include "gpio_test_config.hcs"
+#include "i2c_test_config.hcs"
+#include "pwm_test_config.hcs"
+#include "spi_test_config.hcs"
+#include "sdio_test_config.hcs"
+#include "emmc_test_config.hcs"
+#include "uart_test_config.hcs"
+
+root {
+ module = "hisilicon,hi35xx_chip";
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/hdf_config_test.hcs b/oriole/hdf_config/khdf/hdf_test/hdf_config_test.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..ddc7b0962d429034be9df942546a952529c5905b
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/hdf_config_test.hcs
@@ -0,0 +1,52 @@
+root {
+ module = "ConfigTest";
+ match_attr = "test,config";
+ audio_info {
+ match_attr = "hw,hw_audio_info";
+ pa_identifier = "smartpakit";
+ smartpa_addr = 65536;
+ smartpa_num = 1;
+ builtin_primary_mic_exist = true;
+ builtin_second_mic_exist = true;
+ voice_vol_level = 256;
+ cust_name = "audio_custom_v2";
+ dual_smartpa_delay = "true";
+ read_u64data = 0x100000000;
+ status = "ok";
+ }
+ fingerprint_info {
+ match_attr = "hw,hw_fingerprint_info";
+ read_u32_index = [1, 256, 65536];
+ finger_info = &fingerprint_one;
+ audio_info = &root.audio_info;
+ fingerprint_one {
+ product = "test";
+ chip = "one";
+ one_child {
+ status = "ok";
+ }
+ status = "ok";
+ }
+ dual_fingerprint = "false";
+ fingerprint_two: fingerprint_one {
+ chip = "two";
+ status = "disable";
+ }
+ string_list_names = ["first", "second", "third"];
+ status = "ok";
+ }
+ data_type_test {
+ match_attr = "hw,data_type_test";
+ read_four_data_type = [0x1, 0x100, 0x10000, 0x100000000];
+ test_u8_elem_data = [0, 1, 2, 3, 4, 5, 6, 7];
+ test_u16_elem_data = [0, 1, 2, 3, 4, 5, 256, 257];
+ }
+ board_id = [65536, 256];
+ support_Device = "TP LCD Sensor";
+ fingerprint_three: root.fingerprint_info.fingerprint_one {
+ chip = "three";
+ status = "disable";
+ }
+ modem_id = [0xF6B40136, 0x0];
+ boardId = 8000;
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/hdf_hcs.hcb b/oriole/hdf_config/khdf/hdf_test/hdf_hcs.hcb
new file mode 100644
index 0000000000000000000000000000000000000000..2e054ae27b205098c980506b377f717ff1b8832f
Binary files /dev/null and b/oriole/hdf_config/khdf/hdf_test/hdf_hcs.hcb differ
diff --git a/oriole/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs b/oriole/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..a772d59e63ea602b9570f905db9bc42f53e26ccd
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs
@@ -0,0 +1,143 @@
+root {
+ device_info {
+ test_host :: host {
+ hostName = "test_host";
+ priority = 180;
+ device_hdf_test :: device {
+ device0 :: deviceNode {
+ policy = 2;
+ priority = 10;
+ preload = 0;
+ permission = 0644;
+ moduleName = "khdf_ut";
+ serviceName = "khdf_ut";
+ }
+ device1 :: deviceNode {
+ policy = 2;
+ priority = 10;
+ preload = 0;
+ permission = 0644;
+ moduleName = "sample_driver";
+ serviceName = "sample_service";
+ }
+ device2 :: deviceNode {
+ policy = 2;
+ priority = 10;
+ preload = 0;
+ permission = 0644;
+ moduleName = "pm_test_driver";
+ serviceName = "pm_ut_service";
+ }
+ device3 :: deviceNode {
+ policy = 2;
+ priority = 10;
+ preload = 2;
+ permission = 0644;
+ moduleName = "hdf_test_helper";
+ serviceName = "hdf_test_helper";
+ }
+ device_uevent_ut :: deviceNode {
+ policy = 2;
+ priority = 10;
+ preload = 0;
+ permission = 0644;
+ moduleName = "uevent_ut_driver";
+ serviceName = "hdf_uevent_ut";
+ }
+ }
+ device_platform_test :: device {
+ gpio_tester :: deviceNode {
+ policy = 1;
+ priority = 101;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_GPIO_TEST";
+ deviceMatchAttr = "GPIO_TEST";
+ serviceName = "GPIO_TEST";
+ }
+ i2c_tester :: deviceNode {
+ policy = 2;
+ priority = 101;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_I2C_TEST";
+ deviceMatchAttr = "I2C_TEST";
+ serviceName = "I2C_TEST";
+ }
+ pwm_test :: deviceNode {
+ policy = 1;
+ priority = 110;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_PWM_TEST";
+ serviceName = "PWM_TEST";
+ deviceMatchAttr = "PWM_TEST";
+ }
+ spi_test :: deviceNode {
+ policy = 1;
+ priority = 100;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_SPI_TEST";
+ serviceName = "SPI_TEST";
+ deviceMatchAttr = "SPI_TEST";
+ }
+ emmc_tester :: deviceNode {
+ policy = 1;
+ priority = 100;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_EMMC_TEST";
+ serviceName = "EMMC_TEST";
+ deviceMatchAttr = "EMMC_TEST";
+ }
+ sdio_tester :: deviceNode {
+ policy = 1;
+ priority = 100;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_SDIO_TEST";
+ serviceName = "SDIO_TEST";
+ deviceMatchAttr = "SDIO_TEST";
+ }
+ watchdog_test :: deviceNode {
+ policy = 1;
+ priority = 110;
+ preload = 0;
+ permission = 0660;
+ moduleName = "PLATFORM_WATCHDOG_TEST";
+ serviceName = "WATCHDOG_TEST";
+ deviceMatchAttr = "WATCHDOG_TEST";
+ }
+ mipi_dsi_test :: deviceNode {
+ policy = 1;
+ priority = 100;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_MIPI_DSI_TEST";
+ serviceName = "PLATFORM_MIPI_DSI_TEST";
+ deviceMatchAttr = "PLATFORM_MIPI_DSI_TEST";
+ }
+ uart_tester :: deviceNode {
+ policy = 1;
+ priority = 100;
+ preload = 0;
+ permission = 0644;
+ moduleName = "PLATFORM_UART_TEST";
+ serviceName = "UART_TEST";
+ deviceMatchAttr = "UART_TEST";
+ }
+ }
+ device_sensor_test :: device {
+ sensor_tester :: deviceNode {
+ policy = 0;
+ priority = 100;
+ preload = 0;
+ permission = 0644;
+ moduleName = "HDF_SENSOR_TEST_DRIVER";
+ }
+ }
+ }
+ }
+}
+
diff --git a/oriole/hdf_config/khdf/hdf_test/i2c_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/i2c_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..9d706242928369cbdba64e0769437954832d8b7f
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/i2c_test_config.hcs
@@ -0,0 +1,13 @@
+root {
+ module = "i2c";
+ i2c_config {
+ i2c_controller_tester {
+ match_attr = "I2C_TEST";
+ bus_num = 1;
+ dev_addr = 0x5d;
+ reg_addr = 0xd0;
+ reg_len = 2;
+ buf_size = 7;
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/pwm_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/pwm_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..d29d8cee0162c592f38eb8433c28b0f09a18ecc5
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/pwm_test_config.hcs
@@ -0,0 +1,11 @@
+root {
+ pwm_test {
+ module = "pwm_test";
+ match_attr = "PWM_TEST";
+ num = 0;
+ period = 999;
+ duty = 333;
+ polarity = 0;
+ status = 1;
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/sdio_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/sdio_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..9f1835a7d42a76bf4950c8e7e77d867c8f67264e
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/sdio_test_config.hcs
@@ -0,0 +1,12 @@
+root {
+ module = "sdio";
+ sdio_config {
+ sdio_controller_tester {
+ match_attr = "SDIO_TEST";
+ busNum = 2;
+ funcNum = 1;
+ vendorId = 0x296;
+ deviceId = 0x5347;
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/spi_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/spi_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..028707ed1b9f8e01e1cbb82609f9c3d48bff96d3
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/spi_test_config.hcs
@@ -0,0 +1,10 @@
+root {
+ spi_test {
+ module = "spi_test";
+ match_attr = "SPI_TEST";
+ bus = 0;
+ cs = 0;
+ len = 8;
+ wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90];
+ }
+}
diff --git a/oriole/hdf_config/khdf/hdf_test/uart_test_config.hcs b/oriole/hdf_config/khdf/hdf_test/uart_test_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..54ae69c76e7005871eac9d99802e9b384214a1e6
--- /dev/null
+++ b/oriole/hdf_config/khdf/hdf_test/uart_test_config.hcs
@@ -0,0 +1,9 @@
+root {
+ uart_test {
+ module = "uart_test";
+ match_attr = "UART_TEST";
+ port = 1;
+ len = 8;
+ wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90];
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/input/input_config.hcs b/oriole/hdf_config/khdf/input/input_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..4954bfee31a8c37b78531c9625cc5b2d4a017538
--- /dev/null
+++ b/oriole/hdf_config/khdf/input/input_config.hcs
@@ -0,0 +1,262 @@
+root {
+ input_config {
+ touchConfig {
+ touch0 {
+ boardConfig {
+ match_attr = "touch_device1";
+ inputAttr {
+ /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */
+ inputType = 0;
+ solutionX = 1080;
+ solutionY = 2408;
+ devName = "main_touch";
+ }
+//NVT_NT36XXX
+ busConfig {
+ busType = 1; // 0:i2c 1:spi
+ busNum = 1; // spi1
+ clkGpio = 0;
+ csGpio = 0;
+ misoGpio = 1;
+ mosiGpio = 1;
+ busAddr = 0;
+ regWidth = 2; // 2 bytes
+ spiClkReg = [0, 0];
+ spiCsReg = [0, 0];
+ spiMisoReg = [0, 0];
+ spiMosiReg = [0, 0];
+ }
+
+ pinConfig {
+ rstGpio = 60;
+ intGpio = 61;
+ rstRegCfg = [0x112f0094, 0x400];
+ intRegCfg = [0x112f0098, 0x400];
+ }
+// Hi3516DV300-Runhe gt911--5p5 & 4p0
+/*
+ busConfig {
+ // 0:i2c 1:spi
+ busType = 0;
+ busNum = 1;
+ clkGpio = 86;
+ dataGpio = 87;
+ i2cClkIomux = [0x114f0048, 0x403];
+ i2cDataIomux = [0x114f004c, 0x403];
+ }
+
+ pinConfig {
+ rstGpio = 14;
+ intGpio = 13;
+ rstRegCfg = [0x112f0094, 0x400];
+ intRegCfg = [0x112f0098, 0x400];
+ }
+*/
+// Hi3516DV300-Ruishi gt911--7p0
+/*
+ busConfig {
+ // 0:i2c 1:spi
+ busType = 0;
+ busNum = 6;
+ clkGpio = 26;
+ dataGpio = 27;
+ i2cClkIomux = [0x114f0048, 0x403];
+ i2cDataIomux = [0x114f004c, 0x403];
+ }
+
+ pinConfig {
+ rstGpio = 13;
+ intGpio = 12;
+ rstRegCfg = [0x10ff0030, 0x400];
+ intRegCfg = [0x10ff002C, 0x400];
+ }
+*/
+// Hi3516DV300-Demo board: ft6336--2p35
+/*
+ busConfig {
+ // 0:i2c 1:spi
+ busType = 0;
+ busNum = 3;
+ clkGpio = 2;
+ dataGpio = 1;
+ i2cClkIomux = [0x112f0090, 0x5f1];
+ i2cDataIomux = [0x112f008c, 0x5f1];
+ }
+
+ pinConfig {
+ rstGpio = 3;
+ intGpio = 4;
+ rstRegCfg = [0x0, 0x0];
+ intRegCfg = [0x112f0098, 0x5f0];
+ }
+*/
+ powerConfig {
+ /* 0:unused 1:ldo 2:gpio 3:pmic */
+ vccType = 2;
+ vccNum = 175; // gpio175
+ vccValue = 1800;
+ vciType = 1;
+ vciNum = 12; // ldo12
+ vciValue = 3300;
+ }
+
+ featureConfig {
+ capacitanceTest = 0;
+ gestureMode = 0;
+ gloverMOde = 0;
+ coverMode = 0;
+ chargerMode = 0;
+ knuckleMode = 0;
+ }
+ }
+
+ chipConfig {
+ template touchChip {
+ match_attr = "";
+ chipName = "gt911";
+ vendorName = "zsj";
+ chipInfo = "AAAA11222"; // 4-ProjectName, 2-TP IC, 3-TP Module
+ /* 0:i2c 1:spi*/
+ busType = 0;
+ deviceAddr = 0x5D;
+ /* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */
+ irqFlag = 2;
+ maxSpeed = 400;
+ chipVersion = 0; //parse Coord TypeA
+ powerSequence {
+ /* [type, status, dir , delay]
+ 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
+ 0:off or low 1:on or high 2:no ops
+ 0:input 1:output 2:no ops
+ meanings delay xms, 20: delay 20ms
+ */
+ powerOnSeq = [4, 0, 1, 5,
+ 3, 0, 1, 10,
+ 3, 1, 1, 60,
+ 4, 2, 0, 50];
+ suspendSeq = [3, 0, 2, 10];
+ resumeSeq = [3, 1, 2, 10];
+ powerOffSeq = [3, 0, 2, 10,
+ 1, 0, 2, 20];
+ }
+ }
+
+ chip0 :: touchChip {
+ match_attr = "zsj_gt911_5p5";
+ chipInfo = "ZIDN45100"; // 4-ProjectName, 2-TP IC, 3-TP Module
+ chipVersion = 0; //parse point by TypeA
+ }
+
+ chip1 :: touchChip {
+ match_attr = "zsj_gt911_4p0";
+ chipInfo = "ZIDN45101";
+ chipVersion = 1; //parse point by TypeB
+ }
+
+ chip2 :: touchChip {
+ match_attr = "tg_gt911_7p0";
+ vendorName = "tg";
+ chipInfo = "ZIDN45102";
+ chipVersion = 2; //parse point by TypeC
+ }
+
+ chip3 :: touchChip {
+ match_attr = "st_ft6336_2p35";
+ chipName = "ft6336";
+ vendorName = "st";
+ chipInfo = "ZIDN53200";
+ deviceAddr = 0x38;
+ irqFlag = 1; // Rising
+ powerSequence {
+ /* [type, status, dir , delay]
+ 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
+ 0:off or low 1:on or high 2:no ops
+ 0:input 1:output 2:no ops
+ meanings delay xms, 20: delay 20ms
+ */
+ powerOnSeq = [4, 2, 0, 0,
+ 3, 1, 1, 2,
+ 3, 0, 2, 5,
+ 3, 1, 2, 200];
+ suspendSeq = [3, 0, 2, 10];
+ resumeSeq = [3, 1, 2, 10];
+ powerOffSeq = [3, 0, 2, 10,
+ 1, 0, 2, 20];
+ }
+ }
+ chip4 :: touchChip {
+ match_attr = "novatek_nt36xxx_nvt";
+ chipName = "nt36xxx";
+ vendorName = "novatek";
+ chipInfo = "NT36xxx";
+ busType = 1;
+ irqFlag = 1; // Rising
+ wordMode = 8;
+ commMode = 3;
+ transferMode = 3;
+ maxSpeed = 8000000;
+ csSetupTime = 25;
+ csHoldTime = 25;
+ csRecoveryTime = 2;
+
+ //deviceAddr = 0x38;
+
+ powerSequence {
+ /* [type, status, dir , delay]
+ 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
+ 0:off or low 1:on or high 2:no ops
+ 0:input 1:output 2:no ops
+ meanings delay xms, 20: delay 20ms
+ */
+ powerOnSeq = [3, 0, 1, 10,
+ 3, 1, 1, 1000];
+ suspendSeq = [3, 0, 2, 10];
+ resumeSeq = [3, 0, 1, 1000,
+ 3, 1, 1, 20];
+ powerOffSeq = [3, 0, 2, 10,
+ 1, 0, 2, 20];
+ }
+ }
+ }
+ }
+ }
+
+ keyConfig {
+ keyList = ["power", "VolUp", "VolDown", "Up", "Down", "Left", "Right"];
+ keyInfoList {
+ key1 {
+ match_attr = "key_device0";
+ /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */
+ inputType = 1;
+ keyName = "power";
+ gpioNum = 1;
+ irqFlag = 3;
+ debounceTime = 80;
+ }
+
+ key2 {
+ keyName = "volUp";
+ gpioNum = 31;
+ irqFlag = 1;
+ debounceTime = 80;
+ }
+
+ key3 {
+ keyName = "volDown";
+ gpioNum = 32;
+ irqFlag = 1;
+ debounceTime = 80;
+ }
+ }
+ }
+ infraredConfig {
+ infrared1 {
+ match_attr = "Infrared_device0";
+ infraredName = "raspberryInfrared";
+ inputType = 1;
+ gpioNum = 29;
+ irqFlag = 1;
+ }
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/lcd/lcd_config.hcs b/oriole/hdf_config/khdf/lcd/lcd_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..dd1ea37befacdbed5091f95de6cc873409ce1623
--- /dev/null
+++ b/oriole/hdf_config/khdf/lcd/lcd_config.hcs
@@ -0,0 +1,13 @@
+root {
+ backlightConfig {
+ pwmBacklightConfig {
+ match_attr = "pwm_bl_dev";
+ pwmDevNum = 1;
+ pwmMaxPeriod = 25000;
+ backlightDevName = "hdf_pwm";
+ minBrightness = 0;
+ defBrightness = 127;
+ maxBrightness = 255;
+ }
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/light/light_config.hcs b/oriole/hdf_config/khdf/light/light_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..1f744099f851388fd9994b2698556cfd68ce7413
--- /dev/null
+++ b/oriole/hdf_config/khdf/light/light_config.hcs
@@ -0,0 +1,25 @@
+root {
+ lightConfig {
+ boardConfig {
+ match_attr = "hdf_light_driver";
+ lightAttr {
+ light01 {
+ lightId = [1]; /* Lightid can contain multiple logical light ID, for example:
+ 1 indicates the power indicator. These logic lights work on
+ the same physical light light01. */
+ lightName = "battery";
+ lightNumber = 1;
+ busRNum = 147; // Red corresponding GPIO.
+ busGNum = 146; // Green corresponding GPIO.
+ busBNum = 149; // Blue corresponding GPIO.
+ defaultBrightness = 0X00FFFFFF; /* System default brightness value.
+ B: 0-7bit, R: 8-15bit, G: 16-23, extended bit: 24-31bit. */
+ onTime = 50; /* The minimum duration (in milliseconds) that the system supports
+ when the light is on during flashing */
+ offTime = 50; /* The minimum duration (in milliseconds) that the system supports
+ when the light is off during flashing */
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/platform/emmc_config.hcs b/oriole/hdf_config/khdf/platform/emmc_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..3351c0c469d73461610ad22e8fd35a3c912f6981
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/emmc_config.hcs
@@ -0,0 +1,16 @@
+root {
+ platform {
+ emmc_config {
+ template emmc_controller {
+ match_attr = "";
+ hostId = 0;
+ devType = 0;
+ }
+
+ controller_0x00 :: emmc_controller {
+ match_attr = "hisilicon_hi35xx_emmc_0";
+ }
+ }
+ }
+}
+
diff --git a/oriole/hdf_config/khdf/platform/i2c_config.hcs b/oriole/hdf_config/khdf/platform/i2c_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..7bc3d003306462e3efc4e1f7522a7d3c84d12395
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/i2c_config.hcs
@@ -0,0 +1,36 @@
+root {
+ platform {
+ i2c_config {
+ match_attr = "linux_i2c_adapter";
+
+ template i2c_controller {
+ bus = 0;
+ }
+
+ controller_0x120b0000 :: i2c_controller {
+ bus = 0;
+ }
+ controller_0x120b1000 :: i2c_controller {
+ bus = 1;
+ }
+ controller_0x120b2000 :: i2c_controller {
+ bus = 2;
+ }
+ controller_0x120b3000 :: i2c_controller {
+ bus = 3;
+ }
+ controller_0x120b4000 :: i2c_controller {
+ bus = 4;
+ }
+ controller_0x120b5000 :: i2c_controller {
+ bus = 5;
+ }
+ controller_0x120b6000 :: i2c_controller {
+ bus = 6;
+ }
+ controller_0x120b7000 :: i2c_controller {
+ bus = 7;
+ }
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/platform/pwm_config.hcs b/oriole/hdf_config/khdf/platform/pwm_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..ac7cba0a21c0150603b96b194ac2aa4c1a683735
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/pwm_config.hcs
@@ -0,0 +1,37 @@
+root {
+ platform {
+ pwm_config {
+ template pwm_device {
+ serviceName = "";
+ match_attr = "";
+ num = 0;
+ }
+
+ device_pwm_0x00000000 :: pwm_device {
+ num = 0;
+ match_attr = "linux_pwm_adapter_0";
+ }
+
+ device_pwm_0x00000001 :: pwm_device {
+ num = 1;
+ match_attr = "linux_pwm_adapter_1";
+ }
+
+ device_pwm_0x00000002 :: pwm_device {
+ num = 2;
+ match_attr = "linux_pwm_adapter_2";
+ }
+
+ device_pwm_0x00000003 :: pwm_device {
+ num = 3;
+ match_attr = "linux_pwm_adapter_3";
+ }
+
+ device_pwm_0x00000004 :: pwm_device {
+ num = 4;
+ match_attr = "linux_pwm_adapter_4";
+ }
+ }
+ }
+}
+
diff --git a/oriole/hdf_config/khdf/platform/sdio_config.hcs b/oriole/hdf_config/khdf/platform/sdio_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..5e1018fbf0d8528153fd63c5c48f12cb75adc254
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/sdio_config.hcs
@@ -0,0 +1,15 @@
+root {
+ platform {
+ sdio_config {
+ template sdio_controller {
+ match_attr = "";
+ hostId = 2;
+ devType = 2;
+ }
+ controller_0x2dd1 :: sdio_controller {
+ match_attr = "hisilicon_hi35xx_sdio_0";
+ }
+ }
+ }
+}
+
diff --git a/oriole/hdf_config/khdf/platform/uis7885_spi_config.hcs b/oriole/hdf_config/khdf/platform/uis7885_spi_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..a7f4089129327719750f3048ec7300a7bc0a4488
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/uis7885_spi_config.hcs
@@ -0,0 +1,41 @@
+root {
+ platform {
+ spi_config {
+ template spi_controller {
+ serviceName = "";
+ match_attr = "";
+ busNum = 0;
+ numCs = 0;
+ }
+
+ controller_0xfe610000 :: spi_controller {
+ busNum = 0;
+ numCs = 1;
+ match_attr = "rockchip_uis7885_spi_0";
+ }
+
+ controller_0xfe620000 :: spi_controller {
+ match_attr = "rockchip_uis7885_spi_1";
+ busNum = 1;
+ numCs = 1;
+ mode = 0;
+ bitsPerWord = 8;
+ speed = 8000000;
+ isSlave = 0;
+ }
+
+ controller_0xfe630000 :: spi_controller {
+ match_attr = "rockchip_uis7885_spi_2";
+ busNum = 2;
+ numCs = 1;
+ }
+ controller_0xfe640000 :: spi_controller {
+ match_attr = "rockchip_uis7885_spi_3";
+ busNum = 3;
+ numCs = 1;
+ }
+ }
+ }
+}
+
+
diff --git a/oriole/hdf_config/khdf/platform/uis7885_uart_config.hcs b/oriole/hdf_config/khdf/platform/uis7885_uart_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..d35012727aebb48c4e02cf0b2b577e3c5288964f
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/uis7885_uart_config.hcs
@@ -0,0 +1,20 @@
+root {
+ platform {
+ uart_config {
+ template uart_device {
+ serviceName = "";
+ match_attr = "";
+ driver_name = "ttyS";
+ num = 0;
+ }
+
+ device_uart_0x0000 :: uart_device {
+ match_attr = "rockchip_uis7885_uart_0";
+ }
+ device_uart_0x0001 :: uart_device {
+ num = 1;
+ match_attr = "rockchip_uis7885_uart_1";
+ }
+ }
+ }
+}
diff --git a/oriole/hdf_config/khdf/platform/uis7885_watchdog_config.hcs b/oriole/hdf_config/khdf/platform/uis7885_watchdog_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..506e5797791a614f7be660565c0f7eaabdae4481
--- /dev/null
+++ b/oriole/hdf_config/khdf/platform/uis7885_watchdog_config.hcs
@@ -0,0 +1,16 @@
+root {
+ platform {
+ watchdog_config {
+ template watchdog_device {
+ serviceName = "HDF_PLATFORM_WATCHDOG_0";
+ match_attr = "";
+ id = 0;
+ }
+
+ device_0x12050000 :: watchdog_device {
+ id = 0;
+ match_attr = "rockchip_uis7885_watchdog_0";
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/sensor/accel/bmi160_config.hcs b/oriole/hdf_config/khdf/sensor/accel/bmi160_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..62ca0c567624f1da4d7d6d308e815cd5595cf52d
--- /dev/null
+++ b/oriole/hdf_config/khdf/sensor/accel/bmi160_config.hcs
@@ -0,0 +1,50 @@
+#include "../sensor_common.hcs"
+root {
+ accel_bmi160_chip_config : sensorConfig {
+ match_attr = "hdf_sensor_accel_driver";
+ sensorInfo :: sensorDeviceInfo {
+ sensorName = "accelerometer";
+ vendorName = "borsh_bmi160"; // max string length is 16 bytes
+ sensorTypeId = 1; // enum SensorTypeTag
+ sensorId = 1; // user define sensor id
+ power = 230;
+ }
+ sensorBusConfig :: sensorBusInfo {
+ busType = 0; // 0:i2c 1:spi
+ busNum = 6;
+ busAddr = 0x68;
+ regWidth = 1; // 1byte
+ }
+ sensorIdAttr :: sensorIdInfo {
+ chipName = "bmi160";
+ chipIdRegister = 0x00;
+ chipIdValue = 0xd1;
+ }
+ sensorRegConfig {
+ /* regAddr: register address
+ value: config register value
+ len: size of value
+ mask: mask of value
+ delay: config register delay time (ms)
+ opsType: enum SensorOpsType 0-none 1-read 2-write 3-read_check 4-update_bit
+ calType: enum SensorBitCalType 0-none 1-set 2-revert 3-xor 4-left shift 5-right shift
+ shiftNum: shift bits
+ debug: 0-no debug 1-debug
+ save: 0-no save 1-save
+ */
+ /* regAddr, value, mask, len, delay, opsType, calType, shiftNum, debug, save */
+ initSeqConfig = [
+ 0x7e, 0xb6, 0xff, 1, 5, 2, 0, 0, 0, 0,
+ 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0
+ ];
+ enableSeqConfig = [
+ 0x7e, 0x11, 0xff, 1, 5, 2, 0, 0, 0, 0,
+ 0x41, 0x03, 0xff, 1, 0, 2, 0, 0, 0, 0,
+ 0x40, 0x08, 0xff, 1, 0, 2, 0, 0, 0, 0
+ ];
+ disableSeqConfig = [
+ 0x7e, 0x10, 0xff, 1, 5, 2, 0, 0, 0, 0
+ ];
+ }
+ }
+}
\ No newline at end of file
diff --git a/oriole/hdf_config/khdf/sensor/accel/mxc6655xa_config.hcs b/oriole/hdf_config/khdf/sensor/accel/mxc6655xa_config.hcs
new file mode 100644
index 0000000000000000000000000000000000000000..7497fe8427dfab8593bac3e058fea8e8a36be8b9
--- /dev/null
+++ b/oriole/hdf_config/khdf/sensor/accel/mxc6655xa_config.hcs
@@ -0,0 +1,69 @@
+#include "../sensor_common.hcs"
+root {
+ accel_mxc6655xa_chip_config : sensorConfig {
+ match_attr = "hdf_sensor_accel_mxc6655xa_driver";
+ sensorInfo :: sensorDeviceInfo {
+ sensorName = "accelerometer";
+ vendorName = "memsi_mxc6655xa"; // max string length is 16 bytes
+ sensorTypeId = 1; // enum SensorTypeTag
+ sensorId = 1; // user define sensor id
+ power = 230;
+ minDelay = 5000000; // nanosecond
+ maxDelay = 200000000; // nanosecond
+ }
+ sensorBusConfig :: sensorBusInfo {
+ busType = 0; // 0:i2c 1:spi
+ busNum = 5;
+ busAddr = 0x15;
+ regWidth = 1; // 1byte
+ }
+ sensorIdAttr :: sensorIdInfo {
+ chipName = "mxc6655xa";
+ chipIdRegister = 0x0f;
+ chipIdValue = 0x05;
+ }
+ sensorDirection {
+ direction = 1; // chip direction range of value:0-7
+ /* 1:negative 0:positive
+