Commit 7bd79ad8b55b5b6b475c6d4dbfcac7746f5a02fb

Authored by Eric Lee
0 parents

Android 10.0 patch for SMARC-iMX8M, initial release

Showing 80 changed files with 4170 additions and 0 deletions Inline Diff

File was created 1 .*
2 !.gitignore
3 *.o
4
File was created 1
2 Copyright (C) 2008-2015 The Android Open Source Project
3 Copyright (C) 2011-2016 Freescale Semiconductor, Inc.
4 Copyright 2017-2018 NXP
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
14
15
16 Apache License
17 Version 2.0, January 2004
18 http://www.apache.org/licenses/
19
20 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
21
22 1. Definitions.
23
24 "License" shall mean the terms and conditions for use, reproduction,
25 and distribution as defined by Sections 1 through 9 of this document.
26
27 "Licensor" shall mean the copyright owner or entity authorized by
28 the copyright owner that is granting the License.
29
30 "Legal Entity" shall mean the union of the acting entity and all
31 other entities that control, are controlled by, or are under common
32 control with that entity. For the purposes of this definition,
33 "control" means (i) the power, direct or indirect, to cause the
34 direction or management of such entity, whether by contract or
35 otherwise, or (ii) ownership of fifty percent (50%) or more of the
36 outstanding shares, or (iii) beneficial ownership of such entity.
37
38 "You" (or "Your") shall mean an individual or Legal Entity
39 exercising permissions granted by this License.
40
41 "Source" form shall mean the preferred form for making modifications,
42 including but not limited to software source code, documentation
43 source, and configuration files.
44
45 "Object" form shall mean any form resulting from mechanical
46 transformation or translation of a Source form, including but
47 not limited to compiled object code, generated documentation,
48 and conversions to other media types.
49
50 "Work" shall mean the work of authorship, whether in Source or
51 Object form, made available under the License, as indicated by a
52 copyright notice that is included in or attached to the work
53 (an example is provided in the Appendix below).
54
55 "Derivative Works" shall mean any work, whether in Source or Object
56 form, that is based on (or derived from) the Work and for which the
57 editorial revisions, annotations, elaborations, or other modifications
58 represent, as a whole, an original work of authorship. For the purposes
59 of this License, Derivative Works shall not include works that remain
60 separable from, or merely link (or bind by name) to the interfaces of,
61 the Work and Derivative Works thereof.
62
63 "Contribution" shall mean any work of authorship, including
64 the original version of the Work and any modifications or additions
65 to that Work or Derivative Works thereof, that is intentionally
66 submitted to Licensor for inclusion in the Work by the copyright owner
67 or by an individual or Legal Entity authorized to submit on behalf of
68 the copyright owner. For the purposes of this definition, "submitted"
69 means any form of electronic, verbal, or written communication sent
70 to the Licensor or its representatives, including but not limited to
71 communication on electronic mailing lists, source code control systems,
72 and issue tracking systems that are managed by, or on behalf of, the
73 Licensor for the purpose of discussing and improving the Work, but
74 excluding communication that is conspicuously marked or otherwise
75 designated in writing by the copyright owner as "Not a Contribution."
76
77 "Contributor" shall mean Licensor and any individual or Legal Entity
78 on behalf of whom a Contribution has been received by Licensor and
79 subsequently incorporated within the Work.
80
81 2. Grant of Copyright License. Subject to the terms and conditions of
82 this License, each Contributor hereby grants to You a perpetual,
83 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
84 copyright license to reproduce, prepare Derivative Works of,
85 publicly display, publicly perform, sublicense, and distribute the
86 Work and such Derivative Works in Source or Object form.
87
88 3. Grant of Patent License. Subject to the terms and conditions of
89 this License, each Contributor hereby grants to You a perpetual,
90 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
91 (except as stated in this section) patent license to make, have made,
92 use, offer to sell, sell, import, and otherwise transfer the Work,
93 where such license applies only to those patent claims licensable
94 by such Contributor that are necessarily infringed by their
95 Contribution(s) alone or by combination of their Contribution(s)
96 with the Work to which such Contribution(s) was submitted. If You
97 institute patent litigation against any entity (including a
98 cross-claim or counterclaim in a lawsuit) alleging that the Work
99 or a Contribution incorporated within the Work constitutes direct
100 or contributory patent infringement, then any patent licenses
101 granted to You under this License for that Work shall terminate
102 as of the date such litigation is filed.
103
104 4. Redistribution. You may reproduce and distribute copies of the
105 Work or Derivative Works thereof in any medium, with or without
106 modifications, and in Source or Object form, provided that You
107 meet the following conditions:
108
109 (a) You must give any other recipients of the Work or
110 Derivative Works a copy of this License; and
111
112 (b) You must cause any modified files to carry prominent notices
113 stating that You changed the files; and
114
115 (c) You must retain, in the Source form of any Derivative Works
116 that You distribute, all copyright, patent, trademark, and
117 attribution notices from the Source form of the Work,
118 excluding those notices that do not pertain to any part of
119 the Derivative Works; and
120
121 (d) If the Work includes a "NOTICE" text file as part of its
122 distribution, then any Derivative Works that You distribute must
123 include a readable copy of the attribution notices contained
124 within such NOTICE file, excluding those notices that do not
125 pertain to any part of the Derivative Works, in at least one
126 of the following places: within a NOTICE text file distributed
127 as part of the Derivative Works; within the Source form or
128 documentation, if provided along with the Derivative Works; or,
129 within a display generated by the Derivative Works, if and
130 wherever such third-party notices normally appear. The contents
131 of the NOTICE file are for informational purposes only and
132 do not modify the License. You may add Your own attribution
133 notices within Derivative Works that You distribute, alongside
134 or as an addendum to the NOTICE text from the Work, provided
135 that such additional attribution notices cannot be construed
136 as modifying the License.
137
138 You may add Your own copyright statement to Your modifications and
139 may provide additional or different license terms and conditions
140 for use, reproduction, or distribution of Your modifications, or
141 for any such Derivative Works as a whole, provided Your use,
142 reproduction, and distribution of the Work otherwise complies with
143 the conditions stated in this License.
144
145 5. Submission of Contributions. Unless You explicitly state otherwise,
146 any Contribution intentionally submitted for inclusion in the Work
147 by You to the Licensor shall be under the terms and conditions of
148 this License, without any additional terms or conditions.
149 Notwithstanding the above, nothing herein shall supersede or modify
150 the terms of any separate license agreement you may have executed
151 with Licensor regarding such Contributions.
152
153 6. Trademarks. This License does not grant permission to use the trade
154 names, trademarks, service marks, or product names of the Licensor,
155 except as required for reasonable and customary use in describing the
156 origin of the Work and reproducing the content of the NOTICE file.
157
158 7. Disclaimer of Warranty. Unless required by applicable law or
159 agreed to in writing, Licensor provides the Work (and each
160 Contributor provides its Contributions) on an "AS IS" BASIS,
161 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
162 implied, including, without limitation, any warranties or conditions
163 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
164 PARTICULAR PURPOSE. You are solely responsible for determining the
165 appropriateness of using or redistributing the Work and assume any
166 risks associated with Your exercise of permissions under this License.
167
168 8. Limitation of Liability. In no event and under no legal theory,
169 whether in tort (including negligence), contract, or otherwise,
170 unless required by applicable law (such as deliberate and grossly
171 negligent acts) or agreed to in writing, shall any Contributor be
172 liable to You for damages, including any direct, indirect, special,
173 incidental, or consequential damages of any character arising as a
174 result of this License or out of the use or inability to use the
175 Work (including but not limited to damages for loss of goodwill,
176 work stoppage, computer failure or malfunction, or any and all
177 other commercial damages or losses), even if such Contributor
178 has been advised of the possibility of such damages.
179
180 9. Accepting Warranty or Additional Liability. While redistributing
181 the Work or Derivative Works thereof, You may choose to offer,
182 and charge a fee for, acceptance of support, warranty, indemnity,
183 or other liability obligations and/or rights consistent with this
184 License. However, in accepting such obligations, You may act only
185 on Your own behalf and on Your sole responsibility, not on behalf
186 of any other Contributor, and only if You agree to indemnify,
187 defend, and hold each Contributor harmless for any liability
188 incurred by, or claims asserted against, such Contributor by reason
189 of your accepting any such warranty or additional liability.
190
191 END OF TERMS AND CONDITIONS
192
193
common/EmbPathConfig.mk
File was created 1 # config.mk
2 #
3 # Product-specific compile-time definitions.
4 #
5
6 KERNEL_IMX_PATH := vendor/embedian
7 UBOOT_IMX_PATH := vendor/embedian
8 IMX_MKIMAGE_PATH := vendor/nxp-opensource
9 FSL_PROPRIETARY_PATH := vendor/nxp
10 IMX_PATH := vendor/nxp-opensource
11 LINUX_FIRMWARE_IMX_PATH := vendor/nxp
12 FSL_IMX_OMX_PATH := vendor/nxp
13 IMX_LIB_PATH := vendor/nxp-opensource
14
imx8m/AndroidProducts.mk
File was created 1 #Copyright (C) 2008 The Android Open Source Project
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 #
15
16 #
17 # This file should set PRODUCT_MAKEFILES to a list of product makefiles
18 # to expose to the build system. LOCAL_DIR will already be set to
19 # the directory containing this file.
20 #
21 # This file may not rely on the value of any variable other than
22 # LOCAL_DIR; do not use any conditionals, and do not look up the
23 # value of any variable that isn't set in this file or in a file that
24 # it includes.
25 #
26
27 # Copied from build/target/product/AndroidProducts.mk
28
29 PRODUCT_MAKEFILES := \
30 $(LOCAL_DIR)/smarc_mx8mq/smarc_mx8mq.mk \
31 $(LOCAL_DIR)/smarc_mx8mq/smarc_mx8mq_drm.mk
32
33 COMMON_LUNCH_CHOICES := \
34 smarc_mx8mq-user \
35 smarc_mx8mq-userdebug \
36 smarc_mx8mq_drm-user \
37 smarc_mx8mq_drm-userdebug
38
imx8m/UbootKernelCommonConfig.mk
File was created 1 TARGET_UBOOT_ARCH := arm64
2
3
imx8m/com.example.android.systemupdatersample.xml
File was created 1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 ~ Copyright (C) 2019 The Android Open Source Project
4 ~ Copyright 2019 NXP
5 ~
6 ~ Licensed under the Apache License, Version 2.0 (the "License");
7 ~ you may not use this file except in compliance with the License.
8 ~ You may obtain a copy of the License at
9 ~
10 ~ http://www.apache.org/licenses/LICENSE-2.0
11 ~
12 ~ Unless required by applicable law or agreed to in writing, software
13 ~ distributed under the License is distributed on an "AS IS" BASIS,
14 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ~ See the License for the specific language governing permissions and
16 ~ limitations under the License
17 -->
18 <permissions>
19 <privapp-permissions package="com.example.android.systemupdatersample">
20 <permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
21 </privapp-permissions>
22 </permissions>
23
imx8m/init.recovery.freescale.rc
File was created 1 on init
2 # disable cursor blink for fbcon, if no splash screen support
3 write /sys/class/graphics/fbcon/cursor_blink 0
4
5 setprop sys.usb.configfs 1
6
imx8m/optee-packages.mk
File was created 1 OPTEE_PLATFORM ?= imx
2 ifeq ($(TARGET_PRODUCT),$(filter $(TARGET_PRODUCT),smarc_mx8mm smarc_mx8mm_drm))
3 OPTEE_PLATFORM_FLAVOR ?= smarc_mx8mm
4 else
5 ifeq ($(TARGET_PRODUCT),$(filter $(TARGET_PRODUCT),smarc_mx8mq smarc_mx8mq_drm))
6 OPTEE_PLATFORM_FLAVOR ?= smarc_mx8mq
7 else
8 $(error Invalid platform $(TARGET_PRODUCT))
9 endif
10 endif
11 OPTEE_CFG_ARM64_CORE ?= y
12 OPTEE_TA_TARGETS ?= ta_arm64
13 CFG_SECSTOR_TA_MGMT_PTA ?= y
14 #Force CFG_TA_DYNLINK=y to fix optee_test build
15 #https://github.com/OP-TEE/optee_test/issues/275
16 CFG_TA_DYNLINK := y
17 #OPTEE_TA_TARGETS ?= ta_arm32
18 OPTEE_OS_DIR ?= optee/optee_os
19 OPTEE_EXTRA_FLAGS ?= CFG_TEE_CORE_LOG_LEVEL=1 CFG_TEE_TA_LOG_LEVEL=1 DEBUG=0
20 ifeq ($(CFG_DRM_SECURE_DATA_PATH), y)
21 OPTEE_EXTRA_FLAGS += CFG_IMXCRYPT=y
22 OPTEE_EXTRA_FLAGS += CFG_DRM_SECURE_DATA_PATH=y
23 OPTEE_EXTRA_FLAGS += CFG_SECURE_DATA_PATH=y
24 OPTEE_EXTRA_FLAGS += CFG_TEE_SDP_MEM_BASE=$(CFG_TEE_SDP_MEM_BASE)
25 OPTEE_EXTRA_FLAGS += CFG_TEE_SDP_MEM_SIZE=$(CFG_TEE_SDP_MEM_SIZE)
26 OPTEE_EXTRA_FLAGS += CFG_TEE_SDP_NONCACHE=y
27 ifeq ($(CFG_RDC_SECURE_DATA_PATH),y)
28 OPTEE_EXTRA_FLAGS += CFG_RDC_SECURE_DATA_PATH=y
29 OPTEE_EXTRA_FLAGS += CFG_RDC_DECODED_BUFFER=$(DECODED_BUFFER_START)
30 endif
31 else
32 OPTEE_EXTRA_FLAGS += CFG_SECURE_DATA_PATH=n
33 endif
34
35 BUILD_OPTEE_MK := $(OPTEE_OS_DIR)/mk/aosp_optee.mk
36
37 # OP TEE client library and service
38 PRODUCT_PACKAGES += libteec \
39 tee-supplicant \
40
41 # optee_test and TA
42 PRODUCT_PACKAGES += xtest
43 # os_test
44 PRODUCT_PACKAGES += 5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.ta
45 # concurrent_large
46 PRODUCT_PACKAGES += 5ce0c432-0ab0-40e5-a056-782ca0e6aba2.ta
47 # sha_perf
48 PRODUCT_PACKAGES += 614789f2-39c0-4ebf-b235-92b32ac107ed.ta
49 # storage2
50 PRODUCT_PACKAGES += 731e279e-aafb-4575-a771-38caa6f0cca6.ta
51 # storage
52 PRODUCT_PACKAGES += b689f2a7-8adf-477a-9f99-32e90c0ad0a2.ta
53 # create_fail_test
54 PRODUCT_PACKAGES += c3f6e2c0-3548-11e1-b86c-0800200c9a66.ta
55 # crypt
56 PRODUCT_PACKAGES += cb3e5ba0-adf1-11e0-998b-0002a5d5c51b.ta
57 # rpc_test
58 PRODUCT_PACKAGES += d17f73a0-36ef-11e1-984a-0002a5d5c51b.ta
59 # concurrent
60 PRODUCT_PACKAGES += e13010e0-2ae1-11e5-896a-0002a5d5c51b.ta
61 # aes_perf
62 PRODUCT_PACKAGES += e626662e-c0e2-485c-b8c8-09fbce6edf3d.ta
63 # sims
64 PRODUCT_PACKAGES += e6a33ed4-562b-463a-bb7e-ff5e15a493c8.ta
65 # storage_benchmark
66 PRODUCT_PACKAGES += f157cda0-550c-11e5-a6fa-0002a5d5c51b.ta
67 # socket
68 PRODUCT_PACKAGES += 873bcd08-c2c3-11e6-a937-d0bf9c45c61c.ta
69 # sdp-basic
70 PRODUCT_PACKAGES += 12345678-5b69-11e4-9dbb-101f74f00099.ta
71
imx8m/smarc_mx8mq/AndroidBoard.mk
File was created 1 LOCAL_PATH := $(call my-dir)
2
3 include device/embedian/common/EmbPathConfig.mk
4 include device/fsl/common/build/dtbo.mk
5 include device/fsl/common/build/imx-recovery.mk
6 include device/fsl/common/build/gpt.mk
7 include $(FSL_PROPRIETARY_PATH)/fsl-proprietary/media-profile/media-profile.mk
8 include $(FSL_PROPRIETARY_PATH)/fsl-proprietary/sensor/fsl-sensor.mk
9
imx8m/smarc_mx8mq/AndroidTee.mk
File was created 1 # uboot.imx in android combine scfw.bin and uboot.bin
2 MAKE += SHELL=/bin/bash
3
4 define build_uboot_w_tee
5 $(MAKE) -C bootable/bootloader/arm-trusted-firmware/ -B CROSS_COMPILE=aarch64-linux-android- PLAT=imx8mq V=1 SPD=opteed DECRYPTED_BUFFER_START=$(DECRYPTED_BUFFER_START) DECRYPTED_BUFFER_LEN=$(DECRYPTED_BUFFER_LEN) DECODED_BUFFER_START=$(DECODED_BUFFER_START) DECODED_BUFFER_LEN=$(DECODED_BUFFER_LEN) bl31; \
6 cp bootable/bootloader/arm-trusted-firmware/build/imx8mq/release/bl31.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.;\
7 aarch64-linux-android-objcopy -O binary out/target/product/smarc_mx8mq/optee/arm-plat-imx/core/tee.elf $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/tee.bin; \
8 $(MAKE) -C $(IMX_MKIMAGE_PATH)/imx-mkimage/ clean; \
9 $(MAKE) -C $(IMX_MKIMAGE_PATH)/imx-mkimage/ SOC=iMX8M flash_hdmi_spl_uboot; \
10 cp $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/flash.bin $(PRODUCT_OUT)/u-boot-$(strip $(2)).imx;
11 endef
12
13
imx8m/smarc_mx8mq/AndroidUboot.mk
File was created 1 # uboot.imx in android combine scfw.bin and uboot.bin
2 MAKE += SHELL=/bin/bash
3
4 ATF_TOOLCHAIN_ABS := $(realpath prebuilts/gcc/$(HOST_PREBUILT_TAG)/aarch64/aarch64-linux-android-4.9/bin)
5 ATF_CROSS_COMPILE := $(ATF_TOOLCHAIN_ABS)/aarch64-linux-androidkernel-
6 IMX_DEVICE_PATH := device/embedian/imx8m/smarc_mx8mq
7
8 define build_imx_uboot
9 $(hide) echo Building i.MX U-Boot with firmware; \
10 cp $(UBOOT_OUT)/u-boot-nodtb.$(strip $(1)) $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
11 cp $(UBOOT_OUT)/spl/u-boot-spl.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
12 cp $(UBOOT_OUT)/tools/mkimage $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/mkimage_uboot; \
13 cp $(FSL_PROPRIETARY_PATH)/linux-firmware-imx/firmware/hdmi/cadence/signed_hdmi_imx8m.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
14 cp $(UBOOT_OUT)/arch/arm/dts/fsl-smarcimx8mq.dtb $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
15 cp $(FSL_PROPRIETARY_PATH)/fsl-proprietary/uboot-firmware/imx8m/signed_hdmi_imx8m.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
16 cp $(FSL_PROPRIETARY_PATH)/linux-firmware-imx/firmware/ddr/synopsys/lpddr4_pmu_train* $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
17 $(MAKE) -C $(IMX_PATH)/arm-trusted-firmware/ PLAT=`echo $(2) | cut -d '-' -f1` clean; \
18 if [ `echo $(2) | cut -d '-' -f2` = "trusty" ] && [ `echo $(2) | rev | cut -d '-' -f1` != "uuu" ]; then \
19 cp $(FSL_PROPRIETARY_PATH)/fsl-proprietary/uboot-firmware/imx8m/tee-imx8mq.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/tee.bin; \
20 $(MAKE) -C $(IMX_PATH)/arm-trusted-firmware/ CROSS_COMPILE="$(ATF_CROSS_COMPILE)" PLAT=`echo $(2) | cut -d '-' -f1` bl31 -B SPD=trusty 1>/dev/null || exit 1; \
21 else \
22 if [ -f $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/tee.bin ] ; then \
23 rm -rf $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/tee.bin; \
24 fi; \
25 $(MAKE) -C $(IMX_PATH)/arm-trusted-firmware/ CROSS_COMPILE="$(ATF_CROSS_COMPILE)" PLAT=`echo $(2) | cut -d '-' -f1` bl31 -B 1>/dev/null || exit 1; \
26 fi; \
27 cp $(IMX_PATH)/arm-trusted-firmware/build/`echo $(2) | cut -d '-' -f1`/release/bl31.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/bl31.bin; \
28 $(MAKE) -C $(IMX_MKIMAGE_PATH)/imx-mkimage/ clean; \
29 $(MAKE) -C $(IMX_MKIMAGE_PATH)/imx-mkimage/ SOC=iMX8M flash_hdmi_spl_uboot 1>/dev/null || exit 1; \
30 $(MAKE) -C $(IMX_MKIMAGE_PATH)/imx-mkimage/ SOC=iMX8M print_fit_hab || exit 1; \
31 cp $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/flash.bin $(UBOOT_COLLECTION)/u-boot-$(strip $(2)).imx; \
32 cp $(IMX_DEVICE_PATH)/signed_dp_imx8m.bin $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/.; \
33 $(MAKE) -C $(IMX_MKIMAGE_PATH)/imx-mkimage/ SOC=iMX8M flash_dp_spl_uboot 1>/dev/null || exit 1; \
34 cp $(IMX_MKIMAGE_PATH)/imx-mkimage/iMX8M/flash.bin $(UBOOT_COLLECTION)/u-boot-$(strip $(2))-dp.imx;
35 endef
36
37
38
imx8m/smarc_mx8mq/BoardConfig.mk
File was created 1 #
2 # SoC-specific compile-time definitions.
3 #
4
5 BOARD_SOC_TYPE := IMX8MQ
6 BOARD_TYPE := SMARC-IMX8MQ
7 BOARD_HAVE_VPU := true
8 BOARD_VPU_TYPE := hantro
9 HAVE_FSL_IMX_GPU2D := false
10 HAVE_FSL_IMX_GPU3D := true
11 HAVE_FSL_IMX_IPU := false
12 HAVE_FSL_IMX_PXP := false
13 BOARD_KERNEL_BASE := 0x40400000
14 TARGET_GRALLOC_VERSION := v3
15 TARGET_HIGH_PERFORMANCE := true
16 TARGET_USES_HWC2 := true
17 TARGET_HWCOMPOSER_VERSION := v2.0
18 USE_OPENGL_RENDERER := true
19 TARGET_HAVE_VULKAN := true
20 ENABLE_CFI=false
21
22 SOONG_CONFIG_IMXPLUGIN += \
23 BOARD_HAVE_VPU \
24 BOARD_VPU_TYPE
25
26 SOONG_CONFIG_IMXPLUGIN_BOARD_SOC_TYPE = IMX8MQ
27 SOONG_CONFIG_IMXPLUGIN_BOARD_HAVE_VPU = true
28 SOONG_CONFIG_IMXPLUGIN_BOARD_VPU_TYPE = hantro
29
30 #
31 # Product-specific compile-time definitions.
32 #
33
34 IMX_DEVICE_PATH := device/embedian/imx8m/smarc_mx8mq
35
36 include device/fsl/imx8m/BoardConfigCommon.mk
37 ifeq ($(PREBUILT_FSL_IMX_CODEC),true)
38 -include $(FSL_CODEC_PATH)/fsl-codec/fsl-codec.mk
39 endif
40
41 BUILD_TARGET_FS ?= ext4
42 TARGET_USERIMAGES_USE_EXT4 := true
43
44 TARGET_RECOVERY_FSTAB = $(IMX_DEVICE_PATH)/fstab.freescale
45
46 # Support gpt
47 ifeq ($(IMX_NO_PRODUCT_PARTITION),true)
48 BOARD_BPT_INPUT_FILES += device/fsl/common/partition/device-partitions-13GB-ab-no-product.bpt
49 ADDITION_BPT_PARTITION = partition-table-28GB:device/fsl/common/partition/device-partitions-28GB-ab-no-product.bpt \
50 partition-table-dual:device/fsl/common/partition/device-partitions-13GB-ab-dual-bootloader-no-product.bpt \
51 partition-table-28GB-dual:device/fsl/common/partition/device-partitions-28GB-ab-dual-bootloader-no-product.bpt
52 else
53 BOARD_BPT_INPUT_FILES += device/fsl/common/partition/device-partitions-13GB-ab.bpt
54 ADDITION_BPT_PARTITION = partition-table-28GB:device/fsl/common/partition/device-partitions-28GB-ab.bpt \
55 partition-table-dual:device/fsl/common/partition/device-partitions-13GB-ab-dual-bootloader.bpt \
56 partition-table-28GB-dual:device/fsl/common/partition/device-partitions-28GB-ab-dual-bootloader.bpt
57 endif
58
59 # Vendor Interface manifest and compatibility
60 DEVICE_MANIFEST_FILE := $(IMX_DEVICE_PATH)/manifest.xml
61 DEVICE_MATRIX_FILE := $(IMX_DEVICE_PATH)/compatibility_matrix.xml
62
63 TARGET_BOOTLOADER_BOARD_NAME := SMARC
64
65 USE_OPENGL_RENDERER := true
66
67 BOARD_WLAN_DEVICE := bcmdhd
68 WPA_SUPPLICANT_VERSION := VER_0_8_X
69 BOARD_WPA_SUPPLICANT_DRIVER := NL80211
70 BOARD_HOSTAPD_DRIVER := NL80211
71 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
72 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
73
74 WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/brcmfmac/parameters/alternative_fw_path"
75
76 #WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
77
78 BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(IMX_DEVICE_PATH)/bluetooth
79
80 # BCM 1CX BT
81 BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(IMX_DEVICE_PATH)/bluetooth
82 BOARD_CUSTOM_BT_CONFIG := $(BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR)/vnd_config.txt
83 BOARD_HAVE_BLUETOOTH_BCM := true
84
85 BOARD_USE_SENSOR_FUSION := true
86
87 # we don't support sparse image.
88 TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
89
90 BOARD_HAVE_USB_CAMERA := true
91
92 USE_ION_ALLOCATOR := true
93 USE_GPU_ALLOCATOR := false
94
95 BOARD_AVB_ENABLE := true
96 TARGET_USES_MKE2FS := true
97 BOARD_AVB_ALGORITHM := SHA256_RSA4096
98 # The testkey_rsa4096.pem is copied from external/avb/test/data/testkey_rsa4096.pem
99 BOARD_AVB_KEY_PATH := device/fsl/common/security/testkey_rsa4096.pem
100
101 # define frame buffer count
102 NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
103
104 ifeq ($(PRODUCT_IMX_DRM),true)
105 CMASIZE=736M
106 else
107 CMASIZE=1280M
108 endif
109
110 BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 earlycon=imxuart,0x30860000,115200 init=/init androidboot.gui_resolution=1080p androidboot.console=ttymxc0 androidboot.hardware=freescale androidboot.fbTileSupport=enable cma=$(CMASIZE) androidboot.primary_display=imx-drm firmware_class.path=/vendor/firmware transparent_hugepage=never loop.max_part=7
111
112 # Set the density to 213 tvdpi to match CDD.
113 BOARD_KERNEL_CMDLINE += androidboot.lcd_density=213
114
115 # Default wificountrycode
116 BOARD_KERNEL_CMDLINE += androidboot.wificountrycode=CN
117
118 ifeq ($(TARGET_USERIMAGES_USE_UBIFS),true)
119 ifeq ($(TARGET_USERIMAGES_USE_EXT4),true)
120 $(error "TARGET_USERIMAGES_USE_UBIFS and TARGET_USERIMAGES_USE_EXT4 config open in same time, please only choose one target file system image")
121 endif
122 endif
123
124 BOARD_PREBUILT_DTBOIMAGE := out/target/product/smarc_mx8mq/dtbo-smarcimx8mq-hdmi.img
125 TARGET_BOARD_DTS_CONFIG := \
126 smarcimx8mq-dcss-lvds:fsl-smarcimx8mq-dcss-lvds.dtb \
127 smarcimx8mq-dp:fsl-smarcimx8mq-dp.dtb \
128 smarcimx8mq:fsl-smarcimx8mq.dtb \
129 smarcimx8mq-dual-display:fsl-smarcimx8mq-dual-display.dtb \
130 smarcimx8mq-edp:fsl-smarcimx8mq-edp.dtb \
131 smarcimx8mq-hdmi:fsl-smarcimx8mq-hdmi.dtb \
132 smarcimx8mq-lcdif-lvds:fsl-smarcimx8mq-lcdif-lvds.dtb
133
134 BOARD_SEPOLICY_DIRS := \
135 device/fsl/imx8m/sepolicy \
136 $(IMX_DEVICE_PATH)/sepolicy
137
138 ifeq ($(PRODUCT_IMX_DRM),true)
139 BOARD_SEPOLICY_DIRS += \
140 $(IMX_DEVICE_PATH)/sepolicy_drm
141 endif
142
143 TARGET_BOARD_KERNEL_HEADERS := device/fsl/common/kernel-headers
144
145 ALL_DEFAULT_INSTALLED_MODULES += $(BOARD_VENDOR_KERNEL_MODULES)
146
147
imx8m/smarc_mx8mq/SharedBoardConfig.mk
File was created 1 KERNEL_NAME := Image
2 TARGET_KERNEL_ARCH := arm64
3
4 #Enable this to include trusty support
5 PRODUCT_IMX_TRUSTY := true
6
7 #Enable this to disable product partition build.
8 #IMX_NO_PRODUCT_PARTITION := true
9
10 # BCM fmac wifi driver module
11 BOARD_VENDOR_KERNEL_MODULES += \
12 $(KERNEL_OUT)/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko \
13 $(KERNEL_OUT)/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
14
imx8m/smarc_mx8mq/UbootKernelBoardConfig.mk
File was created 1 TARGET_BOOTLOADER_POSTFIX := bin
2 UBOOT_POST_PROCESS := true
3
4 TARGET_BOOTLOADER_CONFIG := \
5 imx8mq-smarcimx8mq_2g:smarcimx8mq_2g_ser3_android_defconfig \
6 imx8mq-smarcimx8mq_4g:smarcimx8mq_4g_ser3_android_defconfig \
7 imx8mq-smarcimx8mq_2g_uuu:smarcimx8mq_2g_ser3_android_uuu_defconfig \
8 imx8mq-smarcimx8mq_4g_uuu:smarcimx8mq_4g_ser3_android_uuu_defconfig
9
10 # imx8mq kernel defconfig
11 TARGET_KERNEL_DEFCONFIG := smarcimx8m_android_defconfig
12 # TARGET_KERNEL_ADDITION_DEFCONF ?= android_addition_defconfig
13
14
15 # absolute path is used, not the same as relative path used in AOSP make
16 TARGET_DEVICE_DIR := $(patsubst %/, %, $(dir $(realpath $(lastword $(MAKEFILE_LIST)))))
17
18 # define bootloader rollback index
19 BOOTLOADER_RBINDEX ?= 0
20
21
imx8m/smarc_mx8mq/app_whitelist.xml
File was created 1 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2
3 <!--
4 /* Copyright (c) 2017, The Linux Foundation. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met:
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * * Redistributions in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following
13 * disclaimer in the documentation and/or other materials provided
14 * with the distribution.
15 * * Neither the name of The Linux Foundation nor the names of its
16 * contributors may be used to endorse or promote products derived
17 * from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
20 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
26 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
28 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
29 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */
31 -->
32
33 <config>
34 <!-- deskclock need to freely run in the background -->
35 <allow-in-power-save package="com.android.deskclock" />
36 </config>
37
imx8m/smarc_mx8mq/audio_effects.xml
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
3 <libraries>
4 <library name="bundle" path="libbundlewrapper.so"/>
5 <library name="reverb" path="libreverbwrapper.so"/>
6 <library name="visualizer" path="libvisualizer.so"/>
7 <library name="downmix" path="libdownmix.so"/>
8 <library name="loudness_enhancer" path="libldnhncr.so"/>
9 <library name="dynamics_processing" path="libdynproc.so"/>
10 </libraries>
11
12 <effects>
13 <effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
14 <effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
15 <effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
16 <effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
17 <effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
18 <effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
19 <effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
20 <effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
21 <effect name="visualizer" library="visualizer" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
22 <effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
23 <effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
24 <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
25 </effects>
26 </audio_effects_conf>
27
imx8m/smarc_mx8mq/audio_policy_configuration.xml
File was created 1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 <!-- Copyright (C) 2017 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 -->
16
17 <audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
18 <globalConfiguration speaker_drc_enabled="true"/>
19
20 <modules>
21 <module name="primary" halVersion="2.0">
22 <attachedDevices>
23 <item>Speaker</item>
24 <item>Built-In Mic</item>
25 </attachedDevices>
26 <defaultOutputDevice>Speaker</defaultOutputDevice>
27 <mixPorts>
28 <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
29 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
30 samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
31 </mixPort>
32 <mixPort name="hdmi output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT">
33 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
34 samplingRates="32000,44100,48000,88200,96000,176400,192000" channelMasks="AUDIO_CHANNEL_NONE"/>
35 </mixPort>
36 <mixPort name="esai output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_HW_AV_SYNC">
37 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
38 samplingRates="48000,96000,192000,384000,768000"
39 channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
40 <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
41 samplingRates="48000,96000,192000,384000,768000"
42 channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
43 </mixPort>
44 <mixPort name="dsd output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD">
45 <profile name="" format="AUDIO_FORMAT_DSD"
46 samplingRates="2822400,5644800,11289600,22579200" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
47 </mixPort>
48 <mixPort name="primary input" role="sink">
49 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
50 samplingRates="8000,11025,16000,22050,24000,32000,44100,48000"
51 channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
52 </mixPort>
53 </mixPorts>
54 <devicePorts>
55 <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink" >
56 </devicePort>
57 <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
58 </devicePort>
59 <devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
60 </devicePort>
61 <devicePort tagName="Line-Out" type="AUDIO_DEVICE_OUT_LINE" role="sink">
62 </devicePort>
63
64 <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
65 </devicePort>
66 <devicePort tagName="Line-In" type="AUDIO_DEVICE_IN_AUX_DIGITAL" role="source">
67 </devicePort>
68 </devicePorts>
69 <routes>
70 <route type="mix" sink="Speaker"
71 sources="primary output"/>
72 <route type="mix" sink="Wired Headphones"
73 sources="dsd output,esai output,primary output"/>
74 <route type="mix" sink="HDMI Out"
75 sources="hdmi output,primary output"/>
76 <route type="mix" sink="Line-Out"
77 sources="dsd output,esai output,primary output"/>
78
79 <route type="mix" sink="primary input"
80 sources="Built-In Mic,Line-In"/>
81 </routes>
82 </module>
83
84 <!-- A2dp Audio HAL -->
85 <xi:include href="a2dp_audio_policy_configuration.xml"/>
86
87 <!-- Usb Audio HAL -->
88 <xi:include href="usb_audio_policy_configuration.xml"/>
89
90 <!-- Remote Submix Audio HAL -->
91 <xi:include href="r_submix_audio_policy_configuration.xml"/>
92
93 </modules>
94
95 <!-- Volume section -->
96 <xi:include href="audio_policy_volumes.xml"/>
97 <xi:include href="default_volume_tables.xml"/>
98
99 </audioPolicyConfiguration>
100
imx8m/smarc_mx8mq/audio_policy_configuration_drm.xml
File was created 1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 <!-- Copyright (C) 2017 The Android Open Source Project
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 -->
16
17 <audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
18 <globalConfiguration speaker_drc_enabled="true"/>
19
20 <modules>
21 <module name="primary" halVersion="2.0">
22 <attachedDevices>
23 <item>HDMI Out</item>
24 <item>Built-In Mic</item>
25 </attachedDevices>
26 <defaultOutputDevice>HDMI Out</defaultOutputDevice>
27 <mixPorts>
28 <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
29 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
30 samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
31 </mixPort>
32 <mixPort name="hdmi output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT">
33 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
34 samplingRates="32000,44100,48000,88200,96000,176400,192000" channelMasks="AUDIO_CHANNEL_NONE"/>
35 </mixPort>
36 <mixPort name="esai output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT">
37 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
38 samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
39 </mixPort>
40 <mixPort name="primary input" role="sink">
41 <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
42 samplingRates="8000,11025,16000,22050,24000,32000,44100,48000"
43 channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
44 </mixPort>
45 </mixPorts>
46 <devicePorts>
47 <devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink" >
48 </devicePort>
49 <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
50 </devicePort>
51 <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
52 </devicePort>
53 <devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
54 </devicePort>
55
56 <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
57 </devicePort>
58 <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
59 </devicePort>
60 <devicePort tagName="Spdif-In" type="AUDIO_DEVICE_IN_AUX_DIGITAL" role="source">
61 </devicePort>
62 </devicePorts>
63 <routes>
64 <route type="mix" sink="Speaker"
65 sources="esai output,primary output"/>
66 <route type="mix" sink="Wired Headset"
67 sources="primary output"/>
68 <route type="mix" sink="Wired Headphones"
69 sources="primary output"/>
70 <route type="mix" sink="HDMI Out"
71 sources="hdmi output,primary output"/>
72
73 <route type="mix" sink="primary input"
74 sources="Built-In Mic,Wired Headset Mic,Spdif-In"/>
75 </routes>
76 </module>
77
78 <!-- A2dp Audio HAL -->
79 <xi:include href="a2dp_audio_policy_configuration.xml"/>
80
81 <!-- Usb Audio HAL -->
82 <xi:include href="usb_audio_policy_configuration.xml"/>
83
84 <!-- Remote Submix Audio HAL -->
85 <xi:include href="r_submix_audio_policy_configuration.xml"/>
86
87 </modules>
88
89 <!-- Volume section -->
90 <xi:include href="audio_policy_volumes.xml"/>
91 <xi:include href="default_volume_tables.xml"/>
92
93 </audioPolicyConfiguration>
94
imx8m/smarc_mx8mq/bluetooth/bdroid_buildcfg.h
File was created 1 /*
2 * Copyright (C) 2012 The Android Open Source Project
3 * Copyright (C) 2020 Variscite Ltd
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 #ifndef _BDROID_BUILDCFG_H
19 #define _BDROID_BUILDCFG_H
20
21 #define BTM_DEF_LOCAL_NAME "SMARC-MX8M"
22
23 // Wide-band speech support
24 #define BTM_WBS_INCLUDED TRUE
25 #define BTIF_HF_WBS_PREFERRED TRUE
26
27 // Disables Interleave scan
28 #define BTA_HOST_INTERLEAVE_SEARCH FALSE
29 // skips conn update at conn completion
30 #define BTA_BLE_SKIP_CONN_UPD TRUE
31 // Disables read remote device feature
32 #define BTA_SKIP_BLE_READ_REMOTE_FEAT TRUE
33
34 //Enable A2DPSink AVRCPController
35 #define BTA_AV_SINK_INCLUDED TRUE
36
37 #endif
38
imx8m/smarc_mx8mq/bluetooth/bt_vendor.conf
File was created 1 # UART device port where Bluetooth controller is attached
2 UartPort = /dev/ttymxc2
3
imx8m/smarc_mx8mq/bluetooth/vnd_config.txt
File was created 1 BLUETOOTH_UART_DEVICE_PORT = "/dev/ttymxc2"
2 FW_PATCHFILE_LOCATION = "/vendor/firmware/"
3 LPM_IDLE_TIMEOUT_MULTIPLE = 5
4 SCO_USE_I2S_INTERFACE = FALSE
5 BTVND_DBG = TRUE
6 BTHW_DBG = TRUE
7 VNDUSERIAL_DBG = TRUE
8 UPIO_DBG = TRUE
9 LPM_SLEEP_MODE = 0
10 UART_TARGET_BAUD_RATE = 3000000
11
imx8m/smarc_mx8mq/camera_config_imx8mq.json
File was created 1 {
2 "__readme": [
3 "Basic Camera HAL v3 configuration."
4 ],
5
6 "hal_version": "3",
7 "cam_blit_copy": "GPU_3D",
8 "cam_blit_csc": "GPU_3D",
9
10 "camera_metadata": [
11 {
12 "camera_type": "back",
13 "camera_name": "mx6s-csi",
14 "orientation": "0",
15 "buffer_type": "mmap",
16 "ActiveArrayWidth": "2592",
17 "ActiveArrayHeight": "1944",
18 "PixelArrayWidth": "2592",
19 "PixelArrayHeight": "1944",
20 "PhysicalWidth": "3.6288",
21 "PhysicalHeight": "2.7216",
22 "FocalLength": "3.37",
23 "MaxJpegSize": "8388608",
24 "MinFrameDuration": "33331760",
25 "MaxFrameDuration": "300000000",
26 "OmitFrame": [
27 {
28 "width": "2592",
29 "height": "1944",
30 "omit_num": "3"
31 },
32 {
33 "width": "1920",
34 "height": "1080",
35 "omit_num": "2"
36 }
37 ]
38 },
39 {
40 "camera_type": "front",
41 "camera_name": "uvc",
42 "orientation": "0",
43 "buffer_type": "dma",
44 "ActiveArrayWidth": "1920",
45 "ActiveArrayHeight": "1080",
46 "PixelArrayWidth": "1920",
47 "PixelArrayHeight": "1080",
48 "PhysicalWidth": "2.688",
49 "PhysicalHeight": "1.512",
50 "FocalLength": "3.42",
51 "MaxJpegSize": "4194304",
52 "MinFrameDuration": "33331760",
53 "MaxFrameDuration": "300000000"
54 }
55 ]
56 }
57
imx8m/smarc_mx8mq/compatibility_matrix.xml
File was created 1 <compatibility-matrix version="1.0" type="device">
2 <hal format="hidl" optional="false">
3 <name>android.frameworks.schedulerservice</name>
4 <version>1.0</version>
5 <interface>
6 <name>ISchedulingPolicyService</name>
7 <instance>default</instance>
8 </interface>
9 </hal>
10 <hal format="hidl" optional="false">
11 <name>android.frameworks.sensorservice</name>
12 <version>1.0</version>
13 <interface>
14 <name>ISensorManager</name>
15 <instance>default</instance>
16 </interface>
17 </hal>
18 <hal format="hidl" optional="false">
19 <name>android.hidl.allocator</name>
20 <version>1.0</version>
21 <interface>
22 <name>IAllocator</name>
23 <instance>ashmem</instance>
24 </interface>
25 </hal>
26 <hal format="hidl" optional="false">
27 <name>android.hidl.manager</name>
28 <version>1.0</version>
29 <interface>
30 <name>IServiceManager</name>
31 <instance>default</instance>
32 </interface>
33 </hal>
34 <hal format="hidl" optional="false">
35 <name>android.hidl.memory</name>
36 <version>1.0</version>
37 <interface>
38 <name>IMapper</name>
39 <instance>ashmem</instance>
40 </interface>
41 </hal>
42 <hal format="hidl" optional="false">
43 <name>android.hidl.token</name>
44 <version>1.0</version>
45 <interface>
46 <name>ITokenManager</name>
47 <instance>default</instance>
48 </interface>
49 </hal>
50 <hal format="hidl" optional="false">
51 <name>android.system.wifi.keystore</name>
52 <version>1.0</version>
53 <interface>
54 <name>IKeystore</name>
55 <instance>default</instance>
56 </interface>
57 </hal>
58 <hal format="native" optional="false">
59 <name>netutils-wrapper</name>
60 <version>1.0</version>
61 </hal>
62 </compatibility-matrix>
63
imx8m/smarc_mx8mq/early.init.cfg
File was created 1 insmod vendor/lib/modules/brcmutil.ko
2 insmod vendor/lib/modules/brcmfmac.ko
3 insmod vendor/lib/modules/wlan.ko
4
imx8m/smarc_mx8mq/fstab.freescale
File was created 1 # Android fstab file.
2 #<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
3 # The filesystem that contains the filesystem checker binary (typically /system) cannot
4 # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
5
6 /devices/platform/usb@38100000/38100000.dwc3/* auto auto defaults voldmanaged=usb:auto
7 /devices/platform/usb@38200000/38200000.dwc3/* auto auto defaults voldmanaged=usb:auto
8
9 /devices/platform/38200000.usb/xhci-hcd.0.auto/* auto auto defaults voldmanaged=usb:auto
10 /devices/platform/38100000.usb/xhci-hcd.1.auto/* auto auto defaults voldmanaged=usb:auto
11
12 /dev/block/by-name/system / ext4 ro,barrier=1 wait,slotselect
13 /dev/block/by-name/userdata /data ext4 nosuid,nodev,nodiratime,noatime,nomblk_io_submit,noauto_da_alloc,errors=panic wait,formattable,quota,fileencryption=software,reservedsize=128M
14 /dev/block/by-name/misc /misc emmc defaults defaults
15 /dev/block/zram0 none swap defaults zramsize=629145600
16
17
imx8m/smarc_mx8mq/init.imx8mq.drm.rc
File was created 1 import /vendor/etc/init/hw/init.${ro.hardware}.${ro.boot.soc_type}.main.rc
2
3 on property:init.svc.mediadrm=running
4 mkdir /data/vendor/mediadrm 0770 media mediadrm
5
6 on post-fs-data
7 # create for OP-TEE test
8 mkdir /data/vendor/tee 0660 media media
9 mkdir /data/vendor/tee/optee_armtz 0660 media media
10 restorecon_recursive /data/vendor/tee
11
12
13 on boot
14 # optee device
15 chmod 0660 /dev/tee0
16 chown media media /dev/tee0
17
18 chmod 0660 /dev/teepriv0
19 chown media media /dev/teepriv0
20
21
imx8m/smarc_mx8mq/init.imx8mq.rc
File was created 1 on early-boot
2
3 # Set OpenGLES version
4 setprop ro.opengles.version 196609
5
6 # Set GPU 3D minimum clock to 3/64
7 write /sys/bus/platform/drivers/galcore/gpu3DMinClock 3
8
9 # change for FSL specific service
10 chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
11 chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
12 chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
13 chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
14 chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
15 chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
16 chown root system /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
17 chmod 0440 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
18 chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
19
20 on property:sys.boot_completed=1
21 # Set default CPU frequency governor
22 # configure governor settings for little cluster
23 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil"
24 write /sys/devices/system/cpu/cpufreq/schedutil/up_rate_limit_us 500
25 write /sys/devices/system/cpu/cpufreq/schedutil/down_rate_limit_us 2000
26
27 on property:sys.boot_completed=1
28 # update cpuset now that processors are up
29 write /dev/cpuset/foreground/cpus 0-3
30
31 # top-app gets all cpus
32 write /dev/cpuset/top-app/cpus 0-3
33
34 #background contains a small subset (generally one little core)
35 write /dev/cpuset/background/cpus 0
36
37 # add system-background cpuset, a new cpuset for system services
38 # that should not run on larger cores
39 # system-background is for system tasks that should only run on
40 # little cores, not on bigs to be used only by init
41 write /dev/cpuset/system-background/cpus 0-2
42
imx8m/smarc_mx8mq/init.rc
File was created 1 import /vendor/etc/init/hw/init.${ro.hardware}.usb.rc
2 import /vendor/etc/init/hw/init.${ro.hardware}.${ro.boot.soc_type}.rc
3
4 on early-init
5 # mount the debugfs
6 mount debugfs none /sys/kernel/debug/ mode=0755
7
8 on early-init
9 start early_init_sh
10
11 # Due keymaster start very early so set prop here
12 # Also gatekeeper share same role for keymaster
13 setprop ro.hardware.keystore ${ro.boot.keystore}
14 setprop ro.hardware.gatekeeper ${ro.boot.keystore}
15 setprop vendor.storageproxyd ${ro.boot.keystore}
16
17 on init
18 start watchdogd
19
20 # Support legacy paths
21 symlink /sdcard /mnt/sdcard
22 symlink /sdcard /storage/sdcard0
23
24 # setup the global environment
25 export CORE_REGISTER_FILE /vendor/etc/core_register
26 export COMPONENT_REGISTER_FILE /vendor/etc/component_register
27 export CONTENTPIPE_REGISTER_FILE /vendor/etc/contentpipe_register
28
29 # disable cursor blink for fbcon, if no splash screen support
30 write /sys/class/graphics/fbcon/cursor_blink 0
31
32 # deattch the fbcon as hdmi hotplug conflict with fbcon
33 write /sys/class/vtconsole/vtcon1/bind 0
34
35 chown system system /dev/stune/top-app/schedtune.boost
36 chmod 664 /dev/stune/top-app/schedtune.boost
37 chown system system /dev/stune/top-app/schedtune.prefer_idle
38 chmod 664 /dev/stune/top-app/schedtune.prefer_idle
39 chown system system /dev/stune/foreground/schedtune.boost
40 chmod 664 /dev/stune/foreground/schedtune.boost
41 chown system system /dev/stune/foreground/schedtune.prefer_idle
42 chmod 664 /dev/stune/foreground/schedtune.prefer_idle
43 chown system system /dev/stune/schedtune.boost
44 chmod 664 /dev/stune/schedtune.boost
45
46 # set default schedTune value for foreground/top-app (only affects EAS)
47 write /dev/stune/foreground/schedtune.boost 10
48 write /dev/stune/foreground/schedtune.prefer_idle 1
49 write /dev/stune/top-app/schedtune.boost 40
50 write /dev/stune/top-app/schedtune.prefer_idle 1
51 write /dev/stune/rt/schedtune.boost 50
52 write /dev/stune/rt/schedtune.prefer_idle 1
53
54 # force USB2514 autosuspend
55 write /sys/devices/platform/usb@38200000/38200000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.5/power/control auto
56
57 on late-fs
58 # Start keymaster service
59 start vendor.keymaster-3-0-${ro.boot.keystore}
60 setprop vendor.powerhal.init 1
61
62 on late-fs && property:vendor.storageproxyd=trusty
63 start vendor.oemlock-1-0
64
65 on early-boot
66 # For evk_8mq, when swap used about 400M, upgrade the level.
67 setprop ro.lmk.upgrade_pressure 87
68 setprop ro.lmk.downgrade_pressure 95
69 setprop ro.lmk.critical_upgrade true
70
71 # Set the host name which used in console
72 export HOSTNAME smarc-imx8mq
73
74 # Set permission for IIM node
75 symlink /dev/mxs_viim /dev/mxc_mem
76
77 # Enable Tethering in the Settings
78 setprop ro.tether.denied false
79
80 setprop sys.hwc.disable 1
81 setprop vendor.2d.composition 0
82 setprop hwc.stretch.filter 1
83
84 #viv sdk dir
85 setprop VIVANTE_SDK_DIR /vendor/etc/viv_sdk
86
87 # fsl omx graphic manager media framework property
88 setprop rw.VIDEO_RENDER_NAME video_render.surface
89 setprop media.fsl_codec.flag 7
90 setprop debug.stagefright.ccodec 0
91
92 setprop camera.disable_zsl_mode 1
93
94 # Tweak the mmc device read ahead buffer size
95 write /sys/block/mmcblk0/queue/read_ahead_kb 2048
96 write /sys/block/mmcblk1/queue/read_ahead_kb 2048
97
98 # Set period_us for usb audio
99 setprop ro.audio.usb.period_us 20000
100
101 # Prepare for wifi
102 setprop wifi.interface wlan0
103
104 setprop persist.service.bdroid.bdaddr 22:22:67:C6:69:73
105
106 # Prepare for bluetooth
107 chmod 665 /sys/class/rfkill/rfkill0/state
108 chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
109 write /sys/class/rfkill/rfkill0/state 0
110
111 # Prepare for RIL
112 setprop ro.ril.wake_lock_timeout 300
113
114 # Use ro.boot.lcd_density to override ro.sf.lcd_density
115 setprop ro.sf.lcd_density ${ro.boot.lcd_density}
116
117 # Disable surfaceflinger back pressure propagate
118 setprop debug.sf.disable_backpressure 1
119
120 # Set tracefs permission to 755
121 chmod 0755 /sys/kernel/debug/tracing
122
123 # Set sw_sync group to graphics and set permission to 664
124 chown root graphics /sys/kernel/debug/sync/sw_sync
125 chmod 0664 /sys/kernel/debug/sync/sw_sync
126
127 # Default backlight device
128 setprop hw.backlight.dev "backlight"
129 # Chmod/chown FSL specific sys entry
130 chown system system /sys/class/backlight/backlight/brightness
131 chmod 0660 /sys/class/backlight/backlight/brightness
132
133 # Set light sensor sysfs path and light sensor threshold lux value
134 setprop ro.hardware.lightsensor "/sys/class/i2c-dev/i2c-0/device/0-0044/"
135 setprop ro.lightsensor.threshold 20
136
137 # Dectect DSF streams when scanning media
138 setprop ro.FSL_DSF_PARSER 1
139
140 # Allow DSD file(duration larger than 10s) can play
141 setprop audio.offload.min.duration.secs 10
142
143 # Enlarge limition of audio buffer allocation
144 setprop ro.af.client_heap_size_kbyte 32768
145
146 # enlarge media max memory size to 3G.
147 setprop ro.media.maxmem 3221225471
148
149 setprop wlan.interface wlan0
150 start vendor.wifi_hal_legacy
151
152 on boot
153 start audioserver
154 start mediadrm
155 start media
156 start drm
157
158 service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
159 -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
160 -g@android:wpa_wlan0
161 interface android.hardware.wifi.supplicant@1.0::ISupplicant default
162 interface android.hardware.wifi.supplicant@1.1::ISupplicant default
163 interface android.hardware.wifi.supplicant@1.2::ISupplicant default
164 class main
165 socket wpa_wlan0 dgram 660 wifi wifi
166 disabled
167 oneshot
168
169 service sensor_fusion /vendor/bin/fsl_sensor_fusion
170 class late_start
171 seclabel u:r:sensors:s0
172 user system
173 group input
174 oneshot
175
176 # Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
177 service watchdogd /sbin/watchdogd 10 20
178 class core
179 seclabel u:r:watchdogd:s0
180
181 service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
182 class main
183 disabled
184 oneshot
185
186 service dhcpcd_p2p /system/bin/dhcpcd -aABKL
187 class main
188 disabled
189 oneshot
190
191 service dhcpcd_eth0 /system/bin/dhcpcd -ABKL eth0
192 class main
193 disabled
194 oneshot
195
196 service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
197 class main
198 disabled
199 oneshot
200
201 service iprenew_wlan0 /system/bin/dhcpcd -n
202 class main
203 disabled
204 oneshot
205
206 service iprenew_p2p /system/bin/dhcpcd -n
207 class main
208 disabled
209 oneshot
210
211 service iprenew_eth0 /system/bin/dhcpcd -n eth0
212 class main
213 disabled
214 oneshot
215
216 service iprenew_bt-pan /system/bin/dhcpcd -n
217 class main
218 disabled
219 oneshot
220
221 # bugreport is triggered by holding down volume down, volume up and power
222 service bugreport /system/bin/dumpstate -d -p -B -z \
223 -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
224 class main
225 disabled
226 oneshot
227 keycodes 114 115 116
228
229 on fs
230 # mount ext4 partitions
231 mount_all /vendor/etc/fstab.freescale
232
233 # Adjust parameters for dm-verity device
234 write /sys/block/dm-0/queue/read_ahead_kb 4096
235
236 # Update dm-verity state and set partition.*.verified properties
237 verity_update_state
238
239 on verity-logging
240 exec u:r:slideshow:s0 -- /sbin/slideshow warning/verity_red_1 warning/verity_red_2
241
242 on post-fs
243 # Set netd memlock rlimit to 8MB
244 setrlimit 8 8388608 8388608
245
246 # Turn on swap
247 swapon_all /vendor/etc/fstab.freescale
248
249 # Swap in only 1 page at a time
250 write /proc/sys/vm/page-cluster 0
251
252 on post-fs-data
253 setprop vold.post_fs_data_done 1
254 # create temp node for secure storage proxy
255 mkdir /data/vendor/ss 0700 system system
256
257 # tmp dir for opencl Compiler
258 setprop TMPDIR /data/vendor/.opencl-cache
259 mkdir /data/vendor/.opencl-cache 0771 camera camera
260
261 on zygote-start
262 # Create the directories used by the Wireless subsystem
263 mkdir /data/misc/wifi 0770 wifi wifi
264 mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
265 mkdir /data/vendor/wifi 0771 wifi wifi
266 mkdir /data/vendor/wifi/wpa 0770 wifi wifi
267 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
268 mkdir /data/misc/dhcp 0770 dhcp dhcp
269 chown dhcp dhcp /data/misc/dhcp
270
271 service early_init_sh /vendor/bin/init.insmod.sh /vendor/etc/early.init.cfg sys.all.early_init.ready
272 class main
273 user root
274 group root system
275 disabled
276 oneshot
277
278 on property:sys.boot_completed=1 && property:vendor.storageproxyd=trusty
279 start storageproxyd
280
281 service storageproxyd /vendor/bin/storageproxyd -p /data/vendor/ss -r /dev/mmcblk0rpmb -d /dev/trusty-ipc-dev0
282 group system
283
284 on property:ro.boot.vendor.sysrq=1
285 write /proc/sys/kernel/sysrq 1
286
imx8m/smarc_mx8mq/init.usb.rc
File was created 1 #
2 # Copyright (C) 2016 The Android Open-Source Project
3 # Copyright 2018 NXP
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 on early-boot
18 mount configfs none /config
19 mkdir /config/usb_gadget/g1 0770
20 mkdir /config/usb_gadget/g1/strings/0x409 0770
21 write /config/usb_gadget/g1/bcdUSB 0x0200
22 write /config/usb_gadget/g1/idVendor 0x18d1
23 write /config/usb_gadget/g1/bcdDevice 0x0440
24 write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
25 write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
26 write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
27 mkdir /config/usb_gadget/g1/functions/mass_storage.0
28 mkdir /config/usb_gadget/g1/functions/accessory.gs2
29 mkdir /config/usb_gadget/g1/functions/audio_source.gs3
30 mkdir /config/usb_gadget/g1/functions/rndis.gs4
31 mkdir /config/usb_gadget/g1/functions/midi.gs5
32 mkdir /config/usb_gadget/g1/functions/ffs.adb
33 mkdir /config/usb_gadget/g1/functions/ffs.mtp
34 mkdir /config/usb_gadget/g1/functions/ffs.ptp
35 mkdir /config/usb_gadget/g1/configs/b.1 0770
36 mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770
37 write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
38 write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
39 mkdir /dev/usb-ffs 0775 shell shell
40 mkdir /dev/usb-ffs/adb 0770 shell shell
41 mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000
42 mkdir /dev/usb-ffs/mtp 0770 mtp mtp
43 mkdir /dev/usb-ffs/ptp 0770 mtp mtp
44 mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
45 mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
46 setprop sys.usb.mtp.device_type 3
47 setprop vendor.usb.config "38100000.usb"
48 write /sys/module/libcomposite/parameters/disable_l1_for_hs "y"
49 symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
50
51 on boot
52 setprop sys.usb.configfs 2
53
imx8m/smarc_mx8mq/input-port-associations.xml
File was created 1 <!-- Use below commands to get display port number:
2 # dumpsys SurfaceFlinger - -display-id
3 Display 4692921138614785 (HWC display 1): port=1 pnpId=DEL displayName="DELL S2740L"
4 Display 4693505326422272 (HWC display 0): port=0 pnpId=DEL displayName="DELL P2314T"
5
6 Use below commands to get touch input location:
7 # getevent -i | grep location
8 location: "usb-xhci-hcd.0.auto-1.1.4/input0"
9 location: "usb-xhci-hcd.0.auto-1.2.4/input0"
10
11 Then bind the display port and input location with below table. This table need
12 to modify according to actual connection.
13 One display can link with multi-input.
14 -->
15 <ports>
16 <port display="0" input="usb-xhci-hcd.1.auto-1.1.4/input0" />
17 <port display="1" input="usb-xhci-hcd.1.auto-1.2.4/input0" />
18 <port display="0" input="usb-xhci-hcd.0.auto-1.1.4/input0" />
19 <port display="1" input="usb-xhci-hcd.0.auto-1.2.4/input0" />
20 <port display="0" input="usb-xhci-hcd.0.auto-1.4/input0" />
21 <port display="1" input="usb-xhci-hcd.1.auto-1.4/input0" />
22 </ports>
23
imx8m/smarc_mx8mq/manifest.xml
File was created 1 <manifest version="1.0" type="device" target-level="4">
2 <hal format="hidl">
3 <name>android.hardware.graphics.allocator</name>
4 <transport>hwbinder</transport>
5 <impl level="generic"></impl>
6 <version>2.0</version>
7 <interface>
8 <name>IAllocator</name>
9 <instance>default</instance>
10 </interface>
11 </hal>
12 <hal format="hidl">
13 <name>android.hardware.graphics.composer</name>
14 <transport>hwbinder</transport>
15 <version>2.3</version>
16 <interface>
17 <name>IComposer</name>
18 <instance>default</instance>
19 </interface>
20 </hal>
21 <hal format="hidl">
22 <name>android.hardware.keymaster</name>
23 <transport>hwbinder</transport>
24 <version>3.0</version>
25 <interface>
26 <name>IKeymasterDevice</name>
27 <instance>default</instance>
28 </interface>
29 </hal>
30 <hal format="hidl">
31 <name>android.hardware.drm</name>
32 <transport>hwbinder</transport>
33 <version>1.0</version>
34 <interface>
35 <name>ICryptoFactory</name>
36 <instance>default</instance>
37 </interface>
38 <interface>
39 <name>IDrmFactory</name>
40 <instance>default</instance>
41 </interface>
42 <fqname>@1.2::ICryptoFactory/clearkey</fqname>
43 <fqname>@1.2::IDrmFactory/clearkey</fqname>
44 </hal>
45 <hal format="hidl">
46 <name>android.hardware.gatekeeper</name>
47 <transport>hwbinder</transport>
48 <version>1.0</version>
49 <interface>
50 <name>IGatekeeper</name>
51 <instance>default</instance>
52 </interface>
53 </hal>
54 <hal format="hidl">
55 <name>android.hardware.graphics.mapper</name>
56 <transport arch="32+64">passthrough</transport>
57 <impl level="generic"></impl>
58 <version>2.1</version>
59 <interface>
60 <name>IMapper</name>
61 <instance>default</instance>
62 </interface>
63 </hal>
64 <hal format="hidl">
65 <name>android.hardware.renderscript</name>
66 <transport arch="32+64">passthrough</transport>
67 <version>1.0</version>
68 <interface>
69 <name>IDevice</name>
70 <instance>default</instance>
71 </interface>
72 </hal>
73 <hal format="hidl">
74 <name>android.hardware.configstore</name>
75 <transport>hwbinder</transport>
76 <version>1.1</version>
77 <interface>
78 <name>ISurfaceFlingerConfigs</name>
79 <instance>default</instance>
80 </interface>
81 </hal>
82 <hal format="hidl">
83 <name>android.hardware.media.omx</name>
84 <transport>hwbinder</transport>
85 <version>1.0</version>
86 <interface>
87 <name>IOmx</name>
88 <instance>default</instance>
89 </interface>
90 <interface>
91 <name>IOmxStore</name>
92 <instance>default</instance>
93 </interface>
94 </hal>
95 <hal format="hidl">
96 <name>android.hardware.wifi</name>
97 <transport>hwbinder</transport>
98 <version>1.3</version>
99 <interface>
100 <name>IWifi</name>
101 <instance>default</instance>
102 </interface>
103 </hal>
104 <hal format="hidl">
105 <name>android.hardware.wifi.supplicant</name>
106 <transport>hwbinder</transport>
107 <version>1.2</version>
108 <interface>
109 <name>ISupplicant</name>
110 <instance>default</instance>
111 </interface>
112 </hal>
113 <hal format="hidl">
114 <name>android.hardware.wifi.hostapd</name>
115 <transport>hwbinder</transport>
116 <version>1.1</version>
117 <interface>
118 <name>IHostapd</name>
119 <instance>default</instance>
120 </interface>
121 </hal>
122 <hal format="hidl">
123 <name>android.hardware.camera.provider</name>
124 <transport>hwbinder</transport>
125 <impl level="generic"></impl>
126 <version>2.4</version>
127 <interface>
128 <name>ICameraProvider</name>
129 <instance>legacy/0</instance>
130 </interface>
131 </hal>
132 <hal format="hidl">
133 <name>android.hardware.light</name>
134 <transport>hwbinder</transport>
135 <version>2.0</version>
136 <interface>
137 <name>ILight</name>
138 <instance>default</instance>
139 </interface>
140 </hal>
141 <hal format="hidl">
142 <name>android.hardware.memtrack</name>
143 <transport>hwbinder</transport>
144 <version>1.0</version>
145 <interface>
146 <name>IMemtrack</name>
147 <instance>default</instance>
148 </interface>
149 </hal>
150 <hal format="hidl">
151 <name>android.hardware.audio</name>
152 <transport>hwbinder</transport>
153 <version>5.0</version>
154 <interface>
155 <name>IDevicesFactory</name>
156 <instance>default</instance>
157 </interface>
158 </hal>
159 <hal format="hidl">
160 <name>android.hardware.audio.effect</name>
161 <transport>hwbinder</transport>
162 <version>5.0</version>
163 <interface>
164 <name>IEffectsFactory</name>
165 <instance>default</instance>
166 </interface>
167 </hal>
168 <hal format="hidl">
169 <name>android.hardware.usb</name>
170 <transport>hwbinder</transport>
171 <version>1.1</version>
172 <interface>
173 <name>IUsb</name>
174 <instance>default</instance>
175 </interface>
176 </hal>
177 <hal format="hidl">
178 <name>android.hardware.usb.gadget</name>
179 <transport>hwbinder</transport>
180 <version>1.0</version>
181 <interface>
182 <name>IUsbGadget</name>
183 <instance>default</instance>
184 </interface>
185 </hal>
186 <hal format="hidl">
187 <name>android.hardware.bluetooth</name>
188 <transport>hwbinder</transport>
189 <version>1.0</version>
190 <interface>
191 <name>IBluetoothHci</name>
192 <instance>default</instance>
193 </interface>
194 </hal>
195 <hal format="hidl">
196 <name>android.hardware.boot</name>
197 <transport>hwbinder</transport>
198 <version>1.0</version>
199 <interface>
200 <name>IBootControl</name>
201 <instance>default</instance>
202 </interface>
203 </hal>
204 <hal format="hidl">
205 <name>android.hardware.dumpstate</name>
206 <transport>hwbinder</transport>
207 <version>1.0</version>
208 <interface>
209 <name>IDumpstateDevice</name>
210 <instance>default</instance>
211 </interface>
212 </hal>
213 <hal format="hidl">
214 <name>android.hardware.oemlock</name>
215 <transport>hwbinder</transport>
216 <version>1.0</version>
217 <interface>
218 <name>IOemLock</name>
219 <instance>default</instance>
220 </interface>
221 </hal>
222 <hal format="hidl">
223 <name>android.hardware.health</name>
224 <transport>hwbinder</transport>
225 <version>2.0</version>
226 <interface>
227 <name>IHealth</name>
228 <instance>default</instance>
229 </interface>
230 </hal>
231 <hal format="hidl">
232 <name>nxp.hardware.display</name>
233 <transport>hwbinder</transport>
234 <version>1.0</version>
235 <interface>
236 <name>IDisplay</name>
237 <instance>default</instance>
238 </interface>
239 </hal>
240 <hal format="hidl">
241 <name>android.hardware.neuralnetworks</name>
242 <transport>hwbinder</transport>
243 <version>1.2</version>
244 <interface>
245 <name>IDevice</name>
246 <instance>vsi-npu</instance>
247 </interface>
248 </hal>
249 </manifest>
250
imx8m/smarc_mx8mq/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png