Repository: android-rpi/device_arpi_rpi4 Branch: arpi-14 Commit: 8390b35847ef Files: 53 Total size: 47.7 KB Directory structure: gitextract_57scc5u_/ ├── AndroidProducts.mk ├── BoardConfig.mk ├── Generic.kl ├── README ├── bluetooth/ │ ├── bdroid_buildcfg.h │ ├── bt_vendor.conf │ ├── bt_vendor_400.conf │ └── vnd_rpi4.txt ├── boot/ │ ├── cmdline.txt │ ├── config.txt │ └── start4.elf ├── etc/ │ ├── audio_policy_configuration.xml │ ├── codec2.vendor.ext.policy │ ├── external_camera_config.xml │ └── media_codecs.xml ├── firmware/ │ └── brcm/ │ ├── BCM4345C0.hcd │ ├── BCM4345C5.hcd │ ├── brcmfmac43455-sdio.clm_blob │ ├── brcmfmac43455-sdio.txt │ ├── brcmfmac43456-sdio.clm_blob │ └── brcmfmac43456-sdio.txt ├── fstab.rpi4 ├── init.rpi4.rc ├── init.rpi4.usb.rc ├── init.usb.rc ├── manifest.xml ├── overlay/ │ └── RpFrameworkOverlay/ │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res/ │ ├── values/ │ │ └── config.xml │ └── xml/ │ └── global_keys.xml ├── rpi4.mk ├── sepolicy/ │ ├── bluetooth.te │ ├── bootanim.te │ ├── cameraserver.te │ ├── device.te │ ├── file_contexts │ ├── hal_camera_default.te │ ├── hal_graphics_allocator_default.te │ ├── hal_graphics_composer_default.te │ ├── init.te │ ├── kernel.te │ ├── mediacodec.te │ ├── mediaserver.te │ ├── mediaswcodec.te │ ├── netd.te │ ├── platform_app.te │ ├── priv_app.te │ ├── surfaceflinger.te │ ├── system_app.te │ ├── system_server.te │ ├── te_macros │ └── untrusted_app_all.te └── ueventd.rc ================================================ FILE CONTENTS ================================================ ================================================ FILE: AndroidProducts.mk ================================================ PRODUCT_MAKEFILES := $(LOCAL_DIR)/rpi4.mk COMMON_LUNCH_CHOICES := rpi4-eng ================================================ FILE: BoardConfig.mk ================================================ # # Copyright 2020 Android-RPi Project # # 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. # TARGET_NO_BOOTLOADER := true TARGET_NO_KERNEL := true TARGET_NO_RECOVERY := true TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a TARGET_CPU_VARIANT := cortex-a72 TARGET_CPU_ABI := arm64-v8a TARGET_CPU_ABI2 := TARGET_DYNAMIC_64_32_MEDIASERVER := true TARGET_FLATTEN_APEX := true PRODUCT_FULL_TREBLE_OVERRIDE := true BOARD_VNDK_VERSION := current TARGET_BOARD_PLATFORM := bcm2711 TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true TARGET_USERIMAGES_USE_EXT4 := true BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1207959552 # 1152M BOARD_USERDATAIMAGE_PARTITION_SIZE := 134217728 # 128M TARGET_COPY_OUT_VENDOR := vendor BOARD_VENDORIMAGE_PARTITION_SIZE := 134217728 # 128M BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_FLASH_BLOCK_SIZE := 4096 MALLOC_SVELTE := true USE_XML_AUDIO_POLICY_CONF := 1 BOARD_MESA3D_USES_MESON_BUILD := true BOARD_MESA3D_GALLIUM_DRIVERS := v3d vc4 BOARD_MESA3D_VULKAN_DRIVERS := broadcom USE_OPENGL_RENDERER := true TARGET_USES_HWC2 := true TARGET_SCREEN_DENSITY := 213 # Wifi BOARD_WLAN_DEVICE := bcmdhd WPA_SUPPLICANT_VERSION := VER_0_8_X BOARD_WPA_SUPPLICANT_DRIVER := NL80211 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd BOARD_HOSTAPD_DRIVER := NL80211 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true # Bluetooth BOARD_HAVE_BLUETOOTH := true BOARD_HAVE_BLUETOOTH_BCM := true BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/arpi/rpi4/bluetooth BOARD_CUSTOM_BT_CONFIG := device/arpi/rpi4/bluetooth/vnd_rpi4.txt BOARD_SEPOLICY_DIRS := \ device/arpi/rpi4/sepolicy DEVICE_MANIFEST_FILE := device/arpi/rpi4/manifest.xml ================================================ FILE: Generic.kl ================================================ # Copyright (C) 2010 The Android Open Source Project # # 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. # # Generic key layout file for full alphabetic US English PC style external keyboards. # # This file is intentionally very generic and is intended to support a broad range of keyboards. # Do not edit the generic key layout to support a specific keyboard; instead, create # a new key layout file with the required keyboard configuration. # key 1 BACK key 2 1 key 3 2 key 4 3 key 5 4 key 6 5 key 7 6 key 8 7 key 9 8 key 10 9 key 11 0 key 12 MINUS key 13 EQUALS key 14 DEL key 15 TAB key 16 Q key 17 W key 18 E key 19 R key 20 T key 21 Y key 22 U key 23 I key 24 O key 25 P key 26 LEFT_BRACKET key 27 RIGHT_BRACKET key 28 ENTER key 29 CTRL_LEFT key 30 A key 31 S key 32 D key 33 F key 34 G key 35 H key 36 J key 37 K key 38 L key 39 SEMICOLON key 40 APOSTROPHE key 41 GRAVE key 42 SHIFT_LEFT key 43 BACKSLASH key 44 Z key 45 X key 46 C key 47 V key 48 B key 49 N key 50 M key 51 COMMA key 52 PERIOD key 53 SLASH key 54 SHIFT_RIGHT key 55 NUMPAD_MULTIPLY key 56 ALT_LEFT key 57 SPACE key 58 CAPS_LOCK key 59 F1 key 60 F2 key 61 F3 key 62 F4 key 63 F5 key 64 F6 key 65 F7 key 66 VOLUME_DOWN key 67 VOLUME_UP key 68 F10 key 69 NUM_LOCK key 70 SCROLL_LOCK key 71 NUMPAD_7 key 72 NUMPAD_8 key 73 NUMPAD_9 key 74 NUMPAD_SUBTRACT key 75 NUMPAD_4 key 76 NUMPAD_5 key 77 NUMPAD_6 key 78 NUMPAD_ADD key 79 NUMPAD_1 key 80 NUMPAD_2 key 81 NUMPAD_3 key 82 NUMPAD_0 key 83 NUMPAD_DOT # key 84 (undefined) key 85 ZENKAKU_HANKAKU key 86 BACKSLASH key 87 F11 key 88 F12 key 89 RO # key 90 "KEY_KATAKANA" # key 91 "KEY_HIRAGANA" key 92 HENKAN key 93 KATAKANA_HIRAGANA key 94 MUHENKAN key 95 NUMPAD_COMMA key 96 NUMPAD_ENTER key 97 CTRL_RIGHT key 98 NUMPAD_DIVIDE key 99 SYSRQ key 100 ALT_RIGHT # key 101 "KEY_LINEFEED" key 102 MOVE_HOME key 103 DPAD_UP key 104 PAGE_UP key 105 DPAD_LEFT key 106 DPAD_RIGHT key 107 MOVE_END key 108 DPAD_DOWN key 109 PAGE_DOWN key 110 INSERT key 111 FORWARD_DEL # key 112 "KEY_MACRO" key 113 VOLUME_MUTE key 114 VOLUME_DOWN key 115 VOLUME_UP key 116 POWER key 117 NUMPAD_EQUALS # key 118 "KEY_KPPLUSMINUS" key 119 BREAK # key 120 (undefined) key 121 NUMPAD_COMMA key 122 KANA key 123 EISU key 124 YEN key 125 META_LEFT key 126 META_RIGHT key 127 MENU key 128 MEDIA_STOP # key 129 "KEY_AGAIN" # key 130 "KEY_PROPS" # key 131 "KEY_UNDO" # key 132 "KEY_FRONT" key 133 COPY # key 134 "KEY_OPEN" key 135 PASTE # key 136 "KEY_FIND" key 137 CUT # key 138 "KEY_HELP" key 139 MENU key 140 CALCULATOR # key 141 "KEY_SETUP" key 142 SLEEP key 143 WAKEUP # key 144 "KEY_FILE" # key 145 "KEY_SENDFILE" # key 146 "KEY_DELETEFILE" # key 147 "KEY_XFER" # key 148 "KEY_PROG1" # key 149 "KEY_PROG2" key 150 EXPLORER # key 151 "KEY_MSDOS" key 152 POWER # key 153 "KEY_DIRECTION" # key 154 "KEY_CYCLEWINDOWS" key 155 ENVELOPE key 156 BOOKMARK # key 157 "KEY_COMPUTER" key 158 BACK key 159 FORWARD key 160 MEDIA_CLOSE key 161 MEDIA_EJECT key 162 MEDIA_EJECT key 163 MEDIA_NEXT key 164 MEDIA_PLAY_PAUSE key 165 MEDIA_PREVIOUS key 166 MEDIA_STOP key 167 MEDIA_RECORD key 168 MEDIA_REWIND key 169 CALL # key 170 "KEY_ISO" key 171 MUSIC key 172 HOME key 173 REFRESH # key 174 "KEY_EXIT" # key 175 "KEY_MOVE" # key 176 "KEY_EDIT" key 177 PAGE_UP key 178 PAGE_DOWN key 179 NUMPAD_LEFT_PAREN key 180 NUMPAD_RIGHT_PAREN # key 181 "KEY_NEW" # key 182 "KEY_REDO" # key 183 F13 # key 184 F14 # key 185 F15 # key 186 F16 # key 187 F17 # key 188 F18 # key 189 F19 # key 190 F20 # key 191 F21 # key 192 F22 # key 193 F23 # key 194 F24 # key 195 (undefined) # key 196 (undefined) # key 197 (undefined) # key 198 (undefined) # key 199 (undefined) key 200 MEDIA_PLAY key 201 MEDIA_PAUSE # key 202 "KEY_PROG3" # key 203 "KEY_PROG4" # key 204 (undefined) # key 205 "KEY_SUSPEND" # key 206 "KEY_CLOSE" key 207 MEDIA_PLAY key 208 MEDIA_FAST_FORWARD # key 209 "KEY_BASSBOOST" # key 210 "KEY_PRINT" # key 211 "KEY_HP" key 212 CAMERA key 213 MUSIC # key 214 "KEY_QUESTION" key 215 ENVELOPE # key 216 "KEY_CHAT" key 217 SEARCH # key 218 "KEY_CONNECT" # key 219 "KEY_FINANCE" # key 220 "KEY_SPORT" # key 221 "KEY_SHOP" # key 222 "KEY_ALTERASE" # key 223 "KEY_CANCEL" key 224 BRIGHTNESS_DOWN key 225 BRIGHTNESS_UP key 226 HEADSETHOOK key 256 BUTTON_1 key 257 BUTTON_2 key 258 BUTTON_3 key 259 BUTTON_4 key 260 BUTTON_5 key 261 BUTTON_6 key 262 BUTTON_7 key 263 BUTTON_8 key 264 BUTTON_9 key 265 BUTTON_10 key 266 BUTTON_11 key 267 BUTTON_12 key 268 BUTTON_13 key 269 BUTTON_14 key 270 BUTTON_15 key 271 BUTTON_16 key 288 BUTTON_1 key 289 BUTTON_2 key 290 BUTTON_3 key 291 BUTTON_4 key 292 BUTTON_5 key 293 BUTTON_6 key 294 BUTTON_7 key 295 BUTTON_8 key 296 BUTTON_9 key 297 BUTTON_10 key 298 BUTTON_11 key 299 BUTTON_12 key 300 BUTTON_13 key 301 BUTTON_14 key 302 BUTTON_15 key 303 BUTTON_16 key 304 BUTTON_A key 305 BUTTON_B key 306 BUTTON_C key 307 BUTTON_X key 308 BUTTON_Y key 309 BUTTON_Z key 310 BUTTON_L1 key 311 BUTTON_R1 key 312 BUTTON_L2 key 313 BUTTON_R2 key 314 BUTTON_SELECT key 315 BUTTON_START key 316 BUTTON_MODE key 317 BUTTON_THUMBL key 318 BUTTON_THUMBR # key 352 "KEY_OK" key 353 DPAD_CENTER # key 354 "KEY_GOTO" # key 355 "KEY_CLEAR" # key 356 "KEY_POWER2" # key 357 "KEY_OPTION" # key 358 "KEY_INFO" # key 359 "KEY_TIME" # key 360 "KEY_VENDOR" # key 361 "KEY_ARCHIVE" key 362 GUIDE # key 363 "KEY_CHANNEL" # key 364 "KEY_FAVORITES" # key 365 "KEY_EPG" key 366 DVR # key 367 "KEY_MHP" # key 368 "KEY_LANGUAGE" # key 369 "KEY_TITLE" key 370 CAPTIONS # key 371 "KEY_ANGLE" # key 372 "KEY_ZOOM" # key 373 "KEY_MODE" # key 374 "KEY_KEYBOARD" # key 375 "KEY_SCREEN" # key 376 "KEY_PC" key 377 TV # key 378 "KEY_TV2" # key 379 "KEY_VCR" # key 380 "KEY_VCR2" # key 381 "KEY_SAT" # key 382 "KEY_SAT2" # key 383 "KEY_CD" # key 384 "KEY_TAPE" # key 385 "KEY_RADIO" # key 386 "KEY_TUNER" # key 387 "KEY_PLAYER" # key 388 "KEY_TEXT" # key 389 "KEY_DVD" # key 390 "KEY_AUX" # key 391 "KEY_MP3" # key 392 "KEY_AUDIO" # key 393 "KEY_VIDEO" # key 394 "KEY_DIRECTORY" # key 395 "KEY_LIST" # key 396 "KEY_MEMO" key 397 CALENDAR key 398 PROG_RED key 399 PROG_GREEN key 400 PROG_YELLOW key 401 PROG_BLUE key 402 CHANNEL_UP key 403 CHANNEL_DOWN # key 404 "KEY_FIRST" key 405 LAST_CHANNEL # key 406 "KEY_AB" # key 407 "KEY_NEXT" # key 408 "KEY_RESTART" # key 409 "KEY_SLOW" # key 410 "KEY_SHUFFLE" # key 411 "KEY_BREAK" # key 412 "KEY_PREVIOUS" # key 413 "KEY_DIGITS" # key 414 "KEY_TEEN" # key 415 "KEY_TWEN" key 429 CONTACTS # key 448 "KEY_DEL_EOL" # key 449 "KEY_DEL_EOS" # key 450 "KEY_INS_LINE" # key 451 "KEY_DEL_LINE" key 464 FUNCTION key 465 ESCAPE FUNCTION key 466 F1 FUNCTION key 467 F2 FUNCTION key 468 F3 FUNCTION key 469 F4 FUNCTION key 470 F5 FUNCTION key 471 F6 FUNCTION key 472 F7 FUNCTION key 473 F8 FUNCTION key 474 F9 FUNCTION key 475 F10 FUNCTION key 476 F11 FUNCTION key 477 F12 FUNCTION key 478 1 FUNCTION key 479 2 FUNCTION key 480 D FUNCTION key 481 E FUNCTION key 482 F FUNCTION key 483 S FUNCTION key 484 B FUNCTION # key 497 KEY_BRL_DOT1 # key 498 KEY_BRL_DOT2 # key 499 KEY_BRL_DOT3 # key 500 KEY_BRL_DOT4 # key 501 KEY_BRL_DOT5 # key 502 KEY_BRL_DOT6 # key 503 KEY_BRL_DOT7 # key 504 KEY_BRL_DOT8 key 522 STAR key 523 POUND key 580 APP_SWITCH key 582 VOICE_ASSIST # Linux KEY_ASSISTANT key 583 ASSIST # Keys defined by HID usages key usage 0x0c0067 WINDOW key usage 0x0c006F BRIGHTNESS_UP key usage 0x0c0070 BRIGHTNESS_DOWN key usage 0x0c0173 MEDIA_AUDIO_TRACK # Joystick and game controller axes. # Axes that are not mapped will be assigned generic axis numbers by the input subsystem. axis 0x00 X axis 0x01 Y axis 0x02 Z axis 0x03 RX axis 0x04 RY axis 0x05 RZ axis 0x06 THROTTLE axis 0x07 RUDDER axis 0x08 WHEEL axis 0x09 GAS axis 0x0a BRAKE axis 0x10 HAT_X axis 0x11 HAT_Y # LEDs led 0x00 NUM_LOCK led 0x01 CAPS_LOCK led 0x02 SCROLL_LOCK led 0x03 COMPOSE led 0x04 KANA led 0x05 SLEEP led 0x06 SUSPEND led 0x07 MUTE led 0x08 MISC led 0x09 MAIL led 0x0a CHARGING ================================================ FILE: README ================================================ # Setup build envoronment https://source.android.com/setup/build/initializing $ sudo apt install libssl-dev python3-setuptools # Download Android source https://github.com/android-rpi/local_manifests/tree/arpi14-pi4 # Build Android Refer to http://source.android.com/source/building.html $ source build/envsetup.sh $ lunch rpi4-eng $ make ramdisk systemimage vendorimage Use -j[n] option with make, if build host has a good number of CPU cores. # Prepare sd card Partitions of the card should be set-up like followings. p1 128MB for boot : Do fdisk, set W95 FAT32(LBA) & Bootable type, mkfs.vfat p2 1152MB for /system : Do fdisk, new primary partition p3 128MB for /vendor : Do fdisk, new primary partition p4 remainings for /data : Do fdisk, mkfs.ext4 Set volume label of /data partition as userdata : use -L option for mkfs.ext4 # Write system & vendor partition $ cd out/target/product/rpi4 $ sudo dd if=system.img of=/dev/ bs=1M $ sudo dd if=vendor.img of=/dev/ bs=1M # Copy firmware & ramdisk to boot partition device/arpi/rpi4/boot/* to p1:/ out/target/product/rpi4/ramdisk.img to p1:/ # Download & Build kernel source https://github.com/android-rpi/kernel_manifest/tree/arpi14-6.1.62 # Copy kernel binaries to boot partition /out/arpi14-6.1/dist/Image.gz to p1:/ /out/arpi14-6.1/dist/bcm2711-rpi-*.dtb to p1:/ /out/arpi14-6.1/dist/vc4-kms-v3d-pi4.dtbo to p1:/overlays/ ================================================ FILE: bluetooth/bdroid_buildcfg.h ================================================ #ifndef _BDROID_BUILDCFG_H #define _BDROID_BUILDCFG_H #define BTM_DEF_LOCAL_NAME "RPI4" #define BTA_DM_COD {0x1A, 0x01, 0x20} #endif ================================================ FILE: bluetooth/bt_vendor.conf ================================================ # UART device port where Bluetooth controller is attached UartPort = /dev/ttyAMA1 # Firmware patch file location FwPatchFilePath = /lib/firmware/brcm # Firmware Name FwPatchFileName = BCM4345C0.hcd ================================================ FILE: bluetooth/bt_vendor_400.conf ================================================ # UART device port where Bluetooth controller is attached UartPort = /dev/ttyAMA1 # Firmware patch file location FwPatchFilePath = /lib/firmware/brcm # Firmware Name FwPatchFileName = BCM4345C5.hcd ================================================ FILE: bluetooth/vnd_rpi4.txt ================================================ BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyAMA1" FW_PATCHFILE_LOCATION = "/lib/firmware/" FW_PATCH_SETTLEMENT_DELAY_MS = 200 BT_WAKE_VIA_PROC = FALSE BT_WAKE_VIA_USERIAL_IOCTL = FALSE LPM_IDLE_TIMEOUT_MULTIPLE = 5 SCO_CFG_INCLUDED = FALSE SCO_PCM_IF_CLOCK_RATE = 2 BTVND_DBG = FALSE BTHW_DBG = FALSE VNDUSERIAL_DBG = FALSE UPIO_DBG = FALSE UART_TARGET_BAUD_RATE = 921600 USE_CONTROLLER_BDADDR = FALSE ================================================ FILE: boot/cmdline.txt ================================================ console=serial0,115200 no_console_suspend root=/dev/ram0 androidboot.hardware=rpi4 androidboot.selinux=permissive ================================================ FILE: boot/config.txt ================================================ kernel=Image.gz arm_64bit=1 dtparam=krnbt=off dtparam=audio=on dtoverlay=vc4-kms-v3d-pi4,noaudio #dtoverlay=dwc2,dr_mode=peripheral initramfs ramdisk.img followkernel enable_uart=1 disable_overscan=1 ================================================ FILE: etc/audio_policy_configuration.xml ================================================ Speaker Speaker ================================================ FILE: etc/codec2.vendor.ext.policy ================================================ _llseek: 1 epoll_create1: 1 epoll_ctl: 1 epoll_pwait: 1 eventfd2: 1 fstat64: 1 fstatat64: 1 fstatfs64: 1 getcwd: 1 getdents64: 1 geteuid32: 1 getuid32: 1 mmap2: 1 open: 1 pselect6: 1 sched_getaffinity: 1 statfs64: 1 sysinfo: 1 ugetrlimit: 1 ================================================ FILE: etc/external_camera_config.xml ================================================ 0 ================================================ FILE: etc/media_codecs.xml ================================================ ================================================ FILE: firmware/brcm/brcmfmac43455-sdio.txt ================================================ # Cloned from bcm94345wlpagb_p2xx.txt NVRAMRev=$Rev: 498373 $ sromrev=11 vendid=0x14e4 devid=0x43ab manfid=0x2d0 prodid=0x06e4 #macaddr=00:90:4c:c5:12:38 macaddr=b8:27:eb:74:f2:6c nocrc=1 boardtype=0x6e4 boardrev=0x1304 #XTAL 37.4MHz xtalfreq=37400 btc_mode=1 #------------------------------------------------------ #boardflags: 5GHz eTR switch by default # 2.4GHz eTR switch by default # bit1 for btcoex boardflags=0x00480201 boardflags2=0x40800000 boardflags3=0x44200100 phycal_tempdelta=15 rxchain=1 txchain=1 aa2g=1 aa5g=1 tssipos5g=1 tssipos2g=1 femctrl=0 AvVmid_c0=1,165,2,100,2,100,2,100,2,100 pa2ga0=-129,6525,-718 pa2ga1=-149,4408,-601 pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818 pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575 itrsw=1 pdoffsetcckma0=2 pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0 pdoffset2g40ma0=16 pdoffset40ma0=0x8888 pdoffset80ma0=0x8888 extpagain5g=2 extpagain2g=2 tworangetssi2g=1 tworangetssi5g=1 # LTECX flags # WCI2 ltecxmux=0 ltecxpadnum=0x0504 ltecxfnsel=0x22 ltecxgcigpio=0x32 maxp2ga0=80 ofdmlrbw202gpo=0x0022 dot11agofdmhrbw202gpo=0x4442 mcsbw202gpo=0x98444422 mcsbw402gpo=0x98444422 maxp5ga0=82,82,82,82 mcsbw205glpo=0xb9555000 mcsbw205gmpo=0xb9555000 mcsbw205ghpo=0xb9555000 mcsbw405glpo=0xb9555000 mcsbw405gmpo=0xb9555000 mcsbw405ghpo=0xb9555000 mcsbw805glpo=0xb9555000 mcsbw805gmpo=0xb9555000 mcsbw805ghpo=0xb9555000 swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3 swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3 vcodivmode=1 deadman_to=481500000 ed_thresh2g=-54 ed_thresh5g=-54 eu_edthresh2g=-54 eu_edthresh5g=-54 ldo1=4 rawtempsense=0x1ff cckPwrIdxCorr=3 cckTssiDelay=150 ofdmTssiDelay=150 txpwr2gAdcScale=1 txpwr5gAdcScale=1 dot11b_opts=0x3aa85 cbfilttype=1 fdsslevel_ch11=6 # Improved Bluetooth coexistence parameters from Cypress btc_mode=1 btc_params8=0x4e20 btc_params1=0x7530 btc_params50=0x972c ================================================ FILE: firmware/brcm/brcmfmac43456-sdio.txt ================================================ # Cloned from bcm94345wlpagb_p2xx.txt NVRAMRev=$Rev: 498373 $ sromrev=11 vendid=0x14e4 devid=0x43ab manfid=0x2d0 prodid=0x06e4 #macaddr=00:90:4c:c5:12:38 macaddr=b8:27:eb:74:f2:6c nocrc=1 boardtype=0x6e4 boardrev=0x1304 #XTAL 37.4MHz xtalfreq=37400 btc_mode=1 #------------------------------------------------------ #boardflags: 5GHz eTR switch by default # 2.4GHz eTR switch by default # bit1 for btcoex boardflags=0x00480201 boardflags2=0x40800000 boardflags3=0x44200100 phycal_tempdelta=15 rxchain=1 txchain=1 aa2g=1 aa5g=1 tssipos5g=1 tssipos2g=1 femctrl=0 AvVmid_c0=0,157,1,126,1,126,1,126,1,126 pa2ga0=-170,5896,-680 pa2ga1=-156,4032,-547 pa5ga0=-150,5547,-628,-150,5583,-640,-158,5608,-649,-160,5757,-673 pa5ga1=-109,3831,-519,-88,3821,-512,-125,3731,-528,-103,3829,-516 itrsw=1 pdoffsetcckma0=2 pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0 pdoffset2g40ma0=16 pdoffset40ma0=0x8888 pdoffset80ma0=0x8888 extpagain5g=2 extpagain2g=2 tworangetssi2g=1 tworangetssi5g=1 # LTECX flags # WCI2 ltecxmux=0 ltecxpadnum=0x0504 ltecxfnsel=0x22 ltecxgcigpio=0x32 maxp2ga0=80 ofdmlrbw202gpo=0x0022 dot11agofdmhrbw202gpo=0x4442 mcsbw202gpo=0x98444422 mcsbw402gpo=0x98444422 maxp5ga0=82,82,82,82 mcsbw205glpo=0xb9555000 mcsbw205gmpo=0xb9555000 mcsbw205ghpo=0xb9555000 mcsbw405glpo=0xb9555000 mcsbw405gmpo=0xb9555000 mcsbw405ghpo=0xb9555000 mcsbw805glpo=0xb9555000 mcsbw805gmpo=0xb9555000 mcsbw805ghpo=0xb9555000 swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3 swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3 vcodivmode=1 deadman_to=481500000 ed_thresh2g=-54 ed_thresh5g=-54 eu_edthresh2g=-54 eu_edthresh5g=-54 ldo1=4 rawtempsense=0x1ff cckPwrIdxCorr=3 cckTssiDelay=150 ofdmTssiDelay=150 txpwr2gAdcScale=1 txpwr5gAdcScale=1 dot11b_opts=0x3aa85 cbfilttype=1 fdsslevel_ch11=6 # Improved Bluetooth coexistence parameters from Cypress btc_mode=1 btc_params8=0x4e20 btc_params1=0x7530 ================================================ FILE: fstab.rpi4 ================================================ # /dev/block/mmcblk0p2 /system ext4 ro,barrier=1 wait,first_stage_mount /dev/block/mmcblk0p3 /vendor ext4 ro,barrier=1 wait,first_stage_mount /dev/block/mmcblk0p4 /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait /devices/platform/soc/*.usb/usb* auto auto defaults voldmanaged=usb:auto ================================================ FILE: init.rpi4.rc ================================================ #import /vendor/etc/init/hw/init.rpi4.usb.rc on init # mount debugfs mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755 # Support legacy paths symlink /sdcard /mnt/sdcard symlink /sdcard /storage/sdcard0 on fs mount_all /vendor/etc/fstab.rpi4 on post-fs-data # Bluetooth chmod 0660 /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type # Set indication (checked by vold) that we have finished this action setprop vold.post_fs_data_done 1 on zygote-start # Create the directories used by the Wireless subsystem mkdir /data/misc/wifi 0770 wifi wifi mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi mkdir /data/vendor/wifi 0771 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi mkdir /data/misc/dhcp 0770 dhcp dhcp chown dhcp dhcp /data/misc/dhcp on boot setprop net.dns1 8.8.8.8 setprop net.dns2 8.8.4.4 # fake some battery state setprop status.battery.state Slow setprop status.battery.level 5 setprop status.battery.level_raw 50 setprop status.battery.level_scale 9 setprop service.adb.tcp.port 5555 start adbd ================================================ FILE: init.rpi4.usb.rc ================================================ # # Copyright (C) 2016 The Android Open-Source Project # # 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. # on init setprop sys.usb.controller "fe980000.usb" on boot mount configfs none /config mkdir /config/usb_gadget/g1 0770 shell shell mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell write /config/usb_gadget/g1/bcdUSB 0x0200 write /config/usb_gadget/g1/driver_match_existing_only 0 write /config/usb_gadget/g1/idVendor 0x18d1 write /config/usb_gadget/g1/bcdDevice 0x0223 write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} mkdir /config/usb_gadget/g1/functions/accessory.gs2 mkdir /config/usb_gadget/g1/functions/audio_source.gs3 mkdir /config/usb_gadget/g1/functions/midi.gs5 mkdir /config/usb_gadget/g1/functions/ffs.adb mkdir /config/usb_gadget/g1/functions/ffs.mtp mkdir /config/usb_gadget/g1/functions/ffs.ptp mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" write /config/usb_gadget/g1/configs/b.1/MaxPower 500 mkdir /dev/usb-ffs 0775 shell shell mkdir /dev/usb-ffs/adb 0770 shell shell mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 mkdir /dev/usb-ffs/mtp 0770 mtp mtp mkdir /dev/usb-ffs/ptp 0770 mtp mtp mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 setprop sys.usb.mtp.device_type 3 setprop sys.usb.configfs 1 setprop sys.usb.ffs.aio_compat 1 symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 on property:sys.usb.config=none && property:sys.usb.configfs=1 write /config/usb_gadget/g1/os_desc/use 0 on property:sys.usb.config=mtp && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee1 write /config/usb_gadget/g1/os_desc/use 1 symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee2 write /config/usb_gadget/g1/os_desc/use 1 symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 on property:sys.usb.config=rndis && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee3 on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee4 on property:sys.usb.config=ptp && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee5 write /config/usb_gadget/g1/os_desc/use 1 symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee6 write /config/usb_gadget/g1/os_desc/use 1 symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 on property:sys.usb.config=adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee7 on property:sys.usb.config=midi && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee8 on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x4ee9 on property:sys.usb.config=accessory && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x2d00 on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x2d01 on property:sys.usb.config=audio_source && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x2d02 on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x2d03 on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x2d04 on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1 write /config/usb_gadget/g1/idProduct 0x2d05 ================================================ FILE: init.usb.rc ================================================ # # USB configuration # on post-fs-data mkdir /data/misc/adb 02750 system shell mkdir /data/adb 0700 root root service adbd /system/bin/adbd --root_seclabel=u:r:su:s0 class core socket adbd seqpacket 660 system system disabled seclabel u:r:adbd:s0 ================================================ FILE: manifest.xml ================================================ android.hardware.audio hwbinder 4.0 IDevicesFactory default @4.0::IDevicesFactory/default android.hardware.audio.effect hwbinder 4.0 IEffectsFactory default @4.0::IEffectsFactory/default android.hardware.configstore hwbinder 1.1 ISurfaceFlingerConfigs default android.hardware.graphics.mapper passthrough 4.0 IMapper default android.hardware.memtrack hwbinder 1.0 IMemtrack default android.hardware.bluetooth hwbinder 1.0 IBluetoothHci default android.hardware.keymaster hwbinder 3.0 IKeymasterDevice default android.hardware.camera.provider hwbinder 2.5 ICameraProvider external/0 ================================================ FILE: overlay/RpFrameworkOverlay/Android.bp ================================================ runtime_resource_overlay { name: "RpFrameworkOverlay", certificate: "platform", resource_dirs: ["res"], product_specific: true, sdk_version: "current", } ================================================ FILE: overlay/RpFrameworkOverlay/AndroidManifest.xml ================================================ ================================================ FILE: overlay/RpFrameworkOverlay/res/values/config.xml ================================================ 0 ================================================ FILE: overlay/RpFrameworkOverlay/res/xml/global_keys.xml ================================================ ================================================ FILE: rpi4.mk ================================================ # # Copyright 2020 Android-RPi Project # # 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. # $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) USE_OEM_TV_APP := true $(call inherit-product, device/google/atv/products/atv_base.mk) PRODUCT_NAME := rpi4 PRODUCT_DEVICE := rpi4 PRODUCT_BRAND := arpi PRODUCT_MANUFACTURER := ARPi PRODUCT_MODEL := Raspberry Pi 4 include frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk PRODUCT_PROPERTY_OVERRIDES += \ debug.drm.mode.force=1280x720 \ gralloc.drm.kms=/dev/dri/card0 \ ro.opengles.version=196609 \ ro.hardware.vulkan=broadcom \ ro.hardware.egl=mesa \ debug.stagefright.c2-poolmask=0x350000 \ ro.vendor.v4l2_codec2.decode_concurrent_instances=4 \ ro.hdmi.device_type=4 \ wifi.interface=wlan0 \ ro.rfkilldisabled=1 PRODUCT_SOONG_NAMESPACES += external/v4l2_codec2 # application packages PRODUCT_PACKAGES += \ TvSettingsTwoPanel \ DeskClock \ RpLauncher # overlay packages PRODUCT_PACKAGES += \ RpFrameworkOverlay # system packages PRODUCT_PACKAGES += \ gralloc.rpi4 \ vulkan.broadcom \ memtrack.rpi4 \ audio.primary.rpi4 \ audio.usb.default \ audio.r_submix.default \ libc2plugin_store \ wificond \ wifilogd \ wpa_supplicant \ wpa_supplicant.conf \ hostapd \ libbt-vendor # graphics hal PRODUCT_PACKAGES += \ libEGL_mesa \ libGLESv1_CM_mesa \ libGLESv2_mesa \ libgallium_dri \ libglapi # hardware/interfaces PRODUCT_PACKAGES += \ android.hardware.graphics.allocator-service.arpi \ android.hardware.graphics.mapper@4.0-impl.arpi \ android.hardware.graphics.composer-service.arpi \ android.hardware.camera.provider@2.5-external-service \ android.hardware.audio@4.0-impl \ android.hardware.audio.effect@4.0-impl \ android.hardware.audio.service \ android.hardware.keymaster@3.0-impl \ android.hardware.keymaster@3.0-service \ android.hardware.gatekeeper@1.0-service.software \ android.hardware.memtrack@1.0-impl \ android.hardware.memtrack@1.0-service \ android.hardware.health@2.1-service \ android.hardware.health@2.1-impl \ android.hardware.health.storage@1.0-service \ android.hardware.wifi@1.0-service \ android.hardware.bluetooth@1.0-service \ android.hardware.bluetooth@1.0-impl \ android.hardware.configstore@1.1-service \ android.hardware.tv.hdmi.connection-service \ android.hardware.tv.hdmi.cec-service \ android.hardware.tv.hdmi.earc-service \ android.hardware.media.c2@1.0-service-v4l2 \ hwservicemanager \ vndservicemanager # system configurations PRODUCT_COPY_FILES := \ hardware/broadcom/wlan/bcmdhd/config/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ frameworks/native/data/etc/android.hardware.hdmi.cec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.hdmi.cec.xml \ frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ frameworks/native/data/etc/android.hardware.camera.external.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.external.xml \ $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml \ $(LOCAL_PATH)/init.usb.rc:root/init.usb.rc \ $(LOCAL_PATH)/init.rpi4.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rpi4.rc \ $(LOCAL_PATH)/init.rpi4.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rpi4.usb.rc \ $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \ $(LOCAL_PATH)/fstab.rpi4:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.rpi4 \ $(LOCAL_PATH)/fstab.rpi4:$(TARGET_COPY_OUT_RAMDISK)/fstab.rpi4 \ $(LOCAL_PATH)/Generic.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Generic.kl \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43455-sdio.bin:root/lib/firmware/brcm/brcmfmac43455-sdio.bin \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43455-sdio.bin:$(TARGET_COPY_OUT_RAMDISK)/lib/firmware/brcm/brcmfmac43455-sdio.bin \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43455-sdio.clm_blob:root/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43455-sdio.clm_blob:$(TARGET_COPY_OUT_RAMDISK)/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43455-sdio.txt:root/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43455-sdio.txt:$(TARGET_COPY_OUT_RAMDISK)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43456-sdio.bin:root/lib/firmware/brcm/brcmfmac43456-sdio.bin \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43456-sdio.bin:$(TARGET_COPY_OUT_RAMDISK)/lib/firmware/brcm/brcmfmac43456-sdio.bin \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43456-sdio.clm_blob:root/lib/firmware/brcm/brcmfmac43456-sdio.clm_blob \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43456-sdio.clm_blob:$(TARGET_COPY_OUT_RAMDISK)/lib/firmware/brcm/brcmfmac43456-sdio.clm_blob \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43456-sdio.txt:root/lib/firmware/brcm/brcmfmac43456-sdio.raspberrypi,400.txt \ $(LOCAL_PATH)/firmware/brcm/brcmfmac43456-sdio.txt:$(TARGET_COPY_OUT_RAMDISK)/lib/firmware/brcm/brcmfmac43456-sdio.raspberrypi,400.txt \ $(LOCAL_PATH)/firmware/brcm/BCM4345C0.hcd:root/lib/firmware/brcm/BCM4345C0.hcd \ $(LOCAL_PATH)/firmware/brcm/BCM4345C5.hcd:root/lib/firmware/brcm/BCM4345C5.hcd \ $(LOCAL_PATH)/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf \ $(PRODUCT_COPY_FILES) # media configurations PRODUCT_COPY_FILES := \ device/generic/goldfish/camera/media/profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ frameworks/av/media/libeffects/data/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ frameworks/base/data/sounds/effects/ogg/Effect_Tick_48k.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/ui/Effect_Tick.ogg \ frameworks/base/data/sounds/effects/ogg/camera_click_48k.ogg:$(TARGET_COPY_OUT_PRODUCT)/media/audio/ui/camera_click.ogg \ $(LOCAL_PATH)/etc/codec2.vendor.ext.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.ext.policy \ $(PRODUCT_COPY_FILES) PRODUCT_AAPT_PREF_CONFIG := tvdpi PRODUCT_CHARACTERISTICS := tv $(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) ================================================ FILE: sepolicy/bluetooth.te ================================================ allow bluetooth rfkill_device:chr_file rw_file_perms; allow bluetooth vcio_device:chr_file rw_file_perms; ================================================ FILE: sepolicy/bootanim.te ================================================ gpu_access(bootanim) ================================================ FILE: sepolicy/cameraserver.te ================================================ allow cameraserver gpu_device:chr_file rw_file_perms; gpu_access(cameraserver) ================================================ FILE: sepolicy/device.te ================================================ type rfkill_device, dev_type, mlstrustedobject; type vcio_device, dev_type, mlstrustedobject; ================================================ FILE: sepolicy/file_contexts ================================================ /dev/dri u:object_r:gpu_device:s0 /dev/dri/card0 u:object_r:gpu_device:s0 /dev/dri/card1 u:object_r:gpu_device:s0 /dev/dri/renderD128 u:object_r:gpu_device:s0 /dev/rfkill u:object_r:rfkill_device:s0 /dev/vcio u:object_r:vcio_device:s0 /dev/ttyAMA1 u:object_r:hci_attach_dev:s0 /sys/class/rfkill/rfkill0/state u:object_r:sysfs_bluetooth_writable:s0 /sys/devices/platform/gpu/uevent u:object_r:sysfs_gpu:s0 /sys/devices/platform/v3dbus/fec00000.v3d/uevent u:object_r:sysfs_gpu:s0 /vendor/bin/hw/android\.hardware\.gatekeeper@1\.0-service.software u:object_r:hal_gatekeeper_default_exec:s0 /vendor/bin/hw/android\.hardware\.graphics\.allocator-service\.arpi u:object_r:hal_graphics_allocator_default_exec:s0 /vendor/bin/hw/android\.hardware\.graphics\.composer-service\.arpi u:object_r:hal_graphics_composer_default_exec:s0 /vendor/lib64/hw/android\.hardware\.graphics\.mapper@4\.0-impl\.arpi\.so u:object_r:same_process_hal_file:s0 /vendor/lib64/hw/vulkan\.broadcom\.so u:object_r:same_process_hal_file:s0 /vendor/lib64/hw/gralloc\.rpi4\.so u:object_r:same_process_hal_file:s0 /vendor/lib64/dri/libgallium_dri\.so u:object_r:same_process_hal_file:s0 /vendor/lib64/libdrm\.so u:object_r:same_process_hal_file:s0 /vendor/lib64/libglapi\.so u:object_r:same_process_hal_file:s0 /vendor/bin/hw/android\.hardware\.media\.c2@1\.0-service-v4l2-64 u:object_r:mediacodec_exec:s0 ================================================ FILE: sepolicy/hal_camera_default.te ================================================ vndbinder_use(hal_camera_default); allow hal_camera_default gpu_device:chr_file rw_file_perms; gpu_access(hal_camera_default) ================================================ FILE: sepolicy/hal_graphics_allocator_default.te ================================================ gpu_access(hal_graphics_allocator_default) ================================================ FILE: sepolicy/hal_graphics_composer_default.te ================================================ vndbinder_use(hal_graphics_composer_default) gpu_access(hal_graphics_composer_default) ================================================ FILE: sepolicy/init.te ================================================ allow init kernel:system module_request; allow init tmpfs:lnk_file create; ================================================ FILE: sepolicy/kernel.te ================================================ allow kernel self:capability mknod; allow kernel self:system module_request; allow kernel device:dir { create write add_name remove_name rmdir }; allow kernel device:chr_file { create setattr getattr unlink }; ================================================ FILE: sepolicy/mediacodec.te ================================================ allow mediacodec gpu_device:chr_file rw_file_perms; gpu_access(mediacodec) ================================================ FILE: sepolicy/mediaserver.te ================================================ allow mediaserver gpu_device:dir search; ================================================ FILE: sepolicy/mediaswcodec.te ================================================ allow mediaswcodec gpu_device:chr_file rw_file_perms; gpu_access(mediaswcodec) ================================================ FILE: sepolicy/netd.te ================================================ dontaudit netd self:capability sys_module; allow netd kernel:system module_request; ================================================ FILE: sepolicy/platform_app.te ================================================ gpu_access(platform_app) ================================================ FILE: sepolicy/priv_app.te ================================================ gpu_access(priv_app) ================================================ FILE: sepolicy/surfaceflinger.te ================================================ gpu_access(surfaceflinger) ================================================ FILE: sepolicy/system_app.te ================================================ gpu_access(system_app) ================================================ FILE: sepolicy/system_server.te ================================================ gpu_access(system_server) allow system_server self:capability sys_module; ================================================ FILE: sepolicy/te_macros ================================================ ##################################### # gpu_access(client_domain) # Allow client_domain to communicate with the GPU define(`gpu_access', ` allow $1 gpu_device:dir { getattr open read search }; allow $1 sysfs_gpu:file { getattr open read }; ') ================================================ FILE: sepolicy/untrusted_app_all.te ================================================ gpu_access(untrusted_app_all) ================================================ FILE: ueventd.rc ================================================ /dev/ttyAMA1 0660 bluetooth bluetooth /dev/rfkill 0660 bluetooth bluetooth /dev/vcio 0660 system bluetooth /dev/ion 0664 system system /dev/video0 0660 system camera /dev/video1 0660 system camera /dev/video10 0660 media media /dev/dma_heap/linux,cma 0666 system graphics