Import from snapautomotive
parent
b42a1d081f
commit
ce1afe6249
|
@ -1,6 +1,7 @@
|
|||
PRODUCT_MAKEFILES := $(LOCAL_DIR)/rpi4_car.mk
|
||||
|
||||
COMMON_LUNCH_CHOICES := \
|
||||
rpi4_car-eng \
|
||||
rpi4_car-userdebug \
|
||||
rpi4_car-user \
|
||||
rpi4_car-eng \
|
||||
rpi4_car-userdebug \
|
||||
rpi4_car-user \
|
||||
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
#
|
||||
# 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_USES_64_BIT_BINDER := 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 := 2147483648 # 2GB
|
||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 134217728 # 128M
|
||||
|
||||
TARGET_COPY_OUT_VENDOR := vendor
|
||||
BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824 # 1GB
|
||||
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/ln/rpi4/bluetooth
|
||||
#BOARD_CUSTOM_BT_CONFIG := device/ln/rpi4/bluetooth/vnd_rpi4.txt
|
||||
|
||||
BOARD_SEPOLICY_DIRS := \
|
||||
device/ln/rpi4/sepolicy
|
||||
|
||||
DEVICE_MANIFEST_FILE := device/ln/rpi4/manifest.xml
|
|
@ -0,0 +1,447 @@
|
|||
# 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
|
|
@ -0,0 +1,46 @@
|
|||
# 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
|
||||
|
||||
# Patch the source
|
||||
https://github.com/android-rpi/device_arpi_rpi4/wiki/arpi-13-:-framework-patch
|
||||
|
||||
# Build Android
|
||||
Refer to http://source.android.com/source/building.html
|
||||
|
||||
$ source build/envsetup.sh
|
||||
$ lunch rpi4_car-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 2048MB 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/<p2> bs=1M
|
||||
$ sudo dd if=vendor.img of=/dev/<p3> bs=1M
|
||||
|
||||
# Copy firmware & ramdisk to boot partition
|
||||
device/snappautomotive/rpi4/boot/* to p1:/
|
||||
out/target/product/rpi4/ramdisk.img to p1:/
|
||||
|
||||
|
||||
# Download & Build kernel source
|
||||
https://github.com/android-rpi/kernel_manifest
|
||||
|
||||
# Copy kernel binaries to boot partition
|
||||
<kernel directory>/out/arpi-5.10/dist/Image.gz to p1:/
|
||||
<kernel directory>/out/arpi-5.10/dist/bcm2711-rpi-*.dtb to p1:/
|
||||
<kernel directory>/out/arpi-5.10/dist/vc4-kms-v3d-pi4.dtbo to p1:/overlays/
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<modules>
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Speaker</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<xi:include href="usb_audio_policy_configuration.xml"/>
|
||||
<xi:include href="a2dp_audio_policy_configuration.xml"/>
|
||||
<xi:include href="r_submix_audio_policy_configuration.xml"/>
|
||||
</modules>
|
||||
|
||||
<xi:include href="audio_policy_volumes.xml"/>
|
||||
<xi:include href="default_volume_tables.xml"/>
|
||||
</audioPolicyConfiguration>
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef _BDROID_BUILDCFG_H
|
||||
#define _BDROID_BUILDCFG_H
|
||||
|
||||
#define BTM_DEF_LOCAL_NAME "RPI4"
|
||||
|
||||
#define BTA_DM_COD {0x1A, 0x01, 0x20}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,6 @@
|
|||
# UART device port where Bluetooth controller is attached
|
||||
UartPort = /dev/ttyAMA0
|
||||
# Firmware patch file location
|
||||
FwPatchFilePath = /lib/firmware/brcm
|
||||
# Firmware Name
|
||||
FwPatchFileName = BCM4345C0.hcd
|
|
@ -0,0 +1,6 @@
|
|||
# UART device port where Bluetooth controller is attached
|
||||
UartPort = /dev/ttyAMA0
|
||||
# Firmware patch file location
|
||||
FwPatchFilePath = /lib/firmware/brcm
|
||||
# Firmware Name
|
||||
FwPatchFileName = BCM4345C5.hcd
|
|
@ -0,0 +1,14 @@
|
|||
BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyAMA0"
|
||||
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
|
|
@ -0,0 +1 @@
|
|||
console=serial0,115200 no_console_suspend root=/dev/ram0 androidboot.hardware=rpi4 androidboot.selinux=permissive
|
|
@ -0,0 +1,8 @@
|
|||
kernel=Image.gz
|
||||
arm_64bit=1
|
||||
dtparam=audio=on
|
||||
dtoverlay=vc4-kms-v3d-pi4,noaudio
|
||||
#dtoverlay=dwc2,dr_mode=peripheral
|
||||
initramfs ramdisk.img followkernel
|
||||
enable_uart=1
|
||||
disable_overscan=1
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,26 @@
|
|||
<ExternalCamera>
|
||||
<Provider>
|
||||
<id>0</id>
|
||||
</Provider>
|
||||
<Device>
|
||||
<!-- Max JPEG buffer size in bytes-->
|
||||
<MaxJpegBufferSize bytes="3145728"/> <!-- 3MB (~= 1080p YUV420) -->
|
||||
<!-- Size of v4l2 buffer queue when streaming >= 30fps -->
|
||||
<!-- Larger value: more request can be cached pipeline (less janky) -->
|
||||
<!-- Smaller value: use less memory -->
|
||||
<NumVideoBuffers count="4"/>
|
||||
<!-- Size of v4l2 buffer queue when streaming < 30fps -->
|
||||
<NumStillBuffers count="2"/>
|
||||
|
||||
<!-- List of maximum fps for various output sizes -->
|
||||
<!-- Any image size smaller than the size listed in Limit row will report
|
||||
fps (as minimum frame duration) up to the fpsBound value. -->
|
||||
<FpsList>
|
||||
<!-- width/height must be increasing, fpsBound must be decreasing-->
|
||||
<Limit width="640" height="480" fpsBound="30.0"/>
|
||||
<Limit width="1280" height="720" fpsBound="15.0"/>
|
||||
<Limit width="1920" height="1080" fpsBound="10.0"/>
|
||||
<!-- image size larger than the last entry will not be supported-->
|
||||
</FpsList>
|
||||
</Device>
|
||||
</ExternalCamera>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,98 @@
|
|||
# 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
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,97 @@
|
|||
# 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
|
|
@ -0,0 +1,7 @@
|
|||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
|
||||
/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
|
|
@ -0,0 +1,45 @@
|
|||
#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
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
#
|
||||
# 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
|
|
@ -0,0 +1,13 @@
|
|||
#
|
||||
# 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
|
|
@ -0,0 +1,124 @@
|
|||
<manifest version="1.0" type="device" target-level="2">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@4.0::IDevicesFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IEffectsFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@4.0::IEffectsFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.configstore</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>ISurfaceFlingerConfigs</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="64">passthrough</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothHci</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.drm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ICryptoFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@1.1::ICryptoFactory/clearkey</fqname>
|
||||
<fqname>@1.1::IDrmFactory/clearkey</fqname>
|
||||
<fqname>@1.1::ICryptoFactory/widevine</fqname>
|
||||
<fqname>@1.1::IDrmFactory/widevine</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>3.0</version>
|
||||
<interface>
|
||||
<name>IKeymasterDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.5</version>
|
||||
<interface>
|
||||
<name>ICameraProvider</name>
|
||||
<instance>external/0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
|
@ -0,0 +1,7 @@
|
|||
runtime_resource_overlay {
|
||||
name: "RpCarFrameworkOverlay",
|
||||
certificate: "platform",
|
||||
resource_dirs: ["res"],
|
||||
product_specific: true,
|
||||
sdk_version: "current",
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.arpi.overlay.framework"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<application android:hasCode="false" />
|
||||
|
||||
<overlay
|
||||
android:targetPackage="android"
|
||||
android:priority="0"
|
||||
android:isStatic="true" />
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Control the behavior when the user long presses the home button.
|
||||
0 - Nothing
|
||||
1 - Launch all apps intent
|
||||
2 - Launch assist intent
|
||||
3 - Launch notification panel
|
||||
This needs to match the constants in
|
||||
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
|
||||
-->
|
||||
<integer name="config_longPressOnHomeBehavior">0</integer>
|
||||
|
||||
<!-- Wifi on by default -->
|
||||
<bool name="def_wifi_on">true</bool>
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<global_keys version="1">
|
||||
<key keyCode="KEYCODE_F1" component="com.arpi.rplauncher/.GlobalKeyReceiver" />
|
||||
<key keyCode="KEYCODE_F7" component="com.arpi.rplauncher/.GlobalKeyReceiver" />
|
||||
</global_keys>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- No notice screen on startup -->
|
||||
<string name="config_userNoticeUiService" translatable="false"></string>
|
||||
</resources>
|
201
rpi4_car.mk
201
rpi4_car.mk
|
@ -1,8 +1,205 @@
|
|||
#
|
||||
# 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)/device/arpi/rpi4/rpi4.mk)
|
||||
DEVICE_IS_64BIT_ONLY := true
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
|
||||
$(call inherit-product, packages/services/Car/car_product/build/car.mk)
|
||||
|
||||
PRODUCT_NAME := rpi4_car
|
||||
PRODUCT_DEVICE := rpi4
|
||||
PRODUCT_BRAND := ln
|
||||
PRODUCT_MANUFACTURER := L--N.DE
|
||||
PRODUCT_MODEL := Raspberry 4
|
||||
PRODUCT_MODEL := Raspberry Pi 4
|
||||
|
||||
include frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk
|
||||
|
||||
# PRODUCT_SUPPORTS_CAMERA := false
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
debug.drm.mode.force=1280x800 \
|
||||
gralloc.drm.kms=/dev/dri/card0 \
|
||||
ro.opengles.version=196609 \
|
||||
ro.hardware.vulkan=broadcom \
|
||||
wifi.interface=wlan0 \
|
||||
ro.rfkilldisabled=1
|
||||
|
||||
# overlay packages
|
||||
PRODUCT_PACKAGES += \
|
||||
RpCarFrameworkOverlay \
|
||||
CarConnectivityOverlay
|
||||
|
||||
# system packages
|
||||
PRODUCT_PACKAGES += \
|
||||
gralloc.rpi4 \
|
||||
vulkan.broadcom \
|
||||
memtrack.rpi4 \
|
||||
audio.primary.rpi4 \
|
||||
audio.usb.default \
|
||||
audio.r_submix.default \
|
||||
wificond \
|
||||
wifilogd \
|
||||
wpa_supplicant \
|
||||
wpa_supplicant.conf \
|
||||
hostapd \
|
||||
libbt-vendor \
|
||||
libaptxhd_enc
|
||||
|
||||
# graphics hal
|
||||
PRODUCT_PACKAGES += \
|
||||
libEGL_mesa \
|
||||
libGLESv1_CM_mesa \
|
||||
libGLESv2_mesa \
|
||||
libgallium_dri \
|
||||
libglapi
|
||||
|
||||
# hardware/interfaces
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.graphics.allocator@2.0-service.rpi4 \
|
||||
android.hardware.graphics.mapper@2.0-impl.rpi4 \
|
||||
android.hardware.graphics.composer@2.1-service.rpi4 \
|
||||
android.hardware.camera.provider@2.5-external-service \
|
||||
android.hardware.audio@2.0-impl \
|
||||
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.cec@1.0-service.mock \
|
||||
vndservicemanager
|
||||
|
||||
# Auto modules
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.broadcastradio@2.0-service \
|
||||
android.hardware.automotive.vehicle@2.0-default-service \
|
||||
CarServiceUpdatableNonModule
|
||||
|
||||
# Car init.rc
|
||||
PRODUCT_COPY_FILES += \
|
||||
packages/services/Car/car_product/init/init.bootstat.rc:root/init.bootstat.rc \
|
||||
packages/services/Car/car_product/init/init.car.rc:root/init.car.rc
|
||||
|
||||
# Enable landscape
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.screen.landscape.xml:system/etc/permissions/android.hardware.screen.landscape.xml
|
||||
|
||||
# Used to embed a map in an activity view
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.software.activities_on_secondary_displays.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.activities_on_secondary_displays.xml
|
||||
|
||||
# broadcast radio feature
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.broadcastradio.xml:system/etc/permissions/android.hardware.broadcastradio.xml
|
||||
|
||||
TARGET_USES_CAR_FUTURE_FEATURES := true
|
||||
|
||||
# Include EVS reference implementations
|
||||
ENABLE_EVS_SAMPLE := true
|
||||
|
||||
# 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_0_3.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)/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 \
|
||||
device/generic/goldfish/camera/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)/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 \
|
||||
$(PRODUCT_COPY_FILES)
|
||||
|
||||
# Additional permissions
|
||||
PRODUCT_COPY_FILES += \
|
||||
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.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
|
||||
frameworks/native/data/etc/android.hardware.broadcastradio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.broadcastradio.xml \
|
||||
frameworks/native/data/etc/android.hardware.type.automotive.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.type.automotive.xml
|
||||
|
||||
PRODUCT_CHARACTERISTICS := automotive
|
||||
|
||||
# These are things from atv_base, which android-rpi is based on,
|
||||
# that aren't in automotive builds.
|
||||
|
||||
$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/google-fonts/dancing-script/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/google-fonts/carrois-gothic-sc/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/google-fonts/coming-soon/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/google-fonts/cutive-mono/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/noto-fonts/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/roboto-fonts/fonts.mk)
|
||||
$(call inherit-product-if-exists, external/hyphenation-patterns/patterns.mk)
|
||||
$(call inherit-product-if-exists, frameworks/base/data/keyboards/keyboards.mk)
|
||||
$(call inherit-product-if-exists, frameworks/webview/chromium/chromium.mk)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
librs_jni \
|
||||
cameraserver
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
allow bluetooth rfkill_device:chr_file rw_file_perms;
|
||||
allow bluetooth vcio_device:chr_file rw_file_perms;
|
|
@ -0,0 +1 @@
|
|||
gpu_access(bootanim)
|
|
@ -0,0 +1,2 @@
|
|||
allow cameraserver gpu_device:chr_file rw_file_perms;
|
||||
gpu_access(cameraserver)
|
|
@ -0,0 +1,2 @@
|
|||
type rfkill_device, dev_type, mlstrustedobject;
|
||||
type vcio_device, dev_type, mlstrustedobject;
|
|
@ -0,0 +1,26 @@
|
|||
/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/ttyAMA0 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@2\.0-service\.rpi4 u:object_r:hal_graphics_allocator_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.graphics\.composer@2\.1-service\.rpi4 u:object_r:hal_graphics_composer_default_exec:s0
|
||||
/vendor/lib64/hw/android\.hardware\.graphics\.mapper@2\.0-impl\.rpi4\.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\.tv\.cec@1\.0-service\.mock u:object_r:hal_tv_cec_mock_exec:s0
|
|
@ -0,0 +1,3 @@
|
|||
vndbinder_use(hal_camera_default);
|
||||
allow hal_camera_default gpu_device:chr_file rw_file_perms;
|
||||
gpu_access(hal_camera_default)
|
|
@ -0,0 +1 @@
|
|||
gpu_access(hal_graphics_allocator_default)
|
|
@ -0,0 +1,2 @@
|
|||
vndbinder_use(hal_graphics_composer_default)
|
||||
gpu_access(hal_graphics_composer_default)
|
|
@ -0,0 +1,11 @@
|
|||
# hal_tv_cec_mock service
|
||||
type hal_tv_cec_mock, domain;
|
||||
hal_server_domain(hal_tv_cec_mock, hal_tv_cec);
|
||||
# Allow tv cec HAL's mock implementation to use vendor-binder service
|
||||
vndbinder_use(hal_tv_cec_mock);
|
||||
|
||||
allow hal_tv_cec_mock hal_allocator:fd use;
|
||||
|
||||
type hal_tv_cec_mock_exec, exec_type, file_type, vendor_file_type;
|
||||
|
||||
init_daemon_domain(hal_tv_cec_mock)
|
|
@ -0,0 +1,2 @@
|
|||
allow init kernel:system module_request;
|
||||
allow init tmpfs:lnk_file create;
|
|
@ -0,0 +1,4 @@
|
|||
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 };
|
|
@ -0,0 +1 @@
|
|||
allow mediaserver gpu_device:dir search;
|
|
@ -0,0 +1,2 @@
|
|||
allow mediaswcodec gpu_device:chr_file rw_file_perms;
|
||||
gpu_access(mediaswcodec)
|
|
@ -0,0 +1,2 @@
|
|||
dontaudit netd self:capability sys_module;
|
||||
allow netd kernel:system module_request;
|
|
@ -0,0 +1 @@
|
|||
gpu_access(platform_app)
|
|
@ -0,0 +1 @@
|
|||
gpu_access(priv_app)
|
|
@ -0,0 +1 @@
|
|||
gpu_access(surfaceflinger)
|
|
@ -0,0 +1 @@
|
|||
gpu_access(system_app)
|
|
@ -0,0 +1,2 @@
|
|||
gpu_access(system_server)
|
||||
allow system_server self:capability sys_module;
|
|
@ -0,0 +1,7 @@
|
|||
#####################################
|
||||
# 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 };
|
||||
')
|
|
@ -0,0 +1 @@
|
|||
gpu_access(untrusted_app_all)
|
|
@ -0,0 +1,6 @@
|
|||
/dev/ttyAMA0 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
|
Loading…
Reference in New Issue